mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
media: staging: rkisp1: cap: support uv swap only for semiplanar formats
The register RKISP1_CIF_MI_XTD_FORMAT_CTRL is relevant only for semiplanar formats, therefore the uv swap can be supported through this register only for semiplanar formats. Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
b82b399374
commit
c6a86569e8
|
|
@ -383,12 +383,16 @@ static void rkisp1_mp_config(struct rkisp1_capture *cap)
|
|||
cap->config->mi.cr_size_init);
|
||||
|
||||
rkisp1_irq_frame_end_enable(cap);
|
||||
reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
if (cap->pix.cfg->uv_swap)
|
||||
reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
|
||||
else
|
||||
reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
|
||||
rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
|
||||
/* set uv swapping for semiplanar formats */
|
||||
if (cap->pix.info->comp_planes == 2) {
|
||||
reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
if (cap->pix.cfg->uv_swap)
|
||||
reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
|
||||
else
|
||||
reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
|
||||
rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
}
|
||||
|
||||
rkisp1_mi_config_ctrl(cap);
|
||||
|
||||
|
|
@ -421,12 +425,15 @@ static void rkisp1_sp_config(struct rkisp1_capture *cap)
|
|||
|
||||
rkisp1_irq_frame_end_enable(cap);
|
||||
|
||||
reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
if (cap->pix.cfg->uv_swap)
|
||||
reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
|
||||
else
|
||||
reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
|
||||
rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
/* set uv swapping for semiplanar formats */
|
||||
if (cap->pix.info->comp_planes == 2) {
|
||||
reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
if (cap->pix.cfg->uv_swap)
|
||||
reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
|
||||
else
|
||||
reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
|
||||
rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
|
||||
}
|
||||
|
||||
rkisp1_mi_config_ctrl(cap);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user