diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2021-10-13 15:52:02 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2021-10-18 16:28:55 +0300 |
commit | 226ddcf21e97394c20ef9a9391b507bc9889d91e (patch) | |
tree | a13c514ee67c10786ba8df033b09eca24cf8be34 | |
parent | 8460aec7cb836c048b43fc2095e9d543ed7e85d9 (diff) |
lib/kms: Introduce igt_output_preferred_vrefresh()
Add a helper to query the output's preferred vertical
refresh rate.
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-rw-r--r-- | lib/igt_kms.c | 18 | ||||
-rw-r--r-- | lib/igt_kms.h | 1 |
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); |