mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: David Miller <davem@davemloft.net>
Cc: akpm@linux-foundation.org, dwmw2@infradead.org,
	torvalds@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	linux-kernel@vger.kernel.org, jgarzik@pobox.com,
	mchan@broadcom.com
Subject: Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers.
Date: Tue, 15 Jul 2008 11:57:18 +0200	[thread overview]
Message-ID: <1216115838.27242.54.camel@violet.holtmann.net> (raw)
In-Reply-To: <20080714.184418.203308475.davem@davemloft.net>

Hi David,

> I'm not happy for network drivers, although I'm happy to see that
> David respected out NACKs on tg3/bnx2/etc. and didn't include those
> bits.
> 
> I still haven't seen an answer to the chip reset issues.  The argument
> has been that this stuff is going to save kernel memory when the
> driver isn't loading firmware, but that's not really possible.
> 
> When a lot of these network drivers reset, due to a transmit timeout
> or other exception, we need to load the firmware again.
> 
> So this means, that if request_firmware() dies or fails for some
> reason in these scenerios, we can't reset the network card.  Something
> as simple as a memory or other allocation failure deep inside of
> request_firmware() means we lose the networking interface.
> 
> To me this seems like a very non-resilient setup.  It makes sense
> to just keep the firmware in-core so we can load it without having
> to even think about possible failures.

actually when we wrote request_firmware() a long time ago, the idea was
to support various kind of setups (although until now only the on-demand
got used).

So one idea was to allow minimal inclusion of firmware as binary blobs
in the driver and allow overwriting them by loading newer version from
the filesystem. This was intended to ensure minimal working drivers. The
main background was that some devices work with a small firmware and
provide basic features and only need extra firmware for advanced
features. Everything suppose to be hidden behind request_firmware() and
a method to register binary blobs as firmware from within a driver. So
the driver developer really doesn't have to invent anything by himself.

We are not there yet and at the moment, I am not sure if this is still a
valid requirement, but David's work goes into the right direction and is
a good start.

Regards

Marcel



  reply	other threads:[~2008-07-15  9:57 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-14 23:23 David Woodhouse
2008-07-14 23:41 ` Andrew Morton
2008-07-14 23:47   ` David Woodhouse
2008-07-14 23:53     ` Yinghai Lu
2008-07-15  0:23       ` David Woodhouse
2008-07-15  0:31         ` Yinghai Lu
2008-07-15  0:50           ` David Woodhouse
2008-07-15  1:08             ` Yinghai Lu
2008-07-15  7:50             ` Ingo Molnar
2008-07-15  0:50         ` Yinghai Lu
2008-07-15  0:52           ` David Woodhouse
2008-07-15  0:53             ` Yinghai Lu
2008-07-15  1:13           ` David Woodhouse
2008-07-15 20:45     ` Rafael J. Wysocki
2008-07-15 20:49       ` David Woodhouse
2008-07-15 20:57         ` David Woodhouse
2008-07-15 23:45           ` Rafael J. Wysocki
2008-07-16  7:01         ` David Woodhouse
2008-07-16 21:28           ` Rafael J. Wysocki
2008-07-16 22:42             ` David Woodhouse
2008-07-17 20:42               ` Rafael J. Wysocki
2008-07-17 21:25                 ` David Woodhouse
2008-07-17 22:25                   ` Rafael J. Wysocki
2008-07-18  4:15                 ` David Woodhouse
2008-07-14 23:59   ` Arjan van de Ven
2008-07-15  0:06     ` david
2008-07-15  0:33       ` Linus Torvalds
2008-07-15  0:51         ` david
2008-07-15  1:02           ` Linus Torvalds
2008-07-15  1:18             ` david
2008-07-15  2:08               ` Linus Torvalds
2008-07-15  2:47                 ` david
2008-07-15  7:57                 ` Jeff Garzik
2008-07-15 15:04                   ` Linus Torvalds
2008-07-15 17:01                     ` Jeff Garzik
2008-07-15 17:09                       ` Linus Torvalds
2008-07-15 17:30                         ` Jeff Garzik
2008-07-15 17:41                           ` Linus Torvalds
2008-07-15 17:45                             ` Linus Torvalds
2008-07-15 18:11                               ` Jeff Garzik
2008-07-15 18:21                                 ` Linus Torvalds
2008-07-15 18:33                                   ` Jeff Garzik
2008-07-15 18:20                             ` Jeff Garzik
2008-07-15 18:25                               ` Linus Torvalds
2008-07-15 18:30                                 ` David Woodhouse
2008-07-15 20:00                                   ` Marcel Holtmann
2008-07-15 20:06                                     ` David Woodhouse
2008-07-15 20:30                                       ` Marcel Holtmann
2008-07-15 21:24                                       ` david
2008-07-15 18:44                                 ` Jeff Garzik
2008-07-15 18:53                                   ` Linus Torvalds
2008-07-15 19:09                                     ` Jeff Garzik
2008-07-15 19:18                                       ` Linus Torvalds
2008-07-15 18:58                                   ` Theodore Tso
2008-07-15 19:14                                     ` Jeff Garzik
2008-07-15 19:19                                       ` Linus Torvalds
2008-07-15 19:23                                         ` Linus Torvalds
2008-07-15 21:14                                         ` Jeff Garzik
2008-07-15 21:24                                           ` David Woodhouse
2008-07-15 21:47                                             ` David Miller
2008-07-15 22:42                                               ` David Woodhouse
2008-07-15 22:45                                                 ` David Miller
2008-07-15 23:05                                                 ` Jeff Garzik
2008-07-15 21:24                                           ` Linus Torvalds
2008-07-15 21:39                                             ` Jeff Garzik
2008-07-15 22:12                                               ` David Woodhouse
2008-07-15 22:46                                                 ` Jeff Garzik
2008-07-16  0:55                                                 ` Sven-Haegar Koch
2008-07-16  8:02                                                   ` Gabor Gombas
2008-07-16  4:55                                       ` Rene Herman
2008-07-15 19:27                                     ` David Woodhouse
2008-07-15  1:52           ` David Miller
2008-07-15  2:23             ` Rene Herman
2008-07-15  2:24               ` David Miller
2008-07-15  2:32                 ` Rene Herman
2008-07-15  2:39                 ` Linus Torvalds
2008-07-15  2:45                   ` David Miller
2008-07-15  4:56                     ` Arjan van de Ven
2008-07-15  5:09                       ` David Woodhouse
2008-07-15  5:45                         ` david
2008-07-15  6:03                           ` David Woodhouse
2008-07-15  6:23                             ` Oliver Neukum
2008-07-15 14:40                               ` David Woodhouse
2008-07-15 16:52                                 ` Oliver Neukum
2008-07-15 18:09                                   ` David Woodhouse
2008-07-15  5:32                       ` Rene Herman
2008-07-15  3:06                   ` Rene Herman
2008-07-15 23:33                   ` Alexandre Oliva
2008-07-15  5:15                 ` Benjamin Herrenschmidt
2008-07-15  5:30                   ` David Woodhouse
2008-07-15  1:50         ` David Miller
2008-07-15  2:54           ` David Woodhouse
2008-07-15  5:34             ` david
2008-07-15  0:36       ` David Woodhouse
2008-07-15  0:40         ` Linus Torvalds
2008-07-15  0:44           ` David Woodhouse
2008-07-15  5:05             ` Benjamin Herrenschmidt
2008-07-15  2:12         ` Jeff Garzik
2008-07-15  2:17           ` David Miller
2008-07-15  2:23             ` David Woodhouse
2008-07-15  2:52               ` david
2008-07-15  4:45               ` Willy Tarreau
2008-07-15  1:54     ` Jeff Garzik
2008-07-15  2:13       ` Linus Torvalds
2008-07-15  2:19         ` David Miller
2008-07-15  2:22         ` Jeff Garzik
2008-07-15  2:33           ` Linus Torvalds
2008-07-15  2:40             ` David Miller
2008-07-15  2:51               ` Linus Torvalds
2008-07-15  3:05                 ` Jeff Garzik
2008-07-15  4:58                 ` Willy Tarreau
2008-07-15 14:55                   ` Linus Torvalds
2008-07-15 15:09                     ` david
2008-07-15 16:01                       ` Linus Torvalds
2008-07-15 16:21                         ` David Woodhouse
2008-07-15 17:56                         ` david
2008-07-15 17:35                     ` Willy Tarreau
2008-07-15 17:44                       ` David Woodhouse
2008-07-15  3:15             ` Jeff Garzik
2008-07-15  3:29               ` Linus Torvalds
2008-07-15  5:06                 ` Willy Tarreau
2008-07-15  5:32                   ` David Woodhouse
2008-07-15  5:36                     ` Willy Tarreau
2008-07-15  5:37                     ` david
2008-07-16  0:10                     ` Alexandre Oliva
2008-07-16  0:26                       ` Linus Torvalds
2008-07-15  7:21                 ` Jeff Garzik
2008-07-15  7:36                   ` David Woodhouse
2008-07-15  8:07                     ` Jeff Garzik
2008-07-15 15:10                       ` Linus Torvalds
2008-07-15 16:53                         ` Jeff Garzik
2008-07-15 17:16                         ` Jeff Garzik
2008-07-15 17:25                           ` Linus Torvalds
2008-07-15 17:54                             ` Jeff Garzik
2008-07-15  8:14                     ` Ingo Molnar
2008-07-15  8:24                       ` Ingo Molnar
2008-07-15 12:42                   ` Alan Cox
2008-07-17 21:31                     ` David Miller
2008-07-15  2:48           ` David Woodhouse
2008-07-15  5:12             ` Willy Tarreau
2008-07-15 15:57         ` Frans Pop
2008-07-15 16:04           ` Arjan van de Ven
2008-07-15 16:24             ` Frans Pop
2008-07-15 16:36             ` Frans Pop
2008-07-15 17:33               ` Arjan van de Ven
2008-07-15 17:57                 ` Frans Pop
2008-07-15 16:15           ` Linus Torvalds
2008-07-15 16:33             ` david
2008-07-15 16:41               ` Linus Torvalds
2008-07-15 17:25                 ` Frans Pop
2008-07-15 17:36                 ` David Woodhouse
2008-07-15 19:22                 ` Marcel Holtmann
2008-07-15 16:35             ` Linus Torvalds
2008-07-15 16:48               ` Frans Pop
2008-07-15 17:07                 ` Linus Torvalds
2008-07-15 19:26               ` Marcel Holtmann
2008-07-15 16:37             ` Frans Pop
2008-07-15 18:05           ` Henrique de Moraes Holschuh
2008-07-15 18:14             ` Jeff Garzik
2008-07-15 18:24               ` Linus Torvalds
2008-07-15 18:37                 ` Chris Friesen
2008-07-15 18:55                 ` Jeff Garzik
2008-07-15 19:02                   ` Linus Torvalds
2008-07-15 19:41                     ` david
2008-07-15 19:59                     ` Jeff Garzik
2008-07-15 20:15                       ` Linus Torvalds
2008-07-15 20:55                         ` Jeff Garzik
2008-07-15 23:02                           ` Dave Jones
2008-07-15 23:46                             ` Jeff Garzik
2008-07-16  0:00                               ` Dave Jones
2008-07-16  0:10                           ` Chris Adams
2008-07-16  6:04                             ` Jeff Garzik
2008-07-15 19:07                   ` David Woodhouse
2008-07-15 19:29                 ` Peter T. Breuer
2008-07-15 18:20             ` David Woodhouse
2008-07-15 19:13               ` Frans Pop
2008-07-15 19:39             ` Marcel Holtmann
2008-07-15 19:20           ` Marcel Holtmann
2008-07-15 19:27             ` Linus Torvalds
2008-07-15 19:31               ` Marcel Holtmann
2008-07-15 19:38                 ` Linus Torvalds
2008-07-15 19:44                   ` Marcel Holtmann
2008-07-15 22:19                     ` Adrian Bunk
2008-07-15 19:32               ` Linus Torvalds
2008-07-15 19:36               ` David Woodhouse
2008-07-15 19:49                 ` Linus Torvalds
2008-07-15 19:54                   ` Marcel Holtmann
2008-07-15 20:07                     ` Linus Torvalds
2008-07-15 20:21                       ` Marcel Holtmann
2008-07-15 20:30                         ` Linus Torvalds
2008-07-15 20:33                         ` Jeff Garzik
2008-07-15 21:17                         ` Jeff Garzik
2008-07-15 20:26                       ` Jeff Garzik
2008-07-15 20:47                         ` Willy Tarreau
2008-07-15 21:24                           ` Jeff Garzik
2008-07-16 22:05                         ` Diego Calleja
2008-07-15 21:27                       ` david
2008-07-15 21:40                         ` Jeff Garzik
2008-07-15 21:43                         ` Linus Torvalds
2008-07-15 22:20                           ` Frans Pop
2008-07-15 22:24                           ` david
2008-07-15 22:26                             ` David Woodhouse
2008-07-15 22:50                               ` david
2008-07-15 23:42                             ` Linus Torvalds
2008-07-16  0:22                               ` Frans Pop
2008-07-16  0:28                                 ` Linus Torvalds
2008-07-16  0:43                                   ` Jeff Garzik
2008-07-16  1:11                                     ` Prosaic firmware issues Alexey Dobriyan
2008-07-16  1:45                                       ` Linus Torvalds
2008-07-16  5:54                                         ` David Woodhouse
2008-07-16 14:19                                           ` Alexey Dobriyan
2008-07-16  4:42                                     ` [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers Willy Tarreau
2008-09-12 20:59                                       ` Jeff Garzik
2008-09-12 21:43                                         ` Willy Tarreau
2008-07-16  0:51                               ` Theodore Tso
2008-07-16  1:36                                 ` Dave Jones
2008-07-16  2:39                                   ` Theodore Tso
2008-07-16  3:07                                   ` Jeff Garzik
2008-07-16  9:09                                     ` Peter Zijlstra
2008-07-15 19:57                   ` David Woodhouse
2008-07-15 20:10                     ` Marcel Holtmann
2008-07-15 20:17                       ` Linus Torvalds
2008-07-15 20:25                         ` Marcel Holtmann
2008-07-15 23:04                     ` Dave Jones
2008-07-15  1:44   ` David Miller
2008-07-15  9:57     ` Marcel Holtmann [this message]
2008-07-15  1:45 ` Jeff Garzik
     [not found] <aPHZW-47Y-17@gated-at.bofh.it>
     [not found] ` <aPIje-4ST-15@gated-at.bofh.it>
     [not found]   ` <aPV6W-3jN-41@gated-at.bofh.it>
     [not found]     ` <aPX8A-7qb-21@gated-at.bofh.it>
     [not found]       ` <aPXii-7G3-25@gated-at.bofh.it>
     [not found]         ` <aPXs2-7Vn-25@gated-at.bofh.it>
     [not found]           ` <aPXUQ-aU-1@gated-at.bofh.it>
     [not found]             ` <aPY4D-G7-23@gated-at.bofh.it>
     [not found]               ` <aPZ0H-2ls-21@gated-at.bofh.it>

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=1216115838.27242.54.camel@violet.holtmann.net \
    --to=marcel@holtmann.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=davem@davemloft.net \
    --cc=dwmw2@infradead.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchan@broadcom.com \
    --cc=torvalds@linux-foundation.org \
    /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

Powered by JetHome