search for: nouveau_event_handler_install

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

2013 Aug 27
0
[PATCH 5/9] drm/nouveau: Add install/remove semantics for event handlers
Complete migration of nouveau_event_get/_put from add/remove semantics to enable/disable semantics. Introduce nouveau_event_handler_install/_remove interface to add/remove non-local-scope event handlers (ie., those stored in parent containers). This change in semantics makes explicit the handler lifetime, and distinguishes "one-of" event handlers (such as gpio) from "many temporary" event handlers (such as uevent)....
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
2013 Aug 27
0
[PATCH 6/9] drm/nouveau: Convert event handler list to RCU
...event.c b/drivers/gpu/drm/nouveau/core/core/event.c index 4cd1ebe..ce0a0ef 100644 --- a/drivers/gpu/drm/nouveau/core/core/event.c +++ b/drivers/gpu/drm/nouveau/core/core/event.c @@ -22,6 +22,7 @@ #include <core/os.h> #include <core/event.h> +#include <linux/rculist.h> void nouveau_event_handler_install(struct nouveau_event *event, int index, @@ -37,7 +38,7 @@ nouveau_event_handler_install(struct nouveau_event *event, int index, handler->priv = priv; spin_lock_irqsave(&event->lock, flags); - list_add(&handler->head, &event->index[index].list); + list_add_rcu(&hand...