tests/kms_flip: Retry test in case of a DP/HDMI link reset

At least an IIyama and LG monitor have a strange behaviour when waking
from a power saving state and getting enabled with an otherwise
successful modeset: after the modeset in ~2 sec they signal a bad link
state, either due to a lost CR/EQ in case of DP or a lost
scrambling/TMDS clock setting in case of HDMI link. In response the
driver resets the link with either a link-retraining or a modeset, which
in turn makes the test miss vblank/flip events and fail.

Work around the above issue, by retrying the test once if the test
detects after a failure that a link reset happened during the test and a
corresponding hotplug uevent was sent by the driver.

v2: Suspend the signal helper while waiting for a hotplug event, so the
    wait will not get inerrupted/restarted in an endless loop.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
29 jobs for master in 15 minutes and 32 seconds (queued for 6 seconds)
Status Job ID Name Coverage
  Build Containers
passed #2672025
build-containers:build-debian

00:00:45

passed #2672027
build-containers:build-debian-arm64

00:00:32

passed #2672026
build-containers:build-debian-armhf

00:00:33

passed #2672028
build-containers:build-debian-mips

00:00:33

passed #2672029
build-containers:build-fedora

00:00:20

 
  Build
passed #2672039
build:tests-debian-autotools

00:07:57

passed #2672034
build:tests-debian-meson

00:00:55

passed #2672037
build:tests-debian-meson-arm64

00:00:39

passed #2672036
build:tests-debian-meson-armhf

00:00:36

passed #2672038
build:tests-debian-meson-mips

00:00:58

passed #2672035
build:tests-debian-minimal

00:00:35

passed #2672030
build:tests-fedora

00:02:12

passed #2672033
build:tests-fedora-clang

00:00:43

passed #2672031
build:tests-fedora-no-libunwind

00:00:58

passed #2672032
build:tests-fedora-oldest-meson

00:01:10

 
  Test
passed #2672047
test:list-undocumented-tests

00:00:28

passed #2672040
test:ninja-test

00:00:48

passed #2672358
test:ninja-test-arm64

00:00:49

passed #2672044
test:ninja-test-armhf

00:01:05

passed #2672304
test:ninja-test-clang

00:01:56

passed #2672305
test:ninja-test-minimal

00:01:31

passed #2672045
test:ninja-test-mips

00:01:00

passed #2672046
test:test-list-diff

00:00:20

failed #2672043
test:ninja-test-arm64

00:03:58

failed #2672041
test:ninja-test-clang

00:02:23

failed #2672303
test:ninja-test-minimal

00:01:15

failed #2672042
test:ninja-test-minimal

00:01:36

 
  Containers
passed #2672048
containers:igt

00:03:14

 
  Deploy
manual #2672049
allowed to fail manual
pages