[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <455A938A.4060002@garzik.org>
Date: Tue, 14 Nov 2006 23:11:54 -0500
From: Jeff Garzik <jeff@...zik.org>
To: Linus Torvalds <torvalds@...l.org>
CC: David Miller <davem@...emloft.net>, linux-kernel@...r.kernel.org,
tiwai@...e.de
Subject: Re: [PATCH] ALSA: hda-intel - Disable MSI support by default
Linus Torvalds wrote:
> HOWEVER - that's only true on systems with no other PCI bridges. Even if
> you have an Intel NB/SB, what about other bridges in that same system, and
> the devices behind them?
>
> Now, I think that a MSI thing should look like a PCI write to a magic
> address (I'm really not very up on it, so correct me if I'm wrong), and
> thus maybe bridges are bound to get it right, and the only thing we really
> need to worry about is the host bridge. Maybe. In that case, it might be
> sensible to have a host-bridge white-table, and if we know all Intel
> bridges that claim to support MSI do so correctly, then maybe we can just
> say "ok, always enable it for Intel host bridges".
That's pretty much the idea behind MSI... it looks like any other PCI
bus transaction, rather than needing a separate pin.
> But right now I'm not convinced we really know what all goes wrong. Maybe
> it's just broken NVidia and AMD bridges. But maybe it's also individual
> devices that continue to (for example) raise _both_ the legacy IRQ line
> _and_ send an MSI request.
That reminds me of a potential driver bug -- MSI-aware drivers need to
call pci_intx(pdev,0) to turn off the legacy PCI interrupt, before
enabling MSI interrupts.
So far, MSI history on x86 has always followed these rules:
* it works on Intel
* it doesn't work [well | at all] on AMD/NV
The only thing that has changed recently is that people are trying to
get it working on AMD/NV as well. (Brice Goglin's stuff starting at
6397c75cbc4d7dbc3d07278b57c82a47dafb21b5 in 'git log')
Seems to me this hda-intel driver patch is fallout from
pci_msi_enabled() not failing on enough systems (all AMD/NV?).
Anyway, if you want your master switch, put it there, not in each driver...
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists