diff options
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.h | 18 |
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) \ |