Signed-off-by: Ben Widawsky <b...@bwidawsk.net>
---
 drivers/char/agp/intel-gtt.c        | 10 ++++++----
 drivers/gpu/drm/i915/i915_gem_gtt.c | 35 +++++++++++++----------------------
 include/drm/intel-gtt.h             |  2 --
 3 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c
index eb05eb5..a531377 100644
--- a/drivers/char/agp/intel-gtt.c
+++ b/drivers/char/agp/intel-gtt.c
@@ -84,6 +84,8 @@ static struct _intel_private {
         * this is not the full gtt. */
        unsigned int gtt_mappable_entries;
        phys_addr_t gma_bus_addr;
+       /* Whether i915 needs to use the dmar apis or not. */
+       unsigned int needs_dmar : 1;
 } intel_private;
 
 #define INTEL_GTT_GEN  intel_private.driver->gen
@@ -299,7 +301,7 @@ static int intel_gtt_setup_scratch_page(void)
        get_page(page);
        set_pages_uc(page, 1);
 
-       if (intel_private.base.needs_dmar) {
+       if (intel_private.needs_dmar) {
                dma_addr = pci_map_page(intel_private.pcidev, page, 0,
                                    PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
                if (pci_dma_mapping_error(intel_private.pcidev, dma_addr))
@@ -615,7 +617,7 @@ static int intel_gtt_init(void)
 
        intel_private.stolen_size = intel_gtt_stolen_size();
 
-       intel_private.base.needs_dmar = USE_PCI_DMA_API && INTEL_GTT_GEN > 2;
+       intel_private.needs_dmar = USE_PCI_DMA_API && INTEL_GTT_GEN > 2;
 
        ret = intel_gtt_setup_scratch_page();
        if (ret != 0) {
@@ -875,7 +877,7 @@ static int intel_fake_agp_insert_entries(struct agp_memory 
*mem,
        if (!mem->is_flushed)
                global_cache_flush();
 
-       if (intel_private.base.needs_dmar) {
+       if (intel_private.needs_dmar) {
                struct sg_table st;
 
                ret = intel_gtt_map_memory(mem->pages, mem->page_count, &st);
@@ -919,7 +921,7 @@ static int intel_fake_agp_remove_entries(struct agp_memory 
*mem,
 
        intel_gtt_clear_range(pg_start, mem->page_count);
 
-       if (intel_private.base.needs_dmar) {
+       if (intel_private.needs_dmar) {
                intel_gtt_unmap_memory(mem->sg_list, mem->num_sg);
                mem->sg_list = NULL;
                mem->num_sg = 0;
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index e829f25..2acca75 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -139,28 +139,23 @@ int i915_gem_init_aliasing_ppgtt(struct drm_device *dev)
                        goto err_pt_alloc;
        }
 
-       if (dev_priv->mm.gtt->needs_dmar) {
-               ppgtt->pt_dma_addr = kzalloc(sizeof(dma_addr_t)
-                                               *ppgtt->num_pd_entries,
-                                            GFP_KERNEL);
-               if (!ppgtt->pt_dma_addr)
-                       goto err_pt_alloc;
+       ppgtt->pt_dma_addr = kzalloc(sizeof(dma_addr_t) *ppgtt->num_pd_entries,
+                                    GFP_KERNEL);
+       if (!ppgtt->pt_dma_addr)
+               goto err_pt_alloc;
 
-               for (i = 0; i < ppgtt->num_pd_entries; i++) {
-                       dma_addr_t pt_addr;
+       for (i = 0; i < ppgtt->num_pd_entries; i++) {
+               dma_addr_t pt_addr;
 
-                       pt_addr = pci_map_page(dev->pdev, ppgtt->pt_pages[i],
-                                              0, 4096,
-                                              PCI_DMA_BIDIRECTIONAL);
+               pt_addr = pci_map_page(dev->pdev, ppgtt->pt_pages[i], 0, 4096,
+                                      PCI_DMA_BIDIRECTIONAL);
 
-                       if (pci_dma_mapping_error(dev->pdev,
-                                                 pt_addr)) {
-                               ret = -EIO;
-                               goto err_pd_pin;
+               if (pci_dma_mapping_error(dev->pdev, pt_addr)) {
+                       ret = -EIO;
+                       goto err_pd_pin;
 
-                       }
-                       ppgtt->pt_dma_addr[i] = pt_addr;
                }
+               ppgtt->pt_dma_addr[i] = pt_addr;
        }
 
        ppgtt->scratch_page_dma_addr = dev_priv->mm.gtt->scratch_page_dma;
@@ -295,11 +290,7 @@ void i915_gem_init_ppgtt(struct drm_device *dev)
        for (i = 0; i < ppgtt->num_pd_entries; i++) {
                dma_addr_t pt_addr;
 
-               if (dev_priv->mm.gtt->needs_dmar)
-                       pt_addr = ppgtt->pt_dma_addr[i];
-               else
-                       pt_addr = page_to_phys(ppgtt->pt_pages[i]);
-
+               pt_addr = ppgtt->pt_dma_addr[i];
                pd_entry = GEN6_PDE_ADDR_ENCODE(pt_addr);
                pd_entry |= GEN6_PDE_VALID;
 
diff --git a/include/drm/intel-gtt.h b/include/drm/intel-gtt.h
index 6f53ecd..63157c5 100644
--- a/include/drm/intel-gtt.h
+++ b/include/drm/intel-gtt.h
@@ -4,8 +4,6 @@
 #define        _DRM_INTEL_GTT_H
 
 struct intel_gtt {
-       /*  Whether i915 needs to use the dmar apis or not. */
-       unsigned int needs_dmar : 1;
        /* Whether we idle the gpu before mapping/unmapping */
        unsigned int do_idle_maps : 1;
        /* Share the scratch page dma with ppgtts. */
-- 
1.8.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to