dp14
Xilinx SDK Drivers API Documentation
xdp_tx_intr_example.c File Reference

Overview

Contains a design example using the XDp driver (operating in TX mode) with interrupts.

Upon Hot-Plug-Detect (HPD - DisplayPort cable is plugged/unplugged or the monitor is turned on/off), the main link will be trained.

Note
This example requires an interrupt controller connected to the processor and the DisplayPort TX core in the system.
For this example to display output, the user will need to implement initialization of the system (Dptx_PlatformInit) and, after training is complete, implement configuration of the video stream source in order to provide the DisplayPort core with input (Dptx_StreamSrc* - called in xdp_tx_example_common.c). See XAPP1178 for reference.
The functions Dptx_PlatformInit and Dptx_StreamSrc* are declared extern in xdp_tx_example_common.h and are left up to the user to implement.
MODIFICATION HISTORY:
Ver   Who  Date     Changes


1.0 als 01/20/15 Initial creation. 5.1 ms 01/23/17 Added xil_printf statement in main function to ensure that "Successfully ran" and "Failed" strings are available in all examples. This is a fix for CR-965028.

Functions

u32 Dptx_IntrExample (XDp *InstancePtr, u16 DeviceId, INTC *IntcPtr, u16 IntrId, u16 DpIntrId, XDp_IntrHandler HpdEventHandler, XDp_IntrHandler HpdPulseHandler)
 The main entry point for the interrupt example using the XDp driver. More...
 
int main (void)
 This function is the main function of the XDptx interrupt example. More...
 

Function Documentation

u32 Dptx_IntrExample ( XDp InstancePtr,
u16  DeviceId,
INTC *  IntcPtr,
u16  IntrId,
u16  DpIntrId,
XDp_IntrHandler  HpdEventHandler,
XDp_IntrHandler  HpdPulseHandler 
)

The main entry point for the interrupt example using the XDp driver.

This function will set up the system with interrupts and set up the Hot-Plug-Event (HPD) handlers.

Parameters
InstancePtris a pointer to the XDp instance.
DeviceIdis the unique device ID of the DisplayPort TX core instance.
IntcPtris a pointer to the interrupt instance.
IntrIdis the unique device ID of the interrupt controller.
DpIntrIdis the interrupt ID of the DisplayPort TX connection to the interrupt controller.
HpdEventHandleris a pointer to the handler called when an HPD event occurs.
HpdPulseHandleris a pointer to the handler called when an HPD pulse occurs.
Returns
  • XST_FAILURE if the system setup failed.
  • XST_SUCCESS should never return since this function, if setup was successful, is blocking.
Note
If system setup was successful, this function is blocking in order to illustrate interrupt handling taking place for HPD events.

References Dptx_SetupExample().

Referenced by main().

int main ( void  )

This function is the main function of the XDptx interrupt example.

If the DptxIntrExample function, which sets up the system succeeds, this function will wait for interrupts. Once a connection event or pulse is detected, link training will commence (if needed) and a video stream will start being sent over the main link.

Parameters
None.
Returns
  • XST_FAILURE if the interrupt example was unsuccessful - system setup failed.
Note
Unless setup failed, main will never return since DptxIntrExample is blocking (it is waiting on interrupts for Hot-Plug-Detect (HPD) events.

References Dptx_IntrExample().