diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-11 09:55:17 -0400 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2014-12-10 04:11:28 -0500 |
commit | 0b6d24c01932db99fc95304235e751e7f7625c41 (patch) | |
tree | 776a0bef38526d3087927ad3b5e668da1f0e378a /drivers/gpu | |
parent | e7d6f7d708290da1b7c92f533444b042c79412e0 (diff) |
drm/i915: Don't complain about stolen conflicts on gen3
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>
Cc: stable@vger.kernel.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_stolen.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c index c38891892547..a2045848bd1a 100644 --- 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_physical(struct drm_device *dev) | |||
137 | r = devm_request_mem_region(dev->dev, base + 1, | 137 | r = devm_request_mem_region(dev->dev, base + 1, |
138 | dev_priv->gtt.stolen_size - 1, | 138 | dev_priv->gtt.stolen_size - 1, |
139 | "Graphics Stolen Memory"); | 139 | "Graphics Stolen Memory"); |
140 | if (r == NULL) { | 140 | /* |
141 | * GEN3 firmware likes to smash pci bridges into the stolen | ||
142 | * range. Apparently this works. | ||
143 | */ | ||
144 | if (r == NULL && !IS_GEN3(dev)) { | ||
141 | DRM_ERROR("conflict detected with stolen region: [0x%08x - 0x%08x]\n", | 145 | DRM_ERROR("conflict detected with stolen region: [0x%08x - 0x%08x]\n", |
142 | base, base + (uint32_t)dev_priv->gtt.stolen_size); | 146 | base, base + (uint32_t)dev_priv->gtt.stolen_size); |
143 | base = 0; | 147 | base = 0; |