All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ondrej Zary <linux@rainbow-software.org>
To: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Andrew Morton <akpm@osdl.org>,
	ALSA development <alsa-devel@alsa-project.org>,
	Takashi Iwai <tiwai@suse.de>,
	Rene Herman <rene.herman@keyaccess.nl>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Jaroslav Kysela <perex@perex.cz>, Pavel Machek <pavel@suse.cz>,
	Pierre Ossman <drzeus@drzeus.cx>,
	linux-pm@lists.linux-foundation.org
Subject: Re: -mm: pnp-do-not-stop-start-devices-in-suspend-resume-path.patch breaks resuming isapnp cards
Date: Wed, 16 Jan 2008 19:03:23 +0100	[thread overview]
Message-ID: <200801161903.28813.linux@rainbow-software.org> (raw)
In-Reply-To: <200801161046.05174.bjorn.helgaas@hp.com>

On Wednesday 16 January 2008 18:46:03 Bjorn Helgaas wrote:
> On Tuesday 15 January 2008 12:51:35 am Jaroslav Kysela wrote:
> > 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
> > 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?
>
> > 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?

I'd say yes. If base address of a card changes, driver will break.

I grepped drivers for these flags too - to find out what they do (or should 
do?) - but failed to find out anything useful.

> Linux PNP definitely has issues with suspend/resume, and I suspect
> this is one of them.
>
> Bjorn
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



-- 
Ondrej Zary

WARNING: multiple messages have this Message-ID (diff)
From: Ondrej Zary <linux@rainbow-software.org>
To: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@perex.cz>,
	Rene Herman <rene.herman@keyaccess.nl>,
	Andrew Morton <akpm@osdl.org>, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Pierre Ossman <drzeus@drzeus.cx>, Pavel Machek <pavel@suse.cz>,
	ALSA development <alsa-devel@alsa-project.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Takashi Iwai <tiwai@suse.de>,
	linux-pm@lists.linux-foundation.org
Subject: Re: -mm: pnp-do-not-stop-start-devices-in-suspend-resume-path.patch breaks resuming isapnp cards
Date: Wed, 16 Jan 2008 19:03:23 +0100	[thread overview]
Message-ID: <200801161903.28813.linux@rainbow-software.org> (raw)
In-Reply-To: <200801161046.05174.bjorn.helgaas@hp.com>

On Wednesday 16 January 2008 18:46:03 Bjorn Helgaas wrote:
> On Tuesday 15 January 2008 12:51:35 am Jaroslav Kysela wrote:
> > 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
> > 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?
>
> > 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?

I'd say yes. If base address of a card changes, driver will break.

I grepped drivers for these flags too - to find out what they do (or should 
do?) - but failed to find out anything useful.

> Linux PNP definitely has issues with suspend/resume, and I suspect
> this is one of them.
>
> Bjorn
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



-- 
Ondrej Zary

  reply	other threads:[~2008-01-16 18:03 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-09 22:43 PNP_DRIVER_RES_DISABLE breaks swsusp at least with snd_cs4236 Ondrej Zary
2008-01-10  1:53 ` Rene Herman
2008-01-10  1:53   ` [alsa-devel] " Rene Herman
2008-01-10  7:58   ` Jaroslav Kysela
2008-01-10  7:58     ` [alsa-devel] " Jaroslav Kysela
2008-01-11  1:19     ` Rene Herman
2008-01-11  1:19       ` [alsa-devel] " Rene Herman
2008-01-11  7:01       ` Pierre Ossman
2008-01-11 14:21         ` Rene Herman
2008-01-11 14:21           ` [alsa-devel] " Rene Herman
2008-01-11 18:40           ` Ondrej Zary
2008-01-11 18:40             ` [alsa-devel] " Ondrej Zary
2008-01-12  1:23             ` Rene Herman
2008-01-12  1:23               ` [alsa-devel] " Rene Herman
2008-01-12 11:12               ` Pierre Ossman
2008-01-12 11:12               ` Pierre Ossman
2008-01-12 11:12                 ` [alsa-devel] " Pierre Ossman
2008-01-12 13:39                 ` Rene Herman
2008-01-12 13:39                   ` [alsa-devel] " Rene Herman
2008-01-12 15:21                   ` Pierre Ossman
2008-01-12 15:21                     ` [alsa-devel] " Pierre Ossman
2008-01-12 16:46                     ` Ondrej Zary
2008-01-12 16:46                       ` [alsa-devel] " Ondrej Zary
2008-01-12 16:46                     ` Ondrej Zary
2008-01-12 17:00                     ` Rene Herman
2008-01-12 17:00                     ` Rene Herman
2008-01-12 17:00                       ` [alsa-devel] " Rene Herman
2008-01-12 19:08                       ` Rafael J. Wysocki
2008-01-12 19:08                         ` Rafael J. Wysocki
2008-01-12 20:08                         ` -mm: pnp-do-not-stop-start-devices-in-suspend-resume-path.patch breaks resuming isapnp cards Rene Herman
2008-01-12 20:08                         ` Rene Herman
2008-01-12 20:08                           ` Rene Herman
2008-01-13  5:50                           ` Bjorn Helgaas
2008-01-13  5:50                           ` Bjorn Helgaas
2008-01-13  5:50                             ` Bjorn Helgaas
2008-01-13  6:13                             ` Rene Herman
2008-01-13  6:13                               ` Rene Herman
2008-01-14 22:26                               ` Bjorn Helgaas
2008-01-14 22:26                                 ` Bjorn Helgaas
2008-01-14 23:46                                 ` Rene Herman
2008-01-14 23:46                                 ` Rene Herman
2008-01-14 23:46                                   ` Rene Herman
2008-01-15  7:51                                 ` Jaroslav Kysela
2008-01-15  7:51                                   ` Jaroslav Kysela
2008-01-16 17:46                                   ` Bjorn Helgaas
2008-01-16 17:46                                   ` Bjorn Helgaas
2008-01-16 17:46                                     ` Bjorn Helgaas
2008-01-16 18:03                                     ` Ondrej Zary [this message]
2008-01-16 18:03                                       ` Ondrej Zary
2008-01-16 18:16                                     ` Rene Herman
2008-01-16 18:16                                     ` Rene Herman
2008-01-16 18:16                                       ` Rene Herman
2008-01-15  7:51                                 ` Jaroslav Kysela
2008-01-14 22:26                               ` Bjorn Helgaas
2008-01-13  6:13                             ` Rene Herman
2008-01-12 15:21                   ` [alsa-devel] PNP_DRIVER_RES_DISABLE breaks swsusp at least with snd_cs4236 Pierre Ossman
2008-01-12 19:01                   ` Rafael J. Wysocki
2008-01-12 19:01                   ` Rafael J. Wysocki
2008-01-12 13:39                 ` Rene Herman
2008-01-12  1:23             ` Rene Herman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200801161903.28813.linux@rainbow-software.org \
    --to=linux@rainbow-software.org \
    --cc=akpm@osdl.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=bjorn.helgaas@hp.com \
    --cc=drzeus@drzeus.cx \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=pavel@suse.cz \
    --cc=perex@perex.cz \
    --cc=rene.herman@keyaccess.nl \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.