mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
drm/rockchip: vop: enable rb_swap and rg_swap in YUV444 bus_format for rk3576 vopl
The RGB888 bus_format can be converted to VYU444 if r2y enabled, so it is needed to enable rb_swap and rg_swap for YUV444. Change-Id: Ib35398137dcd3c849590ba5243d879c5ef11ccee Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
This commit is contained in:
@@ -3408,6 +3408,14 @@ static void vop_update_csc(struct drm_crtc *crtc)
|
||||
else
|
||||
VOP_CTRL_SET(vop, dsp_data_swap, 0);
|
||||
|
||||
/*
|
||||
* For RK3576 vopl, rg_swap and rb_swap need to be enabled in
|
||||
* YUV444 bus_format.
|
||||
*/
|
||||
if ((VOP_MAJOR(vop->version) == 2 && VOP_MINOR(vop->version) == 0xd) &&
|
||||
s->bus_format == MEDIA_BUS_FMT_YUV8_1X24)
|
||||
VOP_CTRL_SET(vop, dsp_data_swap, DSP_RG_SWAP | DSP_RB_SWAP);
|
||||
|
||||
VOP_CTRL_SET(vop, out_mode, s->output_mode);
|
||||
|
||||
vop_dither_setup(crtc);
|
||||
|
||||
@@ -2016,7 +2016,7 @@ static const struct vop_ctrl rk3576_lit_ctrl_data = {
|
||||
.dither_down_en = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1, 5),
|
||||
.dither_down_mode = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1, 6),
|
||||
.dither_down_sel = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1, 7),
|
||||
.dsp_data_swap = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1f, 9),
|
||||
.dsp_data_swap = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1f, 8),
|
||||
.dsp_bg_swap = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1, 8),
|
||||
.dsp_rb_swap = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1, 9),
|
||||
.dsp_rg_swap = VOP_REG(EBC_VOP_DSP_CTRL1, 0x1, 10),
|
||||
|
||||
Reference in New Issue
Block a user