9070xt 212W 以下に powerlimit できへん...
なんでや!
なんかドライバで成約がありました.
Claude クンに 212W 以下にするドライバのパッチ書いてもらいました
ありがたや〜
--- a/amd/pm/swsmu/amdgpu_smu.c
+++ b/amd/pm/swsmu/amdgpu_smu.c
@@ -573,6 +573,17 @@
}
}
+ /*
+ * The PMFW comes back from suspend without soft clock limits, and the
+ * performance level is only reapplied when it changes, so re-apply a
+ * user GFX clock cap explicitly, after any OD table upload above.
+ */
+ if (smu->user_dpm_profile.gfx_clk_max) {
+ ret = smu_asic_set_performance_level(smu, smu_dpm_ctx->dpm_level);
+ if (ret)
+ dev_err(smu->adev->dev, "Failed to restore GFX clock cap\n");
+ }
+
/* Disable restore flag */
smu->user_dpm_profile.flags &= ~SMU_DPM_USER_PROFILE_RESTORE;
}
--- a/amd/pm/swsmu/inc/amdgpu_smu.h
+++ b/amd/pm/swsmu/inc/amdgpu_smu.h
@@ -243,6 +243,8 @@
/* user clock state information */
uint32_t clk_mask[SMU_CLK_COUNT];
uint32_t clk_dependency;
+ /* user GFX clock cap in MHz (0 = none), set through OD "s 1 <MHz>" */
+ uint32_t gfx_clk_max;
};
#define SMU_TABLE_INIT(tables, table_id, s, a, d) \
--- a/amd/pm/swsmu/smu14/smu_v14_0.c
+++ b/amd/pm/swsmu/smu14/smu_v14_0.c
@@ -1179,12 +1179,43 @@
break;
case AMD_DPM_FORCED_LEVEL_MANUAL:
case AMD_DPM_FORCED_LEVEL_PROFILE_EXIT:
- return 0;
続きは claude クンなり codex クンなり open weight model に聞いてね.
これで pearlhash を 100W 台で動かせました! 勝てます!