Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly specifying problem areas
529 Discussions

Speed issue with sending I2C data using IGCL and CUI SDK under HDMI

WeiZaicheng
Beginner
136 Views

Hi,

I'm using Intel's IGCL and CUI SDK and I'm having a few issues, so I'm asking for help.

1. Should I use IGFX_GET_SET_AUX_INFO_GUID or IGFX_GET_SET_BUS_INFO_GUID when using the CUI SDK to connect to HDMI to send data?

I use a logic analyzer to capture packets and find that when I use IGFX_GET_SET_AUX_INFO_GUID, an unknown 8-bit byte data will appear in front of the packet, causing the data to be abnormal, but the speed of sending data using the IGFX_GET_SET_BUS_INFO_GUID is very slow.

IGFX_BUS_INFO busInfo = { 0 };
busInfo.dwDeviceUID = UIDofActiveDisplay;
busInfo.dwOpType = IGFX_BUS_SET;
busInfo.dwSize = iLen;
busInfo.dwAddress = uSlaveAddr;
busInfo.dwSubAddress = uSubAddress;
busInfo.dwFlags = IGFX_BUS_USE_INDEXING;
busInfo.byBusType = IGFX_BUS_I2C;
hr = pCUIExternal8->SetDeviceData((GUID*)&IGFX_GET_SET_BUS_INFO_GUID, dwsize, (BYTE*)&busInfo, &dwError);

2. When using IGCL, I followed the example on GitHub, connected HDMI to send data, and found that the speed was slow, and the same size packet took several times longer than Nvidia and AMD.

ctl_i2c_access_args_t I2CArgs = { 0 };
I2CArgs.Size = sizeof(ctl_i2c_access_args_t);
I2CArgs.OpType = CTL_OPERATION_TYPE_WRITE;
I2CArgs.Address = uSlaveAddr;
I2CArgs.Offset = uOffset;
I2CArgs.DataSize = iLen;
I2CArgs.Flags = CTL_I2C_FLAG_ATOMICI2C | CTL_I2C_FLAG_SPEED_FAST;
ctl_result_t Result = ctlI2CAccess((ctl_display_output_handle_t)UIDofActiveDisplay, &I2CArgs);

 Looking forward to the reply, good luck!

0 Kudos
0 Replies
Reply