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