For Platforms that support higher link rates, there is a limitation on Link M /Link N ratio. If the CEILING( Link M / Link N ) ratio is greater than 10.0, then hardware cannot support the given resolution / refresh rate at the given configuration. For BMG Wa_14021768792 helps to bypass this limitation and allows it to support the ratio till 15.0.
This series adds the missing restrictions for earlier platforms and adds the Wa_14021768792 for BMG as per Bspec:49266 Rev2: -Drop new member link_n_extended. -Avoid WA framework for XE Rev3: -Refactor to just add the extended link_n just before writing and scrub it just after read. Rev4: -Prune modes for which the Link M/N ratio is more than the platform limit. -During Link configuration, for a given mode and link rate, check for the Link M/N ratio, and choose higher link rate for which the ratio is within the limits. (Ville) -Use display WA framework. Ankit Nautiyal (9): drm/i915: Add helper to compute link M/N ratio for reuse drm/i915/dp: Limit m/n ratio to 10 for DP SST drm/i915/dp_mst: Limit m/n ratio to 10 for MST drm/i915/dp: Add M/N ratio check with warning for DP link config drm/i915/display: Add bits for link_n_exended for DISPLAY >= 14 drm/i915/display_wa: Add support for Wa_14021768792 drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10 drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n ratio > 10 drm/i915/dp: Extend intel_dp_can_support_m_n() for BMG M/N bypass drivers/gpu/drm/i915/display/intel_display.c | 143 ++++++++++++++++-- drivers/gpu/drm/i915/display/intel_display.h | 5 + .../gpu/drm/i915/display/intel_display_regs.h | 7 + .../drm/i915/display/intel_display_types.h | 2 + .../gpu/drm/i915/display/intel_display_wa.c | 18 +++ .../gpu/drm/i915/display/intel_display_wa.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 82 +++++++++- drivers/gpu/drm/i915/display/intel_dp.h | 6 + drivers/gpu/drm/i915/display/intel_dp_mst.c | 24 ++- drivers/gpu/drm/i915/display/intel_fdi.c | 2 + 10 files changed, 276 insertions(+), 14 deletions(-) -- 2.45.2