v_voip_decap: xdecap_intr.c File Reference

| v_voip_decap Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Typedefs | Functions
xdecap_intr.c File Reference

## Overview

This file contains interrupt related functions for Xilinx VoIP Decapsulator core.

Please see xdecap.h for more details of the driver.

    MODIFICATION HISTORY:

    Ver   Who    Date     Changes

    1.00   mmo   02/12/16 Initial release.

## Typedefs
typedef struct ChArray | XDecapChIntr
| This typedef contains Current Interrupt Information. More...

## Functions
XDecapChIntr | XDecap_ChIntr (XDecap *InstancePtr)
| This function scans through the Interrupt General Register to detect & store the information of the interrupted channel. More...
void | XDecap_IntrHandler (void *InstancePtr)
| This function is the interrupt handler for the VoIP Decapsulator driver. More...
int | XDecap_SetCallback (XDecap *InstancePtr, XDecap_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef)
| This function installs an asynchronous callback function for the given HandlerType: More...

## Typedef Documentation

typedef struct ChArray XDecapChIntr

This typedef contains Current Interrupt Information.

## Function Documentation

XDecapChIntr XDecap_ChIntr | ( | XDecap * | InstancePtr | ) |

This function scans through the Interrupt General Register to detect & store the information of the interrupted channel.

Parameters

  InstancePtr | is a pointer to the XDecap core instance.

Returns
  None.

Note
  None.

References XDecap_Config::BaseAddress, XDecap::Config, XDecap_ChannelAccess(), XDecap_ChannelUpdate(), XDecap_ReadReg, XDecap_SDIPacketLockStatus(), and XDecap_WriteReg.

Referenced by XDecap_IntrHandler().

void XDecap_IntrHandler | ( | void * | InstancePtr | ) |

This function is the interrupt handler for the VoIP Decapsulator driver.

This handler reads the pending interrupt from VoIP Decapsulator, determines the source of the interrupts, clears the interrupts and calls callbacks accordingly.

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XDecap_SetCallback() during initialization phase. An example delivered with this driver demonstrates how this could be done.

Parameters

  InstancePtr | is a pointer to the XDecap instance that just interrupted.

Returns
  None.

Note
  None.

References XDecap::IsPacketLockCallbackSet, XDecap::IsPacketUnLockCallbackSet, XDecap::IsReady, XDecap_ChannelAccess(), and XDecap_ChIntr().

int XDecap_SetCallback | ( | XDecap * | InstancePtr,
|  | XDecap_HandlerType | HandlerType,
|  | void * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs an asynchronous callback function for the given HandlerType:

    HandlerType                 Callback Function Type
    -------------------------   -----------------------------------------------

Parameters

  InstancePtr | is a pointer to the VoIP Decapsulator core instance.
  HandlerType | specifies the type of handler.
  CallbackFunc | is the address of the callback function.
  CallbackRef | is a user data item that will be passed to the callback function when it is invoked.

Returns
  - XST_SUCCESS if callback function installed successfully.
  - XST_INVALID_PARAM when HandlerType is invalid.

Note
  Invoking this function for a handler that already has been installed replaces it with the new handler.

References XDecap::IsPacketLockCallbackSet, XDecap::IsPacketStopCallbackSet, XDecap::IsPacketUnLockCallbackSet, XDecap::PacketLockCallback, XDecap::PacketLockRef, XDecap::PacketStopCallback, XDecap::PacketStopRef, XDecap::PacketUnLockCallback, and XDecap::PacketUnLockRef.