Some monitors don't support sideband messages with AUX reads greater than 16
bytes. This improvement breaks up the higher-level read/write request into
multiple reads/writes that work with up to 16 bytes in size.
These higher-level remote DPCD read/write functions also serve as a wrapper for
an AUX read/write in case that the link count total is equal to 1 (a read/write
request to the RX device directly connected to the TX (not "remote")).
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
An LCR (link count remaining) value of 6 is used to protect against loops.
If the LCR isn't processed at each node and attempted to be broadcasted on all
ports, waiting for a reply, a loop in the topology will result in the broadcast
message being forwarded infinitely.
Because of this, an LCR of 0 will prevent the message from being forwarded to
subsequent DP nodes.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
Increased waiting for a response to a sideband message before timing out.
Reduced number of reads to check that the RX device received an ACT event.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
Testing with the new IP configuration parameter (payload data width) required
some changes to the examples.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
Also, rearranged/grouped the GUID functions with the EDID read function as
"utility" functions.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
ReadData is now filled only with actually data instead of sideband message reply
data (reply code, port number, etc) + data.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>