On 14/02/17 12:01 PM, Samuel Pitoiset wrote:


On 02/14/2017 05:41 PM, Tom St Denis wrote:
On 14/02/17 10:08 AM, Samuel Pitoiset wrote:
Totally untested but as long as read_sensor() has been recently
implemented for dpm based boards, amdgpu_sensors can now be
exposed.

v2: - make sure read_sensor is not NULL on dpm chips
    - keep sanity check for powerplay chips

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

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 6f021e70f15f..80821b436aeb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3204,6 +3204,9 @@ static ssize_t amdgpu_debugfs_sensor_read(struct
file *f, char __user *buf,
     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;



Sorry NAK again, even with dpm=0 those function pointers are set and you
end up inside the dpm code trying to parse data structures that aren't
initialized.

No worries. I thought that check was enough. Anyway, writing code
without the hardware should be avoided. :)

Can you try the thing suggested by Alex? Because I will need to fix up
the DRM ioctl codepath as well.

Sure, I'm building a module with a amdgpu_dpm check near the top of the debugfs read function.

Tom

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

Reply via email to