linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arend van Spriel <arend@broadcom.com>
To: "Luis R. Rodriguez" <mcgrof@suse.com>, Ming Lei <ming.lei@canonical.com>
Cc: Takashi Iwai <tiwai@suse.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Liam Girdwood <liam.r.girdwood@linux.intel.com>,
	"Jie, Yang" <yang.jie@intel.com>,
	"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	"joonas.lahtinen@linux.intel.com"
	<joonas.lahtinen@linux.intel.com>, Tom Gundersen <teg@jklm.no>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Kay Sievers <kay@vrfy.org>, David Woodhouse <dwmw2@infradead.org>,
	"Luis Rodriguez" <mcgrof@do-not-panic.com>,
	lkml <linux-kernel@vger.kernel.org>,
	yalin wang <yalin.wang2010@gmail.com>
Subject: Re: Problems loading firmware using built-in drivers with kernels that use initramfs.
Date: Wed, 2 Sep 2015 14:09:51 +0200	[thread overview]
Message-ID: <55E6E70F.80907@broadcom.com> (raw)
In-Reply-To: <20150902011912.GY8051@wotan.suse.de>

On 09/02/2015 03:19 AM, Luis R. Rodriguez wrote:
> On Mon, Aug 31, 2015 at 10:21:34PM +0800, Ming Lei wrote:
>> On Sun, Aug 30, 2015 at 4:25 PM, Arend van Spriel <arend@broadcom.com> wrote:
>>> Does this mean a built-in driver can not get firmware from initramfs or
>>> built in the kernel early. Seems a bit too aggressive. The problem stated in
>>> this thread is when the firmware is not on initramfs but only on the rootfs.
>>
>> Yes, strictly speaking, user mode request can't be handled with defer probe
>> during booting because we don't know how the user helper handles the
>> request,
>
> FWIW I have a strategy in mind to help us compartamentalize the user mode
> helper only to the dell-rbu driver, and as such phase out that code eventually
> completely. Its part of the goals I have with the extensible firmware API I've
> been proposing.
>
>> that said even checking if the firmware exists in current path doesn't
>> make sense for user mode request.
>>
>> So the patch should have used defer proble for direct load only
>> during booting.
>
> What exact guarantees would we be giving to callers if they follow up on probe
> with -EDEFER_PROBE ? I'd much prefer to try to avoid such uses in init / probe
> (note that unless you're using async probe since we batch both so it doesn't really
> matter where you place your code) all together and then for the few remaining
> stragglers understand the requirements and provide an interface that lets them
> claim their requirements and try to meets them.
>
> A grammatical hunt for drivers who call fw API on init / probe can be
> completed, although I know the hunt needs a bit more fine tuning it surely can
> be completed. If we don't have many callers the compexity added for only a
> few callers with rather loose criteria seems rather unnecessary, specially if
> we can change the drivers and make these driver sthe exception rather than
> a norm.
>
> Then as for drivers *needing* the fw at probe why not have a proper interface
> that does guarantee they get the requirements they ask for first ? For instance
> a new probe type specified by the driver could enable the core to wait for say
> an event and then tirgger a probe, kind of how we ended up defining the async
> probe type preference:
>
> static struct some_bus_driver some_driver = {
>          .probe = some_probe,
>          .id_table = some_id,
>          .driver = {
>                  .name = DEVICE_NAME,
>                  .pm = &some_pm_ops,
>                  .probe_type = PROBE_PREFER_POST_FOO,
>          },
> };
>
> Then we just don't try just hoping for completion but rather can do something
> about the criteria passed.

That sounds good to me and learning about the async probe type. We do a 
schedule work in our module_init to avoid the probe being done in init 
context. Guess we can change that using the async probe type :-p

Regards,
Arend

  reply	other threads:[~2015-09-02 12:10 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1440449403.2469.35.camel@loki>
     [not found] ` <1440489900.2419.4.camel@loki>
     [not found]   ` <rbhuamrc6ajy3l1qereb60l8.1440494220682@email.android.com>
2015-08-25 19:34     ` Problems loading firmware using built-in drivers with kernels that use initramfs Luis R. Rodriguez
2015-08-25 19:46       ` Takashi Iwai
2015-08-25 19:58         ` Dmitry Torokhov
2015-08-25 20:26           ` Linus Torvalds
2015-08-26  5:30             ` yalin wang
2015-08-26  5:12           ` Jie, Yang
2015-08-26  5:32             ` Takashi Iwai
2015-08-26  6:17               ` Jie, Yang
2015-08-26  8:06                 ` Liam Girdwood
2015-08-26  8:29                   ` Jie, Yang
2015-08-26  9:00                     ` Liam Girdwood
2015-08-27  1:50                       ` Lin, Mengdong
2015-08-27  7:09                         ` Liam Girdwood
2015-08-26 18:07                   ` Linus Torvalds
2015-08-27  0:55                     ` Ming Lei
2015-08-29  1:11                       ` Luis R. Rodriguez
2015-08-29  4:09                         ` Ming Lei
2015-08-29  7:11                           ` Takashi Iwai
2015-08-29  8:50                             ` Arend van Spriel
2015-08-29 10:38                               ` Ming Lei
2015-08-30  8:25                                 ` Arend van Spriel
2015-08-30 18:11                                   ` Linus Torvalds
2015-12-17 19:24                                     ` Luis R. Rodriguez
2015-08-31 14:21                                   ` Ming Lei
2015-09-02  1:19                                     ` Luis R. Rodriguez
2015-09-02 12:09                                       ` Arend van Spriel [this message]
2015-09-02 12:13                                         ` Arend van Spriel
2015-09-02 18:58                                           ` Luis R. Rodriguez
2015-09-02 21:03                                             ` Arend van Spriel
2015-09-02 23:13                                               ` Dmitry Torokhov
2015-09-02 23:22                                                 ` Luis R. Rodriguez
2015-09-02 23:29                                                   ` Dmitry Torokhov
2015-09-02 23:46                                                     ` Luis R. Rodriguez
2015-09-03 17:23                                                       ` Arend van Spriel
2015-09-03 17:33                                                         ` Dmitry Torokhov
2015-10-16 19:35                                                           ` Luis R. Rodriguez
2015-10-16 21:05                                                             ` Luis R. Rodriguez
2015-10-17  8:31                                                             ` Arend van Spriel
2015-09-02 20:43                                           ` Dmitry Torokhov
2015-09-02  0:39                           ` Luis R. Rodriguez

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=55E6E70F.80907@broadcom.com \
    --to=arend@broadcom.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=kay@vrfy.org \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@do-not-panic.com \
    --cc=mcgrof@suse.com \
    --cc=ming.lei@canonical.com \
    --cc=teg@jklm.no \
    --cc=tiwai@suse.de \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=yalin.wang2010@gmail.com \
    --cc=yang.jie@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).