Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Julian Parkin and committed by
Alex Deucher
67427d4f b1f6d01c

+12 -96
+4 -32
drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.c
··· 153 153 154 154 static uint8_t dig_encoder_sel_to_atom(enum engine_id id) 155 155 { 156 - uint8_t atom_dig_encoder_sel = 0; 157 - 158 - switch (id) { 159 - case ENGINE_ID_DIGA: 160 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGA_SEL; 161 - break; 162 - case ENGINE_ID_DIGB: 163 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGB_SEL; 164 - break; 165 - case ENGINE_ID_DIGC: 166 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGC_SEL; 167 - break; 168 - case ENGINE_ID_DIGD: 169 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGD_SEL; 170 - break; 171 - case ENGINE_ID_DIGE: 172 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGE_SEL; 173 - break; 174 - case ENGINE_ID_DIGF: 175 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGF_SEL; 176 - break; 177 - case ENGINE_ID_DIGG: 178 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGG_SEL; 179 - break; 180 - case ENGINE_ID_UNKNOWN: 181 - /* No DIG_FRONT is associated to DIG_BACKEND */ 182 - atom_dig_encoder_sel = 0; 183 - break; 184 - default: 185 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V5__DIGA_SEL; 186 - break; 187 - } 156 + /* On any ASIC after DCE80, we manually program the DIG_FE 157 + * selection (see connect_dig_be_to_fe function of the link 158 + * encoder), so translation should always return 0 (no FE). 159 + */ 188 160 189 161 return 0; 190 162 }
+4 -32
drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.c
··· 150 150 151 151 static uint8_t dig_encoder_sel_to_atom(enum engine_id id) 152 152 { 153 - uint8_t atom_dig_encoder_sel = 0; 154 - 155 - switch (id) { 156 - case ENGINE_ID_DIGA: 157 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL; 158 - break; 159 - case ENGINE_ID_DIGB: 160 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGB_SEL; 161 - break; 162 - case ENGINE_ID_DIGC: 163 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGC_SEL; 164 - break; 165 - case ENGINE_ID_DIGD: 166 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGD_SEL; 167 - break; 168 - case ENGINE_ID_DIGE: 169 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGE_SEL; 170 - break; 171 - case ENGINE_ID_DIGF: 172 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGF_SEL; 173 - break; 174 - case ENGINE_ID_DIGG: 175 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGG_SEL; 176 - break; 177 - case ENGINE_ID_UNKNOWN: 178 - /* No DIG_FRONT is associated to DIG_BACKEND */ 179 - atom_dig_encoder_sel = 0; 180 - break; 181 - default: 182 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL; 183 - break; 184 - } 153 + /* On any ASIC after DCE80, we manually program the DIG_FE 154 + * selection (see connect_dig_be_to_fe function of the link 155 + * encoder), so translation should always return 0 (no FE). 156 + */ 185 157 186 158 return 0; 187 159 }
+4 -32
drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.c
··· 150 150 151 151 static uint8_t dig_encoder_sel_to_atom(enum engine_id id) 152 152 { 153 - uint8_t atom_dig_encoder_sel = 0; 154 - 155 - switch (id) { 156 - case ENGINE_ID_DIGA: 157 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL; 158 - break; 159 - case ENGINE_ID_DIGB: 160 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGB_SEL; 161 - break; 162 - case ENGINE_ID_DIGC: 163 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGC_SEL; 164 - break; 165 - case ENGINE_ID_DIGD: 166 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGD_SEL; 167 - break; 168 - case ENGINE_ID_DIGE: 169 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGE_SEL; 170 - break; 171 - case ENGINE_ID_DIGF: 172 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGF_SEL; 173 - break; 174 - case ENGINE_ID_DIGG: 175 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGG_SEL; 176 - break; 177 - case ENGINE_ID_UNKNOWN: 178 - /* No DIG_FRONT is associated to DIG_BACKEND */ 179 - atom_dig_encoder_sel = 0; 180 - break; 181 - default: 182 - atom_dig_encoder_sel = ATOM_TRANMSITTER_V6__DIGA_SEL; 183 - break; 184 - } 153 + /* On any ASIC after DCE80, we manually program the DIG_FE 154 + * selection (see connect_dig_be_to_fe function of the link 155 + * encoder), so translation should always return 0 (no FE). 156 + */ 185 157 186 158 return 0; 187 159 }