From: Robin Murphy <robin.murphy@arm.com>
To: Nicolin Chen <nicolinc@nvidia.com>, Yong Wu <yong.wu@mediatek.com>
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
Jason Gunthorpe <jgg@nvidia.com>,
Baolu Lu <baolu.lu@linux.intel.com>,
"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"jordan@cosmicpenguin.net" <jordan@cosmicpenguin.net>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"thierry.reding@gmail.com" <thierry.reding@gmail.com>,
"will@kernel.org" <will@kernel.org>,
"alyssa@rosenzweig.io" <alyssa@rosenzweig.io>,
"jean-philippe@linaro.org" <jean-philippe@linaro.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"zhang.lyra@gmail.com" <zhang.lyra@gmail.com>,
"iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
"jonathanh@nvidia.com" <jonathanh@nvidia.com>,
"yangyingliang@huawei.com" <yangyingliang@huawei.com>,
"orsonzhai@gmail.com" <orsonzhai@gmail.com>,
"gerald.schaefer@linux.ibm.com" <gerald.schaefer@linux.ibm.com>,
"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"christophe.jaillet@wanadoo.fr" <christophe.jaillet@wanadoo.fr>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"dwmw2@infradead.org" <dwmw2@infradead.org>,
"marcan@marcan.st" <marcan@marcan.st>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"baolin.wang7@gmail.com" <baolin.wang7@gmail.com>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>
Subject: Re: [PATCH v3 1/5] iommu: Return -EMEDIUMTYPE for incompatible domain and device/group
Date: Thu, 30 Jun 2022 09:21:42 +0100 [thread overview]
Message-ID: <e5799215-8b55-90a8-7ca4-35f85ffb5969@arm.com> (raw)
In-Reply-To: <YrysUpY4mdzA0h76@Asurada-Nvidia>
On 2022-06-29 20:47, Nicolin Chen wrote:
> On Fri, Jun 24, 2022 at 03:19:43PM -0300, Jason Gunthorpe wrote:
>> On Fri, Jun 24, 2022 at 06:35:49PM +0800, Yong Wu wrote:
>>
>>>>> It's not used in VFIO context. "return 0" just satisfy the iommu
>>>>> framework to go ahead. and yes, here we only allow the shared
>>>>> "mapping-domain" (All the devices share a domain created
>>>>> internally).
>>
>> What part of the iommu framework is trying to attach a domain and
>> wants to see success when the domain was not actually attached ?
>>
>>>> What prevent this driver from being used in VFIO context?
>>>
>>> Nothing prevent this. Just I didn't test.
>>
>> This is why it is wrong to return success here.
>
> Hi Yong, would you or someone you know be able to confirm whether
> this "return 0" is still a must or not?
From memory, it is unfortunately required, due to this driver being in
the rare position of having to support multiple devices in a single
address space on 32-bit ARM. Since the old ARM DMA code doesn't
understand groups, the driver sets up its own canonical
dma_iommu_mapping to act like a default domain, but then has to politely
say "yeah OK" to arm_setup_iommu_dma_ops() for each device so that they
do all end up with the right DMA ops rather than dying in screaming
failure (the ARM code's per-device mappings then get leaked, but we
can't really do any better).
The whole mess disappears in the proper default domain conversion, but
in the meantime, it's still safe to assume that nobody's doing VFIO with
embedded display/video codec/etc. blocks that don't even have reset drivers.
Thanks,
Robin.
next prev parent reply other threads:[~2022-06-30 8:22 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-23 20:00 [PATCH v3 0/5] Simplify vfio_iommu_type1 attach/detach routine Nicolin Chen
2022-06-23 20:00 ` [PATCH v3 1/5] iommu: Return -EMEDIUMTYPE for incompatible domain and device/group Nicolin Chen
2022-06-24 1:35 ` Baolu Lu
2022-06-24 2:44 ` Nicolin Chen
2022-06-24 5:38 ` Yong Wu
2022-06-24 5:41 ` Nicolin Chen
2022-06-24 6:16 ` Tian, Kevin
2022-06-24 10:35 ` Yong Wu
2022-06-24 18:19 ` Jason Gunthorpe
2022-06-29 19:47 ` Nicolin Chen
2022-06-30 8:21 ` Robin Murphy [this message]
2022-06-30 9:57 ` Tian, Kevin
2022-06-30 15:47 ` Nicolin Chen
2022-06-30 9:33 ` Yong Wu
2022-06-30 15:45 ` Nicolin Chen
2022-06-23 20:00 ` [PATCH v3 2/5] vfio/iommu_type1: Prefer to reuse domains vs match enforced cache coherency Nicolin Chen
2022-06-24 1:50 ` Baolu Lu
2022-06-23 20:00 ` [PATCH v3 3/5] vfio/iommu_type1: Remove the domain->ops comparison Nicolin Chen
2022-06-24 18:28 ` Jason Gunthorpe
2022-06-24 18:46 ` Jason Gunthorpe
2022-06-23 20:00 ` [PATCH v3 4/5] vfio/iommu_type1: Clean up update_dirty_scope in detach_group() Nicolin Chen
2022-06-23 20:00 ` [PATCH v3 5/5] vfio/iommu_type1: Simplify group attachment Nicolin Chen
2022-06-27 6:57 ` Tian, Kevin
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=e5799215-8b55-90a8-7ca4-35f85ffb5969@arm.com \
--to=robin.murphy@arm.com \
--cc=alex.williamson@redhat.com \
--cc=alyssa@rosenzweig.io \
--cc=baolin.wang7@gmail.com \
--cc=baolu.lu@linux.intel.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=cohuck@redhat.com \
--cc=dwmw2@infradead.org \
--cc=gerald.schaefer@linux.ibm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jean-philippe@linaro.org \
--cc=jgg@nvidia.com \
--cc=jonathanh@nvidia.com \
--cc=jordan@cosmicpenguin.net \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=matthias.bgg@gmail.com \
--cc=nicolinc@nvidia.com \
--cc=orsonzhai@gmail.com \
--cc=tglx@linutronix.de \
--cc=thierry.reding@gmail.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=will@kernel.org \
--cc=yangyingliang@huawei.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox