Re: [PATCH net-next v1 6/7] phy: dp83td510: add statistics support

From: Russell King (Oracle)
Date: Thu Dec 05 2024 - 07:16:35 EST


On Tue, Dec 03, 2024 at 08:56:20AM +0100, Oleksij Rempel wrote:
> Add support for reporting PHY statistics in the DP83TD510 driver. This
> includes cumulative tracking of transmit/receive packet counts, and
> error counts. Implemented functions to update and provide statistics via
> ethtool, with optional polling support enabled through `PHY_POLL_STATS`.
>
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> ---
> drivers/net/phy/dp83td510.c | 98 ++++++++++++++++++++++++++++++++++++-
> 1 file changed, 97 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/phy/dp83td510.c b/drivers/net/phy/dp83td510.c
> index 92aa3a2b9744..08d61a6a8c61 100644
> --- a/drivers/net/phy/dp83td510.c
> +++ b/drivers/net/phy/dp83td510.c
> @@ -34,6 +34,24 @@
> #define DP83TD510E_CTRL_HW_RESET BIT(15)
> #define DP83TD510E_CTRL_SW_RESET BIT(14)
>
> +#define DP83TD510E_PKT_STAT_1 0x12b
> +#define DP83TD510E_TX_PKT_CNT_15_0_MASK GENMASK(15, 0)
> +
> +#define DP83TD510E_PKT_STAT_2 0x12c
> +#define DP83TD510E_TX_PKT_CNT_31_16_MASK GENMASK(15, 0)
> +
> +#define DP83TD510E_PKT_STAT_3 0x12d
> +#define DP83TD510E_TX_ERR_PKT_CNT_MASK GENMASK(15, 0)
> +
> +#define DP83TD510E_PKT_STAT_4 0x12e
> +#define DP83TD510E_RX_PKT_CNT_15_0_MASK GENMASK(15, 0)
> +
> +#define DP83TD510E_PKT_STAT_5 0x12f
> +#define DP83TD510E_RX_PKT_CNT_31_16_MASK GENMASK(15, 0)
> +
> +#define DP83TD510E_PKT_STAT_6 0x130
> +#define DP83TD510E_RX_ERR_PKT_CNT_MASK GENMASK(15, 0)

I'm not sure I like this pattern of _MASK here. Why not call these
registers e.g. DP83TD510E_RX_PKT_CNT_31_16 ? Given that the full
register value is used, I don't see the need for _MASK and the
FIELD_GET()s, which just add extra complexity to the code and
reduce readability.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!