Lines Matching full:doorbell
10 * protocol modes: data-transfer and doorbell, to be used on those channel
150 DOORBELL = 0, enumerator
223 * @doorbell: Doorbell bit number within the ch_wn_idx window, only relevant
224 * in DOORBELL protocol.
225 * @pending: Flag indicating pending doorbell interrupt, only relevant in
226 * DOORBELL protocol.
234 u32 doorbell; member
258 /* =================== Doorbell transport protocol operations =============== */
264 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_rx_startup()
274 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_rx_shutdown()
282 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_read_data()
293 BIT(priv->doorbell)); in mhuv2_doorbell_last_tx_done()
305 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_send_data()
517 if (protocol == DOORBELL) in get_irq_chan_comb()
526 /* Return first chan of the window in doorbell mode */ in get_irq_chan_comb()
527 if (protocol == DOORBELL) in get_irq_chan_comb()
567 /* Clear the interrupt first, so we don't miss any doorbell later */ in mhuv2_sender_interrupt()
571 * In Doorbell mode, make sure no new transitions happen while the in mhuv2_sender_interrupt()
572 * interrupt handler is trying to find the finished doorbell tx in mhuv2_sender_interrupt()
579 * In case of doorbell mode, the first channel of the window is returned in mhuv2_sender_interrupt()
592 …dev_warn(dev, "Tx interrupt received on doorbell (%u : %u) channel not currently attached to a mai… in mhuv2_sender_interrupt()
607 * We may have already processed the doorbell in the previous in mhuv2_sender_interrupt()
611 dev_dbg(dev, "Couldn't find the doorbell (%u) for the Tx interrupt interrupt\n", in mhuv2_sender_interrupt()
634 * In case of doorbell mode, the first channel of the window is returned in get_irq_chan_comb_rx()
795 int channel = 0, i, offset, doorbell, protocol, windows; in mhuv2_mbox_of_xlate() local
801 doorbell = pa->args[1]; in mhuv2_mbox_of_xlate()
802 if (doorbell >= MHUV2_STAT_BITS) in mhuv2_mbox_of_xlate()
809 if (protocol == DOORBELL) { in mhuv2_mbox_of_xlate()
811 return &chans[channel + MHUV2_STAT_BITS * offset + doorbell]; in mhuv2_mbox_of_xlate()
817 if (doorbell) in mhuv2_mbox_of_xlate()
830 pa->args[0], doorbell); in mhuv2_mbox_of_xlate()
849 if (protocol == DOORBELL) { in mhuv2_verify_protocol()
910 priv->doorbell = k; in mhuv2_allocate_channels()
916 * control it per doorbell. in mhuv2_allocate_channels()