From 44bced378143fdbaace80dbf0a4bdc8aa8b6bae0 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Thu, 19 Oct 2017 22:24:58 +0100 Subject: [PATCH] rmbox: use 64bit trace data Update trace to align with FW and use 64bit data size. Signed-off-by: Liam Girdwood --- rmbox/rmbox.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/rmbox/rmbox.c b/rmbox/rmbox.c index 9313f4b..b872694 100644 --- a/rmbox/rmbox.c +++ b/rmbox/rmbox.c @@ -129,16 +129,28 @@ static void show_trace(uint64_t val, uint64_t addr, uint64_t *timestamp, double /* 64-bit timestamp */ us = to_usecs(val, clk); - printf("[%6.6f]\tdelta [%6.6f]\t", + /* empty data ? */ + if (val == 0) { + *timestamp = 0; + return; + } + + /* detect wrap around */ + if (fdelta < 1000.0 * 1000.0 * 1000.0) + printf("0x%lx [%6.6f]\tdelta [%6.6f]\t", addr, us / 1000000.0 , fdelta / 1000000.0); + else + printf("0x%lx [%6.6f]\tdelta [********]\t", addr, + us / 1000000.0); *timestamp = val; return; - } + } else if (*timestamp == 0) + return; /* check for printable values - otherwise it's a value */ if (!isprint((char)(val >> 16)) || !isprint((char)(val >> 8)) || !isprint((char)val)) { - printf("value 0x%8.8x\n", (uint32_t)val); + printf("value 0x%16.16lx\n", val); return; } @@ -237,9 +249,6 @@ trace: tmp[TRACE_BLOCK_SIZE - i - 1] = c; } - if (val == 0) - break; - show_trace(val, addr, ×tamp, clk); if (out_fd) {