diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/1012-drm-amd-dal-remove-bios-parser-function-table.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/1012-drm-amd-dal-remove-bios-parser-function-table.patch | 2301 |
1 files changed, 0 insertions, 2301 deletions
diff --git a/common/recipes-kernel/linux/files/1012-drm-amd-dal-remove-bios-parser-function-table.patch b/common/recipes-kernel/linux/files/1012-drm-amd-dal-remove-bios-parser-function-table.patch deleted file mode 100644 index 468f6197..00000000 --- a/common/recipes-kernel/linux/files/1012-drm-amd-dal-remove-bios-parser-function-table.patch +++ /dev/null @@ -1,2301 +0,0 @@ -From 1c9dcbf65903c09af8c5b0df8ae1450375280445 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 11 Apr 2016 16:56:03 +1000 -Subject: [PATCH 1012/1110] drm/amd/dal: remove bios parser function table. - -This table serves no great purpose, direct calling the APIs -in the code works just as well. - -before: -1096306 141169 1532 1239007 12e7df drivers/gpu/drm/amd/amdgpu/amdgpu.ko -after: -1094986 141169 1532 1237687 12e2b7 drivers/gpu/drm/amd/amdgpu/amdgpu.ko - -Signed-off-by: Dave Airlie <airlied@redhat.com> -Reviewed-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - .../gpu/drm/amd/dal/dc/adapter/adapter_service.c | 63 ++- - .../drm/amd/dal/dc/adapter/wireless_data_source.c | 2 +- - drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c | 423 ++++++--------------- - drivers/gpu/drm/amd/dal/dc/bios/bios_parser.h | 3 +- - .../dal/dc/bios/dce112/bios_parser_helper_dce112.c | 178 +-------- - drivers/gpu/drm/amd/dal/dc/core/dc.c | 6 +- - drivers/gpu/drm/amd/dal/dc/dc_bios_types.h | 412 +++++++++----------- - .../drm/amd/dal/dc/dce100/dce100_hw_sequencer.c | 3 +- - .../drm/amd/dal/dc/dce110/dce110_clock_source.c | 49 +-- - .../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 11 +- - .../drm/amd/dal/dc/dce110/dce110_link_encoder.c | 2 +- - .../drm/amd/dal/dc/dce110/dce110_stream_encoder.c | 6 +- - .../amd/dal/dc/dce110/dce110_timing_generator.c | 6 +- - .../drm/amd/dal/dc/dce112/dce112_clock_source.c | 6 +- - .../drm/amd/dal/dc/dce112/dce112_hw_sequencer.c | 2 +- - .../gpu/drm/amd/dal/dc/dce80/dce80_hw_sequencer.c | 2 +- - .../gpu/drm/amd/dal/dc/dce80/dce80_link_encoder.c | 2 +- - .../drm/amd/dal/dc/dce80/dce80_stream_encoder.c | 6 +- - .../amd/dal/dc/gpu/dce110/display_clock_dce110.c | 2 +- - .../amd/dal/dc/gpu/dce112/display_clock_dce112.c | 4 +- - .../drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c | 2 +- - 21 files changed, 386 insertions(+), 804 deletions(-) - -diff --git a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c -index 308d456..810776b 100644 ---- a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c -+++ b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c -@@ -234,8 +234,8 @@ static void initialize_backlight_caps( - return; - } - -- if (dcb->funcs->get_firmware_info(dcb, &fw_info) != BP_RESULT_OK || -- dcb->funcs->get_embedded_panel_info(dcb, &panel_info) != BP_RESULT_OK) -+ if (dc_bios_get_firmware_info(dcb, &fw_info) != BP_RESULT_OK || -+ dc_bios_get_embedded_panel_info(dcb, &panel_info) != BP_RESULT_OK) - return; - - params.data = ∩︀ -@@ -540,7 +540,7 @@ static bool get_hpd_info(struct adapter_service *as, - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- return BP_RESULT_OK == dcb->funcs->get_hpd_info(dcb, id, info); -+ return BP_RESULT_OK == dc_bios_get_hpd_info(dcb, id, info); - } - - /* -@@ -693,7 +693,7 @@ static void adapter_service_destruct( - dal_gpio_service_destroy(&as->gpio_service); - dal_asic_capability_destroy(&as->asic_cap); - -- dcb->funcs->destroy_integrated_info(dcb, &as->integrated_info); -+ dc_bios_destroy_integrated_info(dcb, &as->integrated_info); - - if (as->dcb_internal) { - /* We are responsible only for destruction of Internal BIOS. -@@ -802,9 +802,9 @@ static bool adapter_service_construct( - /* Avoid wireless encoder creation in upstream branch. */ - - /* Integrated info is not provided on discrete ASIC. NULL is allowed */ -- as->integrated_info = dcb->funcs->create_integrated_info(dcb); -+ as->integrated_info = dc_bios_create_integrated_info(dcb); - -- dcb->funcs->post_init(dcb); -+ dc_bios_post_init(dcb); - - /* Generate backlight translation table and initializes - other brightness properties */ -@@ -965,7 +965,7 @@ uint8_t dal_adapter_service_get_connectors_num( - - dcb = dal_adapter_service_get_bios_parser(as); - -- vbios_connectors_num = dcb->funcs->get_connectors_number(dcb); -+ vbios_connectors_num = dc_bios_get_connectors_number(dcb); - - wireless_connectors_num = wireless_get_connectors_num(as); - -@@ -1002,7 +1002,7 @@ uint32_t dal_adapter_service_get_src_num( - if (is_wireless_object(id)) - return wireless_get_srcs_num(as, id); - else -- return dcb->funcs->get_src_number(dcb, id); -+ return dc_bios_get_src_number(dcb, id); - } - - /** -@@ -1027,7 +1027,7 @@ struct graphics_object_id dal_adapter_service_get_src_obj( - if (is_wireless_object(id)) - src_object_id = wireless_get_src_obj_id(as, id, index); - else { -- if (BP_RESULT_OK != dcb->funcs->get_src_obj(dcb, id, index, -+ if (BP_RESULT_OK != dc_bios_get_src_obj(dcb, id, index, - &src_object_id)) { - src_object_id = - dal_graphics_object_id_init( -@@ -1058,12 +1058,12 @@ struct graphics_object_id dal_adapter_service_get_connector_obj_id( - - dcb = dal_adapter_service_get_bios_parser(as); - -- bios_connectors_num = dcb->funcs->get_connectors_number(dcb); -+ bios_connectors_num = dc_bios_get_connectors_number(dcb); - - if (connector_index >= bios_connectors_num) - return wireless_get_connector_id(as, connector_index); - else -- return dcb->funcs->get_connector_id(dcb, connector_index); -+ return dc_bios_get_connector_id(dcb, connector_index); - } - - bool dal_adapter_service_get_device_tag( -@@ -1074,8 +1074,8 @@ bool dal_adapter_service_get_device_tag( - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- if (BP_RESULT_OK == dcb->funcs->get_device_tag(dcb, -- connector_object_id, device_tag_index, info)) -+ if (BP_RESULT_OK == dc_bios_get_device_tag(dcb, -+ connector_object_id, device_tag_index, info)) - return true; - else - return false; -@@ -1087,7 +1087,7 @@ bool dal_adapter_service_is_device_id_supported(struct adapter_service *as, - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- return dcb->funcs->is_device_id_supported(dcb, id); -+ return dc_bios_is_device_id_supported(dcb, id); - } - - bool dal_adapter_service_is_meet_underscan_req(struct adapter_service *as) -@@ -1130,7 +1130,7 @@ uint8_t dal_adapter_service_get_clock_sources_num( - * Check is system supports the use of the External clock source - * as a clock source for DP - */ -- enum bp_result bp_result = dcb->funcs->get_firmware_info(dcb, &fw_info); -+ enum bp_result bp_result = dc_bios_get_firmware_info(dcb, &fw_info); - - if (BP_RESULT_OK == bp_result && - fw_info.external_clock_source_frequency_for_dp != 0) -@@ -1249,7 +1249,7 @@ bool dal_adapter_service_get_i2c_info( - return false; - } - -- return BP_RESULT_OK == dcb->funcs->get_i2c_info(dcb, id, i2c_info); -+ return BP_RESULT_OK == dc_bios_get_i2c_info(dcb, id, i2c_info); - } - - /* -@@ -1306,7 +1306,7 @@ struct irq *dal_adapter_service_obtain_hpd_irq( - if (!get_hpd_info(as, id, &hpd_info)) - return NULL; - -- bp_result = dcb->funcs->get_gpio_pin_info(dcb, -+ bp_result = dc_bios_get_gpio_pin_info(dcb, - hpd_info.hpd_int_gpio_uid, &pin_info); - - if (bp_result != BP_RESULT_OK) { -@@ -1343,7 +1343,7 @@ uint32_t dal_adapter_service_get_ss_info_num( - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- return dcb->funcs->get_ss_entry_number(dcb, signal); -+ return dc_bios_get_ss_entry_number(dcb, signal); - } - - /* -@@ -1359,8 +1359,8 @@ bool dal_adapter_service_get_ss_info( - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- enum bp_result bp_result = dcb->funcs->get_spread_spectrum_info(dcb, -- signal, idx, info); -+ enum bp_result bp_result = dc_bios_get_spread_spectrum_info(dcb, -+ signal, idx, info); - - return BP_RESULT_OK == bp_result; - } -@@ -1571,12 +1571,11 @@ struct gpio *dal_adapter_service_obtain_stereo_gpio( - /* Get GPIO record for this object. - * Stereo GPIO record should have exactly one entry - * where active state defines stereosync polarity */ -- if (1 != dcb->funcs->get_gpio_record( -- dcb, id, &cntl_info, -- 1)) { -+ if (1 != dc_bios_get_gpio_record(dcb, id, &cntl_info, -+ 1)) { - return NULL; - } else if (BP_RESULT_OK -- != dcb->funcs->get_gpio_pin_info( -+ != dc_bios_get_gpio_pin_info( - dcb, cntl_info.id, - &pin_info)) { - /*ASSERT_CRITICAL(false);*/ -@@ -1612,7 +1611,7 @@ bool dal_adapter_service_get_firmware_info( - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- return dcb->funcs->get_firmware_info(dcb, info) == BP_RESULT_OK; -+ return dc_bios_get_firmware_info(dcb, info) == BP_RESULT_OK; - } - - /* -@@ -1803,7 +1802,7 @@ bool dal_adapter_service_get_embedded_panel_info( - /*TODO: add DALASSERT_MSG here*/ - return false; - -- result = dcb->funcs->get_embedded_panel_info(dcb, info); -+ result = dc_bios_get_embedded_panel_info(dcb, info); - - return result == BP_RESULT_OK; - } -@@ -1820,7 +1819,7 @@ bool dal_adapter_service_enum_embedded_panel_patch_mode( - /*TODO: add DALASSERT_MSG here*/ - return false; - -- result = dcb->funcs->enum_embedded_panel_patch_mode(dcb, index, mode); -+ result = dc_bios_enum_embedded_panel_patch_mode(dcb, index, mode); - - return result == BP_RESULT_OK; - } -@@ -1832,7 +1831,7 @@ bool dal_adapter_service_get_faked_edid_len( - enum bp_result result; - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- result = dcb->funcs->get_faked_edid_len(dcb, len); -+ result = dc_bios_get_faked_edid_len(dcb, len); - - return result == BP_RESULT_OK; - } -@@ -1845,7 +1844,7 @@ bool dal_adapter_service_get_faked_edid_buf( - enum bp_result result; - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- result = dcb->funcs->get_faked_edid_buf(dcb, buf, len); -+ result = dc_bios_get_faked_edid_buf(dcb, buf, len); - - return result == BP_RESULT_OK; - -@@ -1935,7 +1934,7 @@ bool dal_adapter_service_is_in_accelerated_mode(struct adapter_service *as) - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- return dcb->funcs->is_accelerated_mode(dcb); -+ return dc_bios_is_accelerated_mode(dcb); - } - - struct ddc *dal_adapter_service_obtain_ddc_from_i2c_info( -@@ -1981,7 +1980,7 @@ bool dal_adapter_service_is_lid_open(struct adapter_service *as) - return is_lid_open; - - #if defined(CONFIG_DRM_AMD_DAL_VBIOS_PRESENT) -- return dcb->funcs->is_lid_open(dcb); -+ return dc_bios_is_lid_open(dcb); - #else - return false; - #endif -@@ -2068,7 +2067,7 @@ bool dal_adapter_service_get_encoder_cap_info( - * - dpHbr2Cap: indicates supported/not supported by HW Encoder - * - dpHbr2En : indicates DP spec compliant/not compliant - */ -- result = dcb->funcs->get_encoder_cap_info(dcb, id, &bp_cap_info); -+ result = dc_bios_get_encoder_cap_info(dcb, id, &bp_cap_info); - - /* Set dp_hbr2_validated flag (it's equal to Enable) */ - info->dp_hbr2_validated = bp_cap_info.DP_HBR2_EN; -diff --git a/drivers/gpu/drm/amd/dal/dc/adapter/wireless_data_source.c b/drivers/gpu/drm/amd/dal/dc/adapter/wireless_data_source.c -index 0b1151e..1b6deb9 100644 ---- a/drivers/gpu/drm/amd/dal/dc/adapter/wireless_data_source.c -+++ b/drivers/gpu/drm/amd/dal/dc/adapter/wireless_data_source.c -@@ -66,7 +66,7 @@ bool wireless_data_init(struct wireless_data *data, - * Check if SBIOS sets remote display enable, exposed - * through VBIOS. This is only valid for APU, not dGPU - */ -- dcb->funcs->get_firmware_info(dcb, &info); -+ dc_bios_get_firmware_info(dcb, &info); - - if ((REMOTE_DISPLAY_ENABLE == info.remote_display_config) && - init_data->fusion) { -diff --git a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c -index a43da0c..8bb5454 100644 ---- a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c -+++ b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c -@@ -105,12 +105,8 @@ static bool bios_parser_construct( - struct bp_init_data *init, - struct adapter_service *as); - --static uint8_t bios_parser_get_connectors_number( -- struct dc_bios *dcb); -- --static enum bp_result bios_parser_get_embedded_panel_info( -- struct dc_bios *dcb, -- struct embedded_panel_info *info); -+enum bp_result dc_bios_get_embedded_panel_info(struct dc_bios *dcb, -+ struct embedded_panel_info *info); - - /*****************************************************************************/ - -@@ -124,7 +120,7 @@ struct dc_bios *dal_bios_parser_create( - return NULL; - - if (bios_parser_construct(bp, init, as)) -- return &bp->base; -+ return (struct dc_bios *)bp; - - dm_free(bp); - BREAK_TO_DEBUGGER(); -@@ -152,7 +148,7 @@ void dal_bios_parser_destroy(struct dc_bios **dcb) - *dcb = NULL; - } - --static void bios_parser_power_down(struct dc_bios *dcb) -+void dc_bios_power_down(struct dc_bios *dcb) - { - #if defined(CONFIG_DRM_AMD_DAL_VBIOS_PRESENT) - struct bios_parser *bp = BP_FROM_DCB(dcb); -@@ -161,7 +157,7 @@ static void bios_parser_power_down(struct dc_bios *dcb) - #endif - } - --static void bios_parser_power_up(struct dc_bios *dcb) -+void dc_bios_power_up(struct dc_bios *dcb) - { - #if defined(CONFIG_DRM_AMD_DAL_VBIOS_PRESENT) - struct bios_parser *bp = BP_FROM_DCB(dcb); -@@ -185,7 +181,7 @@ static uint8_t get_number_of_objects(struct bios_parser *bp, uint32_t offset) - return table->ucNumberOfObjects; - } - --static uint8_t bios_parser_get_encoders_number(struct dc_bios *dcb) -+uint8_t dc_bios_get_encoders_number(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -193,7 +189,7 @@ static uint8_t bios_parser_get_encoders_number(struct dc_bios *dcb) - le16_to_cpu(bp->object_info_tbl.v1_1->usEncoderObjectTableOffset)); - } - --static uint8_t bios_parser_get_connectors_number(struct dc_bios *dcb) -+uint8_t dc_bios_get_connectors_number(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -201,7 +197,7 @@ static uint8_t bios_parser_get_connectors_number(struct dc_bios *dcb) - le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset)); - } - --static uint32_t bios_parser_get_oem_ddc_lines_number(struct dc_bios *dcb) -+uint32_t dc_bios_get_oem_ddc_lines_number(struct dc_bios *dcb) - { - uint32_t number = 0; - struct bios_parser *bp = BP_FROM_DCB(dcb); -@@ -225,9 +221,8 @@ static uint32_t bios_parser_get_oem_ddc_lines_number(struct dc_bios *dcb) - return number; - } - --static struct graphics_object_id bios_parser_get_encoder_id( -- struct dc_bios *dcb, -- uint32_t i) -+struct graphics_object_id dc_bios_get_encoder_id(struct dc_bios *dcb, -+ uint32_t i) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - struct graphics_object_id object_id = dal_graphics_object_id_init( -@@ -248,9 +243,8 @@ static struct graphics_object_id bios_parser_get_encoder_id( - return object_id; - } - --static struct graphics_object_id bios_parser_get_connector_id( -- struct dc_bios *dcb, -- uint8_t i) -+struct graphics_object_id dc_bios_get_connector_id(struct dc_bios *dcb, -+ uint8_t i) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - struct graphics_object_id object_id = dal_graphics_object_id_init( -@@ -271,8 +265,8 @@ static struct graphics_object_id bios_parser_get_connector_id( - return object_id; - } - --static uint32_t bios_parser_get_src_number(struct dc_bios *dcb, -- struct graphics_object_id id) -+uint32_t dc_bios_get_src_number(struct dc_bios *dcb, -+ struct graphics_object_id id) - { - uint32_t offset; - uint8_t *number; -@@ -296,8 +290,8 @@ static uint32_t bios_parser_get_src_number(struct dc_bios *dcb, - return *number; - } - --static uint32_t bios_parser_get_dst_number(struct dc_bios *dcb, -- struct graphics_object_id id) -+uint32_t dc_bios_get_dst_number(struct dc_bios *dcb, -+ struct graphics_object_id id) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_OBJECT *object = get_bios_object(bp, id); -@@ -305,9 +299,10 @@ static uint32_t bios_parser_get_dst_number(struct dc_bios *dcb, - return get_dst_number_from_object(bp, object); - } - --static enum bp_result bios_parser_get_src_obj(struct dc_bios *dcb, -- struct graphics_object_id object_id, uint32_t index, -- struct graphics_object_id *src_object_id) -+enum bp_result dc_bios_get_src_obj(struct dc_bios *dcb, -+ struct graphics_object_id object_id, -+ uint32_t index, -+ struct graphics_object_id *src_object_id) - { - uint32_t number; - uint16_t *id; -@@ -334,9 +329,10 @@ static enum bp_result bios_parser_get_src_obj(struct dc_bios *dcb, - return BP_RESULT_OK; - } - --static enum bp_result bios_parser_get_dst_obj(struct dc_bios *dcb, -- struct graphics_object_id object_id, uint32_t index, -- struct graphics_object_id *dest_object_id) -+enum bp_result dc_bios_get_dst_obj(struct dc_bios *dcb, -+ struct graphics_object_id object_id, -+ uint32_t index, -+ struct graphics_object_id *dest_object_id) - { - uint32_t number; - uint16_t *id; -@@ -358,9 +354,9 @@ static enum bp_result bios_parser_get_dst_obj(struct dc_bios *dcb, - return BP_RESULT_OK; - } - --static enum bp_result bios_parser_get_oem_ddc_info(struct dc_bios *dcb, -- uint32_t index, -- struct graphics_object_i2c_info *info) -+enum bp_result dc_bios_get_oem_ddc_info(struct dc_bios *dcb, -+ uint32_t index, -+ struct graphics_object_i2c_info *info) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -395,9 +391,9 @@ static enum bp_result bios_parser_get_oem_ddc_info(struct dc_bios *dcb, - return BP_RESULT_NORECORD; - } - --static enum bp_result bios_parser_get_i2c_info(struct dc_bios *dcb, -- struct graphics_object_id id, -- struct graphics_object_i2c_info *info) -+enum bp_result dc_bios_get_i2c_info(struct dc_bios *dcb, -+ struct graphics_object_id id, -+ struct graphics_object_i2c_info *info) - { - uint32_t offset; - ATOM_OBJECT *object; -@@ -501,10 +497,9 @@ static enum bp_result get_voltage_ddc_info_v3(uint8_t *i2c_line, - return result; - } - --static enum bp_result bios_parser_get_thermal_ddc_info( -- struct dc_bios *dcb, -- uint32_t i2c_channel_id, -- struct graphics_object_i2c_info *info) -+enum bp_result dc_bios_get_thermal_ddc_info(struct dc_bios *dcb, -+ uint32_t i2c_channel_id, -+ struct graphics_object_i2c_info *info) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_I2C_ID_CONFIG_ACCESS *config; -@@ -522,9 +517,9 @@ static enum bp_result bios_parser_get_thermal_ddc_info( - return get_gpio_i2c_info(bp, &record, info); - } - --static enum bp_result bios_parser_get_voltage_ddc_info(struct dc_bios *dcb, -- uint32_t index, -- struct graphics_object_i2c_info *info) -+enum bp_result dc_bios_get_voltage_ddc_info(struct dc_bios *dcb, -+ uint32_t index, -+ struct graphics_object_i2c_info *info) - { - uint8_t i2c_line = 0; - enum bp_result result = BP_RESULT_NORECORD; -@@ -559,8 +554,8 @@ static enum bp_result bios_parser_get_voltage_ddc_info(struct dc_bios *dcb, - } - - if (result == BP_RESULT_OK) -- result = bios_parser_get_thermal_ddc_info(dcb, -- i2c_line, info); -+ result = dc_bios_get_thermal_ddc_info(dcb, -+ i2c_line, info); - - return result; - } -@@ -629,9 +624,9 @@ enum bp_result bios_parser_get_ddc_info_for_i2c_line(struct bios_parser *bp, - return BP_RESULT_NORECORD; - } - --static enum bp_result bios_parser_get_hpd_info(struct dc_bios *dcb, -- struct graphics_object_id id, -- struct graphics_object_hpd_info *info) -+enum bp_result dc_bios_get_hpd_info(struct dc_bios *dcb, -+ struct graphics_object_id id, -+ struct graphics_object_hpd_info *info) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_OBJECT *object; -@@ -656,11 +651,10 @@ static enum bp_result bios_parser_get_hpd_info(struct dc_bios *dcb, - return BP_RESULT_NORECORD; - } - --static uint32_t bios_parser_get_gpio_record( -- struct dc_bios *dcb, -- struct graphics_object_id id, -- struct bp_gpio_cntl_info *gpio_record, -- uint32_t record_size) -+uint32_t dc_bios_get_gpio_record(struct dc_bios *dcb, -+ struct graphics_object_id id, -+ struct bp_gpio_cntl_info *gpio_record, -+ uint32_t record_size) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_COMMON_RECORD_HEADER *header = NULL; -@@ -767,11 +761,10 @@ enum bp_result bios_parser_get_device_tag_record( - return BP_RESULT_NORECORD; - } - --static enum bp_result bios_parser_get_device_tag( -- struct dc_bios *dcb, -- struct graphics_object_id connector_object_id, -- uint32_t device_tag_index, -- struct connector_device_tag_info *info) -+enum bp_result dc_bios_get_device_tag(struct dc_bios *dcb, -+ struct graphics_object_id connector_object_id, -+ uint32_t device_tag_index, -+ struct connector_device_tag_info *info) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_OBJECT *object; -@@ -815,7 +808,7 @@ static enum bp_result get_firmware_info_v2_2( - struct bios_parser *bp, - struct firmware_info *info); - --static enum bp_result bios_parser_get_firmware_info( -+enum bp_result dc_bios_get_firmware_info( - struct dc_bios *dcb, - struct firmware_info *info) - { -@@ -1166,9 +1159,8 @@ static enum bp_result get_ss_info_v3_1( - return BP_RESULT_NORECORD; - } - --static enum bp_result bios_parser_transmitter_control( -- struct dc_bios *dcb, -- struct bp_transmitter_control *cntl) -+enum bp_result dc_bios_transmitter_control(struct dc_bios *dcb, -+ struct bp_transmitter_control *cntl) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1178,9 +1170,8 @@ static enum bp_result bios_parser_transmitter_control( - return bp->cmd_tbl.transmitter_control(bp, cntl); - } - --static enum bp_result bios_parser_encoder_control( -- struct dc_bios *dcb, -- struct bp_encoder_control *cntl) -+enum bp_result dc_bios_encoder_control(struct dc_bios *dcb, -+ struct bp_encoder_control *cntl) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1190,9 +1181,8 @@ static enum bp_result bios_parser_encoder_control( - return bp->cmd_tbl.dig_encoder_control(bp, cntl); - } - --static enum bp_result bios_parser_adjust_pixel_clock( -- struct dc_bios *dcb, -- struct bp_adjust_pixel_clock_parameters *bp_params) -+enum bp_result dc_bios_adjust_pixel_clock(struct dc_bios *dcb, -+ struct bp_adjust_pixel_clock_parameters *bp_params) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1202,9 +1192,8 @@ static enum bp_result bios_parser_adjust_pixel_clock( - return bp->cmd_tbl.adjust_display_pll(bp, bp_params); - } - --static enum bp_result bios_parser_set_pixel_clock( -- struct dc_bios *dcb, -- struct bp_pixel_clock_parameters *bp_params) -+enum bp_result dc_bios_set_pixel_clock(struct dc_bios *dcb, -+ struct bp_pixel_clock_parameters *bp_params) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1214,9 +1203,8 @@ static enum bp_result bios_parser_set_pixel_clock( - return bp->cmd_tbl.set_pixel_clock(bp, bp_params); - } - --static enum bp_result bios_parser_set_dce_clock( -- struct dc_bios *dcb, -- struct bp_set_dce_clock_parameters *bp_params) -+enum bp_result dc_bios_set_dce_clock(struct dc_bios *dcb, -+ struct bp_set_dce_clock_parameters *bp_params) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1226,7 +1214,7 @@ static enum bp_result bios_parser_set_dce_clock( - return bp->cmd_tbl.set_dce_clock(bp, bp_params); - } - --static enum bp_result bios_parser_enable_spread_spectrum_on_ppll( -+enum bp_result dc_bios_enable_spread_spectrum_on_ppll( - struct dc_bios *dcb, - struct bp_spread_spectrum_parameters *bp_params, - bool enable) -@@ -1241,7 +1229,7 @@ static enum bp_result bios_parser_enable_spread_spectrum_on_ppll( - - } - --static enum bp_result bios_parser_program_crtc_timing( -+enum bp_result dc_bios_program_crtc_timing( - struct dc_bios *dcb, - struct bp_hw_crtc_timing_parameters *bp_params) - { -@@ -1253,7 +1241,7 @@ static enum bp_result bios_parser_program_crtc_timing( - return bp->cmd_tbl.set_crtc_timing(bp, bp_params); - } - --static enum bp_result bios_parser_program_display_engine_pll( -+enum bp_result dc_bios_program_display_engine_pll( - struct dc_bios *dcb, - struct bp_pixel_clock_parameters *bp_params) - { -@@ -1266,11 +1254,10 @@ static enum bp_result bios_parser_program_display_engine_pll( - - } - --static enum signal_type bios_parser_dac_load_detect( -- struct dc_bios *dcb, -- struct graphics_object_id encoder, -- struct graphics_object_id connector, -- enum signal_type display_signal) -+enum signal_type dc_bios_dac_load_detect(struct dc_bios *dcb, -+ struct graphics_object_id encoder, -+ struct graphics_object_id connector, -+ enum signal_type display_signal) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1281,7 +1268,7 @@ static enum signal_type bios_parser_dac_load_detect( - display_signal); - } - --static enum bp_result bios_parser_get_divider_for_target_display_clock( -+enum bp_result dc_bios_get_divider_for_target_display_clock( - struct dc_bios *dcb, - struct bp_display_clock_parameters *bp_params) - { -@@ -1293,7 +1280,7 @@ static enum bp_result bios_parser_get_divider_for_target_display_clock( - return bp->cmd_tbl.compute_memore_engine_pll(bp, bp_params); - } - --static enum bp_result bios_parser_enable_crtc( -+enum bp_result dc_bios_enable_crtc( - struct dc_bios *dcb, - enum controller_id id, - bool enable) -@@ -1306,7 +1293,7 @@ static enum bp_result bios_parser_enable_crtc( - return bp->cmd_tbl.enable_crtc(bp, id, enable); - } - --static enum bp_result bios_parser_blank_crtc( -+enum bp_result dc_bios_blank_crtc( - struct dc_bios *dcb, - struct bp_blank_crtc_parameters *bp_params, - bool blank) -@@ -1319,7 +1306,7 @@ static enum bp_result bios_parser_blank_crtc( - return bp->cmd_tbl.blank_crtc(bp, bp_params, blank); - } - --static enum bp_result bios_parser_crtc_source_select( -+enum bp_result dc_bios_crtc_source_select( - struct dc_bios *dcb, - struct bp_crtc_source_select *bp_params) - { -@@ -1331,7 +1318,7 @@ static enum bp_result bios_parser_crtc_source_select( - return bp->cmd_tbl.select_crtc_source(bp, bp_params); - } - --static enum bp_result bios_parser_set_overscan( -+enum bp_result dc_bios_set_overscan( - struct dc_bios *dcb, - struct bp_hw_crtc_overscan_parameters *bp_params) - { -@@ -1343,7 +1330,7 @@ static enum bp_result bios_parser_set_overscan( - return bp->cmd_tbl.set_crtc_overscan(bp, bp_params); - } - --static enum bp_result bios_parser_enable_memory_requests( -+enum bp_result dc_bios_enable_memory_requests( - struct dc_bios *dcb, - enum controller_id controller_id, - bool enable) -@@ -1356,7 +1343,7 @@ static enum bp_result bios_parser_enable_memory_requests( - return bp->cmd_tbl.enable_crtc_mem_req(bp, controller_id, enable); - } - --static enum bp_result bios_parser_external_encoder_control( -+enum bp_result dc_bios_external_encoder_control( - struct dc_bios *dcb, - struct bp_external_encoder_control *cntl) - { -@@ -1368,7 +1355,7 @@ static enum bp_result bios_parser_external_encoder_control( - return bp->cmd_tbl.external_encoder_control(bp, cntl); - } - --static enum bp_result bios_parser_enable_disp_power_gating( -+enum bp_result dc_bios_enable_disp_power_gating( - struct dc_bios *dcb, - enum controller_id controller_id, - enum bp_pipe_control_action action) -@@ -1382,9 +1369,8 @@ static enum bp_result bios_parser_enable_disp_power_gating( - action); - } - --static bool bios_parser_is_device_id_supported( -- struct dc_bios *dcb, -- struct device_id id) -+bool dc_bios_is_device_id_supported(struct dc_bios *dcb, -+ struct device_id id) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -1393,7 +1379,7 @@ static bool bios_parser_is_device_id_supported( - return (le16_to_cpu(bp->object_info_tbl.v1_1->usDeviceSupport) & mask) != 0; - } - --static enum bp_result bios_parser_crt_control( -+enum bp_result dc_bios_crt_control( - struct dc_bios *dcb, - enum engine_id engine_id, - bool enable, -@@ -1535,7 +1521,7 @@ static enum bp_result get_ss_info_from_tbl( - uint32_t id, - struct spread_spectrum_info *ss_info); - /** -- * bios_parser_get_spread_spectrum_info -+ * dc_bios_get_spread_spectrum_info - * Get spread spectrum information from the ASIC_InternalSS_Info(ver 2.1 or - * ver 3.1) or SS_Info table from the VBIOS. Currently ASIC_InternalSS_Info - * ver 2.1 can co-exist with SS_Info table. Expect ASIC_InternalSS_Info ver 3.1, -@@ -1547,7 +1533,7 @@ static enum bp_result get_ss_info_from_tbl( - * @param [out] ss_info, sprectrum information structure, - * @return Bios parser result code - */ --static enum bp_result bios_parser_get_spread_spectrum_info( -+enum bp_result dc_bios_get_spread_spectrum_info( - struct dc_bios *dcb, - enum as_signal_type signal, - uint32_t index, -@@ -1745,7 +1731,7 @@ static enum bp_result get_ss_info_from_ss_info_table( - { - struct embedded_panel_info panel_info; - -- if (bios_parser_get_embedded_panel_info(&bp->base, &panel_info) -+ if (dc_bios_get_embedded_panel_info((struct dc_bios *)bp, &panel_info) - == BP_RESULT_OK) - id_local = panel_info.ss_id; - break; -@@ -1801,7 +1787,7 @@ static enum bp_result get_embedded_panel_info_v1_3( - struct bios_parser *bp, - struct embedded_panel_info *info); - --static enum bp_result bios_parser_get_embedded_panel_info( -+enum bp_result dc_bios_get_embedded_panel_info( - struct dc_bios *dcb, - struct embedded_panel_info *info) - { -@@ -2080,7 +2066,7 @@ static enum bp_result get_embedded_panel_info_v1_3( - } - - /** -- * bios_parser_get_encoder_cap_info -+ * dc_bios_get_encoder_cap_info - * - * @brief - * Get encoder capability information of input object id -@@ -2091,10 +2077,9 @@ static enum bp_result get_embedded_panel_info_v1_3( - * @return Bios parser result code - * - */ --static enum bp_result bios_parser_get_encoder_cap_info( -- struct dc_bios *dcb, -- struct graphics_object_id object_id, -- struct bp_encoder_cap_info *info) -+enum bp_result dc_bios_get_encoder_cap_info(struct dc_bios *dcb, -+ struct graphics_object_id object_id, -+ struct bp_encoder_cap_info *info) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_OBJECT *object; -@@ -2168,7 +2153,7 @@ static ATOM_ENCODER_CAP_RECORD *get_encoder_cap_record( - } - - /** -- * bios_parser_get_din_connector_info -+ * dc_bios_get_din_connector_info - * @brief - * Get GPIO record for the DIN connector, this GPIO tells whether there is a - * CV dumb dongle -@@ -2179,10 +2164,9 @@ static ATOM_ENCODER_CAP_RECORD *get_encoder_cap_record( - * @param info - GPIO record infor - * @return Bios parser result code - */ --static enum bp_result bios_parser_get_din_connector_info( -- struct dc_bios *dcb, -- struct graphics_object_id id, -- struct din_connector_info *info) -+enum bp_result dc_bios_get_din_connector_info(struct dc_bios *dcb, -+ struct graphics_object_id id, -+ struct din_connector_info *info) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_COMMON_RECORD_HEADER *header; -@@ -2265,9 +2249,8 @@ static uint32_t get_ss_entry_number_from_ss_info_tbl( - * @param[in] signal, ASSignalType to be converted to SSid - * @return number of SS Entry that match the signal - */ --static uint32_t bios_parser_get_ss_entry_number( -- struct dc_bios *dcb, -- enum as_signal_type signal) -+uint32_t dc_bios_get_ss_entry_number(struct dc_bios *dcb, -+ enum as_signal_type signal) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - uint32_t ss_id = 0; -@@ -2352,7 +2335,7 @@ static uint32_t get_ss_entry_number_from_ss_info_tbl( - case ASIC_INTERNAL_SS_ON_LVDS: { - struct embedded_panel_info panel_info; - -- if (bios_parser_get_embedded_panel_info(&bp->base, &panel_info) -+ if (dc_bios_get_embedded_panel_info((struct dc_bios *)bp, &panel_info) - == BP_RESULT_OK) - id_local = panel_info.ss_id; - break; -@@ -2514,9 +2497,8 @@ static ATOM_FAKE_EDID_PATCH_RECORD *get_faked_edid_record( - return (ATOM_FAKE_EDID_PATCH_RECORD *)record; - } - --static enum bp_result bios_parser_get_faked_edid_len( -- struct dc_bios *dcb, -- uint32_t *len) -+enum bp_result dc_bios_get_faked_edid_len(struct dc_bios *dcb, -+ uint32_t *len) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_FAKE_EDID_PATCH_RECORD *edid_record = get_faked_edid_record(bp); -@@ -2529,10 +2511,9 @@ static enum bp_result bios_parser_get_faked_edid_len( - return BP_RESULT_OK; - } - --static enum bp_result bios_parser_get_faked_edid_buf( -- struct dc_bios *dcb, -- uint8_t *buff, -- uint32_t len) -+enum bp_result dc_bios_get_faked_edid_buf(struct dc_bios *dcb, -+ uint8_t *buff, -+ uint32_t len) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - ATOM_FAKE_EDID_PATCH_RECORD *edid_record = get_faked_edid_record(bp); -@@ -2564,7 +2545,7 @@ static enum bp_result bios_parser_get_faked_edid_buf( - * 2. in DATA_TABLE.GPIO_Pin_LUT, search all records, to get the registerA - * offset/mask - */ --static enum bp_result bios_parser_get_gpio_pin_info( -+enum bp_result dc_bios_get_gpio_pin_info( - struct dc_bios *dcb, - uint32_t gpio_id, - struct gpio_pin_info *info) -@@ -2621,10 +2602,9 @@ static enum bp_result bios_parser_get_gpio_pin_info( - * @param info, embedded panel patch mode structure - * @return Bios parser result code - */ --static enum bp_result bios_parser_enum_embedded_panel_patch_mode( -- struct dc_bios *dcb, -- uint32_t index, -- struct embedded_panel_patch_mode *mode) -+enum bp_result dc_bios_enum_embedded_panel_patch_mode(struct dc_bios *dcb, -+ uint32_t index, -+ struct embedded_panel_patch_mode *mode) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - uint32_t record_size; -@@ -4134,15 +4114,14 @@ static void process_ext_display_connection_info(struct bios_parser *bp) - } - } - --static void bios_parser_post_init(struct dc_bios *dcb) -+void dc_bios_post_init(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - - process_ext_display_connection_info(bp); - } - --static bool bios_parser_is_accelerated_mode( -- struct dc_bios *dcb) -+bool dc_bios_is_accelerated_mode(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -4169,7 +4148,7 @@ static bool bios_parser_is_accelerated_mode( - * bool - connection state - * const ConnectorDeviceTagInfo* - pointer to device type and enum ID - */ --static void bios_parser_set_scratch_connected( -+void dc_bios_set_scratch_connected( - struct dc_bios *dcb, - struct graphics_object_id connector_id, - bool connected, -@@ -4198,7 +4177,7 @@ static void bios_parser_set_scratch_connected( - * @param - * bool - to set or reset state - */ --static void bios_parser_set_scratch_critical_state( -+void dc_bios_set_scratch_critical_state( - struct dc_bios *dcb, - bool state) - { -@@ -4215,8 +4194,7 @@ static void bios_parser_set_scratch_critical_state( - #endif - } - --static void bios_parser_set_scratch_acc_mode_change( -- struct dc_bios *dcb) -+void dc_bios_set_scratch_acc_mode_change(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -4243,11 +4221,10 @@ static void bios_parser_set_scratch_acc_mode_change( - * const struct connector_device_tag_info * - pointer to display type and - * enum Id - */ --static void bios_parser_prepare_scratch_active_and_requested( -- struct dc_bios *dcb, -- enum controller_id controller_id, -- enum signal_type signal, -- const struct connector_device_tag_info *device_tag) -+void dc_bios_prepare_scratch_active_and_requested(struct dc_bios *dcb, -+ enum controller_id controller_id, -+ enum signal_type signal, -+ const struct connector_device_tag_info *device_tag) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -4266,8 +4243,7 @@ static void bios_parser_prepare_scratch_active_and_requested( - #endif - } - --static void bios_parser_set_scratch_active_and_requested( -- struct dc_bios *dcb) -+void dc_bios_set_scratch_active_and_requested(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - -@@ -4662,8 +4638,7 @@ static enum bp_result construct_integrated_info( - return result; - } - --static struct integrated_info *bios_parser_create_integrated_info( -- struct dc_bios *dcb) -+struct integrated_info *dc_bios_create_integrated_info(struct dc_bios *dcb) - { - struct bios_parser *bp = BP_FROM_DCB(dcb); - struct integrated_info *info = NULL; -@@ -4683,9 +4658,8 @@ static struct integrated_info *bios_parser_create_integrated_info( - return NULL; - } - --static void bios_parser_destroy_integrated_info( -- struct dc_bios *dcb, -- struct integrated_info **info) -+void dc_bios_destroy_integrated_info(struct dc_bios *dcb, -+ struct integrated_info **info) - { - if (info == NULL) { - ASSERT_CRITICAL(0); -@@ -4699,13 +4673,15 @@ static void bios_parser_destroy_integrated_info( - } - - /****************************************************************************** -+ - * Stub-functions */ --static bool is_lid_open( -+bool dc_bios_is_lid_open( - struct dc_bios *bios) - { - BREAK_TO_DEBUGGER(); - return false; - } -+#if 0 - - static bool is_lid_status_changed( - struct dc_bios *bios) -@@ -4735,38 +4711,37 @@ static enum lcd_scale get_scratch_lcd_scale( - return LCD_SCALE_NONE; - } - --static void get_bios_event_info( -+void dc_bios_get_bios_event_info( - struct dc_bios *bios, - struct bios_event_info *info) - { - BREAK_TO_DEBUGGER(); - } - --static void update_requested_backlight_level( -+void dc_bios_update_requested_backlight_level( - struct dc_bios *bios, - uint32_t backlight_8bit) - { - BREAK_TO_DEBUGGER(); - } - --static uint32_t get_requested_backlight_level( -+uint32_t dc_bios_get_requested_backlight_level( - struct dc_bios *bios) - { - BREAK_TO_DEBUGGER(); - return 0; - } - --static void take_backlight_control( -+void dc_bios_take_backlight_control( - struct dc_bios *bios, - bool cntl) - { - BREAK_TO_DEBUGGER(); - } - --static bool is_active_display( -- struct dc_bios *bios, -- enum signal_type signal, -- const struct connector_device_tag_info *device_tag) -+bool dc_bios_is_active_display(struct dc_bios *bios, -+ enum signal_type signal, -+ const struct connector_device_tag_info *device_tag) - { - BREAK_TO_DEBUGGER(); - return false; -@@ -4785,151 +4760,7 @@ static uint32_t get_embedded_display_refresh_rate( - BREAK_TO_DEBUGGER(); - return 0; - } -- --/******************************************************************************/ -- --static const struct dc_vbios_funcs vbios_funcs = { -- .get_connectors_number = bios_parser_get_connectors_number, -- -- .power_down = bios_parser_power_down, -- -- .power_up = bios_parser_power_up, -- -- .get_encoders_number = bios_parser_get_encoders_number, -- -- .get_oem_ddc_lines_number = bios_parser_get_oem_ddc_lines_number, -- -- .get_encoder_id = bios_parser_get_encoder_id, -- -- .get_connector_id = bios_parser_get_connector_id, -- -- .get_src_number = bios_parser_get_src_number, -- -- .get_dst_number = bios_parser_get_dst_number, -- -- .get_gpio_record = bios_parser_get_gpio_record, -- -- .get_src_obj = bios_parser_get_src_obj, -- -- .get_dst_obj = bios_parser_get_dst_obj, -- -- .get_i2c_info = bios_parser_get_i2c_info, -- -- .get_oem_ddc_info = bios_parser_get_oem_ddc_info, -- -- .get_voltage_ddc_info = bios_parser_get_voltage_ddc_info, -- -- .get_thermal_ddc_info = bios_parser_get_thermal_ddc_info, -- -- .get_hpd_info = bios_parser_get_hpd_info, -- -- .get_device_tag = bios_parser_get_device_tag, -- -- .get_firmware_info = bios_parser_get_firmware_info, -- -- .get_spread_spectrum_info = bios_parser_get_spread_spectrum_info, -- -- .get_ss_entry_number = bios_parser_get_ss_entry_number, -- -- .get_embedded_panel_info = bios_parser_get_embedded_panel_info, -- -- .enum_embedded_panel_patch_mode = bios_parser_enum_embedded_panel_patch_mode, -- -- .get_gpio_pin_info = bios_parser_get_gpio_pin_info, -- -- .get_embedded_panel_info = bios_parser_get_embedded_panel_info, -- -- .get_gpio_pin_info = bios_parser_get_gpio_pin_info, -- -- .get_faked_edid_len = bios_parser_get_faked_edid_len, -- -- .get_faked_edid_buf = bios_parser_get_faked_edid_buf, -- -- .get_encoder_cap_info = bios_parser_get_encoder_cap_info, -- -- .get_din_connector_info = bios_parser_get_din_connector_info, -- -- .is_lid_open = is_lid_open, -- -- .is_lid_status_changed = is_lid_status_changed, -- -- .is_display_config_changed = is_display_config_changed, -- -- .is_accelerated_mode = bios_parser_is_accelerated_mode, -- -- .set_scratch_lcd_scale = set_scratch_lcd_scale, -- -- .get_scratch_lcd_scale = get_scratch_lcd_scale, -- -- .get_bios_event_info = get_bios_event_info, -- -- .update_requested_backlight_level = update_requested_backlight_level, -- -- .get_requested_backlight_level = get_requested_backlight_level, -- -- .take_backlight_control = take_backlight_control, -- -- .is_active_display = is_active_display, -- -- .get_embedded_display_controller_id = get_embedded_display_controller_id, -- -- .get_embedded_display_refresh_rate = get_embedded_display_refresh_rate, -- -- .set_scratch_connected = bios_parser_set_scratch_connected, -- -- .prepare_scratch_active_and_requested = bios_parser_prepare_scratch_active_and_requested, -- -- .set_scratch_active_and_requested = bios_parser_set_scratch_active_and_requested, -- -- .set_scratch_critical_state = bios_parser_set_scratch_critical_state, -- -- .set_scratch_acc_mode_change = bios_parser_set_scratch_acc_mode_change, -- -- .is_device_id_supported = bios_parser_is_device_id_supported, -- -- /* COMMANDS */ -- .encoder_control = bios_parser_encoder_control, -- -- .transmitter_control = bios_parser_transmitter_control, -- -- .crt_control = bios_parser_crt_control, -- -- .enable_crtc = bios_parser_enable_crtc, -- -- .adjust_pixel_clock = bios_parser_adjust_pixel_clock, -- -- .set_pixel_clock = bios_parser_set_pixel_clock, -- -- .set_dce_clock = bios_parser_set_dce_clock, -- -- .enable_spread_spectrum_on_ppll = bios_parser_enable_spread_spectrum_on_ppll, -- -- .program_crtc_timing = bios_parser_program_crtc_timing, -- -- .blank_crtc = bios_parser_blank_crtc, -- -- .set_overscan = bios_parser_set_overscan, -- -- .crtc_source_select = bios_parser_crtc_source_select, -- -- .program_display_engine_pll = bios_parser_program_display_engine_pll, -- -- .get_divider_for_target_display_clock = bios_parser_get_divider_for_target_display_clock, -- -- .dac_load_detect = bios_parser_dac_load_detect, -- -- .enable_memory_requests = bios_parser_enable_memory_requests, -- -- .external_encoder_control = bios_parser_external_encoder_control, -- -- .enable_disp_power_gating = bios_parser_enable_disp_power_gating, -- -- .post_init = bios_parser_post_init, -- -- .create_integrated_info = bios_parser_create_integrated_info, -- -- .destroy_integrated_info = bios_parser_destroy_integrated_info, --}; -+#endif - - static bool bios_parser_construct( - struct bios_parser *bp, -@@ -4950,8 +4781,6 @@ static bool bios_parser_construct( - if (!init->bios) - return false; - -- bp->base.funcs = &vbios_funcs; -- - dce_version = dal_adapter_service_get_dce_version(as); - bp->ctx = init->ctx; - bp->as = as; -diff --git a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.h b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.h -index f8fa108..2133a59 100644 ---- a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.h -+++ b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.h -@@ -51,7 +51,6 @@ enum spread_spectrum_id { - }; - - struct bios_parser { -- struct dc_bios base; - struct dc_context *ctx; - struct adapter_service *as; - -@@ -79,6 +78,6 @@ struct bios_parser { - - /* Bios Parser from DC Bios */ - #define BP_FROM_DCB(dc_bios) \ -- container_of(dc_bios, struct bios_parser, base) -+ (struct bios_parser *)(dc_bios) - - #endif -diff --git a/drivers/gpu/drm/amd/dal/dc/bios/dce112/bios_parser_helper_dce112.c b/drivers/gpu/drm/amd/dal/dc/bios/dce112/bios_parser_helper_dce112.c -index 1b0f816..46cc3aa 100644 ---- a/drivers/gpu/drm/amd/dal/dc/bios/dce112/bios_parser_helper_dce112.c -+++ b/drivers/gpu/drm/amd/dal/dc/bios/dce112/bios_parser_helper_dce112.c -@@ -59,57 +59,6 @@ static void set_scratch_acc_mode_change( - dm_write_reg(ctx, addr, value); - } - --/* -- * set_scratch_active_and_requested -- * -- * @brief -- * Set VBIOS scratch pad registers about active and requested displays -- * -- * @param -- * struct dc_context *ctx - [in] DAL context for register accessing -- * struct vbios_helper_data *d - [in] values to write -- */ --static void set_scratch_active_and_requested( -- struct dc_context *ctx, -- struct vbios_helper_data *d) --{ -- uint32_t addr = 0; -- uint32_t value = 0; -- -- /* mmBIOS_SCRATCH_3 = mmBIOS_SCRATCH_0 + ATOM_ACTIVE_INFO_DEF */ -- addr = mmBIOS_SCRATCH_3; -- -- value = dm_read_reg(ctx, addr); -- -- value &= ~ATOM_S3_DEVICE_ACTIVE_MASK; -- value |= (d->active & ATOM_S3_DEVICE_ACTIVE_MASK); -- -- dm_write_reg(ctx, addr, value); -- -- /* mmBIOS_SCRATCH_6 = mmBIOS_SCRATCH_0 + ATOM_ACC_CHANGE_INFO_DEF */ -- addr = mmBIOS_SCRATCH_6; -- -- value = dm_read_reg(ctx, addr); -- -- value &= ~ATOM_S6_ACC_REQ_MASK; -- value |= (d->requested & ATOM_S6_ACC_REQ_MASK); -- -- dm_write_reg(ctx, addr, value); -- -- /* mmBIOS_SCRATCH_5 = mmBIOS_SCRATCH_0 + ATOM_DOS_REQ_INFO_DEF */ -- addr = mmBIOS_SCRATCH_5; -- -- value = dm_read_reg(ctx, addr); -- -- value &= ~ATOM_S5_DOS_REQ_DEVICEw0; -- value |= (d->active & ATOM_S5_DOS_REQ_DEVICEw0); -- -- dm_write_reg(ctx, addr, value); -- -- d->active = 0; -- d->requested = 0; --} -- - /** - * get LCD Scale Mode from VBIOS scratch register - */ -@@ -311,116 +260,6 @@ static enum signal_type detect_sink( - return SIGNAL_TYPE_NONE; - } - --/** -- * set_scratch_connected -- * -- * @brief -- * update BIOS_SCRATCH_0 register about connected displays -- * -- * @param -- * bool - update scratch register or just prepare info to be updated -- * bool - connection state -- * const struct connector_device_tag_info * - pointer to device type and enum ID -- */ --static void set_scratch_connected( -- struct dc_context *ctx, -- struct graphics_object_id id, -- bool connected, -- const struct connector_device_tag_info *device_tag) --{ -- uint32_t addr = 0; -- uint32_t value = 0; -- uint32_t update = 0; -- -- switch (device_tag->dev_id.device_type) { -- case DEVICE_TYPE_LCD: -- /* For LCD VBIOS will update LCD Panel connected bit always and -- * Lid state bit based on SBIOS info do not do anything here -- * for LCD -- */ -- break; -- case DEVICE_TYPE_CRT: -- /* CRT is not supported in DCE11 */ -- break; -- case DEVICE_TYPE_DFP: -- switch (device_tag->dev_id.enum_id) { -- case 1: -- update |= ATOM_S0_DFP1; -- break; -- case 2: -- update |= ATOM_S0_DFP2; -- break; -- case 3: -- update |= ATOM_S0_DFP3; -- break; -- case 4: -- update |= ATOM_S0_DFP4; -- break; -- case 5: -- update |= ATOM_S0_DFP5; -- break; -- case 6: -- update |= ATOM_S0_DFP6; -- break; -- default: -- break; -- } -- break; -- case DEVICE_TYPE_CV: -- /* DCE 8.0 does not support CV, so don't do anything */ -- break; -- -- case DEVICE_TYPE_TV: -- /* For TV VBIOS will update S-Video or -- * Composite scratch bits on DAL_LoadDetect -- * when called by driver, do not do anything -- * here for TV -- */ -- break; -- -- default: -- break; -- -- } -- -- /* update scratch register */ -- addr = mmBIOS_SCRATCH_0 + ATOM_DEVICE_CONNECT_INFO_DEF; -- -- value = dm_read_reg(ctx, addr); -- -- if (connected) -- value |= update; -- else -- value &= ~update; -- -- dm_write_reg(ctx, addr, value); --} -- --static void set_scratch_critical_state( -- struct dc_context *ctx, -- bool state) --{ -- uint32_t addr = mmBIOS_SCRATCH_6; -- uint32_t value = dm_read_reg(ctx, addr); -- -- if (state) -- value |= ATOM_S6_CRITICAL_STATE; -- else -- value &= ~ATOM_S6_CRITICAL_STATE; -- -- dm_write_reg(ctx, addr, value); --} -- --static void set_scratch_lcd_scale( -- struct dc_context *ctx, -- enum lcd_scale lcd_scale_request) --{ -- DAL_LOGGER_NOT_IMPL( -- LOG_MINOR_COMPONENT_BIOS, -- "Bios Parser:%s\n", -- __func__); --} -- - static bool is_lid_open(struct dc_context *ctx) - { - uint32_t bios_scratch6; -@@ -440,27 +279,12 @@ static bool is_lid_open(struct dc_context *ctx) - /* function table */ - static const struct bios_parser_helper bios_parser_helper_funcs = { - .detect_sink = detect_sink, -- .fmt_bit_depth_control = NULL, -- .fmt_control = NULL, -- .get_bios_event_info = NULL, -- .get_embedded_display_controller_id = NULL, -- .get_embedded_display_refresh_rate = NULL, -- .get_requested_backlight_level = NULL, - .get_scratch_lcd_scale = get_scratch_lcd_scale, - .is_accelerated_mode = is_accelerated_mode, -- .is_active_display = NULL, -- .is_display_config_changed = NULL, - .is_lid_open = is_lid_open, -- .is_lid_status_changed = NULL, - .prepare_scratch_active_and_requested = - prepare_scratch_active_and_requested, -- .set_scratch_acc_mode_change = set_scratch_acc_mode_change, -- .set_scratch_active_and_requested = set_scratch_active_and_requested, -- .set_scratch_connected = set_scratch_connected, -- .set_scratch_critical_state = set_scratch_critical_state, -- .set_scratch_lcd_scale = set_scratch_lcd_scale, -- .take_backlight_control = NULL, -- .update_requested_backlight_level = NULL, -+ .set_scratch_acc_mode_change = set_scratch_acc_mode_change - }; - - /* -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c -index d49ab5e..a5f33d4 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c -@@ -83,7 +83,7 @@ static bool create_links( - - dcb = dc->ctx->dc_bios; - -- connectors_num = dcb->funcs->get_connectors_number(dcb); -+ connectors_num = dc_bios_get_connectors_number(dcb); - - if (connectors_num > ENUM_ID_COUNT) { - dm_error( -@@ -759,7 +759,7 @@ bool dc_commit_targets( - - pplib_apply_safe_state(core_dc); - -- if (!dcb->funcs->is_accelerated_mode(dcb)) { -+ if (!dc_bios_is_accelerated_mode(dcb)) { - core_dc->hwss.enable_accelerated_mode(core_dc); - } - -@@ -837,7 +837,7 @@ bool dc_commit_surfaces_to_target( - - target_status = &context->target_status[i]; - -- if (!dcb->funcs->is_accelerated_mode(dcb) -+ if (!dc_bios_is_accelerated_mode(dcb) - || i == context->target_count) { - BREAK_TO_DEBUGGER(); - goto unexpected_fail; -diff --git a/drivers/gpu/drm/amd/dal/dc/dc_bios_types.h b/drivers/gpu/drm/amd/dal/dc/dc_bios_types.h -index 7def8dd..f17702d 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dc_bios_types.h -+++ b/drivers/gpu/drm/amd/dal/dc/dc_bios_types.h -@@ -38,239 +38,183 @@ - - #include "include/bios_parser_types.h" - --struct dc_vbios_funcs { -- uint8_t (*get_connectors_number)(struct dc_bios *bios); -- -- void (*power_down)(struct dc_bios *bios); -- void (*power_up)(struct dc_bios *bios); -- -- uint8_t (*get_encoders_number)(struct dc_bios *bios); -- uint32_t (*get_oem_ddc_lines_number)(struct dc_bios *bios); -- -- struct graphics_object_id (*get_encoder_id)( -- struct dc_bios *bios, -- uint32_t i); -- struct graphics_object_id (*get_connector_id)( -- struct dc_bios *bios, -- uint8_t connector_index); -- uint32_t (*get_src_number)( -- struct dc_bios *bios, -- struct graphics_object_id id); -- uint32_t (*get_dst_number)( -- struct dc_bios *bios, -- struct graphics_object_id id); -- -- uint32_t (*get_gpio_record)( -- struct dc_bios *dcb, -- struct graphics_object_id id, -- struct bp_gpio_cntl_info *gpio_record, -- uint32_t record_size); -- -- enum bp_result (*get_src_obj)( -- struct dc_bios *bios, -- struct graphics_object_id object_id, uint32_t index, -- struct graphics_object_id *src_object_id); -- enum bp_result (*get_dst_obj)( -- struct dc_bios *bios, -- struct graphics_object_id object_id, uint32_t index, -- struct graphics_object_id *dest_object_id); -- enum bp_result (*get_oem_ddc_info)( -- struct dc_bios *bios, -- uint32_t index, -- struct graphics_object_i2c_info *info); -- -- enum bp_result (*get_i2c_info)( -- struct dc_bios *dcb, -- struct graphics_object_id id, -- struct graphics_object_i2c_info *info); -- -- enum bp_result (*get_voltage_ddc_info)( -- struct dc_bios *bios, -- uint32_t index, -- struct graphics_object_i2c_info *info); -- enum bp_result (*get_thermal_ddc_info)( -- struct dc_bios *bios, -- uint32_t i2c_channel_id, -- struct graphics_object_i2c_info *info); -- enum bp_result (*get_hpd_info)( -- struct dc_bios *bios, -- struct graphics_object_id id, -- struct graphics_object_hpd_info *info); -- enum bp_result (*get_device_tag)( -- struct dc_bios *bios, -- struct graphics_object_id connector_object_id, -- uint32_t device_tag_index, -- struct connector_device_tag_info *info); -- enum bp_result (*get_firmware_info)( -- struct dc_bios *bios, -- struct firmware_info *info); -- enum bp_result (*get_spread_spectrum_info)( -- struct dc_bios *bios, -- enum as_signal_type signal, -- uint32_t index, -- struct spread_spectrum_info *ss_info); -- uint32_t (*get_ss_entry_number)( -- struct dc_bios *bios, -- enum as_signal_type signal); -- enum bp_result (*get_embedded_panel_info)( -- struct dc_bios *bios, -- struct embedded_panel_info *info); -- enum bp_result (*enum_embedded_panel_patch_mode)( -- struct dc_bios *bios, -- uint32_t index, -- struct embedded_panel_patch_mode *mode); -- enum bp_result (*get_gpio_pin_info)( -- struct dc_bios *bios, -- uint32_t gpio_id, -- struct gpio_pin_info *info); -- enum bp_result (*get_faked_edid_len)( -- struct dc_bios *bios, -- uint32_t *len); -- enum bp_result (*get_faked_edid_buf)( -- struct dc_bios *bios, -- uint8_t *buff, -- uint32_t len); -- enum bp_result (*get_encoder_cap_info)( -- struct dc_bios *bios, -- struct graphics_object_id object_id, -- struct bp_encoder_cap_info *info); -- enum bp_result (*get_din_connector_info)( -- struct dc_bios *bios, -- struct graphics_object_id id, -- struct din_connector_info *info); -- -- bool (*is_lid_open)( -- struct dc_bios *bios); -- bool (*is_lid_status_changed)( -- struct dc_bios *bios); -- bool (*is_display_config_changed)( -- struct dc_bios *bios); -- bool (*is_accelerated_mode)( -- struct dc_bios *bios); -- void (*set_scratch_lcd_scale)( -- struct dc_bios *bios, -- enum lcd_scale scale); -- enum lcd_scale (*get_scratch_lcd_scale)( -- struct dc_bios *bios); -- void (*get_bios_event_info)( -- struct dc_bios *bios, -- struct bios_event_info *info); -- void (*update_requested_backlight_level)( -- struct dc_bios *bios, -- uint32_t backlight_8bit); -- uint32_t (*get_requested_backlight_level)( -- struct dc_bios *bios); -- void (*take_backlight_control)( -- struct dc_bios *bios, -- bool cntl); -- bool (*is_active_display)( -- struct dc_bios *bios, -- enum signal_type signal, -- const struct connector_device_tag_info *device_tag); -- enum controller_id (*get_embedded_display_controller_id)( -- struct dc_bios *bios); -- uint32_t (*get_embedded_display_refresh_rate)( -- struct dc_bios *bios); -- void (*set_scratch_connected)( -- struct dc_bios *bios, -- struct graphics_object_id connector_id, -- bool connected, -- const struct connector_device_tag_info *device_tag); -- void (*prepare_scratch_active_and_requested)( -- struct dc_bios *bios, -- enum controller_id controller_id, -- enum signal_type signal, -- const struct connector_device_tag_info *device_tag); -- void (*set_scratch_active_and_requested)( -- struct dc_bios *bios); -- void (*set_scratch_critical_state)( -- struct dc_bios *bios, -- bool state); -- void (*set_scratch_acc_mode_change)( -- struct dc_bios *bios); -- -- bool (*is_device_id_supported)( -- struct dc_bios *bios, -- struct device_id id); -- -- /* COMMANDS */ -- -- enum bp_result (*encoder_control)( -- struct dc_bios *bios, -- struct bp_encoder_control *cntl); -- enum bp_result (*transmitter_control)( -- struct dc_bios *bios, -- struct bp_transmitter_control *cntl); -- enum bp_result (*crt_control)( -- struct dc_bios *bios, -- enum engine_id engine_id, -- bool enable, -- uint32_t pixel_clock); -- enum bp_result (*enable_crtc)( -- struct dc_bios *bios, -- enum controller_id id, -- bool enable); -- enum bp_result (*adjust_pixel_clock)( -- struct dc_bios *bios, -- struct bp_adjust_pixel_clock_parameters *bp_params); -- enum bp_result (*set_pixel_clock)( -- struct dc_bios *bios, -- struct bp_pixel_clock_parameters *bp_params); -- enum bp_result (*set_dce_clock)( -- struct dc_bios *bios, -- struct bp_set_dce_clock_parameters *bp_params); -- enum bp_result (*enable_spread_spectrum_on_ppll)( -- struct dc_bios *bios, -- struct bp_spread_spectrum_parameters *bp_params, -- bool enable); -- enum bp_result (*program_crtc_timing)( -- struct dc_bios *bios, -- struct bp_hw_crtc_timing_parameters *bp_params); -- enum bp_result (*blank_crtc)( -- struct dc_bios *bios, -- struct bp_blank_crtc_parameters *bp_params, -- bool blank); -- enum bp_result (*set_overscan)( -- struct dc_bios *bios, -- struct bp_hw_crtc_overscan_parameters *bp_params); -- enum bp_result (*crtc_source_select)( -- struct dc_bios *bios, -- struct bp_crtc_source_select *bp_params); -- enum bp_result (*program_display_engine_pll)( -- struct dc_bios *bios, -- struct bp_pixel_clock_parameters *bp_params); -- enum bp_result (*get_divider_for_target_display_clock)( -- struct dc_bios *bios, -- struct bp_display_clock_parameters *bp_params); -- enum signal_type (*dac_load_detect)( -- struct dc_bios *bios, -- struct graphics_object_id encoder, -- struct graphics_object_id connector, -- enum signal_type display_signal); -- enum bp_result (*enable_memory_requests)( -- struct dc_bios *bios, -- enum controller_id controller_id, -- bool enable); -- enum bp_result (*external_encoder_control)( -- struct dc_bios *bios, -- struct bp_external_encoder_control *cntl); -- enum bp_result (*enable_disp_power_gating)( -- struct dc_bios *bios, -- enum controller_id controller_id, -- enum bp_pipe_control_action action); -- -- void (*post_init)(struct dc_bios *bios); -- -- struct integrated_info *(*create_integrated_info)( -- struct dc_bios *bios); -- -- void (*destroy_integrated_info)( -- struct dc_bios *dcb, -- struct integrated_info **info); --}; -- --struct dc_bios { -- const struct dc_vbios_funcs *funcs; --}; -+uint8_t dc_bios_get_connectors_number(struct dc_bios *bios); -+ -+void dc_bios_power_down(struct dc_bios *bios); -+void dc_bios_power_up(struct dc_bios *bios); -+ -+uint8_t dc_bios_get_encoders_number(struct dc_bios *bios); -+uint32_t dc_bios_get_oem_ddc_lines_number(struct dc_bios *bios); -+ -+struct graphics_object_id dc_bios_get_encoder_id(struct dc_bios *bios, -+ uint32_t i); -+struct graphics_object_id dc_bios_get_connector_id(struct dc_bios *bios, -+ uint8_t connector_index); -+uint32_t dc_bios_get_src_number(struct dc_bios *bios, -+ struct graphics_object_id id); -+uint32_t dc_bios_get_dst_number(struct dc_bios *bios, -+ struct graphics_object_id id); -+ -+uint32_t dc_bios_get_gpio_record(struct dc_bios *dcb, -+ struct graphics_object_id id, -+ struct bp_gpio_cntl_info *gpio_record, -+ uint32_t record_size); -+enum bp_result dc_bios_get_src_obj(struct dc_bios *bios, -+ struct graphics_object_id object_id, -+ uint32_t index, -+ struct graphics_object_id *src_object_id); -+enum bp_result dc_bios_get_dst_obj(struct dc_bios *bios, -+ struct graphics_object_id object_id, -+ uint32_t index, -+ struct graphics_object_id *dest_object_id); -+enum bp_result dc_bios_get_oem_ddc_info(struct dc_bios *bios, -+ uint32_t index, -+ struct graphics_object_i2c_info *info); -+enum bp_result dc_bios_get_i2c_info(struct dc_bios *dcb, -+ struct graphics_object_id id, -+ struct graphics_object_i2c_info *info); -+ -+enum bp_result dc_bios_get_voltage_ddc_info(struct dc_bios *bios, -+ uint32_t index, -+ struct graphics_object_i2c_info *info); -+ -+enum bp_result dc_bios_get_thermal_ddc_info(struct dc_bios *bios, -+ uint32_t i2c_channel_id, -+ struct graphics_object_i2c_info *info); -+enum bp_result dc_bios_get_hpd_info(struct dc_bios *bios, -+ struct graphics_object_id id, -+ struct graphics_object_hpd_info *info); -+enum bp_result dc_bios_get_device_tag(struct dc_bios *bios, -+ struct graphics_object_id connector_object_id, -+ uint32_t device_tag_index, -+ struct connector_device_tag_info *info); -+ -+enum bp_result dc_bios_get_firmware_info(struct dc_bios *bios, -+ struct firmware_info *info); -+ -+enum bp_result dc_bios_get_spread_spectrum_info(struct dc_bios *bios, -+ enum as_signal_type signal, -+ uint32_t index, -+ struct spread_spectrum_info *ss_info); -+uint32_t dc_bios_get_ss_entry_number(struct dc_bios *bios, -+ enum as_signal_type signal); -+enum bp_result dc_bios_get_embedded_panel_info(struct dc_bios *bios, -+ struct embedded_panel_info *info); -+enum bp_result dc_bios_enum_embedded_panel_patch_mode(struct dc_bios *bios, -+ uint32_t index, -+ struct embedded_panel_patch_mode *mode); -+ -+enum bp_result dc_bios_get_gpio_pin_info(struct dc_bios *bios, -+ uint32_t gpio_id, -+ struct gpio_pin_info *info); -+ -+enum bp_result dc_bios_get_faked_edid_len(struct dc_bios *bios, -+ uint32_t *len); -+ -+enum bp_result dc_bios_get_faked_edid_buf(struct dc_bios *bios, -+ uint8_t *buff, -+ uint32_t len); -+ -+enum bp_result dc_bios_get_encoder_cap_info(struct dc_bios *bios, -+ struct graphics_object_id object_id, -+ struct bp_encoder_cap_info *info); -+enum bp_result dc_bios_get_din_connector_info(struct dc_bios *bios, -+ struct graphics_object_id id, -+ struct din_connector_info *info); -+bool dc_bios_is_device_id_supported(struct dc_bios *bios, -+ struct device_id id); -+bool dc_bios_is_accelerated_mode(struct dc_bios *bios); -+bool dc_bios_is_lid_open(struct dc_bios *bios); -+#if 0 /* unused trap to debugger functions */ -+ -+bool dc_bios_is_lid_status_changed(struct dc_bios *bios); -+bool dc_bios_is_display_config_changed(struct dc_bios *bios); -+ -+void dc_bios_set_scratch_lcd_scale(struct dc_bios *bios, -+ enum lcd_scale scale); -+enum lcd_scale dc_bios_get_scratch_lcd_scale(struct dc_bios *bios); -+void dc_bios_get_bios_event_info(struct dc_bios *bios, -+ struct bios_event_info *info); -+void dc_bios_update_requested_backlight_level(struct dc_bios *bios, -+ uint32_t backlight_8bit); -+uint32_t dc_bios_get_requested_backlight_level(struct dc_bios *bios); -+void dc_bios_take_backlight_control(struct dc_bios *bios, -+ bool cntl); -+bool dc_bios_is_active_display(struct dc_bios *bios, -+ enum signal_type signal, -+ const struct connector_device_tag_info *device_tag); -+enum controller_id dc_bios_get_embedded_display_controller_id(struct dc_bios *bios); -+uint32_t dc_bios_get_embedded_display_refresh_rate(struct dc_bios *bios); -+#endif -+ -+void dc_bios_set_scratch_connected(struct dc_bios *bios, -+ struct graphics_object_id connector_id, -+ bool connected, -+ const struct connector_device_tag_info *device_tag); -+void dc_bios_prepare_scratch_active_and_requested(struct dc_bios *bios, -+ enum controller_id controller_id, -+ enum signal_type signal, -+ const struct connector_device_tag_info *device_tag); -+void dc_bios_set_scratch_active_and_requested(struct dc_bios *bios); -+void dc_bios_set_scratch_critical_state(struct dc_bios *bios, -+ bool state); -+void dc_bios_set_scratch_acc_mode_change(struct dc_bios *bios); -+ -+/* COMMANDS */ -+enum bp_result dc_bios_encoder_control(struct dc_bios *bios, -+ struct bp_encoder_control *cntl); -+enum bp_result dc_bios_transmitter_control(struct dc_bios *bios, -+ struct bp_transmitter_control *cntl); -+enum bp_result dc_bios_crt_control(struct dc_bios *bios, -+ enum engine_id engine_id, -+ bool enable, -+ uint32_t pixel_clock); -+enum bp_result dc_bios_enable_crtc(struct dc_bios *bios, -+ enum controller_id id, -+ bool enable); -+enum bp_result dc_bios_adjust_pixel_clock(struct dc_bios *bios, -+ struct bp_adjust_pixel_clock_parameters *bp_params); -+enum bp_result dc_bios_set_pixel_clock(struct dc_bios *bios, -+ struct bp_pixel_clock_parameters *bp_params); -+enum bp_result dc_bios_set_dce_clock(struct dc_bios *bios, -+ struct bp_set_dce_clock_parameters *bp_params); -+enum bp_result dc_bios_enable_spread_spectrum_on_ppll(struct dc_bios *bios, -+ struct bp_spread_spectrum_parameters *bp_params, -+ bool enable); -+enum bp_result dc_bios_program_crtc_timing(struct dc_bios *bios, -+ struct bp_hw_crtc_timing_parameters *bp_params); -+enum bp_result dc_bios_blank_crtc(struct dc_bios *bios, -+ struct bp_blank_crtc_parameters *bp_params, -+ bool blank); -+enum bp_result dc_bios_set_overscan(struct dc_bios *bios, -+ struct bp_hw_crtc_overscan_parameters *bp_params); -+enum bp_result dc_bios_crtc_source_select(struct dc_bios *bios, -+ struct bp_crtc_source_select *bp_params); -+enum bp_result dc_bios_program_display_engine_pll(struct dc_bios *bios, -+ struct bp_pixel_clock_parameters *bp_params); -+enum bp_result dc_bios_get_divider_for_target_display_clock(struct dc_bios *bios, -+ struct bp_display_clock_parameters *bp_params); -+enum signal_type dc_bios_dac_load_detect(struct dc_bios *bios, -+ struct graphics_object_id encoder, -+ struct graphics_object_id connector, -+ enum signal_type display_signal); -+enum bp_result dc_bios_enable_memory_requests(struct dc_bios *bios, -+ enum controller_id controller_id, -+ bool enable); -+enum bp_result dc_bios_external_encoder_control(struct dc_bios *bios, -+ struct bp_external_encoder_control *cntl); -+enum bp_result dc_bios_enable_disp_power_gating(struct dc_bios *bios, -+ enum controller_id controller_id, -+ enum bp_pipe_control_action action); -+ -+ -+void dc_bios_post_init(struct dc_bios *bios); -+ -+struct integrated_info *dc_bios_create_integrated_info(struct dc_bios *bios); -+ -+void dc_bios_destroy_integrated_info(struct dc_bios *dcb, -+ struct integrated_info **info); -+ -+struct dc_bios; - - #endif /* DC_BIOS_TYPES_H */ -diff --git a/drivers/gpu/drm/amd/dal/dc/dce100/dce100_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce100/dce100_hw_sequencer.c -index a2a4f2a..ef1afd3 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce100/dce100_hw_sequencer.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce100/dce100_hw_sequencer.c -@@ -221,8 +221,7 @@ static bool dce100_enable_display_power_gating( - cntl = ASIC_PIPE_DISABLE; - - if (!(power_gating == PIPE_GATING_CONTROL_INIT && controller_id != 0)) -- bp_result = dcb->funcs->enable_disp_power_gating( -- dcb, controller_id + 1, cntl); -+ bp_result = dc_bios_enable_disp_power_gating(dcb, controller_id + 1, cntl); - - if (bp_result == BP_RESULT_OK) - return true; -diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_clock_source.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_clock_source.c -index d9c1d86..d48e3df 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_clock_source.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_clock_source.c -@@ -428,8 +428,8 @@ static bool pll_adjust_pix_clk( - bp_adjust_pixel_clock_params.signal_type = pix_clk_params->signal_type; - bp_adjust_pixel_clock_params. - ss_enable = pix_clk_params->flags.ENABLE_SS; -- bp_result = clk_src->bios->funcs->adjust_pixel_clock( -- clk_src->bios, &bp_adjust_pixel_clock_params); -+ bp_result = dc_bios_adjust_pixel_clock(clk_src->bios, -+ &bp_adjust_pixel_clock_params); - if (bp_result == BP_RESULT_OK) { - pll_settings->actual_pix_clk = actual_pix_clk_khz; - pll_settings->adjusted_pix_clk = -@@ -552,10 +552,9 @@ static bool disable_spread_spectrum(struct dce110_clk_src *clk_src) - bp_ss_params.pll_id = clk_src->base.id; - - /*Call ASICControl to process ATOMBIOS Exec table*/ -- result = clk_src->bios->funcs->enable_spread_spectrum_on_ppll( -- clk_src->bios, -- &bp_ss_params, -- false); -+ result = dc_bios_enable_spread_spectrum_on_ppll(clk_src->bios, -+ &bp_ss_params, -+ false); - - return result == BP_RESULT_OK; - } -@@ -659,11 +658,9 @@ static bool enable_spread_spectrum( - bp_params.flags.EXTERNAL_SS = 1; - - if (BP_RESULT_OK != -- clk_src->bios->funcs-> -- enable_spread_spectrum_on_ppll( -- clk_src->bios, -- &bp_params, -- true)) -+ dc_bios_enable_spread_spectrum_on_ppll(clk_src->bios, -+ &bp_params, -+ true)) - return false; - } else - return false; -@@ -766,8 +763,8 @@ static bool dce110_program_pix_clk( - bp_pc_params.flags.SET_EXTERNAL_REF_DIV_SRC = - pll_settings->use_external_clk; - -- if (dce110_clk_src->bios->funcs->set_pixel_clock( -- dce110_clk_src->bios, &bp_pc_params) != BP_RESULT_OK) -+ if (dc_bios_set_pixel_clock(dce110_clk_src->bios, -+ &bp_pc_params) != BP_RESULT_OK) - return false; - - /* Enable SS -@@ -808,7 +805,7 @@ static bool dce110_clock_source_power_down( - bp_pixel_clock_params.flags.FORCE_PROGRAMMING_OF_PLL = 1; - - /*Call ASICControl to process ATOMBIOS Exec table*/ -- bp_result = dce110_clk_src->bios->funcs->set_pixel_clock( -+ bp_result = dc_bios_set_pixel_clock( - dce110_clk_src->bios, - &bp_pixel_clock_params); - -@@ -855,9 +852,8 @@ static void get_ss_info_from_atombios( - spread_spectrum_data[0] = NULL; - *ss_entries_num = 0; - -- *ss_entries_num = clk_src->bios->funcs->get_ss_entry_number( -- clk_src->bios, -- as_signal); -+ *ss_entries_num = dc_bios_get_ss_entry_number(clk_src->bios, -+ as_signal); - - if (*ss_entries_num == 0) - return; -@@ -875,12 +871,11 @@ static void get_ss_info_from_atombios( - i < (*ss_entries_num); - ++i, ++ss_info_cur) { - -- bp_result = clk_src->bios->funcs->get_spread_spectrum_info( -- clk_src->bios, -- as_signal, -- i, -- ss_info_cur); -- -+ bp_result = dc_bios_get_spread_spectrum_info(clk_src->bios, -+ as_signal, -+ i, -+ ss_info_cur); -+ - if (bp_result != BP_RESULT_OK) - goto out_free_data; - } -@@ -982,9 +977,8 @@ static bool calc_pll_max_vco_construct( - init_data->bp == NULL) - return false; - -- if (init_data->bp->funcs->get_firmware_info( -- init_data->bp, -- &fw_info) != BP_RESULT_OK) -+ if (dc_bios_get_firmware_info(init_data->bp, -+ &fw_info) != BP_RESULT_OK) - return false; - - calc_pll_cs->ctx = init_data->ctx; -@@ -1103,8 +1097,7 @@ bool dce110_clk_src_construct( - clk_src->base.id = id; - clk_src->base.funcs = &dce110_clk_src_funcs; - -- if (clk_src->bios->funcs->get_firmware_info( -- clk_src->bios, &fw_info) != BP_RESULT_OK) { -+ if (dc_bios_get_firmware_info(clk_src->bios, &fw_info) != BP_RESULT_OK) { - ASSERT_CRITICAL(false); - goto unexpected_failure; - } -diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c -index 53da396..73c576e 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c -@@ -377,8 +377,7 @@ static bool dce110_enable_display_power_gating( - controller_id = CONTROLLER_ID_UNDERLAY0 - 1; - - if (power_gating != PIPE_GATING_CONTROL_INIT || controller_id == 0) -- bp_result = dcb->funcs->enable_disp_power_gating( -- dcb, controller_id + 1, cntl); -+ bp_result = dc_bios_enable_disp_power_gating(dcb, controller_id + 1, cntl); - - if (power_gating != PIPE_GATING_CONTROL_ENABLE) - dce110_init_pte(ctx); -@@ -486,7 +485,7 @@ static enum dc_status bios_parser_crtc_source_select( - - dcb = dal_adapter_service_get_bios_parser(sink->link->adapter_srv); - -- if (BP_RESULT_OK != dcb->funcs->crtc_source_select( -+ if (BP_RESULT_OK != dc_bios_crtc_source_select( - dcb, - &crtc_source_select)) { - return DC_ERROR_UNEXPECTED; -@@ -520,7 +519,7 @@ static void update_bios_scratch_critical_state(struct adapter_service *as, - { - struct dc_bios *dcb = dal_adapter_service_get_bios_parser(as); - -- dcb->funcs->set_scratch_critical_state(dcb, state); -+ dc_bios_set_scratch_critical_state(dcb, state); - } - - static void update_info_frame(struct pipe_ctx *pipe_ctx) -@@ -882,7 +881,7 @@ static void enable_accelerated_mode(struct core_dc *dc) - - disable_vga_and_power_gate_all_controllers(dc); - -- dcb->funcs->set_scratch_acc_mode_change(dcb); -+ dc_bios_set_scratch_acc_mode_change(dcb); - } - - #if 0 -@@ -1558,7 +1557,7 @@ static void init_hw(struct core_dc *dc) - } - - dc->hwss.clock_gating_power_up(dc->ctx, false); -- bp->funcs->power_up(bp); -+ dc_bios_power_up(bp); - /***************************************/ - - for (i = 0; i < dc->link_count; i++) { -diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c -index 8da3e4d..4487638 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c -@@ -118,7 +118,7 @@ static enum bp_result link_transmitter_control( - struct dc_bios *bp = dal_adapter_service_get_bios_parser( - enc110->base.adapter_service); - -- result = bp->funcs->transmitter_control(bp, cntl); -+ result = dc_bios_transmitter_control(bp, cntl); - - return result; - } -diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_stream_encoder.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_stream_encoder.c -index dcca860..0ff37da 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_stream_encoder.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_stream_encoder.c -@@ -410,8 +410,7 @@ void dce110_stream_encoder_hdmi_set_stream_attribute( - cntl.lanes_number = LANE_COUNT_FOUR; - cntl.color_depth = crtc_timing->display_color_depth; - -- if (enc110->base.bp->funcs->encoder_control( -- enc110->base.bp, &cntl) != BP_RESULT_OK) -+ if (dc_bios_encoder_control(enc110->base.bp, &cntl) != BP_RESULT_OK) - return; - - addr = LINK_REG(DIG_FE_CNTL); -@@ -591,8 +590,7 @@ void dce110_stream_encoder_dvi_set_stream_attribute( - LANE_COUNT_EIGHT : LANE_COUNT_FOUR; - cntl.color_depth = crtc_timing->display_color_depth; - -- if (enc110->base.bp->funcs->encoder_control( -- enc110->base.bp, &cntl) != BP_RESULT_OK) -+ if (dc_bios_encoder_control(enc110->base.bp, &cntl) != BP_RESULT_OK) - return; - - switch (crtc_timing->pixel_encoding) { -diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.c -index b17fb79..5572995 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.c -@@ -291,7 +291,7 @@ bool dce110_timing_generator_enable_crtc(struct timing_generator *tg) - value = 0; - dm_write_reg(tg->ctx, CRTC_REG(mmCRTC_MASTER_UPDATE_LOCK), value); - -- result = tg->bp->funcs->enable_crtc(tg->bp, tg110->controller_id, true); -+ result = dc_bios_enable_crtc(tg->bp, tg110->controller_id, true); - - return result == BP_RESULT_OK; - } -@@ -469,7 +469,7 @@ bool dce110_timing_generator_disable_crtc(struct timing_generator *tg) - - struct dce110_timing_generator *tg110 = DCE110TG_FROM_TG(tg); - -- result = tg->bp->funcs->enable_crtc(tg->bp, tg110->controller_id, false); -+ result = dc_bios_enable_crtc(tg->bp, tg110->controller_id, false); - - /* Need to make sure stereo is disabled according to the DCE5.0 spec */ - -@@ -574,7 +574,7 @@ bool dce110_timing_generator_program_timing_generator( - if (patched_crtc_timing.flags.HORZ_COUNT_BY_TWO == 1) - bp_params.flags.HORZ_COUNT_BY_TWO = 1; - -- result = tg->bp->funcs->program_crtc_timing(tg->bp, &bp_params); -+ result = dc_bios_program_crtc_timing(tg->bp, &bp_params); - - program_horz_count_by_2(tg, &patched_crtc_timing); - -diff --git a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_clock_source.c b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_clock_source.c -index 7ec9508..65ddb80 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_clock_source.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_clock_source.c -@@ -188,7 +188,7 @@ static bool dce112_program_pix_clk( - bp_pc_params.flags.SUPPORT_YUV_420 = 0; - } - -- if (dce112_clk_src->bios->funcs->set_pixel_clock( -+ if (dc_bios_set_pixel_clock( - dce112_clk_src->bios, &bp_pc_params) != BP_RESULT_OK) - return false; - -@@ -219,7 +219,7 @@ static bool dce112_clock_source_power_down( - bp_pixel_clock_params.flags.FORCE_PROGRAMMING_OF_PLL = 1; - - /*Call ASICControl to process ATOMBIOS Exec table*/ -- bp_result = dce112_clk_src->bios->funcs->set_pixel_clock( -+ bp_result = dc_bios_set_pixel_clock( - dce112_clk_src->bios, - &bp_pixel_clock_params); - -@@ -250,7 +250,7 @@ bool dce112_clk_src_construct( - clk_src->base.funcs = &dce112_clk_src_funcs; - clk_src->offsets = *reg_offsets; - -- if (clk_src->bios->funcs->get_firmware_info( -+ if (dc_bios_get_firmware_info( - clk_src->bios, &fw_info) != BP_RESULT_OK) { - ASSERT_CRITICAL(false); - goto unexpected_failure; -diff --git a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_hw_sequencer.c -index 931e47e..437b4c3 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_hw_sequencer.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_hw_sequencer.c -@@ -347,7 +347,7 @@ static bool dce112_enable_display_power_gating( - cntl = ASIC_PIPE_DISABLE; - - if (power_gating != PIPE_GATING_CONTROL_INIT || controller_id == 0) -- bp_result = dcb->funcs->enable_disp_power_gating( -+ bp_result = dc_bios_enable_disp_power_gating( - dcb, controller_id + 1, cntl); - - if (power_gating != PIPE_GATING_CONTROL_ENABLE) -diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_hw_sequencer.c -index 68cf84d..e99d694 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_hw_sequencer.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_hw_sequencer.c -@@ -203,7 +203,7 @@ static bool dce80_enable_display_power_gating( - cntl = ASIC_PIPE_DISABLE; - - if (!(power_gating == PIPE_GATING_CONTROL_INIT && controller_id != 0)) -- bp_result = dcb->funcs->enable_disp_power_gating( -+ bp_result = dc_bios_enable_disp_power_gating( - dcb, controller_id + 1, cntl); - - if (bp_result == BP_RESULT_OK) -diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_link_encoder.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_link_encoder.c -index 4615c34..653983d 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_link_encoder.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_link_encoder.c -@@ -79,7 +79,7 @@ static enum bp_result link_transmitter_control( - struct dc_bios *bp = dal_adapter_service_get_bios_parser( - enc110->base.adapter_service); - -- result = bp->funcs->transmitter_control(bp, cntl); -+ result = dc_bios_transmitter_control(bp, cntl); - - return result; - } -diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_stream_encoder.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_stream_encoder.c -index f0a7ee1..7f62b0d 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_stream_encoder.c -+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_stream_encoder.c -@@ -426,8 +426,7 @@ void dce80_stream_encoder_hdmi_set_stream_attribute( - cntl.lanes_number = LANE_COUNT_FOUR; - cntl.color_depth = crtc_timing->display_color_depth; - -- if (enc110->base.bp->funcs->encoder_control( -- enc110->base.bp, &cntl) != BP_RESULT_OK) -+ if (dc_bios_encoder_control(enc110->base.bp, &cntl) != BP_RESULT_OK) - return; - - switch (crtc_timing->pixel_encoding) { -@@ -567,8 +566,7 @@ void dce80_stream_encoder_dvi_set_stream_attribute( - LANE_COUNT_EIGHT : LANE_COUNT_FOUR; - cntl.color_depth = crtc_timing->display_color_depth; - -- if (enc110->base.bp->funcs->encoder_control( -- enc110->base.bp, &cntl) != BP_RESULT_OK) -+ if (dc_bios_encoder_control(enc110->base.bp, &cntl) != BP_RESULT_OK) - return; - - switch (crtc_timing->pixel_encoding) { -diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c b/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c -index ba9a1fa..3d0f8e1 100644 ---- a/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c -+++ b/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c -@@ -789,7 +789,7 @@ static void set_clock( - pxl_clk_params.target_pixel_clock = requested_clk_khz; - pxl_clk_params.pll_id = base->id; - -- bp->funcs->program_display_engine_pll(bp, &pxl_clk_params); -+ dc_bios_program_display_engine_pll(bp, &pxl_clk_params); - - if (dc->dfs_bypass_enabled) { - -diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/dce112/display_clock_dce112.c b/drivers/gpu/drm/amd/dal/dc/gpu/dce112/display_clock_dce112.c -index 875bf22..08a70db 100644 ---- a/drivers/gpu/drm/amd/dal/dc/gpu/dce112/display_clock_dce112.c -+++ b/drivers/gpu/drm/amd/dal/dc/gpu/dce112/display_clock_dce112.c -@@ -776,7 +776,7 @@ static void set_clock( - dce_clk_params.pll_id = dc->disp_clk_base.id; - dce_clk_params.clock_type = DCECLOCK_TYPE_DISPLAY_CLOCK; - -- bp->funcs->set_dce_clock(bp, &dce_clk_params); -+ dc_bios_set_dce_clock(bp, &dce_clk_params); - - /* from power down, we need mark the clock state as ClocksStateNominal - * from HWReset, so when resume we will call pplib voltage regulator.*/ -@@ -790,7 +790,7 @@ static void set_clock( - dce_clk_params.flags.USE_GENLOCK_AS_SOURCE_FOR_DPREFCLK = - (dce_clk_params.pll_id == CLOCK_SOURCE_COMBO_DISPLAY_PLL0); - -- bp->funcs->set_dce_clock(bp, &dce_clk_params); -+ dc_bios_set_dce_clock(bp, &dce_clk_params); - } - - static void set_clock_state( -diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c b/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c -index 74d5b2e..313651c 100644 ---- a/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c -+++ b/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c -@@ -478,7 +478,7 @@ static void set_clock( - pxl_clk_params.target_pixel_clock = requested_clk_khz; - pxl_clk_params.pll_id = dc->id; - -- bp->funcs->program_display_engine_pll(bp, &pxl_clk_params); -+ dc_bios_program_display_engine_pll(bp, &pxl_clk_params); - - if (disp_clk->dfs_bypass_enabled) { - --- -2.7.4 - |