From: Oliver Neukum <oneukum@suse.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: Marcel Holtmann <marcel@holtmann.org>,
Dave Jones <davej@redhat.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
pgynther@google.com, linux-bluetooth@vger.kernel.org
Subject: Re: bluetooth related firmware loader spew on resume.
Date: Wed, 26 Nov 2014 11:43:36 +0100 [thread overview]
Message-ID: <1416998616.3171.13.camel@linux-0dmf.site> (raw)
In-Reply-To: <s5hlhmyxng0.wl-tiwai@suse.de>
On Wed, 2014-11-26 at 11:31 +0100, Takashi Iwai wrote:
> At Wed, 26 Nov 2014 11:10:23 +0100,
> Oliver Neukum wrote:
> >
> > On Wed, 2014-11-26 at 09:52 +0100, Takashi Iwai wrote:
> > > At Wed, 26 Nov 2014 14:15:27 +0900,
> >
> > > In order to paper over this, we may also remember the failing firmware
> > > and avoid loading it. This might be an easer way than the endless
> > > fight against UMH race...
> >
> > Hi,
> >
> > the full fix would be to implement reset_resume() for btusb.
> > It seems to me that setup() should be split in two methods,
> > one to request the firmware from user space and the second
> > to transfer it to the device. reset_resume() would just need
> > to repeat the second operation.
>
> I'm not against it, but one slight drawback is that you'll have to
> remember the firmware content to transfer by the driver itself in this
> scenario. In the firmware loader framework, the content is re-read
> at resume so that the largish content isn't kept unnecessarily during
> the whole operation.
That isn't a drawback but an advantage. Firmware for devices that
do power management needs to be in RAM. The right time to free it
is in disconnect(). But why does that mean that the driver has to
manage the firmware? Can't the firmware layer do it?
You just cannot keep a device operational seamlessly if you request
firmware on resume. We could in theory use a notification queue
running while user space is operational if you really want to save
a little RAM.
Regards
Oliver
next prev parent reply other threads:[~2014-11-26 10:43 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-11 18:12 bluetooth related firmware loader spew on resume Dave Jones
2014-11-25 16:40 ` Takashi Iwai
2014-11-26 5:15 ` Marcel Holtmann
2014-11-26 8:52 ` Takashi Iwai
2014-11-26 10:10 ` Oliver Neukum
2014-11-26 10:31 ` Takashi Iwai
2014-11-26 10:43 ` Oliver Neukum [this message]
2014-11-26 10:53 ` Takashi Iwai
2014-11-26 14:08 ` Marcel Holtmann
2014-11-26 14:23 ` Oliver Neukum
2014-11-26 14:31 ` Takashi Iwai
2014-11-26 14:38 ` Oliver Neukum
2014-11-26 14:05 ` Marcel Holtmann
2014-11-26 14:12 ` Takashi Iwai
2014-11-26 14:27 ` Oliver Neukum
2014-11-26 15:21 ` Takashi Iwai
2014-11-27 14:43 ` Takashi Iwai
2014-11-26 14:16 ` Oliver Neukum
2014-11-26 14:56 ` Mihai Donțu
2014-11-26 15:19 ` Takashi Iwai
2014-11-26 15:26 ` Mihai Donțu
2014-11-26 15:27 ` Takashi Iwai
2014-11-26 17:42 ` Arend van Spriel
2014-11-26 18:13 ` Takashi Iwai
2014-11-27 8:59 ` Arend van Spriel
2014-11-27 9:17 ` Takashi Iwai
2014-11-27 9:29 ` Arend van Spriel
2014-11-27 9:46 ` Arend van Spriel
2014-11-27 10:09 ` Takashi Iwai
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=1416998616.3171.13.camel@linux-0dmf.site \
--to=oneukum@suse.de \
--cc=davej@redhat.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=pgynther@google.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox