[PATCH 1/1] AMDGPU: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii)

Alex Deucher alexdeucher at gmail.com
Thu Apr 16 20:18:12 UTC 2020


On Thu, Apr 16, 2020 at 4:07 PM Sandeep Raghuraman <sandy.8925 at gmail.com> wrote:
>
> Initialize thermal controller fields in the PowerPlay table for Hawaii
> GPUs, so that fan speeds are reported.
>
> Signed-off-by: Sandeep Raghuraman <sandy.8925 at gmail.com>

Applied.  Thanks!

Alex

>
> ---
>  .../drm/amd/powerplay/hwmgr/processpptables.c | 28 +++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c b/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c
> index 77c14671866c..bb58cfab1033 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c
> @@ -984,6 +984,34 @@ static int init_thermal_controller(
>                         struct pp_hwmgr *hwmgr,
>                         const ATOM_PPLIB_POWERPLAYTABLE *powerplay_table)
>  {
> +       hwmgr->thermal_controller.ucType =
> +                       powerplay_table->sThermalController.ucType;
> +       hwmgr->thermal_controller.ucI2cLine =
> +                       powerplay_table->sThermalController.ucI2cLine;
> +       hwmgr->thermal_controller.ucI2cAddress =
> +                       powerplay_table->sThermalController.ucI2cAddress;
> +
> +       hwmgr->thermal_controller.fanInfo.bNoFan =
> +               (0 != (powerplay_table->sThermalController.ucFanParameters &
> +                       ATOM_PP_FANPARAMETERS_NOFAN));
> +
> +       hwmgr->thermal_controller.fanInfo.ucTachometerPulsesPerRevolution =
> +               powerplay_table->sThermalController.ucFanParameters &
> +               ATOM_PP_FANPARAMETERS_TACHOMETER_PULSES_PER_REVOLUTION_MASK;
> +
> +       hwmgr->thermal_controller.fanInfo.ulMinRPM
> +               = powerplay_table->sThermalController.ucFanMinRPM * 100UL;
> +       hwmgr->thermal_controller.fanInfo.ulMaxRPM
> +               = powerplay_table->sThermalController.ucFanMaxRPM * 100UL;
> +
> +       set_hw_cap(
> +                       hwmgr,
> +                       ATOM_PP_THERMALCONTROLLER_NONE != hwmgr->thermal_controller.ucType,
> +                       PHM_PlatformCaps_ThermalController
> +                 );
> +
> +       hwmgr->thermal_controller.use_hw_fan_control = 1;
> +
>         return 0;
>  }
>
> --


More information about the dri-devel mailing list