[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