aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Widawsky <benjamin.widawsky@intel.com>2012-12-18 13:31:27 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-12-20 10:32:04 -0500
commit1c45140d3da0c98fa7eda2cd10f9805232a5e9ac (patch)
tree4310248376ec589798efbb9eff273a854517edaa
parent06e5598fce5ce89fe8bf081398296e5b08d993dd (diff)
drm/i915: Make GSM void
The iomapping of the register region has historically been a uint32_t for the obvious reason that our PTE size was always 4b. In the future however, we cannot make this assumption. By making the type void, it makes the upcoming pointer math we will do much easier, and hopefully gives the compiler opportunities to warn us when we do stupid things. v2: Cast to __iomem, caught by Ville Signed-off-by: Ben Widawsky <ben@bwidawsk.net> [danvet: Fixup __iomem issue for real.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ae88d87be951..d2b93a4a3d71 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -801,7 +801,7 @@ typedef struct drm_i915_private {
801 unsigned long stolen_base; /* limited to low memory (32-bit) */ 801 unsigned long stolen_base; /* limited to low memory (32-bit) */
802 802
803 /** "Graphics Stolen Memory" holds the global PTEs */ 803 /** "Graphics Stolen Memory" holds the global PTEs */
804 uint32_t __iomem *gsm; 804 void __iomem *gsm;
805 805
806 struct io_mapping *gtt_mapping; 806 struct io_mapping *gtt_mapping;
807 phys_addr_t gtt_base_addr; 807 phys_addr_t gtt_base_addr;
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 912389e38a7d..eac2cec71652 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -290,7 +290,7 @@ void i915_gem_init_ppgtt(struct drm_device *dev)
290 return; 290 return;
291 291
292 292
293 pd_addr = dev_priv->mm.gsm + ppgtt->pd_offset/sizeof(gtt_pte_t); 293 pd_addr = (gtt_pte_t __iomem*)dev_priv->mm.gsm + ppgtt->pd_offset/sizeof(gtt_pte_t);
294 for (i = 0; i < ppgtt->num_pd_entries; i++) { 294 for (i = 0; i < ppgtt->num_pd_entries; i++) {
295 dma_addr_t pt_addr; 295 dma_addr_t pt_addr;
296 296
@@ -432,7 +432,8 @@ static void gen6_ggtt_bind_object(struct drm_i915_gem_object *obj,
432 struct scatterlist *sg = st->sgl; 432 struct scatterlist *sg = st->sgl;
433 const int first_entry = obj->gtt_space->start >> PAGE_SHIFT; 433 const int first_entry = obj->gtt_space->start >> PAGE_SHIFT;
434 const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry; 434 const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry;
435 gtt_pte_t __iomem *gtt_entries = dev_priv->mm.gsm + first_entry; 435 gtt_pte_t __iomem *gtt_entries =
436 (gtt_pte_t __iomem *)dev_priv->mm.gsm + first_entry;
436 int unused, i = 0; 437 int unused, i = 0;
437 unsigned int len, m = 0; 438 unsigned int len, m = 0;
438 dma_addr_t addr; 439 dma_addr_t addr;