dp
Xilinx SDK Drivers API Documentation
xdp_mst.c File Reference

Functions

void XDp_TxMstCfgModeEnable (XDp *InstancePtr)
 This function will enable multi-stream transport (MST) mode for the driver. More...
 
void XDp_TxMstCfgModeDisable (XDp *InstancePtr)
 This function will disable multi-stream transport (MST) mode for the driver. More...
 
u32 XDp_TxMstCapable (XDp *InstancePtr)
 This function will check if the immediate downstream RX device is capable of multi-stream transport (MST) mode. More...
 
u32 XDp_TxMstEnable (XDp *InstancePtr)
 This function will enable multi-stream transport (MST) mode in both the DisplayPort TX and the immediate downstream RX device. More...
 
u32 XDp_TxMstDisable (XDp *InstancePtr)
 This function will disable multi-stream transport (MST) mode in both the DisplayPort TX and the immediate downstream RX device. More...
 
u8 XDp_TxMstStreamIsEnabled (XDp *InstancePtr, u8 Stream)
 This function will check whether. More...
 
void XDp_TxMstCfgStreamEnable (XDp *InstancePtr, u8 Stream)
 This function will configure the InstancePtr->TxInstance.MstStreamConfig structure to enable the specified stream. More...
 
void XDp_TxMstCfgStreamDisable (XDp *InstancePtr, u8 Stream)
 This function will configure the InstancePtr->TxInstance.MstStreamConfig structure to disable the specified stream. More...
 
void XDp_TxSetStreamSelectFromSinkList (XDp *InstancePtr, u8 Stream, u8 SinkNum)
 This function will map a stream to a downstream DisplayPort TX device that is associated with a sink from the InstancePtr->TxInstance.Topology.SinkList. More...
 
void XDp_TxSetStreamSinkRad (XDp *InstancePtr, u8 Stream, u8 LinkCountTotal, u8 *RelativeAddress)
 This function will map a stream to a downstream DisplayPort TX device determined by the relative address. More...
 
u32 XDp_TxDiscoverTopology (XDp *InstancePtr)
 This function will explore the DisplayPort topology of downstream devices connected to the DisplayPort TX. More...
 
u32 XDp_TxFindAccessibleDpDevices (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress)
 This function will explore the DisplayPort topology of downstream devices starting from the branch device specified by the LinkCountTotal and RelativeAddress parameters. More...
 
void XDp_TxTopologySwapSinks (XDp *InstancePtr, u8 Index0, u8 Index1)
 Swap the ordering of the sinks in the topology's sink list. More...
 
void XDp_TxTopologySortSinksByTiling (XDp *InstancePtr)
 Order the sink list with all sinks of the same tiled display being sorted by 'tile order'. More...
 
u32 XDp_TxRemoteDpcdRead (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToRead, u8 *ReadData)
 This function performs a remote DisplayPort Configuration Data (DPCD) read by sending a sideband message. More...
 
u32 XDp_TxRemoteDpcdWrite (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToWrite, u8 *WriteData)
 This function performs a remote DisplayPort Configuration Data (DPCD) write by sending a sideband message. More...
 
u32 XDp_TxRemoteIicRead (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 IicAddress, u16 Offset, u16 BytesToRead, u8 *ReadData)
 This function performs a remote I2C read by sending a sideband message. More...
 
u32 XDp_TxRemoteIicWrite (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 IicAddress, u8 BytesToWrite, u8 *WriteData)
 This function performs a remote I2C write by sending a sideband message. More...
 
u32 XDp_TxAllocatePayloadStreams (XDp *InstancePtr)
 This function will allocate bandwidth for all enabled stream. More...
 
u32 XDp_TxAllocatePayloadVcIdTable (XDp *InstancePtr, u8 VcId, u8 Ts, u8 StartTs)
 This function will allocate a bandwidth for a virtual channel in the payload ID table in both the DisplayPort TX and the downstream DisplayPort devices on the path to the target device specified by LinkCountTotal and RelativeAddress. More...
 
u32 XDp_TxClearPayloadVcIdTable (XDp *InstancePtr)
 This function will clear the virtual channel payload ID table in both the DisplayPort TX and all downstream DisplayPort devices. More...
 
u32 XDp_TxSendSbMsgRemoteDpcdWrite (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToWrite, u8 *WriteData)
 This function will send a REMOTE_DPCD_WRITE sideband message which will write some data to the specified DisplayPort Configuration Data (DPCD) address of a downstream DisplayPort device. More...
 
