[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:43:00 UTC 2023
On 8/9/2023 6:07 PM, Alex Deucher wrote:
> On Wed, Aug 9, 2023 at 8:28 AM Lazar, Lijo <lijo.lazar at amd.com> wrote:
>>
>>
>>
>> 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.
>>
>
> Ah, ok, I misunderstood. My brain isn't working yet. This is for the
> case of the PMFW not controlling the fan.
Yes, not the overdrive related control :)
Reviewed-by: Lijo Lazar <lijo.lazar at amd.com>
Thanks,
Lijo
>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
>> 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