From e07c0db5e84a5f1a16af8567d5fdde2ca6d2c80e Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Wed, 17 Aug 2016 14:57:51 +0200 Subject: drm/etnaviv: move gpu_va() to etnaviv mmu The GPU virtual address for the command buffers differs depending on the IOMMU version. Move the calculation of the iova into etnaviv mmu, to enable proper dispatch. Signed-off-by: Lucas Stach --- drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers/gpu/drm/etnaviv/etnaviv_mmu.c') diff --git a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c index e744c6d..d62125e 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c @@ -304,6 +304,12 @@ void etnaviv_iommu_restore(struct etnaviv_gpu *gpu) dev_err(gpu->dev, "IOMMUv2 restore not implemented\n"); } +u32 etnaviv_iommu_get_cmdbuf_va(struct etnaviv_gpu *gpu, + struct etnaviv_cmdbuf *buf) +{ + return buf->paddr - gpu->memory_base; +} + size_t etnaviv_iommu_dump_size(struct etnaviv_iommu *iommu) { struct etnaviv_iommu_ops *ops; -- cgit v1.1