drm/amdgpu/virt: implement wait_reset callbacks for vi/ai
authorpding <Pixel.Ding@amd.com>
Tue, 24 Oct 2017 01:53:16 +0000 (09:53 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 4 Dec 2017 21:33:14 +0000 (16:33 -0500)
Reviewed-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: pding <Pixel.Ding@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c
drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c

index b4906d2..f91aab3 100644 (file)
@@ -353,5 +353,6 @@ const struct amdgpu_virt_ops xgpu_ai_virt_ops = {
        .req_full_gpu   = xgpu_ai_request_full_gpu_access,
        .rel_full_gpu   = xgpu_ai_release_full_gpu_access,
        .reset_gpu = xgpu_ai_request_reset,
+       .wait_reset = NULL,
        .trans_msg = xgpu_ai_mailbox_trans_msg,
 };
index c25a831..27b03c7 100644 (file)
@@ -458,6 +458,11 @@ static int xgpu_vi_request_reset(struct amdgpu_device *adev)
        return xgpu_vi_send_access_requests(adev, IDH_REQ_GPU_RESET_ACCESS);
 }
 
+static int xgpu_vi_wait_reset_cmpl(struct amdgpu_device *adev)
+{
+       return xgpu_vi_poll_msg(adev, IDH_FLR_NOTIFICATION_CMPL);
+}
+
 static int xgpu_vi_request_full_gpu_access(struct amdgpu_device *adev,
                                           bool init)
 {
@@ -613,5 +618,6 @@ const struct amdgpu_virt_ops xgpu_vi_virt_ops = {
        .req_full_gpu           = xgpu_vi_request_full_gpu_access,
        .rel_full_gpu           = xgpu_vi_release_full_gpu_access,
        .reset_gpu              = xgpu_vi_request_reset,
+       .wait_reset             = xgpu_vi_wait_reset_cmpl,
        .trans_msg              = NULL, /* Does not need to trans VF errors to host. */
 };