search for: drm_vblank_work_flush

Displaying 13 results from an estimated 13 matches for "drm_vblank_work_flush".

2020 Jun 22
0
[RFC v5 02/10] drm/vblank: Add vblank works
...se a high-priority per-CRTC thread to accomplish this. [based off patches from Ville Syrj?l? <ville.syrjala at linux.intel.com>, change below to signoff later] Changes since v4: * Get rid of kthread interfaces we tried adding and move all of the locking into drm_vblank.c. For implementing drm_vblank_work_flush(), we now use a wait_queue and sequence counters in order to differentiate between multiple work item executions. * Get rid of drm_vblank_work_cancel() - this would have been pretty difficult to actually reimplement and it occurred to me that neither nouveau or i915 are even planning to use...
2020 Mar 18
4
[PATCH 1/9] drm/vblank: Add vblank works
...lock, > + 10 * HZ); > + > + spin_unlock_irq(&vblank->dev->event_lock); > + > + WARN(!ret, "crtc %d vblank work timed out\n", vblank->pipe); > + > + return cancelled; > +} > +EXPORT_SYMBOL(drm_vblank_work_cancel_sync); > + > +/** > + * drm_vblank_work_flush - wait for a scheduled vblank work to finish excuting > + * @work: vblank work to flush > + * > + * Wait until @work has finished executing. > + */ > +void drm_vblank_work_flush(struct drm_vblank_work *work) > +{ > + struct drm_vblank_crtc *vblank = work->vblank; > + long...
2020 May 08
0
[RFC v4 04/12] drm/vblank: Add vblank works
...>work_lock); + + cancelled |= kthread_cancel_work_sync(&work->base); + if (vbl_put) + drm_vblank_put(vblank->dev, vblank->pipe); + + kthread_unblock_work_queuing(vblank->worker, &work->base); + + return cancelled; +} +EXPORT_SYMBOL(drm_vblank_work_cancel_sync); + +/** + * drm_vblank_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_F...
2020 Mar 18
0
[PATCH 1/9] drm/vblank: Add vblank works
...tate == DRM_VBL_WORK_IDLE, + vblank->dev->event_lock, + 10 * HZ); + + spin_unlock_irq(&vblank->dev->event_lock); + + WARN(!ret, "crtc %d vblank work timed out\n", vblank->pipe); + + return cancelled; +} +EXPORT_SYMBOL(drm_vblank_work_cancel_sync); + +/** + * drm_vblank_work_flush - wait for a scheduled vblank work to finish excuting + * @work: vblank work to flush + * + * Wait until @work has finished executing. + */ +void drm_vblank_work_flush(struct drm_vblank_work *work) +{ + struct drm_vblank_crtc *vblank = work->vblank; + long ret; + + spin_lock_irq(&vblank->...
2020 Jun 24
0
[RFC v7 03/11] drm/vblank: Add vblank works
...drm_vblank_internal.h so we can export some functions we don't want drivers using, but that we do need to use in drm_vblank_work.c * Add a bunch of documentation Changes since v4: * Get rid of kthread interfaces we tried adding and move all of the locking into drm_vblank.c. For implementing drm_vblank_work_flush(), we now use a wait_queue and sequence counters in order to differentiate between multiple work item executions. * Get rid of drm_vblank_work_cancel() - this would have been pretty difficult to actually reimplement and it occurred to me that neither nouveau or i915 are even planning to use...
2020 Mar 27
2
[PATCH 1/9] drm/vblank: Add vblank works
...ock); > > > + > > > + WARN(!ret, "crtc %d vblank work timed out\n", vblank->pipe); > > > + > > > + return cancelled; > > > +} > > > +EXPORT_SYMBOL(drm_vblank_work_cancel_sync); > > > + > > > +/** > > > + * drm_vblank_work_flush - wait for a scheduled vblank work to finish > > > excuting > > > + * @work: vblank work to flush > > > + * > > > + * Wait until @work has finished executing. > > > + */ > > > +void drm_vblank_work_flush(struct drm_vblank_work *work) > > &...
2020 Mar 27
0
[PATCH 1/9] drm/vblank: Add vblank works
...in_unlock_irq(&vblank->dev->event_lock); > > + > > + WARN(!ret, "crtc %d vblank work timed out\n", vblank->pipe); > > + > > + return cancelled; > > +} > > +EXPORT_SYMBOL(drm_vblank_work_cancel_sync); > > + > > +/** > > + * drm_vblank_work_flush - wait for a scheduled vblank work to finish > > excuting > > + * @work: vblank work to flush > > + * > > + * Wait until @work has finished executing. > > + */ > > +void drm_vblank_work_flush(struct drm_vblank_work *work) > > +{ > > + struct drm_vblan...
2020 Apr 13
0
[PATCH 1/9] drm/vblank: Add vblank works
...t; + WARN(!ret, "crtc %d vblank work timed out\n", vblank->pipe); > > > > + > > > > + return cancelled; > > > > +} > > > > +EXPORT_SYMBOL(drm_vblank_work_cancel_sync); > > > > + > > > > +/** > > > > + * drm_vblank_work_flush - wait for a scheduled vblank work to finish > > > > excuting > > > > + * @work: vblank work to flush > > > > + * > > > > + * Wait until @work has finished executing. > > > > + */ > > > > +void drm_vblank_work_flush(struct drm_...
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 Mar 18
12
[PATCH 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 that we'll be sending in just a short bit. This additionally adds a feature that Ville Syrj?l? came up with: vblank works. Basically, this is just a generic DRM
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