[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d1bc0e6b-2a9b-3de0-4dd6-59e26d6c1da4@linux.ibm.com>
Date: Mon, 21 Sep 2020 11:41:14 +0200
From: Niklas Schnelle <schnelle@...ux.ibm.com>
To: Matthew Rosato <mjrosato@...ux.ibm.com>,
alex.williamson@...hat.com, cohuck@...hat.com
Cc: pmorel@...ux.ibm.com, borntraeger@...ibm.com, hca@...ux.ibm.com,
gor@...ux.ibm.com, gerald.schaefer@...ux.ibm.com,
linux-s390@...r.kernel.org, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/4] s390/pci: track whether util_str is valid in the
zpci_dev
Hi Matthew,
On 9/19/20 5:28 PM, Matthew Rosato wrote:
> 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@...ux.ibm.com>
> ---
> arch/s390/include/asm/pci.h | 3 ++-
> arch/s390/pci/pci_clp.c | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h
> index 882e233..32eb975 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_avail : 1;
Any reason you're not matching the util_str_avail name in the response struct?
I think this is currently always an EBCDIC encoded string so the information that
even if it looks like binary for anyone with a non-mainframe background
it is in fact a string seems quite helpful.
Other than that
Acked-by: Niklas Schnelle <schnelle@...ux.ibm.com>
> + 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 48bf316..d011134 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_avail = 1;
> }
> zdev->mio_capable = response->mio_addr_avail;
> for (i = 0; i < PCI_STD_NUM_BARS; i++) {
>
Powered by blists - more mailing lists