mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 17:41:44 +00:00
r8169: sync PCIe PHY init with vendor driver 8.047.01
Synchronize PCIe PHY initialization with vendor driver version 8.047.01. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ef712ede35
commit
a7a92cf815
@ -4415,7 +4415,7 @@ static void rtl_hw_start_8168c_2(struct rtl8169_private *tp)
|
||||
{
|
||||
static const struct ephy_info e_info_8168c_2[] = {
|
||||
{ 0x01, 0, 0x0001 },
|
||||
{ 0x03, 0x0400, 0x0220 }
|
||||
{ 0x03, 0x0400, 0x0020 }
|
||||
};
|
||||
|
||||
rtl_set_def_aspm_entry_latency(tp);
|
||||
@ -4462,7 +4462,8 @@ static void rtl_hw_start_8168d_4(struct rtl8169_private *tp)
|
||||
static const struct ephy_info e_info_8168d_4[] = {
|
||||
{ 0x0b, 0x0000, 0x0048 },
|
||||
{ 0x19, 0x0020, 0x0050 },
|
||||
{ 0x0c, 0x0100, 0x0020 }
|
||||
{ 0x0c, 0x0100, 0x0020 },
|
||||
{ 0x10, 0x0004, 0x0000 },
|
||||
};
|
||||
|
||||
rtl_set_def_aspm_entry_latency(tp);
|
||||
@ -4512,7 +4513,9 @@ static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)
|
||||
{
|
||||
static const struct ephy_info e_info_8168e_2[] = {
|
||||
{ 0x09, 0x0000, 0x0080 },
|
||||
{ 0x19, 0x0000, 0x0224 }
|
||||
{ 0x19, 0x0000, 0x0224 },
|
||||
{ 0x00, 0x0000, 0x0004 },
|
||||
{ 0x0c, 0x3df0, 0x0200 },
|
||||
};
|
||||
|
||||
rtl_set_def_aspm_entry_latency(tp);
|
||||
@ -4574,7 +4577,9 @@ static void rtl_hw_start_8168f_1(struct rtl8169_private *tp)
|
||||
{ 0x06, 0x00c0, 0x0020 },
|
||||
{ 0x08, 0x0001, 0x0002 },
|
||||
{ 0x09, 0x0000, 0x0080 },
|
||||
{ 0x19, 0x0000, 0x0224 }
|
||||
{ 0x19, 0x0000, 0x0224 },
|
||||
{ 0x00, 0x0000, 0x0004 },
|
||||
{ 0x0c, 0x3df0, 0x0200 },
|
||||
};
|
||||
|
||||
rtl_hw_start_8168f(tp);
|
||||
@ -4589,8 +4594,9 @@ static void rtl_hw_start_8411(struct rtl8169_private *tp)
|
||||
static const struct ephy_info e_info_8168f_1[] = {
|
||||
{ 0x06, 0x00c0, 0x0020 },
|
||||
{ 0x0f, 0xffff, 0x5200 },
|
||||
{ 0x1e, 0x0000, 0x4000 },
|
||||
{ 0x19, 0x0000, 0x0224 }
|
||||
{ 0x19, 0x0000, 0x0224 },
|
||||
{ 0x00, 0x0000, 0x0004 },
|
||||
{ 0x0c, 0x3df0, 0x0200 },
|
||||
};
|
||||
|
||||
rtl_hw_start_8168f(tp);
|
||||
@ -4629,8 +4635,8 @@ static void rtl_hw_start_8168g(struct rtl8169_private *tp)
|
||||
static void rtl_hw_start_8168g_1(struct rtl8169_private *tp)
|
||||
{
|
||||
static const struct ephy_info e_info_8168g_1[] = {
|
||||
{ 0x00, 0x0000, 0x0008 },
|
||||
{ 0x0c, 0x37d0, 0x0820 },
|
||||
{ 0x00, 0x0008, 0x0000 },
|
||||
{ 0x0c, 0x3ff0, 0x0820 },
|
||||
{ 0x1e, 0x0000, 0x0001 },
|
||||
{ 0x19, 0x8000, 0x0000 }
|
||||
};
|
||||
@ -4646,10 +4652,15 @@ static void rtl_hw_start_8168g_1(struct rtl8169_private *tp)
|
||||
static void rtl_hw_start_8168g_2(struct rtl8169_private *tp)
|
||||
{
|
||||
static const struct ephy_info e_info_8168g_2[] = {
|
||||
{ 0x00, 0x0000, 0x0008 },
|
||||
{ 0x0c, 0x3df0, 0x0200 },
|
||||
{ 0x19, 0xffff, 0xfc00 },
|
||||
{ 0x1e, 0xffff, 0x20eb }
|
||||
{ 0x00, 0x0008, 0x0000 },
|
||||
{ 0x0c, 0x3ff0, 0x0820 },
|
||||
{ 0x19, 0xffff, 0x7c00 },
|
||||
{ 0x1e, 0xffff, 0x20eb },
|
||||
{ 0x0d, 0xffff, 0x1666 },
|
||||
{ 0x00, 0xffff, 0x10a3 },
|
||||
{ 0x06, 0xffff, 0xf050 },
|
||||
{ 0x04, 0x0000, 0x0010 },
|
||||
{ 0x1d, 0x4000, 0x0000 },
|
||||
};
|
||||
|
||||
rtl_hw_start_8168g(tp);
|
||||
@ -4663,11 +4674,16 @@ static void rtl_hw_start_8168g_2(struct rtl8169_private *tp)
|
||||
static void rtl_hw_start_8411_2(struct rtl8169_private *tp)
|
||||
{
|
||||
static const struct ephy_info e_info_8411_2[] = {
|
||||
{ 0x00, 0x0000, 0x0008 },
|
||||
{ 0x0c, 0x3df0, 0x0200 },
|
||||
{ 0x0f, 0xffff, 0x5200 },
|
||||
{ 0x19, 0x0020, 0x0000 },
|
||||
{ 0x1e, 0x0000, 0x2000 }
|
||||
{ 0x00, 0x0008, 0x0000 },
|
||||
{ 0x0c, 0x37d0, 0x0820 },
|
||||
{ 0x1e, 0x0000, 0x0001 },
|
||||
{ 0x19, 0x8021, 0x0000 },
|
||||
{ 0x1e, 0x0000, 0x2000 },
|
||||
{ 0x0d, 0x0100, 0x0200 },
|
||||
{ 0x00, 0x0000, 0x0080 },
|
||||
{ 0x06, 0x0000, 0x0010 },
|
||||
{ 0x04, 0x0000, 0x0010 },
|
||||
{ 0x1d, 0x0000, 0x4000 },
|
||||
};
|
||||
|
||||
rtl_hw_start_8168g(tp);
|
||||
@ -4822,7 +4838,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
|
||||
{ 0x1d, 0x0000, 0x0800 },
|
||||
{ 0x05, 0xffff, 0x2089 },
|
||||
{ 0x06, 0xffff, 0x5881 },
|
||||
{ 0x04, 0xffff, 0x154a },
|
||||
{ 0x04, 0xffff, 0x854a },
|
||||
{ 0x01, 0xffff, 0x068b }
|
||||
};
|
||||
int rg_saw_cnt;
|
||||
@ -4959,10 +4975,10 @@ static void rtl_hw_start_8168ep_2(struct rtl8169_private *tp)
|
||||
static void rtl_hw_start_8168ep_3(struct rtl8169_private *tp)
|
||||
{
|
||||
static const struct ephy_info e_info_8168ep_3[] = {
|
||||
{ 0x00, 0xffff, 0x10a3 },
|
||||
{ 0x19, 0xffff, 0x7c00 },
|
||||
{ 0x1e, 0xffff, 0x20eb },
|
||||
{ 0x0d, 0xffff, 0x1666 }
|
||||
{ 0x00, 0x0000, 0x0080 },
|
||||
{ 0x0d, 0x0100, 0x0200 },
|
||||
{ 0x19, 0x8021, 0x0000 },
|
||||
{ 0x1e, 0x0000, 0x2000 },
|
||||
};
|
||||
|
||||
/* disable aspm and clock request before access ephy */
|
||||
|
Loading…
Reference in New Issue
Block a user