summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci/core/scic_phy.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/isci/core/scic_phy.h')
-rw-r--r--drivers/scsi/isci/core/scic_phy.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/scsi/isci/core/scic_phy.h b/drivers/scsi/isci/core/scic_phy.h
index 4e4a6b1f9953..8fcd3a4c5744 100644
--- a/drivers/scsi/isci/core/scic_phy.h
+++ b/drivers/scsi/isci/core/scic_phy.h
@@ -75,6 +75,34 @@ struct scic_sds_port;
enum sas_linkrate sci_phy_linkrate(struct scic_sds_phy *sci_phy);
+struct scic_phy_cap {
+ union {
+ struct {
+ /*
+ * The SAS specification indicates the start bit shall
+ * always be set to
+ * 1. This implementation will have the start bit set
+ * to 0 if the PHY CAPABILITIES were either not
+ * received or speed negotiation failed.
+ */
+ u8 start:1;
+ u8 tx_ssc_type:1;
+ u8 res1:2;
+ u8 req_logical_linkrate:4;
+
+ u32 gen1_no_ssc:1;
+ u32 gen1_ssc:1;
+ u32 gen2_no_ssc:1;
+ u32 gen2_ssc:1;
+ u32 gen3_no_ssc:1;
+ u32 gen3_ssc:1;
+ u32 res2:17;
+ u32 parity:1;
+ };
+ u32 all;
+ };
+} __packed;
+
/**
* struct scic_phy_properties - This structure defines the properties common to
* all phys that can be retrieved.
@@ -125,7 +153,7 @@ struct scic_sas_phy_properties {
* This field delineates the Phy capabilities structure received
* from the remote end point.
*/
- struct sas_capabilities received_capabilities;
+ struct scic_phy_cap rcvd_cap;
};