OpenCloudOS-Kernel/drivers
Ben Hutchings 1646a6f352 sfc: Clean up test interrupt handling
Interrupts are normally generated by the event queues, moderated by
timers.  However, they may also be triggered by detection of a 'fatal'
error condition (e.g. memory parity error) or by the host writing to
certain CSR fields as part of a self-test.

The IRQ level/index used for these on Falcon rev B0 and Siena is set
by the KER_INT_LEVE_SEL field and cached by the driver in
efx_nic::fatal_irq_level.  Since this value is also relevant to
self-tests rename the field to just 'irq_level'.

Avoid unnecessary cache traffic by using a per-channel 'last_irq_cpu'
field and only writing to the per-controller field when the interrupt
matches efx_nic::irq_level.  Remove the volatile qualifier and use
ACCESS_ONCE in the places we read these fields.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-27 00:10:52 +00:00
..
accessibility
acpi pstore: pass allocated memory region back to caller 2011-11-17 12:58:07 -08:00
amba
ata pata_of_platform: Add missing CONFIG_OF_IRQ dependency. 2011-12-22 15:00:32 -05:00
atm atm: eliminate atm_guess_pdu2truesize() 2011-11-26 16:40:30 -05:00
auxdisplay
base PM / Driver core: leave runtime PM enabled during system shutdown 2011-12-07 22:26:56 +01:00
bcma bcma: extract revision and TX power IDs from SPROM 2011-12-13 15:47:41 -05:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2011-12-16 10:05:14 -08:00
bluetooth Bluetooth: Add support for BCM20702A0 [0a5c:21e3] 2011-12-22 14:20:03 -02:00
cdrom
char ipmi_watchdog: restore settings when BMC reset 2011-12-20 10:25:04 -08:00
clk
clocksource
connector
cpufreq [CPUFREQ] db8500: fix build error due to undeclared i variable 2011-11-11 22:28:33 -05:00
cpuidle
crypto Merge git://github.com/herbertx/crypto 2011-11-25 21:55:07 -08:00
dca
devfreq PM / devfreq: correct Kconfig dependency 2011-11-14 23:31:35 +01:00
dio
dma dma: MX3_IPU fix depends 2011-12-19 12:26:07 +01:00
edac drivers/edac/mpc85xx_edac.c: fix memory controller compatible for edac 2011-11-24 01:59:38 -06:00
eisa
firewire
firmware Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft 2011-12-15 14:16:47 -08:00
gpio gpio: Fix DA9052 GPIO build errors. 2011-12-15 11:25:43 -07:00
gpu drm/i915: Disable RC6 on Sandybridge by default 2011-12-26 21:07:27 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2011-12-02 08:25:46 -08:00
hv
hwmon hwmon: (jz4740) Staticise jz4740_hwmon_driver 2011-12-12 08:31:21 -08:00
hwspinlock Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-08 18:34:16 -08:00
i2c i2c-eg20t: correct the driver init order of pch_i2c_probe() 2011-12-18 11:46:42 +00:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide 2011-11-18 22:04:12 -02:00
idle
ieee802154 net: remove NETIF_F_NO_CSUM feature bit 2011-11-16 17:43:12 -05:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-23 17:13:56 -05:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-12-30 13:42:41 -08:00
iommu Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu 2011-12-29 17:36:15 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-02 13:49:21 -05:00
leds Revert "leds: save the delay values after a successful call to blink_set()" 2011-11-15 22:41:50 -02:00
lguest enable virtio_net to return bus_info in ethtool -i consistent with emulated NICs 2011-11-16 17:26:46 -05:00
macintosh m68k/irq: Remove obsolete IRQ_FLG_* users 2011-11-08 22:35:48 +01:00
mca
md md/bitmap: It is OK to clear bits during recovery. 2011-12-23 09:57:48 +11:00
media gspca: Fix falling back to lower isoc alt settings 2011-12-31 11:53:58 -08:00
memstick
message
mfd mfd: Include linux/io.h to jz4740-adc 2011-12-20 18:53:26 +01:00
misc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-02 13:49:21 -05:00
mmc Merge branch 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm 2011-12-30 13:45:34 -08:00
mtd mtd: plat_ram: call mtd_device_register only if partition data exists 2011-12-19 11:13:52 +00:00
net sfc: Clean up test interrupt handling 2012-01-27 00:10:52 +00:00
nfc NFC: DEP link hook implementation for pn533 2011-12-14 14:50:13 -05:00
nubus
of dt/device: Fix auxdata matching to handle entries without a name override 2011-12-12 14:41:45 -07:00
oprofile oprofile: Fix uninitialized memory access when writing to writing to oprofilefs 2011-12-19 17:18:43 +01:00
parisc
parport
pci pci: Fix hotplug of Express Module with pci bridges 2011-12-18 14:10:16 -08:00
pcmcia
pinctrl pinctrl: hide subsystem from the populace 2011-11-10 09:02:12 +01:00
platform toshiba_acpi: Fix machines that don't support HCI_SYSTEM_EVENT 2011-12-05 13:07:28 -05:00
pnp
power x86/mrst: Battery fixes 2011-12-05 17:06:37 +01:00
pps
ps3
ptp ptp: Fix clock_getres() implementation 2011-12-06 11:38:32 +01:00
rapidio rapidio/tsi721: modify PCIe capability settings 2011-12-09 07:50:29 -08:00
regulator regulator: twl: fix twl4030 support for smps regulators 2011-11-28 18:58:31 +00:00
rtc Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-12-20 11:42:38 -08:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-23 17:13:56 -05:00
sbus sbus: convert drivers/sbus/char/* to use module_platform_driver() 2011-12-04 10:46:58 -08:00
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-23 17:13:56 -05:00
sfi
sh Merge branches 'sh/pm-runtime' and 'common/clkfwk' into sh-fixes-for-linus 2011-11-11 16:16:25 +09:00
sn
spi spi/gpio: fix section mismatch warning 2011-12-07 22:17:39 +01:00
ssb Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2011-12-14 14:35:41 -05:00
staging staging: r8712u: Add new USB ID 2011-12-13 16:13:15 -08:00
target iscsi-target: Fix hex2bin warn_unused compile message 2011-12-06 06:00:59 +00:00
tc
telephony
thermal
tty Merge branch 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-11-21 20:36:46 -08:00
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-23 17:13:56 -05:00
uwb
vhost
video viafb: correct sync polarity for OLPC DCON 2011-11-22 00:56:17 +00:00
virt
virtio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-12-02 13:49:21 -05:00
vlynq
w1
watchdog watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing (part 2) 2011-12-27 20:35:59 +01:00
xen Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel" 2011-12-19 09:30:35 -05:00
zorro
Kconfig
Makefile