[regression] AACI driver on vexpress never gets loaded on Oneiric

Bug #862626 reported by Dave Martin on 2011-09-29
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Linux
Fix Released
Undecided
Unassigned
Linaro Ubuntu
Medium
John Rigby
linaro-landing-team-arm
Fix Released
Medium
Unassigned
linux-linaro (Ubuntu)
Undecided
Unassigned

Bug Description

... so sound doesn't work unless the snd-aaci module is loaded by hand.
This appears to be a regression at some commit in linux-linaro-oneiric.
At least the head of linux-linaro-natty appears unaffected.

Observed in linux-image-3.0.0-1006-linaro-vexpress (3.0.0-1006.8~ppa~natty)

For now, it looks like loading of AMBA peripheral drivers may not work usefully.
This needs investigation and (probably) a proper fix, which may involve additional udev rules, a change to the uevent data associated with these devices etc.

In the short term, this can be resolved by building the relevant AMBA drivers into the kernel for vexpress.

All of them seem to be built in already except for the AACI driver.

 CONFIG_SND_ARMAACI=y

This also appears to require the following also to be built in:

        CONFIG_SND=y
        CONFIG_SND_TIMER=y
        CONFIG_SND_PCM=y
        CONFIG_SND_AC97_CODEC=y
        CONFIG_SND_ARMAACI=y
        CONFIG_SND_SOC_I2C_AND_SPI=y
        CONFIG_AC97_BUS=y

If boards other than vexpress are making use of the ARM AACI driver, they may be affected too.

description: updated
summary: - AACI driver on vexpress never gets loaded
+ AACI driver on vexpress never gets loaded on vexpress
Changed in linaro-ubuntu:
milestone: none → 11.10

Set medium priority as a work around is known: snd-aaci module is loaded by hand.
Assign to john to update the kernel config.

tags: added: armel patch vexpress
Changed in linaro-ubuntu:
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → John Rigby (jcrigby)
summary: - AACI driver on vexpress never gets loaded on vexpress
+ [regression] AACI driver on vexpress never gets loaded on Oneiric
Anmar Oueja (anmar) on 2011-10-27
Changed in linaro-landing-team-arm:
importance: Undecided → Medium
Fathi Boudra (fboudra) on 2011-11-11
Changed in linaro-ubuntu:
milestone: 11.10 → 11.11
Ricardo Salveti (rsalveti) wrote :

John, can you check if this is still and issue?

On Mon, 2011-11-21 at 08:19 +0000, Ricardo Salveti wrote:
> John, can you check if this is still and issue?
>

Yes, I can check it. For both the vexpress hardware packs presumably.
(LT and the 'official' one.)

Tixy (Jon Medhurst) (tixy) wrote :

On Mon, 2011-11-21 at 08:19 +0000, Ricardo Salveti wrote:
> John, can you check if this is still and issue?
>

Ryan checked this, it's still a problem.

John Rigby (jcrigby) wrote :

Making the above mentioned options =y in vexpress kernel but leaving them =m in other flavours.

Changed in linaro-ubuntu:
status: Triaged → Fix Committed
Loïc Minier (lool) wrote :

Isn't there some autoloading issue to be fixed here rather than a config tweak?

Ricardo Salveti (rsalveti) wrote :

Yup, that's why it's fixed released just for linaro-ubuntu, as we are using the workaround while the proper fix is still not in place.

Dave Martin (dave-martin-arm) wrote :

On Tue, Nov 22, 2011 at 09:28:41AM -0000, Loïc Minier wrote:
> Isn't there some autoloading issue to be fixed here rather than a config
> tweak?

I have implemented a proper fix some weeks ago, and I just sent Russell
a pull request. If the ARM LT guys want to try it, they could revert
the affected config options to =m and testdrive the fix.

The pull request is here:

https://lkml.org/lkml/2011/11/22/144

Cheers
---Dave

Loïc Minier (lool) wrote :

On Tue, Nov 22, 2011, Dave Martin wrote:
> I have implemented a proper fix some weeks ago, and I just sent Russell
> a pull request. If the ARM LT guys want to try it, they could revert
> the affected config options to =m and testdrive the fix.
>
> The pull request is here:
> https://lkml.org/lkml/2011/11/22/144

 Perfect, thanks; did you sent this to Nicolas for linux-linaro?

--
Loïc Minier

Ryan Harkin (ryanharkin) wrote :

I've tested Dave's branch (above) and confirm that the audio works with the drivers configured either as modules. (It also works with the drivers compiled into the kernel).

