axipmon
Xilinx Vitis Drivers API Documentation
xaxipmon.h File Reference

Data Structures

struct  XAxiPmon_Config
 This typedef contains configuration information for the AXI Performance Monitor device. More...
 
struct  XAxiPmon
 The driver's instance data. More...
 

Macros

#define XAxiPmon_IntrGlobalEnable(InstancePtr)
 This routine enables the Global Interrupt. More...
 
#define XAxiPmon_IntrGlobalDisable(InstancePtr)
 This routine disables the Global Interrupt. More...
 
#define XAxiPmon_IntrEnable(InstancePtr, Mask)
 This routine enables interrupt(s). More...
 
#define XAxiPmon_IntrDisable(InstancePtr, Mask)
 This routine disable interrupt(s). More...
 
#define XAxiPmon_IntrClear(InstancePtr, Mask)
 This routine clears the specified interrupt(s). More...
 
#define XAxiPmon_IntrGetStatus(InstancePtr)
 This routine returns the Interrupt Status Register. More...
 
#define XAxiPmon_EnableGlobalClkCounter(InstancePtr)
 This function enables the Global Clock Counter. More...
 
#define XAxiPmon_DisableGlobalClkCounter(InstancePtr)
 This function disbles the Global Clock Counter. More...
 
#define XAxiPmon_EnableFlag(InstancePtr, Flag)
 This function enables the specified flag in Flag Control Register. More...
 
#define XAxiPmon_DisableFlag(InstancePtr, Flag)
 This function disables the specified flag in Flag Control Register. More...
 
#define XAxiPmon_LoadSampleIntervalCounter(InstancePtr)
 This function loads the sample interval register value into the sample interval counter. More...
 
#define XAxiPmon_EnableSampleIntervalCounter(InstancePtr)
 This enables the down count of the sample interval counter. More...
 
#define XAxiPmon_DisableSampleIntervalCounter(InstancePtr)
 This disables the down count of the sample interval counter. More...
 
#define XAxiPmon_EnableMetricCounterReset(InstancePtr)
 This enables Reset of Metric Counters when Sample Interval Counter lapses. More...
 
#define XAxiPmon_DisableMetricCounterReset(InstancePtr)
 This disables the down count of the sample interval counter. More...
 
#define XAxiPmon_EnableIDFilter(InstancePtr)
 This function enables the ID Filter Masking. More...
 
#define XAxiPmon_DisableIDFilter(InstancePtr)
 This function disbles the ID Filter masking. More...
 
#define XAxiPmon_SampleMetrics(InstancePtr)   XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, XAPM_SR_OFFSET);
 This function samples Metric Counters to Sampled Metric Counters by reading Sample Register and also returns interval. More...
 
Macro for Maximum number of Counters
#define XAPM_MAX_COUNTERS   10U
 Maximum number of Counters. More...
 
#define XAPM_MAX_COUNTERS_PROFILE   48U
 Maximum number of Counters. More...
 
Indices for Metric Counters and Sampled Metric Coounters used with
     XAxiPmon_GetMetricCounter and XAxiPmon_GetSampledMetricCounter APIs
#define XAPM_METRIC_COUNTER_0   0U
 Metric Counter 0 Register Index. More...
 
#define XAPM_METRIC_COUNTER_1   1U
 Metric Counter 1 Register Index. More...
 
#define XAPM_METRIC_COUNTER_2   2U
 Metric Counter 2 Register Index. More...
 
#define XAPM_METRIC_COUNTER_3   3U
 Metric Counter 3 Register Index. More...
 
#define XAPM_METRIC_COUNTER_4   4U
 Metric Counter 4 Register Index. More...
 
#define XAPM_METRIC_COUNTER_5   5U
 Metric Counter 5 Register Index. More...
 
#define XAPM_METRIC_COUNTER_6   6U
 Metric Counter 6 Register Index. More...
 
#define XAPM_METRIC_COUNTER_7   7U
 Metric Counter 7 Register Index. More...
 
#define XAPM_METRIC_COUNTER_8   8U
 Metric Counter 8 Register Index. More...
 
#define XAPM_METRIC_COUNTER_9   9U
 Metric Counter 9 Register Index. More...
 
Indices for Incrementers and Sampled Incrementers used with
     XAxiPmon_GetIncrementer and XAxiPmon_GetSampledIncrementer APIs
#define XAPM_INCREMENTER_0   0U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_1   1U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_2   2U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_3   3U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_4   4U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_5   5U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_6   6U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_7   7U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_8   8U
 Metric Counter 0 Register Index. More...
 
#define XAPM_INCREMENTER_9   9U
 Metric Counter 0 Register Index. More...
 
Macros for Metric Selector Settings
#define XAPM_METRIC_SET_0   0U
 Write Transaction Count. More...
 
#define XAPM_METRIC_SET_1   1U
 Read Transaction Count. More...
 
#define XAPM_METRIC_SET_2   2U
 Write Byte Count. More...
 
#define XAPM_METRIC_SET_3   3U
 Read Byte Count. More...
 
#define XAPM_METRIC_SET_4   4U
 Write Beat Count. More...
 
#define XAPM_METRIC_SET_5   5U
 Total Read Latency. More...
 
#define XAPM_METRIC_SET_6   6U
 Total Write Latency. More...
 
#define XAPM_METRIC_SET_7   7U
 Slv_Wr_Idle_Cnt. More...
 
#define XAPM_METRIC_SET_8   8U
 Mst_Rd_Idle_Cnt. More...
 
#define XAPM_METRIC_SET_9   9U
 Num_BValids. More...
 
#define XAPM_METRIC_SET_10   10U
 Num_WLasts. More...
 
#define XAPM_METRIC_SET_11   11U
 Num_RLasts. More...
 
#define XAPM_METRIC_SET_12   12U
 Minimum Write Latency. More...
 
#define XAPM_METRIC_SET_13   13U
 Maximum Write Latency. More...
 
#define XAPM_METRIC_SET_14   14U
 Minimum Read Latency. More...
 
#define XAPM_METRIC_SET_15   15U
 Maximum Read Latency. More...
 
#define XAPM_METRIC_SET_16   16U
 Transfer Cycle Count. More...
 
#define XAPM_METRIC_SET_17   17U
 Packet Count. More...
 
#define XAPM_METRIC_SET_18   18U
 Data Byte Count. More...
 
#define XAPM_METRIC_SET_19   19U
 Position Byte Count. More...
 
#define XAPM_METRIC_SET_20   20U
 Null Byte Count. More...
 
#define XAPM_METRIC_SET_21   21U
 Slv_Idle_Cnt. More...
 
#define XAPM_METRIC_SET_22   22U
 Mst_Idle_Cnt. More...
 
#define XAPM_METRIC_SET_30   30U
 External event count. More...
 
Macros for Maximum number of Agents
#define XAPM_MAX_AGENTS   8U
 Maximum number of Agents. More...
 
Macros for Flags in Flag Enable Control Register
#define XAPM_FLAG_WRADDR   0x00000001
 Write Address Flag. More...
 
#define XAPM_FLAG_FIRSTWR   0x00000002
 First Write Flag. More...
 
#define XAPM_FLAG_LASTWR   0x00000004
 Last Write Flag. More...
 
#define XAPM_FLAG_RESPONSE   0x00000008
 Response Flag. More...
 
#define XAPM_FLAG_RDADDR   0x00000010
 Read Address Flag. More...
 
#define XAPM_FLAG_FIRSTRD   0x00000020
 First Read Flag. More...
 
#define XAPM_FLAG_LASTRD   0x00000040
 Last Read Flag. More...
 
#define XAPM_FLAG_SWDATA   0x00010000
 Software-written Data Flag. More...
 
#define XAPM_FLAG_EVENT   0x00020000
 Last Read Flag. More...
 
#define XAPM_FLAG_EVNTSTOP   0x00040000
 Last Read Flag. More...
 
#define XAPM_FLAG_EVNTSTART   0x00080000
 Last Read Flag. More...
 
#define XAPM_FLAG_GCCOVF   0x00100000
 Global Clock Counter Overflow Flag. More...
 
#define XAPM_FLAG_SCLAPSE   0x00200000
 Sample Counter Lapse Flag. More...
 
#define XAPM_FLAG_MC0   0x00400000U
 Metric Counter 0 Flag. More...
 
#define XAPM_FLAG_MC1   0x00800000U
 Metric Counter 1 Flag. More...
 
#define XAPM_FLAG_MC2   0x01000000U
 Metric Counter 2 Flag. More...
 
#define XAPM_FLAG_MC3   0x02000000U
 Metric Counter 3 Flag. More...
 
#define XAPM_FLAG_MC4   0x04000000U
 Metric Counter 4 Flag. More...
 
#define XAPM_FLAG_MC5   0x08000000U
 Metric Counter 5 Flag. More...
 
#define XAPM_FLAG_MC6   0x10000000U
 Metric Counter 6 Flag. More...
 
#define XAPM_FLAG_MC7   0x20000000U
 Metric Counter 7 Flag. More...
 
#define XAPM_FLAG_MC8   0x40000000U
 Metric Counter 8 Flag. More...
 
#define XAPM_FLAG_MC9   0x80000000U
 Metric Counter 9 Flag. More...
 
Macros for Read/Write Latency Start and End points
#define XAPM_LATENCY_ADDR_ISSUE   0U
 Address Issue as start point for Latency calculation. More...
 
