On 2024/10/27 22:12, Zhangfei Gao wrote:
On Fri, 18 Oct 2024 at 10:45, Zhangfei Gao<zhangfei....@linaro.org> wrote:
Hi, Baolu

On Fri, 18 Oct 2024 at 09:58, Baolu Lu<baolu...@linux.intel.com> wrote:
On 2024/10/17 21:08, Jason Gunthorpe wrote:
On Thu, Oct 17, 2024 at 08:35:24PM +0800, Zhangfei Gao wrote:

Yes, you are right
   I am using SRIOV vf and stall feature, so is_virtfn == true

Our ACC devices are fake pci endpoint devices which supports stall,
And they also supports sriov

So I have to ignore the limitation.
I see, so that is more complicated.

Lu, what do you think about also checking if the PCI function has PRI
? If not PRI assume the fault is special and doesn't follow PRI rules?

Or maybe we can have the iommu driver tag the event as a PRI/not-PRI
fault?
This limitation applies to PRI on PCI/SRIOV VFs because the PRI might be
a shared resource and current iommu subsystem is not ready to support
enabling/disabling PRI on a VF without any impact on others.

In my understanding, it's fine to remove this limitation from the use
case of non-PRI on SRIOV VFs. Perhaps something like below?

#include <linux/pci-ats.h>
         if (dev_is_pci(dev)) {
                 struct pci_dev *pdev = to_pci_dev(dev);
                 if (pdev->is_virtfn && pci_pri_supported(pdev))
                         return -EINVAL;
         }
Yes, this works on our platform.
Will you send this patch?

Tested-by: Zhangfei Gao<zhangfei....@linaro.org>

Can you please make this change a formal patch by yourself? As I don't
have hardware in hand, I'm not confident to accurately describe the
requirement or verify the new version during the upstream process.

Thanks,
baolu

Reply via email to