Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 812d7dff authored by Emil Tantilov's avatar Emil Tantilov Committed by Jeff Kirsher
Browse files

ixgbe: remove SFP ixfi support



Remove SFP ixfi code since there is no HW that currently supports it.

Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 1fa71252
Loading
Loading
Loading
Loading
+11 −65
Original line number Diff line number Diff line
@@ -1313,7 +1313,7 @@ ixgbe_setup_mac_link_sfp_x550em(struct ixgbe_hw *hw,
				__always_unused bool autoneg_wait_to_complete)
{
	s32 status;
	u16 slice, value;
	u16 reg_slice, reg_val;
	bool setup_linear = false;

	/* Check if SFP module is supported and linear */
@@ -1329,71 +1329,17 @@ ixgbe_setup_mac_link_sfp_x550em(struct ixgbe_hw *hw,
	if (status)
		return status;

	if (!(hw->phy.nw_mng_if_sel & IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE)) {
		/* Configure CS4227 LINE side to 10G SR. */
		slice = IXGBE_CS4227_LINE_SPARE22_MSB + (hw->bus.lan_id << 12);
		value = IXGBE_CS4227_SPEED_10G;
		status = ixgbe_write_i2c_combined_generic(hw, IXGBE_CS4227,
							  slice, value);
		if (status)
			goto i2c_err;

		slice = IXGBE_CS4227_LINE_SPARE24_LSB + (hw->bus.lan_id << 12);
		value = (IXGBE_CS4227_EDC_MODE_SR << 1) | 1;
		status = ixgbe_write_i2c_combined_generic(hw, IXGBE_CS4227,
							  slice, value);
		if (status)
			goto i2c_err;

		/* Configure CS4227 for HOST connection rate then type. */
		slice = IXGBE_CS4227_HOST_SPARE22_MSB + (hw->bus.lan_id << 12);
		value = speed & IXGBE_LINK_SPEED_10GB_FULL ?
			IXGBE_CS4227_SPEED_10G : IXGBE_CS4227_SPEED_1G;
		status = ixgbe_write_i2c_combined_generic(hw, IXGBE_CS4227,
							  slice, value);
		if (status)
			goto i2c_err;

		slice = IXGBE_CS4227_HOST_SPARE24_LSB + (hw->bus.lan_id << 12);
		if (setup_linear)
			value = (IXGBE_CS4227_EDC_MODE_CX1 << 1) | 1;
		else
			value = (IXGBE_CS4227_EDC_MODE_SR << 1) | 1;
		status = ixgbe_write_i2c_combined_generic(hw, IXGBE_CS4227,
							  slice, value);
		if (status)
			goto i2c_err;

		/* Setup XFI internal link. */
		status = ixgbe_setup_ixfi_x550em(hw, &speed);
		if (status) {
			hw_dbg(hw, "setup_ixfi failed with %d\n", status);
			return status;
		}
	} else {
	/* Configure internal PHY for KR/KX. */
		status = ixgbe_setup_kr_speed_x550em(hw, speed);
		if (status) {
			hw_dbg(hw, "setup_kr_speed failed with %d\n", status);
			return status;
		}
	ixgbe_setup_kr_speed_x550em(hw, speed);

	/* Configure CS4227 LINE side to proper mode. */
		slice = IXGBE_CS4227_LINE_SPARE24_LSB + (hw->bus.lan_id << 12);
	reg_slice = IXGBE_CS4227_LINE_SPARE24_LSB + (hw->bus.lan_id << 12);
	if (setup_linear)
			value = (IXGBE_CS4227_EDC_MODE_CX1 << 1) | 1;
		reg_val = (IXGBE_CS4227_EDC_MODE_CX1 << 1) | 0x1;
	else
			value = (IXGBE_CS4227_EDC_MODE_SR << 1) | 1;
		reg_val = (IXGBE_CS4227_EDC_MODE_SR << 1) | 0x1;
	status = ixgbe_write_i2c_combined_generic(hw, IXGBE_CS4227,
							  slice, value);
		if (status)
			goto i2c_err;
	}

	return 0;

i2c_err:
	hw_dbg(hw, "combined i2c access failed with %d\n", status);
						  reg_slice, reg_val);
	return status;
}