Lines Matching refs:cf

548 	struct canfd_frame *cf = (struct canfd_frame *)skb->data;  in xcan_write_frame()  local
552 if (cf->can_id & CAN_EFF_FLAG) { in xcan_write_frame()
554 id = ((cf->can_id & CAN_EFF_MASK) << XCAN_IDR_ID2_SHIFT) & in xcan_write_frame()
556 id |= (((cf->can_id & CAN_EFF_MASK) >> in xcan_write_frame()
565 if (cf->can_id & CAN_RTR_FLAG) in xcan_write_frame()
570 id = ((cf->can_id & CAN_SFF_MASK) << XCAN_IDR_ID1_SHIFT) & in xcan_write_frame()
573 if (cf->can_id & CAN_RTR_FLAG) in xcan_write_frame()
578 dlc = can_len2dlc(cf->len) << XCAN_DLCR_DLC_SHIFT; in xcan_write_frame()
580 if (cf->flags & CANFD_BRS) in xcan_write_frame()
592 for (i = 0; i < cf->len; i += 4) { in xcan_write_frame()
596 be32_to_cpup((__be32 *)(cf->data + i))); in xcan_write_frame()
600 if (cf->len > 0) in xcan_write_frame()
601 data[0] = be32_to_cpup((__be32 *)(cf->data + 0)); in xcan_write_frame()
602 if (cf->len > 4) in xcan_write_frame()
603 data[1] = be32_to_cpup((__be32 *)(cf->data + 4)); in xcan_write_frame()
605 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_write_frame()
738 struct can_frame *cf; in xcan_rx() local
742 skb = alloc_can_skb(ndev, &cf); in xcan_rx()
754 cf->can_dlc = get_can_dlc(dlc); in xcan_rx()
759 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; in xcan_rx()
760 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> in xcan_rx()
762 cf->can_id |= CAN_EFF_FLAG; in xcan_rx()
764 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
767 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> in xcan_rx()
770 cf->can_id |= CAN_RTR_FLAG; in xcan_rx()
777 if (!(cf->can_id & CAN_RTR_FLAG)) { in xcan_rx()
779 if (cf->can_dlc > 0) in xcan_rx()
780 *(__be32 *)(cf->data) = cpu_to_be32(data[0]); in xcan_rx()
781 if (cf->can_dlc > 4) in xcan_rx()
782 *(__be32 *)(cf->data + 4) = cpu_to_be32(data[1]); in xcan_rx()
785 stats->rx_bytes += cf->can_dlc; in xcan_rx()
807 struct canfd_frame *cf; in xcanfd_rx() local
814 skb = alloc_canfd_skb(ndev, &cf); in xcanfd_rx()
816 skb = alloc_can_skb(ndev, (struct can_frame **)&cf); in xcanfd_rx()
827 cf->len = can_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >> in xcanfd_rx()
830 cf->len = get_can_dlc((dlc & XCAN_DLCR_DLC_MASK) >> in xcanfd_rx()
836 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3; in xcanfd_rx()
837 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >> in xcanfd_rx()
839 cf->can_id |= CAN_EFF_FLAG; in xcanfd_rx()
841 cf->can_id |= CAN_RTR_FLAG; in xcanfd_rx()
844 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> in xcanfd_rx()
848 cf->can_id |= CAN_RTR_FLAG; in xcanfd_rx()
853 for (i = 0; i < cf->len; i += 4) { in xcanfd_rx()
857 *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); in xcanfd_rx()
861 for (i = 0; i < cf->len; i += 4) { in xcanfd_rx()
864 *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]); in xcanfd_rx()
867 stats->rx_bytes += cf->len; in xcanfd_rx()
909 struct can_frame *cf) in xcan_set_error_state() argument
922 can_change_state(ndev, cf, tx_state, rx_state); in xcan_set_error_state()
924 if (cf) { in xcan_set_error_state()
925 cf->data[6] = txerr; in xcan_set_error_state()
926 cf->data[7] = rxerr; in xcan_set_error_state()
955 struct can_frame *cf; in xcan_update_error_state_after_rxtx() local
957 skb = alloc_can_err_skb(ndev, &cf); in xcan_update_error_state_after_rxtx()
959 xcan_set_error_state(ndev, new_state, skb ? cf : NULL); in xcan_update_error_state_after_rxtx()
965 stats->rx_bytes += cf->can_dlc; in xcan_update_error_state_after_rxtx()
984 struct can_frame *cf; in xcan_err_interrupt() local
988 skb = alloc_can_err_skb(ndev, &cf); in xcan_err_interrupt()
1000 cf->can_id |= CAN_ERR_BUSOFF; in xcan_err_interrupt()
1005 xcan_set_error_state(ndev, new_state, skb ? cf : NULL); in xcan_err_interrupt()
1012 cf->can_id |= CAN_ERR_LOSTARB; in xcan_err_interrupt()
1013 cf->data[0] = CAN_ERR_LOSTARB_UNSPEC; in xcan_err_interrupt()
1022 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
1023 cf->data[1] |= CAN_ERR_CRTL_RX_OVERFLOW; in xcan_err_interrupt()
1033 cf->can_id |= CAN_ERR_CRTL; in xcan_err_interrupt()
1034 cf->data[1] |= CAN_ERR_CRTL_UNSPEC; in xcan_err_interrupt()
1041 cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR; in xcan_err_interrupt()
1047 cf->can_id |= CAN_ERR_ACK; in xcan_err_interrupt()
1048 cf->data[3] = CAN_ERR_PROT_LOC_ACK; in xcan_err_interrupt()
1056 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1057 cf->data[2] = CAN_ERR_PROT_BIT; in xcan_err_interrupt()
1065 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1066 cf->data[2] = CAN_ERR_PROT_STUFF; in xcan_err_interrupt()
1074 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1075 cf->data[2] = CAN_ERR_PROT_FORM; in xcan_err_interrupt()
1083 cf->can_id |= CAN_ERR_PROT; in xcan_err_interrupt()
1084 cf->data[3] = CAN_ERR_PROT_LOC_CRC_SEQ; in xcan_err_interrupt()
1092 stats->rx_bytes += cf->can_dlc; in xcan_err_interrupt()