disp: msm: sde: reset dsc 4hs merge enable
If DSC 4hs merge is enabled and disabled on n+1 commit, possible due to resolution switch, driver does not currently clear the previous programming. This change cleares dsc 4hs merge enable if it is not enabled. Change-Id: I4024073362257b7efabcff22603bcb28a0bc4c5a Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com> Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
This commit is contained in:
committed by
Nisarg Bhavsar
parent
6fc7e0439e
commit
6962242207
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2020-2022, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
@@ -130,21 +130,21 @@ static void sde_hw_dsc_4hs_config(struct sde_hw_dsc *hw_dsc,
|
||||
struct msm_display_dsc_info *dsc, u32 mode, u32 idx)
|
||||
{
|
||||
struct sde_hw_blk_reg_map *dsc_c;
|
||||
u32 data = 0;
|
||||
|
||||
if (!dsc->dsc_4hsmerge_en)
|
||||
return;
|
||||
u32 data = 0, en = 0;
|
||||
|
||||
dsc_c = &hw_dsc->hw;
|
||||
|
||||
if (test_bit(SDE_DSC_4HS, &hw_dsc->caps->features)) {
|
||||
data = dsc->dsc_4hsmerge_alignment << 12;
|
||||
data |= dsc->dsc_4hsmerge_padding << 8;
|
||||
data |= ((mode & DSC_MODE_VIDEO) ? 1 : 0);
|
||||
if (dsc->dsc_4hsmerge_en) {
|
||||
data = dsc->dsc_4hsmerge_alignment << 12;
|
||||
data |= dsc->dsc_4hsmerge_padding << 8;
|
||||
data |= ((mode & DSC_MODE_VIDEO) ? 1 : 0);
|
||||
en = BIT(0);
|
||||
}
|
||||
|
||||
SDE_REG_WRITE(dsc_c, DSC_4HS_MERGE_CFG + idx, data);
|
||||
SDE_REG_WRITE(dsc_c, DSC_4HS_MERGE_EN + idx, BIT(0));
|
||||
} else {
|
||||
SDE_REG_WRITE(dsc_c, DSC_4HS_MERGE_EN + idx, en);
|
||||
} else if (dsc->dsc_4hsmerge_en) {
|
||||
data = SDE_REG_READ(dsc_c, DSC_CFG + idx);
|
||||
|
||||
data |= dsc->dsc_4hsmerge_padding << 18;
|
||||
|
Reference in New Issue
Block a user