From: Jason Gunthorpe <jgg@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: David Airlie <airlied@gmail.com>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Albert Ou <aou@eecs.berkeley.edu>,
asahi@lists.linux.dev, Catalin Marinas <catalin.marinas@arm.com>,
Danilo Krummrich <dakr@redhat.com>,
Daniel Vetter <daniel@ffwll.ch>, Dexuan Cui <decui@microsoft.com>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
dri-devel@lists.freedesktop.org,
David Woodhouse <dwmw2@infradead.org>,
Frank Rowand <frowand.list@gmail.com>,
Hanjun Guo <guohanjun@huawei.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
iommu@lists.linux.dev, Jon Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>, Karol Herbst <kherbst@redhat.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Laxman Dewangan <ldewangan@nvidia.com>,
Len Brown <lenb@kernel.org>,
linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-hyperv@vger.kernel.org, linux-mips@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org, linux-tegra@vger.kernel.org,
Russell King <linux@armlinux.org.uk>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Lyude Paul <lyude@redhat.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
nouveau@lists.freedesktop.org,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Sven Peter <sven@svenpeter.dev>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Vineet Gupta <vgupta@kernel.org>, Vinod Koul <vkoul@kernel.org>,
Wei Liu <wei.liu@kernel.org>, Will Deacon <will@kernel.org>,
Lu Baolu <baolu.lu@linux.intel.com>,
Christoph Hellwig <hch@lst.de>,
Jerry Snitselaar <jsnitsel@redhat.com>,
Hector Martin <marcan@marcan.st>, Moritz Fischer <mdf@kernel.org>,
patches@lists.linux.dev,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Rob Herring <robh@kernel.org>
Subject: Re: [PATCH 08/10] iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places
Date: Wed, 29 Nov 2023 15:26:03 -0400 [thread overview]
Message-ID: <20231129192603.GA1387263@nvidia.com> (raw)
In-Reply-To: <ZWdlcboM4Xzs38NI@orome.fritz.box>
On Wed, Nov 29, 2023 at 05:23:13PM +0100, Thierry Reding wrote:
> > diff --git a/drivers/memory/tegra/tegra186.c b/drivers/memory/tegra/tegra186.c
> > index 533f85a4b2bdb7..3e4fbe94dd666e 100644
> > --- a/drivers/memory/tegra/tegra186.c
> > +++ b/drivers/memory/tegra/tegra186.c
> > @@ -111,21 +111,21 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc,
> > static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev)
> > {
> > #if IS_ENABLED(CONFIG_IOMMU_API)
> > - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> > struct of_phandle_args args;
> > unsigned int i, index = 0;
> > + u32 sid;
> >
> > + WARN_ON(!tegra_dev_iommu_get_stream_id(dev, &sid));
>
> I know the code previously didn't check for any errors, but we may want
> to do so now. If tegra_dev_iommu_get_stream_id() ever fails we may end
> up writing some undefined value into the override register.
My assumption was it never fails otherwise this probably already
doesn't work?
> I'm also unsure if WARN_ON() is appropriate here. I vaguely recall that
> ->probe_device() was called for all devices on the bus and not all of
> them may have been associated with the IOMMU. Not all of them may in
> fact access memory in the first place.
So you are thinkin that of_parse_phandle_with_args() is a NOP
sometimes so it will tolerate the failure?
Seems like the best thing to do is just continue to ignore it then?
> Perhaps I'm misremembering and the IOMMU core now takes care of only
> calling this when fwspec is indeed valid?
Can't advise, I have no idea what tegra_mc_ops is for :)
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: David Airlie <airlied@gmail.com>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Albert Ou <aou@eecs.berkeley.edu>,
asahi@lists.linux.dev, Catalin Marinas <catalin.marinas@arm.com>,
Danilo Krummrich <dakr@redhat.com>,
Daniel Vetter <daniel@ffwll.ch>, Dexuan Cui <decui@microsoft.com>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
dri-devel@lists.freedesktop.org,
David Woodhouse <dwmw2@infradead.org>,
Frank Rowand <frowand.list@gmail.com>,
Hanjun Guo <guohanjun@huawei.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
iommu@lists.linux.dev, Jon Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>, Karol Herbst <kherbst@redhat.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Laxman Dewangan <ldewangan@nvidia.com>,
Len Brown <lenb@kernel.org>,
linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-hyperv@vger.kernel.org, linux-mips@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org, linux-tegra@vger.kernel.org,
Russell King <linux@armlinux.org.uk>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Lyude Paul <lyude@redhat.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
nouveau@lists.freedesktop.org,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Sven Peter <sven@svenpeter.dev>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Vineet Gupta <vgupta@kernel.org>, Vinod Koul <vkoul@kernel.org>,
Wei Liu <wei.liu@kernel.org>, Will Deacon <will@kernel.org>,
Lu Baolu <baolu.lu@linux.intel.com>,
Christoph Hellwig <hch@lst.de>,
Jerry Snitselaar <jsnitsel@redhat.com>,
Hector Martin <marcan@marcan.st>, Moritz Fischer <mdf@kernel.org>,
patches@lists.linux.dev,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Rob Herring <robh@kernel.org>
Subject: Re: [PATCH 08/10] iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places
Date: Wed, 29 Nov 2023 15:26:03 -0400 [thread overview]
Message-ID: <20231129192603.GA1387263@nvidia.com> (raw)
In-Reply-To: <ZWdlcboM4Xzs38NI@orome.fritz.box>
On Wed, Nov 29, 2023 at 05:23:13PM +0100, Thierry Reding wrote:
> > diff --git a/drivers/memory/tegra/tegra186.c b/drivers/memory/tegra/tegra186.c
> > index 533f85a4b2bdb7..3e4fbe94dd666e 100644
> > --- a/drivers/memory/tegra/tegra186.c
> > +++ b/drivers/memory/tegra/tegra186.c
> > @@ -111,21 +111,21 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc,
> > static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev)
> > {
> > #if IS_ENABLED(CONFIG_IOMMU_API)
> > - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> > struct of_phandle_args args;
> > unsigned int i, index = 0;
> > + u32 sid;
> >
> > + WARN_ON(!tegra_dev_iommu_get_stream_id(dev, &sid));
>
> I know the code previously didn't check for any errors, but we may want
> to do so now. If tegra_dev_iommu_get_stream_id() ever fails we may end
> up writing some undefined value into the override register.
My assumption was it never fails otherwise this probably already
doesn't work?
> I'm also unsure if WARN_ON() is appropriate here. I vaguely recall that
> ->probe_device() was called for all devices on the bus and not all of
> them may have been associated with the IOMMU. Not all of them may in
> fact access memory in the first place.
So you are thinkin that of_parse_phandle_with_args() is a NOP
sometimes so it will tolerate the failure?
Seems like the best thing to do is just continue to ignore it then?
> Perhaps I'm misremembering and the IOMMU core now takes care of only
> calling this when fwspec is indeed valid?
Can't advise, I have no idea what tegra_mc_ops is for :)
Jason
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: David Airlie <airlied@gmail.com>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Albert Ou <aou@eecs.berkeley.edu>,
asahi@lists.linux.dev, Catalin Marinas <catalin.marinas@arm.com>,
Danilo Krummrich <dakr@redhat.com>,
Daniel Vetter <daniel@ffwll.ch>, Dexuan Cui <decui@microsoft.com>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
dri-devel@lists.freedesktop.org,
David Woodhouse <dwmw2@infradead.org>,
Frank Rowand <frowand.list@gmail.com>,
Hanjun Guo <guohanjun@huawei.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
iommu@lists.linux.dev, Jon Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>, Karol Herbst <kherbst@redhat.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Laxman Dewangan <ldewangan@nvidia.com>,
Len Brown <lenb@kernel.org>,
linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-hyperv@vger.kernel.org, linux-mips@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org, linux-tegra@vger.kernel.org,
Russell King <linux@armlinux.org.uk>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Lyude Paul <lyude@redhat.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
nouveau@lists.freedesktop.org,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Sven Peter <sven@svenpeter.dev>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Vineet Gupta <vgupta@kernel.org>, Vinod Koul <vkoul@kernel.org>,
Wei Liu <wei.liu@kernel.org>, Will Deacon <will@kernel.org>,
Lu Baolu <baolu.lu@linux.intel.com>,
Christoph Hellwig <hch@lst.de>,
Jerry Snitselaar <jsnitsel@redhat.com>,
Hector Martin <marcan@marcan.st>, Moritz Fischer <mdf@kernel.org>,
patches@lists.linux.dev,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Rob Herring <robh@kernel.org>
Subject: Re: [PATCH 08/10] iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places
Date: Wed, 29 Nov 2023 15:26:03 -0400 [thread overview]
Message-ID: <20231129192603.GA1387263@nvidia.com> (raw)
In-Reply-To: <ZWdlcboM4Xzs38NI@orome.fritz.box>
On Wed, Nov 29, 2023 at 05:23:13PM +0100, Thierry Reding wrote:
> > diff --git a/drivers/memory/tegra/tegra186.c b/drivers/memory/tegra/tegra186.c
> > index 533f85a4b2bdb7..3e4fbe94dd666e 100644
> > --- a/drivers/memory/tegra/tegra186.c
> > +++ b/drivers/memory/tegra/tegra186.c
> > @@ -111,21 +111,21 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc,
> > static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev)
> > {
> > #if IS_ENABLED(CONFIG_IOMMU_API)
> > - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> > struct of_phandle_args args;
> > unsigned int i, index = 0;
> > + u32 sid;
> >
> > + WARN_ON(!tegra_dev_iommu_get_stream_id(dev, &sid));
>
> I know the code previously didn't check for any errors, but we may want
> to do so now. If tegra_dev_iommu_get_stream_id() ever fails we may end
> up writing some undefined value into the override register.
My assumption was it never fails otherwise this probably already
doesn't work?
> I'm also unsure if WARN_ON() is appropriate here. I vaguely recall that
> ->probe_device() was called for all devices on the bus and not all of
> them may have been associated with the IOMMU. Not all of them may in
> fact access memory in the first place.
So you are thinkin that of_parse_phandle_with_args() is a NOP
sometimes so it will tolerate the failure?
Seems like the best thing to do is just continue to ignore it then?
> Perhaps I'm misremembering and the IOMMU core now takes care of only
> calling this when fwspec is indeed valid?
Can't advise, I have no idea what tegra_mc_ops is for :)
Jason
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: linux-hyperv@vger.kernel.org,
"Rafael J. Wysocki" <rafael@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Jerry Snitselaar <jsnitsel@redhat.com>,
dri-devel@lists.freedesktop.org, patches@lists.linux.dev,
Laxman Dewangan <ldewangan@nvidia.com>,
Hanjun Guo <guohanjun@huawei.com>,
linux-riscv@lists.infradead.org,
"K. Y. Srinivasan" <kys@microsoft.com>,
Frank Rowand <frowand.list@gmail.com>,
Christoph Hellwig <hch@lst.de>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Rob Herring <robh@kernel.org>, Wei Liu <wei.liu@kernel.org>,
Joerg Roedel <joro@8bytes.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Dexuan Cui <decui@microsoft.com>,
Russell King <linux@armlinux.org.uk>,
linux-acpi@vger.kernel.org, iommu@lists.linux.dev,
nouveau@lists.freedesktop.org,
linux-snps-arc@lists.infradead.org, Len Brown <lenb@kernel.org>,
devicetree@vger.kernel.org, Albert Ou <aou@eecs.berkeley.edu>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Will Deacon <will@kernel.org>, Sven Peter <sven@svenpeter.dev>,
Haiyang Zhang <haiyangz@microsoft.com>,
Vineet Gupta <vgupta@kernel.org>,
Rob Herring <robh+dt@kernel.org>, Moritz Fischer <mdf@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
linux-tegra@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Vinod Koul <vkoul@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Robin Murphy <robin.murphy@arm.com>,
Hector Martin <marcan@marcan.st>,
linux-mips@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
asahi@lists.linux.dev, Daniel Vetter <daniel@ffwll.ch>,
Sudeep Holla <sudeep.holla@arm.com>,
dmaengine@vger.kernel.org, David Woodhouse <dwmw2@infradead.org>,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: Re: [Nouveau] [PATCH 08/10] iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places
Date: Wed, 29 Nov 2023 15:26:03 -0400 [thread overview]
Message-ID: <20231129192603.GA1387263@nvidia.com> (raw)
In-Reply-To: <ZWdlcboM4Xzs38NI@orome.fritz.box>
On Wed, Nov 29, 2023 at 05:23:13PM +0100, Thierry Reding wrote:
> > diff --git a/drivers/memory/tegra/tegra186.c b/drivers/memory/tegra/tegra186.c
> > index 533f85a4b2bdb7..3e4fbe94dd666e 100644
> > --- a/drivers/memory/tegra/tegra186.c
> > +++ b/drivers/memory/tegra/tegra186.c
> > @@ -111,21 +111,21 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc,
> > static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev)
> > {
> > #if IS_ENABLED(CONFIG_IOMMU_API)
> > - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> > struct of_phandle_args args;
> > unsigned int i, index = 0;
> > + u32 sid;
> >
> > + WARN_ON(!tegra_dev_iommu_get_stream_id(dev, &sid));
>
> I know the code previously didn't check for any errors, but we may want
> to do so now. If tegra_dev_iommu_get_stream_id() ever fails we may end
> up writing some undefined value into the override register.
My assumption was it never fails otherwise this probably already
doesn't work?
> I'm also unsure if WARN_ON() is appropriate here. I vaguely recall that
> ->probe_device() was called for all devices on the bus and not all of
> them may have been associated with the IOMMU. Not all of them may in
> fact access memory in the first place.
So you are thinkin that of_parse_phandle_with_args() is a NOP
sometimes so it will tolerate the failure?
Seems like the best thing to do is just continue to ignore it then?
> Perhaps I'm misremembering and the IOMMU core now takes care of only
> calling this when fwspec is indeed valid?
Can't advise, I have no idea what tegra_mc_ops is for :)
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: linux-hyperv@vger.kernel.org, Karol Herbst <kherbst@redhat.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Jerry Snitselaar <jsnitsel@redhat.com>,
dri-devel@lists.freedesktop.org, patches@lists.linux.dev,
Laxman Dewangan <ldewangan@nvidia.com>,
Hanjun Guo <guohanjun@huawei.com>,
linux-riscv@lists.infradead.org,
"K. Y. Srinivasan" <kys@microsoft.com>,
Frank Rowand <frowand.list@gmail.com>,
Christoph Hellwig <hch@lst.de>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Wei Liu <wei.liu@kernel.org>, Joerg Roedel <joro@8bytes.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Dexuan Cui <decui@microsoft.com>,
Russell King <linux@armlinux.org.uk>,
Jon Hunter <jonathanh@nvidia.com>,
linux-acpi@vger.kernel.org, iommu@lists.linux.dev,
Danilo Krummrich <dakr@redhat.com>,
nouveau@lists.freedesktop.org,
linux-snps-arc@lists.infradead.org, Len Brown <lenb@kernel.org>,
devicetree@vger.kernel.org, Albert Ou <aou@eecs.berkeley.edu>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Will Deacon <will@kernel.org>, Sven Peter <sven@svenpeter.dev>,
Haiyang Zhang <haiyangz@microsoft.com>,
Vineet Gupta <vgupta@kernel.org>,
Rob Herring <robh+dt@kernel.org>, Moritz Fischer <mdf@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
linux-tegra@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Vinod Koul <vkoul@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Robin Murphy <robin.murphy@arm.com>,
Hector Martin <marcan@marcan.st>,
linux-mips@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
asahi@lists.linux.dev, Sudeep Holla <sudeep.holla@arm.com>,
dmaengine@vger.kernel.org, David Woodhouse <dwmw2@infradead.org>,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: Re: [PATCH 08/10] iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places
Date: Wed, 29 Nov 2023 15:26:03 -0400 [thread overview]
Message-ID: <20231129192603.GA1387263@nvidia.com> (raw)
In-Reply-To: <ZWdlcboM4Xzs38NI@orome.fritz.box>
On Wed, Nov 29, 2023 at 05:23:13PM +0100, Thierry Reding wrote:
> > diff --git a/drivers/memory/tegra/tegra186.c b/drivers/memory/tegra/tegra186.c
> > index 533f85a4b2bdb7..3e4fbe94dd666e 100644
> > --- a/drivers/memory/tegra/tegra186.c
> > +++ b/drivers/memory/tegra/tegra186.c
> > @@ -111,21 +111,21 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc,
> > static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev)
> > {
> > #if IS_ENABLED(CONFIG_IOMMU_API)
> > - struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
> > struct of_phandle_args args;
> > unsigned int i, index = 0;
> > + u32 sid;
> >
> > + WARN_ON(!tegra_dev_iommu_get_stream_id(dev, &sid));
>
> I know the code previously didn't check for any errors, but we may want
> to do so now. If tegra_dev_iommu_get_stream_id() ever fails we may end
> up writing some undefined value into the override register.
My assumption was it never fails otherwise this probably already
doesn't work?
> I'm also unsure if WARN_ON() is appropriate here. I vaguely recall that
> ->probe_device() was called for all devices on the bus and not all of
> them may have been associated with the IOMMU. Not all of them may in
> fact access memory in the first place.
So you are thinkin that of_parse_phandle_with_args() is a NOP
sometimes so it will tolerate the failure?
Seems like the best thing to do is just continue to ignore it then?
> Perhaps I'm misremembering and the IOMMU core now takes care of only
> calling this when fwspec is indeed valid?
Can't advise, I have no idea what tegra_mc_ops is for :)
Jason
next prev parent reply other threads:[~2023-11-29 19:26 UTC|newest]
Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-29 0:47 [PATCH 00/10] IOMMU related FW parsing cleanup Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` [PATCH 01/10] iommu: Remove struct iommu_ops *iommu from arch_setup_dma_ops() Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` [PATCH 02/10] iommmu/of: Do not return struct iommu_ops from of_iommu_configure() Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 3:09 ` Baolu Lu
2023-11-29 3:09 ` Baolu Lu
2023-11-29 3:09 ` [Nouveau] " Baolu Lu
2023-11-29 3:09 ` Baolu Lu
2023-11-29 3:09 ` Baolu Lu
2023-11-29 0:47 ` [PATCH 03/10] iommu/of: Use -ENODEV consistently in of_iommu_configure() Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 0:47 ` Jason Gunthorpe
2023-11-29 6:04 ` Moritz Fischer
2023-11-29 6:04 ` Moritz Fischer
2023-11-29 6:04 ` Moritz Fischer
2023-11-29 6:04 ` Moritz Fischer
2023-11-29 6:04 ` Moritz Fischer
2023-11-29 0:48 ` [PATCH 04/10] iommu: Mark dev_iommu_get() with lockdep Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 3:11 ` Baolu Lu
2023-11-29 3:11 ` Baolu Lu
2023-11-29 3:11 ` [Nouveau] " Baolu Lu
2023-11-29 3:11 ` Baolu Lu
2023-11-29 3:11 ` Baolu Lu
2023-11-29 6:06 ` Moritz Fischer
2023-11-29 6:06 ` Moritz Fischer
2023-11-29 6:06 ` Moritz Fischer
2023-11-29 6:06 ` Moritz Fischer
2023-11-29 6:06 ` Moritz Fischer
2023-11-29 0:48 ` [PATCH 05/10] iommu: Mark dev_iommu_priv_set() with a lockdep Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [PATCH 06/10] iommu: Replace iommu_device_lock with iommu_probe_device_lock Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 17:58 ` Robin Murphy
2023-11-29 17:58 ` Robin Murphy
2023-11-29 17:58 ` [Nouveau] " Robin Murphy
2023-11-29 17:58 ` Robin Murphy
2023-11-29 17:58 ` Robin Murphy
2023-11-29 19:04 ` Jason Gunthorpe
2023-11-29 19:04 ` Jason Gunthorpe
2023-11-29 19:04 ` [Nouveau] " Jason Gunthorpe
2023-11-29 19:04 ` Jason Gunthorpe
2023-11-29 19:04 ` Jason Gunthorpe
2023-11-29 0:48 ` [PATCH 07/10] acpi: Do not return struct iommu_ops from acpi_iommu_configure_id() Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 3:09 ` Baolu Lu
2023-11-29 3:09 ` Baolu Lu
2023-11-29 3:09 ` [Nouveau] " Baolu Lu
2023-11-29 3:09 ` Baolu Lu
2023-11-29 3:09 ` Baolu Lu
2023-11-29 6:09 ` Moritz Fischer
2023-11-29 6:09 ` Moritz Fischer
2023-11-29 6:09 ` Moritz Fischer
2023-11-29 6:09 ` Moritz Fischer
2023-11-29 6:09 ` Moritz Fischer
2023-11-29 0:48 ` [PATCH 08/10] iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 16:23 ` Thierry Reding
2023-11-29 16:23 ` Thierry Reding
2023-11-29 16:23 ` [Nouveau] " Thierry Reding
2023-11-29 16:23 ` Thierry Reding
2023-11-29 16:23 ` Thierry Reding
2023-11-29 19:26 ` Jason Gunthorpe [this message]
2023-11-29 19:26 ` Jason Gunthorpe
2023-11-29 19:26 ` [Nouveau] " Jason Gunthorpe
2023-11-29 19:26 ` Jason Gunthorpe
2023-11-29 19:26 ` Jason Gunthorpe
2023-12-01 11:22 ` Thierry Reding
2023-12-01 11:22 ` Thierry Reding
2023-12-01 11:22 ` [Nouveau] " Thierry Reding
2023-12-01 11:22 ` Thierry Reding
2023-12-01 11:22 ` Thierry Reding
2023-11-29 0:48 ` [PATCH 09/10] ACPI: IORT: Cast from ULL to phys_addr_t Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 6:18 ` Moritz Fischer
2023-11-29 6:18 ` Moritz Fischer
2023-11-29 6:18 ` Moritz Fischer
2023-11-29 6:18 ` Moritz Fischer
2023-11-29 6:18 ` Moritz Fischer
2023-11-29 0:48 ` [PATCH 10/10] ACPI: IORT: Allow COMPILE_TEST of IORT Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` [Nouveau] " Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 0:48 ` Jason Gunthorpe
2023-11-29 6:20 ` Moritz Fischer
2023-11-29 6:20 ` Moritz Fischer
2023-11-29 6:20 ` Moritz Fischer
2023-11-29 6:20 ` Moritz Fischer
2023-11-29 6:20 ` Moritz Fischer
2023-11-29 12:55 ` Lorenzo Pieralisi
2023-11-29 12:55 ` Lorenzo Pieralisi
2023-11-29 12:55 ` Lorenzo Pieralisi
2023-11-29 12:55 ` Lorenzo Pieralisi
2023-11-29 12:55 ` Lorenzo Pieralisi
2023-11-29 19:12 ` Jason Gunthorpe
2023-11-29 19:12 ` Jason Gunthorpe
2023-11-29 19:12 ` [Nouveau] " Jason Gunthorpe
2023-11-29 19:12 ` Jason Gunthorpe
2023-11-29 19:12 ` Jason Gunthorpe
2023-11-30 11:12 ` Lorenzo Pieralisi
2023-11-30 11:12 ` Lorenzo Pieralisi
2023-11-30 11:12 ` Lorenzo Pieralisi
2023-11-30 11:12 ` Lorenzo Pieralisi
2023-11-30 11:12 ` Lorenzo Pieralisi
2023-11-30 12:21 ` Jason Gunthorpe
2023-11-30 12:21 ` Jason Gunthorpe
2023-11-30 12:21 ` [Nouveau] " Jason Gunthorpe
2023-11-30 12:21 ` Jason Gunthorpe
2023-11-30 12:21 ` Jason Gunthorpe
2023-11-30 14:10 ` Robin Murphy
2023-11-30 14:10 ` Robin Murphy
2023-11-30 14:10 ` [Nouveau] " Robin Murphy
2023-11-30 14:10 ` Robin Murphy
2023-11-30 14:10 ` Robin Murphy
2023-11-30 15:36 ` Jason Gunthorpe
2023-11-30 15:36 ` Jason Gunthorpe
2023-11-30 15:36 ` [Nouveau] " Jason Gunthorpe
2023-11-30 15:36 ` Jason Gunthorpe
2023-11-30 15:36 ` Jason Gunthorpe
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=20231129192603.GA1387263@nvidia.com \
--to=jgg@nvidia.com \
--cc=airlied@gmail.com \
--cc=alyssa@rosenzweig.io \
--cc=aou@eecs.berkeley.edu \
--cc=asahi@lists.linux.dev \
--cc=baolu.lu@linux.intel.com \
--cc=catalin.marinas@arm.com \
--cc=dakr@redhat.com \
--cc=daniel@ffwll.ch \
--cc=decui@microsoft.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=dwmw2@infradead.org \
--cc=frowand.list@gmail.com \
--cc=guohanjun@huawei.com \
--cc=haiyangz@microsoft.com \
--cc=hch@lst.de \
--cc=iommu@lists.linux.dev \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=jsnitsel@redhat.com \
--cc=kherbst@redhat.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=kys@microsoft.com \
--cc=ldewangan@nvidia.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lpieralisi@kernel.org \
--cc=lyude@redhat.com \
--cc=m.szyprowski@samsung.com \
--cc=marcan@marcan.st \
--cc=mdf@kernel.org \
--cc=nouveau@lists.freedesktop.org \
--cc=palmer@dabbelt.com \
--cc=patches@lists.linux.dev \
--cc=paul.walmsley@sifive.com \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=sudeep.holla@arm.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=sven@svenpeter.dev \
--cc=thierry.reding@gmail.com \
--cc=tsbogend@alpha.franken.de \
--cc=vgupta@kernel.org \
--cc=vkoul@kernel.org \
--cc=wei.liu@kernel.org \
--cc=will@kernel.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.