提交 10eeaf12 编写于 作者: B Ben Skeggs

drm/nouveau/core: allow non-maskable events

Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
上级 6d1d1cc9
...@@ -27,8 +27,10 @@ static void ...@@ -27,8 +27,10 @@ static void
nouveau_event_put_locked(struct nouveau_event *event, int index, nouveau_event_put_locked(struct nouveau_event *event, int index,
struct nouveau_eventh *handler) struct nouveau_eventh *handler)
{ {
if (!--event->index[index].refs) if (!--event->index[index].refs) {
event->disable(event, index); if (event->disable)
event->disable(event, index);
}
list_del(&handler->head); list_del(&handler->head);
} }
...@@ -53,8 +55,10 @@ nouveau_event_get(struct nouveau_event *event, int index, ...@@ -53,8 +55,10 @@ nouveau_event_get(struct nouveau_event *event, int index,
spin_lock_irqsave(&event->lock, flags); spin_lock_irqsave(&event->lock, flags);
if (index < event->index_nr) { if (index < event->index_nr) {
list_add(&handler->head, &event->index[index].list); list_add(&handler->head, &event->index[index].list);
if (!event->index[index].refs++) if (!event->index[index].refs++) {
event->enable(event, index); if (event->enable)
event->enable(event, index);
}
} }
spin_unlock_irqrestore(&event->lock, flags); spin_unlock_irqrestore(&event->lock, flags);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册