On Tue, 2013-12-03 at 15:38 -0200, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > > 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 > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Looks ok: Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > tests/kms_setmode.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c > index 3d18fc7..e1c9c5a 100644 > --- a/tests/kms_setmode.c > +++ b/tests/kms_setmode.c > @@ -275,6 +275,7 @@ static void setup_crtcs(drmModeRes *resources, struct connector_config *cconf, > int crtc_count; > bool config_valid; > int i; > + int encoder_usage_count[resources->count_encoders]; > > i = 0; > crtc_count = 0; > @@ -337,6 +338,20 @@ static void setup_crtcs(drmModeRes *resources, struct connector_config *cconf, > 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; > *config_valid_ret = config_valid; > } _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx