From: "Regus, Ciprian" <Ciprian.Regus@analog.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>,
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>,
Simon Horman <horms@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: RE: [PATCH net-next v2 10/10] net: ethernet: adi: Add a driver for the ADIN1140 MACPHY
Date: Thu, 28 May 2026 12:43:51 +0000 [thread overview]
Message-ID: <72c3a9a8040e4b8990f217d4072872de@analog.com> (raw)
In-Reply-To: <0aaa9a58-fac1-4de7-90f0-443db37228c8@lunn.ch>
> > +static netdev_tx_t adin1140_start_xmit(struct sk_buff *skb,
> > + struct net_device *netdev)
> > +{
> > + struct adin1140_priv *priv = netdev_priv(netdev);
> > +
> > + /* Pad frames to minimum Ethernet frame size (60 bytes without
> FCS).
> > + * The MAC will append the FCS, but we need to ensure the frame is
> > + * at least ETH_ZLEN bytes.
> > + */
> > + if (skb_put_padto(skb, ETH_ZLEN))
> > + return NETDEV_TX_OK;
>
> Does the standard say anything about this? It seems like something
> which could be moved into the core.
The comment is a mistake on my part, as it doesn't clearly describe why we
have to pad the skb. It's a case of a MAC device which doesn't pad a frame to
a minimum size when the host wants to transmit less than 64 bytes. I'll update
it in v3 to say:
/* The MAC doesn't automatically pad the frame to a 64 byte minimum size in
* case the host sent a shorter skb, so we have to do it in the driver. The FCS
* will be added by the MAC.
*/
As for what the OA TC6 standard says, this is the relevant section
(7.3 - Data Transaction Protocol for Ethernet Frames)
"Ethernet frames are typically transferred from the SPI host to the MAC-PHY without
any padding or frame check sequence (FCS). The MAC will automatically pad the Ethernet
frame to the minimum frame size of 64 bytes and append a computed FCS. However, the
Ethernet specification allows for the SPI host to optionally perform the frame padding and
FCS computation prior to transfer to the MAC-PHY. Similarly, the MAC-PHY will typically
strip the FCS from received Ethernet frames prior to transfer to the SPI host. However,
the Ethernet specification allows the option for the Ethernet frame to be transferred to the
MAC client with the FCS.
The IEEE Ethernet standard [2] defines the behavior of the MAC and therefore is beyond
the scope of this specification. As a result, support for allowing the SPI host to perform frame
padding and FCS computation, or passing the FCS to the SPI host is optional. When supported,
the method for configuring the MAC-PHY to enable these modes of frame transfer is
implementation specific."
As I understand, from the TC6 standard point of view, the padding and FCS offload is optional.
So, I think this shouldn't go into the core.
>
> Andrew
next prev parent reply other threads:[~2026-05-28 12:44 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-26 21:51 [PATCH net-next v2 00/10] net: Add ADIN1140 support Ciprian Regus via B4 Relay
2026-05-26 21:51 ` [PATCH net-next v2 01/10] dt-bindings: net: Add ADIN1140 Ciprian Regus via B4 Relay
2026-05-27 15:11 ` Conor Dooley
2026-05-28 16:46 ` Regus, Ciprian
2026-05-28 17:18 ` Conor Dooley
2026-05-26 21:51 ` [PATCH net-next v2 02/10] net: ethernet: oa_tc6: Handle the OA TC6 SPI protected mode Ciprian Regus via B4 Relay
2026-05-26 21:51 ` [PATCH net-next v2 03/10] net: ethernet: oa_tc6: add OA_TC6_BROKEN_PHY quirk flag Ciprian Regus via B4 Relay
2026-05-28 2:12 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 04/10] net: ethernet: oa_tc6: Export the C45 access functions Ciprian Regus via B4 Relay
2026-05-28 2:13 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 05/10] net: ethernet: oa_tc6: Export standard defined registers Ciprian Regus via B4 Relay
2026-05-28 2:21 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 06/10] net: ethernet: oa_tc6: Add MMS register formatting macro Ciprian Regus via B4 Relay
2026-05-28 2:31 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 07/10] net: phy: add generic helpers for direct C45 MMD access Ciprian Regus via B4 Relay
2026-05-28 2:33 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 08/10] net: phy: microchip-t1s: use generic C45 MMD access helpers Ciprian Regus via B4 Relay
2026-05-28 2:33 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 09/10] net: phy: Add support for the ADIN1140 PHY Ciprian Regus via B4 Relay
2026-05-28 2:50 ` Andrew Lunn
2026-05-26 21:51 ` [PATCH net-next v2 10/10] net: ethernet: adi: Add a driver for the ADIN1140 MACPHY Ciprian Regus via B4 Relay
2026-05-28 3:10 ` Andrew Lunn
2026-05-28 12:43 ` Regus, Ciprian [this message]
2026-05-28 14:05 ` Andrew Lunn
2026-05-29 9:21 ` Nuno Sá
2026-05-29 13:03 ` Andrew Lunn
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=72c3a9a8040e4b8990f217d4072872de@analog.com \
--to=ciprian.regus@analog.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=parthiban.veerasooran@microchip.com \
--cc=robh@kernel.org \
--cc=skhan@linuxfoundation.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