From: Lorenzo Bianconi <lorenzo@kernel.org>
To: Simon Horman <horms@kernel.org>
Cc: netdev@vger.kernel.org, nbd@nbd.name,
lorenzo.bianconi83@gmail.com, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
conor@kernel.org, linux-arm-kernel@lists.infradead.org,
robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
conor+dt@kernel.org, devicetree@vger.kernel.org,
catalin.marinas@arm.com, will@kernel.org, upstream@airoha.com,
angelogioacchino.delregno@collabora.com,
benjamin.larsson@genexis.eu, rkannoth@marvell.com,
sgoutham@marvell.com, andrew@lunn.ch, arnd@arndb.de
Subject: Re: [PATCH v5 net-next 2/2] net: airoha: Introduce ethernet support for EN7581 SoC
Date: Sat, 6 Jul 2024 14:58:04 +0200 [thread overview]
Message-ID: <Zok_XOR7lVtfdhjc@lore-desk> (raw)
In-Reply-To: <20240706122754.GD1481495@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 4506 bytes --]
> On Sat, Jul 06, 2024 at 10:27:00AM +0200, Lorenzo Bianconi wrote:
> > > On Thu, Jul 04, 2024 at 10:08:11AM +0200, Lorenzo Bianconi wrote:
> > > > Add airoha_eth driver in order to introduce ethernet support for
> > > > Airoha EN7581 SoC available on EN7581 development board (en7581-evb).
> > > > en7581-evb networking architecture is composed by airoha_eth as mac
> > > > controller (cpu port) and a mt7530 dsa based switch.
> > > > EN7581 mac controller is mainly composed by Frame Engine (FE) and
> > > > QoS-DMA (QDMA) modules. FE is used for traffic offloading (just basic
> > > > functionalities are supported now) while QDMA is used for DMA operation
> > > > and QOS functionalities between mac layer and the dsa switch (hw QoS is
> > > > not available yet and it will be added in the future).
> > > > Currently only hw lan features are available, hw wan will be added with
> > > > subsequent patches.
> > > >
> > > > Tested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
> > > > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > >
> > > ...
> > >
> > > > +static const char * const airoha_ethtool_stats_name[] = {
> > > > + "tx_eth_pkt_cnt",
> > > > + "tx_eth_byte_cnt",
> > > > + "tx_ok_pkt_cnt",
> > > > + "tx_ok_byte_cnt",
> > > > + "tx_eth_drop_cnt",
> > > > + "tx_eth_bc_cnt",
> > > > + "tx_eth_mc_cnt",
> > > > + "tx_eth_lt64_cnt",
> > > > + "tx_eth_eq64_cnt",
> > > > + "tx_eth_65_127_cnt",
> > > > + "tx_eth_128_255_cnt",
> > > > + "tx_eth_256_511_cnt",
> > > > + "tx_eth_512_1023_cnt",
> > > > + "tx_eth_1024_1518_cnt",
> > > > + "tx_eth_gt1518_cnt",
> > > > + "rx_eth_pkt_cnt",
> > > > + "rx_eth_byte_cnt",
> > > > + "rx_ok_pkt_cnt",
> > > > + "rx_ok_byte_cnt",
> > > > + "rx_eth_drop_cnt",
> > > > + "rx_eth_bc_cnt",
> > > > + "rx_eth_mc_cnt",
> > > > + "rx_eth_crc_drop_cnt",
> > > > + "rx_eth_frag_cnt",
> > > > + "rx_eth_jabber_cnt",
> > > > + "rx_eth_lt64_cnt",
> > > > + "rx_eth_eq64_cnt",
> > > > + "rx_eth_65_127_cnt",
> > > > + "rx_eth_128_255_cnt",
> > > > + "rx_eth_256_511_cnt",
> > > > + "rx_eth_512_1023_cnt",
> > > > + "rx_eth_1024_1518_cnt",
> > > > + "rx_eth_gt1518_cnt",
> > > > +};
> > >
> > > Hi Lorenzo,
> > >
> > > Sorry for not noticing this earlier.
> >
> > Hi Simon,
> >
> > no worries :)
> >
> > > It seems to me that some of the stats above could
> > > use standard stats, which is preferred.
> >
> > Please correct me if I am wrong but it seems quite a common approach to have
> > same stats in both .ndo_get_stats64() and .get_ethtool_stats():
> > - https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/mediatek/mtk_eth_soc.c#L212
> > - https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/marvell/mvneta.c#L435
> > - https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/intel/i40e/i40e_ethtool.c#L243
> > - https://github.com/torvalds/linux/blob/master/net/mac80211/ethtool.c#L52
> > - ...
> >
> > Do you mean I should just report common stats (e.g. tx_packets or tx_bytes) in
> > .ndo_get_stats64()? Or it is fine to just add .ndo_get_stats64() callback (not
> > supported at the moment)?
>
> The first option: It is my understanding that it preferred to only
> report common stats via ndo_get_stats64.
>
> "Please limit stats you report in ethtool -S to just the stats for which
> proper interfaces don't exist. Don't duplicate what's already reported
> via rtase_get_stats64(), also take a look at what can be reported via
> various *_stats members of struct ethtool_ops."
>
> - Re: [PATCH net-next v18 10/13] rtase: Implement ethtool function
> by Jakub Kicinski
> https://lore.kernel.org/netdev/20240509204047.149e226e@kernel.org/
ack, thx for the clarification. I will move common stats in ndo_get_stats64()
in v6.
Regards,
Lorenzo
>
> > > Basically, my understanding is that one should:
> > > 1. Implement .ndo_get_stats64
> > > (that seems relevant here)
> > > 2. As appropriate implement ethtool_stats non-extended stats operations
> > > (perhaps not relevant here)
> >
> > Can you please provide me a pointer for it?
>
> Sorry, that was not at all clear.
> I meant, as per the quote above, *_stats members of struct ethtool_ops,
> other than those that implement extended ops.
> e.g. get_rmon_stats.
>
> >
> > Regards,
> > Lorenzo
> >
> > > 3. Then implement get_ethtool_stats for what is left over
> > >
> > > ...
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
prev parent reply other threads:[~2024-07-06 12:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-04 8:08 [PATCH v5 net-next 0/2] Introduce EN7581 ethernet support Lorenzo Bianconi
2024-07-04 8:08 ` [PATCH v5 net-next 1/2] dt-bindings: net: airoha: Add EN7581 ethernet controller Lorenzo Bianconi
2024-07-08 16:37 ` Rob Herring
2024-07-08 17:03 ` Lorenzo Bianconi
2024-07-08 20:19 ` Rob Herring
2024-07-08 20:48 ` Andrew Lunn
2024-07-08 21:16 ` Lorenzo Bianconi
2024-07-08 21:10 ` Lorenzo Bianconi
2024-07-08 22:02 ` Lorenzo Bianconi
2024-07-04 8:08 ` [PATCH v5 net-next 2/2] net: airoha: Introduce ethernet support for EN7581 SoC Lorenzo Bianconi
2024-07-05 19:06 ` Simon Horman
2024-07-06 8:27 ` Lorenzo Bianconi
2024-07-06 12:27 ` Simon Horman
2024-07-06 12:58 ` Lorenzo Bianconi [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=Zok_XOR7lVtfdhjc@lore-desk \
--to=lorenzo@kernel.org \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=arnd@arndb.de \
--cc=benjamin.larsson@genexis.eu \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=lorenzo.bianconi83@gmail.com \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rkannoth@marvell.com \
--cc=robh+dt@kernel.org \
--cc=sgoutham@marvell.com \
--cc=upstream@airoha.com \
--cc=will@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 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.