Inform libsas of the linkrate of direct attached links. Reported-by: Haavard Skinnemoen <hskinnemoen@gmail.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
@@ -72,6 +72,9 @@
struct scic_sds_phy;
struct scic_sds_port;
+
+enum sas_linkrate sci_phy_linkrate(struct scic_sds_phy *sci_phy);
/**
* struct scic_phy_properties - This structure defines the properties common to
* all phys that can be retrieved.
@@ -73,6 +73,11 @@
/* Maximum arbitration wait time in micro-seconds */
#define SCIC_SDS_PHY_MAX_ARBITRATION_WAIT_TIME (700)
+enum sas_linkrate sci_phy_linkrate(struct scic_sds_phy *sci_phy)
+{
+ return sci_phy->max_negotiated_speed;
+}
/*
* *****************************************************************************
* * SCIC SDS PHY Internal Methods
@@ -263,6 +263,8 @@ void isci_port_link_up(
success = false;
}
+ isci_phy->sas_phy.phy->negotiated_linkrate = sci_phy_linkrate(phy);
spin_unlock_irqrestore(&isci_phy->sas_phy.frame_rcvd_lock, flags);
/* Notify libsas that we have an address frame, if indeed