Lines Matching refs:tx_msg
537 struct i2400m_msg_hdr *msg_hdr = i2400m->tx_msg; in i2400m_tx_fits()
564 struct i2400m_msg_hdr *tx_msg; in i2400m_tx_new() local
566 BUG_ON(i2400m->tx_msg != NULL); in i2400m_tx_new()
576 tx_msg = i2400m_tx_fifo_push(i2400m, I2400M_TX_PLD_SIZE, in i2400m_tx_new()
578 if (tx_msg == NULL) in i2400m_tx_new()
580 else if (tx_msg == TAIL_FULL) { in i2400m_tx_new()
586 memset(tx_msg, 0, I2400M_TX_PLD_SIZE); in i2400m_tx_new()
587 tx_msg->size = I2400M_TX_PLD_SIZE; in i2400m_tx_new()
589 i2400m->tx_msg = tx_msg; in i2400m_tx_new()
591 tx_msg, (void *) tx_msg - i2400m->tx_buf); in i2400m_tx_new()
616 struct i2400m_msg_hdr *tx_msg = i2400m->tx_msg; in i2400m_tx_close() local
622 if (tx_msg->size & I2400M_TX_SKIP) /* a skipper? nothing to do */ in i2400m_tx_close()
624 num_pls = le16_to_cpu(tx_msg->num_pls); in i2400m_tx_close()
629 tx_msg->size |= I2400M_TX_SKIP; in i2400m_tx_close()
643 hdr_size = sizeof(*tx_msg) in i2400m_tx_close()
644 + le16_to_cpu(tx_msg->num_pls) * sizeof(tx_msg->pld[0]); in i2400m_tx_close()
646 tx_msg->offset = I2400M_TX_PLD_SIZE - hdr_size; in i2400m_tx_close()
647 tx_msg_moved = (void *) tx_msg + tx_msg->offset; in i2400m_tx_close()
648 memmove(tx_msg_moved, tx_msg, hdr_size); in i2400m_tx_close()
649 tx_msg_moved->size -= tx_msg->offset; in i2400m_tx_close()
676 if (tx_msg != tx_msg_moved) in i2400m_tx_close()
677 tx_msg->size += padding; in i2400m_tx_close()
679 i2400m->tx_msg = NULL; in i2400m_tx_close()
741 if (unlikely(i2400m->tx_msg == NULL)) in i2400m_tx()
744 || (is_singleton && i2400m->tx_msg->num_pls != 0))) { in i2400m_tx()
747 is_singleton, i2400m->tx_msg->num_pls); in i2400m_tx()
751 if (i2400m->tx_msg == NULL) in i2400m_tx()
759 if (i2400m->tx_msg->size + padded_len > I2400M_TX_MSG_SIZE) { in i2400m_tx()
764 if (i2400m->tx_msg == NULL) in i2400m_tx()
780 struct i2400m_msg_hdr *tx_msg = i2400m->tx_msg; in i2400m_tx() local
781 unsigned num_pls = le16_to_cpu(tx_msg->num_pls); in i2400m_tx()
784 i2400m_pld_set(&tx_msg->pld[num_pls], buf_len, pl_type); in i2400m_tx()
786 le32_to_cpu(tx_msg->pld[num_pls].val), in i2400m_tx()
788 tx_msg->num_pls = le16_to_cpu(num_pls+1); in i2400m_tx()
789 tx_msg->size += padded_len; in i2400m_tx()
791 padded_len, tx_msg->size, num_pls+1); in i2400m_tx()
794 (void *)tx_msg - i2400m->tx_buf, (size_t)tx_msg->size, in i2400m_tx()
843 struct i2400m_msg_hdr *tx_msg, *tx_msg_moved; in i2400m_tx_msg_get() local
859 tx_msg = i2400m->tx_buf + i2400m->tx_out % I2400M_TX_BUF_SIZE; in i2400m_tx_msg_get()
860 if (tx_msg->size & I2400M_TX_SKIP) { /* skip? */ in i2400m_tx_msg_get()
863 (size_t) tx_msg->size & ~I2400M_TX_SKIP); in i2400m_tx_msg_get()
864 i2400m->tx_out += tx_msg->size & ~I2400M_TX_SKIP; in i2400m_tx_msg_get()
868 if (tx_msg->num_pls == 0) { /* No payloads? */ in i2400m_tx_msg_get()
869 if (tx_msg == i2400m->tx_msg) { /* open, we are done */ in i2400m_tx_msg_get()
872 (void *) tx_msg - i2400m->tx_buf); in i2400m_tx_msg_get()
873 tx_msg = NULL; in i2400m_tx_msg_get()
878 (void *) tx_msg - i2400m->tx_buf, in i2400m_tx_msg_get()
879 (size_t) tx_msg->size); in i2400m_tx_msg_get()
880 i2400m->tx_out += tx_msg->size & ~I2400M_TX_SKIP; in i2400m_tx_msg_get()
884 if (tx_msg == i2400m->tx_msg) /* open msg? */ in i2400m_tx_msg_get()
888 tx_msg_moved = (void *) tx_msg + tx_msg->offset; in i2400m_tx_msg_get()
889 i2400m->tx_msg_size = tx_msg->size; in i2400m_tx_msg_get()
893 current->pid, (void *) tx_msg - i2400m->tx_buf, in i2400m_tx_msg_get()
894 (size_t) tx_msg->offset, (size_t) tx_msg->size, in i2400m_tx_msg_get()
992 i2400m->tx_msg = NULL; in i2400m_tx_setup()