Lines Matching refs:cf
485 struct can_frame *cf = (struct can_frame *)skb->data; in xcan_write_frame() local
488 if (cf->can_id & CAN_EFF_FLAG) { in xcan_write_frame()
490 id = ((cf->can_id & CAN_EFF_MASK) << XCAN_IDR_ID2_SHIFT) & in xcan_write_frame()
492 id |= (((cf->can_id & CAN_EFF_MASK) >> in xcan_write_frame()
501 if (cf->can_id & CAN_RTR_FLAG) in xcan_write_frame()
506 id = ((cf->can_id & CAN_SFF_MASK) << XCAN_IDR_ID1_SHIFT) & in xcan_write_frame()
509 if (cf->can_id & CAN_RTR_FLAG) in xcan_write_frame()
514 dlc = cf->can_dlc << XCAN_DLCR_DLC_SHIFT; in xcan_write_frame()
516 if (cf->can_dlc > 0) in xcan_write_frame()
517 data[0] = be32_to_cpup((__be32 *)(cf->data + 0)); in xcan_write_frame()
518 if (cf->can_dlc > 4) in xcan_write_frame()
519 data[1] = be32_to_cpup((__be32 *)(cf->data + 4)); in xcan_write_frame()
526 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_write_frame()
652 struct can_frame *cf; in xcan_rx() local
656 skb = alloc_can_skb(ndev, &cf); in xcan_rx()
668 cf->can_dlc = get_can_dlc(dlc); in xcan_rx()
673 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; in xcan_rx()
674 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> in xcan_rx()
676 cf->can_id |= CAN_EFF_FLAG; in xcan_rx()
678 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
681 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> in xcan_rx()
684 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
691 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_rx()
693 if (cf->can_dlc > 0) in xcan_rx()
694 *(__be32 *)(cf->data) = cpu_to_be32(data[0]); in xcan_rx()
695 if (cf->can_dlc > 4) in xcan_rx()
696 *(__be32 *)(cf->data + 4) = cpu_to_be32(data[1]); in xcan_rx()
699 stats->rx_bytes += cf->can_dlc; in xcan_rx()
741 struct can_frame *cf) in xcan_set_error_state() argument
754 can_change_state(ndev, cf, tx_state, rx_state); in xcan_set_error_state()
756 if (cf) { in xcan_set_error_state()
757 cf->data[6] = txerr; in xcan_set_error_state()
758 cf->data[7] = rxerr; in xcan_set_error_state()
787 struct can_frame *cf; in xcan_update_error_state_after_rxtx() local
789 skb = alloc_can_err_skb(ndev, &cf); in xcan_update_error_state_after_rxtx()
791 xcan_set_error_state(ndev, new_state, skb ? cf : NULL); in xcan_update_error_state_after_rxtx()
797 stats->rx_bytes += cf->can_dlc; in xcan_update_error_state_after_rxtx()
816 struct can_frame *cf; in xcan_err_interrupt() local
820 skb = alloc_can_err_skb(ndev, &cf); in xcan_err_interrupt()
832 cf->can_id |= CAN_ERR_BUSOFF; in xcan_err_interrupt()
837 xcan_set_error_state(ndev, new_state, skb ? cf : NULL); in xcan_err_interrupt()
844 cf->can_id |= CAN_ERR_LOSTARB; in xcan_err_interrupt()
845 cf->data[0] = CAN_ERR_LOSTARB_UNSPEC; in xcan_err_interrupt()
854 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
855 cf->data[1] |= CAN_ERR_CRTL_RX_OVERFLOW; in xcan_err_interrupt()
865 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
866 cf->data[1] |= CAN_ERR_CRTL_UNSPEC; in xcan_err_interrupt()
873 cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR; in xcan_err_interrupt()
879 cf->can_id |= CAN_ERR_ACK; in xcan_err_interrupt()
880 cf->data[3] = CAN_ERR_PROT_LOC_ACK; in xcan_err_interrupt()
888 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
889 cf->data[2] = CAN_ERR_PROT_BIT; in xcan_err_interrupt()
897 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
898 cf->data[2] = CAN_ERR_PROT_STUFF; in xcan_err_interrupt()
906 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
907 cf->data[2] = CAN_ERR_PROT_FORM; in xcan_err_interrupt()
915 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
916 cf->data[3] = CAN_ERR_PROT_LOC_CRC_SEQ; in xcan_err_interrupt()
924 stats->rx_bytes += cf->can_dlc; in xcan_err_interrupt()