diff mbox

[1/1] s390x/pci: let pci devices start in configured mode

Message ID 20171107175455.73793-2-borntraeger@de.ibm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Christian Borntraeger Nov. 7, 2017, 5:54 p.m. UTC
Currently, to enable a pci device in the guest, the user has to issue
echo 1 > /sys/bus/pci/slots/00000000/power. This is not what people
expect. On an LPAR, the user can put a PCI device in configured or
deconfigured state via IOCDS. The "start in deconfigured state" can be
used for "sharing" a pci function across LPARs. This is not what we are
going to use in KVM, so always start configured.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
---
 hw/s390x/s390-pci-bus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cornelia Huck Nov. 8, 2017, 8:53 a.m. UTC | #1
On Tue,  7 Nov 2017 18:54:55 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> Currently, to enable a pci device in the guest, the user has to issue
> echo 1 > /sys/bus/pci/slots/00000000/power. This is not what people
> expect. On an LPAR, the user can put a PCI device in configured or
> deconfigured state via IOCDS. The "start in deconfigured state" can be
> used for "sharing" a pci function across LPARs. This is not what we are
> going to use in KVM, so always start configured.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Acked-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
> Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
> ---
>  hw/s390x/s390-pci-bus.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index e7a58e8..2b1e140 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -715,7 +715,7 @@ static void s390_pcihost_hot_plug(HotplugHandler *hotplug_dev,
>          pbdev->pdev = pdev;
>          pbdev->iommu = s390_pci_get_iommu(s, pdev->bus, pdev->devfn);
>          pbdev->iommu->pbdev = pbdev;
> -        pbdev->state = ZPCI_FS_STANDBY;
> +        pbdev->state = ZPCI_FS_DISABLED;
>  
>          if (s390_pci_msix_init(pbdev)) {
>              error_setg(errp, "MSI-X support is mandatory "

A pci function already has to be configured before we can assign it via
vfio, right?

I think I'll queue this for 2.11.
Pierre Morel Nov. 8, 2017, 9:19 a.m. UTC | #2
On 08/11/2017 09:53, Cornelia Huck wrote:
> On Tue,  7 Nov 2017 18:54:55 +0100
> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> 
>> Currently, to enable a pci device in the guest, the user has to issue
>> echo 1 > /sys/bus/pci/slots/00000000/power. This is not what people
>> expect. On an LPAR, the user can put a PCI device in configured or
>> deconfigured state via IOCDS. The "start in deconfigured state" can be
>> used for "sharing" a pci function across LPARs. This is not what we are
>> going to use in KVM, so always start configured.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> Acked-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
>> Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
>> ---
>>   hw/s390x/s390-pci-bus.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
>> index e7a58e8..2b1e140 100644
>> --- a/hw/s390x/s390-pci-bus.c
>> +++ b/hw/s390x/s390-pci-bus.c
>> @@ -715,7 +715,7 @@ static void s390_pcihost_hot_plug(HotplugHandler *hotplug_dev,
>>           pbdev->pdev = pdev;
>>           pbdev->iommu = s390_pci_get_iommu(s, pdev->bus, pdev->devfn);
>>           pbdev->iommu->pbdev = pbdev;
>> -        pbdev->state = ZPCI_FS_STANDBY;
>> +        pbdev->state = ZPCI_FS_DISABLED;
>>   
>>           if (s390_pci_msix_init(pbdev)) {
>>               error_setg(errp, "MSI-X support is mandatory "
> 
> A pci function already has to be configured before we can assign it via
> vfio, right?

Yes it is right, otherwise we do not see the PCI device in the sysfs and 
we can not provide it to QEMU.

Regards

Pierre

> 
> I think I'll queue this for 2.11.
>
Cornelia Huck Nov. 8, 2017, 11:05 a.m. UTC | #3
On Tue,  7 Nov 2017 18:54:55 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> Currently, to enable a pci device in the guest, the user has to issue
> echo 1 > /sys/bus/pci/slots/00000000/power. This is not what people
> expect. On an LPAR, the user can put a PCI device in configured or
> deconfigured state via IOCDS. The "start in deconfigured state" can be
> used for "sharing" a pci function across LPARs. This is not what we are
> going to use in KVM, so always start configured.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Acked-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
> Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
> ---
>  hw/s390x/s390-pci-bus.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index e7a58e8..2b1e140 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -715,7 +715,7 @@ static void s390_pcihost_hot_plug(HotplugHandler *hotplug_dev,
>          pbdev->pdev = pdev;
>          pbdev->iommu = s390_pci_get_iommu(s, pdev->bus, pdev->devfn);
>          pbdev->iommu->pbdev = pbdev;
> -        pbdev->state = ZPCI_FS_STANDBY;
> +        pbdev->state = ZPCI_FS_DISABLED;
>  
>          if (s390_pci_msix_init(pbdev)) {
>              error_setg(errp, "MSI-X support is mandatory "

Thanks, queued to s390-fixes.
diff mbox

Patch

diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index e7a58e8..2b1e140 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -715,7 +715,7 @@  static void s390_pcihost_hot_plug(HotplugHandler *hotplug_dev,
         pbdev->pdev = pdev;
         pbdev->iommu = s390_pci_get_iommu(s, pdev->bus, pdev->devfn);
         pbdev->iommu->pbdev = pbdev;
-        pbdev->state = ZPCI_FS_STANDBY;
+        pbdev->state = ZPCI_FS_DISABLED;
 
         if (s390_pci_msix_init(pbdev)) {
             error_setg(errp, "MSI-X support is mandatory "