[PATCH 0/4] Link Training failure handling by sending Hotplug Uevent

Manasi Navare manasi.d.navare at intel.com
Tue Dec 6 00:27:34 UTC 2016


This patch series is a final revision of previous patch series for handling
link training failure. This has been polished in terms of the kernel documentation
based on review feedback.

One more patch is added to move sink's max link rate and lane count
to intel_dp and compute it at hotplug and only if link training fails else
keept it constant. This greatly simplifies the link train fallback logic
by changing the max link rate/lane count to the fallback values instead
of creating separate fallback values for link rate/lane count.

In general the idea is to if link training fails during or after atomic modeset,
then the driver sets the link-status property to BAD and sends a HOTPLUG
uevent to notify userspace that link status is BAD. The userspace can be modified
to be "link-status" property aware and on detecting link-status as BAD, it should
revalidate the modes and redo a modeset which in turn will retrain the link
at lower fallback values.

This has been validated and is proved to pass DP compliance uisng DPR-120.

Manasi Navare (4):
  drm: Add a new connector atomic property for link status
  drm/i915: Compute sink's max lane count/link BW at Hotplug
  drm/i915: Find fallback link rate/lane count
  drm/i915: Implement Link Rate fallback on Link training failure

 drivers/gpu/drm/drm_atomic.c                  | 10 ++++
 drivers/gpu/drm/drm_atomic_helper.c           | 15 ++++++
 drivers/gpu/drm/drm_connector.c               | 53 ++++++++++++++++++
 drivers/gpu/drm/i915/intel_dp.c               | 77 ++++++++++++++++++++++++++-
 drivers/gpu/drm/i915/intel_dp_link_training.c | 22 +++++++-
 drivers/gpu/drm/i915/intel_drv.h              |  9 ++++
 include/drm/drm_connector.h                   | 19 +++++++
 include/drm/drm_mode_config.h                 |  5 ++
 include/uapi/drm/drm_mode.h                   |  4 ++
 9 files changed, 210 insertions(+), 4 deletions(-)

-- 
1.9.1



More information about the dri-devel mailing list