summaryrefslogtreecommitdiff
path: root/xpp/xbus-core.h
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/xbus-core.h')
-rw-r--r--xpp/xbus-core.h20
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);
/*