summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2014-02-06 15:45:42 +0000
committerDamien Lespiau <damien.lespiau@intel.com>2014-02-11 13:50:16 +0000
commit09faa45f521c98dda0ebc07a417fb34a048a697b (patch)
treedced6c6b4c3ed2a114e3da900f85beee838b09ee
parent5ec399b4a6b11dc6c2b1a1bd25b745d4dd9279a6 (diff)
lib/display: Add a way to specify we don't care about the pipe to use
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
-rw-r--r--lib/igt_kms.c12
-rw-r--r--lib/igt_kms.h6
2 files changed, 14 insertions, 4 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index e2225e62..08baa062 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1227,10 +1227,14 @@ void igt_output_set_pipe(igt_output_t *output, enum pipe pipe)
{
igt_display_t *display = output->display;
- LOG(display, "%s: set_pipe(%c)\n", igt_output_name(output),
- pipe_name(pipe));
-
- output->pending_crtc_idx_mask = 1 << pipe;
+ if (pipe == PIPE_ANY) {
+ LOG(display, "%s: set_pipe(any)\n", igt_output_name(output));
+ output->pending_crtc_idx_mask = -1UL;
+ } else {
+ LOG(display, "%s: set_pipe(%c)\n", igt_output_name(output),
+ pipe_name(pipe));
+ output->pending_crtc_idx_mask = 1 << pipe;
+ }
}
igt_plane_t *igt_ouput_get_plane(igt_output_t *output, enum igt_plane plane)
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index e86cff4e..07cf8a21 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -170,6 +170,12 @@ void igt_plane_set_position(igt_plane_t *plane, int x, int y);
for (int i__ = 0; i__ < (display)->n_outputs; i__++) \
if ((output = &(display)->outputs[i__]), output->valid)
+/*
+ * Can be used with igt_output_set_pipe() to mean we don't care about the pipe
+ * that should drive this output
+ */
+#define PIPE_ANY (-1)
+
#define IGT_FIXED(i,f) ((i) << 16 | (f))
#endif /* __IGT_KMS_H__ */