[PATCH 6/6] drm/msm: a5xx: Support per-instance pagetables
Mark Rutland
mark.rutland at arm.com
Tue Mar 7 18:14:32 UTC 2017
On Tue, Mar 07, 2017 at 10:14:20AM -0700, Jordan Crouse wrote:
> Support per-instance pagetables for 5XX targets. Per-instance
> pagetables allow each open DRM instance to have its own VM memory
> space to prevent accidently or maliciously copying or overwriting
> buffers from other instances. It also opens the door for SVM since
> any given CPU side address can be more reliably mapped into the
> instance's GPU VM space without conflict.
>
> To support this create a new dynamic domain (pagetable) for each open
> DRM file and map buffer objects for each instance into that pagetable.
> Use the GPU to switch to the pagetable for the instance while doing a
> submit.
>
> Signed-off-by: Jordan Crouse <jcrouse at codeaurora.org>
> ---
> arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +
> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 64 ++++++++++++++++++++++++++++++-
> drivers/gpu/drm/msm/adreno/a5xx_gpu.h | 17 ++++++++
> drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 61 +++++++++++++++++++++++------
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 2 +
> drivers/gpu/drm/msm/msm_drv.c | 60 ++++++++++++++++++++++-------
> drivers/gpu/drm/msm/msm_drv.h | 3 ++
> drivers/gpu/drm/msm/msm_gem_vma.c | 38 +++++++++++++++---
> 8 files changed, 216 insertions(+), 31 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> index 2903020..6372f3a 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> @@ -867,7 +867,9 @@
>
> qcom,skip-init;
> qcom,register-save;
> +
Pointless whitespace change?
> arm,smmu-enable-stall;
> + qcom,dynamic;
As commented on the RFC series adding code for this property, it is at
best not clear what this means, and at present I do not beleive this
should be in the DT at all.
Thanks,
Mark.
More information about the dri-devel
mailing list