[PATCH umr] Fix ib_addr_lo in BUFFER_CIK/BUFFER_CONST PM4 packets

Tom St Denis tom.stdenis at amd.com
Tue Aug 1 10:00:42 UTC 2017


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



More information about the amd-gfx mailing list