All of
 help / color / mirror / Atom feed
From: "Rafał Miłecki" <>
Subject: Revert "MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum"
Date: Fri, 27 Jul 2018 13:13:39 +0200	[thread overview]
Message-ID: <20180727111339.ozs3ezIjqfh1P6-UJ2BVmAuiirslvIvpUk63SfdA8GU@z> (raw)

From: "Rafał Miłecki" <>

[ Upstream commit d5ea019f8a381f88545bb26993b62ec24a2796b7 ]

This reverts commit 2a027b47dba6 ("MIPS: BCM47XX: Enable 74K Core
ExternalSync for PCIe erratum").

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.

Signed-off-by: Rafał Miłecki <>
Signed-off-by: Paul Burton <>
Reported-by: Michael Marley <>
Cc: Tokunori Ikegami <>
Cc: Hauke Mehrtens <>
Cc: Chris Packham <>
Cc: James Hogan <>
Cc: Ralf Baechle <>
Signed-off-by: Sasha Levin <>
Signed-off-by: Greg Kroah-Hartman <>
 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
@@ -212,12 +212,6 @@ static int __init bcm47xx_cpu_fixes(void
 		if ( == 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);
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -680,8 +680,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)
@@ -2747,7 +2745,6 @@ __BUILD_SET_C0(status)

Patches currently in stable-queue which might be from are


             reply	other threads:[~2018-07-27 11:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-27 11:13 Rafał Miłecki [this message]
2018-07-27 11:13 Revert "MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum" Rafał Miłecki
2018-07-27 11:13 Rafał Miłecki
2018-07-27 11:13 Rafał Miłecki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180727111339.ozs3ezIjqfh1P6-UJ2BVmAuiirslvIvpUk63SfdA8GU@z \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.