On Tue, Dec 18, 2012 at 10:31:27AM -0800, Ben Widawsky wrote:
> 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 <b...@bwidawsk.net>
> ---
>  drivers/gpu/drm/i915/i915_drv.h     | 2 +-
>  drivers/gpu/drm/i915/i915_gem_gtt.c | 5 +++--
>  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 49f465a..90dfbd5 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -800,7 +800,7 @@ typedef struct drm_i915_private {
>               unsigned long stolen_base; /* limited to low memory (32-bit) */
>  
>               /** "Graphics Stolen Memory" holds the global PTEs */
> -             uint32_t __iomem *gsm;
> +             void __iomem *gsm;
>  
>               struct io_mapping *gtt_mapping;
>               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 b4c1e34..a52e784 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)
>               return;
>  
>  
> -     pd_addr = dev_priv->mm.gsm + ppgtt->pd_offset/sizeof(gtt_pte_t);
> +     pd_addr = (gtt_pte_t *)dev_priv->mm.gsm + 
> ppgtt->pd_offset/sizeof(gtt_pte_t);

This cast is still missing __iomem.

>       for (i = 0; i < ppgtt->num_pd_entries; i++) {
>               dma_addr_t pt_addr;
>  
> @@ -432,7 +432,8 @@ static void gen6_ggtt_bind_object(struct 
> drm_i915_gem_object *obj,
>       struct scatterlist *sg = st->sgl;
>       const int first_entry = obj->gtt_space->start >> PAGE_SHIFT;
>       const int max_entries = dev_priv->mm.gtt->gtt_total_entries - 
> first_entry;
> -     gtt_pte_t __iomem *gtt_entries = dev_priv->mm.gsm + first_entry;
> +     gtt_pte_t __iomem *gtt_entries =
> +             (gtt_pte_t __iomem *)dev_priv->mm.gsm + first_entry;
>       int unused, i = 0;
>       unsigned int len, m = 0;
>       dma_addr_t addr;
> -- 
> 1.8.0.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to