Re: [PATCH 2/5] drm: rockchip: add missing registers for RK3188ãèææïéäçlinux-rockchip-bounces+andy.yan=rock-chips.com@xxxxxxxxxxxxxxxxxxxäåã

From: Alex Bee
Date: Mon Jul 20 2020 - 22:46:51 EST


Hi Andy,

Am 21.07.20 um 03:17 schrieb Andy Yan:
Hi Alex:

On 7/20/20 10:46 PM, Alex Bee wrote:
Hi Andy,

Am 20.07.20 um 10:22 schrieb Andy Yan:
Hi Alex:

On 7/19/20 4:03 AM, Alex Bee wrote:
This patch adds dither_up, dsp_lut_en, data_blank and dsp_data_swap
registers to enable their respective functionality for RK3188's VOP.

Signed-off-by: Alex Bee <knaerzche@xxxxxxxxx>
---
 drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
index b046910129fb..971a6bda7458 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
@@ -512,6 +512,10 @@ static const struct vop_common rk3188_common = {
ÂÂÂÂÂ .dither_down_en = VOP_REG(RK3188_DSP_CTRL0, 0x1, 11),
ÂÂÂÂÂ .dither_down_mode = VOP_REG(RK3188_DSP_CTRL0, 0x1, 10),
ÂÂÂÂÂ .dsp_blank = VOP_REG(RK3188_DSP_CTRL1, 0x3, 24),
+ÂÂÂ .dither_up = VOP_REG(RK3188_DSP_CTRL0, 0x1, 9),
+ÂÂÂ .dsp_lut_en = VOP_REG(RK3188_SYS_CTRL, 0x1, 28),
+ÂÂÂ .data_blank = VOP_REG(RK3188_DSP_CTRL1, 0x1, 25),
+ÂÂÂ .dsp_data_swap = VOP_REG(RK3188_DSP_CTRL1, 0x1f, 26),



I can't find the definition of dsp_data_swap, or I missed something?

Note that .dsp_data_swap is not defined with that name in TRM (as it is not in RK3288/RK3328), since potentially more the one bit would have to be set for this (currently only RB_SWAP (0x2) is implemented in the VOP driver).


I mean I didn't find the definition of dsp_data_swap in struct vop_comm, I even search drm-misc-next tree.

Sorry, misunderstanding. You're right: I had something which isn't upstreamed/merged yet in my tree. I'll remove this reg in V2.

To be some kind of future proof (if BG_SWAP, RG_SWAP, DELTA_SWAP or DUMMY_SWAP ever get implemented) it should be aligned with what is defined for RK3288/RK3328 now to automatically benefit from that additions. And it would, since RK3288_DSP_CTRL0 BIT12, BIT13, BIT14, BIT15, BIT16 exactly matches with RK3188_DSP_CTRL1 BIT26, BIT27, BIT28, BIT29, BIT30.

Current implementation sets BIT13 for RK3288 and with this patch BIT27 for RK3188 to enable RB_SWAP.



 };
  static const struct vop_win_data rk3188_vop_win_data[] = {


Regards,

Alex