From: Matthew Rosato Date: Wed, 7 Oct 2020 18:56:21 +0000 (-0400) Subject: s390/pci: track whether util_str is valid in the zpci_dev X-Git-Tag: v5.10-rc1~53^2~5^3~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=517fe298245c4c2c3d1f9b8f140e40c7f9d7518d;p=thirdparty%2Fkernel%2Flinux.git s390/pci: track whether util_str is valid in the zpci_dev 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 Acked-by: Niklas Schnelle Acked-by: Christian Borntraeger Acked-by: Cornelia Huck Signed-off-by: Alex Williamson --- diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h index 882e233bc6ea9..fa1fed450f741 100644 --- a/arch/s390/include/asm/pci.h +++ b/arch/s390/include/asm/pci.h @@ -132,7 +132,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; diff --git a/arch/s390/pci/pci_clp.c b/arch/s390/pci/pci_clp.c index 48bf3160e8561..322689bec2170 100644 --- a/arch/s390/pci/pci_clp.c +++ b/arch/s390/pci/pci_clp.c @@ -168,6 +168,7 @@ static int clp_store_query_pci_fn(struct zpci_dev *zdev, 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++) {