[alsa-devel] -mm: pnp-do-not-stop-start-devices-in-suspend-resume-path.patch breaks resuming isapnp cards
perex at perex.cz
Tue Jan 15 08:51:35 CET 2008
On Mon, 14 Jan 2008, Bjorn Helgaas wrote:
> On Saturday 12 January 2008 11:13:35 pm Rene Herman wrote:
> > ... And, now that I have your attention, while it's
> > not important to the issue anymore with the tests removed as the submitted
> > patch did, do you have an opinion on (include/linux/pnp.h):
> > /* pnp driver flags */
> > #define PNP_DRIVER_RES_DO_NOT_CHANGE 0x0001 /* do not change the state
> > of the device */
> > #define PNP_DRIVER_RES_DISABLE 0x0003 /* ensure the device is
> > disabled */
> > I find DISABLE including DO_NOT_CHANGE rather unexpected...
> I don't know the history of those flags, but I wish they didn't exist.
Ok, something to explain. These flags exists to allow drivers to
manually configure (override) PnP resources at init time - we know - for
example in ALSA - that some combinations simply does not work for all
The DISABLE flags simply tells core PnP layer - driver will handle
resource allocation itself, don't do anything, just disable hw physically
and do not change (allocate) any resources. Value 0x03 is valid in this
Unfortunately, suspend / resume complicates things a bit, but PnP core can
handle DO_NOT_CHANGE flag. But it will just mean - _preserve_ resource
allocation from last suspend state for this device and enable hw
physically before calling resume() callback.
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
More information about the Alsa-devel