aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_transport_sas.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scsi/scsi_transport_sas.h')
-rw-r--r--include/scsi/scsi_transport_sas.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h
index 9aedc19820b0..abdfd2e27dd7 100644
--- a/include/scsi/scsi_transport_sas.h
+++ b/include/scsi/scsi_transport_sas.h
@@ -7,7 +7,7 @@
7 7
8struct scsi_transport_template; 8struct scsi_transport_template;
9struct sas_rphy; 9struct sas_rphy;
10 10struct request;
11 11
12enum sas_device_type { 12enum sas_device_type {
13 SAS_PHY_UNUSED, 13 SAS_PHY_UNUSED,
@@ -23,6 +23,12 @@ enum sas_protocol {
23 SAS_PROTOCOL_SSP = 0x08, 23 SAS_PROTOCOL_SSP = 0x08,
24}; 24};
25 25
26static inline int sas_protocol_ata(enum sas_protocol proto)
27{
28 return ((proto & SAS_PROTOCOL_SATA) ||
29 (proto & SAS_PROTOCOL_STP))? 1 : 0;
30}
31
26enum sas_linkrate { 32enum sas_linkrate {
27 /* These Values are defined in the SAS standard */ 33 /* These Values are defined in the SAS standard */
28 SAS_LINK_RATE_UNKNOWN = 0, 34 SAS_LINK_RATE_UNKNOWN = 0,
@@ -85,10 +91,12 @@ struct sas_phy {
85#define phy_to_shost(phy) \ 91#define phy_to_shost(phy) \
86 dev_to_shost((phy)->dev.parent) 92 dev_to_shost((phy)->dev.parent)
87 93
94struct request_queue;
88struct sas_rphy { 95struct sas_rphy {
89 struct device dev; 96 struct device dev;
90 struct sas_identify identify; 97 struct sas_identify identify;
91 struct list_head list; 98 struct list_head list;
99 struct request_queue *q;
92 u32 scsi_target_id; 100 u32 scsi_target_id;
93}; 101};
94 102
@@ -166,6 +174,7 @@ struct sas_function_template {
166 int (*phy_reset)(struct sas_phy *, int); 174 int (*phy_reset)(struct sas_phy *, int);
167 int (*phy_enable)(struct sas_phy *, int); 175 int (*phy_enable)(struct sas_phy *, int);
168 int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *); 176 int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *);
177 int (*smp_handler)(struct Scsi_Host *, struct sas_rphy *, struct request *);
169}; 178};
170 179
171 180