diff options
-rw-r--r-- | lib/drmtest.c | 19 | ||||
-rw-r--r-- | lib/drmtest.h | 1 | ||||
-rw-r--r-- | tests/pm_rpm.c | 6 |
3 files changed, 21 insertions, 5 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c index b0b97310..3d828e12 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -325,6 +325,25 @@ int drm_open_any(void) } /** + * drm_open_any_master: + * + * Open an i915 drm legacy device node and ensure that it is drm master. + * + * Returns: + * The i915 drm file descriptor or -1 on error + */ +int drm_open_any_master(void) +{ + int fd = drm_open_any(); + + igt_require(fd >= 0); + igt_require_f(drmSetMaster(fd) == 0, "Can't become DRM master, " + "please check if no other DRM client is running.\n"); + + return fd; +} + +/** * drm_open_any: * * Open an i915 drm render device node. diff --git a/lib/drmtest.h b/lib/drmtest.h index 40ac1461..b39b45af 100644 --- a/lib/drmtest.h +++ b/lib/drmtest.h @@ -72,6 +72,7 @@ static inline void *igt_mmap64(void *addr, size_t length, int prot, int flags, int drm_get_card(void); int drm_open_any(void); +int drm_open_any_master(void); int drm_open_any_render(void); void gem_quiescent_gpu(int fd); diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c index 0b698de7..31459cbb 100644 --- a/tests/pm_rpm.c +++ b/tests/pm_rpm.c @@ -713,11 +713,7 @@ static void setup_non_graphics_runtime_pm(void) static void setup_environment(void) { - drm_fd = drm_open_any(); - igt_assert(drm_fd >= 0); - - igt_require_f(drmSetMaster(drm_fd) == 0, "Can't become DRM master, " - "please check if no other DRM client is running.\n"); + drm_fd = drm_open_any_master(); init_mode_set_data(&ms_data); |