All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops
@ 2019-06-04 11:48 Simon Ser
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect " Simon Ser
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Simon Ser @ 2019-06-04 11:48 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect noise and pops
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
@ 2019-06-04 11:48 ` Simon Ser
  2019-06-04 12:52   ` Martin Peres
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test Simon Ser
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Simon Ser @ 2019-06-04 11:48 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

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.

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 lib/igt_audio.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 53 insertions(+), 5 deletions(-)

diff --git a/lib/igt_audio.c b/lib/igt_audio.c
index 08c0fb6af0db..e0b1bafe1be2 100644
--- a/lib/igt_audio.c
+++ b/lib/igt_audio.c
@@ -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;
 
-- 
2.21.0

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

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

* [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect " Simon Ser
@ 2019-06-04 11:48 ` Simon Ser
  2019-06-04 12:54   ` Martin Peres
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test Simon Ser
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Simon Ser @ 2019-06-04 11:48 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

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

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 lib/tests/igt_audio.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index 47e61adf74fe..821813bae47a 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -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);
 		}
-- 
2.21.0

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

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

* [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect " Simon Ser
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test Simon Ser
@ 2019-06-04 11:48 ` Simon Ser
  2019-06-04 13:01   ` Martin Peres
  2019-06-04 12:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Simon Ser @ 2019-06-04 11:48 UTC (permalink / raw)
  To: igt-dev; +Cc: martin.peres

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

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 lib/tests/igt_audio.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index 821813bae47a..7c5279acc92e 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -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);
 		}
-- 
2.21.0

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
                   ` (2 preceding siblings ...)
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test Simon Ser
@ 2019-06-04 12:23 ` Patchwork
  2019-06-04 23:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-04 12:23 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== 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@kms_pipe_crc_basic@hang-read-crc-pipe-a.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/fi-icl-u3/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html

  
#### 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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect noise and pops
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect " Simon Ser
@ 2019-06-04 12:52   ` Martin Peres
  0 siblings, 0 replies; 13+ messages in thread
From: Martin Peres @ 2019-06-04 12:52 UTC (permalink / raw)
  To: Simon Ser, igt-dev; +Cc: martin.peres

On 04/06/2019 14:48, Simon Ser wrote:
> 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.

Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>
> ---
>  lib/igt_audio.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 53 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/igt_audio.c b/lib/igt_audio.c
> index 08c0fb6af0db..e0b1bafe1be2 100644
> --- a/lib/igt_audio.c
> +++ b/lib/igt_audio.c
> @@ -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;
>  
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test Simon Ser
@ 2019-06-04 12:54   ` Martin Peres
  2019-06-05  8:03     ` [igt-dev] [PATCH i-g-t v3] lib/tests/igt_audio: add a test holding a sample Simon Ser
  0 siblings, 1 reply; 13+ messages in thread
From: Martin Peres @ 2019-06-04 12:54 UTC (permalink / raw)
  To: Simon Ser, igt-dev; +Cc: martin.peres

On 04/06/2019 14:48, Simon Ser wrote:
> Make sure adding a pop in the input signal makes audio_signal_detect fail.
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>
> ---
>  lib/tests/igt_audio.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
> index 47e61adf74fe..821813bae47a 100644
> --- a/lib/tests/igt_audio.c
> +++ b/lib/tests/igt_audio.c
> @@ -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"?

> +{
> +	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);
>  		}
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test
  2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test Simon Ser
@ 2019-06-04 13:01   ` Martin Peres
  0 siblings, 0 replies; 13+ messages in thread
From: Martin Peres @ 2019-06-04 13:01 UTC (permalink / raw)
  To: Simon Ser, igt-dev; +Cc: martin.peres

On 04/06/2019 14:48, Simon Ser wrote:
> Truncate a few samples in the middle of the signal, and make sure the detection
> fails.

This is very nice!

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

> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>
> ---
>  lib/tests/igt_audio.c | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
> 
> diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
> index 821813bae47a..7c5279acc92e 100644
> --- a/lib/tests/igt_audio.c
> +++ b/lib/tests/igt_audio.c
> @@ -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);
>  		}
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for Check for audio noise and pops
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
                   ` (3 preceding siblings ...)
  2019-06-04 12:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops Patchwork
@ 2019-06-04 23:39 ` Patchwork
  2019-06-05 10:48 ` [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops (rev2) Patchwork
  2019-06-06 14:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-04 23:39 UTC (permalink / raw)
  To: Ser, Simon; +Cc: igt-dev

== 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@gem_tiled_swapping@non-threaded.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb5/igt@gem_tiled_swapping@non-threaded.html
    - shard-hsw:          [PASS][3] -> [FAIL][4] ([fdo#108686])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5035/shard-hsw7/igt@gem_tiled_swapping@non-threaded.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-hsw2/igt@gem_tiled_swapping@non-threaded.html

  * 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@i915_pm_rpm@gem-idle.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb8/igt@i915_pm_rpm@gem-idle.html

  * 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@i915_suspend@sysfs-reader.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-apl1/igt@i915_suspend@sysfs-reader.html

  * 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@kms_flip@dpms-vs-vblank-race-interruptible.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-glk6/igt@kms_flip@dpms-vs-vblank-race-interruptible.html

  * 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@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html

  * 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@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * 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@kms_vblank@pipe-a-wait-forked-hang.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-hsw7/igt@kms_vblank@pipe-a-wait-forked-hang.html

  * 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@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl3/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html

  
#### 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@i915_pm_rpm@modeset-lpsp-stress.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb7/igt@i915_pm_rpm@modeset-lpsp-stress.html

  * 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@i915_suspend@debugfs-reader.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-apl5/igt@i915_suspend@debugfs-reader.html

  * 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@kms_busy@extended-modeset-hang-newfb-with-reset-render-b.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-snb1/igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b.html

  * 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@kms_color@pipe-a-ctm-blue-to-red.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl4/igt@kms_color@pipe-a-ctm-blue-to-red.html

  * 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@kms_cursor_crc@pipe-c-cursor-suspend.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * 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@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-snb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * 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@kms_setmode@basic.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-kbl4/igt@kms_setmode@basic.html

  * 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@prime_vgem@fence-wait-bsd1.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3100/shard-iclb5/igt@prime_vgem@fence-wait-bsd1.html

  
  [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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v3] lib/tests/igt_audio: add a test holding a sample
  2019-06-04 12:54   ` Martin Peres
@ 2019-06-05  8:03     ` Simon Ser
  2019-06-12 10:56       ` Martin Peres
  0 siblings, 1 reply; 13+ messages in thread
From: Simon Ser @ 2019-06-05  8:03 UTC (permalink / raw)
  To: igt-dev

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

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 lib/tests/igt_audio.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
index 47e61adf74fe..d18537d66fb7 100644
--- a/lib/tests/igt_audio.c
+++ b/lib/tests/igt_audio.c
@@ -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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops (rev2)
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
                   ` (4 preceding siblings ...)
  2019-06-04 23:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-06-05 10:48 ` Patchwork
  2019-06-06 14:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-05 10:48 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== 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@i915_pm_rpm@module-reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html

  * 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@kms_frontbuffer_tracking@basic.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html

  
