mirror of https://github.com/hak5/openwrt.git
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 <florian@openwrt.org> SVN-Revision: 36979lede-17.01
parent
07757044bf
commit
4ef56823e0
|
@ -74,7 +74,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
+ if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
|
+ if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
|
||||||
+ chan_count = 32;
|
+ chan_count = 32;
|
||||||
+ else
|
+ else
|
||||||
+ chan_count = 16;
|
+ chan_count = 8;
|
||||||
+
|
+
|
||||||
+ shared_res[1].start = bcm63xx_regset_address(RSET_ENETDMAC);
|
+ shared_res[1].start = bcm63xx_regset_address(RSET_ENETDMAC);
|
||||||
+ shared_res[1].end = shared_res[1].start;
|
+ shared_res[1].end = shared_res[1].start;
|
||||||
|
|
|
@ -59,7 +59,7 @@ Subject: [PATCH 69/72] 443-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
|
||||||
static struct resource shared_res[] = {
|
static struct resource shared_res[] = {
|
||||||
{
|
{
|
||||||
.start = -1, /* filled at runtime */
|
.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)
|
if (shared_device_registered)
|
||||||
return 0;
|
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())
|
if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
|
||||||
chan_count = 32;
|
chan_count = 32;
|
||||||
+ else if (BCMCPU_IS_6345())
|
@@ -172,7 +211,7 @@ int __init bcm63xx_enet_register(int uni
|
||||||
+ chan_count = 8;
|
|
||||||
else
|
|
||||||
chan_count = 16;
|
|
||||||
|
|
||||||
@@ -172,7 +213,7 @@ int __init bcm63xx_enet_register(int uni
|
|
||||||
if (unit > 1)
|
if (unit > 1)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
@ -89,7 +84,7 @@ Subject: [PATCH 69/72] 443-MIPS-BCM63XX-enable-enet-for-BCM6345.patch
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
ret = register_shared();
|
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);
|
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);
|
ret = platform_device_register(pdev);
|
||||||
if (ret)
|
if (ret)
|
||||||
return 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())
|
else if (BCMCPU_IS_6362() || BCMCPU_IS_6368())
|
||||||
enetsw_pd.num_ports = ENETSW_PORTS_6368;
|
enetsw_pd.num_ports = ENETSW_PORTS_6368;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/mips/bcm63xx/nvram.c
|
--- a/arch/mips/bcm63xx/nvram.c
|
||||||
+++ b/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;
|
unsigned int check_len;
|
||||||
u32 crc, expected_crc;
|
u32 crc, expected_crc;
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
/* extract nvram data */
|
/* extract nvram data */
|
||||||
memcpy(&nvram, addr, sizeof(nvram));
|
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)
|
if (crc != expected_crc)
|
||||||
pr_warn("nvram checksum failed, contents may be invalid (expected %08x, got %08x)\n",
|
pr_warn("nvram checksum failed, contents may be invalid (expected %08x, got %08x)\n",
|
||||||
expected_crc, crc);
|
expected_crc, crc);
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
void __init bcm63xx_nvram_init(void *addr)
|
void __init bcm63xx_nvram_init(void *addr)
|
||||||
{
|
{
|
||||||
unsigned int check_len;
|
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 */
|
/* extract nvram data */
|
||||||
memcpy(&nvram, addr, sizeof(nvram));
|
memcpy(&nvram, addr, sizeof(nvram));
|
||||||
|
|
Loading…
Reference in New Issue