All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag
@ 2021-01-04 10:38 Charles Keepax
  2021-01-04 14:04 ` Claudiu.Beznea
  2021-01-04 14:18 ` Andrew Lunn
  0 siblings, 2 replies; 4+ messages in thread
From: Charles Keepax @ 2021-01-04 10:38 UTC (permalink / raw)
  To: nicolas.ferre, claudiu.beznea, davem, kuba; +Cc: andrew, netdev, linux-kernel

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>
---

Changes since v1:
 - Updated flag semantics to skip function, as appears to have been
   intended by the initial commit.

Changes since v2:
 - Adding "net" to the subject line

Thanks,
Charles

 drivers/net/ethernet/cadence/macb_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index d5d910916c2e8..814a5b10141d1 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -467,7 +467,7 @@ static void macb_set_tx_clk(struct macb *bp, int speed)
 {
 	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) {
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag
  2021-01-04 10:38 [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag Charles Keepax
@ 2021-01-04 14:04 ` Claudiu.Beznea
  2021-01-04 14:18 ` Andrew Lunn
  1 sibling, 0 replies; 4+ messages in thread
From: Claudiu.Beznea @ 2021-01-04 14:04 UTC (permalink / raw)
  To: ckeepax, Nicolas.Ferre, davem, kuba; +Cc: andrew, netdev, linux-kernel

Hi Charles,

On 04.01.2021 12:38, Charles Keepax wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> 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.

Yes, the presence of the flag should involve skipping the calling of
clk_set_rate() since the IP logic would take care of proper clock division
depending on the link speed. I wrongly cherry pick this one from internal
branches. Sorry for this breakage.

> 
> 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>

> ---
> 
> Changes since v1:
>  - Updated flag semantics to skip function, as appears to have been
>    intended by the initial commit.
> 
> Changes since v2:
>  - Adding "net" to the subject line
> 
> Thanks,
> Charles
> 
>  drivers/net/ethernet/cadence/macb_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index d5d910916c2e8..814a5b10141d1 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -467,7 +467,7 @@ static void macb_set_tx_clk(struct macb *bp, int speed)
>  {
>         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) {
> --
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag
  2021-01-04 10:38 [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag Charles Keepax
  2021-01-04 14:04 ` Claudiu.Beznea
@ 2021-01-04 14:18 ` Andrew Lunn
  2021-01-04 21:30   ` Jakub Kicinski
  1 sibling, 1 reply; 4+ messages in thread
From: Andrew Lunn @ 2021-01-04 14:18 UTC (permalink / raw)
  To: Charles Keepax
  Cc: nicolas.ferre, claudiu.beznea, davem, kuba, netdev, linux-kernel

On Mon, Jan 04, 2021 at 10:38:02AM +0000, Charles Keepax wrote:
> 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: Andrew Lunn <andrew@lunn.ch>

    Andrew

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag
  2021-01-04 14:18 ` Andrew Lunn
@ 2021-01-04 21:30   ` Jakub Kicinski
  0 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2021-01-04 21:30 UTC (permalink / raw)
  To: Andrew Lunn, Charles Keepax
  Cc: nicolas.ferre, claudiu.beznea, davem, netdev, linux-kernel

On Mon, 4 Jan 2021 15:18:50 +0100 Andrew Lunn wrote:
> On Mon, Jan 04, 2021 at 10:38:02AM +0000, Charles Keepax wrote:
> > 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: Andrew Lunn <andrew@lunn.ch>

Applied, thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-01-04 21:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-04 10:38 [PATCH net v3] net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag Charles Keepax
2021-01-04 14:04 ` Claudiu.Beznea
2021-01-04 14:18 ` Andrew Lunn
2021-01-04 21:30   ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.