#### 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@gem_ctx_switch@basic-default.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-icl-guc/igt@gem_ctx_switch@basic-default.html

  * 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@kms_chamelium@hdmi-hpd-fast.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  {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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for Check for audio noise and pops (rev2)
  2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
                   ` (5 preceding siblings ...)
  2019-06-05 10:48 ` [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops (rev2) Patchwork
@ 2019-06-06 14:00 ` Patchwork
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-06 14:00 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== 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@gem_tiled_swapping@non-threaded.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb7/igt@gem_tiled_swapping@non-threaded.html
    - shard-hsw:          [PASS][3] -> [FAIL][4] ([fdo#108686])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-hsw1/igt@gem_tiled_swapping@non-threaded.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw4/igt@gem_tiled_swapping@non-threaded.html

  * 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@i915_suspend@fence-restore-untiled.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-apl3/igt@i915_suspend@fence-restore-untiled.html

  * 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@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw5/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * 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@kms_frontbuffer_tracking@fbc-badstride.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-badstride.html

  * 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@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * 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@kms_setmode@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw4/igt@kms_setmode@basic.html

  
#### 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@gem_ctx_isolation@bcs0-s3.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-apl5/igt@gem_ctx_isolation@bcs0-s3.html

  * {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@gem_ctx_param@vm.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw8/igt@gem_ctx_param@vm.html

  * 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@kms_cursor_crc@pipe-c-cursor-dpms.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-apl4/igt@kms_cursor_crc@pipe-c-cursor-dpms.html
    - shard-kbl:          [FAIL][23] ([fdo#103232]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6194/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-dpms.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-dpms.html

  * 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@kms_dp_dsc@basic-dsc-enable-edp.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * 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@kms_flip@2x-plain-flip-interruptible.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw8/igt@kms_flip@2x-plain-flip-interruptible.html

  * 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@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * 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@kms_plane_lowres@pipe-a-tiling-y.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * 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@kms_plane_scaling@pipe-a-scaler-with-rotation.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb6/igt@kms_plane_scaling@pipe-a-scaler-with-rotation.html

  * 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@kms_psr2_su@frontbuffer.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb2/igt@kms_psr2_su@frontbuffer.html

  * 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@kms_setmode@basic.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-kbl3/igt@kms_setmode@basic.html

  * 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@perf_pmu@rc6-runtime-pm-long.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-hsw6/igt@perf_pmu@rc6-runtime-pm-long.html

  * 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@gem_mmap_gtt@forked-big-copy-xy.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3112/shard-iclb8/igt@gem_mmap_gtt@forked-big-copy-xy.html

  
  {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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3] lib/tests/igt_audio: add a test holding a sample
  2019-06-05  8:03     ` [igt-dev] [PATCH i-g-t v3] lib/tests/igt_audio: add a test holding a sample Simon Ser
@ 2019-06-12 10:56       ` Martin Peres
  0 siblings, 0 replies; 13+ messages in thread
From: Martin Peres @ 2019-06-12 10:56 UTC (permalink / raw)
  To: Simon Ser, igt-dev

On 05/06/2019 11:03, Simon Ser wrote:
> Make sure holding a sample in the input signal makes audio_signal_detect fail.
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>
> ---
>  lib/tests/igt_audio.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c
> index 47e61adf74fe..d18537d66fb7 100644
> --- a/lib/tests/igt_audio.c
> +++ b/lib/tests/igt_audio.c
> @@ -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);

Please add a reason here. With this done, the patch is:
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>

> +}
> +
>  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
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

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

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-04 11:48 [igt-dev] [PATCH i-g-t v2 0/3] Check for audio noise and pops Simon Ser
2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 1/3] lib/igt_audio: detect " Simon Ser
2019-06-04 12:52   ` Martin Peres
2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 2/3] lib/tests/igt_audio: add a pop test Simon Ser
2019-06-04 12:54   ` Martin Peres
2019-06-05  8:03     ` [igt-dev] [PATCH i-g-t v3] lib/tests/igt_audio: add a test holding a sample Simon Ser
2019-06-12 10:56       ` Martin Peres
2019-06-04 11:48 ` [igt-dev] [PATCH i-g-t v2 3/3] lib/tests/igt_audio: add phaseshift detection test Simon Ser
2019-06-04 13:01   ` Martin Peres
2019-06-04 12:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops Patchwork
2019-06-04 23:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-06-05 10:48 ` [igt-dev] ✓ Fi.CI.BAT: success for Check for audio noise and pops (rev2) Patchwork
2019-06-06 14:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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