[PATCH umr] Continue decoding a PDB when using --vm-decode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux