media: rockchip: isp: fix ldcv irq handle

Change-Id: Iabada025762c66e6881472420e1351f5da2510ea
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2024-06-03 15:13:22 +08:00
committed by Tao Huang
parent 6785b797c8
commit 9eacb0f92f
2 changed files with 9 additions and 1 deletions

View File

@@ -1814,7 +1814,13 @@ end:
void rkisp_stream_ldc_end_v39(struct rkisp_device *dev)
{
struct rkisp_stream *stream = &dev->cap_dev.stream[RKISP_STREAM_LDC];
u32 val = rkisp_read(dev, ISP39_LDCV_CTRL, true);
/* ldcv_irq: ldcv enable is frame end other frame input */
if (val & ISP39_LDCV_MAP_ERROR) {
v4l2_err(&dev->v4l2_dev, "ldcv map data error\n");
return;
}
if (stream->stopping) {
if (!dev->hw_dev->is_single) {
stream->stopping = false;
@@ -1826,7 +1832,7 @@ void rkisp_stream_ldc_end_v39(struct rkisp_device *dev)
stream->streaming = false;
wake_up(&stream->done);
}
} else {
} else if (stream->streaming) {
mi_frame_end(stream, FRAME_IRQ);
}
rkisp_check_idle(dev, ISP_FRAME_LDC);

View File

@@ -2533,6 +2533,8 @@
#define ISP39_LDCV_UV_SWAP BIT(4)
#define ISP39_LDCV_LUT_MODE(x) ((x & 0x3) << 24)
#define ISP39_LDCV_FORCE_UPD BIT(26)
#define ISP39_LDCV_MAP_ERROR BIT(28)
#define ISP39_LDCV_WORKING BIT(30)
#define ISP39_LDCV_EN_SHD BIT(31)
/* mi interrupt */