[alsa-devel] alsa on Atmel at91

Michel Benoit murpme at gmail.com
Wed Apr 18 14:00:19 CEST 2007


I'm using gcc 4.1.2 built with buildroot to cross compile alsa lib.
I've tried it with -O1 as reccomended in the gcc bug discussion but I
see a similar behaviour.  Now it does not give a

I've turned on debug messages in alsa lib which shows the following

cchange 'default'
refine_soft 'default'
refine_soft 'default' (begin)
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 48000
PERIOD_TIME: (42666 42667)
PERIOD_SIZE: 2048
PERIOD_BYTES: 8192
PERIODS: 4
BUFFER_TIME: (170666 170667)
BUFFER_SIZE: 8192
BUFFER_BYTES: 32768
TICK_TIME: 10000
refine_soft ok 'default'
refine_slave - leave 'default'
********** was set period_size = 0
********** was set buffer_size = 0

It seems that that alsa lib is not returning the correct values.  Is
this typical of the gcc bug?

What gcc version are you using?
Can you also send me the parameters you use with ./configure to setup
the cross-compilation?

I use the following:

CFLAGS="-Wall -O1" \
CXXFLAGS="-Wall -O1" \
CC=arm-linux-gcc ./configure \
    --host=arm-linux\
    --prefix=$HOME/bsp/rootfs/buildroot/build_arm/root/usr\
    --with-softfloat\
    --with-debug=yes

Michel




On 4/18/07, Liam Girdwood <lg at opensource.wolfsonmicro.com> wrote:
> On Wed, 2007-04-18 at 11:18 +0200, Michel Benoit wrote:
> > Hello again Liam,
> >
> > > Frank has written a codec driver for a dumb BT codec (attached and link
> > > below). This could be renamed and with a little string changes could be
> > > used as a generic dumb codec driver.
> > >
> > > http://opensource.wolfsonmicro.com/~lg/tmp/asoc-codec-bluecore.patch
> > >
> > >
> >
> > > I would use the eti_b1_wm8731.c as an example machine driver for your
> > > board. You will need to replace any WM8731 references and add your
> > > boards own specific clocks, gpio's etc.
> > >
> >
> > I am able to build a soc driver for my hardware using the bluecore
> > codec driver and et1_b1_wm8731 machine code as examples.
> >
> > The driver gets recognized by alsa at startup.  The ssc registers are
> > set correctly but my original problem still remains.  I can play
> > random noise with test/pcm_min but with test/pcm the alsa lib returns
> > a period_size of 0, despite the fact I set period_time to 100000.
> >
>
> This maybe related to an ARM gcc bug :-
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27363
>
>
> > I start to suspect that I have a problem with alsa lib.  How did you
> > cross compile alsa lib för the at91?
>
> I use OpenEmbedded for all my cross compiling:-
>
> http://www.openembedded.org/
>
> OE has the bug fix for the above gcc bug in it's toolchain.
>
> Liam
>
>
>


More information about the Alsa-devel mailing list