diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2022-10-25 22:38:47 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2022-10-26 18:25:28 +0200 |
commit | c78679d1fe43f9165b11c5ccd3f79c7108b066fe (patch) | |
tree | 17d95fde5c4c9a2fb0a969c007ff9f494fdb8bf3 /lib/crc32defs.h | |
parent | agp/intel: Convert to generic power management (diff) | |
download | linux-c78679d1fe43f9165b11c5ccd3f79c7108b066fe.tar.xz linux-c78679d1fe43f9165b11c5ccd3f79c7108b066fe.zip |
agp/amd-k7: Convert to generic power management
Convert agpgart-amdk7 from legacy PCI power management to the generic power
management framework.
Previously agpgart-amdk7 used legacy PCI power management, and
agp_amdk7_suspend() and agp_amdk7_resume() were responsible for both
device-specific things and generic PCI things like saving and restoring
config space and managing power state:
agp_amdk7_suspend
pci_save_state <-- generic PCI
pci_set_power_state <-- generic PCI
agp_amdk7_resume
pci_set_power_state(PCI_D0) <-- generic PCI
pci_restore_state <-- generic PCI
amd_irongate_driver.configure <-- device-specific
Convert to generic power management where the PCI bus PM methods do the
generic PCI things, and the driver needs only the device-specific part,
i.e.,
suspend_devices_and_enter
dpm_suspend_start(PMSG_SUSPEND)
pci_pm_suspend # PCI bus .suspend() method
agp_amdk7_suspend <-- not needed at all; removed
suspend_enter
dpm_suspend_noirq(PMSG_SUSPEND)
pci_pm_suspend_noirq # PCI bus .suspend_noirq() method
pci_save_state <-- generic PCI
pci_prepare_to_sleep <-- generic PCI
pci_set_power_state
...
dpm_resume_end(PMSG_RESUME)
pci_pm_resume # PCI bus .resume() method
pci_restore_standard_config
pci_set_power_state(PCI_D0) <-- generic PCI
pci_restore_state <-- generic PCI
agp_amdk7_resume # driver->pm->resume
amd_irongate_driver.configure <-- device-specific
Based on 0aeddbd0cb07 ("via-agp: convert to generic power management") by
Vaibhav Gupta <vaibhavgupta40@gmail.com>.
Link: https://lore.kernel.org/r/20221025203852.681822-4-helgaas@kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'lib/crc32defs.h')
0 files changed, 0 insertions, 0 deletions