[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12296860-d6ed-5135-7c4e-545362829051@gmail.com>
Date: Mon, 20 Jul 2020 16:46:44 +0200
From: Alex Bee <knaerzche@...il.com>
To: Andy Yan <andy.yan@...k-chips.com>,
Sandy Huang <hjc@...k-chips.com>,
Heiko Stübner <heiko@...ech.de>
Cc: David Airlie <airlied@...ux.ie>, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-rockchip@...ts.infradead.org,
Daniel Vetter <daniel@...ll.ch>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 2/5] drm: rockchip: add missing registers for RK3188【请注意,邮件由linux-rockchip-bounces+andy.yan=rock-chips.com@...ts.infradead.org代发】
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@...il.com>
>> ---
>> 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).
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
Powered by blists - more mailing lists