Lines Matching defs:frame
198 * frame)
635 static void mcp251x_hw_tx(struct spi_device *spi, struct can_frame *frame,
642 exide = (frame->can_id & CAN_EFF_FLAG) ? 1 : 0; /* Extended ID Enable */
644 sid = (frame->can_id & CAN_EFF_MASK) >> 18;
646 sid = frame->can_id & CAN_SFF_MASK; /* Standard ID */
647 eid = frame->can_id & CAN_EFF_MASK; /* Extended ID */
648 rtr = (frame->can_id & CAN_RTR_FLAG) ? 1 : 0; /* Remote transmission */
657 buf[TXBDLC_OFF] = (rtr << DLC_RTR_SHIFT) | frame->len;
658 memcpy(buf + TXBDAT_OFF, frame->data, frame->len);
659 mcp251x_hw_tx_frame(spi, buf, frame->len, tx_buf_idx);
661 /* use INSTRUCTION_RTS, to avoid "repeated frame problem" */
699 struct can_frame *frame;
702 skb = alloc_can_skb(priv->net, &frame);
712 frame->can_id = CAN_EFF_FLAG;
713 frame->can_id |=
723 frame->can_id |= CAN_RTR_FLAG;
726 frame->can_id =
730 frame->can_id |= CAN_RTR_FLAG;
733 frame->len = can_cc_dlc2len(buf[RXBDLC_OFF] & RXBDLC_LEN_MASK);
734 if (!(frame->can_id & CAN_RTR_FLAG)) {
735 memcpy(frame->data, buf + RXBDAT_OFF, frame->len);
737 priv->net->stats.rx_bytes += frame->len;
980 struct can_frame *frame;
982 skb = alloc_can_err_skb(net, &frame);
984 frame->can_id |= can_id;
985 frame->data[1] = data1;
998 struct can_frame *frame;
1005 frame = (struct can_frame *)priv->tx_skb->data;
1007 if (frame->len > CAN_FRAME_MAX_DATA_LEN)
1008 frame->len = CAN_FRAME_MAX_DATA_LEN;
1009 mcp251x_hw_tx(spi, frame, 0);