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:
Cai YiWei
2021-06-23 10:06:08 +08:00
committed by Tao Huang
parent ce02e6a41d
commit 93aa3972ad
2 changed files with 3 additions and 5 deletions

View File

@@ -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)

View File

@@ -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;