mirror of https://gitee.com/openkylin/linux.git
drm/ttm: drop ttm->glob
The pointer is available as ttm->bdev->glob as well. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
3839263362
commit
3231a7696e
|
@ -1072,6 +1072,7 @@ void ttm_page_alloc_fini(void)
|
||||||
static void
|
static void
|
||||||
ttm_pool_unpopulate_helper(struct ttm_tt *ttm, unsigned mem_count_update)
|
ttm_pool_unpopulate_helper(struct ttm_tt *ttm, unsigned mem_count_update)
|
||||||
{
|
{
|
||||||
|
struct ttm_mem_global *mem_glob = ttm->bdev->glob->mem_glob;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
if (mem_count_update == 0)
|
if (mem_count_update == 0)
|
||||||
|
@ -1081,8 +1082,7 @@ ttm_pool_unpopulate_helper(struct ttm_tt *ttm, unsigned mem_count_update)
|
||||||
if (!ttm->pages[i])
|
if (!ttm->pages[i])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ttm_mem_global_free_page(ttm->glob->mem_glob, ttm->pages[i],
|
ttm_mem_global_free_page(mem_glob, ttm->pages[i], PAGE_SIZE);
|
||||||
PAGE_SIZE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
put_pages:
|
put_pages:
|
||||||
|
@ -1093,7 +1093,7 @@ ttm_pool_unpopulate_helper(struct ttm_tt *ttm, unsigned mem_count_update)
|
||||||
|
|
||||||
int ttm_pool_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
|
int ttm_pool_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
|
||||||
{
|
{
|
||||||
struct ttm_mem_global *mem_glob = ttm->glob->mem_glob;
|
struct ttm_mem_global *mem_glob = ttm->bdev->glob->mem_glob;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
|
|
@ -929,7 +929,7 @@ int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device *dev,
|
||||||
struct ttm_operation_ctx *ctx)
|
struct ttm_operation_ctx *ctx)
|
||||||
{
|
{
|
||||||
struct ttm_tt *ttm = &ttm_dma->ttm;
|
struct ttm_tt *ttm = &ttm_dma->ttm;
|
||||||
struct ttm_mem_global *mem_glob = ttm->glob->mem_glob;
|
struct ttm_mem_global *mem_glob = ttm->bdev->glob->mem_glob;
|
||||||
unsigned long num_pages = ttm->num_pages;
|
unsigned long num_pages = ttm->num_pages;
|
||||||
struct dma_pool *pool;
|
struct dma_pool *pool;
|
||||||
struct dma_page *d_page;
|
struct dma_page *d_page;
|
||||||
|
@ -1031,6 +1031,7 @@ EXPORT_SYMBOL_GPL(ttm_dma_populate);
|
||||||
void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev)
|
void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev)
|
||||||
{
|
{
|
||||||
struct ttm_tt *ttm = &ttm_dma->ttm;
|
struct ttm_tt *ttm = &ttm_dma->ttm;
|
||||||
|
struct ttm_mem_global *mem_glob = ttm->bdev->glob->mem_glob;
|
||||||
struct dma_pool *pool;
|
struct dma_pool *pool;
|
||||||
struct dma_page *d_page, *next;
|
struct dma_page *d_page, *next;
|
||||||
enum pool_type type;
|
enum pool_type type;
|
||||||
|
@ -1051,8 +1052,8 @@ void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev)
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
if (d_page->vaddr & VADDR_FLAG_UPDATED_COUNT) {
|
if (d_page->vaddr & VADDR_FLAG_UPDATED_COUNT) {
|
||||||
ttm_mem_global_free_page(ttm->glob->mem_glob,
|
ttm_mem_global_free_page(mem_glob, d_page->p,
|
||||||
d_page->p, pool->size);
|
pool->size);
|
||||||
d_page->vaddr &= ~VADDR_FLAG_UPDATED_COUNT;
|
d_page->vaddr &= ~VADDR_FLAG_UPDATED_COUNT;
|
||||||
}
|
}
|
||||||
ttm_dma_page_put(pool, d_page);
|
ttm_dma_page_put(pool, d_page);
|
||||||
|
@ -1080,8 +1081,8 @@ void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev)
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
if (d_page->vaddr & VADDR_FLAG_UPDATED_COUNT) {
|
if (d_page->vaddr & VADDR_FLAG_UPDATED_COUNT) {
|
||||||
ttm_mem_global_free_page(ttm->glob->mem_glob,
|
ttm_mem_global_free_page(mem_glob, d_page->p,
|
||||||
d_page->p, pool->size);
|
pool->size);
|
||||||
d_page->vaddr &= ~VADDR_FLAG_UPDATED_COUNT;
|
d_page->vaddr &= ~VADDR_FLAG_UPDATED_COUNT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -195,7 +195,6 @@ int ttm_tt_init(struct ttm_tt *ttm, struct ttm_bo_device *bdev,
|
||||||
struct page *dummy_read_page)
|
struct page *dummy_read_page)
|
||||||
{
|
{
|
||||||
ttm->bdev = bdev;
|
ttm->bdev = bdev;
|
||||||
ttm->glob = bdev->glob;
|
|
||||||
ttm->num_pages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
|
ttm->num_pages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
|
||||||
ttm->caching_state = tt_cached;
|
ttm->caching_state = tt_cached;
|
||||||
ttm->page_flags = page_flags;
|
ttm->page_flags = page_flags;
|
||||||
|
@ -226,7 +225,6 @@ int ttm_dma_tt_init(struct ttm_dma_tt *ttm_dma, struct ttm_bo_device *bdev,
|
||||||
struct ttm_tt *ttm = &ttm_dma->ttm;
|
struct ttm_tt *ttm = &ttm_dma->ttm;
|
||||||
|
|
||||||
ttm->bdev = bdev;
|
ttm->bdev = bdev;
|
||||||
ttm->glob = bdev->glob;
|
|
||||||
ttm->num_pages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
|
ttm->num_pages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
|
||||||
ttm->caching_state = tt_cached;
|
ttm->caching_state = tt_cached;
|
||||||
ttm->page_flags = page_flags;
|
ttm->page_flags = page_flags;
|
||||||
|
|
|
@ -123,7 +123,6 @@ struct ttm_tt {
|
||||||
uint32_t page_flags;
|
uint32_t page_flags;
|
||||||
unsigned long num_pages;
|
unsigned long num_pages;
|
||||||
struct sg_table *sg; /* for SG objects via dma-buf */
|
struct sg_table *sg; /* for SG objects via dma-buf */
|
||||||
struct ttm_bo_global *glob;
|
|
||||||
struct file *swap_storage;
|
struct file *swap_storage;
|
||||||
enum ttm_caching_state caching_state;
|
enum ttm_caching_state caching_state;
|
||||||
enum {
|
enum {
|
||||||
|
|
Loading…
Reference in New Issue