All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: "Clément Léger" <clement.leger@bootlin.com>
Cc: "Jakub Kicinski" <kuba@kernel.org>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Vivien Didelot" <vivien.didelot@gmail.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Vladimir Oltean" <olteanv@gmail.com>,
	"David S . Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Magnus Damm" <magnus.damm@gmail.com>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Herve Codina" <herve.codina@bootlin.com>,
	"Miquèl Raynal" <miquel.raynal@bootlin.com>,
	"Milan Stevanovic" <milan.stevanovic@se.com>,
	"Jimmy Lalande" <jimmy.lalande@se.com>,
	"Pascal Eberhard" <pascal.eberhard@se.com>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [net-next v2 00/12] add support for Renesas RZ/N1 ethernet subsystem devices
Date: Mon, 2 May 2022 17:31:50 +0200	[thread overview]
Message-ID: <CAMuHMdXUFa9brq0jTOv2ZWMYE7Y9ytf+0+kkK1xN9e7sFcHOzA@mail.gmail.com> (raw)
In-Reply-To: <20220502170846.24e5e003@fixe.home>

Hi Clément,

On Mon, May 2, 2022 at 5:10 PM Clément Léger <clement.leger@bootlin.com> wrote:
> Le Mon, 2 May 2022 14:27:38 +0200,
> Geert Uytterhoeven <geert@linux-m68k.org> a écrit :
> > On Mon, May 2, 2022 at 8:52 AM Clément Léger
> > <clement.leger@bootlin.com> wrote:
> > > Le Fri, 29 Apr 2022 12:32:35 -0700,
> > > Jakub Kicinski <kuba@kernel.org> a écrit :
> > >
> > > > On Fri, 29 Apr 2022 16:34:53 +0200 Clément Léger wrote:
> > > > > The Renesas RZ/N1 SoCs features an ethernet subsystem which
> > > > > contains (most notably) a switch, two GMACs, and a MII
> > > > > converter [1]. This series adds support for the switch and the
> > > > > MII converter.
> > > > >
> > > > > The MII converter present on this SoC has been represented as a
> > > > > PCS which sit between the MACs and the PHY. This PCS driver is
> > > > > probed from the device-tree since it requires to be configured.
> > > > > Indeed the MII converter also contains the registers that are
> > > > > handling the muxing of ports (Switch, MAC, HSR, RTOS, etc)
> > > > > internally to the SoC.
> > > > >
> > > > > The switch driver is based on DSA and exposes 4 ports + 1 CPU
> > > > > management port. It include basic bridging support as well as
> > > > > FDB and statistics support.
> > > >
> > > > Build's not happy (W=1 C=1):
> > > >
> > > > drivers/net/dsa/rzn1_a5psw.c:574:29: warning: symbol
> > > > 'a5psw_switch_ops' was not declared. Should it be static? In file
> > > > included from ../drivers/net/dsa/rzn1_a5psw.c:17:
> > > > drivers/net/dsa/rzn1_a5psw.h:221:1: note: offset of packed
> > > > bit-field ‘port_mask’ has changed in GCC 4.4 221 | } __packed; | ^
> > > >
> > >
> > > Hi Jakub, I only had this one (due to the lack of W=1 C=1 I guess)
> > > which I thought (wrongly) that it was due to my GCC version:
> > >
> > >   CC      net/dsa/switch.o
> > >   CC      net/dsa/tag_8021q.o
> > > In file included from ../drivers/net/dsa/rzn1_a5psw.c:17:
> > > ../drivers/net/dsa/rzn1_a5psw.h:221:1: note: offset of packed
> > > bit-field ‘port_mask’ has changed in GCC 4.4 221 | } __packed;
> > >       | ^
> > >   CC      kernel/module.o
> > >   CC      drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.o
> > >   CC      drivers/net/ethernet/stmicro/stmmac/dwmac100_core.o
> > >
> > > I'll fix the other errors which are more trivial, however, I did not
> > > found a way to fix the packed bit-field warning.
> >
> > The "port_mask" field is split across 2 u8s.
> > What about using u16 instead, and adding explicit padding while
> > at it? The below gets rid of the warning, while the generated code
> > is the same.
> >
> > --- a/drivers/net/dsa/rzn1_a5psw.h
> > +++ b/drivers/net/dsa/rzn1_a5psw.h
> > @@ -169,10 +169,11 @@
> >
> >  struct fdb_entry {
> >         u8 mac[ETH_ALEN];
> > -       u8 valid:1;
> > -       u8 is_static:1;
> > -       u8 prio:3;
> > -       u8 port_mask:5;
> > +       u16 valid:1;
> > +       u16 is_static:1;
> > +       u16 prio:3;
> > +       u16 port_mask:5;
> > +       u16 reserved:6;
> >  } __packed;
>
> Hi Geert ! Indeed, while looking a bit more in depth at this error I
> found that using u16 avoids this error. I did switch to u16 but did not
> add any "reserved" field at the end and there is no more error. Do you
> think adding the "reserved" field would be preferable ?

