Commit graph

63 commits

Author SHA1 Message Date
Nava kishore Manne
7a47ffd9e8 Removed executable file permission from source code files.
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-08-03 18:32:57 +05:30
Nava kishore Manne
607a6324f3 Drivers: Retain @details only in the primary header file.
Removed all other instances.

Signed-off-by: Nava kishore Manne <navam@xilinx.com>
2015-07-13 18:30:19 +05:30
Nava kishore Manne
146cd64c83 Doxygen changes for drivers 2015-06-12 12:50:09 +05:30
Nava kishore Manne
0c9ca599cf Drivers:standalone drivers license changes.
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
2015-05-13 17:05:11 +05:30
Andrei-Liviu Simion
d7e056eb66 dptx: Handle new PHY_CONFIG bit for 8b10b encoding.
Bit 21 of DPTX register PHY_CONFIG (0x200) enables 8b10b encoding.

In v6.0 of the DPTX core, the default value is '1'.
Current driver should keep this value untouched when writing to the PHY_CONFIG
register.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-25 17:39:50 +05:30
Kishore Kumar Korathaluri
292cb37b83 dptx : added hsi namespace to xdefine procs.
Signed-off-by: Kishore Kumar Korathaluri <kkorath@xilinx.com>
2015-02-04 15:57:45 +05:30
Andrei-Liviu Simion
c5d8647eff dptx: 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-02-02 15:19:49 +05:30
Andrei-Liviu Simion
be5ee89f69 dptx: Added additional video common related updates.
Added frame rate into DisplayPort calculations to follow updates for the
commone video driver.

Note, this is the deprecated TX-only driver for DisplayPort (the TX-only driver,
dptx_v3_0, and the unified TX-RX driver, dp_v1_0, are both released for 2015.1).

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:19:14 +05:30
Andrei-Liviu Simion
52d8b3d97a dptx: Update to use common video driver.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:19:04 +05:30
Andrei-Liviu Simion
670e9b6bf8 dptx: Streams now start at index 1 instead of 0.
To follow the IP documentation.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:19:03 +05:30
Andrei-Liviu Simion
90a967f560 dptx: XDPTX_EDID_SIZE->XDPTX_EDID_BLOCK_SIZE.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:19:02 +05:30
Andrei-Liviu Simion
45f4190277 dptx: Update to use common video driver.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:18:59 +05:30
Andrei-Liviu Simion
ff73871ecf dptx: Deprecated v3_0.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:12:11 +05:30
Andrei-Liviu Simion
6166bb66ce dptx: Updated modification history.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:12:01 +05:30
Andrei-Liviu Simion
48b804bbc3 dptx: Updated driver information in documentation.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:11:57 +05:30
Andrei-Liviu Simion
26a0ecf69d dptx: Optimized some video calculations.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:11:54 +05:30
Andrei-Liviu Simion
b90371497e dptx: Update to use common video library.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:11:47 +05:30
Andrei-Liviu Simion
a63b398f31 dptx: Stream indices now start at 1 rather than 0.
Following the naming convention used in the IP product guide and the IP
hardware.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:10:02 +05:30
Andrei-Liviu Simion
b529cc05c6 dptx: Fixed a bit mask.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:58 +05:30
Andrei-Liviu Simion
b52732ead1 dptx: Added parameter comment to XDptx_SetVswingPreemp function header.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:54 +05:30
Andrei-Liviu Simion
4f25fdb51f dptx: Preserve main link enable status while link training.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:50 +05:30
Andrei-Liviu Simion
6647392766 dptx: Modified the asserts for the establish link function.
Since the check link status function is no longer being called within the
establish link function, some additional assertions need to be done.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:47 +05:30
Andrei-Liviu Simion
155ed0f09a dptx: Optimized burst AUX writes.
Use burst writes when possible.
- Detached writing the voltage swing and preemphasis settings to the core from
writing to the sink using AUX writes. Now, a pointer to an array is taken as an
argument and the array is modified with the data to write over AUX. This allows
preparation of a burst write when the voltage swing and preemphasis settings can
be written at the same time as another adjacent DPCD access.

The scrambler is now enabled/disabled while writing the training patterns.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:35 +05:30
Andrei-Liviu Simion
0757da209c dptx: Force retrain when the establish link function is called.
Previously, the establish link function was checking the status of all lanes and
only retraining if the link isn't trained. This results in no retraining if the
application reduces the lane count.

The link should always be retrained on a change in lane count.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:28 +05:30
Andrei-Liviu Simion
3f97b78bf9 dptx: Waiting for the PHY to come out of reset based on lane count.
Previously, the PHY status for all lanes was being checked. This results in the
driver thinking that the PHY never comes out of reset if the core is limited to
a maximum lane count of 1 or 2 at the time the core is initialized.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:23 +05:30
Andrei-Liviu Simion
f852cf5805 dptx: Mask interrupts while they are being serviced.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:20 +05:30
Andrei-Liviu Simion
7e466af028 dptx: Increased HPD pulse duration to 0.500 ms to allow for debouncing.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:11 +05:30
Andrei-Liviu Simion
1c9f00c076 dptx: Reduced the RX capability read to 16 bytes.
No need to read and store unused capability information by the driver.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:09:04 +05:30
Andrei-Liviu Simion
ede61d44cf dptx: Synchronized argument naming between function declarations/definitions.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-02-02 15:08:53 +05:30
Kishore Kumar Korathaluri
5b3241364b dptx : added common namespace to all common tcl commands.
Signed-off-by: Kishore Kumar Korathaluri <kkorath@xilinx.com>
2015-01-22 11:37:16 +05:30
Suneel Garapati
0ae197d5e4 all: make source code non-executable
Changes -
find -name "*.h" -exec chmod a-x '{}' ';'
find -name "*.c" -exec chmod a-x '{}' ';'
find -name "*.S" -exec chmod a-x '{}' ';'
find -name "*.ld" -exec chmod a-x '{}' ';'
find -name Makefile -exec chmod a-x '{}' ';'

