Lines Matching defs:fifo
68 /* Deferred action fifo queue storage. */
69 struct deferred_action fifo[DEFERRED_ACTION_FIFO_SIZE];
97 static void action_fifo_init(struct action_fifo *fifo)
99 fifo->head = 0;
100 fifo->tail = 0;
103 static bool action_fifo_is_empty(const struct action_fifo *fifo)
105 return (fifo->head == fifo->tail);
108 static struct deferred_action *action_fifo_get(struct action_fifo *fifo)
110 if (action_fifo_is_empty(fifo))
113 return &fifo->fifo[fifo->tail++];
116 static struct deferred_action *action_fifo_put(struct action_fifo *fifo)
118 if (fifo->head >= DEFERRED_ACTION_FIFO_SIZE - 1)
121 return &fifo->fifo[fifo->head++];
124 /* Return true if fifo is not full */
130 struct action_fifo *fifo;
133 fifo = this_cpu_ptr(action_fifos);
134 da = action_fifo_put(fifo);
1587 struct action_fifo *fifo = this_cpu_ptr(action_fifos);
1590 if (action_fifo_is_empty(fifo))
1595 struct deferred_action *da = action_fifo_get(fifo);
1605 } while (!action_fifo_is_empty(fifo));
1608 action_fifo_init(fifo);