Lines Matching defs:work

260  * @__work: kernel work item
266 struct radeon_flip_work *work =
271 r = radeon_bo_reserve(work->old_rbo, false);
273 radeon_bo_unpin(work->old_rbo);
274 radeon_bo_unreserve(work->old_rbo);
278 drm_gem_object_put(&work->old_rbo->tbo.base);
279 kfree(work);
366 struct radeon_flip_work *work;
374 work = radeon_crtc->flip_work;
389 if (work->event)
390 drm_crtc_send_vblank_event(&radeon_crtc->base, work->event);
395 radeon_irq_kms_pflip_irq_put(rdev, work->crtc_id);
396 queue_work(radeon_crtc->flip_queue, &work->unpin_work);
402 * @__work: kernel work item
408 struct radeon_flip_work *work =
410 struct radeon_device *rdev = work->rdev;
412 struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[work->crtc_id];
420 if (work->fence) {
423 fence = to_radeon_fence(work->fence);
434 r = dma_fence_wait(work->fence, false);
444 dma_fence_put(work->fence);
445 work->fence = NULL;
454 (radeon_get_crtc_scanoutpos(dev, work->crtc_id, 0,
460 ((int) (work->target_vblank -
471 radeon_page_flip(rdev, radeon_crtc->crtc_id, work->base, work->async);
489 struct radeon_flip_work *work;
496 work = kzalloc(sizeof *work, GFP_KERNEL);
497 if (work == NULL)
500 INIT_WORK(&work->flip_work, radeon_flip_work_func);
501 INIT_WORK(&work->unpin_work, radeon_unpin_work_func);
503 work->rdev = rdev;
504 work->crtc_id = radeon_crtc->crtc_id;
505 work->event = event;
506 work->async = (page_flip_flags & DRM_MODE_PAGE_FLIP_ASYNC) != 0;
513 work->old_rbo = gem_to_radeon_bo(obj);
520 work->old_rbo, new_rbo);
537 &work->fence);
581 work->base = base;
582 work->target_vblank = target - (uint32_t)drm_crtc_vblank_count(crtc) +
595 radeon_crtc->flip_work = work;
602 queue_work(radeon_crtc->flip_queue, &work->flip_work);
614 drm_gem_object_put(&work->old_rbo->tbo.base);
615 dma_fence_put(work->fence);
616 kfree(work);
1747 * (ie all encoder can work with the same