On Thu, May 30, 2013 at 12:39:18PM -0600, Alex Williamson wrote: > If a device is multifunction and does not have ACS enabled then we > assume that the entire package lacks ACS and use function 0 as the > base of the group. The PCIe spec however states that components are > permitted to implement ACS on some, none, or all of their applicable > functions. It's therefore conceivable that function 0 may be fully > independent and support ACS while other functions do not. Instead > use the lowest function of the slot that does not have ACS enabled > as the base of the group. This may be the current device, which is > intentional. So long as we use a consistent algorithm, all the > non-ACS functions will be grouped together and ACS functions will > get separate groups. > > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> > --- > drivers/iommu/amd_iommu.c | 25 +++++++++++++++++++------ > drivers/iommu/intel-iommu.c | 25 +++++++++++++++++++------ Didn't really fit into any of my existing branches. Applied it to x86/vt-d because it is probably not worth creating a new x86-specific branch just for this patch. Thanks, Joerg -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html