Displaying 9 results from an estimated 9 matches for "drm_vblank_cleanup".
2017 May 24
0
[PATCH 27/37] drm/nouveau: Drop drm_vblank_cleanup
...uveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index 8d1df5678eaa..b9a109be989c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -159,8 +159,6 @@ nouveau_display_vblank_fini(struct drm_device *dev)
{
struct drm_crtc *crtc;
- drm_vblank_cleanup(dev);
-
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
nvif_notify_fini(&nv_crtc->vblank);
--
2.11.0
2017 Jun 21
0
[PATCH 07/13] drm/nouveau: Drop drm_vblank_cleanup
...uveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index 8d1df5678eaa..b9a109be989c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -159,8 +159,6 @@ nouveau_display_vblank_fini(struct drm_device *dev)
{
struct drm_crtc *crtc;
- drm_vblank_cleanup(dev);
-
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
nvif_notify_fini(&nv_crtc->vblank);
--
2.11.0
2020 Mar 18
4
[PATCH 1/9] drm/vblank: Add vblank works
...mp(struct drm_device *dev, unsigned int pipe,
> ktime_t *tvblank, bool in_vblank_irq);
> +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
>
> static unsigned int drm_timestamp_precision = 20; /* Default to 20 usecs. */
>
> @@ -440,6 +443,9 @@ void drm_vblank_cleanup(struct drm_device *dev)
> drm_core_check_feature(dev, DRIVER_MODESET));
>
> del_timer_sync(&vblank->disable_timer);
> +
> + wake_up_all(&vblank->vblank_work.work_wait);
> + kthread_stop(vblank->vblank_work.thread);
> }
>
> kfree(dev->v...
2020 Mar 18
0
[PATCH 1/9] drm/vblank: Add vblank works
...bool
drm_get_last_vbltimestamp(struct drm_device *dev, unsigned int pipe,
ktime_t *tvblank, bool in_vblank_irq);
+static int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
static unsigned int drm_timestamp_precision = 20; /* Default to 20 usecs. */
@@ -440,6 +443,9 @@ void drm_vblank_cleanup(struct drm_device *dev)
drm_core_check_feature(dev, DRIVER_MODESET));
del_timer_sync(&vblank->disable_timer);
+
+ wake_up_all(&vblank->vblank_work.work_wait);
+ kthread_stop(vblank->vblank_work.thread);
}
kfree(dev->vblank);
@@ -447,6 +453,108 @@ void drm_vblank...
2020 Mar 27
2
[PATCH 1/9] drm/vblank: Add vblank works
...*tvblank, bool in_vblank_irq);
> > > +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
> > >
> > > static unsigned int drm_timestamp_precision = 20; /* Default to 20
> > > usecs. */
> > >
> > > @@ -440,6 +443,9 @@ void drm_vblank_cleanup(struct drm_device *dev)
> > > drm_core_check_feature(dev, DRIVER_MODESET));
> > >
> > > del_timer_sync(&vblank->disable_timer);
> > > +
> > > + wake_up_all(&vblank->vblank_work.work_wait);
> > > + kthread_stop(vblank->...
2020 Mar 27
0
[PATCH 1/9] drm/vblank: Add vblank works
...pipe,
> > ktime_t *tvblank, bool in_vblank_irq);
> > +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
> >
> > static unsigned int drm_timestamp_precision = 20; /* Default to 20
> > usecs. */
> >
> > @@ -440,6 +443,9 @@ void drm_vblank_cleanup(struct drm_device *dev)
> > drm_core_check_feature(dev, DRIVER_MODESET));
> >
> > del_timer_sync(&vblank->disable_timer);
> > +
> > + wake_up_all(&vblank->vblank_work.work_wait);
> > + kthread_stop(vblank->vblank_work.thread);
> >...
2020 Apr 13
0
[PATCH 1/9] drm/vblank: Add vblank works
...> > > > +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
> > > >
> > > > static unsigned int drm_timestamp_precision = 20; /* Default to 20
> > > > usecs. */
> > > >
> > > > @@ -440,6 +443,9 @@ void drm_vblank_cleanup(struct drm_device *dev)
> > > > drm_core_check_feature(dev, DRIVER_MODESET));
> > > >
> > > > del_timer_sync(&vblank->disable_timer);
> > > > +
> > > > + wake_up_all(&vblank->vblank_work.work_wait);
> > > &...
2014 Feb 06
13
[Bug 74613] New: [v3.14-rc1] [nv34] nouveau: get 0x10000000 put 0x0000ed30 state 0xc0000000 (err: MEM_FAULT) push 0x00000000
...ance in nouveau_crtc_page_flip
d83ef85 drm/nouveau: implement hooks for needed for drm vblank timestamping
support
d2fa7d3 drm/nouveau/disp: add a method to fetch info needed by drm vblank
timestamping
eb2e968 drm/nv50: fill in crtc mode struct members from crtc_mode_fixup
1139ffb drm/nouveau: call drm_vblank_cleanup() earlier
2332b31 drm/nouveau: create base display from common code
ea7dce9 drm/nv50/gr: print mpc trap name when it's not an mp trap
f750ecc drm/nv50/gr: update list of mp errors, make it a bitfield
e2dd003 drm/nv50/gr: add more trap names to print on error
f87cd8b drm/nouveau/devinit: lock/un...
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