diff options
author | Michał Winiarski <michal.winiarski@intel.com> | 2019-03-13 12:35:12 +0100 |
---|---|---|
committer | Michał Winiarski <michal.winiarski@intel.com> | 2019-03-20 10:36:36 +0100 |
commit | bdf280f8e3e92911f51c52d4041c762c59d21abd (patch) | |
tree | 9ceecd6082e31e1e2eee60bc89971d16358a02ae /lib/igt_device.c | |
parent | baec59ef68a853cda115e3064a8e9c969eba6a8e (diff) |
lib/igt_device: Introduce igt_device_get_card_index
And use it! But let's start small.
Rather than going with "and by the way, here's the card index" from
igt_sysfs_path, we're making things more explicit.
v2: Drop idx comment. (Chris)
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/igt_device.c')
-rw-r--r-- | lib/igt_device.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/igt_device.c b/lib/igt_device.c index 5b3722c8..08f39c8b 100644 --- a/lib/igt_device.c +++ b/lib/igt_device.c @@ -22,6 +22,8 @@ * */ +#include <sys/stat.h> +#include <sys/sysmacros.h> #include "igt.h" #include "igt_device.h" @@ -84,3 +86,20 @@ void igt_device_drop_master(int fd) "Failed to drop DRM master.\n"); } } + +/** + * igt_device_get_card_index: + * @fd: the device + * + * Returns: + * Index (N) of /dev/dri/cardN or /dev/dri/renderDN corresponding with fd. + * + */ +int igt_device_get_card_index(int fd) +{ + struct stat st; + + igt_fail_on(fstat(fd, &st) || !S_ISCHR(st.st_mode)); + + return minor(st.st_rdev); +} |