android_kernel_xiaomi_sm8350/drivers
Mike Miller fb86a35b9d [PATCH] cciss: adds MSI and MSI-X support
This creates a new function, cciss_interrupt_mode called from
cciss_pci_init.  This function determines what type of interrupt vector to
use, i.e., MSI, MSI-X, or IO-APIC.

One noticeable difference is changing the interrupt field of the controller
struct to an array of 4 unsigned ints.  The Smart Array HW is capable of
generating 4 distinct interrupts depending on the transport method in use
during operation.  These are:

#define DOORBELL_INT 0
Used to notify the contoller of configuration updates. We only use
this feature when in polling mode.

#define PERF_MODE_INT 0
Used when the controller is in Performant Mode.

#define SIMPLE_MODE_INT 2
Used when the controller is in Simple Mode (current Linux implementation).

#define MEMQ_INT_MODE 3
Not used.

When using IO-APIC interrupts these 4 lines are OR'ed together so when any
one fires an interrupt an is generated.  In MSI or MSI-X mode this hardware
OR'ing is ignored.  We must register for our interrupt depending on what
mode the controller is running.  For Linux we use SIMPLE_MODE_INT
exclusively at this time.  Please consider this for inclusion.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:14:00 -08:00
..
acorn [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
acpi [PATCH] tpm: add bios measurement log 2006-01-08 20:13:55 -08:00
amba [ARM] Move AMBA bus code to drivers/amba/ 2006-01-07 14:54:15 +00:00
atm [PATCH] frv: fix uninitialised variable in atm nicstar driver 2006-01-08 20:13:38 -08:00
base [PATCH] memhotplug: register_memory should be global 2006-01-06 08:33:22 -08:00
block [PATCH] cciss: adds MSI and MSI-X support 2006-01-08 20:14:00 -08:00
bluetooth [PATCH] pcmcia: add some IDs for ide-cs and dtl1_cs 2006-01-06 00:31:07 +01:00
cdrom [BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn() 2006-01-06 09:49:03 +01:00
char [PATCH] tpmdd: remove global event log 2006-01-08 20:14:00 -08:00
connector [PATCH] drivers/connector/cn_proc.c typos 2006-01-08 20:13:58 -08:00
cpufreq
crypto
dio
eisa
fc4 [SPARC]: introduce a SPARC Kconfig symbol 2005-12-22 23:09:54 -08:00
firmware
hwmon [PATCH] hwmon: it87 use u8 for vrm 2006-01-05 22:16:26 -08:00
i2c [PATCH] IRQ type flags 2006-01-08 20:13:46 -08:00
ide [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
ieee1394 [PATCH] don't freeze firewire on suspend. 2006-01-06 08:33:43 -08:00
infiniband [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
input [PATCH] IRQ type flags 2006-01-08 20:13:46 -08:00
isdn [PATCH] drivers/isdn/: "extern inline" -> "static inline" 2006-01-08 20:13:48 -08:00
macintosh [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
mca
md [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
media Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6 2006-01-06 15:25:08 -08:00
message [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
mfd [PATCH] drivers/mfd: header included twice 2006-01-08 20:13:59 -08:00
misc Input: ibmasm - convert to dynamic input_dev allocation 2006-01-07 11:35:05 -05:00
mmc [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
mtd [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
net [PATCH] IRQ type flags 2006-01-08 20:13:46 -08:00
nubus
oprofile [PATCH] oprofile: Use vmalloc_node() in alloc_cpu_buffers() 2006-01-08 20:13:56 -08:00
parisc
parport [PATCH] frv: suppress configuration of certain features for FRV 2006-01-08 20:13:36 -08:00
pci [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
pcmcia Merge with Linus' kernel. 2006-01-07 14:40:05 +00:00
pnp [PATCH] x86: Fixed pnp bios limits 2006-01-06 08:33:35 -08:00
rapidio [PATCH] fix more missing includes 2006-01-08 20:13:45 -08:00
s390 [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
sbus
scsi [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
serial Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-01-07 10:45:22 -08:00
sh
sn
tc
telephony [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
usb [PATCH] shrink dentry struct 2006-01-08 20:13:58 -08:00
video [PATCH] vgacon: Workaround for resize bug in some chipsets 2006-01-08 20:13:51 -08:00
w1 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-01-04 18:44:12 -08:00
zorro
Kconfig
Makefile [ARM] Move AMBA bus code to drivers/amba/ 2006-01-07 14:54:15 +00:00