[igt-dev] [PATCH i-g-t] lib/igt_kms: Handle outputs with no modes better

Chris Wilson chris at chris-wilson.co.uk
Fri Apr 27 21:09:29 UTC 2018


Quoting Maarten Lankhorst (2018-04-06 12:06:34)
> Pretend that outputs without modes are disabled, and try reprobing
> if no modes are initially detected, just in case that the reprobe
> will find modes.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105798
> ---
>  lib/igt_kms.c | 13 ++++++++-----
>  lib/igt_kms.h |  3 ++-
>  2 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 19d650a8dcf8..4b25f8361a42 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1033,9 +1033,10 @@ static bool _kmstest_connector_config(int drm_fd, uint32_t connector_id,
>                 goto err2;
>  
>         if (!connector->count_modes) {
> -               igt_warn("connector %d/%s-%d has no modes\n", connector_id,
> -                        kmstest_connector_type_str(connector->connector_type),
> -                        connector->connector_type_id);
> +               if (probe)
> +                       igt_warn("connector %d/%s-%d has no modes\n", connector_id,
> +                               kmstest_connector_type_str(connector->connector_type),
> +                               connector->connector_type_id);
>                 goto err2;
>         }
>  
> @@ -1950,6 +1951,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
>  
>         for (i = 0; i < display->n_outputs; i++) {
>                 igt_output_t *output = &display->outputs[i];
> +               drmModeConnector *connector;
>  
>                 /*
>                  * We don't assign each output a pipe unless
> @@ -1961,8 +1963,9 @@ void igt_display_init(igt_display_t *display, int drm_fd)
>  
>                 igt_output_refresh(output);
>  
> -               if (output->config.connector &&
> -                   output->config.connector->connection == DRM_MODE_UNKNOWNCONNECTION) {
> +               connector = output->config.connector;
> +               if (connector && (!connector->count_modes ||
> +                   connector->connection == DRM_MODE_UNKNOWNCONNECTION)) {
>                         output->force_reprobe = true;

Something else to refactor into force_reprobe would be a bad
LINK_STATUS.
-Chris


More information about the igt-dev mailing list