On Fri, Apr 27, 2018 at 01:52:47PM +0800, Rex Zhu wrote: > With powerplay enabled, also need to skip fan attributes > if no fan present. > > Signed-off-by: Rex Zhu <Rex.Zhu at amd.com> Reviewed-by: Huang Rui <ray.huang at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 21 ++++++++------------- > drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 3 +++ > 2 files changed, 11 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c > index d9802d9..2c82126 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c > @@ -1364,19 +1364,14 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj, > struct amdgpu_device *adev = dev_get_drvdata(dev); > umode_t effective_mode = attr->mode; > > - /* handle non-powerplay limitations */ > - if (!adev->powerplay.pp_handle) { > - /* Skip fan attributes if fan is not present */ > - if (adev->pm.no_fan && > - (attr == &sensor_dev_attr_pwm1.dev_attr.attr || > - attr == &sensor_dev_attr_pwm1_enable.dev_attr.attr || > - attr == &sensor_dev_attr_pwm1_max.dev_attr.attr || > - attr == &sensor_dev_attr_pwm1_min.dev_attr.attr)) > - return 0; > - /* requires powerplay */ > - if (attr == &sensor_dev_attr_fan1_input.dev_attr.attr) > - return 0; > - } > + > + /* Skip fan attributes if fan is not present */ > + if (adev->pm.no_fan && (attr == &sensor_dev_attr_pwm1.dev_attr.attr || > + attr == &sensor_dev_attr_pwm1_enable.dev_attr.attr || > + attr == &sensor_dev_attr_pwm1_max.dev_attr.attr || > + attr == &sensor_dev_attr_pwm1_min.dev_attr.attr || > + attr == &sensor_dev_attr_fan1_input.dev_attr.attr)) > + return 0; > > /* Skip limit attributes if DPM is not enabled */ > if (!adev->pm.dpm_enabled && > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > index d1052b5..43f0ea8 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > @@ -223,6 +223,9 @@ int hwmgr_hw_init(struct pp_hwmgr *hwmgr) > if (ret) > goto err; > > + ((struct amdgpu_device *)hwmgr->adev)->pm.no_fan = > + hwmgr->thermal_controller.fanInfo.bNoFan; > + > ret = hwmgr->hwmgr_func->backend_init(hwmgr); > if (ret) > goto err1; > -- > 1.9.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx