Lines Matching refs:mbo
41 DECLARE_KFIFO_PTR(fifo, typeof(struct mbo *));
55 static inline struct mbo *ch_get_mbo(struct comp_channel *c, struct mbo **mbo) in ch_get_mbo() argument
57 if (!kfifo_peek(&c->fifo, mbo)) { in ch_get_mbo()
58 *mbo = most_get_mbo(c->iface, c->channel_id, &comp.cc); in ch_get_mbo()
59 if (*mbo) in ch_get_mbo()
60 kfifo_in(&c->fifo, mbo, 1); in ch_get_mbo()
62 return *mbo; in ch_get_mbo()
83 struct mbo *mbo; in stop_channel() local
85 while (kfifo_out((struct kfifo *)&c->fifo, &mbo, 1)) in stop_channel()
86 most_put_mbo(mbo); in stop_channel()
187 struct mbo *mbo = NULL; in comp_write() local
191 while (c->dev && !ch_get_mbo(c, &mbo)) { in comp_write()
207 left = copy_from_user(mbo->virt_address + c->mbo_offs, buf, to_copy); in comp_write()
218 mbo->buffer_length = c->mbo_offs; in comp_write()
220 most_submit_mbo(mbo); in comp_write()
240 struct mbo *mbo = NULL; in comp_read() local
244 while (c->dev && !kfifo_peek(&c->fifo, &mbo)) { in comp_read()
263 mbo->processed_length - c->mbo_offs); in comp_read()
266 mbo->virt_address + c->mbo_offs, in comp_read()
272 if (c->mbo_offs >= mbo->processed_length) { in comp_read()
274 most_put_mbo(mbo); in comp_read()
351 static int comp_rx_completion(struct mbo *mbo) in comp_rx_completion() argument
355 if (!mbo) in comp_rx_completion()
358 c = get_channel(mbo->ifp, mbo->hdm_channel_id); in comp_rx_completion()
367 kfifo_in(&c->fifo, &mbo, 1); in comp_rx_completion()