All of lore.kernel.org
 help / color / mirror / Atom feed
From: robin.murphy@arm.com (Robin Murphy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 11/13] dtb: amd: Add PCIe SMMU device tree node
Date: Thu, 28 Jan 2016 12:20:58 +0000	[thread overview]
Message-ID: <56AA07AA.7050701@arm.com> (raw)
In-Reply-To: <20160128111453.GG17123@leverpostej>

On 28/01/16 11:14, Mark Rutland wrote:
> On Wed, Jan 27, 2016 at 03:11:59PM -0600, Suravee Suthikulpanit wrote:
>> From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
>>
>> Add PCIe SMMU device tree node for AMD Seattle SOC.
>>
>> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
>> ---
>>   arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi | 23 +++++++++++++++++++++++
>>   1 file changed, 23 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi b/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi
>> index a7fc059..bfccfea 100644
>> --- a/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi
>> +++ b/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi
>> @@ -210,6 +210,7 @@
>>   			device_type = "pci";
>>   			bus-range = <0 0x7f>;
>>   			msi-parent = <&v2m0>;
>> +			#stream-id-cells = <16>;
>>   			reg = <0 0xf0000000 0 0x10000000>;
>>
>>   			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
>> @@ -230,6 +231,28 @@
>>   				<0x03000000 0x01 0x00000000 0x01 0x00000000 0x7f 0x00000000>;
>>   		};
>>
>> +		pcie0_smmu: smmu at e0a00000 {
>> +			 compatible = "arm,mmu-401";
>> +			 reg = <0 0xe0a00000 0 0x10000>;
>> +			 #global-interrupts = <1>;
>> +			 interrupts = /* Uses combined intr for both
>> +				       * global and context
>> +				       */
>> +				      <0 333 4>,
>> +				      <0 333 4>;
>> +			/* Note:
>> +			 * SID[2:0]  = PCIe function number
>> +			 * SID[7:3]  = PCIe device number
>> +			 * SID[14:8] = PCIe bus number
>> +			 */
>> +			 mmu-masters = <&pcie0
>> +				/* 1:00:[0,3] */ 256 257 258 259
>> +				/* 2:00:[0,3] */ 512 513 514 515
>> +				/* 3:00:[0,3] */ 768 769 770 771
>> +				/* 4:00:[0,3] */ 1024 1025 1026 1027
>> +			 >;
>> +		 };
>
> This doesn't look right to me.
>
> I didn't think that RID->SID mapping was actually defined by any
> binding, so (how) are these numbers used?
>
> I'm uncomfortable with this, given we should be moving towards the
> generic IOMMU binding (and then we'd use the iommu-map binding [1] for
> this).
>
> Will, Robin, thoughts?

Any IDs specified here would only apply to DMA by the "platform device" 
side of the host controller itself (as would an equivalent "iommus" 
property on pcie0 once I finish the SMMUv2 generic binding support I'm 
working on). In terms of PCI devices, the "mmu-masters" property is 
overloaded such that only its existence matters, to identify that there 
_is_ a relationship between the SMMU and the PCI bus(es) behind that 
host controller.

Really, the only binding that's going to make sense for that context is 
"iommu-map". I think that should be pretty straightforward to implement 
entirely in core OF/IOMMU code - we can already figure out a device's 
DMA alias as the host controller sees it, we just need the IOMMU drivers 
to be able to then run that through an additional downstream translation 
(which would be identity-mapped by default).

Robin.

>
> Mark.
>
> [1] https://lkml.org/lkml/2015/7/23/561
>

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Mark Rutland <mark.rutland@arm.com>,
	Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>,
	will.deacon@arm.com
Cc: robh+dt@kernel.org, pawel.moll@arm.com,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	arnd@arndb.de, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, arm@kernel.org,
	brijeshkumar.singh@amd.com, thomas.lendacky@amd.com,
	leo.duran@amd.com