The LT kernel works when build with the drivers are built-in (set to 'y' in .config), but not when configured as modules. When configured as modules, I get the following output at boot time:

     * Starting restore sound card(s') mixer state(s) [fail]

Then, if I check for pcm files as Dave suggested, there are none:

    root@linaro-ubuntu-desktop:~# ls /dev/snd/pcm*
    ls: cannot access /dev/snd/pcm*: No such file or directory

And finally, when I try to play a sound, I get the following error output:

    root@linaro-ubuntu-desktop:~# ogg123 /usr/share/sounds/gnome/default/alerts/bark.ogg

    Audio Device: Advanced Linux Sound Architecture (ALSA) output

    Playing: /usr/share/sounds/gnome/default/alerts/bark.ogg
    Ogg Vorbis stream: 2 channel, 48000 Hz
    ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
    ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
    ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
    ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
    ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
    ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
    ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
    ALSA lib conf.c:4663:(snd_config_expand) Evaluate error: No such file or directory
    ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM default
    ERROR: Cannot open device alsa.

Dave Martin (dave-martin-arm) wrote :

On Tue, Nov 22, 2011 at 4:43 PM, Ryan Harkin <email address hidden> wrote:
> I've tested Dave's branch (above) and confirm that the audio works with
> the drivers configured either as modules.  (It also works with the
> drivers compiled into the kernel).
>
> The LT kernel works when build with the drivers are built-in (set to 'y'
> in .config), but not when configured as modules.  When configured as
> modules, I get the following output at boot time:

[...]

So, the LT kernel doesn't automatically load the driver modules, as we supposed.

Just to clarify, you're saying it _does_ work fully with my branch?
What if you pull those patches into the LT tree? Does that work too
when the drivers are modules?

Cheers
---Dave

Ryan Harkin (ryanharkin) wrote :

On Tue, 2011-11-22 at 18:40 +0000, Dave Martin wrote:
> Just to clarify, you're saying it _does_ work fully with my branch?

Yes, it works fully.

(sorry for adding a confused comment last time!)

> What if you pull those patches into the LT tree? Does that work too
> when the drivers are modules?

I'll give that a go and add a comment when I know.

Ryan Harkin (ryanharkin) wrote :

I've pulled the patches from Dave's branch into a copy of the LT tree and they work fully there also.

I tested the patches compiled in and as modules.

I was unable to merge the following commit automatically, so I omitted it:

e8fa516 dmaengine: pl330: Enable module alias autogeneration for AMBA drivers

Looking at it now, it should have been a trivial merge, but it seems it was needed for this test.

Dave Martin (dave-martin-arm) wrote :

> I was unable to merge the following commit automatically, so I omitted
> it:
>
> e8fa516 dmaengine: pl330: Enable module alias autogeneration for AMBA
> drivers
>
> Looking at it now, it should have been a trivial merge, but it seems it
> was needed for this test.

Do you mean "wasn't needed"? The series includes miscellaneous driver
patches to add the necessary module alias tag. If you're missing one,
it should just mean that particular driver won't get autoloaded...
AFAIK vexpress-v2p-ca9 has no DMA controller (?)

Cheers
---Dave

Ryan Harkin (ryanharkin) wrote :

On Wed, 2011-11-23 at 10:00 +0000, Dave Martin wrote:
> > but it seems it was needed for this test.
>
> Do you mean "wasn't needed"?

Exactly. Sorry, that was a typo. I didn't need it, and the image built
and worked without the patch.

Changed in linaro-ubuntu:
status: Fix Committed → Fix Released
Dave Martin (dave-martin-arm) wrote :

On Wed, Nov 23, 2011 at 10:45 AM, Ryan Harkin <email address hidden> wrote:
> On Wed, 2011-11-23 at 10:00 +0000, Dave Martin wrote:
>> > but it seems it was needed for this test.
>>
>> Do you mean "wasn't needed"?
>
> Exactly.  Sorry, that was a typo.  I didn't need it, and the image built
> and worked without the patch.

OK, thanks for putting my mind at rest :)

---Dave

Anmar Oueja (anmar) on 2011-11-28
Changed in linaro-landing-team-arm:
status: New → Won't Fix
Tixy (Jon Medhurst) (tixy) wrote :

ARM Landing Team kernel now contains Dave Martin's patches

Changed in linaro-landing-team-arm:
milestone: none → 2012.01
status: Won't Fix → Fix Released
Changed in linux-linaro (Ubuntu):
status: New → Fix Released
Changed in linux-linaro:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers