Changeset 37041


Ignore:
Timestamp:
2013-06-27T18:28:06+02:00 (5 years ago)
Author:
blogic
Message:

ramips: fix ethernet stability issue introduced by recent kernel upgrade

Signed-off-by: John Crispin <blogic@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ramips/patches-3.9/0159-NET-MIPS-add-ralink-SoC-ethernet-driver.patch

    r37016 r37041  
    4747 create mode 100644 drivers/net/ethernet/ralink/soc_rt3883.c 
    4848 
    49 diff --git a/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h b/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h 
    50 new file mode 100644 
    51 index 0000000..2098c5c 
    52 --- /dev/null 
    53 +++ b/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h 
     49Index: linux-3.9.6/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h 
     50=================================================================== 
     51--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     52+++ linux-3.9.6/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h 2013-06-24 14:12:43.500180312 +0200 
    5453@@ -0,0 +1,27 @@ 
    5554+/* 
     
    8079+ 
    8180+#endif /* _RT305X_ESW_PLATFORM_H */ 
    82 diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c 
    83 index ca7ee3a..1a6b458 100644 
    84 --- a/arch/mips/ralink/rt305x.c 
    85 +++ b/arch/mips/ralink/rt305x.c 
    86 @@ -221,6 +221,7 @@ void __init ralink_clk_init(void) 
     81Index: linux-3.9.6/arch/mips/ralink/rt305x.c 
     82=================================================================== 
     83--- linux-3.9.6.orig/arch/mips/ralink/rt305x.c  2013-06-24 14:12:42.560180272 +0200 
     84+++ linux-3.9.6/arch/mips/ralink/rt305x.c       2013-06-24 14:12:43.504180312 +0200 
     85@@ -221,6 +221,7 @@ 
    8786        } 
    8887  
     
    9291        ralink_clk_add("10000100.timer", wdt_rate); 
    9392        ralink_clk_add("10000120.watchdog", wdt_rate); 
    94 diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig 
    95 index ed956e0..0b3caa1 100644 
    96 --- a/drivers/net/ethernet/Kconfig 
    97 +++ b/drivers/net/ethernet/Kconfig 
    98 @@ -135,6 +135,7 @@ config ETHOC 
     93Index: linux-3.9.6/drivers/net/ethernet/Kconfig 
     94=================================================================== 
     95--- linux-3.9.6.orig/drivers/net/ethernet/Kconfig       2013-06-13 19:52:08.000000000 +0200 
     96+++ linux-3.9.6/drivers/net/ethernet/Kconfig    2013-06-24 14:12:43.504180312 +0200 
     97@@ -135,6 +135,7 @@ 
    9998 source "drivers/net/ethernet/packetengines/Kconfig" 
    10099 source "drivers/net/ethernet/pasemi/Kconfig" 
     
    104103 source "drivers/net/ethernet/renesas/Kconfig" 
    105104 source "drivers/net/ethernet/rdc/Kconfig" 
    106 diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile 
    107 index 8268d85..508c494 100644 
    108 --- a/drivers/net/ethernet/Makefile 
    109 +++ b/drivers/net/ethernet/Makefile 
    110 @@ -53,6 +53,7 @@ obj-$(CONFIG_ETHOC) += ethoc.o 
     105Index: linux-3.9.6/drivers/net/ethernet/Makefile 
     106=================================================================== 
     107--- linux-3.9.6.orig/drivers/net/ethernet/Makefile      2013-06-13 19:52:08.000000000 +0200 
     108+++ linux-3.9.6/drivers/net/ethernet/Makefile   2013-06-24 14:12:43.504180312 +0200 
     109@@ -53,6 +53,7 @@ 
    111110 obj-$(CONFIG_NET_PACKET_ENGINE) += packetengines/ 
    112111 obj-$(CONFIG_NET_VENDOR_PASEMI) += pasemi/ 
     
    116115 obj-$(CONFIG_SH_ETH) += renesas/ 
    117116 obj-$(CONFIG_NET_VENDOR_RDC) += rdc/ 
    118 diff --git a/drivers/net/ethernet/ralink/Kconfig b/drivers/net/ethernet/ralink/Kconfig 
    119 new file mode 100644 
    120 index 0000000..ca2c9ad 
    121 --- /dev/null 
    122 +++ b/drivers/net/ethernet/ralink/Kconfig 
     117Index: linux-3.9.6/drivers/net/ethernet/ralink/Kconfig 
     118=================================================================== 
     119--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     120+++ linux-3.9.6/drivers/net/ethernet/ralink/Kconfig     2013-06-24 14:12:43.504180312 +0200 
    123121@@ -0,0 +1,31 @@ 
    124122+config NET_RALINK 
     
    153151+       select SWCONFIG 
    154152+endif 
    155 diff --git a/drivers/net/ethernet/ralink/Makefile b/drivers/net/ethernet/ralink/Makefile 
    156 new file mode 100644 
    157 index 0000000..a38fa21 
    158 --- /dev/null 
    159 +++ b/drivers/net/ethernet/ralink/Makefile 
     153Index: linux-3.9.6/drivers/net/ethernet/ralink/Makefile 
     154=================================================================== 
     155--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     156+++ linux-3.9.6/drivers/net/ethernet/ralink/Makefile    2013-06-24 14:12:43.504180312 +0200 
    160157@@ -0,0 +1,18 @@ 
    161158+# 
     
    177174+ 
    178175+obj-$(CONFIG_NET_RALINK)                       += ralink-eth.o 
    179 diff --git a/drivers/net/ethernet/ralink/esw_rt3052.c b/drivers/net/ethernet/ralink/esw_rt3052.c 
    180 new file mode 100644 
    181 index 0000000..b937062 
    182 --- /dev/null 
    183 +++ b/drivers/net/ethernet/ralink/esw_rt3052.c 
     176Index: linux-3.9.6/drivers/net/ethernet/ralink/esw_rt3052.c 
     177=================================================================== 
     178--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     179+++ linux-3.9.6/drivers/net/ethernet/ralink/esw_rt3052.c        2013-06-24 14:12:43.508180313 +0200 
    184180@@ -0,0 +1,1463 @@ 
    185181+/* 
     
    16461642+       platform_driver_unregister(&esw_driver); 
    16471643+} 
    1648 diff --git a/drivers/net/ethernet/ralink/esw_rt3052.h b/drivers/net/ethernet/ralink/esw_rt3052.h 
    1649 new file mode 100644 
    1650 index 0000000..2ced3dff 
    1651 --- /dev/null 
    1652 +++ b/drivers/net/ethernet/ralink/esw_rt3052.h 
     1644Index: linux-3.9.6/drivers/net/ethernet/ralink/esw_rt3052.h 
     1645=================================================================== 
     1646--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     1647+++ linux-3.9.6/drivers/net/ethernet/ralink/esw_rt3052.h        2013-06-24 14:12:43.508180313 +0200 
    16531648@@ -0,0 +1,32 @@ 
    16541649+/* 
     
    16841679+#endif 
    16851680+#endif 
    1686 diff --git a/drivers/net/ethernet/ralink/gsw_mt7620a.c b/drivers/net/ethernet/ralink/gsw_mt7620a.c 
    1687 new file mode 100644 
    1688 index 0000000..9fa6a54 
    1689 --- /dev/null 
    1690 +++ b/drivers/net/ethernet/ralink/gsw_mt7620a.c 
     1681Index: linux-3.9.6/drivers/net/ethernet/ralink/gsw_mt7620a.c 
     1682=================================================================== 
     1683--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     1684+++ linux-3.9.6/drivers/net/ethernet/ralink/gsw_mt7620a.c       2013-06-24 14:12:43.508180313 +0200 
    16911685@@ -0,0 +1,1027 @@ 
    16921686+/* 
     
    27172711+       return 0; 
    27182712+} 
    2719 diff --git a/drivers/net/ethernet/ralink/gsw_mt7620a.h b/drivers/net/ethernet/ralink/gsw_mt7620a.h 
    2720 new file mode 100644 
    2721 index 0000000..fd4add5 
    2722 --- /dev/null 
    2723 +++ b/drivers/net/ethernet/ralink/gsw_mt7620a.h 
     2713Index: linux-3.9.6/drivers/net/ethernet/ralink/gsw_mt7620a.h 
     2714=================================================================== 
     2715--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     2716+++ linux-3.9.6/drivers/net/ethernet/ralink/gsw_mt7620a.h       2013-06-24 14:12:43.508180313 +0200 
    27242717@@ -0,0 +1,29 @@ 
    27252718+/* 
     
    27522745+ 
    27532746+#endif 
    2754 diff --git a/drivers/net/ethernet/ralink/mdio.c b/drivers/net/ethernet/ralink/mdio.c 
    2755 new file mode 100644 
    2756 index 0000000..b265c75 
    2757 --- /dev/null 
    2758 +++ b/drivers/net/ethernet/ralink/mdio.c 
     2747Index: linux-3.9.6/drivers/net/ethernet/ralink/mdio.c 
     2748=================================================================== 
     2749--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     2750+++ linux-3.9.6/drivers/net/ethernet/ralink/mdio.c      2013-06-24 14:12:43.508180313 +0200 
    27592751@@ -0,0 +1,245 @@ 
    27602752+/* 
     
    30032995+       kfree(priv->mii_bus); 
    30042996+} 
    3005 diff --git a/drivers/net/ethernet/ralink/mdio.h b/drivers/net/ethernet/ralink/mdio.h 
    3006 new file mode 100644 
    3007 index 0000000..c3910a0 
    3008 --- /dev/null 
    3009 +++ b/drivers/net/ethernet/ralink/mdio.h 
     2997Index: linux-3.9.6/drivers/net/ethernet/ralink/mdio.h 
     2998=================================================================== 
     2999--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     3000+++ linux-3.9.6/drivers/net/ethernet/ralink/mdio.h      2013-06-24 14:12:43.508180313 +0200 
    30103001@@ -0,0 +1,29 @@ 
    30113002+/* 
     
    30383029+#endif 
    30393030+#endif 
    3040 diff --git a/drivers/net/ethernet/ralink/mdio_rt2880.c b/drivers/net/ethernet/ralink/mdio_rt2880.c 
    3041 new file mode 100644 
    3042 index 0000000..54dbc53 
    3043 --- /dev/null 
    3044 +++ b/drivers/net/ethernet/ralink/mdio_rt2880.c 
     3031Index: linux-3.9.6/drivers/net/ethernet/ralink/mdio_rt2880.c 
     3032=================================================================== 
     3033--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     3034+++ linux-3.9.6/drivers/net/ethernet/ralink/mdio_rt2880.c       2013-06-27 18:11:24.837413175 +0200 
    30453035@@ -0,0 +1,163 @@ 
    30463036+/* 
     
    32073197+       return rt2880_mdio_wait_ready(priv); 
    32083198+} 
    3209 diff --git a/drivers/net/ethernet/ralink/mdio_rt2880.h b/drivers/net/ethernet/ralink/mdio_rt2880.h 
    3210 new file mode 100644 
    3211 index 0000000..c9ac0fe 
    3212 --- /dev/null 
    3213 +++ b/drivers/net/ethernet/ralink/mdio_rt2880.h 
     3199Index: linux-3.9.6/drivers/net/ethernet/ralink/mdio_rt2880.h 
     3200=================================================================== 
     3201--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     3202+++ linux-3.9.6/drivers/net/ethernet/ralink/mdio_rt2880.h       2013-06-27 18:11:24.837413175 +0200 
    32143203@@ -0,0 +1,25 @@ 
    32153204+/* 
     
    32383227+ 
    32393228+#endif 
    3240 diff --git a/drivers/net/ethernet/ralink/ralink_soc_eth.c b/drivers/net/ethernet/ralink/ralink_soc_eth.c 
    3241 new file mode 100644 
    3242 index 0000000..04e82eb 
    3243 --- /dev/null 
    3244 +++ b/drivers/net/ethernet/ralink/ralink_soc_eth.c 
    3245 @@ -0,0 +1,759 @@ 
     3229Index: linux-3.9.6/drivers/net/ethernet/ralink/ralink_soc_eth.c 
     3230=================================================================== 
     3231--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     3232+++ linux-3.9.6/drivers/net/ethernet/ralink/ralink_soc_eth.c    2013-06-27 18:04:09.213394283 +0200 
     3233@@ -0,0 +1,762 @@ 
    32463234+/* 
    32473235+ *   This program is free software; you can redistribute it and/or modify 
     
    35983586+                       } 
    35993587+ 
     3588+                       spin_lock_irqsave(&priv->page_lock, flags); 
    36003589+                       if (priv->soc->rx_dma) 
    36013590+                               priv->soc->rx_dma(priv, idx, MAX_RX_LENGTH); 
     
    36033592+                               priv->rx_dma[idx].rxd2 = RX_DMA_LSO; 
    36043593+                       fe_reg_w32(idx, FE_REG_RX_CALC_IDX0); 
     3594+                       spin_unlock_irqrestore(&priv->page_lock, flags); 
     3595+ 
    36053596+                       rx++; 
    36063597+               } else { 
     
    37413732+ 
    37423733+               fe_w32((fe_r32(FE_FE_GLO_CFG) & 
    3743 +                       ~(FE_US_CYC_CNT_MASK << FE_US_CYC_CNT_SHIFT)) | priv->sysclk, 
     3734+                       ~(FE_US_CYC_CNT_MASK << FE_US_CYC_CNT_SHIFT)) | sysclk, 
    37443735+                       FE_FE_GLO_CFG); 
    37453736+ 
     
    40033994+MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); 
    40043995+MODULE_DESCRIPTION("Ethernet driver for Ralink SoC"); 
    4005 diff --git a/drivers/net/ethernet/ralink/ralink_soc_eth.h b/drivers/net/ethernet/ralink/ralink_soc_eth.h 
    4006 new file mode 100644 
    4007 index 0000000..0c769ef 
    4008 --- /dev/null 
    4009 +++ b/drivers/net/ethernet/ralink/ralink_soc_eth.h 
     3996Index: linux-3.9.6/drivers/net/ethernet/ralink/ralink_soc_eth.h 
     3997=================================================================== 
     3998--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     3999+++ linux-3.9.6/drivers/net/ethernet/ralink/ralink_soc_eth.h    2013-06-27 18:11:24.837413175 +0200 
    40104000@@ -0,0 +1,372 @@ 
    40114001+/* 
     
    43814371+ 
    43824372+#endif /* FE_ETH_H */ 
    4383 diff --git a/drivers/net/ethernet/ralink/soc_mt7620.c b/drivers/net/ethernet/ralink/soc_mt7620.c 
    4384 new file mode 100644 
    4385 index 0000000..55e303f 
    4386 --- /dev/null 
    4387 +++ b/drivers/net/ethernet/ralink/soc_mt7620.c 
     4373Index: linux-3.9.6/drivers/net/ethernet/ralink/soc_mt7620.c 
     4374=================================================================== 
     4375--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     4376+++ linux-3.9.6/drivers/net/ethernet/ralink/soc_mt7620.c        2013-06-24 14:12:43.516180315 +0200 
    43884377@@ -0,0 +1,111 @@ 
    43894378+/* 
     
    44984487+ 
    44994488+MODULE_DEVICE_TABLE(of, of_fe_match); 
    4500 diff --git a/drivers/net/ethernet/ralink/soc_rt2880.c b/drivers/net/ethernet/ralink/soc_rt2880.c 
    4501 new file mode 100644 
    4502 index 0000000..fdbd118 
    4503 --- /dev/null 
    4504 +++ b/drivers/net/ethernet/ralink/soc_rt2880.c 
     4489Index: linux-3.9.6/drivers/net/ethernet/ralink/soc_rt2880.c 
     4490=================================================================== 
     4491--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     4492+++ linux-3.9.6/drivers/net/ethernet/ralink/soc_rt2880.c        2013-06-24 14:12:43.516180315 +0200 
    45054493@@ -0,0 +1,51 @@ 
    45064494+/* 
     
    45554543+ 
    45564544+MODULE_DEVICE_TABLE(of, of_fe_match); 
    4557 diff --git a/drivers/net/ethernet/ralink/soc_rt305x.c b/drivers/net/ethernet/ralink/soc_rt305x.c 
    4558 new file mode 100644 
    4559 index 0000000..c43d3f9 
    4560 --- /dev/null 
    4561 +++ b/drivers/net/ethernet/ralink/soc_rt305x.c 
    4562 @@ -0,0 +1,102 @@ 
     4545Index: linux-3.9.6/drivers/net/ethernet/ralink/soc_rt305x.c 
     4546=================================================================== 
     4547--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     4548+++ linux-3.9.6/drivers/net/ethernet/ralink/soc_rt305x.c        2013-06-27 18:06:45.373401053 +0200 
     4549@@ -0,0 +1,113 @@ 
    45634550+/* 
    45644551+ *   This program is free software; you can redistribute it and/or modify 
     
    46224609+static void rt5350_fwd_config(struct fe_priv *priv) 
    46234610+{ 
     4611+       unsigned long sysclk = priv->sysclk; 
     4612+ 
     4613+       if (sysclk) { 
     4614+               sysclk /= FE_US_CYC_CNT_DIVISOR; 
     4615+               sysclk <<= FE_US_CYC_CNT_SHIFT; 
     4616+ 
     4617+               fe_w32((fe_r32(FE_FE_GLO_CFG) & 
     4618+                       ~(FE_US_CYC_CNT_MASK << FE_US_CYC_CNT_SHIFT)) | sysclk, 
     4619+                       FE_FE_GLO_CFG); 
     4620+       } 
     4621+ 
    46244622+       fe_w32(fe_r32(RT5350_SDM_CFG) & ~0xffff, RT5350_SDM_CFG); 
    46254623+       fe_w32(fe_r32(RT5350_SDM_CFG) | RT5350_SDM_ICS_EN | RT5350_SDM_TCS_EN | RT5350_SDM_UCS_EN, 
     
    46634661+ 
    46644662+MODULE_DEVICE_TABLE(of, of_fe_match); 
    4665 diff --git a/drivers/net/ethernet/ralink/soc_rt3883.c b/drivers/net/ethernet/ralink/soc_rt3883.c 
    4666 new file mode 100644 
    4667 index 0000000..3886be1 
    4668 --- /dev/null 
    4669 +++ b/drivers/net/ethernet/ralink/soc_rt3883.c 
     4663Index: linux-3.9.6/drivers/net/ethernet/ralink/soc_rt3883.c 
     4664=================================================================== 
     4665--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     4666+++ linux-3.9.6/drivers/net/ethernet/ralink/soc_rt3883.c        2013-06-27 18:11:24.837413175 +0200 
    46704667@@ -0,0 +1,59 @@ 
    46714668+/* 
     
    47284725+MODULE_DEVICE_TABLE(of, of_fe_match); 
    47294726+ 
    4730 --  
    4731 1.7.10.4 
    4732  
Note: See TracChangeset for help on using the changeset viewer.