FAILED: patch "[PATCH] drm/i915/fbdev: Stop repeating tile configuration on" failed to apply to 4.9-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
b717a0392530ae8da0da041abe5c3a6098b55660Mon Sep 17 00:00:00 2001
From: Chris Wilson <[email protected]>
Date: Fri, 24 Feb 2017 11:43:06 +0000
Subject: [PATCH] drm/i915/fbdev: Stop repeating tile configuration on
stagnation
If we cease making progress in finding matching outputs for a tiled configuration, stop looping over the remaining unconfigured outputs.
v2: Use conn_seq (instead of pass) to only apply tile configuration on first pass.
Fixes b0ee9e7fa5b4 ("drm/fb: add support for tiled monitor configurations. (v2)")
Signed-off-by Chris Wilson <[email protected]>
Cc Tomasz Lis <[email protected]>
Cc Dave Airlie <[email protected]>
Cc Daniel Vetter <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Sean Paul <[email protected]>
Cc <[email protected]> # v3.19+
Reviewed-by Tomasz Lis <[email protected]>
(cherry picked from commit 754a76591b12c88f57ad8b4ca533a5c9566a1922)
Signed-off-by Jani Nikula <[email protected]>
drivers/gpu/drm/i915/intel_fbdev.c +4 -6
@@ -357,14 +357,13 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper, bool *enabled, int width, int height) { struct drm_i915_private *dev_priv = to_i915(fb_helper->dev); -unsigned long conn_configured, mask; +unsigned long conn_configured, conn_seq, mask;unsigned int count =min (fb_helper->connector_count,BITS_PER_LONG );int i, j;bool *save_enabled;bool fallback = true;int num_connectors_enabled =0 ;int num_connectors_detected =0 ; -int pass =0 ; save_enabled =kcalloc (count,sizeof (bool ),GFP_KERNEL );if (!save_enabled)
@@ -374,6 +373,7 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper, mask =BIT (count) -1 ; conn_configured =0 ; retry: + conn_seq = conn_configured;for (i =0 ; i < count; i++) {struct drm_fb_helper_connector *fb_conn;struct drm_connector *connector;
@@ -387,7 +387,7 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,if (conn_configured &BIT (i))continue ; -if (pass ==0 && !connector->has_tile) +if (conn_seq ==0 && !connector->has_tile)continue ;if (connector->status == connector_status_connected)
@@ -498,10 +498,8 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper, conn_configured |=BIT (i); } -if ((conn_configured & mask) != mask) { - pass++; +if ((conn_configured & mask) != mask && conn_configured != conn_seq) goto retry; - }/* * If the BIOS didn't enable everything it could, fall back to have the