iommu/vt-d: Allocate domain info for real DMA sub-devices
authorJon Derrick <jonathan.derrick@intel.com>
Wed, 27 May 2020 16:56:16 +0000 (10:56 -0600)
committerJoerg Roedel <jroedel@suse.de>
Fri, 29 May 2020 13:11:43 +0000 (15:11 +0200)
commit4fda230ecddc2573ed88632e98b69b0b9b68c0ad
treee882df93536b335b23736637dd8ec1d2012e5d90
parent8038bdb8553313ad53bfcffcf8294dd0ab44618f
iommu/vt-d: Allocate domain info for real DMA sub-devices

Sub-devices of a real DMA device might exist on a separate segment than
the real DMA device and its IOMMU. These devices should still have a
valid device_domain_info, but the current dma alias model won't
allocate info for the subdevice.

This patch adds a segment member to struct device_domain_info and uses
the sub-device's BDF so that these sub-devices won't alias to other
devices.

Fixes: 2b0140c69637e ("iommu/vt-d: Use pci_real_dma_dev() for mapping")
Cc: stable@vger.kernel.org # v5.6+
Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/20200527165617.297470-3-jonathan.derrick@intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c
include/linux/intel-iommu.h