diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c index 193ffdb957b6..3a4b31b1c4f2 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c @@ -100,14 +100,14 @@ static int amdgpu_debugfs_autodump_open(struct inode *inode, struct file *file)  	file->private_data = adev; -	mutex_lock(&adev->lock_reset); +	down_read(&adev->reset_sem);  	if (adev->autodump.dumping.done) {  		reinit_completion(&adev->autodump.dumping);  		ret = 0;  	} else {  		ret = -EBUSY;  	} -	mutex_unlock(&adev->lock_reset); +	up_read(&adev->reset_sem);  	return ret;  } @@ -126,7 +126,7 @@ static unsigned int amdgpu_debugfs_autodump_poll(struct file *file, struct poll_  	poll_wait(file, &adev->autodump.gpu_hang, poll_table); -	if (adev->in_gpu_reset) +	if (amdgpu_in_reset(adev))  		return POLLIN | POLLRDNORM | POLLWRNORM;  	return 0; @@ -1241,7 +1241,7 @@ static int amdgpu_debugfs_test_ib(struct seq_file *m, void *data)  	}  	/* Avoid accidently unparking the sched thread during GPU reset */ -	mutex_lock(&adev->lock_reset); +	down_read(&adev->reset_sem);  	/* hold on the scheduler */  	for (i = 0; i < AMDGPU_MAX_RINGS; i++) { @@ -1268,7 +1268,7 @@ static int amdgpu_debugfs_test_ib(struct seq_file *m, void *data)  		kthread_unpark(ring->sched.thread);  	} -	mutex_unlock(&adev->lock_reset); +	up_read(&adev->reset_sem);  	pm_runtime_mark_last_busy(dev->dev);  	pm_runtime_put_autosuspend(dev->dev); @@ -1458,7 +1458,7 @@ static int amdgpu_debugfs_ib_preempt(void *data, u64 val)  		return -ENOMEM;  	/* Avoid accidently unparking the sched thread during GPU reset */ -	mutex_lock(&adev->lock_reset); +	down_read(&adev->reset_sem);  	/* stop the scheduler */  	kthread_park(ring->sched.thread); @@ -1499,7 +1499,7 @@ failure:  	/* restart the scheduler */  	kthread_unpark(ring->sched.thread); -	mutex_unlock(&adev->lock_reset); +	up_read(&adev->reset_sem);  	ttm_bo_unlock_delayed_workqueue(&adev->mman.bdev, resched); | 
