|
@@ -4278,4 +4278,23 @@ void ixgbe_set_soft_rate_select_speed(struct ixgbe_hw *hw,
|
|
|
hw_dbg(hw, "Failed to write Rx Rate Select RS0\n");
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ /* Set RS1 */
|
|
|
+ status = hw->phy.ops.read_i2c_byte(hw, IXGBE_SFF_SFF_8472_ESCB,
|
|
|
+ IXGBE_I2C_EEPROM_DEV_ADDR2,
|
|
|
+ &eeprom_data);
|
|
|
+ if (status) {
|
|
|
+ hw_dbg(hw, "Failed to read Rx Rate Select RS1\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ eeprom_data = (eeprom_data & ~IXGBE_SFF_SOFT_RS_SELECT_MASK) | rs;
|
|
|
+
|
|
|
+ status = hw->phy.ops.write_i2c_byte(hw, IXGBE_SFF_SFF_8472_ESCB,
|
|
|
+ IXGBE_I2C_EEPROM_DEV_ADDR2,
|
|
|
+ eeprom_data);
|
|
|
+ if (status) {
|
|
|
+ hw_dbg(hw, "Failed to write Rx Rate Select RS1\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|