Commit ed20ca6 1 parent 5e2dfdf commit ed20ca6 Copy full SHA for ed20ca6
File tree 1 file changed +14
-6
lines changed
lact-daemon/src/server/gpu_controller
1 file changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -639,9 +639,13 @@ impl GpuController {
639
639
}
640
640
}
641
641
642
- hw_mon
643
- . set_power_cap ( cap)
644
- . with_context ( || format ! ( "Failed to set power cap: {cap}" ) ) ?;
642
+ // Due to possible driver bug, RX 7900 XTX really doesn't like when we set the same value again.
643
+ // But, also in general we want to avoid setting same value twice
644
+ if Ok ( cap) != hw_mon. get_power_cap ( ) {
645
+ hw_mon
646
+ . set_power_cap ( cap)
647
+ . with_context ( || format ! ( "Failed to set power cap: {cap}" ) ) ?;
648
+ }
645
649
646
650
// Reapply old power level
647
651
if let Some ( level) = original_performance_level {
@@ -651,9 +655,13 @@ impl GpuController {
651
655
}
652
656
} else if let Ok ( hw_mon) = self . first_hw_mon ( ) {
653
657
if let Ok ( default_cap) = hw_mon. get_power_cap_default ( ) {
654
- hw_mon. set_power_cap ( default_cap) . with_context ( || {
655
- format ! ( "Failed to set power cap to default cap: {default_cap}" )
656
- } ) ?;
658
+ // Due to possible driver bug, RX 7900 XTX really doesn't like when we set the same value again.
659
+ // But, also in general we want to avoid setting same value twice
660
+ if Ok ( default_cap) != hw_mon. get_power_cap ( ) {
661
+ hw_mon. set_power_cap ( default_cap) . with_context ( || {
662
+ format ! ( "Failed to set power cap to default cap: {default_cap}" )
663
+ } ) ?;
664
+ }
657
665
}
658
666
}
659
667
You can’t perform that action at this time.
0 commit comments