media: rockchip: ispp: add the iqtool module
Change-Id: I12bebaf79c5ed7de61d1869819b96b22c5b7ff3b Signed-off-by: Lian Xu <xu.lian@rock-chips.com>
This commit is contained in:
@@ -132,16 +132,14 @@ static int rkispp_create_links(struct rkispp_device *ispp_dev)
|
||||
stream->linked = true;
|
||||
}
|
||||
source = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, 0, sink,
|
||||
RKISPP_PAD_SINK, flags);
|
||||
ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* params links */
|
||||
flags = MEDIA_LNK_FL_ENABLED;
|
||||
source = &ispp_dev->params_vdev.vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, 0, sink,
|
||||
RKISPP_PAD_SINK_PARAMS, flags);
|
||||
ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ispp_dev->stream_vdev.module_ens = ISPP_MODULE_FEC;
|
||||
@@ -150,8 +148,7 @@ static int rkispp_create_links(struct rkispp_device *ispp_dev)
|
||||
flags = MEDIA_LNK_FL_ENABLED;
|
||||
source = &ispp_dev->ispp_sdev.sd.entity;
|
||||
sink = &ispp_dev->stats_vdev.vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS,
|
||||
sink, 0, flags);
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS, sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@@ -159,32 +156,21 @@ static int rkispp_create_links(struct rkispp_device *ispp_dev)
|
||||
stream = &stream_vdev->stream[STREAM_S0];
|
||||
stream->linked = flags;
|
||||
sink = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
|
||||
sink, 0, flags);
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
stream = &stream_vdev->stream[STREAM_S1];
|
||||
stream->linked = flags;
|
||||
sink = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
|
||||
sink, 0, flags);
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
stream = &stream_vdev->stream[STREAM_S2];
|
||||
stream->linked = flags;
|
||||
sink = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
|
||||
sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
stream = &stream_vdev->stream[STREAM_VIR];
|
||||
stream->linked = flags;
|
||||
sink = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
|
||||
sink, 0, flags);
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@@ -196,8 +182,14 @@ static int rkispp_create_links(struct rkispp_device *ispp_dev)
|
||||
stream->linked = flags;
|
||||
source = &ispp_dev->ispp_sdev.sd.entity;
|
||||
sink = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
|
||||
sink, 0, flags);
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
stream = &stream_vdev->stream[STREAM_VIR];
|
||||
stream->linked = flags;
|
||||
sink = &stream->vnode.vdev.entity;
|
||||
ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
||||
@@ -391,7 +391,7 @@ static int rkispp_hw_probe(struct platform_device *pdev)
|
||||
atomic_set(&hw_dev->refcnt, 0);
|
||||
INIT_LIST_HEAD(&hw_dev->list);
|
||||
hw_dev->is_idle = true;
|
||||
hw_dev->is_single = false;
|
||||
hw_dev->is_single = true;
|
||||
hw_dev->is_fec_ext = false;
|
||||
hw_dev->is_dma_contig = true;
|
||||
hw_dev->is_dma_sg_ops = false;
|
||||
|
||||
@@ -1934,7 +1934,7 @@ int rkispp_register_stream_vdevs(struct rkispp_device *dev)
|
||||
stream_vdev->frame_qst.function = stream_vdev->stream_ops->rkispp_frame_done_early;
|
||||
dev->hw_dev->pool[0].group_buf_max = GROUP_BUF_MAX;
|
||||
} else if (dev->ispp_ver == ISPP_V20) {
|
||||
dev->stream_max = STREAM_MB + 1;
|
||||
dev->stream_max = STREAM_VIR + 1;
|
||||
rkispp_stream_init_ops_v20(stream_vdev);
|
||||
dev->hw_dev->pool[0].group_buf_max = GROUP_BUF_GAIN;
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@ struct rkispp_stream;
|
||||
enum rkispp_stream_id {
|
||||
STREAM_II = 0,
|
||||
STREAM_MB,
|
||||
STREAM_VIR,
|
||||
STREAM_S0,
|
||||
STREAM_S1,
|
||||
STREAM_S2,
|
||||
STREAM_VIR,
|
||||
STREAM_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -336,8 +336,7 @@ static void rkispp_module_work_event(struct rkispp_device *dev,
|
||||
* tnr->nr->fec frame0
|
||||
* |->tnr->nr->fec frame1
|
||||
*/
|
||||
if (is_isr && !buf_rd && !buf_wr &&
|
||||
(module == ISPP_MODULE_FEC && dev->hw_dev->is_single)) {
|
||||
if (is_isr && !buf_rd && !buf_wr) {
|
||||
dev->stream_vdev.monitor.retry = 0;
|
||||
rkispp_event_handle(dev, CMD_QUEUE_DMABUF, NULL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user