disp: msm: dp: add support for 3.75:1 compression

Currently the DP driver always uses a compression ratio of 3, if
DSC is enabled. So if the sink supports 30bpp, the compressed
output is set to 10bpp. But since the hardware supports
compressing this to 8bpp, it would require less link bandwidth
than 10bpp compressed output. For compliance testing, the
test equipment limits the link bandwidth based on the most
efficient compression ratio and for some resolutions there
is not enough link bandwidth for 3:1 compression.

This change always sets the compression output to 8bpp to
minimize the link bandwidth utilization.

Change-Id: Ifa6129444c2bab4e9c357ddfe49f76efa5b04be0
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
This commit is contained in:
Rajkumar Subbiah
2021-06-14 20:03:52 -04:00
bovenliggende 17997f6098
commit eebce2ae4c
6 gewijzigde bestanden met toevoegingen van 49 en 61 verwijderingen

Bestand weergeven

@@ -1384,7 +1384,7 @@ static void dp_display_update_dsc_resources(struct dp_display_private *dp,
if (enable) {
if (panel->pinfo.comp_info.comp_type == MSM_DISPLAY_COMPRESSION_DSC &&
(panel->pinfo.comp_info.comp_ratio > 1)) {
(panel->pinfo.comp_info.enabled)) {
rc = msm_get_dsc_count(priv, panel->pinfo.h_active,
&dsc_blk_cnt);
if (rc) {
@@ -2719,7 +2719,7 @@ static int dp_display_validate_link_clock(struct dp_display_private *dp,
bool dsc_en;
int rate;
dsc_en = (dp_mode.timing.comp_info.comp_ratio > 1) ? true : false;
dsc_en = dp_mode.timing.comp_info.enabled;
mode_bpp = dsc_en ?
DSC_BPP(dp_mode.timing.comp_info.dsc_info.config)
: dp_mode.timing.bpp;