Commit 37347efa authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'r8169-small-improvements'



Heiner Kallweit says:

====================
r8169: small improvements

Series with small improvements.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents f4aa8012 76719ee2
Loading
Loading
Loading
Loading
+10 −13
Original line number Original line Diff line number Diff line
@@ -132,7 +132,7 @@ enum mac_version {
	RTL_GIGA_MAC_VER_49,
	RTL_GIGA_MAC_VER_49,
	RTL_GIGA_MAC_VER_50,
	RTL_GIGA_MAC_VER_50,
	RTL_GIGA_MAC_VER_51,
	RTL_GIGA_MAC_VER_51,
	RTL_GIGA_MAC_NONE   = 0xff,
	RTL_GIGA_MAC_NONE
};
};


#define JUMBO_1K	ETH_DATA_LEN
#define JUMBO_1K	ETH_DATA_LEN
@@ -639,7 +639,7 @@ struct rtl8169_private {
	struct phy_device *phydev;
	struct phy_device *phydev;
	struct napi_struct napi;
	struct napi_struct napi;
	u32 msg_enable;
	u32 msg_enable;
	u16 mac_version;
	enum mac_version mac_version;
	u32 cur_rx; /* Index into the Rx descriptor buffer of next Rx pkt. */
	u32 cur_rx; /* Index into the Rx descriptor buffer of next Rx pkt. */
	u32 cur_tx; /* Index into the Tx descriptor buffer of next Rx pkt. */
	u32 cur_tx; /* Index into the Tx descriptor buffer of next Rx pkt. */
	u32 dirty_tx;
	u32 dirty_tx;
@@ -4203,6 +4203,8 @@ static void r8168_pll_power_down(struct rtl8169_private *tp)
		rtl_eri_clear_bits(tp, 0x1a8, ERIAR_MASK_1111, 0xfc000000);
		rtl_eri_clear_bits(tp, 0x1a8, ERIAR_MASK_1111, 0xfc000000);
		RTL_W8(tp, PMCH, RTL_R8(tp, PMCH) & ~0x80);
		RTL_W8(tp, PMCH, RTL_R8(tp, PMCH) & ~0x80);
		break;
		break;
	default:
		break;
	}
	}
}
}


@@ -4230,6 +4232,8 @@ static void r8168_pll_power_up(struct rtl8169_private *tp)
		RTL_W8(tp, PMCH, RTL_R8(tp, PMCH) | 0xc0);
		RTL_W8(tp, PMCH, RTL_R8(tp, PMCH) | 0xc0);
		rtl_eri_set_bits(tp, 0x1a8, ERIAR_MASK_1111, 0xfc000000);
		rtl_eri_set_bits(tp, 0x1a8, ERIAR_MASK_1111, 0xfc000000);
		break;
		break;
	default:
		break;
	}
	}


	phy_resume(tp->phydev);
	phy_resume(tp->phydev);
@@ -7043,25 +7047,18 @@ static void rtl_hw_init_8168g(struct rtl8169_private *tp)
	data |= (1 << 15);
	data |= (1 << 15);
	r8168_mac_ocp_write(tp, 0xe8de, data);
	r8168_mac_ocp_write(tp, 0xe8de, data);


	if (!rtl_udelay_loop_wait_high(tp, &rtl_link_list_ready_cond, 100, 42))
	rtl_udelay_loop_wait_high(tp, &rtl_link_list_ready_cond, 100, 42);
		return;
}

static void rtl_hw_init_8168ep(struct rtl8169_private *tp)
{
	rtl8168ep_stop_cmac(tp);
	rtl_hw_init_8168g(tp);
}
}


static void rtl_hw_initialize(struct rtl8169_private *tp)
static void rtl_hw_initialize(struct rtl8169_private *tp)
{
{
	switch (tp->mac_version) {
	switch (tp->mac_version) {
	case RTL_GIGA_MAC_VER_49 ... RTL_GIGA_MAC_VER_51:
		rtl8168ep_stop_cmac(tp);
		/* fall through */
	case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
	case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
		rtl_hw_init_8168g(tp);
		rtl_hw_init_8168g(tp);
		break;
		break;
	case RTL_GIGA_MAC_VER_49 ... RTL_GIGA_MAC_VER_51:
		rtl_hw_init_8168ep(tp);
		break;
	default:
	default:
		break;
		break;
	}
	}