Skip to contentSkip to conversation

Check for audio noise and pops

PATCH In review Simon Ser 3 participants 13 messages Jun 4, 2019 – Jun 12, 2019 Library code

lore
Share & tools
lore

Simon Ser

author
#0 lore raw

v2 cover Check for audio noise and pops

This series is a continuation of "Add igt_audio self-tests and check for noise/pops". Comments have been addressed on the last two patches of that series, and a new commit adds a new phaseshift test.

In my real-world tests the power for these low frequencies go up to 0.0001 for DisplayPort. In the self-tests a 0.0005 threshold detects a phaseshift of at least 4 samples. Lowering the threshold to 0.0002 isn't enough to detect phaseshifts with a lower number of samples. Thus I still think a 0.0005 threshold is reasonable.

The phaseshift self-test truncates 8 samples, just so that we have some freedom if we want to change audio_signal_detect's logic. 8 samples is definitely a very small phaseshift.

Simon Ser (3):
lib/igt_audio: detect noise and pops lib/tests/igt_audio: add a pop test lib/tests/igt_audio: add phaseshift detection test

 lib/igt_audio.c       | 58 ++++++++++++++++++++++++++++++++++++++----
 lib/tests/igt_audio.c | 59 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+), 5 deletions(-)

--
2.21.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

author
#1 lore raw

PATCH v2 1/3 lib/igt_audio: detect noise and pops

First, normalize the bin power by dividing it by the number of input samples. We need to multiply by 2 since we get half as many bins as input samples.

Second, check that low frequencies are under a given threshold. If there is a pop or some noise, the low frequencies will be affected.

---
 lib/igt_audio.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 53 insertions(+), 5 deletions(-)
lib/igt_audio.c +53 -5
index 08c0fb6af0db..e0b1bafe1be2 100644
@@ -39,6 +39,17 @@
 #define CHANNELS_MAX 8
 #define SYNTHESIZE_AMPLITUDE 0.9
 #define SYNTHESIZE_ACCURACY 0.2