As this structure reflects a hardware definition, I think it is better to
make this explicit.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

      reply	other threads:[~2022-05-02 15:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-29 14:34 [net-next v2 00/12] add support for Renesas RZ/N1 ethernet subsystem devices Clément Léger
2022-04-29 14:34 ` [net-next v2 01/12] net: dsa: add support for ethtool get_rmon_stats() Clément Léger
2022-04-29 16:15   ` Florian Fainelli
2022-04-29 14:34 ` [net-next v2 02/12] net: dsa: add Renesas RZ/N1 switch tag driver Clément Léger
2022-04-29 16:22   ` Florian Fainelli
2022-05-02 13:43     ` Clément Léger
2022-04-29 14:34 ` [net-next v2 03/12] dt-bindings: net: pcs: add bindings for Renesas RZ/N1 MII converter Clément Léger
2022-04-29 14:34 ` [net-next v2 04/12] net: pcs: add Renesas MII converter driver Clément Léger
2022-04-29 14:43   ` Clément Léger
2022-05-03 15:53   ` Geert Uytterhoeven
2022-04-29 14:34 ` [net-next v2 05/12] dt-bindings: net: dsa: add bindings for Renesas RZ/N1 Advanced 5 port switch Clément Léger
2022-04-29 14:34 ` [net-next v2 06/12] net: dsa: rzn1-a5psw: add Renesas RZ/N1 advanced 5 port switch driver Clément Léger
2022-04-29 14:35 ` [net-next v2 07/12] net: dsa: rzn1-a5psw: add statistics support Clément Léger
2022-04-29 14:35 ` [net-next v2 08/12] net: dsa: rzn1-a5psw: add FDB support Clément Léger
2022-04-29 14:35 ` [net-next v2 09/12] ARM: dts: r9a06g032: describe MII converter Clément Léger
2022-04-29 14:35 ` [net-next v2 10/12] ARM: dts: r9a06g032: describe GMAC2 Clément Léger
2022-04-29 14:35 ` [net-next v2 11/12] ARM: dts: r9a06g032: describe switch Clément Léger
2022-04-29 14:35 ` [net-next v2 12/12] MAINTAINERS: add Renesas RZ/N1 switch related driver entry Clément Léger
2022-04-29 19:32 ` [net-next v2 00/12] add support for Renesas RZ/N1 ethernet subsystem devices Jakub Kicinski
2022-05-02  6:51   ` Clément Léger
2022-05-02 12:27     ` Geert Uytterhoeven
2022-05-02 15:08       ` Clément Léger
2022-05-02 15:31         ` Geert Uytterhoeven [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMuHMdXUFa9brq0jTOv2ZWMYE7Y9ytf+0+kkK1xN9e7sFcHOzA@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=andrew@lunn.ch \
    --cc=clement.leger@bootlin.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=herve.codina@bootlin.com \
    --cc=hkallweit1@gmail.com \
    --cc=jimmy.lalande@se.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=magnus.damm@gmail.com \
    --cc=milan.stevanovic@se.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=pascal.eberhard@se.com \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vivien.didelot@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.