Re: [PATCH 2/5] igc: Let the PCI core deal with the PM resume flow

Mika Westerberg
2026-02-25T12:26:25Z

On Tue, Feb 24, 2026 at 10:58:37AM -0600, Bjorn Helgaas wrote:
> On Tue, Feb 24, 2026 at 12:10:41PM +0100, Mika Westerberg wrote:
> > Currently igc driver calls pci_set_power_state() and pci_restore_state()
> > and the like to bring the device back from low power states. However,
> > PCI core handles all this on behalf of the driver. Furthermore with PTM
> > enabled the PCI core re-enables it on resume but the driver calls
> > pci_restore_state() which ends up disabling it again.
> >
> > For this reason let the PCI core handle the common PM resume flow.
> >
> > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
>
> I love it, thanks a lot for doing this!
>
> Do we still need the pci_enable_device_mem() and pci_set_master()
> in __igc_resume()?
>
> I suppose some of that is related to the pci_disable_device() in the
> suspend path (__igc_shutdown()), but there are only a few dozen
> drivers that do this, so I'm not sure it's essential.

I think they are just as you describe due the fact there are explicit
pci_disable_device() calls. Probably we can get rid of them as well but
that requires careful testing that nothing accidentally breaks.

@Vitaly, what do you think? I can take a look.