[PATCH v4 2/3] s390/pci: Mark all VFs as not implementing MSE bit

Matthew Rosato
2020-09-02T19:47:31Z

For s390 we can have VFs that are passed-through without
the associated PF. Firmware provides an emulation layer
to allow these devices to operate independently, but is
missing emulation of the MSE bit. For these as well as
linked VFs, mark a dev_flags bit that specifies these
devices do not implement the MSE bit.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
arch/s390/pci/pci_bus.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c
index 5967f30..73789a7 100644
--- a/arch/s390/pci/pci_bus.c
+++ b/arch/s390/pci/pci_bus.c
@@ -197,9 +197,10 @@ void pcibios_bus_add_device(struct pci_dev *pdev)
* With pdev->no_vf_scan the common PCI probing code does not
* perform PF/VF linking.
*/
- if (zdev->vfn)
+ if (zdev->vfn) {
zpci_bus_setup_virtfn(zdev->zbus, pdev, zdev->vfn);
-
+ pdev->dev_flags |= PCI_DEV_FLAGS_FORCE_COMMAND_MEM;
+ }
}

static int zpci_bus_add_device(struct zpci_bus *zbus, struct zpci_dev *zdev)
--
1.8.3.1