Lines Matching defs:frame

199 	struct can_frame *frame = (struct can_frame *)skb->data;
219 * if buf_id < 3, then current frame will be send out of order,
237 rtr = frame->can_id & CAN_RTR_FLAG;
240 if (frame->can_id & CAN_EFF_FLAG) {
241 can_id = (frame->can_id & CAN_EFF_MASK)
252 can_id = (frame->can_id & CAN_SFF_MASK)
261 u16 *payload = (u16 *)frame->data;
263 for (i = 0; i < frame->can_dlc / 2; i++) {
268 if (frame->can_dlc & 1)
269 out_8(data, frame->data[frame->can_dlc - 1]);
272 out_8(&regs->tx.dlr, frame->can_dlc);
306 static void mscan_get_rx_frame(struct net_device *dev, struct can_frame *frame)
315 frame->can_id = CAN_EFF_FLAG;
321 frame->can_id = 0;
324 frame->can_id |= can_id >> 1;
326 frame->can_id |= CAN_RTR_FLAG;
328 frame->can_dlc = get_can_dlc(in_8(&regs->rx.dlr) & 0xf);
330 if (!(frame->can_id & CAN_RTR_FLAG)) {
332 u16 *payload = (u16 *)frame->data;
334 for (i = 0; i < frame->can_dlc / 2; i++) {
339 if (frame->can_dlc & 1)
340 frame->data[frame->can_dlc - 1] = in_8(data);
346 static void mscan_get_err_frame(struct net_device *dev, struct can_frame *frame,
355 frame->can_id = CAN_ERR_FLAG;
358 frame->can_id |= CAN_ERR_CRTL;
359 frame->data[1] = CAN_ERR_CRTL_RX_OVERFLOW;
363 frame->data[1] = 0;
371 frame->can_id |= CAN_ERR_CRTL;
375 frame->data[1] |= CAN_ERR_CRTL_RX_WARNING;
378 frame->data[1] |= CAN_ERR_CRTL_TX_WARNING;
381 frame->can_id |= CAN_ERR_CRTL;
383 frame->data[1] |= CAN_ERR_CRTL_RX_PASSIVE;
386 frame->can_id |= CAN_ERR_BUSOFF;
405 frame->can_dlc = CAN_ERR_DLC;
418 struct can_frame *frame;
426 skb = alloc_can_skb(dev, &frame);
436 mscan_get_rx_frame(dev, frame);
438 mscan_get_err_frame(dev, frame, canrflg);
441 stats->rx_bytes += frame->can_dlc;