drm/amdgpu: Avoid destroy hqd when GPU is on reset
Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
bff418a2ee
commit
1b0bfcff46
@ -575,6 +575,9 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
|
|||||||
unsigned long flags, end_jiffies;
|
unsigned long flags, end_jiffies;
|
||||||
int retry;
|
int retry;
|
||||||
|
|
||||||
|
if (adev->in_gpu_reset)
|
||||||
|
return -EIO;
|
||||||
|
|
||||||
acquire_queue(kgd, pipe_id, queue_id);
|
acquire_queue(kgd, pipe_id, queue_id);
|
||||||
WREG32(mmCP_HQD_PQ_DOORBELL_CONTROL, 0);
|
WREG32(mmCP_HQD_PQ_DOORBELL_CONTROL, 0);
|
||||||
|
|
||||||
|
@ -570,6 +570,9 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
|
|||||||
int retry;
|
int retry;
|
||||||
struct vi_mqd *m = get_mqd(mqd);
|
struct vi_mqd *m = get_mqd(mqd);
|
||||||
|
|
||||||
|
if (adev->in_gpu_reset)
|
||||||
|
return -EIO;
|
||||||
|
|
||||||
acquire_queue(kgd, pipe_id, queue_id);
|
acquire_queue(kgd, pipe_id, queue_id);
|
||||||
|
|
||||||
if (m->cp_hqd_vmid == 0)
|
if (m->cp_hqd_vmid == 0)
|
||||||
|
@ -680,6 +680,9 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
|
|||||||
uint32_t temp;
|
uint32_t temp;
|
||||||
struct v9_mqd *m = get_mqd(mqd);
|
struct v9_mqd *m = get_mqd(mqd);
|
||||||
|
|
||||||
|
if (adev->in_gpu_reset)
|
||||||
|
return -EIO;
|
||||||
|
|
||||||
acquire_queue(kgd, pipe_id, queue_id);
|
acquire_queue(kgd, pipe_id, queue_id);
|
||||||
|
|
||||||
if (m->cp_hqd_vmid == 0)
|
if (m->cp_hqd_vmid == 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user