[PATCH 3/4] iommu: add qcom_iommu

2017-08-03 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do implement the ARM SMMU spec, but not in a way that is compatible with how the arm-smmu driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register space is not accessible. This means it needs to get configuration from devicetree

[RESEND PATCH 3/4] iommu: add qcom_iommu

2017-07-13 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do implement the ARM SMMU spec, but not in a way that is compatible with how the arm-smmu driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register space is not accessible. This means it needs to get configuration from devicetree

[PATCH 3/4] iommu: add qcom_iommu

2017-06-26 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do implement the ARM SMMU spec, but not in a way that is compatible with how the arm-smmu driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register space is not accessible. This means it needs to get configuration from devicetree

[RESEND PATCH 3/4] iommu: add qcom_iommu

2017-06-21 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do implement the ARM SMMU spec, but not in a way that is compatible with how the arm-smmu driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register space is not accessible. This means it needs to get configuration from devicetree

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-06-16 Thread Riku Voipio
On 13 June 2017 at 15:17, Rob Clark wrote: > An iommu driver for Qualcomm "B" family devices which do implement the > ARM SMMU spec, but not in a way that is compatible with how the arm-smmu > driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register > space is

[PATCH 3/4] iommu: add qcom_iommu

2017-06-13 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do implement the ARM SMMU spec, but not in a way that is compatible with how the arm-smmu driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register space is not accessible. This means it needs to get configuration from devicetree

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-06-12 Thread Rob Clark
On Fri, May 26, 2017 at 8:56 AM, Robin Murphy wrote: >> + struct iommu_group *group; > > This feels weird, since a device can be associated with multiple > contexts, but only one group, so group-per-context is somewhat redundant > and smacks of being in the wrong

[PATCH 3/4] iommu: add qcom_iommu

2017-06-01 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do implement the ARM SMMU spec, but not in a way that is compatible with how the arm-smmu driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register space is not accessible. This means it needs to get configuration from devicetree

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-05-26 Thread Rob Clark
On Fri, May 26, 2017 at 8:56 AM, Robin Murphy wrote: > On 25/05/17 18:33, Rob Clark wrote: >> An iommu driver for Qualcomm "B" family devices which do not completely >> implement the ARM SMMU spec. These devices have context-bank register >> layout that is similar to ARM

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-05-26 Thread Robin Murphy
On 25/05/17 18:33, Rob Clark wrote: > An iommu driver for Qualcomm "B" family devices which do not completely > implement the ARM SMMU spec. These devices have context-bank register > layout that is similar to ARM SMMU, but no global register space (or at > least not one that is accessible). I

[PATCH 3/4] iommu: add qcom_iommu

2017-05-25 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do not completely implement the ARM SMMU spec. These devices have context-bank register layout that is similar to ARM SMMU, but no global register space (or at least not one that is accessible). Signed-off-by: Rob Clark

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-05-11 Thread Sricharan R
Hi, On 5/11/2017 10:20 PM, Rob Clark wrote: > On Thu, May 11, 2017 at 11:08 AM, Sricharan R > wrote: >> Hi Rob, >> >> >> >>> +static irqreturn_t qcom_iommu_fault(int irq, void *dev) >>> +{ >>> + struct qcom_iommu_ctx *ctx = dev; >>> + u32 fsr, fsynr; >>> +

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-05-11 Thread Rob Clark
On Thu, May 11, 2017 at 11:08 AM, Sricharan R wrote: > Hi Rob, > > > >> +static irqreturn_t qcom_iommu_fault(int irq, void *dev) >> +{ >> + struct qcom_iommu_ctx *ctx = dev; >> + u32 fsr, fsynr; >> + unsigned long iova; >> + >> + fsr = iommu_readl(ctx,

[PATCH 3/4] iommu: add qcom_iommu

2017-05-09 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do not completely implement the ARM SMMU spec. These devices have context-bank register layout that is similar to ARM SMMU, but no global register space (or at least not one that is accessible). Signed-off-by: Rob Clark

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-05-05 Thread Sricharan R
< snip ..> >> + >> +static struct platform_driver qcom_iommu_driver = { >> + .driver = { >> + .name = "qcom-iommu", >> + .of_match_table = of_match_ptr(qcom_iommu_of_match), >> + .pm = _iommu_pm_ops, >> + }, >> +

Re: [PATCH 3/4] iommu: add qcom_iommu

2017-05-04 Thread Rob Herring
On Thu, May 4, 2017 at 8:34 AM, Rob Clark wrote: > An iommu driver for Qualcomm "B" family devices which do not completely > implement the ARM SMMU spec. These devices have context-bank register > layout that is similar to ARM SMMU, but no global register space (or at >

[PATCH 3/4] iommu: add qcom_iommu

2017-05-04 Thread Rob Clark
An iommu driver for Qualcomm "B" family devices which do not completely implement the ARM SMMU spec. These devices have context-bank register layout that is similar to ARM SMMU, but no global register space (or at least not one that is accessible). Signed-off-by: Rob Clark