drm/rockchip: add to consider buffer cacheable at vmap

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I7d823ceea5b50d3fa0a2d6fc252367611d2bb1e1
This commit is contained in:
Sandy Huang
2021-10-08 11:12:54 +08:00
committed by Tao Huang
parent 15752dea8b
commit 9172f699d0

View File

@@ -905,9 +905,13 @@ void *rockchip_gem_prime_vmap(struct drm_gem_object *obj)
{
struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
if (rk_obj->pages)
return vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
pgprot_writecombine(PAGE_KERNEL));
if (rk_obj->pages) {
pgprot_t prot;
prot = rk_obj->flags & ROCKCHIP_BO_CACHABLE ? PAGE_KERNEL : pgprot_writecombine(PAGE_KERNEL);
return vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP, prot);
}
if (rk_obj->dma_attrs & DMA_ATTR_NO_KERNEL_MAPPING)
return NULL;