I think we should make it explicit that PCI IRQs shouldn't be relied
upon until after pci_enable_device(). This patch:
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc3/2.6.7-rc3-mm1/broken-out/bk-acpi.patch
does PCI interrupt routing (based on ACPI _PRT) and IRQ allocation
at pci_enable_device()-time.
(To avoid breaking things in 2.6, the above patch still allocates
all PCI IRQs in pci_acpi_init(), before any drivers are initialized.
But that shouldn't be needed by correct drivers, and I'd like to
remove it in 2.7.)
Here's a possible update:
===== Documentation/pci.txt 1.11 vs edited =====
--- 1.11/Documentation/pci.txt 2003-07-02 19:11:39 -06:00
+++ edited/Documentation/pci.txt 2004-06-11 15:09:58 -06:00
@@ -166,8 +166,9 @@
~~~~~~~~~~~~~~~~~~~
Before you do anything with the device you've found, you need to enable
it by calling pci_enable_device() which enables I/O and memory regions of
-the device, assigns missing resources if needed and wakes up the device
-if it was in suspended state. Please note that this function can fail.
+the device, allocates an IRQ if necessary, assigns missing resources if
+needed and wakes up the device if it was in suspended state. Please note
+that this function can fail.
If you want to use the device in bus mastering mode, call pci_set_master()
which enables the bus master bit in PCI_COMMAND register and also fixes
On Fri, Jun 11, 2004 at 03:29:16PM -0600, Bjorn Helgaas wrote:
> I think we should make it explicit that PCI IRQs shouldn't be relied
> upon until after pci_enable_device(). This patch:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc3/2.6.7-rc3-mm1/broken-out/bk-acpi.patch
>
> does PCI interrupt routing (based on ACPI _PRT) and IRQ allocation
> at pci_enable_device()-time.
>
> (To avoid breaking things in 2.6, the above patch still allocates
> all PCI IRQs in pci_acpi_init(), before any drivers are initialized.
> But that shouldn't be needed by correct drivers, and I'd like to
> remove it in 2.7.)
I agree.
> Here's a possible update:
Thanks, I've applied this to my trees.
greg k-h