From: Robin Murphy <robin.murphy@arm.com> To: Rob Herring <robh@kernel.org>, Marc Zyngier <maz@kernel.org> Cc: "dann frazier" <dann.frazier@canonical.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, linux-arm-kernel <linux-arm-kernel@lists.infradead.org>, PCI <linux-pci@vger.kernel.org>, "Toan Le" <toan@os.amperecomputing.com>, "Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>, "Krzysztof Wilczyński" <kw@linux.com>, "Bjorn Helgaas" <bhelgaas@google.com>, "Stéphane Graber" <stgraber@ubuntu.com>, "Android Kernel Team" <kernel-team@android.com> Subject: Re: [PATCH v2 0/2] PCI: xgene: Restore working PCIe functionnality Date: Tue, 22 Mar 2022 14:56:29 +0000 [thread overview] Message-ID: <e6120f45-d5cd-bb95-d56c-af3b614bd6ac@arm.com> (raw) In-Reply-To: <Yjnfr7V6egc1sewb@robh.at.kernel.org> On 2022-03-22 14:39, Rob Herring wrote: > On Tue, Mar 22, 2022 at 01:16:35PM +0000, Robin Murphy wrote: >> On 2022-03-21 20:06, Robin Murphy wrote: >>> On 2022-03-21 19:21, Marc Zyngier wrote: >>>> On Mon, 21 Mar 2022 18:03:27 +0000, >>>> Rob Herring <robh@kernel.org> wrote: >>>>> >>>>> On Mon, Mar 21, 2022 at 11:36 AM Marc Zyngier <maz@kernel.org> wrote: >>>>>> >>>>>> On Mon, 21 Mar 2022 15:17:34 +0000, >>>>>> Rob Herring <robh@kernel.org> wrote: >>>>>>> >>>>>>> On Mon, Mar 21, 2022 at 5:49 AM Marc Zyngier <maz@kernel.org> wrote: >>>>>>>> >>>>>>> For XGene-1, I'd still like to understand what the issue is. Reverting >>>>>>> the first fix and fixing 'dma-ranges' should have fixed it. I need a >>>>>>> dump of how the IB registers are initialized in both cases. I'm not >>>>>>> saying changing 'dma-ranges' in the firmware is going to be required >>>>>>> here. There's a couple of other ways we could fix that without a >>>>>>> firmware change, but first I need to understand why it broke. >>>>>> >>>>>> Reverting 6dce5aa59e0b was enough for me, without changing anything >>>>>> else. >>>>> >>>>> Meaning c7a75d07827a didn't matter for you. I'm not sure that it would. >>>>> >>>>> Can you tell me what 'dma-ranges' contains on your system? >>>> >>>> Each pcie node (all 5 of them) has: >>>> >>>> dma-ranges = <0x42000000 0x80 0x00 0x80 0x00 0x00 0x80000000 >>>> �������������� 0x42000000 0x00 0x00 0x00 0x00 0x80 0x00>; > > This is the same as what St�phane has for Merlin. So c7a75d07827a ("PCI: > xgene: Fix IB window setup") should have fixed Mustang. Unless XGene 1 has some weird implicit requirement on the order in which the registers are programmed, that XGene 2 doesn't. And from looking at the code, I don't see any obvious less-mad possibility to explain the breakage. >>> Hmm, is there anyone other than iommu-dma who actually depends on the >>> resource list being sorted in ascending order of bus address? I recall >>> at the time I pushed for creating the list in sorted order as it was the >>> simplest and most efficient option, but there's no technical reason we >>> couldn't create it in as-found order and defer the sorting until >>> iova_reserve_pci_windows() (at worst that could even operate on a >>> temporary copy if need be). It's just more code, which didn't need to >>> exist without a good reason, but if this is one then exist it certainly >>> may. >> >> Taking a closer look, the Cadence driver is already re-sorting the list >> for its own setup, so iommu-dma can't assume the initial sort is >> preserved and needs to do its own anyway. Does the (untested) diff below >> end up helping X-Gene also? > > There's no IOMMU on X-Gene 1 or 2 based on the upstream dts files, so > how would this matter? Because devm_of_pci_get_host_bridge_resources() is forcing the dma_ranges list to be in a different order from the original DT for iommu-dma's benefit, but whether iommu-dma actually consumes it or not later is immaterial. Robin.
WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com> To: Rob Herring <robh@kernel.org>, Marc Zyngier <maz@kernel.org> Cc: "dann frazier" <dann.frazier@canonical.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, linux-arm-kernel <linux-arm-kernel@lists.infradead.org>, PCI <linux-pci@vger.kernel.org>, "Toan Le" <toan@os.amperecomputing.com>, "Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>, "Krzysztof Wilczyński" <kw@linux.com>, "Bjorn Helgaas" <bhelgaas@google.com>, "Stéphane Graber" <stgraber@ubuntu.com>, "Android Kernel Team" <kernel-team@android.com> Subject: Re: [PATCH v2 0/2] PCI: xgene: Restore working PCIe functionnality Date: Tue, 22 Mar 2022 14:56:29 +0000 [thread overview] Message-ID: <e6120f45-d5cd-bb95-d56c-af3b614bd6ac@arm.com> (raw) In-Reply-To: <Yjnfr7V6egc1sewb@robh.at.kernel.org> On 2022-03-22 14:39, Rob Herring wrote: > On Tue, Mar 22, 2022 at 01:16:35PM +0000, Robin Murphy wrote: >> On 2022-03-21 20:06, Robin Murphy wrote: >>> On 2022-03-21 19:21, Marc Zyngier wrote: >>>> On Mon, 21 Mar 2022 18:03:27 +0000, >>>> Rob Herring <robh@kernel.org> wrote: >>>>> >>>>> On Mon, Mar 21, 2022 at 11:36 AM Marc Zyngier <maz@kernel.org> wrote: >>>>>> >>>>>> On Mon, 21 Mar 2022 15:17:34 +0000, >>>>>> Rob Herring <robh@kernel.org> wrote: >>>>>>> >>>>>>> On Mon, Mar 21, 2022 at 5:49 AM Marc Zyngier <maz@kernel.org> wrote: >>>>>>>> >>>>>>> For XGene-1, I'd still like to understand what the issue is. Reverting >>>>>>> the first fix and fixing 'dma-ranges' should have fixed it. I need a >>>>>>> dump of how the IB registers are initialized in both cases. I'm not >>>>>>> saying changing 'dma-ranges' in the firmware is going to be required >>>>>>> here. There's a couple of other ways we could fix that without a >>>>>>> firmware change, but first I need to understand why it broke. >>>>>> >>>>>> Reverting 6dce5aa59e0b was enough for me, without changing anything >>>>>> else. >>>>> >>>>> Meaning c7a75d07827a didn't matter for you. I'm not sure that it would. >>>>> >>>>> Can you tell me what 'dma-ranges' contains on your system? >>>> >>>> Each pcie node (all 5 of them) has: >>>> >>>> dma-ranges = <0x42000000 0x80 0x00 0x80 0x00 0x00 0x80000000 >>>> �������������� 0x42000000 0x00 0x00 0x00 0x00 0x80 0x00>; > > This is the same as what St�phane has for Merlin. So c7a75d07827a ("PCI: > xgene: Fix IB window setup") should have fixed Mustang. Unless XGene 1 has some weird implicit requirement on the order in which the registers are programmed, that XGene 2 doesn't. And from looking at the code, I don't see any obvious less-mad possibility to explain the breakage. >>> Hmm, is there anyone other than iommu-dma who actually depends on the >>> resource list being sorted in ascending order of bus address? I recall >>> at the time I pushed for creating the list in sorted order as it was the >>> simplest and most efficient option, but there's no technical reason we >>> couldn't create it in as-found order and defer the sorting until >>> iova_reserve_pci_windows() (at worst that could even operate on a >>> temporary copy if need be). It's just more code, which didn't need to >>> exist without a good reason, but if this is one then exist it certainly >>> may. >> >> Taking a closer look, the Cadence driver is already re-sorting the list >> for its own setup, so iommu-dma can't assume the initial sort is >> preserved and needs to do its own anyway. Does the (untested) diff below >> end up helping X-Gene also? > > There's no IOMMU on X-Gene 1 or 2 based on the upstream dts files, so > how would this matter? Because devm_of_pci_get_host_bridge_resources() is forcing the dma_ranges list to be in a different order from the original DT for iommu-dma's benefit, but whether iommu-dma actually consumes it or not later is immaterial. Robin. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-03-22 14:56 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-21 10:48 [PATCH v2 0/2] PCI: xgene: Restore working PCIe functionnality Marc Zyngier 2022-03-21 10:48 ` Marc Zyngier 2022-03-21 10:48 ` [PATCH v2 1/2] PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup" Marc Zyngier 2022-03-21 10:48 ` Marc Zyngier 2022-03-21 10:48 ` [PATCH v2 2/2] PCI: xgene: Revert "PCI: xgene: Fix IB window setup" Marc Zyngier 2022-03-21 10:48 ` Marc Zyngier 2022-03-21 10:59 ` [PATCH v2 0/2] PCI: xgene: Restore working PCIe functionnality Lorenzo Pieralisi 2022-03-21 10:59 ` Lorenzo Pieralisi 2022-03-21 15:17 ` Rob Herring 2022-03-21 15:17 ` Rob Herring 2022-03-21 15:50 ` dann frazier 2022-03-21 15:50 ` dann frazier 2022-03-21 16:08 ` Rob Herring 2022-03-21 16:08 ` Rob Herring 2022-03-21 22:32 ` dann frazier 2022-03-21 22:32 ` dann frazier 2022-03-22 21:00 ` Rob Herring 2022-03-22 21:00 ` Rob Herring 2022-03-22 22:29 ` dann frazier 2022-03-22 22:29 ` dann frazier 2022-03-21 16:36 ` Marc Zyngier 2022-03-21 16:36 ` Marc Zyngier 2022-03-21 18:03 ` Rob Herring 2022-03-21 18:03 ` Rob Herring 2022-03-21 19:21 ` Marc Zyngier 2022-03-21 19:21 ` Marc Zyngier 2022-03-21 20:06 ` Robin Murphy 2022-03-21 20:06 ` Robin Murphy 2022-03-22 13:16 ` Robin Murphy 2022-03-22 13:16 ` Robin Murphy 2022-03-22 14:39 ` Rob Herring 2022-03-22 14:39 ` Rob Herring 2022-03-22 14:56 ` Robin Murphy [this message] 2022-03-22 14:56 ` Robin Murphy 2022-03-22 15:41 ` Marc Zyngier 2022-03-22 15:41 ` Marc Zyngier 2022-03-21 21:06 ` dann frazier 2022-03-21 21:06 ` dann frazier 2022-03-22 22:29 ` Ard Biesheuvel 2022-03-22 22:29 ` Ard Biesheuvel
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=e6120f45-d5cd-bb95-d56c-af3b614bd6ac@arm.com \ --to=robin.murphy@arm.com \ --cc=bhelgaas@google.com \ --cc=dann.frazier@canonical.com \ --cc=kernel-team@android.com \ --cc=kw@linux.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=maz@kernel.org \ --cc=robh@kernel.org \ --cc=stgraber@ubuntu.com \ --cc=toan@os.amperecomputing.com \ /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: linkBe 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.