From: Jason Gunthorpe <jgg@nvidia.com>
To: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Andy Gross <agross@kernel.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Bjorn Andersson <andersson@kernel.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Stuebner <heiko@sntech.de>,
iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
linux-tegra@vger.kernel.org,
Marek Szyprowski <m.szyprowski@samsung.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
Robin Murphy <robin.murphy@arm.com>,
Samuel Holland <samuel@sholland.org>,
Thierry Reding <thierry.reding@gmail.com>,
Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
Lu Baolu <baolu.lu@linux.intel.com>,
Kevin Tian <kevin.tian@intel.com>,
Nicolin Chen <nicolinc@nvidia.com>,
Steven Price <steven.price@arm.com>
Subject: Re: [PATCH 20/20] iommu: Convert remaining simple drivers to domain_alloc_paging()
Date: Tue, 2 May 2023 12:25:08 -0300 [thread overview]
Message-ID: <ZFErVOr8RDoeZ2tq@nvidia.com> (raw)
In-Reply-To: <b9b6a50724b4f1ac2b98e518a8b9a820a912850f.camel@linux.ibm.com>
On Tue, May 02, 2023 at 04:52:32PM +0200, Niklas Schnelle wrote:
> @@ -1947,7 +1948,7 @@ static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
> if ((type == IOMMU_DOMAIN_UNMANAGED || type == IOMMU_DOMAIN_DMA) &&
> bus->iommu_ops->domain_alloc_paging)
> domain = bus->iommu_ops->domain_alloc_paging(dev);
> - else
> + else if (bus->iommu_ops->domain_alloc)
> domain = bus->iommu_ops->domain_alloc(type);
> if (!domain)
> return NULL;
Agh, yes, it should fail, this is right, I'll fold it in, thanks
> This then uses the fallback of an empty IOMMU_DOMAIN_UNMANAGED and I
> get a working device in the guest. Also tried hot unplug where the
> device is taken over by the host again.
Great, thanks, I'll add your tested-by for the s390 drivers.
> I think with my DMA API
> conversion patches we can support blocking domains properly but for a
> temporary solution the above may be acceptable.
Yes, this is a good idea, I encourage all drivers to implement at
least one of BLOCKING or IDENTITY as global static singletons that
can't fail - this will allow us to have cleaner error recovery flows.
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Andy Gross <agross@kernel.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Bjorn Andersson <andersson@kernel.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Stuebner <heiko@sntech.de>,
iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Joerg Roedel <joro@8bytes.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev,
linux-tegra@vger.kernel.org,
Marek Szyprowski <m.szyprowski@samsung.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Orson Zhai <orsonzhai@gmail.com>, Rob Clark <robdclark@gmail.com>,
Robin Murphy <robin.murphy@arm.com>,
Samuel Holland <samuel@sholland.org>,
Thierry Reding <thierry.reding@gmail.com>,
Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>,
Will Deacon <will@kernel.org>, Yong Wu <yong.wu@mediatek.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
Lu Baolu <baolu.lu@linux.intel.com>,
Kevin Tian <kevin.tian@intel.com>,
Nicolin Chen <nicolinc@nvidia.com>,
Steven Price <steven.price@arm.com>
Subject: Re: [PATCH 20/20] iommu: Convert remaining simple drivers to domain_alloc_paging()
Date: Tue, 2 May 2023 12:25:08 -0300 [thread overview]
Message-ID: <ZFErVOr8RDoeZ2tq@nvidia.com> (raw)
In-Reply-To: <b9b6a50724b4f1ac2b98e518a8b9a820a912850f.camel@linux.ibm.com>
On Tue, May 02, 2023 at 04:52:32PM +0200, Niklas Schnelle wrote:
> @@ -1947,7 +1948,7 @@ static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
> if ((type == IOMMU_DOMAIN_UNMANAGED || type == IOMMU_DOMAIN_DMA) &&
> bus->iommu_ops->domain_alloc_paging)
> domain = bus->iommu_ops->domain_alloc_paging(dev);
> - else
> + else if (bus->iommu_ops->domain_alloc)
> domain = bus->iommu_ops->domain_alloc(type);
> if (!domain)
> return NULL;
Agh, yes, it should fail, this is right, I'll fold it in, thanks
> This then uses the fallback of an empty IOMMU_DOMAIN_UNMANAGED and I
> get a working device in the guest. Also tried hot unplug where the
> device is taken over by the host again.
Great, thanks, I'll add your tested-by for the s390 drivers.
> I think with my DMA API
> conversion patches we can support blocking domains properly but for a
> temporary solution the above may be acceptable.
Yes, this is a good idea, I encourage all drivers to implement at
least one of BLOCKING or IDENTITY as global static singletons that
can't fail - this will allow us to have cleaner error recovery flows.
Jason
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2023-05-02 15:26 UTC|newest]
Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-01 18:02 [PATCH 00/20] iommu: Make default_domain's mandatory Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 01/20] iommu: Add IOMMU_DOMAIN_PLATFORM Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 02/20] iommu/terga-gart: Replace set_platform_dma_ops() with IOMMU_DOMAIN_PLATFORM Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-03 9:17 ` Robin Murphy
2023-05-03 9:17 ` Robin Murphy
2023-05-03 9:17 ` Robin Murphy
2023-05-03 11:01 ` Jason Gunthorpe
2023-05-03 11:01 ` Jason Gunthorpe
2023-05-03 12:01 ` Robin Murphy
2023-05-03 12:01 ` Robin Murphy
2023-05-03 13:45 ` Jason Gunthorpe
2023-05-03 13:45 ` Jason Gunthorpe
2023-05-03 14:43 ` Thierry Reding
2023-05-03 14:43 ` Thierry Reding
2023-05-03 17:20 ` Jason Gunthorpe
2023-05-03 17:20 ` Jason Gunthorpe
2023-05-12 2:55 ` Dmitry Osipenko
2023-05-12 2:55 ` Dmitry Osipenko
2023-05-12 16:49 ` Jason Gunthorpe
2023-05-12 16:49 ` Jason Gunthorpe
2023-05-12 18:12 ` Robin Murphy
2023-05-12 18:12 ` Robin Murphy
2023-05-12 20:52 ` Jason Gunthorpe
2023-05-12 20:52 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 03/20] iommu/s390: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-02 17:57 ` Niklas Schnelle
2023-05-02 17:57 ` Niklas Schnelle
2023-05-02 17:57 ` Niklas Schnelle
2023-05-01 18:02 ` [PATCH 04/20] iommu/fsl_pamu: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-03 10:57 ` Robin Murphy
2023-05-03 10:57 ` Robin Murphy
2023-05-03 10:57 ` Robin Murphy
2023-05-03 12:54 ` Jason Gunthorpe
2023-05-03 12:54 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 05/20] iommu: Allow an IDENTITY domain as the default_domain in ARM32 Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-03 13:50 ` Robin Murphy
2023-05-03 13:50 ` Robin Murphy
2023-05-03 13:50 ` Robin Murphy
2023-05-03 14:23 ` Jason Gunthorpe
2023-05-03 14:23 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 06/20] iommu/exynos: Implement an IDENTITY domain Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-03 15:31 ` Robin Murphy
2023-05-03 15:31 ` Robin Murphy
2023-05-03 15:31 ` Robin Murphy
2023-05-04 14:19 ` Jason Gunthorpe
2023-05-04 14:19 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 07/20] iommu/tegra-smmu: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 08/20] iommu/tegra-smmu: Support DMA domains in tegra Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 09/20] iommu/omap: Implement an IDENTITY domain Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 10/20] iommu/msm: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 11/20] iommu/mtk_iommu_v1: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 12/20] iommu: Remove ops->set_platform_dma_ops() Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 13/20] iommu/qcom_iommu: Add an IOMMU_IDENTITIY_DOMAIN Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 14/20] iommu/ipmmu: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` [PATCH 15/20] iommu/mtk_iommu: " Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:02 ` Jason Gunthorpe
2023-05-01 18:03 ` [PATCH 16/20] iommu/sun50i: " Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-03 15:54 ` Robin Murphy
2023-05-03 15:54 ` Robin Murphy
2023-05-03 15:54 ` Robin Murphy
2023-05-03 16:49 ` Jason Gunthorpe
2023-05-03 16:49 ` Jason Gunthorpe
2023-05-01 18:03 ` [PATCH 17/20] iommu: Require a default_domain for all iommu drivers Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` [PATCH 18/20] iommu: Add ops->domain_alloc_paging() Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-03 17:17 ` Robin Murphy
2023-05-03 17:17 ` Robin Murphy
2023-05-03 17:17 ` Robin Murphy
2023-05-03 19:35 ` Jason Gunthorpe
2023-05-03 19:35 ` Jason Gunthorpe
2023-05-04 12:35 ` Niklas Schnelle
2023-05-04 12:35 ` Niklas Schnelle
2023-05-04 13:14 ` Jason Gunthorpe
2023-05-04 13:14 ` Jason Gunthorpe
2023-05-01 18:03 ` [PATCH 19/20] iommu: Convert simple drivers with DOMAIN_DMA to domain_alloc_paging() Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` [PATCH 20/20] iommu: Convert remaining simple drivers " Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-01 18:03 ` Jason Gunthorpe
2023-05-02 14:52 ` Niklas Schnelle
2023-05-02 14:52 ` Niklas Schnelle
2023-05-02 14:52 ` Niklas Schnelle
2023-05-02 15:25 ` Jason Gunthorpe [this message]
2023-05-02 15:25 ` Jason Gunthorpe
2023-05-02 18:02 ` Niklas Schnelle
2023-05-02 18:02 ` Niklas Schnelle
2023-05-01 21:34 ` [PATCH 00/20] iommu: Make default_domain's mandatory Heiko Stübner
2023-05-01 21:34 ` Heiko Stübner
2023-05-01 21:34 ` Heiko Stübner
2023-05-01 22:40 ` Jason Gunthorpe
2023-05-01 22:40 ` Jason Gunthorpe
2023-05-01 22:10 ` Heiko Stübner
2023-05-01 22:10 ` Heiko Stübner
2023-05-01 22:10 ` Heiko Stübner
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=ZFErVOr8RDoeZ2tq@nvidia.com \
--to=jgg@nvidia.com \
--cc=agross@kernel.org \
--cc=alim.akhtar@samsung.com \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=baolu.lu@linux.intel.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=heiko@sntech.de \
--cc=iommu@lists.linux.dev \
--cc=jernej.skrabec@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=matthias.bgg@gmail.com \
--cc=mjrosato@linux.ibm.com \
--cc=nicolinc@nvidia.com \
--cc=orsonzhai@gmail.com \
--cc=robdclark@gmail.com \
--cc=robin.murphy@arm.com \
--cc=samuel@sholland.org \
--cc=schnelle@linux.ibm.com \
--cc=steven.price@arm.com \
--cc=thierry.reding@gmail.com \
--cc=vdumpa@nvidia.com \
--cc=wens@csie.org \
--cc=will@kernel.org \
--cc=yong.wu@mediatek.com \
--cc=zhang.lyra@gmail.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: 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.