#define XAPM_LATENCY_ADDR_ACCEPT   1U
 Address Acceptance as start point for Latency calculation. More...
 
#define XAPM_LATENCY_LASTRD   0U
 Last Read as end point for Latency calculation. More...
 
#define XAPM_LATENCY_LASTWR   0U
 Last Write as end point for Latency calculation. More...
 
#define XAPM_LATENCY_FIRSTRD   1U
 First Read as end point for Latency calculation. More...
 
#define XAPM_LATENCY_FIRSTWR   1U
 First Write as end point for Latency calculation. More...
 
Macros for Modes of APM
#define XAPM_MODE_TRACE   2U
 APM in Trace mode. More...
 
#define XAPM_MODE_PROFILE   1U
 APM in Profile mode. More...
 
#define XAPM_MODE_ADVANCED   0U
 APM in Advanced mode. More...
 

Functions

XAxiPmon_ConfigXAxiPmon_LookupConfig (u16 DeviceId)
 Functions in xaxipmon_sinit.c. More...
 
s32 XAxiPmon_CfgInitialize (XAxiPmon *InstancePtr, XAxiPmon_Config *ConfigPtr, UINTPTR EffectiveAddr)
 This function initializes a specific XAxiPmon device/instance. More...
 
s32 XAxiPmon_ResetMetricCounter (XAxiPmon *InstancePtr)
 This function resets all Metric Counters and Sampled Metric Counters of AXI Performance Monitor. More...
 
void XAxiPmon_ResetGlobalClkCounter (XAxiPmon *InstancePtr)
 This function resets Global Clock Counter of AXI Performance Monitor. More...
 
s32 XAxiPmon_ResetFifo (XAxiPmon *InstancePtr)
 This function resets Streaming FIFO of AXI Performance Monitor. More...
 
void XAxiPmon_SetIncrementerRange (XAxiPmon *InstancePtr, u8 IncrementerNum, u16 RangeUpper, u16 RangeLower)
 This function sets Ranges for Incrementers depending on parameters passed. More...
 
void XAxiPmon_GetIncrementerRange (XAxiPmon *InstancePtr, u8 IncrementerNum, u16 *RangeUpper, u16 *RangeLower)
 This function returns the Ranges of Incrementers Registers. More...
 
void XAxiPmon_SetSampleInterval (XAxiPmon *InstancePtr, u32 SampleInterval)
 This function sets the Sample Interval Register. More...
 
void XAxiPmon_GetSampleInterval (XAxiPmon *InstancePtr, u32 *SampleInterval)
 This function returns the contents of Sample Interval Register. More...
 
s32 XAxiPmon_SetMetrics (XAxiPmon *InstancePtr, u8 Slot, u8 Metrics, u8 CounterNum)
 This function sets Metrics for specified Counter in the corresponding Metric Selector Register. More...
 
s32 XAxiPmon_GetMetrics (XAxiPmon *InstancePtr, u8 CounterNum, u8 *Metrics, u8 *Slot)
 This function returns Metrics in the specified Counter from the corresponding Metric Selector Register. More...
 
void XAxiPmon_GetGlobalClkCounter (XAxiPmon *InstancePtr, u32 *CntHighValue, u32 *CntLowValue)
 This function returns the contents of the Global Clock Counter Register. More...
 
u32 XAxiPmon_GetMetricCounter (XAxiPmon *InstancePtr, u32 CounterNum)
 This function returns the contents of the Metric Counter Register. More...
 
u32 XAxiPmon_GetSampledMetricCounter (XAxiPmon *InstancePtr, u32 CounterNum)
 This function returns the contents of the Sampled Metric Counter Register. More...
 
u32 XAxiPmon_GetIncrementer (XAxiPmon *InstancePtr, u32 IncrementerNum)
 This function returns the contents of the Incrementer Register. More...
 
u32 XAxiPmon_GetSampledIncrementer (XAxiPmon *InstancePtr, u32 IncrementerNum)
 This function returns the contents of the Sampled Incrementer Register. More...
 
void XAxiPmon_SetSwDataReg (XAxiPmon *InstancePtr, u32 SwData)
 This function sets Software-written Data Register. More...
 
u32 XAxiPmon_GetSwDataReg (XAxiPmon *InstancePtr)
 This function returns contents of Software-written Data Register. More...
 
s32 XAxiPmon_StartEventLog (XAxiPmon *InstancePtr, u32 FlagEnables)
 This function enables the following in the AXI Performance Monitor: More...
 
s32 XAxiPmon_StopEventLog (XAxiPmon *InstancePtr)
 This function disables the following in the AXI Performance Monitor: More...
 
