vfio/pci: Delete local pm_cap

This is now redundant to PCIDevice.pm_cap.

Cc: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250225215237.3314011-4-alex.williamson@redhat.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
Alex Williamson 2025-02-25 14:52:27 -07:00 committed by Cédric Le Goater
parent 0681ec2531
commit 05c6a8eff6
2 changed files with 4 additions and 6 deletions

View File

@ -2215,7 +2215,6 @@ static bool vfio_add_std_cap(VFIOPCIDevice *vdev, uint8_t pos, Error **errp)
break; break;
case PCI_CAP_ID_PM: case PCI_CAP_ID_PM:
vfio_check_pm_reset(vdev, pos); vfio_check_pm_reset(vdev, pos);
vdev->pm_cap = pos;
ret = pci_pm_init(pdev, pos, errp) >= 0; ret = pci_pm_init(pdev, pos, errp) >= 0;
/* /*
* PCI-core config space emulation needs write access to the power * PCI-core config space emulation needs write access to the power
@ -2412,17 +2411,17 @@ void vfio_pci_pre_reset(VFIOPCIDevice *vdev)
vfio_disable_interrupts(vdev); vfio_disable_interrupts(vdev);
/* Make sure the device is in D0 */ /* Make sure the device is in D0 */
if (vdev->pm_cap) { if (pdev->pm_cap) {
uint16_t pmcsr; uint16_t pmcsr;
uint8_t state; uint8_t state;
pmcsr = vfio_pci_read_config(pdev, vdev->pm_cap + PCI_PM_CTRL, 2); pmcsr = vfio_pci_read_config(pdev, pdev->pm_cap + PCI_PM_CTRL, 2);
state = pmcsr & PCI_PM_CTRL_STATE_MASK; state = pmcsr & PCI_PM_CTRL_STATE_MASK;
if (state) { if (state) {
pmcsr &= ~PCI_PM_CTRL_STATE_MASK; pmcsr &= ~PCI_PM_CTRL_STATE_MASK;
vfio_pci_write_config(pdev, vdev->pm_cap + PCI_PM_CTRL, pmcsr, 2); vfio_pci_write_config(pdev, pdev->pm_cap + PCI_PM_CTRL, pmcsr, 2);
/* vfio handles the necessary delay here */ /* vfio handles the necessary delay here */
pmcsr = vfio_pci_read_config(pdev, vdev->pm_cap + PCI_PM_CTRL, 2); pmcsr = vfio_pci_read_config(pdev, pdev->pm_cap + PCI_PM_CTRL, 2);
state = pmcsr & PCI_PM_CTRL_STATE_MASK; state = pmcsr & PCI_PM_CTRL_STATE_MASK;
if (state) { if (state) {
error_report("vfio: Unable to power on device, stuck in D%d", error_report("vfio: Unable to power on device, stuck in D%d",

View File

@ -160,7 +160,6 @@ struct VFIOPCIDevice {
int32_t bootindex; int32_t bootindex;
uint32_t igd_gms; uint32_t igd_gms;
OffAutoPCIBAR msix_relo; OffAutoPCIBAR msix_relo;
uint8_t pm_cap;
uint8_t nv_gpudirect_clique; uint8_t nv_gpudirect_clique;
bool pci_aer; bool pci_aer;
bool req_enabled; bool req_enabled;