]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/pci: track whether util_str is valid in the zpci_dev
authorMatthew Rosato <mjrosato@linux.ibm.com>
Wed, 7 Oct 2020 18:56:21 +0000 (14:56 -0400)
committerAlex Williamson <alex.williamson@redhat.com>
Wed, 7 Oct 2020 20:23:43 +0000 (14:23 -0600)
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>
arch/s390/include/asm/pci.h
arch/s390/pci/pci_clp.c

index 882e233bc6ea9f6812a8952c067f1bbc20093615..fa1fed450f741a2f09280342aec71645ee645962 100644 (file)
@@ -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;
index 48bf3160e85615ccfe1a672381713e0fd8bab6da..322689bec21700677fd5cb72ebe0e07e6fbea591 100644 (file)
@@ -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++) {