Lines Matching refs:txwr
62 u32 txwr; /* 0x20C */
380 static inline u32 grcan_txspace(size_t txsize, u32 txwr, u32 eskbp)
383 u32 used = grcan_ring_sub(txwr, eskbp, txsize) / GRCAN_MSG_SIZE;
694 u32 txwr = grcan_read_reg(®s->txwr);
696 if (grcan_txspace(dma->tx.size, txwr,
829 u32 txwr = grcan_read_reg(®s->txwr);
843 grcan_write_reg(®s->txwr, txwr);
864 if (grcan_txspace(priv->dma.tx.size, txwr, priv->eskbp) &&
985 /* regs->txwr, regs->txrd and priv->eskbp already set to 0 by reset */
1276 u32 txwr, u32 oneshotmode,
1293 grcan_read_reg(®s->txrd) == txwr) {
1302 if (grcan_txspace(dma->tx.size, txwr, priv->eskbp))
1331 * regs->txwr - the next slot for the driver to put data to be sent
1335 * grcan_start_xmit can enter more messages as long as regs->txwr does
1338 * The device sends messages until regs->txrd reaches regs->txwr
1350 u32 id, txwr, txrd, space, txctrl;
1373 txwr = grcan_read_reg(®s->txwr);
1374 space = grcan_txspace(dma->tx.size, txwr, priv->eskbp);
1376 slotindex = txwr / GRCAN_MSG_SIZE;
1377 slot = dma->tx.buf + txwr;
1423 /* Bug workaround for old version of grcan where updating txwr
1425 * the current txwr could hang the can controller
1429 if (unlikely(grcan_ring_sub(txwr, txrd, dma->tx.size) == 1)) {
1432 err = grcan_txbug_workaround(dev, skb, txwr,
1454 grcan_write_reg(®s->txwr,
1455 grcan_ring_add(txwr, GRCAN_MSG_SIZE, dma->tx.size));