return -ENOMEM;
 
                ttm->page_flags |= TTM_PAGE_FLAG_SG;
-               ttm_tt_set_populated(ttm);
                return 0;
        }
 
                drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
                                                 gtt->ttm.dma_address,
                                                 ttm->num_pages);
-               ttm_tt_set_populated(ttm);
                return 0;
        }
 
 
                /* make userspace faulting work */
                drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
                                                 ttm_dma->dma_address, ttm->num_pages);
-               ttm_tt_set_populated(ttm);
                return 0;
        }
 
 
                        return -ENOMEM;
 
                ttm->page_flags |= TTM_PAGE_FLAG_SG;
-               ttm_tt_set_populated(ttm);
                return 0;
        }
 
        if (slave && ttm->sg) {
                drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
                                                 gtt->ttm.dma_address, ttm->num_pages);
-               ttm_tt_set_populated(ttm);
                return 0;
        }
 
 
 put_pages:
        ttm_put_pages(ttm->pages, ttm->num_pages, ttm->page_flags,
                      ttm->caching);
-       ttm_tt_set_unpopulated(ttm);
 }
 
 int ttm_pool_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
                }
        }
 
-       ttm_tt_set_populated(ttm);
        return 0;
 }
 EXPORT_SYMBOL(ttm_pool_populate);
 
                }
        }
 
-       ttm_tt_set_populated(ttm);
        return 0;
 }
 EXPORT_SYMBOL_GPL(ttm_dma_populate);
        /* shrink pool if necessary (only on !is_cached pools)*/
        if (npages)
                ttm_dma_page_pool_free(pool, npages, false);
-       ttm_tt_set_unpopulated(ttm);
 }
 EXPORT_SYMBOL_GPL(ttm_dma_unpopulate);
 
 
        ttm->num_pages = bo->num_pages;
        ttm->caching = ttm_cached;
        ttm->page_flags = page_flags;
-       ttm_tt_set_unpopulated(ttm);
        ttm->swap_storage = NULL;
        ttm->sg = bo->sg;
        ttm->caching = caching;
                ret = bdev->driver->ttm_tt_populate(bdev, ttm, ctx);
        else
                ret = ttm_pool_populate(ttm, ctx);
-       if (!ret)
-               ttm_tt_add_mapping(bdev, ttm);
-       return ret;
+       if (ret)
+               return ret;
+
+       ttm_tt_add_mapping(bdev, ttm);
+       ttm->page_flags |= TTM_PAGE_FLAG_PRIV_POPULATED;
+       return 0;
 }
 EXPORT_SYMBOL(ttm_tt_populate);
 
                bdev->driver->ttm_tt_unpopulate(bdev, ttm);
        else
                ttm_pool_unpopulate(ttm);
+       ttm->page_flags &= ~TTM_PAGE_FLAG_PRIV_POPULATED;
 }
 
        return tt->page_flags & TTM_PAGE_FLAG_PRIV_POPULATED;
 }
 
-static inline void ttm_tt_set_unpopulated(struct ttm_tt *tt)
-{
-       tt->page_flags &= ~TTM_PAGE_FLAG_PRIV_POPULATED;
-}
-
-static inline void ttm_tt_set_populated(struct ttm_tt *tt)
-{
-       tt->page_flags |= TTM_PAGE_FLAG_PRIV_POPULATED;
-}
-
 /**
  * struct ttm_dma_tt
  *