Patch "drm/i915/fbdev: Stop repeating tile configuration on stagnation" has been added to the 4.10-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915/fbdev: Stop repeating tile configuration on stagnation
to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-fbdev-stop-repeating-tile-configuration-on-stagnation.patch
and it can be found in the queue-4.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
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: drm/i915/fbdev: Stop repeating tile configuration on stagnation
From: Chris Wilson <[email protected]>
commit b717a0392530ae8da0da041abe5c3a6098b55660 upstream.
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.
--- drivers/gpu/drm/i915/intel_fbdev.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
drivers/gpu/drm/i915/intel_fbdev.c +4 -6
@@ -357,14 +357,13 @@ static bool intel_fb_initial_config(stru 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(stru 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 @@ retry: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 @@ retry: 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
Patches currently in stable-queue which might be from [email protected] are
queue-4.10/drm-i915-squelch-any-ktime-jiffie-rounding-errors-for-wait-ioctl.patch queue-4.10/drm-i915-fbdev-stop-repeating-tile-configuration-on-stagnation.patch queue-4.10/drm-i915-store-a-permanent-error-in-obj-mm.pages.patch queue-4.10/drm-i915-gen9-increase-pcode-request-timeout-to-50ms.patch queue-4.10/drm-i915-avoid-tweaking-evaluation-thresholds-on-baytrail-v3.patch queue-4.10/drm-i915-fix-forcewake-active-domain-tracking.patch