summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/igt_kms.c18
-rw-r--r--lib/igt_kms.h1
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index b6669257..34a2aa00 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -4036,6 +4036,24 @@ void igt_output_override_mode(igt_output_t *output, const drmModeModeInfo *mode)
}
/*
+ * igt_output_preferred_vrefresh:
+ * @output: Output whose preferred vrefresh is queried
+ *
+ * Return the vertical refresh rate of @output's preferred
+ * mode. If the output reports no modes return 60Hz as
+ * a fallback.
+ */
+int igt_output_preferred_vrefresh(igt_output_t *output)
+{
+ drmModeConnector *connector = output->config.connector;
+
+ if (connector->count_modes)
+ return connector->modes[0].vrefresh;
+ else
+ return 60;
+}
+
+/*
* igt_output_set_pipe:
* @output: Target output for which the pipe is being set to
* @pipe: Display pipe to set to
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 7e3e67ef..e9ecd21e 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -461,6 +461,7 @@ void igt_display_require_output_on_pipe(igt_display_t *display, enum pipe pipe);
const char *igt_output_name(igt_output_t *output);
drmModeModeInfo *igt_output_get_mode(igt_output_t *output);
void igt_output_override_mode(igt_output_t *output, const drmModeModeInfo *mode);
+int igt_output_preferred_vrefresh(igt_output_t *output);
void igt_output_set_pipe(igt_output_t *output, enum pipe pipe);
igt_plane_t *igt_output_get_plane(igt_output_t *output, int plane_idx);
igt_plane_t *igt_output_get_plane_type(igt_output_t *output, int plane_type);