mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
media: rockchip: isp: hdr dbg rename to rdbk
to match isp datasheet, rename hdr debug mode to read back mode Change-Id: Iabd44ed1d1bcd5984cc0446e31954675d6142df3 Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -704,19 +704,18 @@ static int hdr_dma_frame(struct rkisp_device *dev)
|
||||
switch (dev->hdr.op_mode) {
|
||||
case HDR_FRAMEX2_DDR:
|
||||
case HDR_LINEX2_DDR:
|
||||
case HDR_DBG_FRAME1:
|
||||
case HDR_RDBK_FRAME1:
|
||||
max_dma = 1;
|
||||
break;
|
||||
case HDR_FRAMEX3_DDR:
|
||||
case HDR_LINEX3_DDR:
|
||||
case HDR_DBG_FRAME2:
|
||||
case HDR_RDBK_FRAME2:
|
||||
max_dma = 2;
|
||||
break;
|
||||
case HDR_DBG_FRAME3:
|
||||
case HDR_RDBK_FRAME3:
|
||||
max_dma = HDR_DMA_MAX;
|
||||
break;
|
||||
case HDR_LINEX2_NO_DDR:
|
||||
case HDR_LINEX3_NO_DDR:
|
||||
case HDR_NORMAL:
|
||||
default:
|
||||
max_dma = 0;
|
||||
@@ -1283,7 +1282,7 @@ static void update_dmatx_v2(struct rkisp_stream *stream)
|
||||
stream->id == RKISP_STREAM_DMATX1 ||
|
||||
stream->id == RKISP_STREAM_DMATX2)) {
|
||||
buf = hdr_dqbuf(&dev->hdr.q_tx[index]);
|
||||
if (IS_HDR_DBG(dev->hdr.op_mode) &&
|
||||
if (IS_HDR_RDBK(dev->hdr.op_mode) &&
|
||||
!dev->dmarx_dev.trigger)
|
||||
hdr_qbuf(&dev->hdr.q_rx[index], buf);
|
||||
else
|
||||
@@ -1515,10 +1514,10 @@ static int rkisp_create_hdr_buf(struct rkisp_device *dev)
|
||||
stream = &dev->cap_dev.stream[RKISP_STREAM_DMATX0];
|
||||
size = stream->out_fmt.plane_fmt[0].sizeimage;
|
||||
max_dma = hdr_dma_frame(dev);
|
||||
/* hdr dbg mode using base and shd address
|
||||
/* hdr read back mode using base and shd address
|
||||
* this support multi-buffer
|
||||
*/
|
||||
if (IS_HDR_DBG(dev->hdr.op_mode) &&
|
||||
if (IS_HDR_RDBK(dev->hdr.op_mode) &&
|
||||
!dev->dmarx_dev.trigger)
|
||||
max_buf = HDR_MAX_DUMMY_BUF;
|
||||
for (i = 0; i < max_dma; i++) {
|
||||
@@ -1540,21 +1539,21 @@ static int rkisp_create_hdr_buf(struct rkisp_device *dev)
|
||||
/*
|
||||
* normal: q_tx[0] to dma0
|
||||
* q_tx[1] to dma1
|
||||
* dbg1: using dma2
|
||||
* rdbk1: using dma2
|
||||
q_tx[0] to dma2
|
||||
* dbg2: using dma0 (as M), dma2 (as S)
|
||||
* rdbk2: using dma0 (as M), dma2 (as S)
|
||||
* q_tx[0] to dma0
|
||||
* q_tx[1] to dma2
|
||||
* dbg3: using dma0 (as M), dam1 (as L), dma2 (as S)
|
||||
* rdbk3: using dma0 (as M), dam1 (as L), dma2 (as S)
|
||||
* q_tx[0] to dma0
|
||||
* q_tx[1] to dma1
|
||||
* q_tx[2] to dma2
|
||||
*/
|
||||
if (dev->hdr.op_mode == HDR_DBG_FRAME1) {
|
||||
if (dev->hdr.op_mode == HDR_RDBK_FRAME1) {
|
||||
dev->hdr.index[HDR_DMA2] = 0;
|
||||
dev->hdr.index[HDR_DMA0] = 1;
|
||||
dev->hdr.index[HDR_DMA1] = 2;
|
||||
} else if (dev->hdr.op_mode == HDR_DBG_FRAME2) {
|
||||
} else if (dev->hdr.op_mode == HDR_RDBK_FRAME2) {
|
||||
dev->hdr.index[HDR_DMA0] = 0;
|
||||
dev->hdr.index[HDR_DMA2] = 1;
|
||||
dev->hdr.index[HDR_DMA1] = 2;
|
||||
@@ -1581,7 +1580,7 @@ void hdr_destroy_buf(struct rkisp_device *dev)
|
||||
|
||||
atomic_set(&dev->hdr.refcnt, 0);
|
||||
max_dma = hdr_dma_frame(dev);
|
||||
if (IS_HDR_DBG(dev->hdr.op_mode) &&
|
||||
if (IS_HDR_RDBK(dev->hdr.op_mode) &&
|
||||
!dev->dmarx_dev.trigger)
|
||||
max_buf = HDR_MAX_DUMMY_BUF;
|
||||
for (i = 0; i < max_dma; i++) {
|
||||
@@ -1685,19 +1684,19 @@ int hdr_config_dmatx(struct rkisp_device *dev)
|
||||
dev->hdr.op_mode == HDR_LINEX2_DDR ||
|
||||
dev->hdr.op_mode == HDR_FRAMEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_LINEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME3)
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME3)
|
||||
dmatx0_config_mi(&dev->cap_dev.stream[RKISP_STREAM_DMATX0]);
|
||||
if (dev->hdr.op_mode == HDR_FRAMEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_LINEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME3)
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME3)
|
||||
dmatx1_config_mi(&dev->cap_dev.stream[RKISP_STREAM_DMATX1]);
|
||||
if (dev->hdr.op_mode == HDR_DBG_FRAME1 ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME3)
|
||||
if (dev->hdr.op_mode == HDR_RDBK_FRAME1 ||
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME3)
|
||||
dmatx2_config_mi(&dev->cap_dev.stream[RKISP_STREAM_DMATX2]);
|
||||
|
||||
if (IS_HDR_DBG(dev->hdr.op_mode))
|
||||
if (IS_HDR_RDBK(dev->hdr.op_mode))
|
||||
raw_rd_ctrl(dev->base_addr, dev->csi_dev.memory << 2);
|
||||
return 0;
|
||||
}
|
||||
@@ -1716,22 +1715,22 @@ void hdr_stop_dmatx(struct rkisp_device *dev)
|
||||
dev->hdr.op_mode == HDR_LINEX2_DDR ||
|
||||
dev->hdr.op_mode == HDR_FRAMEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_LINEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME3) {
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME3) {
|
||||
stream = &dev->cap_dev.stream[RKISP_STREAM_DMATX0];
|
||||
raw_wr_disable(stream);
|
||||
stream->u.dmatx.is_config = false;
|
||||
}
|
||||
if (dev->hdr.op_mode == HDR_FRAMEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_LINEX3_DDR ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME3) {
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME3) {
|
||||
stream = &dev->cap_dev.stream[RKISP_STREAM_DMATX1];
|
||||
raw_wr_disable(stream);
|
||||
stream->u.dmatx.is_config = false;
|
||||
}
|
||||
if (dev->hdr.op_mode == HDR_DBG_FRAME1 ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_DBG_FRAME3) {
|
||||
if (dev->hdr.op_mode == HDR_RDBK_FRAME1 ||
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME2 ||
|
||||
dev->hdr.op_mode == HDR_RDBK_FRAME3) {
|
||||
stream = &dev->cap_dev.stream[RKISP_STREAM_DMATX2];
|
||||
raw_wr_disable(stream);
|
||||
stream->u.dmatx.is_config = false;
|
||||
@@ -1749,12 +1748,12 @@ static void rkisp_stream_stop(struct rkisp_stream *stream)
|
||||
int ret = 0;
|
||||
|
||||
if (dev->isp_ver == ISP_V20 &&
|
||||
((dev->hdr.op_mode == HDR_DBG_FRAME1 &&
|
||||
((dev->hdr.op_mode == HDR_RDBK_FRAME1 &&
|
||||
stream->id == RKISP_STREAM_DMATX2) ||
|
||||
(dev->hdr.op_mode == HDR_DBG_FRAME2 &&
|
||||
(dev->hdr.op_mode == HDR_RDBK_FRAME2 &&
|
||||
(stream->id == RKISP_STREAM_DMATX2 ||
|
||||
stream->id == RKISP_STREAM_DMATX0)) ||
|
||||
(dev->hdr.op_mode == HDR_DBG_FRAME3 &&
|
||||
(dev->hdr.op_mode == HDR_RDBK_FRAME3 &&
|
||||
(stream->id == RKISP_STREAM_DMATX2 ||
|
||||
stream->id == RKISP_STREAM_DMATX1 ||
|
||||
stream->id == RKISP_STREAM_DMATX0)))) {
|
||||
@@ -2985,9 +2984,9 @@ void rkisp_mi_isr(u32 mis_val, struct rkisp_device *dev)
|
||||
} else {
|
||||
mi_frame_end(stream);
|
||||
if (dev->dmarx_dev.trigger == T_AUTO &&
|
||||
((dev->hdr.op_mode == HDR_DBG_FRAME1 && end_tx2) ||
|
||||
(dev->hdr.op_mode == HDR_DBG_FRAME2 && end_tx2 && end_tx0) ||
|
||||
(dev->hdr.op_mode == HDR_DBG_FRAME3 && end_tx2 && end_tx1 && end_tx0))) {
|
||||
((dev->hdr.op_mode == HDR_RDBK_FRAME1 && end_tx2) ||
|
||||
(dev->hdr.op_mode == HDR_RDBK_FRAME2 && end_tx2 && end_tx0) ||
|
||||
(dev->hdr.op_mode == HDR_RDBK_FRAME3 && end_tx2 && end_tx1 && end_tx0))) {
|
||||
end_tx0 = false;
|
||||
end_tx1 = false;
|
||||
end_tx2 = false;
|
||||
|
||||
@@ -277,20 +277,19 @@ static int csi_config(struct rkisp_csi_device *csi)
|
||||
dev->hdr.esp_mode = hdr_cfg.esp.mode;
|
||||
}
|
||||
}
|
||||
#if RKISP_HDR_DBG_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_DBG_FRAME2;
|
||||
dev->hdr.op_mode = HDR_RDBK_FRAME2;
|
||||
break;
|
||||
case HDR_FRAMEX3_DDR:
|
||||
case HDR_LINEX3_DDR:
|
||||
case HDR_LINEX3_NO_DDR:
|
||||
dev->hdr.op_mode = HDR_DBG_FRAME3;
|
||||
dev->hdr.op_mode = HDR_RDBK_FRAME3;
|
||||
break;
|
||||
case HDR_NORMAL:
|
||||
dev->hdr.op_mode = HDR_DBG_FRAME1;
|
||||
dev->hdr.op_mode = HDR_RDBK_FRAME1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -318,17 +317,16 @@ static int csi_config(struct rkisp_csi_device *csi)
|
||||
|
||||
/* hdr merge */
|
||||
switch (dev->hdr.op_mode) {
|
||||
case HDR_DBG_FRAME2:
|
||||
case HDR_RDBK_FRAME2:
|
||||
case HDR_FRAMEX2_DDR:
|
||||
case HDR_LINEX2_DDR:
|
||||
case HDR_LINEX2_NO_DDR:
|
||||
val = SW_HDRMGE_EN |
|
||||
SW_HDRMGE_MODE_FRAMEX2;
|
||||
break;
|
||||
case HDR_DBG_FRAME3:
|
||||
case HDR_RDBK_FRAME3:
|
||||
case HDR_FRAMEX3_DDR:
|
||||
case HDR_LINEX3_DDR:
|
||||
case HDR_LINEX3_NO_DDR:
|
||||
val = SW_HDRMGE_EN |
|
||||
SW_HDRMGE_MODE_FRAMEX3;
|
||||
break;
|
||||
@@ -400,17 +398,17 @@ int rkisp_csi_config_patch(struct rkisp_device *dev)
|
||||
} else {
|
||||
switch (dev->isp_inp & 0x7) {
|
||||
case INP_RAWRD2 | INP_RAWRD0:
|
||||
dev->hdr.op_mode = HDR_DBG_FRAME2;
|
||||
dev->hdr.op_mode = HDR_RDBK_FRAME2;
|
||||
val = SW_HDRMGE_EN |
|
||||
SW_HDRMGE_MODE_FRAMEX2;
|
||||
break;
|
||||
case INP_RAWRD2 | INP_RAWRD1 | INP_RAWRD0:
|
||||
dev->hdr.op_mode = HDR_DBG_FRAME3;
|
||||
dev->hdr.op_mode = HDR_RDBK_FRAME3;
|
||||
val = SW_HDRMGE_EN |
|
||||
SW_HDRMGE_MODE_FRAMEX3;
|
||||
break;
|
||||
default: //INP_RAWRD2
|
||||
dev->hdr.op_mode = HDR_DBG_FRAME1;
|
||||
dev->hdr.op_mode = HDR_RDBK_FRAME1;
|
||||
}
|
||||
writel(SW_IBUF_OP_MODE(dev->hdr.op_mode),
|
||||
dev->base_addr + CSI2RX_CTRL0);
|
||||
@@ -425,7 +423,7 @@ int rkisp_csi_config_patch(struct rkisp_device *dev)
|
||||
}
|
||||
|
||||
/*
|
||||
* for hdr debug mode, rawrd read back data
|
||||
* for hdr read back mode, rawrd read back data
|
||||
* this will update rawrd base addr to shadow.
|
||||
*/
|
||||
void rkisp_trigger_read_back(struct rkisp_csi_device *csi, u8 dma2frm)
|
||||
@@ -437,11 +435,11 @@ void rkisp_trigger_read_back(struct rkisp_csi_device *csi, u8 dma2frm)
|
||||
dma2frm = 2;
|
||||
memset(csi->filt_state, 0, sizeof(csi->filt_state));
|
||||
switch (dev->hdr.op_mode) {
|
||||
case HDR_DBG_FRAME3://is rawrd1 rawrd0 rawrd2
|
||||
case HDR_RDBK_FRAME3://is rawrd1 rawrd0 rawrd2
|
||||
csi->filt_state[CSI_F_RD1] = dma2frm;
|
||||
case HDR_DBG_FRAME2://is rawrd0 and rawrd2
|
||||
case HDR_RDBK_FRAME2://is rawrd0 and rawrd2
|
||||
csi->filt_state[CSI_F_RD0] = dma2frm;
|
||||
case HDR_DBG_FRAME1://only rawrd2
|
||||
case HDR_RDBK_FRAME1://only rawrd2
|
||||
csi->filt_state[CSI_F_RD2] = dma2frm;
|
||||
break;
|
||||
default://other no support readback
|
||||
@@ -463,7 +461,7 @@ int rkisp_csi_trigger_event(struct rkisp_csi_device *csi, void *arg)
|
||||
unsigned long lock_flags = 0;
|
||||
int times = -1;
|
||||
|
||||
if (!IS_HDR_DBG(dev->hdr.op_mode))
|
||||
if (!IS_HDR_RDBK(dev->hdr.op_mode))
|
||||
return 0;
|
||||
|
||||
spin_lock_irqsave(&csi->rdbk_lock, lock_flags);
|
||||
@@ -507,17 +505,17 @@ void rkisp_csi_sof(struct rkisp_device *dev, u8 id)
|
||||
{
|
||||
/* to get long frame vc_start */
|
||||
switch (dev->hdr.op_mode) {
|
||||
case HDR_DBG_FRAME1:
|
||||
case HDR_RDBK_FRAME1:
|
||||
if (id != HDR_DMA2)
|
||||
return;
|
||||
break;
|
||||
case HDR_DBG_FRAME2:
|
||||
case HDR_RDBK_FRAME2:
|
||||
case HDR_FRAMEX2_DDR:
|
||||
case HDR_LINEX2_DDR:
|
||||
if (id != HDR_DMA0)
|
||||
return;
|
||||
break;
|
||||
case HDR_DBG_FRAME3:
|
||||
case HDR_RDBK_FRAME3:
|
||||
case HDR_FRAMEX3_DDR:
|
||||
case HDR_LINEX3_DDR:
|
||||
if (id != HDR_DMA1)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#define CSI_DEV_NAME DRIVER_NAME "-csi-subdev"
|
||||
|
||||
#define RKISP_HDR_DBG_MODE 0
|
||||
#define RKISP_HDR_RDBK_MODE 0
|
||||
|
||||
#define HDR_MAX_DUMMY_BUF 3
|
||||
/* define max dmatx to use for hdr */
|
||||
@@ -17,24 +17,23 @@
|
||||
#define HDR_DMA1 1
|
||||
#define HDR_DMA2 2
|
||||
|
||||
#define IS_HDR_DBG(x) ({ \
|
||||
#define IS_HDR_RDBK(x) ({ \
|
||||
typeof(x) __x = (x); \
|
||||
(__x == HDR_DBG_FRAME1 || \
|
||||
__x == HDR_DBG_FRAME2 || \
|
||||
__x == HDR_DBG_FRAME3); \
|
||||
(__x == HDR_RDBK_FRAME1 || \
|
||||
__x == HDR_RDBK_FRAME2 || \
|
||||
__x == HDR_RDBK_FRAME3); \
|
||||
})
|
||||
|
||||
enum hdr_op_mode {
|
||||
HDR_NORMAL = 0,
|
||||
HDR_DBG_FRAME1 = 4,
|
||||
HDR_DBG_FRAME2 = 5,
|
||||
HDR_DBG_FRAME3 = 6,
|
||||
HDR_RDBK_FRAME1 = 4,
|
||||
HDR_RDBK_FRAME2 = 5,
|
||||
HDR_RDBK_FRAME3 = 6,
|
||||
HDR_FRAMEX2_DDR = 8,
|
||||
HDR_LINEX2_DDR = 9,
|
||||
HDR_LINEX2_NO_DDR = 10,
|
||||
HDR_FRAMEX3_DDR = 12,
|
||||
HDR_LINEX3_DDR = 13,
|
||||
HDR_LINEX3_NO_DDR = 14,
|
||||
};
|
||||
|
||||
enum rkisp_csi_pad {
|
||||
|
||||
@@ -270,16 +270,15 @@ void rkisp_luma_isr(struct rkisp_luma_vdev *luma_vdev, u32 isp_stat)
|
||||
goto unlock;
|
||||
|
||||
switch (op_mode) {
|
||||
case HDR_DBG_FRAME2:
|
||||
case HDR_RDBK_FRAME2:
|
||||
case HDR_FRAMEX2_DDR:
|
||||
case HDR_LINEX2_DDR:
|
||||
case HDR_LINEX2_NO_DDR:
|
||||
frm_mode = RKISP_LUMA_TWOFRM;
|
||||
break;
|
||||
case HDR_DBG_FRAME3:
|
||||
case HDR_RDBK_FRAME3:
|
||||
case HDR_FRAMEX3_DDR:
|
||||
case HDR_LINEX3_DDR:
|
||||
case HDR_LINEX3_NO_DDR:
|
||||
frm_mode = RKISP_LUMA_THREEFRM;
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user