Lines Matching defs:frame
192 struct ring_frame *frame, *n;
194 list_for_each_entry_safe(frame, n, &ring->queue, list) {
197 list_move_tail(&frame->list, &ring->in_flight);
199 descriptor->phys = frame->buffer_phy;
203 descriptor->length = frame->size;
204 descriptor->eof = frame->eof;
205 descriptor->sof = frame->sof;
221 * Otherwise we collect all completed frame from the ring buffer, write new
222 * frame to the ring buffer and invoke the callbacks for the completed frames.
227 struct ring_frame *frame;
246 frame = list_first_entry(&ring->in_flight, typeof(*frame),
248 list_move_tail(&frame->list, &done);
250 frame->size = ring->descriptors[ring->tail].length;
251 frame->eof = ring->descriptors[ring->tail].eof;
252 frame->sof = ring->descriptors[ring->tail].sof;
253 frame->flags = ring->descriptors[ring->tail].flags;
263 frame = list_first_entry(&done, typeof(*frame), list);
265 * The callback may reenqueue or delete frame.
268 list_del_init(&frame->list);
269 if (frame->callback)
270 frame->callback(ring, frame, canceled);
274 int __tb_ring_enqueue(struct tb_ring *ring, struct ring_frame *frame)
281 list_add_tail(&frame->list, &ring->queue);
292 * tb_ring_poll() - Poll one completed frame from the ring
296 * has been called. It will read one completed frame from the ring and
302 struct ring_frame *frame = NULL;
312 frame = list_first_entry(&ring->in_flight, typeof(*frame),
314 list_del_init(&frame->list);
317 frame->size = ring->descriptors[ring->tail].length;
318 frame->eof = ring->descriptors[ring->tail].eof;
319 frame->sof = ring->descriptors[ring->tail].sof;
320 frame->flags = ring->descriptors[ring->tail].flags;
328 return frame;
574 * @sof_mask: Mask of PDF values that start a frame
575 * @eof_mask: Mask of PDF values that end a frame
578 * in each Rx frame.
650 * with frame->canceled set to true (on the callback thread). This method