Skip to content

Add Audio_Hamoa: ALSA-based audio playback and recording tests for Ha…#477

Open
tmoida wants to merge 1 commit into
qualcomm-linux:mainfrom
tmoida:feature/audio-hamoa
Open

Add Audio_Hamoa: ALSA-based audio playback and recording tests for Ha…#477
tmoida wants to merge 1 commit into
qualcomm-linux:mainfrom
tmoida:feature/audio-hamoa

Conversation

@tmoida
Copy link
Copy Markdown
Contributor

@tmoida tmoida commented Jun 3, 2026

Add Audio_Hamoa: ALSA-based audio playback and recording tests for Hamoa platform

Fixes #454

This PR introduces comprehensive audio testing for Qualcomm Hamoa platforms using
ALSA-based mixer configurations. The implementation provides automated validation
of audio playback and recording capabilities across multiple devices.

New Test Suites

AudioPlayback_Hamoa

Tests audio playback on two output devices:

  • Handset (plughw:0,1): 4-way speaker system using WSA2/WSA amplifiers
    • Audio path: AIF1_PB → WSA2/WSA RX0/RX1 → WooferLeft/Right + TweeterLeft/Right
    • 44 mixer controls configured
    • Dual WSA codec support with compressor and boost
  • Headset (plughw:0,0): Stereo headphones using RX codec
    • Audio path: AIF1_PB → RX_MACRO RX0/RX1 → RX INT0/INT1 → HPHL/HPHR
    • 22 mixer controls configured
    • Class-H High Fidelity mode for optimal audio quality

AudioRecord_Hamoa

Tests audio recording on two input devices:

  • Handset (plughw:0,3): Built-in VA_DMIC (Voice Activation DMIC)
    • Audio path: DMIC0/DMIC1 → VA DMIC MUX0/MUX1 → VA DEC0/DEC1 → VA_AIF1_CAP
    • 8 mixer controls configured
    • Dual DMIC support with volume control
  • Headset (plughw:0,2): SoundWire microphone (SWR_MIC)
    • Audio path: SWR_MIC → ADC2 → TX SMIC MUX0 (SWR_MIC0) → TX DEC0 → TX_AIF1_CAP
    • 10 mixer controls configured

Key Features

  • Dual device support: Test handset, headset, or both devices
  • Mixer validation: Verifies all mixer settings before audio operations
  • Clip/config-based testing: Auto-discovery of audio clips and configurations
  • Skip mode: Test mixer configuration without actual audio playback/recording
  • CI/LAVA integration:
    • Unique result file suffixes prevent file collisions in parallel runs
    • Unique testcase IDs prevent LAVA testcase ID collisions
    • Enables running multiple configurations simultaneously
  • Comprehensive logging: Mixer dumps, playback/recording logs per test case
  • Recording validation: File size and format verification

Documentation

Comprehensive README files included for both test suites:

  • Complete usage examples (basic, mixer-only, verbose, CI/LAVA)
  • Command line options and environment variables tables
  • Audio clip/config configuration tables
  • Test execution flow diagrams
  • Sample output examples
  • Known limitations and workarounds
  • CI/LAVA integration guidelines

…moa platform

Fixes qualcomm-linux#454

This PR introduces comprehensive audio testing for Qualcomm Hamoa platforms using
ALSA-based mixer configurations. The implementation provides automated validation
of audio playback and recording capabilities across multiple devices.

Tests audio playback on two output devices:
- Handset (plughw:0,1): 4-way speaker system using WSA2/WSA amplifiers
  * Audio path: AIF1_PB → WSA2/WSA RX0/RX1 → WooferLeft/Right + TweeterLeft/Right
  * 44 mixer controls configured
  * Dual WSA codec support with compressor and boost
- Headset (plughw:0,0): Stereo headphones using RX codec
  * Audio path: AIF1_PB → RX_MACRO RX0/RX1 → RX INT0/INT1 → HPHL/HPHR
  * 22 mixer controls configured
  * Class-H High Fidelity mode for optimal audio quality

Tests audio recording on two input devices:
- Handset (plughw:0,3): Built-in VA_DMIC (Voice Activation DMIC)
  * Audio path: DMIC0/DMIC1 → VA DMIC MUX0/MUX1 → VA DEC0/DEC1 → VA_AIF1_CAP
  * 8 mixer controls configured
  * Dual DMIC support with volume control
- Headset (plughw:0,2): SoundWire microphone (SWR_MIC)
  * Audio path: SWR_MIC → ADC2 → TX SMIC MUX0 (SWR_MIC0) → TX DEC0 → TX_AIF1_CAP
  * 10 mixer controls configured

- **Dual device support**: Test handset, headset, or both devices
- **Mixer validation**: Verifies all mixer settings before audio operations
- **Clip/config-based testing**: Auto-discovery of audio clips and configurations
- **Skip mode**: Test mixer configuration without actual audio playback/recording
- **CI/LAVA integration**:
  * Unique result file suffixes prevent file collisions in parallel runs
  * Unique testcase IDs prevent LAVA testcase ID collisions
  * Enables running multiple configurations simultaneously
- **Comprehensive logging**: Mixer dumps, playback/recording logs per test case
- **Recording validation**: File size and format verification

Comprehensive README files included for both test suites:
- Complete usage examples (basic, mixer-only, verbose, CI/LAVA)
- Command line options and environment variables tables
- Audio clip/config configuration tables
- Test execution flow diagrams
- Sample output examples
- Known limitations and workarounds
- CI/LAVA integration guidelines

Signed-off-by: Teja Swaroop Moida <tmoida@qti.qualcomm.com>
@tmoida tmoida force-pushed the feature/audio-hamoa branch from e479130 to 21606a2 Compare June 3, 2026 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Audio test procedures changed for Hamoa ubuntu

1 participant