Lines Matching full:doorbell

10  * protocol modes: data-transfer and doorbell, to be used on those channel
150 DOORBELL = 0, enumerator
224 * @doorbell: Doorbell bit number within the ch_wn_idx window, only relevant
225 * in DOORBELL protocol.
226 * @pending: Flag indicating pending doorbell interrupt, only relevant in
227 * DOORBELL protocol.
235 u32 doorbell; member
259 /* =================== Doorbell transport protocol operations =============== */
265 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_rx_startup()
275 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_rx_shutdown()
283 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_read_data()
294 BIT(priv->doorbell)); in mhuv2_doorbell_last_tx_done()
306 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_send_data()
518 if (protocol == DOORBELL) in get_irq_chan_comb()
527 /* Return first chan of the window in doorbell mode */ in get_irq_chan_comb()
528 if (protocol == DOORBELL) in get_irq_chan_comb()
568 /* Clear the interrupt first, so we don't miss any doorbell later */ in mhuv2_sender_interrupt()
572 * In Doorbell mode, make sure no new transitions happen while the in mhuv2_sender_interrupt()
573 * interrupt handler is trying to find the finished doorbell tx in mhuv2_sender_interrupt()
580 * In case of doorbell mode, the first channel of the window is returned in mhuv2_sender_interrupt()
593 …dev_warn(dev, "Tx interrupt received on doorbell (%u : %u) channel not currently attached to a mai… in mhuv2_sender_interrupt()
608 * We may have already processed the doorbell in the previous in mhuv2_sender_interrupt()
612 dev_dbg(dev, "Couldn't find the doorbell (%u) for the Tx interrupt interrupt\n", in mhuv2_sender_interrupt()
635 * In case of doorbell mode, the first channel of the window is returned in get_irq_chan_comb_rx()
796 int channel = 0, i, offset, doorbell, protocol, windows; in mhuv2_mbox_of_xlate() local
802 doorbell = pa->args[1]; in mhuv2_mbox_of_xlate()
803 if (doorbell >= MHUV2_STAT_BITS) in mhuv2_mbox_of_xlate()
810 if (protocol == DOORBELL) { in mhuv2_mbox_of_xlate()
812 return &chans[channel + MHUV2_STAT_BITS * offset + doorbell]; in mhuv2_mbox_of_xlate()
818 if (doorbell) in mhuv2_mbox_of_xlate()
831 pa->args[0], doorbell); in mhuv2_mbox_of_xlate()
850 if (protocol == DOORBELL) { in mhuv2_verify_protocol()
911 priv->doorbell = k; in mhuv2_allocate_channels()
917 * control it per doorbell. in mhuv2_allocate_channels()