From 1051f13867cf748c71d12263f797f3a91fbbb94a Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Mon, 18 May 2020 15:20:27 +0800 Subject: [PATCH] media: rockchip: isp: enable normal read back mode by rx2 link Change-Id: I0bfd9eac901072eaa685b814917ad09dbc7d00bd Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/isp/capture.c | 7 +++--- drivers/media/platform/rockchip/isp/csi.c | 22 +++++-------------- drivers/media/platform/rockchip/isp/csi.h | 2 -- drivers/media/platform/rockchip/isp/dmarx.c | 6 ----- 4 files changed, 8 insertions(+), 29 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/capture.c b/drivers/media/platform/rockchip/isp/capture.c index 7ea84ce9b30c..2ce8c0a1ad08 100644 --- a/drivers/media/platform/rockchip/isp/capture.c +++ b/drivers/media/platform/rockchip/isp/capture.c @@ -1291,8 +1291,7 @@ static void update_dmatx_v2(struct rkisp_stream *stream) } if (!buf) buf = &stream->dummy_buf; - if (buf->vaddr) - mi_set_y_addr(stream, buf->dma_addr); + mi_set_y_addr(stream, buf->dma_addr); } v4l2_dbg(1, rkisp_debug, &dev->v4l2_dev, "%s stream:%d Y:0x%x SHD:0x%x\n", @@ -1639,7 +1638,7 @@ static int mi_frame_end(struct rkisp_stream *stream) static int rkisp_create_hdr_buf(struct rkisp_device *dev) { - int i, j, max_dma, max_buf = 1; + int i, j, max_dma, max_buf = 0; struct rkisp_dummy_buffer *buf; struct rkisp_stream *stream; u32 size; @@ -1702,7 +1701,7 @@ static int rkisp_create_hdr_buf(struct rkisp_device *dev) void hdr_destroy_buf(struct rkisp_device *dev) { - int i, j, max_dma, max_buf = 1; + int i, j, max_dma, max_buf = 0; struct rkisp_dummy_buffer *buf; if (atomic_read(&dev->cap_dev.refcnt) > 1 || diff --git a/drivers/media/platform/rockchip/isp/csi.c b/drivers/media/platform/rockchip/isp/csi.c index 29d752d964ac..05494d201bbc 100644 --- a/drivers/media/platform/rockchip/isp/csi.c +++ b/drivers/media/platform/rockchip/isp/csi.c @@ -284,24 +284,12 @@ static int csi_config(struct rkisp_csi_device *csi) dev->hdr.esp_mode = hdr_cfg.esp.mode; } } -#if RKISP_HDR_RDBK_MODE - switch (dev->hdr.op_mode) { - case HDR_FRAMEX2_DDR: - case HDR_LINEX2_DDR: - case HDR_LINEX2_NO_DDR: - dev->hdr.op_mode = HDR_RDBK_FRAME2; - break; - case HDR_FRAMEX3_DDR: - case HDR_LINEX3_DDR: - dev->hdr.op_mode = HDR_RDBK_FRAME3; - break; - case HDR_NORMAL: + + /* normal read back mode */ + if (dev->hdr.op_mode == HDR_NORMAL && + (dev->isp_inp & 0x7) == INP_RAWRD2) dev->hdr.op_mode = HDR_RDBK_FRAME1; - break; - default: - break; - } -#endif + writel(SW_IBUF_OP_MODE(dev->hdr.op_mode) | SW_HDR_ESP_MODE(dev->hdr.esp_mode), base + CSI2RX_CTRL0); diff --git a/drivers/media/platform/rockchip/isp/csi.h b/drivers/media/platform/rockchip/isp/csi.h index c51d0b1e37f9..5e66d8f38b2d 100644 --- a/drivers/media/platform/rockchip/isp/csi.h +++ b/drivers/media/platform/rockchip/isp/csi.h @@ -8,8 +8,6 @@ #define CSI_DEV_NAME DRIVER_NAME "-csi-subdev" -#define RKISP_HDR_RDBK_MODE 0 - #define HDR_MAX_DUMMY_BUF 3 /* define max dmatx to use for hdr */ #define HDR_DMA_MAX 3 diff --git a/drivers/media/platform/rockchip/isp/dmarx.c b/drivers/media/platform/rockchip/isp/dmarx.c index 52b62535ee49..bdda35c42914 100644 --- a/drivers/media/platform/rockchip/isp/dmarx.c +++ b/drivers/media/platform/rockchip/isp/dmarx.c @@ -564,12 +564,6 @@ static int dmarx_start_streaming(struct vb2_queue *queue, goto free_buf_queue; } - if (atomic_read(&dev->cap_dev.refcnt) < 1) { - v4l2_err(v4l2_dev, - "capture stream should start first\n"); - goto free_buf_queue; - } - ret = dmarx_start(stream); if (ret < 0) { v4l2_err(v4l2_dev,