mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
media: rockchip: fix isp and ispp share dmabuf release fail
Change-Id: I80d34b89c0dd8965baebbc9cd75b0877f5e4ed9d Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -1812,10 +1812,6 @@ static void rkisp_stop_streaming(struct vb2_queue *queue)
|
||||
rkisp_destroy_dummy_buf(stream);
|
||||
atomic_dec(&dev->cap_dev.refcnt);
|
||||
stream->start_stream = false;
|
||||
if (stream->id == RKISP_STREAM_SP && stream->out_isp_fmt.fmt_type == FMT_FBCGAIN) {
|
||||
stream->out_isp_fmt.fmt_type = FMT_YUV;
|
||||
stream->out_isp_fmt.fourcc = V4L2_PIX_FMT_NV12;
|
||||
}
|
||||
}
|
||||
|
||||
static int rkisp_stream_start(struct rkisp_stream *stream)
|
||||
|
||||
@@ -271,6 +271,7 @@ static void rkispp_free_pool(struct rkispp_hw_dev *hw)
|
||||
if (buf->mem_priv[j]) {
|
||||
g_ops->unmap_dmabuf(buf->mem_priv[j]);
|
||||
g_ops->detach_dmabuf(buf->mem_priv[j]);
|
||||
dma_buf_put(buf->dbufs->dbuf[j]);
|
||||
buf->mem_priv[j] = NULL;
|
||||
}
|
||||
}
|
||||
@@ -318,11 +319,12 @@ static int rkispp_init_pool(struct rkispp_hw_dev *hw, struct rkisp_ispp_buf *dbu
|
||||
} else {
|
||||
pool->dma[i] = *((dma_addr_t *)g_ops->cookie(mem));
|
||||
}
|
||||
get_dma_buf(dbufs->dbuf[i]);
|
||||
pool->vaddr[i] = g_ops->vaddr(mem);
|
||||
if (rkispp_debug)
|
||||
dev_info(hw->dev, "%s dma[%d]:0x%x\n",
|
||||
__func__, i, (u32)pool->dma[i]);
|
||||
|
||||
pool->vaddr[i] = g_ops->vaddr(mem);
|
||||
}
|
||||
rkispp_init_regbuf(hw);
|
||||
hw->is_idle = true;
|
||||
|
||||
Reference in New Issue
Block a user