@@ -747,7 +747,7 @@ static bool setup_dsc_config(
747
747
return is_dsc_possible ;
748
748
}
749
749
750
- bool dc_dsc_parse_dsc_dpcd (const struct dc * dc , const uint8_t * dpcd_dsc_basic_data , const uint8_t * dpcd_dsc_ext_data , struct dsc_dec_dpcd_caps * dsc_sink_caps )
750
+ bool dc_dsc_parse_dsc_dpcd (const struct dc * dc , const uint8_t * dpcd_dsc_basic_data , const uint8_t * dpcd_dsc_branch_decoder_caps , struct dsc_dec_dpcd_caps * dsc_sink_caps )
751
751
{
752
752
if (!dpcd_dsc_basic_data )
753
753
return false;
@@ -818,14 +818,14 @@ bool dc_dsc_parse_dsc_dpcd(const struct dc *dc, const uint8_t *dpcd_dsc_basic_da
818
818
}
819
819
820
820
/* Extended caps */
821
- if (dpcd_dsc_ext_data == NULL ) { // Extended DPCD DSC data can be null, e.g. because it doesn't apply to SST
821
+ if (dpcd_dsc_branch_decoder_caps == NULL ) { // branch decoder DPCD DSC data can be null for non branch device
822
822
dsc_sink_caps -> branch_overall_throughput_0_mps = 0 ;
823
823
dsc_sink_caps -> branch_overall_throughput_1_mps = 0 ;
824
824
dsc_sink_caps -> branch_max_line_width = 0 ;
825
825
return true;
826
826
}
827
827
828
- dsc_sink_caps -> branch_overall_throughput_0_mps = dpcd_dsc_ext_data [DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 ];
828
+ dsc_sink_caps -> branch_overall_throughput_0_mps = dpcd_dsc_branch_decoder_caps [DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 ];
829
829
if (dsc_sink_caps -> branch_overall_throughput_0_mps == 0 )
830
830
dsc_sink_caps -> branch_overall_throughput_0_mps = 0 ;
831
831
else if (dsc_sink_caps -> branch_overall_throughput_0_mps == 1 )
@@ -835,7 +835,7 @@ bool dc_dsc_parse_dsc_dpcd(const struct dc *dc, const uint8_t *dpcd_dsc_basic_da
835
835
dsc_sink_caps -> branch_overall_throughput_0_mps += 600 ;
836
836
}
837
837
838
- dsc_sink_caps -> branch_overall_throughput_1_mps = dpcd_dsc_ext_data [DP_DSC_BRANCH_OVERALL_THROUGHPUT_1 - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 ];
838
+ dsc_sink_caps -> branch_overall_throughput_1_mps = dpcd_dsc_branch_decoder_caps [DP_DSC_BRANCH_OVERALL_THROUGHPUT_1 - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 ];
839
839
if (dsc_sink_caps -> branch_overall_throughput_1_mps == 0 )
840
840
dsc_sink_caps -> branch_overall_throughput_1_mps = 0 ;
841
841
else if (dsc_sink_caps -> branch_overall_throughput_1_mps == 1 )
@@ -845,7 +845,7 @@ bool dc_dsc_parse_dsc_dpcd(const struct dc *dc, const uint8_t *dpcd_dsc_basic_da
845
845
dsc_sink_caps -> branch_overall_throughput_1_mps += 600 ;
846
846
}
847
847
848
- dsc_sink_caps -> branch_max_line_width = dpcd_dsc_ext_data [DP_DSC_BRANCH_MAX_LINE_WIDTH - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 ] * 320 ;
848
+ dsc_sink_caps -> branch_max_line_width = dpcd_dsc_branch_decoder_caps [DP_DSC_BRANCH_MAX_LINE_WIDTH - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 ] * 320 ;
849
849
ASSERT (dsc_sink_caps -> branch_max_line_width == 0 || dsc_sink_caps -> branch_max_line_width >= 5120 );
850
850
851
851
return true;
0 commit comments