s32 XAxiPmon_StartCounters (XAxiPmon *InstancePtr, u32 SampleInterval)
 This function enables the following in the AXI Performance Monitor: More...
 
s32 XAxiPmon_StopCounters (XAxiPmon *InstancePtr)
 This function disables the following in the AXI Performance Monitor: More...
 
void XAxiPmon_EnableMetricsCounter (XAxiPmon *InstancePtr)
 This function enables Metric Counters. More...
 
void XAxiPmon_DisableMetricsCounter (XAxiPmon *InstancePtr)
 This function disables the Metric Counters. More...
 
void XAxiPmon_SetLogEnableRanges (XAxiPmon *InstancePtr, u32 CounterNum, u16 RangeUpper, u16 RangeLower)
 This function sets the Upper and Lower Ranges for specified Metric Counter Log Enable Register.Event Logging starts when corresponding Metric Counter value falls in between these ranges. More...
 
void XAxiPmon_GetLogEnableRanges (XAxiPmon *InstancePtr, u32 CounterNum, u16 *RangeUpper, u16 *RangeLower)
 This function returns the Ranges of specified Metric Counter Log Enable Register. More...
 
void XAxiPmon_EnableEventLog (XAxiPmon *InstancePtr)
 This function enables Event Logging. More...
 
void XAxiPmon_EnableMetricCounterTrigger (XAxiPmon *InstancePtr)
 This function enables External trigger pulse so that Metric Counters can be started on external trigger pulse for a Slot. More...
 
void XAxiPmon_DisableMetricCounterTrigger (XAxiPmon *InstancePtr)
 This function disables the External trigger pulse used to start Metric Counters on external trigger pulse for a Slot. More...
 
void XAxiPmon_EnableEventLogTrigger (XAxiPmon *InstancePtr)
 This function enables External trigger pulse for Event Log so that Event Logging can be started on external trigger pulse for a Slot. More...
 
void XAxiPmon_DisableEventLogTrigger (XAxiPmon *InstancePtr)
 This function disables the External trigger pulse used to start Event Log on external trigger pulse for a Slot. More...
 
const char * XAxiPmon_GetMetricName (u8 Metrics)
 This function returns a name for a given Metric. More...
 
void XAxiPmon_SetWriteId (XAxiPmon *InstancePtr, u32 WriteId)
 This function sets Write ID in ID register. More...
 
void XAxiPmon_SetReadId (XAxiPmon *InstancePtr, u32 ReadId)
 This function sets Read ID in ID register. More...
 
u32 XAxiPmon_GetWriteId (XAxiPmon *InstancePtr)
 This function returns Write ID in ID register. More...
 
u32 XAxiPmon_GetReadId (XAxiPmon *InstancePtr)
 This function returns Read ID in ID register. More...
 
void XAxiPmon_SetWrLatencyStart (XAxiPmon *InstancePtr, u8 Param)
 This function sets Latency Start point to calculate write latency. More...
 
void XAxiPmon_SetWrLatencyEnd (XAxiPmon *InstancePtr, u8 Param)
 This function sets Latency End point to calculate write latency. More...
 
void XAxiPmon_SetRdLatencyStart (XAxiPmon *InstancePtr, u8 Param)
 This function sets Latency Start point to calculate read latency. More...
 
void XAxiPmon_SetRdLatencyEnd (XAxiPmon *InstancePtr, u8 Param)
 This function sets Latency End point to calculate read latency. More...
 
u8 XAxiPmon_GetWrLatencyStart (XAxiPmon *InstancePtr)
 This function returns Write Latency Start point. More...
 
u8 XAxiPmon_GetWrLatencyEnd (XAxiPmon *InstancePtr)
 This function returns Write Latency End point. More...
 
u8 XAxiPmon_GetRdLatencyStart (XAxiPmon *InstancePtr)
 This function returns read Latency Start point. More...
 
u8 XAxiPmon_GetRdLatencyEnd (XAxiPmon *InstancePtr)
 This function returns Read Latency End point. More...
 
void XAxiPmon_SetWriteIdMask (XAxiPmon *InstancePtr, u32 WrMask)
 This function sets Write ID Mask in ID Mask register. More...
 
void XAxiPmon_SetReadIdMask (XAxiPmon *InstancePtr, u32 RdMask)
 This function sets Read ID Mask in ID Mask register. More...
 
u32 XAxiPmon_GetWriteIdMask (XAxiPmon *InstancePtr)
 This function returns Write ID Mask in ID Mask register. More...
 
u32 XAxiPmon_GetReadIdMask (XAxiPmon *InstancePtr)
 This function returns Read ID Mask in ID Mask register. More...
 
s32 XAxiPmon_SelfTest (XAxiPmon *InstancePtr)
 Functions in xaxipmon_selftest.c. More...