diff options
author | Jordan Crouse <jcrouse@codeaurora.org> | 2020-05-22 16:03:15 -0600 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2020-05-23 13:38:16 -0700 |
commit | ccac7ce373c1b5175bcf733fe6223129b8975788 (patch) | |
tree | 62f147168606dc3ce30287b4a6d7ca7ce8cb3370 /drivers/gpu/drm/msm/msm_gpu.h | |
parent | 52da6d513183cf543df6efc95bf504aee0da70d6 (diff) | |
download | linux-ccac7ce373c1b5175bcf733fe6223129b8975788.tar.gz linux-ccac7ce373c1b5175bcf733fe6223129b8975788.tar.bz2 linux-ccac7ce373c1b5175bcf733fe6223129b8975788.zip |
drm/msm: Refactor address space initialization
Refactor how address space initialization works. Instead of having the
address space function create the MMU object (and thus require separate but
equal functions for gpummu and iommu) use a single function and pass the
MMU struct in. Make the generic code cleaner by using target specific
functions to create the address space so a2xx can do its own thing in its
own space. For all the other targets use a generic helper to initialize
IOMMU but leave the door open for newer targets to use customization
if they need it.
Reviewed-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
[squash in rebase fixups]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gpu.h')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gpu.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h index be5bc2e8425c..d496b68e58a9 100644 --- a/drivers/gpu/drm/msm/msm_gpu.h +++ b/drivers/gpu/drm/msm/msm_gpu.h @@ -21,8 +21,6 @@ struct msm_gpu_state; struct msm_gpu_config { const char *ioname; - uint64_t va_start; - uint64_t va_end; unsigned int nr_rings; }; @@ -64,6 +62,8 @@ struct msm_gpu_funcs { int (*gpu_state_put)(struct msm_gpu_state *state); unsigned long (*gpu_get_freq)(struct msm_gpu *gpu); void (*gpu_set_freq)(struct msm_gpu *gpu, unsigned long freq); + struct msm_gem_address_space *(*create_address_space) + (struct msm_gpu *gpu, struct platform_device *pdev); }; struct msm_gpu { |