Displaying 7 results from an estimated 7 matches for "pending_work".
Did you mean:
pending_words
2020 Jun 22
0
[RFC v5 02/10] drm/vblank: Add vblank works
...t drm_vblank_crtc *vblank)
+{
+ struct kthread_worker *worker = vblank->worker;
+ struct drm_vblank_work *work, *tmp;
+ bool wake = false;
+
+ if (!worker)
+ return;
+
+ spin_lock_irq(&vblank->work_lock);
+ vblank->worker = NULL;
+
+ list_for_each_entry_safe(work, tmp, &vblank->pending_work, node) {
+ drm_vblank_put(vblank->dev, vblank->pipe);
+ list_del(&work->node);
+
+ if (!--work->pending) {
+ write_seqcount_invalidate(&work->seqcount);
+ wake = true;
+ }
+ }
+
+ spin_unlock_irq(&vblank->work_lock);
+
+ if (wake)
+ wake_up_all(&vblank->...
2020 May 08
0
[RFC v4 04/12] drm/vblank: Add vblank works
...pending);
+ work->vblank = &crtc->dev->vblank[drm_crtc_index(crtc)];
+}
+EXPORT_SYMBOL(drm_vblank_work_init);
+
+static int vblank_worker_init(struct drm_vblank_crtc *vblank)
+{
+ struct sched_param param = {
+ .sched_priority = MAX_RT_PRIO - 1,
+ };
+
+ INIT_LIST_HEAD(&vblank->pending_work);
+ spin_lock_init(&vblank->work_lock);
+ vblank->worker = kthread_create_worker(0, "card%d-crtc%d",
+ vblank->dev->primary->index,
+ vblank->pipe);
+ if (IS_ERR(vblank->worker))
+ return PTR_ERR(vblank->worker);
+
+ return sched_setsched...
2020 Jun 24
0
[RFC v7 03/11] drm/vblank: Add vblank works
...*/
spin_lock_irq(&dev->event_lock);
spin_lock(&dev->vbl_lock);
@@ -1324,11 +1335,18 @@ void drm_crtc_vblank_off(struct drm_crtc *crtc)
drm_vblank_put(dev, pipe);
send_vblank_event(dev, e, seq, now);
}
+
+ /* Cancel any leftover pending vblank work */
+ drm_vblank_cancel_pending_works(vblank);
+
spin_unlock_irq(&dev->event_lock);
/* Will be reset by the modeset helpers when re-enabling the crtc by
* calling drm_calc_timestamping_constants(). */
vblank->hwmode.crtc_clock = 0;
+
+ /* Wait for any vblank work that's still executing to finish */
+ drm_vblan...
2020 Jun 24
13
[RFC v7 00/11] 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
2020 Jun 22
13
[RFC v5 00/10] 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
2020 Jun 27
9
[RFC v8 0/9] 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
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