### Xilinx Processor IP Library

<hl>Software Drivers</hl>

Main Page | Data Structures | File List | Data Fields | Globals

# xmpmc.c File Reference

## Detailed Description

The implementation of the XMpmc component's basic functionality. See xmpmc.h for more information about the component.

Note:
  None.

     MODIFICATION HISTORY:

     Ver   Who  Date     Changes
     ----- ---- -------- -----------------------------------------------
     1.00a mta  02/24/07 First release
     2.00a mta  10/24/07 Added support for Performance Monitoring and Static Phy

## Functions

int | XMpmc_CfgInitialize (XMpmc *InstancePtr, XMpmc_Config *ConfigPtr, u32 EffectiveAddr)
void | XMpmc_EnableEcc (XMpmc *InstancePtr)
void | XMpmc_DisableEcc (XMpmc *InstancePtr)
void | XMpmc_SetControlEcc (XMpmc *InstancePtr, u32 Control)
u32 | XMpmc_GetControlEcc (XMpmc *InstancePtr)
u32 | XMpmc_GetStatusEcc (XMpmc *InstancePtr)
void | XMpmc_ClearStatusEcc (XMpmc *InstancePtr)
void | XMpmc_EnablePm (XMpmc *InstancePtr, u32 Mask)
void | XMpmc_DisablePm (XMpmc *InstancePtr, u32 Mask)
void | XMpmc_ClearDataBinPm (XMpmc *InstancePtr, u32 Mask)
u32 | XMpmc_GetStatusPm (XMpmc *InstancePtr)
void | XMpmc_ClearStatusPm (XMpmc *InstancePtr, u32 Mask)
Xuint64 | XMpmc_GetGlobalCycleCountPm (XMpmc *InstancePtr)
Xuint64 | XMpmc_GetDeadCycleCountPm (XMpmc *InstancePtr, u8 PortNum)
Xuint64 | XMpmc_GetDataBinCountPm (XMpmc *InstancePtr, u8 PortNum, u8 Qualifier, u8 AccessType, u8 BinNumber)
void | XMpmc_SetStaticPhyReg (XMpmc *InstancePtr, u32 Data)
u32 | XMpmc_GetStaticPhyReg (XMpmc *InstancePtr)

## Function Documentation

int XMpmc_CfgInitialize | ( | XMpmc * | InstancePtr,
|  | XMpmc_Config * | ConfigPtr,
|  | u32 | EffectiveAddr
| ) |

This function initializes a specific XMpmc instance.

Parameters:

  | InstancePtr | is a pointer to the XMpmc instance.
  | ConfigPtr | points to the XMpmc 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.
  - XST_FAILURE if ECC support OR Static Phy OR Performance Monitor functionality is not configured in the device.

Note:
  None.

void XMpmc_ClearDataBinPm | ( | XMpmc * | InstancePtr,
|  | u32 | Mask
| ) |

Clear the Performance Monitoring Data Bins for the specified ports.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | Mask | is the bit-mask of the ports for which the PM Data bins are to be cleared. Bit positions of 1 are cleared. The mask is formed by OR'ing bits from XMPMC_PMREG_*_MASK.

Returns:
  None.

Note:
  None.

void XMpmc_ClearStatusEcc | ( | XMpmc * | InstancePtr | ) |

Clear the ECC Status Register contents of the MPMC device. This function can be used to clear errors in the status that have been processed.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  None.

Note:
  None.

void XMpmc_ClearStatusPm | ( | XMpmc * | InstancePtr,
|  | u32 | Mask
| ) |

Clears the Performance Monitoring Data Bin Clear Status for the specified bins.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | Mask | is the of the ports for which the PM Data bin clear status bits are to be cleared. Bit positions of 1 are cleared. The mask is formed by OR'ing bits from XMPMC_PMREG_*_MASK.

Returns:
  None.

Note:
  None.

void XMpmc_DisableEcc | ( | XMpmc * | InstancePtr | ) |

Disable the ECC mode for both read and write operations in the MPMC device.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  None.

Note:
  None.

void XMpmc_DisablePm | ( | XMpmc * | InstancePtr,
|  | u32 | Mask
| ) |

Disable the Performance Monitoring for the specified ports.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | Mask | is the bit-mask of the ports for which the PM is to be disabled. Bit positions of 1 are disabled. The mask is formed by OR'ing bits from XMPMC_PMREG_*_MASK.

Returns:
  None.

Note:
  None.

void XMpmc_EnableEcc | ( | XMpmc * | InstancePtr | ) |

Enable the ECC mode for both read and write operations in the MPMC device.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  None.

