--- /dev/null
+From 0b6d24c01932db99fc95304235e751e7f7625c41 Mon Sep 17 00:00:00 2001
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date: Fri, 11 Apr 2014 15:55:17 +0200
+Subject: drm/i915: Don't complain about stolen conflicts on gen3
+
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+
+commit 0b6d24c01932db99fc95304235e751e7f7625c41 upstream.
+
+Apparently stuff works that way on those machines.
+
+I agree with Chris' concern that this is a bit risky but imo worth a
+shot in -next just for fun. Afaics all these machines have the pci
+resources allocated like that by the BIOS, so I suspect that it's all
+ok.
+
+This regression goes back to
+
+commit eaba1b8f3379b5d100bd146b9a41d28348bdfd09
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jul 4 12:28:35 2013 +0100
+
+ drm/i915: Verify that our stolen memory doesn't conflict
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76983
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71031
+Tested-by: lu hua <huax.lu@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_gem_stolen.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
++++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
+@@ -137,7 +137,11 @@ static unsigned long i915_stolen_to_phys
+ r = devm_request_mem_region(dev->dev, base + 1,
+ dev_priv->gtt.stolen_size - 1,
+ "Graphics Stolen Memory");
+- if (r == NULL) {
++ /*
++ * GEN3 firmware likes to smash pci bridges into the stolen
++ * range. Apparently this works.
++ */
++ if (r == NULL && !IS_GEN3(dev)) {
+ DRM_ERROR("conflict detected with stolen region: [0x%08x - 0x%08x]\n",
+ base, base + (uint32_t)dev_priv->gtt.stolen_size);
+ base = 0;
--- /dev/null
+From 2b387059817fd100cddc5a97118d63e3f3fade74 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon, 24 Nov 2014 08:03:12 +0000
+Subject: drm/i915: Only warn the first time we attempt to mmio whilst suspended
+
+From: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2b387059817fd100cddc5a97118d63e3f3fade74 upstream.
+
+In all likelihood we will do a few hundred errnoneous register
+operations if we do a single invalid register access whilst the device
+is suspended. As each instance causes a WARN, this floods the system
+logs and can make the system unresponsive.
+
+The warning was first introduced in
+commit b2ec142cb0101f298f8e091c7d75b1ec5b809b65
+Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
+Date: Fri Feb 21 13:52:25 2014 -0300
+
+ drm/i915: call assert_device_not_suspended at gen6_force_wake_work
+
+and despite the claims the WARN is still encountered in the wild today.
+
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
+Cc: Imre Deak <imre.deak@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_uncore.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/i915/intel_uncore.c
++++ b/drivers/gpu/drm/i915/intel_uncore.c
+@@ -451,8 +451,8 @@ hsw_unclaimed_reg_check(struct drm_i915_
+ static void
+ assert_device_not_suspended(struct drm_i915_private *dev_priv)
+ {
+- WARN(HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended,
+- "Device suspended\n");
++ WARN_ONCE(HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended,
++ "Device suspended\n");
+ }
+
+ #define REG_READ_HEADER(x) \