aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0589-drm-amd-dal-Prepare-support-for-next-Asic-generation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0589-drm-amd-dal-Prepare-support-for-next-Asic-generation.patch')
-rw-r--r--common/recipes-kernel/linux/files/0589-drm-amd-dal-Prepare-support-for-next-Asic-generation.patch3746
1 files changed, 0 insertions, 3746 deletions
diff --git a/common/recipes-kernel/linux/files/0589-drm-amd-dal-Prepare-support-for-next-Asic-generation.patch b/common/recipes-kernel/linux/files/0589-drm-amd-dal-Prepare-support-for-next-Asic-generation.patch
deleted file mode 100644
index dd7e80e1..00000000
--- a/common/recipes-kernel/linux/files/0589-drm-amd-dal-Prepare-support-for-next-Asic-generation.patch
+++ /dev/null
@@ -1,3746 +0,0 @@
-From 52f9ede2646da29cec38ea3536c714eb8f60906c Mon Sep 17 00:00:00 2001
-From: Jun Lei <Jun.Lei@amd.com>
-Date: Thu, 3 Dec 2015 11:01:33 -0500
-Subject: [PATCH 0589/1110] drm/amd/dal: Prepare support for next Asic
- generation
-
-Support new atombios interfaces.
-Clean up code as preparation for next Asic generation.
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Harry Wentland<harry.wentland@amd.com>
----
- drivers/gpu/drm/amd/dal/dc/audio/audio_base.c | 3 +
- drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c | 723 ++++++++--------
- drivers/gpu/drm/amd/dal/dc/bios/command_table.c | 912 +++++++++++++--------
- drivers/gpu/drm/amd/dal/dc/bios/command_table.h | 3 +
- .../gpu/drm/amd/dal/dc/bios/command_table_helper.c | 2 +-
- .../gpu/drm/amd/dal/dc/bios/command_table_helper.h | 3 +
- .../gpu/drm/amd/dal/dc/dce110/dce110_resource.c | 2 +
- drivers/gpu/drm/amd/dal/dc/gpu/clock_source.c | 1 +
- drivers/gpu/drm/amd/dal/dc/gpu/clock_source.h | 4 +
- .../drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c | 2 +
- drivers/gpu/drm/amd/dal/dc/inc/core_types.h | 2 +-
- .../drm/amd/dal/include/bios_parser_interface.h | 3 +
- .../gpu/drm/amd/dal/include/bios_parser_types.h | 35 +
- drivers/gpu/drm/amd/dal/include/grph_object_id.h | 19 +-
- 14 files changed, 1010 insertions(+), 704 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c b/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c
-index 6bac3ed..f553b7a 100644
---- a/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c
-+++ b/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c
-@@ -30,7 +30,10 @@
- #include "audio.h"
- #include "hw_ctx_audio.h"
-
-+#if defined(CONFIG_DRM_AMD_DAL_DCE11_0)
- #include "dce110/audio_dce110.h"
-+#include "dce110/hw_ctx_audio_dce110.h"
-+#endif
-
- /***** static function : only used within audio.c *****/
-
-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 7a2b247..1d02be9 100644
---- a/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c
-+++ b/drivers/gpu/drm/amd/dal/dc/bios/bios_parser.c
-@@ -94,6 +94,7 @@ static ATOM_ENCODER_CAP_RECORD *get_encoder_cap_record(
- ATOM_OBJECT *object);
- static void process_ext_display_connection_info(struct bios_parser *bp);
-
-+
- #define BIOS_IMAGE_SIZE_OFFSET 2
- #define BIOS_IMAGE_SIZE_UNIT 512
-
-@@ -922,7 +923,7 @@ static enum bp_result get_firmware_info_v1_4(
- /* Pixel clock pll information. We need to convert from 10KHz units into
- * KHz units */
- info->pll_info.crystal_frequency =
-- le16_to_cpu(firmware_info->usReferenceClock) * 10;
-+ le16_to_cpu(firmware_info->usReferenceClock) * 10;
- info->pll_info.min_input_pxl_clk_pll_frequency =
- le16_to_cpu(firmware_info->usMinPixelClockPLL_Input) * 10;
- info->pll_info.max_input_pxl_clk_pll_frequency =
-@@ -973,7 +974,7 @@ static enum bp_result get_firmware_info_v2_1(
- /* Pixel clock pll information. We need to convert from 10KHz units into
- * KHz units */
- info->pll_info.crystal_frequency =
-- le16_to_cpu(firmwareInfo->usCoreReferenceClock) * 10;
-+ le16_to_cpu(firmwareInfo->usCoreReferenceClock) * 10;
- info->pll_info.min_input_pxl_clk_pll_frequency =
- le16_to_cpu(firmwareInfo->usMinPixelClockPLL_Input) * 10;
- info->pll_info.max_input_pxl_clk_pll_frequency =
-@@ -1059,7 +1060,7 @@ static enum bp_result get_firmware_info_v2_2(
- /* Pixel clock pll information. We need to convert from 10KHz units into
- * KHz units */
- info->pll_info.crystal_frequency =
-- le16_to_cpu(firmware_info->usCoreReferenceClock) * 10;
-+ le16_to_cpu(firmware_info->usCoreReferenceClock) * 10;
- info->pll_info.min_input_pxl_clk_pll_frequency =
- le16_to_cpu(firmware_info->usMinPixelClockPLL_Input) * 10;
- info->pll_info.max_input_pxl_clk_pll_frequency =
-@@ -1082,10 +1083,10 @@ static enum bp_result get_firmware_info_v2_2(
- /* unit of 0.01% */
- info->feature.memory_clk_ss_percentage = THREE_PERCENT_OF_10000;
- else if (get_ss_info_v3_1(bp,
-- ASIC_INTERNAL_MEMORY_SS, index, &internal_ss) == BP_RESULT_OK) {
-+ ASIC_INTERNAL_MEMORY_SS, index, &internal_ss) == BP_RESULT_OK) {
- if (internal_ss.spread_spectrum_percentage) {
- info->feature.memory_clk_ss_percentage =
-- internal_ss.spread_spectrum_percentage;
-+ internal_ss.spread_spectrum_percentage;
- if (internal_ss.type.CENTER_MODE) {
- /* if it is centermode, the exact SS Percentage
- * will be round up of half of the percentage
-@@ -1105,10 +1106,10 @@ static enum bp_result get_firmware_info_v2_2(
- /* unit of 0.01% */
- info->feature.engine_clk_ss_percentage = THREE_PERCENT_OF_10000;
- else if (get_ss_info_v3_1(bp,
-- ASIC_INTERNAL_ENGINE_SS, index, &internal_ss) == BP_RESULT_OK) {
-+ ASIC_INTERNAL_ENGINE_SS, index, &internal_ss) == BP_RESULT_OK) {
- if (internal_ss.spread_spectrum_percentage) {
- info->feature.engine_clk_ss_percentage =
-- internal_ss.spread_spectrum_percentage;
-+ internal_ss.spread_spectrum_percentage;
- if (internal_ss.type.CENTER_MODE) {
- /* if it is centermode, the exact SS Percentage
- * will be round up of half of the percentage
-@@ -1126,7 +1127,7 @@ static enum bp_result get_firmware_info_v2_2(
- info->min_allowed_bl_level = firmware_info->ucMinAllowedBL_Level;
- /* Used starting from CI */
- info->smu_gpu_pll_output_freq =
-- (uint32_t) (le32_to_cpu(firmware_info->ulGPUPLL_OutputFreq) * 10);
-+ (uint32_t) (le32_to_cpu(firmware_info->ulGPUPLL_OutputFreq) * 10);
-
- return BP_RESULT_OK;
- }
-@@ -1153,11 +1154,11 @@ static enum bp_result get_ss_info_v3_1(
- DATA_TABLES(ASIC_InternalSS_Info));
- table_size =
- (le16_to_cpu(ss_table_header_include->sHeader.usStructureSize)
-- - sizeof(ATOM_COMMON_TABLE_HEADER))
-+ - sizeof(ATOM_COMMON_TABLE_HEADER))
- / sizeof(ATOM_ASIC_SS_ASSIGNMENT_V3);
-
- tbl = (ATOM_ASIC_SS_ASSIGNMENT_V3 *)
-- &ss_table_header_include->asSpreadSpectrum[0];
-+ &ss_table_header_include->asSpreadSpectrum[0];
-
- dc_service_memset(ss_info, 0, sizeof(struct spread_spectrum_info));
-
-@@ -1193,17 +1194,17 @@ static enum bp_result get_ss_info_v3_1(
-
- /* #define SS_MODE_V3_PERCENTAGE_DIV_BY_1000_MASK 0x10 */
- if (SS_MODE_V3_PERCENTAGE_DIV_BY_1000_MASK
-- & tbl[i].ucSpreadSpectrumMode)
-+ & tbl[i].ucSpreadSpectrumMode)
- ss_info->spread_percentage_divider = 1000;
-
- ss_info->type.STEP_AND_DELAY_INFO = false;
-- /* convert [10KHz] into [KHz] */
-+ /* convert [10KHz] into [KHz] */
- ss_info->target_clock_range =
-- le32_to_cpu(tbl[i].ulTargetClockRange) * 10;
-+ le32_to_cpu(tbl[i].ulTargetClockRange) * 10;
- ss_info->spread_spectrum_percentage =
-- (uint32_t)le16_to_cpu(tbl[i].usSpreadSpectrumPercentage);
-+ (uint32_t)le16_to_cpu(tbl[i].usSpreadSpectrumPercentage);
- ss_info->spread_spectrum_range =
-- (uint32_t)(le16_to_cpu(tbl[i].usSpreadRateIn10Hz) * 10);
-+ (uint32_t)(le16_to_cpu(tbl[i].usSpreadRateIn10Hz) * 10);
-
- return BP_RESULT_OK;
- }
-@@ -1247,7 +1248,17 @@ enum bp_result dal_bios_parser_set_pixel_clock(
- if (!bp->cmd_tbl.set_pixel_clock)
- return BP_RESULT_FAILURE;
-
-- return bp->cmd_tbl.set_pixel_clock(bp, bp_params);
-+ return bp->cmd_tbl.set_pixel_clock(bp, bp_params);
-+}
-+
-+enum bp_result dal_bios_parser_set_dce_clock(
-+ struct bios_parser *bp,
-+ struct bp_set_dce_clock_parameters *bp_params)
-+{
-+ if (!bp->cmd_tbl.set_dce_clock)
-+ return BP_RESULT_FAILURE;
-+
-+ return bp->cmd_tbl.set_dce_clock(bp, bp_params);
- }
-
- enum bp_result dal_bios_parser_enable_spread_spectrum_on_ppll(
-@@ -1605,10 +1616,10 @@ enum bp_result dal_bios_parser_get_spread_spectrum_info(
- break;
- }
- break;
-- default:
-- break;
-+ default:
-+ break;
- }
-- /* there can not be more then one entry for SS Info table */
-+ /* there can not be more then one entry for SS Info table */
- return result;
- }
-
-@@ -1673,11 +1684,11 @@ static enum bp_result get_ss_info_from_internal_ss_info_tbl_V2_1(
- dc_service_memset(info, 0, sizeof(struct spread_spectrum_info));
-
- tbl_size = (le16_to_cpu(header->sHeader.usStructureSize)
-- - sizeof(ATOM_COMMON_TABLE_HEADER))
-- / sizeof(ATOM_ASIC_SS_ASSIGNMENT_V2);
-+ - sizeof(ATOM_COMMON_TABLE_HEADER))
-+ / sizeof(ATOM_ASIC_SS_ASSIGNMENT_V2);
-
- tbl = (ATOM_ASIC_SS_ASSIGNMENT_V2 *)
-- &(header->asSpreadSpectrum[0]);
-+ &(header->asSpreadSpectrum[0]);
- for (i = 0; i < tbl_size; i++) {
- result = BP_RESULT_NORECORD;
-
-@@ -1755,7 +1766,7 @@ static enum bp_result get_ss_info_from_ss_info_table(
- struct embedded_panel_info panel_info;
-
- if (dal_bios_parser_get_embedded_panel_info(bp, &panel_info)
-- == BP_RESULT_OK)
-+ == BP_RESULT_OK)
- id_local = panel_info.ss_id;
- break;
- }
-@@ -1767,8 +1778,8 @@ static enum bp_result get_ss_info_from_ss_info_table(
- return result;
-
- table_size = (le16_to_cpu(tbl->sHeader.usStructureSize) -
-- sizeof(ATOM_COMMON_TABLE_HEADER)) /
-- sizeof(ATOM_SPREAD_SPECTRUM_ASSIGNMENT);
-+ sizeof(ATOM_COMMON_TABLE_HEADER)) /
-+ sizeof(ATOM_SPREAD_SPECTRUM_ASSIGNMENT);
-
- for (i = 0; i < table_size; i++) {
- if (id_local != (uint32_t)tbl->asSS_Info[i].ucSS_Id)
-@@ -1777,11 +1788,11 @@ static enum bp_result get_ss_info_from_ss_info_table(
- dc_service_memset(ss_info, 0, sizeof(struct spread_spectrum_info));
-
- if (ATOM_EXTERNAL_SS_MASK &
-- tbl->asSS_Info[i].ucSpreadSpectrumType)
-+ tbl->asSS_Info[i].ucSpreadSpectrumType)
- ss_info->type.EXTERNAL = true;
-
- if (ATOM_SS_CENTRE_SPREAD_MODE_MASK &
-- tbl->asSS_Info[i].ucSpreadSpectrumType)
-+ tbl->asSS_Info[i].ucSpreadSpectrumType)
- ss_info->type.CENTER_MODE = true;
-
- ss_info->type.STEP_AND_DELAY_INFO = true;
-@@ -1836,7 +1847,7 @@ enum bp_result dal_bios_parser_get_embedded_panel_info(
- default:
- break;
- }
-- default:
-+ default:
- break;
- }
-
-@@ -1878,7 +1889,7 @@ static enum bp_result get_embedded_panel_info_v1_2(
- /* doesn't have borders, so we should be okay leaving this as is for
- * now. May need to revisit if we ever have LVDS with borders*/
- info->lcd_timing.horizontal_blanking_time =
-- le16_to_cpu(lvds->sLCDTiming.usHBlanking_Time);
-+ le16_to_cpu(lvds->sLCDTiming.usHBlanking_Time);
- /* usVActive does not include borders, according to VBIOS team*/
- info->lcd_timing.vertical_addressable =
- le16_to_cpu(lvds->sLCDTiming.usVActive);
-@@ -1937,7 +1948,7 @@ static enum bp_result get_embedded_panel_info_v1_2(
-
- /*Drr panel support can be reported by VBIOS*/
- if (LCDPANEL_CAP_DRR_SUPPORTED
-- & lvds->ucLCDPanel_SpecialHandlingCap)
-+ & lvds->ucLCDPanel_SpecialHandlingCap)
- info->drr_enabled = 1;
-
- if (ATOM_PANEL_MISC_DUAL & lvds->ucLVDS_Misc)
-@@ -1948,7 +1959,7 @@ static enum bp_result get_embedded_panel_info_v1_2(
-
- info->lcd_timing.misc_info.GREY_LEVEL =
- (uint32_t) (ATOM_PANEL_MISC_GREY_LEVEL &
-- lvds->ucLVDS_Misc) >> ATOM_PANEL_MISC_GREY_LEVEL_SHIFT;
-+ lvds->ucLVDS_Misc) >> ATOM_PANEL_MISC_GREY_LEVEL_SHIFT;
-
- if (ATOM_PANEL_MISC_SPATIAL & lvds->ucLVDS_Misc)
- info->lcd_timing.misc_info.SPATIAL = true;
-@@ -1980,17 +1991,17 @@ static enum bp_result get_embedded_panel_info_v1_3(
- return BP_RESULT_BADBIOSTABLE;
-
- if (!((1 == lvds->sHeader.ucTableFormatRevision)
-- && (3 <= lvds->sHeader.ucTableContentRevision)))
-+ && (3 <= lvds->sHeader.ucTableContentRevision)))
- return BP_RESULT_UNSUPPORTED;
-
- dc_service_memset(info, 0, sizeof(struct embedded_panel_info));
-
- /* We need to convert from 10KHz units into KHz units */
- info->lcd_timing.pixel_clk =
-- le16_to_cpu(lvds->sLCDTiming.usPixClk) * 10;
-+ le16_to_cpu(lvds->sLCDTiming.usPixClk) * 10;
- /* usHActive does not include borders, according to VBIOS team */
- info->lcd_timing.horizontal_addressable =
-- le16_to_cpu(lvds->sLCDTiming.usHActive);
-+ le16_to_cpu(lvds->sLCDTiming.usHActive);
- /* usHBlanking_Time includes borders, so we should really be subtracting
- * borders duing this translation, but LVDS generally*/
- /* doesn't have borders, so we should be okay leaving this as is for
-@@ -2040,13 +2051,13 @@ static enum bp_result get_embedded_panel_info_v1_3(
-
- /* Drr panel support can be reported by VBIOS*/
- if (LCDPANEL_CAP_V13_DRR_SUPPORTED
-- & lvds->ucLCDPanel_SpecialHandlingCap)
-+ & lvds->ucLCDPanel_SpecialHandlingCap)
- info->drr_enabled = 1;
-
- /* Get supported refresh rate*/
- if (info->drr_enabled == 1) {
- uint8_t min_rr =
-- lvds->sRefreshRateSupport.ucMinRefreshRateForDRR;
-+ lvds->sRefreshRateSupport.ucMinRefreshRateForDRR;
- uint8_t rr = lvds->sRefreshRateSupport.ucSupportedRefreshRate;
-
- if (min_rr != 0) {
-@@ -2081,8 +2092,8 @@ static enum bp_result get_embedded_panel_info_v1_3(
- info->lcd_timing.misc_info.RGB888 = true;
-
- info->lcd_timing.misc_info.GREY_LEVEL =
-- (uint32_t) (ATOM_PANEL_MISC_V13_GREY_LEVEL &
-- lvds->ucLCD_Misc) >> ATOM_PANEL_MISC_V13_GREY_LEVEL_SHIFT;
-+ (uint32_t) (ATOM_PANEL_MISC_V13_GREY_LEVEL &
-+ lvds->ucLCD_Misc) >> ATOM_PANEL_MISC_V13_GREY_LEVEL_SHIFT;
-
- return BP_RESULT_OK;
- }
-@@ -2150,7 +2161,7 @@ static ATOM_ENCODER_CAP_RECORD *get_encoder_cap_record(
- }
-
- offset = le16_to_cpu(object->usRecordOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- for (;;) {
- header = GET_IMAGE(ATOM_COMMON_RECORD_HEADER, offset);
-@@ -2161,7 +2172,7 @@ static ATOM_ENCODER_CAP_RECORD *get_encoder_cap_record(
- offset += header->ucRecordSize;
-
- if (LAST_RECORD_TYPE == header->ucRecordType ||
-- !header->ucRecordSize)
-+ !header->ucRecordSize)
- break;
-
- if (ATOM_ENCODER_CAP_RECORD_TYPE != header->ucRecordType)
-@@ -2210,7 +2221,7 @@ enum bp_result dal_bios_parser_get_din_connector_info(
- }
-
- offset = le16_to_cpu(object->usRecordOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- for (;;) {
- header = GET_IMAGE(ATOM_COMMON_RECORD_HEADER, offset);
-@@ -2224,15 +2235,15 @@ enum bp_result dal_bios_parser_get_din_connector_info(
-
- /* get out of the loop if no more records */
- if (LAST_RECORD_TYPE == header->ucRecordType ||
-- !header->ucRecordSize)
-+ !header->ucRecordSize)
- break;
-
- if (ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD_TYPE !=
-- header->ucRecordType)
-+ header->ucRecordType)
- continue;
-
- if (sizeof(ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD)
-- > header->ucRecordSize)
-+ > header->ucRecordSize)
- continue;
-
- record = (ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD *)header;
-@@ -2285,7 +2296,7 @@ uint32_t dal_bios_parser_get_ss_entry_number(
- return get_ss_entry_number_from_ss_info_tbl(bp, ss_id);
-
- header = GET_IMAGE(ATOM_COMMON_TABLE_HEADER,
-- DATA_TABLES(ASIC_InternalSS_Info));
-+ DATA_TABLES(ASIC_InternalSS_Info));
- get_atom_data_table_revision(header, &revision);
-
- switch (revision.major) {
-@@ -2301,14 +2312,14 @@ uint32_t dal_bios_parser_get_ss_entry_number(
- switch (revision.minor) {
- case 1:
- return
-- get_ss_entry_number_from_internal_ss_info_tbl_V3_1(
-- bp, ss_id);
-+ get_ss_entry_number_from_internal_ss_info_tbl_V3_1(
-+ bp, ss_id);
- default:
- break;
- }
- break;
-- default:
-- break;
-+ default:
-+ break;
- }
-
- return 0;
-@@ -2341,11 +2352,11 @@ static uint32_t get_ss_entry_number_from_ss_info_tbl(
- return number;
-
- header = GET_IMAGE(ATOM_COMMON_TABLE_HEADER,
-- DATA_TABLES(SS_Info));
-+ DATA_TABLES(SS_Info));
- get_atom_data_table_revision(header, &revision);
-
- tbl = GET_IMAGE(ATOM_SPREAD_SPECTRUM_INFO,
-- DATA_TABLES(SS_Info));
-+ DATA_TABLES(SS_Info));
-
- if (1 != revision.major || 2 > revision.minor)
- return number;
-@@ -2359,7 +2370,7 @@ static uint32_t get_ss_entry_number_from_ss_info_tbl(
- struct embedded_panel_info panel_info;
-
- if (dal_bios_parser_get_embedded_panel_info(bp, &panel_info)
-- == BP_RESULT_OK)
-+ == BP_RESULT_OK)
- id_local = panel_info.ss_id;
- break;
- }
-@@ -2371,8 +2382,8 @@ static uint32_t get_ss_entry_number_from_ss_info_tbl(
- return number;
-
- table_size = (le16_to_cpu(tbl->sHeader.usStructureSize) -
-- sizeof(ATOM_COMMON_TABLE_HEADER)) /
-- sizeof(ATOM_SPREAD_SPECTRUM_ASSIGNMENT);
-+ sizeof(ATOM_COMMON_TABLE_HEADER)) /
-+ sizeof(ATOM_SPREAD_SPECTRUM_ASSIGNMENT);
-
- for (i = 0; i < table_size; i++)
- if (id_local == (uint32_t)tbl->asSS_Info[i].ucSS_Id) {
-@@ -2424,14 +2435,14 @@ static uint32_t get_ss_entry_number_from_internal_ss_info_tbl_v2_1(
- return 0;
-
- header_include = GET_IMAGE(ATOM_ASIC_INTERNAL_SS_INFO_V2,
-- DATA_TABLES(ASIC_InternalSS_Info));
-+ DATA_TABLES(ASIC_InternalSS_Info));
-
- size = (le16_to_cpu(header_include->sHeader.usStructureSize)
-- - sizeof(ATOM_COMMON_TABLE_HEADER))
-- / sizeof(ATOM_ASIC_SS_ASSIGNMENT_V2);
-+ - sizeof(ATOM_COMMON_TABLE_HEADER))
-+ / sizeof(ATOM_ASIC_SS_ASSIGNMENT_V2);
-
- tbl = (ATOM_ASIC_SS_ASSIGNMENT_V2 *)
-- &header_include->asSpreadSpectrum[0];
-+ &header_include->asSpreadSpectrum[0];
- for (i = 0; i < size; i++)
- if (tbl[i].ucClockIndication == (uint8_t)id)
- return 1;
-@@ -2460,13 +2471,13 @@ static uint32_t get_ss_entry_number_from_internal_ss_info_tbl_V3_1(
- return number;
-
- header_include = GET_IMAGE(ATOM_ASIC_INTERNAL_SS_INFO_V3,
-- DATA_TABLES(ASIC_InternalSS_Info));
-+ DATA_TABLES(ASIC_InternalSS_Info));
- size = (le16_to_cpu(header_include->sHeader.usStructureSize) -
-- sizeof(ATOM_COMMON_TABLE_HEADER)) /
-- sizeof(ATOM_ASIC_SS_ASSIGNMENT_V3);
-+ sizeof(ATOM_COMMON_TABLE_HEADER)) /
-+ sizeof(ATOM_ASIC_SS_ASSIGNMENT_V3);
-
- tbl = (ATOM_ASIC_SS_ASSIGNMENT_V3 *)
-- &header_include->asSpreadSpectrum[0];
-+ &header_include->asSpreadSpectrum[0];
-
- for (i = 0; i < size; i++)
- if (tbl[i].ucClockIndication == (uint8_t)id)
-@@ -2491,14 +2502,14 @@ static ATOM_FAKE_EDID_PATCH_RECORD *get_faked_edid_record(
- return NULL;
-
- if (1 != info->sHeader.ucTableFormatRevision
-- || 2 > info->sHeader.ucTableContentRevision)
-+ || 2 > info->sHeader.ucTableContentRevision)
- return NULL;
-
- if (!le16_to_cpu(info->usExtInfoTableOffset))
- return NULL;
-
- record = GET_IMAGE(uint8_t, DATA_TABLES(LVDS_Info)
-- + le16_to_cpu(info->usExtInfoTableOffset));
-+ + le16_to_cpu(info->usExtInfoTableOffset));
-
- if (!record)
- return NULL;
-@@ -2586,15 +2597,15 @@ enum bp_result dal_bios_parser_get_gpio_pin_info(
- return BP_RESULT_BADBIOSTABLE;
-
- if (sizeof(ATOM_COMMON_TABLE_HEADER) + sizeof(ATOM_GPIO_PIN_LUT)
-- > le16_to_cpu(header->sHeader.usStructureSize))
-+ > le16_to_cpu(header->sHeader.usStructureSize))
- return BP_RESULT_BADBIOSTABLE;
-
- if (1 != header->sHeader.ucTableContentRevision)
- return BP_RESULT_UNSUPPORTED;
-
- count = (le16_to_cpu(header->sHeader.usStructureSize)
-- - sizeof(ATOM_COMMON_TABLE_HEADER))
-- / sizeof(ATOM_GPIO_PIN_ASSIGNMENT);
-+ - sizeof(ATOM_COMMON_TABLE_HEADER))
-+ / sizeof(ATOM_GPIO_PIN_ASSIGNMENT);
- for (i = 0; i < count; ++i) {
- if (header->asGPIO_Pin[i].ucGPIO_ID != gpio_id)
- continue;
-@@ -2650,14 +2661,14 @@ enum bp_result dal_bios_parser_enum_embedded_panel_patch_mode(
- return BP_RESULT_BADBIOSTABLE;
-
- if (1 != info->sHeader.ucTableFormatRevision
-- || 2 > info->sHeader.ucTableContentRevision)
-+ || 2 > info->sHeader.ucTableContentRevision)
- return BP_RESULT_UNSUPPORTED;
-
- if (!le16_to_cpu(info->usExtInfoTableOffset))
- return BP_RESULT_UNSUPPORTED;
-
- record = GET_IMAGE(uint8_t, list_of_tables->LVDS_Info +
-- le16_to_cpu(info->usExtInfoTableOffset));
-+ le16_to_cpu(info->usExtInfoTableOffset));
-
- if (!record)
- return BP_RESULT_BADBIOSTABLE;
-@@ -2707,7 +2718,7 @@ static enum bp_result get_gpio_i2c_info(struct bios_parser *bp,
- return BP_RESULT_BADBIOSTABLE;
-
- if (sizeof(ATOM_COMMON_TABLE_HEADER) + sizeof(ATOM_GPIO_I2C_ASSIGMENT)
-- > le16_to_cpu(header->sHeader.usStructureSize))
-+ > le16_to_cpu(header->sHeader.usStructureSize))
- return BP_RESULT_BADBIOSTABLE;
-
- if (1 != header->sHeader.ucTableContentRevision)
-@@ -2715,8 +2726,8 @@ static enum bp_result get_gpio_i2c_info(struct bios_parser *bp,
-
- /* get data count */
- count = (le16_to_cpu(header->sHeader.usStructureSize)
-- - sizeof(ATOM_COMMON_TABLE_HEADER))
-- / sizeof(ATOM_GPIO_I2C_ASSIGMENT);
-+ - sizeof(ATOM_COMMON_TABLE_HEADER))
-+ / sizeof(ATOM_GPIO_I2C_ASSIGMENT);
- if (count < record->sucI2cId.bfI2C_LineMux)
- return BP_RESULT_BADBIOSTABLE;
-
-@@ -2727,38 +2738,38 @@ static enum bp_result get_gpio_i2c_info(struct bios_parser *bp,
- info->i2c_slave_address = record->ucI2CAddr;
-
- info->gpio_info.clk_mask_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkMaskRegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkMaskRegisterIndex);
- info->gpio_info.clk_en_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkEnRegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkEnRegisterIndex);
- info->gpio_info.clk_y_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkY_RegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkY_RegisterIndex);
- info->gpio_info.clk_a_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkA_RegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usClkA_RegisterIndex);
- info->gpio_info.data_mask_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataMaskRegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataMaskRegisterIndex);
- info->gpio_info.data_en_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataEnRegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataEnRegisterIndex);
- info->gpio_info.data_y_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataY_RegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataY_RegisterIndex);
- info->gpio_info.data_a_register_index =
-- le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataA_RegisterIndex);
-+ le16_to_cpu(header->asGPIO_Info[info->i2c_line].usDataA_RegisterIndex);
-
- info->gpio_info.clk_mask_shift =
-- header->asGPIO_Info[info->i2c_line].ucClkMaskShift;
-+ header->asGPIO_Info[info->i2c_line].ucClkMaskShift;
- info->gpio_info.clk_en_shift =
-- header->asGPIO_Info[info->i2c_line].ucClkEnShift;
-+ header->asGPIO_Info[info->i2c_line].ucClkEnShift;
- info->gpio_info.clk_y_shift =
-- header->asGPIO_Info[info->i2c_line].ucClkY_Shift;
-+ header->asGPIO_Info[info->i2c_line].ucClkY_Shift;
- info->gpio_info.clk_a_shift =
-- header->asGPIO_Info[info->i2c_line].ucClkA_Shift;
-+ header->asGPIO_Info[info->i2c_line].ucClkA_Shift;
- info->gpio_info.data_mask_shift =
-- header->asGPIO_Info[info->i2c_line].ucDataMaskShift;
-+ header->asGPIO_Info[info->i2c_line].ucDataMaskShift;
- info->gpio_info.data_en_shift =
-- header->asGPIO_Info[info->i2c_line].ucDataEnShift;
-+ header->asGPIO_Info[info->i2c_line].ucDataEnShift;
- info->gpio_info.data_y_shift =
-- header->asGPIO_Info[info->i2c_line].ucDataY_Shift;
-+ header->asGPIO_Info[info->i2c_line].ucDataY_Shift;
- info->gpio_info.data_a_shift =
-- header->asGPIO_Info[info->i2c_line].ucDataA_Shift;
-+ header->asGPIO_Info[info->i2c_line].ucDataA_Shift;
-
- return BP_RESULT_OK;
- }
-@@ -2801,8 +2812,8 @@ static ATOM_OBJECT *get_bios_object(struct bios_parser *bp,
-
- for (i = 0; i < tbl->ucNumberOfObjects; i++)
- if (dal_graphics_object_id_is_equal(id,
-- object_id_from_bios_object_id(
-- le16_to_cpu(tbl->asObjects[i].usObjectID))))
-+ object_id_from_bios_object_id(
-+ le16_to_cpu(tbl->asObjects[i].usObjectID))))
- return &tbl->asObjects[i];
-
- return NULL;
-@@ -2820,7 +2831,7 @@ static uint32_t get_dest_obj_list(struct bios_parser *bp,
- }
-
- offset = le16_to_cpu(object->usSrcDstTableOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- number = GET_IMAGE(uint8_t, offset);
- if (!number)
-@@ -2835,7 +2846,7 @@ static uint32_t get_dest_obj_list(struct bios_parser *bp,
-
- offset += sizeof(uint8_t);
- *id_list = (uint16_t *)get_image(bp, offset,
-- *number * sizeof(uint16_t));
-+ *number * sizeof(uint16_t));
-
- if (!*id_list)
- return 0;
-@@ -2855,7 +2866,7 @@ static uint32_t get_src_obj_list(struct bios_parser *bp, ATOM_OBJECT *object,
- }
-
- offset = le16_to_cpu(object->usSrcDstTableOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- number = GET_IMAGE(uint8_t, offset);
- if (!number)
-@@ -2863,7 +2874,7 @@ static uint32_t get_src_obj_list(struct bios_parser *bp, ATOM_OBJECT *object,
-
- offset += sizeof(uint8_t);
- *id_list = (uint16_t *)get_image(bp, offset,
-- *number * sizeof(uint16_t));
-+ *number * sizeof(uint16_t));
-
- if (!*id_list)
- return 0;
-@@ -2883,7 +2894,7 @@ static uint32_t get_dst_number_from_object(struct bios_parser *bp,
- }
-
- offset = le16_to_cpu(object->usSrcDstTableOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- number = GET_IMAGE(uint8_t, offset);
- if (!number)
-@@ -2924,11 +2935,11 @@ static uint32_t get_record_size(uint8_t *record)
-
- case LCD_FAKE_EDID_PATCH_RECORD_TYPE: {
- ATOM_FAKE_EDID_PATCH_RECORD *fake_record =
-- (ATOM_FAKE_EDID_PATCH_RECORD *) record;
-+ (ATOM_FAKE_EDID_PATCH_RECORD *) record;
- uint32_t edid_size = get_edid_size(fake_record);
-
- return sizeof(ATOM_FAKE_EDID_PATCH_RECORD) + edid_size
-- - sizeof(fake_record->ucFakeEDIDString);
-+ - sizeof(fake_record->ucFakeEDIDString);
- }
-
- case LCD_PANEL_RESOLUTION_RECORD_TYPE:
-@@ -2967,7 +2978,7 @@ static struct graphics_object_id object_id_from_bios_object_id(
- return go_id;
-
- go_id = dal_graphics_object_id_init(
-- id_from_bios_object_id(type, bios_object_id), enum_id, type);
-+ id_from_bios_object_id(type, bios_object_id), enum_id, type);
-
- return go_id;
- }
-@@ -2975,7 +2986,7 @@ static struct graphics_object_id object_id_from_bios_object_id(
- static enum object_type object_type_from_bios_object_id(uint32_t bios_object_id)
- {
- uint32_t bios_object_type = (bios_object_id & OBJECT_TYPE_MASK)
-- >> OBJECT_TYPE_SHIFT;
-+ >> OBJECT_TYPE_SHIFT;
- enum object_type object_type;
-
- switch (bios_object_type) {
-@@ -3005,7 +3016,7 @@ static enum object_type object_type_from_bios_object_id(uint32_t bios_object_id)
- static enum object_enum_id enum_id_from_bios_object_id(uint32_t bios_object_id)
- {
- uint32_t bios_enum_id =
-- (bios_object_id & ENUM_ID_MASK) >> ENUM_ID_SHIFT;
-+ (bios_object_id & ENUM_ID_MASK) >> ENUM_ID_SHIFT;
- enum object_enum_id id;
-
- switch (bios_enum_id) {
-@@ -3048,7 +3059,7 @@ static uint32_t id_from_bios_object_id(enum object_type type,
- return (uint32_t)encoder_id_from_bios_object_id(bios_object_id);
- case OBJECT_TYPE_CONNECTOR:
- return (uint32_t)connector_id_from_bios_object_id(
-- bios_object_id);
-+ bios_object_id);
- case OBJECT_TYPE_GENERIC:
- return generic_id_from_bios_object_id(bios_object_id);
- default:
-@@ -3341,9 +3352,9 @@ static void get_atom_data_table_revision(
- return;
-
- tbl_revision->major =
-- (uint32_t) GET_DATA_TABLE_MAJOR_REVISION(atom_data_tbl);
-+ (uint32_t) GET_DATA_TABLE_MAJOR_REVISION(atom_data_tbl);
- tbl_revision->minor =
-- (uint32_t) GET_DATA_TABLE_MINOR_REVISION(atom_data_tbl);
-+ (uint32_t) GET_DATA_TABLE_MINOR_REVISION(atom_data_tbl);
- }
-
- static uint32_t signal_to_ss_id(enum as_signal_type signal)
-@@ -3388,52 +3399,52 @@ static uint32_t get_support_mask_for_device_id(struct device_id device_id)
- break;
- }
- break;
-- case DEVICE_TYPE_CRT:
-- switch (enum_id) {
-- case 1:
-- return ATOM_DEVICE_CRT1_SUPPORT;
-- case 2:
-- return ATOM_DEVICE_CRT2_SUPPORT;
-- default:
-- break;
-- }
-- break;
-- case DEVICE_TYPE_DFP:
-- switch (enum_id) {
-- case 1:
-- return ATOM_DEVICE_DFP1_SUPPORT;
-- case 2:
-- return ATOM_DEVICE_DFP2_SUPPORT;
-- case 3:
-- return ATOM_DEVICE_DFP3_SUPPORT;
-- case 4:
-- return ATOM_DEVICE_DFP4_SUPPORT;
-- case 5:
-- return ATOM_DEVICE_DFP5_SUPPORT;
-- case 6:
-- return ATOM_DEVICE_DFP6_SUPPORT;
-- default:
-- break;
-- }
-- break;
-- case DEVICE_TYPE_CV:
-- switch (enum_id) {
-- case 1:
-- return ATOM_DEVICE_CV_SUPPORT;
-- default:
-- break;
-- }
-- break;
-- case DEVICE_TYPE_TV:
-- switch (enum_id) {
-- case 1:
-- return ATOM_DEVICE_TV1_SUPPORT;
-- default:
-+ case DEVICE_TYPE_CRT:
-+ switch (enum_id) {
-+ case 1:
-+ return ATOM_DEVICE_CRT1_SUPPORT;
-+ case 2:
-+ return ATOM_DEVICE_CRT2_SUPPORT;
-+ default:
-+ break;
-+ }
- break;
-- }
-- break;
-- default:
-- break;
-+ case DEVICE_TYPE_DFP:
-+ switch (enum_id) {
-+ case 1:
-+ return ATOM_DEVICE_DFP1_SUPPORT;
-+ case 2:
-+ return ATOM_DEVICE_DFP2_SUPPORT;
-+ case 3:
-+ return ATOM_DEVICE_DFP3_SUPPORT;
-+ case 4:
-+ return ATOM_DEVICE_DFP4_SUPPORT;
-+ case 5:
-+ return ATOM_DEVICE_DFP5_SUPPORT;
-+ case 6:
-+ return ATOM_DEVICE_DFP6_SUPPORT;
-+ default:
-+ break;
-+ }
-+ break;
-+ case DEVICE_TYPE_CV:
-+ switch (enum_id) {
-+ case 1:
-+ return ATOM_DEVICE_CV_SUPPORT;
-+ default:
-+ break;
-+ }
-+ break;
-+ case DEVICE_TYPE_TV:
-+ switch (enum_id) {
-+ case 1:
-+ return ATOM_DEVICE_TV1_SUPPORT;
-+ default:
-+ break;
-+ }
-+ break;
-+ default:
-+ break;
- };
-
- /* Unidentified device ID, return empty support mask. */
-@@ -3441,8 +3452,8 @@ static uint32_t get_support_mask_for_device_id(struct device_id device_id)
- }
-
- /**
--* HwContext interface for writing MM registers
--*/
-+ * HwContext interface for writing MM registers
-+ */
-
- static bool i2c_read(
- struct bios_parser *bp,
-@@ -3466,27 +3477,27 @@ static bool i2c_read(
-
- {
- struct i2c_payload payloads[] = {
-- {
-- .address = i2c_info->i2c_slave_address >> 1,
-- .data = offset,
-- .length = sizeof(offset),
-- .write = true
-- },
-- {
-- .address = i2c_info->i2c_slave_address >> 1,
-- .data = buffer,
-- .length = length,
-- .write = false
-- }
-+ {
-+ .address = i2c_info->i2c_slave_address >> 1,
-+ .data = offset,
-+ .length = sizeof(offset),
-+ .write = true
-+ },
-+ {
-+ .address = i2c_info->i2c_slave_address >> 1,
-+ .data = buffer,
-+ .length = length,
-+ .write = false
-+ }
- };
-
- cmd.payloads = payloads;
- cmd.number_of_payloads = ARRAY_SIZE(payloads);
-
- result = dal_i2caux_submit_i2c_command(
-- dal_adapter_service_get_i2caux(bp->as),
-- ddc,
-- &cmd);
-+ dal_adapter_service_get_i2caux(bp->as),
-+ ddc,
-+ &cmd);
- }
-
- dal_adapter_service_release_ddc(bp->as, ddc);
-@@ -3519,20 +3530,20 @@ static enum bp_result get_ext_display_connection_info(
- struct graphics_object_i2c_info i2c_info;
-
- gpio_i2c_header = GET_IMAGE(ATOM_GPIO_I2C_INFO,
-- bp->master_data_tbl->ListOfDataTables.GPIO_I2C_Info);
-+ bp->master_data_tbl->ListOfDataTables.GPIO_I2C_Info);
-
- if (NULL == gpio_i2c_header)
- return BP_RESULT_BADBIOSTABLE;
-
- if (get_gpio_i2c_info(bp, i2c_record, &i2c_info) !=
-- BP_RESULT_OK)
-+ BP_RESULT_OK)
- return BP_RESULT_BADBIOSTABLE;
-
- if (i2c_read(
-- bp,
-- &i2c_info,
-- (uint8_t *)ext_display_connection_info_tbl,
-- sizeof(ATOM_EXTERNAL_DISPLAY_CONNECTION_INFO))) {
-+ bp,
-+ &i2c_info,
-+ (uint8_t *)ext_display_connection_info_tbl,
-+ sizeof(ATOM_EXTERNAL_DISPLAY_CONNECTION_INFO))) {
- config_tbl_present = true;
- }
- }
-@@ -3541,7 +3552,7 @@ static enum bp_result get_ext_display_connection_info(
- if (config_tbl_present)
- for (i = 0; i < NUMBER_OF_UCHAR_FOR_GUID; i++) {
- if (ext_display_connection_info_tbl->ucGuid[i]
-- != ext_display_connection_guid[i]) {
-+ != ext_display_connection_guid[i]) {
- config_tbl_present = false;
- break;
- }
-@@ -3551,10 +3562,10 @@ static enum bp_result get_ext_display_connection_info(
- if (config_tbl_present) {
- uint8_t check_sum = 0;
- uint8_t *buf =
-- (uint8_t *)ext_display_connection_info_tbl;
-+ (uint8_t *)ext_display_connection_info_tbl;
-
- for (i = 0; i < sizeof(ATOM_EXTERNAL_DISPLAY_CONNECTION_INFO);
-- i++) {
-+ i++) {
- check_sum += buf[i];
- }
-
-@@ -3646,9 +3657,9 @@ static bool get_patched_device_tag(
- /* Use fallback behaviour if not supported. */
- if (!bp->remap_device_tags) {
- device_tag->ulACPIDeviceEnum =
-- cpu_to_le32((uint32_t) le16_to_cpu(ext_display_path->usDeviceACPIEnum));
-+ cpu_to_le32((uint32_t) le16_to_cpu(ext_display_path->usDeviceACPIEnum));
- device_tag->usDeviceID =
-- cpu_to_le16(le16_to_cpu(ext_display_path->usDeviceTag));
-+ cpu_to_le16(le16_to_cpu(ext_display_path->usDeviceTag));
- return true;
- }
-
-@@ -3658,7 +3669,7 @@ static bool get_patched_device_tag(
- /* Assign this device ID if supported. */
- if ((device_support & dev_id) != 0) {
- device_tag->ulACPIDeviceEnum =
-- cpu_to_le32((uint32_t) le16_to_cpu(ext_display_path->usDeviceACPIEnum));
-+ cpu_to_le32((uint32_t) le16_to_cpu(ext_display_path->usDeviceACPIEnum));
- device_tag->usDeviceID = cpu_to_le16((USHORT) dev_id);
- return true;
- }
-@@ -3688,31 +3699,31 @@ static void add_device_tag_from_ext_display_path(
- ATOM_CONNECTOR_DEVICE_TAG *device_tag = NULL;
- ATOM_CONNECTOR_DEVICE_TAG_RECORD *device_tag_record = NULL;
- enum bp_result result =
-- dal_bios_parser_get_device_tag_record(
-- bp, object, &device_tag_record);
-+ dal_bios_parser_get_device_tag_record(
-+ bp, object, &device_tag_record);
-
- if ((le16_to_cpu(ext_display_path->usDeviceTag) != CONNECTOR_OBJECT_ID_NONE)
-- && (result == BP_RESULT_OK)) {
-+ && (result == BP_RESULT_OK)) {
- uint8_t index;
-
- if ((device_tag_record->ucNumberOfDevice == 1) &&
-- (le16_to_cpu(device_tag_record->asDeviceTag[0].usDeviceID) == 0)) {
-+ (le16_to_cpu(device_tag_record->asDeviceTag[0].usDeviceID) == 0)) {
- /*Workaround bug in current VBIOS releases where
- * ucNumberOfDevice = 1 but there is no actual device
- * tag data. This w/a is temporary until the updated
- * VBIOS is distributed. */
- device_tag_record->ucNumberOfDevice =
-- device_tag_record->ucNumberOfDevice - 1;
-+ device_tag_record->ucNumberOfDevice - 1;
- }
-
- /* Attempt to find a matching device ID. */
- index = device_tag_record->ucNumberOfDevice;
- device_tag = &device_tag_record->asDeviceTag[index];
- if (get_patched_device_tag(
-- bp,
-- ext_display_path,
-- *device_support,
-- device_tag)) {
-+ bp,
-+ ext_display_path,
-+ *device_support,
-+ device_tag)) {
- /* Update cached device support to remove assigned ID.
- */
- *device_support &= ~le16_to_cpu(device_tag->usDeviceID);
-@@ -3737,7 +3748,7 @@ static EXT_DISPLAY_PATH *get_ext_display_path_entry(
- {
- EXT_DISPLAY_PATH *ext_display_path;
- uint32_t ext_display_path_index =
-- ((bios_object_id & ENUM_ID_MASK) >> ENUM_ID_SHIFT) - 1;
-+ ((bios_object_id & ENUM_ID_MASK) >> ENUM_ID_SHIFT) - 1;
-
- if (ext_display_path_index >= MAX_NUMBER_OF_EXT_DISPLAY_PATH)
- return NULL;
-@@ -3770,7 +3781,7 @@ static ATOM_CONNECTOR_AUXDDC_LUT_RECORD *get_ext_connector_aux_ddc_lut_record(
- }
-
- offset = le16_to_cpu(object->usRecordOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- for (;;) {
- header = GET_IMAGE(ATOM_COMMON_RECORD_HEADER, offset);
-@@ -3779,13 +3790,13 @@ static ATOM_CONNECTOR_AUXDDC_LUT_RECORD *get_ext_connector_aux_ddc_lut_record(
- return NULL;
-
- if (LAST_RECORD_TYPE == header->ucRecordType ||
-- 0 == header->ucRecordSize)
-+ 0 == header->ucRecordSize)
- break;
-
- if (ATOM_CONNECTOR_AUXDDC_LUT_RECORD_TYPE ==
-- header->ucRecordType &&
-- sizeof(ATOM_CONNECTOR_AUXDDC_LUT_RECORD) <=
-- header->ucRecordSize)
-+ header->ucRecordType &&
-+ sizeof(ATOM_CONNECTOR_AUXDDC_LUT_RECORD) <=
-+ header->ucRecordSize)
- return (ATOM_CONNECTOR_AUXDDC_LUT_RECORD *)(header);
-
- offset += header->ucRecordSize;
-@@ -3814,7 +3825,7 @@ static ATOM_CONNECTOR_HPDPIN_LUT_RECORD *get_ext_connector_hpd_pin_lut_record(
- }
-
- offset = le16_to_cpu(object->usRecordOffset)
-- + bp->object_info_tbl_offset;
-+ + bp->object_info_tbl_offset;
-
- for (;;) {
- header = GET_IMAGE(ATOM_COMMON_RECORD_HEADER, offset);
-@@ -3823,13 +3834,13 @@ static ATOM_CONNECTOR_HPDPIN_LUT_RECORD *get_ext_connector_hpd_pin_lut_record(
- return NULL;
-
- if (LAST_RECORD_TYPE == header->ucRecordType ||
-- 0 == header->ucRecordSize)
-+ 0 == header->ucRecordSize)
- break;
-
- if (ATOM_CONNECTOR_HPDPIN_LUT_RECORD_TYPE ==
-- header->ucRecordType &&
-- sizeof(ATOM_CONNECTOR_HPDPIN_LUT_RECORD) <=
-- header->ucRecordSize)
-+ header->ucRecordType &&
-+ sizeof(ATOM_CONNECTOR_HPDPIN_LUT_RECORD) <=
-+ header->ucRecordSize)
- return (ATOM_CONNECTOR_HPDPIN_LUT_RECORD *)header;
-
- offset += header->ucRecordSize;
-@@ -3866,13 +3877,13 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- ATOM_OBJECT *opm_object = NULL;
- uint32_t i = 0;
- struct graphics_object_id opm_object_id =
-- dal_graphics_object_id_init(
-- GENERIC_ID_MXM_OPM,
-- ENUM_ID_1,
-- OBJECT_TYPE_GENERIC);
-+ dal_graphics_object_id_init(
-+ GENERIC_ID_MXM_OPM,
-+ ENUM_ID_1,
-+ OBJECT_TYPE_GENERIC);
- ATOM_CONNECTOR_DEVICE_TAG_RECORD *dev_tag_record;
- uint32_t cached_device_support =
-- le16_to_cpu(bp->object_info_tbl.v1_1->usDeviceSupport);
-+ le16_to_cpu(bp->object_info_tbl.v1_1->usDeviceSupport);
-
- uint32_t dst_number;
- uint16_t *dst_object_id_list;
-@@ -3882,23 +3893,23 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- return BP_RESULT_UNSUPPORTED;
-
- dc_service_memset(&ext_display_connection_info_tbl, 0,
-- sizeof(ATOM_EXTERNAL_DISPLAY_CONNECTION_INFO));
-+ sizeof(ATOM_EXTERNAL_DISPLAY_CONNECTION_INFO));
-
- connector_tbl_offset = bp->object_info_tbl_offset
-- + le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset);
-+ + le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset);
- connector_tbl = GET_IMAGE(ATOM_OBJECT_TABLE, connector_tbl_offset);
-
- /* Read Connector info table from EEPROM through i2c */
- if (get_ext_display_connection_info(
-- bp,
-- opm_object,
-- &ext_display_connection_info_tbl) != BP_RESULT_OK) {
-+ bp,
-+ opm_object,
-+ &ext_display_connection_info_tbl) != BP_RESULT_OK) {
- if (bp->headless_no_opm) {
- /* Failed to read OPM, remove all non-CF connectors. */
- for (i = 0; i < connector_tbl->ucNumberOfObjects; ++i) {
- object = &connector_tbl->asObjects[i];
- object_id = object_id_from_bios_object_id(
-- le16_to_cpu(object->usObjectID));
-+ le16_to_cpu(object->usObjectID));
- if (OBJECT_TYPE_CONNECTOR == object_id.type)
- object->usObjectID = cpu_to_le16(0);
- }
-@@ -3907,17 +3918,17 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- }
-
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: Failed to read Connection Info Table", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: Failed to read Connection Info Table", __func__);
- return BP_RESULT_UNSUPPORTED;
- }
-
- /* Get pointer to AUX/DDC and HPD LUTs */
- aux_ddc_lut_record =
-- get_ext_connector_aux_ddc_lut_record(bp, opm_object);
-+ get_ext_connector_aux_ddc_lut_record(bp, opm_object);
- hpd_pin_lut_record =
-- get_ext_connector_hpd_pin_lut_record(bp, opm_object);
-+ get_ext_connector_hpd_pin_lut_record(bp, opm_object);
-
- if ((aux_ddc_lut_record == NULL) || (hpd_pin_lut_record == NULL))
- return BP_RESULT_UNSUPPORTED;
-@@ -3929,21 +3940,21 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- /* Remove support for all non-MXM connectors. */
- object = &connector_tbl->asObjects[i];
- object_id = object_id_from_bios_object_id(
-- le16_to_cpu(object->usObjectID));
-+ le16_to_cpu(object->usObjectID));
- if ((OBJECT_TYPE_CONNECTOR != object_id.type) ||
-- (CONNECTOR_ID_MXM == object_id.id))
-+ (CONNECTOR_ID_MXM == object_id.id))
- continue;
-
- /* Remove support for all device tags. */
- if (dal_bios_parser_get_device_tag_record(
-- bp, object, &dev_tag_record) != BP_RESULT_OK)
-+ bp, object, &dev_tag_record) != BP_RESULT_OK)
- continue;
-
- for (j = 0; j < dev_tag_record->ucNumberOfDevice; ++j) {
- ATOM_CONNECTOR_DEVICE_TAG *device_tag =
-- &dev_tag_record->asDeviceTag[j];
-+ &dev_tag_record->asDeviceTag[j];
- cached_device_support &=
-- ~le16_to_cpu(device_tag->usDeviceID);
-+ ~le16_to_cpu(device_tag->usDeviceID);
- }
- }
- }
-@@ -3956,37 +3967,37 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- object = &connector_tbl->asObjects[i];
- object_id = object_id_from_bios_object_id(le16_to_cpu(object->usObjectID));
- if ((OBJECT_TYPE_CONNECTOR != object_id.type) ||
-- (CONNECTOR_ID_MXM != object_id.id))
-+ (CONNECTOR_ID_MXM != object_id.id))
- continue;
-
- /* Get the correct connection info table entry based on the enum
- * id. */
- ext_display_path = get_ext_display_path_entry(
-- &ext_display_connection_info_tbl,
-- le16_to_cpu(object->usObjectID));
-+ &ext_display_connection_info_tbl,
-+ le16_to_cpu(object->usObjectID));
- if (!ext_display_path)
- return BP_RESULT_FAILURE;
-
- /* Patch device connector ID */
- object->usObjectID =
-- cpu_to_le16(le16_to_cpu(ext_display_path->usDeviceConnector));
-+ cpu_to_le16(le16_to_cpu(ext_display_path->usDeviceConnector));
-
- /* Patch device tag, ulACPIDeviceEnum. */
- add_device_tag_from_ext_display_path(
-- bp,
-- object,
-- ext_display_path,
-- &cached_device_support);
-+ bp,
-+ object,
-+ ext_display_path,
-+ &cached_device_support);
-
- /* Patch HPD info */
- if (ext_display_path->ucExtHPDPINLutIndex <
-- MAX_NUMBER_OF_EXT_HPDPIN_LUT_ENTRIES) {
-+ MAX_NUMBER_OF_EXT_HPDPIN_LUT_ENTRIES) {
- hpd_record = get_hpd_record(bp, object);
- if (hpd_record) {
- uint8_t index =
-- ext_display_path->ucExtHPDPINLutIndex;
-+ ext_display_path->ucExtHPDPINLutIndex;
- hpd_record->ucHPDIntGPIOID =
-- hpd_pin_lut_record->ucHPDPINMap[index];
-+ hpd_pin_lut_record->ucHPDPINMap[index];
- } else {
- BREAK_TO_DEBUGGER();
- /* Invalid hpd record */
-@@ -3996,13 +4007,13 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
-
- /* Patch I2C/AUX info */
- if (ext_display_path->ucExtHPDPINLutIndex <
-- MAX_NUMBER_OF_EXT_AUXDDC_LUT_ENTRIES) {
-+ MAX_NUMBER_OF_EXT_AUXDDC_LUT_ENTRIES) {
- i2c_record = get_i2c_record(bp, object);
- if (i2c_record) {
- uint8_t index =
-- ext_display_path->ucExtAUXDDCLutIndex;
-+ ext_display_path->ucExtAUXDDCLutIndex;
- i2c_record->sucI2cId =
-- aux_ddc_lut_record->ucAUXDDCMap[index];
-+ aux_ddc_lut_record->ucAUXDDCMap[index];
- } else {
- BREAK_TO_DEBUGGER();
- /* Invalid I2C record */
-@@ -4013,37 +4024,37 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- /* Merge with other MXM connectors that map to the same physical
- * connector. */
- for (j = i + 1;
-- j < connector_tbl->ucNumberOfObjects; j++) {
-+ j < connector_tbl->ucNumberOfObjects; j++) {
- ATOM_OBJECT *next_object;
- struct graphics_object_id next_object_id;
- EXT_DISPLAY_PATH *next_ext_display_path;
-
- next_object = &connector_tbl->asObjects[j];
- next_object_id = object_id_from_bios_object_id(
-- le16_to_cpu(next_object->usObjectID));
-+ le16_to_cpu(next_object->usObjectID));
-
- if ((OBJECT_TYPE_CONNECTOR != next_object_id.type) &&
-- (CONNECTOR_ID_MXM == next_object_id.id))
-+ (CONNECTOR_ID_MXM == next_object_id.id))
- continue;
-
- next_ext_display_path = get_ext_display_path_entry(
-- &ext_display_connection_info_tbl,
-- le16_to_cpu(next_object->usObjectID));
-+ &ext_display_connection_info_tbl,
-+ le16_to_cpu(next_object->usObjectID));
-
- if (next_ext_display_path == NULL)
- return BP_RESULT_FAILURE;
-
- /* Merge if using same connector. */
- if ((le16_to_cpu(next_ext_display_path->usDeviceConnector) ==
-- le16_to_cpu(ext_display_path->usDeviceConnector)) &&
-- (le16_to_cpu(ext_display_path->usDeviceConnector) != 0)) {
-+ le16_to_cpu(ext_display_path->usDeviceConnector)) &&
-+ (le16_to_cpu(ext_display_path->usDeviceConnector) != 0)) {
- /* Clear duplicate connector from table. */
- next_object->usObjectID = cpu_to_le16(0);
- add_device_tag_from_ext_display_path(
-- bp,
-- object,
-- ext_display_path,
-- &cached_device_support);
-+ bp,
-+ object,
-+ ext_display_path,
-+ &cached_device_support);
- }
- }
- }
-@@ -4053,7 +4064,7 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
- * display connection info table */
-
- encoder_table_offset = bp->object_info_tbl_offset
-- + le16_to_cpu(bp->object_info_tbl.v1_1->usEncoderObjectTableOffset);
-+ + le16_to_cpu(bp->object_info_tbl.v1_1->usEncoderObjectTableOffset);
- encoder_table = GET_IMAGE(ATOM_OBJECT_TABLE, encoder_table_offset);
-
- for (i = 0; i < encoder_table->ucNumberOfObjects; i++) {
-@@ -4065,24 +4076,24 @@ static enum bp_result patch_bios_image_from_ext_display_connection_info(
-
- for (j = 0; j < dst_number; j++) {
- object_id = object_id_from_bios_object_id(
-- dst_object_id_list[j]);
-+ dst_object_id_list[j]);
-
- if ((OBJECT_TYPE_CONNECTOR != object_id.type) ||
-- (CONNECTOR_ID_MXM != object_id.id))
-+ (CONNECTOR_ID_MXM != object_id.id))
- continue;
-
- /* Get the correct connection info table entry based on
- * the enum id. */
- ext_display_path =
-- get_ext_display_path_entry(
-- &ext_display_connection_info_tbl,
-- dst_object_id_list[j]);
-+ get_ext_display_path_entry(
-+ &ext_display_connection_info_tbl,
-+ dst_object_id_list[j]);
-
- if (ext_display_path == NULL)
- return BP_RESULT_FAILURE;
-
- dst_object_id_list[j] =
-- le16_to_cpu(ext_display_path->usDeviceConnector);
-+ le16_to_cpu(ext_display_path->usDeviceConnector);
- }
- }
-
-@@ -4111,7 +4122,7 @@ static void process_ext_display_connection_info(struct bios_parser *bp)
- uint32_t i = 0;
-
- connector_tbl_offset = bp->object_info_tbl_offset +
-- le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset);
-+ le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset);
- connector_tbl = GET_IMAGE(ATOM_OBJECT_TABLE, connector_tbl_offset);
-
- /* Look for MXM connectors to determine whether we need patch the VBIOS
-@@ -4122,7 +4133,7 @@ static void process_ext_display_connection_info(struct bios_parser *bp)
- object_id = object_id_from_bios_object_id(le16_to_cpu(object->usObjectID));
-
- if ((OBJECT_TYPE_CONNECTOR == object_id.type) &&
-- (CONNECTOR_ID_MXM == object_id.id)) {
-+ (CONNECTOR_ID_MXM == object_id.id)) {
- /* Once we found MXM connector - we can break */
- mxm_connector_found = true;
- break;
-@@ -4150,20 +4161,20 @@ static void process_ext_display_connection_info(struct bios_parser *bp)
- original_bios = bp->bios;
- bp->bios = bp->bios_local_image;
- connector_tbl =
-- GET_IMAGE(ATOM_OBJECT_TABLE, connector_tbl_offset);
-+ GET_IMAGE(ATOM_OBJECT_TABLE, connector_tbl_offset);
-
- /* Step 2: (only if MXM connector found) Patch BIOS image with
- * info from external module */
- if (mxm_connector_found &&
-- patch_bios_image_from_ext_display_connection_info(bp) !=
-- BP_RESULT_OK) {
-+ patch_bios_image_from_ext_display_connection_info(bp) !=
-+ BP_RESULT_OK) {
- /* Patching the bios image has failed. We will copy
- * again original image provided and afterwards
- * only remove null entries */
- dc_service_memmove(
-- bp->bios_local_image,
-- original_bios,
-- bp->bios_size);
-+ bp->bios_local_image,
-+ original_bios,
-+ bp->bios_size);
- }
-
- /* Step 3: Compact connector table (remove null entries, valid
-@@ -4171,17 +4182,17 @@ static void process_ext_display_connection_info(struct bios_parser *bp)
- for (i = 0; i < connector_tbl->ucNumberOfObjects; i++) {
- object = &connector_tbl->asObjects[i];
- object_id = object_id_from_bios_object_id(
-- le16_to_cpu(object->usObjectID));
-+ le16_to_cpu(object->usObjectID));
-
- if (OBJECT_TYPE_CONNECTOR != object_id.type)
- continue;
-
- if (i != connectors_num) {
- dc_service_memmove(
-- &connector_tbl->
-- asObjects[connectors_num],
-- object,
-- sizeof(ATOM_OBJECT));
-+ &connector_tbl->
-+ asObjects[connectors_num],
-+ object,
-+ sizeof(ATOM_OBJECT));
- }
- ++connectors_num;
- }
-@@ -4199,27 +4210,27 @@ bool dal_bios_parser_is_accelerated_mode(
- {
- #ifdef CONFIG_DRM_AMD_DAL_VBIOS_PRESENT
- return bp->bios_helper->is_accelerated_mode(
-- bp->ctx);
-+ bp->ctx);
- #else
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: VBIOS is not supported", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: VBIOS is not supported", __func__);
- return false;
- #endif
- }
-
- /**
--* dal_bios_parser_set_scratch_connected
--*
--* @brief
--* update VBIOS scratch register about connected displays
--*
--* @param
--* bool - update scratch register or just prepare info to be updated
--* bool - connection state
--* const ConnectorDeviceTagInfo* - pointer to device type and enum ID
--*/
-+ * dal_bios_parser_set_scratch_connected
-+ *
-+ * @brief
-+ * update VBIOS scratch register about connected displays
-+ *
-+ * @param
-+ * bool - update scratch register or just prepare info to be updated
-+ * bool - connection state
-+ * const ConnectorDeviceTagInfo* - pointer to device type and enum ID
-+ */
- void dal_bios_parser_set_scratch_connected(
- struct bios_parser *bp,
- struct graphics_object_id connector_id,
-@@ -4228,25 +4239,25 @@ void dal_bios_parser_set_scratch_connected(
- {
- #ifdef CONFIG_DRM_AMD_DAL_VBIOS_PRESENT
- bp->bios_helper->set_scratch_connected(
-- bp->ctx,
-- connector_id, connected, device_tag);
-+ bp->ctx,
-+ connector_id, connected, device_tag);
- #else
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: VBIOS is not supported", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: VBIOS is not supported", __func__);
- #endif
- }
-
- /**
--* dal_bios_parser_set_scratch_critical_state
--*
--* @brief
--* update critical state bit in VBIOS scratch register
--*
--* @param
--* bool - to set or reset state
--*/
-+ * dal_bios_parser_set_scratch_critical_state
-+ *
-+ * @brief
-+ * update critical state bit in VBIOS scratch register
-+ *
-+ * @param
-+ * bool - to set or reset state
-+ */
- void dal_bios_parser_set_scratch_critical_state(
- struct bios_parser *bp,
- bool state)
-@@ -4256,9 +4267,9 @@ void dal_bios_parser_set_scratch_critical_state(
- bp->ctx, state);
- #else
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: VBIOS is not supported", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: VBIOS is not supported", __func__);
- #endif
- }
-
-@@ -4267,27 +4278,27 @@ void dal_bios_parser_set_scratch_acc_mode_change(
- {
- #ifdef CONFIG_DRM_AMD_DAL_VBIOS_PRESENT
- bp->bios_helper->set_scratch_acc_mode_change(
-- bp->ctx);
-+ bp->ctx);
- #else
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: VBIOS is not supported", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: VBIOS is not supported", __func__);
- #endif
- }
-
- /**
--* dal_bios_parser_prepare_scratch_active_and_requested
--*
--* @brief
--* update VBIOS scratch registers about active and requested displays
--*
--* @param
--* enum controller_id - controller Id
--* enum signal_type signal - signal type used on display
--* const struct connector_device_tag_info * - pointer to display type and
--* enum Id
--*/
-+ * dal_bios_parser_prepare_scratch_active_and_requested
-+ *
-+ * @brief
-+ * update VBIOS scratch registers about active and requested displays
-+ *
-+ * @param
-+ * enum controller_id - controller Id
-+ * enum signal_type signal - signal type used on display
-+ * const struct connector_device_tag_info * - pointer to display type and
-+ * enum Id
-+ */
- void dal_bios_parser_prepare_scratch_active_and_requested(
- struct bios_parser *bp,
- enum controller_id controller_id,
-@@ -4303,9 +4314,9 @@ void dal_bios_parser_prepare_scratch_active_and_requested(
- device_tag);
- #else
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: VBIOS is not supported", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: VBIOS is not supported", __func__);
- #endif
- }
-
-@@ -4314,13 +4325,13 @@ void dal_bios_parser_set_scratch_active_and_requested(
- {
- #ifdef CONFIG_DRM_AMD_DAL_VBIOS_PRESENT
- bp->bios_helper->set_scratch_active_and_requested(
-- bp->ctx,
-- &bp->vbios_helper_data);
-+ bp->ctx,
-+ &bp->vbios_helper_data);
- #else
- dal_logger_write(bp->ctx->logger,
-- LOG_MAJOR_BIOS,
-- LOG_MINOR_BIOS_CMD_TABLE,
-- "%s: VBIOS is not supported", __func__);
-+ LOG_MAJOR_BIOS,
-+ LOG_MINOR_BIOS_CMD_TABLE,
-+ "%s: VBIOS is not supported", __func__);
- #endif
- }
-
-@@ -4347,29 +4358,29 @@ static enum bp_result get_integrated_info_v8(
- uint32_t i;
-
- info_v8 = GET_IMAGE(ATOM_INTEGRATED_SYSTEM_INFO_V1_8,
-- bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
-+ bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
-
- if (info_v8 != NULL) {
- info->boot_up_engine_clock =
-- le32_to_cpu(info_v8->ulBootUpEngineClock) * 10;
-+ le32_to_cpu(info_v8->ulBootUpEngineClock) * 10;
- info->dentist_vco_freq =
-- le32_to_cpu(info_v8->ulDentistVCOFreq) * 10;
-+ le32_to_cpu(info_v8->ulDentistVCOFreq) * 10;
- info->boot_up_uma_clock =
-- le32_to_cpu(info_v8->ulBootUpUMAClock) * 10;
-+ le32_to_cpu(info_v8->ulBootUpUMAClock) * 10;
-
- for (i = 0; i < NUMBER_OF_DISP_CLK_VOLTAGE; ++i) {
- /* Convert [10KHz] into [KHz] */
- info->disp_clk_voltage[i].max_supported_clk =
- le32_to_cpu(info_v8->sDISPCLK_Voltage[i].
-- ulMaximumSupportedCLK) * 10;
-+ ulMaximumSupportedCLK) * 10;
- info->disp_clk_voltage[i].voltage_index =
-- le32_to_cpu(info_v8->sDISPCLK_Voltage[i].ulVoltageIndex);
-+ le32_to_cpu(info_v8->sDISPCLK_Voltage[i].ulVoltageIndex);
- }
-
- info->boot_up_req_display_vector =
-- le32_to_cpu(info_v8->ulBootUpReqDisplayVector);
-+ le32_to_cpu(info_v8->ulBootUpReqDisplayVector);
- info->gpu_cap_info =
-- le32_to_cpu(info_v8->ulGPUCapInfo);
-+ le32_to_cpu(info_v8->ulGPUCapInfo);
-
- /*
- * system_config: Bit[0] = 0 : PCIE power gating disabled
-@@ -4394,8 +4405,8 @@ static enum bp_result get_integrated_info_v8(
- le32_to_cpu(info_v8->ulNbpStateNClkFreq[0]);
- for (i = 1; i < 4; ++i)
- info->minimum_n_clk =
-- info->minimum_n_clk < le32_to_cpu(info_v8->ulNbpStateNClkFreq[i]) ?
-- info->minimum_n_clk : le32_to_cpu(info_v8->ulNbpStateNClkFreq[i]);
-+ info->minimum_n_clk < le32_to_cpu(info_v8->ulNbpStateNClkFreq[i]) ?
-+ info->minimum_n_clk : le32_to_cpu(info_v8->ulNbpStateNClkFreq[i]);
-
- info->idle_n_clk = le32_to_cpu(info_v8->ulIdleNClk);
- info->ddr_dll_power_up_time =
-@@ -4439,11 +4450,11 @@ static enum bp_result get_integrated_info_v8(
- for (i = 0; i < NUMBER_OF_AVAILABLE_SCLK; ++i) {
- /* Convert [10KHz] into [KHz] */
- info->avail_s_clk[i].supported_s_clk =
-- le32_to_cpu(info_v8->sAvail_SCLK[i].ulSupportedSCLK) * 10;
-+ le32_to_cpu(info_v8->sAvail_SCLK[i].ulSupportedSCLK) * 10;
- info->avail_s_clk[i].voltage_index =
-- le16_to_cpu(info_v8->sAvail_SCLK[i].usVoltageIndex);
-+ le16_to_cpu(info_v8->sAvail_SCLK[i].usVoltageIndex);
- info->avail_s_clk[i].voltage_id =
-- le16_to_cpu(info_v8->sAvail_SCLK[i].usVoltageID);
-+ le16_to_cpu(info_v8->sAvail_SCLK[i].usVoltageID);
- }
-
- for (i = 0; i < NUMBER_OF_UCHAR_FOR_GUID; ++i) {
-@@ -4454,22 +4465,22 @@ static enum bp_result get_integrated_info_v8(
- for (i = 0; i < MAX_NUMBER_OF_EXT_DISPLAY_PATH; ++i) {
- info->ext_disp_conn_info.path[i].device_connector_id =
- object_id_from_bios_object_id(
-- le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usDeviceConnector));
-+ le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usDeviceConnector));
-
- info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
- object_id_from_bios_object_id(
-- le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usExtEncoderObjId));
-+ le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usExtEncoderObjId));
-
- info->ext_disp_conn_info.path[i].device_tag =
-- le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usDeviceTag);
-+ le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usDeviceTag);
- info->ext_disp_conn_info.path[i].device_acpi_enum =
-- le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usDeviceACPIEnum);
-+ le16_to_cpu(info_v8->sExtDispConnInfo.sPath[i].usDeviceACPIEnum);
- info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
-- info_v8->sExtDispConnInfo.sPath[i].ucExtAUXDDCLutIndex;
-+ info_v8->sExtDispConnInfo.sPath[i].ucExtAUXDDCLutIndex;
- info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
-- info_v8->sExtDispConnInfo.sPath[i].ucExtHPDPINLutIndex;
-+ info_v8->sExtDispConnInfo.sPath[i].ucExtHPDPINLutIndex;
- info->ext_disp_conn_info.path[i].channel_mapping.raw =
-- info_v8->sExtDispConnInfo.sPath[i].ucChannelMapping;
-+ info_v8->sExtDispConnInfo.sPath[i].ucChannelMapping;
- }
- info->ext_disp_conn_info.checksum =
- info_v8->sExtDispConnInfo.ucChecksum;
-@@ -4503,7 +4514,7 @@ static enum bp_result get_integrated_info_v9(
- uint32_t i;
-
- info_v9 = GET_IMAGE(ATOM_INTEGRATED_SYSTEM_INFO_V1_9,
-- bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
-+ bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
-
- if (info_v9 != NULL) {
- info->boot_up_engine_clock =
-@@ -4516,9 +4527,9 @@ static enum bp_result get_integrated_info_v9(
- for (i = 0; i < NUMBER_OF_DISP_CLK_VOLTAGE; ++i) {
- /* Convert [10KHz] into [KHz] */
- info->disp_clk_voltage[i].max_supported_clk =
-- le32_to_cpu(info_v9->sDISPCLK_Voltage[i].ulMaximumSupportedCLK) * 10;
-+ le32_to_cpu(info_v9->sDISPCLK_Voltage[i].ulMaximumSupportedCLK) * 10;
- info->disp_clk_voltage[i].voltage_index =
-- le32_to_cpu(info_v9->sDISPCLK_Voltage[i].ulVoltageIndex);
-+ le32_to_cpu(info_v9->sDISPCLK_Voltage[i].ulVoltageIndex);
- }
-
- info->boot_up_req_display_vector =
-@@ -4548,8 +4559,8 @@ static enum bp_result get_integrated_info_v9(
- le32_to_cpu(info_v9->ulNbpStateNClkFreq[0]);
- for (i = 1; i < 4; ++i)
- info->minimum_n_clk =
-- info->minimum_n_clk < le32_to_cpu(info_v9->ulNbpStateNClkFreq[i]) ?
-- info->minimum_n_clk : le32_to_cpu(info_v9->ulNbpStateNClkFreq[i]);
-+ info->minimum_n_clk < le32_to_cpu(info_v9->ulNbpStateNClkFreq[i]) ?
-+ info->minimum_n_clk : le32_to_cpu(info_v9->ulNbpStateNClkFreq[i]);
-
- info->idle_n_clk = le32_to_cpu(info_v9->ulIdleNClk);
- info->ddr_dll_power_up_time =
-@@ -4593,11 +4604,11 @@ static enum bp_result get_integrated_info_v9(
- for (i = 0; i < NUMBER_OF_AVAILABLE_SCLK; ++i) {
- /* Convert [10KHz] into [KHz] */
- info->avail_s_clk[i].supported_s_clk =
-- le32_to_cpu(info_v9->sAvail_SCLK[i].ulSupportedSCLK) * 10;
-+ le32_to_cpu(info_v9->sAvail_SCLK[i].ulSupportedSCLK) * 10;
- info->avail_s_clk[i].voltage_index =
-- le16_to_cpu(info_v9->sAvail_SCLK[i].usVoltageIndex);
-+ le16_to_cpu(info_v9->sAvail_SCLK[i].usVoltageIndex);
- info->avail_s_clk[i].voltage_id =
-- le16_to_cpu(info_v9->sAvail_SCLK[i].usVoltageID);
-+ le16_to_cpu(info_v9->sAvail_SCLK[i].usVoltageID);
- }
-
- for (i = 0; i < NUMBER_OF_UCHAR_FOR_GUID; ++i) {
-@@ -4608,22 +4619,22 @@ static enum bp_result get_integrated_info_v9(
- for (i = 0; i < MAX_NUMBER_OF_EXT_DISPLAY_PATH; ++i) {
- info->ext_disp_conn_info.path[i].device_connector_id =
- object_id_from_bios_object_id(
-- le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usDeviceConnector));
-+ le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usDeviceConnector));
-
- info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
- object_id_from_bios_object_id(
-- le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usExtEncoderObjId));
-+ le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usExtEncoderObjId));
-
- info->ext_disp_conn_info.path[i].device_tag =
-- le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usDeviceTag);
-+ le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usDeviceTag);
- info->ext_disp_conn_info.path[i].device_acpi_enum =
-- le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usDeviceACPIEnum);
-+ le16_to_cpu(info_v9->sExtDispConnInfo.sPath[i].usDeviceACPIEnum);
- info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
-- info_v9->sExtDispConnInfo.sPath[i].ucExtAUXDDCLutIndex;
-+ info_v9->sExtDispConnInfo.sPath[i].ucExtAUXDDCLutIndex;
- info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
-- info_v9->sExtDispConnInfo.sPath[i].ucExtHPDPINLutIndex;
-+ info_v9->sExtDispConnInfo.sPath[i].ucExtHPDPINLutIndex;
- info->ext_disp_conn_info.path[i].channel_mapping.raw =
-- info_v9->sExtDispConnInfo.sPath[i].ucChannelMapping;
-+ info_v9->sExtDispConnInfo.sPath[i].ucChannelMapping;
- }
- info->ext_disp_conn_info.checksum =
- info_v9->sExtDispConnInfo.ucChecksum;
-@@ -4658,9 +4669,9 @@ static enum bp_result construct_integrated_info(
- struct atom_data_revision revision;
-
- if (info != NULL &&
-- bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo) {
-+ bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo) {
- header = GET_IMAGE(ATOM_COMMON_TABLE_HEADER,
-- bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
-+ bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
-
- get_atom_data_table_revision(header, &revision);
-
-@@ -4687,12 +4698,12 @@ static enum bp_result construct_integrated_info(
- for (i = 1; i < NUMBER_OF_DISP_CLK_VOLTAGE; ++i) {
- for (j = i; j > 0; --j) {
- if (
-- info->disp_clk_voltage[j].max_supported_clk <
-- info->disp_clk_voltage[j-1].max_supported_clk) {
-+ info->disp_clk_voltage[j].max_supported_clk <
-+ info->disp_clk_voltage[j-1].max_supported_clk) {
- /* swap j and j - 1*/
- temp = info->disp_clk_voltage[j-1];
- info->disp_clk_voltage[j-1] =
-- info->disp_clk_voltage[j];
-+ info->disp_clk_voltage[j];
- info->disp_clk_voltage[j] = temp;
- }
- }
-diff --git a/drivers/gpu/drm/amd/dal/dc/bios/command_table.c b/drivers/gpu/drm/amd/dal/dc/bios/command_table.c
-index a807ab6..8503eca 100644
---- a/drivers/gpu/drm/amd/dal/dc/bios/command_table.c
-+++ b/drivers/gpu/drm/amd/dal/dc/bios/command_table.c
-@@ -67,6 +67,7 @@ static void init_compute_memore_engine_pll(struct bios_parser *bp);
- static void init_external_encoder_control(struct bios_parser *bp);
- static void init_enable_disp_power_gating(struct bios_parser *bp);
- static void init_program_clock(struct bios_parser *bp);
-+static void init_set_dce_clock(struct bios_parser *bp);
-
- void dal_bios_parser_init_cmd_tbl(struct bios_parser *bp)
- {
-@@ -89,22 +90,23 @@ void dal_bios_parser_init_cmd_tbl(struct bios_parser *bp)
- init_compute_memore_engine_pll(bp);
- init_external_encoder_control(bp);
- init_enable_disp_power_gating(bp);
-+ init_set_dce_clock(bp);
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** D I G E N C O D E R C O N T R O L
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** D I G E N C O D E R C O N T R O L
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
- static enum bp_result encoder_control_digx_v3(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl);
-
- static enum bp_result encoder_control_digx_v4(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl);
- static void init_encoder_control_dig_v1(struct bios_parser *bp);
-
- static void init_dig_encoder_control(struct bios_parser *bp)
-@@ -126,14 +128,14 @@ static void init_dig_encoder_control(struct bios_parser *bp)
- }
-
- static enum bp_result encoder_control_dig_v1(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl);
- static enum bp_result encoder_control_dig1_v1(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl);
- static enum bp_result encoder_control_dig2_v1(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl);
-
- static void init_encoder_control_dig_v1(struct bios_parser *bp)
- {
-@@ -153,8 +155,8 @@ static void init_encoder_control_dig_v1(struct bios_parser *bp)
- }
-
- static enum bp_result encoder_control_dig_v1(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- struct cmd_tbl *cmd_tbl = &bp->cmd_tbl;
-@@ -180,8 +182,8 @@ static enum bp_result encoder_control_dig_v1(
- }
-
- static enum bp_result encoder_control_dig1_v1(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DIG_ENCODER_CONTROL_PARAMETERS_V2 params = {0};
-@@ -195,8 +197,8 @@ static enum bp_result encoder_control_dig1_v1(
- }
-
- static enum bp_result encoder_control_dig2_v1(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DIG_ENCODER_CONTROL_PARAMETERS_V2 params = {0};
-@@ -210,8 +212,8 @@ static enum bp_result encoder_control_dig2_v1(
- }
-
- static enum bp_result encoder_control_digx_v3(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DIG_ENCODER_CONTROL_PARAMETERS_V3 params = {0};
-@@ -227,9 +229,9 @@ static enum bp_result encoder_control_digx_v3(
- params.ucAction = bp->cmd_helper->encoder_action_to_atom(cntl->action);
- params.usPixelClock = cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
- params.ucEncoderMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- cntl->signal,
-- cntl->enable_dp_audio);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ cntl->signal,
-+ cntl->enable_dp_audio);
- params.ucLaneNum = (uint8_t)(cntl->lanes_number);
-
- if (cntl->signal == SIGNAL_TYPE_HDMI_TYPE_A)
-@@ -257,8 +259,8 @@ static enum bp_result encoder_control_digx_v3(
- }
-
- static enum bp_result encoder_control_digx_v4(
-- struct bios_parser *bp,
-- struct bp_encoder_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_encoder_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DIG_ENCODER_CONTROL_PARAMETERS_V4 params = {0};
-@@ -275,9 +277,9 @@ static enum bp_result encoder_control_digx_v4(
- params.ucAction = bp->cmd_helper->encoder_action_to_atom(cntl->action);
- params.usPixelClock = cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
- params.ucEncoderMode =
-- (uint8_t)(bp->cmd_helper->encoder_mode_bp_to_atom(
-- cntl->signal,
-- cntl->enable_dp_audio));
-+ (uint8_t)(bp->cmd_helper->encoder_mode_bp_to_atom(
-+ cntl->signal,
-+ cntl->enable_dp_audio));
- params.ucLaneNum = (uint8_t)(cntl->lanes_number);
-
- if (cntl->signal == SIGNAL_TYPE_HDMI_TYPE_A)
-@@ -305,16 +307,16 @@ static enum bp_result encoder_control_digx_v4(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** DVO ENCODER CONTROL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** DVO ENCODER CONTROL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result dvo_encoder_control_v3(
-- struct bios_parser *bp,
-- struct bp_dvo_encoder_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_dvo_encoder_control *cntl);
-
- static void init_dvo_encoder_control(struct bios_parser *bp)
- {
-@@ -329,8 +331,8 @@ static void init_dvo_encoder_control(struct bios_parser *bp)
- }
-
- static enum bp_result dvo_encoder_control_v3(
-- struct bios_parser *bp,
-- struct bp_dvo_encoder_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_dvo_encoder_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DVO_ENCODER_CONTROL_PARAMETERS_V3 params;
-@@ -364,25 +366,28 @@ static enum bp_result dvo_encoder_control_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** TRANSMITTER CONTROL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** TRANSMITTER CONTROL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result transmitter_control_v2(
-- struct bios_parser *bp,
-- struct bp_transmitter_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_transmitter_control *cntl);
- static enum bp_result transmitter_control_v3(
-- struct bios_parser *bp,
-- struct bp_transmitter_control *cntl);
-+ struct bios_parser *bp,
-+ struct bp_transmitter_control *cntl);
- static enum bp_result transmitter_control_v4(
- struct bios_parser *bp,
- struct bp_transmitter_control *cntl);
- static enum bp_result transmitter_control_v1_5(
- struct bios_parser *bp,
- struct bp_transmitter_control *cntl);
-+static enum bp_result transmitter_control_v1_6(
-+ struct bios_parser *bp,
-+ struct bp_transmitter_control *cntl);
-
- static void init_transmitter_control(struct bios_parser *bp)
- {
-@@ -405,6 +410,9 @@ static void init_transmitter_control(struct bios_parser *bp)
- case 5:
- bp->cmd_tbl.transmitter_control = transmitter_control_v1_5;
- break;
-+ case 6:
-+ bp->cmd_tbl.transmitter_control = transmitter_control_v1_6;
-+ break;
- default:
- bp->cmd_tbl.transmitter_control = NULL;
- break;
-@@ -412,8 +420,8 @@ static void init_transmitter_control(struct bios_parser *bp)
- }
-
- static enum bp_result transmitter_control_v2(
-- struct bios_parser *bp,
-- struct bp_transmitter_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_transmitter_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DIG_TRANSMITTER_CONTROL_PARAMETERS_V2 params;
-@@ -449,7 +457,7 @@ static enum bp_result transmitter_control_v2(
-
- /* connector object id */
- params.usInitInfo =
-- cpu_to_le16((uint8_t)cntl->connector_obj_id.id);
-+ cpu_to_le16((uint8_t)cntl->connector_obj_id.id);
- break;
- case TRANSMITTER_CONTROL_SET_VOLTAGE_AND_PREEMPASIS:
- /* votage swing and pre-emphsis */
-@@ -471,13 +479,13 @@ static enum bp_result transmitter_control_v2(
- * We need to convert from KHz units into 20KHz units
- */
- params.usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 20));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 20));
- } else
- /* link rate, half for dual link
- * We need to convert from KHz units into 10KHz units
- */
- params.usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
- break;
- }
-
-@@ -520,8 +528,8 @@ static enum bp_result transmitter_control_v2(
- * =3 reserved
- */
- params.acConfig.ucTransmitterSel =
-- (uint8_t)bp->cmd_helper->transmitter_bp_to_atom(
-- cntl->transmitter);
-+ (uint8_t)bp->cmd_helper->transmitter_bp_to_atom(
-+ cntl->transmitter);
-
- params.ucAction = (uint8_t)cntl->action;
-
-@@ -532,17 +540,17 @@ static enum bp_result transmitter_control_v2(
- }
-
- static enum bp_result transmitter_control_v3(
-- struct bios_parser *bp,
-- struct bp_transmitter_control *cntl)
-+ struct bios_parser *bp,
-+ struct bp_transmitter_control *cntl)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DIG_TRANSMITTER_CONTROL_PARAMETERS_V3 params;
- uint32_t pll_id;
- enum connector_id conn_id =
-- dal_graphics_object_id_get_connector_id(cntl->connector_obj_id);
-+ dal_graphics_object_id_get_connector_id(cntl->connector_obj_id);
- const struct command_table_helper *cmd = bp->cmd_helper;
- bool dual_link_conn = (CONNECTOR_ID_DUAL_LINK_DVII == conn_id)
-- || (CONNECTOR_ID_DUAL_LINK_DVID == conn_id);
-+ || (CONNECTOR_ID_DUAL_LINK_DVID == conn_id);
-
- dc_service_memset(&params, 0, sizeof(params));
-
-@@ -577,7 +585,7 @@ static enum bp_result transmitter_control_v3(
-
- /* connector object id */
- params.usInitInfo =
-- cpu_to_le16((uint8_t)(cntl->connector_obj_id.id));
-+ cpu_to_le16((uint8_t)(cntl->connector_obj_id.id));
- break;
- case TRANSMITTER_CONTROL_SET_VOLTAGE_AND_PREEMPASIS:
- /* votage swing and pre-emphsis */
-@@ -608,26 +616,26 @@ static enum bp_result transmitter_control_v3(
- * We need to convert from KHz units into 20KHz units
- */
- params.usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 20));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 20));
- } else {
- /* link rate, half for dual link
- * We need to convert from KHz units into 10KHz units
- */
- params.usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
- if (cntl->signal == SIGNAL_TYPE_HDMI_TYPE_A)
- switch (cntl->color_depth) {
- case COLOR_DEPTH_101010:
- params.usPixelClock =
-- cpu_to_le16((le16_to_cpu(params.usPixelClock) * 30) / 24);
-+ cpu_to_le16((le16_to_cpu(params.usPixelClock) * 30) / 24);
- break;
- case COLOR_DEPTH_121212:
- params.usPixelClock =
-- cpu_to_le16((le16_to_cpu(params.usPixelClock) * 36) / 24);
-+ cpu_to_le16((le16_to_cpu(params.usPixelClock) * 36) / 24);
- break;
- case COLOR_DEPTH_161616:
- params.usPixelClock =
-- cpu_to_le16((le16_to_cpu(params.usPixelClock) * 48) / 24);
-+ cpu_to_le16((le16_to_cpu(params.usPixelClock) * 48) / 24);
- break;
- default:
- break;
-@@ -643,8 +651,8 @@ static enum bp_result transmitter_control_v3(
- params.acConfig.fCoherentMode = cntl->coherent;
-
- if ((TRANSMITTER_UNIPHY_B == cntl->transmitter)
-- || (TRANSMITTER_UNIPHY_D == cntl->transmitter)
-- || (TRANSMITTER_UNIPHY_F == cntl->transmitter))
-+ || (TRANSMITTER_UNIPHY_D == cntl->transmitter)
-+ || (TRANSMITTER_UNIPHY_F == cntl->transmitter))
- /* Bit2: Transmitter Link selection
- * =0 when bit0=0, single link A/C/E, when bit0=1,
- * master link A/C/E
-@@ -668,7 +676,7 @@ static enum bp_result transmitter_control_v3(
- * =3 reserved
- */
- params.acConfig.ucTransmitterSel =
-- (uint8_t)cmd->transmitter_bp_to_atom(cntl->transmitter);
-+ (uint8_t)cmd->transmitter_bp_to_atom(cntl->transmitter);
-
- params.ucLaneNum = (uint8_t)cntl->lanes_number;
-
-@@ -690,7 +698,7 @@ static enum bp_result transmitter_control_v4(
- DIG_TRANSMITTER_CONTROL_PARAMETERS_V4 params;
- uint32_t ref_clk_src_id;
- enum connector_id conn_id =
-- dal_graphics_object_id_get_connector_id(cntl->connector_obj_id);
-+ dal_graphics_object_id_get_connector_id(cntl->connector_obj_id);
- const struct command_table_helper *cmd = bp->cmd_helper;
-
- dc_service_memset(&params, 0, sizeof(params));
-@@ -715,7 +723,7 @@ static enum bp_result transmitter_control_v4(
- case TRANSMITTER_CONTROL_INIT:
- {
- if ((CONNECTOR_ID_DUAL_LINK_DVII == conn_id) ||
-- (CONNECTOR_ID_DUAL_LINK_DVID == conn_id))
-+ (CONNECTOR_ID_DUAL_LINK_DVID == conn_id))
- /* on INIT this bit should be set according to the
- * phisycal connector
- * Bit0: dual link connector flag
-@@ -726,7 +734,7 @@ static enum bp_result transmitter_control_v4(
-
- /* connector object id */
- params.usInitInfo =
-- cpu_to_le16((uint8_t)(cntl->connector_obj_id.id));
-+ cpu_to_le16((uint8_t)(cntl->connector_obj_id.id));
- }
- break;
- case TRANSMITTER_CONTROL_SET_VOLTAGE_AND_PREEMPASIS:
-@@ -736,7 +744,7 @@ static enum bp_result transmitter_control_v4(
- break;
- default:
- if ((CONNECTOR_ID_DUAL_LINK_DVII == conn_id) ||
-- (CONNECTOR_ID_DUAL_LINK_DVID == conn_id))
-+ (CONNECTOR_ID_DUAL_LINK_DVID == conn_id))
- /* on ENABLE/DISABLE this bit should be set according to
- * actual timing (number of lanes)
- * Bit0: dual link connector flag
-@@ -751,27 +759,27 @@ static enum bp_result transmitter_control_v4(
- * We need to convert from KHz units into 20KHz units
- */
- params.usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 20));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 20));
- else {
- /* link rate, half for dual link
- * We need to convert from KHz units into 10KHz units
- */
- params.usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
-
- if (cntl->signal == SIGNAL_TYPE_HDMI_TYPE_A)
- switch (cntl->color_depth) {
- case COLOR_DEPTH_101010:
- params.usPixelClock =
-- cpu_to_le16((le16_to_cpu(params.usPixelClock) * 30) / 24);
-+ cpu_to_le16((le16_to_cpu(params.usPixelClock) * 30) / 24);
- break;
- case COLOR_DEPTH_121212:
- params.usPixelClock =
-- cpu_to_le16((le16_to_cpu(params.usPixelClock) * 36) / 24);
-+ cpu_to_le16((le16_to_cpu(params.usPixelClock) * 36) / 24);
- break;
- case COLOR_DEPTH_161616:
- params.usPixelClock =
-- cpu_to_le16((le16_to_cpu(params.usPixelClock) * 48) / 24);
-+ cpu_to_le16((le16_to_cpu(params.usPixelClock) * 48) / 24);
- break;
- default:
- break;
-@@ -878,8 +886,8 @@ static enum bp_result transmitter_control_v1_5(
- break;
- }
- break;
-- default:
-- break;
-+ default:
-+ break;
- }
-
- if (EXEC_BIOS_CMD_TABLE(UNIPHYTransmitterControl, params))
-@@ -888,13 +896,76 @@ static enum bp_result transmitter_control_v1_5(
- return result;
- }
-
-+static enum bp_result transmitter_control_v1_6(
-+ struct bios_parser *bp,
-+ struct bp_transmitter_control *cntl)
-+{
-+ enum bp_result result = BP_RESULT_FAILURE;
-+#ifdef LATEST_ATOM_BIOS_SUPPORT
-+ const struct command_table_helper *cmd = bp->cmd_helper;
-+ DIG_TRANSMITTER_CONTROL_PARAMETERS_V1_6 params;
-+
-+ dc_service_memset(&params, 0, sizeof(params));
-+ params.ucPhyId = cmd->phy_id_to_atom(cntl->transmitter);
-+ params.ucAction = (uint8_t)cntl->action;
-+
-+ if (cntl->action == TRANSMITTER_CONTROL_SET_VOLTAGE_AND_PREEMPASIS)
-+ params.ucDPLaneSet = (uint8_t)cntl->lane_settings;
-+ else
-+ params.ucDigMode = cmd->signal_type_to_atom_dig_mode(cntl->signal);
-+
-+ params.ucLaneNum = (uint8_t)cntl->lanes_number;
-+ params.ucHPDSel = cmd->hpd_sel_to_atom(cntl->hpd_sel);
-+ params.ucDigEncoderSel = cmd->dig_encoder_sel_to_atom(cntl->engine_id);
-+ params.ucConnObjId = (uint8_t)cntl->connector_obj_id.id;
-+ params.ulSymClock = cntl->pixel_clock/10;
-+
-+ /*
-+ * In SI/TN case, caller have to set usPixelClock as following:
-+ * DP mode: usPixelClock = DP_LINK_CLOCK/10
-+ * (DP_LINK_CLOCK = 1.62GHz, 2.7GHz, 5.4GHz)
-+ * DVI single link mode: usPixelClock = pixel clock
-+ * DVI dual link mode: usPixelClock = pixel clock
-+ * HDMI mode: usPixelClock = pixel clock * deep_color_ratio
-+ * (=1: 8bpp, =1.25: 10bpp, =1.5:12bpp, =2: 16bpp)
-+ * LVDS mode: usPixelClock = pixel clock
-+ */
-+ switch (cntl->signal) {
-+ case SIGNAL_TYPE_HDMI_TYPE_A:
-+ switch (cntl->color_depth) {
-+ case COLOR_DEPTH_101010:
-+ params.ulSymClock =
-+ cpu_to_le16((le16_to_cpu(params.ulSymClock) * 30) / 24);
-+ break;
-+ case COLOR_DEPTH_121212:
-+ params.ulSymClock =
-+ cpu_to_le16((le16_to_cpu(params.ulSymClock) * 36) / 24);
-+ break;
-+ case COLOR_DEPTH_161616:
-+ params.ulSymClock =
-+ cpu_to_le16((le16_to_cpu(params.ulSymClock) * 48) / 24);
-+ break;
-+ default:
-+ break;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ if (EXEC_BIOS_CMD_TABLE(UNIPHYTransmitterControl, params))
-+ result = BP_RESULT_OK;
-+#endif
-+ return result;
-+}
-+
- /*******************************************************************************
--********************************************************************************
--**
--** SET PIXEL CLOCK
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** SET PIXEL CLOCK
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result set_pixel_clock_v3(
- struct bios_parser *bp,
-@@ -905,6 +976,9 @@ static enum bp_result set_pixel_clock_v5(
- static enum bp_result set_pixel_clock_v6(
- struct bios_parser *bp,
- struct bp_pixel_clock_parameters *bp_params);
-+static enum bp_result set_pixel_clock_v7(
-+ struct bios_parser *bp,
-+ struct bp_pixel_clock_parameters *bp_params);
-
- static void init_set_pixel_clock(struct bios_parser *bp)
- {
-@@ -918,6 +992,9 @@ static void init_set_pixel_clock(struct bios_parser *bp)
- case 6:
- bp->cmd_tbl.set_pixel_clock = set_pixel_clock_v6;
- break;
-+ case 7:
-+ bp->cmd_tbl.set_pixel_clock = set_pixel_clock_v7;
-+ break;
- default:
- bp->cmd_tbl.set_pixel_clock = NULL;
- break;
-@@ -942,26 +1019,26 @@ static enum bp_result set_pixel_clock_v3(
- return BP_RESULT_BADINPUT;
-
- allocation.sPCLKInput.usRefDiv =
-- cpu_to_le16((uint16_t)bp_params->reference_divider);
-+ cpu_to_le16((uint16_t)bp_params->reference_divider);
- allocation.sPCLKInput.usFbDiv =
-- cpu_to_le16((uint16_t)bp_params->feedback_divider);
-+ cpu_to_le16((uint16_t)bp_params->feedback_divider);
- allocation.sPCLKInput.ucFracFbDiv =
-- (uint8_t)bp_params->fractional_feedback_divider;
-+ (uint8_t)bp_params->fractional_feedback_divider;
- allocation.sPCLKInput.ucPostDiv =
-- (uint8_t)bp_params->pixel_clock_post_divider;
-+ (uint8_t)bp_params->pixel_clock_post_divider;
-
- /* We need to convert from KHz units into 10KHz units */
- allocation.sPCLKInput.usPixelClock =
-- cpu_to_le16((uint16_t)(bp_params->target_pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(bp_params->target_pixel_clock / 10));
-
- params = (PIXEL_CLOCK_PARAMETERS_V3 *)&allocation.sPCLKInput;
- params->ucTransmitterId =
-- bp->cmd_helper->encoder_id_to_atom(
-- dal_graphics_object_id_get_encoder_id(
-- bp_params->encoder_object_id));
-+ bp->cmd_helper->encoder_id_to_atom(
-+ dal_graphics_object_id_get_encoder_id(
-+ bp_params->encoder_object_id));
- params->ucEncoderMode =
-- (uint8_t)(bp->cmd_helper->encoder_mode_bp_to_atom(
-- bp_params->signal_type, false));
-+ (uint8_t)(bp->cmd_helper->encoder_mode_bp_to_atom(
-+ bp_params->signal_type, false));
-
- if (bp_params->flags.FORCE_PROGRAMMING_OF_PLL)
- params->ucMiscInfo |= PIXEL_CLOCK_MISC_FORCE_PROG_PPLL;
-@@ -1008,37 +1085,37 @@ static enum bp_result set_pixel_clock_v5(
- dc_service_memset(&clk, 0, sizeof(clk));
-
- if (bp->cmd_helper->clock_source_id_to_atom(bp_params->pll_id, &pll_id)
-- && bp->cmd_helper->controller_id_to_atom(
-- bp_params->controller_id, &controller_id)) {
-+ && bp->cmd_helper->controller_id_to_atom(
-+ bp_params->controller_id, &controller_id)) {
- clk.sPCLKInput.ucCRTC = controller_id;
- clk.sPCLKInput.ucPpll = (uint8_t)pll_id;
- clk.sPCLKInput.ucRefDiv =
-- (uint8_t)(bp_params->reference_divider);
-+ (uint8_t)(bp_params->reference_divider);
- clk.sPCLKInput.usFbDiv =
-- cpu_to_le16((uint16_t)(bp_params->feedback_divider));
-+ cpu_to_le16((uint16_t)(bp_params->feedback_divider));
- clk.sPCLKInput.ulFbDivDecFrac =
-- cpu_to_le32(bp_params->fractional_feedback_divider);
-+ cpu_to_le32(bp_params->fractional_feedback_divider);
- clk.sPCLKInput.ucPostDiv =
-- (uint8_t)(bp_params->pixel_clock_post_divider);
-+ (uint8_t)(bp_params->pixel_clock_post_divider);
- clk.sPCLKInput.ucTransmitterID =
-- bp->cmd_helper->encoder_id_to_atom(
-- dal_graphics_object_id_get_encoder_id(
-- bp_params->encoder_object_id));
-+ bp->cmd_helper->encoder_id_to_atom(
-+ dal_graphics_object_id_get_encoder_id(
-+ bp_params->encoder_object_id));
- clk.sPCLKInput.ucEncoderMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- bp_params->signal_type, false);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ bp_params->signal_type, false);
-
- /* We need to convert from KHz units into 10KHz units */
- clk.sPCLKInput.usPixelClock =
-- cpu_to_le16((uint16_t)(bp_params->target_pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(bp_params->target_pixel_clock / 10));
-
- if (bp_params->flags.FORCE_PROGRAMMING_OF_PLL)
- clk.sPCLKInput.ucMiscInfo |=
-- PIXEL_CLOCK_MISC_FORCE_PROG_PPLL;
-+ PIXEL_CLOCK_MISC_FORCE_PROG_PPLL;
-
- if (bp_params->flags.SET_EXTERNAL_REF_DIV_SRC)
- clk.sPCLKInput.ucMiscInfo |=
-- PIXEL_CLOCK_MISC_REF_DIV_SRC;
-+ PIXEL_CLOCK_MISC_REF_DIV_SRC;
-
- /* clkV5.ucMiscInfo bit[3:2]= HDMI panel bit depth: =0: 24bpp
- * =1:30bpp, =2:32bpp
-@@ -1065,8 +1142,8 @@ static enum bp_result set_pixel_clock_v6(
- dc_service_memset(&clk, 0, sizeof(clk));
-
- if (bp->cmd_helper->clock_source_id_to_atom(bp_params->pll_id, &pll_id)
-- && bp->cmd_helper->controller_id_to_atom(
-- bp_params->controller_id, &controller_id)) {
-+ && bp->cmd_helper->controller_id_to_atom(
-+ bp_params->controller_id, &controller_id)) {
- /* Note: VBIOS still wants to use ucCRTC name which is now
- * 1 byte in ULONG
- *typedef struct _CRTC_PIXEL_CLOCK_FREQ
-@@ -1089,33 +1166,33 @@ static enum bp_result set_pixel_clock_v6(
- clk.sPCLKInput.ulCrtcPclkFreq.ucCRTC = controller_id;
- clk.sPCLKInput.ucPpll = (uint8_t) pll_id;
- clk.sPCLKInput.ucRefDiv =
-- (uint8_t) bp_params->reference_divider;
-+ (uint8_t) bp_params->reference_divider;
- clk.sPCLKInput.usFbDiv =
-- cpu_to_le16((uint16_t) bp_params->feedback_divider);
-+ cpu_to_le16((uint16_t) bp_params->feedback_divider);
- clk.sPCLKInput.ulFbDivDecFrac =
-- cpu_to_le32(bp_params->fractional_feedback_divider);
-+ cpu_to_le32(bp_params->fractional_feedback_divider);
- clk.sPCLKInput.ucPostDiv =
-- (uint8_t) bp_params->pixel_clock_post_divider;
-+ (uint8_t) bp_params->pixel_clock_post_divider;
- clk.sPCLKInput.ucTransmitterID =
-- bp->cmd_helper->encoder_id_to_atom(
-- dal_graphics_object_id_get_encoder_id(
-- bp_params->encoder_object_id));
-+ bp->cmd_helper->encoder_id_to_atom(
-+ dal_graphics_object_id_get_encoder_id(
-+ bp_params->encoder_object_id));
- clk.sPCLKInput.ucEncoderMode =
-- (uint8_t) bp->cmd_helper->encoder_mode_bp_to_atom(
-- bp_params->signal_type, false);
-+ (uint8_t) bp->cmd_helper->encoder_mode_bp_to_atom(
-+ bp_params->signal_type, false);
-
- /* We need to convert from KHz units into 10KHz units */
- clk.sPCLKInput.ulCrtcPclkFreq.ulPixelClock =
-- cpu_to_le32(bp_params->target_pixel_clock / 10);
-+ cpu_to_le32(bp_params->target_pixel_clock / 10);
-
- if (bp_params->flags.FORCE_PROGRAMMING_OF_PLL) {
- clk.sPCLKInput.ucMiscInfo |=
-- PIXEL_CLOCK_V6_MISC_FORCE_PROG_PPLL;
-+ PIXEL_CLOCK_V6_MISC_FORCE_PROG_PPLL;
- }
-
- if (bp_params->flags.SET_EXTERNAL_REF_DIV_SRC) {
- clk.sPCLKInput.ucMiscInfo |=
-- PIXEL_CLOCK_V6_MISC_REF_DIV_SRC;
-+ PIXEL_CLOCK_V6_MISC_REF_DIV_SRC;
- }
-
- /* clkV6.ucMiscInfo bit[3:2]= HDMI panel bit depth: =0:
-@@ -1131,13 +1208,84 @@ static enum bp_result set_pixel_clock_v6(
- return result;
- }
-
-+static enum bp_result set_pixel_clock_v7(
-+ struct bios_parser *bp,
-+ struct bp_pixel_clock_parameters *bp_params)
-+{
-+ enum bp_result result = BP_RESULT_FAILURE;
-+#ifdef LATEST_ATOM_BIOS_SUPPORT
-+ PIXEL_CLOCK_PARAMETERS_V7 clk;
-+ uint8_t controller_id;
-+ uint32_t pll_id;
-+
-+ dc_service_memset(&clk, 0, sizeof(clk));
-+
-+ if (bp->cmd_helper->clock_source_id_to_atom(bp_params->pll_id, &pll_id)
-+ && bp->cmd_helper->controller_id_to_atom(bp_params->controller_id, &controller_id)) {
-+ /* Note: VBIOS still wants to use ucCRTC name which is now
-+ * 1 byte in ULONG
-+ *typedef struct _CRTC_PIXEL_CLOCK_FREQ
-+ *{
-+ * target the pixel clock to drive the CRTC timing.
-+ * ULONG ulPixelClock:24;
-+ * 0 means disable PPLL/DCPLL. Expanded to 24 bits comparing to
-+ * previous version.
-+ * ATOM_CRTC1~6, indicate the CRTC controller to
-+ * ULONG ucCRTC:8;
-+ * drive the pixel clock. not used for DCPLL case.
-+ *}CRTC_PIXEL_CLOCK_FREQ;
-+ *union
-+ *{
-+ * pixel clock and CRTC id frequency
-+ * CRTC_PIXEL_CLOCK_FREQ ulCrtcPclkFreq;
-+ * ULONG ulDispEngClkFreq; dispclk frequency
-+ *};
-+ */
-+ clk.ucCRTC = controller_id;
-+ clk.ucPpll = (uint8_t) pll_id;
-+ clk.ucTransmitterID = bp->cmd_helper->encoder_id_to_atom(dal_graphics_object_id_get_encoder_id(bp_params->encoder_object_id));
-+ clk.ucEncoderMode = (uint8_t) bp->cmd_helper->encoder_mode_bp_to_atom(bp_params->signal_type, false);
-+
-+ /* We need to convert from KHz units into 10KHz units */
-+ clk.ulPixelClock = cpu_to_le32(bp_params->target_pixel_clock / 10);
-+
-+ clk.ucDeepColorRatio = (uint8_t) bp->cmd_helper->transmitter_color_depth_to_atom(bp_params->color_depth);
-+
-+ if (bp_params->flags.FORCE_PROGRAMMING_OF_PLL)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_FORCE_PROG_PPLL;
-+
-+ if (bp_params->flags.SET_EXTERNAL_REF_DIV_SRC)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_REF_DIV_SRC;
-+
-+ if (bp_params->flags.PROGRAM_PHY_PLL_ONLY)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_PROG_PHYPLL;
-+
-+ if (bp_params->flags.SUPPORT_YUV_420)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_YUV420_MODE;
-+
-+ if (bp_params->flags.SET_XTALIN_REF_SRC)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_REF_DIV_SRC_XTALIN;
-+
-+ if (bp_params->flags.SET_GENLOCK_REF_DIV_SRC)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_REF_DIV_SRC_GENLK;
-+
-+ if (bp_params->signal_type == SIGNAL_TYPE_DVI_DUAL_LINK)
-+ clk.ucMiscInfo |= PIXEL_CLOCK_V7_MISC_DVI_DUALLINK_EN;
-+
-+ if (EXEC_BIOS_CMD_TABLE(SetPixelClock, clk))
-+ result = BP_RESULT_OK;
-+ }
-+#endif
-+ return result;
-+}
-+
- /*******************************************************************************
--********************************************************************************
--**
--** ENABLE PIXEL CLOCK SS
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** ENABLE PIXEL CLOCK SS
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
- static enum bp_result enable_spread_spectrum_on_ppll_v1(
- struct bios_parser *bp,
- struct bp_spread_spectrum_parameters *bp_params,
-@@ -1156,15 +1304,15 @@ static void init_enable_spread_spectrum_on_ppll(struct bios_parser *bp)
- switch (BIOS_CMD_TABLE_PARA_REVISION(EnableSpreadSpectrumOnPPLL)) {
- case 1:
- bp->cmd_tbl.enable_spread_spectrum_on_ppll =
-- enable_spread_spectrum_on_ppll_v1;
-+ enable_spread_spectrum_on_ppll_v1;
- break;
- case 2:
- bp->cmd_tbl.enable_spread_spectrum_on_ppll =
-- enable_spread_spectrum_on_ppll_v2;
-+ enable_spread_spectrum_on_ppll_v2;
- break;
- case 3:
- bp->cmd_tbl.enable_spread_spectrum_on_ppll =
-- enable_spread_spectrum_on_ppll_v3;
-+ enable_spread_spectrum_on_ppll_v3;
- break;
- default:
- bp->cmd_tbl.enable_spread_spectrum_on_ppll = NULL;
-@@ -1188,14 +1336,14 @@ static enum bp_result enable_spread_spectrum_on_ppll_v1(
- params.ucEnable = ATOM_DISABLE;
-
- params.usSpreadSpectrumPercentage =
-- cpu_to_le16((uint16_t)bp_params->percentage);
-+ cpu_to_le16((uint16_t)bp_params->percentage);
- params.ucSpreadSpectrumStep =
-- (uint8_t)bp_params->ver1.step;
-+ (uint8_t)bp_params->ver1.step;
- params.ucSpreadSpectrumDelay =
-- (uint8_t)bp_params->ver1.delay;
-+ (uint8_t)bp_params->ver1.delay;
- /* convert back to unit of 10KHz */
- params.ucSpreadSpectrumRange =
-- (uint8_t)(bp_params->ver1.range / 10000);
-+ (uint8_t)(bp_params->ver1.range / 10000);
-
- if (bp_params->flags.EXTERNAL_SS)
- params.ucSpreadSpectrumType |= ATOM_EXTERNAL_SS_MASK;
-@@ -1237,28 +1385,28 @@ static enum bp_result enable_spread_spectrum_on_ppll_v2(
- params.ucEnable = ATOM_ENABLE;
-
- params.usSpreadSpectrumPercentage =
-- cpu_to_le16((uint16_t)(bp_params->percentage));
-+ cpu_to_le16((uint16_t)(bp_params->percentage));
- params.usSpreadSpectrumStep =
-- cpu_to_le16((uint16_t)(bp_params->ds.ds_frac_size));
-+ cpu_to_le16((uint16_t)(bp_params->ds.ds_frac_size));
-
- if (bp_params->flags.EXTERNAL_SS)
- params.ucSpreadSpectrumType |=
-- ATOM_PPLL_SS_TYPE_V2_EXT_SPREAD;
-+ ATOM_PPLL_SS_TYPE_V2_EXT_SPREAD;
-
- if (bp_params->flags.CENTER_SPREAD)
- params.ucSpreadSpectrumType |=
-- ATOM_PPLL_SS_TYPE_V2_CENTRE_SPREAD;
-+ ATOM_PPLL_SS_TYPE_V2_CENTRE_SPREAD;
-
- /* Both amounts need to be left shifted first before bit
- * comparison. Otherwise, the result will always be zero here
- */
- params.usSpreadSpectrumAmount = cpu_to_le16((uint16_t)(
-- ((bp_params->ds.feedback_amount <<
-- ATOM_PPLL_SS_AMOUNT_V2_FBDIV_SHIFT) &
-- ATOM_PPLL_SS_AMOUNT_V2_FBDIV_MASK) |
-- ((bp_params->ds.nfrac_amount <<
-- ATOM_PPLL_SS_AMOUNT_V2_NFRAC_SHIFT) &
-- ATOM_PPLL_SS_AMOUNT_V2_NFRAC_MASK)));
-+ ((bp_params->ds.feedback_amount <<
-+ ATOM_PPLL_SS_AMOUNT_V2_FBDIV_SHIFT) &
-+ ATOM_PPLL_SS_AMOUNT_V2_FBDIV_MASK) |
-+ ((bp_params->ds.nfrac_amount <<
-+ ATOM_PPLL_SS_AMOUNT_V2_NFRAC_SHIFT) &
-+ ATOM_PPLL_SS_AMOUNT_V2_NFRAC_MASK)));
- } else
- params.ucEnable = ATOM_DISABLE;
-
-@@ -1307,27 +1455,27 @@ static enum bp_result enable_spread_spectrum_on_ppll_v3(
- params.ucEnable = ATOM_ENABLE;
-
- params.usSpreadSpectrumAmountFrac =
-- cpu_to_le16((uint16_t)(bp_params->ds_frac_amount));
-+ cpu_to_le16((uint16_t)(bp_params->ds_frac_amount));
- params.usSpreadSpectrumStep =
-- cpu_to_le16((uint16_t)(bp_params->ds.ds_frac_size));
-+ cpu_to_le16((uint16_t)(bp_params->ds.ds_frac_size));
-
- if (bp_params->flags.EXTERNAL_SS)
- params.ucSpreadSpectrumType |=
-- ATOM_PPLL_SS_TYPE_V3_EXT_SPREAD;
-+ ATOM_PPLL_SS_TYPE_V3_EXT_SPREAD;
- if (bp_params->flags.CENTER_SPREAD)
- params.ucSpreadSpectrumType |=
-- ATOM_PPLL_SS_TYPE_V3_CENTRE_SPREAD;
-+ ATOM_PPLL_SS_TYPE_V3_CENTRE_SPREAD;
-
- /* Both amounts need to be left shifted first before bit
- * comparison. Otherwise, the result will always be zero here
- */
- params.usSpreadSpectrumAmount = cpu_to_le16((uint16_t)(
-- ((bp_params->ds.feedback_amount <<
-- ATOM_PPLL_SS_AMOUNT_V3_FBDIV_SHIFT) &
-- ATOM_PPLL_SS_AMOUNT_V3_FBDIV_MASK) |
-- ((bp_params->ds.nfrac_amount <<
-- ATOM_PPLL_SS_AMOUNT_V3_NFRAC_SHIFT) &
-- ATOM_PPLL_SS_AMOUNT_V3_NFRAC_MASK)));
-+ ((bp_params->ds.feedback_amount <<
-+ ATOM_PPLL_SS_AMOUNT_V3_FBDIV_SHIFT) &
-+ ATOM_PPLL_SS_AMOUNT_V3_FBDIV_MASK) |
-+ ((bp_params->ds.nfrac_amount <<
-+ ATOM_PPLL_SS_AMOUNT_V3_NFRAC_SHIFT) &
-+ ATOM_PPLL_SS_AMOUNT_V3_NFRAC_MASK)));
- } else
- params.ucEnable = ATOM_DISABLE;
-
-@@ -1338,12 +1486,12 @@ static enum bp_result enable_spread_spectrum_on_ppll_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** ADJUST DISPLAY PLL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** ADJUST DISPLAY PLL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result adjust_display_pll_v2(
- struct bios_parser *bp,
-@@ -1372,7 +1520,7 @@ static bool adjust_display_pll_bug_patch(ADJUST_DISPLAY_PLL_PARAMETERS *params)
- /* vbios bug: pixel clock should not be doubled for DVO with 24bit
- * interface */
- if ((params->ucTransmitterID == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1)
-- && (params->ucDVOConfig == DVO_ENCODER_CONFIG_24BIT))
-+ && (params->ucDVOConfig == DVO_ENCODER_CONFIG_24BIT))
- /* the current pixel clock is good. no adjustment is required */
- return true;
- return false;
-@@ -1391,16 +1539,16 @@ static enum bp_result adjust_display_pll_v2(
-
- params.usPixelClock = cpu_to_le16((uint16_t)(pixel_clock_10KHz_in));
- params.ucTransmitterID =
-- bp->cmd_helper->encoder_id_to_atom(
-- dal_graphics_object_id_get_encoder_id(
-- bp_params->encoder_object_id));
-+ bp->cmd_helper->encoder_id_to_atom(
-+ dal_graphics_object_id_get_encoder_id(
-+ bp_params->encoder_object_id));
- params.ucEncodeMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- bp_params->signal_type, false);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ bp_params->signal_type, false);
- params.ucDVOConfig = (uint8_t)(bp_params->dvo_config);
-
- if (adjust_display_pll_bug_patch(&params)
-- || EXEC_BIOS_CMD_TABLE(AdjustDisplayPll, params)) {
-+ || EXEC_BIOS_CMD_TABLE(AdjustDisplayPll, params)) {
- /* Convert output pixel clock back 10KHz-->KHz: multiply
- * original pixel clock in KHz by ratio
- * [output pxlClk/input pxlClk] */
-@@ -1409,8 +1557,8 @@ static enum bp_result adjust_display_pll_v2(
- uint64_t pixel_clock = (uint64_t)bp_params->pixel_clock;
-
- bp_params->adjusted_pixel_clock =
-- div_u64(pixel_clock * pixel_clock_10KHz_out,
-- pixel_clock_10KHz_in);
-+ div_u64(pixel_clock * pixel_clock_10KHz_out,
-+ pixel_clock_10KHz_in);
- result = BP_RESULT_OK;
- }
-
-@@ -1431,31 +1579,31 @@ static enum bp_result adjust_display_pll_v3(
- * output pixel clock back 10KHz-->KHz */
- params.sInput.usPixelClock = cpu_to_le16((uint16_t)pixel_clk_10_kHz_in);
- params.sInput.ucTransmitterID =
-- bp->cmd_helper->encoder_id_to_atom(
-- dal_graphics_object_id_get_encoder_id(
-- bp_params->encoder_object_id));
-+ bp->cmd_helper->encoder_id_to_atom(
-+ dal_graphics_object_id_get_encoder_id(
-+ bp_params->encoder_object_id));
- params.sInput.ucEncodeMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- bp_params->signal_type, false);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ bp_params->signal_type, false);
-
- if (DISP_PLL_CONFIG_DVO_DDR_MODE_LOW_12BIT ==
-- bp_params->display_pll_config)
-+ bp_params->display_pll_config)
- params.sInput.ucDispPllConfig =
-- DISPPLL_CONFIG_DVO_DDR_SPEED |
-- DISPPLL_CONFIG_DVO_LOW12BIT;
-+ DISPPLL_CONFIG_DVO_DDR_SPEED |
-+ DISPPLL_CONFIG_DVO_LOW12BIT;
- else if (DISP_PLL_CONFIG_DVO_DDR_MODE_UPPER_12BIT ==
-- bp_params->display_pll_config)
-+ bp_params->display_pll_config)
- params.sInput.ucDispPllConfig =
-- DISPPLL_CONFIG_DVO_DDR_SPEED |
-- DISPPLL_CONFIG_DVO_UPPER12BIT;
-+ DISPPLL_CONFIG_DVO_DDR_SPEED |
-+ DISPPLL_CONFIG_DVO_UPPER12BIT;
- else if (DISP_PLL_CONFIG_DVO_DDR_MODE_24BIT ==
-- bp_params->display_pll_config)
-+ bp_params->display_pll_config)
- params.sInput.ucDispPllConfig =
-- DISPPLL_CONFIG_DVO_DDR_SPEED | DISPPLL_CONFIG_DVO_24BIT;
-+ DISPPLL_CONFIG_DVO_DDR_SPEED | DISPPLL_CONFIG_DVO_24BIT;
- else
- /* this does not mean anything here */
- params.sInput.ucDispPllConfig =
-- (uint8_t)(bp_params->display_pll_config);
-+ (uint8_t)(bp_params->display_pll_config);
-
- if (bp_params->ss_enable == true)
- params.sInput.ucDispPllConfig |= DISPPLL_CONFIG_SS_ENABLE;
-@@ -1468,13 +1616,13 @@ static enum bp_result adjust_display_pll_v3(
- * original pixel clock in KHz by ratio
- * [output pxlClk/input pxlClk] */
- uint64_t pixel_clk_10_khz_out =
-- (uint64_t)le32_to_cpu(params.sOutput.ulDispPllFreq);
-+ (uint64_t)le32_to_cpu(params.sOutput.ulDispPllFreq);
- uint64_t pixel_clk = (uint64_t)bp_params->pixel_clock;
-
- if (pixel_clk_10_kHz_in != 0) {
- bp_params->adjusted_pixel_clock =
-- div_u64(pixel_clk * pixel_clk_10_khz_out,
-- pixel_clk_10_kHz_in);
-+ div_u64(pixel_clk * pixel_clk_10_khz_out,
-+ pixel_clk_10_kHz_in);
- } else {
- bp_params->adjusted_pixel_clock = 0;
- BREAK_TO_DEBUGGER();
-@@ -1490,12 +1638,12 @@ static enum bp_result adjust_display_pll_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** DAC ENCODER CONTROL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** DAC ENCODER CONTROL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result dac1_encoder_control_v1(
- struct bios_parser *bp,
-@@ -1589,12 +1737,12 @@ static enum bp_result dac2_encoder_control_v1(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** DAC OUTPUT CONTROL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** DAC OUTPUT CONTROL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
- static enum bp_result dac1_output_control_v1(
- struct bios_parser *bp,
- bool enable);
-@@ -1623,7 +1771,7 @@ static void init_dac_output_control(struct bios_parser *bp)
- }
-
- static enum bp_result dac1_output_control_v1(
-- struct bios_parser *bp, bool enable)
-+ struct bios_parser *bp, bool enable)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION params;
-@@ -1640,7 +1788,7 @@ static enum bp_result dac1_output_control_v1(
- }
-
- static enum bp_result dac2_output_control_v1(
-- struct bios_parser *bp, bool enable)
-+ struct bios_parser *bp, bool enable)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION params;
-@@ -1657,12 +1805,12 @@ static enum bp_result dac2_output_control_v1(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** DAC LOAD DETECTION
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** DAC LOAD DETECTION
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum signal_type dac_load_detection_v3(
- struct bios_parser *bp,
-@@ -1711,8 +1859,8 @@ static enum signal_type dac_load_detection_v3(
- break;
- }
- break;
-- default:
-- return signal;
-+ default:
-+ return signal;
- }
-
- /* set the encoder to detect on */
-@@ -1736,10 +1884,10 @@ static enum signal_type dac_load_detection_v3(
- return signal;
- #if defined(CONFIG_DRM_AMD_DAL_VBIOS_PRESENT)
- signal = bp->bios_helper->detect_sink(
-- bp->ctx,
-- encoder,
-- connector,
-- display_signal);
-+ bp->ctx,
-+ encoder,
-+ connector,
-+ display_signal);
- #else
- BREAK_TO_DEBUGGER(); /* VBios is needed */
- #endif
-@@ -1748,17 +1896,17 @@ static enum signal_type dac_load_detection_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** BLANK CRTC
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** BLANK CRTC
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result blank_crtc_v1(
-- struct bios_parser *bp,
-- struct bp_blank_crtc_parameters *bp_params,
-- bool blank);
-+ struct bios_parser *bp,
-+ struct bp_blank_crtc_parameters *bp_params,
-+ bool blank);
-
- static void init_blank_crtc(struct bios_parser *bp)
- {
-@@ -1773,9 +1921,9 @@ static void init_blank_crtc(struct bios_parser *bp)
- }
-
- static enum bp_result blank_crtc_v1(
-- struct bios_parser *bp,
-- struct bp_blank_crtc_parameters *bp_params,
-- bool blank)
-+ struct bios_parser *bp,
-+ struct bp_blank_crtc_parameters *bp_params,
-+ bool blank)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- BLANK_CRTC_PARAMETERS params = {0};
-@@ -1790,11 +1938,11 @@ static enum bp_result blank_crtc_v1(
- else
- params.ucBlanking = ATOM_BLANKING_OFF;
- params.usBlackColorRCr =
-- cpu_to_le16((uint16_t)bp_params->black_color_rcr);
-+ cpu_to_le16((uint16_t)bp_params->black_color_rcr);
- params.usBlackColorGY =
-- cpu_to_le16((uint16_t)bp_params->black_color_gy);
-+ cpu_to_le16((uint16_t)bp_params->black_color_gy);
- params.usBlackColorBCb =
-- cpu_to_le16((uint16_t)bp_params->black_color_bcb);
-+ cpu_to_le16((uint16_t)bp_params->black_color_bcb);
-
- if (EXEC_BIOS_CMD_TABLE(BlankCRTC, params))
- result = BP_RESULT_OK;
-@@ -1808,29 +1956,29 @@ static enum bp_result blank_crtc_v1(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** SET CRTC TIMING
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** SET CRTC TIMING
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result set_crtc_using_dtd_timing_v3(
-- struct bios_parser *bp,
-- struct bp_hw_crtc_timing_parameters *bp_params);
-+ struct bios_parser *bp,
-+ struct bp_hw_crtc_timing_parameters *bp_params);
- static enum bp_result set_crtc_timing_v1(
-- struct bios_parser *bp,
-- struct bp_hw_crtc_timing_parameters *bp_params);
-+ struct bios_parser *bp,
-+ struct bp_hw_crtc_timing_parameters *bp_params);
-
- static void init_set_crtc_timing(struct bios_parser *bp)
- {
- uint32_t dtd_version =
-- BIOS_CMD_TABLE_PARA_REVISION(SetCRTC_UsingDTDTiming);
-+ BIOS_CMD_TABLE_PARA_REVISION(SetCRTC_UsingDTDTiming);
- if (dtd_version > 2)
- switch (dtd_version) {
- case 3:
- bp->cmd_tbl.set_crtc_timing =
-- set_crtc_using_dtd_timing_v3;
-+ set_crtc_using_dtd_timing_v3;
- break;
- default:
- bp->cmd_tbl.set_crtc_timing = NULL;
-@@ -1848,15 +1996,15 @@ static void init_set_crtc_timing(struct bios_parser *bp)
- }
-
- static enum bp_result set_crtc_timing_v1(
-- struct bios_parser *bp,
-- struct bp_hw_crtc_timing_parameters *bp_params)
-+ struct bios_parser *bp,
-+ struct bp_hw_crtc_timing_parameters *bp_params)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION params = {0};
- uint8_t atom_controller_id;
-
- if (bp->cmd_helper->controller_id_to_atom(
-- bp_params->controller_id, &atom_controller_id))
-+ bp_params->controller_id, &atom_controller_id))
- params.ucCRTC = atom_controller_id;
-
- params.usH_Total = cpu_to_le16((uint16_t)(bp_params->h_total));
-@@ -1884,15 +2032,15 @@ static enum bp_result set_crtc_timing_v1(
-
- if (0 == bp_params->flags.HSYNC_POSITIVE_POLARITY)
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_HSYNC_POLARITY);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_HSYNC_POLARITY);
-
- if (0 == bp_params->flags.VSYNC_POSITIVE_POLARITY)
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_VSYNC_POLARITY);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_VSYNC_POLARITY);
-
- if (bp_params->flags.INTERLACE) {
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_INTERLACE);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_INTERLACE);
-
- /* original DAL code has this condition to apply tis for
- * non-TV/CV only due to complex MV testing for possible
-@@ -1908,12 +2056,12 @@ static enum bp_result set_crtc_timing_v1(
- * (spec CEA 861) or CEA timing table.
- */
- params.usV_SyncStart =
-- cpu_to_le16((uint16_t)(bp_params->v_sync_start + 1));
-+ cpu_to_le16((uint16_t)(bp_params->v_sync_start + 1));
- }
-
- if (bp_params->flags.HORZ_COUNT_BY_TWO)
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_DOUBLE_CLOCK_MODE);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_DOUBLE_CLOCK_MODE);
-
- if (EXEC_BIOS_CMD_TABLE(SetCRTC_Timing, params))
- result = BP_RESULT_OK;
-@@ -1922,38 +2070,38 @@ static enum bp_result set_crtc_timing_v1(
- }
-
- static enum bp_result set_crtc_using_dtd_timing_v3(
-- struct bios_parser *bp,
-- struct bp_hw_crtc_timing_parameters *bp_params)
-+ struct bios_parser *bp,
-+ struct bp_hw_crtc_timing_parameters *bp_params)
- {
- enum bp_result result = BP_RESULT_FAILURE;
- SET_CRTC_USING_DTD_TIMING_PARAMETERS params = {0};
- uint8_t atom_controller_id;
-
- if (bp->cmd_helper->controller_id_to_atom(
-- bp_params->controller_id, &atom_controller_id))
-+ bp_params->controller_id, &atom_controller_id))
- params.ucCRTC = atom_controller_id;
-
- /* bios usH_Size wants h addressable size */
- params.usH_Size = cpu_to_le16((uint16_t)bp_params->h_addressable);
- /* bios usH_Blanking_Time wants borders included in blanking */
- params.usH_Blanking_Time =
-- cpu_to_le16((uint16_t)(bp_params->h_total - bp_params->h_addressable));
-+ cpu_to_le16((uint16_t)(bp_params->h_total - bp_params->h_addressable));
- /* bios usV_Size wants v addressable size */
- params.usV_Size = cpu_to_le16((uint16_t)bp_params->v_addressable);
- /* bios usV_Blanking_Time wants borders included in blanking */
- params.usV_Blanking_Time =
-- cpu_to_le16((uint16_t)(bp_params->v_total - bp_params->v_addressable));
-+ cpu_to_le16((uint16_t)(bp_params->v_total - bp_params->v_addressable));
- /* bios usHSyncOffset is the offset from the end of h addressable,
- * our horizontalSyncStart is the offset from the beginning
- * of h addressable */
- params.usH_SyncOffset =
-- cpu_to_le16((uint16_t)(bp_params->h_sync_start - bp_params->h_addressable));
-+ cpu_to_le16((uint16_t)(bp_params->h_sync_start - bp_params->h_addressable));
- params.usH_SyncWidth = cpu_to_le16((uint16_t)bp_params->h_sync_width);
- /* bios usHSyncOffset is the offset from the end of v addressable,
- * our verticalSyncStart is the offset from the beginning of
- * v addressable */
- params.usV_SyncOffset =
-- cpu_to_le16((uint16_t)(bp_params->v_sync_start - bp_params->v_addressable));
-+ cpu_to_le16((uint16_t)(bp_params->v_sync_start - bp_params->v_addressable));
- params.usV_SyncWidth = cpu_to_le16((uint16_t)bp_params->v_sync_width);
-
- /* we assume that overscan from original timing does not get bigger
-@@ -1963,16 +2111,16 @@ static enum bp_result set_crtc_using_dtd_timing_v3(
-
- if (0 == bp_params->flags.HSYNC_POSITIVE_POLARITY)
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_HSYNC_POLARITY);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_HSYNC_POLARITY);
-
- if (0 == bp_params->flags.VSYNC_POSITIVE_POLARITY)
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_VSYNC_POLARITY);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_VSYNC_POLARITY);
-
-
- if (bp_params->flags.INTERLACE) {
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_INTERLACE);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_INTERLACE);
-
- /* original DAL code has this condition to apply this
- * for non-TV/CV only
-@@ -1990,14 +2138,14 @@ static enum bp_result set_crtc_using_dtd_timing_v3(
- * or CEA timing table.
- */
- params.usV_SyncOffset =
-- cpu_to_le16(le16_to_cpu(params.usV_SyncOffset) + 1);
-+ cpu_to_le16(le16_to_cpu(params.usV_SyncOffset) + 1);
-
- }
- }
-
- if (bp_params->flags.HORZ_COUNT_BY_TWO)
- params.susModeMiscInfo.usAccess =
-- cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_DOUBLE_CLOCK_MODE);
-+ cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_DOUBLE_CLOCK_MODE);
-
- if (EXEC_BIOS_CMD_TABLE(SetCRTC_UsingDTDTiming, params))
- result = BP_RESULT_OK;
-@@ -2006,12 +2154,12 @@ static enum bp_result set_crtc_using_dtd_timing_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** SET CRTC OVERSCAN
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** SET CRTC OVERSCAN
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result set_crtc_overscan_v1(
- struct bios_parser *bp,
-@@ -2038,7 +2186,7 @@ static enum bp_result set_crtc_overscan_v1(
- uint8_t atom_controller_id;
-
- if (bp->cmd_helper->controller_id_to_atom(
-- bp_params->controller_id, &atom_controller_id))
-+ bp_params->controller_id, &atom_controller_id))
- params.ucCRTC = atom_controller_id;
- else
- return BP_RESULT_BADINPUT;
-@@ -2059,12 +2207,12 @@ static enum bp_result set_crtc_overscan_v1(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** SELECT CRTC SOURCE
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** SELECT CRTC SOURCE
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result select_crtc_source_v2(
- struct bios_parser *bp,
-@@ -2102,26 +2250,26 @@ static enum bp_result select_crtc_source_v2(
-
- /* set controller id */
- if (bp->cmd_helper->controller_id_to_atom(
-- bp_params->controller_id, &atom_controller_id))
-+ bp_params->controller_id, &atom_controller_id))
- params.ucCRTC = atom_controller_id;
- else
- return BP_RESULT_FAILURE;
-
- /* set encoder id */
- if (bp->cmd_helper->engine_bp_to_atom(
-- bp_params->engine_id, &atom_engine_id))
-+ bp_params->engine_id, &atom_engine_id))
- params.ucEncoderID = (uint8_t)atom_engine_id;
- else
- return BP_RESULT_FAILURE;
-
- if (SIGNAL_TYPE_EDP == s ||
- (SIGNAL_TYPE_DISPLAY_PORT == s &&
-- SIGNAL_TYPE_LVDS == bp_params->sink_signal))
-+ SIGNAL_TYPE_LVDS == bp_params->sink_signal))
- s = SIGNAL_TYPE_LVDS;
-
- params.ucEncodeMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- s, bp_params->enable_dp_audio);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ s, bp_params->enable_dp_audio);
-
- if (EXEC_BIOS_CMD_TABLE(SelectCRTC_Source, params))
- result = BP_RESULT_OK;
-@@ -2155,12 +2303,12 @@ static enum bp_result select_crtc_source_v3(
-
- if (SIGNAL_TYPE_EDP == s ||
- (SIGNAL_TYPE_DISPLAY_PORT == s &&
-- SIGNAL_TYPE_LVDS == bp_params->sink_signal))
-+ SIGNAL_TYPE_LVDS == bp_params->sink_signal))
- s = SIGNAL_TYPE_LVDS;
-
- params.ucEncodeMode =
-- bp->cmd_helper->encoder_mode_bp_to_atom(
-- s, bp_params->enable_dp_audio);
-+ bp->cmd_helper->encoder_mode_bp_to_atom(
-+ s, bp_params->enable_dp_audio);
- /* Needed for VBIOS Random Spatial Dithering feature */
- params.ucDstBpc = (uint8_t)(bp_params->display_output_bit_depth);
-
-@@ -2171,12 +2319,12 @@ static enum bp_result select_crtc_source_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** ENABLE CRTC
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** ENABLE CRTC
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result enable_crtc_v1(
- struct bios_parser *bp,
-@@ -2221,12 +2369,12 @@ static enum bp_result enable_crtc_v1(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** ENABLE CRTC MEM REQ
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** ENABLE CRTC MEM REQ
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result enable_crtc_mem_req_v1(
- struct bios_parser *bp,
-@@ -2272,12 +2420,12 @@ static enum bp_result enable_crtc_mem_req_v1(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** DISPLAY PLL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** DISPLAY PLL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result program_clock_v5(
- struct bios_parser *bp,
-@@ -2312,7 +2460,7 @@ static enum bp_result program_clock_v5(
-
- dc_service_memset(&params, 0, sizeof(params));
- if (!bp->cmd_helper->clock_source_id_to_atom(
-- bp_params->pll_id, &atom_pll_id)) {
-+ bp_params->pll_id, &atom_pll_id)) {
- BREAK_TO_DEBUGGER(); /* Invalid Inpute!! */
- return BP_RESULT_BADINPUT;
- }
-@@ -2320,7 +2468,7 @@ static enum bp_result program_clock_v5(
- /* We need to convert from KHz units into 10KHz units */
- params.sPCLKInput.ucPpll = (uint8_t) atom_pll_id;
- params.sPCLKInput.usPixelClock =
-- cpu_to_le16((uint16_t) (bp_params->target_pixel_clock / 10));
-+ cpu_to_le16((uint16_t) (bp_params->target_pixel_clock / 10));
- params.sPCLKInput.ucCRTC = (uint8_t) ATOM_CRTC_INVALID;
-
- if (bp_params->flags.SET_EXTERNAL_REF_DIV_SRC)
-@@ -2344,7 +2492,7 @@ static enum bp_result program_clock_v6(
- dc_service_memset(&params, 0, sizeof(params));
-
- if (!bp->cmd_helper->clock_source_id_to_atom(
-- bp_params->pll_id, &atom_pll_id)) {
-+ bp_params->pll_id, &atom_pll_id)) {
- BREAK_TO_DEBUGGER(); /*Invalid Input!!*/
- return BP_RESULT_BADINPUT;
- }
-@@ -2352,7 +2500,7 @@ static enum bp_result program_clock_v6(
- /* We need to convert from KHz units into 10KHz units */
- params.sPCLKInput.ucPpll = (uint8_t)atom_pll_id;
- params.sPCLKInput.ulDispEngClkFreq =
-- cpu_to_le32(bp_params->target_pixel_clock / 10);
-+ cpu_to_le32(bp_params->target_pixel_clock / 10);
-
- if (bp_params->flags.SET_EXTERNAL_REF_DIV_SRC)
- params.sPCLKInput.ucMiscInfo |= PIXEL_CLOCK_MISC_REF_DIV_SRC;
-@@ -2361,7 +2509,7 @@ static enum bp_result program_clock_v6(
- /* True display clock is returned by VBIOS if DFS bypass
- * is enabled. */
- bp_params->dfs_bypass_display_clock =
-- (uint32_t)(le32_to_cpu(params.sPCLKInput.ulDispEngClkFreq) * 10);
-+ (uint32_t)(le32_to_cpu(params.sPCLKInput.ulDispEngClkFreq) * 10);
- result = BP_RESULT_OK;
- }
-
-@@ -2369,12 +2517,12 @@ static enum bp_result program_clock_v6(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** COMPUTE MEMORY ENGINE PLL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** COMPUTE MEMORY ENGINE PLL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result compute_memore_engine_pll_v4(
- struct bios_parser *bp,
-@@ -2385,7 +2533,7 @@ static void init_compute_memore_engine_pll(struct bios_parser *bp)
- switch (BIOS_CMD_TABLE_PARA_REVISION(ComputeMemoryEnginePLL)) {
- case 4:
- bp->cmd_tbl.compute_memore_engine_pll =
-- compute_memore_engine_pll_v4;
-+ compute_memore_engine_pll_v4;
- break;
- default:
- bp->cmd_tbl.compute_memore_engine_pll = NULL;
-@@ -2419,12 +2567,12 @@ static enum bp_result compute_memore_engine_pll_v4(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** EXTERNAL ENCODER CONTROL
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** EXTERNAL ENCODER CONTROL
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result external_encoder_control_v3(
- struct bios_parser *bp,
-@@ -2436,7 +2584,7 @@ static void init_external_encoder_control(
- switch (BIOS_CMD_TABLE_PARA_REVISION(ExternalEncoderControl)) {
- case 3:
- bp->cmd_tbl.external_encoder_control =
-- external_encoder_control_v3;
-+ external_encoder_control_v3;
- break;
- default:
- bp->cmd_tbl.external_encoder_control = NULL;
-@@ -2494,7 +2642,7 @@ static enum bp_result external_encoder_control_v3(
- /* output display connector type. Only valid in encoder
- * initialization */
- cntl_params->usConnectorId =
-- cpu_to_le16((uint16_t)cntl->connector_obj_id.id);
-+ cpu_to_le16((uint16_t)cntl->connector_obj_id.id);
- break;
- case EXTERNAL_ENCODER_CONTROL_SETUP:
- /* EXTERNAL_ENCODER_CONTROL_PARAMETERS_V3 pixel clock unit in
-@@ -2503,12 +2651,12 @@ static enum bp_result external_encoder_control_v3(
- * Only valid in setup and enableoutput
- */
- cntl_params->usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
- /* Indicate display output signal type drive by external
- * encoder, only valid in setup and enableoutput */
- cntl_params->ucEncoderMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- cntl->signal, false);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ cntl->signal, false);
-
- if (is_input_signal_dp) {
- /* Bit[0]: indicate link rate, =1: 2.7Ghz, =0: 1.62Ghz,
-@@ -2519,7 +2667,7 @@ static enum bp_result external_encoder_control_v3(
- * in DP mode, only valid in encoder setup in DP mode.
- */
- cntl_params->ucBitPerColor =
-- (uint8_t)(cntl->color_depth);
-+ (uint8_t)(cntl->color_depth);
- }
- /* Indicate how many lanes used by external encoder, only valid
- * in encoder setup and enableoutput. */
-@@ -2527,10 +2675,10 @@ static enum bp_result external_encoder_control_v3(
- break;
- case EXTERNAL_ENCODER_CONTROL_ENABLE:
- cntl_params->usPixelClock =
-- cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
-+ cpu_to_le16((uint16_t)(cntl->pixel_clock / 10));
- cntl_params->ucEncoderMode =
-- (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-- cntl->signal, false);
-+ (uint8_t)bp->cmd_helper->encoder_mode_bp_to_atom(
-+ cntl->signal, false);
- cntl_params->ucLaneNum = (uint8_t)cntl->lanes_number;
- break;
- default:
-@@ -2549,10 +2697,10 @@ static enum bp_result external_encoder_control_v3(
- * ExternalEncoderControl runs detection and save result
- * in BIOS scratch registers. */
- cntl->signal = bp->bios_helper->detect_sink(
-- bp->ctx,
-- encoder,
-- cntl->connector_obj_id,
-- cntl->signal);
-+ bp->ctx,
-+ encoder,
-+ cntl->connector_obj_id,
-+ cntl->signal);
- else/* BIOS table does not work. */
- #endif
- {
-@@ -2565,12 +2713,12 @@ static enum bp_result external_encoder_control_v3(
- }
-
- /*******************************************************************************
--********************************************************************************
--**
--** ENABLE DISPLAY POWER GATING
--**
--********************************************************************************
--*******************************************************************************/
-+ ********************************************************************************
-+ **
-+ ** ENABLE DISPLAY POWER GATING
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-
- static enum bp_result enable_disp_power_gating_v2_1(
- struct bios_parser *bp,
-@@ -2583,7 +2731,7 @@ static void init_enable_disp_power_gating(
- switch (BIOS_CMD_TABLE_PARA_REVISION(EnableDispPowerGating)) {
- case 1:
- bp->cmd_tbl.enable_disp_power_gating =
-- enable_disp_power_gating_v2_1;
-+ enable_disp_power_gating_v2_1;
- break;
- default:
- bp->cmd_tbl.enable_disp_power_gating = NULL;
-@@ -2607,10 +2755,88 @@ static enum bp_result enable_disp_power_gating_v2_1(
- return BP_RESULT_BADINPUT;
-
- params.ucEnable =
-- bp->cmd_helper->disp_power_gating_action_to_atom(action);
-+ bp->cmd_helper->disp_power_gating_action_to_atom(action);
-
- if (EXEC_BIOS_CMD_TABLE(EnableDispPowerGating, params))
- result = BP_RESULT_OK;
-
- return result;
- }
-+
-+
-+/*******************************************************************************
-+ ********************************************************************************
-+ **
-+ ** SET DCE CLOCK
-+ **
-+ ********************************************************************************
-+ *******************************************************************************/
-+#ifdef LATEST_ATOM_BIOS_SUPPORT
-+enum bp_result set_dce_clock_v2_1(
-+ struct bios_parser *bp,
-+ struct bp_set_dce_clock_parameters *bp_params);
-+#endif
-+
-+static void init_set_dce_clock(struct bios_parser *bp)
-+{
-+#ifdef LATEST_ATOM_BIOS_SUPPORT
-+ switch (BIOS_CMD_TABLE_PARA_REVISION(SetDCEClock)) {
-+ case 1:
-+ bp->cmd_tbl.set_dce_clock = set_dce_clock_v2_1;
-+ break;
-+ default:
-+ bp->cmd_tbl.set_dce_clock = NULL;
-+ break;
-+ }
-+#endif
-+}
-+
-+#ifdef LATEST_ATOM_BIOS_SUPPORT
-+static enum bp_result set_dce_clock_v2_1(
-+ struct bios_parser *bp,
-+ struct bp_set_dce_clock_parameters *bp_params)
-+{
-+ enum bp_result result = BP_RESULT_FAILURE;
-+
-+ SET_DCE_CLOCK_PS_ALLOCATION_V2_1 params;
-+ uint32_t atom_pll_id;
-+ uint32_t atom_clock_type;
-+
-+ dc_service_memset(&params, 0, sizeof(params));
-+
-+ const struct command_table_helper *cmd = bp->cmd_helper;
-+
-+ if (!cmd->clock_source_id_to_atom(bp_params->pll_id, &atom_pll_id) ||
-+ !cmd->dc_clock_type_to_atom(bp_params->clock_type, &atom_clock_type))
-+ return BP_RESULT_BADINPUT;
-+
-+ params.asParam.ucDCEClkSrc = atom_pll_id;
-+ params.asParam.ucDCEClkType = atom_clock_type;
-+
-+ if (bp_params->clock_type == DCECLOCK_TYPE_DPREFCLK) {
-+ if (bp_params->flags.USE_GENLOCK_AS_SOURCE_FOR_DPREFCLK)
-+ params.asParam.ucDCEClkFlag |= DCE_CLOCK_FLAG_PLL_REFCLK_SRC_GENLK;
-+
-+ if (bp_params->flags.USE_PCIE_AS_SOURCE_FOR_DPREFCLK)
-+ params.asParam.ucDCEClkFlag |= DCE_CLOCK_FLAG_PLL_REFCLK_SRC_PCIE;
-+
-+ if (bp_params->flags.USE_XTALIN_AS_SOURCE_FOR_DPREFCLK)
-+ params.asParam.ucDCEClkFlag |= DCE_CLOCK_FLAG_PLL_REFCLK_SRC_XTALIN;
-+
-+ if (bp_params->flags.USE_GENERICA_AS_SOURCE_FOR_DPREFCLK)
-+ params.asParam.ucDCEClkFlag |= DCE_CLOCK_FLAG_PLL_REFCLK_SRC_GENERICA;
-+ }
-+ else
-+ /* only program clock frequency if display clock is used; VBIOS will program DPREFCLK */
-+ /* We need to convert from KHz units into 10KHz units */
-+ params.asParam.ulDCEClkFreq = cpu_to_le32(bp_params->target_clock_frequency / 10);
-+
-+ if (EXEC_BIOS_CMD_TABLE(SetDCEClock, params)) {
-+ /* Convert from 10KHz units back to KHz */
-+ bp_params->target_clock_frequency = le32_to_cpu(params.asParam.ulDCEClkFreq) * 10;
-+ result = BP_RESULT_OK;
-+ }
-+
-+ return result;
-+}
-+#endif
-diff --git a/drivers/gpu/drm/amd/dal/dc/bios/command_table.h b/drivers/gpu/drm/amd/dal/dc/bios/command_table.h
-index 814d31f..e233ea6 100644
---- a/drivers/gpu/drm/amd/dal/dc/bios/command_table.h
-+++ b/drivers/gpu/drm/amd/dal/dc/bios/command_table.h
-@@ -110,6 +110,9 @@ struct cmd_tbl {
- struct bios_parser *bp,
- enum controller_id crtc_id,
- enum bp_pipe_control_action action);
-+ enum bp_result (*set_dce_clock)(
-+ struct bios_parser *bp,
-+ struct bp_set_dce_clock_parameters *bp_params);
- };
-
- void dal_bios_parser_init_cmd_tbl(struct bios_parser *bp);
-diff --git a/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.c b/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.c
-index dad1426..51027c5 100644
---- a/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.c
-+++ b/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.c
-@@ -42,8 +42,8 @@ bool dal_bios_parser_init_cmd_tbl_helper(
- case DCE_VERSION_11_0:
- *h = dal_cmd_tbl_helper_dce110_get_table();
- return true;
--
- #endif
-+
- default:
- /* Unsupported DCE */
- BREAK_TO_DEBUGGER();
-diff --git a/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.h b/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.h
-index e5c00de..cf563ce 100644
---- a/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.h
-+++ b/drivers/gpu/drm/amd/dal/dc/bios/command_table_helper.h
-@@ -57,6 +57,9 @@ struct command_table_helper {
- uint8_t (*phy_id_to_atom)(enum transmitter t);
- uint8_t (*disp_power_gating_action_to_atom)(
- enum bp_pipe_control_action action);
-+ bool (*dc_clock_type_to_atom)(enum bp_dce_clock_type id,
-+ uint32_t *atom_clock_type);
-+ uint8_t (*transmitter_color_depth_to_atom)(enum transmitter_color_depth id);
- };
-
- bool dal_bios_parser_init_cmd_tbl_helper(const struct command_table_helper **h,
-diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
-index 45a069a..6121277 100644
---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
-+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
-@@ -684,6 +684,8 @@ enum dc_status dce110_validate_with_context(
- context->res_ctx.pool = dc->res_pool;
-
- result = dce_base_map_resources(dc, context);
-+
-+ if (result == DC_OK)
- result = map_clock_resources(dc, context);
-
- if (result == DC_OK)
-diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.c b/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.c
-index 8e700ea..11f16b7 100644
---- a/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.c
-+++ b/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.c
-@@ -75,6 +75,7 @@ struct clock_source *dal_clock_source_create(
- }
- break;
- #endif
-+
- default:
- dal_logger_write(clk_src_init_data->ctx->logger,
- LOG_MAJOR_ERROR,
-diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.h b/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.h
-index 0a83874..0210f03 100644
---- a/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.h
-+++ b/drivers/gpu/drm/amd/dal/dc/gpu/clock_source.h
-@@ -88,6 +88,10 @@ struct registers {
- uint32_t dp_dtox_phase;
- uint32_t dp_dtox_modulo;
- uint32_t crtcx_pixel_rate_cntl;
-+ uint32_t combophyx_pll_wrap_cntl;
-+ uint32_t combophyx_freq_cntl0;
-+ uint32_t combophyx_freq_cntl2;
-+ uint32_t combophyx_freq_cntl3;
- };
-
- struct clock_source {
-diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c b/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c
-index 71d1a6c..3de8951 100644
---- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c
-+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c
-@@ -125,12 +125,14 @@ static const enum gpio_ddc_line hw_ddc_lines[] = {
- GPIO_DDC_LINE_DDC1,
- GPIO_DDC_LINE_DDC2,
- GPIO_DDC_LINE_DDC3,
-+ GPIO_DDC_LINE_DDC4,
- };
-
- static const enum gpio_ddc_line hw_aux_lines[] = {
- GPIO_DDC_LINE_DDC1,
- GPIO_DDC_LINE_DDC2,
- GPIO_DDC_LINE_DDC3,
-+ GPIO_DDC_LINE_DDC4,
- };
-
- /* function table */
-diff --git a/drivers/gpu/drm/amd/dal/dc/inc/core_types.h b/drivers/gpu/drm/amd/dal/dc/inc/core_types.h
-index a728446..6ef41b1 100644
---- a/drivers/gpu/drm/amd/dal/dc/inc/core_types.h
-+++ b/drivers/gpu/drm/amd/dal/dc/inc/core_types.h
-@@ -40,7 +40,7 @@ struct core_stream;
-
- #define MAX_PIPES 6
- #define MAX_STREAMS 6
--#define MAX_CLOCK_SOURCES 4
-+#define MAX_CLOCK_SOURCES 7
-
- struct core_target {
- struct dc_target public;
-diff --git a/drivers/gpu/drm/amd/dal/include/bios_parser_interface.h b/drivers/gpu/drm/amd/dal/include/bios_parser_interface.h
-index 6269164..13fa8ab 100644
---- a/drivers/gpu/drm/amd/dal/include/bios_parser_interface.h
-+++ b/drivers/gpu/drm/amd/dal/include/bios_parser_interface.h
-@@ -243,6 +243,9 @@ enum bp_result dal_bios_parser_adjust_pixel_clock(
- enum bp_result dal_bios_parser_set_pixel_clock(
- struct bios_parser *bp,
- struct bp_pixel_clock_parameters *bp_params);
-+enum bp_result dal_bios_parser_set_dce_clock(
-+ struct bios_parser *bp,
-+ struct bp_set_dce_clock_parameters *bp_params);
- enum bp_result dal_bios_parser_enable_spread_spectrum_on_ppll(
- struct bios_parser *bp,
- struct bp_spread_spectrum_parameters *bp_params,
-diff --git a/drivers/gpu/drm/amd/dal/include/bios_parser_types.h b/drivers/gpu/drm/amd/dal/include/bios_parser_types.h
-index da7d5f2..4176f28 100644
---- a/drivers/gpu/drm/amd/dal/include/bios_parser_types.h
-+++ b/drivers/gpu/drm/amd/dal/include/bios_parser_types.h
-@@ -248,6 +248,9 @@ struct bp_pixel_clock_parameters {
- /* VBIOS returns a fixed display clock when DFS-bypass feature
- * is enabled (KHz) */
- uint32_t dfs_bypass_display_clock;
-+ /* color depth to support HDMI deep color */
-+ enum transmitter_color_depth color_depth;
-+
- struct program_pixel_clock_flags {
- uint32_t FORCE_PROGRAMMING_OF_PLL:1;
- /* Use Engine Clock as source for Display Clock when
-@@ -255,6 +258,14 @@ struct bp_pixel_clock_parameters {
- uint32_t USE_E_CLOCK_AS_SOURCE_FOR_D_CLOCK:1;
- /* Use external reference clock (refDivSrc for PLL) */
- uint32_t SET_EXTERNAL_REF_DIV_SRC:1;
-+ /* Force program PHY PLL only */
-+ uint32_t PROGRAM_PHY_PLL_ONLY:1;
-+ /* Support for YUV420 */
-+ uint32_t SUPPORT_YUV_420:1;
-+ /* Use XTALIN reference clock source */
-+ uint32_t SET_XTALIN_REF_SRC:1;
-+ /* Use GENLK reference clock source */
-+ uint32_t SET_GENLOCK_REF_DIV_SRC:1;
- } flags;
- };
-
-@@ -266,6 +277,30 @@ struct bp_display_clock_parameters {
- uint32_t actual_post_divider_id;
- };
-
-+enum bp_dce_clock_type {
-+ DCECLOCK_TYPE_DISPLAY_CLOCK = 0,
-+ DCECLOCK_TYPE_DPREFCLK = 1
-+};
-+
-+/* DCE Clock Parameters structure for SetDceClock Exec command table */
-+struct bp_set_dce_clock_parameters {
-+ enum clock_source_id pll_id; /* Clock Source Id */
-+ /* Display clock or DPREFCLK value */
-+ uint32_t target_clock_frequency;
-+ /* Clock to set: =0: DISPCLK =1: DPREFCLK =2: PIXCLK */
-+ enum bp_dce_clock_type clock_type;
-+
-+ struct set_dce_clock_flags {
-+ uint32_t USE_GENERICA_AS_SOURCE_FOR_DPREFCLK:1;
-+ /* Use XTALIN reference clock source */
-+ uint32_t USE_XTALIN_AS_SOURCE_FOR_DPREFCLK:1;
-+ /* Use PCIE reference clock source */
-+ uint32_t USE_PCIE_AS_SOURCE_FOR_DPREFCLK:1;
-+ /* Use GENLK reference clock source */
-+ uint32_t USE_GENLOCK_AS_SOURCE_FOR_DPREFCLK:1;
-+ } flags;
-+};
-+
- struct spread_spectrum_flags {
- /* 1 = Center Spread; 0 = down spread */
- uint32_t CENTER_SPREAD:1;
-diff --git a/drivers/gpu/drm/amd/dal/include/grph_object_id.h b/drivers/gpu/drm/amd/dal/include/grph_object_id.h
-index fcf3eea..5d69a34 100644
---- a/drivers/gpu/drm/amd/dal/include/grph_object_id.h
-+++ b/drivers/gpu/drm/amd/dal/include/grph_object_id.h
-@@ -99,9 +99,16 @@ enum clock_source_id {
- CLOCK_SOURCE_ID_DCPLL,
- CLOCK_SOURCE_ID_DFS, /* DENTIST */
- CLOCK_SOURCE_ID_VCE, /* VCE does not need a real PLL */
-- CLOCK_SOURCE_ID_DP_DTO, /* Used to distinguish between */
-- /* programming pixel clock */
-- /* and ID (Phy) clock */
-+ /* Used to distinguish between programming pixel clock and ID (Phy) clock */
-+ CLOCK_SOURCE_ID_DP_DTO,
-+
-+ CLOCK_SOURCE_COMBO_PHY_PLL0, /*combo PHY PLL defines (DC 11.2 and up)*/
-+ CLOCK_SOURCE_COMBO_PHY_PLL1,
-+ CLOCK_SOURCE_COMBO_PHY_PLL2,
-+ CLOCK_SOURCE_COMBO_PHY_PLL3,
-+ CLOCK_SOURCE_COMBO_PHY_PLL4,
-+ CLOCK_SOURCE_COMBO_PHY_PLL5,
-+ CLOCK_SOURCE_COMBO_DISPLAY_PLL0
- };
-
-
-@@ -224,6 +231,12 @@ union supported_stream_engines {
- uint32_t u_all;
- };
-
-+enum transmitter_color_depth {
-+ TRANSMITTER_COLOR_DEPTH_24 = 0, /* 8 bits */
-+ TRANSMITTER_COLOR_DEPTH_30, /* 10 bits */
-+ TRANSMITTER_COLOR_DEPTH_36, /* 12 bits */
-+ TRANSMITTER_COLOR_DEPTH_48 /* 16 bits */
-+};
-
- /*
- *****************************************************************************
---
-2.7.4
-