drm/amdgpu: retry init if exclusive mode request is failed
authorpding <Pixel.Ding@amd.com>
Mon, 30 Oct 2017 06:07:24 +0000 (14:07 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
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 <Pixel.Ding@amd.com>
Reviewed-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
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++) {