search for: _nouveau_software_context_dtor

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

2013 Aug 27
0
[PATCH 5/9] drm/nouveau: Add install/remove semantics for event handlers
...t nv50_software_priv *priv = (void *)nv_object(chan)->engine; + struct nouveau_disp *disp = nouveau_disp(priv); + int i; + + for (i = 0; i < ARRAY_SIZE(chan->base.vblank.event); i++) { + nouveau_event_handler_remove(disp->vblank, i, + &chan->base.vblank.event[i]); + } + _nouveau_software_context_dtor(object); +} + static struct nouveau_oclass nv50_software_cclass = { .handle = NV_ENGCTX(SW, 0x50), .ofuncs = &(struct nouveau_ofuncs) { .ctor = nv50_software_context_ctor, - .dtor = _nouveau_software_context_dtor, + .dtor = nv50_software_context_dtor, .init = _nouveau_software_con...
2013 Aug 27
0
[PATCH 6/9] drm/nouveau: Convert event handler list to RCU
.../nouveau/core/engine/software/nv50.c +++ b/drivers/gpu/drm/nouveau/core/engine/software/nv50.c @@ -191,6 +191,7 @@ nv50_software_context_dtor(struct nouveau_object *object) nouveau_event_handler_remove(disp->vblank, i, &chan->base.vblank.event[i]); } + synchronize_rcu(); _nouveau_software_context_dtor(object); } diff --git a/drivers/gpu/drm/nouveau/core/engine/software/nvc0.c b/drivers/gpu/drm/nouveau/core/engine/software/nvc0.c index d1f52c0..e87ba42 100644 --- a/drivers/gpu/drm/nouveau/core/engine/software/nvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/software/nvc0.c @@ -197,6 +197,7 @@...
2013 Aug 27
11
[PATCH 0/9] drm/nouveau: Cleanup event/handler design
This series was originally motivated by a deadlock, introduced in commit 1d7c71a3e2f77336df536855b0efd2dc5bdeb41b 'drm/nouveau/disp: port vblank handling to event interface', due to inverted lock order between nouveau_drm_vblank_enable() and nouveau_drm_vblank_handler() (the complete lockdep report is included in the patch 4/5 changelog). Because this series fixes the vblank event