All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: davinci-linux-open-source@linux.davincidsp.com,
	alsa-devel@alsa-project.org, joelf@ti.com, vinod.koul@intel.com,
	nsekhar@ti.com, linux-kernel@vger.kernel.org,
	Jyri Sarha <jsarha@ti.com>, Liam Girdwood <lgirdwood@gmail.com>,
	Tony Lindgren <tony@atomide.com>, Mark Brown <broonie@kernel.org>,
	mporter@linaro.org, dmaengine@vger.kernel.org,
	dan.j.williams@intel.com, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 14/18] ASoC: davinci: Add edma dmaengine platform driver
Date: Thu, 13 Mar 2014 14:38:37 +0100	[thread overview]
Message-ID: <5321B4DD.5040306@metafoo.de> (raw)
In-Reply-To: <5321AC84.7080004@ti.com>

On 03/13/2014 02:03 PM, Peter Ujfalusi wrote:
> On 03/13/2014 12:28 PM, Lars-Peter Clausen wrote:
>>> +int edma_pcm_platform_register(struct device *dev)
>>> +{
>>> +    if (dev->of_node)
>>> +        return snd_dmaengine_pcm_register(dev,
>>> +                    &edma_dmaengine_pcm_config,
>>> +                    SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
>>
>> Since the edma dmaengine driver implements the slave cap API there is no need
>> to manually specify SND_DMAENGINE_PCM_FLAG_NO_RESIDUE manually. But since the
>> edma driver sets the granularity to DMA_RESIDUE_GRANULARITY_DESCRIPTOR in this
>> case the generic dmaengine will not set SND_DMAENGINE_PCM_FLAG_NO_RESIDUE
>> automatically since it assumes that the dmaengine driver is capable of
>> properly reporting the DMA position.
>
> Hrm, I see. For eDMA I think we can support DMA_RESIDUE_GRANULARITY_SEGMENT
> granularity. Since according to the documentation the _SEGMENT means that the
> DMA position will be updated per periods, which is basically the same thing
> what we are doing at the moment when the granularity is
> DMA_RESIDUE_GRANULARITY_DESCRIPTOR.
>  From ALSA point of view at least they are the same: neither of them can report
> exact position, the DMA pointer jumps from period to period.
>
> IMHO in the generic dmaengine PCM we should set the SNDRV_PCM_INFO_BATCH for
> both cases.
>

Ups, sorry mixed up DMA_RESIDUE_GRANULARITY_SEGMENT and 
DMA_RESIDUE_GRANULARITY_DESCRIPTOR. You can just remove the 
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE when registering the dmaengine PCM driver 
and everything will still work as expected.

WARNING: multiple messages have this Message-ID (diff)
From: lars@metafoo.de (Lars-Peter Clausen)
To: linux-arm-kernel@lists.infradead.org
Subject: [alsa-devel] [PATCH 14/18] ASoC: davinci: Add edma dmaengine platform driver
Date: Thu, 13 Mar 2014 14:38:37 +0100	[thread overview]
Message-ID: <5321B4DD.5040306@metafoo.de> (raw)
In-Reply-To: <5321AC84.7080004@ti.com>

On 03/13/2014 02:03 PM, Peter Ujfalusi wrote:
> On 03/13/2014 12:28 PM, Lars-Peter Clausen wrote:
>>> +int edma_pcm_platform_register(struct device *dev)
>>> +{
>>> +    if (dev->of_node)
>>> +        return snd_dmaengine_pcm_register(dev,
>>> +                    &edma_dmaengine_pcm_config,
>>> +                    SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
>>
>> Since the edma dmaengine driver implements the slave cap API there is no need
>> to manually specify SND_DMAENGINE_PCM_FLAG_NO_RESIDUE manually. But since the
>> edma driver sets the granularity to DMA_RESIDUE_GRANULARITY_DESCRIPTOR in this
>> case the generic dmaengine will not set SND_DMAENGINE_PCM_FLAG_NO_RESIDUE
>> automatically since it assumes that the dmaengine driver is capable of
>> properly reporting the DMA position.
>
> Hrm, I see. For eDMA I think we can support DMA_RESIDUE_GRANULARITY_SEGMENT
> granularity. Since according to the documentation the _SEGMENT means that the
> DMA position will be updated per periods, which is basically the same thing
> what we are doing at the moment when the granularity is
> DMA_RESIDUE_GRANULARITY_DESCRIPTOR.
>  From ALSA point of view at least they are the same: neither of them can report
> exact position, the DMA pointer jumps from period to period.
>
> IMHO in the generic dmaengine PCM we should set the SNDRV_PCM_INFO_BATCH for
> both cases.
>

Ups, sorry mixed up DMA_RESIDUE_GRANULARITY_SEGMENT and 
DMA_RESIDUE_GRANULARITY_DESCRIPTOR. You can just remove the 
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE when registering the dmaengine PCM driver 
and everything will still work as expected.

WARNING: multiple messages have this Message-ID (diff)
From: Lars-Peter Clausen <lars@metafoo.de>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	dmaengine@vger.kernel.org,
	davinci-linux-open-source@linux.davincidsp.com, joelf@ti.com,
	nsekhar@ti.com, Liam Girdwood <lgirdwood@gmail.com>,
	Jyri Sarha <jsarha@ti.com>, Tony Lindgren <tony@atomide.com>,
	Mark Brown <broonie@kernel.org>,
	mporter@linaro.org, dan.j.williams@intel.com,
	vinod.koul@intel.com
Subject: Re: [alsa-devel] [PATCH 14/18] ASoC: davinci: Add edma dmaengine platform driver
Date: Thu, 13 Mar 2014 14:38:37 +0100	[thread overview]
Message-ID: <5321B4DD.5040306@metafoo.de> (raw)
In-Reply-To: <5321AC84.7080004@ti.com>

On 03/13/2014 02:03 PM, Peter Ujfalusi wrote:
> On 03/13/2014 12:28 PM, Lars-Peter Clausen wrote:
>>> +int edma_pcm_platform_register(struct device *dev)
>>> +{
>>> +    if (dev->of_node)
>>> +        return snd_dmaengine_pcm_register(dev,
>>> +                    &edma_dmaengine_pcm_config,
>>> +                    SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
>>
>> Since the edma dmaengine driver implements the slave cap API there is no need
>> to manually specify SND_DMAENGINE_PCM_FLAG_NO_RESIDUE manually. But since the
>> edma driver sets the granularity to DMA_RESIDUE_GRANULARITY_DESCRIPTOR in this
>> case the generic dmaengine will not set SND_DMAENGINE_PCM_FLAG_NO_RESIDUE
>> automatically since it assumes that the dmaengine driver is capable of
>> properly reporting the DMA position.
>
> Hrm, I see. For eDMA I think we can support DMA_RESIDUE_GRANULARITY_SEGMENT
> granularity. Since according to the documentation the _SEGMENT means that the
> DMA position will be updated per periods, which is basically the same thing
> what we are doing at the moment when the granularity is
> DMA_RESIDUE_GRANULARITY_DESCRIPTOR.
>  From ALSA point of view at least they are the same: neither of them can report
> exact position, the DMA pointer jumps from period to period.
>
> IMHO in the generic dmaengine PCM we should set the SNDRV_PCM_INFO_BATCH for
> both cases.
>

Ups, sorry mixed up DMA_RESIDUE_GRANULARITY_SEGMENT and 
DMA_RESIDUE_GRANULARITY_DESCRIPTOR. You can just remove the 
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE when registering the dmaengine PCM driver 
and everything will still work as expected.

  reply	other threads:[~2014-03-13 13:38 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-13  9:18 [PATCH 00/18] edma/ASoC: dmaengine PCM for AM335x and AM447x Peter Ujfalusi
2014-03-13  9:18 ` Peter Ujfalusi
2014-03-13  9:18 ` Peter Ujfalusi
     [not found] ` <1394702320-21743-1-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2014-03-13  9:18   ` [PATCH 01/18] platform_data: edma: Be precise with the paRAM struct Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18   ` [PATCH 02/18] dma: edma: Add support for DMA_PAUSE/RESUME operation Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18   ` [PATCH 03/18] dma: edma: Set DMA_CYCLIC capability flag Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18   ` [PATCH 09/18] dma: edma: Simplify direction configuration in edma_config_pset() Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18     ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 04/18] arm: common: edma: Select event queue 1 as default when booted with DT Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 05/18] arm: common: edma: Save the number of event queues/TCs Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 06/18] arm: common: edma: API to request non default queue for a channel Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 07/18] DMA: edma: Use different eventq for cyclic channels Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 08/18] dma: edma: Implement device_slave_caps callback Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 10/18] dma: edma: Reduce debug print verbosity for non verbose debugging Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13 12:53   ` Shevchenko, Andriy
2014-03-13 12:53     ` Shevchenko, Andriy
2014-03-13 12:53     ` Shevchenko, Andriy
     [not found]     ` <1394715211.28803.239.camel-XvqNBM/wLWRrdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2014-03-13 13:37       ` Peter Ujfalusi
2014-03-13 13:37         ` Peter Ujfalusi
2014-03-13 13:37         ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 11/18] dma: edma: Prefix debug prints where the text were identical in prep callbacks Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 12/18] dma: edma: Add channel number to debug prints Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 13/18] dma: edma: Print the direction value as well when it is not supported Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13 13:03   ` Shevchenko, Andriy
2014-03-13 13:03     ` Shevchenko, Andriy
2014-03-13 13:03     ` Shevchenko, Andriy
2014-03-13 13:40     ` Peter Ujfalusi
2014-03-13 13:40       ` [alsa-devel] " Peter Ujfalusi
2014-03-13 13:40       ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 14/18] ASoC: davinci: Add edma dmaengine platform driver Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13 10:28   ` [alsa-devel] " Lars-Peter Clausen
2014-03-13 10:28     ` Lars-Peter Clausen
     [not found]     ` <53218835.3080909-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-03-13 11:56       ` Peter Ujfalusi
2014-03-13 11:56         ` Peter Ujfalusi
2014-03-13 11:56         ` Peter Ujfalusi
2014-03-13 12:09         ` Lars-Peter Clausen
2014-03-13 12:09           ` Lars-Peter Clausen
2014-03-13 13:03     ` Peter Ujfalusi
2014-03-13 13:03       ` [alsa-devel] " Peter Ujfalusi
2014-03-13 13:03       ` Peter Ujfalusi
2014-03-13 13:38       ` Lars-Peter Clausen [this message]
2014-03-13 13:38         ` Lars-Peter Clausen
2014-03-13 13:38         ` Lars-Peter Clausen
2014-03-13  9:18 ` [PATCH 15/18] ASoC: davinci-mcasp: Use dmaengine based platform driver for AM335x/447x Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 16/18] ASoC: davinci-mcasp: Provide correct filter_data for dmaengine for non-DT boot Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 17/18] ASoC: davinci-mcasp: Assign the dma_data earlier in dai_probe callback Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18 ` [PATCH 18/18] ASoC: davinci-mcasp: Place constraint on the period size based on FIFO config Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13  9:18   ` Peter Ujfalusi
2014-03-13 13:46 ` [PATCH 00/18] edma/ASoC: dmaengine PCM for AM335x and AM447x Mark Brown
2014-03-13 13:46   ` Mark Brown
2014-03-14  9:38   ` Peter Ujfalusi
2014-03-14  9:38     ` Peter Ujfalusi
2014-03-14  9:38     ` Peter Ujfalusi
2014-03-14 10:13     ` Mark Brown
2014-03-14 10:13       ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5321B4DD.5040306@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=davinci-linux-open-source@linux.davincidsp.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=joelf@ti.com \
    --cc=jsarha@ti.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mporter@linaro.org \
    --cc=nsekhar@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=tony@atomide.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.