All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping
@ 2019-06-14 14:22 Simon Ser
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT Simon Ser
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Simon Ser @ 2019-06-14 14:22 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

This is preliminary work for automagical Chamelium port <-> DRM connector
mapping.

Simon Ser (3):
  tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT
  lib/igt_chamelium: fix EDID list
  lib/igt_chamelium: replace EDID IDs with opaque structs

 lib/igt_chamelium.c   | 34 +++++++++++++++-------------------
 lib/igt_chamelium.h   |  8 ++++++--
 tests/kms_chamelium.c | 11 +++--------
 3 files changed, 24 insertions(+), 29 deletions(-)

--
2.22.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT
  2019-06-14 14:22 [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping Simon Ser
@ 2019-06-14 14:22 ` Simon Ser
  2019-06-17  7:17   ` Martin Peres
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 2/3] lib/igt_chamelium: fix EDID list Simon Ser
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Simon Ser @ 2019-06-14 14:22 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

We don't use the default Chamelium EDID anymore in Chamelium tests. We can drop
it.

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 tests/kms_chamelium.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 36e92e975d64..03ebbd9c4b20 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -36,13 +36,12 @@
 #include <stdatomic.h>
 
 enum test_edid {
-	TEST_EDID_CHAMELIUM_DEFAULT,
 	TEST_EDID_BASE,
 	TEST_EDID_ALT,
 	TEST_EDID_HDMI_AUDIO,
 	TEST_EDID_DP_AUDIO,
 };
