linux/drivers/pci
Eric W. Biederman f5f2b13129 [PATCH] msi: sanely support hardware level msi disabling
In some cases when we are not using msi we need a way to ensure that the
hardware does not have an msi capability enabled.  Currently the code has been
calling disable_msi_mode to try and achieve that.  However disable_msi_mode
has several other side effects and is only available when msi support is
compiled in so it isn't really appropriate.

Instead this patch implements pci_msi_off which disables all msi and msix
capabilities unconditionally with no additional side effects.

pci_disable_device was redundantly clearing the bus master enable flag and
clearing the msi enable bit.  A device that is not allowed to perform bus
mastering operations cannot generate intx or msi interrupt messages as those
are essentially a special case of dma, and require bus mastering.  So the call
in pci_disable_device to disable msi capabilities was redundant.

quirk_pcie_pxh also called disable_msi_mode and is updated to use pci_msi_off.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Michael Ellerman <michael@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-05 07:57:50 -08:00
..
hotplug [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pcie Fix typos concerning hierarchy 2007-02-17 19:23:03 +01:00
.gitignore Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
access.c [PATCH] severing module.h->sched.h 2006-12-04 02:00:22 -05:00
bus.c PCI: fix __must_check warnings 2006-09-26 17:43:53 -07:00
hotplug.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
htirq.c PCI: Use pci_find_ht_capability() in drivers/pci/htirq.c 2006-12-20 10:54:42 -08:00
Kconfig [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
Makefile [PATCH] htirq: tidy up the htirq code 2006-10-04 07:55:30 -07:00
msi.c [PATCH] msi: sanely support hardware level msi disabling 2007-03-05 07:57:50 -08:00
msi.h PCI: Make some MSI-X #defines generic 2006-12-01 14:36:56 -08:00
pci-acpi.c pci: clear osc support flags if no _OSC method 2006-12-01 14:36:58 -08:00
pci-driver.c PCI/sysfs/kobject kernel-doc fixes 2007-02-16 15:30:10 -08:00
pci-sysfs.c PCI: Make PCI device numa-node attribute visible in sysfs 2007-02-16 15:30:11 -08:00
pci.c [PATCH] msi: sanely support hardware level msi disabling 2007-03-05 07:57:50 -08:00
pci.h [PATCH] msi: sanely support hardware level msi disabling 2007-03-05 07:57:50 -08:00
probe.c adjust legacy IDE resource setting (v2) 2007-03-03 17:48:54 +01:00
proc.c [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
quirks.c [PATCH] msi: sanely support hardware level msi disabling 2007-03-05 07:57:50 -08:00
remove.c PCI: add pci_stop_bus_device 2006-09-26 17:43:54 -07:00
rom.c Altix: Initial ACPI support - ROM shadowing. 2006-12-01 14:36:58 -08:00
search.c PCI: remove pci_find_device_reverse() 2007-02-07 15:50:04 -08:00
setup-bus.c PCI: Make CARDBUS_MEM_SIZE and CARDBUS_IO_SIZE boot options 2007-02-16 15:30:10 -08:00
setup-irq.c PCI: PCI devices get assigned redundant IRQs 2007-02-16 15:30:10 -08:00
setup-res.c PCI legacy resource fix 2006-12-20 10:54:43 -08:00
syscall.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00