aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4772-drm-amd-display-Define-dp_alt_mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4772-drm-amd-display-Define-dp_alt_mode.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4772-drm-amd-display-Define-dp_alt_mode.patch112
1 files changed, 112 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4772-drm-amd-display-Define-dp_alt_mode.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4772-drm-amd-display-Define-dp_alt_mode.patch
new file mode 100644
index 00000000..5507d020
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4772-drm-amd-display-Define-dp_alt_mode.patch
@@ -0,0 +1,112 @@
+From 598d85c7aad1e1be105f2dbb1325aa98e1cb2007 Mon Sep 17 00:00:00 2001
+From: Charlene Liu <charlene.liu@amd.com>
+Date: Wed, 30 May 2018 15:58:08 -0400
+Subject: [PATCH 4772/5725] drm/amd/display: Define dp_alt_mode
+
+Also cleanup command_table2.c. No need for a lot of forward
+declarations.
+
+Signed-off-by: Charlene Liu <charlene.liu@amd.com>
+Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ .../gpu/drm/amd/display/dc/bios/command_table2.c | 46 ++++++++--------------
+ .../drm/amd/display/dc/dcn10/dcn10_link_encoder.c | 2 +
+ .../gpu/drm/amd/display/include/grph_object_id.h | 5 +++
+ 3 files changed, 24 insertions(+), 29 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
+index 752b08a..2b5dc49 100644
+--- a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
++++ b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
+@@ -59,36 +59,7 @@
+ bios_cmd_table_para_revision(bp->base.ctx->driver_context, \
+ GET_INDEX_INTO_MASTER_TABLE(command, fname))
+
+-static void init_dig_encoder_control(struct bios_parser *bp);
+-static void init_transmitter_control(struct bios_parser *bp);
+-static void init_set_pixel_clock(struct bios_parser *bp);
+
+-static void init_set_crtc_timing(struct bios_parser *bp);
+-
+-static void init_select_crtc_source(struct bios_parser *bp);
+-static void init_enable_crtc(struct bios_parser *bp);
+-
+-static void init_external_encoder_control(struct bios_parser *bp);
+-static void init_enable_disp_power_gating(struct bios_parser *bp);
+-static void init_set_dce_clock(struct bios_parser *bp);
+-static void init_get_smu_clock_info(struct bios_parser *bp);
+-
+-void dal_firmware_parser_init_cmd_tbl(struct bios_parser *bp)
+-{
+- init_dig_encoder_control(bp);
+- init_transmitter_control(bp);
+- init_set_pixel_clock(bp);
+-
+- init_set_crtc_timing(bp);
+-
+- init_select_crtc_source(bp);
+- init_enable_crtc(bp);
+-
+- init_external_encoder_control(bp);
+- init_enable_disp_power_gating(bp);
+- init_set_dce_clock(bp);
+- init_get_smu_clock_info(bp);
+-}
+
+ static uint32_t bios_cmd_table_para_revision(void *dev,
+ uint32_t index)
+@@ -829,3 +800,20 @@ static unsigned int get_smu_clock_info_v3_1(struct bios_parser *bp, uint8_t id)
+ return 0;
+ }
+
++void dal_firmware_parser_init_cmd_tbl(struct bios_parser *bp)
++{
++ init_dig_encoder_control(bp);
++ init_transmitter_control(bp);
++ init_set_pixel_clock(bp);
++
++ init_set_crtc_timing(bp);
++
++ init_select_crtc_source(bp);
++ init_enable_crtc(bp);
++
++ init_external_encoder_control(bp);
++ init_enable_disp_power_gating(bp);
++ init_set_dce_clock(bp);
++ init_get_smu_clock_info(bp);
++
++}
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
+index 21fa40a..fd9dc70 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
+@@ -995,6 +995,8 @@ void dcn10_link_encoder_disable_output(
+
+ if (!dcn10_is_dig_enabled(enc)) {
+ /* OF_SKIP_POWER_DOWN_INACTIVE_ENCODER */
++ /*in DP_Alt_No_Connect case, we turn off the dig already,
++ after excuation the PHY w/a sequence, not allow touch PHY any more*/
+ return;
+ }
+ /* Power-down RX and disable GPU PHY should be paired.
+diff --git a/drivers/gpu/drm/amd/display/include/grph_object_id.h b/drivers/gpu/drm/amd/display/include/grph_object_id.h
+index c419743..92cc6c1 100644
+--- a/drivers/gpu/drm/amd/display/include/grph_object_id.h
++++ b/drivers/gpu/drm/amd/display/include/grph_object_id.h
+@@ -197,6 +197,11 @@ enum transmitter_color_depth {
+ TRANSMITTER_COLOR_DEPTH_48 /* 16 bits */
+ };
+
++enum dp_alt_mode {
++ DP_Alt_mode__Unknown = 0,
++ DP_Alt_mode__Connect,
++ DP_Alt_mode__NoConnect,
++};
+ /*
+ *****************************************************************************
+ * graphics_object_id struct
+--
+2.7.4
+