Software Drivers

xaxipmon.c File Reference

#include "xaxipmon.h"

Functions

int XAxiPmon_CfgInitialize (XAxiPmon *InstancePtr, XAxiPmon_Config *ConfigPtr, u32 EffectiveAddr)
int XAxiPmon_ResetMetricCounter (XAxiPmon *InstancePtr)
void XAxiPmon_ResetGlobalClkCounter (XAxiPmon *InstancePtr)
int XAxiPmon_ResetFifo (XAxiPmon *InstancePtr)
void XAxiPmon_SetIncrementerRange (XAxiPmon *InstancePtr, u8 IncrementerNum, u16 RangeUpper, u16 RangeLower)
void XAxiPmon_GetIncrementerRange (XAxiPmon *InstancePtr, u8 IncrementerNum, u16 *RangeUpper, u16 *RangeLower)
void XAxiPmon_SetSampleInterval (XAxiPmon *InstancePtr, u32 SampleInterval)
void XAxiPmon_GetSampleInterval (XAxiPmon *InstancePtr, u32 *SampleInterval)
int XAxiPmon_SetMetrics (XAxiPmon *InstancePtr, u8 Slot, u8 Metrics, u8 CounterNum)
int XAxiPmon_GetMetrics (XAxiPmon *InstancePtr, u8 CounterNum, u8 *Metrics, u8 *Slot)
void XAxiPmon_GetGlobalClkCounter (XAxiPmon *InstancePtr, u32 *CntHighValue, u32 *CntLowValue)
u32 XAxiPmon_GetMetricCounter (XAxiPmon *InstancePtr, u32 CounterNum)
u32 XAxiPmon_GetSampledMetricCounter (XAxiPmon *InstancePtr, u32 CounterNum)
u32 XAxiPmon_GetIncrementer (XAxiPmon *InstancePtr, u32 IncrementerNum)
u32 XAxiPmon_GetSampledIncrementer (XAxiPmon *InstancePtr, u32 IncrementerNum)
void XAxiPmon_SetSwDataReg (XAxiPmon *InstancePtr, u32 SwData)
u32 XAxiPmon_GetSwDataReg (XAxiPmon *InstancePtr)
int XAxiPmon_StartEventLog (XAxiPmon *InstancePtr, u32 FlagEnables)
int XAxiPmon_StopEventLog (XAxiPmon *InstancePtr)
int XAxiPmon_StartCounters (XAxiPmon *InstancePtr, u32 SampleInterval)
int XAxiPmon_StopCounters (XAxiPmon *InstancePtr)
void XAxiPmon_EnableMetricsCounter (XAxiPmon *InstancePtr)
void XAxiPmon_DisableMetricsCounter (XAxiPmon *InstancePtr)
void XAxiPmon_SetLogEnableRanges (XAxiPmon *InstancePtr, u32 CounterNum, u16 RangeUpper, u16 RangeLower)
void XAxiPmon_GetLogEnableRanges (XAxiPmon *InstancePtr, u32 CounterNum, u16 *RangeUpper, u16 *RangeLower)
void XAxiPmon_EnableEventLog (XAxiPmon *InstancePtr)
void XAxiPmon_EnableMetricCounterTrigger (XAxiPmon *InstancePtr)
void XAxiPmon_DisableMetricCounterTrigger (XAxiPmon *InstancePtr)
void XAxiPmon_EnableEventLogTrigger (XAxiPmon *InstancePtr)
void XAxiPmon_DisableEventLogTrigger (XAxiPmon *InstancePtr)
const char * XAxiPmon_GetMetricName (u8 Metrics)
void XAxiPmon_SetWriteId (XAxiPmon *InstancePtr, u16 WriteId)
void XAxiPmon_SetReadId (XAxiPmon *InstancePtr, u16 ReadId)
u16 XAxiPmon_GetWriteId (XAxiPmon *InstancePtr)
u16 XAxiPmon_GetReadId (XAxiPmon *InstancePtr)
void XAxiPmon_SetWrLatencyStart (XAxiPmon *InstancePtr, u8 Param)
void XAxiPmon_SetWrLatencyEnd (XAxiPmon *InstancePtr, u8 Param)
void XAxiPmon_SetRdLatencyStart (XAxiPmon *InstancePtr, u8 Param)
void XAxiPmon_SetRdLatencyEnd (XAxiPmon *InstancePtr, u8 Param)
u8 XAxiPmon_GetWrLatencyStart (XAxiPmon *InstancePtr)
u8 XAxiPmon_GetWrLatencyEnd (XAxiPmon *InstancePtr)
u8 XAxiPmon_GetRdLatencyStart (XAxiPmon *InstancePtr)
u8 XAxiPmon_GetRdLatencyEnd (XAxiPmon *InstancePtr)
void XAxiPmon_SetWriteIdMask (XAxiPmon *InstancePtr, u16 WrMask)
void XAxiPmon_SetReadIdMask (XAxiPmon *InstancePtr, u16 RdMask)
u16 XAxiPmon_GetWriteIdMask (XAxiPmon *InstancePtr)
u16 XAxiPmon_GetReadIdMask (XAxiPmon *InstancePtr)

