Signed-off-by: Tom St Denis <tom.stdenis at amd.com> --- doc/sphinx/source/basic.rst | 66 ++++++++++++++++++++++----------------------- doc/sphinx/source/ring.rst | 17 ------------ doc/umr.1 | 4 +-- src/app/main.c | 7 ++--- 4 files changed, 39 insertions(+), 55 deletions(-) diff --git a/doc/sphinx/source/basic.rst b/doc/sphinx/source/basic.rst index dc63ad0a0277..8d6db65aa88a 100644 --- a/doc/sphinx/source/basic.rst +++ b/doc/sphinx/source/basic.rst @@ -104,39 +104,39 @@ comma separator. The options available are: -+-------------+------------------------------------------------------------------------------+ -| **Option** | **Description** | -+-------------+------------------------------------------------------------------------------+ -| quiet | Disable various informative outputs that are not required for functionality. | -+-------------+------------------------------------------------------------------------------+ -| read_smc | Enable scanning of SMC registers when issuing a --scan command | -+-------------+------------------------------------------------------------------------------+ -| bits | Enables the display of bitfields when registers are presented | -+-------------+------------------------------------------------------------------------------+ -| bitsfull | When printing bits use the full path to the bitfield | -+-------------+------------------------------------------------------------------------------+ -| empty_log | Empty MMIO tracer after reading it | -+-------------+------------------------------------------------------------------------------+ -| follow | Tells --logscan to continually read the MMIO tracer | -+-------------+------------------------------------------------------------------------------+ -| follow_ib | Instructs the --ring command to follow IBs pointed to by the ring | -+-------------+------------------------------------------------------------------------------+ -| named | Tells --read to print out the register name along with the value | -+-------------+------------------------------------------------------------------------------+ -| many | Allows matching of register names openly. Used with --read and implies the | -| | *named* option. For instance: '\*.dce100.CRTC' will match any register that | -| | contains the fragment 'CRTC' in it. | -+-------------+------------------------------------------------------------------------------+ -| use_pci | Enables direct PCI access bypassing the kernels debugfs entries. | -+-------------+------------------------------------------------------------------------------+ -| use_colour | Enables colourful output in various commands. Also accepts use_color | -+-------------+------------------------------------------------------------------------------+ -| no_kernel | Attempts to avoid kernel access methods. Implies *use_pci*. | -+-------------+------------------------------------------------------------------------------+ -| verbose | Enables verbose output, for instance in VM decoding | -+-------------+------------------------------------------------------------------------------+ -| halt_waves | Halt active waves while reading wave status data | -+-------------+------------------------------------------------------------------------------+ ++--------------+------------------------------------------------------------------------------+ +| **Option** | **Description** | ++--------------+------------------------------------------------------------------------------+ +| quiet | Disable various informative outputs that are not required for functionality. | ++--------------+------------------------------------------------------------------------------+ +| read_smc | Enable scanning of SMC registers when issuing a --scan command | ++--------------+------------------------------------------------------------------------------+ +| bits | Enables the display of bitfields when registers are presented | ++--------------+------------------------------------------------------------------------------+ +| bitsfull | When printing bits use the full path to the bitfield | ++--------------+------------------------------------------------------------------------------+ +| empty_log | Empty MMIO tracer after reading it | ++--------------+------------------------------------------------------------------------------+ +| follow | Tells --logscan to continually read the MMIO tracer | ++--------------+------------------------------------------------------------------------------+ +| no_follow_ib | Instructs the --ring command to not follow IBs pointed to by the ring | ++--------------+------------------------------------------------------------------------------+ +| named | Tells --read to print out the register name along with the value | ++--------------+------------------------------------------------------------------------------+ +| many | Allows matching of register names openly. Used with --read and implies the | +| | *named* option. For instance: '\*.dce100.CRTC' will match any register that | +| | contains the fragment 'CRTC' in it. | ++--------------+------------------------------------------------------------------------------+ +| use_pci | Enables direct PCI access bypassing the kernels debugfs entries. | ++--------------+------------------------------------------------------------------------------+ +| use_colour | Enables colourful output in various commands. Also accepts use_color | ++--------------+------------------------------------------------------------------------------+ +| no_kernel | Attempts to avoid kernel access methods. Implies *use_pci*. | ++--------------+------------------------------------------------------------------------------+ +| verbose | Enables verbose output, for instance in VM decoding | ++--------------+------------------------------------------------------------------------------+ +| halt_waves | Halt active waves while reading wave status data | ++--------------+------------------------------------------------------------------------------+ ------------------ Device Information diff --git a/doc/sphinx/source/ring.rst b/doc/sphinx/source/ring.rst index d8e69c678174..e498e9358e6b 100644 --- a/doc/sphinx/source/ring.rst +++ b/doc/sphinx/source/ring.rst @@ -120,20 +120,3 @@ Bitfield Decoding The ring decoders also support decoding bitfields when register writes are detected. This is enabled with the 'bits' option. - -------------------- -Following IB chains -------------------- - -By default, IB pointers are not followed when detected in packets. -Typically, this will require some sort of access to system memory -since often IBs are stored in system memory. Following IB chains can -be enabled with the 'follow_ib' option, for instance: - -:: - - umr -O follow_ib --ring gfx[.] - -Note that this is particularly only useful for hung GPUs as the virtual -addresses will quickly expire on live systems. - diff --git a/doc/umr.1 b/doc/umr.1 index ec4db7b9a12d..c64855ca439f 100644 --- a/doc/umr.1 +++ b/doc/umr.1 @@ -137,8 +137,8 @@ separated strings. Options should be specified before --update or --force comma Causes the --logscan command to repeatedly produce output without exiting. -.B follow_ib - Instruct the --ring command to attempt to follow IBs pointed to by the packets +.B no_follow_ib + Instruct the --ring command to not attempt to follow IBs pointed to by the packets in the ring. .B named diff --git a/src/app/main.c b/src/app/main.c index 222f9de208d7..cea6ac2e1069 100644 --- a/src/app/main.c +++ b/src/app/main.c @@ -105,8 +105,8 @@ static void parse_options(char *str) options.read_smc = 1; } else if (!strcmp(option, "quiet")) { options.quiet = 1; - } else if (!strcmp(option, "follow_ib")) { - options.follow_ib = 1; + } else if (!strcmp(option, "no_follow_ib")) { + options.follow_ib = 0; } else if (!strcmp(option, "verbose")) { options.verbose = 1; } else if (!strcmp(option, "halt_waves")) { @@ -136,6 +136,7 @@ int main(int argc, char **argv) options.need_scan = 1; options.forcedid = -1; options.scanblock = ""; + options.follow_ib = 1; for (i = 1; i < argc; i++) { if (!strcmp(argv[i], "--instance") || !strcmp(argv[i], "-i")) { @@ -539,7 +540,7 @@ int main(int argc, char **argv) "\n\t\tdecodings.\n" "\n\t--vm-write, -vw [<vmid>@]<address> <size>" "\n\t\tWrite 'size' bytes (in hex) to a given address (in hex) from stdin.\n" -"\n\t--option -O <string>[,<string>,...]\n\t\tEnable various flags: bits, bitsfull, empty_log, follow, follow_ib, named, many," +"\n\t--option -O <string>[,<string>,...]\n\t\tEnable various flags: bits, bitsfull, empty_log, follow, no_follow_ib, named, many," "\n\t\tuse_pci, use_colour, read_smc, quiet, no_kernel, verbose, halt_waves.\n" "\n\n", UMR_BUILD_VER, UMR_BUILD_REV); exit(EXIT_SUCCESS); -- 2.14.3