diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/intel_display_crc.c | 2 | ||||
-rw-r--r-- | tools/intel_display_poller.c | 8 | ||||
-rw-r--r-- | tools/intel_dp_compliance.c | 6 | ||||
-rw-r--r-- | tools/intel_forcewaked.c | 10 | ||||
-rw-r--r-- | tools/intel_gpu_top.c | 8 | ||||
-rw-r--r-- | tools/intel_guc_logger.c | 10 | ||||
-rw-r--r-- | tools/intel_infoframes.c | 7 | ||||
-rw-r--r-- | tools/intel_l3_parity.c | 2 | ||||
-rw-r--r-- | tools/intel_panel_fitter.c | 9 | ||||
-rw-r--r-- | tools/intel_perf_counters.c | 2 | ||||
-rw-r--r-- | tools/intel_reg.c | 12 | ||||
-rw-r--r-- | tools/intel_watermark.c | 23 |
12 files changed, 71 insertions, 28 deletions
diff --git a/tools/intel_display_crc.c b/tools/intel_display_crc.c index ba9ec5ba..d1b28ea7 100644 --- a/tools/intel_display_crc.c +++ b/tools/intel_display_crc.c @@ -67,7 +67,7 @@ static void print_crcs(display_crc_t *ctx) char *crc_str; int i; - pipe_crc = igt_pipe_crc_new(ctx->pipe, INTEL_PIPE_CRC_SOURCE_AUTO); + pipe_crc = igt_pipe_crc_new(ctx->fd, ctx->pipe, INTEL_PIPE_CRC_SOURCE_AUTO); for (i = 0; i < ctx->n_crcs; i++) { igt_pipe_crc_collect_crc(pipe_crc, &crc); diff --git a/tools/intel_display_poller.c b/tools/intel_display_poller.c index 63c930fb..c501c79d 100644 --- a/tools/intel_display_poller.c +++ b/tools/intel_display_poller.c @@ -965,6 +965,7 @@ int main(int argc, char *argv[]) int pipe = 0, bit = 0, target_scanline = 0, target_fuzz = 1; bool test_pixelcount = false; uint32_t devid; + int drm_fd; uint32_t min[2*128] = {}; uint32_t max[2*128] = {}; uint32_t a, b; @@ -1186,7 +1187,10 @@ int main(int argc, char *argv[]) break; } - intel_register_access_init(intel_get_pci_device(), 0); + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); printf("%s?\n", test_name(test, pipe, bit, test_pixelcount)); @@ -1263,6 +1267,8 @@ int main(int argc, char *argv[]) intel_register_access_fini(); + close(drm_fd); + if (quit) return 0; diff --git a/tools/intel_dp_compliance.c b/tools/intel_dp_compliance.c index 1b2c1d38..4b4d255d 100644 --- a/tools/intel_dp_compliance.c +++ b/tools/intel_dp_compliance.c @@ -229,13 +229,13 @@ static void clear_test_active(void) static void setup_debugfs_files(void) { - test_type_fp = igt_debugfs_fopen(INTEL_DP_TEST_TYPE_FILE, "r"); + test_type_fp = igt_debugfs_fopen(drm_fd, INTEL_DP_TEST_TYPE_FILE, "r"); igt_require(test_type_fp); - test_data_fp = igt_debugfs_fopen(INTEL_DP_TEST_DATA_FILE, "r"); + test_data_fp = igt_debugfs_fopen(drm_fd, INTEL_DP_TEST_DATA_FILE, "r"); igt_require(test_data_fp); - test_active_fp = igt_debugfs_fopen(INTEL_DP_TEST_ACTIVE_FILE, "w+"); + test_active_fp = igt_debugfs_fopen(drm_fd, INTEL_DP_TEST_ACTIVE_FILE, "w+"); igt_require(test_active_fp); /* Reset the active flag for safety */ diff --git a/tools/intel_forcewaked.c b/tools/intel_forcewaked.c index 01ca0253..aa8e3f8b 100644 --- a/tools/intel_forcewaked.c +++ b/tools/intel_forcewaked.c @@ -36,6 +36,7 @@ #include <unistd.h> #include "intel_io.h" #include "intel_chipset.h" +#include "drmtest.h" bool daemonized; @@ -63,6 +64,7 @@ is_alive(void) { int main(int argc, char *argv[]) { + int drm_fd; int ret; if (argc > 2 || (argc == 2 && !strncmp(argv[1], "-h", 2))) { @@ -79,7 +81,10 @@ int main(int argc, char *argv[]) INFO_PRINT("started daemon"); } - ret = intel_register_access_init(intel_get_pci_device(), 1); + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + + ret = intel_register_access_init(intel_get_pci_device(), 1, drm_fd); if (ret) { INFO_PRINT("Couldn't init register access\n"); exit(1); @@ -90,13 +95,14 @@ int main(int argc, char *argv[]) if (!is_alive()) { INFO_PRINT("gpu reset? restarting daemon\n"); intel_register_access_fini(); - ret = intel_register_access_init(intel_get_pci_device(), 1); + ret = intel_register_access_init(intel_get_pci_device(), 1, drm_fd); if (ret) INFO_PRINT("Reg access init fail\n"); } sleep(1); } intel_register_access_fini(); + close(drm_fd); INFO_PRINT("Forcewake unlock\n"); if (daemonized) { diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 4f327c6d..78488764 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -46,6 +46,7 @@ #include "instdone.h" #include "intel_reg.h" #include "intel_chipset.h" +#include "drmtest.h" #define FORCEWAKE 0xA18C #define FORCEWAKE_ACK 0x130090 @@ -410,6 +411,7 @@ usage(const char *appname) int main(int argc, char **argv) { uint32_t devid; + int drm_fd; struct pci_device *pci_dev; struct ring render_ring = { .name = "render", @@ -510,8 +512,11 @@ int main(int argc, char **argv) top_bits_sorted[i] = &top_bits[i]; } + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + /* Grab access to the registers */ - intel_register_access_init(pci_dev, 0); + intel_register_access_init(pci_dev, 0, drm_fd); ring_init(&render_ring); if (IS_GEN4(devid) || IS_GEN5(devid)) @@ -714,5 +719,6 @@ int main(int argc, char **argv) fclose(output); intel_register_access_fini(); + close(drm_fd); return 0; } diff --git a/tools/intel_guc_logger.c b/tools/intel_guc_logger.c index c9ea60d0..3079878e 100644 --- a/tools/intel_guc_logger.c +++ b/tools/intel_guc_logger.c @@ -47,7 +47,7 @@ int verbosity_level = 3; /* by default capture logs at max verbosity */ uint32_t produced, consumed; uint64_t total_bytes_written; int num_buffers = NUM_SUBBUFS; -int relay_fd, outfile_fd = -1; +int relay_fd, drm_fd, outfile_fd = -1; uint32_t test_duration, max_filesize; pthread_cond_t underflow_cond, overflow_cond; bool stop_logging, discard_oldlogs, capturing_stopped; @@ -59,7 +59,7 @@ static void guc_log_control(bool enable_logging) uint64_t val; int ret; - control_fd = igt_debugfs_open(CONTROL_FILE_NAME, O_WRONLY); + control_fd = igt_debugfs_open(drm_fd, CONTROL_FILE_NAME, O_WRONLY); igt_assert_f(control_fd >= 0, "couldn't open the guc log control file\n"); val = enable_logging ? ((verbosity_level << 4) | 0x1) : 0; @@ -228,7 +228,7 @@ static void init_flusher_thread(void) static void open_relay_file(void) { - relay_fd = igt_debugfs_open(RELAY_FILE_NAME, O_RDONLY); + relay_fd = igt_debugfs_open(drm_fd, RELAY_FILE_NAME, O_RDONLY); igt_assert_f(relay_fd >= 0, "couldn't open the guc log file\n"); /* Purge the old/boot-time logs from the relay buffer. @@ -374,6 +374,9 @@ int main(int argc, char **argv) process_command_line(argc, argv); + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + init_main_thread(); /* Use a separate thread for flushing the logs to a file on disk. @@ -434,5 +437,6 @@ int main(int argc, char **argv) free(read_buffer); close(relay_fd); close(outfile_fd); + close(drm_fd); igt_exit(); } diff --git a/tools/intel_infoframes.c b/tools/intel_infoframes.c index e03cb2c0..813430c9 100644 --- a/tools/intel_infoframes.c +++ b/tools/intel_infoframes.c @@ -1081,6 +1081,7 @@ printf("Options:\n" int main(int argc, char *argv[]) { int opt; + int drm_fd; int ret = 0; Transcoder transcoder = TRANSC_INVALID; DipType dip = DIP_INVALID; @@ -1107,8 +1108,11 @@ int main(int argc, char *argv[]) printf("WARNING: This is just a debugging tool! Don't expect it to work" " perfectly: the Kernel might undo our changes.\n"); + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + pci_dev = intel_get_pci_device(); - intel_register_access_init(pci_dev, 0); + intel_register_access_init(pci_dev, 0, drm_fd); intel_check_pch(); if (IS_GEN4(pci_dev->device_id)) @@ -1257,5 +1261,6 @@ int main(int argc, char *argv[]) out: intel_register_access_fini(); + close(drm_fd); return ret; } diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c index 8692bef8..dce7f320 100644 --- a/tools/intel_l3_parity.c +++ b/tools/intel_l3_parity.c @@ -194,7 +194,7 @@ int main(int argc, char *argv[]) if (intel_gen(devid) < 7 || IS_VALLEYVIEW(devid)) exit(77); - assert(intel_register_access_init(intel_get_pci_device(), 0) == 0); + assert(intel_register_access_init(intel_get_pci_device(), 0, device) == 0); dir = igt_sysfs_open(device, NULL); diff --git a/tools/intel_panel_fitter.c b/tools/intel_panel_fitter.c index 5519361e..48b2fd89 100644 --- a/tools/intel_panel_fitter.c +++ b/tools/intel_panel_fitter.c @@ -33,6 +33,7 @@ #include "intel_io.h" #include "intel_chipset.h" #include "intel_reg.h" +#include "drmtest.h" int gen; @@ -265,7 +266,7 @@ static void print_usage(void) int main (int argc, char *argv[]) { - int opt; + int opt, drm_fd; int ret = 0; char intel_pipe = '\0'; int x = 0, y = 0; @@ -278,8 +279,11 @@ int main (int argc, char *argv[]) "with overscan compensation properties: it is just a temporary " "solution that may or may not work. Use it at your own risk.\n"); + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + pci_dev = intel_get_pci_device(); - intel_register_access_init(pci_dev, 0); + intel_register_access_init(pci_dev, 0, drm_fd); devid = pci_dev->device_id; if (!HAS_PCH_SPLIT(devid)) { @@ -342,5 +346,6 @@ int main (int argc, char *argv[]) out: intel_register_access_fini(); + close(drm_fd); return ret; } diff --git a/tools/intel_perf_counters.c b/tools/intel_perf_counters.c index 04a6aba9..50c4bce6 100644 --- a/tools/intel_perf_counters.c +++ b/tools/intel_perf_counters.c @@ -483,7 +483,7 @@ main(int argc, char **argv) if (oacontrol) { /* Forcewake */ - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, fd); /* Enable performance counters */ intel_register_write(OACONTROL, 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; diff --git a/tools/intel_watermark.c b/tools/intel_watermark.c index e9a2b057..d98ef19b 100644 --- a/tools/intel_watermark.c +++ b/tools/intel_watermark.c @@ -30,11 +30,11 @@ #include <string.h> #include "intel_io.h" #include "intel_chipset.h" +#include "drmtest.h" static uint32_t display_base; static uint32_t devid; - -#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0])) +static int drm_fd; static uint32_t read_reg(uint32_t addr) { @@ -143,7 +143,7 @@ static void ilk_wm_dump(void) int num_pipes = is_gen7_plus(devid) ? 3 : 2; struct ilk_wm wm = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); for (i = 0; i < num_pipes; i++) { dspcntr[i] = read_reg(0x70180 + i * 0x1000); @@ -291,7 +291,7 @@ static void vlv_wm_dump(void) uint32_t dsp_ss_pm, ddr_setup2; struct gmch_wm wms[MAX_PLANE] = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); dsparb = read_reg(0x70030); dsparb2 = read_reg(0x70060); @@ -507,7 +507,7 @@ static void g4x_wm_dump(void) uint32_t mi_arb_state; struct gmch_wm wms[MAX_PLANE] = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); dspacntr = read_reg(0x70180); dspbcntr = read_reg(0x71180); @@ -593,7 +593,7 @@ static void gen4_wm_dump(void) uint32_t mi_arb_state; struct gmch_wm wms[MAX_PLANE] = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); dsparb = read_reg(0x70030); fw1 = read_reg(0x70034); @@ -664,7 +664,7 @@ static void pnv_wm_dump(void) uint32_t cbr; struct gmch_wm wms[MAX_PLANE] = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); dsparb = read_reg(0x70030); fw1 = read_reg(0x70034); @@ -754,7 +754,7 @@ static void gen3_wm_dump(void) uint32_t mi_arb_state; struct gmch_wm wms[MAX_PLANE] = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); dsparb = read_reg(0x70030); instpm = read_reg(0x20c0); @@ -823,7 +823,7 @@ static void gen2_wm_dump(void) uint32_t mi_state; struct gmch_wm wms[MAX_PLANE] = {}; - intel_register_access_init(intel_get_pci_device(), 0); + intel_register_access_init(intel_get_pci_device(), 0, drm_fd); dsparb = read_reg(0x70030); mem_mode = read_reg(0x20cc); @@ -900,6 +900,9 @@ int main(int argc, char *argv[]) { devid = intel_get_pci_device()->device_id; + /* Just to make sure we open the right debugfs files */ + drm_fd = drm_open_driver_master(DRIVER_INTEL); + if (IS_VALLEYVIEW(devid) || IS_CHERRYVIEW(devid)) { display_base = 0x180000; vlv_wm_dump(); @@ -920,5 +923,7 @@ int main(int argc, char *argv[]) return 1; } + close(drm_fd); + return 0; } |