aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0421-drm-amdgpu-add-an-cgs-interface-to-notify-amdgpu-the.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0421-drm-amdgpu-add-an-cgs-interface-to-notify-amdgpu-the.patch')
-rw-r--r--common/recipes-kernel/linux/files/0421-drm-amdgpu-add-an-cgs-interface-to-notify-amdgpu-the.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0421-drm-amdgpu-add-an-cgs-interface-to-notify-amdgpu-the.patch b/common/recipes-kernel/linux/files/0421-drm-amdgpu-add-an-cgs-interface-to-notify-amdgpu-the.patch
new file mode 100644
index 00000000..18c7d95f
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0421-drm-amdgpu-add-an-cgs-interface-to-notify-amdgpu-the.patch
@@ -0,0 +1,81 @@
+From ea79c3009a9c40bf50a7bfc31bd84912ff7c9399 Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Tue, 29 Mar 2016 14:20:37 +0800
+Subject: [PATCH 0421/1110] drm/amdgpu: add an cgs interface to notify amdgpu
+ the dpm state.
+
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 11 +++++++++++
+ drivers/gpu/drm/amd/include/cgs_common.h | 8 ++++++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+index 75cb5b9..6043dc7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+@@ -850,6 +850,16 @@ static int amdgpu_cgs_get_active_displays_info(void *cgs_device,
+ return 0;
+ }
+
++
++static int amdgpu_cgs_notify_dpm_enabled(void *cgs_device, bool enabled)
++{
++ CGS_FUNC_ADEV;
++
++ adev->pm.dpm_enabled = enabled;
++
++ return 0;
++}
++
+ /** \brief evaluate acpi namespace object, handle or pathname must be valid
+ * \param cgs_device
+ * \param info input/output arguments for the control method
+@@ -1100,6 +1110,7 @@ static const struct cgs_ops amdgpu_cgs_ops = {
+ amdgpu_cgs_set_powergating_state,
+ amdgpu_cgs_set_clockgating_state,
+ amdgpu_cgs_get_active_displays_info,
++ amdgpu_cgs_notify_dpm_enabled,
+ amdgpu_cgs_call_acpi_method,
+ amdgpu_cgs_query_system_info,
+ };
+diff --git a/drivers/gpu/drm/amd/include/cgs_common.h b/drivers/gpu/drm/amd/include/cgs_common.h
+index aec38fc..ab84d49 100644
+--- a/drivers/gpu/drm/amd/include/cgs_common.h
++++ b/drivers/gpu/drm/amd/include/cgs_common.h
+@@ -589,6 +589,8 @@ typedef int(*cgs_get_active_displays_info)(
+ void *cgs_device,
+ struct cgs_display_info *info);
+
++typedef int (*cgs_notify_dpm_enabled)(void *cgs_device, bool enabled);
++
+ typedef int (*cgs_call_acpi_method)(void *cgs_device,
+ uint32_t acpi_method,
+ uint32_t acpi_function,
+@@ -644,6 +646,8 @@ struct cgs_ops {
+ cgs_set_clockgating_state set_clockgating_state;
+ /* display manager */
+ cgs_get_active_displays_info get_active_displays_info;
++ /* notify dpm enabled */
++ cgs_notify_dpm_enabled notify_dpm_enabled;
+ /* ACPI */
+ cgs_call_acpi_method call_acpi_method;
+ /* get system info */
+@@ -734,8 +738,12 @@ struct cgs_device
+ CGS_CALL(set_powergating_state, dev, block_type, state)
+ #define cgs_set_clockgating_state(dev, block_type, state) \
+ CGS_CALL(set_clockgating_state, dev, block_type, state)
++#define cgs_notify_dpm_enabled(dev, enabled) \
++ CGS_CALL(notify_dpm_enabled, dev, enabled)
++
+ #define cgs_get_active_displays_info(dev, info) \
+ CGS_CALL(get_active_displays_info, dev, info)
++
+ #define cgs_call_acpi_method(dev, acpi_method, acpi_function, pintput, poutput, output_count, input_size, output_size) \
+ CGS_CALL(call_acpi_method, dev, acpi_method, acpi_function, pintput, poutput, output_count, input_size, output_size)
+ #define cgs_query_system_info(dev, sys_info) \
+--
+2.7.4
+