diff options
Diffstat (limited to 'drivers/scsi/aacraid/aacraid.h')
-rw-r--r-- | drivers/scsi/aacraid/aacraid.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h index ffb587817efc..3fcf62724fad 100644 --- a/drivers/scsi/aacraid/aacraid.h +++ b/drivers/scsi/aacraid/aacraid.h | |||
@@ -12,7 +12,7 @@ | |||
12 | *----------------------------------------------------------------------------*/ | 12 | *----------------------------------------------------------------------------*/ |
13 | 13 | ||
14 | #ifndef AAC_DRIVER_BUILD | 14 | #ifndef AAC_DRIVER_BUILD |
15 | # define AAC_DRIVER_BUILD 28000 | 15 | # define AAC_DRIVER_BUILD 28900 |
16 | # define AAC_DRIVER_BRANCH "-ms" | 16 | # define AAC_DRIVER_BRANCH "-ms" |
17 | #endif | 17 | #endif |
18 | #define MAXIMUM_NUM_CONTAINERS 32 | 18 | #define MAXIMUM_NUM_CONTAINERS 32 |
@@ -756,8 +756,16 @@ struct src_mu_registers { | |||
756 | 756 | ||
757 | struct src_registers { | 757 | struct src_registers { |
758 | struct src_mu_registers MUnit; /* 00h - c7h */ | 758 | struct src_mu_registers MUnit; /* 00h - c7h */ |
759 | __le32 reserved1[130790]; /* c8h - 7fc5fh */ | 759 | union { |
760 | struct src_inbound IndexRegs; /* 7fc60h */ | 760 | struct { |
761 | __le32 reserved1[130790]; /* c8h - 7fc5fh */ | ||
762 | struct src_inbound IndexRegs; /* 7fc60h */ | ||
763 | } tupelo; | ||
764 | struct { | ||
765 | __le32 reserved1[974]; /* c8h - fffh */ | ||
766 | struct src_inbound IndexRegs; /* 1000h */ | ||
767 | } denali; | ||
768 | } u; | ||
761 | }; | 769 | }; |
762 | 770 | ||
763 | #define src_readb(AEP, CSR) readb(&((AEP)->regs.src.bar0->CSR)) | 771 | #define src_readb(AEP, CSR) readb(&((AEP)->regs.src.bar0->CSR)) |
@@ -999,6 +1007,10 @@ struct aac_bus_info_response { | |||
999 | #define AAC_OPT_NEW_COMM cpu_to_le32(1<<17) | 1007 | #define AAC_OPT_NEW_COMM cpu_to_le32(1<<17) |
1000 | #define AAC_OPT_NEW_COMM_64 cpu_to_le32(1<<18) | 1008 | #define AAC_OPT_NEW_COMM_64 cpu_to_le32(1<<18) |
1001 | #define AAC_OPT_NEW_COMM_TYPE1 cpu_to_le32(1<<28) | 1009 | #define AAC_OPT_NEW_COMM_TYPE1 cpu_to_le32(1<<28) |
1010 | #define AAC_OPT_NEW_COMM_TYPE2 cpu_to_le32(1<<29) | ||
1011 | #define AAC_OPT_NEW_COMM_TYPE3 cpu_to_le32(1<<30) | ||
1012 | #define AAC_OPT_NEW_COMM_TYPE4 cpu_to_le32(1<<31) | ||
1013 | |||
1002 | 1014 | ||
1003 | struct aac_dev | 1015 | struct aac_dev |
1004 | { | 1016 | { |
@@ -1076,6 +1088,8 @@ struct aac_dev | |||
1076 | # define AAC_MIN_FOOTPRINT_SIZE 8192 | 1088 | # define AAC_MIN_FOOTPRINT_SIZE 8192 |
1077 | # define AAC_MIN_SRC_BAR0_SIZE 0x400000 | 1089 | # define AAC_MIN_SRC_BAR0_SIZE 0x400000 |
1078 | # define AAC_MIN_SRC_BAR1_SIZE 0x800 | 1090 | # define AAC_MIN_SRC_BAR1_SIZE 0x800 |
1091 | # define AAC_MIN_SRCV_BAR0_SIZE 0x100000 | ||
1092 | # define AAC_MIN_SRCV_BAR1_SIZE 0x400 | ||
1079 | #endif | 1093 | #endif |
1080 | union | 1094 | union |
1081 | { | 1095 | { |
@@ -1116,7 +1130,10 @@ struct aac_dev | |||
1116 | u8 msi; | 1130 | u8 msi; |
1117 | int management_fib_count; | 1131 | int management_fib_count; |
1118 | spinlock_t manage_lock; | 1132 | spinlock_t manage_lock; |
1119 | 1133 | spinlock_t sync_lock; | |
1134 | int sync_mode; | ||
1135 | struct fib *sync_fib; | ||
1136 | struct list_head sync_fib_list; | ||
1120 | }; | 1137 | }; |
1121 | 1138 | ||
1122 | #define aac_adapter_interrupt(dev) \ | 1139 | #define aac_adapter_interrupt(dev) \ |
@@ -1163,6 +1180,7 @@ struct aac_dev | |||
1163 | 1180 | ||
1164 | #define FIB_CONTEXT_FLAG_TIMED_OUT (0x00000001) | 1181 | #define FIB_CONTEXT_FLAG_TIMED_OUT (0x00000001) |
1165 | #define FIB_CONTEXT_FLAG (0x00000002) | 1182 | #define FIB_CONTEXT_FLAG (0x00000002) |
1183 | #define FIB_CONTEXT_FLAG_WAIT (0x00000004) | ||
1166 | 1184 | ||
1167 | /* | 1185 | /* |
1168 | * Define the command values | 1186 | * Define the command values |
@@ -1970,6 +1988,7 @@ int aac_rkt_init(struct aac_dev *dev); | |||
1970 | int aac_nark_init(struct aac_dev *dev); | 1988 | int aac_nark_init(struct aac_dev *dev); |
1971 | int aac_sa_init(struct aac_dev *dev); | 1989 | int aac_sa_init(struct aac_dev *dev); |
1972 | int aac_src_init(struct aac_dev *dev); | 1990 | int aac_src_init(struct aac_dev *dev); |
1991 | int aac_srcv_init(struct aac_dev *dev); | ||
1973 | int aac_queue_get(struct aac_dev * dev, u32 * index, u32 qid, struct hw_fib * hw_fib, int wait, struct fib * fibptr, unsigned long *nonotify); | 1992 | int aac_queue_get(struct aac_dev * dev, u32 * index, u32 qid, struct hw_fib * hw_fib, int wait, struct fib * fibptr, unsigned long *nonotify); |
1974 | unsigned int aac_response_normal(struct aac_queue * q); | 1993 | unsigned int aac_response_normal(struct aac_queue * q); |
1975 | unsigned int aac_command_normal(struct aac_queue * q); | 1994 | unsigned int aac_command_normal(struct aac_queue * q); |