aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/pmcraid.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/pmcraid.h')
-rw-r--r--drivers/scsi/pmcraid.h23
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
570struct 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 */
565struct pmcraid_cmd { 577struct 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.