Commit graph

63 commits

Author SHA1 Message Date
Andrei-Liviu Simion
bc8b86b940 dptx: Optimize read/write GUID functions to use new remote reads/writes.
The remote read/write functions serve as a wrapper in case the target RX device
is directly connected to the TX (link count total is equal to 1).
These functions may be called instead of the read/write GUID functions doing the
same thing.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:40 +05:30
Andrei-Liviu Simion
0cd5afb0fd dptx: Improved remote DPCD reads/writes to automatically work on 16-byte chunks.
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>
2014-11-14 09:55:40 +05:30
Andrei-Liviu Simion
327bbeb10b dptx: Made the I2C read function more robust.
- Changed the offset from type u8 to u16.
- In order to accomodate offsets greater than 255, a segment pointer is used.
	- The I2C read funciton is now able to access blocks other than the
	block 0 and 1 at a given address. E.g., EDID extension blocks may now be
	accessed by reading from I2C address 0x50 (raw=0xA0/0xA1) and writing
	the appropriate segment pointer and offset.
		- Input offset=0.
			- EDID block 0: I2C read on offset=0 and segptr=0.
		- Input offset=128.
			- EDID block 1: I2C read on offset=128 and segptr=0.
		- Input offset=256.
			- EDID block 2: I2C read on offset=0 and segptr=1.
		- Input offset=384.
			- EDID block 3: I2C read on offset=128 and segptr=1.
		- etc.
	- Writing to the I2C address 0x30 (raw=0x60/0x61) sets the segment
	pointer.
	- Writing to an I2C address sets the offset that will be read from that
	address. E.g., a read of the EDID, starting at offset 128 would be done
	by writing 128 to 0x50, then reading from 0x50.
	- Offsets that cross a 256-byte boundary requiring increment of the
	segment pointer is also handled. E.g. A 16 byte read on input offset 500
	results in the the returned 16 byte array having the first 11 bytes from
	segptr=1 (bytes 244-255) and the last 5 bytes from segptr=2 (bytes 0-4).

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:40 +05:30
Andrei-Liviu Simion
b8682ec6fb dptx: I2C writes do not use an offset.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:40 +05:30
Andrei-Liviu Simion
822c9b0147 dptx: Renamed some arguments to be more consistent among functions.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:40 +05:30
Andrei-Liviu Simion
312deb2817 dptx: Reset video streams and AUX logic upon core initialization.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:39 +05:30
Andrei-Liviu Simion
89e9c90d9b dptx: Update configuration structure when MST is enabled/disabled in hardware.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:39 +05:30
Andrei-Liviu Simion
c53c4b7d73 dptx: Clear the ACT event received bit upon successfully receiving it.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:39 +05:30
Andrei-Liviu Simion
b38c432ba3 dptx: Reuse common allocation function for clearing streams.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:39 +05:30
Andrei-Liviu Simion
6d036fb76b dptx: Made the allocation of streams function more flexible.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:39 +05:30
Andrei-Liviu Simion
c658c8e53e dptx: Added an offset argument for remote I2C reads.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:38 +05:30
Andrei-Liviu Simion
10e6141d5b dptx: Added remote IIC write sideband message.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:38 +05:30
Andrei-Liviu Simion
3d78e1ab5f dptx: Added new v3_0 version and deprecate v2_0.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:38 +05:30