From: Marc Zyngier <maz@kernel.org>
To: Will Deacon <will@kernel.org>, Robin Murphy <robin.murphy@arm.com>
Cc: mark.rutland@arm.com, andre.przywara@arm.com,
iommu@lists.linux-foundation.org, catalin.marinas@arm.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] iommu/arm-smmu-v3: Add default domain quirk for Arm Fast Models
Date: Wed, 30 Jun 2021 09:56:12 +0100 [thread overview]
Message-ID: <87h7hfybmb.wl-maz@kernel.org> (raw)
In-Reply-To: <20210629173440.GA7556@willie-the-truck>
On Tue, 29 Jun 2021 18:34:40 +0100,
Will Deacon <will@kernel.org> wrote:
>
> On Fri, Jun 18, 2021 at 05:24:49PM +0100, Robin Murphy wrote:
> > Arm Fast Models are still implementing legacy virtio-pci devices behind
> > the SMMU, which continue to be problematic as "real hardware" devices
> > (from the point of view of the simulated system) without the mitigating
> > VIRTIO_F_ACCESS_PLATFORM feature.
> >
> > Since we now have the ability to force passthrough on a device-specific
> > basis, let's use it to work around this particular oddity so that people
> > who just want to boot Linux on a model don't have to fiddle around with
> > things to avoid the SMMU getting in the way by default (and I don't have
> > to keep telling them which things...)
> >
> > Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> > ---
> > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
>
> Any chance of getting the fastmodels updated instead? It feels like it
> has to happen *eventually*, and then there would be no need for this bodge.
That'd be ideal. What are the chances of that happening before the Sun
turns into a black hole?
> Will
>
> > diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> > index 54b2f27b81d4..13cf16e8f45b 100644
> > --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> > +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> > @@ -2649,6 +2649,20 @@ static int arm_smmu_dev_disable_feature(struct device *dev,
> > }
> > }
> >
> > +static int arm_smmu_def_domain_type(struct device *dev)
> > +{
> > + if (dev_is_pci(dev)) {
> > + struct pci_dev *pdev = to_pci_dev(dev);
> > +
> > + /* Legacy virtio-block devices on Arm Fast Models */
> > + if (pdev->vendor == 0x1af4 && pdev->device == 0x1001 &&
> > + pdev->subsystem_vendor == 0x00ff && pdev->subsystem_device == 0x0002)
> > + return IOMMU_DOMAIN_IDENTITY;
> > + }
> > +
> > + return 0;
> > +}
Could this be expressed as a PCI quirk instead? It would at least keep
the ID matching out of the SMMU driver...
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Will Deacon <will@kernel.org>, Robin Murphy <robin.murphy@arm.com>
Cc: joro@8bytes.org, iommu@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org, andre.przywara@arm.com,
mark.rutland@arm.com, catalin.marinas@arm.com
Subject: Re: [PATCH] iommu/arm-smmu-v3: Add default domain quirk for Arm Fast Models
Date: Wed, 30 Jun 2021 09:56:12 +0100 [thread overview]
Message-ID: <87h7hfybmb.wl-maz@kernel.org> (raw)
In-Reply-To: <20210629173440.GA7556@willie-the-truck>
On Tue, 29 Jun 2021 18:34:40 +0100,
Will Deacon <will@kernel.org> wrote:
>
> On Fri, Jun 18, 2021 at 05:24:49PM +0100, Robin Murphy wrote:
> > Arm Fast Models are still implementing legacy virtio-pci devices behind
> > the SMMU, which continue to be problematic as "real hardware" devices
> > (from the point of view of the simulated system) without the mitigating
> > VIRTIO_F_ACCESS_PLATFORM feature.
> >
> > Since we now have the ability to force passthrough on a device-specific
> > basis, let's use it to work around this particular oddity so that people
> > who just want to boot Linux on a model don't have to fiddle around with
> > things to avoid the SMMU getting in the way by default (and I don't have
> > to keep telling them which things...)
> >
> > Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> > ---
> > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
>
> Any chance of getting the fastmodels updated instead? It feels like it
> has to happen *eventually*, and then there would be no need for this bodge.
That'd be ideal. What are the chances of that happening before the Sun
turns into a black hole?
> Will
>
> > diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> > index 54b2f27b81d4..13cf16e8f45b 100644
> > --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> > +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
> > @@ -2649,6 +2649,20 @@ static int arm_smmu_dev_disable_feature(struct device *dev,
> > }
> > }
> >
> > +static int arm_smmu_def_domain_type(struct device *dev)
> > +{
> > + if (dev_is_pci(dev)) {
> > + struct pci_dev *pdev = to_pci_dev(dev);
> > +
> > + /* Legacy virtio-block devices on Arm Fast Models */
> > + if (pdev->vendor == 0x1af4 && pdev->device == 0x1001 &&
> > + pdev->subsystem_vendor == 0x00ff && pdev->subsystem_device == 0x0002)
> > + return IOMMU_DOMAIN_IDENTITY;
> > + }
> > +
> > + return 0;
> > +}
Could this be expressed as a PCI quirk instead? It would at least keep
the ID matching out of the SMMU driver...
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
_______________________________________________
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:[~2021-06-30 8:56 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-18 16:24 [PATCH] iommu/arm-smmu-v3: Add default domain quirk for Arm Fast Models Robin Murphy
2021-06-18 16:24 ` Robin Murphy
2021-06-24 15:57 ` Andre Przywara
2021-06-24 15:57 ` Andre Przywara
2021-06-29 17:34 ` Will Deacon
2021-06-29 17:34 ` Will Deacon
2021-06-29 18:10 ` Robin Murphy
2021-06-29 18:10 ` Robin Murphy
2021-06-30 8:56 ` Marc Zyngier [this message]
2021-06-30 8:56 ` Marc Zyngier
2021-06-30 11:07 ` Robin Murphy
2021-06-30 11:07 ` 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=87h7hfybmb.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=andre.przywara@arm.com \
--cc=catalin.marinas@arm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=robin.murphy@arm.com \
--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.