u32 XDp_TxSendSbMsgRemoteDpcdRead (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToRead, u8 *ReadData)
 This function will send a REMOTE_DPCD_READ sideband message which will read from the specified DisplayPort Configuration Data (DPCD) address of a downstream DisplayPort device. More...
 
u32 XDp_TxSendSbMsgRemoteIicWrite (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 IicDeviceId, u8 BytesToWrite, u8 *WriteData)
 This function will send a REMOTE_I2C_WRITE sideband message which will write to the specified I2C address of a downstream DisplayPort device. More...
 
u32 XDp_TxSendSbMsgRemoteIicRead (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 IicDeviceId, u8 Offset, u8 BytesToRead, u8 *ReadData)
 This function will send a REMOTE_I2C_READ sideband message which will read from the specified I2C address of a downstream DisplayPort device. More...
 
u32 XDp_TxSendSbMsgLinkAddress (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, XDp_SbMsgLinkAddressReplyDeviceInfo *DeviceInfo)
 This function will send a LINK_ADDRESS sideband message to a target DisplayPort branch device. More...
 
u32 XDp_TxSendSbMsgEnumPathResources (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u16 *AvailPbn, u16 *FullPbn)
 This function will send an ENUM_PATH_RESOURCES sideband message which will determine the available payload bandwidth number (PBN) for a path to a target device. More...
 
u32 XDp_TxSendSbMsgAllocatePayload (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 VcId, u16 Pbn)
 This function will send an ALLOCATE_PAYLOAD sideband message which will allocate bandwidth for a virtual channel in the payload ID tables of the downstream devices connecting the DisplayPort TX to the target device. More...
 
u32 XDp_TxSendSbMsgClearPayloadIdTable (XDp *InstancePtr)
 This function will send a CLEAR_PAYLOAD_ID_TABLE sideband message which will de-allocate all virtual channel payload ID tables. More...
 
void XDp_TxWriteGuid (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 *Guid)
 This function will write a global unique identifier (GUID) to the target DisplayPort device. More...
 
void XDp_TxGetGuid (XDp *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 *Guid)
 This function will obtain the global unique identifier (GUID) for the target DisplayPort device. More...
 
u32 XDp_RxHandleDownReq (XDp *InstancePtr)
 This function will handle incoming sideband messages. More...
 
XDp_RxIicMapEntryXDp_RxGetIicMapEntry (XDp *InstancePtr, u8 PortNum, u8 IicAddress)
 This function returns a pointer to the I2C map entry at the supplied I2C address for the specified port. More...
 
u32 XDp_RxSetIicMapEntry (XDp *InstancePtr, u8 PortNum, u8 IicAddress, u8 ReadNumBytes, u8 *ReadData)
 This function adds an entry into the I2C map for a given port. More...
 
void XDp_RxSetDpcdMap (XDp *InstancePtr, u8 PortNum, u32 StartAddr, u32 NumBytes, u8 *DpcdMap)
 This function specified the DPCD address space for a given port. More...
 
void XDp_RxMstExposePort (XDp *InstancePtr, u8 PortNum, u8 Expose)
 This function allows the user to select which ports will be exposed when replying to a LINK_ADDRESS sideband message. More...
 
void XDp_RxMstSetPort (XDp *InstancePtr, u8 PortNum, XDp_SbMsgLinkAddressReplyPortDetail *PortDetails)
 This function sets the port information that is contained in the driver instance structure for the specified port number, to be copied from the supplied port details structure. More...
 
void XDp_RxMstSetInputPort (XDp *InstancePtr, u8 PortNum, XDp_SbMsgLinkAddressReplyPortDetail *PortOverride)
 This function, for an input port, sets the port information that is contained in the driver instance structure for the specified port number. More...
 
void XDp_RxMstSetPbn (XDp *InstancePtr, u8 PortNum, u16 PbnVal)
 This function will set the available payload bandwidth number (PBN) of the specified port that is available for allocation, and the full PBN that the port is capable of using. More...
 
void XDp_RxAllocatePayloadStream (XDp *InstancePtr)
 This function will set the virtual channel payload table both in software and in the DisplayPort RX core's hardware registers based on the MST allocation values from ALLOCATE_PAYLOAD and CLEAR_PAYLOAD sideband message requests. More...
 

Variables

u8 GuidTable [16][XDP_GUID_NBYTES]
 This table contains a list of global unique identifiers (GUIDs) that will be issued when exploring the topology using the algorithm in the XDp_TxFindAccessibleDpDevices function. More...