We correctly grabbed the bits but did not shift them back to their correct place. Signed-off-by: Tom St Denis <tom.stdenis at amd.com> --- src/lib/ring_decode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ring_decode.c b/src/lib/ring_decode.c index 772ea49dda6f..c05fa632a233 100644 --- a/src/lib/ring_decode.c +++ b/src/lib/ring_decode.c @@ -407,7 +407,7 @@ static void print_decode_pm4_pkt3(struct umr_asic *asic, struct umr_ring_decoder case 0x33: // INDIRECT_BUFFER_CONST switch (decoder->pm4.cur_word) { case 0: printf("IB_BASE_LO: 0x%08lx, SWAP:%lu", BITS(ib, 2, 32), BITS(ib, 0, 2)); - decoder->pm4.next_ib_state.ib_addr_lo = BITS(ib, 2, 32); + decoder->pm4.next_ib_state.ib_addr_lo = BITS(ib, 2, 32) << 2; break; case 1: printf("IB_BASE_HI: 0x%08lx", BITS(ib, 0, 16)); decoder->pm4.next_ib_state.ib_addr_hi = BITS(ib, 0, 16); -- 2.12.0