[PATCH] drm/amd/pm: Disable fan control if not supported
Alex Deucher
alexdeucher at gmail.com
Fri Oct 22 13:06:28 UTC 2021
On Fri, Oct 22, 2021 at 3:44 AM Lijo Lazar <lijo.lazar at amd.com> wrote:
>
> On arcturus, not all platforms use PMFW based fan control. On such
> ASICs fan control by PMFW will be disabled in PPTable. Disable hwmon
> knobs for fan control also as it is not possible to report or control
> fan speed on such platforms through driver.
>
> Signed-off-by: Lijo Lazar <lijo.lazar at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
> index 082f01893f3d..fd1d30a93db5 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
> @@ -436,6 +436,19 @@ static void arcturus_check_bxco_support(struct smu_context *smu)
> }
> }
>
> +static void arcturus_check_fan_support(struct smu_context *smu)
> +{
> + struct smu_table_context *table_context = &smu->smu_table;
> + PPTable_t *pptable = table_context->driver_pptable;
> +
> + /* No sort of fan control possible if PPTable has it disabled */
> + smu->adev->pm.no_fan =
> + !(pptable->FeaturesToRun[0] & FEATURE_FAN_CONTROL_MASK);
> + if (smu->adev->pm.no_fan)
> + dev_info_once(smu->adev->dev,
> + "PMFW based fan control disabled");
> +}
> +
> static int arcturus_check_powerplay_table(struct smu_context *smu)
> {
> struct smu_table_context *table_context = &smu->smu_table;
> @@ -443,6 +456,7 @@ static int arcturus_check_powerplay_table(struct smu_context *smu)
> table_context->power_play_table;
>
> arcturus_check_bxco_support(smu);
> + arcturus_check_fan_support(smu);
>
> table_context->thermal_controller_type =
> powerplay_table->thermal_controller_type;
> --
> 2.17.1
>
More information about the amd-gfx
mailing list