summaryrefslogtreecommitdiff
path: root/tools/intel_reg.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/intel_reg.c')
-rw-r--r--tools/intel_reg.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/tools/intel_reg.c b/tools/intel_reg.c
index 305323b6..1247b70b 100644
--- a/tools/intel_reg.c
+++ b/tools/intel_reg.c
@@ -33,9 +33,9 @@
#include <unistd.h>
#include "igt.h"
-#include "igt_device.h"
#include "igt_gt.h"
#include "intel_io.h"
+#include "intel_chipset.h"
#include "intel_reg_spec.h"
@@ -274,6 +274,15 @@ static int register_srm(struct config *config, struct reg *reg,
int fd, i;
uint32_t val;
+ if (config->fd == -1) {
+ config->fd = __drm_open_driver(DRIVER_INTEL);
+ if (config->fd == -1) {
+ fprintf(stderr, "Error opening driver: %s",
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ }
+
fd = config->fd;
engine = find_engine(reg->engine);
if (engine == NULL)
@@ -1006,13 +1015,6 @@ int main(int argc, char *argv[])
return EXIT_FAILURE;
}
- config.fd = __drm_open_driver(DRIVER_INTEL);
- if (config.fd == -1) {
- fprintf(stderr, "Error opening driver: %s",
- strerror(errno));
- exit(EXIT_FAILURE);
- }
-
if (config.mmiofile) {
if (!config.devid) {
fprintf(stderr, "--mmio requires --devid\n");
@@ -1024,7 +1026,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "--devid without --mmio\n");
return EXIT_FAILURE;
}
- config.pci_dev = igt_device_get_pci_device(config.fd);
+ config.pci_dev = intel_get_pci_device();
config.devid = config.pci_dev->device_id;
}
@@ -1048,7 +1050,8 @@ int main(int argc, char *argv[])
free(config.mmiofile);
- close(config.fd);
+ if (config.fd >= 0)
+ close(config.fd);
return ret;
}