search for: drm_crtc_vblank_off

Displaying 20 results from an estimated 24 matches for "drm_crtc_vblank_off".

2020 Jun 24
0
[RFC v7 02/11] drm/vblank: Use spin_(un)lock_irq() in drm_crtc_vblank_off()
...vers/gpu/drm/drm_vblank.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index ce5c1e1d29963..e895f5331fdb4 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -1283,13 +1283,12 @@ void drm_crtc_vblank_off(struct drm_crtc *crtc) struct drm_pending_vblank_event *e, *t; ktime_t now; - unsigned long irqflags; u64 seq; if (drm_WARN_ON(dev, pipe >= dev->num_crtcs)) return; - spin_lock_irqsave(&dev->event_lock, irqflags); + spin_lock_irq(&dev->event_lock); spin_lock...
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 and GTX 980. --- drivers/gpu/drm/drm_vbla...
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(). > >...
2017 Jul 20
2
[PATCH] drm: disable vblank only if it got previously enabled
Mh ok, paper over in nouveau_display_fini until Ben comes up with a better idea then?! Greetings, Tobias On 7/20/17 10:13 AM, Daniel Vetter wrote: > On Wed, Jul 19, 2017 at 04:10:50PM -0400, Ilia Mirkin wrote: >> 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. > Yes, the goal of vblank_on/off was very much to not paper over driver bugs > with clever tricks like these. If the driver cant keep track of its > vblank, something has gone wrong, and the core shou...
2017 Jul 20
0
[PATCH] drm: disable vblank only if it got previously enabled
On Wed, Jul 19, 2017 at 04:10:50PM -0400, Ilia Mirkin wrote: > 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. Yes, the goal of vblank_on/off was very much to not paper over driver bugs with clever tricks like these. If the driver cant keep track of its vblank, something has gone wrong, and the core should _not_ fix it up...
2017 Jul 20
0
[PATCH] drm: disable vblank only if it got previously enabled
...c case. Not sure why that patch isn't landed yet, it should be simple. -Daniel > > Greetings, > > Tobias > > > On 7/20/17 10:13 AM, Daniel Vetter wrote: >> On Wed, Jul 19, 2017 at 04:10:50PM -0400, Ilia Mirkin wrote: >>> 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. >> Yes, the goal of vblank_on/off was very much to not paper over driver bugs >> with clever tricks like these. If the driver cant keep track of its >> vblank, something has gone wrong, a...
2017 Jul 19
0
[PATCH] drm: disable vblank only if it got previously enabled
...ce: [ 12.768198] ? enqueue_task_fair+0x64/0x600 [ 12.768211] ? drm_get_last_vbltimestamp+0x47/0x70 [drm] [ 12.768223] ? drm_update_vblank_count+0x65/0x240 [drm] [ 12.768227] ? pci_pm_runtime_resume+0xa0/0xa0 [ 12.768238] ? drm_vblank_disable_and_save+0x55/0xc0 [drm] [ 12.768250] ? drm_crtc_vblank_off+0xa9/0x1e0 [drm] [ 12.768253] ? pci_pm_runtime_resume+0xa0/0xa0 [ 12.768299] ? nouveau_display_fini+0x56/0xd0 [nouveau] [ 12.768339] ? nouveau_display_suspend+0x51/0x110 [nouveau] [ 12.768378] ? nouveau_do_suspend+0x76/0x1c0 [nouveau] [ 12.768413] ? nouveau_pmops_runtime_suspend+0x54...
2020 Jun 24
0
[RFC v7 03/11] drm/vblank: Add vblank works
...of the vblank). As such we use a high-priority per-CRTC thread to accomplish this. Changes since v6: * Get rid of ->pending and seqcounts, and implement flushing through simpler means - danvet * Get rid of work_lock, just use drm_device->event_lock * Move drm_vblank_work item cleanup into drm_crtc_vblank_off() so that we ensure that all vblank work has finished before disabling vblanks * Add checks into drm_crtc_vblank_reset() so we yell if it gets called while there's vblank workers active * Grab event_lock in both drm_crtc_vblank_on()/drm_crtc_vblank_off(), the main reason for this is so th...
2017 Jul 15
0
[drm/nouveau] GeForce 8600 GT boot/suspend grumbling
...321.474005] Call Trace: > [ 321.474068] ? nv50_head_vblank_put+0x22/0x50 [nouveau] > [ 321.474085] drm_get_last_vbltimestamp+0x41/0x70 [drm] > [ 321.474102] drm_update_vblank_count+0x61/0x230 [drm] > [ 321.474118] drm_vblank_disable_and_save+0x59/0xc0 [drm] > [ 321.474134] drm_crtc_vblank_off+0x1d5/0x210 [drm] > [ 321.474152] ? drm_modeset_drop_locks+0x4e/0x60 [drm] > [ 321.474203] nouveau_display_fini+0x56/0xd0 [nouveau] > [ 321.474254] nouveau_display_suspend+0x4f/0x110 [nouveau] > [ 321.474304] nouveau_do_suspend+0x7c/0x1e0 [nouveau] > [ 321.474355] nouveau_p...
2017 Jul 15
4
[drm/nouveau] GeForce 8600 GT boot/suspend grumbling
...CR4: 00000000000006e0 [ 321.474005] Call Trace: [ 321.474068] ? nv50_head_vblank_put+0x22/0x50 [nouveau] [ 321.474085] drm_get_last_vbltimestamp+0x41/0x70 [drm] [ 321.474102] drm_update_vblank_count+0x61/0x230 [drm] [ 321.474118] drm_vblank_disable_and_save+0x59/0xc0 [drm] [ 321.474134] drm_crtc_vblank_off+0x1d5/0x210 [drm] [ 321.474152] ? drm_modeset_drop_locks+0x4e/0x60 [drm] [ 321.474203] nouveau_display_fini+0x56/0xd0 [nouveau] [ 321.474254] nouveau_display_suspend+0x4f/0x110 [nouveau] [ 321.474304] nouveau_do_suspend+0x7c/0x1e0 [nouveau] [ 321.474355] nouveau_pmops_suspend+0x2d/0x70 [n...
2017 Jul 11
2
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
...gf119_head_vblank_put at ffffffffa04422f9 [nouveau] #13 [ffffc900039f7b88] drm_get_last_vbltimestamp at ffffffffa020ad91 [drm] #14 [ffffc900039f7ba8] drm_update_vblank_count at ffffffffa020b3e1 [drm] #15 [ffffc900039f7c10] drm_vblank_disable_and_save at ffffffffa020bbe9 [drm] #16 [ffffc900039f7c40] drm_crtc_vblank_off at ffffffffa020c3c0 [drm] #17 [ffffc900039f7cb0] nouveau_display_fini at ffffffffa048a4d6 [nouveau] #18 [ffffc900039f7ce0] nouveau_display_suspend at ffffffffa048ac4f [nouveau] #19 [ffffc900039f7d00] nouveau_do_suspend at ffffffffa047e5ec [nouveau] #20 [ffffc900039f7d38] nouveau_pmops_suspend at ff...
2020 Jun 24
13
[RFC v7 00/11] drm/nouveau: Introduce CRC support for gf119+
...trying. * Apply some changes requested by danvet Major changes since v2: * Use kthread_worker instead of kthreadd for vblank workers * Don't check debugfs return values Lyude Paul (11): drm/vblank: Register drmm cleanup action once per drm_vblank_crtc drm/vblank: Use spin_(un)lock_irq() in drm_crtc_vblank_off() drm/vblank: Add vblank works drm/nouveau/kms/nv50-: Unroll error cleanup in nv50_head_create() drm/nouveau/kms/nv140-: Don't modify depth in state during atomic commit drm/nouveau/kms/nv50-: Fix disabling dithering drm/nouveau/kms/nv50-: s/harm/armh/g drm/nouveau/kms/nv140-: T...
2017 Jul 16
0
[drm/nouveau] GeForce 8600 GT boot/suspend grumbling
On Sun, Jul 16, 2017 at 12:43 AM, Mike Galbraith <efault at gmx.de> wrote: > 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 and GTX 980. The modes...
2020 Jan 12
2
[PATCH 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver
...k as NULL. > - * The DRM core will account for missed vblank events while interrupts > - * where disabled based on system timestamps. > - * > - * Wraparound handling and loss of events due to modesetting is dealt > - * with in the DRM core code, as long as drivers call > - * drm_crtc_vblank_off() and drm_crtc_vblank_on() when disabling or > - * enabling a CRTC. > - * > - * This is deprecated and should not be used by new drivers. > - * Use &drm_crtc_funcs.get_vblank_counter instead. > - * > - * Returns: > - * > - * Raw vblank counter value. > - */ &...
2017 Jul 11
0
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
...t at ffffffffa04422f9 [nouveau] > #13 [ffffc900039f7b88] drm_get_last_vbltimestamp at ffffffffa020ad91 [drm] > #14 [ffffc900039f7ba8] drm_update_vblank_count at ffffffffa020b3e1 [drm] > #15 [ffffc900039f7c10] drm_vblank_disable_and_save at ffffffffa020bbe9 [drm] > #16 [ffffc900039f7c40] drm_crtc_vblank_off at ffffffffa020c3c0 [drm] > #17 [ffffc900039f7cb0] nouveau_display_fini at ffffffffa048a4d6 [nouveau] > #18 [ffffc900039f7ce0] nouveau_display_suspend at ffffffffa048ac4f [nouveau] > #19 [ffffc900039f7d00] nouveau_do_suspend at ffffffffa047e5ec [nouveau] > #20 [ffffc900039f7d38] nouveau...
2020 Jun 27
9
[RFC v8 0/9] drm/nouveau: Introduce CRC support for gf119+
...trying. * Apply some changes requested by danvet Major changes since v2: * Use kthread_worker instead of kthreadd for vblank workers * Don't check debugfs return values Lyude Paul (9): drm/vblank: Register drmm cleanup action once per drm_vblank_crtc drm/vblank: Use spin_(un)lock_irq() in drm_crtc_vblank_off() drm/vblank: Add vblank works drm/nouveau/kms/nv140-: Don't modify depth in state during atomic commit drm/nouveau/kms/nv50-: Fix disabling dithering drm/nouveau/kms/nv140-: Track wndw mappings in nv50_head_atom drm/nouveau/kms/nv50-: Expose nv50_outp_atom in disp.h drm/nouveau...
2020 Jan 10
0
[PATCH 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver
...river can simply leave the hook as NULL. - * The DRM core will account for missed vblank events while interrupts - * where disabled based on system timestamps. - * - * Wraparound handling and loss of events due to modesetting is dealt - * with in the DRM core code, as long as drivers call - * drm_crtc_vblank_off() and drm_crtc_vblank_on() when disabling or - * enabling a CRTC. - * - * This is deprecated and should not be used by new drivers. - * Use &drm_crtc_funcs.get_vblank_counter instead. - * - * Returns: - * - * Raw vblank counter value. - */ - u32 (*get_vblank_counter) (struct drm_device...
2019 Aug 07
3
[PATCH v2 0/2] drm/nouveau: CRTC Runtime PM ref tracking fixes
Just some runtime PM fixes for some much less noticeable runtime PM ref tracking issues that I got reminded of when fixing some unrelated issues with nouveau. Changes since v1: * Don't fix CRTC RPM code in dispnv04, because it's not actually doing anything in the first place. Just get rid of it. - imirkin Lyude Paul (2): drm/nouveau/dispnv04: Remove runtime PM drm/nouveau/dispnv50:
2019 Aug 07
3
[PATCH 0/2] drm/nouveau: CRTC Runtime PM ref tracking fixes
Just some runtime PM fixes for some much less noticeable runtime PM ref tracking issues that I got reminded of when fixing some unrelated issues with nouveau. Lyude Paul (2): drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off drm/nouveau/dispnv50: Fix runtime PM ref tracking for non-blocking modesets drivers/gpu/drm/nouveau/dispnv04/crtc.c | 18 +++---------
2020 Jan 10
36
[PATCH 00/23] drm: Clean up VBLANK callbacks in struct drm_driver
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm_driver. The remaining VBLANK callbacks in struct drm_driver are only used by legacy drivers.