* [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.