summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Arinzon <darinzon@amazon.com>2025-06-17 14:05:44 +0300
committerJakub Kicinski <kuba@kernel.org>2025-06-18 18:57:29 -0700
commite14521e97b8341852d70ddb23e7cd94d04302d09 (patch)
tree408d73c529cb35c016905559e9ee00603abbf129
parent60e28350b1ca127fe22dd99d5ff2a1922450e912 (diff)
net: ena: View PHC stats using debugfs
Add an entry named `phc_stats` to view the PHC statistics. If PHC is enabled, the stats are printed, as below: phc_cnt: 0 phc_exp: 0 phc_skp: 0 phc_err_dv: 0 phc_err_ts: 0 If PHC is disabled, no statistics will be displayed. Signed-off-by: David Arinzon <darinzon@amazon.com> Link: https://patch.msgid.link/20250617110545.5659-9-darinzon@amazon.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/ethernet/amazon/ena/ena_debugfs.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amazon/ena/ena_debugfs.c b/drivers/net/ethernet/amazon/ena/ena_debugfs.c
index d9327cd870e0..46ed80986724 100644
--- a/drivers/net/ethernet/amazon/ena/ena_debugfs.c
+++ b/drivers/net/ethernet/amazon/ena/ena_debugfs.c
@@ -8,6 +8,35 @@
#include <linux/seq_file.h>
#include <linux/pci.h>
#include "ena_debugfs.h"
+#include "ena_phc.h"
+
+static int phc_stats_show(struct seq_file *file, void *priv)
+{
+ struct ena_adapter *adapter = file->private;
+
+ if (!ena_phc_is_active(adapter))
+ return 0;
+
+ seq_printf(file,
+ "phc_cnt: %llu\n",
+ adapter->ena_dev->phc.stats.phc_cnt);
+ seq_printf(file,
+ "phc_exp: %llu\n",
+ adapter->ena_dev->phc.stats.phc_exp);
+ seq_printf(file,
+ "phc_skp: %llu\n",
+ adapter->ena_dev->phc.stats.phc_skp);
+ seq_printf(file,
+ "phc_err_dv: %llu\n",
+ adapter->ena_dev->phc.stats.phc_err_dv);
+ seq_printf(file,
+ "phc_err_ts: %llu\n",
+ adapter->ena_dev->phc.stats.phc_err_ts);
+
+ return 0;
+}
+
+DEFINE_SHOW_ATTRIBUTE(phc_stats);
void ena_debugfs_init(struct net_device *dev)
{
@@ -15,6 +44,12 @@ void ena_debugfs_init(struct net_device *dev)
adapter->debugfs_base =
debugfs_create_dir(dev_name(&adapter->pdev->dev), NULL);
+
+ debugfs_create_file("phc_stats",
+ 0400,
+ adapter->debugfs_base,
+ adapter,
+ &phc_stats_fops);
}
void ena_debugfs_terminate(struct net_device *dev)