Describe the handler for RXUBR better with a new comment.
Signed-off-by: Nathan Sullivan <[email protected]>
Reviewied-by: Josh Cartwright <[email protected]>
Reviewied-by: Ben Shelton <[email protected]>
---
drivers/net/ethernet/cadence/macb.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
index 61aa570..5f10dfc 100644
--- a/drivers/net/ethernet/cadence/macb.c
+++ b/drivers/net/ethernet/cadence/macb.c
@@ -1037,6 +1037,12 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id)
* add that if/when we get our hands on a full-blown MII PHY.
*/
+ /* There is a hardware issue under heavy load where DMA can
+ * stop, this causes endless "used buffer descriptor read"
+ * interrupts but it can be cleared by re-enabling RX. See
+ * the at91 manual, section 41.3.1 or the Zynq manual
+ * section 16.7.4 for details.
+ */
if (status & MACB_BIT(RXUBR)) {
ctrl = macb_readl(bp, NCR);
macb_writel(bp, NCR, ctrl & ~MACB_BIT(RE));
--
1.7.10.4
Le 14/05/2015 00:01, Nathan Sullivan a ?crit :
> Describe the handler for RXUBR better with a new comment.
>
> Signed-off-by: Nathan Sullivan <[email protected]>
> Reviewied-by: Josh Cartwright <[email protected]>
> Reviewied-by: Ben Shelton <[email protected]>
Thanks Nathan: good that you've added this comment!
Acked-by: Nicolas Ferre <[email protected]>
> ---
> drivers/net/ethernet/cadence/macb.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
> index 61aa570..5f10dfc 100644
> --- a/drivers/net/ethernet/cadence/macb.c
> +++ b/drivers/net/ethernet/cadence/macb.c
> @@ -1037,6 +1037,12 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id)
> * add that if/when we get our hands on a full-blown MII PHY.
> */
>
> + /* There is a hardware issue under heavy load where DMA can
> + * stop, this causes endless "used buffer descriptor read"
> + * interrupts but it can be cleared by re-enabling RX. See
> + * the at91 manual, section 41.3.1 or the Zynq manual
> + * section 16.7.4 for details.
> + */
> if (status & MACB_BIT(RXUBR)) {
> ctrl = macb_readl(bp, NCR);
> macb_writel(bp, NCR, ctrl & ~MACB_BIT(RE));
>
--
Nicolas Ferre
From: Nathan Sullivan <[email protected]>
Date: Wed, 13 May 2015 17:01:36 -0500
> Describe the handler for RXUBR better with a new comment.
>
> Signed-off-by: Nathan Sullivan <[email protected]>
> Reviewied-by: Josh Cartwright <[email protected]>
> Reviewied-by: Ben Shelton <[email protected]>
Applied, thanks.