aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-01-25 20:19:08 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-01-25 20:19:08 -0500
commit9b73e76f3cf63379dcf45fcd4f112f5812418d0a (patch)
tree4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b /drivers/scsi/megaraid/megaraid_sas.h
parent50d9a126240f9961cfdd063336bbeb91f77a7dce (diff)
parent23c3e290fb9ce38cabc2822b47583fc8702411bf (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits) [SCSI] usbstorage: use last_sector_bug flag universally [SCSI] libsas: abstract STP task status into a function [SCSI] ultrastor: clean up inline asm warnings [SCSI] aic7xxx: fix firmware build [SCSI] aacraid: fib context lock for management ioctls [SCSI] ch: remove forward declarations [SCSI] ch: fix device minor number management bug [SCSI] ch: handle class_device_create failure properly [SCSI] NCR5380: fix section mismatch [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices [SCSI] IB/iSER: add logical unit reset support [SCSI] don't use __GFP_DMA for sense buffers if not required [SCSI] use dynamically allocated sense buffer [SCSI] scsi.h: add macro for enclosure bit of inquiry data [SCSI] sd: add fix for devices with last sector access problems [SCSI] fix pcmcia compile problem [SCSI] aacraid: add Voodoo Lite class of cards. [SCSI] aacraid: add new driver features flags [SCSI] qla2xxx: Update version number to 8.02.00-k7. [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command. ...
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h
index 4dffc918a414..6466bdf548c2 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -2,7 +2,7 @@
2 * 2 *
3 * Linux MegaRAID driver for SAS based RAID controllers 3 * Linux MegaRAID driver for SAS based RAID controllers
4 * 4 *
5 * Copyright (c) 2003-2005 LSI Logic Corporation. 5 * Copyright (c) 2003-2005 LSI Corporation.
6 * 6 *
7 * This program is free software; you can redistribute it and/or 7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License 8 * modify it under the terms of the GNU General Public License
@@ -18,9 +18,9 @@
18/* 18/*
19 * MegaRAID SAS Driver meta data 19 * MegaRAID SAS Driver meta data
20 */ 20 */
21#define MEGASAS_VERSION "00.00.03.10-rc5" 21#define MEGASAS_VERSION "00.00.03.16-rc1"
22#define MEGASAS_RELDATE "May 17, 2007" 22#define MEGASAS_RELDATE "Nov. 07, 2007"
23#define MEGASAS_EXT_VERSION "Thu May 17 10:09:32 PDT 2007" 23#define MEGASAS_EXT_VERSION "Thu. Nov. 07 10:09:32 PDT 2007"
24 24
25/* 25/*
26 * Device IDs 26 * Device IDs
@@ -117,6 +117,7 @@
117#define MR_FLUSH_DISK_CACHE 0x02 117#define MR_FLUSH_DISK_CACHE 0x02
118 118
119#define MR_DCMD_CTRL_SHUTDOWN 0x01050000 119#define MR_DCMD_CTRL_SHUTDOWN 0x01050000
120#define MR_DCMD_HIBERNATE_SHUTDOWN 0x01060000
120#define MR_ENABLE_DRIVE_SPINDOWN 0x01 121#define MR_ENABLE_DRIVE_SPINDOWN 0x01
121 122
122#define MR_DCMD_CTRL_EVENT_GET_INFO 0x01040100 123#define MR_DCMD_CTRL_EVENT_GET_INFO 0x01040100
@@ -570,7 +571,8 @@ struct megasas_ctrl_info {
570#define IS_DMA64 (sizeof(dma_addr_t) == 8) 571#define IS_DMA64 (sizeof(dma_addr_t) == 8)
571 572
572#define MFI_OB_INTR_STATUS_MASK 0x00000002 573#define MFI_OB_INTR_STATUS_MASK 0x00000002
573#define MFI_POLL_TIMEOUT_SECS 10 574#define MFI_POLL_TIMEOUT_SECS 60
575#define MEGASAS_COMPLETION_TIMER_INTERVAL (HZ/10)
574 576
575#define MFI_REPLY_1078_MESSAGE_INTERRUPT 0x80000000 577#define MFI_REPLY_1078_MESSAGE_INTERRUPT 0x80000000
576 578
@@ -1083,13 +1085,15 @@ struct megasas_instance {
1083 struct megasas_cmd **cmd_list; 1085 struct megasas_cmd **cmd_list;
1084 struct list_head cmd_pool; 1086 struct list_head cmd_pool;
1085 spinlock_t cmd_pool_lock; 1087 spinlock_t cmd_pool_lock;
1088 /* used to synch producer, consumer ptrs in dpc */
1089 spinlock_t completion_lock;
1086 struct dma_pool *frame_dma_pool; 1090 struct dma_pool *frame_dma_pool;
1087 struct dma_pool *sense_dma_pool; 1091 struct dma_pool *sense_dma_pool;
1088 1092
1089 struct megasas_evt_detail *evt_detail; 1093 struct megasas_evt_detail *evt_detail;
1090 dma_addr_t evt_detail_h; 1094 dma_addr_t evt_detail_h;
1091 struct megasas_cmd *aen_cmd; 1095 struct megasas_cmd *aen_cmd;
1092 struct semaphore aen_mutex; 1096 struct mutex aen_mutex;
1093 struct semaphore ioctl_sem; 1097 struct semaphore ioctl_sem;
1094 1098
1095 struct Scsi_Host *host; 1099 struct Scsi_Host *host;
@@ -1108,6 +1112,8 @@ struct megasas_instance {
1108 1112
1109 u8 flag; 1113 u8 flag;
1110 unsigned long last_time; 1114 unsigned long last_time;
1115
1116 struct timer_list io_completion_timer;
1111}; 1117};
1112 1118
1113#define MEGASAS_IS_LOGICAL(scp) \ 1119#define MEGASAS_IS_LOGICAL(scp) \