kernel-ark/drivers/block
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
..
aoe [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
paride [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
acsi_slm.c
acsi.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
amiflop.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
ataflop.c
cciss_cmd.h
cciss_scsi.c [PATCH] cciss: adds MSI and MSI-X support 2006-01-08 20:14:00 -08:00
cciss_scsi.h
cciss.c [PATCH] cciss: adds MSI and MSI-X support 2006-01-08 20:14:00 -08:00
cciss.h [PATCH] cciss: adds MSI and MSI-X support 2006-01-08 20:14:00 -08:00
cpqarray.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
cpqarray.h
cryptoloop.c
DAC960.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
DAC960.h
floppy.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
ida_cmd.h
ida_ioctl.h
Kconfig [PATCH] parport: Kconfig dependency fixes 2006-01-06 08:33:57 -08:00
loop.c [PATCH] add AOP_TRUNCATED_PAGE, prepend AOP_ to WRITEPAGE_ACTIVATE 2006-01-03 11:45:42 -08:00
Makefile
nbd.c [PATCH] nbd: remove duplicate assignment 2006-01-08 20:13:54 -08:00
pktcdvd.c [PATCH] pktcdvd: Use bd_claim to get exclusive access 2006-01-08 20:13:48 -08:00
ps2esdi.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
rd.c [PATCH] add AOP_TRUNCATED_PAGE, prepend AOP_ to WRITEPAGE_ACTIVATE 2006-01-03 11:45:42 -08:00
smart1,2.h
swim3.c
swim_iop.c
sx8.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
ub.c [BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn() 2006-01-06 09:49:03 +01:00
umem.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
viodasd.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
xd.c [PATCH] Add block_device_operations.getgeo block device method 2006-01-08 20:13:54 -08:00
xd.h
z2ram.c