linux-mips
[Top] [All Lists]

Re: ALSA on MIPS platform

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: ALSA on MIPS platform
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 07 Aug 2007 20:41:10 +0200
Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp>, jiankemeng@gmail.com, tiansm@lemote.com, linux-mips@linux-mips.org, alsa-devel@alsa-project.org, greg@kroah.com
In-reply-to: <20070807175402.GA24731@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <46B332AC.8020403@lemote.com> <5861a7880708062253x7133659cm1ff17f451e4f82f8@mail.gmail.com> <5861a7880708062317t21970c81w3f16580858bf50af@mail.gmail.com> <20070807.230157.59463765.anemo@mba.ocn.ne.jp> <20070807175402.GA24731@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (Sanjō) APEL/10.6 MULE XEmacs/21.5 (beta27) (fiddleheads) (+CVS-20060704) (i386-suse-linux)
At Tue, 7 Aug 2007 18:54:02 +0100,
Ralf Baechle wrote:
> 
> On Tue, Aug 07, 2007 at 11:01:57PM +0900, Atsushi Nemoto wrote:
> 
> > On Tue, 7 Aug 2007 10:18:04 +0400, "Dajie Tan" <jiankemeng@gmail.com> wrote:
> > >  static inline unsigned long virt_to_phys(volatile const void *address)
> > >  {
> > > -       return (unsigned long)address - PAGE_OFFSET + PHYS_OFFSET;
> > > +       return ((unsigned long)address & 0x1fffffff) + PHYS_OFFSET;
> > >  }
> > 
> > This makes virt_to_phys() a bit slower, and more importantly, breaks
> > 64-bit kernel.
> 
> It's ALSA that is doing funny things here so there is no point in fixing
> the arch code to work for ALSA.

Yep, but OTOH, the arch code doesn't provide a proper standard way to
mmap the pages allocated via dma_alloc_coherent().  That's the missing
piece, especially on mips and sparc.  ARM has already one.

My wish is implementing dma_mmap_coherent() on all architectures, so
that the driver can use it safely without messy ifdefs.


Takashi

<Prev in Thread] Current Thread [Next in Thread>