On Wed, Aug 14, 2024 at 02:50:33PM +0530, MD Danish Anwar wrote: ... > diff --git a/drivers/net/ethernet/ti/icssg/icssg_prueth.h b/drivers/net/ethernet/ti/icssg/icssg_prueth.h > index f678d656a3ed..ac2291d22c42 100644 > --- a/drivers/net/ethernet/ti/icssg/icssg_prueth.h > +++ b/drivers/net/ethernet/ti/icssg/icssg_prueth.h > @@ -50,8 +50,10 @@ > > #define ICSSG_MAX_RFLOWS 8 /* per slice */ > > +#define ICSSG_NUM_PA_STATS 4 > +#define ICSSG_NUM_MII_G_RT_STATS 60 > /* Number of ICSSG related stats */ > -#define ICSSG_NUM_STATS 60 > +#define ICSSG_NUM_STATS (ICSSG_NUM_MII_G_RT_STATS + ICSSG_NUM_PA_STATS) > #define ICSSG_NUM_STANDARD_STATS 31 > #define ICSSG_NUM_ETHTOOL_STATS (ICSSG_NUM_STATS - ICSSG_NUM_STANDARD_STATS) > > @@ -263,6 +265,7 @@ struct prueth { > struct net_device *registered_netdevs[PRUETH_NUM_MACS]; > struct regmap *miig_rt; > struct regmap *mii_rt; > + struct regmap *pa_stats; Please add an entry for pa_stats to the Kernel doc for this structure. > > enum pruss_pru_id pru_id[PRUSS_NUM_PRUS]; > struct platform_device *pdev; ... > diff --git a/drivers/net/ethernet/ti/icssg/icssg_stats.h b/drivers/net/ethernet/ti/icssg/icssg_stats.h > index 999a4a91276c..e834316092c9 100644 > --- a/drivers/net/ethernet/ti/icssg/icssg_stats.h > +++ b/drivers/net/ethernet/ti/icssg/icssg_stats.h > @@ -77,6 +77,20 @@ struct miig_stats_regs { > u32 tx_bytes; > }; > > +/** > + * struct pa_stats_regs - ICSSG Firmware maintained PA Stats register > + * @u32 fw_rx_cnt: Number of valid packets sent by Rx PRU to Host on PSI > + * @u32 fw_tx_cnt: Number of valid packets copied by RTU0 to Tx queues > + * @u32 fw_tx_pre_overflow: Host Egress Q (Pre-emptible) Overflow Counter > + * @u32 fw_tx_exp_overflow: Host Egress Q (Express) Overflow Counter > + */ ./scripts/kernel-doc -none doesn't seem to like the syntax above. Perhaps s/u32 // ? > +struct pa_stats_regs { > + u32 fw_rx_cnt; > + u32 fw_tx_cnt; > + u32 fw_tx_pre_overflow; > + u32 fw_tx_exp_overflow; > +}; > + > #define ICSSG_STATS(field, stats_type) \ > { \ > #field, \ ...