-#define TEST_EDID_COUNT 5
+#define TEST_EDID_COUNT 4
 
 typedef struct {
 	struct chamelium *chamelium;
@@ -2045,9 +2044,6 @@ test_hpd_storm_disable(data_t *data, struct chamelium_port *port, int width)
 static const unsigned char *get_edid(enum test_edid edid)
 {
 	switch (edid) {
-	case TEST_EDID_CHAMELIUM_DEFAULT:
-		igt_assert(0); /* we don't have the raw data for this one */
-		return NULL;
 	case TEST_EDID_BASE:
 		return igt_kms_get_base_edid();
 	case TEST_EDID_ALT:
@@ -2089,8 +2085,7 @@ igt_main
 		data.ports = chamelium_get_ports(data.chamelium,
 						 &data.port_count);
 
-		data.edids[TEST_EDID_CHAMELIUM_DEFAULT] = CHAMELIUM_DEFAULT_EDID;
-		for (i = 1; i < TEST_EDID_COUNT; ++i) {
+		for (i = 0; i < TEST_EDID_COUNT; ++i) {
 			data.edids[i] = chamelium_new_edid(data.chamelium,
 							   get_edid(i));
 		}
-- 
2.22.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [PATCH i-g-t 2/3] lib/igt_chamelium: fix EDID list
  2019-06-14 14:22 [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping Simon Ser
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT Simon Ser
@ 2019-06-14 14:22 ` Simon Ser
  2019-06-17 10:57   ` Arkadiusz Hiler
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_chamelium: replace EDID IDs with opaque structs Simon Ser
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Simon Ser @ 2019-06-14 14:22 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

igt_list was being mis-used, resulting in the first EDID being missed.

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 lib/igt_chamelium.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/lib/igt_chamelium.c b/lib/igt_chamelium.c
index eaf3b5b07097..0c44e56cad86 100644
--- a/lib/igt_chamelium.c
+++ b/lib/igt_chamelium.c
@@ -118,7 +118,7 @@ struct chamelium {
 
 	int drm_fd;
 
-	struct chamelium_edid *edids;
+	struct igt_list edids;
 	struct chamelium_port *ports;
 	int port_count;
 };
@@ -552,12 +552,8 @@ int chamelium_new_edid(struct chamelium *chamelium,
 	memset(allocated_edid, 0, sizeof(*allocated_edid));
 
 	allocated_edid->id = edid_id;
-	igt_list_init(&allocated_edid->link);
 
-	if (chamelium->edids)
-		igt_list_add(&chamelium->edids->link, &allocated_edid->link);
-	else
-		chamelium->edids = allocated_edid;
+	igt_list_add(&allocated_edid->link, &chamelium->edids);
 
 	return edid_id;
 }
@@ -1850,6 +1846,7 @@ struct chamelium *chamelium_init(int drm_fd)
 
 	memset(chamelium, 0, sizeof(*chamelium));
 	chamelium->drm_fd = drm_fd;
+	igt_list_init(&chamelium->edids);
 
 	/* Setup the libxmlrpc context */
 	xmlrpc_env_init(&chamelium->env);
@@ -1901,7 +1898,7 @@ void chamelium_deinit(struct chamelium *chamelium)
 		chamelium_plug(chamelium, &chamelium->ports[i]);
 
 	/* Destroy any EDIDs we created to make sure we don't leak them */
-	igt_list_for_each_safe(pos, tmp, &chamelium->edids->link, link) {
+	igt_list_for_each_safe(pos, tmp, &chamelium->edids, link) {
 		chamelium_destroy_edid(chamelium, pos->id);
 		free(pos);
 	}
-- 
2.22.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [PATCH i-g-t 3/3] lib/igt_chamelium: replace EDID IDs with opaque structs
  2019-06-14 14:22 [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping Simon Ser
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT Simon Ser
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 2/3] lib/igt_chamelium: fix EDID list Simon Ser
@ 2019-06-14 14:22 ` Simon Ser
  2019-06-17  7:21   ` Martin Peres
  2019-06-15  2:56 ` [igt-dev] ✓ Fi.CI.BAT: success for Preliminary work for automagical Chamelium port mapping Patchwork
  2019-06-15 20:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 1 reply; 9+ messages in thread
From: Simon Ser @ 2019-06-14 14:22 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

There are two reasons for this:

* An opaque struct is more type-safe than an int
* In the future we'll want to tag EDIDs with the Chamelium port ID, to be able
  to automagically infer the DRM connector <-> Chamelium port mapping. This is
  necessary for DP MST (connector names are not stable).

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 lib/igt_chamelium.c   | 25 ++++++++++++-------------
 lib/igt_chamelium.h   |  8 ++++++--
 tests/kms_chamelium.c |  2 +-
 3 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/lib/igt_chamelium.c b/lib/igt_chamelium.c
index 0c44e56cad86..b83ff395d44b 100644
--- a/lib/igt_chamelium.c
+++ b/lib/igt_chamelium.c
@@ -530,13 +530,13 @@ void chamelium_schedule_hpd_toggle(struct chamelium *chamelium,
  * Uploads and registers a new EDID with the chamelium. The EDID will be
  * destroyed automatically when #chamelium_deinit is called.
  *
- * Returns: The ID of the EDID uploaded to the chamelium.
+ * Returns: An opaque pointer to the Chamelium EDID
  */
-int chamelium_new_edid(struct chamelium *chamelium,
-		       const unsigned char *raw_edid)
+struct chamelium_edid *chamelium_new_edid(struct chamelium *chamelium,
+					  const unsigned char *raw_edid)
 {
 	xmlrpc_value *res;
-	struct chamelium_edid *allocated_edid;
+	struct chamelium_edid *chamelium_edid;
 	int edid_id;
 	struct edid *edid = (struct edid *) raw_edid;
 	size_t edid_size = sizeof(struct edid) +
@@ -548,14 +548,12 @@ int chamelium_new_edid(struct chamelium *chamelium,
 	xmlrpc_read_int(&chamelium->env, res, &edid_id);
 	xmlrpc_DECREF(res);
 
-	allocated_edid = malloc(sizeof(struct chamelium_edid));
-	memset(allocated_edid, 0, sizeof(*allocated_edid));
+	chamelium_edid = calloc(1, sizeof(struct chamelium_edid));
+	chamelium_edid->id = edid_id;
 
-	allocated_edid->id = edid_id;
+	igt_list_add(&chamelium_edid->link, &chamelium->edids);
 
-	igt_list_add(&allocated_edid->link, &chamelium->edids);
-
-	return edid_id;
+	return chamelium_edid;
 }
 
 static void chamelium_destroy_edid(struct chamelium *chamelium, int edid_id)
@@ -568,7 +566,7 @@ static void chamelium_destroy_edid(struct chamelium *chamelium, int edid_id)
  * chamelium_port_set_edid:
  * @chamelium: The Chamelium instance to use
  * @port: The port on the Chamelium to set the EDID on
- * @edid_id: The ID of an EDID on the chamelium created with
+ * @edid: The Chamelium EDID to set
  * #chamelium_new_edid, or 0 to disable the EDID on the port
  *
  * Sets a port on the chamelium to use the specified EDID. This does not fire a
@@ -578,10 +576,11 @@ static void chamelium_destroy_edid(struct chamelium *chamelium, int edid_id)
  * change.
  */
 void chamelium_port_set_edid(struct chamelium *chamelium,
-			     struct chamelium_port *port, int edid_id)
+			     struct chamelium_port *port,
+			     struct chamelium_edid *edid)
 {
 	xmlrpc_DECREF(chamelium_rpc(chamelium, NULL, "ApplyEdid", "(ii)",
-				    port->id, edid_id));
+				    port->id, edid->id));
 }
 
 /**
diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h
index 28f726c91e83..ce9e9ced75d9 100644
--- a/lib/igt_chamelium.h
+++ b/lib/igt_chamelium.h
@@ -59,6 +59,8 @@ struct chamelium_audio_file {
 	int channels;
 };
 
+struct chamelium_edid;
+
 /**
  * CHAMELIUM_DEFAULT_EDID: provide this ID to #chamelium_port_set_edid to use
  * the default EDID.
@@ -98,9 +100,11 @@ void chamelium_fire_hpd_pulses(struct chamelium *chamelium,
 void chamelium_schedule_hpd_toggle(struct chamelium *chamelium,
 				   struct chamelium_port *port, int delay_ms,
 				   bool rising_edge);
-int chamelium_new_edid(struct chamelium *chamelium, const unsigned char *edid);
+struct chamelium_edid *chamelium_new_edid(struct chamelium *chamelium,
+					  const unsigned char *edid);
 void chamelium_port_set_edid(struct chamelium *chamelium,
-			     struct chamelium_port *port, int edid_id);
+			     struct chamelium_port *port,
+			     struct chamelium_edid *edid);
 bool chamelium_port_get_ddc_state(struct chamelium *chamelium,
 				  struct chamelium_port *port);
 void chamelium_port_set_ddc_state(struct chamelium *chamelium,
diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 03ebbd9c4b20..18f504f3bcad 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -51,7 +51,7 @@ typedef struct {
 
 	int drm_fd;
 
-	int edids[TEST_EDID_COUNT];
+	struct chamelium_edid *edids[TEST_EDID_COUNT];
 } data_t;
 
 #define HOTPLUG_TIMEOUT 20 /* seconds */
-- 
2.22.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Preliminary work for automagical Chamelium port mapping
  2019-06-14 14:22 [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping Simon Ser
                   ` (2 preceding siblings ...)
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_chamelium: replace EDID IDs with opaque structs Simon Ser
@ 2019-06-15  2:56 ` Patchwork
  2019-06-15 20:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-06-15  2:56 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== Series Details ==

Series: Preliminary work for automagical Chamelium port mapping
URL   : https://patchwork.freedesktop.org/series/62109/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6273 -> IGTPW_3155
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/62109/revisions/1/mbox/

Known issues
------------

  Here are the changes found in IGTPW_3155 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_auth@basic-auth:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/fi-icl-u3/igt@core_auth@basic-auth.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/fi-icl-u3/igt@core_auth@basic-auth.html

  
#### Possible fixes ####

  * igt@i915_module_load@reload-no-display:
    - fi-icl-u3:          [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/fi-icl-u3/igt@i915_module_load@reload-no-display.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/fi-icl-u3/igt@i915_module_load@reload-no-display.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][5] ([fdo#109485]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (52 -> 45)
------------------------------

  Additional (1): fi-blb-e6850 
  Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-guc fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * IGT: IGT_5057 -> IGTPW_3155

  CI_DRM_6273: d178a7d312e57cb378276971e10ef56971cc4c5c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3155: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/
  IGT_5057: 3b91c82b90d45c1a30569410c1142b541956740a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Preliminary work for automagical Chamelium port mapping
  2019-06-14 14:22 [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping Simon Ser
                   ` (3 preceding siblings ...)
  2019-06-15  2:56 ` [igt-dev] ✓ Fi.CI.BAT: success for Preliminary work for automagical Chamelium port mapping Patchwork
@ 2019-06-15 20:39 ` Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-06-15 20:39 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== Series Details ==

Series: Preliminary work for automagical Chamelium port mapping
URL   : https://patchwork.freedesktop.org/series/62109/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6273_full -> IGTPW_3155_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/62109/revisions/1/mbox/

Known issues
------------

  Here are the changes found in IGTPW_3155_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +5 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_eio@in-flight-internal-1us:
    - shard-iclb:         [PASS][3] -> [DMESG-WARN][4] ([fdo#110913 ]) +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb6/igt@gem_eio@in-flight-internal-1us.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb3/igt@gem_eio@in-flight-internal-1us.html

  * igt@gem_persistent_relocs@forked-faulting-reloc-thrashing:
    - shard-hsw:          [PASS][5] -> [DMESG-WARN][6] ([fdo#110789] / [fdo#110913 ])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw7/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw2/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html

  * igt@gem_persistent_relocs@forked-interruptible-thrashing:
    - shard-snb:          [PASS][7] -> [DMESG-WARN][8] ([fdo#110789] / [fdo#110913 ])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-snb7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-snb2/igt@gem_persistent_relocs@forked-interruptible-thrashing.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
    - shard-kbl:          [PASS][9] -> [DMESG-WARN][10] ([fdo#110913 ]) +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-kbl6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-kbl7/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html

  * igt@gem_userptr_blits@sync-unmap-cycles:
    - shard-snb:          [PASS][11] -> [DMESG-WARN][12] ([fdo#110913 ]) +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-snb4/igt@gem_userptr_blits@sync-unmap-cycles.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-snb1/igt@gem_userptr_blits@sync-unmap-cycles.html
    - shard-hsw:          [PASS][13] -> [DMESG-WARN][14] ([fdo#110913 ]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw7/igt@gem_userptr_blits@sync-unmap-cycles.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw6/igt@gem_userptr_blits@sync-unmap-cycles.html
    - shard-apl:          [PASS][15] -> [DMESG-WARN][16] ([fdo#110913 ]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-apl1/igt@gem_userptr_blits@sync-unmap-cycles.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-apl6/igt@gem_userptr_blits@sync-unmap-cycles.html

  * igt@i915_hangman@error-state-capture-vecs0:
    - shard-hsw:          [PASS][17] -> [INCOMPLETE][18] ([fdo#103540])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw2/igt@i915_hangman@error-state-capture-vecs0.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw7/igt@i915_hangman@error-state-capture-vecs0.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-apl:          [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-apl7/igt@i915_suspend@fence-restore-untiled.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-apl8/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
    - shard-snb:          [PASS][21] -> [SKIP][22] ([fdo#109271])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-snb2/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-snb1/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [PASS][23] -> [FAIL][24] ([fdo#105363])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-glk5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render:
    - shard-glk:          [PASS][25] -> [FAIL][26] ([fdo#103167])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-glk1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
    - shard-iclb:         [PASS][27] -> [FAIL][28] ([fdo#103167]) +6 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [PASS][29] -> [SKIP][30] ([fdo#109441]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb6/igt@kms_psr@psr2_primary_mmap_cpu.html

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-1us:
    - shard-glk:          [DMESG-WARN][31] ([fdo#110913 ]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-glk4/igt@gem_eio@in-flight-1us.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-glk1/igt@gem_eio@in-flight-1us.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][33] ([fdo#110854]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb7/igt@gem_exec_balancer@smoke.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb2/igt@gem_exec_balancer@smoke.html

  * igt@gem_persistent_relocs@forked-faulting-reloc-thrashing:
    - shard-snb:          [DMESG-WARN][35] ([fdo#110789] / [fdo#110913 ]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-snb4/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-snb4/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html

  * igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing:
    - shard-hsw:          [DMESG-WARN][37] ([fdo#110789] / [fdo#110913 ]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw2/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw7/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing.html

  * igt@gem_persistent_relocs@forked-interruptible-thrash-inactive:
    - shard-apl:          [INCOMPLETE][39] ([fdo#103927]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-apl3/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-apl6/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
    - shard-apl:          [DMESG-WARN][41] ([fdo#110913 ]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-apl5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-apl5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
    - shard-hsw:          [DMESG-WARN][43] ([fdo#110913 ]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw2/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-kbl:          [DMESG-WARN][45] ([fdo#110913 ]) -> [PASS][46] +2 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-kbl2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-kbl2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
    - shard-snb:          [DMESG-WARN][47] ([fdo#110913 ]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-snb7/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [DMESG-WARN][49] ([fdo#108566]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-apl1/igt@i915_suspend@sysfs-reader.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-apl2/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][51] ([fdo#108566]) -> [PASS][52] +4 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][53] ([fdo#109349]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb1/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_flip@flip-vs-panning-vs-hang-interruptible:
    - shard-iclb:         [DMESG-WARN][55] ([fdo#110913 ]) -> [PASS][56] +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb6/igt@kms_flip@flip-vs-panning-vs-hang-interruptible.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb5/igt@kms_flip@flip-vs-panning-vs-hang-interruptible.html

  * igt@kms_flip@plain-flip-ts-check-interruptible:
    - shard-glk:          [FAIL][57] ([fdo#100368]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-glk8/igt@kms_flip@plain-flip-ts-check-interruptible.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-glk7/igt@kms_flip@plain-flip-ts-check-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
    - shard-iclb:         [FAIL][59] ([fdo#103167]) -> [PASS][60] +6 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu:
    - shard-snb:          [SKIP][61] ([fdo#109271]) -> [PASS][62] +1 similar issue
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-snb1/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-snb7/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [FAIL][63] ([fdo#103166]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb2/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_primary_mmap_gtt:
    - shard-iclb:         [SKIP][65] ([fdo#109441]) -> [PASS][66] +3 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb1/igt@kms_psr@psr2_primary_mmap_gtt.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [FAIL][67] ([fdo#99912]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw6/igt@kms_setmode@basic.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw5/igt@kms_setmode@basic.html

  * igt@kms_sysfs_edid_timing:
    - shard-iclb:         [FAIL][69] ([fdo#100047]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-iclb2/igt@kms_sysfs_edid_timing.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-iclb1/igt@kms_sysfs_edid_timing.html

  
#### Warnings ####

  * igt@gem_tiled_swapping@non-threaded:
    - shard-hsw:          [FAIL][71] ([fdo#108686]) -> [INCOMPLETE][72] ([fdo#103540])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6273/shard-hsw7/igt@gem_tiled_swapping@non-threaded.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/shard-hsw2/igt@gem_tiled_swapping@non-threaded.html

  
  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#110913 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110913 
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 6)
------------------------------

  Missing    (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005 


Build changes
-------------

  * IGT: IGT_5057 -> IGTPW_3155
  * Piglit: piglit_4509 -> None

  CI_DRM_6273: d178a7d312e57cb378276971e10ef56971cc4c5c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3155: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/
  IGT_5057: 3b91c82b90d45c1a30569410c1142b541956740a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3155/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT Simon Ser
@ 2019-06-17  7:17   ` Martin Peres
  0 siblings, 0 replies; 9+ messages in thread
From: Martin Peres @ 2019-06-17  7:17 UTC (permalink / raw)
  To: Simon Ser, igt-dev; +Cc: martin.peres

On 14/06/2019 17:22, Simon Ser wrote:
> We don't use the default Chamelium EDID anymore in Chamelium tests. We can drop
> it.
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>

Reviewed-by: Martin Peres <martin.peres@linux.intel.com>

> ---
>  tests/kms_chamelium.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 36e92e975d64..03ebbd9c4b20 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -36,13 +36,12 @@
>  #include <stdatomic.h>
>  
>  enum test_edid {
> -	TEST_EDID_CHAMELIUM_DEFAULT,
>  	TEST_EDID_BASE,
>  	TEST_EDID_ALT,
>  	TEST_EDID_HDMI_AUDIO,
>  	TEST_EDID_DP_AUDIO,
>  };
> -#define TEST_EDID_COUNT 5
> +#define TEST_EDID_COUNT 4
>  
>  typedef struct {
>  	struct chamelium *chamelium;
> @@ -2045,9 +2044,6 @@ test_hpd_storm_disable(data_t *data, struct chamelium_port *port, int width)
>  static const unsigned char *get_edid(enum test_edid edid)
>  {
>  	switch (edid) {
> -	case TEST_EDID_CHAMELIUM_DEFAULT:
> -		igt_assert(0); /* we don't have the raw data for this one */
> -		return NULL;
>  	case TEST_EDID_BASE:
>  		return igt_kms_get_base_edid();
>  	case TEST_EDID_ALT:
> @@ -2089,8 +2085,7 @@ igt_main
>  		data.ports = chamelium_get_ports(data.chamelium,
>  						 &data.port_count);
>  
> -		data.edids[TEST_EDID_CHAMELIUM_DEFAULT] = CHAMELIUM_DEFAULT_EDID;
> -		for (i = 1; i < TEST_EDID_COUNT; ++i) {
> +		for (i = 0; i < TEST_EDID_COUNT; ++i) {
>  			data.edids[i] = chamelium_new_edid(data.chamelium,
>  							   get_edid(i));
>  		}
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 3/3] lib/igt_chamelium: replace EDID IDs with opaque structs
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_chamelium: replace EDID IDs with opaque structs Simon Ser
@ 2019-06-17  7:21   ` Martin Peres
  0 siblings, 0 replies; 9+ messages in thread
From: Martin Peres @ 2019-06-17  7:21 UTC (permalink / raw)
  To: igt-dev

On 14/06/2019 17:22, Simon Ser wrote:
> There are two reasons for this:
> 
> * An opaque struct is more type-safe than an int
> * In the future we'll want to tag EDIDs with the Chamelium port ID, to be able
>   to automagically infer the DRM connector <-> Chamelium port mapping. This is
>   necessary for DP MST (connector names are not stable).
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>

Reviewed-by: Martin Peres <martin.peres@linux.intel.com>

> ---
>  lib/igt_chamelium.c   | 25 ++++++++++++-------------
>  lib/igt_chamelium.h   |  8 ++++++--
>  tests/kms_chamelium.c |  2 +-
>  3 files changed, 19 insertions(+), 16 deletions(-)
> 
> diff --git a/lib/igt_chamelium.c b/lib/igt_chamelium.c
> index 0c44e56cad86..b83ff395d44b 100644
> --- a/lib/igt_chamelium.c
> +++ b/lib/igt_chamelium.c
> @@ -530,13 +530,13 @@ void chamelium_schedule_hpd_toggle(struct chamelium *chamelium,
>   * Uploads and registers a new EDID with the chamelium. The EDID will be
>   * destroyed automatically when #chamelium_deinit is called.
>   *
> - * Returns: The ID of the EDID uploaded to the chamelium.
> + * Returns: An opaque pointer to the Chamelium EDID
>   */
> -int chamelium_new_edid(struct chamelium *chamelium,
> -		       const unsigned char *raw_edid)
> +struct chamelium_edid *chamelium_new_edid(struct chamelium *chamelium,
> +					  const unsigned char *raw_edid)
>  {
>  	xmlrpc_value *res;
> -	struct chamelium_edid *allocated_edid;
> +	struct chamelium_edid *chamelium_edid;
>  	int edid_id;
>  	struct edid *edid = (struct edid *) raw_edid;
>  	size_t edid_size = sizeof(struct edid) +
> @@ -548,14 +548,12 @@ int chamelium_new_edid(struct chamelium *chamelium,
>  	xmlrpc_read_int(&chamelium->env, res, &edid_id);
>  	xmlrpc_DECREF(res);
>  
> -	allocated_edid = malloc(sizeof(struct chamelium_edid));
> -	memset(allocated_edid, 0, sizeof(*allocated_edid));
> +	chamelium_edid = calloc(1, sizeof(struct chamelium_edid));
> +	chamelium_edid->id = edid_id;
>  
> -	allocated_edid->id = edid_id;
> +	igt_list_add(&chamelium_edid->link, &chamelium->edids);
>  
> -	igt_list_add(&allocated_edid->link, &chamelium->edids);
> -
> -	return edid_id;
> +	return chamelium_edid;
>  }
>  
>  static void chamelium_destroy_edid(struct chamelium *chamelium, int edid_id)
> @@ -568,7 +566,7 @@ static void chamelium_destroy_edid(struct chamelium *chamelium, int edid_id)
>   * chamelium_port_set_edid:
>   * @chamelium: The Chamelium instance to use
>   * @port: The port on the Chamelium to set the EDID on
> - * @edid_id: The ID of an EDID on the chamelium created with
> + * @edid: The Chamelium EDID to set
>   * #chamelium_new_edid, or 0 to disable the EDID on the port
>   *
>   * Sets a port on the chamelium to use the specified EDID. This does not fire a
> @@ -578,10 +576,11 @@ static void chamelium_destroy_edid(struct chamelium *chamelium, int edid_id)
>   * change.
>   */
>  void chamelium_port_set_edid(struct chamelium *chamelium,
> -			     struct chamelium_port *port, int edid_id)
> +			     struct chamelium_port *port,
> +			     struct chamelium_edid *edid)
>  {
>  	xmlrpc_DECREF(chamelium_rpc(chamelium, NULL, "ApplyEdid", "(ii)",
> -				    port->id, edid_id));
> +				    port->id, edid->id));
>  }
>  
>  /**
> diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h
> index 28f726c91e83..ce9e9ced75d9 100644
> --- a/lib/igt_chamelium.h
> +++ b/lib/igt_chamelium.h
> @@ -59,6 +59,8 @@ struct chamelium_audio_file {
>  	int channels;
>  };
>  
> +struct chamelium_edid;
> +
>  /**
>   * CHAMELIUM_DEFAULT_EDID: provide this ID to #chamelium_port_set_edid to use
>   * the default EDID.
> @@ -98,9 +100,11 @@ void chamelium_fire_hpd_pulses(struct chamelium *chamelium,
>  void chamelium_schedule_hpd_toggle(struct chamelium *chamelium,
>  				   struct chamelium_port *port, int delay_ms,
>  				   bool rising_edge);
> -int chamelium_new_edid(struct chamelium *chamelium, const unsigned char *edid);
> +struct chamelium_edid *chamelium_new_edid(struct chamelium *chamelium,
> +					  const unsigned char *edid);
>  void chamelium_port_set_edid(struct chamelium *chamelium,
> -			     struct chamelium_port *port, int edid_id);
> +			     struct chamelium_port *port,
> +			     struct chamelium_edid *edid);
>  bool chamelium_port_get_ddc_state(struct chamelium *chamelium,
>  				  struct chamelium_port *port);
>  void chamelium_port_set_ddc_state(struct chamelium *chamelium,
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 03ebbd9c4b20..18f504f3bcad 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -51,7 +51,7 @@ typedef struct {
>  
>  	int drm_fd;
>  
> -	int edids[TEST_EDID_COUNT];
> +	struct chamelium_edid *edids[TEST_EDID_COUNT];
>  } data_t;
>  
>  #define HOTPLUG_TIMEOUT 20 /* seconds */
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 2/3] lib/igt_chamelium: fix EDID list
  2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 2/3] lib/igt_chamelium: fix EDID list Simon Ser
@ 2019-06-17 10:57   ` Arkadiusz Hiler
  0 siblings, 0 replies; 9+ messages in thread
From: Arkadiusz Hiler @ 2019-06-17 10:57 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev, martin.peres

On Fri, Jun 14, 2019 at 05:22:02PM +0300, Simon Ser wrote:
> igt_list was being mis-used, resulting in the first EDID being missed.
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-06-17 10:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-14 14:22 [igt-dev] [PATCH i-g-t 0/3] Preliminary work for automagical Chamelium port mapping Simon Ser
2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_chamelium: drop TEST_EDID_CHAMELIUM_DEFAULT Simon Ser
2019-06-17  7:17   ` Martin Peres
2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 2/3] lib/igt_chamelium: fix EDID list Simon Ser
2019-06-17 10:57   ` Arkadiusz Hiler
2019-06-14 14:22 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_chamelium: replace EDID IDs with opaque structs Simon Ser
2019-06-17  7:21   ` Martin Peres
2019-06-15  2:56 ` [igt-dev] ✓ Fi.CI.BAT: success for Preliminary work for automagical Chamelium port mapping Patchwork
2019-06-15 20:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.