diff --git a/drivers/media/platform/rockchip/isp/dmarx.c b/drivers/media/platform/rockchip/isp/dmarx.c index f1747a9b17c3..dda46feeb4ed 100644 --- a/drivers/media/platform/rockchip/isp/dmarx.c +++ b/drivers/media/platform/rockchip/isp/dmarx.c @@ -680,6 +680,8 @@ static int rkisp_init_vb2_queue(struct vb2_queue *q, q->allow_cache_hints = 1; q->bidirectional = 1; q->gfp_flags = GFP_DMA32; + if (stream->ispdev->hw_dev->is_dma_contig) + q->dma_attrs = DMA_ATTR_FORCE_CONTIGUOUS; return vb2_queue_init(q); } diff --git a/drivers/media/platform/rockchip/ispp/stats.c b/drivers/media/platform/rockchip/ispp/stats.c index df011710b1aa..0b0a2cff271e 100644 --- a/drivers/media/platform/rockchip/ispp/stats.c +++ b/drivers/media/platform/rockchip/ispp/stats.c @@ -211,7 +211,7 @@ static void rkispp_stats_vb2_buf_queue(struct vb2_buffer *vb) unsigned long lock_flags = 0; vb2_plane_vaddr(vb, 0); - if (stats_dev->dev->hw_dev->is_mmu) { + if (stats_dev->dev->hw_dev->is_dma_sg_ops) { struct sg_table *sgt = vb2_dma_sg_plane_desc(vb, 0); buf->buff_addr[0] = sg_dma_address(sgt->sgl);