drm/amdgpu: retry init if exclusive mode request is failed
authorpding <[email protected]>
Mon, 30 Oct 2017 06:07:24 +0000 (14:07 +0800)
committerAlex Deucher <[email protected]>
Mon, 4 Dec 2017 21:41:42 +0000 (16:41 -0500)
This is caused of that hypervisor fails to handle request, one known
issue is MMIO unblocking timeout. In theory we can retry init here.

Signed-off-by: pding <[email protected]>
Reviewed-by: Xiangliang Yu <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 7af0d5d8cb1df81e6292db0afcd7784bc7a442f8..69e724c96442b21f7d38b0b781d2253a899272cc 100644 (file)
@@ -1625,7 +1625,7 @@ static int amdgpu_early_init(struct amdgpu_device *adev)
        if (amdgpu_sriov_vf(adev)) {
                r = amdgpu_virt_request_full_gpu(adev, true);
                if (r)
-                       return r;
+                       return -EAGAIN;
        }
 
        for (i = 0; i < adev->num_ip_blocks; i++) {