Lines Matching refs:cf
392 struct can_frame *cf = (struct can_frame *)skb->data; in xcan_start_xmit() local
407 if (cf->can_id & CAN_EFF_FLAG) { in xcan_start_xmit()
409 id = ((cf->can_id & CAN_EFF_MASK) << XCAN_IDR_ID2_SHIFT) & in xcan_start_xmit()
411 id |= (((cf->can_id & CAN_EFF_MASK) >> in xcan_start_xmit()
420 if (cf->can_id & CAN_RTR_FLAG) in xcan_start_xmit()
425 id = ((cf->can_id & CAN_SFF_MASK) << XCAN_IDR_ID1_SHIFT) & in xcan_start_xmit()
428 if (cf->can_id & CAN_RTR_FLAG) in xcan_start_xmit()
433 dlc = cf->can_dlc << XCAN_DLCR_DLC_SHIFT; in xcan_start_xmit()
435 if (cf->can_dlc > 0) in xcan_start_xmit()
436 data[0] = be32_to_cpup((__be32 *)(cf->data + 0)); in xcan_start_xmit()
437 if (cf->can_dlc > 4) in xcan_start_xmit()
438 data[1] = be32_to_cpup((__be32 *)(cf->data + 4)); in xcan_start_xmit()
447 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_start_xmit()
453 stats->tx_bytes += cf->can_dlc; in xcan_start_xmit()
477 struct can_frame *cf; in xcan_rx() local
481 skb = alloc_can_skb(ndev, &cf); in xcan_rx()
493 cf->can_dlc = get_can_dlc(dlc); in xcan_rx()
498 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; in xcan_rx()
499 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> in xcan_rx()
501 cf->can_id |= CAN_EFF_FLAG; in xcan_rx()
503 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
506 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> in xcan_rx()
509 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
516 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_rx()
518 if (cf->can_dlc > 0) in xcan_rx()
519 *(__be32 *)(cf->data) = cpu_to_be32(data[0]); in xcan_rx()
520 if (cf->can_dlc > 4) in xcan_rx()
521 *(__be32 *)(cf->data + 4) = cpu_to_be32(data[1]); in xcan_rx()
524 stats->rx_bytes += cf->can_dlc; in xcan_rx()
544 struct can_frame *cf; in xcan_err_interrupt() local
548 skb = alloc_can_err_skb(ndev, &cf); in xcan_err_interrupt()
564 cf->can_id |= CAN_ERR_BUSOFF; in xcan_err_interrupt()
569 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
570 cf->data[1] = (rxerr > 127) ? in xcan_err_interrupt()
573 cf->data[6] = txerr; in xcan_err_interrupt()
574 cf->data[7] = rxerr; in xcan_err_interrupt()
580 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
581 cf->data[1] |= (txerr > rxerr) ? in xcan_err_interrupt()
584 cf->data[6] = txerr; in xcan_err_interrupt()
585 cf->data[7] = rxerr; in xcan_err_interrupt()
593 cf->can_id |= CAN_ERR_LOSTARB; in xcan_err_interrupt()
594 cf->data[0] = CAN_ERR_LOSTARB_UNSPEC; in xcan_err_interrupt()
604 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
605 cf->data[1] |= CAN_ERR_CRTL_RX_OVERFLOW; in xcan_err_interrupt()
612 cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR; in xcan_err_interrupt()
618 cf->can_id |= CAN_ERR_ACK; in xcan_err_interrupt()
619 cf->data[3] = CAN_ERR_PROT_LOC_ACK; in xcan_err_interrupt()
627 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
628 cf->data[2] = CAN_ERR_PROT_BIT; in xcan_err_interrupt()
636 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
637 cf->data[2] = CAN_ERR_PROT_STUFF; in xcan_err_interrupt()
645 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
646 cf->data[2] = CAN_ERR_PROT_FORM; in xcan_err_interrupt()
654 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
655 cf->data[3] = CAN_ERR_PROT_LOC_CRC_SEQ; in xcan_err_interrupt()
663 stats->rx_bytes += cf->can_dlc; in xcan_err_interrupt()