Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-12-07 Thread Jiri Pirko
Mon, Nov 30, 2020 at 02:13:35PM CET, steen.hegel...@microchip.com wrote: >On 27.11.2020 18:15, Andrew Lunn wrote: >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the >> content is safe >> >> This is a very large driver, which is going to make it slow to review. >Hi

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-12-01 Thread Lars Povlsen
Andrew Lunn writes: >> +static void sparx5_attr_stp_state_set(struct sparx5_port *port, >> + struct switchdev_trans *trans, >> + u8 state) >> +{ >> + struct sparx5 *sparx5 = port->sparx5; >> + >> + if

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Andrew Lunn
> Hmm. I will have to revisit this again. The intent was to be able to > destinguish between regular PHYs and SFPs (as read from the DT). > But maybe the phylink_of_phy_connect function handles this > automatically... Yes, you should not have to differentiate between an SFP and a traditional

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Russell King - ARM Linux admin
On Mon, Nov 30, 2020 at 03:39:08PM +0100, Steen Hegelund wrote: > On 29.11.2020 11:28, Russell King - ARM Linux admin wrote: > > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > > content is safe > > > > On Sun, Nov 29, 2020 at 10:52:45AM +, Russell King - ARM

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Russell King - ARM Linux admin
On Mon, Nov 30, 2020 at 03:15:56PM +0100, Steen Hegelund wrote: > On 29.11.2020 10:52, Russell King - ARM Linux admin wrote: > > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > > content is safe > > > > On Sat, Nov 28, 2020 at 10:28:28PM +, Russell King - ARM

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Russell King - ARM Linux admin
On Mon, Nov 30, 2020 at 03:30:23PM +0100, Steen Hegelund wrote: > On 29.11.2020 11:30, Russell King - ARM Linux admin wrote: > > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > > content is safe > > > > On Sun, Nov 29, 2020 at 10:52:45AM +, Russell King - ARM

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 29.11.2020 18:35, Andrew Lunn wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe +#define SPX5_RD_(sparx5, id, tinst, tcnt,\ + gbase, ginst, gcnt, gwidth,\ + raddr, rinst, rcnt,

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 29.11.2020 11:28, Russell King - ARM Linux admin wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe On Sun, Nov 29, 2020 at 10:52:45AM +, Russell King - ARM Linux admin wrote: On Sat, Nov 28, 2020 at 10:28:28PM +, Russell King - ARM

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 29.11.2020 11:30, Russell King - ARM Linux admin wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe On Sun, Nov 29, 2020 at 10:52:45AM +, Russell King - ARM Linux admin wrote: There are other issues too. This is also wrong: +

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 29.11.2020 10:52, Russell King - ARM Linux admin wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe On Sat, Nov 28, 2020 at 10:28:28PM +, Russell King - ARM Linux admin wrote: On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: >

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 28.11.2020 22:28, Russell King - ARM Linux admin wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: > +static void sparx5_phylink_mac_config(struct phylink_config *config, > +

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 29.11.2020 18:16, Andrew Lunn wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c new file mode 100644 index

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 29.11.2020 18:26, Andrew Lunn wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe +static void sparx5_hw_lock(struct sparx5 *sparx5) +{ + mutex_lock(>lock); +} + +static void sparx5_hw_unlock(struct sparx5 *sparx5) +{ +

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 28.11.2020 20:03, Andrew Lunn wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe +static int sparx5_port_open(struct net_device *ndev) +{ + struct sparx5_port *port = netdev_priv(ndev); + int err = 0; + + sparx5_port_enable(port,

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 28.11.2020 19:45, Andrew Lunn wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe +/* Add a potentially wrapping 32 bit value to a 64 bit counter */ +static inline void sparx5_update_counter(u64 *cnt, u32 val) +{ + if (val < (*cnt &

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-30 Thread Steen Hegelund
On 27.11.2020 18:15, Andrew Lunn wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe This is a very large driver, which is going to make it slow to review. Hi Andrew, Yes I am aware of that, but I think that what is available with this series,

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-29 Thread Andrew Lunn
> +#define SPX5_RD_(sparx5, id, tinst, tcnt,\ > + gbase, ginst, gcnt, gwidth,\ > + raddr, rinst, rcnt, rwidth)\ > + readl(spx5_addr((sparx5)->regs, id, tinst, tcnt,\ > + gbase,

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-29 Thread Andrew Lunn
> +static void sparx5_hw_lock(struct sparx5 *sparx5) > +{ > + mutex_lock(>lock); > +} > + > +static void sparx5_hw_unlock(struct sparx5 *sparx5) > +{ > + mutex_unlock(>lock); > +} Why is this mutex special and gets a wrapper where as the other two don't? If there is no reason for the

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-29 Thread Andrew Lunn
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c > b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c > new file mode 100644 > index ..a91dd9532f1c > --- /dev/null > +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c > @@ -0,0 +1,1027 @@ > +//

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-29 Thread Russell King - ARM Linux admin
On Sun, Nov 29, 2020 at 10:52:45AM +, Russell King - ARM Linux admin wrote: > There are other issues too. This is also wrong: + if (port->ndev && port->ndev->phydev) + status->link = port->ndev->phydev->link; phylink already deals with that situation. --

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-29 Thread Russell King - ARM Linux admin
On Sun, Nov 29, 2020 at 10:52:45AM +, Russell King - ARM Linux admin wrote: > On Sat, Nov 28, 2020 at 10:28:28PM +, Russell King - ARM Linux admin > wrote: > > On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: > > > > +static void sparx5_phylink_mac_config(struct phylink_config

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-29 Thread Russell King - ARM Linux admin
On Sat, Nov 28, 2020 at 10:28:28PM +, Russell King - ARM Linux admin wrote: > On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: > > > +static void sparx5_phylink_mac_config(struct phylink_config *config, > > > + unsigned int mode, > > > +

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Russell King - ARM Linux admin
On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: > > +static void sparx5_phylink_mac_config(struct phylink_config *config, > > + unsigned int mode, > > + const struct phylink_link_state *state) > > +{ > > + struct

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Andrew Lunn
> +/* Add a potentially wrapping 32 bit value to a 64 bit counter */ > +static inline void sparx5_update_counter(u64 *cnt, u32 val) > +{ > + if (val < (*cnt & U32_MAX)) > + *cnt += (u64)1 << 32; /* value has wrapped */ > + > + *cnt = (*cnt & ~(u64)U32_MAX) + val; > +} I don't

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Andrew Lunn
> > Maybe if I was copied on the patch submission... I don't have the > > patches, and searching google for them is a faff, especially > > when > > > > site:kernel.org 20201127133307.2969817-1-steen.hegel...@microchip.com > > > > gives: > > > >Your search - site:kernel.org > >

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Alexandre Belloni
Hi Russell, On 28/11/2020 19:37:07+, Russell King - ARM Linux admin wrote: > On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: > > > +static void sparx5_phylink_mac_config(struct phylink_config *config, > > > + unsigned int mode, > > > +

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Russell King - ARM Linux admin
On Sat, Nov 28, 2020 at 08:06:16PM +0100, Andrew Lunn wrote: > > +static void sparx5_phylink_mac_config(struct phylink_config *config, > > + unsigned int mode, > > + const struct phylink_link_state *state) > > +{ > > + struct

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Andrew Lunn
> +static void sparx5_attr_stp_state_set(struct sparx5_port *port, > + struct switchdev_trans *trans, > + u8 state) > +{ > + struct sparx5 *sparx5 = port->sparx5; > + > + if (!test_bit(port->portno, sparx5->bridge_mask)) {

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Andrew Lunn
> +static void sparx5_phylink_mac_config(struct phylink_config *config, > + unsigned int mode, > + const struct phylink_link_state *state) > +{ > + struct sparx5_port *port = netdev_priv(to_net_dev(config->dev)); > +

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-28 Thread Andrew Lunn
> +static int sparx5_port_open(struct net_device *ndev) > +{ > + struct sparx5_port *port = netdev_priv(ndev); > + int err = 0; > + > + sparx5_port_enable(port, true); > + if (port->conf.phy_mode != PHY_INTERFACE_MODE_NA) { > + err =

Re: [RFC PATCH 2/3] net: sparx5: Add Sparx5 switchdev driver

2020-11-27 Thread Andrew Lunn
This is a very large driver, which is going to make it slow to review. > +static int sparx5_probe_port(struct sparx5 *sparx5, > + struct device_node *portnp, > + struct phy *serdes, > + u32 portno, > +