[igt-dev] [PATCH i-g-t 4/5] lib/kms: Drop igt_display_init

Daniel Vetter
2018-11-02T09:57:37Z

If you need the high-level functions, then you probably need a
full display. Unexport the non-requiring version, and adjust the
documentation. This also gives us proper docs for the recently
added igt_display_require.

v2: Rebase, kms_content_protection is new.

Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
lib/igt_kms.c | 14 +++++---------
lib/igt_kms.h | 1 -
tests/kms_content_protection.c | 3 ++-
3 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index d806ccc1e0b9..7214101e2696 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1861,16 +1861,17 @@ static void igt_fill_plane_format_mod(igt_display_t *display, igt_plane_t *plane
static void igt_fill_display_format_mod(igt_display_t *display);

/**
- * igt_display_init:
+ * igt_display_require:
* @display: a pointer to an #igt_display_t structure
* @drm_fd: a drm file descriptor
*
* Initialize @display and allocate the various resources required. Use
* #igt_display_fini to release the resources when they are no longer required.
*
- * Returns: true if the display has outputs and pipes available, false otherwise
+ * This function automatically skips if the kernel driver doesn't support any
+ * CRTC or outputs.
*/
-bool igt_display_init(igt_display_t *display, int drm_fd)
+void igt_display_require(igt_display_t *display, int drm_fd)
{
drmModeRes *resources;
drmModePlaneRes *plane_resources;
@@ -2034,12 +2035,7 @@ bool igt_display_init(igt_display_t *display, int drm_fd)
out:
LOG_UNINDENT(display);

- return display->n_pipes && display->n_outputs;
-}
-
-void igt_display_require(igt_display_t *display, int drm_fd)
-{
- igt_require(igt_display_init(display, drm_fd));
+ igt_require(display->n_pipes && display->n_outputs);
}

/**
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index e6aff339af60..09395360007f 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -382,7 +382,6 @@ struct igt_display {
int format_mod_count;
};

-bool igt_display_init(igt_display_t *display, int drm_fd);
void igt_display_require(igt_display_t *display, int drm_fd);
void igt_display_fini(igt_display_t *display);
void igt_display_reset(igt_display_t *display);
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 801eff66c272..4818e021f9c5 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -26,6 +26,7 @@
#include <fcntl.h>
#include "igt.h"
#include "igt_sysfs.h"
+#include "igt_kms.h"

IGT_TEST_DESCRIPTION("Test content protection (HDCP)");

@@ -290,7 +291,7 @@ igt_main

data.drm_fd = drm_open_driver(DRIVER_ANY);

- igt_display_init(&data.display, data.drm_fd);
+ igt_display_require(&data.display, data.drm_fd);
}

igt_subtest("legacy")
--
2.19.1