aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tegra/sor.c
Commit message (Collapse)AuthorAge
...
* drm/tegra: sor - Remove obsolete commentThierry Reding2014-06-09
| | | | | | | | | According to the DP specification the disparity of the first symbol should always be negative. It is therefore safe to assume that panels will conform to that and therefore parameterizing this field should never be necessary. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Enable only the necessary number of lanesThierry Reding2014-06-09
| | | | | | | Instead of always enabling all four lanes, enable only the number probed from the link. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Power on only the necessary lanesThierry Reding2014-06-09
| | | | | | Power on only those lanes required for the specified link. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Do not program interlaced mode registersThierry Reding2014-06-09
| | | | | | | Interlaced mode is currently not supported on the SOR, so don't program any associated registers. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Do not hardcode link speedThierry Reding2014-06-09
| | | | | | | Use the speed probed from the link at runtime rather than relying on a hardcoded default. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Do not hardcode number of blank symbolsThierry Reding2014-06-09
| | | | | | | | | | | The number of HBLANK and VBLANK symbols can be computed at runtime so that they can be set appropriately depending on the video mode and DP link. These values are used by the packet generation logic to determine how many audio samples can be transferred during the blanking intervals. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Don't hardcode link parametersThierry Reding2014-06-09
| | | | | | | | | | | | | | | The currently hardcoded link parameters don't work on all eDP panels, so compute the parameters at runtime depending on the mode and panel type to allow the driver to cope with a wider variety of panels. Note that the number of bits per pixel of the panel is still hardcoded, but this can be addressed in a separate patch. This is largely based on a patch by Stéphane Marchesin but the algorithm was largely rewritten to be more readable and concise. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Change power down orderingStéphane Marchesin2014-06-09
| | | | | | | | Lanes are powered up in decreasing order. Power them down in increasing order for consistency. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Fix copy/paste errorStéphane Marchesin2014-06-09
| | | | | | | | The comment above mentions link A/B but this isn't what the code does, so let's fix that. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Remove pixel clock roundingStéphane Marchesin2014-06-09
| | | | | | | | | | The code currently rounds up the clock to the next MHZ, which is rounding up a 69.5MHz clock to 70MHz on my machine. This in turn prevents the display from syncing. Removing this rounding fixes eDP for me. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Make debugfs setup consistentThierry Reding2014-06-06
| | | | | | | Other output drivers set up debugfs slightly differently. Bring the SOR driver in line with those for consistency. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Recursively remove debugfs treeThierry Reding2014-06-06
| | | | | | | | Removing only the root directory will fail when there are still files in it. Instead of manually removing all files, remove the whole directory recursively. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Remove host1x drm_bus implementationThierry Reding2014-06-05
| | | | | | | The DRM core can now cope with drivers that don't have an associated struct drm_bus, so the host1x implementation is no longer useful. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Protect CRC debugfs against enable stateThierry Reding2014-06-05
| | | | | | | | Accessing the CRC debugfs file will hang the system if the SOR is not enabled, so make sure that it is stays enabled until the CRC has been read. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: dc - Compute shift clock divider in output driversThierry Reding2014-06-05
| | | | | | | | The shift clock divider is highly dependent on the type of output, so push computation of it down into the output drivers. The old code used to work merely by accident. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: sor - Add CRC debugfs supportThierry Reding2014-06-05
| | | | | | | | The SOR allows the computation of a 32 bit CRC of the content that it transmits. This functionality is exposed via debugfs and is useful to verify proper operation of the SOR. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Add eDP supportThierry Reding2014-04-04
Add support for eDP functionality found on Tegra124 and later SoCs. Only fast link training is currently supported. Signed-off-by: Thierry Reding <treding@nvidia.com>