diff options
Diffstat (limited to 'drivers/scsi/pmcraid.h')
-rw-r--r-- | drivers/scsi/pmcraid.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/drivers/scsi/pmcraid.h b/drivers/scsi/pmcraid.h index 6cfa0145a1d7..1134279604e8 100644 --- a/drivers/scsi/pmcraid.h +++ b/drivers/scsi/pmcraid.h | |||
@@ -42,7 +42,7 @@ | |||
42 | */ | 42 | */ |
43 | #define PMCRAID_DRIVER_NAME "PMC MaxRAID" | 43 | #define PMCRAID_DRIVER_NAME "PMC MaxRAID" |
44 | #define PMCRAID_DEVFILE "pmcsas" | 44 | #define PMCRAID_DEVFILE "pmcsas" |
45 | #define PMCRAID_DRIVER_VERSION "2.0.2" | 45 | #define PMCRAID_DRIVER_VERSION "2.0.3" |
46 | #define PMCRAID_DRIVER_DATE __DATE__ | 46 | #define PMCRAID_DRIVER_DATE __DATE__ |
47 | 47 | ||
48 | #define PMCRAID_FW_VERSION_1 0x002 | 48 | #define PMCRAID_FW_VERSION_1 0x002 |
@@ -184,6 +184,7 @@ | |||
184 | #define PMCRAID_IOASC_IR_INVALID_RESOURCE_HANDLE 0x05250000 | 184 | #define PMCRAID_IOASC_IR_INVALID_RESOURCE_HANDLE 0x05250000 |
185 | #define PMCRAID_IOASC_AC_TERMINATED_BY_HOST 0x0B5A0000 | 185 | #define PMCRAID_IOASC_AC_TERMINATED_BY_HOST 0x0B5A0000 |
186 | #define PMCRAID_IOASC_UA_BUS_WAS_RESET 0x06290000 | 186 | #define PMCRAID_IOASC_UA_BUS_WAS_RESET 0x06290000 |
187 | #define PMCRAID_IOASC_TIME_STAMP_OUT_OF_SYNC 0x06908B00 | ||
187 | #define PMCRAID_IOASC_UA_BUS_WAS_RESET_BY_OTHER 0x06298000 | 188 | #define PMCRAID_IOASC_UA_BUS_WAS_RESET_BY_OTHER 0x06298000 |
188 | 189 | ||
189 | /* Driver defined IOASCs */ | 190 | /* Driver defined IOASCs */ |
@@ -561,6 +562,17 @@ struct pmcraid_inquiry_data { | |||
561 | __u8 reserved3[16]; | 562 | __u8 reserved3[16]; |
562 | }; | 563 | }; |
563 | 564 | ||
565 | #define PMCRAID_TIMESTAMP_LEN 12 | ||
566 | #define PMCRAID_REQ_TM_STR_LEN 6 | ||
567 | #define PMCRAID_SCSI_SET_TIMESTAMP 0xA4 | ||
568 | #define PMCRAID_SCSI_SERVICE_ACTION 0x0F | ||
569 | |||
570 | struct pmcraid_timestamp_data { | ||
571 | __u8 reserved1[4]; | ||
572 | __u8 timestamp[PMCRAID_REQ_TM_STR_LEN]; /* current time value */ | ||
573 | __u8 reserved2[2]; | ||
574 | }; | ||
575 | |||
564 | /* pmcraid_cmd - LLD representation of SCSI command */ | 576 | /* pmcraid_cmd - LLD representation of SCSI command */ |
565 | struct pmcraid_cmd { | 577 | struct pmcraid_cmd { |
566 | 578 | ||
@@ -568,7 +580,6 @@ struct pmcraid_cmd { | |||
568 | struct pmcraid_control_block *ioa_cb; | 580 | struct pmcraid_control_block *ioa_cb; |
569 | dma_addr_t ioa_cb_bus_addr; | 581 | dma_addr_t ioa_cb_bus_addr; |
570 | dma_addr_t dma_handle; | 582 | dma_addr_t dma_handle; |
571 | u8 *sense_buffer; | ||
572 | 583 | ||
573 | /* pointer to mid layer structure of SCSI commands */ | 584 | /* pointer to mid layer structure of SCSI commands */ |
574 | struct scsi_cmnd *scsi_cmd; | 585 | struct scsi_cmnd *scsi_cmd; |
@@ -705,6 +716,9 @@ struct pmcraid_instance { | |||
705 | struct pmcraid_inquiry_data *inq_data; | 716 | struct pmcraid_inquiry_data *inq_data; |
706 | dma_addr_t inq_data_baddr; | 717 | dma_addr_t inq_data_baddr; |
707 | 718 | ||
719 | struct pmcraid_timestamp_data *timestamp_data; | ||
720 | dma_addr_t timestamp_data_baddr; | ||
721 | |||
708 | /* size of configuration table entry, varies based on the firmware */ | 722 | /* size of configuration table entry, varies based on the firmware */ |
709 | u32 config_table_entry_size; | 723 | u32 config_table_entry_size; |
710 | 724 | ||
@@ -791,6 +805,7 @@ struct pmcraid_instance { | |||
791 | #define SHUTDOWN_NONE 0x0 | 805 | #define SHUTDOWN_NONE 0x0 |
792 | #define SHUTDOWN_NORMAL 0x1 | 806 | #define SHUTDOWN_NORMAL 0x1 |
793 | #define SHUTDOWN_ABBREV 0x2 | 807 | #define SHUTDOWN_ABBREV 0x2 |
808 | u32 timestamp_error:1; /* indicate set timestamp for out of sync */ | ||
794 | 809 | ||
795 | }; | 810 | }; |
796 | 811 | ||
@@ -1056,10 +1071,10 @@ struct pmcraid_passthrough_ioctl_buffer { | |||
1056 | #define PMCRAID_PASSTHROUGH_IOCTL 'F' | 1071 | #define PMCRAID_PASSTHROUGH_IOCTL 'F' |
1057 | 1072 | ||
1058 | #define DRV_IOCTL(n, size) \ | 1073 | #define DRV_IOCTL(n, size) \ |
1059 | _IOC(_IOC_READ|_IOC_WRITE, PMCRAID_DRIVER_IOCTL, (n), (size)) | 1074 | _IOC(_IOC_READ|_IOC_WRITE, PMCRAID_DRIVER_IOCTL, (n), (size)) |
1060 | 1075 | ||
1061 | #define FMW_IOCTL(n, size) \ | 1076 | #define FMW_IOCTL(n, size) \ |
1062 | _IOC(_IOC_READ|_IOC_WRITE, PMCRAID_PASSTHROUGH_IOCTL, (n), (size)) | 1077 | _IOC(_IOC_READ|_IOC_WRITE, PMCRAID_PASSTHROUGH_IOCTL, (n), (size)) |
1063 | 1078 | ||
1064 | /* | 1079 | /* |
1065 | * _ARGSIZE: macro that gives size of the argument type passed to an IOCTL cmd. | 1080 | * _ARGSIZE: macro that gives size of the argument type passed to an IOCTL cmd. |