linux/drivers/gpu/drm/nouveau/core/include/core/event.h
<<
>>
Prefs
   1#ifndef __NVKM_EVENT_H__
   2#define __NVKM_EVENT_H__
   3
   4/* return codes from event handlers */
   5#define NVKM_EVENT_DROP 0
   6#define NVKM_EVENT_KEEP 1
   7
   8struct nouveau_eventh {
   9        struct list_head head;
  10        int (*func)(struct nouveau_eventh *, int index);
  11};
  12
  13struct nouveau_event {
  14        spinlock_t lock;
  15
  16        void *priv;
  17        void (*enable)(struct nouveau_event *, int index);
  18        void (*disable)(struct nouveau_event *, int index);
  19
  20        int index_nr;
  21        struct {
  22                struct list_head list;
  23                int refs;
  24        } index[];
  25};
  26
  27int  nouveau_event_create(int index_nr, struct nouveau_event **);
  28void nouveau_event_destroy(struct nouveau_event **);
  29void nouveau_event_trigger(struct nouveau_event *, int index);
  30
  31void nouveau_event_get(struct nouveau_event *, int index,
  32                       struct nouveau_eventh *);
  33void nouveau_event_put(struct nouveau_event *, int index,
  34                       struct nouveau_eventh *);
  35
  36#endif
  37