Lines Matching refs:frame
188 struct can_frame *frame = (struct can_frame *)skb->data;
208 * if buf_id < 3, then current frame will be send out of order,
227 rtr = frame->can_id & CAN_RTR_FLAG;
230 if (frame->can_id & CAN_EFF_FLAG) {
231 can_id = (frame->can_id & CAN_EFF_MASK)
242 can_id = (frame->can_id & CAN_SFF_MASK)
251 u16 *payload = (u16 *)frame->data;
253 for (i = 0; i < frame->len / 2; i++) {
258 if (frame->len & 1)
259 out_8(data, frame->data[frame->len - 1]);
262 out_8(®s->tx.dlr, frame->len);
293 static void mscan_get_rx_frame(struct net_device *dev, struct can_frame *frame)
302 frame->can_id = CAN_EFF_FLAG;
308 frame->can_id = 0;
311 frame->can_id |= can_id >> 1;
313 frame->can_id |= CAN_RTR_FLAG;
315 frame->len = can_cc_dlc2len(in_8(®s->rx.dlr) & 0xf);
317 if (!(frame->can_id & CAN_RTR_FLAG)) {
319 u16 *payload = (u16 *)frame->data;
321 for (i = 0; i < frame->len / 2; i++) {
326 if (frame->len & 1)
327 frame->data[frame->len - 1] = in_8(data);
333 static void mscan_get_err_frame(struct net_device *dev, struct can_frame *frame,
342 frame->can_id = CAN_ERR_FLAG;
345 frame->can_id |= CAN_ERR_CRTL;
346 frame->data[1] = CAN_ERR_CRTL_RX_OVERFLOW;
350 frame->data[1] = 0;
355 can_change_state(dev, frame,
375 frame->len = CAN_ERR_DLC;
387 struct can_frame *frame;
395 skb = alloc_can_skb(dev, &frame);
405 mscan_get_rx_frame(dev, frame);
407 if (!(frame->can_id & CAN_RTR_FLAG))
408 stats->rx_bytes += frame->len;
410 mscan_get_err_frame(dev, frame, canrflg);