• Alex Williamson's avatar
    iommu/{vt-d,amd}: Remove multifunction assumption around grouping · c14d2690
    Alex Williamson authored
    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: default avatarAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
    c14d2690
intel-iommu.c 109 KB