[PATCH 2/3] iommu/amd: Don't call report_iommu_fault()

Robin Murphy robin.murphy at arm.com
Thu Oct 23 05:34:21 PDT 2025


On 2025-10-22 6:12 pm, Jason Gunthorpe wrote:
> This old style API is only used by drivers/gpu/drm/msm and
> drivers/remoteproc, neither are used on x86 HW. Remove the dead code to
> discourage new users.

I'd be almost certain there's somebody somewhere using remoteproc on x86 
with some FPGA/bespoke PCI device/on-board MCU/etc. - whether they're 
doing it on AMD *and* care about its fault reporting mechanism is really 
the question.
> Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
> ---
>   drivers/iommu/amd/iommu.c | 24 ------------------------
>   1 file changed, 24 deletions(-)
> 
> diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
> index 2e1865daa1cee8..072c80bb2c2b3a 100644
> --- a/drivers/iommu/amd/iommu.c
> +++ b/drivers/iommu/amd/iommu.c
> @@ -840,29 +840,6 @@ static void amd_iommu_report_page_fault(struct amd_iommu *iommu,
>   		dev_data = dev_iommu_priv_get(&pdev->dev);
>   
>   	if (dev_data) {
> -		/*
> -		 * If this is a DMA fault (for which the I(nterrupt)
> -		 * bit will be unset), allow report_iommu_fault() to
> -		 * prevent logging it.
> -		 */
> -		if (IS_IOMMU_MEM_TRANSACTION(flags)) {
> -			/* Device not attached to domain properly */
> -			if (dev_data->domain == NULL) {
> -				pr_err_ratelimited("Event logged [Device not attached to domain properly]\n");
> -				pr_err_ratelimited("  device=%04x:%02x:%02x.%x domain=0x%04x\n",
> -						   iommu->pci_seg->id, PCI_BUS_NUM(devid), PCI_SLOT(devid),
> -						   PCI_FUNC(devid), domain_id);
> -				goto out;
> -			}
This part is unrelated to the report_iommu_fault() call - in fact it was 
specifically added even more recently.

Thanks,
Robin.

> -
> -			if (!report_iommu_fault(&dev_data->domain->domain,
> -						&pdev->dev, address,
> -						IS_WRITE_REQUEST(flags) ?
> -							IOMMU_FAULT_WRITE :
> -							IOMMU_FAULT_READ))
> -				goto out;
> -		}
> -
>   		if (__ratelimit(&dev_data->rs)) {
>   			pci_err(pdev, "Event logged [IO_PAGE_FAULT domain=0x%04x address=0x%llx flags=0x%04x]\n",
>   				domain_id, address, flags);
> @@ -873,7 +850,6 @@ static void amd_iommu_report_page_fault(struct amd_iommu *iommu,
>   			domain_id, address, flags);
>   	}
>   
> -out:
>   	if (pdev)
>   		pci_dev_put(pdev);
>   }




More information about the Linux-mediatek mailing list