Note:
  None.

void XMpmc_EnablePm | ( | XMpmc * | InstancePtr,
|  | u32 | Mask
| ) |

Enable the Performance Monitoring for the specified ports.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | Mask | is the of the ports for which the PM is to be enabled. Bit positions of 1 are enabled. The mask is formed by OR'ing bits from XMPMC_PMREG_*_MASK.

Returns:
  None.

Note:
  None.

u32 XMpmc_GetControlEcc | ( | XMpmc * | InstancePtr | ) |

Get the ECC Control Register contents of the MPMC device. This function can be used to determine which features are enabled in the device.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  The value read from the register which consists of constants named XMPMC_ECCCR* for each bit field as specified in xmpmc_hw.h.

Note:
  None.

Xuint64 XMpmc_GetDataBinCountPm | ( | XMpmc * | InstancePtr,
|  | u8 | PortNum,
|  | u8 | Qualifier,
|  | u8 | AccessType,
|  | u8 | BinNumber
| ) |

Get the Performance Monitoring Data for the specified bin.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | PortNum | is the Port Number. The valid port numbers are 0 to 7. Use the definitions XMPMC_PM_PORT* for specifying the port number.
  | Qualifier | is the qualifier type. The valid qualifier type is 0 to 5 . Use the definitions XMPMC_PM_DATABIN_QUAL* for specifying the Qualifier type.

  AccessType

  specifies whether the Data bin is for Read or Write access. Valid values are 0 to 1. Use the following definitions
  - Read access (XMPMC_PM_DATABIN_ACCESS_READ)
  - Write access (XMPMC_PM_DATABIN_ACCESS_WRITE)

  | BinNumber | is the Bin Number. The valid values are 0 to 31 .

Returns:
  The Data Bin Count for the specified Port/Qualifier/AccessType and BinNumber.

Note:
  The user is responsible for giving valid inputs to this function. The input arguments are not checked for correctness in this function.

Xuint64 XMpmc_GetDeadCycleCountPm | ( | XMpmc * | InstancePtr,
|  | u8 | PortNum
| ) |

Get the Performance Monitoring Dead Cycle Count for the specified port.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | PortNum | is the Port Number. The valid port numbers are 0 to 7. Use the definitions XMPMC_PM_PORT* for specifying the port number.

Returns:
  The Dead Cycle Count for the specified port.

Note:
  The user is responsible for giving valid inputs to this function. The input arguments are not checked for correctness in this function.

Xuint64 XMpmc_GetGlobalCycleCountPm | ( | XMpmc * | InstancePtr | ) |

Get the Performance Monitoring Global Cycle Count.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  The Global Cycle Count.

Note:
  None.

u32 XMpmc_GetStaticPhyReg | ( | XMpmc * | InstancePtr | ) |

Get the Static Phy Interface Register contents of the MPMC device.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  The value read from the register which consists of constants Use the definitions XMPMC_SPIR_* in xmpmc_hw.h for interpreting the value.

Note:
  None.

u32 XMpmc_GetStatusEcc | ( | XMpmc * | InstancePtr | ) |

Get the ECC Status Register contents of the MPMC device. This function can be used to determine which errors have occurred for ECC mode.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  The value read from the register which consists of constants named XMPMC_ECCSR* for each bit field as specified in xmpmc_hw.h.

Note:
  None.

u32 XMpmc_GetStatusPm | ( | XMpmc * | InstancePtr | ) |

Get the Performance Monitoring Data Bin Clear Status.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.

Returns:
  The Status of the Clear Operation on the Data Bins.

Note:
  None.

void XMpmc_SetControlEcc | ( | XMpmc * | InstancePtr,
|  | u32 | Control
| ) |

Set the ECC Control Register of the MPMC device to the specified value. This function can be used to individually enable/disable read or write ECC and force specific types of ECC errors to occur.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | Control | contains the value to be written to the register and consists of constants named XMPMC_ECCCR* for each bit field as specified in xmpmc_hw.h.

Returns:
  None.

Note:
  None.

void XMpmc_SetStaticPhyReg | ( | XMpmc * | InstancePtr,
|  | u32 | Data
| ) |

Set the Static Phy Interface Register of the MPMC device to the specified value.

Parameters:

  | InstancePtr | is a pointer to an XMpmc instance to be worked on.
  | Data | contains the value to be written to the register. and Use the definitions XMPMC_SPIR_* in xmpmc_hw.h for specifying the value.

Returns:
  None.

Note:
  None.

Copyright © 1995-2009 Xilinx, Inc. All rights reserved.