aboutsummaryrefslogtreecommitdiff
path: root/arch/s390/kernel/perf_cpum_sf.c
diff options
context:
space:
mode:
authorNiklas Schnelle <[email protected]>2024-09-26 16:08:31 +0200
committerHeiko Carstens <[email protected]>2024-10-10 15:32:43 +0200
commit25f39d3dcb48bbc824a77d16b3d977f0f3713cfe (patch)
treef7c3f280757f5174e9eb078d01a276ba0b7e70d7 /arch/s390/kernel/perf_cpum_sf.c
parent126034faaac5f356822c4a9bebfa75664da11056 (diff)
s390/pci: Ignore RID for isolated VFs
Ensure that VFs used in isolation, that is with their parent PF not visible to the configuration but with their RID exposed, are treated compatibly with existing isolated VF use cases without exposed RID including RoCE Express VFs. This allows creating configurations where one LPAR manages PFs while their child VFs are used by other LPARs. This gives the LPAR managing the PFs a role analogous to that of the hypervisor in a typical use case of passing child VFs to guests. Instead of creating a multifunction struct zpci_bus whenever a PCI function with RID exposed is discovered only create such a bus for configured physical functions and only consider multifunction busses when searching for an existing bus. Additionally only set zdev->devfn to the devfn part of the RID once the function is added to a multifunction bus. This also fixes probing of more than 7 such isolated VFs from the same physical bus. This is because common PCI code in pci_scan_slot() only looks for more functions when pdev->multifunction is set which somewhat counter intutively is not the case for VFs. Note that PFs are looked at before their child VFs is guaranteed because we sort the zpci_list by RID ascending. Reviewed-by: Gerd Bayer <[email protected]> Signed-off-by: Niklas Schnelle <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
Diffstat (limited to 'arch/s390/kernel/perf_cpum_sf.c')
0 files changed, 0 insertions, 0 deletions