All TTM driver have been converted to new io_mem_reserve/free
interface which allow driver to choose and return proper io
base, offset to core TTM for ioremapping if necessary. This
patch remove what is now deadcode.

Signed-off-by: Jerome Glisse <jgli...@redhat.com>
---
 drivers/gpu/drm/ttm/ttm_bo.c      |   22 ----------------------
 drivers/gpu/drm/ttm/ttm_bo_util.c |   30 +++++++-----------------------
 include/drm/ttm/ttm_bo_driver.h   |   10 ----------
 3 files changed, 7 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 28f3fcf..8a2d534 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -79,8 +79,6 @@ static void ttm_mem_type_debug(struct ttm_bo_device *bdev, 
int mem_type)
        printk(KERN_ERR TTM_PFX "    use_type: %d\n", man->use_type);
        printk(KERN_ERR TTM_PFX "    flags: 0x%08X\n", man->flags);
        printk(KERN_ERR TTM_PFX "    gpu_offset: 0x%08lX\n", man->gpu_offset);
-       printk(KERN_ERR TTM_PFX "    io_offset: 0x%08lX\n", man->io_offset);
-       printk(KERN_ERR TTM_PFX "    io_size: %ld\n", man->io_size);
        printk(KERN_ERR TTM_PFX "    size: %llu\n", man->size);
        printk(KERN_ERR TTM_PFX "    available_caching: 0x%08X\n",
                man->available_caching);
@@ -1553,26 +1551,6 @@ bool ttm_mem_reg_is_pci(struct ttm_bo_device *bdev, 
struct ttm_mem_reg *mem)
        return true;
 }
 
-int ttm_bo_pci_offset(struct ttm_bo_device *bdev,
-                     struct ttm_mem_reg *mem,
-                     unsigned long *bus_base,
-                     unsigned long *bus_offset, unsigned long *bus_size)
-{
-       struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
-
-       *bus_size = 0;
-       if (!(man->flags & TTM_MEMTYPE_FLAG_MAPPABLE))
-               return -EINVAL;
-
-       if (ttm_mem_reg_is_pci(bdev, mem)) {
-               *bus_offset = mem->mm_node->start << PAGE_SHIFT;
-               *bus_size = mem->num_pages << PAGE_SHIFT;
-               *bus_base = man->io_offset;
-       }
-
-       return 0;
-}
-
 void ttm_bo_unmap_virtual(struct ttm_buffer_object *bo)
 {
        struct ttm_bo_device *bdev = bo->bdev;
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c 
b/drivers/gpu/drm/ttm/ttm_bo_util.c
index 10c5fc6..47a37f6 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_util.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
@@ -89,17 +89,9 @@ int ttm_mem_reg_ioremap(struct ttm_bo_device *bdev, struct 
ttm_mem_reg *mem,
        void *addr;
 
        *virtual = NULL;
-       if (bdev->driver->io_mem_reserve) {
-               ret = bdev->driver->io_mem_reserve(bdev, mem, &pl);
-               if (unlikely(ret != 0)) {
-                       return ret;
-               }
-       } else {
-               ret = ttm_bo_pci_offset(bdev, mem, &pl.base, &pl.offset, 
&pl.size);
-               if (unlikely(ret != 0) || pl.size == 0) {
-                       return ret;
-               }
-               pl.is_iomem = (pl.size != 0);
+       ret = bdev->driver->io_mem_reserve(bdev, mem, &pl);
+       if (unlikely(ret != 0)) {
+               return ret;
        }
 
        if (!(man->flags & TTM_MEMTYPE_FLAG_NEEDS_IOREMAP))
@@ -391,7 +383,7 @@ static int ttm_bo_ioremap(struct ttm_buffer_object *bo,
 
        if (!(man->flags & TTM_MEMTYPE_FLAG_NEEDS_IOREMAP)) {
                map->bo_kmap_type = ttm_bo_map_premapped;
-               map->virtual = (void *)(((u8 *) man->io_addr) + bus_offset);
+               map->virtual = (void *)(bus_base + bus_offset);
        } else {
                map->bo_kmap_type = ttm_bo_map_iomap;
                if (mem->placement & TTM_PL_FLAG_WC)
@@ -466,17 +458,9 @@ int ttm_bo_kmap(struct ttm_buffer_object *bo,
        if (num_pages > 1 && !DRM_SUSER(DRM_CURPROC))
                return -EPERM;
 #endif
-       if (bo->bdev->driver->io_mem_reserve) {
-               ret = bo->bdev->driver->io_mem_reserve(bo->bdev, &bo->mem, &pl);
-               if (unlikely(ret != 0)) {
-                       return ret;
-               }
-       } else {
-               ret = ttm_bo_pci_offset(bo->bdev, &bo->mem, &pl.base, 
&pl.offset, &pl.size);
-               if (unlikely(ret != 0)) {
-                       return ret;
-               }
-               pl.is_iomem = (pl.size != 0);
+       ret = bo->bdev->driver->io_mem_reserve(bo->bdev, &bo->mem, &pl);
+       if (unlikely(ret != 0)) {
+               return ret;
        }
        if (!pl.is_iomem) {
                return ttm_bo_kmap_ttm(bo, start_page, num_pages, map);
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index 923fecf..ae8c2a7 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -190,13 +190,6 @@ struct ttm_tt {
  * managed by this memory type.
  * @gpu_offset: If used, the GPU offset of the first managed page of
  * fixed memory or the first managed location in an aperture.
- * @io_offset: The io_offset of the first managed page of IO memory or
- * the first managed location in an aperture. For TTM_MEMTYPE_FLAG_CMA
- * memory, this should be set to NULL.
- * @io_size: The size of a managed IO region (fixed memory or aperture).
- * @io_addr: Virtual kernel address if the io region is pre-mapped. For
- * TTM_MEMTYPE_FLAG_NEEDS_IOREMAP there is no pre-mapped io map and
- * @io_addr should be set to NULL.
  * @size: Size of the managed region.
  * @available_caching: A mask of available caching types, TTM_PL_FLAG_XX,
  * as defined in ttm_placement_common.h
@@ -222,9 +215,6 @@ struct ttm_mem_type_manager {
        bool use_type;
        uint32_t flags;
        unsigned long gpu_offset;
-       unsigned long io_offset;
-       unsigned long io_size;
-       void *io_addr;
        uint64_t size;
        uint32_t available_caching;
        uint32_t default_caching;
-- 
1.6.6


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to