mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-21 14:56:18 +00:00
intel_reg_read: support -c option to read multiple dwords
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
This commit is contained in:
parent
4fc76adf31
commit
baf026d692
@ -60,6 +60,7 @@ static void usage(char *cmdname)
|
|||||||
printf("\t -f : read back full range of registers.\n");
|
printf("\t -f : read back full range of registers.\n");
|
||||||
printf("\t WARNING! This option may result in a machine hang!\n");
|
printf("\t WARNING! This option may result in a machine hang!\n");
|
||||||
printf("\t -d : decode register bits.\n");
|
printf("\t -d : decode register bits.\n");
|
||||||
|
printf("\t -c : number of dwords to dump (can't be used with -f/-d).\n");
|
||||||
printf("\t addr : in 0xXXXX format\n");
|
printf("\t addr : in 0xXXXX format\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,8 +72,9 @@ int main(int argc, char** argv)
|
|||||||
char *cmdname = strdup(argv[0]);
|
char *cmdname = strdup(argv[0]);
|
||||||
int full_dump = 0;
|
int full_dump = 0;
|
||||||
int decode_bits = 0;
|
int decode_bits = 0;
|
||||||
|
int dwords = 1;
|
||||||
|
|
||||||
while ((ch = getopt(argc, argv, "dfh")) != -1) {
|
while ((ch = getopt(argc, argv, "dfhc:")) != -1) {
|
||||||
switch(ch) {
|
switch(ch) {
|
||||||
case 'd':
|
case 'd':
|
||||||
decode_bits = 1;
|
decode_bits = 1;
|
||||||
@ -84,6 +86,9 @@ int main(int argc, char** argv)
|
|||||||
usage(cmdname);
|
usage(cmdname);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto out;
|
goto out;
|
||||||
|
case 'c':
|
||||||
|
dwords = atoi(optarg);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
argc -= optind;
|
argc -= optind;
|
||||||
@ -95,6 +100,12 @@ int main(int argc, char** argv)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((dwords > 1) && (argc != 1 || full_dump || decode_bits)) {
|
||||||
|
usage(cmdname);
|
||||||
|
ret = 1;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
intel_register_access_init(intel_get_pci_device(), 0);
|
intel_register_access_init(intel_get_pci_device(), 0);
|
||||||
|
|
||||||
if (full_dump) {
|
if (full_dump) {
|
||||||
@ -115,7 +126,7 @@ int main(int argc, char** argv)
|
|||||||
} else {
|
} else {
|
||||||
for (i=0; i < argc; i++) {
|
for (i=0; i < argc; i++) {
|
||||||
sscanf(argv[i], "0x%x", ®);
|
sscanf(argv[i], "0x%x", ®);
|
||||||
dump_range(reg, reg + 4);
|
dump_range(reg, reg + (dwords * 4));
|
||||||
|
|
||||||
if (decode_bits)
|
if (decode_bits)
|
||||||
bit_decode(*(volatile uint32_t *)((volatile char*)mmio + reg));
|
bit_decode(*(volatile uint32_t *)((volatile char*)mmio + reg));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user