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:
parent
0681ec2531
commit
05c6a8eff6
@ -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",
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user