asix-sigma: Introduce function to read DRAM cluster timestamp

Introduce helper function which returns the timestamp of DRAM cluster
and use it in download_capture().

Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
Marek Vasut 2014-04-20 22:36:55 +02:00 committed by Bert Vermeulen
parent e69ad48e08
commit 3513d96569
1 changed files with 11 additions and 1 deletions

View File

@ -929,6 +929,15 @@ static int get_trigger_offset(uint16_t *samples, uint16_t last_sample,
return i & 0x7; return i & 0x7;
} }
/*
* Return the timestamp of "DRAM cluster".
*/
static uint16_t sigma_dram_cluster_ts(struct sigma_dram_cluster *cluster)
{
return (cluster->timestamp_hi << 8) | cluster->timestamp_lo;
}
/* /*
* Decode chunk of 1024 bytes, 64 clusters, 7 events per cluster. * Decode chunk of 1024 bytes, 64 clusters, 7 events per cluster.
* Each event is 20ns apart, and can contain multiple samples. * Each event is 20ns apart, and can contain multiple samples.
@ -1127,7 +1136,8 @@ static int download_capture(struct sr_dev_inst *sdi)
/* This is the first DRAM line, so find the initial timestamp. */ /* This is the first DRAM line, so find the initial timestamp. */
if (dl_lines_done == 0) { if (dl_lines_done == 0) {
devc->state.lastts = RL16(buf) - 1; devc->state.lastts =
sigma_dram_cluster_ts(&dram_line[0].cluster[0]);
devc->state.lastsample = 0; devc->state.lastsample = 0;
} }