summaryrefslogtreecommitdiff
path: root/patches/collateral-evolutions/drm/15-intel-gtt/drivers_gpu_drm_i915.patch
blob: 9a3074f8d67cafc95d8c54d681133c02cdfc4d50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -881,6 +881,9 @@ static int i915_gmch_probe(struct drm_de
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int ret;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0))
+	const struct intel_gtt *gtt;
+#endif
 
 	ret = intel_gmch_probe(dev_priv->bridge_dev, dev_priv->dev->pdev, NULL);
 	if (!ret) {
@@ -888,7 +891,16 @@ static int i915_gmch_probe(struct drm_de
 		return -EIO;
 	}
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
 	intel_gtt_get(gtt_total, stolen, mappable_base, mappable_end);
+#else
+	gtt = intel_gtt_get();
+
+	*gtt_total = gtt->gtt_total_entries << PAGE_SHIFT;
+	*stolen = gtt->stolen_size;
+	*mappable_base = gtt->gma_bus_addr;
+	*mappable_end = gtt->gtt_mappable_entries << PAGE_SHIFT;
+#endif
 
 	dev_priv->gtt.do_idle_maps = needs_idle_maps(dev_priv->dev);
 	dev_priv->gtt.base.clear_range = i915_ggtt_clear_range;