Lines Matching refs:q
107 struct ec_event_queue *q; in event_queue_new() local
109 q = kzalloc(struct_size(q, entries, capacity), GFP_KERNEL); in event_queue_new()
110 if (!q) in event_queue_new()
113 q->capacity = capacity; in event_queue_new()
115 return q; in event_queue_new()
118 static inline bool event_queue_empty(struct ec_event_queue *q) in event_queue_empty() argument
121 return q->head == q->tail && !q->entries[q->head]; in event_queue_empty()
124 static inline bool event_queue_full(struct ec_event_queue *q) in event_queue_full() argument
127 return q->head == q->tail && q->entries[q->head]; in event_queue_full()
130 static struct ec_event *event_queue_pop(struct ec_event_queue *q) in event_queue_pop() argument
134 if (event_queue_empty(q)) in event_queue_pop()
137 ev = q->entries[q->tail]; in event_queue_pop()
138 q->entries[q->tail] = NULL; in event_queue_pop()
139 q->tail = (q->tail + 1) % q->capacity; in event_queue_pop()
148 static struct ec_event *event_queue_push(struct ec_event_queue *q, in event_queue_push() argument
153 if (event_queue_full(q)) in event_queue_push()
154 popped = event_queue_pop(q); in event_queue_push()
155 q->entries[q->head] = ev; in event_queue_push()
156 q->head = (q->head + 1) % q->capacity; in event_queue_push()
161 static void event_queue_free(struct ec_event_queue *q) in event_queue_free() argument
165 while ((event = event_queue_pop(q)) != NULL) in event_queue_free()
168 kfree(q); in event_queue_free()