[brcm63xx] do not overwrite ENET_CTL_REG, fixes ethernet on bcm6338
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 9 Apr 2010 18:43:36 +0000 (18:43 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 9 Apr 2010 18:43:36 +0000 (18:43 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20765 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/brcm63xx/patches-2.6.32/230-external_phy_fix.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-2.6.33/230-external_phy_fix.patch [new file with mode: 0644]

diff --git a/target/linux/brcm63xx/patches-2.6.32/230-external_phy_fix.patch b/target/linux/brcm63xx/patches-2.6.32/230-external_phy_fix.patch
new file mode 100644 (file)
index 0000000..5edcfe8
--- /dev/null
@@ -0,0 +1,13 @@
+--- linux-2.6.32.10.orig/drivers/net/bcm63xx_enet.c    2010-04-06 19:25:52.612158288 +0100\r
++++ linux-2.6.32.10/drivers/net/bcm63xx_enet.c 2010-04-07 21:40:26.991801424 +0100\r
+@@ -965,7 +965,9 @@\r
+       /* all set, enable mac and interrupts, start dma engine and\r
+        * kick rx dma channel */\r
+       wmb();\r
+-      enet_writel(priv, ENET_CTL_ENABLE_MASK, ENET_CTL_REG);\r
++      val = enet_readl(priv, ENET_CTL_REG);\r
++      val |= ENET_CTL_ENABLE_MASK;\r
++      enet_writel(priv, val, ENET_CTL_REG);\r
+       enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG);\r
+       enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK,\r
+                       ENETDMA_CHANCFG_REG(priv->rx_chan));
\ No newline at end of file
diff --git a/target/linux/brcm63xx/patches-2.6.33/230-external_phy_fix.patch b/target/linux/brcm63xx/patches-2.6.33/230-external_phy_fix.patch
new file mode 100644 (file)
index 0000000..5edcfe8
--- /dev/null
@@ -0,0 +1,13 @@
+--- linux-2.6.32.10.orig/drivers/net/bcm63xx_enet.c    2010-04-06 19:25:52.612158288 +0100\r
++++ linux-2.6.32.10/drivers/net/bcm63xx_enet.c 2010-04-07 21:40:26.991801424 +0100\r
+@@ -965,7 +965,9 @@\r
+       /* all set, enable mac and interrupts, start dma engine and\r
+        * kick rx dma channel */\r
+       wmb();\r
+-      enet_writel(priv, ENET_CTL_ENABLE_MASK, ENET_CTL_REG);\r
++      val = enet_readl(priv, ENET_CTL_REG);\r
++      val |= ENET_CTL_ENABLE_MASK;\r
++      enet_writel(priv, val, ENET_CTL_REG);\r
+       enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG);\r
+       enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK,\r
+                       ENETDMA_CHANCFG_REG(priv->rx_chan));
\ No newline at end of file
This page took 0.022184 seconds and 4 git commands to generate.