asix-sigma: Use proper structure for DRAM lines
Use proper structure instead of plain buffer of uint8_t for the contents of DRAM in download_capture(). This is beneficial as we can interpret the contents easily. Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
3513d96569
commit
f41a4cae49
|
@ -947,10 +947,11 @@ static uint16_t sigma_dram_cluster_ts(struct sigma_dram_cluster *cluster)
|
||||||
* For 50 MHz and below, events contain one sample for each channel,
|
* For 50 MHz and below, events contain one sample for each channel,
|
||||||
* spread 20 ns apart.
|
* spread 20 ns apart.
|
||||||
*/
|
*/
|
||||||
static int decode_chunk_ts(uint8_t *buf, uint16_t *lastts,
|
static int decode_chunk_ts(struct sigma_dram_line *dram_line, uint16_t *lastts,
|
||||||
uint16_t *lastsample, int triggerpos,
|
uint16_t *lastsample, int triggerpos,
|
||||||
uint16_t limit_chunk, void *cb_data)
|
uint16_t limit_chunk, void *cb_data)
|
||||||
{
|
{
|
||||||
|
uint8_t *buf = (uint8_t *)dram_line;
|
||||||
struct sr_dev_inst *sdi = cb_data;
|
struct sr_dev_inst *sdi = cb_data;
|
||||||
struct dev_context *devc = sdi->priv;
|
struct dev_context *devc = sdi->priv;
|
||||||
uint16_t tsdiff, ts;
|
uint16_t tsdiff, ts;
|
||||||
|
@ -1083,7 +1084,6 @@ static int download_capture(struct sr_dev_inst *sdi)
|
||||||
struct dev_context *devc = sdi->priv;
|
struct dev_context *devc = sdi->priv;
|
||||||
const int chunks_per_read = 32;
|
const int chunks_per_read = 32;
|
||||||
struct sigma_dram_line *dram_line;
|
struct sigma_dram_line *dram_line;
|
||||||
unsigned char *buf;
|
|
||||||
int bufsz;
|
int bufsz;
|
||||||
uint32_t stoppos, triggerpos;
|
uint32_t stoppos, triggerpos;
|
||||||
struct sr_datafeed_packet packet;
|
struct sr_datafeed_packet packet;
|
||||||
|
@ -1098,8 +1098,6 @@ static int download_capture(struct sr_dev_inst *sdi)
|
||||||
if (!dram_line)
|
if (!dram_line)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
buf = (unsigned char *)dram_line;
|
|
||||||
|
|
||||||
sr_info("Downloading sample data.");
|
sr_info("Downloading sample data.");
|
||||||
|
|
||||||
/* Stop acquisition. */
|
/* Stop acquisition. */
|
||||||
|
@ -1130,7 +1128,8 @@ static int download_capture(struct sr_dev_inst *sdi)
|
||||||
/* We can download only up-to 32 DRAM lines in one go! */
|
/* We can download only up-to 32 DRAM lines in one go! */
|
||||||
dl_lines_curr = MIN(chunks_per_read, dl_lines_total);
|
dl_lines_curr = MIN(chunks_per_read, dl_lines_total);
|
||||||
|
|
||||||
bufsz = sigma_read_dram(dl_lines_done, dl_lines_curr, buf, devc);
|
bufsz = sigma_read_dram(dl_lines_done, dl_lines_curr,
|
||||||
|
(uint8_t *)dram_line, devc);
|
||||||
/* TODO: Check bufsz. For now, just avoid compiler warnings. */
|
/* TODO: Check bufsz. For now, just avoid compiler warnings. */
|
||||||
(void)bufsz;
|
(void)bufsz;
|
||||||
|
|
||||||
|
@ -1152,7 +1151,7 @@ static int download_capture(struct sr_dev_inst *sdi)
|
||||||
if (dl_lines_done + i == trg_line)
|
if (dl_lines_done + i == trg_line)
|
||||||
trigger_line = trg_line;
|
trigger_line = trg_line;
|
||||||
|
|
||||||
decode_chunk_ts(buf + (i * CHUNK_SIZE),
|
decode_chunk_ts(dram_line + i,
|
||||||
&devc->state.lastts,
|
&devc->state.lastts,
|
||||||
&devc->state.lastsample,
|
&devc->state.lastsample,
|
||||||
trigger_line, dl_limit, sdi);
|
trigger_line, dl_limit, sdi);
|
||||||
|
|
Loading…
Reference in New Issue