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