search for: vblank_disable_fn

Displaying 20 results from an estimated 26 matches for "vblank_disable_fn".

2020 May 08
0
[RFC v4 03/12] drm/vblank: Register drmm cleanup action once per drm_vblank_crtc
...c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index 758bf74e1cab..a4a9013584e2 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -491,16 +491,12 @@ static void vblank_disable_fn(struct timer_list *t) static void drm_vblank_init_release(struct drm_device *dev, void *ptr) { - unsigned int pipe; - - for (pipe = 0; pipe < dev->num_crtcs; pipe++) { - struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; + struct drm_vblank_crtc *vblank = ptr; - WARN_ON(READ_...
2020 Jun 22
0
[RFC v5 01/10] drm/vblank: Register drmm cleanup action once per drm_vblank_crtc
...| 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index 85e5f2db16085..ce5c1e1d29963 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -492,16 +492,12 @@ static void vblank_disable_fn(struct timer_list *t) static void drm_vblank_init_release(struct drm_device *dev, void *ptr) { - unsigned int pipe; - - for (pipe = 0; pipe < dev->num_crtcs; pipe++) { - struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; + struct drm_vblank_crtc *vblank = ptr; - drm_WARN_ON(d...
2020 Jan 15
1
[PATCH v2 02/21] drm: Evaluate struct drm_device.vblank_disable_immediate on each use
...turn true; +} + static void drm_vblank_put(struct drm_device *dev, unsigned int pipe) { struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; @@ -1086,7 +1082,7 @@ static void drm_vblank_put(struct drm_device *dev, unsigned int pipe) return; else if (drm_vblank_offdelay < 0) vblank_disable_fn(&vblank->disable_timer); - else if (!dev->vblank_disable_immediate) + else if (__vblank_disable_immediate(dev, pipe)) mod_timer(&vblank->disable_timer, jiffies + ((drm_vblank_offdelay * HZ)/1000)); } @@ -1663,7 +1659,7 @@ int drm_wait_vblank_ioctl(struct drm_device *...
2017 Jul 19
2
[PATCH] drm: disable vblank only if it got previously enabled
I believe the solution is to not call drm_crtc_vblank_off for atomic modesetting in nouveau_display_fini. I think Ben's working on it. On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de> wrote: > mimic the behavior of vblank_disable_fn(), another caller of > drm_vblank_disable_and_save(). > > This avoids oopsing, while trying to disable vblank on a not connected display: > > [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from_scanoutpos+0x296/0x320 [drm] > [ 1...
2017 Jul 20
2
[PATCH] drm: disable vblank only if it got previously enabled
...wrong, and the core should _not_ fix it up. > Otherwise we're back to the old style vblank horror show. > > Thanks, Daniel > >> On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann >> <tobias.johannes.klausmann at mni.thm.de> wrote: >>> mimic the behavior of vblank_disable_fn(), another caller of >>> drm_vblank_disable_and_save(). >>> >>> This avoids oopsing, while trying to disable vblank on a not connected display: >>> >>> [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from...
2017 Jul 16
3
[drm/nouveau] GeForce 8600 GT boot/suspend grumbling
On Sat, 2017-07-15 at 14:52 -0400, Ilia Mirkin wrote: > > OK, so this issue appears to be that we're calling > drm_crtc_vblank_off() on a crtc for which vblank is already disabled. > My guess is that this happens because the crtc is disabled. > > Not sure what the proper check is to see if vblanks are already disabled... Seems so, the below shut up suspend for both 8600 GT
2020 Jan 15
0
[Intel-gfx] [PATCH v2 02/21] drm: Evaluate struct drm_device.vblank_disable_immediate on each use
...rm_vblank_put(struct drm_device *dev, unsigned int pipe) > { > struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; > @@ -1086,7 +1082,7 @@ static void drm_vblank_put(struct drm_device *dev, unsigned int pipe) > return; > else if (drm_vblank_offdelay < 0) > vblank_disable_fn(&vblank->disable_timer); > - else if (!dev->vblank_disable_immediate) > + else if (__vblank_disable_immediate(dev, pipe)) > mod_timer(&vblank->disable_timer, > jiffies + ((drm_vblank_offdelay * HZ)/1000)); > } > @@ -1663,7 +1659,7 @@ int drm_wait_vb...
2017 Jul 19
0
[PATCH] drm: disable vblank only if it got previously enabled
mimic the behavior of vblank_disable_fn(), another caller of drm_vblank_disable_and_save(). This avoids oopsing, while trying to disable vblank on a not connected display: [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from_scanoutpos+0x296/0x320 [drm] [ 12.768080] Modules linked in:...
2017 Jul 20
0
[PATCH] drm: disable vblank only if it got previously enabled
...ank, something has gone wrong, and the core should _not_ fix it up. Otherwise we're back to the old style vblank horror show. Thanks, Daniel > > On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann > <tobias.johannes.klausmann at mni.thm.de> wrote: > > mimic the behavior of vblank_disable_fn(), another caller of > > drm_vblank_disable_and_save(). > > > > This avoids oopsing, while trying to disable vblank on a not connected display: > > > > [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from_scanoutpos+0x2...
2017 Jul 20
0
[PATCH] drm: disable vblank only if it got previously enabled
..._not_ fix it up. >> Otherwise we're back to the old style vblank horror show. >> >> Thanks, Daniel >> >>> On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann >>> <tobias.johannes.klausmann at mni.thm.de> wrote: >>>> mimic the behavior of vblank_disable_fn(), another caller of >>>> drm_vblank_disable_and_save(). >>>> >>>> This avoids oopsing, while trying to disable vblank on a not connected display: >>>> >>>> [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_ca...
2020 Jul 17
1
[PATCH] drm/nouveau: Accept 'legacy' format modifiers
...4b3030cd05b380f9f410536690fc, > gnome & KDE wayland desktops from Ubuntu 18.04, > and sway 1.5 > > Signed-off-by: James Jones <jajones at nvidia.com> I tried and it crashes. Not sure if it's related. [drm:drm_ioctl] pid=3327, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF [drm:vblank_disable_fn] disabling vblank on crtc 0 [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_CPU_PREP [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF BUG: u...
2020 Mar 18
4
[PATCH 1/9] drm/vblank: Add vblank works
..._init); > + > /** > * drm_vblank_init - initialize vblank support > * @dev: DRM device > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned int num_crtcs) > init_waitqueue_head(&vblank->queue); > timer_setup(&vblank->disable_timer, vblank_disable_fn, 0); > seqlock_init(&vblank->seqlock); > + > + vblank_work_init(vblank); > } > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); > @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pi...
2020 Mar 18
0
[PATCH 1/9] drm/vblank: Add vblank works
...; +} +EXPORT_SYMBOL(drm_vblank_work_init); + /** * drm_vblank_init - initialize vblank support * @dev: DRM device @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned int num_crtcs) init_waitqueue_head(&vblank->queue); timer_setup(&vblank->disable_timer, vblank_disable_fn, 0); seqlock_init(&vblank->seqlock); + + vblank_work_init(vblank); } DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) trace_drm_vblank_event(pipe,...
2020 Jul 18
0
[PATCH] drm/nouveau: Accept 'legacy' format modifiers
...nome & KDE wayland desktops from Ubuntu 18.04, >> and sway 1.5 >> >> Signed-off-by: James Jones <jajones at nvidia.com> > > I tried and it crashes. Not sure if it's related. > > [drm:drm_ioctl] pid=3327, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF > [drm:vblank_disable_fn] disabling vblank on crtc 0 > [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF > [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_CPU_PREP > [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF > [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEA...
2020 Jun 22
0
[RFC v5 02/10] drm/vblank: Add vblank works
...ktime_t *tvblank, bool in_vblank_irq); +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe); +static void drm_vblank_put(struct drm_device *dev, unsigned int pipe); static unsigned int drm_timestamp_precision = 20; /* Default to 20 usecs. */ @@ -490,6 +494,35 @@ static void vblank_disable_fn(struct timer_list *t) spin_unlock_irqrestore(&dev->vbl_lock, irqflags); } +static void drm_vblank_work_release(struct drm_vblank_crtc *vblank) +{ + struct kthread_worker *worker = vblank->worker; + struct drm_vblank_work *work, *tmp; + bool wake = false; + + if (!worker) + return; +...
2020 Jul 17
5
[PATCH] drm/nouveau: Accept 'legacy' format modifiers
Accept the DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK() family of modifiers to handle broken userspace Xorg modesetting and Mesa drivers. Tested with Xorg 1.20 modesetting driver, weston at c46c70dac84a4b3030cd05b380f9f410536690fc, gnome & KDE wayland desktops from Ubuntu 18.04, and sway 1.5 Signed-off-by: James Jones <jajones at nvidia.com> --- drivers/gpu/drm/nouveau/nouveau_display.c | 26
2020 Mar 27
2
[PATCH 1/9] drm/vblank: Add vblank works
...tialize vblank support > > > * @dev: DRM device > > > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned > > > int num_crtcs) > > > init_waitqueue_head(&vblank->queue); > > > timer_setup(&vblank->disable_timer, vblank_disable_fn, 0); > > > seqlock_init(&vblank->seqlock); > > > + > > > + vblank_work_init(vblank); > > > } > > > > > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); > > > @@ -1825,6 +1935,22 @@ static...
2020 Mar 27
0
[PATCH 1/9] drm/vblank: Add vblank works
...* drm_vblank_init - initialize vblank support > > * @dev: DRM device > > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned > > int num_crtcs) > > init_waitqueue_head(&vblank->queue); > > timer_setup(&vblank->disable_timer, vblank_disable_fn, 0); > > seqlock_init(&vblank->seqlock); > > + > > + vblank_work_init(vblank); > > } > > > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); > > @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(stru...
2020 Apr 13
0
[PATCH 1/9] drm/vblank: Add vblank works
...* @dev: DRM device > > > > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, > > > > unsigned > > > > int num_crtcs) > > > > init_waitqueue_head(&vblank->queue); > > > > timer_setup(&vblank->disable_timer, vblank_disable_fn, > > > > 0); > > > > seqlock_init(&vblank->seqlock); > > > > + > > > > + vblank_work_init(vblank); > > > > } > > > > > > > > DRM_INFO("Supports vblank timestamp caching Rev 2 > > > &gt...
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