native: speaker-first PCM selection + per-PCM name diagnostic
Follow-up to the SOF buffer-sizing fix. Amp toggles dropped from 10,686
to 4 per boot (big win) but speakers still silent. Suspicion: ac-native
opens hw:0,0 blindly, but on SOF JSL topologies card0 exposes multiple
playback PCMs and the Chromebook convention isn't universal — pcm0 may
be Headset (RT5682) while Speakers (MAX98360A) sits on pcm1, or vice
versa. Opening the wrong one means no audio ever reaches the amp,
regardless of whether DAPM + SD_MODE are correct.
Fix: before the legacy hw:0,0 → hw:1,0 → … fallback chain, scan
/proc/asound/cardN/pcmMp/info for name/id strings. Skip HDMI (monitor
audio, not speaker). Prefer "Speaker" match; accept "HiFi" / "Jack"
(SOF combined front-end name) as fallback. If neither exists we drop
through to the original hardcoded list so nothing regresses on boards
without /proc/asound.
Also dump each PCM's id + name in pre-launch.log so the next boot tells
us which PCM is actually the speaker device, end to end.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>