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()
569 /* Clear the interrupt first, so we don't miss any doorbell later */ in mhuv2_sender_interrupt()
573 * In Doorbell mode, make sure no new transitions happen while the in mhuv2_sender_interrupt()
574 * interrupt handler is trying to find the finished doorbell tx in mhuv2_sender_interrupt()
581 * In case of doorbell mode, the first channel of the window is returned in mhuv2_sender_interrupt()
594 …dev_warn(dev, "Tx interrupt received on doorbell (%u : %u) channel not currently attached to a mai… in mhuv2_sender_interrupt()
609 * We may have already processed the doorbell in the previous in mhuv2_sender_interrupt()
613 dev_dbg(dev, "Couldn't find the doorbell (%u) for the Tx interrupt interrupt\n", in mhuv2_sender_interrupt()
636 * In case of doorbell mode, the first channel of the window is returned in get_irq_chan_comb_rx()
797 int channel = 0, i, offset, doorbell, protocol, windows; in mhuv2_mbox_of_xlate() local
803 doorbell = pa->args[1]; in mhuv2_mbox_of_xlate()
804 if (doorbell >= MHUV2_STAT_BITS) in mhuv2_mbox_of_xlate()
811 if (protocol == DOORBELL) { in mhuv2_mbox_of_xlate()
813 return &chans[channel + MHUV2_STAT_BITS * offset + doorbell]; in mhuv2_mbox_of_xlate()
819 if (doorbell) in mhuv2_mbox_of_xlate()
832 pa->args[0], doorbell); in mhuv2_mbox_of_xlate()
851 if (protocol == DOORBELL) { in mhuv2_verify_protocol()
912 priv->doorbell = k; in mhuv2_allocate_channels()
918 * control it per doorbell. in mhuv2_allocate_channels()