Commit e0c9db91 authored by Marc Kleine-Budde's avatar Marc Kleine-Budde

can: at91_can: at91_irq_err_frame(): move next to at91_irq_err()

This is a cleanup patch, no functional change intended. As
at91_irq_err_frame() is called from the IRQ handler move it in front
of the IRQ handler next to at91_irq_err().

Link: https://lore.kernel.org/all/20231005-at91_can-rx_offload-v2-20-9987d53600e0@pengutronix.deSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent d3f4cf05
......@@ -750,67 +750,6 @@ static int at91_poll_rx(struct net_device *dev, int quota)
return received;
}
static void at91_irq_err_frame(struct net_device *dev, const u32 reg_sr)
{
struct net_device_stats *stats = &dev->stats;
struct at91_priv *priv = netdev_priv(dev);
struct sk_buff *skb;
struct can_frame *cf = NULL;
priv->can.can_stats.bus_error++;
skb = alloc_can_err_skb(dev, &cf);
if (cf)
cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR;
if (reg_sr & AT91_IRQ_CERR) {
netdev_dbg(dev, "CRC error\n");
stats->rx_errors++;
if (cf)
cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ;
}
if (reg_sr & AT91_IRQ_SERR) {
netdev_dbg(dev, "Stuff error\n");
stats->rx_errors++;
if (cf)
cf->data[2] |= CAN_ERR_PROT_STUFF;
}
if (reg_sr & AT91_IRQ_AERR) {
netdev_dbg(dev, "NACK error\n");
stats->tx_errors++;
if (cf) {
cf->can_id |= CAN_ERR_ACK;
cf->data[2] |= CAN_ERR_PROT_TX;
}
}
if (reg_sr & AT91_IRQ_FERR) {
netdev_dbg(dev, "Format error\n");
stats->rx_errors++;
if (cf)
cf->data[2] |= CAN_ERR_PROT_FORM;
}
if (reg_sr & AT91_IRQ_BERR) {
netdev_dbg(dev, "Bit error\n");
stats->tx_errors++;
if (cf)
cf->data[2] |= CAN_ERR_PROT_TX | CAN_ERR_PROT_BIT;
}
if (!cf)
return;
netif_receive_skb(skb);
}
static int at91_poll(struct napi_struct *napi, int quota)
{
struct net_device *dev = napi->dev;
......@@ -1061,6 +1000,67 @@ static void at91_irq_err(struct net_device *dev)
priv->can.state = new_state;
}
static void at91_irq_err_frame(struct net_device *dev, const u32 reg_sr)
{
struct net_device_stats *stats = &dev->stats;
struct at91_priv *priv = netdev_priv(dev);
struct sk_buff *skb;
struct can_frame *cf = NULL;
priv->can.can_stats.bus_error++;
skb = alloc_can_err_skb(dev, &cf);
if (cf)
cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR;
if (reg_sr & AT91_IRQ_CERR) {
netdev_dbg(dev, "CRC error\n");
stats->rx_errors++;
if (cf)
cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ;
}
if (reg_sr & AT91_IRQ_SERR) {
netdev_dbg(dev, "Stuff error\n");
stats->rx_errors++;
if (cf)
cf->data[2] |= CAN_ERR_PROT_STUFF;
}
if (reg_sr & AT91_IRQ_AERR) {
netdev_dbg(dev, "NACK error\n");
stats->tx_errors++;
if (cf) {
cf->can_id |= CAN_ERR_ACK;
cf->data[2] |= CAN_ERR_PROT_TX;
}
}
if (reg_sr & AT91_IRQ_FERR) {
netdev_dbg(dev, "Format error\n");
stats->rx_errors++;
if (cf)
cf->data[2] |= CAN_ERR_PROT_FORM;
}
if (reg_sr & AT91_IRQ_BERR) {
netdev_dbg(dev, "Bit error\n");
stats->tx_errors++;
if (cf)
cf->data[2] |= CAN_ERR_PROT_TX | CAN_ERR_PROT_BIT;
}
if (!cf)
return;
netif_receive_skb(skb);
}
/* interrupt handler
*/
static irqreturn_t at91_irq(int irq, void *dev_id)
......
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