Re: [PATCH 2/2] PCI: Disable ATS for specific Intel IPU E2000 devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 06, 2023 at 03:13:29PM -0500, Bjorn Helgaas wrote:
> On Wed, Sep 06, 2023 at 11:00:19PM +0300, Andy Shevchenko wrote:
> > On Wed, Sep 06, 2023 at 10:59:20PM +0300, Andy Shevchenko wrote:
> > > On Wed, Sep 06, 2023 at 02:06:23PM -0500, Bjorn Helgaas wrote:
> > > > On Wed, Aug 16, 2023 at 05:21:15PM +0000, Bartosz Pawlowski wrote:

...

> > > > > +/*
> > > > > + * Intel IPU E2000 revisions before C0 implement incorrect endianness
> > > > > + * in ATS Invalidate Request message body. Although there is existing software
> > > > > + * workaround for this issue, it is not functionally complete (no 5-lvl paging
> > > > > + * support) and it requires changes in all IOMMU implementations supporting
> > > > > + * ATS. Therefore, disabling ATS seems to be more reasonable.
> > > > 
> > > > Can we reference the commit that added the existing software
> > > > workaround?
> > 
> > > See below.
> > 
> > Oh, I meant the second question here, i.e.
> > 
> > > > It sounds like systems that (a) don't require 5-level paging and (b)
> > > > use an IOMMU implementation that include the appropriate changes might
> > > > still be able to use ATS?  Is there a way for them to do that?
> > 
> > ^^^ this one.
> 
> Sorry, I'm missing your point here.
> 
> The comment mentions an existing partial software workaround.
> Presumably that was added by some commit, and it would be helpful to
> know which one.
> 
> The comment also suggests that if the software workaround were
> completed (or if a system didn't require 5-level paging) and it had
> related changes to its IOMMU driver, we could still use ATS even on
> hardware with this defect.
> 
> So I'm wondering if there's a way for an IOMMU driver that has the
> required changes and can tell that we're not using 5-level paging can
> override this quirk that disables ATS.
> 
> Maybe we want to unconditionally disable ATS on these broken devices.
> In that case, I think we should just completely drop the comments
> about the software workaround and IOMMU driver changes because they
> wouldn't be relevant.

I see now what you are for. Yes, I agree that if we can't provide a workaround
then probably comment is a bit bogus.

> > > > > + */
> > > > > +static void quirk_intel_e2000_no_ats(struct pci_dev *pdev)
> > > > > +{
> > > 
> > > > > +	if (pdev->revision < 0x20)
> > > 
> > > Isn't it the answer to your question?
> > > 
> > > > > +		quirk_no_ats(pdev);
> > > > > +}

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux