From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jeff Garzik <jeff@garzik.org>,
Arjan van de Ven <arjan@infradead.org>,
linux-kernel@vger.kernel.org, gregkh@suse.de,
linux-pci@atrey.karlin.mff.cuni.cz
Subject: Re: [patch] Make MMCONFIG space (extended PCI config space) a driver opt-in issue
Date: Mon, 24 Dec 2007 08:09:10 +1100 [thread overview]
Message-ID: <1198444150.6686.17.camel@pasglop> (raw)
In-Reply-To: <alpine.LFD.0.9999.0712222058160.21557@woody.linux-foundation.org>
On Sat, 2007-12-22 at 21:00 -0800, Linus Torvalds wrote:
>
> On Sat, 22 Dec 2007, Jeff Garzik wrote:
> >
> > But regardless of problems, enabling should be done globally, not per
> > device...
>
> I'm ok with trying the "globally" idea, but it has to be "globally but
> only if absolutely required".
>
> And quite frankly, how do you tell whether it's absolutely required or
> not?
>
> I have an idea: the drivers that really need it will do a "please enable
> MMCONFIG, because I will need it" thing?
What about this approach:
- At boot, MMCONFIG is disabled, you perform the initial probe of all
devices.
- During that probe, you set a flag if any device has capabilities that
extend beyond 0xff.
- Once the main probe pass is done (before drivers are hooked up, which
on PCI is a separate phase), if that flag has been set, you print a fat
warning (on peecee's, which are our main concern, this will generally be
visible on vga console), that you're about to enable MMCONFIG for this
device and if the machine crashes, send a bug report and boot with
nommconfig. Then, for each of those devices, attempt to re-read the
config space header with MMCONFIG, and compare to what is supposed to be
there (+/- irrelevant status bits). If that fails, warn and keep
MMCONFIG disabled.
At this point, you can decide to either keep MMCONFIG on/off on a
per-device basis (if a device has capabilities in the ext space, use
MMCONFIG for it). In that case, your proposed API is useful to
force-enabling MMCONFIG for a given device if there are no such
capabilities but the driver wants to force-enable. That case should be
extremely rare if existing at all
Or you can decide to keep the enable/disable global (if a single device
fails, don't enable MMCONFIG globally).
Ben.
next prev parent reply other threads:[~2007-12-23 21:10 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-22 12:31 [patch] Make MMCONFIG space (extended PCI config space) a driver opt-in issue Arjan van de Ven
2007-12-22 12:35 ` [patch] opt the sky2 driver into using extended config space Arjan van de Ven
2007-12-22 20:28 ` Stephen Hemminger
2007-12-22 14:20 ` [patch] Make MMCONFIG space (extended PCI config space) a driver opt-in issue Jeff Garzik
2007-12-22 14:47 ` Arjan van de Ven
2007-12-22 15:54 ` Matthew Wilcox
2007-12-22 16:02 ` Arjan van de Ven
2007-12-22 21:10 ` Matthew Wilcox
2007-12-23 23:33 ` Benjamin Herrenschmidt
2007-12-22 18:06 ` Linus Torvalds
2007-12-22 19:30 ` Martin Mares
2007-12-22 20:15 ` Arjan van de Ven
2007-12-22 20:36 ` Martin Mares
2007-12-23 1:29 ` Jeff Garzik
2007-12-23 1:26 ` Jeff Garzik
2007-12-23 3:46 ` Linus Torvalds
2007-12-23 4:11 ` Jeff Garzik
2007-12-23 4:35 ` Linus Torvalds
2007-12-23 4:52 ` Jeff Garzik
2007-12-23 5:00 ` Linus Torvalds
2007-12-23 5:09 ` Jeff Garzik
2007-12-23 21:09 ` Benjamin Herrenschmidt [this message]
2007-12-23 21:15 ` Martin Mares
2007-12-23 22:32 ` Ivan Kokshaysky
2007-12-23 23:06 ` Benjamin Herrenschmidt
2007-12-23 23:19 ` Benjamin Herrenschmidt
2007-12-23 5:27 ` Loic Prylli
2007-12-23 5:44 ` Jeff Garzik
2007-12-23 8:33 ` Loic Prylli
2007-12-23 11:03 ` Ivan Kokshaysky
2007-12-23 17:32 ` Linus Torvalds
2007-12-24 7:31 ` Jeff Garzik
2007-12-24 18:51 ` Linus Torvalds
2007-12-24 21:22 ` Matthew Wilcox
2007-12-27 11:46 ` Jeff Garzik
2007-12-27 14:09 ` Arjan van de Ven
2007-12-24 7:22 ` Jeff Garzik
2007-12-24 15:47 ` Ivan Kokshaysky
2007-12-23 21:13 ` Benjamin Herrenschmidt
2007-12-23 10:33 ` Arjan van de Ven
2007-12-24 7:04 ` Jeff Garzik
2007-12-24 11:49 ` Arjan van de Ven
2007-12-24 11:54 ` Jeff Garzik
2007-12-24 12:00 ` Arjan van de Ven
2007-12-25 9:22 ` Martin Mares
2007-12-25 9:40 ` Martin Mares
2007-12-23 4:13 ` Jeff Garzik
2007-12-23 4:18 ` Jeff Garzik
2007-12-23 4:44 ` Linus Torvalds
2007-12-23 5:04 ` Jeff Garzik
2007-12-23 5:18 ` Linus Torvalds
2007-12-23 5:22 ` Jeff Garzik
2007-12-23 4:40 ` Linus Torvalds
2007-12-23 10:18 ` Martin Mares
2007-12-23 5:09 ` Loic Prylli
2007-12-23 5:57 ` H. Peter Anvin
2007-12-23 1:34 ` Jeff Garzik
2007-12-22 20:43 ` Benjamin Herrenschmidt
[not found] <fa.pFsY/52FEkQYqrDPnPMxmcUOsRY@ifi.uio.no>
2007-12-22 16:22 ` Robert Hancock
2007-12-22 19:25 ` Greg KH
2007-12-23 0:56 ` Jeff Garzik
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=1198444150.6686.17.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=arjan@infradead.org \
--cc=gregkh@suse.de \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--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