[alsa-devel] What can change after suspend ?
I'm adding suspend/resume support to echoaudio drivers. I was reading /Documentation/power/pci.txt:
" pci_set_power_state(PCI_D0); pci_restore_state(); /* device's irq possibly is changed, driver should take care */ "
The card does not support D[0-3] states. The driver suspends the card by turning the DSP off, without changing the PCI state. Can IRQ, memory mapped regions, whatever, change on resume ? Are pci_save_state() and pci_enable_wake() useful/required in this case ?
On Tue, Oct 27, 2009 at 5:17 PM, Giuliano Pochini pochini@shiny.it wrote:
I'm adding suspend/resume support to echoaudio drivers. I was reading /Documentation/power/pci.txt:
" pci_set_power_state(PCI_D0); pci_restore_state(); /* device's irq possibly is changed, driver should take care */ "
The card does not support D[0-3] states. The driver suspends the card by turning the DSP off, without changing the PCI state. Can IRQ, memory mapped regions, whatever, change on resume ? Are pci_save_state() and pci_enable_wake() useful/required in this case ?
I don't think an audio card would have need for pci_enable_wake, but pci_save_state and pci_restore_state are mandatory, otherwise PCI configuration space won't get restored after resume.
participants (2)
-
Giuliano Pochini
-
Robert Hancock