Lines Matching refs:cf

587 	struct canfd_frame *cf = (struct canfd_frame *)skb->data;  in xcan_write_frame()  local
592 if (cf->can_id & CAN_EFF_FLAG) { in xcan_write_frame()
594 id = ((cf->can_id & CAN_EFF_MASK) << XCAN_IDR_ID2_SHIFT) & in xcan_write_frame()
596 id |= (((cf->can_id & CAN_EFF_MASK) >> in xcan_write_frame()
605 if (cf->can_id & CAN_RTR_FLAG) in xcan_write_frame()
610 id = ((cf->can_id & CAN_SFF_MASK) << XCAN_IDR_ID1_SHIFT) & in xcan_write_frame()
613 if (cf->can_id & CAN_RTR_FLAG) in xcan_write_frame()
618 dlc = can_fd_len2dlc(cf->len) << XCAN_DLCR_DLC_SHIFT; in xcan_write_frame()
620 if (cf->flags & CANFD_BRS) in xcan_write_frame()
640 for (i = 0; i < cf->len; i += 4) { in xcan_write_frame()
644 be32_to_cpup((__be32 *)(cf->data + i))); in xcan_write_frame()
648 if (cf->len > 0) in xcan_write_frame()
649 data[0] = be32_to_cpup((__be32 *)(cf->data + 0)); in xcan_write_frame()
650 if (cf->len > 4) in xcan_write_frame()
651 data[1] = be32_to_cpup((__be32 *)(cf->data + 4)); in xcan_write_frame()
653 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_write_frame()
778 struct can_frame *cf; in xcan_rx() local
782 skb = alloc_can_skb(ndev, &cf); in xcan_rx()
794 cf->len = can_cc_dlc2len(dlc); in xcan_rx()
799 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; in xcan_rx()
800 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> in xcan_rx()
802 cf->can_id |= CAN_EFF_FLAG; in xcan_rx()
804 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
807 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> in xcan_rx()
810 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
817 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_rx()
819 if (cf->len > 0) in xcan_rx()
820 *(__be32 *)(cf->data) = cpu_to_be32(data[0]); in xcan_rx()
821 if (cf->len > 4) in xcan_rx()
822 *(__be32 *)(cf->data + 4) = cpu_to_be32(data[1]); in xcan_rx()
824 stats->rx_bytes += cf->len; in xcan_rx()
848 struct canfd_frame *cf; in xcanfd_rx() local
855 skb = alloc_canfd_skb(ndev, &cf); in xcanfd_rx()
857 skb = alloc_can_skb(ndev, (struct can_frame **)&cf); in xcanfd_rx()
868 cf->len = can_fd_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >> in xcanfd_rx()
871 cf->len = can_cc_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >> in xcanfd_rx()
877 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; in xcanfd_rx()
878 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> in xcanfd_rx()
880 cf->can_id |= CAN_EFF_FLAG; in xcanfd_rx()
882 cf->can_id |= CAN_RTR_FLAG; in xcanfd_rx()
885 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> in xcanfd_rx()
889 cf->can_id |= CAN_RTR_FLAG; in xcanfd_rx()
894 for (i = 0; i < cf->len; i += 4) { in xcanfd_rx()
898 *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); in xcanfd_rx()
902 for (i = 0; i < cf->len; i += 4) { in xcanfd_rx()
905 *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); in xcanfd_rx()
909 if (!(cf->can_id & CAN_RTR_FLAG)) in xcanfd_rx()
910 stats->rx_bytes += cf->len; in xcanfd_rx()
953 struct can_frame *cf) in xcan_set_error_state() argument
966 can_change_state(ndev, cf, tx_state, rx_state); in xcan_set_error_state()
968 if (cf) { in xcan_set_error_state()
969 cf->can_id |= CAN_ERR_CNT; in xcan_set_error_state()
970 cf->data[6] = txerr; in xcan_set_error_state()
971 cf->data[7] = rxerr; in xcan_set_error_state()
1000 struct can_frame *cf; in xcan_update_error_state_after_rxtx() local
1002 skb = alloc_can_err_skb(ndev, &cf); in xcan_update_error_state_after_rxtx()
1004 xcan_set_error_state(ndev, new_state, skb ? cf : NULL); in xcan_update_error_state_after_rxtx()
1024 struct can_frame cf = { }; in xcan_err_interrupt() local
1036 cf.can_id |= CAN_ERR_BUSOFF; in xcan_err_interrupt()
1041 xcan_set_error_state(ndev, new_state, &cf); in xcan_err_interrupt()
1047 cf.can_id |= CAN_ERR_LOSTARB; in xcan_err_interrupt()
1048 cf.data[0] = CAN_ERR_LOSTARB_UNSPEC; in xcan_err_interrupt()
1055 cf.can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
1056 cf.data[1] |= CAN_ERR_CRTL_RX_OVERFLOW; in xcan_err_interrupt()
1064 cf.can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
1065 cf.data[1] |= CAN_ERR_CRTL_UNSPEC; in xcan_err_interrupt()
1074 cf.can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR; in xcan_err_interrupt()
1081 cf.can_id |= CAN_ERR_ACK; in xcan_err_interrupt()
1082 cf.data[3] = CAN_ERR_PROT_LOC_ACK; in xcan_err_interrupt()
1090 cf.can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1091 cf.data[2] = CAN_ERR_PROT_BIT; in xcan_err_interrupt()
1099 cf.can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1100 cf.data[2] = CAN_ERR_PROT_STUFF; in xcan_err_interrupt()
1108 cf.can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1109 cf.data[2] = CAN_ERR_PROT_FORM; in xcan_err_interrupt()
1117 cf.can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1118 cf.data[3] = CAN_ERR_PROT_LOC_CRC_SEQ; in xcan_err_interrupt()
1124 if (cf.can_id) { in xcan_err_interrupt()
1129 skb_cf->can_id |= cf.can_id; in xcan_err_interrupt()
1130 memcpy(skb_cf->data, cf.data, CAN_ERR_DLC); in xcan_err_interrupt()