From: Lyude <lyude@redhat.com>
To: intel-gfx@lists.freedesktop.org
Cc: Lyude <lyude@redhat.com>
Subject: [RFC i-g-t 0/4] intel-gpu-tools: Add support for the Chamelium
Date: Mon, 7 Nov 2016 19:05:12 -0500 [thread overview]
Message-ID: <1478563516-23568-1-git-send-email-lyude@redhat.com> (raw)
For a very long time, we've had basically no automated testing coverage of
hotplugging functionality mainly because the only way to test this sort of
thing was to manually plug and unplug the connectors yourself. As well, this
also means we could never automate testing of various DisplayPort quirks, MST,
etc. At long last however, we might finally have a solution for this.
A while back, the ChromeOS guys came up with a device known as the Chamelium:
https://www.chromium.org/chromium-os/testing/chamelium
And actually sent both me and airlied one. This little device allows us to
emulate any kind of display we want, along with simulating hotplugs and various
quirky behaviors with displays. On top of that, it even allows for grabbing the
video input on all of the connectors, manual control of the i2c line for all of
the display connectors, etc.
With this patch series, we can now actually write intel-gpu-tools tests with
this gadget!
However, there's a couple of things that haven't been done yet and need to be
kept in mind:
- The current fpga_tio board that the Chamelium uses unfortunately doesn't
have native support for DisplayPort MST on it's DisplayPort receivers (they
only go up to version 1.1a of the spec). While annoying testing MST with
this isn't impossible, as we can implement all of the hotplugging paths we
care about by manually controlling the i2c line and emulating an MST
display. IMO, this is really the biggest thing we need coverage for anyway.
This hasn't been done yet, but it's definitely on my to-do list.
- While writing this patch series, I found that quite a few of the RPC calls
for chameleond don't work as expected. For instance, I have had absolutely
no luck getting CRCs from any of the display types that the chamelium
supports. This isn't a huge deal though, since we usually just use the
native CRC read back on the GPU anyway.
- Among other things that are broken with the chameleon, video signal
detection for DisplayPort is one of them. After the first plug/unplug cycle,
the DisplayPort receiver gets stuck and gives the wrong results for
WaitForInputStable. Luckily I've already got a fix I'll be submitting to the
ChromeOS guys when I get around to setting up their homebrew git tools:
https://github.com/Lyude/chameleond/tree/wip/chameleon-fixes
For now, expect the dp-display tests to fail without those patches.
Lyude (4):
igt_aux: Add igt_skip_without_suspend_support()
igt_aux: Add igt_set_autoresume_delay()
igt_aux: Add some list helpers from wayland
Add support for hotplug testing with the Chamelium
configure.ac | 13 +
lib/Makefile.am | 10 +-
lib/igt.h | 1 +
lib/igt_aux.c | 94 ++++++++
lib/igt_aux.h | 41 ++++
lib/igt_chamelium.c | 628 +++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_chamelium.h | 77 ++++++
lib/igt_kms.c | 107 +++++++++
lib/igt_kms.h | 13 +-
scripts/run-tests.sh | 4 +-
tests/Makefile.am | 5 +-
tests/Makefile.sources | 1 +
tests/chamelium.c | 549 ++++++++++++++++++++++++++++++++++++++++++
13 files changed, 1538 insertions(+), 5 deletions(-)
create mode 100644 lib/igt_chamelium.c
create mode 100644 lib/igt_chamelium.h
create mode 100644 tests/chamelium.c
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2016-11-08 0:05 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-08 0:05 Lyude [this message]
2016-11-08 0:05 ` [RFC i-g-t 1/4] igt_aux: Add igt_skip_without_suspend_support() Lyude
2016-11-08 0:05 ` [RFC i-g-t 2/4] igt_aux: Add igt_set_autoresume_delay() Lyude
2016-11-08 9:39 ` Chris Wilson
2016-11-08 0:05 ` [RFC i-g-t 3/4] igt_aux: Add some list helpers from wayland Lyude
2016-11-08 9:37 ` Chris Wilson
2016-11-08 0:05 ` [RFC i-g-t 4/4] Add support for hotplug testing with the Chamelium Lyude
2016-11-09 15:18 ` Tomeu Vizoso
2016-11-14 7:05 ` Daniel Vetter
2016-11-14 16:46 ` Lyude Paul
2016-11-09 15:09 ` [RFC i-g-t 0/4] intel-gpu-tools: Add support for " Tomeu Vizoso
2016-11-11 17:53 ` Lyude Paul
2016-11-15 11:44 ` Tomeu Vizoso
2016-11-15 21:44 ` Lyude Paul
2016-11-16 11:52 ` Tomeu Vizoso
2016-11-28 20:10 ` Lyude Paul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1478563516-23568-1-git-send-email-lyude@redhat.com \
--to=lyude@redhat.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).