Commit graph

12 commits

Author SHA1 Message Date
Andrei-Liviu Simion
3b2961139d dp: Only increment segment pointer if required.
It seems that monitors capable of MST, upon switching to SST mode in the monitor
options menu, respond with NACK when the segment pointer is written.
These same monitors ACK segment pointer writes when running in MST mode.
Tested monitors that are SST only monitors also ACK segment pointer writes.

The issue here is that MST monitors running in SST mode will error out when the
I2C read function is called because the segment pointer is always being written
to 0 (segment pointer is reset), and thus receives a NACK.
This patch prevents this from happening.

From now on, if the user changes the segment pointer, it is up to them to reset
it to 0.
The I2C read will only increment the segment pointer when required to do a read
outside of the base EDID block.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:49 +05:30
Andrei-Liviu Simion
57a0c64dd0 dp: tx: Don't write voltage swing and pre-emphasis values when writing TP0.
For compliance, training pattern 0 should be written without using a burst write
for voltage swing and pre-emphasis values.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:44 +05:30
Andrei-Liviu Simion
a36b777a40 dp: tx: When downshifting during link training, always issue training pattern 0.
For compliance purposes, training pattern 0 needs to be sent between
downshifting of lane count and link rates.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:43 +05:30
Andrei-Liviu Simion
74cef5fbbb dp: rx: Added audio control.
Enable, disable, and reset of audio stream packets on the main link.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:39 +05:30
Andrei-Liviu Simion
80eb9a43cd dp: Added TX/RX assertions on all API functions.
Functions now assert the core context upon which they operate.

XDp_Tx* functions are meant to be used with the DisplayPort core in the TX mode
of operation.
XDp_Rx* functions are meant to be used with the DisplayPort core in the RX mode
of operation.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:37 +05:30
Andrei-Liviu Simion
7b382d036f dp: TX/RX core type should operate on the XDp structure pointer.
Rather than on the configuration structure pointer.

This makes it cleaner and easier to use as this function is an API function.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:35 +05:30
Andrei-Liviu Simion
e394c31035 dp: Added initial modification history comment.
Added note to the initial release that the TX code was taken from the dptx
driver.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:34 +05:30
Andrei-Liviu Simion
a13413ec39 dp: tx: Removed redundant condition.
If link does not need to be re-enabled, then it is already disabled. Don't need
to disable the link again.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:32 +05:30
Andrei-Liviu Simion
05f71ab631 dp: rx: Waiting for PHY to be ready based on number of lanes.
If the DisplayPort core is configured for 1 or 2 maximum lanes, wait for PHY to
be ready only on those lanes rather than waiting on all 4 lanes.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:32 +05:30
Andrei-Liviu Simion
e81ba1fde6 dp: Clean-up.
Lines should not exceed 80 characters in length.
The pre-processor only replaces full names, so prefixes cannot be altered using
macros (#define XDPTX_ XDP_TX_).

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:31 +05:30
Andrei-Liviu Simion
2a662e6f48 dp: tx: Added PHY polarity inversion option.
Both for all lanes and for individual lane PHY polarity setting.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:30 +05:30
Andrei-Liviu Simion
1a280fdfc7 dp: Unified naming of xdptx and xdprx to xdp.
As per Xilinx standalone coding guidelines.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:21 +05:30
Renamed from XilinxProcessorIPLib/drivers/dp/src/xdptx.c (Browse further)