From 28a8a6f0342e81a110693b83578795b7fa6c83c5 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Thu, 7 Jun 2012 15:56:03 +0200 Subject: [PATCH] --- yaml --- r: 318577 b: refs/heads/master c: 8ecd1a6615f0d9de6759aafe229bc1cc4ee99c7b h: refs/heads/master i: 318575: 5a36551b75ca32a0300114e124a4acbcb31c0f6a v: v3 --- [refs] | 2 +- trunk/drivers/char/agp/intel-gtt.c | 3 ++- trunk/drivers/gpu/drm/i915/i915_gem.c | 3 +++ trunk/include/drm/intel-gtt.h | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1787205a7ea4..ca6dddeff43f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 32e3cd6ecd7ae9b79605b5f2eb993186a509c239 +refs/heads/master: 8ecd1a6615f0d9de6759aafe229bc1cc4ee99c7b diff --git a/trunk/drivers/char/agp/intel-gtt.c b/trunk/drivers/char/agp/intel-gtt.c index 4387e69f8b11..419a25eeefd8 100644 --- a/trunk/drivers/char/agp/intel-gtt.c +++ b/trunk/drivers/char/agp/intel-gtt.c @@ -777,7 +777,7 @@ static void i830_write_entry(dma_addr_t addr, unsigned int entry, writel(addr | pte_flags, intel_private.gtt + entry); } -static bool intel_enable_gtt(void) +bool intel_enable_gtt(void) { u8 __iomem *reg; @@ -823,6 +823,7 @@ static bool intel_enable_gtt(void) return true; } +EXPORT_SYMBOL(intel_enable_gtt); static int i830_setup(void) { diff --git a/trunk/drivers/gpu/drm/i915/i915_gem.c b/trunk/drivers/gpu/drm/i915/i915_gem.c index 108e4c2b5ffa..2884b0865473 100644 --- a/trunk/drivers/gpu/drm/i915/i915_gem.c +++ b/trunk/drivers/gpu/drm/i915/i915_gem.c @@ -3689,6 +3689,9 @@ i915_gem_init_hw(struct drm_device *dev) drm_i915_private_t *dev_priv = dev->dev_private; int ret; + if (!intel_enable_gtt()) + return -EIO; + i915_gem_l3_remap(dev); i915_gem_init_swizzling(dev); diff --git a/trunk/include/drm/intel-gtt.h b/trunk/include/drm/intel-gtt.h index 84ebd7188fc6..8e29d551bb3c 100644 --- a/trunk/include/drm/intel-gtt.h +++ b/trunk/include/drm/intel-gtt.h @@ -27,6 +27,8 @@ int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, struct agp_bridge_data *bridge); void intel_gmch_remove(void); +bool intel_enable_gtt(void); + void intel_gtt_chipset_flush(void); void intel_gtt_unmap_memory(struct scatterlist *sg_list, int num_sg); void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries);