search for: define_kthread_flush_work

Displaying 3 results from an estimated 3 matches for "define_kthread_flush_work".

2020 May 08
0
[RFC v4 01/12] kthread: Add kthread_queue_flush_work()
...ush_work, and then splitting kthread_flush_work() into two functions: kthread_queue_flush_work(); which handles possibly queuing up the kthread_flush_work on the work's respective kthread_worker, and kthread_flush_work(); which performs a simple synchronous flush just like before. We also add a DEFINE_KTHREAD_FLUSH_WORK() macro, which simply initializes a kthread_flush_work struct inline (I can't see anyone needing to use a kthread_flush_work that gets used outside of the scope of a single function, and that seems like it would be a bit overkill anyway). Cc: Daniel Vetter <daniel at ffwll.ch> Cc: Tejun...
2020 May 08
0
[RFC v4 04/12] drm/vblank: Add vblank works
...blank_work_flush - wait for a scheduled vblank work to finish + * executing + * @work: vblank work to flush + * + * Wait until @work has finished executing once. + */ +void drm_vblank_work_flush(struct drm_vblank_work *work) +{ + struct drm_vblank_crtc *vblank = work->vblank; + bool scheduled; + DEFINE_KTHREAD_FLUSH_WORK(fwork); + + spin_lock_irq(&vblank->work_lock); + + scheduled = !list_empty(&work->pending); + if (scheduled) + list_add_tail(&fwork.work.node, &work->flush_work); + else + scheduled = kthread_queue_flush_work(&work->base, &fwork); + + spin_unlock_irq(&vblan...
2020 May 08
16
[RFC v4 00/12] drm/nouveau: Introduce CRC support for gf119+
Nvidia released some documentation on how CRC support works on their GPUs, hooray! So: this patch series implements said CRC support in nouveau, along with adding some special debugfs interfaces for some relevant igt-gpu-tools tests (already on the ML). First - we add some new functionality to kthread_work in the kernel, and then use this to add a new feature to DRM that Ville Syrj?l? came up