[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <VI1PR0401MB18550FD3A944783B88BEDB64FFBE0@VI1PR0401MB1855.eurprd04.prod.outlook.com>
Date: Fri, 4 Mar 2016 09:11:57 +0000
From: Fugang Duan <fugang.duan@....com>
To: Troy Kisky <troy.kisky@...ndarydevices.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"b38611@...escale.com" <b38611@...escale.com>
CC: "fabio.estevam@...escale.com" <fabio.estevam@...escale.com>,
"l.stach@...gutronix.de" <l.stach@...gutronix.de>,
"andrew@...n.ch" <andrew@...n.ch>,
"tremyfr@...il.com" <tremyfr@...il.com>,
"linux@....linux.org.uk" <linux@....linux.org.uk>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"laci@...ndarydevices.com" <laci@...ndarydevices.com>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"johannes@...solutions.net" <johannes@...solutions.net>,
"stillcompiling@...il.com" <stillcompiling@...il.com>,
"sergei.shtylyov@...entembedded.com"
<sergei.shtylyov@...entembedded.com>,
"arnd@...db.de" <arnd@...db.de>
Subject: RE: [PATCH net-next V2 06/16] net: fec: don't clear all rx queue bits
when just one is being checked
From: Troy Kisky <troy.kisky@...ndarydevices.com>Sent: Thursday, February 25, 2016 8:37 AM
> To: netdev@...r.kernel.org; davem@...emloft.net; b38611@...escale.com
> Cc: fabio.estevam@...escale.com; l.stach@...gutronix.de; andrew@...n.ch;
> tremyfr@...il.com; linux@....linux.org.uk; linux-arm-
> kernel@...ts.infradead.org; laci@...ndarydevices.com; shawnguo@...nel.org;
> johannes@...solutions.net; stillcompiling@...il.com;
> sergei.shtylyov@...entembedded.com; arnd@...db.de; Troy Kisky
> <troy.kisky@...ndarydevices.com>
> Subject: [PATCH net-next V2 06/16] net: fec: don't clear all rx queue bits when
> just one is being checked
>
> FEC_ENET_RXF is 3 separate bits, we only check one queue at a time. So, when
> the last queue is being checked, it is bad to remove the interrupt on the 1st
> queue.
>
> Also, since this is now done in the napi routine and not the interrupt, it is not
> needed.
>
> Signed-off-by: Troy Kisky <troy.kisky@...ndarydevices.com>
> ---
> drivers/net/ethernet/freescale/fec_main.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/fec_main.c
> b/drivers/net/ethernet/freescale/fec_main.c
> index 610cf6c..791f385 100644
> --- a/drivers/net/ethernet/freescale/fec_main.c
> +++ b/drivers/net/ethernet/freescale/fec_main.c
> @@ -1338,8 +1338,6 @@ static int fec_rxq(struct net_device *ndev, struct
> fec_enet_private *fep,
> break;
> pkt_received++;
>
> - writel(FEC_ENET_RXF, fep->hwp + FEC_IEVENT);
> -
We should clear the related rx queue ievent, not remove the code.
Pls see commit: db3421c114cf that was submitted by Russell King.
No ack the patch.
> /* Check for errors. */
> status ^= BD_ENET_RX_LAST;
> if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH |
> BD_ENET_RX_NO |
> --
> 2.5.0
Powered by blists - more mailing lists