Re: [igt-dev] [PATCH i-g-t v3 09/10] tests/kms_chamelium: add a flatline audio test

Peres, Martin
2019-06-04T12:26:07Z

On 04/06/2019 14:22, Ser, Simon wrote:
> On Tue, 2019-06-04 at 09:38 +0100, Tvrtko Ursulin wrote:
>> On 27/05/2019 15:34, Simon Ser wrote:
>>> This commit adds a flatline test alongside the existing frequencies test.
>>>
>>> The test sends a constant value and checks that the amplitude is correct. A
>>> window is used to check that each sample is within acceptable bounds. The test
>>> is stopped as soon as 3 audio pages pass the test.
>>>
>>> Signed-off-by: Simon Ser <simon.ser@intel.com>
>>> Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
>>> ---
>>> tests/kms_chamelium.c | 101 ++++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 101 insertions(+)
>>>
>>> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
>>> index 40ca93687c20..451a616f1a2e 100644
>>> --- a/tests/kms_chamelium.c
>>> +++ b/tests/kms_chamelium.c
>>> @@ -772,6 +772,9 @@ test_display_frame_dump(data_t *data, struct chamelium_port *port)
>>> /* A streak of 3 gives confidence that the signal is good. */
>>> #define MIN_STREAK 3
>>>
>>> +#define FLATLINE_AMPLITUDE 0.9 /* normalized, ie. in [0, 1] */
>>
>> I assume the test is making triple sure it only ever outputs this signal
>> to connectors connected to Chamelium, in all possible scenarios? (I am
>> thinking it could be dangerous to some amps/speakers if by some kind of
>> accident.)
>
> Not at all. The signal is sent to all HDMI/DP ports.
>
> I have to check whether it's easy to match ALSA outputs to monitor
> names.
>
> Martin, is this a concern?

This is true that a non-zero constant voltage could be damaging for
speakers as it can make them overheat without us hearing anything
(constant position == no sound heard, but Ohm's law still applies). It
would take longer than 1s though... On top of this, all speakers (except
subwoofers) have high-pass filters that should remove the DC-offset so
all we should be left with is a nice pop which might or might not be
loud depending on how powerful the speakers are and how loud their
settings are. Multi-kW systems definitely don't like them, but how
likely is it that people would run IGT on it? :D

That being said, if we can associate the alsa output to a certain
connector (the one we are reading the sound from), then it would
actually be a good thing to test the sound on this connector only, since
it would allow us to verify that the mapping is indeed correct!

Martin