aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0578-drm-amdgpu-dpm-don-t-add-pwm-attributes-if-DPM-is-di.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0578-drm-amdgpu-dpm-don-t-add-pwm-attributes-if-DPM-is-di.patch')
-rw-r--r--common/recipes-kernel/linux/files/0578-drm-amdgpu-dpm-don-t-add-pwm-attributes-if-DPM-is-di.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0578-drm-amdgpu-dpm-don-t-add-pwm-attributes-if-DPM-is-di.patch b/common/recipes-kernel/linux/files/0578-drm-amdgpu-dpm-don-t-add-pwm-attributes-if-DPM-is-di.patch
new file mode 100644
index 00000000..9c9b4ae4
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0578-drm-amdgpu-dpm-don-t-add-pwm-attributes-if-DPM-is-di.patch
@@ -0,0 +1,40 @@
+From 27100735adbcb872854674bed1d000825f9954ac Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Mon, 19 Oct 2015 15:49:11 -0400
+Subject: [PATCH 0578/1050] drm/amdgpu/dpm: don't add pwm attributes if DPM is
+ disabled
+
+PWM fan control is only available with DPM. There is no non-DPM
+support on amdgpu, so we should never get a crash here because
+the sysfs nodes would never be created in the first place. Add the
+check just in case to be on the safe side.
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
+index efed115..ed2bbe5 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
+@@ -294,10 +294,14 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
+ struct amdgpu_device *adev = dev_get_drvdata(dev);
+ umode_t effective_mode = attr->mode;
+
+- /* Skip limit attributes if DPM is not enabled */
++ /* Skip attributes if DPM is not enabled */
+ if (!adev->pm.dpm_enabled &&
+ (attr == &sensor_dev_attr_temp1_crit.dev_attr.attr ||
+- attr == &sensor_dev_attr_temp1_crit_hyst.dev_attr.attr))
++ attr == &sensor_dev_attr_temp1_crit_hyst.dev_attr.attr ||
++ 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;
+
+ /* Skip fan attributes if fan is not present */
+--
+1.9.1
+