From: Andrew Lunn <andrew@lunn.ch>
To: Artur Rojek <contact@artur-rojek.eu>
Cc: Rob Landley <rob@landley.net>, Jeff Dionne <jeff@coresemi.io>,
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] net: j2: Introduce J-Core EMAC
Date: Sat, 16 Aug 2025 00:38:37 +0200 [thread overview]
Message-ID: <fc6ed96e-2bab-4f2f-9479-32a895b9b1b2@lunn.ch> (raw)
In-Reply-To: <02ce17e8f00955bab53194a366b9a542@artur-rojek.eu>
On Fri, Aug 15, 2025 at 11:14:08PM +0200, Artur Rojek wrote:
> On 2025-08-15 22:52, Artur Rojek wrote:
> > On 2025-08-15 22:16, Andrew Lunn wrote:
> >
> > Hi Andrew,
> > thanks for the review!
> >
> > > > +static irqreturn_t jcore_emac_irq(int irq, void *data)
> > > > +{
> > > > + struct jcore_emac *priv = data;
> > > > + struct net_device *ndev = priv->ndev;
> > > > + struct sk_buff *skb;
> > > > + struct {
> > > > + int packets;
> > > > + int bytes;
> > > > + int dropped;
> > > > + int crc_errors;
> > > > + } stats = {};
> > > > + unsigned int status, pkt_len, i;
> > >
> > > netdev uses 'reverse christmas tree' for local variables. They should
> > > be sorted longest to shortest. This sometimes means you need to move
> > > assignments into the body of the function, in this case, ndev.
>
> Should I move the struct stats members into stand alone variables as
> well? Or is below sorting acceptable with regards to stats vs skb:
I would pull the structure definition out of the function. Then just
create one instance of the structure on the stack.
> > > What support is there for MDIO? Normally the MAC driver would not be
> > > setting the carrier status, phylink or phylib would do that.
> >
> > From what I can tell, none. This is a very simple FPGA RTL
> > implementation of a MAC, and looking at the VHDL, I don't see any MDIO
> > registers.
>
> > Moreover, the MDIO pin on the PHY IC on my dev board also
> > appears unconnected.
>
> I spoke too soon on that one. It appears to be connected through a trace
> that goes under the IC. Nevertheless, I don't think MDIO support is in
> the IP core design.
MDIO is actually two pins. MDC and MDIO.
It might be there is a second IP core which implements MDIO. There is
no reason it needs to be tightly integrated into the MAC. But it does
make the MAC driver slightly more complex. You then need a Linux MDIO
bus driver for it, and the DT for the MAC would include a phy-handle
property pointing to the PHY on the MDIO bus.
Is there an Ethernet PHY on your board?
Andrew
next prev parent reply other threads:[~2025-08-15 22:38 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-15 19:48 [PATCH 0/3] J2 Ethernet MAC driver Artur Rojek
2025-08-15 19:48 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Document J-Core Artur Rojek
2025-08-16 8:18 ` Krzysztof Kozlowski
2025-08-16 8:22 ` Geert Uytterhoeven
2025-08-16 9:40 ` Krzysztof Kozlowski
2025-08-16 10:34 ` Artur Rojek
2025-08-16 9:40 ` Krzysztof Kozlowski
2025-08-15 19:48 ` [PATCH 2/3] dt-bindings: net: Add support for J-Core EMAC Artur Rojek
2025-08-16 8:19 ` Krzysztof Kozlowski
2025-08-16 12:06 ` Artur Rojek
2025-08-18 6:43 ` Geert Uytterhoeven
2025-08-18 8:07 ` Krzysztof Kozlowski
2025-08-18 8:21 ` D. Jeff Dionne
2025-08-18 9:58 ` Krzysztof Kozlowski
2025-08-18 10:57 ` Geert Uytterhoeven
2025-08-18 13:41 ` Krzysztof Kozlowski
2025-08-18 13:55 ` D. Jeff Dionne
2025-08-20 21:39 ` Rob Herring
2025-08-21 21:02 ` Rob Landley
2025-08-18 15:03 ` Rob Landley
2025-08-15 19:48 ` [PATCH 3/3] net: j2: Introduce " Artur Rojek
2025-08-15 20:16 ` Andrew Lunn
2025-08-15 20:52 ` Artur Rojek
2025-08-15 21:14 ` Artur Rojek
2025-08-15 22:38 ` Andrew Lunn [this message]
2025-08-15 23:25 ` Artur Rojek
2025-08-16 0:18 ` Andrew Lunn
2025-08-16 13:40 ` Artur Rojek
2025-08-16 15:04 ` Andrew Lunn
2025-08-17 12:04 ` Artur Rojek
2025-08-17 18:09 ` Rob Landley
2025-08-17 19:39 ` Andrew Lunn
2025-08-17 4:29 ` D. Jeff Dionne
2025-08-17 11:50 ` Artur Rojek
2025-08-17 16:04 ` Rob Landley
2025-08-17 16:08 ` Andrew Lunn
2025-08-15 23:26 ` Stephen Hemminger
2025-08-16 11:24 ` kernel test robot
2025-08-19 21:09 ` kernel test robot
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=fc6ed96e-2bab-4f2f-9479-32a895b9b1b2@lunn.ch \
--to=andrew@lunn.ch \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=contact@artur-rojek.eu \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=geert+renesas@glider.be \
--cc=glaubitz@physik.fu-berlin.de \
--cc=jeff@coresemi.io \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rob@landley.net \
--cc=robh@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®