From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Rutland Subject: Re: [PATCH 6/6] drm/msm: a5xx: Support per-instance pagetables Date: Tue, 7 Mar 2017 18:14:32 +0000 Message-ID: <20170307181432.GG3514@leverpostej> References: <1488906860-11073-1-git-send-email-jcrouse@codeaurora.org> <1488906860-11073-7-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from foss.arm.com ([217.140.101.70]:51270 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755386AbdCGSep (ORCPT ); Tue, 7 Mar 2017 13:34:45 -0500 Content-Disposition: inline In-Reply-To: <1488906860-11073-7-git-send-email-jcrouse@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Jordan Crouse Cc: freedreno@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org 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 > --- > 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.