From 3fcd831b859a054f8ba8ac4a61fb2e952626eaec Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 20 Jun 2013 18:47:36 +0000 Subject: [PATCH] brcm63xx: reduce the number of Ethernet DMA channels from 16 to 8 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36979 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...m63xx_enet-add-support-for-bcm6368-internal-ethern.patch | 2 +- .../419-MIPS-BCM63XX-enable-enet-for-BCM6345.patch | 13 ++++--------- .../linux/brcm63xx/patches-3.9/426-hcs_mac_addr_pool.patch | 4 ++-- target/linux/brcm63xx/patches-3.9/800-wl_exports.patch | 2 +- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/target/linux/brcm63xx/patches-3.9/407-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch b/target/linux/brcm63xx/patches-3.9/407-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch index 313927cbb6..c2b612d445 100644 --- a/target/linux/brcm63xx/patches-3.9/407-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch +++ b/target/linux/brcm63xx/patches-3.9/407-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch @@ -74,7 +74,7 @@ Signed-off-by: Jonas Gorski + 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; diff --git a/target/linux/brcm63xx/patches-3.9/419-MIPS-BCM63XX-enable-enet-for-BCM6345.patch b/target/linux/brcm63xx/patches-3.9/419-MIPS-BCM63XX-enable-enet-for-BCM6345.patch index 50fb045fce..0987e493b8 100644 --- a/target/linux/brcm63xx/patches-3.9/419-MIPS-BCM63XX-enable-enet-for-BCM6345.patch +++ b/target/linux/brcm63xx/patches-3.9/419-MIPS-BCM63XX-enable-enet-for-BCM6345.patch @@ -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; diff --git a/target/linux/brcm63xx/patches-3.9/426-hcs_mac_addr_pool.patch b/target/linux/brcm63xx/patches-3.9/426-hcs_mac_addr_pool.patch index 6354fe6214..364bf48928 100644 --- a/target/linux/brcm63xx/patches-3.9/426-hcs_mac_addr_pool.patch +++ b/target/linux/brcm63xx/patches-3.9/426-hcs_mac_addr_pool.patch @@ -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); diff --git a/target/linux/brcm63xx/patches-3.9/800-wl_exports.patch b/target/linux/brcm63xx/patches-3.9/800-wl_exports.patch index cae2118a06..3b3b1ea6ee 100644 --- a/target/linux/brcm63xx/patches-3.9/800-wl_exports.patch +++ b/target/linux/brcm63xx/patches-3.9/800-wl_exports.patch @@ -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)); -- 2.11.0