diff options
Diffstat (limited to 'drivers/video/tegra/nvmap/nvmap_dev.c')
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap_dev.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap_dev.c b/drivers/video/tegra/nvmap/nvmap_dev.c index 7f7dcc9bfda2..f84f38c93aad 100644 --- a/drivers/video/tegra/nvmap/nvmap_dev.c +++ b/drivers/video/tegra/nvmap/nvmap_dev.c @@ -1182,10 +1182,8 @@ static int nvmap_probe(struct platform_device *pdev) init_waitqueue_head(&dev->iovmm_master.pin_wait); mutex_init(&dev->iovmm_master.pin_lock); - nvmap_page_pool_init(&dev->iovmm_master.uc_pool, - NVMAP_HANDLE_UNCACHEABLE); - nvmap_page_pool_init(&dev->iovmm_master.wc_pool, - NVMAP_HANDLE_WRITE_COMBINE); + for (i = 0; i < NVMAP_NUM_POOLS; i++) + nvmap_page_pool_init(&dev->iovmm_master.pools[i], i); dev->iovmm_master.iovmm = tegra_iovmm_alloc_client(dev_name(&pdev->dev), NULL, @@ -1313,12 +1311,16 @@ static int nvmap_probe(struct platform_device *pdev) dev, &debug_iovmm_clients_fops); debugfs_create_file("allocations", 0664, iovmm_root, dev, &debug_iovmm_allocations_fops); - debugfs_create_u32("uc_page_pool_npages", - S_IRUGO|S_IWUSR, iovmm_root, - &dev->iovmm_master.uc_pool.npages); - debugfs_create_u32("wc_page_pool_npages", - S_IRUGO|S_IWUSR, iovmm_root, - &dev->iovmm_master.wc_pool.npages); + for (i = 0; i < NVMAP_NUM_POOLS; i++) { + char name[40]; + char *memtype_string[] = {"uc", "wc", + "iwb", "wb"}; + sprintf(name, "%s_page_pool_available_pages", + memtype_string[i]); + debugfs_create_u32(name, S_IRUGO|S_IWUSR, + iovmm_root, + &dev->iovmm_master.pools[i].npages); + } } } |