diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_stolen.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_stolen.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c index 85fda6b803e4..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; |
@@ -533,7 +537,7 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev, | |||
533 | } | 537 | } |
534 | } | 538 | } |
535 | 539 | ||
536 | obj->has_global_gtt_mapping = 1; | 540 | vma->bound |= GLOBAL_BIND; |
537 | 541 | ||
538 | list_add_tail(&obj->global_list, &dev_priv->mm.bound_list); | 542 | list_add_tail(&obj->global_list, &dev_priv->mm.bound_list); |
539 | list_add_tail(&vma->mm_list, &ggtt->inactive_list); | 543 | list_add_tail(&vma->mm_list, &ggtt->inactive_list); |