Hello Hans, On Fri, Nov 8, 2019 at 6:16 AM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > Hi Ross, > > On 11/7/19 11:31 PM, Ross Zwisler wrote: > > We are trying to get a piece of Google hardware which uses the rt5645 > > driver working correctly with newer kernels (currently one based on > > the latest v4.14 stable), and noticed that the following commit: > > > > commit 6b5da66322c5 ("ASoC: rt5645: read jd1_1 status for jd detection") > > > > broke jack support for our device. Basically with that patch we never > > correctly see a jack insertion event, and audio is never routed to the > > headphones. > > > > With just that one patch reverted, things work correctly on our > > system. The revert applies cleanly to linus/master. > > > > Here is the series where that patch was originally upstreamed: > > > > https://www.spinics.net/lists/alsa-devel/msg64331.html > > > > If we reverted that patch upstream, would it break other devices (the > > "GDP Win" device?) that use the rt5645 driver? > > Yes likely it will, the commit in question was added to fix jd > issue in the GDP win and other Cherry Trail devices using > standard Intel reference designs. > > > If so, how would you > > recommend proceeding? > > > > Does anyone have one of the "GDP Win" devices so we can test that and > > our device and make sure whatever solution we end up coming up with > > works for everyone? > > I have acccess to the following devices with a rt5645 codec: > > > rt5645: Spk Mic JDmod UCM > -Acer One S1003 stereo ana 3 chtrt5645 > -Asus T100HA stereo dmic1 3 inv custom > -GPD Pocket mono diff 3 inv chtrt5645-mono-speaker-analog-mic > -GPD win mono ana 3 inv chtrt5645-mono-speaker-analog-mic > -Kazam Vision stereo ana 3 chtrt5645 > -Lenovo Miix310 stereo diff 3 chtrt5645 > -Lenovo Miix320 stereo dmic2 3 custom > -Teclast X80Pro mono ana 3 chtrt5645-mono-speaker-analog-mic > > Which all work fine with the current code, have you tried all the > different jdmode values through the quirk moodule param? I've tried setting jdmode to 0-7 through the quirk module param but none of them fixed the problem. > If Playing with the quirk settings does not help, then I believe that > the best approach to fix this is to figure out which bit of the > pre 6b5da66322c5 behavior you need and to activate this behind a new > quirk option and set that quirk for the system in question. > The part of pre 6b5da66322c5 behavior we need is which register is being read from to set val in jack_detect_work(). It looks like all the other devices that use this codec have jd_mode = 3, so I was thinking we could set buddy's jd_mode to something else and read from the old register if jd_mode is that something else. Does that seem reasonable? _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel