Add audio EDID tests to Chamelium
v2 cover Add audio EDID tests to Chamelium
The first patch has already been submitted, but the two other patches depend on it.
v2: do not use the Chamelium default EDID, use the one we generate
Simon Ser (3):
lib/igt_kms: generate an EDID suitable for DP audio lib/igt_eld: add eld_get_igt tests/kms_chamelium: add an audio EDID test
lib/igt_eld.c | 20 +++++++----- lib/igt_eld.h | 1 + lib/igt_kms.c | 46 ++++++++++++++++++++++------ lib/igt_kms.h | 3 +- tests/kms_chamelium.c | 68 +++++++++++++++++++++++++++++++++++++++-- tests/kms_hdmi_inject.c | 2 +- 6 files changed, 119 insertions(+), 21 deletions(-)
--
2.21.0
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH v2 1/3 lib/igt_kms: generate an EDID suitable for DP audio
Prior to this commit, we were using the Chamelium's default EDID for DP audio. This relies on the fact that this EDID supports audio and has correct audio paremeters for our testing.
Generating our own EDID is less error-prone and will allow us to test different audio parameters.
v2:
- Replace {HDMI,DP}_AUDIO_EDID_LENGTH with AUDIO_EDID_LENGTH (Arek)
- Don't hardcode EDIDs array length (Arek)
--- lib/igt_kms.c | 46 +++++++++++++++++++++++++++++++++-------- lib/igt_kms.h | 3 ++- tests/kms_chamelium.c | 10 ++++++--- tests/kms_hdmi_inject.c | 2 +- 4 files changed, 47 insertions(+), 14 deletions(-)
lib/igt_kms.c +37 -9
@@ -183,9 +183,9 @@ const unsigned char *igt_kms_get_alt_edid(void) }static void -generate_hdmi_audio_edid (unsigned char raw_edid[static HDMI_AUDIO_EDID_LENGTH ], -struct cea_sad *sad, -struct cea_speaker_alloc *speaker_alloc) +generate_audio_edid (unsigned char raw_edid[static AUDIO_EDID_LENGTH ], +bool with_vsd,struct cea_sad *sad, +struct cea_speaker_alloc *speaker_alloc) {struct edid *edid;struct edid_ext *edid_ext;
@@ -210,10 +210,12 @@ generate_hdmi_audio_edid(unsigned char raw_edid[static HDMI_AUDIO_EDID_LENGTH], cea_data_size +=edid_cea_data_block_set_sad (block, sad,1 );/* A Vendor Specific Data block is needed for HDMI audio */ - block = (struct edid_cea_data_block *) &cea_data[cea_data_size]; - vsd =cea_vsd_get_hdmi_default (&vsd_size); - cea_data_size +=edid_cea_data_block_set_vsd (block, vsd, - vsd_size); +if (with_vsd) { + block = (struct edid_cea_data_block *) &cea_data[cea_data_size]; + vsd =cea_vsd_get_hdmi_default (&vsd_size); + cea_data_size +=edid_cea_data_block_set_vsd (block, vsd, + vsd_size); + }/* Speaker Allocation Data block */ block = (struct edid_cea_data_block *) &cea_data[cea_data_size];
@@ -233,7 +235,33 @@ const unsigned char *igt_kms_get_hdmi_audio_edid(void) {int channels;uint8_t sampling_rates, sample_sizes; -static unsigned char raw_edid[HDMI_AUDIO_EDID_LENGTH ] = {0 }; +static unsigned char raw_edid[AUDIO_EDID_LENGTH ] = {0 }; +struct cea_sad sad = {0 }; +struct cea_speaker_alloc speaker_alloc = {0 }; + +/* Initialize the Short Audio Descriptor for PCM */ + channels =2 ; + sampling_rates =CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ | +CEA_SAD_SAMPLING_RATE_48KHZ ; + sample_sizes =CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 | +CEA_SAD_SAMPLE_SIZE_24 ; +cea_sad_init_pcm (&sad, channels, sampling_rates, sample_sizes); + +/* Initialize the Speaker Allocation Data */ + speaker_alloc.speakers =CEA_SPEAKER_FRONT_LEFT_RIGHT_CENTER ; + +generate_audio_edid (raw_edid, true, &sad, &speaker_alloc); + +return raw_edid; +} + +const unsigned char *igt_kms_get_dp_audio_edid (void ) +{ +int channels; +uint8_t sampling_rates, sample_sizes; +static unsigned char raw_edid[AUDIO_EDID_LENGTH ] = {0 };struct cea_sad sad = {0 };struct cea_speaker_alloc speaker_alloc = {0 };
@@ -250,7 +278,7 @@ const unsigned char *igt_kms_get_hdmi_audio_edid(void)/* Initialize the Speaker Allocation Data */ speaker_alloc.speakers =CEA_SPEAKER_FRONT_LEFT_RIGHT_CENTER ; -generate_hdmi_audio_edid (raw_edid, &sad, &speaker_alloc); +generate_audio_edid (raw_edid, false, &sad, &speaker_alloc);return raw_edid; }
lib/igt_kms.h +2 -1
@@ -757,10 +757,11 @@ struct cea_sad;struct cea_speaker_alloc ;#define EDID_LENGTH 128 -#define HDMI_AUDIO_EDID_LENGTH (2 * EDID_LENGTH) +#define AUDIO_EDID_LENGTH (2 * EDID_LENGTH)const unsigned char *igt_kms_get_base_edid (void );const unsigned char *igt_kms_get_alt_edid (void );const unsigned char *igt_kms_get_hdmi_audio_edid (void ); +const unsigned char *igt_kms_get_dp_audio_edid (void );struct udev_monitor *igt_watch_hotplug (void ); bool igt_hotplug_detected(struct udev_monitor *mon,
tests/kms_chamelium.c +7 -3
@@ -39,7 +39,9 @@ enum test_edid {TEST_EDID_BASE ,TEST_EDID_ALT ,TEST_EDID_HDMI_AUDIO , + TEST_EDID_DP_AUDIO, }; +#define TEST_EDID_COUNT 5 typedef struct { struct chamelium *chamelium;
@@ -49,7 +51,7 @@ typedef struct {int drm_fd; -int edids[4 ]; +int edids[TEST_EDID_COUNT ]; } data_t;#define HOTPLUG_TIMEOUT 20/* seconds */
@@ -1997,6 +1999,8 @@ static const unsigned char *get_edid(enum test_edid edid)return igt_kms_get_alt_edid ();case TEST_EDID_HDMI_AUDIO :return igt_kms_get_hdmi_audio_edid (); +case TEST_EDID_DP_AUDIO : +return igt_kms_get_dp_audio_edid (); }assert (0 );/* unreachable */ }
@@ -2031,7 +2035,7 @@ igt_main &data.port_count); data.edids[TEST_EDID_CHAMELIUM_DEFAULT ] =CHAMELIUM_DEFAULT_EDID ; -for (i =1 ; i <sizeof (data.edids) /sizeof (data.edids[0 ]); ++i) { +for (i =1 ; i <TEST_EDID_COUNT ; ++i) { data.edids[i] =chamelium_new_edid (data.chamelium,get_edid (i)); }
@@ -2113,7 +2117,7 @@ igt_main* Use the Chamelium's default EDID for DP audio. */ connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" , -TEST_EDID_CHAMELIUM_DEFAULT ); +TEST_EDID_DP_AUDIO ); } igt_subtest_group {
tests/kms_hdmi_inject.c +1 -1
@@ -149,7 +149,7 @@ hdmi_inject_audio(int drm_fd, drmModeConnector *connector)struct kmstest_connector_config config; edid =igt_kms_get_hdmi_audio_edid (); - length =HDMI_AUDIO_EDID_LENGTH ; + length =AUDIO_EDID_LENGTH ;kmstest_force_edid (drm_fd, connector, edid, length);
Signature · 6 lines
2.21.0 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 1/3] lib/igt_kms: generate an EDID suitable for DP audio
Quoted 24 lines · Simon Ser
Prior to this commit, we were using the Chamelium's default EDID for DP audio. This relies on the fact that this EDID supports audio and has correct audio paremeters for our testing.
Generating our own EDID is less error-prone and will allow us to test different audio parameters.
v2:
- Replace {HDMI,DP}_AUDIO_EDID_LENGTH withAUDIO_EDID_LENGTH(Arek)
- Don't hardcode EDIDs array length (Arek)Signed-off-by Simon Ser <[email protected]>--- lib/igt_kms.c | 46 +++++++++++++++++++++++++++++++++-------- lib/igt_kms.h | 3 ++- tests/kms_chamelium.c | 10 ++++++--- tests/kms_hdmi_inject.c | 2 +- 4 files changed, 47 insertions(+), 14 deletions(-)lib/igt_kms.c +0
-0
lib/igt_kms.c const unsigned char *igt_kms_get_alt_edid(void) · line 187
Quoted 8 lines
lib/igt_kms.c +2
-3@@ -183,9 +183,9 @@ const unsigned char *igt_kms_get_alt_edid(void) } static void -generate_hdmi_audio_edid (unsigned char raw_edid[static HDMI_AUDIO_EDID_LENGTH ], -struct cea_sad *sad, -struct cea_speaker_alloc *speaker_alloc) +generate_audio_edid(unsigned char raw_edid[static AUDIO_EDID_LENGTH], + bool with_vsd, struct cea_sad *sad,
with_vsd is not exactly super clear as to what it does, right? How about with_hdmi_audio_vsd?
Quoted 87 lines
lib/igt_kms.c +35
-6+ struct cea_speaker_alloc *speaker_alloc) {struct edid *edid;struct edid_ext *edid_ext;@@ -210,10 +210,12 @@ generate_hdmi_audio_edid(unsigned char raw_edid[static HDMI_AUDIO_EDID_LENGTH], cea_data_size +=edid_cea_data_block_set_sad (block, sad,1 );/* A Vendor Specific Data block is needed for HDMI audio */ - block = (struct edid_cea_data_block *) &cea_data[cea_data_size]; - vsd =cea_vsd_get_hdmi_default (&vsd_size); - cea_data_size +=edid_cea_data_block_set_vsd (block, vsd, - vsd_size); +if (with_vsd) { + block = (struct edid_cea_data_block *) &cea_data[cea_data_size]; + vsd =cea_vsd_get_hdmi_default (&vsd_size); + cea_data_size +=edid_cea_data_block_set_vsd (block, vsd, + vsd_size); + }/* Speaker Allocation Data block */ block = (struct edid_cea_data_block *) &cea_data[cea_data_size];@@ -233,7 +235,33 @@ const unsigned char *igt_kms_get_hdmi_audio_edid(void) {int channels;uint8_t sampling_rates, sample_sizes; -static unsigned char raw_edid[HDMI_AUDIO_EDID_LENGTH ] = {0 }; +static unsigned char raw_edid[AUDIO_EDID_LENGTH ] = {0 }; +struct cea_sad sad = {0 }; +struct cea_speaker_alloc speaker_alloc = {0 }; + +/* Initialize the Short Audio Descriptor for PCM */ + channels =2 ; + sampling_rates =CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ | +CEA_SAD_SAMPLING_RATE_48KHZ ; + sample_sizes =CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 | +CEA_SAD_SAMPLE_SIZE_24 ; +cea_sad_init_pcm (&sad, channels, sampling_rates, sample_sizes); + +/* Initialize the Speaker Allocation Data */ + speaker_alloc.speakers =CEA_SPEAKER_FRONT_LEFT_RIGHT_CENTER ; + +generate_audio_edid (raw_edid, true, &sad, &speaker_alloc); + +return raw_edid; +} + +const unsigned char *igt_kms_get_dp_audio_edid (void ) +{ +int channels; +uint8_t sampling_rates, sample_sizes; +static unsigned char raw_edid[AUDIO_EDID_LENGTH ] = {0 };struct cea_sad sad = {0 };struct cea_speaker_alloc speaker_alloc = {0 };@@ -250,7 +278,7 @@ const unsigned char *igt_kms_get_hdmi_audio_edid(void)/* Initialize the Speaker Allocation Data */ speaker_alloc.speakers =CEA_SPEAKER_FRONT_LEFT_RIGHT_CENTER ; -generate_hdmi_audio_edid (raw_edid, &sad, &speaker_alloc); +generate_audio_edid (raw_edid, false, &sad, &speaker_alloc);return raw_edid; }lib/igt_kms.h +2
-1@@ -757,10 +757,11 @@ struct cea_sad;struct cea_speaker_alloc ;#define EDID_LENGTH 128 -#define HDMI_AUDIO_EDID_LENGTH (2 * EDID_LENGTH) +#define AUDIO_EDID_LENGTH (2 * EDID_LENGTH)const unsigned char *igt_kms_get_base_edid (void );const unsigned char *igt_kms_get_alt_edid (void );const unsigned char *igt_kms_get_hdmi_audio_edid (void ); +const unsigned char *igt_kms_get_dp_audio_edid (void );struct udev_monitor *igt_watch_hotplug (void ); bool igt_hotplug_detected(struct udev_monitor *mon,tests/kms_chamelium.c +0
-0
tests/kms_chamelium.c enum test_edid { · line 42
Quoted 4 lines
tests/kms_chamelium.c +1
-0@@ -39,7 +39,9 @@ enum test_edid {TEST_EDID_BASE ,TEST_EDID_ALT ,TEST_EDID_HDMI_AUDIO , + TEST_EDID_DP_AUDIO,
Move TEST_EDID_COUNT here, so as it will automatically get the right value when you change the amount of tests.
With this particular change done, this is :
The rename is up to you.
Quoted 47 lines
tests/kms_chamelium.c +6
-3}; +#define TEST_EDID_COUNT 5 typedef struct { struct chamelium *chamelium;@@ -49,7 +51,7 @@ typedef struct {int drm_fd; -int edids[4 ]; +int edids[TEST_EDID_COUNT ]; } data_t;#define HOTPLUG_TIMEOUT 20/* seconds */ @@ -1997,6 +1999,8 @@ static const unsigned char *get_edid(enum test_edid edid)return igt_kms_get_alt_edid ();case TEST_EDID_HDMI_AUDIO :return igt_kms_get_hdmi_audio_edid (); +case TEST_EDID_DP_AUDIO : +return igt_kms_get_dp_audio_edid (); }assert (0 );/* unreachable */ }@@ -2031,7 +2035,7 @@ igt_main &data.port_count); data.edids[TEST_EDID_CHAMELIUM_DEFAULT ] =CHAMELIUM_DEFAULT_EDID ; -for (i =1 ; i <sizeof (data.edids) /sizeof (data.edids[0 ]); ++i) { +for (i =1 ; i <TEST_EDID_COUNT ; ++i) { data.edids[i] =chamelium_new_edid (data.chamelium,get_edid (i)); }@@ -2113,7 +2117,7 @@ igt_main* Use the Chamelium's default EDID for DP audio. */ connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" , -TEST_EDID_CHAMELIUM_DEFAULT ); +TEST_EDID_DP_AUDIO ); } igt_subtest_group {tests/kms_hdmi_inject.c +0
-0
tests/kms_hdmi_inject.c hdmi_inject_audio(int drm_fd, drmModeConnector *connector) · line 155
Quoted 8 lines
tests/kms_hdmi_inject.c +1
-1@@ -149,7 +149,7 @@ hdmi_inject_audio(int drm_fd, drmModeConnector *connector)struct kmstest_connector_config config; edid =igt_kms_get_hdmi_audio_edid (); - length =HDMI_AUDIO_EDID_LENGTH ; + length =AUDIO_EDID_LENGTH ;kmstest_force_edid (drm_fd, connector, edid, length);
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 1/3] lib/igt_kms: generate an EDID suitable for DP audio
Quoted 27 lines · Martin Peres
Quoted 26 lines · Simon Ser
Prior to this commit, we were using the Chamelium's default EDID for DP audio. This relies on the fact that this EDID supports audio and has correct audio paremeters for our testing.
Generating our own EDID is less error-prone and will allow us to test different audio parameters.
v2:
- Replace {HDMI,DP}_AUDIO_EDID_LENGTH withAUDIO_EDID_LENGTH(Arek)
- Don't hardcode EDIDs array length (Arek)Signed-off-by Simon Ser <[email protected]>--- lib/igt_kms.c | 46 +++++++++++++++++++++++++++++++++-------- lib/igt_kms.h | 3 ++- tests/kms_chamelium.c | 10 ++++++--- tests/kms_hdmi_inject.c | 2 +- 4 files changed, 47 insertions(+), 14 deletions(-)lib/igt_kms.c +0
-0@@ -183,9 +183,9 @@ const unsigned char *igt_kms_get_alt_edid(void) }
Quoted 9 lines
lib/igt_kms.c const unsigned char *igt_kms_get_alt_edid(void) · line 187
Quoted 6 lines
lib/igt_kms.c +2
-3static void -generate_hdmi_audio_edid (unsigned char raw_edid[static HDMI_AUDIO_EDID_LENGTH ], -struct cea_sad *sad, -struct cea_speaker_alloc *speaker_alloc) +generate_audio_edid(unsigned char raw_edid[static AUDIO_EDID_LENGTH], + bool with_vsd, struct cea_sad *sad,
with_vsdis not exactly super clear as to what it does, right? How aboutwith_hdmi_audio_vsd?
Makes sense.
Quoted 80 lines
Quoted 80 lines
lib/igt_kms.c +35
-6+ struct cea_speaker_alloc *speaker_alloc) {struct edid *edid;struct edid_ext *edid_ext;@@ -210,10 +210,12 @@ generate_hdmi_audio_edid(unsigned char raw_edid[static HDMI_AUDIO_EDID_LENGTH], cea_data_size +=edid_cea_data_block_set_sad (block, sad,1 );/* A Vendor Specific Data block is needed for HDMI audio */ - block = (struct edid_cea_data_block *) &cea_data[cea_data_size]; - vsd =cea_vsd_get_hdmi_default (&vsd_size); - cea_data_size +=edid_cea_data_block_set_vsd (block, vsd, - vsd_size); +if (with_vsd) { + block = (struct edid_cea_data_block *) &cea_data[cea_data_size]; + vsd =cea_vsd_get_hdmi_default (&vsd_size); + cea_data_size +=edid_cea_data_block_set_vsd (block, vsd, + vsd_size); + }/* Speaker Allocation Data block */ block = (struct edid_cea_data_block *) &cea_data[cea_data_size];@@ -233,7 +235,33 @@ const unsigned char *igt_kms_get_hdmi_audio_edid(void) {int channels;uint8_t sampling_rates, sample_sizes; -static unsigned char raw_edid[HDMI_AUDIO_EDID_LENGTH ] = {0 }; +static unsigned char raw_edid[AUDIO_EDID_LENGTH ] = {0 }; +struct cea_sad sad = {0 }; +struct cea_speaker_alloc speaker_alloc = {0 }; + +/* Initialize the Short Audio Descriptor for PCM */ + channels =2 ; + sampling_rates =CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ | +CEA_SAD_SAMPLING_RATE_48KHZ ; + sample_sizes =CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 | +CEA_SAD_SAMPLE_SIZE_24 ; +cea_sad_init_pcm (&sad, channels, sampling_rates, sample_sizes); + +/* Initialize the Speaker Allocation Data */ + speaker_alloc.speakers =CEA_SPEAKER_FRONT_LEFT_RIGHT_CENTER ; + +generate_audio_edid (raw_edid, true, &sad, &speaker_alloc); + +return raw_edid; +} + +const unsigned char *igt_kms_get_dp_audio_edid (void ) +{ +int channels; +uint8_t sampling_rates, sample_sizes; +static unsigned char raw_edid[AUDIO_EDID_LENGTH ] = {0 };struct cea_sad sad = {0 };struct cea_speaker_alloc speaker_alloc = {0 };@@ -250,7 +278,7 @@ const unsigned char *igt_kms_get_hdmi_audio_edid(void)/* Initialize the Speaker Allocation Data */ speaker_alloc.speakers =CEA_SPEAKER_FRONT_LEFT_RIGHT_CENTER ; -generate_hdmi_audio_edid (raw_edid, &sad, &speaker_alloc); +generate_audio_edid (raw_edid, false, &sad, &speaker_alloc);return raw_edid; }lib/igt_kms.h +2
-1@@ -757,10 +757,11 @@ struct cea_sad;struct cea_speaker_alloc ;#define EDID_LENGTH 128 -#define HDMI_AUDIO_EDID_LENGTH (2 * EDID_LENGTH) +#define AUDIO_EDID_LENGTH (2 * EDID_LENGTH)const unsigned char *igt_kms_get_base_edid (void );const unsigned char *igt_kms_get_alt_edid (void );const unsigned char *igt_kms_get_hdmi_audio_edid (void ); +const unsigned char *igt_kms_get_dp_audio_edid (void );
Quoted 14 lines
tests/kms_chamelium.c enum test_edid { · line 42
Quoted 11 lines
lib/igt_kms.h +0
-0struct udev_monitor *igt_watch_hotplug (void ); bool igt_hotplug_detected(struct udev_monitor *mon,tests/kms_chamelium.c +1
-0@@ -39,7 +39,9 @@ enum test_edid {TEST_EDID_BASE ,TEST_EDID_ALT ,TEST_EDID_HDMI_AUDIO , + TEST_EDID_DP_AUDIO,Move
TEST_EDID_COUNThere, so as it will automatically get the right value when you change the amount of tests.
The issue with this approach is that I'll then need to handle the invalid TEST_EDID_COUNT enum item in each switch using this enum. Also from a semantic point-of-view, the count is not a valid enum item.
I also agree that having to keep the count in sync is annoying. Both solutions are annoying. :(
I haven't found a perfect solution for this issue yet. Suggestions welcome, if you have any.
Quoted 53 lines
With this particular change done, this is :
Reviewed-by Martin Peres <[email protected]>The rename is up to you.
Quoted 48 lines
tests/kms_chamelium.c +6
-3}; +#define TEST_EDID_COUNT 5 typedef struct { struct chamelium *chamelium;@@ -49,7 +51,7 @@ typedef struct {int drm_fd; -int edids[4 ]; +int edids[TEST_EDID_COUNT ]; } data_t;#define HOTPLUG_TIMEOUT 20/* seconds */ @@ -1997,6 +1999,8 @@ static const unsigned char *get_edid(enum test_edid edid)return igt_kms_get_alt_edid ();case TEST_EDID_HDMI_AUDIO :return igt_kms_get_hdmi_audio_edid (); +case TEST_EDID_DP_AUDIO : +return igt_kms_get_dp_audio_edid (); }assert (0 );/* unreachable */ }@@ -2031,7 +2035,7 @@ igt_main &data.port_count); data.edids[TEST_EDID_CHAMELIUM_DEFAULT ] =CHAMELIUM_DEFAULT_EDID ; -for (i =1 ; i <sizeof (data.edids) /sizeof (data.edids[0 ]); ++i) { +for (i =1 ; i <TEST_EDID_COUNT ; ++i) { data.edids[i] =chamelium_new_edid (data.chamelium,get_edid (i)); }@@ -2113,7 +2117,7 @@ igt_main* Use the Chamelium's default EDID for DP audio. */ connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" , -TEST_EDID_CHAMELIUM_DEFAULT ); +TEST_EDID_DP_AUDIO ); } igt_subtest_group {tests/kms_hdmi_inject.c +0
-0@@ -149,7 +149,7 @@ hdmi_inject_audio(int drm_fd, drmModeConnector *connector)struct kmstest_connector_config config;
Quoted 7 lines
tests/kms_hdmi_inject.c hdmi_inject_audio(int drm_fd, drmModeConnector *connector) · line 155
Quoted 7 lines
tests/kms_hdmi_inject.c +1
-1edid =igt_kms_get_hdmi_audio_edid (); - length =HDMI_AUDIO_EDID_LENGTH ; + length =AUDIO_EDID_LENGTH ;kmstest_force_edid (drm_fd, connector, edid, length);
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH v2 2/3 lib/igt_eld: add eld_get_igt
In reply to Simon SerThe existing eld_has_igt function doesn't allow the caller to retrieve the parsed ELD and check audio parameters.
--- lib/igt_eld.c | 20 +++++++++++++------- lib/igt_eld.h | 1 + 2 files changed, 14 insertions(+), 7 deletions(-)
lib/igt_eld.c +13 -7
@@ -200,16 +200,14 @@ static bool eld_parse_entry(const char *path, struct eld_entry *eld)return monitor_present; } -/** eld_has_igt: check whether ALSA has detected the audio-capable IGT EDID by -* parsing ELD entries */ -bool eld_has_igt (void ) +/** eld_get_igt: retrieve the ALSA ELD entry matching the IGT EDID */ +bool eld_get_igt (struct eld_entry *eld) {DIR *dir;struct dirent *dirent;int i;char card[64 ];char path[PATH_MAX ]; -struct eld_entry eld;for (i =0 ; i <8 ; i++) {snprintf (card,sizeof (card),"/proc/asound/card%d" , i);
@@ -224,16 +222,16 @@ bool eld_has_igt(void)snprintf (path,sizeof (path),"%s/%s" , card, dirent->d_name); -if (!eld_parse_entry (path, &eld)) { +if (!eld_parse_entry (path, eld)) {continue ; } -if (!eld.valid) { +if (!eld->valid) {igt_debug ("Skipping invalid ELD: %s\n" , path);continue ; } -if (strcmp (eld.monitor_name,"IGT" ) ==0 ) { +if (strcmp (eld->monitor_name,"IGT" ) ==0 ) {closedir (dir);return true; }
@@ -243,3 +241,11 @@ bool eld_has_igt(void)return false; } + +/** eld_has_igt: check whether ALSA has detected the audio-capable IGT EDID by +* parsing ELD entries */ +bool eld_has_igt (void ) +{ +struct eld_entry eld; +return eld_get_igt (&eld); +}
lib/igt_eld.h +1 -0
@@ -49,6 +49,7 @@ struct eld_entry { struct eld_sad sads[ELD_SADS_CAP]; }; +bool eld_get_igt (struct eld_entry *eld);bool eld_has_igt (void );#endif
Signature · 6 lines
2.21.0 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 2/3] lib/igt_eld: add eld_get_igt
Quoted 4 lines · Simon Ser
The existing
eld_has_igtfunction doesn't allow the caller to retrieve the parsed ELD and check audio parameters.Signed-off-by Simon Ser <[email protected]>
Quoted 66 lines
--- lib/igt_eld.c | 20 +++++++++++++------- lib/igt_eld.h | 1 + 2 files changed, 14 insertions(+), 7 deletions(-)lib/igt_eld.c +13
-7@@ -200,16 +200,14 @@ static bool eld_parse_entry(const char *path, struct eld_entry *eld)return monitor_present; } -/** eld_has_igt: check whether ALSA has detected the audio-capable IGT EDID by -* parsing ELD entries */ -bool eld_has_igt (void ) +/** eld_get_igt: retrieve the ALSA ELD entry matching the IGT EDID */ +bool eld_get_igt (struct eld_entry *eld) {DIR *dir;struct dirent *dirent;int i;char card[64 ];char path[PATH_MAX ]; -struct eld_entry eld;for (i =0 ; i <8 ; i++) {snprintf (card,sizeof (card),"/proc/asound/card%d" , i);@@ -224,16 +222,16 @@ bool eld_has_igt(void)snprintf (path,sizeof (path),"%s/%s" , card, dirent->d_name); -if (!eld_parse_entry (path, &eld)) { +if (!eld_parse_entry (path, eld)) {continue ; } -if (!eld.valid) { +if (!eld->valid) {igt_debug ("Skipping invalid ELD: %s\n" , path);continue ; } -if (strcmp (eld.monitor_name,"IGT" ) ==0 ) { +if (strcmp (eld->monitor_name,"IGT" ) ==0 ) {closedir (dir);return true; }@@ -243,3 +241,11 @@ bool eld_has_igt(void)return false; } + +/** eld_has_igt: check whether ALSA has detected the audio-capable IGT EDID by +* parsing ELD entries */ +bool eld_has_igt (void ) +{ +struct eld_entry eld; +return eld_get_igt (&eld); +}lib/igt_eld.h +0
-0
lib/igt_eld.h struct eld_entry { · line 55
Quoted 7 lines
lib/igt_eld.h +1
-0@@ -49,6 +49,7 @@ struct eld_entry { struct eld_sad sads[ELD_SADS_CAP]; }; +bool eld_get_igt (struct eld_entry *eld);bool eld_has_igt (void );#endif
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH v2 3/3 tests/kms_chamelium: add an audio EDID test
In reply to Simon SerThis test enables a Chamelium port with an audio-friendly EDID, and then checks that the EDID-Like Data exposed by ALSA matches our expectations.
--- tests/kms_chamelium.c | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)
tests/kms_chamelium.c +58 -0
@@ -28,6 +28,7 @@#include "igt.h" #include "igt_vc4.h" #include "igt_edid.h" +#include "igt_eld.h" #include <fcntl.h> #include <pthread.h>
@@ -1428,6 +1429,55 @@ test_display_audio(data_t *data, struct chamelium_port *port,free (alsa); } +static void +test_display_audio_edid (data_t *data,struct chamelium_port *port, +enum test_edid edid) +{ +igt_output_t *output; +igt_plane_t *primary; +struct igt_fb fb; +drmModeModeInfo *mode; +drmModeConnector *connector; +int fb_id; +struct eld_entry eld; +struct eld_sad *sad; + +reset_state (data, port); + + output =prepare_output (data, port, edid); + connector =chamelium_port_get_connector (data->chamelium, port, false); + primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY ); +igt_assert (primary); + +/* Enable the output because audio cannot be played on inactive +* connectors. */ +igt_assert (connector->count_modes >0 ); + mode = &connector->modes[0 ]; + + fb_id =igt_create_color_pattern_fb (data->drm_fd, + mode->hdisplay, mode->vdisplay, +DRM_FORMAT_XRGB8888 , +LOCAL_DRM_FORMAT_MOD_NONE , +0 ,0 ,0 , &fb); +igt_assert (fb_id >0 ); + +enable_output (data, port, output, mode, &fb); + +igt_assert (eld_get_igt (&eld)); +igt_assert (eld.sads_len ==1 ); + + sad = &eld.sads[0 ]; +igt_assert (sad->coding_type ==CEA_SAD_FORMAT_PCM ); +igt_assert (sad->channels ==2 ); +igt_assert (sad->rates == (CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ |CEA_SAD_SAMPLING_RATE_48KHZ )); +igt_assert (sad->bits == (CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 |CEA_SAD_SAMPLE_SIZE_24 )); + +igt_remove_fb (data->drm_fd, &fb); + +drmModeFreeConnector (connector); +} static void randomize_plane_stride(data_t *data, uint32_t width, uint32_t height,
@@ -2118,6 +2168,10 @@ igt_main connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" ,TEST_EDID_DP_AUDIO ); + + connector_subtest("dp-audio-edid", DisplayPort) +test_display_audio_edid (&data, port, +TEST_EDID_DP_AUDIO ); } igt_subtest_group {
@@ -2269,6 +2323,10 @@ igt_main connector_subtest("hdmi-audio", HDMIA)test_display_audio (&data, port,"HDMI" ,TEST_EDID_HDMI_AUDIO ); + + connector_subtest("hdmi-audio-edid", HDMIA) +test_display_audio_edid (&data, port, +TEST_EDID_HDMI_AUDIO ); } igt_subtest_group {
Signature · 6 lines
2.21.0 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_chamelium: add an audio EDID test
Quoted 60 lines · Simon Ser
This test enables a Chamelium port with an audio-friendly EDID, and then checks that the EDID-Like Data exposed by ALSA matches our expectations.
Signed-off-by Simon Ser <[email protected]>--- tests/kms_chamelium.c | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)tests/kms_chamelium.c +35
-0@@ -28,6 +28,7 @@#include "igt.h" #include "igt_vc4.h" #include "igt_edid.h" +#include "igt_eld.h" #include <fcntl.h> #include <pthread.h> @@ -1428,6 +1429,55 @@ test_display_audio(data_t *data, struct chamelium_port *port,free (alsa); } +static void +test_display_audio_edid (data_t *data,struct chamelium_port *port, +enum test_edid edid) +{ +igt_output_t *output; +igt_plane_t *primary; +struct igt_fb fb; +drmModeModeInfo *mode; +drmModeConnector *connector; +int fb_id; +struct eld_entry eld; +struct eld_sad *sad; + +reset_state (data, port); + + output =prepare_output (data, port, edid); + connector =chamelium_port_get_connector (data->chamelium, port, false); + primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY ); +igt_assert (primary); + +/* Enable the output because audio cannot be played on inactive +* connectors. */ +igt_assert (connector->count_modes >0 ); + mode = &connector->modes[0 ]; + + fb_id =igt_create_color_pattern_fb (data->drm_fd, + mode->hdisplay, mode->vdisplay, +DRM_FORMAT_XRGB8888 , +LOCAL_DRM_FORMAT_MOD_NONE , +0 ,0 ,0 , &fb); +igt_assert (fb_id >0 ); + +enable_output (data, port, output, mode, &fb); +
tests/kms_chamelium.c test_display_audio(data_t *data, struct chamelium_port *port, · line 1475
Quoted 10 lines
tests/kms_chamelium.c +10
-0+igt_assert (eld_get_igt (&eld)); +igt_assert (eld.sads_len ==1 ); + + sad = &eld.sads[0 ]; +igt_assert (sad->coding_type ==CEA_SAD_FORMAT_PCM ); +igt_assert (sad->channels ==2 ); +igt_assert (sad->rates == (CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ |CEA_SAD_SAMPLING_RATE_48KHZ )); +igt_assert (sad->bits == (CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 |CEA_SAD_SAMPLE_SIZE_24 ));
If we have only one tests for one EDID, I would suggest trying more coding_types and channels to make it less typical (we want to detect hardcoded values).
With channels = 8 and a couple of other coding_types, the patch is:
Any plans on generating broken ELDs and seeing how Alsa parses that?
Martin
Quoted 21 lines
tests/kms_chamelium.c +9
-0+ +igt_remove_fb (data->drm_fd, &fb); + +drmModeFreeConnector (connector); +} static void randomize_plane_stride(data_t *data, uint32_t width, uint32_t height,@@ -2118,6 +2168,10 @@ igt_main connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" ,TEST_EDID_DP_AUDIO ); + + connector_subtest("dp-audio-edid", DisplayPort) +test_display_audio_edid (&data, port, +TEST_EDID_DP_AUDIO ); } igt_subtest_group {
tests/kms_chamelium.c igt_main · line 2332
Quoted 10 lines
tests/kms_chamelium.c +4
-0@@ -2269,6 +2323,10 @@ igt_main connector_subtest("hdmi-audio", HDMIA)test_display_audio (&data, port,"HDMI" ,TEST_EDID_HDMI_AUDIO ); + + connector_subtest("hdmi-audio-edid", HDMIA) +test_display_audio_edid (&data, port, +TEST_EDID_HDMI_AUDIO ); } igt_subtest_group {
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_chamelium: add an audio EDID test
Quoted 64 lines · Martin Peres
Quoted 63 lines · Simon Ser
This test enables a Chamelium port with an audio-friendly EDID, and then checks that the EDID-Like Data exposed by ALSA matches our expectations.
Signed-off-by Simon Ser <[email protected]>--- tests/kms_chamelium.c | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)tests/kms_chamelium.c +41
-0@@ -28,6 +28,7 @@#include "igt.h" #include "igt_vc4.h" #include "igt_edid.h" +#include "igt_eld.h" #include <fcntl.h> #include <pthread.h> @@ -1428,6 +1429,55 @@ test_display_audio(data_t *data, struct chamelium_port *port,free (alsa); } +static void +test_display_audio_edid (data_t *data,struct chamelium_port *port, +enum test_edid edid) +{ +igt_output_t *output; +igt_plane_t *primary; +struct igt_fb fb; +drmModeModeInfo *mode; +drmModeConnector *connector; +int fb_id; +struct eld_entry eld; +struct eld_sad *sad; + +reset_state (data, port); + + output =prepare_output (data, port, edid); + connector =chamelium_port_get_connector (data->chamelium, port, false); + primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY ); +igt_assert (primary); + +/* Enable the output because audio cannot be played on inactive +* connectors. */ +igt_assert (connector->count_modes >0 ); + mode = &connector->modes[0 ]; + + fb_id =igt_create_color_pattern_fb (data->drm_fd, + mode->hdisplay, mode->vdisplay, +DRM_FORMAT_XRGB8888 , +LOCAL_DRM_FORMAT_MOD_NONE , +0 ,0 ,0 , &fb); +igt_assert (fb_id >0 ); + +enable_output (data, port, output, mode, &fb); + +igt_assert (eld_get_igt (&eld)); +igt_assert (eld.sads_len ==1 ); + + sad = &eld.sads[0 ]; +igt_assert (sad->coding_type ==CEA_SAD_FORMAT_PCM ); +igt_assert (sad->channels ==2 );
Quoted 8 lines
tests/kms_chamelium.c test_display_audio(data_t *data, struct chamelium_port *port, · line 1475
Quoted 4 lines
tests/kms_chamelium.c +4
-0+igt_assert (sad->rates == (CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ |CEA_SAD_SAMPLING_RATE_48KHZ )); +igt_assert (sad->bits == (CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 |CEA_SAD_SAMPLE_SIZE_24 ));If we have only one tests for one EDID, I would suggest trying more
coding_typesand channels to make it less typical (we want to detect hardcoded values).
So, the issue is that right now the EDID matches the capabilities of the Chamelium receiver. I'm not too comfortable with advertising an EDID with more than what the Chamelium supports for audio tests.
I agree that we need more EDIDs with different params. I have plans to send a patch for this.
Quoted 4 lines
With channels = 8 and a couple of other
coding_types, the patch is:Reviewed-by Martin Peres <[email protected]>Any plans on generating broken ELDs and seeing how Alsa parses that?
Yeah, broken EDIDs/ELDs would be interesting, at least to make sure it doesn't freak out completely.
Quoted 30 lines
Martin
Quoted 29 lines
tests/kms_chamelium.c +13
-0+ +igt_remove_fb (data->drm_fd, &fb); + +drmModeFreeConnector (connector); +} static void randomize_plane_stride(data_t *data, uint32_t width, uint32_t height,@@ -2118,6 +2168,10 @@ igt_main connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" ,TEST_EDID_DP_AUDIO ); + + connector_subtest("dp-audio-edid", DisplayPort) +test_display_audio_edid (&data, port, +TEST_EDID_DP_AUDIO ); } igt_subtest_group {@@ -2269,6 +2323,10 @@ igt_main connector_subtest("hdmi-audio", HDMIA)test_display_audio (&data, port,"HDMI" ,TEST_EDID_HDMI_AUDIO ); + + connector_subtest("hdmi-audio-edid", HDMIA) +test_display_audio_edid (&data, port, +TEST_EDID_HDMI_AUDIO ); }
Quoted 2 lines
tests/kms_chamelium.c igt_main · line 2332
Quoted 2 lines
tests/kms_chamelium.c +0
-0igt_subtest_group {
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_chamelium: add an audio EDID test
Quoted 74 lines · Simon
Quoted 64 lines · Martin Peres
Quoted 63 lines · Simon Ser
This test enables a Chamelium port with an audio-friendly EDID, and then checks that the EDID-Like Data exposed by ALSA matches our expectations.
Signed-off-by Simon Ser <[email protected]>--- tests/kms_chamelium.c | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)tests/kms_chamelium.c +41
-0@@ -28,6 +28,7 @@#include "igt.h" #include "igt_vc4.h" #include "igt_edid.h" +#include "igt_eld.h" #include <fcntl.h> #include <pthread.h> @@ -1428,6 +1429,55 @@ test_display_audio(data_t *data, struct chamelium_port *port,free (alsa); } +static void +test_display_audio_edid (data_t *data,struct chamelium_port *port, +enum test_edid edid) +{ +igt_output_t *output; +igt_plane_t *primary; +struct igt_fb fb; +drmModeModeInfo *mode; +drmModeConnector *connector; +int fb_id; +struct eld_entry eld; +struct eld_sad *sad; + +reset_state (data, port); + + output =prepare_output (data, port, edid); + connector =chamelium_port_get_connector (data->chamelium, port, false); + primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY ); +igt_assert (primary); + +/* Enable the output because audio cannot be played on inactive +* connectors. */ +igt_assert (connector->count_modes >0 ); + mode = &connector->modes[0 ]; + + fb_id =igt_create_color_pattern_fb (data->drm_fd, + mode->hdisplay, mode->vdisplay, +DRM_FORMAT_XRGB8888 , +LOCAL_DRM_FORMAT_MOD_NONE , +0 ,0 ,0 , &fb); +igt_assert (fb_id >0 ); + +enable_output (data, port, output, mode, &fb); + +igt_assert (eld_get_igt (&eld)); +igt_assert (eld.sads_len ==1 ); + + sad = &eld.sads[0 ]; +igt_assert (sad->coding_type ==CEA_SAD_FORMAT_PCM ); +igt_assert (sad->channels ==2 );Quoted 8 lines
tests/kms_chamelium.c test_display_audio(data_t *data, struct chamelium_port *port, · line 1475
Quoted 4 lines
tests/kms_chamelium.c +4
-0+igt_assert (sad->rates == (CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ |CEA_SAD_SAMPLING_RATE_48KHZ )); +igt_assert (sad->bits == (CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 |CEA_SAD_SAMPLE_SIZE_24 ));If we have only one tests for one EDID, I would suggest trying more
coding_typesand channels to make it less typical (we want to detect hardcoded values).
Quoted 3 lines
So, the issue is that right now the EDID matches the capabilities of the Chamelium receiver. I'm not too comfortable with advertising an EDID with more than what the Chamelium supports for audio tests.
Well, we are not going to send anything to the chamelium, so not sure why you are afraid of anything :s
Quoted 3 lines
I agree that we need more EDIDs with different params. I have plans to send a patch for this.
OK!
Quoted 8 lines
Quoted 5 lines
With channels = 8 and a couple of other
coding_types, the patch is:Reviewed-by Martin Peres <[email protected]>Any plans on generating broken ELDs and seeing how Alsa parses that?
Yeah, broken EDIDs/ELDs would be interesting, at least to make sure it doesn't freak out completely.
Exactly! :)
Quoted 31 lines
Quoted 31 lines
Martin
Quoted 29 lines
tests/kms_chamelium.c +13
-0+ +igt_remove_fb (data->drm_fd, &fb); + +drmModeFreeConnector (connector); +} static void randomize_plane_stride(data_t *data, uint32_t width, uint32_t height,@@ -2118,6 +2168,10 @@ igt_main connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" ,TEST_EDID_DP_AUDIO ); + + connector_subtest("dp-audio-edid", DisplayPort) +test_display_audio_edid (&data, port, +TEST_EDID_DP_AUDIO ); } igt_subtest_group {@@ -2269,6 +2323,10 @@ igt_main connector_subtest("hdmi-audio", HDMIA)test_display_audio (&data, port,"HDMI" ,TEST_EDID_HDMI_AUDIO ); + + connector_subtest("hdmi-audio-edid", HDMIA) +test_display_audio_edid (&data, port, +TEST_EDID_HDMI_AUDIO ); }
Quoted 2 lines
Quoted 2 lines
tests/kms_chamelium.c igt_main · line 2332
Quoted 2 lines
tests/kms_chamelium.c +0
-0igt_subtest_group {
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_chamelium: add an audio EDID test
Quoted 75 lines · Martin Peres
Quoted 74 lines · Simon
Quoted 72 lines · Martin Peres
Quoted 57 lines · Simon Ser
This test enables a Chamelium port with an audio-friendly EDID, and then checks that the EDID-Like Data exposed by ALSA matches our expectations.
Signed-off-by Simon Ser <[email protected]>--- tests/kms_chamelium.c | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)tests/kms_chamelium.c +35
-0@@ -28,6 +28,7 @@#include "igt.h" #include "igt_vc4.h" #include "igt_edid.h" +#include "igt_eld.h" #include <fcntl.h> #include <pthread.h> @@ -1428,6 +1429,55 @@ test_display_audio(data_t *data, struct chamelium_port *port,free (alsa); } +static void +test_display_audio_edid (data_t *data,struct chamelium_port *port, +enum test_edid edid) +{ +igt_output_t *output; +igt_plane_t *primary; +struct igt_fb fb; +drmModeModeInfo *mode; +drmModeConnector *connector; +int fb_id; +struct eld_entry eld; +struct eld_sad *sad; + +reset_state (data, port); + + output =prepare_output (data, port, edid); + connector =chamelium_port_get_connector (data->chamelium, port, false); + primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY ); +igt_assert (primary); + +/* Enable the output because audio cannot be played on inactive +* connectors. */ +igt_assert (connector->count_modes >0 ); + mode = &connector->modes[0 ]; + + fb_id =igt_create_color_pattern_fb (data->drm_fd, + mode->hdisplay, mode->vdisplay, +DRM_FORMAT_XRGB8888 , +LOCAL_DRM_FORMAT_MOD_NONE , +0 ,0 ,0 , &fb); +igt_assert (fb_id >0 ); + +enable_output (data, port, output, mode, &fb); +tests/kms_chamelium.c test_display_audio(data_t *data, struct chamelium_port *port, · line 1475
Quoted 10 lines
tests/kms_chamelium.c +10
-0+igt_assert (eld_get_igt (&eld)); +igt_assert (eld.sads_len ==1 ); + + sad = &eld.sads[0 ]; +igt_assert (sad->coding_type ==CEA_SAD_FORMAT_PCM ); +igt_assert (sad->channels ==2 ); +igt_assert (sad->rates == (CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ |CEA_SAD_SAMPLING_RATE_48KHZ )); +igt_assert (sad->bits == (CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 |CEA_SAD_SAMPLE_SIZE_24 ));If we have only one tests for one EDID, I would suggest trying more
coding_typesand channels to make it less typical (we want to detect hardcoded values).
Quoted 6 lines
Quoted 3 lines
So, the issue is that right now the EDID matches the capabilities of the Chamelium receiver. I'm not too comfortable with advertising an EDID with more than what the Chamelium supports for audio tests.
Well, we are not going to send anything to the chamelium, so not sure why you are afraid of anything :s
The same EDID is used for audio tests.
Quoted 45 lines
Quoted 2 lines
I agree that we need more EDIDs with different params. I have plans to send a patch for this.
OK!
Quoted 7 lines
Quoted 4 lines
With channels = 8 and a couple of other
coding_types, the patch is:Reviewed-by Martin Peres <[email protected]>Any plans on generating broken ELDs and seeing how Alsa parses that?
Yeah, broken EDIDs/ELDs would be interesting, at least to make sure it doesn't freak out completely.
Exactly! :)
Quoted 30 lines
Quoted 30 lines
Martin
Quoted 29 lines
tests/kms_chamelium.c +13
-0+ +igt_remove_fb (data->drm_fd, &fb); + +drmModeFreeConnector (connector); +} static void randomize_plane_stride(data_t *data, uint32_t width, uint32_t height,@@ -2118,6 +2168,10 @@ igt_main connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" ,TEST_EDID_DP_AUDIO ); + + connector_subtest("dp-audio-edid", DisplayPort) +test_display_audio_edid (&data, port, +TEST_EDID_DP_AUDIO ); } igt_subtest_group {@@ -2269,6 +2323,10 @@ igt_main connector_subtest("hdmi-audio", HDMIA)test_display_audio (&data, port,"HDMI" ,TEST_EDID_HDMI_AUDIO ); + + connector_subtest("hdmi-audio-edid", HDMIA) +test_display_audio_edid (&data, port, +TEST_EDID_HDMI_AUDIO ); }
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
tests/kms_chamelium.c igt_main · line 2332
Quoted 2 lines
tests/kms_chamelium.c +0
-0igt_subtest_group {
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_chamelium: add an audio EDID test
Quoted 76 lines · Simon
Quoted 75 lines · Martin Peres
Quoted 74 lines · Simon
Quoted 72 lines · Martin Peres
Quoted 57 lines · Simon Ser
This test enables a Chamelium port with an audio-friendly EDID, and then checks that the EDID-Like Data exposed by ALSA matches our expectations.
Signed-off-by Simon Ser <[email protected]>--- tests/kms_chamelium.c | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)tests/kms_chamelium.c +35
-0@@ -28,6 +28,7 @@#include "igt.h" #include "igt_vc4.h" #include "igt_edid.h" +#include "igt_eld.h" #include <fcntl.h> #include <pthread.h> @@ -1428,6 +1429,55 @@ test_display_audio(data_t *data, struct chamelium_port *port,free (alsa); } +static void +test_display_audio_edid (data_t *data,struct chamelium_port *port, +enum test_edid edid) +{ +igt_output_t *output; +igt_plane_t *primary; +struct igt_fb fb; +drmModeModeInfo *mode; +drmModeConnector *connector; +int fb_id; +struct eld_entry eld; +struct eld_sad *sad; + +reset_state (data, port); + + output =prepare_output (data, port, edid); + connector =chamelium_port_get_connector (data->chamelium, port, false); + primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY ); +igt_assert (primary); + +/* Enable the output because audio cannot be played on inactive +* connectors. */ +igt_assert (connector->count_modes >0 ); + mode = &connector->modes[0 ]; + + fb_id =igt_create_color_pattern_fb (data->drm_fd, + mode->hdisplay, mode->vdisplay, +DRM_FORMAT_XRGB8888 , +LOCAL_DRM_FORMAT_MOD_NONE , +0 ,0 ,0 , &fb); +igt_assert (fb_id >0 ); + +enable_output (data, port, output, mode, &fb); +tests/kms_chamelium.c test_display_audio(data_t *data, struct chamelium_port *port, · line 1475
Quoted 10 lines
tests/kms_chamelium.c +10
-0+igt_assert (eld_get_igt (&eld)); +igt_assert (eld.sads_len ==1 ); + + sad = &eld.sads[0 ]; +igt_assert (sad->coding_type ==CEA_SAD_FORMAT_PCM ); +igt_assert (sad->channels ==2 ); +igt_assert (sad->rates == (CEA_SAD_SAMPLING_RATE_32KHZ | +CEA_SAD_SAMPLING_RATE_44KHZ |CEA_SAD_SAMPLING_RATE_48KHZ )); +igt_assert (sad->bits == (CEA_SAD_SAMPLE_SIZE_16 | +CEA_SAD_SAMPLE_SIZE_20 |CEA_SAD_SAMPLE_SIZE_24 ));If we have only one tests for one EDID, I would suggest trying more
coding_typesand channels to make it less typical (we want to detect hardcoded values).
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
So, the issue is that right now the EDID matches the capabilities of the Chamelium receiver. I'm not too comfortable with advertising an EDID with more than what the Chamelium supports for audio tests.
Well, we are not going to send anything to the chamelium, so not sure why you are afraid of anything :s
The same EDID is used for audio tests.
That's OK to test the parsing with it, but I was arguing for creating custom EDIDs in this tests ;)
Anyway, we can land this patch already and build on it later!
Martin
Quoted 46 lines
Quoted 46 lines
Quoted 3 lines
I agree that we need more EDIDs with different params. I have plans to send a patch for this.
OK!
Quoted 7 lines
Quoted 4 lines
With channels = 8 and a couple of other
coding_types, the patch is:Reviewed-by Martin Peres <[email protected]>Any plans on generating broken ELDs and seeing how Alsa parses that?
Yeah, broken EDIDs/ELDs would be interesting, at least to make sure it doesn't freak out completely.
Exactly! :)
Quoted 30 lines
Quoted 30 lines
Martin
Quoted 29 lines
tests/kms_chamelium.c +13
-0+ +igt_remove_fb (data->drm_fd, &fb); + +drmModeFreeConnector (connector); +} static void randomize_plane_stride(data_t *data, uint32_t width, uint32_t height,@@ -2118,6 +2168,10 @@ igt_main connector_subtest("dp-audio", DisplayPort)test_display_audio (&data, port,"HDMI" ,TEST_EDID_DP_AUDIO ); + + connector_subtest("dp-audio-edid", DisplayPort) +test_display_audio_edid (&data, port, +TEST_EDID_DP_AUDIO ); } igt_subtest_group {@@ -2269,6 +2323,10 @@ igt_main connector_subtest("hdmi-audio", HDMIA)test_display_audio (&data, port,"HDMI" ,TEST_EDID_HDMI_AUDIO ); + + connector_subtest("hdmi-audio-edid", HDMIA) +test_display_audio_edid (&data, port, +TEST_EDID_HDMI_AUDIO ); }
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
tests/kms_chamelium.c igt_main · line 2332
Quoted 2 lines
tests/kms_chamelium.c +0
-0igt_subtest_group {
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for Add audio EDID tests to Chamelium (rev3)
In reply to Simon Ser== Series Details ==
== Series Details ==
Series: Add audio EDID tests to Chamelium (rev3)
URL : https://patchwork.freedesktop.org/series/61424/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6206 -> IGTPW_3127
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/61424/revisions/3/mbox/
Known issues
------------
Here are the changes found in IGTPW_3127 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
- fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/fi-icl-u3/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/fi-icl-u3/igt@[email protected]
#### Possible fixes ####
* igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3: [FAIL][3] ([fdo#103167]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/fi-icl-u3/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/fi-icl-u3/igt@[email protected]
* igt@vgem_basic@unload:
- fi-icl-u3: [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/fi-icl-u3/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/fi-icl-u3/igt@[email protected]
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
Participating hosts (55 -> 47)
------------------------------
Missing (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-kbl-7560u fi-byt-clapper fi-bdw-samus
Build changes
-------------
* IGT: IGT_5043 -> IGTPW_3127
CI_DRM_6206: 14ef563cbee376503d3551992d71f2f075e7462c @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3127: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/
IGT_5043: 3e2b20817b68ab41377c1b86207a1e7309fc3779 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@kms_chamelium@dp-audio-edid
+igt@kms_chamelium@hdmi-audio-edid
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for Add audio EDID tests to Chamelium (rev3)
In reply to Simon Ser== Series Details ==
== Series Details ==
Series: Add audio EDID tests to Chamelium (rev3)
URL : https://patchwork.freedesktop.org/series/61424/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6206_full -> IGTPW_3127_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/61424/revisions/3/mbox/
New tests
---------
New tests have been introduced between CI_DRM_6206_full and IGTPW_3127_full:
### New IGT tests (2) ###
* igt@kms_chamelium@dp-audio-edid:
- Statuses : 5 skip(s)
- Exec time: [0.0] s
* igt@kms_chamelium@hdmi-audio-edid:
- Statuses : 5 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_3127_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_eio@in-flight-suspend:
- shard-kbl: [PASS][1] -> [FAIL][2] ([fdo#110667])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-kbl7/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-kbl7/igt@[email protected]
* igt@gem_mmap_gtt@forked-big-copy:
- shard-iclb: [PASS][3] -> [TIMEOUT][4] ([fdo#109673])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb1/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb5/igt@[email protected]
* igt@gem_tiled_swapping@non-threaded:
- shard-apl: [PASS][5] -> [DMESG-WARN][6] ([fdo#108686])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl1/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl5/igt@[email protected]
* igt@kms_color@pipe-a-ctm-blue-to-red:
- shard-kbl: [PASS][7] -> [FAIL][8] ([fdo#107201])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-kbl1/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-kbl4/igt@[email protected]
- shard-apl: [PASS][9] -> [FAIL][10] ([fdo#107201])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl7/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl1/igt@[email protected]
* igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge:
- shard-snb: [PASS][11] -> [SKIP][12] ([fdo#109271] / [fdo#109278])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-snb6/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-snb5/igt@[email protected]
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-apl: [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl1/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl7/igt@[email protected]
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt:
- shard-snb: [PASS][15] -> [SKIP][16] ([fdo#109271]) +1 similar issue
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-snb4/igt@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-snb5/igt@[email protected]
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
- shard-apl: [PASS][17] -> [FAIL][18] ([fdo#103167])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
- shard-kbl: [PASS][19] -> [FAIL][20] ([fdo#103167])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
- shard-glk: [PASS][21] -> [FAIL][22] ([fdo#103167])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-glk6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-glk1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-tilingchange:
- shard-iclb: [PASS][23] -> [INCOMPLETE][24] ([fdo#107713])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb1/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb1/igt@[email protected]
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: [PASS][25] -> [FAIL][26] ([fdo#103167]) +6 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_setmode@basic:
- shard-apl: [PASS][27] -> [FAIL][28] ([fdo#99912])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl1/igt@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl8/igt@[email protected]
#### Possible fixes ####
* {igt@gem_exec_balancer@bonded-imm}:
- shard-iclb: [FAIL][29] ([fdo#110851]) -> [PASS][30] +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb1/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb6/igt@[email protected]
* igt@gem_mmap_gtt@forked-basic-small-copy-odd:
- shard-iclb: [INCOMPLETE][31] ([fdo#107713]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb7/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb2/igt@[email protected]
* igt@gem_tiled_swapping@non-threaded:
- shard-iclb: [FAIL][33] ([fdo#108686]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb4/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb3/igt@[email protected]
- shard-kbl: [DMESG-WARN][35] ([fdo#108686]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-kbl3/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-kbl6/igt@[email protected]
* igt@i915_pm_rpm@universal-planes:
- shard-iclb: [INCOMPLETE][37] ([fdo#107713] / [fdo#108840]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb5/igt@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb2/igt@[email protected]
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl: [DMESG-WARN][39] ([fdo#108566]) -> [PASS][40] +3 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl5/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl1/igt@[email protected]
* igt@kms_cursor_crc@pipe-b-cursor-128x128-random:
- shard-kbl: [FAIL][41] ([fdo#103232]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-kbl2/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-kbl2/igt@[email protected]
- shard-apl: [FAIL][43] ([fdo#103232]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-apl3/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-apl8/igt@[email protected]
* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
- shard-iclb: [FAIL][45] ([fdo#103167]) -> [PASS][46] +3 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb6/igt@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb7/igt@[email protected]
* igt@kms_psr@psr2_cursor_mmap_gtt:
- shard-iclb: [SKIP][47] ([fdo#109441]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb4/igt@kms_psr@psr2_cursor_mmap_gtt.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_gtt.html
* igt@kms_setmode@basic:
- shard-kbl: [FAIL][49] ([fdo#99912]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-kbl7/igt@[email protected]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-kbl6/igt@[email protected]
* igt@perf@polling:
- shard-iclb: [FAIL][51] ([fdo#110728]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb7/igt@[email protected]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb7/igt@[email protected]
#### Warnings ####
* igt@gem_mmap_gtt@forked-big-copy-xy:
- shard-iclb: [INCOMPLETE][53] ([fdo#107713] / [fdo#109100]) -> [TIMEOUT][54] ([fdo#109673])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6206/shard-iclb6/igt@[email protected]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/shard-iclb2/igt@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
[fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
[fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
[fdo#110667]: https://bugs.freedesktop.org/show_bug.cgi?id=110667
[fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
[fdo#110851]: https://bugs.freedesktop.org/show_bug.cgi?id=110851
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (9 -> 5)
------------------------------
Missing (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005
Build changes
-------------
* IGT: IGT_5043 -> IGTPW_3127
* Piglit: piglit_4509 -> None
CI_DRM_6206: 14ef563cbee376503d3551992d71f2f075e7462c @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3127: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3127/
IGT_5043: 3e2b20817b68ab41377c1b86207a1e7309fc3779 @ 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_3127/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev