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