Re: [PATCH 6/6] iommu/amd: Manage iommu_group for non-pci devices

From: Joerg Roedel
Date: Thu Jan 07 2016 - 07:07:15 EST


On Tue, Jan 05, 2016 at 05:07:24AM -0500, Wan Zongshun wrote:
> +static struct iommu_group *amd_iommu_device_group(struct device *dev)
> +{
> + if (dev_is_pci(dev))
> + return pci_device_group(dev);
> +
> + return acpihid_device_group(dev);
> +}
> +
> /*****************************************************************************
> *
> * The next functions belong to the dma_ops mapping/unmapping code.
> @@ -3202,7 +3233,7 @@ static const struct iommu_ops amd_iommu_ops = {
> .iova_to_phys = amd_iommu_iova_to_phys,
> .add_device = amd_iommu_add_device,
> .remove_device = amd_iommu_remove_device,
> - .device_group = pci_device_group,
> + .device_group = amd_iommu_device_group,

Does this work? Which bus do the ACPIHID devices belong to (what does
dev->bus point to)? If it is not &pci_bus_type, then the iommu core code
will not create an iommu group for the devices.


Joerg

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/