All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jyri Sarha <jsarha@ti.com>
To: Arnaud Pouliquen <arnaud.pouliquen@st.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Cc: Jean-Francois Moine <moinejf@free.fr>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	David Airlie <airlied@linux.ie>,
	Liam Girdwood <lgirdwood@gmail.com>, Takashi Iwai <tiwai@suse.de>,
	Mark Brown <broonie@kernel.org>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>
Subject: Re: [RFC v2 5/6] ASoc: hdmi-codec: add IEC control.
Date: Tue, 16 Feb 2016 22:16:13 +0200	[thread overview]
Message-ID: <56C3838D.5090408@ti.com> (raw)
In-Reply-To: <56C1ADC5.4090207@st.com>

On 02/15/16 12:51, Arnaud Pouliquen wrote:
>
>
> On 02/06/2016 08:29 PM, Jyri Sarha wrote:
>> On 01/22/16 19:48, Arnaud Pouliquen wrote:
>>> Create 'IEC958 Playback Default' controls to support IEC61937 formats.
>>> the use of the alsa control is optional, using 'iec_ctl' flag.
>>>
>>
>> I applied the patches "ALSA: pcm: add IEC958 channel status control
>> helper", "ASoC: core: add code to complete dai init after pcm creation",
>> and "ASoc: hdmi-codec: add IEC control" to my BBB HDMI audio branch. I
>> needed to do some trivial conflict solving, but after that everything
>> compiled fine. However, when I tried to read the iec mixer with:
>>
>> # amixer -c0 cget name='IEC958 Playback Default',device=0
>> amixer: Cannot find the given element from control hw:0
>>
>> The same command worked just fine on my intel based laptop:
>> # amixer -c0 cget iface=MIXER,name='IEC958 Playback Default',device=0
>> numid=31,iface=MIXER,name='IEC958 Playback Default'
>>     ; type=IEC958,access=rw------,values=1
>>     : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
> Do you enable "iec_ctl" field in hdmi_codec_pdata structure?
> i add this field because control can be declared and used by CPU DAI or
> codec, depending on hardware.
>
>>
>> How did you test the mixer yourself?
> To test on my platform i hacked my code because control is handled by
> CPU_DAI...
> But just by disabling control creation in CPU DAI for HDMI and set
> "iec_ctl" filed to 1, i can see and use the control.
>

Oh, my mistake. Simply overlooked the iec_ctl. However, when testing the 
mixer element again, I found another problem. When getting the IEC958 
value, I got following dump:

  [  690.127298]
[  690.128957] =====================================
[  690.133956] [ BUG: bad unlock balance detected! ]
[  690.138965] 4.4.0-rc6-01061-g2b96fb3-dirty #12 Not tainted
[  690.144785] -------------------------------------
[  690.149785] amixer/1409 is trying to release lock 
(&hcp->current_stream_lock) at:
[  690.157992] [<bf08a09c>] snd_pcm_iec958_get+0x1c/0x70 [snd_pcm]
[  690.164277] but there are no more locks to release!
[  690.169454]
[  690.169454] other info that might help us debug this:
[  690.176388] 2 locks held by amixer/1409:
[  690.180554]  #0:  (&card->power_lock){+.+...}, at: [<bf050f08>] 
snd_ctl_ioctl+0x514/0xcfc [snd]
[  690.190010]  #1:  (&card->controls_rwsem){++++..}, at: [<bf050f28>] 
snd_ctl_ioctl+0x534/0xcfc [snd]
[  690.199760]
[  690.199760] stack backtrace:
[  690.204409] CPU: 0 PID: 1409 Comm: amixer Not tainted 
4.4.0-rc6-01061-g2b96fb3-dirty #12
[  690.212990] Hardware name: Generic AM33XX (Flattened Device Tree)
[  690.219516] [<c0017b84>] (unwind_backtrace) from [<c0013ee8>] 
(show_stack+0x10/0x14)
[  690.227754] [<c0013ee8>] (show_stack) from [<c03480a0>] 
(dump_stack+0x84/0x9c)
[  690.235443] [<c03480a0>] (dump_stack) from [<c008ce8c>] 
(print_unlock_imbalance_bug+0xac/0xdc)
[  690.244598] [<c008ce8c>] (print_unlock_imbalance_bug) from 
[<c0091aa8>] (lock_release+0x268/0x3c0)
[  690.254125] [<c0091aa8>] (lock_release) from [<c0650c7c>] 
(__mutex_unlock_slowpath+0xb4/0x1a4)
[  690.263401] [<c0650c7c>] (__mutex_unlock_slowpath) from [<bf08a09c>] 
(snd_pcm_iec958_get+0x1c/0x70 [snd_pcm])
[  690.274104] [<bf08a09c>] (snd_pcm_iec958_get [snd_pcm]) from 
[<bf050fc4>] (snd_ctl_ioctl+0x5d0/0xcfc [snd])
[  690.284521] [<bf050fc4>] (snd_ctl_ioctl [snd]) from [<c01840bc>] 
(do_vfs_ioctl+0x4c0/0x7e4)
[  690.293405] [<c01840bc>] (do_vfs_ioctl) from [<c018444c>] 
(SyS_ioctl+0x6c/0x7c)
[  690.301191] [<c018444c>] (SyS_ioctl) from [<c000f6e0>] 
(ret_fast_syscall+0x0/0x1c)

It seems you have a bug at sound/core/pcm_iec958.c:49 (I'll comment that 
separately).

BR,
Jyri

  reply	other threads:[~2016-02-16 20:16 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-22 17:48 [RFC v2 0/6] sti: add audio interface to the hdmi driver Arnaud Pouliquen
2016-01-22 17:48 ` [RFC v2 1/6] video: hdmi: add helper function for N and CTS Arnaud Pouliquen
2016-02-18 14:20   ` Philipp Zabel
2016-02-19  8:20     ` Arnaud Pouliquen
2016-01-22 17:48 ` [RFC v2 2/6] ALSA: pcm: add IEC958 channel status control helper Arnaud Pouliquen
2016-02-16 20:17   ` Jyri Sarha
2016-02-17  8:37     ` Arnaud Pouliquen
2016-02-17  0:31   ` Russell King - ARM Linux
2016-02-17  9:07     ` Arnaud Pouliquen
2016-01-22 17:48 ` [RFC v2 3/6] ASoC: core: add code to complete dai init after pcm creation Arnaud Pouliquen
2016-02-05  9:58   ` Jyri Sarha
2016-02-15 10:39     ` Arnaud Pouliquen
2016-01-22 17:48 ` [RFC v2 4/6] drm: sti: Add ASoC generic hdmi codec support Arnaud Pouliquen
2016-01-22 17:48 ` [RFC v2 5/6] ASoc: hdmi-codec: add IEC control Arnaud Pouliquen
2016-02-06 19:29   ` Jyri Sarha
2016-02-15 10:51     ` Arnaud Pouliquen
2016-02-16 20:16       ` Jyri Sarha [this message]
2016-01-22 17:48 ` [RFC v2 6/6] ARM: DT: b2120: add audio HDMI dai link in audio card Arnaud Pouliquen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56C3838D.5090408@ti.com \
    --to=jsarha@ti.com \
    --cc=airlied@linux.ie \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnaud.pouliquen@st.com \
    --cc=benjamin.gaignard@linaro.org \
    --cc=broonie@kernel.org \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=linux@arm.linux.org.uk \
    --cc=moinejf@free.fr \
    --cc=p.zabel@pengutronix.de \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.