Just use the system queue now that we don't block any more.
v2: handle DAL as well.
v3: agd: split DAL changes out
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Mykola Lysenko <mykola.lysenko@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com> (v1)
 {
        struct amdgpu_flip_work *work =
                container_of(cb, struct amdgpu_flip_work, cb);
-       struct amdgpu_device *adev = work->adev;
-       struct amdgpu_crtc *amdgpu_crtc = adev->mode_info.crtcs[work->crtc_id];
 
        fence_put(f);
-       queue_work(amdgpu_crtc->pflip_queue, &work->flip_work);
+       schedule_work(&work->flip_work);
 }
 
 static bool amdgpu_flip_handle_fence(struct amdgpu_flip_work *work,
 
        struct drm_display_mode native_mode;
        u32 pll_id;
        /* page flipping */
-       struct workqueue_struct *pflip_queue;
        struct amdgpu_flip_work *pflip_works;
        enum amdgpu_flip_status pflip_status;
        int deferred_flip_completion;
 
        struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
 
        drm_crtc_cleanup(crtc);
-       destroy_workqueue(amdgpu_crtc->pflip_queue);
        kfree(amdgpu_crtc);
 }
 
 
        drm_mode_crtc_set_gamma_size(&amdgpu_crtc->base, 256);
        amdgpu_crtc->crtc_id = index;
-       amdgpu_crtc->pflip_queue = create_singlethread_workqueue("amdgpu-pageflip-queue");
        adev->mode_info.crtcs[index] = amdgpu_crtc;
 
        amdgpu_crtc->max_cursor_width = 128;
        spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
 
        drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-       queue_work(amdgpu_crtc->pflip_queue, &works->unpin_work);
+       schedule_work(&works->unpin_work);
 
        return 0;
 }
 
        struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
 
        drm_crtc_cleanup(crtc);
-       destroy_workqueue(amdgpu_crtc->pflip_queue);
        kfree(amdgpu_crtc);
 }
 
 
        drm_mode_crtc_set_gamma_size(&amdgpu_crtc->base, 256);
        amdgpu_crtc->crtc_id = index;
-       amdgpu_crtc->pflip_queue = create_singlethread_workqueue("amdgpu-pageflip-queue");
        adev->mode_info.crtcs[index] = amdgpu_crtc;
 
        amdgpu_crtc->max_cursor_width = 128;
        spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
 
        drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-       queue_work(amdgpu_crtc->pflip_queue, &works->unpin_work);
+       schedule_work(&works->unpin_work);
 
        return 0;
 }
 
        struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
 
        drm_crtc_cleanup(crtc);
-       destroy_workqueue(amdgpu_crtc->pflip_queue);
        kfree(amdgpu_crtc);
 }
 
 
        drm_mode_crtc_set_gamma_size(&amdgpu_crtc->base, 256);
        amdgpu_crtc->crtc_id = index;
-       amdgpu_crtc->pflip_queue = create_singlethread_workqueue("amdgpu-pageflip-queue");
        adev->mode_info.crtcs[index] = amdgpu_crtc;
 
        amdgpu_crtc->max_cursor_width = CIK_CURSOR_WIDTH;
        spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
 
        drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-       queue_work(amdgpu_crtc->pflip_queue, &works->unpin_work);
+       schedule_work(&works->unpin_work);
 
        return 0;
 }