diff options
Diffstat (limited to 'target/linux/brcm47xx')
3 files changed, 8 insertions, 84 deletions
diff --git a/target/linux/brcm47xx/patches-4.4/159-cpu_fixes.patch b/target/linux/brcm47xx/patches-4.4/159-cpu_fixes.patch index 32a65186db..e99c18272b 100644 --- a/target/linux/brcm47xx/patches-4.4/159-cpu_fixes.patch +++ b/target/linux/brcm47xx/patches-4.4/159-cpu_fixes.patch @@ -355,7 +355,7 @@ if (dc_lsize == 0) r4k_blast_dcache = (void *)cache_noop; else if (dc_lsize == 16) -@@ -880,6 +892,8 @@ static void local_r4k_flush_cache_sigtra +@@ -882,6 +894,8 @@ static void local_r4k_flush_cache_sigtra unsigned long addr = (unsigned long) arg; R4600_HIT_CACHEOP_WAR_IMPL; @@ -364,7 +364,7 @@ if (dc_lsize) protected_writeback_dcache_line(addr & ~(dc_lsize - 1)); if (!cpu_icache_snoops_remote_store && scache_size) -@@ -1704,6 +1718,17 @@ static void coherency_setup(void) +@@ -1706,6 +1720,17 @@ static void coherency_setup(void) * silly idea of putting something else there ... */ switch (current_cpu_type()) { @@ -382,7 +382,7 @@ case CPU_R4000PC: case CPU_R4000SC: case CPU_R4000MC: -@@ -1750,6 +1775,15 @@ void r4k_cache_init(void) +@@ -1752,6 +1777,15 @@ void r4k_cache_init(void) extern void build_copy_page(void); struct cpuinfo_mips *c = ¤t_cpu_data; @@ -398,7 +398,7 @@ probe_pcache(); setup_scache(); -@@ -1819,7 +1853,15 @@ void r4k_cache_init(void) +@@ -1821,7 +1855,15 @@ void r4k_cache_init(void) */ local_r4k___flush_cache_all(NULL); diff --git a/target/linux/brcm47xx/patches-4.4/330-Revert-MIPS-BCM47XX-Enable-74K-Core-ExternalSync-for.patch b/target/linux/brcm47xx/patches-4.4/330-Revert-MIPS-BCM47XX-Enable-74K-Core-ExternalSync-for.patch deleted file mode 100644 index e6cf500156..0000000000 --- a/target/linux/brcm47xx/patches-4.4/330-Revert-MIPS-BCM47XX-Enable-74K-Core-ExternalSync-for.patch +++ /dev/null @@ -1,76 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> -Date: Fri, 27 Jul 2018 12:39:01 +0200 -Subject: [PATCH] Revert "MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe - erratum" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit 2a027b47dba6b77ab8c8e47b589ae9bbc5ac6175. - -Enabling ExternalSync caused a regression for BCM4718A1 (used e.g. in -Netgear E3000 and ASUS RT-N16): it simply hangs during PCIe -initialization. It's likely that BCM4717A1 is also affected. - -I didn't notice that earlier as the only BCM47XX devices with PCIe I -own are: -1) BCM4706 with 2 x 14e4:4331 -2) BCM4706 with 14e4:4360 and 14e4:4331 -it appears that BCM4706 is unaffected. - -While BCM5300X-ES300-RDS.pdf seems to document that erratum and its -workarounds (according to quotes provided by Tokunori) it seems not even -Broadcom follows them. - -According to the provided info Broadcom should define CONF7_ES in their -SDK's mipsinc.h and implement workaround in the si_mips_init(). Checking -both didn't reveal such code. It *could* mean Broadcom also had some -problems with the given workaround. - -Reported-by: Michael Marley <michael@michaelmarley.com> -Cc: Tokunori Ikegami <ikegami@allied-telesis.co.jp> -Cc: Paul Burton <paul.burton@mips.com> -Cc: Hauke Mehrtens <hauke@hauke-m.de> -Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> -Cc: stable@vger.kernel.org -Cc: James Hogan <jhogan@kernel.org> -Signed-off-by: Rafał Miłecki <rafal@milecki.pl> ---- - arch/mips/bcm47xx/setup.c | 6 ------ - arch/mips/include/asm/mipsregs.h | 3 --- - 2 files changed, 9 deletions(-) - ---- a/arch/mips/bcm47xx/setup.c -+++ b/arch/mips/bcm47xx/setup.c -@@ -249,12 +249,6 @@ static int __init bcm47xx_cpu_fixes(void - */ - if (bcm47xx_bus.bcma.bus.chipinfo.id == BCMA_CHIP_ID_BCM4706) - cpu_wait = NULL; -- -- /* -- * BCM47XX Erratum "R10: PCIe Transactions Periodically Fail" -- * Enable ExternalSync for sync instruction to take effect -- */ -- set_c0_config7(MIPS_CONF7_ES); - break; - #endif - } ---- a/arch/mips/include/asm/mipsregs.h -+++ b/arch/mips/include/asm/mipsregs.h -@@ -605,8 +605,6 @@ - #define MIPS_CONF7_WII (_ULCAST_(1) << 31) - - #define MIPS_CONF7_RPS (_ULCAST_(1) << 2) --/* ExternalSync */ --#define MIPS_CONF7_ES (_ULCAST_(1) << 8) - - #define MIPS_CONF7_IAR (_ULCAST_(1) << 10) - #define MIPS_CONF7_AR (_ULCAST_(1) << 16) -@@ -2014,7 +2012,6 @@ __BUILD_SET_C0(status) - __BUILD_SET_C0(cause) - __BUILD_SET_C0(config) - __BUILD_SET_C0(config5) --__BUILD_SET_C0(config7) - __BUILD_SET_C0(intcontrol) - __BUILD_SET_C0(intctl) - __BUILD_SET_C0(srsmap) diff --git a/target/linux/brcm47xx/patches-4.4/940-bcm47xx-yenta.patch b/target/linux/brcm47xx/patches-4.4/940-bcm47xx-yenta.patch index 00a44d6317..bda27d16c4 100644 --- a/target/linux/brcm47xx/patches-4.4/940-bcm47xx-yenta.patch +++ b/target/linux/brcm47xx/patches-4.4/940-bcm47xx-yenta.patch @@ -1,6 +1,6 @@ --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c -@@ -919,6 +919,8 @@ static unsigned int yenta_probe_irq(stru +@@ -920,6 +920,8 @@ static unsigned int yenta_probe_irq(stru * Probe for usable interrupts using the force * register to generate bogus card status events. */ @@ -9,7 +9,7 @@ cb_writel(socket, CB_SOCKET_EVENT, -1); cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK); reg = exca_readb(socket, I365_CSCINT); -@@ -934,6 +936,7 @@ static unsigned int yenta_probe_irq(stru +@@ -935,6 +937,7 @@ static unsigned int yenta_probe_irq(stru } cb_writel(socket, CB_SOCKET_MASK, 0); exca_writeb(socket, I365_CSCINT, reg); @@ -17,7 +17,7 @@ mask = probe_irq_mask(val) & 0xffff; -@@ -1018,6 +1021,10 @@ static void yenta_get_socket_capabilitie +@@ -1019,6 +1022,10 @@ static void yenta_get_socket_capabilitie else socket->socket.irq_mask = 0; @@ -28,7 +28,7 @@ dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n", socket->socket.irq_mask, socket->cb_irq); } -@@ -1250,6 +1257,15 @@ static int yenta_probe(struct pci_dev *d +@@ -1251,6 +1258,15 @@ static int yenta_probe(struct pci_dev *d dev_info(&dev->dev, "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE)); |