aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index fefeeb2c4918..801ebfc44034 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1525,6 +1525,14 @@ int amdgpu_device_init(struct amdgpu_device *adev,
1525 return r; 1525 return r;
1526 } 1526 }
1527 1527
1528 if (!adev->kernel_ctx) {
1529 uint32_t id = 0;
1530 r = amdgpu_ctx_alloc(adev, NULL, &id);
1531 if (r) {
1532 dev_err(adev->dev, "failed to create kernel context (%d).\n", r);
1533 return r;
1534 }
1535 }
1528 r = amdgpu_ib_ring_tests(adev); 1536 r = amdgpu_ib_ring_tests(adev);
1529 if (r) 1537 if (r)
1530 DRM_ERROR("ib ring test failed (%d).\n", r); 1538 DRM_ERROR("ib ring test failed (%d).\n", r);
@@ -1586,6 +1594,7 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
1586 adev->shutdown = true; 1594 adev->shutdown = true;
1587 /* evict vram memory */ 1595 /* evict vram memory */
1588 amdgpu_bo_evict_vram(adev); 1596 amdgpu_bo_evict_vram(adev);
1597 amdgpu_ctx_free(adev, NULL, 0);
1589 amdgpu_ib_pool_fini(adev); 1598 amdgpu_ib_pool_fini(adev);
1590 amdgpu_fence_driver_fini(adev); 1599 amdgpu_fence_driver_fini(adev);
1591 amdgpu_fbdev_fini(adev); 1600 amdgpu_fbdev_fini(adev);