46 lines
1.7 KiB
Diff
46 lines
1.7 KiB
Diff
From 982347f757b85ef526afaf243867ddd515475e1b Mon Sep 17 00:00:00 2001
|
|
From: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
Date: Mon, 4 Jan 2021 10:38:02 +0000
|
|
Subject: [PATCH 135/247] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag
|
|
|
|
A new flag MACB_CAPS_CLK_HW_CHG was added and all callers of
|
|
macb_set_tx_clk were gated on the presence of this flag.
|
|
|
|
- if (!clk)
|
|
+ if (!bp->tx_clk || !(bp->caps & MACB_CAPS_CLK_HW_CHG))
|
|
|
|
However the flag was not added to anything other than the new
|
|
sama7g5_gem, turning that function call into a no op for all other
|
|
systems. This breaks the networking on Zynq.
|
|
|
|
The commit message adding this states: a new capability so that
|
|
macb_set_tx_clock() to not be called for IPs having this
|
|
capability
|
|
|
|
This strongly implies that present of the flag was intended to skip
|
|
the function not absence of the flag. Update the if statement to
|
|
this effect, which repairs the existing users.
|
|
|
|
Fixes: daafa1d33cc9 ("net: macb: add capability to not set the clock rate")
|
|
Suggested-by: Andrew Lunn <andrew@lunn.ch>
|
|
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Link: https://lore.kernel.org/r/20210104103802.13091-1-ckeepax@opensource.cirrus.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/ethernet/cadence/macb_main.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/ethernet/cadence/macb_main.c
|
|
+++ b/drivers/net/ethernet/cadence/macb_main.c
|
|
@@ -464,7 +464,7 @@ static void macb_set_tx_clk(struct macb
|
|
{
|
|
long ferr, rate, rate_rounded;
|
|
|
|
- if (!bp->tx_clk || !(bp->caps & MACB_CAPS_CLK_HW_CHG))
|
|
+ if (!bp->tx_clk || (bp->caps & MACB_CAPS_CLK_HW_CHG))
|
|
return;
|
|
|
|
switch (speed) {
|