[Intel-gfx] [RFC DP-typeC 0/2] Support USB typeC based DP on BXT
Durgadoss R
durgadoss.r at intel.com
Tue Sep 15 03:34:59 PDT 2015
This is an RFC series to start the review/discussion on approach
to support USB type C based DP panel.
To support USB type C alternate DP mode, the display driver needs to
know the number of lanes required by the DP panel as well as number
of lanes that can be supported by the type-C cable. Sometimes, the
type-C cable may limit the bandwidth even if Panel can support
more lanes.
The goal is to find out the number of lanes which can be supported
using a particular cable so that we can cap 'max_available_lanes'
to that number during modeset.
These two patches are based on 4.2-rc2 and tested only on
a BXT A1 platform for now.
Brief summary of the approach taken:
-----------------------------------
1.As soon as DP-hotplug is detected, driver starts link training
with highest number of lanes/bandwidth possible. If it fails,
driver retries link training with lane/2 for same bandwidth.
We continue this procedure until we find a working configuration
of lane/bandwidth values. This 'number of lanes' is then
set as the 'max_available_lanes', so that the following
intel_dp_compute_config() during modeset picks it up as
max_lane_count (instead of 4 always, from DPCD).
2.Since we do only link training on hotplug, only the port
and its PLLs are enabled/disabled without touching pipe/
planes etc.
3.For scenarios where we boot with DP connected (along with
an LFP like MIPI/eDP) we disable the crtc and then start
link training, since BIOS brings up DP. The crtc is
enabled back during subsequent modeset. This needs some
changes for latest -nightly branch since we do not have
intel_crtc_control() anymore.
4.Since we are doing the link training on hotplug (as
opposed to during modeset) we named the function
'{chv/bxt/*}_upfront_link_train'. We can also think
of a virtual func for this, inside intel_encoder.
Durgadoss R (2):
drm/i915/dp: Make bxt_ddi_pll_select non-static
drm/i915/dp: Enable Upfront link training for type-C DP support
drivers/gpu/drm/i915/intel_ddi.c | 11 +--
drivers/gpu/drm/i915/intel_display.c | 130 +++++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_dp.c | 22 ++++++
drivers/gpu/drm/i915/intel_drv.h | 6 ++
4 files changed, 165 insertions(+), 4 deletions(-)
--
1.9.1
More information about the Intel-gfx
mailing list