From: Takashi Iwai <tiwai@suse.de>
To: Arjan van de Ven <arjanv@redhat.com>
Cc: Pavel Machek <pavel@ucw.cz>,
greg@kroah.com, linux-kernel@vger.kernel.org
Subject: Re: Resume enhancement: restore pci config space
Date: Tue, 01 Jun 2004 17:58:16 +0200 [thread overview]
Message-ID: <s5h65abqnhj.wl@alsa2.suse.de> (raw)
In-Reply-To: <20040601153800.GA22986@devserv.devel.redhat.com>
At Tue, 1 Jun 2004 17:38:00 +0200,
Arjan van de Ven wrote:
>
> [1 <text/plain; us-ascii (7bit)>]
> On Tue, Jun 01, 2004 at 05:26:51PM +0200, Takashi Iwai wrote:
> > At Tue, 01 Jun 2004 17:06:38 +0200,
> > Arjan van de Ven wrote:
> > >
> > > [1 <text/plain (quoted-printable)>]
> > >
> > > > int xxx_resume(struct pci_dev *dev)
> > > > {
> > > > int err;
> > > > if ((err = pci_default_resume(dev)) < 0)
> > > > return err;
> > > > // ... do h/w specific
> > > > }
> > >
> > > well define "h/w specific", just give me an example of a real (alsa?)
> > > driver that would use it (or point me to one) so that I can see if this
> > > is the best API, what the return value should be etc etc
> >
> > I'm afraid the ALSA drivers aren't be the best examples :)
> > It doesn't handle the error in suspend/resume at all.
>
> hm it looks like all this would gain is that instead of 2 or 3 function calls
> you need to do one which then calls those 3. The *driver* already knows if
> it needs busmaster or not etc, so when I wrote this code I felt that the
> driver could do a better job really. But well if you think it's worth it to
> save those 3 lines into 1 ?
Well, if it's all over hundreds of drivers, we'll gain a couple of
hundreds of lines ;)
Another good reason would be that it will prevent to forget the proper
calls, e.g. in the case you changed the busmastering in the main probe
code.
Anyway, it's just a little gain. I don't mind even if such a function
is not exported.
> > Hmm, looking at them right now, and i found most of them don't have
> > pci_suspend_state() because it worked without saving/restoring the pci
> > state _casually_, and missing pci_set_power_state(), etc...
>
> I made the PCI layer save PCI config space always, and the generic resume callback
> conditional, so saving PCI config state is not something that explicitly
> needs to be done in the suspend hook.
That's nice.
> I don't know what else a suspend
> standard function needs to do.
I don't see others for suspends, too.
pci_disable_device() and pci_set_power_state() should be
driver-specific.
(for example, ymfpci device doesn't like pci_set_power_state(3) - it
won't wake up at the next time.)
Takashi
next prev parent reply other threads:[~2004-06-01 16:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-26 20:35 Resume enhancement: restore pci config space Arjan van de Ven
2004-05-26 22:39 ` Greg KH
2004-05-27 9:44 ` Takashi Iwai
2004-05-30 18:40 ` Pavel Machek
2004-05-31 13:38 ` Arjan van de Ven
2004-06-01 13:54 ` Takashi Iwai
2004-06-01 15:06 ` Arjan van de Ven
2004-06-01 15:26 ` Takashi Iwai
2004-06-01 15:38 ` Arjan van de Ven
2004-06-01 15:58 ` Takashi Iwai [this message]
2004-06-01 16:02 ` Pavel Machek
2004-06-01 16:18 ` Takashi Iwai
2004-05-31 16:38 ` Jan-Benedict Glaw
-- strict thread matches above, loose matches on Subject: below --
2004-05-26 21:44 Nakajima, Jun
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=s5h65abqnhj.wl@alsa2.suse.de \
--to=tiwai@suse.de \
--cc=arjanv@redhat.com \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
/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.