Re: Resume enhancement: restore pci config space

From: Takashi Iwai
Date: Thu May 27 2004 - 04:49:05 EST


Hi Arjan,

At Wed, 26 May 2004 22:35:26 +0200,
Arjan van de Ven wrote:
>
> Hi,
>
> The patch below enhances the PCI layer with 2 things
> 1) enable and busmaster state are stored in the pci device struct
> 2) pci config space is stored to the pci device struct
>
> with that, it is possible to make a generic pci resume method that restores
> config space and reenables the device, including busmaster when appropriate.
>
> One can rightfully argue that the driver resume method should do this, and
> yes that is right. So the patch only does it for devices that don't have a
> resume method. Like the main PCI bridge on my testbox of which the bios so
> nicely forgets to restore the bus master bit during resume.. With this patch
> my testbox resumes just fine while it, well, wasn't all too happy as you can
> imagine without a busmaster pci bridge.

Nice to have save_config_space[] in pci_dev even for the driver with
resume/suspend callbacks.
I already added bunch of such an array in the ALSA driver codes with
ifdef CONFIG_PM, but now they all can be removed again :)


--
Takashi Iwai <tiwai@xxxxxxx> ALSA Developer - www.alsa-project.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/