All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Fix broken PCIe device after migration
@ 2022-03-01 15:11 Igor Mammedov
  2022-03-01 15:11 ` [PATCH v2 1/3] pci: expose TYPE_XIO3130_DOWNSTREAM name Igor Mammedov
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Igor Mammedov @ 2022-03-01 15:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: kraxel, mst

Changelog:
   v2:
     * instead of disabling power control on slot and letting ACPI
       PCI hotplug  module in guest to deal with it, set
       PCI_EXP_SLTCTL_PWR_ON on PCIe slot from acpi_pcihp_device_plug_cb()
       when a device plugged into it.

Currently ACPI PCI hotplug is enabled by default for Q35 machine
type and overrides native PCIe hotplug. It works as expected when
a PCIe device is hotplugged into slot, however the device becomes
in-operational after migration. Which is caused by BARs being
disabled on target due to powered off status of the slot.

Proposed fix turns on power on PCIe slot when a device is
hotplugged into it, then that state is migrated and device
stays powred on after migration. 

Tested with (seabios: FC34, Win2012; ovmf: RHEL8)

RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=2053584
CC: mst@redhat.com
CC: kraxel@redhat.com

Ref to v1:
 https://lore.kernel.org/all/20220225100127.78974d71@redhat.com/T/
Gitlab link:
 https://gitlab.com/imammedo/qemu/-/tree/pcie_poweroff_acpi_regression_rhbz2053584_V2

Igor Mammedov (3):
  pci: expose TYPE_XIO3130_DOWNSTREAM name
  acpi: pcihp: pcie: set power on cap on parent slot
  q35: compat: keep hotplugged PCIe device broken after migration for
    6.2 and older machine types

 include/hw/acpi/pcihp.h                    |  1 +
 include/hw/pci-bridge/xio3130_downstream.h | 15 +++++++++++++++
 include/hw/pci/pcie.h                      |  1 +
 hw/acpi/ich9.c                             | 20 ++++++++++++++++++++
 hw/acpi/pcihp.c                            | 15 ++++++++++++++-
 hw/core/machine.c                          |  4 +++-
 hw/pci-bridge/xio3130_downstream.c         |  3 ++-
 hw/pci/pcie.c                              | 11 +++++++++++
 8 files changed, 67 insertions(+), 3 deletions(-)
 create mode 100644 include/hw/pci-bridge/xio3130_downstream.h

-- 
2.31.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-03-02  7:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-01 15:11 [PATCH v2 0/3] Fix broken PCIe device after migration Igor Mammedov
2022-03-01 15:11 ` [PATCH v2 1/3] pci: expose TYPE_XIO3130_DOWNSTREAM name Igor Mammedov
2022-03-01 15:11 ` [PATCH v2 2/3] acpi: pcihp: pcie: set power on cap on parent slot Igor Mammedov
2022-03-01 15:12 ` [PATCH v2 3/3] q35: compat: keep hotplugged PCIe device broken after migration for 6.2 and older machine types Igor Mammedov
2022-03-01 15:20   ` Michael S. Tsirkin
2022-03-02  7:51     ` Igor Mammedov
2022-03-01 15:20 ` [PATCH v2 0/3] Fix broken PCIe device after migration Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.