Commit 69d98969 authored by Oliver Hartkopp's avatar Oliver Hartkopp Committed by Marc Kleine-Budde

can: rename get_can_dlc() macro with can_cc_dlc2len()

The get_can_dlc() macro is used to ensure the payload length information of
the Classical CAN frame to be max 8 bytes (the CAN_MAX_DLEN).

Rename the macro and use the correct constant in preparation of the len/dlc
cleanup for Classical CAN frames.
Signed-off-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/r/20201110101852.1973-3-socketcan@hartkopp.netSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent ea780056
...@@ -580,7 +580,7 @@ static void at91_read_mb(struct net_device *dev, unsigned int mb, ...@@ -580,7 +580,7 @@ static void at91_read_mb(struct net_device *dev, unsigned int mb,
cf->can_id = (reg_mid >> 18) & CAN_SFF_MASK; cf->can_id = (reg_mid >> 18) & CAN_SFF_MASK;
reg_msr = at91_read(priv, AT91_MSR(mb)); reg_msr = at91_read(priv, AT91_MSR(mb));
cf->can_dlc = get_can_dlc((reg_msr >> 16) & 0xf); cf->can_dlc = can_cc_dlc2len((reg_msr >> 16) & 0xf);
if (reg_msr & AT91_MSR_MRTR) if (reg_msr & AT91_MSR_MRTR)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
......
...@@ -397,7 +397,7 @@ static int c_can_read_msg_object(struct net_device *dev, int iface, u32 ctrl) ...@@ -397,7 +397,7 @@ static int c_can_read_msg_object(struct net_device *dev, int iface, u32 ctrl)
return -ENOMEM; return -ENOMEM;
} }
frame->can_dlc = get_can_dlc(ctrl & 0x0F); frame->can_dlc = can_cc_dlc2len(ctrl & 0x0F);
arb = priv->read_reg32(priv, C_CAN_IFACE(ARB1_REG, iface)); arb = priv->read_reg32(priv, C_CAN_IFACE(ARB1_REG, iface));
......
...@@ -486,7 +486,7 @@ static void cc770_rx(struct net_device *dev, unsigned int mo, u8 ctrl1) ...@@ -486,7 +486,7 @@ static void cc770_rx(struct net_device *dev, unsigned int mo, u8 ctrl1)
} }
cf->can_id = id; cf->can_id = id;
cf->can_dlc = get_can_dlc((config & 0xf0) >> 4); cf->can_dlc = can_cc_dlc2len((config & 0xf0) >> 4);
for (i = 0; i < cf->can_dlc; i++) for (i = 0; i < cf->can_dlc; i++)
cf->data[i] = cc770_read_reg(priv, msgobj[mo].data[i]); cf->data[i] = cc770_read_reg(priv, msgobj[mo].data[i]);
} }
......
...@@ -1005,7 +1005,7 @@ static struct sk_buff *flexcan_mailbox_read(struct can_rx_offload *offload, ...@@ -1005,7 +1005,7 @@ static struct sk_buff *flexcan_mailbox_read(struct can_rx_offload *offload,
if (reg_ctrl & FLEXCAN_MB_CNT_BRS) if (reg_ctrl & FLEXCAN_MB_CNT_BRS)
cfd->flags |= CANFD_BRS; cfd->flags |= CANFD_BRS;
} else { } else {
cfd->len = get_can_dlc((reg_ctrl >> 16) & 0xf); cfd->len = can_cc_dlc2len((reg_ctrl >> 16) & 0xf);
if (reg_ctrl & FLEXCAN_MB_CNT_RTR) if (reg_ctrl & FLEXCAN_MB_CNT_RTR)
cfd->can_id |= CAN_RTR_FLAG; cfd->can_id |= CAN_RTR_FLAG;
......
...@@ -1201,7 +1201,7 @@ static int grcan_receive(struct net_device *dev, int budget) ...@@ -1201,7 +1201,7 @@ static int grcan_receive(struct net_device *dev, int budget)
cf->can_id = ((slot[0] & GRCAN_MSG_BID) cf->can_id = ((slot[0] & GRCAN_MSG_BID)
>> GRCAN_MSG_BID_BIT); >> GRCAN_MSG_BID_BIT);
} }
cf->can_dlc = get_can_dlc((slot[1] & GRCAN_MSG_DLC) cf->can_dlc = can_cc_dlc2len((slot[1] & GRCAN_MSG_DLC)
>> GRCAN_MSG_DLC_BIT); >> GRCAN_MSG_DLC_BIT);
if (rtr) { if (rtr) {
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
......
...@@ -273,7 +273,7 @@ static void ifi_canfd_read_fifo(struct net_device *ndev) ...@@ -273,7 +273,7 @@ static void ifi_canfd_read_fifo(struct net_device *ndev)
if (rxdlc & IFI_CANFD_RXFIFO_DLC_EDL) if (rxdlc & IFI_CANFD_RXFIFO_DLC_EDL)
cf->len = can_dlc2len(dlc); cf->len = can_dlc2len(dlc);
else else
cf->len = get_can_dlc(dlc); cf->len = can_cc_dlc2len(dlc);
rxid = readl(priv->base + IFI_CANFD_RXFIFO_ID); rxid = readl(priv->base + IFI_CANFD_RXFIFO_ID);
id = (rxid >> IFI_CANFD_RXFIFO_ID_ID_OFFSET); id = (rxid >> IFI_CANFD_RXFIFO_ID_ID_OFFSET);
......
...@@ -916,10 +916,10 @@ static void ican3_to_can_frame(struct ican3_dev *mod, ...@@ -916,10 +916,10 @@ static void ican3_to_can_frame(struct ican3_dev *mod,
cf->can_id |= desc->data[0] << 3; cf->can_id |= desc->data[0] << 3;
cf->can_id |= (desc->data[1] & 0xe0) >> 5; cf->can_id |= (desc->data[1] & 0xe0) >> 5;
cf->can_dlc = get_can_dlc(desc->data[1] & ICAN3_CAN_DLC_MASK); cf->can_dlc = can_cc_dlc2len(desc->data[1] & ICAN3_CAN_DLC_MASK);
memcpy(cf->data, &desc->data[2], cf->can_dlc); memcpy(cf->data, &desc->data[2], cf->can_dlc);
} else { } else {
cf->can_dlc = get_can_dlc(desc->data[0] & ICAN3_CAN_DLC_MASK); cf->can_dlc = can_cc_dlc2len(desc->data[0] & ICAN3_CAN_DLC_MASK);
if (desc->data[0] & ICAN3_EFF_RTR) if (desc->data[0] & ICAN3_EFF_RTR)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
......
...@@ -459,7 +459,7 @@ static void m_can_read_fifo(struct net_device *dev, u32 rxfs) ...@@ -459,7 +459,7 @@ static void m_can_read_fifo(struct net_device *dev, u32 rxfs)
if (dlc & RX_BUF_FDF) if (dlc & RX_BUF_FDF)
cf->len = can_dlc2len((dlc >> 16) & 0x0F); cf->len = can_dlc2len((dlc >> 16) & 0x0F);
else else
cf->len = get_can_dlc((dlc >> 16) & 0x0F); cf->len = can_cc_dlc2len((dlc >> 16) & 0x0F);
id = m_can_fifo_read(cdev, fgi, M_CAN_FIFO_ID); id = m_can_fifo_read(cdev, fgi, M_CAN_FIFO_ID);
if (id & RX_BUF_XTD) if (id & RX_BUF_XTD)
......
...@@ -312,7 +312,7 @@ static void mscan_get_rx_frame(struct net_device *dev, struct can_frame *frame) ...@@ -312,7 +312,7 @@ static void mscan_get_rx_frame(struct net_device *dev, struct can_frame *frame)
if (can_id & 1) if (can_id & 1)
frame->can_id |= CAN_RTR_FLAG; frame->can_id |= CAN_RTR_FLAG;
frame->can_dlc = get_can_dlc(in_8(&regs->rx.dlr) & 0xf); frame->can_dlc = can_cc_dlc2len(in_8(&regs->rx.dlr) & 0xf);
if (!(frame->can_id & CAN_RTR_FLAG)) { if (!(frame->can_id & CAN_RTR_FLAG)) {
void __iomem *data = &regs->rx.dsr1_0; void __iomem *data = &regs->rx.dsr1_0;
......
...@@ -683,7 +683,7 @@ static int pch_can_rx_normal(struct net_device *ndev, u32 obj_num, int quota) ...@@ -683,7 +683,7 @@ static int pch_can_rx_normal(struct net_device *ndev, u32 obj_num, int quota)
if (id2 & PCH_ID2_DIR) if (id2 & PCH_ID2_DIR)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
cf->can_dlc = get_can_dlc((ioread32(&priv->regs-> cf->can_dlc = can_cc_dlc2len((ioread32(&priv->regs->
ifregs[0].mcont)) & 0xF); ifregs[0].mcont)) & 0xF);
for (i = 0; i < cf->can_dlc; i += 2) { for (i = 0; i < cf->can_dlc; i += 2) {
...@@ -715,7 +715,7 @@ static void pch_can_tx_complete(struct net_device *ndev, u32 int_stat) ...@@ -715,7 +715,7 @@ static void pch_can_tx_complete(struct net_device *ndev, u32 int_stat)
iowrite32(PCH_CMASK_RX_TX_GET | PCH_CMASK_CLRINTPND, iowrite32(PCH_CMASK_RX_TX_GET | PCH_CMASK_CLRINTPND,
&priv->regs->ifregs[1].cmask); &priv->regs->ifregs[1].cmask);
pch_can_rw_msg_obj(&priv->regs->ifregs[1].creq, int_stat); pch_can_rw_msg_obj(&priv->regs->ifregs[1].creq, int_stat);
dlc = get_can_dlc(ioread32(&priv->regs->ifregs[1].mcont) & dlc = can_cc_dlc2len(ioread32(&priv->regs->ifregs[1].mcont) &
PCH_IF_MCONT_DLC); PCH_IF_MCONT_DLC);
stats->tx_bytes += dlc; stats->tx_bytes += dlc;
stats->tx_packets++; stats->tx_packets++;
......
...@@ -259,7 +259,7 @@ static int pucan_handle_can_rx(struct peak_canfd_priv *priv, ...@@ -259,7 +259,7 @@ static int pucan_handle_can_rx(struct peak_canfd_priv *priv,
if (rx_msg_flags & PUCAN_MSG_EXT_DATA_LEN) if (rx_msg_flags & PUCAN_MSG_EXT_DATA_LEN)
cf_len = can_dlc2len(get_canfd_dlc(pucan_msg_get_dlc(msg))); cf_len = can_dlc2len(get_canfd_dlc(pucan_msg_get_dlc(msg)));
else else
cf_len = get_can_dlc(pucan_msg_get_dlc(msg)); cf_len = can_cc_dlc2len(pucan_msg_get_dlc(msg));
/* if this frame is an echo, */ /* if this frame is an echo, */
if (rx_msg_flags & PUCAN_MSG_LOOPED_BACK) { if (rx_msg_flags & PUCAN_MSG_LOOPED_BACK) {
......
...@@ -659,7 +659,7 @@ static void rcar_can_rx_pkt(struct rcar_can_priv *priv) ...@@ -659,7 +659,7 @@ static void rcar_can_rx_pkt(struct rcar_can_priv *priv)
cf->can_id = (data >> RCAR_CAN_SID_SHIFT) & CAN_SFF_MASK; cf->can_id = (data >> RCAR_CAN_SID_SHIFT) & CAN_SFF_MASK;
dlc = readb(&priv->regs->mb[RCAR_CAN_RX_FIFO_MBX].dlc); dlc = readb(&priv->regs->mb[RCAR_CAN_RX_FIFO_MBX].dlc);
cf->can_dlc = get_can_dlc(dlc); cf->can_dlc = can_cc_dlc2len(dlc);
if (data & RCAR_CAN_RTR) { if (data & RCAR_CAN_RTR) {
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
} else { } else {
......
...@@ -1448,7 +1448,7 @@ static void rcar_canfd_rx_pkt(struct rcar_canfd_channel *priv) ...@@ -1448,7 +1448,7 @@ static void rcar_canfd_rx_pkt(struct rcar_canfd_channel *priv)
if (sts & RCANFD_RFFDSTS_RFFDF) if (sts & RCANFD_RFFDSTS_RFFDF)
cf->len = can_dlc2len(RCANFD_RFPTR_RFDLC(dlc)); cf->len = can_dlc2len(RCANFD_RFPTR_RFDLC(dlc));
else else
cf->len = get_can_dlc(RCANFD_RFPTR_RFDLC(dlc)); cf->len = can_cc_dlc2len(RCANFD_RFPTR_RFDLC(dlc));
if (sts & RCANFD_RFFDSTS_RFESI) { if (sts & RCANFD_RFFDSTS_RFESI) {
cf->flags |= CANFD_ESI; cf->flags |= CANFD_ESI;
...@@ -1464,7 +1464,7 @@ static void rcar_canfd_rx_pkt(struct rcar_canfd_channel *priv) ...@@ -1464,7 +1464,7 @@ static void rcar_canfd_rx_pkt(struct rcar_canfd_channel *priv)
rcar_canfd_get_data(priv, cf, RCANFD_F_RFDF(ridx, 0)); rcar_canfd_get_data(priv, cf, RCANFD_F_RFDF(ridx, 0));
} }
} else { } else {
cf->len = get_can_dlc(RCANFD_RFPTR_RFDLC(dlc)); cf->len = can_cc_dlc2len(RCANFD_RFPTR_RFDLC(dlc));
if (id & RCANFD_RFID_RFRTR) if (id & RCANFD_RFID_RFRTR)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
else else
......
...@@ -367,7 +367,7 @@ static void sja1000_rx(struct net_device *dev) ...@@ -367,7 +367,7 @@ static void sja1000_rx(struct net_device *dev)
| (priv->read_reg(priv, SJA1000_ID2) >> 5); | (priv->read_reg(priv, SJA1000_ID2) >> 5);
} }
cf->can_dlc = get_can_dlc(fi & 0x0F); cf->can_dlc = can_cc_dlc2len(fi & 0x0F);
if (fi & SJA1000_FI_RTR) { if (fi & SJA1000_FI_RTR) {
id |= CAN_RTR_FLAG; id |= CAN_RTR_FLAG;
} else { } else {
......
...@@ -261,7 +261,7 @@ static int softing_handle_1(struct softing *card) ...@@ -261,7 +261,7 @@ static int softing_handle_1(struct softing *card)
} else { } else {
if (cmd & CMD_RTR) if (cmd & CMD_RTR)
msg.can_id |= CAN_RTR_FLAG; msg.can_id |= CAN_RTR_FLAG;
msg.can_dlc = get_can_dlc(*ptr++); msg.can_dlc = can_cc_dlc2len(*ptr++);
if (cmd & CMD_XTD) { if (cmd & CMD_XTD) {
msg.can_id |= CAN_EFF_FLAG; msg.can_id |= CAN_EFF_FLAG;
msg.can_id |= le32_to_cpup((void *)ptr); msg.can_id |= le32_to_cpup((void *)ptr);
......
...@@ -341,7 +341,7 @@ static void hi3110_hw_rx(struct spi_device *spi) ...@@ -341,7 +341,7 @@ static void hi3110_hw_rx(struct spi_device *spi)
} }
/* Data length */ /* Data length */
frame->can_dlc = get_can_dlc(buf[HI3110_FIFO_WOTIME_DLC_OFF] & 0x0F); frame->can_dlc = can_cc_dlc2len(buf[HI3110_FIFO_WOTIME_DLC_OFF] & 0x0F);
if (buf[HI3110_FIFO_WOTIME_ID_OFF + 3] & HI3110_FIFO_WOTIME_ID_RTR) if (buf[HI3110_FIFO_WOTIME_ID_OFF + 3] & HI3110_FIFO_WOTIME_ID_RTR)
frame->can_id |= CAN_RTR_FLAG; frame->can_id |= CAN_RTR_FLAG;
......
...@@ -664,7 +664,7 @@ static void mcp251x_hw_rx_frame(struct spi_device *spi, u8 *buf, ...@@ -664,7 +664,7 @@ static void mcp251x_hw_rx_frame(struct spi_device *spi, u8 *buf,
for (i = 1; i < RXBDAT_OFF; i++) for (i = 1; i < RXBDAT_OFF; i++)
buf[i] = mcp251x_read_reg(spi, RXBCTRL(buf_idx) + i); buf[i] = mcp251x_read_reg(spi, RXBCTRL(buf_idx) + i);
len = get_can_dlc(buf[RXBDLC_OFF] & RXBDLC_LEN_MASK); len = can_cc_dlc2len(buf[RXBDLC_OFF] & RXBDLC_LEN_MASK);
for (; i < (RXBDAT_OFF + len); i++) for (; i < (RXBDAT_OFF + len); i++)
buf[i] = mcp251x_read_reg(spi, RXBCTRL(buf_idx) + i); buf[i] = mcp251x_read_reg(spi, RXBCTRL(buf_idx) + i);
} else { } else {
...@@ -720,7 +720,7 @@ static void mcp251x_hw_rx(struct spi_device *spi, int buf_idx) ...@@ -720,7 +720,7 @@ static void mcp251x_hw_rx(struct spi_device *spi, int buf_idx)
frame->can_id |= CAN_RTR_FLAG; frame->can_id |= CAN_RTR_FLAG;
} }
/* Data length */ /* Data length */
frame->can_dlc = get_can_dlc(buf[RXBDLC_OFF] & RXBDLC_LEN_MASK); frame->can_dlc = can_cc_dlc2len(buf[RXBDLC_OFF] & RXBDLC_LEN_MASK);
memcpy(frame->data, buf + RXBDAT_OFF, frame->can_dlc); memcpy(frame->data, buf + RXBDAT_OFF, frame->can_dlc);
priv->net->stats.rx_packets++; priv->net->stats.rx_packets++;
......
...@@ -1410,7 +1410,7 @@ mcp251xfd_hw_rx_obj_to_skb(const struct mcp251xfd_priv *priv, ...@@ -1410,7 +1410,7 @@ mcp251xfd_hw_rx_obj_to_skb(const struct mcp251xfd_priv *priv,
if (hw_rx_obj->flags & MCP251XFD_OBJ_FLAGS_RTR) if (hw_rx_obj->flags & MCP251XFD_OBJ_FLAGS_RTR)
cfd->can_id |= CAN_RTR_FLAG; cfd->can_id |= CAN_RTR_FLAG;
cfd->len = get_can_dlc(FIELD_GET(MCP251XFD_OBJ_FLAGS_DLC, cfd->len = can_cc_dlc2len(FIELD_GET(MCP251XFD_OBJ_FLAGS_DLC,
hw_rx_obj->flags)); hw_rx_obj->flags));
} }
......
...@@ -475,7 +475,7 @@ static void sun4i_can_rx(struct net_device *dev) ...@@ -475,7 +475,7 @@ static void sun4i_can_rx(struct net_device *dev)
return; return;
fi = readl(priv->base + SUN4I_REG_BUF0_ADDR); fi = readl(priv->base + SUN4I_REG_BUF0_ADDR);
cf->can_dlc = get_can_dlc(fi & 0x0F); cf->can_dlc = can_cc_dlc2len(fi & 0x0F);
if (fi & SUN4I_MSG_EFF_FLAG) { if (fi & SUN4I_MSG_EFF_FLAG) {
dreg = SUN4I_REG_BUF5_ADDR; dreg = SUN4I_REG_BUF5_ADDR;
id = (readl(priv->base + SUN4I_REG_BUF1_ADDR) << 21) | id = (readl(priv->base + SUN4I_REG_BUF1_ADDR) << 21) |
......
...@@ -566,7 +566,7 @@ static struct sk_buff *ti_hecc_mailbox_read(struct can_rx_offload *offload, ...@@ -566,7 +566,7 @@ static struct sk_buff *ti_hecc_mailbox_read(struct can_rx_offload *offload,
data = hecc_read_mbx(priv, mbxno, HECC_CANMCF); data = hecc_read_mbx(priv, mbxno, HECC_CANMCF);
if (data & HECC_CANMCF_RTR) if (data & HECC_CANMCF_RTR)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
cf->can_dlc = get_can_dlc(data & 0xF); cf->can_dlc = can_cc_dlc2len(data & 0xF);
data = hecc_read_mbx(priv, mbxno, HECC_CANMDL); data = hecc_read_mbx(priv, mbxno, HECC_CANMDL);
*(__be32 *)(cf->data) = cpu_to_be32(data); *(__be32 *)(cf->data) = cpu_to_be32(data);
......
...@@ -306,7 +306,7 @@ static void ems_usb_rx_can_msg(struct ems_usb *dev, struct ems_cpc_msg *msg) ...@@ -306,7 +306,7 @@ static void ems_usb_rx_can_msg(struct ems_usb *dev, struct ems_cpc_msg *msg)
return; return;
cf->can_id = le32_to_cpu(msg->msg.can_msg.id); cf->can_id = le32_to_cpu(msg->msg.can_msg.id);
cf->can_dlc = get_can_dlc(msg->msg.can_msg.length & 0xF); cf->can_dlc = can_cc_dlc2len(msg->msg.can_msg.length & 0xF);
if (msg->type == CPC_MSG_TYPE_EXT_CAN_FRAME || if (msg->type == CPC_MSG_TYPE_EXT_CAN_FRAME ||
msg->type == CPC_MSG_TYPE_EXT_RTR_FRAME) msg->type == CPC_MSG_TYPE_EXT_RTR_FRAME)
......
...@@ -321,7 +321,7 @@ static void esd_usb2_rx_can_msg(struct esd_usb2_net_priv *priv, ...@@ -321,7 +321,7 @@ static void esd_usb2_rx_can_msg(struct esd_usb2_net_priv *priv,
} }
cf->can_id = id & ESD_IDMASK; cf->can_id = id & ESD_IDMASK;
cf->can_dlc = get_can_dlc(msg->msg.rx.dlc & ~ESD_RTR); cf->can_dlc = can_cc_dlc2len(msg->msg.rx.dlc & ~ESD_RTR);
if (id & ESD_EXTID) if (id & ESD_EXTID)
cf->can_id |= CAN_EFF_FLAG; cf->can_id |= CAN_EFF_FLAG;
......
...@@ -331,7 +331,7 @@ static void gs_usb_receive_bulk_callback(struct urb *urb) ...@@ -331,7 +331,7 @@ static void gs_usb_receive_bulk_callback(struct urb *urb)
cf->can_id = hf->can_id; cf->can_id = hf->can_id;
cf->can_dlc = get_can_dlc(hf->can_dlc); cf->can_dlc = can_cc_dlc2len(hf->can_dlc);
memcpy(cf->data, hf->data, 8); memcpy(cf->data, hf->data, 8);
/* ERROR frames tell us information about the controller */ /* ERROR frames tell us information about the controller */
......
...@@ -1180,7 +1180,7 @@ static void kvaser_usb_hydra_rx_msg_std(const struct kvaser_usb *dev, ...@@ -1180,7 +1180,7 @@ static void kvaser_usb_hydra_rx_msg_std(const struct kvaser_usb *dev,
if (flags & KVASER_USB_HYDRA_CF_FLAG_OVERRUN) if (flags & KVASER_USB_HYDRA_CF_FLAG_OVERRUN)
kvaser_usb_can_rx_over_error(priv->netdev); kvaser_usb_can_rx_over_error(priv->netdev);
cf->can_dlc = get_can_dlc(cmd->rx_can.dlc); cf->can_dlc = can_cc_dlc2len(cmd->rx_can.dlc);
if (flags & KVASER_USB_HYDRA_CF_FLAG_REMOTE_FRAME) if (flags & KVASER_USB_HYDRA_CF_FLAG_REMOTE_FRAME)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
...@@ -1257,7 +1257,7 @@ static void kvaser_usb_hydra_rx_msg_ext(const struct kvaser_usb *dev, ...@@ -1257,7 +1257,7 @@ static void kvaser_usb_hydra_rx_msg_ext(const struct kvaser_usb *dev,
if (flags & KVASER_USB_HYDRA_CF_FLAG_ESI) if (flags & KVASER_USB_HYDRA_CF_FLAG_ESI)
cf->flags |= CANFD_ESI; cf->flags |= CANFD_ESI;
} else { } else {
cf->len = get_can_dlc(dlc); cf->len = can_cc_dlc2len(dlc);
} }
if (flags & KVASER_USB_HYDRA_CF_FLAG_REMOTE_FRAME) if (flags & KVASER_USB_HYDRA_CF_FLAG_REMOTE_FRAME)
......
...@@ -978,7 +978,7 @@ static void kvaser_usb_leaf_rx_can_msg(const struct kvaser_usb *dev, ...@@ -978,7 +978,7 @@ static void kvaser_usb_leaf_rx_can_msg(const struct kvaser_usb *dev,
else else
cf->can_id &= CAN_SFF_MASK; cf->can_id &= CAN_SFF_MASK;
cf->can_dlc = get_can_dlc(cmd->u.leaf.log_message.dlc); cf->can_dlc = can_cc_dlc2len(cmd->u.leaf.log_message.dlc);
if (cmd->u.leaf.log_message.flags & MSG_FLAG_REMOTE_FRAME) if (cmd->u.leaf.log_message.flags & MSG_FLAG_REMOTE_FRAME)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
...@@ -996,7 +996,7 @@ static void kvaser_usb_leaf_rx_can_msg(const struct kvaser_usb *dev, ...@@ -996,7 +996,7 @@ static void kvaser_usb_leaf_rx_can_msg(const struct kvaser_usb *dev,
cf->can_id |= CAN_EFF_FLAG; cf->can_id |= CAN_EFF_FLAG;
} }
cf->can_dlc = get_can_dlc(rx_data[5]); cf->can_dlc = can_cc_dlc2len(rx_data[5]);
if (cmd->u.rx_can_header.flag & MSG_FLAG_REMOTE_FRAME) if (cmd->u.rx_can_header.flag & MSG_FLAG_REMOTE_FRAME)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
......
...@@ -451,7 +451,7 @@ static void mcba_usb_process_can(struct mcba_priv *priv, ...@@ -451,7 +451,7 @@ static void mcba_usb_process_can(struct mcba_priv *priv,
if (msg->dlc & MCBA_DLC_RTR_MASK) if (msg->dlc & MCBA_DLC_RTR_MASK)
cf->can_id |= CAN_RTR_FLAG; cf->can_id |= CAN_RTR_FLAG;
cf->can_dlc = get_can_dlc(msg->dlc & MCBA_DLC_MASK); cf->can_dlc = can_cc_dlc2len(msg->dlc & MCBA_DLC_MASK);
memcpy(cf->data, msg->data, cf->can_dlc); memcpy(cf->data, msg->data, cf->can_dlc);
......
...@@ -734,7 +734,7 @@ static int pcan_usb_decode_data(struct pcan_usb_msg_context *mc, u8 status_len) ...@@ -734,7 +734,7 @@ static int pcan_usb_decode_data(struct pcan_usb_msg_context *mc, u8 status_len)
cf->can_id = le16_to_cpu(tmp16) >> 5; cf->can_id = le16_to_cpu(tmp16) >> 5;
} }
cf->can_dlc = get_can_dlc(rec_len); cf->can_dlc = can_cc_dlc2len(rec_len);
/* Only first packet timestamp is a word */ /* Only first packet timestamp is a word */
if (pcan_usb_decode_ts(mc, !mc->rec_ts_idx)) if (pcan_usb_decode_ts(mc, !mc->rec_ts_idx))
......
...@@ -499,7 +499,7 @@ static int pcan_usb_fd_decode_canmsg(struct pcan_usb_fd_if *usb_if, ...@@ -499,7 +499,7 @@ static int pcan_usb_fd_decode_canmsg(struct pcan_usb_fd_if *usb_if,
if (!skb) if (!skb)
return -ENOMEM; return -ENOMEM;
cfd->len = get_can_dlc(pucan_msg_get_dlc(rm)); cfd->len = can_cc_dlc2len(pucan_msg_get_dlc(rm));
} }
cfd->can_id = le32_to_cpu(rm->can_id); cfd->can_id = le32_to_cpu(rm->can_id);
......
...@@ -303,12 +303,12 @@ struct ucan_priv { ...@@ -303,12 +303,12 @@ struct ucan_priv {
struct ucan_urb_context *context_array; struct ucan_urb_context *context_array;
}; };
static u8 ucan_get_can_dlc(struct ucan_can_msg *msg, u16 len) static u8 ucan_can_cc_dlc2len(struct ucan_can_msg *msg, u16 len)
{ {
if (le32_to_cpu(msg->id) & CAN_RTR_FLAG) if (le32_to_cpu(msg->id) & CAN_RTR_FLAG)
return get_can_dlc(msg->dlc); return can_cc_dlc2len(msg->dlc);
else else
return get_can_dlc(len - (UCAN_IN_HDR_SIZE + sizeof(msg->id))); return can_cc_dlc2len(len - (UCAN_IN_HDR_SIZE + sizeof(msg->id)));
} }
static void ucan_release_context_array(struct ucan_priv *up) static void ucan_release_context_array(struct ucan_priv *up)
...@@ -614,7 +614,7 @@ static void ucan_rx_can_msg(struct ucan_priv *up, struct ucan_message_in *m) ...@@ -614,7 +614,7 @@ static void ucan_rx_can_msg(struct ucan_priv *up, struct ucan_message_in *m)
cf->can_id = canid; cf->can_id = canid;
/* compute DLC taking RTR_FLAG into account */ /* compute DLC taking RTR_FLAG into account */
cf->can_dlc = ucan_get_can_dlc(&m->msg.can_msg, len); cf->can_dlc = ucan_can_cc_dlc2len(&m->msg.can_msg, len);
/* copy the payload of non RTR frames */ /* copy the payload of non RTR frames */
if (!(cf->can_id & CAN_RTR_FLAG) || (cf->can_id & CAN_ERR_FLAG)) if (!(cf->can_id & CAN_RTR_FLAG) || (cf->can_id & CAN_ERR_FLAG))
......
...@@ -470,7 +470,7 @@ static void usb_8dev_rx_can_msg(struct usb_8dev_priv *priv, ...@@ -470,7 +470,7 @@ static void usb_8dev_rx_can_msg(struct usb_8dev_priv *priv,
return; return;
cf->can_id = be32_to_cpu(msg->id); cf->can_id = be32_to_cpu(msg->id);
cf->can_dlc = get_can_dlc(msg->dlc & 0xF); cf->can_dlc = can_cc_dlc2len(msg->dlc & 0xF);
if (msg->flags & USB_8DEV_EXTID) if (msg->flags & USB_8DEV_EXTID)
cf->can_id |= CAN_EFF_FLAG; cf->can_id |= CAN_EFF_FLAG;
......
...@@ -759,7 +759,7 @@ static int xcan_rx(struct net_device *ndev, int frame_base) ...@@ -759,7 +759,7 @@ static int xcan_rx(struct net_device *ndev, int frame_base)
XCAN_DLCR_DLC_SHIFT; XCAN_DLCR_DLC_SHIFT;
/* Change Xilinx CAN data length format to socketCAN data format */ /* Change Xilinx CAN data length format to socketCAN data format */
cf->can_dlc = get_can_dlc(dlc); cf->can_dlc = can_cc_dlc2len(dlc);
/* Change Xilinx CAN ID format to socketCAN ID format */ /* Change Xilinx CAN ID format to socketCAN ID format */
if (id_xcan & XCAN_IDR_IDE_MASK) { if (id_xcan & XCAN_IDR_IDE_MASK) {
...@@ -835,7 +835,7 @@ static int xcanfd_rx(struct net_device *ndev, int frame_base) ...@@ -835,7 +835,7 @@ static int xcanfd_rx(struct net_device *ndev, int frame_base)
cf->len = can_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >> cf->len = can_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >>
XCAN_DLCR_DLC_SHIFT); XCAN_DLCR_DLC_SHIFT);
else else
cf->len = get_can_dlc((dlc & XCAN_DLCR_DLC_MASK) >> cf->len = can_cc_dlc2len((dlc & XCAN_DLCR_DLC_MASK) >>
XCAN_DLCR_DLC_SHIFT); XCAN_DLCR_DLC_SHIFT);
/* Change Xilinx CAN ID format to socketCAN ID format */ /* Change Xilinx CAN ID format to socketCAN ID format */
......
...@@ -98,14 +98,14 @@ static inline unsigned int can_bit_time(const struct can_bittiming *bt) ...@@ -98,14 +98,14 @@ static inline unsigned int can_bit_time(const struct can_bittiming *bt)
} }
/* /*
* get_can_dlc(value) - helper macro to cast a given data length code (dlc) * can_cc_dlc2len(value) - convert a given data length code (dlc) of a
* to u8 and ensure the dlc value to be max. 8 bytes. * Classical CAN frame into a valid data length of max. 8 bytes.
* *
* To be used in the CAN netdriver receive path to ensure conformance with * To be used in the CAN netdriver receive path to ensure conformance with
* ISO 11898-1 Chapter 8.4.2.3 (DLC field) * ISO 11898-1 Chapter 8.4.2.3 (DLC field)
*/ */
#define get_can_dlc(i) (min_t(u8, (i), CAN_MAX_DLC)) #define can_cc_dlc2len(dlc) (min_t(u8, (dlc), CAN_MAX_DLEN))
#define get_canfd_dlc(i) (min_t(u8, (i), CANFD_MAX_DLC)) #define get_canfd_dlc(dlc) (min_t(u8, (dlc), CANFD_MAX_DLC))
/* Check for outgoing skbs that have not been created by the CAN subsystem */ /* Check for outgoing skbs that have not been created by the CAN subsystem */
static inline bool can_skb_headroom_valid(struct net_device *dev, static inline bool can_skb_headroom_valid(struct net_device *dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment