[PATCH v2] drm/amd/pm: disallow the fan setting if there is no fan on smu 13.0.0
Lazar, Lijo
lijo.lazar at amd.com
Wed Aug 9 12:28:20 UTC 2023
On 8/9/2023 5:50 PM, Alex Deucher wrote:
> On Wed, Aug 9, 2023 at 6:12 AM Kenneth Feng <kenneth.feng at amd.com> wrote:
>>
>> drm/amd/pm: disallow the fan setting if there is no fan on smu 13.0.0
>> V2: depend on pm.no_fan to check
>>
>> Signed-off-by: Kenneth Feng <kenneth.feng at amd.com>
>
> You can still read the fan speed though right? Don't we want to just
> not expose the ability to manually set the fan speed?
If PMFW is not controlling fan, there is no guarantee that the cooling
solution (any other external one) is using GPU's fan controller itself.
In that way, reading the speed from controller doesn't make sense.
Thanks,
Lijo
>
> Alex
>
>> ---
>> drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
>> index fddcd834bcec..0fb6be11a0cc 100644
>> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
>> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
>> @@ -331,6 +331,7 @@ static int smu_v13_0_0_check_powerplay_table(struct smu_context *smu)
>> struct smu_13_0_0_powerplay_table *powerplay_table =
>> table_context->power_play_table;
>> struct smu_baco_context *smu_baco = &smu->smu_baco;
>> + PPTable_t *pptable = smu->smu_table.driver_pptable;
>> #if 0
>> PPTable_t *pptable = smu->smu_table.driver_pptable;
>> const OverDriveLimits_t * const overdrive_upperlimits =
>> @@ -371,6 +372,9 @@ static int smu_v13_0_0_check_powerplay_table(struct smu_context *smu)
>> table_context->thermal_controller_type =
>> powerplay_table->thermal_controller_type;
>>
>> + smu->adev->pm.no_fan =
>> + !(pptable->SkuTable.FeaturesToRun[0] & (1 << FEATURE_FAN_CONTROL_BIT));
>> +
>> return 0;
>> }
>>
>> --
>> 2.34.1
>>
More information about the amd-gfx
mailing list