-
There is an issue happening from time to time in kms_atomic_transition (bug #1918). We periodically get assertion that some two outputs attempt to use same pipe like this: "Failed assertion: output->pending_pipe != b->pending_pipe" After some investigation came to conclusion that this is happening because we are calling igt_output_set_pipe(output, PIPE_NONE) only for connected outputs, which is wrong. Periodically igt_display_refresh/igt_output_refresh call calls can update the output state to disconnected. However that doesn't clear the pipe being assigned(i.e output->pending_pipe). So this causes assertion to be triggered on next igt_display_refresh called during commit. Bugzilla: https://gitlab.freedesktop.org/drm/intel/-/issues/1918 v2: - Do not use for_each_valid_output_on_pipe as it also iterates only on connected outputs(Maarten) - Also fix run_modeset_tests function Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
bc81be69