From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sun, 12 Sep 2010 15:33:47 +0000 (+0100)
Subject: drm/i915/lvds: Remove incorrect mode locking
X-Git-Tag: firefly_0821_release~7613^2~3600^2~31^2~133
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8aadf70bd72c8f15994e68503af8f6722cd5c813;p=firefly-linux-kernel-4.4.55.git

drm/i915/lvds: Remove incorrect mode locking

One doesn't need to hold the mode lock in order to duplicate a mode.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index bfc1bb443b05..a05ca3286782 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -732,7 +732,6 @@ static void intel_find_lvds_downclock(struct drm_device *dev,
 	panel_fixed_mode = dev_priv->panel_fixed_mode;
 	temp_downclock = panel_fixed_mode->clock;
 
-	mutex_lock(&dev->mode_config.mutex);
 	list_for_each_entry(scan, &connector->probed_modes, head) {
 		/*
 		 * If one mode has the same resolution with the fixed_panel
@@ -758,7 +757,6 @@ static void intel_find_lvds_downclock(struct drm_device *dev,
 			}
 		}
 	}
-	mutex_unlock(&dev->mode_config.mutex);
 	if (temp_downclock < panel_fixed_mode->clock &&
 	    i915_lvds_downclock) {
 		/* We found the downclock for LVDS. */
@@ -929,23 +927,18 @@ void intel_lvds_init(struct drm_device *dev)
 		dev_priv->lvds_edid_good = false;
 
 	list_for_each_entry(scan, &connector->probed_modes, head) {
-		mutex_lock(&dev->mode_config.mutex);
 		if (scan->type & DRM_MODE_TYPE_PREFERRED) {
 			dev_priv->panel_fixed_mode =
 				drm_mode_duplicate(dev, scan);
-			mutex_unlock(&dev->mode_config.mutex);
 			intel_find_lvds_downclock(dev, connector);
 			goto out;
 		}
-		mutex_unlock(&dev->mode_config.mutex);
 	}
 
 	/* Failed to get EDID, what about VBT? */
 	if (dev_priv->lfp_lvds_vbt_mode) {
-		mutex_lock(&dev->mode_config.mutex);
 		dev_priv->panel_fixed_mode =
 			drm_mode_duplicate(dev, dev_priv->lfp_lvds_vbt_mode);
-		mutex_unlock(&dev->mode_config.mutex);
 		if (dev_priv->panel_fixed_mode) {
 			dev_priv->panel_fixed_mode->type |=
 				DRM_MODE_TYPE_PREFERRED;