diff mbox series

phb4: Additional RXE_ARB: DEC Stage Valid Error fix

Message ID 20170922025950.25240-1-mikey@neuling.org
State Accepted
Headers show
Series phb4: Additional RXE_ARB: DEC Stage Valid Error fix | expand

Commit Message

Michael Neuling Sept. 22, 2017, 2:59 a.m. UTC
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@neuling.org>
--
Stewart: sorry about the additional cleanups.
---
 hw/phb4.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Stewart Smith Sept. 28, 2017, 4:43 a.m. UTC | #1
Michael Neuling <mikey@neuling.org> writes:
> 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@neuling.org>
> --
> Stewart: sorry about the additional cleanups.
> ---
>  hw/phb4.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Merged as of cb99c9d8bb8b59d2d10fe4088f50a2893643a94d
diff mbox series

Patch

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);