[Freedreno] [PATCH v1 0/6] iommu/arm-smmu: Auxiliary domain and per instance pagetables

2020-01-28 Thread Jordan Crouse
Some clients have a requirement to sandbox memory mappings for security and advanced features like SVM. This series adds support to enable per-instance pagetables as auxiliary domains in the arm-smmu driver and adds per-instance support for the Adreno GPU. This patchset builds on the split pagetab

[Freedreno] [PATCH v1 4/6] drm/msm: Add support to create target specific address spaces

2020-01-28 Thread Jordan Crouse
Add support to create a GPU target specific address space for a context. For those targets that support per-instance pagetables they will return a new address space set up for the instance if possible otherwise just use the global device pagetable. Signed-off-by: Jordan Crouse --- drivers/gpu/d

[Freedreno] [PATCH v1 5/6] drm/msm/gpu: Add ttbr0 to the memptrs

2020-01-28 Thread Jordan Crouse
Targets that support per-instance pagetable switching will have to keep track of which pagetable belongs to each instance to be able to recover for preemption. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/msm_ringbuffer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/d

[Freedreno] [PATCH v1 6/6] drm/msm/a6xx: Support per-instance pagetables

2020-01-28 Thread Jordan Crouse
Add support for per-instance pagetables for a6xx targets. Add support to handle split pagetables and create a new instance if the needed IOMMU support exists and insert the necessary PM4 commands to trigger a pagetable switch at the beginning of a user command. Signed-off-by: Jordan Crouse ---

[Freedreno] [PATCH v1 3/6] drm/msm/adreno: ADd support for IOMMU auxiliary domains

2020-01-28 Thread Jordan Crouse
Add support for creating a auxiliary domain from the IOMMU device to implement per-instance pagetables. Also add a helper function to return the pagetable base address (ttbr) and asid to the caller so that the GPU target code can set up the pagetable switch. Signed-off-by: Jordan Crouse --- dri

[Freedreno] [PATCH v5 5/5] drm/msm/a6xx: Support split pagetables

2020-01-28 Thread Jordan Crouse
Attempt to enable split pagetables if the arm-smmu driver supports it. This will move the default address space from the default region to the address range assigned to TTBR1. The behavior should be transparent to the driver for now but it gets the default buffers out of the way when we want to sta

[Freedreno] [PATCH v5 3/5] drm/msm: Attach the IOMMU device during initialization

2020-01-28 Thread Jordan Crouse
Everywhere an IOMMU object is created by msm_gpu_create_address_space the IOMMU device is attached immediately after. Instead of carrying around the infrastructure to do the attach from the device specific code do it directly in the msm_iommu_init() function. This gets it out of the way for more ag

[Freedreno] [PATCH v5 0/5] iommu/arm-smmu: Split pagetable support for arm-smmu-v2

2020-01-28 Thread Jordan Crouse
This is another iteration for the split pagetable support based on the suggestions from Robin and Will [1]. Background: In order to support per-context pagetables the GPU needs to enable split tables so that we can store global buffers in the TTBR1 space leaving the GPU free to program the TTBR0 r

[Freedreno] [PATCH v5 4/5] drm/msm: Refactor address space initialization

2020-01-28 Thread Jordan Crouse
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

Re: [Freedreno] [v4] arm64: dts: sc7180: add display dt nodes

2020-01-28 Thread Matthias Kaehlcke
Hi, On Tue, Jan 28, 2020 at 06:54:44PM +0530, Harigovindan P wrote: > Add display, DSI hardware DT nodes for sc7180. > > Signed-off-by: Harigovindan P > --- > > Changes in v1: > -Added display DT nodes for sc7180 > Changes in v2: > -Renamed node names > -Corrected code alignme

Re: [Freedreno] [v1] arm64: dts: sc7180: add dsi controller and phy entries for idp dts

2020-01-28 Thread Matthias Kaehlcke
Hi, On Tue, Jan 28, 2020 at 07:06:57PM +0530, Harigovindan P wrote: > Adding dsi controller and phy entries for idp dt. > > Signed-off-by: Harigovindan P > --- > arch/arm64/boot/dts/qcom/sc7180-idp.dts | 56 > + > 1 file changed, 56 insertions(+) > > diff --git

Re: [Freedreno] [PATCH v2] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-01-28 Thread Jordan Crouse
On Mon, Jan 27, 2020 at 02:29:53PM -0800, Doug Anderson wrote: > Hi, > > On Mon, Jan 27, 2020 at 1:30 AM Sharat Masetty > wrote: > > > > This patch adds the required dt nodes and properties > > to enabled A618 GPU. > > > > Signed-off-by: Sharat Masetty > > --- > > arch/arm64/boot/dts/qcom/sc71

[Freedreno] [v1] arm64: dts: sc7180: add dsi controller and phy entries for idp dts

2020-01-28 Thread Harigovindan P
Adding dsi controller and phy entries for idp dt. Signed-off-by: Harigovindan P --- arch/arm64/boot/dts/qcom/sc7180-idp.dts | 56 + 1 file changed, 56 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts in

[Freedreno] [v4] arm64: dts: sc7180: add display dt nodes

2020-01-28 Thread Harigovindan P
Add display, DSI hardware DT nodes for sc7180. Signed-off-by: Harigovindan P --- Changes in v1: -Added display DT nodes for sc7180 Changes in v2: -Renamed node names -Corrected code alignments -Removed extra new line -Added DISP AHB clock for register acce