mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
media: rockchip: ispp: fix error status of stream off
Change-Id: I9cc099035889e325d225f9252c2283629214b922 Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -296,6 +296,7 @@ static int init_buf(struct rkisp_bridge_device *dev, u32 pic_size, u32 gain_size
|
||||
v4l2_dbg(1, rkisp_debug, &dev->ispdev->v4l2_dev,
|
||||
"%s pic size:%d gain size:%d\n",
|
||||
__func__, pic_size, gain_size);
|
||||
INIT_LIST_HEAD(&hw->list);
|
||||
for (i = 0; i < dev->buf_num; i++) {
|
||||
buf = &hw->bufs[i];
|
||||
for (j = 0; j < GROUP_BUF_MAX; j++) {
|
||||
|
||||
@@ -185,6 +185,7 @@ static int rkispp_init_pool(struct rkispp_hw_dev *hw, struct rkisp_ispp_buf *dbu
|
||||
int i, ret = 0;
|
||||
void *mem;
|
||||
|
||||
INIT_LIST_HEAD(&hw->list);
|
||||
/* init dma buf pool */
|
||||
for (i = 0; i < RKISPP_BUF_POOL_MAX; i++) {
|
||||
pool = &hw->pool[i];
|
||||
|
||||
@@ -2622,8 +2622,18 @@ void rkispp_module_work_event(struct rkispp_device *dev,
|
||||
rkispp_event_handle(dev, CMD_QUEUE_DMABUF, NULL);
|
||||
}
|
||||
|
||||
if (dev->ispp_sdev.state == ISPP_STOP)
|
||||
if (dev->ispp_sdev.state == ISPP_STOP) {
|
||||
if ((module & (ISPP_MODULE_TNR | ISPP_MODULE_NR)) && buf_rd) {
|
||||
struct rkisp_ispp_buf *buf = buf_rd;
|
||||
|
||||
if (buf->is_isp)
|
||||
v4l2_subdev_call(dev->ispp_sdev.remote_sd,
|
||||
video, s_rx_buffer, buf, NULL);
|
||||
}
|
||||
if (!dev->hw_dev->is_idle)
|
||||
dev->hw_dev->is_idle = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (module & ISPP_MODULE_TNR)
|
||||
tnr_work_event(dev, buf_rd, buf_wr, is_isr);
|
||||
|
||||
Reference in New Issue
Block a user