read_sensor() has been recently implemented for dpm based boards
which means amdgpu_sensors can now be exposed.

v2: - make sure read_sensor is not NULL on dpm chips
    - keep sanity check for powerplay chips
v3: - make sure amdgpu_dpm != 0

Cc: Tom St Denis <[email protected]>
Signed-off-by: Samuel Pitoiset <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 6f021e70f15f..d63c44383660 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3198,12 +3198,18 @@ static ssize_t amdgpu_debugfs_sensor_read(struct file 
*f, char __user *buf,
        if (size & 3 || *pos & 0x3)
                return -EINVAL;
 
+       if (amdgpu_dpm == 0)
+               return -EINVAL;
+
        /* convert offset to sensor number */
        idx = *pos >> 2;
 
        valuesize = sizeof(values);
        if (adev->powerplay.pp_funcs && adev->powerplay.pp_funcs->read_sensor)
                r = 
adev->powerplay.pp_funcs->read_sensor(adev->powerplay.pp_handle, idx, 
&values[0], &valuesize);
+       else if (adev->pm.funcs && adev->pm.funcs->read_sensor)
+               r = adev->pm.funcs->read_sensor(adev, idx, &values[0],
+                                               &valuesize);
        else
                return -EINVAL;
 
-- 
2.11.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to