2 Replies Latest reply on Jun 15, 2017 4:39 PM by EricNXP

    Reading DPCD register data from remotely connected DP1.2 display




      I am using below reference code in the CUI Doc to read out 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).


      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 byes 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.




      Eric Lu