+/** MIN_FREQ: minimum frequency that audio_signal can generate.
+ *
+ * To make sure the audio signal doesn't contain noise, #audio_signal_detect
+ * checks that low frequencies have a power lower than #NOISE_THRESHOLD.
+ * However if too-low frequencies are generated, noise detection can fail.
+ *
+ * This value should be at least 100Hz plus one bin. Best is not to change this
+ * value.
+ */
+#define MIN_FREQ 200 /* Hz */
+#define NOISE_THRESHOLD 0.0005
 
 /**
  * SECTION:igt_audio
@@ -108,6 +119,7 @@ int audio_signal_add_frequency(struct audio_signal *signal, int frequency,
 
 	igt_assert(index < FREQS_MAX);
 	igt_assert(channel < signal->channels);
+	igt_assert(frequency >= MIN_FREQ);
 
 	/* Stay within the Nyquist–Shannon sampling theorem. */
 	if (frequency > signal->sampling_rate / 2) {
@@ -304,6 +316,12 @@ void audio_signal_fill(struct audio_signal *signal, double *buffer,
 	audio_sanity_check(buffer, signal->channels * samples);
 }
 
+/* See https://en.wikipedia.org/wiki/Window_function#Hann_and_Hamming_windows */
+static double hann_window(double v, size_t i, size_t N)
+{
+	return v * 0.5 * (1 - cos(2.0 * M_PI * (double) i / (double) N));
+}
+
 /**
  * Checks that frequencies specified in signal, and only those, are included
  * in the input data.
@@ -328,6 +346,16 @@ bool audio_signal_detect(struct audio_signal *signal, int sampling_rate,
 	data = malloc(samples_len * sizeof(double));
 	memcpy(data, samples, samples_len * sizeof(double));
 
+	/* Apply a Hann window to the input signal, to reduce frequency leaks
+	 * due to the endpoints of the signal being discontinuous.
+	 *
+	 * For more info:
+	 * - https://download.ni.com/evaluation/pxi/Understanding%20FFTs%20and%20Windowing.pdf
+	 * - https://en.wikipedia.org/wiki/Window_function
+	 */
+	for (i = 0; i < data_len; i++)
+		data[i] = hann_window(data[i], i, data_len);
+
 	/* Allowed error in Hz due to FFT step */
 	freq_accuracy = sampling_rate / data_len;
 	igt_debug("Allowed freq. error: %d Hz\n", freq_accuracy);
@@ -338,8 +366,7 @@ bool audio_signal_detect(struct audio_signal *signal, int sampling_rate,
 		igt_assert(0);
 	}
 
-	/* Compute the power received by every bin of the FFT, and record the
-	 * maximum power received as a way to normalize all the others.
+	/* Compute the power received by every bin of the FFT.
 	 *
 	 * For i < data_len / 2, the real part of the i-th term is stored at
 	 * data[i] and its imaginary part is stored at data[data_len - i].
@@ -349,15 +376,36 @@ bool audio_signal_detect(struct audio_signal *signal, int sampling_rate,
 	 * The power is encoded as the magnitude of the complex number and the
 	 * phase is encoded as its angle.
 	 */
-	max = 0;
 	bin_power[0] = data[0];
 	for (i = 1; i < bin_power_len - 1; i++) {
 		bin_power[i] = hypot(data[i], data[data_len - i]);
-		if (bin_power[i] > max)
-			max = bin_power[i];
 	}
 	bin_power[bin_power_len - 1] = data[data_len / 2];
 
+	/* Normalize the power */
+	for (i = 0; i < bin_power_len; i++)
+		bin_power[i] = 2 * bin_power[i] / data_len;
+
+	/* Detect noise with a threshold on the power of low frequencies */
+	for (i = 0; i < bin_power_len; i++) {
+		freq = sampling_rate * i / data_len;
+		if (freq > MIN_FREQ - 100)
+			break;
+		if (bin_power[i] > NOISE_THRESHOLD) {
+			igt_debug("Noise level too high: freq=%d power=%f\n",
+				  freq, bin_power[i]);
+			return false;
+		}
+	}
+
+	/* Record the maximum power received as a way to normalize all the
+	 * others. */
+	max = NAN;
+	for (i = 0; i < bin_power_len; i++) {
+		if (isnan(max) || bin_power[i] > max)
+			max = bin_power[i];
+	}
+
 	for (i = 0; i < signal->freqs_count; i++)
 		detected[i] = false;
 
Signature · 6 lines
2.21.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v2 1/3
#2 lore raw

Re: [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect noise and pops

Quoted 5 lines · Simon Ser

First, normalize the bin power by dividing it by the number of input samples. We need to multiply by 2 since we get half as many bins as input samples.

Second, check that low frequencies are under a given threshold. If there is a pop or some noise, the low frequencies will be affected.

Quoted 107 lines
---
 lib/igt_audio.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 53 insertions(+), 5 deletions(-)
lib/igt_audio.c +46 -5
index 08c0fb6af0db..e0b1bafe1be2 100644
@@ -39,6 +39,17 @@
 #define CHANNELS_MAX 8
 #define SYNTHESIZE_AMPLITUDE 0.9
 #define SYNTHESIZE_ACCURACY 0.2
+/** MIN_FREQ: minimum frequency that audio_signal can generate.
+ *
+ * To make sure the audio signal doesn't contain noise, #audio_signal_detect
+ * checks that low frequencies have a power lower than #NOISE_THRESHOLD.
+ * However if too-low frequencies are generated, noise detection can fail.
+ *
+ * This value should be at least 100Hz plus one bin. Best is not to change this
+ * value.
+ */
+#define MIN_FREQ 200 /* Hz */
+#define NOISE_THRESHOLD 0.0005
 
 /**
  * SECTION:igt_audio
@@ -108,6 +119,7 @@ int audio_signal_add_frequency(struct audio_signal *signal, int frequency,
 
 	igt_assert(index < FREQS_MAX);
 	igt_assert(channel < signal->channels);
+	igt_assert(frequency >= MIN_FREQ);
 
 	/* Stay within the Nyquist–Shannon sampling theorem. */
 	if (frequency > signal->sampling_rate / 2) {
@@ -304,6 +316,12 @@ void audio_signal_fill(struct audio_signal *signal, double *buffer,
 	audio_sanity_check(buffer, signal->channels * samples);
 }
 
+/* See https://en.wikipedia.org/wiki/Window_function#Hann_and_Hamming_windows */
+static double hann_window(double v, size_t i, size_t N)
+{
+	return v * 0.5 * (1 - cos(2.0 * M_PI * (double) i / (double) N));
+}
+
 /**
  * Checks that frequencies specified in signal, and only those, are included
  * in the input data.
@@ -328,6 +346,16 @@ bool audio_signal_detect(struct audio_signal *signal, int sampling_rate,
 	data = malloc(samples_len * sizeof(double));
 	memcpy(data, samples, samples_len * sizeof(double));
 
+	/* Apply a Hann window to the input signal, to reduce frequency leaks
+	 * due to the endpoints of the signal being discontinuous.
+	 *
+	 * For more info:
+	 * - https://download.ni.com/evaluation/pxi/Understanding%20FFTs%20and%20Windowing.pdf
+	 * - https://en.wikipedia.org/wiki/Window_function
+	 */
+	for (i = 0; i < data_len; i++)
+		data[i] = hann_window(data[i], i, data_len);
+
 	/* Allowed error in Hz due to FFT step */
 	freq_accuracy = sampling_rate / data_len;
 	igt_debug("Allowed freq. error: %d Hz\n", freq_accuracy);
@@ -338,8 +366,7 @@ bool audio_signal_detect(struct audio_signal *signal, int sampling_rate,
 		igt_assert(0);
 	}
 
-	/* Compute the power received by every bin of the FFT, and record the
-	 * maximum power received as a way to normalize all the others.
+	/* Compute the power received by every bin of the FFT.
 	 *
 	 * For i < data_len / 2, the real part of the i-th term is stored at
 	 * data[i] and its imaginary part is stored at data[data_len - i].
@@ -349,15 +376,36 @@ bool audio_signal_detect(struct audio_signal *signal, int sampling_rate,
 	 * The power is encoded as the magnitude of the complex number and the
 	 * phase is encoded as its angle.
 	 */
-	max = 0;
 	bin_power[0] = data[0];
 	for (i = 1; i < bin_power_len - 1; i++) {
 		bin_power[i] = hypot(data[i], data[data_len - i]);
-		if (bin_power[i] > max)
-			max = bin_power[i];
 	}
 	bin_power[bin_power_len - 1] = data[data_len / 2];
 
+	/* Normalize the power */
+	for (i = 0; i < bin_power_len; i++)
+		bin_power[i] = 2 * bin_power[i] / data_len;
+
+	/* Detect noise with a threshold on the power of low frequencies */
+	for (i = 0; i < bin_power_len; i++) {
+		freq = sampling_rate * i / data_len;
+		if (freq > MIN_FREQ - 100)
+			break;
+		if (bin_power[i] > NOISE_THRESHOLD) {
+			igt_debug("Noise level too high: freq=%d power=%f\n",
+				  freq, bin_power[i]);
+			return false;
+		}
+	}
+
+	/* Record the maximum power received as a way to normalize all the

lib/igt_audio.c bool audio_signal_detect(struct audio_signal *signal, int sampling_rate, · line 411

Quoted 10 lines
lib/igt_audio.c +7 -0
+	 * others. */
+	max = NAN;
+	for (i = 0; i < bin_power_len; i++) {
+		if (isnan(max) || bin_power[i] > max)
+			max = bin_power[i];
+	}
+
 	for (i = 0; i < signal->freqs_count; i++)
 		detected[i] = false;
 

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

author
#3 lore raw

PATCH v2 2/3 lib/tests/igt_audio: add a pop test

In reply to Simon Ser

Make sure adding a pop in the input signal makes audio_signal_detect fail.

---
 lib/tests/igt_audio.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
lib/tests/igt_audio.c +23 -0
index 47e61adf74fe..821813bae47a 100644
@@ -116,6 +116,26 @@ static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
+static void test_signal_detect_pop(struct audio_signal *signal)
+{
+	double *buf;
+	bool ok;
+	size_t i;
+
+	buf = malloc(BUFFER_LEN * sizeof(double));
+	audio_signal_fill(signal, buf, BUFFER_LEN / CHANNELS);
+
+	/* Add a discontinuity in the signal */
+	for (i = 0; i < 5; i++)
+		buf[BUFFER_LEN / 3 + i] = 0.9;
+
+	ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN);
+
+	free(buf);
+
+	igt_assert(!ok);
+}
+
 igt_main
 {
 	struct audio_signal *signal;
@@ -151,6 +171,9 @@ igt_main
 		igt_subtest("signal-detect-with-unexpected-freq")
 			test_signal_detect_with_unexpected_freq(signal);
 
+		igt_subtest("signal-detect-pop")
+			test_signal_detect_pop(signal);
+
 		igt_fixture {
 			audio_signal_fini(signal);
 		}
Signature · 6 lines
2.21.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#4 lore raw

Re: [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test

Quoted 12 lines · Simon Ser

Make sure adding a pop in the input signal makes audio_signal_detect fail.

---
 lib/tests/igt_audio.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
lib/tests/igt_audio.c +0 -0
index 47e61adf74fe..821813bae47a 100644

lib/tests/igt_audio.c static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal) · line 119

Quoted 4 lines
lib/tests/igt_audio.c +1 -0
@@ -116,6 +116,26 @@ static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
+static void test_signal_detect_pop(struct audio_signal *signal)

I would prefer you repeating/holding the sample for multiple samples as opposed to forcing 0.9.

How about naming the test "test_signal_detect_held_sample"?

Quoted 24 lines
lib/tests/igt_audio.c +19 -0
+{
+	double *buf;
+	bool ok;
+	size_t i;
+
+	buf = malloc(BUFFER_LEN * sizeof(double));
+	audio_signal_fill(signal, buf, BUFFER_LEN / CHANNELS);
+
+	/* Add a discontinuity in the signal */
+	for (i = 0; i < 5; i++)
+		buf[BUFFER_LEN / 3 + i] = 0.9;
+
+	ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN);
+
+	free(buf);
+
+	igt_assert(!ok);
+}
+
 igt_main
 {
 	struct audio_signal *signal;

lib/tests/igt_audio.c igt_main · line 179

Quoted 9 lines
lib/tests/igt_audio.c +3 -0
@@ -151,6 +171,9 @@ igt_main
 		igt_subtest("signal-detect-with-unexpected-freq")
 			test_signal_detect_with_unexpected_freq(signal);
 
+		igt_subtest("signal-detect-pop")
+			test_signal_detect_pop(signal);
+
 		igt_fixture {
 			audio_signal_fini(signal);
 		}

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

author
#5 lore raw

PATCH v3 1/1 lib/tests/igt_audio: add a test holding a sample

Make sure holding a sample in the input signal makes audio_signal_detect fail.

---
 lib/tests/igt_audio.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
lib/tests/igt_audio.c +25 -0
index 47e61adf74fe..d18537d66fb7 100644
@@ -116,6 +116,28 @@ static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
+static void test_signal_detect_held_sample(struct audio_signal *signal)
+{
+	double *buf;
+	bool ok;
+	size_t i;
+	double value;
+
+	buf = malloc(BUFFER_LEN * sizeof(double));
+	audio_signal_fill(signal, buf, BUFFER_LEN / CHANNELS);
+
+	/* Repeat a sample in the middle of the signal */
+	value = buf[BUFFER_LEN / 3];
+	for (i = 0; i < 5; i++)
+		buf[BUFFER_LEN / 3 + i] = value;
+
+	ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN);
+
+	free(buf);
+
+	igt_assert(!ok);
+}
+
 igt_main
 {
 	struct audio_signal *signal;
@@ -151,6 +173,9 @@ igt_main
 		igt_subtest("signal-detect-with-unexpected-freq")
 			test_signal_detect_with_unexpected_freq(signal);
 
+		igt_subtest("signal-detect-held-sample")
+			test_signal_detect_held_sample(signal);
+
 		igt_fixture {
 			audio_signal_fini(signal);
 		}

--
2.21.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

Reviewed-by on v3 1/1
#6 lore raw

Re: [igt-dev] [PATCH i-g-t v3] lib/tests/igt_audio: add a test holding a sample

Quoted 25 lines · Simon Ser

Make sure holding a sample in the input signal makes audio_signal_detect fail.

---
 lib/tests/igt_audio.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
lib/tests/igt_audio.c +10 -0
index 47e61adf74fe..d18537d66fb7 100644
@@ -116,6 +116,28 @@ static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
+static void test_signal_detect_held_sample(struct audio_signal *signal)
+{
+	double *buf;
+	bool ok;
+	size_t i;
+	double value;
+
+	buf = malloc(BUFFER_LEN * sizeof(double));
+	audio_signal_fill(signal, buf, BUFFER_LEN / CHANNELS);
+

lib/tests/igt_audio.c static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal) · line 138

Quoted 10 lines
lib/tests/igt_audio.c +10 -0
+	/* Repeat a sample in the middle of the signal */
+	value = buf[BUFFER_LEN / 3];
+	for (i = 0; i < 5; i++)
+		buf[BUFFER_LEN / 3 + i] = value;
+
+	ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN);
+
+	free(buf);
+
+	igt_assert(!ok);

Please add a reason here. With this done, the patch is:

Quoted 16 lines
lib/tests/igt_audio.c +5 -1
+}
+
 igt_main
 {
 	struct audio_signal *signal;
@@ -151,6 +173,9 @@ igt_main
 		igt_subtest("signal-detect-with-unexpected-freq")
 			test_signal_detect_with_unexpected_freq(signal);
 
+		igt_subtest("signal-detect-held-sample")
+			test_signal_detect_held_sample(signal);
+
 		igt_fixture {
 			audio_signal_fini(signal);
 		}
--
Quoted 2 lines

2.21.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

author
#7 lore raw

PATCH v2 3/3 lib/tests/igt_audio: add phaseshift detection test

In reply to Simon Ser

Truncate a few samples in the middle of the signal, and make sure the detection fails.

---
 lib/tests/igt_audio.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
lib/tests/igt_audio.c +36 -0
index 821813bae47a..7c5279acc92e 100644
@@ -33,6 +33,8 @@
 #define SAMPLING_RATE 44100
 #define CHANNELS 1
 #define BUFFER_LEN 2048
+/** PHASESHIFT_LEN: how many samples will be truncated from the signal */
+#define PHASESHIFT_LEN 8
 
 static const int test_freqs[] = { 300, 700, 5000 };
 
@@ -136,6 +138,37 @@ static void test_signal_detect_pop(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
+static void test_signal_detect_phaseshift(struct audio_signal *signal)
+{
+	double *buf;
+	bool ok;
+
+	buf = malloc((BUFFER_LEN + PHASESHIFT_LEN) * sizeof(double));
+	audio_signal_fill(signal, buf, (BUFFER_LEN + PHASESHIFT_LEN) / CHANNELS);
+
+	/* Perform a phaseshift (this isn't related to sirens).
+	 *
+	 * The idea is to remove a part of the signal in the middle of the
+	 * buffer:
+	 *
+	 *   BUFFER_LEN/3   PHASESHIFT_LEN            2*BUFFER_LEN/3
+	 * [--------------|################|---------------------------------]
+	 *
+	 *                           |
+	 *                           V
+	 *
+	 * [--------------|---------------------------------]
+	 */
+	memmove(&buf[BUFFER_LEN / 3], &buf[BUFFER_LEN / 3 + PHASESHIFT_LEN],
+		(2 * BUFFER_LEN / 3) * sizeof(double));
+
+	ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN);
+
+	free(buf);
+
+	igt_assert(!ok);
+}
+
 igt_main
 {
 	struct audio_signal *signal;
@@ -174,6 +207,9 @@ igt_main
 		igt_subtest("signal-detect-pop")
 			test_signal_detect_pop(signal);
 
+		igt_subtest("signal-detect-phaseshift")
+			test_signal_detect_phaseshift(signal);
+
 		igt_fixture {
 			audio_signal_fini(signal);
 		}
Signature · 6 lines
2.21.0

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v2 3/3
#8 lore raw

Re: [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test

Quoted 2 lines · Simon Ser

Truncate a few samples in the middle of the signal, and make sure the detection fails.

This is very nice!

Quoted 59 lines
---
 lib/tests/igt_audio.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
lib/tests/igt_audio.c +33 -0
index 821813bae47a..7c5279acc92e 100644
@@ -33,6 +33,8 @@
 #define SAMPLING_RATE 44100
 #define CHANNELS 1
 #define BUFFER_LEN 2048
+/** PHASESHIFT_LEN: how many samples will be truncated from the signal */
+#define PHASESHIFT_LEN 8
 
 static const int test_freqs[] = { 300, 700, 5000 };
 
@@ -136,6 +138,37 @@ static void test_signal_detect_pop(struct audio_signal *signal)
 	igt_assert(!ok);
 }
 
+static void test_signal_detect_phaseshift(struct audio_signal *signal)
+{
+	double *buf;
+	bool ok;
+
+	buf = malloc((BUFFER_LEN + PHASESHIFT_LEN) * sizeof(double));
+	audio_signal_fill(signal, buf, (BUFFER_LEN + PHASESHIFT_LEN) / CHANNELS);
+
+	/* Perform a phaseshift (this isn't related to sirens).
+	 *
+	 * The idea is to remove a part of the signal in the middle of the
+	 * buffer:
+	 *
+	 *   BUFFER_LEN/3   PHASESHIFT_LEN            2*BUFFER_LEN/3
+	 * [--------------|################|---------------------------------]
+	 *
+	 *                           |
+	 *                           V
+	 *
+	 * [--------------|---------------------------------]
+	 */
+	memmove(&buf[BUFFER_LEN / 3], &buf[BUFFER_LEN / 3 + PHASESHIFT_LEN],
+		(2 * BUFFER_LEN / 3) * sizeof(double));
+
+	ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN);
+
+	free(buf);
+
+	igt_assert(!ok);
+}
+
 igt_main
 {
 	struct audio_signal *signal;

lib/tests/igt_audio.c igt_main · line 215

Quoted 9 lines
lib/tests/igt_audio.c +3 -0
@@ -174,6 +207,9 @@ igt_main
 		igt_subtest("signal-detect-pop")
 			test_signal_detect_pop(signal);
 
+		igt_subtest("signal-detect-phaseshift")
+			test_signal_detect_phaseshift(signal);
+
 		igt_fixture {
 			audio_signal_fini(signal);
 		}

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#9 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops

In reply to Simon Ser
== Series Details ==

== Series Details ==

Series: Check for audio noise and pops
URL : https://patchwork.freedesktop.org/series/61576/
State : success

== Summary ==

CI Bug Log - changes from IGT_5035 -> IGTPW_3100
====================================================

Summary
-------

**SUCCESS**

No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

* igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
- fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/fi-icl-u3/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/fi-icl-u3/igt@[email protected]

#### Possible fixes ####

* {igt@i915_selftest@live_blt}:
- fi-skl-iommu: [INCOMPLETE][3] ([fdo#108602]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/fi-skl-iommu/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/fi-skl-iommu/igt@i915_selftest@live_blt.html

* {igt@i915_selftest@live_mman}:
- fi-icl-dsi: [TIMEOUT][5] ([fdo#110818 ]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/fi-icl-dsi/igt@i915_selftest@live_mman.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/fi-icl-dsi/igt@i915_selftest@live_mman.html

* igt@prime_self_import@basic-with_one_bo_two_files:
- fi-icl-u3: [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/fi-icl-u3/igt@prime_self_import@basic-with_one_bo_two_files.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/fi-icl-u3/igt@prime_self_import@basic-with_one_bo_two_files.html

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

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

Participating hosts (53 -> 46)
------------------------------

Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-kbl-7560u fi-byt-clapper fi-bdw-samus

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

* IGT: IGT_5035 -> IGTPW_3100

CI_DRM_6184: 99ffea268c69399f2936c08ef809b5f8c3485d8b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3100: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/
IGT_5035: d37fd01737dea57f33176d6525610666637a88d6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#10 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for Check for audio noise and pops

In reply to Simon Ser
== Series Details ==

== Series Details ==

Series: Check for audio noise and pops
URL : https://patchwork.freedesktop.org/series/61576/
State : success

== Summary ==

CI Bug Log - changes from IGT_5035_full -> IGTPW_3100_full
====================================================

Summary
-------

**SUCCESS**

No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

* igt@gem_tiled_swapping@non-threaded:
- shard-iclb: [PASS][1] -> [FAIL][2] ([fdo#108686])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb2/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb5/igt@[email protected]
- shard-hsw: [PASS][3] -> [FAIL][4] ([fdo#108686])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-hsw7/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-hsw2/igt@[email protected]

* igt@i915_pm_rpm@gem-idle:
- shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713] / [fdo#108840])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb6/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb8/igt@[email protected]

* igt@i915_suspend@sysfs-reader:
- shard-apl: [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +3 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-apl7/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-apl1/igt@[email protected]

* igt@kms_flip@dpms-vs-vblank-race-interruptible:
- shard-glk: [PASS][9] -> [FAIL][10] ([fdo#103060])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-glk2/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-glk6/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103167]) +3 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb5/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb6/igt@[email protected]

* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-iclb: [PASS][13] -> [INCOMPLETE][14] ([fdo#107713] / [fdo#110042])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb4/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb3/igt@[email protected]

* igt@kms_psr@no_drrs:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#108341])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb2/igt@kms_psr@no_drrs.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb1/igt@kms_psr@no_drrs.html

* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html

* igt@kms_vblank@pipe-a-wait-forked-hang:
- shard-hsw: [PASS][19] -> [INCOMPLETE][20] ([fdo#103540])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-hsw5/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-hsw7/igt@[email protected]

* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-kbl: [PASS][21] -> [INCOMPLETE][22] ([fdo#103665])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-kbl3/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl3/igt@[email protected]

#### Possible fixes ####

* igt@i915_pm_rpm@modeset-lpsp-stress:
- shard-iclb: [INCOMPLETE][23] ([fdo#107713] / [fdo#108840]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb2/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb7/igt@[email protected]

* igt@i915_suspend@debugfs-reader:
- shard-apl: [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +5 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-apl2/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-apl5/igt@[email protected]

* igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
- shard-snb: [SKIP][27] ([fdo#109271] / [fdo#109278]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-snb2/igt@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-snb1/igt@[email protected]

* igt@kms_color@pipe-a-ctm-blue-to-red:
- shard-kbl: [FAIL][29] ([fdo#107201]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-kbl7/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl4/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [FAIL][31] ([fdo#103232]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-kbl1/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl7/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-snb: [SKIP][33] ([fdo#109271]) -> [PASS][34] +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-snb2/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-snb5/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-glk: [FAIL][35] ([fdo#103167]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-glk7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-glk2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html

* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-iclb: [FAIL][37] ([fdo#103167]) -> [PASS][38] +7 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html

* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: [SKIP][39] ([fdo#109441]) -> [PASS][40] +1 similar issue
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb8/igt@kms_psr@psr2_primary_mmap_gtt.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html

* igt@kms_setmode@basic:
- shard-kbl: [FAIL][41] ([fdo#99912]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-kbl2/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl4/igt@[email protected]

* igt@prime_vgem@fence-wait-bsd1:
- shard-iclb: [INCOMPLETE][43] ([fdo#107713]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-iclb7/igt@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb5/igt@[email protected]

[fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#107201]: https://bugs.freedesktop.org/show_bug.cgi?id=107201
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
[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#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#110042]: https://bugs.freedesktop.org/show_bug.cgi?id=110042
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912

Participating hosts (7 -> 6)
------------------------------

Missing (1): shard-skl

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

* IGT: IGT_5035 -> IGTPW_3100

CI_DRM_6184: 99ffea268c69399f2936c08ef809b5f8c3485d8b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3100: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/
IGT_5035: d37fd01737dea57f33176d6525610666637a88d6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#11 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops (rev2)

In reply to Simon Ser
== Series Details ==

== Series Details ==

Series: Check for audio noise and pops (rev2)
URL : https://patchwork.freedesktop.org/series/61576/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6194 -> IGTPW_3112
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/61576/revisions/2/mbox/

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

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

### IGT changes ###

#### Issues hit ####

* igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq: [PASS][1] -> [FAIL][2] ([fdo#108511])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/fi-skl-6770hq/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-skl-6770hq/igt@[email protected]

* igt@kms_frontbuffer_tracking@basic:
- fi-icl-u2: [PASS][3] -> [FAIL][4] ([fdo#103167])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/fi-icl-u2/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-icl-u2/igt@[email protected]

#### Possible fixes ####

* igt@gem_ctx_switch@basic-default:
- {fi-icl-guc}: [INCOMPLETE][5] ([fdo#107713] / [fdo#108569]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/fi-icl-guc/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-icl-guc/igt@[email protected]

* igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u: [FAIL][7] ([fdo#109485]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/fi-kbl-7500u/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-kbl-7500u/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#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
[fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
[fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485

Participating hosts (49 -> 47)
------------------------------

Additional (5): fi-kbl-7567u fi-skl-gvtdvm fi-byt-j1900 fi-icl-u3 fi-skl-6600u
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-kbl-7560u fi-byt-clapper fi-bdw-samus

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

* IGT: IGT_5038 -> IGTPW_3112

CI_DRM_6194: 10a75edfc43885387e1e9e2bc50f9678e9bf59d6 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3112: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/
IGT_5038: a34cbc9834aed017d1a452ba42d3e53f9258f8d2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#12 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for Check for audio noise and pops (rev2)

In reply to Simon Ser
== Series Details ==

== Series Details ==

Series: Check for audio noise and pops (rev2)
URL : https://patchwork.freedesktop.org/series/61576/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6194_full -> IGTPW_3112_full
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://patchwork.freedesktop.org/api/1.0/series/61576/revisions/2/mbox/

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

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

### IGT changes ###

#### Issues hit ####

* igt@gem_tiled_swapping@non-threaded:
- shard-iclb: [PASS][1] -> [FAIL][2] ([fdo#108686])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb7/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb7/igt@[email protected]
- shard-hsw: [PASS][3] -> [FAIL][4] ([fdo#108686])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw1/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw4/igt@[email protected]

* igt@i915_suspend@fence-restore-untiled:
- shard-apl: [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +4 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-apl8/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-apl3/igt@[email protected]

* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw: [PASS][7] -> [FAIL][8] ([fdo#105767])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw7/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw5/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-badstride:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +5 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb4/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb5/igt@[email protected]

* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-kbl: [PASS][11] -> [INCOMPLETE][12] ([fdo#103665])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-kbl1/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl6/igt@[email protected]

* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441]) +1 similar issue
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb6/igt@kms_psr@psr2_cursor_mmap_cpu.html

* igt@kms_setmode@basic:
- shard-hsw: [PASS][15] -> [FAIL][16] ([fdo#99912])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw1/igt@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw4/igt@[email protected]

#### Possible fixes ####

* igt@gem_ctx_isolation@bcs0-s3:
- shard-apl: [DMESG-WARN][17] ([fdo#108566]) -> [PASS][18] +4 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-apl2/igt@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-apl5/igt@[email protected]

* {igt@gem_ctx_param@vm}:
- shard-hsw: [DMESG-WARN][19] ([fdo#110836]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw5/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw8/igt@[email protected]

* igt@kms_cursor_crc@pipe-c-cursor-dpms:
- shard-apl: [FAIL][21] ([fdo#103232]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-apl4/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-apl4/igt@[email protected]
- shard-kbl: [FAIL][23] ([fdo#103232]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-kbl7/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl4/igt@[email protected]

* igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [SKIP][25] ([fdo#109349]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb6/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb2/igt@[email protected]

* igt@kms_flip@2x-plain-flip-interruptible:
- shard-hsw: [SKIP][27] ([fdo#109271]) -> [PASS][28] +18 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw1/igt@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw8/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
- shard-iclb: [FAIL][29] ([fdo#103167]) -> [PASS][30] +6 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb6/igt@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb7/igt@[email protected]

* igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [FAIL][31] ([fdo#103166]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb4/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb7/igt@[email protected]

* igt@kms_plane_scaling@pipe-a-scaler-with-rotation:
- shard-iclb: [INCOMPLETE][33] ([fdo#107713] / [fdo#110041]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb7/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb6/igt@[email protected]

* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [SKIP][35] ([fdo#109642]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb4/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb2/igt@[email protected]

* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][37] ([fdo#109441]) -> [PASS][38] +3 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb8/igt@kms_psr@psr2_cursor_plane_onoff.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html

* igt@kms_setmode@basic:
- shard-kbl: [FAIL][39] ([fdo#99912]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-kbl1/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl3/igt@[email protected]

* igt@perf_pmu@rc6-runtime-pm-long:
- shard-hsw: [FAIL][41] ([fdo#105010]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw8/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw6/igt@[email protected]

* igt@tools_test@tools_test:
- shard-kbl: [SKIP][43] ([fdo#109271]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-kbl3/igt@tools_test@tools_test.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl1/igt@tools_test@tools_test.html

#### Warnings ####

* igt@gem_mmap_gtt@forked-big-copy-xy:
- shard-iclb: [TIMEOUT][45] ([fdo#109673]) -> [INCOMPLETE][46] ([fdo#107713] / [fdo#109100])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-iclb6/igt@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb8/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#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#105010]: https://bugs.freedesktop.org/show_bug.cgi?id=105010
[fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
[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#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
[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#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
[fdo#110041]: https://bugs.freedesktop.org/show_bug.cgi?id=110041
[fdo#110836]: https://bugs.freedesktop.org/show_bug.cgi?id=110836
[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_5038 -> IGTPW_3112
* Piglit: piglit_4509 -> None

CI_DRM_6194: 10a75edfc43885387e1e9e2bc50f9678e9bf59d6 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3112: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/
IGT_5038: a34cbc9834aed017d1a452ba42d3e53f9258f8d2 @ 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_3112/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev