[Sound-open-firmware] [PATCH] Use new output format for 64-bit timestamp.
yan.wang at linux.intel.com
yan.wang at linux.intel.com
Fri Oct 13 12:06:09 CEST 2017
From: Yan Wang <yan.wang at linux.intel.com>
1. Use [second.microsecond] for 64-bit timestamp.
2. Keep previous format for 32-bit timestamp.
Signed-off-by: Yan Wang <yan.wang at linux.intel.com>
---
rmbox/rmbox.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/rmbox/rmbox.c b/rmbox/rmbox.c
index 638158c..d650d30 100644
--- a/rmbox/rmbox.c
+++ b/rmbox/rmbox.c
@@ -113,6 +113,9 @@ static void show_trace(uint64_t val, uint64_t addr, uint64_t *timestamp, float c
uint32_t class;
uint64_t delta = val - *timestamp;
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 ? */
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);
}
- 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)delta, fdelta);
+ if (align == 8) {
+ /* 32-bit timestamp */
+ 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)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;
return;
}
--
2.7.4
More information about the Sound-open-firmware
mailing list