On Wed, Sep 25, 2024 at 05:45:24PM +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > If the driver doesn't call pci_save_state() driver/pci will > normally save+power manage the device from the _noirq() pm > hooks. drivers/pci. Or maybe just mention the PM hook names specifically. > We can't let that happen as some old BIOSes fail to hibernate > when the device is in D3. However, we can get a bit closer to > the standard behaviour by doing our explicit pci_save_state() > and pci_set_power_state() stuff from driver provided _noirq() > hooks as well. > > This results in a change of behaviur where we no longer go > into D3 at the end of .freeze_late(), so when it comes time > to .thaw() we'll already be in D0, and thus we can drop the > explicit pci_set_power_state(D0) call. s/behaviur/behaviour/ > Presumable swictcheroo suspend will want to go into D3 so > call the _noirq() stuff from the switcheroo suspend hook, > and since we dropped the pci_set_power_state(D0) from > .resume_early() we'll need to add one back into the > swtcheroo resume hook. s/swictcheroo/switcheroo/ s/swtcheroo/switcheroo/ Or maybe just use the actual function names here too. That saves time for me, at least, because it points me at exactly where to look. Bjorn