Re: [PATCH 2/4] s390/pci: track whether util_str is valid in the zpci_dev

Matthew Rosato
2020-09-22T14:06:20Z

On 9/21/20 5:41 AM, Niklas Schnelle wrote:
> 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@linux.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.

Frankly, the dropping of 'str_' was arbitrary on my part -- I'll go
ahead and rename it to util_str_avail with v2.

> Other than that
>
> Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>
>

Thanks!

>> + 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++) {
>>