|
| 1 | +# Verify audio privacy (hard mute) functionality during DSP D3 state |
| 2 | +Verify audio privacy (hard mute) functionality when DSP is in D3 state |
| 3 | + |
| 4 | +## Preconditions |
| 5 | +1. The RVP must have active audio endpoints. |
| 6 | +2. The RVP must have a functional hard mute switch or toggle. |
| 7 | +3. Enable BIOS settings: |
| 8 | + * Microphone Privacy Mode = "HW managed Microphone Privacy" |
| 9 | + * Enable corresponding codec options, e.g., SNDW#3 [x] for SoundWire. |
| 10 | + * Enable DMIC option, e.g., DMIC [x] for DMIC |
| 11 | +4. Make sure UCM is up to date |
| 12 | + * Copy the ucm and ucm2 trees to the alsa-lib configuration directory (usually located in /usr/share/alsa) including symlinks |
| 13 | + * Reference: https://github.com/alsa-project/alsa-ucm-conf/ |
| 14 | + |
| 15 | +## Test Description |
| 16 | +* Verification of audio privacy (hard mute) functionality during DSP D3 state (suspended) in linux system. |
| 17 | +* Must not capture audio samples when the audio privacy switch is turned ON when DSP was in D3 state. |
| 18 | +* Must capture audio samples when the audio privacy switch is turned OFF when DSP was in D3 state. |
| 19 | + |
| 20 | +## Steps to Execute |
| 21 | +1. System is booted in the OS |
| 22 | +2. Run command in second terminal to monitor changes of DSP state via command: |
| 23 | + ```bash |
| 24 | + ./sof-test/tools/sof-dump-status.py --dsp_status 0 |
| 25 | + ``` |
| 26 | + By default DSP is "suspended" and after interrupt (play or record new wav file, DSP wakes up and is in "active" state) |
| 27 | +3. Make sure that DSP is "suspended", then turn ON the audio privacy switch. Led indicator must be turned ON. |
| 28 | +4. Capture audio via 3.5mm jack ports: |
| 29 | + ```bash |
| 30 | + arecord -Ddefault -c 2 -r 48000 -f S16_LE /tmp/test_sample_mute_during_d3.wav -vvv |
| 31 | + ``` |
| 32 | +5. Check if DSP was in "active" state during recording, then check on the file if audio was muted in any application to verify sound (for example Audacity). |
| 33 | +6. Make sure that DSP is in "suspended" state, then turn OFF the audio privacy switch. Led indicator must be turned OFF. |
| 34 | +7. Capture audio via 3.5mm jack ports: |
| 35 | + ```bash |
| 36 | + arecord -Ddefault -c 2 -r 48000 -f S16_LE /tmp/test_sample_unmute_during_d3.wav -vvv |
| 37 | + ``` |
| 38 | +8. Check if DSP was in "active" state during recording, then check on the file if audio was not muted in any application to verify sound (for example Audacity). |
| 39 | +9. Check for errors: |
| 40 | + ```bash |
| 41 | + journalctl -b -p 4. |
| 42 | + ``` |
| 43 | +## Expected Results |
| 44 | +1. No errors in `journalctl -b -p 4`, jack device must be visible in system. |
| 45 | +2. DSP must be in "suspended" state. |
| 46 | +3. Recording must start without problems. |
| 47 | +4. The MIC mute LED must glow. |
| 48 | +5. During recording DSP must be in "active" state, after recording, audio must be muted. |
| 49 | +6. DSP must be in "suspended" state. |
| 50 | +7. The MIC mute LED must turn OFF. |
| 51 | +8. Recording must start without problems. |
| 52 | +9. During recording DSP must be in "active" state, after recording, audio must be unmuted |
| 53 | +10. No audio errors or failures must be present in the 'journalctl -b -p 4'. |
0 commit comments