From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kuninori Morimoto Subject: Re: About snd_dmaengine_pcm_trigger() Date: Tue, 11 Mar 2014 17:28:07 -0700 (PDT) Message-ID: <878usgs1kg.wl%kuninori.morimoto.gx@gmail.com> References: <87eh2hql03.wl%kuninori.morimoto.gx@gmail.com> <5316D562.3010901@metafoo.de> <874n3dqc4j.wl%kuninori.morimoto.gx@gmail.com> <5316EC79.4090202@metafoo.de> <87pplttk8d.wl%kuninori.morimoto.gx@gmail.com> <531EDBB4.1080008@metafoo.de> <20140311095555.GI28112@sirena.org.uk> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-pb0-f51.google.com (mail-pb0-f51.google.com [209.85.160.51]) by alsa0.perex.cz (Postfix) with ESMTP id EA5DC261AE9 for ; Wed, 12 Mar 2014 01:28:11 +0100 (CET) Received: by mail-pb0-f51.google.com with SMTP id uo5so296340pbc.10 for ; Tue, 11 Mar 2014 17:28:10 -0700 (PDT) In-Reply-To: <20140311095555.GI28112@sirena.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Mark Brown Cc: Linux-ALSA , Lars-Peter Clausen , Kuninori Morimoto , Simon , Liam Girdwood List-Id: alsa-devel@alsa-project.org Hi Lars, Mark > > The reason why we factored out the dmaengine DMA stuff is because > > there is a standard API that hides the implementation details and is > > supposed to behave the same for each system. For PIO you do not have > > such a abstraction layer that hides the details, so I'm not sure how > > similar PIO between different platforms will actually be. > > I keep thinking that there ought to be *some* commonality between the > platforms that use FIQs if only in the timer stuff at least. Part of > the reason that doesn't get factored out is that it's normally just a > temporary bodge until DMA is working of course, though Qualcomm do it > because their DMA for the DSP doesn't fit well with dmaengine and the > i.MX AC'97 needs it since the hardware doesn't fully understand AC'97. Yes, there is no pioengine (never created :) I'm not sure detail of non-Renesas platform driver whether it is supporting PIO. But at least my driver (= FSI/rcar) has PIO support, and I think these can share same method/function. So, I create pcm_pio.c under ${LINUX}/sound/soc/sh for Renesas chip with pcm_dmaengine similar style (as much as possible). And, use common ${LINUX}/sound/core/pcm_dmaengine.c for DMA. How about this ?