drm/amdgpu: fix deadlock of reservation between cs and gpu reset v2
authorChunming Zhou <David1.Zhou@amd.com>
Thu, 27 Apr 2017 07:13:52 +0000 (15:13 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 28 Apr 2017 21:33:14 +0000 (17:33 -0400)
commit10e709cb296c98424c03408d23e3addeddcd4088
tree7d8da7f73eb37953ee163ccfd1412fd47e6ce4f7
parent44eb8c1b33619abc35cba0266ff497c843bd108d
drm/amdgpu: fix deadlock of reservation between cs and gpu reset v2

the case could happen when gpu reset:
1. when gpu reset, cs can be continue until sw queue is full, then push job will wait with holding pd reservation.
2. gpu_reset routine will also need pd reservation to restore page table from their shadow.
3. cs is waiting for gpu_reset complete, but gpu reset is waiting for cs releases reservation.

v2: handle amdgpu_cs_submit error path.

Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c