From 4b51cf538b02ba133fcfc1bbda99dbbd40bfcf9a Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Wed, 27 Feb 2013 08:28:22 +1000 Subject: nv_init: tool to run full init/takedown sequence Useful for debugging. Signed-off-by: Ben Skeggs --- bin/Makefile.am | 2 +- bin/nv_init.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 bin/nv_init.c (limited to 'bin') diff --git a/bin/Makefile.am b/bin/Makefile.am index 39e246b00..082fe9724 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -4,7 +4,7 @@ bin_PROGRAMS = \ nv_ri08 nv_ri16 nv_ri32 nv_wi08 nv_wi16 nv_wi32 \ nv_rv08 nv_rv16 nv_rv32 nv_wv08 nv_wv16 nv_wv32 \ nv_rs08 nv_rs16 nv_rs32 nv_ws08 nv_ws16 nv_ws32 \ - nv_disp nv_i2c nv_aux + nv_disp nv_i2c nv_aux nv_init AM_CPPFLAGS = -I$(top_srcdir)/nvkm/include \ -I$(top_srcdir)/nvkm \ diff --git a/bin/nv_init.c b/bin/nv_init.c new file mode 100644 index 000000000..0f901a4c7 --- /dev/null +++ b/bin/nv_init.c @@ -0,0 +1,42 @@ +#include +#include +#include + +#include +#include +#include + +#include + +struct nouveau_object *client; +struct nouveau_object *device; + +int +main(int argc, char **argv) +{ + int ret, c; + + while ((c = getopt(argc, argv, "-")) != -1) { + switch (c) { + case 1: + return -EINVAL; + } + } + + ret = os_client_new(NULL, "trace", argc, argv, &client); + if (ret) + return ret; + + ret = nouveau_object_new(client, ~0, 0, 0x0080, + &(struct nv_device_class) { + .device = ~0ULL, + .disable = 0ULL, + .debug0 = 0ULL, + }, sizeof(struct nv_device_class), &device); + if (ret) + return ret; + + os_client_del(&client); + nouveau_object_debug(); + return ret; +} -- cgit v1.2.1