diff options
author | James Bottomley <James.Bottomley@suse.de> | 2010-01-18 11:14:51 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-02-08 18:15:19 -0500 |
commit | 0f88009d5cfae890bd3466126d1622ad4f16b798 (patch) | |
tree | 78373dea3f4682db03567acf3dfdc914e4cd6c25 /include/scsi | |
parent | 8605c46c171f02859fb3a32655fa226ce446c6ec (diff) |
[SCSI] scsi_transport_sas: add support for transport layer retries (TLR)
The mpt2sas driver wants to use transport layer retries (TLR) so the
simplest thing to do seems to be to add the enabling flags and checks
to the SAS transport class, since they're a SAS specific protocol
feature.
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_transport_sas.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h index 61ad3594aad6..ffeebc34a4f7 100644 --- a/include/scsi/scsi_transport_sas.h +++ b/include/scsi/scsi_transport_sas.h | |||
@@ -107,6 +107,8 @@ struct sas_end_device { | |||
107 | struct sas_rphy rphy; | 107 | struct sas_rphy rphy; |
108 | /* flags */ | 108 | /* flags */ |
109 | unsigned ready_led_meaning:1; | 109 | unsigned ready_led_meaning:1; |
110 | unsigned tlr_supported:1; | ||
111 | unsigned tlr_enabled:1; | ||
110 | /* parameters */ | 112 | /* parameters */ |
111 | u16 I_T_nexus_loss_timeout; | 113 | u16 I_T_nexus_loss_timeout; |
112 | u16 initiator_response_timeout; | 114 | u16 initiator_response_timeout; |
@@ -181,6 +183,11 @@ extern int sas_phy_add(struct sas_phy *); | |||
181 | extern void sas_phy_delete(struct sas_phy *); | 183 | extern void sas_phy_delete(struct sas_phy *); |
182 | extern int scsi_is_sas_phy(const struct device *); | 184 | extern int scsi_is_sas_phy(const struct device *); |
183 | 185 | ||
186 | unsigned int sas_tlr_supported(struct scsi_device *); | ||
187 | unsigned int sas_is_tlr_enabled(struct scsi_device *); | ||
188 | void sas_disable_tlr(struct scsi_device *); | ||
189 | void sas_enable_tlr(struct scsi_device *); | ||
190 | |||
184 | extern struct sas_rphy *sas_end_device_alloc(struct sas_port *); | 191 | extern struct sas_rphy *sas_end_device_alloc(struct sas_port *); |
185 | extern struct sas_rphy *sas_expander_alloc(struct sas_port *, enum sas_device_type); | 192 | extern struct sas_rphy *sas_expander_alloc(struct sas_port *, enum sas_device_type); |
186 | void sas_rphy_free(struct sas_rphy *); | 193 | void sas_rphy_free(struct sas_rphy *); |