Lines Matching full:mb
234 struct tegra_hsp_mailbox *mb = &hsp->mailboxes[bit]; in tegra_hsp_shared_irq() local
236 if (mb->producer) { in tegra_hsp_shared_irq()
246 hsp->mask &= ~BIT(HSP_INT_EMPTY_SHIFT + mb->index); in tegra_hsp_shared_irq()
252 mbox_chan_txdone(mb->channel.chan, 0); in tegra_hsp_shared_irq()
260 struct tegra_hsp_mailbox *mb = &hsp->mailboxes[bit]; in tegra_hsp_shared_irq() local
262 if (!mb->producer) in tegra_hsp_shared_irq()
263 mb->ops->recv(&mb->channel); in tegra_hsp_shared_irq()
455 struct tegra_hsp_mailbox *mb = chan->con_priv; in tegra_hsp_mailbox_send_data() local
456 struct tegra_hsp *hsp = mb->channel.hsp; in tegra_hsp_mailbox_send_data()
459 if (WARN_ON(!mb->producer)) in tegra_hsp_mailbox_send_data()
462 mb->ops->send(&mb->channel, data); in tegra_hsp_mailbox_send_data()
467 hsp->mask |= BIT(HSP_INT_EMPTY_SHIFT + mb->index); in tegra_hsp_mailbox_send_data()
478 struct tegra_hsp_mailbox *mb = chan->con_priv; in tegra_hsp_mailbox_flush() local
479 struct tegra_hsp_channel *ch = &mb->channel; in tegra_hsp_mailbox_flush()
504 struct tegra_hsp_mailbox *mb = chan->con_priv; in tegra_hsp_mailbox_startup() local
505 struct tegra_hsp_channel *ch = &mb->channel; in tegra_hsp_mailbox_startup()
506 struct tegra_hsp *hsp = mb->channel.hsp; in tegra_hsp_mailbox_startup()
524 if (mb->producer) in tegra_hsp_mailbox_startup()
525 hsp->mask &= ~BIT(HSP_INT_EMPTY_SHIFT + mb->index); in tegra_hsp_mailbox_startup()
527 hsp->mask |= BIT(HSP_INT_FULL_SHIFT + mb->index); in tegra_hsp_mailbox_startup()
534 if (mb->producer) in tegra_hsp_mailbox_startup()
547 struct tegra_hsp_mailbox *mb = chan->con_priv; in tegra_hsp_mailbox_shutdown() local
548 struct tegra_hsp_channel *ch = &mb->channel; in tegra_hsp_mailbox_shutdown()
549 struct tegra_hsp *hsp = mb->channel.hsp; in tegra_hsp_mailbox_shutdown()
553 if (mb->producer) in tegra_hsp_mailbox_shutdown()
563 if (mb->producer) in tegra_hsp_mailbox_shutdown()
564 hsp->mask &= ~BIT(HSP_INT_EMPTY_SHIFT + mb->index); in tegra_hsp_mailbox_shutdown()
566 hsp->mask &= ~BIT(HSP_INT_FULL_SHIFT + mb->index); in tegra_hsp_mailbox_shutdown()
624 struct tegra_hsp_mailbox *mb; in tegra_hsp_sm_xlate() local
632 mb = &hsp->mailboxes[index]; in tegra_hsp_sm_xlate()
638 mb->ops = &tegra_hsp_sm_128bit_ops; in tegra_hsp_sm_xlate()
640 mb->ops = &tegra_hsp_sm_32bit_ops; in tegra_hsp_sm_xlate()
644 mb->producer = false; in tegra_hsp_sm_xlate()
646 mb->producer = true; in tegra_hsp_sm_xlate()
648 return mb->channel.chan; in tegra_hsp_sm_xlate()
678 struct tegra_hsp_mailbox *mb = &hsp->mailboxes[i]; in tegra_hsp_add_mailboxes() local
680 mb->index = i; in tegra_hsp_add_mailboxes()
682 mb->channel.hsp = hsp; in tegra_hsp_add_mailboxes()
683 mb->channel.regs = hsp->regs + SZ_64K + i * SZ_32K; in tegra_hsp_add_mailboxes()
684 mb->channel.chan = &hsp->mbox_sm.chans[i]; in tegra_hsp_add_mailboxes()
685 mb->channel.chan->con_priv = mb; in tegra_hsp_add_mailboxes()
891 struct tegra_hsp_mailbox *mb = &hsp->mailboxes[i]; in tegra_hsp_resume() local
893 if (mb->channel.chan->cl) in tegra_hsp_resume()
894 tegra_hsp_mailbox_startup(mb->channel.chan); in tegra_hsp_resume()