Detailed Description

This file contains the driver API functions that can be used to access the AXI Performance Monitor device.

Refer to the xaxipmon.h header file for more information about this driver.

Note:
None.
 MODIFICATION HISTORY:
 Ver   Who    Date     Changes
 ----- -----  -------- -----------------------------------------------------
 1.00a bss   02/27/12  First release
 2.00a bss   06/23/12  Updated to support v2_00a version of IP.
 3.00a bss   09/03/12  Deleted XAxiPmon_SetAgent, XAxiPmon_GetAgent APIs and
			modified XAxiPmon_SetMetrics, XAxiPmon_GetMetrics APIs
			to support v2_01a version of IP.
 3.01a bss   10/25/12  Added XAxiPmon_StartCounters and XAxiPmon_StopCounters
			APIs (CR #683799).
			Added XAxiPmon_StartEventLog and XAxiPmon_StopEventLog
			APIs (CR #683801).
			Added XAxiPmon_GetMetricName API (CR #683803).
			Modified XAxiPmon_SetMetrics and XAxiPmon_GetMetrics
			(CR #683746)
			Added XAxiPmon_EnableEventLog,
			XAxiPmon_DisableMetricsCounter,
			XAxiPmon_EnableMetricsCounter APIs to replace macros.
			Added XAxiPmon_SetMetricCounterCutOff,
			XAxiPmon_GetMetricCounterCutOff,
			XAxiPmon_EnableExternalTrigger and
			XAxiPmon_DisableExternalTrigger APIs to support new
			version of IP.
 4.00a bss   01/17/13  To support new version of IP:
 			Added XAxiPmon_SetLogEnableRanges,
	  		XAxiPmon_GetLogEnableRanges,
			XAxiPmon_EnableMetricCounterTrigger,
			XAxiPmon_DisableMetricCounterTrigger,
			XAxiPmon_EnableEventLogTrigger,
			XAxiPmon_DisableEventLogTrigger,
			XAxiPmon_SetWriteLatencyId,
			XAxiPmon_SetReadLatencyId,
			XAxiPmon_GetWriteLatencyId,
			XAxiPmon_GetReadLatencyId APIs and removed
			XAxiPmon_SetMetricCounterCutOff,
			XAxiPmon_GetMetricCounterCutOff,
			XAxiPmon_EnableExternalTrigger and
			XAxiPmon_DisableExternalTrigger APIs
 5.00a bss   08/26/13  To support new version of IP:
			Modified XAxiPmon_CfgInitialize to add Mode of APM and
			ScaleFactor parameter.
			Modified Assert functions depending on Mode.
			Modified XAxiPmon_GetMetricCounter and
			XAxiPmon_GetSampledMetricCounter to include
			new Counters.
			Modified XAxiPmon_SetSampleInterval and
			XAxiPmon_GetSampleInterval to remove higher 32 bit
			value of SampleInterval since Sample Interval Register
			is only 32 bit.
			Added XAxiPmon_SetWrLatencyStart,
			XAxiPmon_SetWrLatencyEnd, XAxiPmon_SetRdLatencyStart
			XAxiPmon_SetRdLatencyEnd, XAxiPmon_GetWrLatencyStart,
			XAxiPmon_GetWrLatencyEnd, XAxiPmon_GetRdLatencyStart,
			XAxiPmon_GetRdLatencyEnd, XAxiPmon_SetWriteIdMask,
			XAxiPmon_SetReadIdMask,
			XAxiPmon_GetWriteIdMask and
			XAxiPmon_GetReadIdMask APIs.
			Renamed:
			XAxiPmon_SetWriteLatencyId to XAxiPmon_SetWriteId
			XAxiPmon_SetReadLatencyId to XAxiPmon_SetReadId
			XAxiPmon_GetWriteLatencyId to XAxiPmon_GetWriteId
			XAxiPmon_SetReadLatencyId to XAxiPmon_GetReadId.
 6.2   bss  04/21/14   Updated XAxiPmon_CfgInitialize to Reset counters
			and FIFOs based on Modes(CR#782671). And if both
			profile and trace modes are present set mode as
			Advanced.
 

Function Documentation

int XAxiPmon_CfgInitialize ( XAxiPmon InstancePtr,
XAxiPmon_Config ConfigPtr,
u32  EffectiveAddr 
)

This function initializes a specific XAxiPmon device/instance. This function must be called prior to using the AXI Performance Monitor device.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
ConfigPtr points to the XAxiPmon device configuration structure.
EffectiveAddr is the device base address in the virtual memory address space. If the address translation is not used then the physical address is passed. Unexpected errors may occur if the address mapping is changed after this function is invoked.
Returns:
  • XST_SUCCESS if successful.
Note:
The user needs to first call the XAxiPmon_LookupConfig() API which returns the Configuration structure pointer which is passed as a parameter to the XAxiPmon_CfgInitialize() API.
void XAxiPmon_DisableEventLogTrigger ( XAxiPmon InstancePtr  ) 

This function disables the External trigger pulse used to start Event Log on external trigger pulse for a Slot.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
void XAxiPmon_DisableMetricCounterTrigger ( XAxiPmon InstancePtr  ) 

This function disables the External trigger pulse used to start Metric Counters on external trigger pulse for a Slot.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
void XAxiPmon_DisableMetricsCounter ( XAxiPmon InstancePtr  ) 

This function disables the Metric Counters.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
void XAxiPmon_EnableEventLog ( XAxiPmon InstancePtr  ) 

This function enables Event Logging.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
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.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
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.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
void XAxiPmon_EnableMetricsCounter ( XAxiPmon InstancePtr  ) 

This function enables Metric Counters.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None
Note:
None
void XAxiPmon_GetGlobalClkCounter ( XAxiPmon InstancePtr,
u32 *  CntHighValue,
u32 *  CntLowValue 
)

This function returns the contents of the Global Clock Counter Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
CntHighValue is the user space pointer with which upper 32 bits of Global Clock Counter has to be filled
CntLowValue is the user space pointer with which lower 32 bits of Global Clock Counter has to be filled
Returns:
None.
Note:
None.
u32 XAxiPmon_GetIncrementer ( XAxiPmon InstancePtr,
u32  IncrementerNum 
)

This function returns the contents of the Incrementer Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
IncrementerNum is the number of the Incrementer register to read.Use the XAPM_INCREMENTER_* defines for the Incrementer number.The valid values are 0 (XAPM_INCREMENTER_0) to 9 (XAPM_INCREMENTER_9).
IncrementerNum is the number of the specified Incrementer register
Returns:
RegValue is content of specified Metric Incrementer register.
Note:
None.
void XAxiPmon_GetIncrementerRange ( XAxiPmon InstancePtr,
u8  IncrementerNum,
u16 *  RangeUpper,
u16 *  RangeLower 
)

This function returns the Ranges of Incrementers Registers.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
IncrementerNum specifies the Incrementer for which Ranges need to be returned.
RangeUpper specifies the user reference variable which returns the Upper Range Value of the specified Incrementer.
RangeLower specifies the user reference variable which returns the Lower Range Value of the specified Incrementer.
Returns:
None.
Note:
None
void XAxiPmon_GetLogEnableRanges ( XAxiPmon InstancePtr,
u32  CounterNum,
u16 *  RangeUpper,
u16 *  RangeLower 
)

This function returns the Ranges of specified Metric Counter Log Enable Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
CounterNum is the Metric Counter number for which Ranges are to be returned.Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 9 (XAPM_METRIC_COUNTER_9).
RangeUpper specifies the user reference variable which returns the Upper Range Value of the specified Metric Counter Log Enable Register.
RangeLower specifies the user reference variable which returns the Lower Range Value of the specified Metric Counter Log Enable Register.
Note:
None.
u32 XAxiPmon_GetMetricCounter ( XAxiPmon InstancePtr,
u32  CounterNum 
)

This function returns the contents of the Metric Counter Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
CounterNum is the number of the Metric Counter to be read. Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 47(XAPM_METRIC_COUNTER_47).
Returns:
RegValue is the content of specified Metric Counter.
Note:
None.
const char* XAxiPmon_GetMetricName ( u8  Metrics  ) 

This function returns a name for a given Metric.

Parameters:
Metrics is one of the Metric Sets. User has to use XAPM_METRIC_SET_* macros in xaxipmon.h for this parameter
Returns:
const char *
Note:
None
int XAxiPmon_GetMetrics ( XAxiPmon InstancePtr,
u8  CounterNum,
u8 *  Metrics,
u8 *  Slot 
)

This function returns Metrics in the specified Counter from the corresponding Metric Selector Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
CounterNum is the Counter Number. The valid values are 0 to 9.
Metrics is a reference parameter from application where metrics of specified counter is filled. Slot is a reference parameter in which slot Id of specified counter is filled
Returns:
XST_SUCCESS if Success XST_FAILURE if Failure
Note:
None.
u8 XAxiPmon_GetRdLatencyEnd ( XAxiPmon InstancePtr  ) 

This function returns Read Latency End point.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
Returns 0 - XAPM_LATENCY_LASTRD or 1 - XAPM_LATENCY_FIRSTRD.
Note:
None
u8 XAxiPmon_GetRdLatencyStart ( XAxiPmon InstancePtr  ) 

This function returns read Latency Start point.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
Returns 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT
Note:
None
u16 XAxiPmon_GetReadId ( XAxiPmon InstancePtr  ) 

This function returns Read ID in ID register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
ReadId is the required Read ID in ID register.
Note:
None.
u16 XAxiPmon_GetReadIdMask ( XAxiPmon InstancePtr  ) 

This function returns Read ID Mask in ID Mask register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
RdMask is the required Read ID Mask in ID Mask register.
Note:
None.
u32 XAxiPmon_GetSampledIncrementer ( XAxiPmon InstancePtr,
u32  IncrementerNum 
)

This function returns the contents of the Sampled Incrementer Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
IncrementerNum is the number of the Sampled Incrementer register to read.Use the XAPM_INCREMENTER_* defines for the Incrementer number.The valid values are 0 (XAPM_INCREMENTER_0) to 9 (XAPM_INCREMENTER_9).
IncrementerNum is the number of the specified Sampled Incrementer register
Returns:
RegValue is content of specified Sampled Incrementer register.
Note:
None.
u32 XAxiPmon_GetSampledMetricCounter ( XAxiPmon InstancePtr,
u32  CounterNum 
)

This function returns the contents of the Sampled Metric Counter Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
CounterNum is the number of the Sampled Metric Counter to read. Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 47(XAPM_METRIC_COUNTER_47).
Returns:
RegValue is the content of specified Sampled Metric Counter.
Note:
None.
void XAxiPmon_GetSampleInterval ( XAxiPmon InstancePtr,
u32 *  SampleInterval 
)

This function returns the contents of Sample Interval Register

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
SampleInterval is a pointer where the Sample Interval Counter value is returned.
Returns:
None.
Note:
None.
u32 XAxiPmon_GetSwDataReg ( XAxiPmon InstancePtr  ) 

This function returns contents of Software-written Data Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
SwData.
Note:
None.
u16 XAxiPmon_GetWriteId ( XAxiPmon InstancePtr  ) 

This function returns Write ID in ID register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
WriteId is the required Write ID in ID register.
Note:
None.
u16 XAxiPmon_GetWriteIdMask ( XAxiPmon InstancePtr  ) 

This function returns Write ID Mask in ID Mask register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
WrMask is the required Write ID Mask in ID Mask register.
Note:
None.
u8 XAxiPmon_GetWrLatencyEnd ( XAxiPmon InstancePtr  ) 

This function returns Write Latency End point.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
Returns 0 - XAPM_LATENCY_LASTWR or 1 - XAPM_LATENCY_FIRSTWR.
Note:
None
u8 XAxiPmon_GetWrLatencyStart ( XAxiPmon InstancePtr  ) 

This function returns Write Latency Start point.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
Returns 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT
Note:
None
int XAxiPmon_ResetFifo ( XAxiPmon InstancePtr  ) 

This function resets Streaming FIFO of AXI Performance Monitor

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
XST_SUCCESS
Note:
None.
void XAxiPmon_ResetGlobalClkCounter ( XAxiPmon InstancePtr  ) 

This function resets Global Clock Counter of AXI Performance Monitor

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
None.
Note:
None.
int XAxiPmon_ResetMetricCounter ( XAxiPmon InstancePtr  ) 

This function resets all Metric Counters and Sampled Metric Counters of AXI Performance Monitor.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
XST_SUCCESS
Note:
None.
void XAxiPmon_SetIncrementerRange ( XAxiPmon InstancePtr,
u8  IncrementerNum,
u16  RangeUpper,
u16  RangeLower 
)

This function sets Ranges for Incrementers depending on parameters passed.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
IncrementerNum specifies the Incrementer for which Ranges need to be set
RangeUpper specifies the Upper limit in 32 bit Register
RangeLower specifies the Lower limit in 32 bit Register
Returns:
None.
Note:
None
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

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
CounterNum is the Metric Counter number for which Ranges are to be assigned.Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 9 (XAPM_METRIC_COUNTER_9).
RangeUpper specifies the Upper limit in 32 bit Register
RangeLower specifies the Lower limit in 32 bit Register
Returns:
None
Note:
None.
int XAxiPmon_SetMetrics ( XAxiPmon InstancePtr,
u8  Slot,
u8  Metrics,
u8  CounterNum 
)

This function sets Metrics for specified Counter in the corresponding Metric Selector Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Slot is the slot ID for which specified counter has to be connected.
Metrics is one of the Metric Sets. User has to use XAPM_METRIC_SET_* macros in xaxipmon.h for this parameter
CounterNum is the Counter Number. The valid values are 0 to 9.
Returns:
XST_SUCCESS if Success XST_FAILURE if Failure
Note:
None.
void XAxiPmon_SetRdLatencyEnd ( XAxiPmon InstancePtr,
u8  Param 
)

This function sets Latency End point to calculate read latency.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Param is XAPM_LATENCY_LASTRD or XAPM_LATENCY_FIRSTRD in xaxipmon.h.
Returns:
None
Note:
Param can be 0 - XAPM_LATENCY_LASTRD or 1 - XAPM_LATENCY_FIRSTRD
void XAxiPmon_SetRdLatencyStart ( XAxiPmon InstancePtr,
u8  Param 
)

This function sets Latency Start point to calculate read latency.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Param is XAPM_LATENCY_ADDR_ISSUE or XAPM_LATENCY_ADDR_ACCEPT in xaxipmon.h.
Returns:
None
Note:
Param can be 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT
void XAxiPmon_SetReadId ( XAxiPmon InstancePtr,
u16  ReadId 
)

This function sets Read ID in ID register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
ReadId is the Read ID to be written in ID register.
Returns:
None.
Note:
None.
void XAxiPmon_SetReadIdMask ( XAxiPmon InstancePtr,
u16  RdMask 
)

This function sets Read ID Mask in ID Mask register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
RdMask is the Read ID mask to be written in ID Mask register.
Returns:
None.
Note:
None.
void XAxiPmon_SetSampleInterval ( XAxiPmon InstancePtr,
u32  SampleInterval 
)

This function sets the Sample Interval Register

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
SampleInterval is the Sample Interval value to be set
Returns:
None
Note:
None.
void XAxiPmon_SetSwDataReg ( XAxiPmon InstancePtr,
u32  SwData 
)

This function sets Software-written Data Register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
SwData is the Software written Data.
Returns:
None.
Note:
None.
void XAxiPmon_SetWriteId ( XAxiPmon InstancePtr,
u16  WriteId 
)

This function sets Write ID in ID register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
WriteId is the Write ID to be written in ID register.
Returns:
None.
Note:
None.
void XAxiPmon_SetWriteIdMask ( XAxiPmon InstancePtr,
u16  WrMask 
)

This function sets Write ID Mask in ID Mask register.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
WrMask is the Write ID mask to be written in ID register.
Returns:
None.
Note:
None.
void XAxiPmon_SetWrLatencyEnd ( XAxiPmon InstancePtr,
u8  Param 
)

This function sets Latency End point to calculate write latency.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Param is XAPM_LATENCY_LASTWR or XAPM_LATENCY_FIRSTWR in xaxipmon.h.
Returns:
None
Note:
Param can be 0 - XAPM_LATENCY_LASTWR or 1 - XAPM_LATENCY_FIRSTWR
void XAxiPmon_SetWrLatencyStart ( XAxiPmon InstancePtr,
u8  Param 
)

This function sets Latency Start point to calculate write latency.

Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Param is XAPM_LATENCY_ADDR_ISSUE or XAPM_LATENCY_ADDR_ACCEPT in xaxipmon.h.
Returns:
None
Note:
Param can be 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT
int XAxiPmon_StartCounters ( XAxiPmon InstancePtr,
u32  SampleInterval 
)

This function enables the following in the AXI Performance Monitor:

  • Global clock counter
  • All metric counters
  • All sampled metric counters
Parameters:
InstancePtr is a pointer to the XAxiPmon instance. SampleInterval is the sample interval for the sampled metric counters
Returns:
XST_SUCCESS
Note:
None
int XAxiPmon_StartEventLog ( XAxiPmon InstancePtr,
u32  FlagEnables 
)

This function enables the following in the AXI Performance Monitor:

  • Event logging
Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
FlagEnables is a value to write to the flag enables register defined by XAPM_FEC_OFFSET. It is recommended to use the XAPM_FEC_*_MASK mask bits to generate. A value of 0x0 will disable all events to the event log streaming FIFO.
Returns:
XST_SUCCESS
Note:
None
int XAxiPmon_StopCounters ( XAxiPmon InstancePtr  ) 

This function disables the following in the AXI Performance Monitor:

  • Global clock counter
  • All metric counters
Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
XST_SUCCESS
Note:
None
int XAxiPmon_StopEventLog ( XAxiPmon InstancePtr  ) 

This function disables the following in the AXI Performance Monitor:

  • Event logging
Parameters:
InstancePtr is a pointer to the XAxiPmon instance.
Returns:
XST_SUCCESS
Note:
None