On Wed, 2016-07-20 at 09:05 -0600, Stephen J wrote:
On Jul 20, 2016 8:48 AM, "Bastien Nocera" hadess@hadess.net wrote:
On Fri, 2016-07-08 at 15:39 +0530, Vinod Koul wrote:
Surface3 tablet is CHT based device which used RT5645 codec. But
the
ACPI ID is 10EC5640 which belong to RT5640 codec :( So we add quirk support to load cht-machine driver for surface
tablet
combination, add the ACPI id and DMI fix for jack detect in codec
and
finally machine update.
This fixes Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=
9800
1 Please verify and send your tested-by.
Did anyone test this?
At least I did
Fair enough.
I get this output: Jul 20 16:20:32 surface kernel: rt5640 i2c-10EC5640:00: Device with
ID register 0x6308 is not rt5640/39
Jul 20 16:20:34 surface kernel: cht-bsw-rt5645 cht-bsw-rt5645: snd-
soc-dummy-dai <-> media-cpu-dai mapping ok
Jul 20 16:20:34 surface kernel: cht-bsw-rt5645 cht-bsw-rt5645: snd-
soc-dummy-dai <-> deepbuffer-cpu-dai mapping ok
Jul 20 16:20:34 surface kernel: compress asoc: snd-soc-dummy-dai <- compress-cpu-dai mapping ok Jul 20 16:20:34 surface kernel: cht-bsw-rt5645 cht-bsw-rt5645:
rt5645-aif1 <-> ssp2-port mapping ok
Jul 20 16:20:34 surface kernel: input: chtrt5645 Headset as
/devices/pci0000:00/808622A8:00/cht-bsw-rt5645/sound/card0/input25
With the early warning telling me it's probably not going through
the
quirks, though the rest of the output makes me think otherwise.
Both rt5640 and rt5645 drivers pick up the sound chip, but only the correct one succeeds.
Good then.
After PulseAudio starts I get: Jul 20 16:20:40 surface pulseaudio[1315]: [pulseaudio] module-alsa-
card.c: Failed to find a working profile.
Jul 20 16:41:32 surface pulseaudio[1315]: [pulseaudio] module.c:
Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-cht-bsw-rt5645" card_name="alsa_card.platform-cht-bsw- rt5645" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module- udev-detect.discovered=1""): initialization failed.
Jul 20 16:20:40 surface kernel: Audio Port: ASoC: no backend DAIs
enabled for Audio Port
[and plenty more of that last line]
$ journalctl -b | grep "Audio Port: ASoC: no backend DAIs enabled
for Audio Port" | wc -l
1802
Ideas?
Are you using the alsa-lib patch to add UCM configuration too [1]? Pulseaudio needs it to initialize properly (without other manual intervention described in the bugzilla ticket for these patches). [1] http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=b6c69d7067 a1818e53da774bdbdc3023f299d579
Looks like I cocked up the patch application in my updated alsa-ucm package. It works correctly afterwards, including the internal microphone and speakers, and headset output (mic + headphones).
I also noticed that alsa-ucm isn't in the default Fedora package set.
Sorry about the spam.