From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754084Ab2F1Niq (ORCPT ); Thu, 28 Jun 2012 09:38:46 -0400 Received: from hqemgate04.nvidia.com ([216.228.121.35]:1060 "EHLO hqemgate04.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753645Ab2F1Nio (ORCPT ); Thu, 28 Jun 2012 09:38:44 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Thu, 28 Jun 2012 06:38:43 -0700 Message-ID: <4FEC5DC7.5060600@nvidia.com> Date: Thu, 28 Jun 2012 19:06:07 +0530 From: Laxman Dewangan User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7 MIME-Version: 1.0 To: Takashi Iwai CC: Mark Brown , Lars-Peter Clausen , "alsa-devel@alsa-project.org" , Stephen Warren , "linux-kernel@vger.kernel.org" , "lrg@ti.com" , Marek Szyprowski Subject: Re: [alsa-devel] [PATCH] ASoC: snd_dmaengine: add common api for pcm_mmap References: <1340866886-24432-1-git-send-email-ldewangan@nvidia.com> <4FEC3B70.5030902@metafoo.de> <20120628121816.GB21029@sirena.org.uk> <4FEC4E62.3020101@metafoo.de> <20120628122830.GJ28922@opensource.wolfsonmicro.com> <4FEC4FA9.20004@nvidia.com> <4FEC5642.9080908@nvidia.com> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday 28 June 2012 06:58 PM, Takashi Iwai wrote: > At Thu, 28 Jun 2012 18:34:02 +0530, > Laxman Dewangan wrote: >> On Thursday 28 June 2012 06:27 PM, Takashi Iwai wrote: >>> At Thu, 28 Jun 2012 18:05:53 +0530, >>> Laxman Dewangan wrote: >>>> On Thursday 28 June 2012 05:58 PM, Mark Brown wrote: >>>>> * PGP Signed by an unknown key >>>>> >>>>> On Thu, Jun 28, 2012 at 02:30:26PM +0200, Lars-Peter Clausen wrote: >>>>>> On 06/28/2012 02:18 PM, Mark Brown wrote: >>>>>>> Oh, dear - this means we don't actually have a generic API at all. Is >>>>>>> there any effort being made to make this generally available? >>>>>> Yes there is, and in fact in next/master there is generic >>>>>> dma_mmap_writecombine. I'm not quite sure how it behaves on non ARM archs >>>>>> though. But in theory it should fallback to a normal coherent mapping. Marek >>>>>> did a lot of work on this, I've put him on Cc. >>>> So can we put the function snd_pcm_lib_writecombine_mmap() in the >>>> pcm_native.c and only export this api for ARM i.e. under macro #ifdef >>>> CONFIG_ARM so that ARM based SOCs like Tegra/epa3xx/mxs/spear can >>>> directly use that one? >>>> Or, wait for this common API until all ARCH support it? >>> I think it's fine to put it first in ALSA side with some ifdef. >>> A similar trick is already found for snd_pcm_lib_mmap_iomem. >>> See include/sound/pcm.h. >>> >>> But, actually it's a still question what if an architecture doesn't >>> support the mmap of writecombine at all. The proposed patch doesn't >>> allow you to know whether writecombine-mmap is possible or not on the >>> running architecture until you really try to call it and fail. >>> It's a missing piece, IMO. >> Lars wanted to move the buffer allocation also to common place. > Which common place? He wanted to refactor allocation part also at same time and so I guessed that it will be in some common place and though about the sound/core. >> Then how about this? >> create new file and header for snd-pcm-writecombine-buffer.c/.h and put >> this in sound/core. >> Select this file compilation through config SND_PCM_WRITECOMBINE_BUFFER >> which will be select this config through sound/soc/xxx/Kconfig if they >> want to use. >> This will provide three apis: new, free and mmap. > Way too much hustles than necessary... Ooh no. :-( I had taken the idea from snd_dmaengine_pcm driver. Bit I like to hear simple way which solves the purpose.