aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_transport_sas.h
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@steeleye.com>2006-09-06 20:25:22 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-09-07 16:16:44 -0400
commitd24e1eeb3a16e4944288c2f3bf082e1513f4b425 (patch)
tree395812a03c26a8693c23362eb403048164352dd6 /include/scsi/scsi_transport_sas.h
parent88edf74610bd894b93438f389688bc8b4a2d3414 (diff)
[SCSI] scsi_transport_sas: make minimum and maximum linkrate settable quantities
According to SPEC, the minimum_linkrate and maximum_linkrate should be settable by the user. This patch introduces a callback that allows the sas class to pass these settings on to the driver. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi/scsi_transport_sas.h')
-rw-r--r--include/scsi/scsi_transport_sas.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h
index 87de518960c1..53024377f3b8 100644
--- a/include/scsi/scsi_transport_sas.h
+++ b/include/scsi/scsi_transport_sas.h
@@ -150,12 +150,18 @@ struct sas_port {
150#define transport_class_to_sas_port(cdev) \ 150#define transport_class_to_sas_port(cdev) \
151 dev_to_sas_port((cdev)->dev) 151 dev_to_sas_port((cdev)->dev)
152 152
153struct sas_phy_linkrates {
154 enum sas_linkrate maximum_linkrate;
155 enum sas_linkrate minimum_linkrate;
156};
157
153/* The functions by which the transport class and the driver communicate */ 158/* The functions by which the transport class and the driver communicate */
154struct sas_function_template { 159struct sas_function_template {
155 int (*get_linkerrors)(struct sas_phy *); 160 int (*get_linkerrors)(struct sas_phy *);
156 int (*get_enclosure_identifier)(struct sas_rphy *, u64 *); 161 int (*get_enclosure_identifier)(struct sas_rphy *, u64 *);
157 int (*get_bay_identifier)(struct sas_rphy *); 162 int (*get_bay_identifier)(struct sas_rphy *);
158 int (*phy_reset)(struct sas_phy *, int); 163 int (*phy_reset)(struct sas_phy *, int);
164 int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *);
159}; 165};
160 166
161 167