Commit 2c3e1ca6 authored by Maarten Lankhorst's avatar Maarten Lankhorst

lib/igt_kms: Handle outputs with no modes better

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: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105798Reviewed-by: Marta Löfstedt's avatarMarta Lofstedt <marta.lofstedt@intel.com>
parent e5829165
......@@ -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;
igt_output_refresh(output);
}
......
......@@ -411,7 +411,8 @@ void igt_wait_for_vblank_count(int drm_fd, enum pipe pipe, int count);
static inline bool igt_output_is_connected(igt_output_t *output)
{
/* Something went wrong during probe? */
if (!output->config.connector)
if (!output->config.connector ||
!output->config.connector->count_modes)
return false;
if (output->config.connector->connection == DRM_MODE_CONNECTED)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment