[PATCH i-g-t v2 12/39] lib/chamelium/v2: Extract chamelium v2 wrapper into its own directory
Louis Chauvet
louis.chauvet at bootlin.com
Tue Jul 9 15:34:28 UTC 2024
In preparation for the Chamelium v3, the support for Chamelium v2 is being
extracted into its own directory.
The two Chamelium versions have different sets of functionality (audio,
MST, CRC computation, etc.). As the current wrapper is already complex,
extracting the v2 part into its own directory allows for the v3 wrapper to
be written without breaking any existing tests or complicating the
existing code.
The current identified complexities that necessitate a thorough rework of
the existing v2 wrapper are:
- Not all ports are discoverable in v3 (MST ports are not physical
ports, but they can have EDID, be plugged, etc.), and they can change
over time.
- The v3 is unable to perform CRC computation, so many tests must be
rewritten or adapted to work.
- Not all ports can be plugged at once, which is a feature used by the
existing v2 wrapper to set up the Chamelium.
Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
---
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/igt.h | 4 ++--
lib/igt_kms.c | 2 +-
lib/meson.build | 5 ++++-
lib/monitor_edids/monitor_edids_helper.h | 2 +-
tests/chamelium/v2/kms_chamelium_edid.c | 2 +-
tests/kms_feature_discovery.c | 2 +-
10 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/lib/igt_chamelium.c b/lib/chamelium/v2/igt_chamelium.c
similarity index 99%
rename from lib/igt_chamelium.c
rename to lib/chamelium/v2/igt_chamelium.c
index 620fbbf7d94f..2218c6cd694d 100644
--- a/lib/igt_chamelium.c
+++ b/lib/chamelium/v2/igt_chamelium.c
@@ -37,7 +37,7 @@
#include <pixman.h>
#include <cairo.h>
-#include "igt_chamelium.h"
+#include "chamelium/v2/igt_chamelium.h"
#include "igt_core.h"
#include "igt_aux.h"
#include "igt_edid.h"
diff --git a/lib/igt_chamelium.h b/lib/chamelium/v2/igt_chamelium.h
similarity index 100%
rename from lib/igt_chamelium.h
rename to lib/chamelium/v2/igt_chamelium.h
diff --git a/lib/igt_chamelium_stream.c b/lib/chamelium/v2/igt_chamelium_stream.c
similarity index 99%
rename from lib/igt_chamelium_stream.c
rename to lib/chamelium/v2/igt_chamelium_stream.c
index a8cd19e51b0b..8d96e654947d 100644
--- a/lib/igt_chamelium_stream.c
+++ b/lib/chamelium/v2/igt_chamelium_stream.c
@@ -33,7 +33,7 @@
#include <sys/types.h>
#include <sys/socket.h>
-#include "igt_chamelium_stream.h"
+#include "chamelium/v2/igt_chamelium_stream.h"
#include "igt_core.h"
#include "igt_rc.h"
diff --git a/lib/igt_chamelium_stream.h b/lib/chamelium/v2/igt_chamelium_stream.h
similarity index 100%
rename from lib/igt_chamelium_stream.h
rename to lib/chamelium/v2/igt_chamelium_stream.h
diff --git a/lib/igt.h b/lib/igt.h
index 7af3d10cbcd3..cf91e92eb2d4 100644
--- a/lib/igt.h
+++ b/lib/igt.h
@@ -45,8 +45,8 @@
#ifdef HAVE_CHAMELIUM
#include "igt_alsa.h"
#include "igt_audio.h"
-#include "igt_chamelium.h"
-#include "igt_chamelium_stream.h"
+#include "chamelium/v2/igt_chamelium.h"
+#include "chamelium/v2/igt_chamelium_stream.h"
#endif
#include "instdone.h"
#include "intel_batchbuffer.h"
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 45e0eec72d12..e12ac94c423f 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -61,7 +61,7 @@
#include "igt_sysfs.h"
#include "sw_sync.h"
#ifdef HAVE_CHAMELIUM
-#include "igt_chamelium.h"
+#include "chamelium/v2/igt_chamelium.h"
#endif
/**
diff --git a/lib/meson.build b/lib/meson.build
index 7577bee9d35e..c617a92a6a6e 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -190,7 +190,10 @@ endif
if chamelium.found()
lib_deps += chamelium
- lib_sources += [ 'igt_chamelium.c', 'igt_chamelium_stream.c' ]
+ lib_sources += [
+ 'chamelium/v2/igt_chamelium.c',
+ 'chamelium/v2/igt_chamelium_stream.c'
+ ]
lib_sources += 'monitor_edids/monitor_edids_helper.c'
endif
diff --git a/lib/monitor_edids/monitor_edids_helper.h b/lib/monitor_edids/monitor_edids_helper.h
index 50b08530826a..fed9a676fd97 100644
--- a/lib/monitor_edids/monitor_edids_helper.h
+++ b/lib/monitor_edids/monitor_edids_helper.h
@@ -16,7 +16,7 @@
#include <stdbool.h>
#include "igt_core.h"
-#include "igt_chamelium.h"
+#include "chamelium/v2/igt_chamelium.h"
/* Max Length can be increased as needed, when new EDIDs are added. */
#define EDID_NAME_MAX_LEN 28
diff --git a/tests/chamelium/v2/kms_chamelium_edid.c b/tests/chamelium/v2/kms_chamelium_edid.c
index 8438f5f156b7..772654f37de8 100644
--- a/tests/chamelium/v2/kms_chamelium_edid.c
+++ b/tests/chamelium/v2/kms_chamelium_edid.c
@@ -41,7 +41,7 @@
#include "config.h"
#include "igt.h"
-#include "igt_chamelium.h"
+#include "chamelium/v2/igt_chamelium.h"
#include "igt_edid.h"
#include "igt_eld.h"
#include "igt_vc4.h"
diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index 5bca9ad76684..edb0186361a8 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -36,7 +36,7 @@
#include "igt.h"
#ifdef HAVE_CHAMELIUM
-#include "igt_chamelium.h"
+#include "chamelium/v2/igt_chamelium.h"
#endif
#include "igt_kms.h"
#include "igt_psr.h"
--
2.44.2
More information about the igt-dev
mailing list