drm/rockchip: gem: fix dma_free_attrs() parameter error

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I84204ef5348d3429aa104c6e8a307458d1a88504
This commit is contained in:
Sandy Huang
2021-05-26 09:17:33 +08:00
committed by Tao Huang
parent 6aef0738cf
commit 42256c1a8f
2 changed files with 6 additions and 8 deletions

View File

@@ -258,7 +258,7 @@ static int rockchip_gem_alloc_dma(struct rockchip_gem_object *rk_obj,
rk_obj->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING;
rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size,
&rk_obj->dma_handle, GFP_KERNEL,
&rk_obj->dma_addr, GFP_KERNEL,
rk_obj->dma_attrs);
if (!rk_obj->kvaddr) {
DRM_ERROR("failed to allocate %zu byte dma buffer", obj->size);
@@ -272,7 +272,7 @@ static int rockchip_gem_alloc_dma(struct rockchip_gem_object *rk_obj,
}
ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr,
rk_obj->dma_handle, obj->size,
rk_obj->dma_addr, obj->size,
rk_obj->dma_attrs);
if (ret) {
DRM_ERROR("failed to allocate sgt, %d\n", ret);
@@ -352,7 +352,7 @@ static int rockchip_gem_alloc_secure(struct rockchip_gem_object *rk_obj)
return -ENOMEM;
}
rk_obj->dma_handle = paddr;
rk_obj->dma_addr = paddr;
rk_obj->num_pages = rk_obj->base.size >> PAGE_SHIFT;
rk_obj->pages = drm_calloc_large(rk_obj->num_pages,
@@ -396,7 +396,7 @@ static void rockchip_gem_free_secure(struct rockchip_gem_object *rk_obj)
drm_free_large(rk_obj->pages);
sg_free_table(rk_obj->sgt);
kfree(rk_obj->sgt);
gen_pool_free(private->secure_buffer_pool, rk_obj->dma_handle,
gen_pool_free(private->secure_buffer_pool, rk_obj->dma_addr,
rk_obj->base.size);
}
@@ -449,8 +449,7 @@ static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj,
if (ret < 0)
goto err_free;
} else {
WARN_ON(!rk_obj->dma_handle);
rk_obj->dma_addr = rk_obj->dma_handle;
WARN_ON(!rk_obj->dma_addr);
}
return 0;
@@ -477,7 +476,7 @@ static void rockchip_gem_free_dma(struct rockchip_gem_object *rk_obj)
sg_free_table(rk_obj->sgt);
kfree(rk_obj->sgt);
dma_free_attrs(drm->dev, obj->size, rk_obj->kvaddr,
rk_obj->dma_handle, rk_obj->dma_attrs);
rk_obj->dma_addr, rk_obj->dma_attrs);
}
static void rockchip_gem_free_buf(struct rockchip_gem_object *rk_obj)

View File

@@ -31,7 +31,6 @@ struct rockchip_gem_object {
void *kvaddr;
void *cookie;
dma_addr_t dma_addr;
dma_addr_t dma_handle;
/* Used when IOMMU is disabled */
unsigned long dma_attrs;