Re: [PATCH v1 4/4] media: platform: mtk-mdp3: Set rdma compression reg in each frame

From: AngeloGioacchino Del Regno
Date: Thu Oct 21 2021 - 06:44:46 EST


Il 21/10/21 08:34, roy-cw.yeh ha scritto:
From: "Roy-CW.Yeh" <roy-cw.yeh@xxxxxxxxxxxx>

Set rdma compression reg in each frame

Signed-off-by: Roy-CW.Yeh <roy-cw.yeh@xxxxxxxxxxxx>
---
drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c | 10 ++++++----
drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c | 2 +-
2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c b/drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c
index 12d6c88c68d2..dc0d1b3ff218 100644
--- a/drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c
+++ b/drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c
@@ -178,15 +178,17 @@ static int config_rdma_frame(struct mdp_comp_ctx *ctx,
/* Setup Compression Control */
MM_REG_WRITE(cmd, subsys_id, base, MDP_RDMA_COMP_CON,
rdma->comp_ctrl, write_mask);
- }
-
- if (mdp_cfg->rdma_support_afbc &&
- (MDP_COLOR_IS_COMPRESS(colorformat))) {
+ } else if (mdp_cfg->rdma_support_afbc &&
+ (MDP_COLOR_IS_COMPRESS(colorformat))) {

Looks like you're unconditionally writing to the compression control register,

so you can just...

MM_REG_WRITE(cmd, subsys_id, base, MDP_RDMA_MF_BKGD_SIZE_IN_PXL,
((width + 31) >> 5) << 5, 0x001FFFFF);
MM_REG_WRITE(cmd, subsys_id, base, MDP_RDMA_MF_BKGD_H_SIZE_IN_PXL,
((height + 7) >> 3) << 3, 0x001FFFFF);
}
/* Setup Compression Control */

MM_REG_WRITE(cmd, subsys_id, base, MDP_RDMA_COMP_CON,

rdma->comp_ctrl, write_mask);

... and avoid repeating the same thing over and over in all of the conditionals.

+ /* Setup Compression Control */
+ MM_REG_WRITE(cmd, subsys_id, base, MDP_RDMA_COMP_CON,
+ rdma->comp_ctrl, write_mask);
+ } else {
/* Setup Compression Control */
MM_REG_WRITE(cmd, subsys_id, base, MDP_RDMA_COMP_CON,
rdma->comp_ctrl, write_mask);
diff --git a/drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c b/drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c
index 875326afb686..1a15490d45e7 100644
--- a/drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c
+++ b/drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c
@@ -34,7 +34,7 @@ static const struct mdp_platform_config mt8195_plat_cfg = {
.rdma_support_afbc = true,
.rdma_esl_setting = true,
.rdma_rsz1_sram_sharing = false,
- .rdma_upsample_repeat_only = true,
+ .rdma_upsample_repeat_only = false,
.rsz_disable_dcm_small_sample = false,
.rsz_etc_control = true,
.wrot_filter_constraint = false,