[PATCH i-g-t RFC 00/13] tests/chamelium: Integrate the chamelium v3
Kamil Konieczny
kamil.konieczny at linux.intel.com
Tue Jun 11 16:51:25 UTC 2024
Hi Louis,
On 2024-06-05 at 16:30:12 +0200, Louis Chauvet wrote:
> 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 at bootlin.com>
>
Please look into compilation errors, also try to use checkpatch.pl script
from Linux kernel (you could ignore line too long or camel case for drm
and few others).
Regards,
Kamil
> ---
> 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 at bootlin.com>
>
More information about the igt-dev
mailing list