[Skiboot] [PATCH] phb4: Additional RXE_ARB: DEC Stage Valid Error fix

Michael Neuling mikey at neuling.org
Fri Sep 22 12:59:50 AEST 2017


In this recent fix:
  8b4c7a3cef phb4: Mask RXE_ARB: DEC Stage Valid Error
We worked around a problem but the workaround wasn't complete.

Now that we have full documentation and details on the issue, we have
additional registers we need to change inits on.

Signed-off-by: Michael Neuling <mikey at neuling.org>
--
Stewart: sorry about the additional cleanups.
---
 hw/phb4.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/phb4.c b/hw/phb4.c
index e6ec997e96..791496a5b2 100644
--- a/hw/phb4.c
+++ b/hw/phb4.c
@@ -4206,7 +4206,7 @@ static void phb4_init_errors(struct phb4 *p)
 	/* Init_82..90 - RXE_ARB errors */
 	out_be64(p->regs + 0x0d80,	0xffffffffffffffffull);
 	out_be64(p->regs + 0x0d88,	0x0000000000000000ull);
-	out_be64(p->regs + 0x0d98,	0xffffffffffffffffull);
+	out_be64(p->regs + 0x0d98,	0xfffffffffbffffffull);
 	if (p->rev == PHB4_REV_NIMBUS_DD10)
 		out_be64(p->regs + 0x0da8,	0xc00000b801000060ull);
 	else
@@ -4221,7 +4221,7 @@ static void phb4_init_errors(struct phb4 *p)
 	out_be64(p->regs + 0x0dc0,	0x0000000000000000ull);
 	out_be64(p->regs + 0x0dc8,	0x0000000000000000ull);
 	out_be64(p->regs + 0x0dd0,	0x0000000000000000ull);
-	out_be64(p->regs + 0x0dd8,	0x0000000000000000ull);
+	out_be64(p->regs + 0x0dd8,	0x0000000004000000ull);
 
 	/* Init_91..99 - RXE_MRG errors */
 	out_be64(p->regs + 0x0e00,	0xffffffffffffffffull);
@@ -4442,7 +4442,7 @@ static void phb4_init_hw(struct phb4 *p, bool first_init)
 
 
 	/* Init_132 - Enable DMA address speculation */
-	out_be64(p->regs + PHB_TCE_SPEC_CTL,			0xf000000000000000ull);
+	out_be64(p->regs + PHB_TCE_SPEC_CTL,			0x0000000000000000ull);
 
 	/* Init_133 - Timeout Control Register 1 */
 	out_be64(p->regs + PHB_TIMEOUT_CTRL1,			0x0018150000200000ull);
-- 
2.11.0



More information about the Skiboot mailing list