1*1b481fc3SMaciej Żenczykowski #include <stdio.h>
2*1b481fc3SMaciej Żenczykowski #include <string.h>
3*1b481fc3SMaciej Żenczykowski #include "internal.h"
4*1b481fc3SMaciej Żenczykowski
5*1b481fc3SMaciej Żenczykowski #define TG3_MAGIC 0x669955aa
6*1b481fc3SMaciej Żenczykowski
tg3_dump_eeprom(struct ethtool_drvinfo * info __maybe_unused,struct ethtool_eeprom * ee)7*1b481fc3SMaciej Żenczykowski int tg3_dump_eeprom(struct ethtool_drvinfo *info __maybe_unused,
8*1b481fc3SMaciej Żenczykowski struct ethtool_eeprom *ee)
9*1b481fc3SMaciej Żenczykowski {
10*1b481fc3SMaciej Żenczykowski unsigned int i;
11*1b481fc3SMaciej Żenczykowski
12*1b481fc3SMaciej Żenczykowski if (ee->magic != TG3_MAGIC) {
13*1b481fc3SMaciej Żenczykowski fprintf(stderr, "Magic number 0x%08x does not match 0x%08x\n",
14*1b481fc3SMaciej Żenczykowski ee->magic, TG3_MAGIC);
15*1b481fc3SMaciej Żenczykowski return -1;
16*1b481fc3SMaciej Żenczykowski }
17*1b481fc3SMaciej Żenczykowski
18*1b481fc3SMaciej Żenczykowski fprintf(stdout, "Address \tData\n");
19*1b481fc3SMaciej Żenczykowski fprintf(stdout, "----------\t----\n");
20*1b481fc3SMaciej Żenczykowski for (i = 0; i < ee->len; i++)
21*1b481fc3SMaciej Żenczykowski fprintf(stdout, "0x%08x\t0x%02x\n", i + ee->offset, ee->data[i]);
22*1b481fc3SMaciej Żenczykowski
23*1b481fc3SMaciej Żenczykowski return 0;
24*1b481fc3SMaciej Żenczykowski }
25*1b481fc3SMaciej Żenczykowski
tg3_dump_regs(struct ethtool_drvinfo * info __maybe_unused,struct ethtool_regs * regs)26*1b481fc3SMaciej Żenczykowski int tg3_dump_regs(struct ethtool_drvinfo *info __maybe_unused,
27*1b481fc3SMaciej Żenczykowski struct ethtool_regs *regs)
28*1b481fc3SMaciej Żenczykowski {
29*1b481fc3SMaciej Żenczykowski unsigned int i;
30*1b481fc3SMaciej Żenczykowski u32 reg;
31*1b481fc3SMaciej Żenczykowski
32*1b481fc3SMaciej Żenczykowski fprintf(stdout, "Offset\tValue\n");
33*1b481fc3SMaciej Żenczykowski fprintf(stdout, "------\t----------\n");
34*1b481fc3SMaciej Żenczykowski for (i = 0; i < regs->len; i += sizeof(reg)) {
35*1b481fc3SMaciej Żenczykowski memcpy(®, ®s->data[i], sizeof(reg));
36*1b481fc3SMaciej Żenczykowski if (reg)
37*1b481fc3SMaciej Żenczykowski fprintf(stdout, "0x%04x\t0x%08x\n", i, reg);
38*1b481fc3SMaciej Żenczykowski
39*1b481fc3SMaciej Żenczykowski }
40*1b481fc3SMaciej Żenczykowski fprintf(stdout, "\n");
41*1b481fc3SMaciej Żenczykowski return 0;
42*1b481fc3SMaciej Żenczykowski }
43