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

drm/amd/display: remove dead code

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Tony Cheng and committed by
Alex Deucher
5e701406 a10eadfb

-223
-76
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
··· 545 545 return BP_RESULT_NORECORD; 546 546 } 547 547 548 - static uint32_t bios_parser_get_gpio_record( 549 - struct dc_bios *dcb, 550 - struct graphics_object_id id, 551 - struct bp_gpio_cntl_info *gpio_record, 552 - uint32_t record_size) 553 - { 554 - struct bios_parser *bp = BP_FROM_DCB(dcb); 555 - ATOM_COMMON_RECORD_HEADER *header = NULL; 556 - ATOM_OBJECT_GPIO_CNTL_RECORD *record = NULL; 557 - ATOM_OBJECT *object = get_bios_object(bp, id); 558 - uint32_t offset; 559 - uint32_t pins_number; 560 - uint32_t i; 561 - 562 - if (!object) 563 - return 0; 564 - 565 - /* Initialise offset */ 566 - offset = le16_to_cpu(object->usRecordOffset) 567 - + bp->object_info_tbl_offset; 568 - 569 - for (;;) { 570 - /* Get record header */ 571 - header = GET_IMAGE(ATOM_COMMON_RECORD_HEADER, offset); 572 - if (!header || header->ucRecordType == LAST_RECORD_TYPE || 573 - !header->ucRecordSize) 574 - break; 575 - 576 - /* If this is gpio control record - stop. We found the record */ 577 - if (header->ucRecordType == ATOM_OBJECT_GPIO_CNTL_RECORD_TYPE 578 - && header->ucRecordSize 579 - >= sizeof(ATOM_OBJECT_GPIO_CNTL_RECORD)) { 580 - record = (ATOM_OBJECT_GPIO_CNTL_RECORD *) header; 581 - break; 582 - } 583 - 584 - /* Advance to next record */ 585 - offset += header->ucRecordSize; 586 - } 587 - 588 - /* If we did not find a record - return */ 589 - if (!record) 590 - return 0; 591 - 592 - /* Extract gpio IDs from bios record (make sure we do not exceed passed 593 - * array size) */ 594 - pins_number = (record->ucNumberOfPins < record_size ? 595 - record->ucNumberOfPins : record_size); 596 - for (i = 0; i < pins_number; i++) { 597 - uint8_t output_state = ((record->asGpio[i].ucGPIO_PinState 598 - & GPIO_PIN_OUTPUT_STATE_MASK) 599 - >> GPIO_PIN_OUTPUT_STATE_SHIFT); 600 - gpio_record[i].id = record->asGpio[i].ucGPIOID; 601 - 602 - switch (output_state) { 603 - case GPIO_PIN_STATE_ACTIVE_LOW: 604 - gpio_record[i].state = 605 - GPIO_PIN_OUTPUT_STATE_ACTIVE_LOW; 606 - break; 607 - 608 - case GPIO_PIN_STATE_ACTIVE_HIGH: 609 - gpio_record[i].state = 610 - GPIO_PIN_OUTPUT_STATE_ACTIVE_HIGH; 611 - break; 612 - 613 - default: 614 - BREAK_TO_DEBUGGER(); /* Invalid Pin Output State */ 615 - break; 616 - } 617 - } 618 - 619 - return pins_number; 620 - } 621 - 622 548 enum bp_result bios_parser_get_device_tag_record( 623 549 struct bios_parser *bp, 624 550 ATOM_OBJECT *object, ··· 3989 4063 .get_connector_id = bios_parser_get_connector_id, 3990 4064 3991 4065 .get_dst_number = bios_parser_get_dst_number, 3992 - 3993 - .get_gpio_record = bios_parser_get_gpio_record, 3994 4066 3995 4067 .get_src_obj = bios_parser_get_src_obj, 3996 4068
-114
drivers/gpu/drm/amd/display/dc/bios/command_table.c
··· 54 54 static void init_adjust_display_pll(struct bios_parser *bp); 55 55 static void init_dac_encoder_control(struct bios_parser *bp); 56 56 static void init_dac_output_control(struct bios_parser *bp); 57 - static void init_blank_crtc(struct bios_parser *bp); 58 57 static void init_set_crtc_timing(struct bios_parser *bp); 59 58 static void init_select_crtc_source(struct bios_parser *bp); 60 59 static void init_enable_crtc(struct bios_parser *bp); 61 60 static void init_enable_crtc_mem_req(struct bios_parser *bp); 62 - static void init_compute_memore_engine_pll(struct bios_parser *bp); 63 61 static void init_external_encoder_control(struct bios_parser *bp); 64 62 static void init_enable_disp_power_gating(struct bios_parser *bp); 65 63 static void init_program_clock(struct bios_parser *bp); ··· 72 74 init_adjust_display_pll(bp); 73 75 init_dac_encoder_control(bp); 74 76 init_dac_output_control(bp); 75 - init_blank_crtc(bp); 76 77 init_set_crtc_timing(bp); 77 78 init_select_crtc_source(bp); 78 79 init_enable_crtc(bp); 79 80 init_enable_crtc_mem_req(bp); 80 81 init_program_clock(bp); 81 - init_compute_memore_engine_pll(bp); 82 82 init_external_encoder_control(bp); 83 83 init_enable_disp_power_gating(bp); 84 84 init_set_dce_clock(bp); ··· 1672 1676 /******************************************************************************* 1673 1677 ******************************************************************************** 1674 1678 ** 1675 - ** BLANK CRTC 1676 - ** 1677 - ******************************************************************************** 1678 - *******************************************************************************/ 1679 - 1680 - static enum bp_result blank_crtc_v1( 1681 - struct bios_parser *bp, 1682 - struct bp_blank_crtc_parameters *bp_params, 1683 - bool blank); 1684 - 1685 - static void init_blank_crtc(struct bios_parser *bp) 1686 - { 1687 - switch (BIOS_CMD_TABLE_PARA_REVISION(BlankCRTC)) { 1688 - case 1: 1689 - bp->cmd_tbl.blank_crtc = blank_crtc_v1; 1690 - break; 1691 - default: 1692 - bp->cmd_tbl.blank_crtc = NULL; 1693 - break; 1694 - } 1695 - } 1696 - 1697 - static enum bp_result blank_crtc_v1( 1698 - struct bios_parser *bp, 1699 - struct bp_blank_crtc_parameters *bp_params, 1700 - bool blank) 1701 - { 1702 - enum bp_result result = BP_RESULT_FAILURE; 1703 - BLANK_CRTC_PARAMETERS params = {0}; 1704 - uint8_t atom_controller_id; 1705 - 1706 - if (bp->cmd_helper->controller_id_to_atom(bp_params->controller_id, 1707 - &atom_controller_id)) { 1708 - params.ucCRTC = (uint8_t)atom_controller_id; 1709 - 1710 - if (blank) 1711 - params.ucBlanking = ATOM_BLANKING; 1712 - else 1713 - params.ucBlanking = ATOM_BLANKING_OFF; 1714 - params.usBlackColorRCr = 1715 - cpu_to_le16((uint16_t)bp_params->black_color_rcr); 1716 - params.usBlackColorGY = 1717 - cpu_to_le16((uint16_t)bp_params->black_color_gy); 1718 - params.usBlackColorBCb = 1719 - cpu_to_le16((uint16_t)bp_params->black_color_bcb); 1720 - 1721 - if (EXEC_BIOS_CMD_TABLE(BlankCRTC, params)) 1722 - result = BP_RESULT_OK; 1723 - } else 1724 - /* Not support more than two CRTC as current ASIC, update this 1725 - * if needed. 1726 - */ 1727 - result = BP_RESULT_BADINPUT; 1728 - 1729 - return result; 1730 - } 1731 - 1732 - /******************************************************************************* 1733 - ******************************************************************************** 1734 - ** 1735 1679 ** SET CRTC TIMING 1736 1680 ** 1737 1681 ******************************************************************************** ··· 2169 2233 * is enabled. */ 2170 2234 bp_params->dfs_bypass_display_clock = 2171 2235 (uint32_t)(le32_to_cpu(params.sPCLKInput.ulDispEngClkFreq) * 10); 2172 - result = BP_RESULT_OK; 2173 - } 2174 - 2175 - return result; 2176 - } 2177 - 2178 - /******************************************************************************* 2179 - ******************************************************************************** 2180 - ** 2181 - ** COMPUTE MEMORY ENGINE PLL 2182 - ** 2183 - ******************************************************************************** 2184 - *******************************************************************************/ 2185 - 2186 - static enum bp_result compute_memore_engine_pll_v4( 2187 - struct bios_parser *bp, 2188 - struct bp_display_clock_parameters *bp_params); 2189 - 2190 - static void init_compute_memore_engine_pll(struct bios_parser *bp) 2191 - { 2192 - switch (BIOS_CMD_TABLE_PARA_REVISION(ComputeMemoryEnginePLL)) { 2193 - case 4: 2194 - bp->cmd_tbl.compute_memore_engine_pll = 2195 - compute_memore_engine_pll_v4; 2196 - break; 2197 - default: 2198 - bp->cmd_tbl.compute_memore_engine_pll = NULL; 2199 - break; 2200 - } 2201 - } 2202 - 2203 - static enum bp_result compute_memore_engine_pll_v4( 2204 - struct bios_parser *bp, 2205 - struct bp_display_clock_parameters *bp_params) 2206 - { 2207 - enum bp_result result = BP_RESULT_FAILURE; 2208 - COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V4 params; 2209 - 2210 - memset(&params, 0, sizeof(params)); 2211 - 2212 - params.ulClock = cpu_to_le32(bp_params->target_display_clock / 10); 2213 - 2214 - /* Initialize this to the target clock in case this call fails */ 2215 - bp_params->actual_display_clock = bp_params->target_display_clock; 2216 - 2217 - if (EXEC_BIOS_CMD_TABLE(ComputeMemoryEnginePLL, params)) { 2218 - /* Convert from 10KHz units back to KHz */ 2219 - bp_params->actual_display_clock = 2220 - le32_to_cpu(params.ulClock) * 10; 2221 - bp_params->actual_post_divider_id = params.ucPostDiv; 2222 2236 result = BP_RESULT_OK; 2223 2237 } 2224 2238
-7
drivers/gpu/drm/amd/display/dc/bios/command_table.h
··· 68 68 enum bp_result (*dac2_output_control)( 69 69 struct bios_parser *bp, 70 70 bool enable); 71 - enum bp_result (*blank_crtc)( 72 - struct bios_parser *bp, 73 - struct bp_blank_crtc_parameters *bp_params, 74 - bool blank); 75 71 enum bp_result (*set_crtc_timing)( 76 72 struct bios_parser *bp, 77 73 struct bp_hw_crtc_timing_parameters *bp_params); ··· 85 89 enum bp_result (*program_clock)( 86 90 struct bios_parser *bp, 87 91 struct bp_pixel_clock_parameters *bp_params); 88 - enum bp_result (*compute_memore_engine_pll)( 89 - struct bios_parser *bp, 90 - struct bp_display_clock_parameters *bp_params); 91 92 enum bp_result (*external_encoder_control)( 92 93 struct bios_parser *bp, 93 94 struct bp_external_encoder_control *cntl);
-6
drivers/gpu/drm/amd/display/dc/dc_bios_types.h
··· 51 51 struct dc_bios *bios, 52 52 struct graphics_object_id id); 53 53 54 - uint32_t (*get_gpio_record)( 55 - struct dc_bios *dcb, 56 - struct graphics_object_id id, 57 - struct bp_gpio_cntl_info *gpio_record, 58 - uint32_t record_size); 59 - 60 54 enum bp_result (*get_src_obj)( 61 55 struct dc_bios *bios, 62 56 struct graphics_object_id object_id, uint32_t index,
-20
drivers/gpu/drm/amd/display/include/bios_parser_types.h
··· 156 156 bool single_pll_mode; 157 157 }; 158 158 159 - struct bp_blank_crtc_parameters { 160 - enum controller_id controller_id; 161 - uint32_t black_color_rcr; 162 - uint32_t black_color_gy; 163 - uint32_t black_color_bcb; 164 - }; 165 - 166 159 struct bp_hw_crtc_timing_parameters { 167 160 enum controller_id controller_id; 168 161 /* horizontal part */ ··· 245 252 } flags; 246 253 }; 247 254 248 - struct bp_display_clock_parameters { 249 - uint32_t target_display_clock; /* KHz */ 250 - /* Actual Display Clock set due to clock divider granularity KHz */ 251 - uint32_t actual_display_clock; 252 - /* Actual Post Divider ID used to generate the actual clock */ 253 - uint32_t actual_post_divider_id; 254 - }; 255 - 256 255 enum bp_dce_clock_type { 257 256 DCECLOCK_TYPE_DISPLAY_CLOCK = 0, 258 257 DCECLOCK_TYPE_DPREFCLK = 1 ··· 305 320 uint32_t DP_HBR3_EN:1; 306 321 uint32_t HDMI_6GB_EN:1; 307 322 uint32_t RESERVED:30; 308 - }; 309 - 310 - struct bp_gpio_cntl_info { 311 - uint32_t id; 312 - enum gpio_pin_output_state state; 313 323 }; 314 324 315 325 #endif /*__DAL_BIOS_PARSER_TYPES_H__ */