From: Tvrtko Ursulin <[email protected]>

If decoding context couldn't be created, say the local libdrm does not
support the GPU which created the error state, it is much more handy to
at least decode and dump metadata and rings.

Signed-off-by: Tvrtko Ursulin <[email protected]>
---
 tools/intel_error_decode.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/intel_error_decode.c b/tools/intel_error_decode.c
index 356ce37274f9..90a18a07ba17 100644
--- a/tools/intel_error_decode.c
+++ b/tools/intel_error_decode.c
@@ -465,7 +465,7 @@ static void decode(struct drm_intel_decode *ctx,
                       (unsigned)((head_offset + gtt_offset) & 0xffffffff));
        printf("\n");
 
-       if (decode) {
+       if (decode && ctx) {
                drm_intel_decode_set_batch_pointer(ctx, data, gtt_offset,
                                                   *count);
                drm_intel_decode(ctx);
@@ -707,7 +707,10 @@ read_data_file(FILE *file)
                        matched = sscanf(line, "  ACTHD: 0x%08x\n", &reg);
                        if (matched == 1) {
                                print_acthd(reg, ring_length);
-                               drm_intel_decode_set_head_tail(decode_ctx, reg, 
0xffffffff);
+                               if (decode_ctx)
+                                       
drm_intel_decode_set_head_tail(decode_ctx,
+                                                                      reg,
+                                                                      
0xffffffff);
                        }
 
                        matched = sscanf(line, "  PGTBL_ER: 0x%08x\n", &reg);
-- 
2.25.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to