mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-07-23 09:56:02 +00:00
tests/kms_setmode: avoid 2 connectors on the same encoder
Don't try to set modes on two connectors that share the same encoder. That will just fail. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68463 Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This commit is contained in:
parent
13ef9e8d54
commit
36f017dfd1
@ -275,6 +275,7 @@ static void setup_crtcs(drmModeRes *resources, struct connector_config *cconf,
|
|||||||
int crtc_count;
|
int crtc_count;
|
||||||
bool config_valid;
|
bool config_valid;
|
||||||
int i;
|
int i;
|
||||||
|
int encoder_usage_count[resources->count_encoders];
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
crtc_count = 0;
|
crtc_count = 0;
|
||||||
@ -337,6 +338,20 @@ static void setup_crtcs(drmModeRes *resources, struct connector_config *cconf,
|
|||||||
crtc++;
|
crtc++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset(encoder_usage_count, 0, sizeof(encoder_usage_count));
|
||||||
|
for (i = 0; i < connector_count; i++) {
|
||||||
|
drmModeConnector *connector = cconf[i].connector;
|
||||||
|
drmModeEncoder *encoder;
|
||||||
|
|
||||||
|
igt_assert(connector->count_encoders == 1);
|
||||||
|
encoder = drmModeGetEncoder(drm_fd, connector->encoders[0]);
|
||||||
|
encoder_usage_count[get_encoder_idx(resources, encoder)]++;
|
||||||
|
drmModeFreeEncoder(encoder);
|
||||||
|
}
|
||||||
|
for (i = 0; i < resources->count_encoders; i++)
|
||||||
|
if (encoder_usage_count[i] > 1)
|
||||||
|
config_valid = false;
|
||||||
|
|
||||||
*crtc_count_ret = crtc_count;
|
*crtc_count_ret = crtc_count;
|
||||||
*config_valid_ret = config_valid;
|
*config_valid_ret = config_valid;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user