brcm63xx: reduce the number of Ethernet DMA channels from 16 to 8
authorFlorian Fainelli <florian@openwrt.org>
Thu, 20 Jun 2013 18:47:36 +0000 (18:47 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Thu, 20 Jun 2013 18:47:36 +0000 (18:47 +0000)
We currently used 16 DMA Ethernet channels, but the hardware only
supports up to 8 (with 2 per enet and the remaining for USB slave).

Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36979

target/linux/brcm63xx/patches-3.9/407-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch
target/linux/brcm63xx/patches-3.9/419-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
target/linux/brcm63xx/patches-3.9/426-hcs_mac_addr_pool.patch
target/linux/brcm63xx/patches-3.9/800-wl_exports.patch

index 313927cbb667b7863876abe82636715f1be3f7f6..c2b612d445e2aa37364ecfb00aadbdb9a506b6b7 100644 (file)
@@ -74,7 +74,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +      if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
 +              chan_count = 32;
 +      else
-+              chan_count = 16;
++              chan_count = 8;
 +
 +      shared_res[1].start = bcm63xx_regset_address(RSET_ENETDMAC);
 +      shared_res[1].end = shared_res[1].start;
index 50fb045fce64fba54bd38d9c274a404b8843b6bf..0987e493b8cd6c518bb523f932e473e6078ada76 100644 (file)
@@ -59,7 +59,7 @@ Subject: [PATCH 69/72] 443-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
  static struct resource shared_res[] = {
        {
                .start          = -1, /* filled at runtime */
-@@ -137,12 +171,19 @@ static int __init register_shared(void)
+@@ -137,9 +171,14 @@ static int __init register_shared(void)
        if (shared_device_registered)
                return 0;
  
@@ -75,12 +75,7 @@ Subject: [PATCH 69/72] 443-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
  
        if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
                chan_count = 32;
-+      else if (BCMCPU_IS_6345())
-+              chan_count = 8;
-       else
-               chan_count = 16;
-@@ -172,7 +213,7 @@ int __init bcm63xx_enet_register(int uni
+@@ -172,7 +211,7 @@ int __init bcm63xx_enet_register(int uni
        if (unit > 1)
                return -ENODEV;
  
@@ -89,7 +84,7 @@ Subject: [PATCH 69/72] 443-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
                return -ENODEV;
  
        ret = register_shared();
-@@ -213,6 +254,20 @@ int __init bcm63xx_enet_register(int uni
+@@ -213,6 +252,20 @@ int __init bcm63xx_enet_register(int uni
                dpd->phy_interrupt = bcm63xx_get_irq_number(IRQ_ENET_PHY);
        }
  
@@ -110,7 +105,7 @@ Subject: [PATCH 69/72] 443-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
        ret = platform_device_register(pdev);
        if (ret)
                return ret;
-@@ -246,6 +301,10 @@ bcm63xx_enetsw_register(const struct bcm
+@@ -246,6 +299,10 @@ bcm63xx_enetsw_register(const struct bcm
        else if (BCMCPU_IS_6362() || BCMCPU_IS_6368())
                enetsw_pd.num_ports = ENETSW_PORTS_6368;
  
index 6354fe621469bf39e93e71a5338ab4efb6b903ab..364bf48928c146dc8c5984d9c0fe37b1eaa0fc91 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/nvram.c
 +++ b/arch/mips/bcm63xx/nvram.c
-@@ -52,6 +52,7 @@ void __init bcm63xx_nvram_init(void *add
+@@ -45,6 +45,7 @@ void __init bcm63xx_nvram_init(void *add
  {
        unsigned int check_len;
        u32 crc, expected_crc;
@@ -8,7 +8,7 @@
  
        /* extract nvram data */
        memcpy(&nvram, addr, sizeof(nvram));
-@@ -73,6 +74,15 @@ void __init bcm63xx_nvram_init(void *add
+@@ -65,6 +66,15 @@ void __init bcm63xx_nvram_init(void *add
        if (crc != expected_crc)
                pr_warn("nvram checksum failed, contents may be invalid (expected %08x, got %08x)\n",
                        expected_crc, crc);
index cae2118a0655f33bb9b9619f5a1481a356231d9e..3b3b1ea6ee5acf28db4a7b6b83ff7fa9b3dcbbfc 100644 (file)
@@ -14,7 +14,7 @@
  void __init bcm63xx_nvram_init(void *addr)
  {
        unsigned int check_len;
-@@ -48,6 +55,7 @@ void __init bcm63xx_nvram_init(void *add
+@@ -49,6 +56,7 @@ void __init bcm63xx_nvram_init(void *add
  
        /* extract nvram data */
        memcpy(&nvram, addr, sizeof(nvram));