Use new output format for 64-bit timestamp.

1. Use [second.microsecond] for 64-bit timestamp.
2. Keep previous format for 32-bit timestamp.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
This commit is contained in:
Yan Wang 2017-10-13 18:06:09 +08:00 committed by Liam Girdwood
parent 7f98c95c2a
commit 082b84ac61
1 changed files with 18 additions and 3 deletions

View File

@ -113,6 +113,9 @@ static void show_trace(uint64_t val, uint64_t addr, uint64_t *timestamp, float c
uint32_t class; uint32_t class;
uint64_t delta = val - *timestamp; uint64_t delta = val - *timestamp;
float fdelta = to_usecs(delta, clk); float fdelta = to_usecs(delta, clk);
float us = 0.0f;
uint64_t s = 0, ms = 0;
uint64_t ds = 0, dms = 0;
/* timestamp or value ? */ /* timestamp or value ? */
if ((addr % align) == 0) { if ((addr % align) == 0) {
@ -128,9 +131,21 @@ static void show_trace(uint64_t val, uint64_t addr, uint64_t *timestamp, float c
fdelta = to_usecs(delta, clk); fdelta = to_usecs(delta, clk);
} }
if (align == 8) {
/* 32-bit timestamp */
printf("trace.io: timestamp 0x%16.16lx (%2.2f us) \tdelta 0x%16.16lx (%2.2f us)\t", printf("trace.io: timestamp 0x%16.16lx (%2.2f us) \tdelta 0x%16.16lx (%2.2f us)\t",
(uint64_t)val, to_usecs(val, clk), (uint64_t)val, to_usecs(val, clk),
(uint64_t)delta, fdelta); (uint64_t)delta, fdelta);
} else {
/* 64-bit timestamp */
us = to_usecs(val, clk);
s = us / 1000000;
ms = us / 1000 - s * 1000;
ds = fdelta / 1000000;
dms = fdelta / 1000 - ds * 1000;
printf("trace.io: timestamp [%lu.%lu] \tdelta [%lu.%lu]\t",
s, ms, ds, dms);
}
*timestamp = val; *timestamp = val;
return; return;
} }