Lines Matching refs:cf
655 struct canfd_frame *cf = (struct canfd_frame *)skb->data;
660 if (cf->can_id & CAN_EFF_FLAG) {
662 id = ((cf->can_id & CAN_EFF_MASK) << XCAN_IDR_ID2_SHIFT) &
664 id |= (((cf->can_id & CAN_EFF_MASK) >>
673 if (cf->can_id & CAN_RTR_FLAG)
678 id = ((cf->can_id & CAN_SFF_MASK) << XCAN_IDR_ID1_SHIFT) &
681 if (cf->can_id & CAN_RTR_FLAG)
686 dlc = can_fd_len2dlc(cf->len) << XCAN_DLCR_DLC_SHIFT;
688 if (cf->flags & CANFD_BRS)
708 for (i = 0; i < cf->len; i += 4) {
712 be32_to_cpup((__be32 *)(cf->data + i)));
716 if (cf->len > 0)
717 data[0] = be32_to_cpup((__be32 *)(cf->data + 0));
718 if (cf->len > 4)
719 data[1] = be32_to_cpup((__be32 *)(cf->data + 4));
721 if (!(cf->can_id & CAN_RTR_FLAG)) {
846 struct can_frame *cf;
850 skb = alloc_can_skb(ndev, &cf);
862 cf->len = can_cc_dlc2len(dlc);
867 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3;
868 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >>
870 cf->can_id |= CAN_EFF_FLAG;
872 cf->can_id |= CAN_RTR_FLAG;
875 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >>
878 cf->can_id |= CAN_RTR_FLAG;
885 if (!(cf->can_id & CAN_RTR_FLAG)) {
887 if (cf->len > 0)
888 *(__be32 *)(cf->data) = cpu_to_be32(data[0]);
889 if (cf->len > 4)
890 *(__be32 *)(cf->data + 4) = cpu_to_be32(data[1]);
892 stats->rx_bytes += cf->len;
916 struct canfd_frame *cf;
923 skb = alloc_canfd_skb(ndev, &cf);
925 skb = alloc_can_skb(ndev, (struct can_frame **)&cf);
936 cf->len = can_fd_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >>
939 cf->len = can_cc_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >>
945 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >> 3;
946 cf->can_id |= (id_xcan & XCAN_IDR_ID2_MASK) >>
948 cf->can_id |= CAN_EFF_FLAG;
950 cf->can_id |= CAN_RTR_FLAG;
953 cf->can_id = (id_xcan & XCAN_IDR_ID1_MASK) >>
957 cf->can_id |= CAN_RTR_FLAG;
962 for (i = 0; i < cf->len; i += 4) {
966 *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]);
970 for (i = 0; i < cf->len; i += 4) {
973 *(__be32 *)(cf->data + i) = cpu_to_be32(data[0]);
977 if (!(cf->can_id & CAN_RTR_FLAG))
978 stats->rx_bytes += cf->len;
1014 * @cf: Error frame to be populated or NULL
1021 struct can_frame *cf)
1034 can_change_state(ndev, cf, tx_state, rx_state);
1036 if (cf) {
1037 cf->can_id |= CAN_ERR_CNT;
1038 cf->data[6] = txerr;
1039 cf->data[7] = rxerr;
1068 struct can_frame *cf;
1070 skb = alloc_can_err_skb(ndev, &cf);
1072 xcan_set_error_state(ndev, new_state, skb ? cf : NULL);
1092 struct can_frame cf = { };
1104 cf.can_id |= CAN_ERR_BUSOFF;
1109 xcan_set_error_state(ndev, new_state, &cf);
1115 cf.can_id |= CAN_ERR_LOSTARB;
1116 cf.data[0] = CAN_ERR_LOSTARB_UNSPEC;
1123 cf.can_id |= CAN_ERR_CRTL;
1124 cf.data[1] |= CAN_ERR_CRTL_RX_OVERFLOW;
1132 cf.can_id |= CAN_ERR_CRTL;
1133 cf.data[1] |= CAN_ERR_CRTL_UNSPEC;
1142 cf.can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR;
1149 cf.can_id |= CAN_ERR_ACK;
1150 cf.data[3] = CAN_ERR_PROT_LOC_ACK;
1158 cf.can_id |= CAN_ERR_PROT;
1159 cf.data[2] = CAN_ERR_PROT_BIT;
1167 cf.can_id |= CAN_ERR_PROT;
1168 cf.data[2] = CAN_ERR_PROT_STUFF;
1176 cf.can_id |= CAN_ERR_PROT;
1177 cf.data[2] = CAN_ERR_PROT_FORM;
1185 cf.can_id |= CAN_ERR_PROT;
1186 cf.data[3] = CAN_ERR_PROT_LOC_CRC_SEQ;
1240 if (cf.can_id) {
1245 skb_cf->can_id |= cf.can_id;
1246 memcpy(skb_cf->data, cf.data, CAN_ERR_DLC);