From cb99c9d8bb8b59d2d10fe4088f50a2893643a94d Mon Sep 17 00:00:00 2001 From: Michael Neuling Date: Fri, 22 Sep 2017 12:59:50 +1000 Subject: phb4: Additional RXE_ARB: DEC Stage Valid Error fix 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 Signed-off-by: Stewart Smith --- hw/phb4.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'hw') diff --git a/hw/phb4.c b/hw/phb4.c index 32310d8..5e5f50f 100644 --- a/hw/phb4.c +++ b/hw/phb4.c @@ -4198,7 +4198,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 @@ -4213,7 +4213,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); @@ -4434,7 +4434,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); -- cgit v1.1