Lines Matching defs:frame
262 static void hi3110_hw_tx(struct spi_device *spi, struct can_frame *frame)
268 if (frame->can_id & CAN_EFF_FLAG) {
269 /* Extended frame */
270 buf[HI3110_FIFO_ID_OFF] = (frame->can_id & CAN_EFF_MASK) >> 21;
272 (((frame->can_id & CAN_EFF_MASK) >> 13) & 0xe0) |
274 (((frame->can_id & CAN_EFF_MASK) >> 15) & 0x07);
276 (frame->can_id & CAN_EFF_MASK) >> 7;
278 ((frame->can_id & CAN_EFF_MASK) << 1) |
279 ((frame->can_id & CAN_RTR_FLAG) ? 1 : 0);
281 buf[HI3110_FIFO_EXT_DLC_OFF] = frame->len;
284 frame->data, frame->len);
287 (HI3110_CAN_MAX_DATA_LEN - frame->len));
289 /* Standard frame */
290 buf[HI3110_FIFO_ID_OFF] = (frame->can_id & CAN_SFF_MASK) >> 3;
292 ((frame->can_id & CAN_SFF_MASK) << 5) |
293 ((frame->can_id & CAN_RTR_FLAG) ? (1 << 4) : 0);
295 buf[HI3110_FIFO_STD_DLC_OFF] = frame->len;
298 frame->data, frame->len);
301 (HI3110_CAN_MAX_DATA_LEN - frame->len));
318 struct can_frame *frame;
321 skb = alloc_can_skb(priv->net, &frame);
329 /* IDE is recessive (1), indicating extended 29-bit frame */
330 frame->can_id = CAN_EFF_FLAG;
331 frame->can_id |=
338 /* IDE is dominant (0), frame indicating standard 11-bit */
339 frame->can_id =
345 frame->len = can_cc_dlc2len(buf[HI3110_FIFO_WOTIME_DLC_OFF] & 0x0F);
348 frame->can_id |= CAN_RTR_FLAG;
350 memcpy(frame->data, buf + HI3110_FIFO_WOTIME_DAT_OFF,
351 frame->len);
353 priv->net->stats.rx_bytes += frame->len;
577 struct can_frame *frame;
584 frame = (struct can_frame *)priv->tx_skb->data;
585 hi3110_hw_tx(spi, frame);