aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2015-05-18 22:09:47 +0100
committerMichael Brown <mcb30@ipxe.org>2015-05-19 13:03:02 +0100
commit51b6a1c835656903ccf9162b61e0c3cc673bbbe8 (patch)
treec642269bb3ac8de8043bcc0fcc5fd5f8dbad16ae /src
parent3ec8b67818c146064bbc830490c1fa4454ba1513 (diff)
downloadipxe-51b6a1c835656903ccf9162b61e0c3cc673bbbe8.zip
ipxe-51b6a1c835656903ccf9162b61e0c3cc673bbbe8.tar.gz
ipxe-51b6a1c835656903ccf9162b61e0c3cc673bbbe8.tar.bz2
[intel] Add intelxvf_stats() to dump packet statistics registers
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r--src/drivers/net/intelxvf.c25
-rw-r--r--src/drivers/net/intelxvf.h21
2 files changed, 46 insertions, 0 deletions
diff --git a/src/drivers/net/intelxvf.c b/src/drivers/net/intelxvf.c
index 6208662..c03fbe8 100644
--- a/src/drivers/net/intelxvf.c
+++ b/src/drivers/net/intelxvf.c
@@ -40,6 +40,31 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
/******************************************************************************
*
+ * Diagnostics
+ *
+ ******************************************************************************
+ */
+
+/**
+ * Dump statistics
+ *
+ * @v intel Intel device
+ */
+static __attribute__ (( unused )) void
+intelxvf_stats ( struct intel_nic *intel ) {
+
+ DBGC ( intel, "INTEL %p TX %d (%#x%08x) RX %d (%#x%08x) multi %d\n",
+ intel, readl ( intel->regs + INTELXVF_GPTC ),
+ readl ( intel->regs + INTELXVF_GOTCH ),
+ readl ( intel->regs + INTELXVF_GOTCL ),
+ readl ( intel->regs + INTELXVF_GPRC ),
+ readl ( intel->regs + INTELXVF_GORCH ),
+ readl ( intel->regs + INTELXVF_GORCL ),
+ readl ( intel->regs + INTELXVF_MPRC ) );
+}
+
+/******************************************************************************
+ *
* Device reset
*
******************************************************************************
diff --git a/src/drivers/net/intelxvf.h b/src/drivers/net/intelxvf.h
index ffbd39d..aae58c9 100644
--- a/src/drivers/net/intelxvf.h
+++ b/src/drivers/net/intelxvf.h
@@ -71,7 +71,28 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define INTELXVF_SRRCTL_DESCTYPE_DEFAULT INTELXVF_SRRCTL_DESCTYPE ( 0x00 )
#define INTELXVF_SRRCTL_DESCTYPE_MASK INTELXVF_SRRCTL_DESCTYPE ( 0x07 )
+/** Good Packets Received Count */
+#define INTELXVF_GPRC 0x101c
+
+/** Good Packets Received Count Low */
+#define INTELXVF_GORCL 0x1020
+
+/** Good Packets Received Count High */
+#define INTELXVF_GORCH 0x1024
+
+/* Multicast Packets Received Count */
+#define INTELXVF_MPRC 0x1034
+
/** Transmit Descriptor register block */
#define INTELXVF_TD 0x2000UL
+/** Good Packets Transmitted Count */
+#define INTELXVF_GPTC 0x201c
+
+/** Good Packets Transmitted Count Low */
+#define INTELXVF_GOTCL 0x2020
+
+/** Good Packets Transmitted Count High */
+#define INTELXVF_GOTCH 0x2024
+
#endif /* _INTELXVF_H */