intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [RFC i-g-t 0/4] intel-gpu-tools: Add support for the Chamelium
@ 2016-11-08  0:05 Lyude
  2016-11-08  0:05 ` [RFC i-g-t 1/4] igt_aux: Add igt_skip_without_suspend_support() Lyude
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Lyude @ 2016-11-08  0:05 UTC (permalink / raw)
  To: intel-gfx; +Cc: Lyude

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-11-28 20:10 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-08  0:05 [RFC i-g-t 0/4] intel-gpu-tools: Add support for the Chamelium Lyude
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

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).