Series is Reviewed-by: Yang Wang <kevinyang.wang@xxxxxxx> Best Regards, Kevin -----Original Message----- From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Alex Deucher Sent: Friday, January 5, 2024 10:03 PM To: Deucher, Alexander <Alexander.Deucher@xxxxxxx> Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Subject: Re: [PATCH 1/4] drm/amdgpu: fix avg vs input power reporting on smu7 Ping on this series? Alex On Wed, Dec 13, 2023 at 4:55 PM Alex Deucher <alexander.deucher@xxxxxxx> wrote: > > Hawaii, Bonaire, Fiji, and Tonga support average power, the others > support current power. > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > .../gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c | 17 > ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > index 11372fcc59c8..a2c7b2e111fa 100644 > --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > @@ -3995,6 +3995,7 @@ static int smu7_read_sensor(struct pp_hwmgr *hwmgr, int idx, > uint32_t sclk, mclk, activity_percent; > uint32_t offset, val_vid; > struct smu7_hwmgr *data = (struct smu7_hwmgr > *)(hwmgr->backend); > + struct amdgpu_device *adev = hwmgr->adev; > > /* size must be at least 4 bytes for all sensors */ > if (*size < 4) > @@ -4038,7 +4039,21 @@ static int smu7_read_sensor(struct pp_hwmgr *hwmgr, int idx, > *size = 4; > return 0; > case AMDGPU_PP_SENSOR_GPU_INPUT_POWER: > - return smu7_get_gpu_power(hwmgr, (uint32_t *)value); > + if ((adev->asic_type != CHIP_HAWAII) && > + (adev->asic_type != CHIP_BONAIRE) && > + (adev->asic_type != CHIP_FIJI) && > + (adev->asic_type != CHIP_TONGA)) > + return smu7_get_gpu_power(hwmgr, (uint32_t *)value); > + else > + return -EOPNOTSUPP; > + case AMDGPU_PP_SENSOR_GPU_AVG_POWER: > + if ((adev->asic_type != CHIP_HAWAII) && > + (adev->asic_type != CHIP_BONAIRE) && > + (adev->asic_type != CHIP_FIJI) && > + (adev->asic_type != CHIP_TONGA)) > + return -EOPNOTSUPP; > + else > + return smu7_get_gpu_power(hwmgr, (uint32_t > + *)value); > case AMDGPU_PP_SENSOR_VDDGFX: > if ((data->vr_config & VRCONF_VDDGFX_MASK) == > (VR_SVI2_PLANE_2 << VRCONF_VDDGFX_SHIFT)) > -- > 2.42.0 >