Community
cancel
Showing results for 
Search instead for 
Did you mean: 
ELu11
Beginner
318 Views

Reading DPCD register data from remotely connected DP1.2 display

Hi,

I am using below reference code in the CUI Doc v0.96 to read DPCD register data from a DP-VGA dongle which is connected to the downstream port of DP MST Hub (PC -> DP MST Hub -> DP-VGA dongle -> VGA monitor).

struct IGFX_DP_AUX_INFO

{

    enum IGFX_PORT_TYPES portType;

    struct IGFX_DP_RELATIVE_ADDRESS relativeAddress;

    unsigned long dwOpType;

    unsigned long dwSize;

    unsigned long dwAddress;

    unsigned char Data[132];

};

IGFX_DP_AUX_INFO InData;

DWORD dwError = 0;

ZeroMemory(&InData, sizeof(IGFX_DP_AUX_INFO));

InData.relativeAddress.ucTotalLinkCount = pDisplays->relativeAddress.ucTotalLinkCount;

InData.relativeAddress.ucAddress[0] = pDisplays->relativeAddress.ucAddress[0];

InData.portType = pDPTopology-> PortList[0];

InData.dwOpType = IGFX_REMOTE_AUX_READ;

InData.dwSize = 5;

InData.dwAddress = 0x500;    

hr = pCUIExternal8->GetDeviceData((GUID*)&IGFX_GET_SET_REMOTE_AUX_INFO_GUID, sizeof(InData), (BYTE*)&InData, &dwError);

I could see DP MST Hub reading 5 bytes DPCD register data from DP-VGA dongle at DPCD register address 0x500 by using DP AUX analyzer and received hr = OK from API call, however the reading back DPCD register data is not stored in the data buffer (InData.Data[]). InData.Data[0] - [131] has all "0" data.

Any comment to solve the issue would be very appreciated.

 

Thanks,

Eric Lu

NXP Semiconductors

0 Kudos
0 Replies
Reply