Previously if a PTE was hit with V=0 the decoder would stop. Now it continues but only if you're doing a --vm-decode. Signed-off-by: Tom St Denis <tom.stdenis at amd.com> Reported-by: Christian König <christian.koenig at amd.com> --- src/lib/read_vram.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/read_vram.c b/src/lib/read_vram.c index 32b024529b12..491a55f69d49 100644 --- a/src/lib/read_vram.c +++ b/src/lib/read_vram.c @@ -241,7 +241,7 @@ static int umr_access_vram_vi(struct umr_asic *asic, uint32_t vmid, (int)pte_fields.valid, (int)pte_fields.system); - if (!pte_fields.valid) + if (pdst && !pte_fields.valid) return -1; // compute starting address @@ -266,7 +266,7 @@ static int umr_access_vram_vi(struct umr_asic *asic, uint32_t vmid, (int)pte_fields.valid, (int)pte_fields.system); - if (!pte_fields.valid) + if (pdst && !pte_fields.valid) return -1; // compute starting address @@ -575,7 +575,7 @@ pde_is_pte: if (!pte_fields.system) pte_fields.page_base_addr -= vm_fb_offset; - if (!pte_fields.prt && !pte_fields.valid) + if (pdst && !pte_fields.prt && !pte_fields.valid) return -1; // compute starting address @@ -625,7 +625,7 @@ pde_is_pte: (int)pte_fields.valid, (int)pte_fields.system); - if (!pte_fields.valid) + if (pdst && !pte_fields.valid) return -1; // compute starting address -- 2.14.3