From: Mohammed Bilal <mohammed.bilal@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: kunal1.joshi@intel.com, Mohammed Bilal <mohammed.bilal@intel.com>
Subject: [PATCH i-g-t v1 00/25] Chamelium v3 Integration and Test Execution
Date: Tue, 28 Apr 2026 10:16:09 +0530 [thread overview]
Message-ID: <20260428044644.257001-1-mohammed.bilal@intel.com> (raw)
Integrate Chamelium v3 hardware support for display testing. This includes
the Chamelium v3 library implementation, building with v3 support enabled,
and comprehensive display tests for HPD, EDID, frames, color, and audio.
Changes included:
1. Library helpers (patches 1-10):
- Add connector detection and management helpers
- Add monitor EDID management helpers
- Add HDMI 4K EDID support
2. V2 reorganization (patches 11-14):
- Move existing V2 code to lib/chamelium/v2/ and tests/chamelium/v2/
- Rename V2 symbols to allow V2 and V3 to coexist
3. V3 library (patches 15-20):
- Add Chamelium V3 library implementation
- Support for HPD, EDID, frame capture, color and audio
4. V3 tests (patches 21-25):
- kms_chamelium_v3_basic: Basic connectivity test
- kms_chamelium_v3_hpd: Hot plug detect tests
- kms_chamelium_v3_edid: EDID verification tests
- kms_chamelium_v3_frames: Frame capture and CRC tests
- kms_chamelium_v3_color: Color verification tests
- kms_chamelium_v3_audio: Audio tests
Louis Chauvet (19):
lib/igt_kms: Add a detect timeout value
lib/igt_kms: Add helper to wait for a specific status on a connector
lib/igt_kms: Add function to list connected connectors
lib/igt_kms: Add helper to obtain a connector by its name or MST path
lib/igt_kms: Add function to get valid pipe for specific output
lib/monitor_edids: Add helper functions for using monitor_edid objects
lib/monitor_edids: Add helper to get an EDID by its name
lib/monitor_edids: Add helper to print all available EDID names
lib/monitor_edids: Fix missing names in some monitor EDID
lib/monitor_edids: Add new EDID for HDMI 4k
tests/chamelium: Extract Chamelium v2 tests into a separate directory
lib/chamelium/v2: Extract chamelium v2 wrapper into its own directory
lib/chamelium/v2: Rename chamelium to chamelium_v2
lib/chamelium/v2: Rename HAVE_CHAMELIUM to HAVE_CHAMELIUM_V2
lib/chamelium/v3: Introduce the foundation for the Chamelium v3
wrapper
lib/chamelium/v3: Introduce initialization and cleanup of
Chamelium-related structures
lib/chamelium/v3: Add method to discover Chamelium ports
lib/chamelium/v3: Implement method to retrieve Chamelium port names
tests/chamelium/v3: Implement a basic Chamelium v3 accessibility test
Mohammed Bilal (6):
lib/chamelium/v3: Add extended API for Chamelium v3 HPD, EDID, Frames,
Color & Audio
tests/chamelium/v3: Add HPD (Hot Plug Detect) tests for Chamelium v3
tests/chamelium/v3: Add EDID tests for Chamelium v3
tests/chamelium/v3: Add frame capture and CRC tests for Chamelium v3
tests/chamelium/v3: Add color verification tests for Chamelium v3
tests/chamelium/v3: Add audio tests for Chamelium v3
.gitlab-ci.yml | 2 +-
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 | 1267 ++++++++++++++
lib/chamelium/v3/igt_chamelium.h | 247 +++
lib/igt.h | 6 +-
lib/igt_core.c | 4 +
lib/igt_kms.c | 371 +++-
lib/igt_kms.h | 18 +
lib/meson.build | 21 +-
lib/monitor_edids/dp_edids.h | 3 +
lib/monitor_edids/hdmi_edids.h | 27 +-
lib/monitor_edids/monitor_edids_helper.c | 127 ++
lib/monitor_edids/monitor_edids_helper.h | 12 +-
lib/tests/meson.build | 8 +-
meson.build | 31 +-
meson_options.txt | 8 +-
.../chamelium/{ => v2}/kms_chamelium_audio.c | 0
.../chamelium/{ => v2}/kms_chamelium_color.c | 0
tests/chamelium/{ => v2}/kms_chamelium_edid.c | 2 +-
.../chamelium/{ => v2}/kms_chamelium_frames.c | 0
.../chamelium/{ => v2}/kms_chamelium_helper.c | 0
.../chamelium/{ => v2}/kms_chamelium_helper.h | 0
tests/chamelium/{ => v2}/kms_chamelium_hpd.c | 0
.../{ => v2}/kms_chamelium_sharpness_filter.c | 0
tests/chamelium/v3/kms_chamelium_v3_audio.c | 707 ++++++++
tests/chamelium/v3/kms_chamelium_v3_basic.c | 30 +
tests/chamelium/v3/kms_chamelium_v3_color.c | 1058 +++++++++++
tests/chamelium/v3/kms_chamelium_v3_edid.c | 1357 ++++++++++++++
tests/chamelium/v3/kms_chamelium_v3_frames.c | 1551 +++++++++++++++++
tests/chamelium/v3/kms_chamelium_v3_hpd.c | 928 ++++++++++
tests/kms_color_helper.h | 2 +-
tests/kms_feature_discovery.c | 6 +-
tests/kms_tiled_display.c | 6 +-
tests/meson.build | 53 +-
38 files changed, 7762 insertions(+), 98 deletions(-)
rename lib/{ => chamelium/v2}/igt_chamelium.c (99%)
rename lib/{ => chamelium/v2}/igt_chamelium.h (100%)
rename lib/{ => chamelium/v2}/igt_chamelium_stream.c (99%)
rename lib/{ => chamelium/v2}/igt_chamelium_stream.h (100%)
create mode 100644 lib/chamelium/v3/igt_chamelium.c
create mode 100644 lib/chamelium/v3/igt_chamelium.h
rename tests/chamelium/{ => v2}/kms_chamelium_audio.c (100%)
rename tests/chamelium/{ => v2}/kms_chamelium_color.c (100%)
rename tests/chamelium/{ => v2}/kms_chamelium_edid.c (99%)
rename tests/chamelium/{ => v2}/kms_chamelium_frames.c (100%)
rename tests/chamelium/{ => v2}/kms_chamelium_helper.c (100%)
rename tests/chamelium/{ => v2}/kms_chamelium_helper.h (100%)
rename tests/chamelium/{ => v2}/kms_chamelium_hpd.c (100%)
rename tests/chamelium/{ => v2}/kms_chamelium_sharpness_filter.c (100%)
create mode 100644 tests/chamelium/v3/kms_chamelium_v3_audio.c
create mode 100644 tests/chamelium/v3/kms_chamelium_v3_basic.c
create mode 100644 tests/chamelium/v3/kms_chamelium_v3_color.c
create mode 100644 tests/chamelium/v3/kms_chamelium_v3_edid.c
create mode 100644 tests/chamelium/v3/kms_chamelium_v3_frames.c
create mode 100644 tests/chamelium/v3/kms_chamelium_v3_hpd.c
--
2.48.1
next reply other threads:[~2026-04-28 4:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 4:46 Mohammed Bilal [this message]
2026-04-28 4:46 ` [PATCH i-g-t v1 01/25] lib/igt_kms: Add a detect timeout value Mohammed Bilal
2026-04-28 7:11 ` Jani Nikula
2026-04-28 7:16 ` Jani Nikula
2026-04-28 7:17 ` Jani Nikula
2026-04-28 4:46 ` [PATCH i-g-t v1 02/25] lib/igt_kms: Add helper to wait for a specific status on a connector Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 03/25] lib/igt_kms: Add function to list connected connectors Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 04/25] lib/igt_kms: Add helper to obtain a connector by its name or MST path Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 05/25] lib/igt_kms: Add function to get valid pipe for specific output Mohammed Bilal
2026-04-28 7:21 ` Jani Nikula
2026-04-28 4:46 ` [PATCH i-g-t v1 06/25] lib/monitor_edids: Add helper functions for using monitor_edid objects Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 07/25] lib/monitor_edids: Add helper to get an EDID by its name Mohammed Bilal
2026-04-28 7:23 ` Jani Nikula
2026-04-28 4:46 ` [PATCH i-g-t v1 08/25] lib/monitor_edids: Add helper to print all available EDID names Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 09/25] lib/monitor_edids: Fix missing names in some monitor EDID Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 10/25] lib/monitor_edids: Add new EDID for HDMI 4k Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 11/25] tests/chamelium: Extract Chamelium v2 tests into a separate directory Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 12/25] lib/chamelium/v2: Extract chamelium v2 wrapper into its own directory Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 13/25] lib/chamelium/v2: Rename chamelium to chamelium_v2 Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 14/25] lib/chamelium/v2: Rename HAVE_CHAMELIUM to HAVE_CHAMELIUM_V2 Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 15/25] lib/chamelium/v3: Introduce the foundation for the Chamelium v3 wrapper Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 16/25] lib/chamelium/v3: Introduce initialization and cleanup of Chamelium-related structures Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 17/25] lib/chamelium/v3: Add method to discover Chamelium ports Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 18/25] lib/chamelium/v3: Implement method to retrieve Chamelium port names Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 19/25] tests/chamelium/v3: Implement a basic Chamelium v3 accessibility test Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 20/25] lib/chamelium/v3: Add extended API for Chamelium v3 HPD, EDID, Frames, Color & Audio Mohammed Bilal
2026-04-29 10:44 ` Louis Chauvet
2026-04-28 4:46 ` [PATCH i-g-t v1 21/25] tests/chamelium/v3: Add HPD (Hot Plug Detect) tests for Chamelium v3 Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 22/25] tests/chamelium/v3: Add EDID " Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 23/25] tests/chamelium/v3: Add frame capture and CRC " Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 24/25] tests/chamelium/v3: Add color verification " Mohammed Bilal
2026-04-28 4:46 ` [PATCH i-g-t v1 25/25] tests/chamelium/v3: Add audio " Mohammed Bilal
2026-04-28 5:52 ` ✓ Xe.CI.BAT: success for Chamelium v3 Integration and Test Execution Patchwork
2026-04-28 6:09 ` ✗ i915.CI.BAT: failure " Patchwork
2026-04-28 12:36 ` ✗ Xe.CI.FULL: " Patchwork
2026-04-28 14:02 ` [PATCH i-g-t v1 00/25] " Louis Chauvet
2026-04-29 3:36 ` Bilal, Mohammed
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=20260428044644.257001-1-mohammed.bilal@intel.com \
--to=mohammed.bilal@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kunal1.joshi@intel.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