Re-enable link configurations after the link is reset via a call
to intel_dp_link_caps_reset(), allowing a subsequent modeset to
use all the link configurations of a sink newly connected or an already
connected sink changing its capabilities.

Signed-off-by: Imre Deak <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c 
b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 03e40e8d24fb6..667d2e55cea19 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -561,6 +561,12 @@ static void reset_max_link_limits_no_update(struct 
intel_dp_link_caps *link_caps
        set_max_link_limits_no_update(link_caps, &max_link_limits);
 }
 
+static void reset_max_link_limits_reenable_all(struct intel_dp_link_caps 
*link_caps)
+{
+       link_caps->enabled_configs = INTEL_DP_LINK_CAPS_FILTER_ALL;
+       reset_max_link_limits_no_update(link_caps);
+}
+
 /**
  * intel_dp_link_caps_get_max_limits - get the current maximum link limits
  * @link_caps: link capabilities state
@@ -824,7 +830,7 @@ int intel_dp_link_config_index(struct intel_dp_link_caps 
*link_caps,
 void intel_dp_link_caps_reset(struct intel_dp_link_caps *link_caps)
 {
        /* TODO: Update the maximum link information. */
-       reset_max_link_limits_no_update(link_caps);
+       reset_max_link_limits_reenable_all(link_caps);
 }
 
 static int i915_dp_force_link_rate_show(struct seq_file *m, void *data)
-- 
2.49.1

Reply via email to