Subject: Re: [PATCH 11/13] dtb: amd: Add PCIe SMMU device tree node
Date: Thu, 28 Jan 2016 12:20:58 +0000	[thread overview]
Message-ID: <56AA07AA.7050701@arm.com> (raw)
In-Reply-To: <20160128111453.GG17123@leverpostej>

On 28/01/16 11:14, Mark Rutland wrote:
> On Wed, Jan 27, 2016 at 03:11:59PM -0600, Suravee Suthikulpanit wrote:
>> From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
>>
>> Add PCIe SMMU device tree node for AMD Seattle SOC.
>>
>> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
>> ---
>>   arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi | 23 +++++++++++++++++++++++
>>   1 file changed, 23 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi b/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi
>> index a7fc059..bfccfea 100644
>> --- a/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi
>> +++ b/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi
>> @@ -210,6 +210,7 @@
>>   			device_type = "pci";
>>   			bus-range = <0 0x7f>;
>>   			msi-parent = <&v2m0>;
>> +			#stream-id-cells = <16>;
>>   			reg = <0 0xf0000000 0 0x10000000>;
>>
>>   			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
>> @@ -230,6 +231,28 @@
>>   				<0x03000000 0x01 0x00000000 0x01 0x00000000 0x7f 0x00000000>;
>>   		};
>>
>> +		pcie0_smmu: smmu@e0a00000 {
>> +			 compatible = "arm,mmu-401";
>> +			 reg = <0 0xe0a00000 0 0x10000>;
>> +			 #global-interrupts = <1>;
>> +			 interrupts = /* Uses combined intr for both
>> +				       * global and context
>> +				       */
>> +				      <0 333 4>,
>> +				      <0 333 4>;
>> +			/* Note:
>> +			 * SID[2:0]  = PCIe function number
>> +			 * SID[7:3]  = PCIe device number
>> +			 * SID[14:8] = PCIe bus number
>> +			 */
>> +			 mmu-masters = <&pcie0
>> +				/* 1:00:[0,3] */ 256 257 258 259
>> +				/* 2:00:[0,3] */ 512 513 514 515
>> +				/* 3:00:[0,3] */ 768 769 770 771
>> +				/* 4:00:[0,3] */ 1024 1025 1026 1027
>> +			 >;
>> +		 };
>
> This doesn't look right to me.
>
> I didn't think that RID->SID mapping was actually defined by any
> binding, so (how) are these numbers used?
>
> I'm uncomfortable with this, given we should be moving towards the
> generic IOMMU binding (and then we'd use the iommu-map binding [1] for
> this).
>
> Will, Robin, thoughts?

Any IDs specified here would only apply to DMA by the "platform device" 
side of the host controller itself (as would an equivalent "iommus" 
property on pcie0 once I finish the SMMUv2 generic binding support I'm 
working on). In terms of PCI devices, the "mmu-masters" property is 
overloaded such that only its existence matters, to identify that there 
_is_ a relationship between the SMMU and the PCI bus(es) behind that 
host controller.

Really, the only binding that's going to make sense for that context is 
"iommu-map". I think that should be pretty straightforward to implement 
entirely in core OF/IOMMU code - we can already figure out a device's 
DMA alias as the host controller sees it, we just need the IOMMU drivers 
to be able to then run that through an additional downstream translation 
(which would be identity-mapped by default).

Robin.

