• B
    agp/amd-k7: Convert to generic power management · c78679d1
    Bjorn Helgaas 提交于
    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 0aeddbd0 ("via-agp: convert to generic power management") by
    Vaibhav Gupta <vaibhavgupta40@gmail.com>.
    
    Link: https://lore.kernel.org/r/20221025203852.681822-4-helgaas@kernel.orgSigned-off-by: NBjorn Helgaas <bhelgaas@google.com>
    Acked-by: NDave Airlie <airlied@redhat.com>
    c78679d1
amd-k7-agp.c 15.0 KB