mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 02:16:17 +00:00
intel_reg_read: support reading multiple registers
The registers must be passed on the command line and will be read sequentially, one at a time. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
This commit is contained in:
parent
b7464e4032
commit
8d45456428
@ -43,7 +43,7 @@ static void dump_range(uint32_t start, uint32_t end)
|
|||||||
|
|
||||||
static void usage(char *cmdname)
|
static void usage(char *cmdname)
|
||||||
{
|
{
|
||||||
printf("Usage: %s [-f | addr]\n", cmdname);
|
printf("Usage: %s [-f] [addr1] [addr2] .. [addrN]\n", 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 addr : in 0xXXXX format\n");
|
printf("\t addr : in 0xXXXX format\n");
|
||||||
@ -53,7 +53,7 @@ int main(int argc, char** argv)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
uint32_t reg;
|
uint32_t reg;
|
||||||
int ch;
|
int i, ch;
|
||||||
char *cmdname = strdup(argv[0]);
|
char *cmdname = strdup(argv[0]);
|
||||||
int full_dump = 0;
|
int full_dump = 0;
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ int main(int argc, char** argv)
|
|||||||
argc -= optind;
|
argc -= optind;
|
||||||
argv += optind;
|
argv += optind;
|
||||||
|
|
||||||
if (argc != 1) {
|
if (argc < 1) {
|
||||||
usage(cmdname);
|
usage(cmdname);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto out;
|
goto out;
|
||||||
@ -95,8 +95,10 @@ int main(int argc, char** argv)
|
|||||||
dump_range(0x70000, 0x72fff); /* display and cursor registers */
|
dump_range(0x70000, 0x72fff); /* display and cursor registers */
|
||||||
dump_range(0x73000, 0x73fff); /* performance counters */
|
dump_range(0x73000, 0x73fff); /* performance counters */
|
||||||
} else {
|
} else {
|
||||||
sscanf(argv[0], "0x%x", ®);
|
for (i=0; i < argc; i++) {
|
||||||
dump_range(reg, reg + 4);
|
sscanf(argv[i], "0x%x", ®);
|
||||||
|
dump_range(reg, reg + 4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
intel_register_access_fini();
|
intel_register_access_fini();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user