>
> Mark.
>
> [1] https://lkml.org/lkml/2015/7/23/561
>

  parent reply	other threads:[~2016-01-28 12:20 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-27 21:11 [PATCH 00/13] dtb: amd: Miscelleneous Updates for AMD Seattle DTS Suravee Suthikulpanit
2016-01-27 21:11 ` Suravee Suthikulpanit
2016-01-27 21:11 ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 01/13] MAINTAINERS: Adding Maintainers for AMD Seattle Device Tree Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-28  4:49   ` Martin Michlmayr
2016-01-28  4:49     ` Martin Michlmayr
2016-01-28  4:49     ` Martin Michlmayr
2016-01-27 21:11 ` [PATCH 02/13] dtb: amd: Fix GICv2 hypervisor and virtual interface sizes Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 03/13] dtb: amd: Fix DMA ranges in device tree Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 04/13] dtb: amd: Fix typo in SPI device nodes Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 05/13] dtb: amd: Misc changes for I2C " Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 06/13] dtb: amd: Misc changes for SATA device tree nodes Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 07/13] dtb: amd: Misc changes for GPIO devices Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 08/13] dtb: amd: Add PERF CCN-504 device tree node Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 09/13] dtb: amd: Add KCS " Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 10/13] dtb: amd: Add AMD XGBE device tree file Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11 ` [PATCH 11/13] dtb: amd: Add PCIe SMMU device tree node Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-27 21:11   ` Suravee Suthikulpanit
2016-01-28 11:14   ` Mark Rutland
2016-01-28 11:14     ` Mark Rutland
2016-01-28 11:17     ` Will Deacon
2016-01-28 11:17       ` Will Deacon
2016-01-28 11:17       ` Will Deacon
2016-01-28 11:18       ` Mark Rutland
2016-01-28 11:18         ` Mark Rutland
2016-01-28 11:18         ` Mark Rutland
2016-01-28 11:19         ` Will Deacon
2016-01-28 11:19           ` Will Deacon
2016-01-28 11:19           ` Will Deacon
2016-01-28 12:20     ` Robin Murphy [this message]
2016-01-28 12:20       ` Robin Murphy
2016-01-28 14:17       ` Arnd Bergmann
2016-01-28 14:17         ` Arnd Bergmann
2016-01-28 14:17         ` Arnd Bergmann
2016-01-28 14:27         ` Will Deacon
2016-01-28 14:27           ` Will Deacon
2016-01-28 14:27           ` Will Deacon
2016-03-30 15:37           ` Eric Auger
2016-03-30 15:37             ` Eric Auger
2016-03-30 15:45             ` Will Deacon
2016-03-30 15:45               ` Will Deacon
2016-03-30 15:45               ` Will Deacon
2016-03-30 15:57               ` Eric Auger
2016-03-30 15:57                 ` Eric Auger
2016-03-30 15:57                 ` Eric Auger
2016-03-30 17:24                 ` Will Deacon
2016-03-30 17:24                   ` Will Deacon
2016-03-31  7:39                   ` Eric Auger
2016-03-31  7:39                     ` Eric Auger
2016-03-31 17:34                     ` Will Deacon
2016-03-31 17:34                       ` Will Deacon
2016-01-27 21:12 ` [PATCH 12/13] dtb: amd: Add support for new AMD Overdrive boards Suravee Suthikulpanit
2016-01-27 21:12   ` Suravee Suthikulpanit
2016-01-27 21:12   ` Suravee Suthikulpanit
2016-01-27 21:12 ` [PATCH 13/13] dtb: amd: Add support for AMD/Linaro 96Boards Enterprise Edition Server board Suravee Suthikulpanit
2016-01-27 21:12   ` Suravee Suthikulpanit
2016-01-27 21:12   ` Suravee Suthikulpanit
2016-01-28 21:39 ` [PATCH 00/13] dtb: amd: Miscelleneous Updates for AMD Seattle DTS Olof Johansson
2016-01-28 21:39   ` Olof Johansson
2016-01-28 22:20   ` Suravee Suthikulanit
2016-01-28 22:20     ` Suravee Suthikulanit
2016-01-28 22:20     ` Suravee Suthikulanit
2016-01-29  2:43     ` Olof Johansson
2016-01-29  2:43       ` Olof Johansson
2016-01-29  2:43       ` Olof Johansson
2016-01-30  0:02       ` Suravee Suthikulanit
2016-01-30  0:02         ` Suravee Suthikulanit
2016-01-30  0:02         ` Suravee Suthikulanit
2016-01-30  1:02       ` Frank Rowand
2016-01-30  1:02         ` Frank Rowand
2016-01-30  1:02         ` Frank Rowand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56AA07AA.7050701@arm.com \
    --to=robin.murphy@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.