aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ttm
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-05-02 22:14:21 -0400
committerDavid S. Miller <davem@davemloft.net>2019-05-02 22:14:21 -0400
commitff24e4980a68d83090a02fda081741a410fe8eef (patch)
tree4d874dfcaf2bb8c3abc2446af9447a983402c0ae /drivers/gpu/drm/ttm
parent26f146ed971c0e4a264ce525d7a66a71ef73690d (diff)
parentea9866793d1e925b4d320eaea409263b2a568f38 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Three trivial overlapping conflicts. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/gpu/drm/ttm')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo.c10
-rw-r--r--drivers/gpu/drm/ttm/ttm_memory.c5
2 files changed, 8 insertions, 7 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 0fa5034b9f9e..1a01669b159a 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -49,9 +49,8 @@ static void ttm_bo_global_kobj_release(struct kobject *kobj);
49 * ttm_global_mutex - protecting the global BO state 49 * ttm_global_mutex - protecting the global BO state
50 */ 50 */
51DEFINE_MUTEX(ttm_global_mutex); 51DEFINE_MUTEX(ttm_global_mutex);
52struct ttm_bo_global ttm_bo_glob = { 52unsigned ttm_bo_glob_use_count;
53 .use_count = 0 53struct ttm_bo_global ttm_bo_glob;
54};
55 54
56static struct attribute ttm_bo_count = { 55static struct attribute ttm_bo_count = {
57 .name = "bo_count", 56 .name = "bo_count",
@@ -1531,12 +1530,13 @@ static void ttm_bo_global_release(void)
1531 struct ttm_bo_global *glob = &ttm_bo_glob; 1530 struct ttm_bo_global *glob = &ttm_bo_glob;
1532 1531
1533 mutex_lock(&ttm_global_mutex); 1532 mutex_lock(&ttm_global_mutex);
1534 if (--glob->use_count > 0) 1533 if (--ttm_bo_glob_use_count > 0)
1535 goto out; 1534 goto out;
1536 1535
1537 kobject_del(&glob->kobj); 1536 kobject_del(&glob->kobj);
1538 kobject_put(&glob->kobj); 1537 kobject_put(&glob->kobj);
1539 ttm_mem_global_release(&ttm_mem_glob); 1538 ttm_mem_global_release(&ttm_mem_glob);
1539 memset(glob, 0, sizeof(*glob));
1540out: 1540out:
1541 mutex_unlock(&ttm_global_mutex); 1541 mutex_unlock(&ttm_global_mutex);
1542} 1542}
@@ -1548,7 +1548,7 @@ static int ttm_bo_global_init(void)
1548 unsigned i; 1548 unsigned i;
1549 1549
1550 mutex_lock(&ttm_global_mutex); 1550 mutex_lock(&ttm_global_mutex);
1551 if (++glob->use_count > 1) 1551 if (++ttm_bo_glob_use_count > 1)
1552 goto out; 1552 goto out;
1553 1553
1554 ret = ttm_mem_global_init(&ttm_mem_glob); 1554 ret = ttm_mem_global_init(&ttm_mem_glob);
diff --git a/drivers/gpu/drm/ttm/ttm_memory.c b/drivers/gpu/drm/ttm/ttm_memory.c
index f1567c353b54..9a0909decb36 100644
--- a/drivers/gpu/drm/ttm/ttm_memory.c
+++ b/drivers/gpu/drm/ttm/ttm_memory.c
@@ -461,8 +461,8 @@ out_no_zone:
461 461
462void ttm_mem_global_release(struct ttm_mem_global *glob) 462void ttm_mem_global_release(struct ttm_mem_global *glob)
463{ 463{
464 unsigned int i;
465 struct ttm_mem_zone *zone; 464 struct ttm_mem_zone *zone;
465 unsigned int i;
466 466
467 /* let the page allocator first stop the shrink work. */ 467 /* let the page allocator first stop the shrink work. */
468 ttm_page_alloc_fini(); 468 ttm_page_alloc_fini();
@@ -475,9 +475,10 @@ void ttm_mem_global_release(struct ttm_mem_global *glob)
475 zone = glob->zones[i]; 475 zone = glob->zones[i];
476 kobject_del(&zone->kobj); 476 kobject_del(&zone->kobj);
477 kobject_put(&zone->kobj); 477 kobject_put(&zone->kobj);
478 } 478 }
479 kobject_del(&glob->kobj); 479 kobject_del(&glob->kobj);
480 kobject_put(&glob->kobj); 480 kobject_put(&glob->kobj);
481 memset(glob, 0, sizeof(*glob));
481} 482}
482 483
483static void ttm_check_swapping(struct ttm_mem_global *glob) 484static void ttm_check_swapping(struct ttm_mem_global *glob)