Lines Matching defs:mq
202 struct omap_mbox_queue *mq = mbox->txq;
205 spin_lock_bh(&mq->lock);
207 if (kfifo_avail(&mq->fifo) < sizeof(msg)) {
212 if (kfifo_is_empty(&mq->fifo) && !mbox_fifo_full(mbox)) {
217 len = kfifo_in(&mq->fifo, (unsigned char *)&msg, sizeof(msg));
223 spin_unlock_bh(&mq->lock);
299 struct omap_mbox_queue *mq = mbox->txq;
303 while (kfifo_len(&mq->fifo)) {
309 ret = kfifo_out(&mq->fifo, (unsigned char *)&msg,
322 struct omap_mbox_queue *mq =
327 while (kfifo_len(&mq->fifo) >= sizeof(msg)) {
328 len = kfifo_out(&mq->fifo, (unsigned char *)&msg, sizeof(msg));
331 blocking_notifier_call_chain(&mq->mbox->notifier, len,
333 spin_lock_irq(&mq->lock);
334 if (mq->full) {
335 mq->full = false;
336 omap_mbox_enable_irq(mq->mbox, IRQ_RX);
338 spin_unlock_irq(&mq->lock);
354 struct omap_mbox_queue *mq = mbox->rxq;
359 if (unlikely(kfifo_avail(&mq->fifo) < sizeof(msg))) {
361 mq->full = true;
367 len = kfifo_in(&mq->fifo, (unsigned char *)&msg, sizeof(msg));
394 struct omap_mbox_queue *mq;
396 mq = kzalloc(sizeof(struct omap_mbox_queue), GFP_KERNEL);
397 if (!mq)
400 spin_lock_init(&mq->lock);
402 if (kfifo_alloc(&mq->fifo, mbox_kfifo_size, GFP_KERNEL))
406 INIT_WORK(&mq->work, work);
409 tasklet_init(&mq->tasklet, tasklet, (unsigned long)mbox);
410 return mq;
412 kfree(mq);
425 struct omap_mbox_queue *mq;
434 mq = mbox_queue_alloc(mbox, NULL, mbox_tx_tasklet);
435 if (!mq) {
439 mbox->txq = mq;
441 mq = mbox_queue_alloc(mbox, mbox_rx_work, NULL);
442 if (!mq) {
446 mbox->rxq = mq;
447 mq->mbox = mbox;