On 16-01-08 18:46, Bjorn Helgaas wrote: > On Tuesday 15 January 2008 12:51:35 am Jaroslav Kysela wrote: >> 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 >> soundcards. >> >> 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 >> semantics. > > It looks like sound drivers use PNP_DRIVER_RES_DISABLE to say "ignore > what PNP tells us about resource usage and we'll just use the compiled- > in or command-line-specified resources". > > The main reason to do that would be to work around BIOS defects or > to work around deficiencies in the Linux PNP infrastructure (e.g., > maybe we erroneously place another device on top of the sound card > or something). > > I'm just suspicious because PNP_DRIVER_RES_DISABLE is only used in > sound drivers. If it's to work around BIOS defects, why wouldn't > other PNP drivers need it sometimes, too? And wouldn't it be better > to use PNP quirks for BIOS workarounds? Yes. The manual resource setting was recently removed from the ALSA drivers and I'd expect this can now go as a package-deal. >> 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. > > When resuming, wouldn't we *always* want to preserve the resource > allocation from the last suspend, regardless of whether > PNP_DRIVER_RES_DO_NOT_CHANGE is specified? Yes. > Linux PNP definitely has issues with suspend/resume, and I suspect > this is one of them. Rene. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel