On Mon, Jul 15, 2019 at 01:59:33PM +0300, Artem Bityutskiy wrote: > From: Artem Bityutskiy <artem.bityuts...@linux.intel.com> > > Decode 'RR2DCDELAY' register which Linux kernel provides starting from version > 5.3. The corresponding commit in the Linux kernel is: > cd502a7f7c9c igb: add RR2DCDELAY to ethtool registers dump > > The RR2DCDELAY register is present in I210 and I211 Intel Gigabit Ethernet > chips and it stands for "Read Request To Data Completion Delay". Here is how > this register is described in the I210 datasheet: > > "This field captures the maximum PCIe split time in 16 ns units, which is the > maximum delay between the read request to the first data completion. This is > giving an estimation of the PCIe round trip time." > > In practice, this register can be used to measure the time it takes the NIC to > read data from the host memory. > > Signed-off-by: Artem Bityutskiy <artem.bityuts...@linux.intel.com> > --- > igb.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > Changelog: > v2: Fixed a typo in the commentary. > v1: Initial pach version. > > > diff --git a/igb.c b/igb.c > index e0ccef9..cb24877 100644 > --- a/igb.c > +++ b/igb.c > @@ -859,6 +859,18 @@ igb_dump_regs(struct ethtool_drvinfo *info, struct > ethtool_regs *regs) > "0x03430: TDFPC (Tx data FIFO packet count) > 0x%08X\n", > regs_buff[550]); > > + /* > + * Starting from kernel version 5.3 the registers dump buffer grew from > + * 739 4-byte words to 740 words, and word 740 contains the RR2DCDELAY > + * register. > + */ > + if (regs->len < 740) > + return 0; > + > + fprintf(stdout, > + "0x05BF4: RR2DCDELAY (Max. DMA read delay) > 0x%08X\n", > + regs_buff[739]); > + > return 0; > } >
Reviewed-by: Michal Kubecek <mkube...@suse.cz>