From: Louis Chauvet <louis.chauvet@bootlin.com>
To: igt-dev@lists.freedesktop.org, ihf@google.com,
markyacoub@google.com, thomas.petazzoni@bootlin.com,
Louis Chauvet <louis.chauvet@bootlin.com>
Subject: [PATCH i-g-t RFC 00/13] tests/chamelium: Integrate the chamelium v3
Date: Wed, 05 Jun 2024 16:30:12 +0200 [thread overview]
Message-ID: <20240605-dev-remove-static-ports-v1-0-665f25b7a4db@bootlin.com> (raw)
Hi all,
This patch series introduces a new wrapper for the Chameleon v3 board, a
testing tool used primarily for Chromebooks, but also by community members
to increase test coverage of graphic devices. The Chameleon v3 is an
upgrade from its predecessor, with the ability to emulate 2 HDMI and 2
DisplayPort devices, including MST devices.
The board can read and analyze any stream on the DisplayPort and HDMI
cables, and even take captures, making it an ideal tool for testing
hardware, driver, and user space behavior in specific situations, such as
screen hotplugging and multiple MST screens. However, the changes between
the v2 and v3, such as the addition of MST support and the removal of CRC
for screen captures, would require significant modifications to the
existing tests and wrappers.
To avoid this complexity and ensure that the Chameleon v3 is fully
supported and the v2 is not broken, I wrote a new wrapper with
simplicity and ease of use in mind. The Chameleon v3 wrapper should only
manage the Chameleon itself, without the need for DRM displays, EDID
caching/modifications, or state machines. This approach will make it
easier for developers to use the Chameleon v3 and contribute to its
development.
In this RFC, I did not merged the common code between the v2 and v3, but
it is planned for the next version.
Before I continue working on this series, I want to make sure that it
is up to the standard of the project and that I am heading in the right
direction.
This series can be splitted in three parts:
- PATCH 1-3: extracting the v2 wrapper and tests in its own directory
- PATCH 4-6: Introducing the RPC wrapper
- PATCH 6-12: Introduce few tests on EDID and MST
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
Louis Chauvet (13):
tests/chamelium: Extract chamelium v2 tests into its own directory
lib/chamelium: Extract chamelium v2 wrapper into its own directory
lib/chamelium: Change build options to split chamelium v2 and v3
lib/chamelium: Introduce the foundation for the chamelium v3 library
lib/chamelium: Implement all RPC calls for the chamelium v3
lib/chamelium: Introduce a simple chamelium v3 test
tests/chamelium: Introduce basic edid test
lib/monitor_edids: Introduce helpers to get EDID from a monitor EDID
tests/chamelium: Introduce 4k stress edid
tests/chamelium: Introduce non-4k stress edid
tests/chamelium: Introduce test resolution
tests/chamelium: Introduce test sleep
tests/chamelium: Add MST test
docs/testplan/meson.build | 4 +-
lib/{ => chamelium/v2}/igt_chamelium.c | 2 +-
lib/{ => chamelium/v2}/igt_chamelium.h | 0
lib/{ => chamelium/v2}/igt_chamelium_stream.c | 2 +-
lib/{ => chamelium/v2}/igt_chamelium_stream.h | 0
lib/chamelium/v3/igt_chamelium.c | 1026 +++++++++++++++++++++++
lib/chamelium/v3/igt_chamelium.h | 120 +++
lib/igt.h | 6 +-
lib/igt_kms.c | 14 +-
lib/meson.build | 16 +-
lib/monitor_edids/monitor_edids_helper.c | 61 +-
lib/monitor_edids/monitor_edids_helper.h | 6 +-
lib/tests/meson.build | 8 +-
meson.build | 45 +-
meson_options.txt | 8 +-
tests/chamelium/{ => v2}/kms_chamelium_audio.c | 0
tests/chamelium/{ => v2}/kms_chamelium_color.c | 0
tests/chamelium/{ => v2}/kms_chamelium_edid.c | 2 +-
tests/chamelium/{ => v2}/kms_chamelium_frames.c | 0
tests/chamelium/{ => v2}/kms_chamelium_helper.c | 0
tests/chamelium/{ => v2}/kms_chamelium_helper.h | 0
tests/chamelium/{ => v2}/kms_chamelium_hpd.c | 0
tests/chamelium/v3/kms_chamelium_v3_basic.c | 30 +
tests/chamelium/v3/kms_chamelium_v3_edid.c | 419 +++++++++
tests/kms_color_helper.h | 2 +-
tests/kms_feature_discovery.c | 6 +-
tests/kms_tiled_display.c | 6 +-
tests/meson.build | 61 +-
28 files changed, 1785 insertions(+), 59 deletions(-)
---
base-commit: cea4eb0dae57dae8c21782c64ad8174c39d1df38
change-id: 20240522-dev-remove-static-ports-9382ffbbf146
Best regards,
--
Louis Chauvet <louis.chauvet@bootlin.com>
next reply other threads:[~2024-06-05 14:30 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-05 14:30 Louis Chauvet [this message]
2024-06-05 14:30 ` [PATCH i-g-t RFC 01/13] tests/chamelium: Extract chamelium v2 tests into its own directory Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 02/13] lib/chamelium: Extract chamelium v2 wrapper " Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 03/13] lib/chamelium: Change build options to split chamelium v2 and v3 Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 04/13] lib/chamelium: Introduce the foundation for the chamelium v3 library Louis Chauvet
2024-06-11 16:45 ` Kamil Konieczny
2024-06-05 14:30 ` [PATCH i-g-t RFC 05/13] lib/chamelium: Implement all RPC calls for the chamelium v3 Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 06/13] lib/chamelium: Introduce a simple chamelium v3 test Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 07/13] tests/chamelium: Introduce basic edid test Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 08/13] lib/monitor_edids: Introduce helpers to get EDID from a monitor EDID Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 09/13] tests/chamelium: Introduce 4k stress edid Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 10/13] tests/chamelium: Introduce non-4k " Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 11/13] tests/chamelium: Introduce test resolution Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 12/13] tests/chamelium: Introduce test sleep Louis Chauvet
2024-06-05 14:30 ` [PATCH i-g-t RFC 13/13] tests/chamelium: Add MST test Louis Chauvet
2024-06-05 16:36 ` ✗ Fi.CI.BUILD: failure for tests/chamelium: Integrate the chamelium v3 Patchwork
2024-06-07 19:05 ` ✗ GitLab.Pipeline: warning " Patchwork
2024-06-11 16:51 ` [PATCH i-g-t RFC 00/13] " Kamil Konieczny
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=20240605-dev-remove-static-ports-v1-0-665f25b7a4db@bootlin.com \
--to=louis.chauvet@bootlin.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=ihf@google.com \
--cc=markyacoub@google.com \
--cc=thomas.petazzoni@bootlin.com \
/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