[igt-dev] [PATCH i-g-t v11 1/2] lib/igt_ioctl_wrappers: Add igt_has_drm_cap ioctl wrapper

Karthik B S karthik.b.s at intel.com
Fri Sep 25 04:26:12 UTC 2020


Add a generic helper for DRM_IOCTL_GET_CAP ioctl.

v10: -No changes.

v11: -Pass cap ID instead of the whole structure. (Ville)
     -Fix the patch ordering. (Ville)

Signed-off-by: Karthik B S <karthik.b.s at intel.com>
---
 lib/ioctl_wrappers.c | 17 +++++++++++++++++
 lib/ioctl_wrappers.h |  1 +
 2 files changed, 18 insertions(+)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 3781286d..3f35609a 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1318,3 +1318,20 @@ int __kms_addfb(int fd, uint32_t handle,
 
 	return ret < 0 ? -errno : ret;
 }
+
+/**
+ * igt_has_drm_cap:
+ * @fd: Open DRM file descriptor.
+ * @cap: drm_get_cap structure.
+ *
+ * This helper verifies if the passed cap is supported by the kernel
+ *
+ * Returns: Whether the cap is supported or not.
+ */
+bool igt_has_drm_cap(int fd, uint64_t flag)
+{
+	struct drm_get_cap cap = { .capability = flag };
+
+	igt_assert(drmIoctl(fd, DRM_IOCTL_GET_CAP, &cap) == 0);
+	return cap.value;
+}
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index 870ac8b7..e0ec203d 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -196,6 +196,7 @@ struct local_drm_mode_fb_cmd2 {
 
 bool igt_has_fb_modifiers(int fd);
 void igt_require_fb_modifiers(int fd);
+bool igt_has_drm_cap(int fd, uint64_t flag);
 
 /**
  * __kms_addfb:
-- 
2.22.0



More information about the igt-dev mailing list