[PATCH 0/2] ASoC: fix SoundWire enumeration on Surface Pro 11
Amaan Lalani <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.linux.kernel |
|---|---|
| Message-ID | <BY5PR02MB63701A05A58EF6B4D6CAAC31A0AC2@BY5PR02MB6370.namprd02.prod.outlook.com> |
Some Surface Pro 11 systems expose duplicate SoundWire ACPI _ADR entries for the same physical peripheral, differing only in SDCA class ID. Firmware may also describe SoundWire peripherals which remain unattached. Together, these can result in incorrect amplifier name prefixes and entries being created for peripherals which are not physically present, preventing the sound card from registering correctly. The first patch reuses the amplifier name prefix when an _ADR entry differs from an earlier entry only by SDCA class ID. The second patch skips SoundWire peripherals explicitly reported as SDW_SLAVE_UNATTACHED when counting and parsing endpoints. Tested on a Microsoft Surface Pro 11 with Intel hardware by building and booting the patched kernel and verifying that the sound card registers and speaker playback works. Amaan Lalani (2): ASoC: SOF: Intel: reuse name prefix for duplicate SoundWire devices ASoC: sdw_utils: skip unattached SoundWire peripherals sound/soc/sdw_utils/soc_sdw_utils.c | 35 +++++++++++++++++++++++++++++ sound/soc/sof/intel/hda.c | 14 ++++++++++++ 2 files changed, 49 insertions(+) base-commit: 1b78070aaef63512688aebfbc82365ef9d6660f1 -- 2.55.0