[PATCH 0/5] Handle link training failure for DDI platforms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



According to the DP spec 1.2, link training failure needs to be handled
by lowering the link rate and retraining the link. These patches
implement this link rate fallback. Currently the driver trains the link
in atomic commit. This could fail if Clock Recovery or Channel EQ fails
during actual link training. In this case, we track the link parameters
at which it failed, validate the mode list based on new link constraints
and redo a modeset within the kernel if the current mode is still valid
but on lower link rate and lower bpp else send a hotplug uevent to 
notify userspace to try a different mode.

This has been tested only on DDI platforms now using DPR120 DP Compliance
tests. More patches will be submitted to scale this to older non DDI platforms.

Manasi Navare (4):
  drm: Add atomic helper to redo a modeset on current mode
  drm: Define a work struct for scheduling a uevent for modeset retry
  drm/i915; Add a function to return index of link rate
  drm/i915: Link Rate fallback on Link training failure

Navare, Manasi D (1):
  drm/i915: Change the placement of some static functions in intel_dp.c

 drivers/gpu/drm/drm_atomic_helper.c           |  58 +++++++
 drivers/gpu/drm/i915/intel_ddi.c              |  15 +-
 drivers/gpu/drm/i915/intel_dp.c               | 234 +++++++++++++++++---------
 drivers/gpu/drm/i915/intel_dp_link_training.c |  12 +-
 drivers/gpu/drm/i915/intel_drv.h              |   6 +-
 include/drm/drm_atomic_helper.h               |   1 +
 include/drm/drm_connector.h                   |   5 +
 7 files changed, 249 insertions(+), 82 deletions(-)

-- 
1.9.1

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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux