LLC2_API
|
llcontrol-core shared definitions. More...
Go to the source code of this file.
Defines | |
#define | HOST_TIMING 1 |
#define | IGNORE_COUNTER_STOP 0 |
#define | POLLALERT(ipoll, message) if ( (++ipoll&0xfffff) == 0 ) fprintf( stderr, message ) |
#define | INIT_TIMER get_elapsed_microseconds(1) |
#define | MARK_TIME(t, ident) |
#define | FOREACHCARD_MARK_TIME(t, ident) FOREACHCARD{ MARK_TIME(t, ident); } |
#define | TIMER_CHECK_OVERFLOW if (get_elapsed_microseconds(0) > 99000) INIT_TIMER |
Functions | |
void | appEnterLLC_SYNC_2VAO32 (int icard, struct MU *mu, struct TestDescription *td) |
set up LLCV2_INIT buffer and enter mode. | |
void | initV2 (struct TestDescription *td) |
u32 | commandModifiers (struct TestDescription *td) |
static void | updateTargetAddr (u32 cmd, struct Card *card, unsigned offset) |
static void * | td_get_next_dac_data (struct TestDescription *td) |
void | doApplicationWork (struct TestDescription *td, u32 offset) |
void | v2_updateTstats (u32 cmd, struct Card *card, struct TimingStats *tstats) |
updates timing stats from embedded host buffer data | |
u32 | card_v2_WaitDmaDone (struct Card *card) |
updates timing stats from embedded host buffer data | |
void | doPostShotAnalysis (struct TestDescription *td) |
void | updateTimingStats (struct TimingStats *buffer, int iter, struct TimingStats *tstats) |
Variables | |
void(* | updateTstats )(u32 cmd, struct Card *card, struct TimingStats *tstats) |
defaults to V1 mbox. | |
u32(* | waitDmaDone )(struct Card *c) |
virtual function to block until DMA done. |
llcontrol-core shared definitions.
Definition in file llcontrol-core.h.
#define FOREACHCARD_MARK_TIME | ( | t, | |
ident | |||
) | FOREACHCARD{ MARK_TIME(t, ident); } |
Definition at line 59 of file llcontrol-core.h.
#define HOST_TIMING 1 |
Definition at line 38 of file llcontrol-core.h.
#define IGNORE_COUNTER_STOP 0 |
Definition at line 39 of file llcontrol-core.h.
#define INIT_TIMER get_elapsed_microseconds(1) |
Definition at line 55 of file llcontrol-core.h.
Referenced by measureBridge(), and measureBridgeStats().
#define MARK_TIME | ( | t, | |
ident | |||
) |
do { \ tstats[icard].test_points[t] = get_elapsed_microseconds(0);\ } while(0)
Definition at line 56 of file llcontrol-core.h.
#define POLLALERT | ( | ipoll, | |
message | |||
) | if ( (++ipoll&0xfffff) == 0 ) fprintf( stderr, message ) |
Definition at line 41 of file llcontrol-core.h.
#define TIMER_CHECK_OVERFLOW if (get_elapsed_microseconds(0) > 99000) INIT_TIMER |
Definition at line 60 of file llcontrol-core.h.
void appEnterLLC_SYNC_2VAO32 | ( | int | icard, |
struct MU * | mu, | ||
struct TestDescription * | td | ||
) |
set up LLCV2_INIT buffer and enter mode.
Buffer set up as 4K block at offset 0
set up for single 4K buffer
uses V2 synchronization
Definition at line 429 of file llcontrol-core.cpp.
References TestDescription::ao32_count, TestDescription::ao32_ids, TestDescription::arg, BP_FC_SET_LLCV2_INIT, card_sync_2v_WaitDmaDone(), TestDescription::cards, Card::channels, TestDescription::clkpos, TestDescription::ARG::divisor, EACHBUF, enterLLC_SYNC_ECM(), getBusAddr(), getSlavePa(), getVaddr(), TestDescription::internal_loopback, LLCV2_AI_HSBT, LLCV2_AO_HSBS, llcv2_hb_offset, LLCV2_INIT_AI_HSBT, LLCV2_INIT_AO32PA0, LLCV2_INIT_AO_HSBS, LLCV2_INIT_MAGIC_AO32, LLCV2_INIT_MARKER, MASTER, PRINTF, Card::sync_2v_offset_status_hsbt, sync_2v_updateTstats(), Card::tlatch, TestDescription::trpos, updateTstats, and waitDmaDone.
Referenced by LL_ControlSystemI::Arm().
updates timing stats from embedded host buffer data
Definition at line 129 of file llcontrol-core.cpp.
References Card::buf, getVaddr(), LLCV2_OFFSET_STATUS_HSBT, llv2WaitDmaDone(), and Card::mbx.
u32 commandModifiers | ( | struct TestDescription * | td | ) |
void doApplicationWork | ( | struct TestDescription * | td, |
u32 | offset | ||
) |
void doPostShotAnalysis | ( | struct TestDescription * | td | ) |
Definition at line 644 of file llcontrol-core.cpp.
References TestDescription::do_work, doDmaBufDataOutput(), doWorkBufDataOutput(), dumpTimingStats(), dumpTimingStatsBin(), TestDescription::outfname, TestDescription::tlog, and TestDescription::tlog_binfile.
Referenced by LL_ControlSystemI::~LL_ControlSystemI().
void initV2 | ( | struct TestDescription * | td | ) |
static void* td_get_next_dac_data | ( | struct TestDescription * | td | ) | [inline, static] |
Definition at line 99 of file llcontrol-core.h.
References TestDescription::dac_cursor, TestDescription::dac_data, TestDescription::dac_data_samples, and DAC_SAMPLE_SIZE.
Definition at line 90 of file llcontrol-core.h.
References Card::buf, getBusAddr(), llSetAddr(), Card::mbx, PRINTF, and Card::slot.
Referenced by LL_ControlSystemI::Arm().
void updateTimingStats | ( | struct TimingStats * | buffer, |
int | iter, | ||
struct TimingStats * | tstats | ||
) |
Definition at line 668 of file llcontrol-core.cpp.
void v2_updateTstats | ( | u32 | cmd, |
struct Card * | card, | ||
struct TimingStats * | tstats | ||
) |
updates timing stats from embedded host buffer data
Definition at line 114 of file llcontrol-core.cpp.
References BP_MB_LLC_CSR, BP_MB_LLC_TINST, Card::buf, getVaddr(), LLC_GET_TCYCLE, LLCV2_OFFSET_STATUS_HSBT, LLCV2_STATUS_TINST, llv2_extend32(), TimingStats::tinst, and TimingStats::tprocess.
void(* updateTstats)(u32 cmd, struct Card *card, struct TimingStats *tstats) |
defaults to V1 mbox.
Definition at line 125 of file llcontrol-core.cpp.
Referenced by appEnterLLC_SYNC_2VAO32(), and LL_ControlSystemI::IO().
u32(* waitDmaDone)(struct Card *c) |
virtual function to block until DMA done.
defaults to V1 mbox
Definition at line 137 of file llcontrol-core.cpp.
Referenced by appEnterLLC_SYNC_2VAO32(), and LL_ControlSystemI::IO().