|
Jesse Keating |
2f82dda |
--- linux-2.6.30.noarch/Documentation/kernel-parameters.txt~ 2009-06-24 14:25:04.000000000 -0400
|
|
Jesse Keating |
2f82dda |
+++ linux-2.6.30.noarch/Documentation/kernel-parameters.txt 2009-06-24 14:25:32.000000000 -0400
|
|
Jesse Keating |
2f82dda |
@@ -1811,6 +1811,9 @@ and is between 256 and 4096 characters.
|
|
Jesse Keating |
2f82dda |
check_enable_amd_mmconf [X86] check for and enable
|
|
Jesse Keating |
2f82dda |
properly configured MMIO access to PCI
|
|
Jesse Keating |
2f82dda |
config space on AMD family 10h CPU
|
|
Jesse Keating |
2f82dda |
+ msi [MSI] If the PCI_MSI kernel config parameter is
|
|
Jesse Keating |
2f82dda |
+ enabled, this kernel boot option can be used to
|
|
Jesse Keating |
2f82dda |
+ enable the use of MSI interrupts system-wide.
|
|
Jesse Keating |
2f82dda |
nomsi [MSI] If the PCI_MSI kernel config parameter is
|
|
Jesse Keating |
2f82dda |
enabled, this kernel boot option can be used to
|
|
Jesse Keating |
2f82dda |
disable the use of MSI interrupts system-wide.
|
|
Jesse Keating |
2f82dda |
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
|
|
Jesse Keating |
2f82dda |
index 2a4501d..209758c 100644
|
|
Jesse Keating |
2f82dda |
--- a/drivers/pci/Kconfig
|
|
Jesse Keating |
2f82dda |
+++ b/drivers/pci/Kconfig
|
|
Jesse Keating |
2f82dda |
@@ -21,6 +21,18 @@ config PCI_MSI
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
If you don't know what to do here, say N.
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
+config PCI_MSI_DEFAULT_ON
|
|
Jesse Keating |
2f82dda |
+ def_bool y
|
|
Jesse Keating |
2f82dda |
+ prompt "Use Message Signaled Interrupts by default"
|
|
Jesse Keating |
2f82dda |
+ depends on PCI_MSI
|
|
Jesse Keating |
2f82dda |
+ help
|
|
Jesse Keating |
2f82dda |
+ Selecting this option will enable use of PCI MSI where applicable
|
|
Jesse Keating |
2f82dda |
+ by default. Support for MSI can be disabled through the use of the
|
|
Jesse Keating |
2f82dda |
+ pci=nomsi boot flag. Conversely, if this option is not selected,
|
|
Jesse Keating |
2f82dda |
+ support for PCI MSI can be enabled by passing the pci=msi flag.
|
|
Jesse Keating |
2f82dda |
+
|
|
Jesse Keating |
2f82dda |
+ If you don't know what to do here, say N.
|
|
Jesse Keating |
2f82dda |
+
|
|
Jesse Keating |
2f82dda |
config PCI_LEGACY
|
|
Jesse Keating |
2f82dda |
bool "Enable deprecated pci_find_* API"
|
|
Jesse Keating |
2f82dda |
depends on PCI
|
|
Jesse Keating |
2f82dda |
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
|
|
Jesse Keating |
2f82dda |
index 896a15d..53df583 100644
|
|
Jesse Keating |
2f82dda |
--- a/drivers/pci/msi.c
|
|
Jesse Keating |
2f82dda |
+++ b/drivers/pci/msi.c
|
|
Jesse Keating |
2f82dda |
@@ -23,7 +23,11 @@
|
|
Jesse Keating |
2f82dda |
#include "pci.h"
|
|
Jesse Keating |
2f82dda |
#include "msi.h"
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
+#ifdef CONFIG_PCI_MSI_DEFAULT_ON
|
|
Jesse Keating |
2f82dda |
static int pci_msi_enable = 1;
|
|
Jesse Keating |
2f82dda |
+#else
|
|
Jesse Keating |
2f82dda |
+static int pci_msi_enable = 0;
|
|
Jesse Keating |
2f82dda |
+#endif /*CONFIG_PCI_MSI_DEFAULT_ON*/
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
/* Arch hooks */
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
@@ -786,6 +790,11 @@ int pci_msi_enabled(void)
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
EXPORT_SYMBOL(pci_msi_enabled);
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
+void pci_yes_msi(void)
|
|
Jesse Keating |
2f82dda |
+{
|
|
Jesse Keating |
2f82dda |
+ pci_msi_enable = 1;
|
|
Jesse Keating |
2f82dda |
+}
|
|
Jesse Keating |
2f82dda |
+
|
|
Jesse Keating |
2f82dda |
void pci_msi_init_pci_dev(struct pci_dev *dev)
|
|
Jesse Keating |
2f82dda |
{
|
|
Jesse Keating |
2f82dda |
INIT_LIST_HEAD(&dev->msi_list);
|
|
Jesse Keating |
2f82dda |
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
|
|
Jesse Keating |
2f82dda |
index 17bd932..e9bc9fe 100644
|
|
Jesse Keating |
2f82dda |
--- a/drivers/pci/pci.c
|
|
Jesse Keating |
2f82dda |
+++ b/drivers/pci/pci.c
|
|
Jesse Keating |
2f82dda |
@@ -2393,6 +2393,8 @@ static int __init pci_setup(char *str)
|
|
Jesse Keating |
2f82dda |
if (*str && (str = pcibios_setup(str)) && *str) {
|
|
Jesse Keating |
2f82dda |
if (!strcmp(str, "nomsi")) {
|
|
Jesse Keating |
2f82dda |
pci_no_msi();
|
|
Jesse Keating |
2f82dda |
+ } else if (!strcmp(str, "msi")) {
|
|
Jesse Keating |
2f82dda |
+ pci_yes_msi();
|
|
Jesse Keating |
2f82dda |
} else if (!strcmp(str, "noaer")) {
|
|
Jesse Keating |
2f82dda |
pci_no_aer();
|
|
Jesse Keating |
2f82dda |
} else if (!strcmp(str, "nodomains")) {
|
|
Jesse Keating |
2f82dda |
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
|
|
Jesse Keating |
2f82dda |
index 26ddf78..85efe81 100644
|
|
Jesse Keating |
2f82dda |
--- a/drivers/pci/pci.h
|
|
Jesse Keating |
2f82dda |
+++ b/drivers/pci/pci.h
|
|
Jesse Keating |
2f82dda |
@@ -111,9 +111,11 @@ extern unsigned int pci_pm_d3_delay;
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
#ifdef CONFIG_PCI_MSI
|
|
Jesse Keating |
2f82dda |
void pci_no_msi(void);
|
|
Jesse Keating |
2f82dda |
+void pci_yes_msi(void);
|
|
Jesse Keating |
2f82dda |
extern void pci_msi_init_pci_dev(struct pci_dev *dev);
|
|
Jesse Keating |
2f82dda |
#else
|
|
Jesse Keating |
2f82dda |
static inline void pci_no_msi(void) { }
|
|
Jesse Keating |
2f82dda |
+static inline void pci_yes_msi(void) { }
|
|
Jesse Keating |
2f82dda |
static inline void pci_msi_init_pci_dev(struct pci_dev *dev) { }
|
|
Jesse Keating |
2f82dda |
#endif
|
|
Jesse Keating |
2f82dda |
|