From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755451AbcBCAfN (ORCPT ); Tue, 2 Feb 2016 19:35:13 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:36328 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753449AbcBCAfK (ORCPT ); Tue, 2 Feb 2016 19:35:10 -0500 Date: Tue, 2 Feb 2016 16:35:08 -0800 From: Kenneth Westfield To: Srinivas Kandagatla Cc: Patrick Lai , alsa-devel@alsa-project.org, Banajit Goswami , Liam Girdwood , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Takashi Iwai , Mark Brown Subject: Re: [alsa-devel] [PATCH RFC 01/15] ASoC: qcom: use snd_dma_alloc/free* apis Message-ID: <20160203003507.GB14436@kwestfie-linux.qualcomm.com> Mail-Followup-To: Srinivas Kandagatla , Patrick Lai , alsa-devel@alsa-project.org, Banajit Goswami , Liam Girdwood , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Takashi Iwai , Mark Brown References: <1454347622-9970-1-git-send-email-srinivas.kandagatla@linaro.org> <1454347680-10307-1-git-send-email-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1454347680-10307-1-git-send-email-srinivas.kandagatla@linaro.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 01, 2016 at 09:27:59AM -0800, Srinivas Kandagatla wrote: > diff --git a/sound/soc/qcom/lpass-platform.c > b/sound/soc/qcom/lpass-platform.c > index 4aeb8e1..a6dce1b 100644 > --- a/sound/soc/qcom/lpass-platform.c > +++ b/sound/soc/qcom/lpass-platform.c > @@ -439,39 +439,6 @@ static irqreturn_t lpass_platform_lpaif_irq(int irq, > void *data) > return IRQ_HANDLED; > } > > -static int lpass_platform_alloc_buffer(struct snd_pcm_substream > *substream, > - struct snd_soc_pcm_runtime *rt) > -{ > - struct snd_dma_buffer *buf = &substream->dma_buffer; > - size_t size = lpass_platform_pcm_hardware.buffer_bytes_max; > - > - buf->dev.type = SNDRV_DMA_TYPE_DEV; > - buf->dev.dev = rt->platform->dev; > - buf->private_data = NULL; > - buf->area = dma_alloc_coherent(rt->platform->dev, size, > &buf->addr, > - GFP_KERNEL); > - if (!buf->area) { > - dev_err(rt->platform->dev, "%s: Could not allocate DMA > buffer\n", > - __func__); > - return -ENOMEM; > - } ... > @@ -499,7 +467,8 @@ static int lpass_platform_pcm_new(struct > snd_soc_pcm_runtime *soc_runtime) > > snd_soc_pcm_set_drvdata(soc_runtime, data); > > - ret = lpass_platform_alloc_buffer(substream, soc_runtime); > + ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, pcm->card->dev, > + size, &substream->dma_buffer); > if (ret) > return ret; > Is there a particular reason for using the soundcard device (pcm-card->dev) rather than the platform device (rt->platform->dev) for memory allocation? Especially considering you posted a fix for this several weeks ago (ASoC: qcom: use correct device pointer in dma allocation). -- Kenneth Westfield Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project