search for: nouveau_finish_page_flip

Displaying 19 results from an estimated 19 matches for "nouveau_finish_page_flip".

2016 Jun 06
4
[PATCH 01/14] drm/nouveau: use drm_crtc_send_vblank_event() v2
...}, event, nouveau_crtc(crtc)->index, - fb->bits_per_pixel, fb->pitches[0], crtc->x, crtc->y, + { { }, event, crtc, fb->bits_per_pixel, fb->pitches[0], new_bo->bo.offset }; /* Keep vblanks on during flip, for the target crtc of this flip */ @@ -842,17 +841,18 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); if (s->event) { if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { - drm_arm_vblank_event(dev, s->crtc, s->event); + drm_arm_vblank_event(dev, drm_crtc_index...
2016 Jun 06
4
[PATCH 01/14] drm/nouveau: use drm_crtc_send_vblank_event() v2
...}, event, nouveau_crtc(crtc)->index, - fb->bits_per_pixel, fb->pitches[0], crtc->x, crtc->y, + { { }, event, crtc, fb->bits_per_pixel, fb->pitches[0], new_bo->bo.offset }; /* Keep vblanks on during flip, for the target crtc of this flip */ @@ -842,17 +841,18 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); if (s->event) { if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { - drm_arm_vblank_event(dev, s->crtc, s->event); + drm_arm_vblank_event(dev, drm_crtc_index...
2016 Jun 06
4
[PATCH 01/14] drm/nouveau: use drm_crtc_send_vblank_event() v2
...}, event, nouveau_crtc(crtc)->index, - fb->bits_per_pixel, fb->pitches[0], crtc->x, crtc->y, + { { }, event, crtc, fb->bits_per_pixel, fb->pitches[0], new_bo->bo.offset }; /* Keep vblanks on during flip, for the target crtc of this flip */ @@ -842,17 +841,18 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); if (s->event) { if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { - drm_arm_vblank_event(dev, s->crtc, s->event); + drm_arm_vblank_event(dev, drm_crtc_index...
2015 Oct 30
5
[PATCH] drm/nouveau: Fix pre-nv50 pageflip events
...p * @dev: DRM device * @pipe: CRTC index diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index 184445d4abbf..041e5f84538c 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -826,7 +826,6 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, struct drm_device *dev = drm->dev; struct nouveau_page_flip_state *s; unsigned long flags; - int crtcid = -1; spin_lock_irqsave(&dev->event_lock, flags); @@ -838,16 +837,15 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_fir...
2012 Feb 16
5
[Patches][nouveau/kms]: Precise Vblank and pageflip timestamping v2
Just updated versions of the patches send by Mario Kleiner. This ones are rebased on top of the nouveau tree and updated according to the review feedback. Regards, Lucas
2016 Jun 07
0
[PATCH 01/10] drm/nouveau: replace legacy vblank helpers
...@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, return 0; fail_unreserve: - drm_vblank_put(dev, nouveau_crtc(crtc)->index); + drm_crtc_vblank_put(crtc); ttm_bo_unreserve(&old_bo->bo); fail_unpin: mutex_unlock(&cli->mutex); @@ -842,17 +841,17 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); if (s->event) { if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { - drm_arm_vblank_event(dev, s->crtc, s->event); + drm_crtc_arm_vblank_event(s->crtc, s-...
2016 Jun 06
0
[PATCH 01/14] drm/nouveau: use drm_crtc_send_vblank_event() v2
...>index, > - fb->bits_per_pixel, fb->pitches[0], crtc->x, crtc->y, > + { { }, event, crtc, fb->bits_per_pixel, fb->pitches[0], > new_bo->bo.offset }; > > /* Keep vblanks on during flip, for the target crtc of this flip */ > @@ -842,17 +841,18 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, > s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); > if (s->event) { > if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) { > - drm_arm_vblank_event(dev, s->crtc, s->event); > + drm_arm_vblank_...
2012 Feb 15
2
[Patches][nouveau/kms]: Precise Vblank and pageflip timestamping
Hi, these are two patches against the nouveau kms driver. The first patch makes sure that pageflip completion events get their vblank count and timestamp from the drm. The second patch from Lucas Stach, here included with his permission, makes sure that the timestamps of vblanks are calculated with high precision and robustness. Both patches together make sure that all timestamps returned by the
2017 Jul 29
0
[PATCH] nouveau: Fix declarations with incorrect variables.
...uveau_display_scanoutpos(struct drm_device *, unsigned int, int nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event, - uint32_t page_flip_flags, + uint32_t flags, struct drm_modeset_acquire_ctx *ctx); int nouveau_finish_page_flip(struct nouveau_channel *, struct nouveau_page_flip_state *); @@ -82,7 +82,7 @@ int nouveau_finish_page_flip(struct nouveau_channel *, int nouveau_display_dumb_create(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *args); int nouveau_display_dumb_map_offset(...
2012 Jul 27
0
[PATCH 3/3] nouveau: add vblank methods on newer cards
...pu/drm/nouveau/nouveau_drv.h index fbf5fbf..ab1bf0d 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -1374,6 +1374,7 @@ int nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event); int nouveau_finish_page_flip(struct nouveau_channel *, struct nouveau_page_flip_state *); +void nv50_display_vblank_crtc_handler(struct drm_device *dev, int crtc); int nouveau_display_dumb_create(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *args); int nouveau_display_dumb_map_offset(stru...
2015 Nov 06
0
[PATCH] drm/nouveau: Fix pre-nv50 pageflip events
...* @pipe: CRTC index > diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c > index 184445d4abbf..041e5f84538c 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_display.c > +++ b/drivers/gpu/drm/nouveau/nouveau_display.c > @@ -826,7 +826,6 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, > struct drm_device *dev = drm->dev; > struct nouveau_page_flip_state *s; > unsigned long flags; > - int crtcid = -1; > > spin_lock_irqsave(&dev->event_lock, flags); > > @@ -838,16 +837,15 @@ nouveau_finish_page_flip(struct...
2016 Sep 23
0
[PATCH] drivers: drm: nouveau: Fix brace coding style error
...3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index afbf557..0d39e17 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -851,8 +851,7 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, /* Give up ownership of vblank for page-flipped crtc */ drm_crtc_vblank_put(s->crtc); } - } - else { + } else { /* Give up ownership of vblank for page-flipped crtc */ drm_crtc_vblank_put(s->crtc); } -- 2.10.0
2012 Apr 25
2
[PATCH 1/2] drm/nouveau: Use drm_vblank_count_and_time() for pageflip completion events.
...rtc)->index, fb->bits_per_pixel, fb->pitches[0], crtc->x, crtc->y, - new_bo->bo.offset }; + new_bo->bo.offset, crtc->framedur_ns }; /* Choose the channel the flip will be handled in */ chan = nouveau_fence_channel(new_bo->bo.sync_obj); @@ -550,6 +550,9 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, struct drm_device *dev = chan->dev; struct nouveau_page_flip_state *s; unsigned long flags; + struct timeval tnow, tvbl; + + do_gettimeofday(&tnow); spin_lock_irqsave(&dev->event_lock, flags); @@ -563,12 +566,26 @@ nouveau_finish_page_flip(str...
2015 Nov 09
2
[PATCH] drm/nouveau: Fix pre-nv50 pageflip events (v2)
...er pageflip * @dev: DRM device * @pipe: CRTC index diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index db6bc67..64c8d93 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -829,7 +829,6 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, struct drm_device *dev = drm->dev; struct nouveau_page_flip_state *s; unsigned long flags; - int crtcid = -1; spin_lock_irqsave(&dev->event_lock, flags); @@ -841,15 +840,19 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_fir...
2015 Nov 10
2
[PATCH] drm/nouveau: Fix pre-nv50 pageflip events (v3)
...er pageflip * @dev: DRM device * @pipe: CRTC index diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index db6bc67..64c8d93 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -829,7 +829,6 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, struct drm_device *dev = drm->dev; struct nouveau_page_flip_state *s; unsigned long flags; - int crtcid = -1; spin_lock_irqsave(&dev->event_lock, flags); @@ -841,15 +840,19 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_fir...
2011 Nov 24
1
[PATCH] nouveau: implement precise vblank timestamping
...u/drm/nouveau/nouveau_drv.h index 81fdf62..52684ff 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -1465,6 +1465,11 @@ int nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event); int nouveau_finish_page_flip(struct nouveau_channel *, struct nouveau_page_flip_state *); +int nouveau_get_scanoutpos(struct drm_device *dev, int crtc, + int *vpos, int *hpos); +int nouveau_get_vblank_timestamp(struct drm_device *dev, int crtc, + int *max_error, struct timeval *vblank_ti...
2013 Mar 28
1
mesa vdpau regression with "dri2: Fix potential race and crash for swap at next vblank."
...t;bo.sync_obj; if (fence) @@ -614,6 +618,8 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, fail_unreserve: nouveau_page_flip_unreserve(old_bo, new_bo, NULL); +fail_put: + drm_vblank_put(dev, s->crtc); fail_free: kfree(s); return ret; @@ -638,24 +644,16 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, } s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); - if (s->event) { - struct drm_pending_vblank_event *e = s->event; - struct timeval now; - - do_gettimeofday(&now); - e->event.sequence = 0; - e->event.tv_sec =...
2015 Nov 07
7
[Bug 92852] New: NV34: WARNING: ... at drivers/gpu/drm/drm_irq.c:924 drm_vblank_count_and_time+0x71/0x80 [drm]()
...;] ? drm_vblank_count_and_time+0x71/0x80 [drm] [<f7e1b811>] ? drm_vblank_count_and_time+0x71/0x80 [drm] [<c045dfa2>] warn_slowpath_null+0x22/0x30 [<f7e1b811>] drm_vblank_count_and_time+0x71/0x80 [drm] [<f7e1c05c>] drm_send_vblank_event+0x6c/0x80 [drm] [<f85d37d6>] nouveau_finish_page_flip+0x66/0x120 [nouveau] [<f85d38b6>] nouveau_flip_complete+0x26/0x220 [nouveau] [<f85d2470>] ? nouveau_display_vblstamp+0x70/0x80 [nouveau] [<f8536c40>] nvif_notify+0x90/0x160 [nouveau] [<c049af8f>] ? __wake_up+0x3f/0x50 [<c0ac2b8d>] ? _raw_spin_unlock_irqrestore+0xd...
2013 Aug 12
0
[RFC PATCH] drm/nv50-nvd0: implement precise vblank timing support on nv50/nvc0.
...ct drm_crtc *crtc, struct drm_framebuffer *fb, /* Emit a page flip */ if (nv_device(drm->device)->card_type >= NV_50) { - ret = nv50_display_flip_next(crtc, fb, chan, 0); + ret = nv50_display_flip_next(crtc, fb, chan, 1); if (ret) goto fail_unreserve; } @@ -634,7 +634,7 @@ nouveau_finish_page_flip(struct nouveau_channel *chan, s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head); if (s->event) - drm_send_vblank_event(dev, -1, s->event); + drm_send_vblank_event(dev, s->crtc, s->event); list_del(&s->head); if (ps) diff --git a/drivers/...