From: Dave Airlie <airlied@redhat.com>
Date: Mon, 27 Aug 2012 06:22:20 +0000 (+1000)
Subject: Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux... 
X-Git-Tag: firefly_0821_release~3680^2~1922^2~31
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=93bb70e0c00f1be4cc857e4d8375c44058cce71e;p=firefly-linux-kernel-4.4.55.git

Merge branch 'master' of git://git./linux/kernel/git/torvalds/linux into drm-next

There was some merge conflicts in -next and they weren't so pretty, so
backmerge now to avoid them.

Conflicts:
	drivers/gpu/drm/i915/i915_gem.c
	drivers/gpu/drm/i915/intel_modes.c
---

93bb70e0c00f1be4cc857e4d8375c44058cce71e
diff --cc drivers/gpu/drm/Kconfig
index 45536db74d8c,90e28081712d..3a8c68345fe2
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@@ -22,8 -22,8 +22,9 @@@ menuconfig DR
  config DRM_USB
  	tristate
  	depends on DRM
+ 	depends on USB_ARCH_HAS_HCD
  	select USB
 +	select USB_SUPPORT
  
  config DRM_KMS_HELPER
  	tristate
diff --cc drivers/gpu/drm/i915/i915_gem.c
index 051459324826,489e2b162b27..31054fa44c47
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@@ -2277,9 -2369,13 +2277,9 @@@ int i915_gpu_idle(struct drm_device *de
  		if (ret)
  			return ret;
  
- 		ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID);
+ 		ret = i915_ring_idle(ring);
  		if (ret)
  			return ret;
 -
 -		/* Is the device fubar? */
 -		if (WARN_ON(!list_empty(&ring->gpu_write_list)))
 -			return -EBUSY;
  	}
  
  	return 0;
diff --cc drivers/gpu/drm/i915/intel_modes.c
index 7a5238fc1a02,29b72593fbb2..4bc1c0fc342a
--- a/drivers/gpu/drm/i915/intel_modes.c
+++ b/drivers/gpu/drm/i915/intel_modes.c
@@@ -32,6 -32,25 +32,24 @@@
  #include "intel_drv.h"
  #include "i915_drv.h"
  
+ /**
+  * intel_connector_update_modes - update connector from edid
+  * @connector: DRM connector device to use
+  * @edid: previously read EDID information
+  */
+ int intel_connector_update_modes(struct drm_connector *connector,
+ 				struct edid *edid)
+ {
+ 	int ret;
+ 
+ 	drm_mode_connector_update_edid_property(connector, edid);
+ 	ret = drm_add_edid_modes(connector, edid);
+ 	drm_edid_to_eld(connector, edid);
 -	connector->display_info.raw_edid = NULL;
+ 	kfree(edid);
+ 
+ 	return ret;
+ }
+ 
  /**
   * intel_ddc_get_modes - get modelist from monitor
   * @connector: DRM connector device to use
diff --cc drivers/gpu/drm/i915/intel_pm.c
index c0407aa5baac,1881c8c83f0e..9b05f7832dc2
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@@ -2479,20 -2438,13 +2479,13 @@@ static void gen6_enable_rps(struct drm_
  
  	I915_WRITE(GEN6_RP_DOWN_TIMEOUT, 1000000);
  	I915_WRITE(GEN6_RP_INTERRUPT_LIMITS,
 -		   dev_priv->max_delay << 24 |
 -		   dev_priv->min_delay << 16);
 +		   dev_priv->rps.max_delay << 24 |
 +		   dev_priv->rps.min_delay << 16);
  
- 	if (IS_HASWELL(dev)) {
- 		I915_WRITE(GEN6_RP_UP_THRESHOLD, 59400);
- 		I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 245000);
- 		I915_WRITE(GEN6_RP_UP_EI, 66000);
- 		I915_WRITE(GEN6_RP_DOWN_EI, 350000);
- 	} else {
- 		I915_WRITE(GEN6_RP_UP_THRESHOLD, 10000);
- 		I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 1000000);
- 		I915_WRITE(GEN6_RP_UP_EI, 100000);
- 		I915_WRITE(GEN6_RP_DOWN_EI, 5000000);
- 	}
+ 	I915_WRITE(GEN6_RP_UP_THRESHOLD, 59400);
+ 	I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 245000);
+ 	I915_WRITE(GEN6_RP_UP_EI, 66000);
+ 	I915_WRITE(GEN6_RP_DOWN_EI, 350000);
  
  	I915_WRITE(GEN6_RP_IDLE_HYSTERSIS, 10);
  	I915_WRITE(GEN6_RP_CONTROL,