devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thor Thayer <thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>,
	dinguyen-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org
Subject: Re: [PATCH 3/3] arm64: dts: stratix10: Add SMMU Node
Date: Mon, 16 Jul 2018 13:56:23 -0500	[thread overview]
Message-ID: <847f8f94-5108-47a3-bb08-c5f50b64e6e6@linux.intel.com> (raw)
In-Reply-To: <2d17b3b1-96a1-8a0a-521e-134de9df72d0-5wv7dgnIgG8@public.gmane.org>

Hi Robin,

On 07/13/2018 01:09 PM, Robin Murphy wrote:
> On 13/07/18 17:27, thor.thayer@linux.intel.com wrote:
>> From: Thor Thayer <thor.thayer@linux.intel.com>
>>
>> Add the SMMU node and IOMMU parameters to the
>> Stratix10 Device Tree.
>>
>> Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
>> ---
>>   arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 44 
>> +++++++++++++++++++++++
>>   1 file changed, 44 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi 
>> b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
>> index ca67ecb5866e..9b6ead87ae70 100644
>> --- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
>> +++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
>> @@ -162,6 +162,8 @@
>>               reset-names = "stmmaceth", "stmmaceth-ocp";
>>               clocks = <&clkmgr STRATIX10_EMAC0_CLK>;
>>               clock-names = "stmmaceth";
>> +            #stream-id-cells = <1>;
> 
> The #stream-id-cells property is part of the deprecated mmu-masters 
> binding, so you don't need to add these.
> 
OK. Thank you.

>> +            iommus = <&smmu 1>;
>>               status = "disabled";
>>           };

<SNIP>

>>               status = "disabled";
>>           };
>> @@ -323,6 +331,8 @@
>>               #dma-requests = <32>;
>>               clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>;
>>               clock-names = "apb_pclk";
>> +            #stream-id-cells = <1>;
>> +            iommus = <&smmu 8>;
> 
> Just to double-check, all the channel threads and the manager thread 
> share the one stream ID? (I'm accustomed to seeing DMA-330 integrated 
> with an SMMU by tapping the AxID outputs off to the stream ID input.)
> 
Yes, we have only one stream ID for the DMA. I'll forward the 
differences you noted to our architecture team as something to consider 
for future chips.

>>           };
>>           rst: rstmgr@ffd11000 {
>> @@ -332,6 +342,36 @@
>>               altr,modrst-offset = <0x20>;
>>           };
>> +        smmu: iommu@fa000000 {
>> +            compatible = "arm,mmu-500", "arm,smmu-v2";
>> +            reg = <0xfa000000 0x40000>;
>> +            #global-interrupts = <9>;
>> +            #iommu-cells = <1>;
>> +            clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>;
>> +            clock-names = "smmu_clk";
>> +            interrupt-parent = <&intc>;
>> +            interrupts = <0 128 4>,    /* Global Secure Fault */
>> +                <0 129 4>, /* Global Non-secure Fault */
>> +                <0 130 4>, /* FPGA Performance Counter */
>> +                <0 131 4>, /* DMA Performance Counter */
>> +                <0 132 4>, /* EMAC Performance Counter */
>> +                <0 133 4>, /* IO Performance Counter */
>> +                <0 134 4>, /* SDM Performance Counter */
> 
> Note that there isn't much benefit to adding the secure or PMU 
> interrupts here other than to document the hardware - FWIW I have 
> actually been working on a PMU driver, and needless to say it turns out 
> not to be sufficient just having those munged into the SMMU global fault 
> handler.
> 
Thanks for pointing this out. I was following other SMMU-500 device 
trees. Just to clarify, how should I simplify this? Should I replace all 
the above with the following?

	<0 129 4>, /* Global Non-secure Fault */

Or will your upcoming PMU driver need the PMU units? It sounded like 
using the just Global fault was not sufficient.

>> +                <0 136 4>, /* Non-secure Combined Interrupt */
>> +                <0 137 4>, /* Secure Combined Interrupt */
> 
> Similarly the combined interrupt; that's literally just all these other 
> interrupt lines ORed together at the SMMU end, and would generally only 
> be useful if you *didn't* have the individual lines wired up. As it 
> stands with everything listed, any event will also generate a spurious 
> global fault IRQ, which isn't ideal (not that you should get many 
> interrupts during normal operation, but still...)
> 
And I'd remove both of these then, right?

Thanks for the review and helpful comments (and also pointing out the 
existing clock patch in my patch series summary)!

Thor

> Robin.
> 
>> +                /* Non-secure Context Interrupts (32) */
>> +                <0 138 4>, <0 139 4>, <0 140 4>, <0 141 4>,
>> +                <0 142 4>, <0 143 4>, <0 144 4>, <0 145 4>,
>> +                <0 146 4>, <0 147 4>, <0 148 4>, <0 149 4>,
>> +                <0 150 4>, <0 151 4>, <0 152 4>, <0 153 4>,
>> +                <0 154 4>, <0 155 4>, <0 156 4>, <0 157 4>,
>> +                <0 158 4>, <0 159 4>, <0 160 4>, <0 161 4>,
>> +                <0 162 4>, <0 163 4>, <0 164 4>, <0 165 4>,
>> +                <0 166 4>, <0 167 4>, <0 168 4>, <0 169 4>;
>> +            stream-match-mask = <0x7ff0>;
>> +            status = "disabled";
>> +        };
>> +
<snip>

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  parent reply	other threads:[~2018-07-16 18:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-13 16:27 [PATCH 0/3] SOCFPGA Stratix10 SMMU Support thor.thayer-VuQAYsv1563Yd54FQh9/CA
     [not found] ` <1531499278-32132-1-git-send-email-thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-13 16:27   ` [PATCH 1/3] Docs: dt: arm-smmu: Add optional clock parameter thor.thayer-VuQAYsv1563Yd54FQh9/CA
     [not found]     ` <1531499278-32132-2-git-send-email-thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-20 16:15       ` Rob Herring
2018-07-24 22:25         ` Thor Thayer
2018-07-13 16:27   ` [PATCH 2/3] iommu/arm-smmu: Add optional SMMU clock thor.thayer-VuQAYsv1563Yd54FQh9/CA
2018-07-13 16:27 ` [PATCH 3/3] arm64: dts: stratix10: Add SMMU Node thor.thayer
     [not found]   ` <1531499278-32132-4-git-send-email-thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-13 18:09     ` Robin Murphy
     [not found]       ` <2d17b3b1-96a1-8a0a-521e-134de9df72d0-5wv7dgnIgG8@public.gmane.org>
2018-07-16 18:56         ` Thor Thayer [this message]
     [not found]           ` <847f8f94-5108-47a3-bb08-c5f50b64e6e6-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-07-25 13:34             ` Robin Murphy
2018-07-13 17:05 ` [PATCH 0/3] SOCFPGA Stratix10 SMMU Support Robin Murphy

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=847f8f94-5108-47a3-bb08-c5f50b64e6e6@linux.intel.com \
    --to=thor.thayer-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dinguyen-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=robin.murphy-5wv7dgnIgG8@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).