aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/arcmsr/arcmsr.h
diff options
context:
space:
mode:
authorNick Cheng <nick.cheng@areca.com.tw>2008-02-05 02:53:24 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-02-07 19:02:44 -0500
commit76d78300a6eb8b7f08e47703b7e68a659ffc2053 (patch)
tree8677873e725417a8b8eaede4d4a76e247ed15eaa /drivers/scsi/arcmsr/arcmsr.h
parent63adcc5862cf95f29c8c07d59458f102700da100 (diff)
[SCSI] arcmsr: updates (1.20.00.15)
- add arcmsr_enable_eoi_mode()and readl(reg->iop2drv_doorbell_reg) in arcmsr_handle_hbb_isr() on adapter Type B in case of the doorbell interrupt clearance is cached - add conditional declaration for arcmsr_pci_error_detected() and arcmsr_pci_slot_reset - check if the sg list member number exceeds arcmsr default limit in arcmsr_build_ccb() - change the returned value type of arcmsr_build_ccb()from "void" to "int" returns FAILED in arcmsr_queue_command() - modify arcmsr_drain_donequeue() to ignore unknown command and let kernel process command timeout. This could handle IO request violating maximum segments, i.e. Linux XFS over DM-CRYPT. Thanks to Milan Broz's comments <mbroz@redhat.com> - fix the release of dma memory for type B in arcmsr_free_ccb_pool() - fix the arcmsr_polling_hbb_ccbdone() Signed-off-by: Nick Cheng <nick.cheng@areca.com.tw> Cc: Milan Broz <mbroz@redhat.com> Cc: <thenzl@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/arcmsr/arcmsr.h')
-rw-r--r--drivers/scsi/arcmsr/arcmsr.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/arcmsr/arcmsr.h b/drivers/scsi/arcmsr/arcmsr.h
index a67e29f83ae5..57786502e3ec 100644
--- a/drivers/scsi/arcmsr/arcmsr.h
+++ b/drivers/scsi/arcmsr/arcmsr.h
@@ -48,7 +48,7 @@ struct class_device_attribute;
48/*The limit of outstanding scsi command that firmware can handle*/ 48/*The limit of outstanding scsi command that firmware can handle*/
49#define ARCMSR_MAX_OUTSTANDING_CMD 256 49#define ARCMSR_MAX_OUTSTANDING_CMD 256
50#define ARCMSR_MAX_FREECCB_NUM 320 50#define ARCMSR_MAX_FREECCB_NUM 320
51#define ARCMSR_DRIVER_VERSION "Driver Version 1.20.00.15 2007/08/30" 51#define ARCMSR_DRIVER_VERSION "Driver Version 1.20.00.15 2007/12/24"
52#define ARCMSR_SCSI_INITIATOR_ID 255 52#define ARCMSR_SCSI_INITIATOR_ID 255
53#define ARCMSR_MAX_XFER_SECTORS 512 53#define ARCMSR_MAX_XFER_SECTORS 512
54#define ARCMSR_MAX_XFER_SECTORS_B 4096 54#define ARCMSR_MAX_XFER_SECTORS_B 4096
@@ -248,6 +248,7 @@ struct FIRMWARE_INFO
248#define ARCMSR_MESSAGE_START_BGRB 0x00060008 248#define ARCMSR_MESSAGE_START_BGRB 0x00060008
249#define ARCMSR_MESSAGE_START_DRIVER_MODE 0x000E0008 249#define ARCMSR_MESSAGE_START_DRIVER_MODE 0x000E0008
250#define ARCMSR_MESSAGE_SET_POST_WINDOW 0x000F0008 250#define ARCMSR_MESSAGE_SET_POST_WINDOW 0x000F0008
251#define ARCMSR_MESSAGE_ACTIVE_EOI_MODE 0x00100008
251/* ARCMSR_OUTBOUND_MESG1_FIRMWARE_OK */ 252/* ARCMSR_OUTBOUND_MESG1_FIRMWARE_OK */
252#define ARCMSR_MESSAGE_FIRMWARE_OK 0x80000000 253#define ARCMSR_MESSAGE_FIRMWARE_OK 0x80000000
253/* ioctl transfer */ 254/* ioctl transfer */
@@ -256,6 +257,7 @@ struct FIRMWARE_INFO
256#define ARCMSR_DRV2IOP_DATA_READ_OK 0x00000002 257#define ARCMSR_DRV2IOP_DATA_READ_OK 0x00000002
257#define ARCMSR_DRV2IOP_CDB_POSTED 0x00000004 258#define ARCMSR_DRV2IOP_CDB_POSTED 0x00000004
258#define ARCMSR_DRV2IOP_MESSAGE_CMD_POSTED 0x00000008 259#define ARCMSR_DRV2IOP_MESSAGE_CMD_POSTED 0x00000008
260#define ARCMSR_DRV2IOP_END_OF_INTERRUPT 0x00000010
259 261
260/* data tunnel buffer between user space program and its firmware */ 262/* data tunnel buffer between user space program and its firmware */
261/* user space data to iop 128bytes */ 263/* user space data to iop 128bytes */