Message ID | 20211021063414.23663-5-roy-cw.yeh@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add additional setting and performance tuning | expand |
Il 21/10/21 08:34, roy-cw.yeh ha scritto: > From: "Roy-CW.Yeh" <roy-cw.yeh@mediatek.com> > > Set rdma compression reg in each frame > > Signed-off-by: Roy-CW.Yeh <roy-cw.yeh@mediatek.com> > --- > 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, >
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))) { 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); + } 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,