Signed-off-by: Suneel Garapati <suneel.garapati@xilinx.com>
2014-12-17 15:13:03 +05:30
Andrei-Liviu Simion
b3c477a161 dptx: Fixed some documentation for Doxygen.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:45 +05:30
Andrei-Liviu Simion
245566a2c4 dptx: Added macro header comments describing new functionality.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:44 +05:30
Andrei-Liviu Simion
87692a423d dptx: Improved sink reordering.
The sink reordering would fail on retrieval of tiling information from a sink
that does not have a Tiled Display Topology (TDT) data block. This behavior is
incorrect since subsequent sinks may be a part of a tiled display.
Modified the function to be void.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:44 +05:30
Andrei-Liviu Simion
139854677e dptx: Added function header comments describing new functionality.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:44 +05:30
Andrei-Liviu Simion
fe2c47e815 dptx: Added functions that reorder the sink numbering of the topology.
Added functionality that reorders the sink list such that topologies containing
tiled display(s) will have the contained sinks reordered in a consistent manner.

The need for such functionality exists because not all tiled displays will have
the same internal topologies.
It was observed that two 4k2k MST based monitors (tiled display, 2 sinks) from
different manufacturers would have the left and right images swapped using
identical stream-to-sink mappings.
Thus, the need to obtain the tiled display topology information of all sinks and
their relative tile location is required to send the correct stream to the
desired sink.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:44 +05:30
Andrei-Liviu Simion
69fe13cc3e dptx: Added macros related to tile ordering.
These macros parse tile location, total horizontal and vertical tiles, and tile
order from the Tiled Display Topology section data block.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:43 +05:30
Andrei-Liviu Simion
b91ce402c0 dptx: Added a function that retrieves the Tiled Display Topology of a sink.
Given a sink, the function will attempt to retrieve the Tiled Display Topology
section data block which is part of the DisplayID structure.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:43 +05:30
Andrei-Liviu Simion
482e77daf3 dptx: Added definitions for the Tiled Display Topology section data block.
The Tiled Display Topology (TDT) section data block is part of the DisplayID.
The driver currently supports DisplayID as an extension block to the base EDID
structure.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:43 +05:30
Andrei-Liviu Simion
aa76107d80 dptx: Added a function to retrieve a specified data block from the DisplayId.
Search for a section data block that matched a specified section tag.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:43 +05:30
Andrei-Liviu Simion
d584cbfdde dptx: Added some DisplayID register defines.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:43 +05:30
Andrei-Liviu Simion
650d61d699 dptx: Added a function that fetches a DisplayID EDID extension block.
Given a sink, the function will attempt to retrieve an EDID extension block of
type DisplayID.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:42 +05:30
Andrei-Liviu Simion
3a2f3024f3 dptx: Reuse retrieval of EDID blocks for retrieval of the base EDID.
Base EDID = EDID block #0.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:42 +05:30
Andrei-Liviu Simion
bc137caf88 dptx: Moved functions related to retrieval of EDID information into xdptx_edid.c
Consolidated the functions that obtain the base EDID block into the EDID utility
file.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:42 +05:30
Andrei-Liviu Simion
2133642349 dptx: Added EDID utility file and functions for fetching an EDID block.
Created a file containing utility functions related to the Extended Display
Identification Information (EDID).
The initial functions included are used to fetch EDID blocks.

Block numbering starts with 0 being the base EDID block, and extension block
starting at 1.

EDID blocks are 128 bytes in size.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:42 +05:30
Andrei-Liviu Simion
d431d30835 dptx: Optimized immediate I2C read transaction.
The 16-byte chunking is already done by XDptx_AuxCommon, so there is no need to
do it in XDptx_IicRead.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:41 +05:30
Andrei-Liviu Simion
67640948cf dptx: Reorganized and commented I2C and DPCD reads/writes.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:41 +05:30
Andrei-Liviu Simion
29b155b08f dptx: Add and update the function header comments for I2C and DPCD reads/writes.
- Added function header comments for the remote I2C and remote DPCD read and
write functions.
- Updated the function header comments for immediate I2C and AUX read and write
functions.

Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:41 +05:30
Andrei-Liviu Simion
cbec2debdb dptx: Define the I2C segment pointer address (0x30).
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2014-11-14 09:55:41 +05:30
Andrei-Liviu Simion
ce0e1fd561 dptx: Improved remote IIC reads/writes to automatically work on 16-byte chunks.
Some monitors don't support sideband messages with IIC 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 IIC read/write functions also serve as a wrapper for
an IIC 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:41 +05:30