aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
diff options
context:
space:
mode:
authorJonathan Marek <jonathan@marek.ca>2020-04-23 17:09:15 -0400
committerRob Clark <robdclark@chromium.org>2020-05-18 09:26:33 -0700
commit29ac8979cdf7205bf70ec9be60bd2442acc0422a (patch)
tree0e277f5853439d9f26785bec28eb5fb5e472d152 /drivers/gpu/drm/msm/adreno/a6xx_gmu.h
parentdrm/msm: add internal MSM_BO_MAP_PRIV flag (diff)
downloadlinux-dev-29ac8979cdf7205bf70ec9be60bd2442acc0422a.tar.xz
linux-dev-29ac8979cdf7205bf70ec9be60bd2442acc0422a.zip
drm/msm/a6xx: use msm_gem for GMU memory objects
This gives more fine-grained control over how memory is allocated over the DMA api. In particular, it allows using an address range or pinning to a fixed address. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/adreno/a6xx_gmu.h')
-rw-r--r--drivers/gpu/drm/msm/adreno/a6xx_gmu.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.h b/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
index 4af65a36d5ca..cd66a5e1d7e9 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.h
@@ -10,9 +10,10 @@
#include "a6xx_hfi.h"
struct a6xx_gmu_bo {
+ struct drm_gem_object *obj;
void *virt;
size_t size;
- dma_addr_t iova;
+ u64 iova;
};
/*
@@ -43,6 +44,8 @@ struct a6xx_gmu_bo {
struct a6xx_gmu {
struct device *dev;
+ struct msm_gem_address_space *aspace;
+
void * __iomem mmio;
int hfi_irq;
@@ -52,8 +55,8 @@ struct a6xx_gmu {
int idle_level;
- struct a6xx_gmu_bo *hfi;
- struct a6xx_gmu_bo *debug;
+ struct a6xx_gmu_bo hfi;
+ struct a6xx_gmu_bo debug;
int nr_clocks;
struct clk_bulk_data *clocks;