* wm97xx touch does not work after ac97 delayed dev reg removal
@ 2015-01-19 15:46 Manuel Lauss
2015-01-19 18:28 ` Lars-Peter Clausen
0 siblings, 1 reply; 5+ messages in thread
From: Manuel Lauss @ 2015-01-19 15:46 UTC (permalink / raw)
To: Lars-Peter Clausen, alsa-devel, Mark Brown, Liam Girdwood
Hi Lars,
Since commit 6794f709b7124ff1e574c4f4c9494418ab56c4b4
(ASoC: ac97: Drop delayed device registration) the wm9712 ts on
my MIPS DB1300 board doesn't work any more:
wm97xx-ts 0-0:wm9712-codec.1: Device with vendor 0000 is not a wm97xx
db1200-ac97 db1300-ac97.0: wm9712-hifi <-> au1xpsc_ac97.1 mapping ok
wm9712-codec wm9712-codec.1: ASoC: mux Differential Source has no paths
wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone Mux has no paths
db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 mapping ok
whereas before this patch:
[ 1.820000] db1200-ac97 db1300-ac97.0: wm9712-hifi <->
au1xpsc_ac97.1 mapping ok
[ 1.820000] wm9712-codec wm9712-codec.1: ASoC: mux Differential
Source has no paths
[ 1.830000] wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone
Mux has no paths
[ 1.840000] wm97xx-ts 0-0:wm9712-codec.1: detected a wm9712 codec
[ 1.850000] input: wm97xx touchscreen as
/devices/platform/db1300-ac97.0/0-0:wm9712-codec.1/input/input0
[ 1.860000] db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2
mapping ok
Do you have any ideas how to solve this?
Thanks!
Manuel
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: wm97xx touch does not work after ac97 delayed dev reg removal 2015-01-19 15:46 wm97xx touch does not work after ac97 delayed dev reg removal Manuel Lauss @ 2015-01-19 18:28 ` Lars-Peter Clausen 2015-01-19 18:42 ` Manuel Lauss 0 siblings, 1 reply; 5+ messages in thread From: Lars-Peter Clausen @ 2015-01-19 18:28 UTC (permalink / raw) To: Manuel Lauss; +Cc: alsa-devel, Mark Brown, Liam Girdwood [-- Attachment #1: Type: text/plain, Size: 1336 bytes --] On 01/19/2015 04:46 PM, Manuel Lauss wrote: > Hi Lars, > > Since commit 6794f709b7124ff1e574c4f4c9494418ab56c4b4 > (ASoC: ac97: Drop delayed device registration) the wm9712 ts on > my MIPS DB1300 board doesn't work any more: > > wm97xx-ts 0-0:wm9712-codec.1: Device with vendor 0000 is not a wm97xx > db1200-ac97 db1300-ac97.0: wm9712-hifi <-> au1xpsc_ac97.1 mapping ok > wm9712-codec wm9712-codec.1: ASoC: mux Differential Source has no paths > wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone Mux has no paths > db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 mapping ok > > whereas before this patch: > [ 1.820000] db1200-ac97 db1300-ac97.0: wm9712-hifi <-> > au1xpsc_ac97.1 mapping ok > [ 1.820000] wm9712-codec wm9712-codec.1: ASoC: mux Differential > Source has no paths > [ 1.830000] wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone > Mux has no paths > [ 1.840000] wm97xx-ts 0-0:wm9712-codec.1: detected a wm9712 codec > [ 1.850000] input: wm97xx touchscreen as > /devices/platform/db1300-ac97.0/0-0:wm9712-codec.1/input/input0 > [ 1.860000] db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 > mapping ok > > > Do you have any ideas how to solve this? For a proper fix probably rewrite the AC97 bus support. But can you try if the attached patch works as a workaround? Thanks, - Lars [-- Attachment #2: 0001-ASoC-wm9712-Reset-before-registering-AC97-device.patch --] [-- Type: text/x-diff, Size: 1247 bytes --] >From f75567f0966ce55e03cfae295fafded37bd8d0e7 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen <lars@metafoo.de> Date: Mon, 19 Jan 2015 19:25:09 +0100 Subject: [PATCH] ASoC: wm9712: Reset before registering AC97 device --- sound/soc/codecs/wm9712.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c index e04643d..998c140 100644 --- a/sound/soc/codecs/wm9712.c +++ b/sound/soc/codecs/wm9712.c @@ -666,6 +666,10 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec) struct wm9712_priv *wm9712 = snd_soc_codec_get_drvdata(codec); int ret = 0; + ret = wm9712_reset(codec, 0); + if (ret < 0) + return ret; + wm9712->ac97 = snd_soc_new_ac97_codec(codec); if (IS_ERR(wm9712->ac97)) { ret = PTR_ERR(wm9712->ac97); @@ -673,18 +677,10 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec) return ret; } - ret = wm9712_reset(codec, 0); - if (ret < 0) - goto reset_err; - /* set alc mux to none */ ac97_write(codec, AC97_VIDEO, ac97_read(codec, AC97_VIDEO) | 0x3000); return 0; - -reset_err: - snd_soc_free_ac97_codec(wm9712->ac97); - return ret; } static int wm9712_soc_remove(struct snd_soc_codec *codec) -- 1.7.10.4 [-- Attachment #3: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: wm97xx touch does not work after ac97 delayed dev reg removal 2015-01-19 18:28 ` Lars-Peter Clausen @ 2015-01-19 18:42 ` Manuel Lauss 2015-01-19 18:58 ` Lars-Peter Clausen 0 siblings, 1 reply; 5+ messages in thread From: Manuel Lauss @ 2015-01-19 18:42 UTC (permalink / raw) To: Lars-Peter Clausen; +Cc: alsa-devel, Mark Brown, Liam Girdwood On Mon, Jan 19, 2015 at 7:28 PM, Lars-Peter Clausen <lars@metafoo.de> wrote: > On 01/19/2015 04:46 PM, Manuel Lauss wrote: >> >> Hi Lars, >> >> Since commit 6794f709b7124ff1e574c4f4c9494418ab56c4b4 >> (ASoC: ac97: Drop delayed device registration) the wm9712 ts on >> my MIPS DB1300 board doesn't work any more: >> >> wm97xx-ts 0-0:wm9712-codec.1: Device with vendor 0000 is not a wm97xx >> db1200-ac97 db1300-ac97.0: wm9712-hifi <-> au1xpsc_ac97.1 mapping ok >> wm9712-codec wm9712-codec.1: ASoC: mux Differential Source has no paths >> wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone Mux has no paths >> db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 mapping ok >> >> whereas before this patch: >> [ 1.820000] db1200-ac97 db1300-ac97.0: wm9712-hifi <-> >> au1xpsc_ac97.1 mapping ok >> [ 1.820000] wm9712-codec wm9712-codec.1: ASoC: mux Differential >> Source has no paths >> [ 1.830000] wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone >> Mux has no paths >> [ 1.840000] wm97xx-ts 0-0:wm9712-codec.1: detected a wm9712 codec >> [ 1.850000] input: wm97xx touchscreen as >> /devices/platform/db1300-ac97.0/0-0:wm9712-codec.1/input/input0 >> [ 1.860000] db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 >> mapping ok >> >> >> Do you have any ideas how to solve this? > > > For a proper fix probably rewrite the AC97 bus support. But can you try if > the attached patch works as a workaround? Yes it does. Thank you! Manuel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: wm97xx touch does not work after ac97 delayed dev reg removal 2015-01-19 18:42 ` Manuel Lauss @ 2015-01-19 18:58 ` Lars-Peter Clausen 2015-01-19 19:17 ` Mark Brown 0 siblings, 1 reply; 5+ messages in thread From: Lars-Peter Clausen @ 2015-01-19 18:58 UTC (permalink / raw) To: Manuel Lauss; +Cc: alsa-devel, Mark Brown, Liam Girdwood On 01/19/2015 07:42 PM, Manuel Lauss wrote: > On Mon, Jan 19, 2015 at 7:28 PM, Lars-Peter Clausen <lars@metafoo.de> wrote: >> On 01/19/2015 04:46 PM, Manuel Lauss wrote: >>> >>> Hi Lars, >>> >>> Since commit 6794f709b7124ff1e574c4f4c9494418ab56c4b4 >>> (ASoC: ac97: Drop delayed device registration) the wm9712 ts on >>> my MIPS DB1300 board doesn't work any more: >>> >>> wm97xx-ts 0-0:wm9712-codec.1: Device with vendor 0000 is not a wm97xx >>> db1200-ac97 db1300-ac97.0: wm9712-hifi <-> au1xpsc_ac97.1 mapping ok >>> wm9712-codec wm9712-codec.1: ASoC: mux Differential Source has no paths >>> wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone Mux has no paths >>> db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 mapping ok >>> >>> whereas before this patch: >>> [ 1.820000] db1200-ac97 db1300-ac97.0: wm9712-hifi <-> >>> au1xpsc_ac97.1 mapping ok >>> [ 1.820000] wm9712-codec wm9712-codec.1: ASoC: mux Differential >>> Source has no paths >>> [ 1.830000] wm9712-codec wm9712-codec.1: ASoC: mux Capture Phone >>> Mux has no paths >>> [ 1.840000] wm97xx-ts 0-0:wm9712-codec.1: detected a wm9712 codec >>> [ 1.850000] input: wm97xx touchscreen as >>> /devices/platform/db1300-ac97.0/0-0:wm9712-codec.1/input/input0 >>> [ 1.860000] db1200-ac97 db1300-i2s.0: wm8731-hifi <-> au1xpsc_i2s.2 >>> mapping ok >>> >>> >>> Do you have any ideas how to solve this? >> >> >> For a proper fix probably rewrite the AC97 bus support. But can you try if >> the attached patch works as a workaround? > > Yes it does. Ok, thanks for testing. I'll try to put together a proper patch and then send it out tomorrow or so. The wm9705 and wm9713 look like they need the same patch. So maybe it is possible to add support for reseting the device in the core itself rather than doing it for every device in the device driver. - Lars ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: wm97xx touch does not work after ac97 delayed dev reg removal 2015-01-19 18:58 ` Lars-Peter Clausen @ 2015-01-19 19:17 ` Mark Brown 0 siblings, 0 replies; 5+ messages in thread From: Mark Brown @ 2015-01-19 19:17 UTC (permalink / raw) To: Lars-Peter Clausen; +Cc: Manuel Lauss, alsa-devel, Liam Girdwood [-- Attachment #1.1: Type: text/plain, Size: 554 bytes --] On Mon, Jan 19, 2015 at 07:58:22PM +0100, Lars-Peter Clausen wrote: > Ok, thanks for testing. I'll try to put together a proper patch and then > send it out tomorrow or so. The wm9705 and wm9713 look like they need the > same patch. So maybe it is possible to add support for reseting the device > in the core itself rather than doing it for every device in the device > driver. There was the ucb1400 (or some similar part number too) which was the same deal with an integrated touchscreen and CODEC and probably needs the same thing - it used ac97.c. [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-01-19 19:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-01-19 15:46 wm97xx touch does not work after ac97 delayed dev reg removal Manuel Lauss 2015-01-19 18:28 ` Lars-Peter Clausen 2015-01-19 18:42 ` Manuel Lauss 2015-01-19 18:58 ` Lars-Peter Clausen 2015-01-19 19:17 ` Mark Brown
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.