Re: [PATCH v2 1/5] iommu/amd: Refactor device probe and capability initialization

Pranjal Shrivastava <[email protected]>
Newsgroups dev.linux.lists.iommu,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci
Message-ID <[email protected]>
On Sat, Aug 22, 2026 at 06:34:42PM +0530, Vasant Hegde wrote:
> Pranjal,
> 
> 
> On 8/14/2026 7:26 AM, Pranjal Shrivastava wrote:
> > Restructure the device probe path to improve readability and prepare for
> > cleaner error handling. Refactor check_device() into iommu_lookup_device
> > to explicitly validate and return the amd_iommu ptr & devid. Refactor
> > iommu_init_device() to return the allocated dev_data. Consolidate all
> > PCI cap inits (MSI domains, PASID, ATS) into a new helper:
> > iommu_init_device_caps().
> > 
> > Suggested-by: Vasant Hegde <[email protected]>
> > Signed-off-by: Pranjal Shrivastava <[email protected]>
> > ---
> >  drivers/iommu/amd/iommu.c | 114 +++++++++++++++++++-------------------
> >  1 file changed, 56 insertions(+), 58 deletions(-)
> > 
> > diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
> > index 4c31294fabc5..9b8ad131ba79 100644
> > --- a/drivers/iommu/amd/iommu.c
> > +++ b/drivers/iommu/amd/iommu.c
> > @@ -675,7 +675,8 @@ static void pdev_disable_caps(struct pci_dev *pdev)
> 
> 
> .../...
> 
> > -	amd_iommu_set_pci_msi_domain(dev, iommu);
> > +	iommu_init_device_caps(dev_data, dev, iommu);
> >  	iommu_dev = &iommu->iommu;
> >  
> > -	/*
> > -	 * If IOMMU and device supports PASID then it will contain max
> > -	 * supported PASIDs, else it will be zero.
> > -	 */
> > -	dev_data = dev_iommu_priv_get(dev);
> > -	if (amd_iommu_pasid_supported() && dev_is_pci(dev) &&
> > -	    pdev_pasid_supported(dev_data)) {
> > -		dev_data->max_pasids = min_t(u32, iommu->iommu.max_pasids,
> > -					     pci_max_pasids(to_pci_dev(dev)));
> > -	}
> > -
> 
> Can you add something like below comment so that we know why we are not calling
> iommu_ignore_device in error path.

Ack, I'll add a comment about this.

> 
> +        * When DMA translation is unavailable return error so the iommu core
> +        * won't attempt domain attach for this device. But interrupt-remap
> +        * is still supported. Hence do not ignore the device.
> 
> -Vasant
> 

Thanks,
Praan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.