From: Matthew Rosato <mjrosato@linux.ibm.com>
Date: Wed, 7 Oct 2020 14:56:21 -0400
Subject: s390/pci: track whether util_str is valid in the zpci_dev
Git-commit: 517fe298245c4c2c3d1f9b8f140e40c7f9d7518d
Patch-mainline: v5.10-rc1
References: jsc#SLE-13841
We'll need to keep track of whether or not the byte string in util_str is
valid and thus needs to be passed to a vfio-pci passthrough device.
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
arch/s390/include/asm/pci.h | 3 ++-
arch/s390/pci/pci_clp.c | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
--- a/arch/s390/include/asm/pci.h
+++ b/arch/s390/include/asm/pci.h
@@ -131,7 +131,8 @@ struct zpci_dev {
u8 rid_available : 1;
u8 has_hp_slot : 1;
u8 is_physfn : 1;
- u8 reserved : 5;
+ u8 util_str_avail : 1;
+ u8 reserved : 4;
unsigned int devfn; /* DEVFN part of the RID*/
struct mutex lock;
--- a/arch/s390/pci/pci_clp.c
+++ b/arch/s390/pci/pci_clp.c
@@ -167,6 +167,7 @@ static int clp_store_query_pci_fn(struct
if (response->util_str_avail) {
memcpy(zdev->util_str, response->util_str,
sizeof(zdev->util_str));
+ zdev->util_str_avail = 1;
}
zdev->mio_capable = response->mio_addr_avail;
for (i = 0; i < PCI_STD_NUM_BARS; i++) {