Lines Matching refs:mbxno
242 static inline void hecc_write_lam(struct ti_hecc_priv *priv, u32 mbxno, u32 val)
244 __raw_writel(val, priv->base + priv->hecc_ram_offset + mbxno * 4);
247 static inline void hecc_write_mbx(struct ti_hecc_priv *priv, u32 mbxno,
250 __raw_writel(val, priv->base + priv->mbx_offset + mbxno * 0x10 +
254 static inline u32 hecc_read_mbx(struct ti_hecc_priv *priv, u32 mbxno, u32 reg)
256 return __raw_readl(priv->base + priv->mbx_offset + mbxno * 0x10 +
395 u32 cnt, mbxno, mbx_mask;
408 mbxno = HECC_MAX_MAILBOXES - 1 - cnt;
409 mbx_mask = BIT(mbxno);
411 hecc_write_mbx(priv, mbxno, HECC_CANMID, HECC_CANMID_AME);
412 hecc_write_lam(priv, mbxno, HECC_SET_REG);
486 u32 mbxno, mbx_mask, data;
492 mbxno = get_tx_head_mb(priv);
493 mbx_mask = BIT(mbxno);
509 hecc_write_mbx(priv, mbxno, HECC_CANMCF, data);
515 hecc_write_mbx(priv, mbxno, HECC_CANMID, data);
516 hecc_write_mbx(priv, mbxno, HECC_CANMDL,
519 hecc_write_mbx(priv, mbxno, HECC_CANMDH,
523 can_put_echo_skb(skb, ndev, mbxno);
541 static int ti_hecc_rx_pkt(struct ti_hecc_priv *priv, int mbxno)
557 mbx_mask = BIT(mbxno);
558 data = hecc_read_mbx(priv, mbxno, HECC_CANMID);
563 data = hecc_read_mbx(priv, mbxno, HECC_CANMCF);
567 data = hecc_read_mbx(priv, mbxno, HECC_CANMDL);
570 data = hecc_read_mbx(priv, mbxno, HECC_CANMDH);
758 u32 mbxno, mbx_mask, int_status, err_status;
774 mbxno = get_tx_tail_mb(priv);
775 mbx_mask = BIT(mbxno);
783 stats->tx_bytes += hecc_read_mbx(priv, mbxno,
786 can_get_echo_skb(ndev, mbxno);