Ben Widawsky <benjamin.widawsky at intel.com> writes: > This removes an unused field from the AGP structure and moves it into > the dev_priv structure (with a slightly better name). This builds upon > the kill-agp series already merged. > > GSM is a well defined term in the bspec: > GSM: Graphics Stolen Memory > > GTT stolen space is defined for storage of the GFX GTT entries in > physical memory. IA can not access GSM directly , it can only access via > GTTMMADR. GT can access GSM directly or through GTTMMADR. > > This is not the entire stolen space. > > Signed-off-by: Ben Widawsky <ben at bwidawsk.net> Reviewed-by: Mika Kuoppala <mika.kuoppala at intel.com> > --- > drivers/char/agp/intel-gtt.c | 1 - > drivers/gpu/drm/i915/i915_drv.h | 3 +++ > drivers/gpu/drm/i915/i915_gem_gtt.c | 14 +++++++------- > include/drm/intel-gtt.h | 2 -- > 4 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c > index dbd901e..c8d9dcb 100644 > --- a/drivers/char/agp/intel-gtt.c > +++ b/drivers/char/agp/intel-gtt.c > @@ -602,7 +602,6 @@ static int intel_gtt_init(void) > iounmap(intel_private.registers); > return -ENOMEM; > } > - intel_private.base.gtt = intel_private.gtt; > > global_cache_flush(); /* FIXME: ? */ > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 75003c3..49f465a 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -799,6 +799,9 @@ typedef struct drm_i915_private { > unsigned long gtt_end; > unsigned long stolen_base; /* limited to low memory (32-bit) */ > > + /** "Graphics Stolen Memory" holds the global PTEs */ > + uint32_t __iomem *gsm; > + > struct io_mapping *gtt_mapping; > phys_addr_t gtt_base_addr; > int gtt_mtrr; > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index fc3c08a..b4c1e34 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.gtt->gtt + ppgtt->pd_offset/sizeof(gtt_pte_t); > + pd_addr = dev_priv->mm.gsm + ppgtt->pd_offset/sizeof(gtt_pte_t); > for (i = 0; i < ppgtt->num_pd_entries; i++) { > dma_addr_t pt_addr; > > @@ -367,7 +367,7 @@ static void i915_ggtt_clear_range(struct drm_device *dev, > { > struct drm_i915_private *dev_priv = dev->dev_private; > gtt_pte_t scratch_pte; > - gtt_pte_t __iomem *gtt_base = dev_priv->mm.gtt->gtt + first_entry; > + gtt_pte_t __iomem *gtt_base = (gtt_pte_t __iomem *) dev_priv->mm.gsm + first_entry; > const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry; > int i; > > @@ -432,7 +432,7 @@ 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.gtt->gtt + first_entry; > + gtt_pte_t __iomem *gtt_entries = dev_priv->mm.gsm + first_entry; > int unused, i = 0; > unsigned int len, m = 0; > dma_addr_t addr; > @@ -751,9 +751,9 @@ int i915_gem_gtt_init(struct drm_device *dev) > goto err_out; > } > > - dev_priv->mm.gtt->gtt = ioremap_wc(gtt_bus_addr, > - dev_priv->mm.gtt->gtt_total_entries * sizeof(gtt_pte_t)); > - if (!dev_priv->mm.gtt->gtt) { > + dev_priv->mm.gsm = ioremap_wc(gtt_bus_addr, > + dev_priv->mm.gtt->gtt_total_entries * sizeof(gtt_pte_t)); > + if (!dev_priv->mm.gsm) { > DRM_ERROR("Failed to map the gtt page table\n"); > teardown_scratch_page(dev); > ret = -ENOMEM; > @@ -777,7 +777,7 @@ err_out: > void i915_gem_gtt_fini(struct drm_device *dev) > { > struct drm_i915_private *dev_priv = dev->dev_private; > - iounmap(dev_priv->mm.gtt->gtt); > + iounmap(dev_priv->mm.gsm); > teardown_scratch_page(dev); > if (INTEL_INFO(dev)->gen < 6) > intel_gmch_remove(); > diff --git a/include/drm/intel-gtt.h b/include/drm/intel-gtt.h > index 6eb76a1..3e3a166 100644 > --- a/include/drm/intel-gtt.h > +++ b/include/drm/intel-gtt.h > @@ -18,8 +18,6 @@ struct intel_gtt { > /* Share the scratch page dma with ppgtts. */ > dma_addr_t scratch_page_dma; > struct page *scratch_page; > - /* for ppgtt PDE access */ > - u32 __iomem *gtt; > /* needed for ioremap in drm/i915 */ > phys_addr_t gma_bus_addr; > } *intel_gtt_get(void); > -- > 1.8.0.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx