diff options
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.patch | 81 |
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 + |