linux/drivers
Arthur Jones 8f140b407f IB/ipath: Shadow the gpio_mask register
Once upon a time, GPIO interrupts were rare.  But then a chip bug in
the waldo series forced the use of a GPIO interrupt to signal packet
reception.  This greatly increased the frequency of GPIO interrupts
which have the gpio_mask bits set on the waldo chips.  Other bits in
the gpio_status register are used for I2C clock and data lines, these
bits are usually on.  An "unlikely" annotation leftover from the old
days was improperly applied to these bits, and an unnecessary chip
mmio read was being accessed in the interrupt fast path on waldo.

Remove the stagnant unlikely annotation in the interrupt handler and
keep a shadow copy of the gpio_mask register to avoid the slow mmio
read when testing for interruptable GPIO bits.

Signed-off-by: Arthur Jones <arthur.jones@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-05-14 13:22:42 -07:00
..
acorn [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
acpi PM: Separate hibernation code from suspend code 2007-05-09 12:30:48 -07:00
amba uevent: use add_uevent_var() instead of open coding it 2007-04-27 10:57:29 -07:00
ata libata: fix kernel-doc parameters 2007-05-09 20:15:47 -04:00
atm PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00
bluetooth [Bluetooth] Correct SCO buffer for another Broadcom based dongle 2007-05-05 00:36:22 +02:00
cdrom mm: remove destroy_dirty_buffers from invalidate_bdev() 2007-05-07 12:12:55 -07:00
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2007-05-09 13:38:45 -07:00
clocksource ACPI: correct pathname in comment 2007-04-25 14:27:06 -04:00
connector [NETLINK]: Switch cb_lock spinlock to mutex and allow to override it 2007-04-25 22:29:03 -07:00
cpufreq Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crypto Fix trivial typos in Kconfig* files 2007-05-09 07:12:20 +02:00
dio
dma [PATCH] rm pointless dmaengine exports 2007-03-16 19:25:03 -07:00
edac Fix 82875 PCI setup 2007-05-08 11:15:07 -07:00
eisa virtual_eisa_root_init() should be __init 2007-05-08 11:15:02 -07:00
fc4
firmware remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
hid header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
hwmon Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
i2c PM: Separate hibernation code from suspend code 2007-05-09 12:30:48 -07:00
ide Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 2007-05-09 15:41:31 -07:00
ieee1394 Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
infiniband IB/ipath: Shadow the gpio_mask register 2007-05-14 13:22:42 -07:00
input Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2007-05-08 11:51:43 -07:00
isdn misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
kvm Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
leds fix file specification in comments 2007-05-09 08:58:16 +02:00
macintosh Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 2007-05-09 15:41:31 -07:00
mca mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
md Revert "md: improve partition detection in md array" 2007-05-09 18:51:36 -07:00
media misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
message misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
mfd header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
misc disable socket power in adapter driver instead of media one 2007-05-08 22:41:47 +02:00
mmc mmc build fix 2007-05-09 12:30:44 -07:00
mtd Merge git://git.infradead.org/mtd-2.6 2007-05-09 13:10:11 -07:00
net mlx4_core: Remove unused doorbell_lock 2007-05-13 08:54:18 -07:00
nubus
oprofile [PATCH] oprofile: fix potential deadlock on oprofilefs_lock 2007-03-28 13:58:02 -07:00
parisc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
parport parport_serial: fix PCI must_checks 2007-05-08 11:15:08 -07:00
pci Fix more "deprecated" spellos. 2007-05-09 07:19:14 +02:00
pcmcia fix hotplug for legacy platform drivers 2007-05-08 11:15:10 -07:00
pnp PNP: workaround HP BIOS defect that leaves SMCF010 device partly enabled 2007-05-08 11:15:23 -07:00
ps3 Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
rapidio
rtc Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-05-09 13:08:20 -07:00
s390 Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
sbus Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 2007-05-09 15:41:31 -07:00
serial Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-05-08 11:50:19 -07:00
sh
sn
spi atmel_spi: remove unnecessary (and wrong) #ifdefs 2007-05-09 12:30:50 -07:00
tc [PATCH] Fix build error on zs serial driver 2007-04-04 21:12:47 -07:00
telephony replace pci_find_device in drivers/telephony/ixj.c 2007-05-08 11:15:02 -07:00
usb Move USB network drivers to drivers/net/usb. 2007-05-09 21:31:55 -04:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00
w1 Driver for the Maxim DS1WM, a 1-wire bus master ASIC core 2007-05-08 11:15:14 -07:00
zorro Amiga Zorro bus: kill resource_size_t warnings 2007-05-04 17:59:08 -07:00
Kconfig
Makefile i2c: Add i2c_board_info and i2c_new_device() 2007-05-01 23:26:31 +02:00