Lines Matching +full:16 +full:mb

76 #define AT91_BR_BRP_MASK GENMASK(22, 16)
82 #define AT91_ECR_TEC_MASK GENMASK(23, 16)
87 #define AT91_MMR_PRIOR_MASK GENMASK(19, 16)
95 #define AT91_MSR_MDLC_MASK GENMASK(19, 16)
101 #define AT91_MCR_MDLC_MASK GENMASK(19, 16)
117 #define AT91_IRQ_ERRA BIT(16)
190 .tseg1_max = 16,
297 unsigned int mb, enum at91_mb_mode mode, in set_mb_mode_prio() argument
303 at91_write(priv, AT91_MMR(mb), reg_mmr); in set_mb_mode_prio()
306 static inline void set_mb_mode(const struct at91_priv *priv, unsigned int mb, in set_mb_mode() argument
309 set_mb_mode_prio(priv, mb, mode, 0); in set_mb_mode()
468 * (mb - get_mb_tx_first(priv));
475 unsigned int mb, prio; in at91_start_xmit() local
481 mb = get_tx_head_mb(priv); in at91_start_xmit()
484 if (unlikely(!(at91_read(priv, AT91_MSR(mb)) & AT91_MSR_MRDY))) { in at91_start_xmit()
498 /* disable MB while writing ID (see datasheet) */ in at91_start_xmit()
499 set_mb_mode(priv, mb, AT91_MB_MODE_DISABLED); in at91_start_xmit()
500 at91_write(priv, AT91_MID(mb), reg_mid); in at91_start_xmit()
501 set_mb_mode_prio(priv, mb, AT91_MB_MODE_TX, prio); in at91_start_xmit()
503 at91_write(priv, AT91_MDL(mb), *(u32 *)(cf->data + 0)); in at91_start_xmit()
504 at91_write(priv, AT91_MDH(mb), *(u32 *)(cf->data + 4)); in at91_start_xmit()
507 at91_write(priv, AT91_MCR(mb), reg_mcr); in at91_start_xmit()
509 /* _NOTE_: subtract AT91_MB_TX_FIRST offset from mb! */ in at91_start_xmit()
510 can_put_echo_skb(skb, dev, mb - get_mb_tx_first(priv), 0); in at91_start_xmit()
513 * of a prio+mb counter wrap around. This is the case if in at91_start_xmit()
526 at91_write(priv, AT91_IER, 1 << mb); in at91_start_xmit()
579 * @mb: mailbox number to read from
586 unsigned int mb, u32 *timestamp, in at91_mailbox_read() argument
594 reg_msr = at91_read(priv, AT91_MSR(mb)); in at91_mailbox_read()
609 reg_mid = at91_read(priv, AT91_MID(mb)); in at91_mailbox_read()
617 *timestamp = FIELD_GET(AT91_MSR_MTIMESTAMP_MASK, reg_msr) << 16; in at91_mailbox_read()
624 *(u32 *)(cf->data + 0) = at91_read(priv, AT91_MDL(mb)); in at91_mailbox_read()
625 *(u32 *)(cf->data + 4) = at91_read(priv, AT91_MDH(mb)); in at91_mailbox_read()
629 at91_write(priv, AT91_MID(mb), AT91_MID_MIDE); in at91_mailbox_read()
631 if (unlikely(mb == get_mb_rx_last(priv) && reg_msr & AT91_MSR_MMI)) in at91_mailbox_read()
635 at91_write(priv, AT91_MCR(mb), AT91_MCR_MTCR); in at91_mailbox_read()
655 unsigned int mb; in at91_irq_tx() local
658 mb = get_tx_tail_mb(priv); in at91_irq_tx()
661 if (!(reg_sr & (1 << mb))) in at91_irq_tx()
665 at91_write(priv, AT91_IDR, 1 << mb); in at91_irq_tx()
672 reg_msr = at91_read(priv, AT91_MSR(mb)); in at91_irq_tx()
677 /* _NOTE_: subtract AT91_MB_TX_FIRST offset from mb! */ in at91_irq_tx()
679 can_get_echo_skb(dev, mb - get_mb_tx_first(priv), NULL); in at91_irq_tx()