Skip to content

[BUG] Alienware 18 Area-51 (Arrow Lake-S, RT722 + RT1320, SSID 1028:0ccd): RT722 internal SmartAmp not driven, only the RT1320 amplifier is wired up #10795

@abbator

Description

@abbator

Audio works, but only through one of the laptop's two speaker amplifiers. The Alienware 18 Area-51 (AA18250, Arrow Lake-S) has a discrete RT1320 SmartAmp on SoundWire link 2, plus a second SmartAmp built into the RT722 codec (an SDCA SmartAmp function on link 0). Only the RT1320 is ever configured. The RT722's internal amplifier receives no audio, so the speakers wired to it are silent.

The kernel side is already prepared for the second amp. The gap is the SOF topology: sof-arl-rt722-l0_rt1320-l2 is generated with NUM_SDW_AMP_LINKS=1.

Hardware

(Dell) Alienware 18 Area-51 AA18250 (BIOS 1.7.0). Intel Arrow Lake-S; PCI audio 8086:7f50, subsystem 1028:0ccd.

SoundWire devices:

  • sdw:0:0:025d:0722:01: RT722 SDCA codec, link 0
  • sdw:0:2:025d:1320:01: RT1320 amplifier, link 2

Software

  • sof-bin v2025.12.2 (current release; Arch package sof-firmware 2025.12.2-1)
  • Linux 7.0.3 (Arch package linux 7.0.3.arch1-2)
  • Topology loaded: intel/sof-ipc4-tplg/sof-arl-rt722-l0_rt1320-l2.tplg

Symptom

amixer -c1 exposes a full set of rt1320-1 ... controls (OT23 L/R Switch, FU21 Playback Volume, R0 Calibration, and so on) but no controls for the RT722 amplifier. The ALSA/PipeWire Speaker sink is 2-channel (FL/FR) and routed entirely to the RT1320. The card's component string reports a single configured amplifier (cfg-amp:1), the RT1320 (spk:rt1320):

alsa.components = "HDA:8086281d,80860101,00100000  cfg-amp:1 iec61937-pcm:7,6,5 hs:rt722 mic:rt722 spk:rt1320"

Boot-time dmesg (SOF):

sof-audio-pci-intel-mtl 0000:80:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
acpi device:5e: SDCA function SmartAmp (type 1) at 0x4
acpi device:59: SDCA function SmartAmp (type 1) at 0x4
sof-audio-pci-intel-mtl 0000:80:1f.3:  Firmware file:     intel/sof-ipc4/arl-s/sof-arl-s.ri
sof-audio-pci-intel-mtl 0000:80:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-arl-rt722-l0_rt1320-l2.tplg
sof-audio-pci-intel-mtl 0000:80:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
sof-audio-pci-intel-mtl 0000:80:1f.3: Booted firmware version: 2.14.1.1
sof_sdw sof_sdw: Overriding quirk 0x8000 => 0x8000
sof-audio-pci-intel-mtl 0000:80:1f.3: loading topology: intel/sof-ipc4-tplg/sof-arl-rt722-l0_rt1320-l2.tplg

There are no topology-load errors. The card registers and the RT1320 works. The RT722 amplifier is never added to the speaker pipeline.

The hardware has two amplifiers

Both SmartAmp functions appear in the two acpi device:...: SDCA function SmartAmp lines above. From the ACPI namespace:

  • \_SB_.PC02.HDAS.IDA_.SNDW.SWD0 is the RT722, _ADR 0x000030025D072201 (link 0). Its child .AF04 is SDCA function 4 (SmartAmp), reported as device:5e. The RT722 also exposes UAJ (.AF01), SmartMic (.AF02) and HID (.AF03) functions, and has a dp3_sink SoundWire port for the amplifier input.
  • \_SB_.PC02.HDAS.IDA_.SNDW.SWRA is the RT1320, _ADR 0x000231025D132001 (link 2). Its child .AF04 is a SmartAmp, reported as device:59.

So the RT722 combo codec contains its own Class-D speaker amplifier, in addition to the discrete RT1320.

Cause

tools/topology/topology2/production/tplg-targets-ace1.cmake builds this machine's topology with a single amp link:

"cavs-sdw;sof-arl-rt722-l0_rt1320-l2;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,SDW_DMIC=1,
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"

NUM_SDW_AMP_LINKS=1 wires only the RT1320 (link 2) as a speaker amp; the RT722 SmartAmp (link 0) is not part of the speaker pipeline. This is the only arl-rt722 topology target in the repo, and there is no 2-amp variant.

The kernel side is already prepared for the second amp (current master at the time of this report, and identical in Linux 7.0):

  • sound/soc/intel/common/soc-acpi-intel-arl-match.c: in arl_rt722_l0_rt1320_l2, the rt722_0_agg_adr device uses jack_amp_g1_dmic_endpoints, whose Amp endpoint has .aggregated = 1 (commit "ASoC: soc-acpi-intel-arl-match: change rt722 amp endpoint to aggregated"). The original commit that added this config noted "The Speaker endpoint on the RT722 codec is not used."
  • sound/soc/sdw_utils/soc_sdw_utils.c: the rt722 codec_info declares rt722-sdca-aif2 with .dai_type = SOC_SDW_DAI_TYPE_AMP.

So both the ACPI-match amp endpoint and the codec AMP DAI already exist. It's the topology that's the missing piece.

Expected behavior

The rt722-l0 + rt1320-l2 ARL topology should drive both amplifiers (the RT1320 on link 2 and the RT722 internal SmartAmp on link 0) so that all of the laptop's speakers are amplified.

Impact

Half of the laptop's built-in speakers produce no sound. Headphone jack, microphones and HDMI audio are unaffected.

Notes

  • The kernel match table's RT1320 _ADR is 0x000230025D132001, but this hardware reports 0x000231025D132001 (the unique-id nibble differs). The match still succeeds and the correct topology loads, but the table value looks incorrect.

Disclosure: I used an AI agent (Claude) to diagnose this bug. This writeup contains some generated content.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working as expected

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions