All of lore.kernel.org
 help / color / mirror / Atom feed
From: Durgadoss R <durgadoss.r@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH 0/7] Add USB typeC based DP support for BXT platform
Date: Fri, 11 Dec 2015 15:09:21 +0530	[thread overview]
Message-ID: <1449826768-19415-1-git-send-email-durgadoss.r@intel.com> (raw)

This patch series adds upfront link training support to enable
USB type C based DP on BXT platform.

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.

Patches 1-4/7 :Refactoring/exporting DDI functions required
	       to do upfront link train
Patch     5/7 :Exports a common function to update DPCD
Patch     6/7 :Moves finding unused crtc to a common function
Patch     7/7 :Upfront implementation for DDI platforms, that is
               for now, tested on BXT A1.

Changes from RFCv2:
* Rebased on top of atomic and latest-nightly
* Re-used code in load_detect to find unused crtc as per Ander's comment
* Moved DPCD update to common function which can be used by upfront
  link train code for other platforms also.
* intel_crtc_control() does not exist in atomic world; so implemented
  the required dpms_off/on calls through get/release_load_detect()
  functions which take care of locking semantics.
  The other option I tried was using intel_crtc_disable_noatomic()
  But this does not have a corresponding _enable part (and hence
  needed a connector->func->dpms_on() anyway). Hence re-using the
  load_detect functions makes the implementation cleaner.
* Replaced all unnecessary local variables in upfront link train
  code with the corresponding ones in intel_dp struct.
* RFCv2 link: https://patchwork.freedesktop.org/patch/61776/

As per Daniel's suggestion on RFCv1:
* Added the last patch 6/6 that has implementation for CHV
* Made intel_dp_upfront_link_train as common for all platforms
  and added a intel_ddi_upfront_* for all DDI platforms.
  Currently, have restricted it to only for SKL/BXT.
* Moved the upfront code for DDI platforms into intel_ddi.c
  from display.c, since that aligned better with other
  ddi* functions.
* Kept the CHV implementation in display.c as of now
  since we are using some pll functions defined in display.c
  We can discuss and finalize an appropriate place for this
  and then refactor/export required functions.

Durgadoss R (7):
  drm/i915/dp: Reuse encoder if it is already available
  drm/i915/dp: Reuse shared DPLL if it exists already
  drm/i915/dp: Abstract all get_ddi_pll methods
  drm/i915/dp: Export enable/disable_shared_dpll methods
  drm/i915/dp: Add methods to update link train params
  drm/i915: Make finding unused crtc as a generic function
  drm/i915/dp: Enable Upfront link training for typeC DP support on BXT

 drivers/gpu/drm/i915/intel_ddi.c     | 160 ++++++++++++++++++++++++++++-------
 drivers/gpu/drm/i915/intel_display.c |  61 ++++++++-----
 drivers/gpu/drm/i915/intel_dp.c      | 111 +++++++++++++++++++++++-
 drivers/gpu/drm/i915/intel_drv.h     |  12 ++-
 4 files changed, 287 insertions(+), 57 deletions(-)

-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

             reply	other threads:[~2015-12-11  9:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-11  9:39 Durgadoss R [this message]
2015-12-11  9:39 ` [PATCH 1/7] drm/i915/dp: Reuse encoder if it is already available Durgadoss R
2015-12-11  9:39 ` [PATCH 2/7] drm/i915/dp: Reuse shared DPLL if it exists already Durgadoss R
2015-12-11  9:39 ` [PATCH 3/7] drm/i915/dp: Abstract all get_ddi_pll methods Durgadoss R
2015-12-11  9:39 ` [PATCH 4/7] drm/i915/dp: Export enable/disable_shared_dpll methods Durgadoss R
2015-12-11  9:39 ` [PATCH 5/7] drm/i915/dp: Add methods to update link train params Durgadoss R
2016-01-11 14:36   ` Ander Conselvan De Oliveira
2016-01-12  6:35     ` R, Durgadoss
2015-12-11  9:39 ` [PATCH 6/7] drm/i915: Make finding unused crtc as a generic function Durgadoss R
2015-12-11  9:39 ` [PATCH 7/7] drm/i915/dp: Enable Upfront link training for typeC DP support on BXT Durgadoss R
2015-12-29 17:22   ` Ander Conselvan De Oliveira
2015-12-29 18:50     ` R, Durgadoss
2016-01-11 14:10       ` Ander Conselvan De Oliveira
2016-01-11 17:51         ` R, Durgadoss
2015-12-29 23:48   ` Dave Airlie
2016-01-04 18:39     ` Jim Bride
2016-01-11 15:15   ` Ander Conselvan De Oliveira
2016-01-11 17:53     ` R, Durgadoss
2016-01-12  9:37       ` Ander Conselvan De Oliveira

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1449826768-19415-1-git-send-email-durgadoss.r@intel.com \
    --to=durgadoss.r@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.