diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2017-03-02 10:37:11 +0100 |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2017-03-21 15:50:54 +0100 |
commit | 301ad44cdf1b868b1ab89096721da91fa8541fdc (patch) | |
tree | ef18781db6cadae7f8f49f1fc449dc56b33448ec /lib/igt_aux.c | |
parent | e7a0d06730f77842998368660fb45fe5c1738fda (diff) |
lib: Open debugfs files for the given DRM device
When opening a DRM debugfs file, locate the right path based on the
given DRM device FD.
This is needed so, in setups with more than one DRM device, any
operations on debugfs files affect the expected DRM device.
v2: - rebased and fixed new API additions
v3: - updated chamelium test, which was missed previously
- use the minor of the device for the debugfs path, not the major
- have a proper exit handler for calling igt_hpd_storm_reset with the
right device fd.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Robert Foss <robert.foss@collabora.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/igt_aux.c')
-rw-r--r-- | lib/igt_aux.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/igt_aux.c b/lib/igt_aux.c index 7ee279a3..1222806c 100644 --- a/lib/igt_aux.c +++ b/lib/igt_aux.c @@ -350,10 +350,10 @@ void igt_stop_signal_helper(void) } static struct igt_helper_process shrink_helper; -static void __attribute__((noreturn)) shrink_helper_process(pid_t pid) +static void __attribute__((noreturn)) shrink_helper_process(int fd, pid_t pid) { while (1) { - igt_drop_caches_set(DROP_SHRINK_ALL); + igt_drop_caches_set(fd, DROP_SHRINK_ALL); usleep(1000 * 1000 / 50); if (kill(pid, 0)) /* Parent has died, so must we. */ exit(0); @@ -370,12 +370,12 @@ static void __attribute__((noreturn)) shrink_helper_process(pid_t pid) * * This should only be used from an igt_fixture. */ -void igt_fork_shrink_helper(void) +void igt_fork_shrink_helper(int drm_fd) { assert(!igt_only_list_subtests()); - igt_require(igt_drop_caches_has(DROP_SHRINK_ALL)); + igt_require(igt_drop_caches_has(drm_fd, DROP_SHRINK_ALL)); igt_fork_helper(&shrink_helper) - shrink_helper_process(getppid()); + shrink_helper_process(drm_fd, getppid()); } /** |