Re: [PATCH] MIPS: Fixups of ALSA memory maps

From: Ralf Baechle
Date: Tue Nov 17 2009 - 08:50:24 EST


On Mon, Nov 16, 2009 at 06:14:14PM +0100, Takashi Iwai wrote:

> > > Seems this is MIPS specific, but it's not that easy to move this patch
> > > into the arch/mips part, So, any better solution?
> > >
> > > Thanks & Regards,
> > > Wu Zhangjin
> > >
> > > ------------------------
> > >
> > > The user application mmap audio dma regions must be dma-coherent. This
> > > patch fix it.
> > >
> > > Without this patch, artsd will fail on boot, and mplayer will exit with
> > > "Segmentation fault". (this happens on YeeLoong netbook, fuloong2f
> > > mini pc with snd_cs5535 audio card)
> > >
> > > This is originally from the to-mips branch of
> > > http://dev.lemote.com/code/linux_loongson, and contributed by Yanhua
> > > from Lemote Inc.
> > >
> > > Reported-by: qiaochong <qiaochong@xxxxxxxxx>
> > > Signed-off-by: Wu Zhangjin <wuzj@xxxxxxxxxx>
> >
> > This issue is an old ghost still around, see:
> >
> > http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20060124.132832.37533152.nemoto%40toshiba-tops.co.jp
> >
> > which is a superset of your proposed patch and which itself is refering to
> > an even older posting from 2003:
> >
> > http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20030523215935.71373.qmail%40web11901.mail.yahoo.com
> >
> > The #ifdef'ed solution doesn't cut it for sure. Let's see what better we
> > can find ...
>
> Indeed. My preference option is to deploy dma_mmap_coherent() to
> possible architectures and use it commonly in the ALSA core code.
>
> But, as a temporary workaround, I'm fine with ifdef until the API is
> defined...

There is a MIPS platform which may be based on a variety of system
controllers only one of which supports cache coherency. So we want to
deciede at runtime not at compile time.

Ralf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/