media: rockchip: vicap support restart capture one frame with aov sinngle frame mode
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com> Change-Id: I1ce89f84d568b14fc59bd0ace774310c3d4b3a98
This commit is contained in:
parent
55f78a749b
commit
38624894a9
2 changed files with 36 additions and 0 deletions
|
|
@ -7957,6 +7957,7 @@ static long rkcif_ioctl_default(struct file *file, void *fh,
|
|||
int i = 0;
|
||||
int stream_num = 0;
|
||||
bool is_can_be_online = false;
|
||||
int on = 0;
|
||||
|
||||
switch (cmd) {
|
||||
case RKCIF_CMD_GET_CSI_MEMORY_MODE:
|
||||
|
|
@ -8094,6 +8095,38 @@ static long rkcif_ioctl_default(struct file *file, void *fh,
|
|||
}
|
||||
}
|
||||
break;
|
||||
case RKCIF_CMD_START_CAPTURE_ONE_FRAME_AOV:
|
||||
if (!dev->sditf[0])
|
||||
return -EINVAL;
|
||||
if (dev->hdr.hdr_mode == HDR_X2)
|
||||
stream_num = 2;
|
||||
else if (dev->hdr.hdr_mode == HDR_X3)
|
||||
stream_num = 3;
|
||||
else
|
||||
stream_num = 1;
|
||||
for (i = 0; i < stream_num; i++) {
|
||||
dev->stream[i].cur_skip_frame = dev->stream[i].skip_frame;
|
||||
dev->stream[i].is_single_cap = true;
|
||||
}
|
||||
if (dev->sditf[0]->mode.rdbk_mode == RKISP_VICAP_ONLINE) {
|
||||
for (i = 0; i < stream_num - 1; i++) {
|
||||
dev->stream[i].to_en_dma = RKCIF_DMAEN_BY_ISP;
|
||||
rkcif_enable_dma_capture(&dev->stream[i], true);
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < stream_num; i++) {
|
||||
if (dev->sditf[0]->mode.rdbk_mode == RKISP_VICAP_RDBK_AUTO)
|
||||
dev->stream[i].to_en_dma = RKCIF_DMAEN_BY_ISP;
|
||||
else
|
||||
dev->stream[i].to_en_dma = RKCIF_DMAEN_BY_VICAP;
|
||||
rkcif_enable_dma_capture(&dev->stream[i], true);
|
||||
}
|
||||
}
|
||||
on = 1;
|
||||
rkcif_dphy_quick_stream(dev, on);
|
||||
v4l2_subdev_call(dev->terminal_sensor.sd, core, ioctl,
|
||||
RKMODULE_SET_QUICK_STREAM, &on);
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,9 @@
|
|||
#define RKCIF_CMD_SET_PPI_DATA_DEBUG \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 13, unsigned int)
|
||||
|
||||
#define RKCIF_CMD_START_CAPTURE_ONE_FRAME_AOV \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 14, int)
|
||||
|
||||
/* cif memory mode
|
||||
* 0: raw12/raw10/raw8 8bit memory compact
|
||||
* 1: raw12/raw10 16bit memory one pixel
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue