aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2619-drm-amd-display-Adding-DCN1-registers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2619-drm-amd-display-Adding-DCN1-registers.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2619-drm-amd-display-Adding-DCN1-registers.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2619-drm-amd-display-Adding-DCN1-registers.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2619-drm-amd-display-Adding-DCN1-registers.patch
new file mode 100644
index 00000000..7e8a9fc8
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2619-drm-amd-display-Adding-DCN1-registers.patch
@@ -0,0 +1,83 @@
+From f5212156acdd8815a99b77ec7e72099380320b3d Mon Sep 17 00:00:00 2001
+From: Mikita Lipski <mikita.lipski@amd.com>
+Date: Tue, 17 Oct 2017 10:53:43 -0400
+Subject: [PATCH 2619/4131] drm/amd/display: Adding DCN1 registers
+
+Registers added to definition list that are required
+for multi display synchronization
+
+Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+---
+ .../amd/display/dc/dcn10/dcn10_timing_generator.h | 33 ++++++++++++++++++++--
+ 1 file changed, 30 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_timing_generator.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_timing_generator.h
+index 7d4818d..3958206 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_timing_generator.h
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_timing_generator.h
+@@ -72,7 +72,10 @@
+ SRI(OPTC_INPUT_GLOBAL_CONTROL, ODM, inst),\
+ SRI(OPPBUF_CONTROL, OPPBUF, inst),\
+ SRI(OPPBUF_3D_PARAMETERS_0, OPPBUF, inst),\
+- SRI(CONTROL, VTG, inst)
++ SRI(CONTROL, VTG, inst),\
++ SRI(OTG_VERT_SYNC_CONTROL, OTG, inst),\
++ SRI(OTG_MASTER_UPDATE_MODE, OTG, inst),\
++ SRI(OTG_GSL_CONTROL, OTG, inst)
+
+ #define TG_COMMON_REG_LIST_DCN1_0(inst) \
+ TG_COMMON_REG_LIST_DCN(inst),\
+@@ -82,6 +85,9 @@
+
+
+ struct dcn_tg_registers {
++ uint32_t OTG_VERT_SYNC_CONTROL;
++ uint32_t OTG_MASTER_UPDATE_MODE;
++ uint32_t OTG_GSL_CONTROL;
+ uint32_t OTG_VSTARTUP_PARAM;
+ uint32_t OTG_VUPDATE_PARAM;
+ uint32_t OTG_VREADY_PARAM;
+@@ -208,7 +214,18 @@ struct dcn_tg_registers {
+ SF(OPPBUF0_OPPBUF_3D_PARAMETERS_0, OPPBUF_3D_VACT_SPACE1_SIZE, mask_sh),\
+ SF(VTG0_CONTROL, VTG0_ENABLE, mask_sh),\
+ SF(VTG0_CONTROL, VTG0_FP2, mask_sh),\
+- SF(VTG0_CONTROL, VTG0_VCOUNT_INIT, mask_sh)
++ SF(VTG0_CONTROL, VTG0_VCOUNT_INIT, mask_sh),\
++ SF(OTG0_OTG_VERT_SYNC_CONTROL, OTG_FORCE_VSYNC_NEXT_LINE_OCCURRED, mask_sh),\
++ SF(OTG0_OTG_VERT_SYNC_CONTROL, OTG_FORCE_VSYNC_NEXT_LINE_CLEAR, mask_sh),\
++ SF(OTG0_OTG_VERT_SYNC_CONTROL, OTG_AUTO_FORCE_VSYNC_MODE, mask_sh),\
++ SF(OTG0_OTG_MASTER_UPDATE_MODE, MASTER_UPDATE_INTERLACED_MODE, mask_sh),\
++ SF(OTG0_OTG_GSL_CONTROL, OTG_GSL0_EN, mask_sh),\
++ SF(OTG0_OTG_GSL_CONTROL, OTG_GSL1_EN, mask_sh),\
++ SF(OTG0_OTG_GSL_CONTROL, OTG_GSL2_EN, mask_sh),\
++ SF(OTG0_OTG_GSL_CONTROL, OTG_GSL_MASTER_EN, mask_sh),\
++ SF(OTG0_OTG_GSL_CONTROL, OTG_GSL_FORCE_DELAY, mask_sh),\
++ SF(OTG0_OTG_GSL_CONTROL, OTG_GSL_CHECK_ALL_FIELDS, mask_sh)
++
+
+ #define TG_COMMON_MASK_SH_LIST_DCN1_0(mask_sh)\
+ TG_COMMON_MASK_SH_LIST_DCN(mask_sh),\
+@@ -317,7 +334,17 @@ struct dcn_tg_registers {
+ type OPPBUF_3D_VACT_SPACE1_SIZE;\
+ type VTG0_ENABLE;\
+ type VTG0_FP2;\
+- type VTG0_VCOUNT_INIT;
++ type VTG0_VCOUNT_INIT;\
++ type OTG_FORCE_VSYNC_NEXT_LINE_OCCURRED;\
++ type OTG_FORCE_VSYNC_NEXT_LINE_CLEAR;\
++ type OTG_AUTO_FORCE_VSYNC_MODE;\
++ type MASTER_UPDATE_INTERLACED_MODE;\
++ type OTG_GSL0_EN;\
++ type OTG_GSL1_EN;\
++ type OTG_GSL2_EN;\
++ type OTG_GSL_MASTER_EN;\
++ type OTG_GSL_FORCE_DELAY;\
++ type OTG_GSL_CHECK_ALL_FIELDS;
+
+ struct dcn_tg_shift {
+ TG_REG_FIELD_LIST(uint8_t)
+--
+2.7.4
+