Re: [PATCH RFC v1 2/2] pci: Suspend ATS before doing FLR

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

 



On Tue, Jun 10, 2025 at 12:27:04PM +0800, Baolu Lu wrote:
> On 6/10/25 02:45, Nicolin Chen wrote:
> >   int pcie_flr(struct pci_dev *dev)
> >   {
> > +	int ret = 0;
> > +
> >   	if (!pci_wait_for_pending_transaction(dev))
> >   		pci_err(dev, "timed out waiting for pending transaction; performing function level reset anyway\n");
> > +	/*
> > +	 * Per PCIe r6.3, sec 10.3.1 IMPLEMENTATION NOTE, software disables ATS
> > +	 * before initiating a Function Level Reset. So notify the iommu driver
> > +	 * that actually enabled ATS. Have to call it after waiting for pending
> > +	 * DMA transaction.
> > +	 */
> > +	if (iommu_dev_reset_prepare(&dev->dev))
> > +		pci_err(dev, "failed to stop IOMMU\n");
> 
> Need to abort here?

Yea. I think it should abort.

Thanks!
Nicolin




[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