aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0495-drm-amdgpu-add-a-new-set-of-rlc-function-pointers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0495-drm-amdgpu-add-a-new-set-of-rlc-function-pointers.patch')
-rw-r--r--common/recipes-kernel/linux/files/0495-drm-amdgpu-add-a-new-set-of-rlc-function-pointers.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0495-drm-amdgpu-add-a-new-set-of-rlc-function-pointers.patch b/common/recipes-kernel/linux/files/0495-drm-amdgpu-add-a-new-set-of-rlc-function-pointers.patch
new file mode 100644
index 00000000..0f802129
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0495-drm-amdgpu-add-a-new-set-of-rlc-function-pointers.patch
@@ -0,0 +1,46 @@
+From 5228644c5d40e413a13f3a471e4b5b1e3c382050 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Fri, 8 Apr 2016 15:45:13 -0400
+Subject: [PATCH 0495/1110] drm/amdgpu: add a new set of rlc function pointers
+
+Different asics tend to have different ways to interact
+with the RLC. This just covers enter/exit of safe mode
+for updating CG and PG state, but could be extended to
+cover other RLC operations in the future if necessary.
+
+Acked-by: Tom St Denis <tom.stdenis@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+index 47a3c8f..95ea8d7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+@@ -1041,6 +1041,11 @@ void amdgpu_bo_list_free(struct amdgpu_bo_list *list);
+ */
+ #include "clearstate_defs.h"
+
++struct amdgpu_rlc_funcs {
++ void (*enter_safe_mode)(struct amdgpu_device *adev);
++ void (*exit_safe_mode)(struct amdgpu_device *adev);
++};
++
+ struct amdgpu_rlc {
+ /* for power gating */
+ struct amdgpu_bo *save_restore_obj;
+@@ -1059,6 +1064,10 @@ struct amdgpu_rlc {
+ uint64_t cp_table_gpu_addr;
+ volatile uint32_t *cp_table_ptr;
+ u32 cp_table_size;
++
++ /* safe mode for updating CG/PG state */
++ bool in_safe_mode;
++ const struct amdgpu_rlc_funcs *funcs;
+ };
+
+ struct amdgpu_mec {
+--
+2.7.4
+