blob: 8698391f63eaf9829647453310cf8a72cefcbd5f [file] [log] [blame]
Jeff Garzik32c80372005-10-25 01:56:48 -04001#include <stdio.h>
Michael Chan14004d12005-11-08 12:24:23 -08002#include <string.h>
Ben Hutchings5ba70c02011-11-01 16:48:31 +00003#include "internal.h"
Jeff Garzik32c80372005-10-25 01:56:48 -04004
5#define TG3_MAGIC 0x669955aa
6
Maciej Żenczykowski92d716b2019-10-17 11:21:07 -07007int tg3_dump_eeprom(struct ethtool_drvinfo *info maybe_unused,
8 struct ethtool_eeprom *ee)
Jeff Garzik32c80372005-10-25 01:56:48 -04009{
10 int i;
11
12 if (ee->magic != TG3_MAGIC) {
13 fprintf(stderr, "Magic number 0x%08x does not match 0x%08x\n",
14 ee->magic, TG3_MAGIC);
15 return -1;
16 }
17
18 fprintf(stdout, "Address \tData\n");
19 fprintf(stdout, "----------\t----\n");
20 for (i = 0; i < ee->len; i++)
21 fprintf(stdout, "0x%08x\t0x%02x\n", i + ee->offset, ee->data[i]);
22
23 return 0;
24}
Michael Chan14004d12005-11-08 12:24:23 -080025
Maciej Żenczykowski92d716b2019-10-17 11:21:07 -070026int tg3_dump_regs(struct ethtool_drvinfo *info maybe_unused,
27 struct ethtool_regs *regs)
Michael Chan14004d12005-11-08 12:24:23 -080028{
Matt Carlsonaa322e82011-08-31 19:02:37 -070029 int i;
30 u32 reg;
Michael Chan14004d12005-11-08 12:24:23 -080031
32 fprintf(stdout, "Offset\tValue\n");
33 fprintf(stdout, "------\t----------\n");
Matt Carlsonaa322e82011-08-31 19:02:37 -070034 for (i = 0; i < regs->len; i += sizeof(reg)) {
35 memcpy(&reg, &regs->data[i], sizeof(reg));
36 if (reg)
37 fprintf(stdout, "0x%04x\t0x%08x\n", i, reg);
Michael Chan14004d12005-11-08 12:24:23 -080038
Michael Chan14004d12005-11-08 12:24:23 -080039 }
40 fprintf(stdout, "\n");
41 return 0;
42}