search for: nouveau_event_disable_lock

Displaying 3 results from an estimated 3 matches for "nouveau_event_disable_lock".

2013 Aug 12
2
[PATCH] drm/nouveau: fix vblank deadlock
...gs; + if (index >= event->index_nr) + return; + spin_lock_irqsave(&event->lock, flags); - if (index < event->index_nr) - nouveau_event_put_locked(event, index, handler); + list_del(&handler->head); + + if (event->toggle_lock) + spin_lock(event->toggle_lock); + nouveau_event_disable_locked(event, index, 1); + if (event->toggle_lock) + spin_unlock(event->toggle_lock); + spin_unlock_irqrestore(&event->lock, flags); } void +nouveau_event_enable_locked(struct nouveau_event *event, int index) +{ + if (index >= event->index_nr) + return; + + if (!event->inde...
2013 Aug 19
0
[PATCH] drm/nouveau: fix vblank deadlock
...return; > + > spin_lock_irqsave(&event->lock, flags); > - if (index < event->index_nr) > - nouveau_event_put_locked(event, index, handler); > + list_del(&handler->head); > + > + if (event->toggle_lock) > + spin_lock(event->toggle_lock); > + nouveau_event_disable_locked(event, index, 1); > + if (event->toggle_lock) > + spin_unlock(event->toggle_lock); > + > spin_unlock_irqrestore(&event->lock, flags); > } > > void > +nouveau_event_enable_locked(struct nouveau_event *event, int index) > +{ > + if (index >= eve...
2013 Aug 12
0
[RFC PATCH] drm/nv50-nvd0: implement precise vblank timing support on nv50/nvc0.
...(ps) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index bd301f4..9a73aa2 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -104,6 +104,62 @@ nouveau_drm_vblank_disable(struct drm_device *dev, int head) nouveau_event_disable_locked(pdisp->vblank, head, 1); } +static u32 +nouveau_drm_vblank_count(struct drm_device *dev, int head) +{ + struct nouveau_drm *drm = nouveau_drm(dev); + struct nouveau_disp *pdisp = nouveau_disp(drm->device); + + if (!pdisp->get_vblank_count) + return drm_vblank_count(dev, head); + retu...