From dd88cbecb353bd3dd432e238dbdf002b2fc99711 Mon Sep 17 00:00:00 2001 From: Allon Huang Date: Wed, 20 Jan 2021 10:11:27 +0800 Subject: [PATCH] media: platform: rockchip: cif: support YUYV for y swap in bt1120 Signed-off-by: Allon Huang Change-Id: I7a38f3a881be0689f3bf37736944cd7563c644ea Signed-off-by: Zefa Chen --- drivers/media/platform/rockchip/cif/capture.c | 2 +- drivers/media/platform/rockchip/cif/regs.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index de984c1b0b9d..2926de0b2096 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -2251,7 +2251,7 @@ static int rkcif_stream_start(struct rkcif_stream *stream) xfer_mode = BT1120_TRANSMIT_PROGRESS; else xfer_mode = BT1120_TRANSMIT_INTERFACE; - if (!CIF_FETCH_IS_Y_FIRST(stream->cif_fmt_in->dvp_fmt_val)) + if (CIF_FETCH_IS_Y_FIRST(stream->cif_fmt_in->dvp_fmt_val)) yc_swap = BT1120_YC_SWAP; } diff --git a/drivers/media/platform/rockchip/cif/regs.h b/drivers/media/platform/rockchip/cif/regs.h index 71b3ec9d11ee..4954cb34fe63 100644 --- a/drivers/media/platform/rockchip/cif/regs.h +++ b/drivers/media/platform/rockchip/cif/regs.h @@ -206,7 +206,7 @@ enum cif_reg_index { #define CIF_FETCH_Y_LAST_LINE(val) ((val) & 0x1fff) /* Check if swap y and c in bt1120 mode */ -#define CIF_FETCH_IS_Y_FIRST(val) ((val) & 0xf) +#define CIF_FETCH_IS_Y_FIRST(val) ((val >> 5) & 0x3) #define CIF_RAW_STORED_BIT_WIDTH (16U) #define CIF_YUV_STORED_BIT_WIDTH (8U)