We were using the VMID field literally when inside an IB it's inherited instead Signed-off-by: Tom St Denis <tom.stdenis at amd.com> --- src/lib/dump_ib.c | 8 ++++---- src/lib/ring_decode.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/dump_ib.c b/src/lib/dump_ib.c index 74a3241c309e..cbf859e3633b 100644 --- a/src/lib/dump_ib.c +++ b/src/lib/dump_ib.c @@ -39,10 +39,10 @@ void umr_dump_ib(struct umr_asic *asic, struct umr_ring_decoder *decoder) if (decoder->src.ib_addr == 0) printf("ring[%s%u%s]", BLUE, (unsigned)decoder->src.addr, RST); else - printf("IB[%s%u%s] at %s%d%s@%s0x%llx%s", - BLUE, (unsigned)decoder->src.addr, RST, - YELLOW, (int)decoder->src.vmid, RST, - YELLOW, (unsigned long long)decoder->src.ib_addr, RST); + printf("IB[%s%u%s@%s0x%llx%s + %s0x%x%s]", + BLUE, (int)decoder->src.vmid, RST, + YELLOW, (unsigned long long)decoder->src.ib_addr, RST, + YELLOW, (unsigned)decoder->src.addr * 4, RST); printf("\n"); diff --git a/src/lib/ring_decode.c b/src/lib/ring_decode.c index c1d6bcb98bae..42265e0a74c9 100644 --- a/src/lib/ring_decode.c +++ b/src/lib/ring_decode.c @@ -540,7 +540,7 @@ static void print_decode_pm4_pkt3(struct umr_asic *asic, struct umr_ring_decoder break; case 2: printf("IB_SIZE:%s%lu%s, VMID: %s%lu%s", BLUE, BITS(ib, 0, 20), RST, BLUE, BITS(ib, 24, 32), RST); decoder->pm4.next_ib_state.ib_size = BITS(ib, 0, 20) * 4; - decoder->pm4.next_ib_state.ib_vmid = BITS(ib, 24, 32); + decoder->pm4.next_ib_state.ib_vmid = decoder->next_ib_info.vmid ? decoder->next_ib_info.vmid : BITS(ib, 24, 32); add_ib_pm4(decoder); break; default: printf("Invalid word for opcode 0x%02lx", (unsigned long)decoder->pm4.cur_opcode); -- 2.14.3