drm/radeon: silence out possible lock dependency warning
Silence out the lock dependency warning by moving bo allocation out of ib mutex protected section. Might lead to useless temporary allocation but it's not harmful as such things only happen at initialization. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
598781d711
commit
d54fbd49ef
1 changed files with 11 additions and 8 deletions
|
@ -204,22 +204,25 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib)
|
|||
|
||||
int radeon_ib_pool_init(struct radeon_device *rdev)
|
||||
{
|
||||
struct radeon_sa_manager tmp;
|
||||
int i, r;
|
||||
|
||||
r = radeon_sa_bo_manager_init(rdev, &tmp,
|
||||
RADEON_IB_POOL_SIZE*64*1024,
|
||||
RADEON_GEM_DOMAIN_GTT);
|
||||
if (r) {
|
||||
return r;
|
||||
}
|
||||
|
||||
mutex_lock(&rdev->ib_pool.mutex);
|
||||
if (rdev->ib_pool.ready) {
|
||||
mutex_unlock(&rdev->ib_pool.mutex);
|
||||
radeon_sa_bo_manager_fini(rdev, &tmp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = radeon_sa_bo_manager_init(rdev, &rdev->ib_pool.sa_manager,
|
||||
RADEON_IB_POOL_SIZE*64*1024,
|
||||
RADEON_GEM_DOMAIN_GTT);
|
||||
if (r) {
|
||||
mutex_unlock(&rdev->ib_pool.mutex);
|
||||
return r;
|
||||
}
|
||||
|
||||
rdev->ib_pool.sa_manager = tmp;
|
||||
INIT_LIST_HEAD(&rdev->ib_pool.sa_manager.sa_bo);
|
||||
for (i = 0; i < RADEON_IB_POOL_SIZE; i++) {
|
||||
rdev->ib_pool.ibs[i].fence = NULL;
|
||||
rdev->ib_pool.ibs[i].idx = i;
|
||||
|
|
Loading…
Add table
Reference in a new issue