diff options
Diffstat (limited to 'tools/intel_reg.c')
-rw-r--r-- | tools/intel_reg.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/intel_reg.c b/tools/intel_reg.c index 01a3671e..7b58d0b8 100644 --- a/tools/intel_reg.c +++ b/tools/intel_reg.c @@ -32,6 +32,7 @@ #include <sys/types.h> #include <unistd.h> +#include "igt.h" #include "intel_io.h" #include "intel_chipset.h" @@ -57,6 +58,7 @@ struct config { struct pci_device *pci_dev; char *mmiofile; uint32_t devid; + int drm_fd; /* read: number of registers to read */ uint32_t count; @@ -409,7 +411,7 @@ static int intel_reg_read(struct config *config, int argc, char *argv[]) if (config->mmiofile) intel_mmio_use_dump_file(config->mmiofile); else - intel_register_access_init(config->pci_dev, 0); + intel_register_access_init(config->pci_dev, 0, config->drm_fd); for (i = 1; i < argc; i++) { struct reg reg; @@ -439,7 +441,7 @@ static int intel_reg_write(struct config *config, int argc, char *argv[]) return EXIT_FAILURE; } - intel_register_access_init(config->pci_dev, 0); + intel_register_access_init(config->pci_dev, 0, config->drm_fd); for (i = 1; i < argc; i += 2) { struct reg reg; @@ -477,7 +479,7 @@ static int intel_reg_dump(struct config *config, int argc, char *argv[]) if (config->mmiofile) intel_mmio_use_dump_file(config->mmiofile); else - intel_register_access_init(config->pci_dev, 0); + intel_register_access_init(config->pci_dev, 0, config->drm_fd); for (i = 0; i < config->regcount; i++) { reg = &config->regs[i]; @@ -877,6 +879,9 @@ int main(int argc, char *argv[]) config.devid = config.pci_dev->device_id; } + /* Just to make sure we open the right debugfs files */ + config.drm_fd = drm_open_driver_master(DRIVER_INTEL); + if (read_reg_spec(&config) < 0) { return EXIT_FAILURE; } @@ -895,6 +900,7 @@ int main(int argc, char *argv[]) ret = command->function(&config, argc, argv); + close(config.drm_fd); free(config.mmiofile); return ret; |