Subversion Repositories Kolibri OS

Rev

Rev 5271 | Rev 6104 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5271 Rev 5346
Line 1280... Line 1280...
1280
	mutex_init(&rdev->gem.mutex);
1280
	mutex_init(&rdev->gem.mutex);
1281
	mutex_init(&rdev->pm.mutex);
1281
	mutex_init(&rdev->pm.mutex);
1282
	mutex_init(&rdev->gpu_clock_mutex);
1282
	mutex_init(&rdev->gpu_clock_mutex);
1283
	mutex_init(&rdev->srbm_mutex);
1283
	mutex_init(&rdev->srbm_mutex);
1284
	mutex_init(&rdev->grbm_idx_mutex);
1284
	mutex_init(&rdev->grbm_idx_mutex);
1285
 
-
 
1286
//   init_rwsem(&rdev->pm.mclk_lock);
1285
	init_rwsem(&rdev->pm.mclk_lock);
1287
//   init_rwsem(&rdev->exclusive_lock);
1286
	init_rwsem(&rdev->exclusive_lock);
1288
	init_waitqueue_head(&rdev->irq.vblank_queue);
1287
	init_waitqueue_head(&rdev->irq.vblank_queue);
1289
	mutex_init(&rdev->mn_lock);
1288
	mutex_init(&rdev->mn_lock);
1290
//	hash_init(rdev->mn_hash);
1289
//	hash_init(rdev->mn_hash);
1291
	r = radeon_gem_init(rdev);
1290
	r = radeon_gem_init(rdev);
1292
	if (r)
1291
	if (r)
Line 1454... Line 1453...
1454
    bool saved = false;
1453
    bool saved = false;
Line 1455... Line 1454...
1455
 
1454
 
1456
    int i, r;
1455
    int i, r;
Line 1457... Line 1456...
1457
    int resched;
1456
    int resched;
-
 
1457
 
1458
 
1458
	down_write(&rdev->exclusive_lock);
-
 
1459
 
-
 
1460
	if (!rdev->needs_reset) {
-
 
1461
		up_write(&rdev->exclusive_lock);
Line 1459... Line 1462...
1459
//    down_write(&rdev->exclusive_lock);
1462
		return 0;
1460
	rdev->needs_reset = false;
1463
	}
1461
 
1464
 
1462
    radeon_save_bios_scratch_regs(rdev);
1465
    radeon_save_bios_scratch_regs(rdev);
Line 1496... Line 1499...
1496
    if (r) {
1499
    if (r) {
1497
        /* bad news, how to tell it to userspace ? */
1500
        /* bad news, how to tell it to userspace ? */
1498
        dev_info(rdev->dev, "GPU reset failed\n");
1501
        dev_info(rdev->dev, "GPU reset failed\n");
1499
    }
1502
    }
Line -... Line 1503...
-
 
1503
 
-
 
1504
	rdev->needs_reset = r == -EAGAIN;
-
 
1505
	rdev->in_reset = false;
1500
 
1506
 
1501
//    up_write(&rdev->exclusive_lock);
1507
	up_read(&rdev->exclusive_lock);
1502
    return r;
1508
    return r;
Line 1503... Line 1509...
1503
}
1509
}