diff options
Diffstat (limited to 'xpp/xbus-core.h')
-rw-r--r-- | xpp/xbus-core.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/xpp/xbus-core.h b/xpp/xbus-core.h index de6e859..2ebb3c0 100644 --- a/xpp/xbus-core.h +++ b/xpp/xbus-core.h @@ -60,6 +60,7 @@ enum { XBUS_N_TX_BYTES, XBUS_N_RX_BYTES, XBUS_N_TX_PCM_FRAG, + XBUS_N_RX_CMD, XBUS_N_TX_CMD, }; @@ -81,6 +82,7 @@ static struct xbus_counters { C_(TX_BYTES), C_(RX_BYTES), C_(TX_PCM_FRAG), + C_(RX_CMD), C_(TX_CMD), }; @@ -129,7 +131,7 @@ struct xbus { char busname[XBUS_NAMELEN]; /* set by xbus_new() */ /* low-level bus drivers set these 2 fields */ - char busdesc[XBUS_DESCLEN]; + char location[XBUS_DESCLEN]; char label[LABEL_SIZE]; struct xbus_transport transport; @@ -152,11 +154,13 @@ struct xbus { enum sync_mode sync_mode; struct timer_list command_timer; unsigned int xbus_frag_count; - struct xframe_queue pcm_tospan[2]; /* double buffer */ - struct xpp_timing timing; + struct xframe_queue pcm_tospan; + + struct xpp_ticker ticker; /* for tick rate */ + struct xpp_drift drift; /* for tick offset */ + atomic_t pcm_rx_counter; unsigned int global_counter; - long sync_offset_usec; /* Device-Model */ struct device astribank; @@ -173,6 +177,12 @@ struct xbus { unsigned long max_rx_sync; unsigned long min_rx_sync; unsigned long max_rx_process; /* packet processing time (usec) */ +#ifdef SAMPLE_TICKS +#define SAMPLE_SIZE 1000 + int sample_ticks[SAMPLE_SIZE]; + bool sample_running; + int sample_pos; +#endif struct xbus_poller *poller; @@ -238,7 +248,7 @@ int xbus_log(xbus_t *xbus, xpd_t *xpd, int direction, const void *buf, unsigned #endif /* Frame handling */ -void dump_xframe(const char msg[], const xbus_t *xbus, const xframe_t *xframe); +void dump_xframe(const char msg[], const xbus_t *xbus, const xframe_t *xframe, int print_dbg); int send_cmd_frame(xbus_t *xbus, xframe_t *xframe); /* |