aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3565-drm-amd-display-Delete-dead-code-in-command_table_he.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3565-drm-amd-display-Delete-dead-code-in-command_table_he.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3565-drm-amd-display-Delete-dead-code-in-command_table_he.patch169
1 files changed, 169 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3565-drm-amd-display-Delete-dead-code-in-command_table_he.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3565-drm-amd-display-Delete-dead-code-in-command_table_he.patch
new file mode 100644
index 00000000..dffe74cd
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3565-drm-amd-display-Delete-dead-code-in-command_table_he.patch
@@ -0,0 +1,169 @@
+From 36e6f7d0a6a380615c38ff582b261c243ee7326d Mon Sep 17 00:00:00 2001
+From: Julian Parkin <julian.parkin@amd.com>
+Date: Fri, 26 Jul 2019 17:13:46 -0400
+Subject: [PATCH 3565/4256] drm/amd/display: Delete dead code in
+ command_table_helper
+
+[Why]
+dig_encoder_sel_to_atom will always return zero on any ASIC version
+past DCE80 since programming of the FE selection is handled by
+driver, but the translation code was left in the function, making
+it look like a coding error.
+
+[How]
+Remove code that has no effect, and replace with a comment describing
+why it returns zero.
+
+Signed-off-by: Julian Parkin <julian.parkin@amd.com>
+Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+---
+ .../bios/dce110/command_table_helper_dce110.c | 36 +++----------------
+ .../dce112/command_table_helper2_dce112.c | 36 +++----------------
+ .../bios/dce112/command_table_helper_dce112.c | 36 +++----------------
+ 3 files changed, 12 insertions(+), 96 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.c b/drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.c
+index ca24154468c7..11bf247bb180 100644
+--- a/drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.c
++++ b/drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.c
+@@ -153,38 +153,10 @@ static uint8_t hpd_sel_to_atom(enum hpd_source_id id)
+
+ static uint8_t dig_encoder_sel_to_atom(enum engine_id id)
+ {
+- uint8_t atom_dig_encoder_sel = 0;
+-
+- switch (id) {
+- case ENGINE_ID_DIGA:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGA_SEL;
+- break;
+- case ENGINE_ID_DIGB:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGB_SEL;
+- break;
+- case ENGINE_ID_DIGC:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGC_SEL;
+- break;
+- case ENGINE_ID_DIGD:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGD_SEL;
+- break;
+- case ENGINE_ID_DIGE:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGE_SEL;
+- break;
+- case ENGINE_ID_DIGF:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGF_SEL;
+- break;
+- case ENGINE_ID_DIGG:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGG_SEL;
+- break;
+- case ENGINE_ID_UNKNOWN:
+- /* No DIG_FRONT is associated to DIG_BACKEND */
+- atom_dig_encoder_sel = 0;
+- break;
+- default:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGA_SEL;
+- break;
+- }
++ /* On any ASIC after DCE80, we manually program the DIG_FE
++ * selection (see connect_dig_be_to_fe function of the link
++ * encoder), so translation should always return 0 (no FE).
++ */
+
+ return 0;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.c b/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.c
+index 0237ae575068..755b6e33140a 100644
+--- a/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.c
++++ b/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.c
+@@ -150,38 +150,10 @@ static uint8_t hpd_sel_to_atom(enum hpd_source_id id)
+
+ static uint8_t dig_encoder_sel_to_atom(enum engine_id id)
+ {
+- uint8_t atom_dig_encoder_sel = 0;
+-
+- switch (id) {
+- case ENGINE_ID_DIGA:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL;
+- break;
+- case ENGINE_ID_DIGB:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGB_SEL;
+- break;
+- case ENGINE_ID_DIGC:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGC_SEL;
+- break;
+- case ENGINE_ID_DIGD:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGD_SEL;
+- break;
+- case ENGINE_ID_DIGE:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGE_SEL;
+- break;
+- case ENGINE_ID_DIGF:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGF_SEL;
+- break;
+- case ENGINE_ID_DIGG:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGG_SEL;
+- break;
+- case ENGINE_ID_UNKNOWN:
+- /* No DIG_FRONT is associated to DIG_BACKEND */
+- atom_dig_encoder_sel = 0;
+- break;
+- default:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL;
+- break;
+- }
++ /* On any ASIC after DCE80, we manually program the DIG_FE
++ * selection (see connect_dig_be_to_fe function of the link
++ * encoder), so translation should always return 0 (no FE).
++ */
+
+ return 0;
+ }
+diff --git a/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.c b/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.c
+index 452034f83e4c..06b4f7fa4a50 100644
+--- a/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.c
++++ b/drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.c
+@@ -150,38 +150,10 @@ static uint8_t hpd_sel_to_atom(enum hpd_source_id id)
+
+ static uint8_t dig_encoder_sel_to_atom(enum engine_id id)
+ {
+- uint8_t atom_dig_encoder_sel = 0;
+-
+- switch (id) {
+- case ENGINE_ID_DIGA:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL;
+- break;
+- case ENGINE_ID_DIGB:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGB_SEL;
+- break;
+- case ENGINE_ID_DIGC:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGC_SEL;
+- break;
+- case ENGINE_ID_DIGD:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGD_SEL;
+- break;
+- case ENGINE_ID_DIGE:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGE_SEL;
+- break;
+- case ENGINE_ID_DIGF:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGF_SEL;
+- break;
+- case ENGINE_ID_DIGG:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGG_SEL;
+- break;
+- case ENGINE_ID_UNKNOWN:
+- /* No DIG_FRONT is associated to DIG_BACKEND */
+- atom_dig_encoder_sel = 0;
+- break;
+- default:
+- atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL;
+- break;
+- }
++ /* On any ASIC after DCE80, we manually program the DIG_FE
++ * selection (see connect_dig_be_to_fe function of the link
++ * encoder), so translation should always return 0 (no FE).
++ */
+
+ return 0;
+ }
+--
+2.17.1
+