drm/ttm: replace context flags with bools v2
[linux-2.6-microblaze.git] / drivers / gpu / drm / ttm / ttm_bo.c
index 5b41125..e2a124b 100644 (file)
@@ -612,7 +612,7 @@ bool ttm_bo_eviction_valuable(struct ttm_buffer_object *bo,
        /* Don't evict this BO if it's outside of the
         * requested placement range
         */
-       if (place->fpfn >= (bo->mem.start + bo->mem.size) ||
+       if (place->fpfn >= (bo->mem.start + bo->mem.num_pages) ||
            (place->lpfn && place->lpfn <= bo->mem.start))
                return false;
 
@@ -637,7 +637,7 @@ static bool ttm_bo_evict_swapout_allowable(struct ttm_buffer_object *bo,
 
        if (bo->base.resv == ctx->resv) {
                dma_resv_assert_held(bo->base.resv);
-               if (ctx->flags & TTM_OPT_FLAG_ALLOW_RES_EVICT)
+               if (ctx->allow_res_evict)
                        ret = true;
                *locked = false;
                if (busy)
@@ -1192,7 +1192,7 @@ size_t ttm_bo_dma_acc_size(struct ttm_bo_device *bdev,
 
        size += ttm_round_pot(struct_size);
        size += ttm_round_pot(npages * (2*sizeof(void *) + sizeof(dma_addr_t)));
-       size += ttm_round_pot(sizeof(struct ttm_dma_tt));
+       size += ttm_round_pot(sizeof(struct ttm_tt));
        return size;
 }
 EXPORT_SYMBOL(ttm_bo_dma_acc_size);
@@ -1283,6 +1283,8 @@ int ttm_bo_device_release(struct ttm_bo_device *bdev)
                        pr_debug("Swap list %d was clean\n", i);
        spin_unlock(&glob->lru_lock);
 
+       ttm_pool_fini(&bdev->pool);
+
        if (!ret)
                ttm_bo_global_release();
 
@@ -1307,9 +1309,10 @@ static void ttm_bo_init_sysman(struct ttm_bo_device *bdev)
 
 int ttm_bo_device_init(struct ttm_bo_device *bdev,
                       struct ttm_bo_driver *driver,
+                      struct device *dev,
                       struct address_space *mapping,
                       struct drm_vma_offset_manager *vma_manager,
-                      bool need_dma32)
+                      bool use_dma_alloc, bool use_dma32)
 {
        struct ttm_bo_global *glob = &ttm_bo_glob;
        int ret;
@@ -1324,12 +1327,12 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
        bdev->driver = driver;
 
        ttm_bo_init_sysman(bdev);
+       ttm_pool_init(&bdev->pool, dev, use_dma_alloc, use_dma32);
 
        bdev->vma_manager = vma_manager;
        INIT_DELAYED_WORK(&bdev->wq, ttm_bo_delayed_workqueue);
        INIT_LIST_HEAD(&bdev->ddestroy);
        bdev->dev_mapping = mapping;
-       bdev->need_dma32 = need_dma32;
        mutex_lock(&ttm_global_mutex);
        list_add_tail(&bdev->device_list, &glob->device_list);
        mutex_unlock(&ttm_global_mutex);