Commit d04e62b9 authored by Kevin Barnett's avatar Kevin Barnett Committed by Martin K. Petersen
parent 1faf072c
This diff is collapsed.
...@@ -33,6 +33,29 @@ struct access_method { ...@@ -33,6 +33,29 @@ struct access_method {
unsigned long (*command_completed)(struct ctlr_info *h, u8 q); unsigned long (*command_completed)(struct ctlr_info *h, u8 q);
}; };
/* for SAS hosts and SAS expanders */
struct hpsa_sas_node {
struct device *parent_dev;
struct list_head port_list_head;
};
struct hpsa_sas_port {
struct list_head port_list_entry;
u64 sas_address;
struct sas_port *port;
int next_phy_index;
struct list_head phy_list_head;
struct hpsa_sas_node *parent_node;
struct sas_rphy *rphy;
};
struct hpsa_sas_phy {
struct list_head phy_list_entry;
struct sas_phy *phy;
struct hpsa_sas_port *parent_port;
bool added_to_port;
};
struct hpsa_scsi_dev_t { struct hpsa_scsi_dev_t {
unsigned int devtype; unsigned int devtype;
int bus, target, lun; /* as presented to the OS */ int bus, target, lun; /* as presented to the OS */
...@@ -41,6 +64,7 @@ struct hpsa_scsi_dev_t { ...@@ -41,6 +64,7 @@ struct hpsa_scsi_dev_t {
u8 expose_device; u8 expose_device;
#define RAID_CTLR_LUNID "\0\0\0\0\0\0\0\0" #define RAID_CTLR_LUNID "\0\0\0\0\0\0\0\0"
unsigned char device_id[16]; /* from inquiry pg. 0x83 */ unsigned char device_id[16]; /* from inquiry pg. 0x83 */
u64 sas_address;
unsigned char vendor[8]; /* bytes 8-15 of inquiry data */ unsigned char vendor[8]; /* bytes 8-15 of inquiry data */
unsigned char model[16]; /* bytes 16-31 of inquiry data */ unsigned char model[16]; /* bytes 16-31 of inquiry data */
unsigned char raid_level; /* from inquiry page 0xC1 */ unsigned char raid_level; /* from inquiry page 0xC1 */
...@@ -77,6 +101,7 @@ struct hpsa_scsi_dev_t { ...@@ -77,6 +101,7 @@ struct hpsa_scsi_dev_t {
struct hpsa_scsi_dev_t *phys_disk[RAID_MAP_MAX_ENTRIES]; struct hpsa_scsi_dev_t *phys_disk[RAID_MAP_MAX_ENTRIES];
int nphysical_disks; int nphysical_disks;
int supports_aborts; int supports_aborts;
struct hpsa_sas_port *sas_port;
int external; /* 1-from external array 0-not <0-unknown */ int external; /* 1-from external array 0-not <0-unknown */
}; };
...@@ -134,6 +159,7 @@ struct ctlr_info { ...@@ -134,6 +159,7 @@ struct ctlr_info {
char *product_name; char *product_name;
struct pci_dev *pdev; struct pci_dev *pdev;
u32 board_id; u32 board_id;
u64 sas_address;
void __iomem *vaddr; void __iomem *vaddr;
unsigned long paddr; unsigned long paddr;
int nr_cmds; /* Number of commands allowed on this controller */ int nr_cmds; /* Number of commands allowed on this controller */
...@@ -272,6 +298,7 @@ struct ctlr_info { ...@@ -272,6 +298,7 @@ struct ctlr_info {
wait_queue_head_t event_sync_wait_queue; wait_queue_head_t event_sync_wait_queue;
struct mutex reset_mutex; struct mutex reset_mutex;
u8 reset_in_progress; u8 reset_in_progress;
struct hpsa_sas_node *sas_host;
}; };
struct offline_device_entry { struct offline_device_entry {
......
...@@ -290,6 +290,7 @@ struct SenseSubsystem_info { ...@@ -290,6 +290,7 @@ struct SenseSubsystem_info {
#define BMIC_SET_DIAG_OPTIONS 0xF4 #define BMIC_SET_DIAG_OPTIONS 0xF4
#define BMIC_SENSE_DIAG_OPTIONS 0xF5 #define BMIC_SENSE_DIAG_OPTIONS 0xF5
#define HPSA_DIAG_OPTS_DISABLE_RLD_CACHING 0x40000000 #define HPSA_DIAG_OPTS_DISABLE_RLD_CACHING 0x40000000
#define BMIC_SENSE_SUBSYSTEM_INFORMATION 0x66
/* Command List Structure */ /* Command List Structure */
union SCSI3Addr { union SCSI3Addr {
...@@ -828,5 +829,18 @@ struct bmic_identify_physical_device { ...@@ -828,5 +829,18 @@ struct bmic_identify_physical_device {
u8 padding[112]; u8 padding[112];
}; };
struct bmic_sense_subsystem_info {
u8 primary_slot_number;
u8 reserved[3];
u8 chasis_serial_number[32];
u8 primary_world_wide_id[8];
u8 primary_array_serial_number[32]; /* NULL terminated */
u8 primary_cache_serial_number[32]; /* NULL terminated */
u8 reserved_2[8];
u8 secondary_array_serial_number[32];
u8 secondary_cache_serial_number[32];
u8 pad[332];
};
#pragma pack() #pragma pack()
#endif /* HPSA_CMD_H */ #endif /* HPSA_CMD_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment