Lines Matching refs:work

68 	struct amdgpu_flip_work *work =  in amdgpu_flip_work_func()  local
70 struct amdgpu_device *adev = work->adev; in amdgpu_flip_work_func()
71 struct amdgpu_crtc *amdgpuCrtc = adev->mode_info.crtcs[work->crtc_id]; in amdgpu_flip_work_func()
77 struct drm_vblank_crtc *vblank = &crtc->dev->vblank[work->crtc_id]; in amdgpu_flip_work_func()
79 amdgpu_flip_wait_fence(adev, &work->excl); in amdgpu_flip_work_func()
80 for (i = 0; i < work->shared_count; ++i) in amdgpu_flip_work_func()
81 amdgpu_flip_wait_fence(adev, &work->shared[i]); in amdgpu_flip_work_func()
104 stat = amdgpu_get_crtc_scanoutpos(adev->ddev, work->crtc_id, in amdgpu_flip_work_func()
129 "hpos %d\n", work->crtc_id, min_udelay, in amdgpu_flip_work_func()
134 adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base); in amdgpu_flip_work_func()
146 struct amdgpu_flip_work *work = in amdgpu_unpin_work_func() local
151 r = amdgpu_bo_reserve(work->old_rbo, false); in amdgpu_unpin_work_func()
153 r = amdgpu_bo_unpin(work->old_rbo); in amdgpu_unpin_work_func()
157 amdgpu_bo_unreserve(work->old_rbo); in amdgpu_unpin_work_func()
161 amdgpu_bo_unref(&work->old_rbo); in amdgpu_unpin_work_func()
162 kfree(work->shared); in amdgpu_unpin_work_func()
163 kfree(work); in amdgpu_unpin_work_func()
177 struct amdgpu_flip_work *work; in amdgpu_crtc_page_flip() local
184 work = kzalloc(sizeof *work, GFP_KERNEL); in amdgpu_crtc_page_flip()
185 if (work == NULL) in amdgpu_crtc_page_flip()
188 INIT_WORK(&work->flip_work, amdgpu_flip_work_func); in amdgpu_crtc_page_flip()
189 INIT_WORK(&work->unpin_work, amdgpu_unpin_work_func); in amdgpu_crtc_page_flip()
191 work->event = event; in amdgpu_crtc_page_flip()
192 work->adev = adev; in amdgpu_crtc_page_flip()
193 work->crtc_id = amdgpu_crtc->crtc_id; in amdgpu_crtc_page_flip()
200 work->old_rbo = gem_to_amdgpu_bo(obj); in amdgpu_crtc_page_flip()
201 amdgpu_bo_ref(work->old_rbo); in amdgpu_crtc_page_flip()
222 r = reservation_object_get_fences_rcu(new_rbo->tbo.resv, &work->excl, in amdgpu_crtc_page_flip()
223 &work->shared_count, in amdgpu_crtc_page_flip()
224 &work->shared); in amdgpu_crtc_page_flip()
234 work->base = base; in amdgpu_crtc_page_flip()
252 amdgpu_crtc->pflip_works = work; in amdgpu_crtc_page_flip()
257 queue_work(amdgpu_crtc->pflip_queue, &work->flip_work); in amdgpu_crtc_page_flip()
274 amdgpu_bo_unref(&work->old_rbo); in amdgpu_crtc_page_flip()
275 fence_put(work->excl); in amdgpu_crtc_page_flip()
276 for (i = 0; i < work->shared_count; ++i) in amdgpu_crtc_page_flip()
277 fence_put(work->shared[i]); in amdgpu_crtc_page_flip()
278 kfree(work->shared); in amdgpu_crtc_page_flip()
279 kfree(work); in amdgpu_crtc_page_flip()