@@ -1014,13 +1014,20 @@ static enum bp_result get_ss_info_v4_5(
10141014 DC_LOG_BIOS ("AS_SIGNAL_TYPE_HDMI ss_percentage: %d\n" , ss_info -> spread_spectrum_percentage );
10151015 break ;
10161016 case AS_SIGNAL_TYPE_DISPLAY_PORT :
1017- ss_info -> spread_spectrum_percentage =
1017+ if (bp -> base .integrated_info ) {
1018+ DC_LOG_BIOS ("gpuclk_ss_percentage (unit of 0.001 percent): %d\n" , bp -> base .integrated_info -> gpuclk_ss_percentage );
1019+ ss_info -> spread_spectrum_percentage =
1020+ bp -> base .integrated_info -> gpuclk_ss_percentage ;
1021+ ss_info -> type .CENTER_MODE =
1022+ bp -> base .integrated_info -> gpuclk_ss_type ;
1023+ } else {
1024+ ss_info -> spread_spectrum_percentage =
10181025 disp_cntl_tbl -> dp_ss_percentage ;
1019- ss_info -> spread_spectrum_range =
1026+ ss_info -> spread_spectrum_range =
10201027 disp_cntl_tbl -> dp_ss_rate_10hz * 10 ;
1021- if (disp_cntl_tbl -> dp_ss_mode & ATOM_SS_CENTRE_SPREAD_MODE )
1022- ss_info -> type .CENTER_MODE = true;
1023-
1028+ if (disp_cntl_tbl -> dp_ss_mode & ATOM_SS_CENTRE_SPREAD_MODE )
1029+ ss_info -> type .CENTER_MODE = true;
1030+ }
10241031 DC_LOG_BIOS ("AS_SIGNAL_TYPE_DISPLAY_PORT ss_percentage: %d\n" , ss_info -> spread_spectrum_percentage );
10251032 break ;
10261033 case AS_SIGNAL_TYPE_GPU_PLL :
@@ -2386,13 +2393,7 @@ static enum bp_result get_vram_info_v30(
23862393 return BP_RESULT_BADBIOSTABLE ;
23872394
23882395 info -> num_chans = info_v30 -> channel_num ;
2389- /* As suggested by VBIOS we should always use
2390- * dram_channel_width_bytes = 2 when using VRAM
2391- * table version 3.0. This is because the channel_width
2392- * param in the VRAM info table is changed in 7000 series and
2393- * no longer represents the memory channel width.
2394- */
2395- info -> dram_channel_width_bytes = 2 ;
2396+ info -> dram_channel_width_bytes = (1 << info_v30 -> channel_width ) / 8 ;
23962397
23972398 return result ;
23982399}
@@ -2820,6 +2821,8 @@ static enum bp_result get_integrated_info_v2_2(
28202821 info -> ma_channel_number = info_v2_2 -> umachannelnumber ;
28212822 info -> dp_ss_control =
28222823 le16_to_cpu (info_v2_2 -> reserved1 );
2824+ info -> gpuclk_ss_percentage = info_v2_2 -> gpuclk_ss_percentage ;
2825+ info -> gpuclk_ss_type = info_v2_2 -> gpuclk_ss_type ;
28232826
28242827 for (i = 0 ; i < NUMBER_OF_UCHAR_FOR_GUID ; ++ i ) {
28252828 info -> ext_disp_conn_info .gu_id [i ] =
0 commit comments