linux-mips
[Top] [All Lists]

Re: About MIPS specific dma_mmap_coherent()

To: Takashi Iwai <tiwai@suse.de>
Subject: Re: About MIPS specific dma_mmap_coherent()
From: Wu Zhangjin <wuzhangjin@gmail.com>
Date: Wed, 14 Apr 2010 17:00:19 +0800
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-mips <linux-mips@linux-mips.org>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:reply-to:to:cc :in-reply-to:references:content-type:organization:date:message-id :mime-version:x-mailer:content-transfer-encoding; bh=MLY8Tkp5qhZQIgOucOlAlOZPYWUUTrW3bZpNADlYyE0=; b=G7xQPO/aTJZJ/NFf0ka0zrW9hib26obkEV39X5YwLJz1rIDCPKZiswV/4PMqPpSS5t PLASRvuuVVxSqoWKH+z0Qgiqr5Z5f8vDwHXxI3p4hob2RQOmia6ZKcR1L4cLMKJeTrqI cMFDC21rUzvCaH36Ovi0QlaHe3G0ePbOv2/7g=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:reply-to:to:cc:in-reply-to:references:content-type :organization:date:message-id:mime-version:x-mailer :content-transfer-encoding; b=hWdLNasXWBP16SyX+yfKed3wQ0bFxEFXHZoXOQ9NKkY4DCpjWcC9nN2iSLMQmUB9OA QXHqlxiL9TswLED842hVGHuy5It3WqkFrHwIZ/K6wVqSLqk79P4cR9HaSW7qh+9yZM1Z tQJHeTSq2TJk3RhXVOH3VnFPWyHKQ0YlS1m7M=
In-reply-to: <s5hzl164kay.wl%tiwai@suse.de>
Organization: DSLab, Lanzhou University, China
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1271134735.25797.35.camel@falcon> <s5hmxx7z4a7.wl%tiwai@suse.de> <1271218889.25872.27.camel@falcon> <s5hzl164kay.wl%tiwai@suse.de>
Reply-to: wuzhangjin@gmail.com
Sender: linux-mips-bounce@linux-mips.org
On Wed, 2010-04-14 at 08:31 +0200, Takashi Iwai wrote:
[...]
> > 
> > Before, we have added the low-level handling with pgprot_noncached() in
> > snd_pcm_mmap() to fix it, but now, can we add MIPS specific
> > dma_mmap_coherent() as ARM did?
> 
> That would be a certainly fix, yes.  I have no objection, of course ;)
> A quicky, less-intrusive one would be the patch below.

The below patch works well, just tested it.

> 
> 
> thanks,
> 
> Takashi
> 
> ---
> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
> index c22ebb0..fd6703e 100644
> --- a/sound/core/pcm_native.c
> +++ b/sound/core/pcm_native.c
> @@ -3188,6 +3188,8 @@ static int snd_pcm_default_mmap(struct 
> snd_pcm_substream *substream,
>                                        substream->runtime->dma_area,
>                                        substream->runtime->dma_addr,
>                                        area->vm_end - area->vm_start);
> +#elif defined(CONFIG_MIPS) && defined(CONFIG_DMA_NONCOHERENT)
> +     area->vm_page_prot = pgprot_noncached(area->vm_page_prot);
>  #endif /* ARCH_HAS_DMA_MMAP_COHERENT */
>       /* mmap with fault handler */
>       area->vm_ops = &snd_pcm_vm_ops_data_fault;



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