linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* dmaengine: dw-dmac: Custom cyclic API (Why?)
@ 2016-12-30 11:32 Jose Abreu
  2016-12-30 12:05 ` Jose Abreu
  0 siblings, 1 reply; 10+ messages in thread
From: Jose Abreu @ 2016-12-30 11:32 UTC (permalink / raw)
  To: dmaengine, linux-kernel

Hi All,


I am going to work with dw-dmac AHB controller and I wanted to
use SND_DMAENGINE_PCM. In order to use this, a standard DMA
driver with cyclic support is needed. I found out that dw-dmac is
capable of cyclic transfers but instead of using the DMA engine
standard cyclic API it uses a custom API. Is there any specific
reason for this? What is the effort to change the custom API to a
standard DMA engine cyclic API?


Best regards,

Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2016-12-30 11:32 dmaengine: dw-dmac: Custom cyclic API (Why?) Jose Abreu
@ 2016-12-30 12:05 ` Jose Abreu
  2017-01-02  8:38   ` Andy Shevchenko
  0 siblings, 1 reply; 10+ messages in thread
From: Jose Abreu @ 2016-12-30 12:05 UTC (permalink / raw)
  To: dmaengine, linux-kernel, vireshk, andriy.shevchenko

++dw-dmac Maintainers


On 30-12-2016 11:32, Jose Abreu wrote:
> Hi All,
>
>
> I am going to work with dw-dmac AHB controller and I wanted to
> use SND_DMAENGINE_PCM. In order to use this, a standard DMA
> driver with cyclic support is needed. I found out that dw-dmac is
> capable of cyclic transfers but instead of using the DMA engine
> standard cyclic API it uses a custom API. Is there any specific
> reason for this? What is the effort to change the custom API to a
> standard DMA engine cyclic API?
>
>
> Best regards,
>
> Jose Miguel Abreu
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2016-12-30 12:05 ` Jose Abreu
@ 2017-01-02  8:38   ` Andy Shevchenko
  2017-01-02 10:18     ` Vinod Koul
  0 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2017-01-02  8:38 UTC (permalink / raw)
  To: Jose Abreu, dmaengine, linux-kernel, vireshk

On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:
> ++dw-dmac Maintainers
> 
> 
> On 30-12-2016 11:32, Jose Abreu wrote:
> > Hi All,
> > 
> > 
> > I am going to work with dw-dmac AHB controller and I wanted to
> > use SND_DMAENGINE_PCM. In order to use this, a standard DMA
> > driver with cyclic support is needed. I found out that dw-dmac is
> > capable of cyclic transfers but instead of using the DMA engine
> > standard cyclic API it uses a custom API. Is there any specific
> > reason for this? What is the effort to change the custom API to a
> > standard DMA engine cyclic API?
> > 

Because it was a predecessor of generic implementation.

I used to have some semi-finished patch to switch to generic API, though
at that point I had no means to test it.

Since I eventually got iDMA 32-bit, which is used as LPE Audio DMA
engine, support in my branch I might test it in the future, though I
think someone else would be much faster than me.

So, I can share whatever I have to the topic with someone who is really
interested to do that task.

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-01-02  8:38   ` Andy Shevchenko
@ 2017-01-02 10:18     ` Vinod Koul
  2017-01-02 10:58       ` Viresh Kumar
  2017-01-02 11:30       ` Andy Shevchenko
  0 siblings, 2 replies; 10+ messages in thread
From: Vinod Koul @ 2017-01-02 10:18 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Jose Abreu, dmaengine, linux-kernel, vireshk

On Mon, Jan 02, 2017 at 10:38:00AM +0200, Andy Shevchenko wrote:
> On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:
> > ++dw-dmac Maintainers
> > 
> > 
> > On 30-12-2016 11:32, Jose Abreu wrote:
> > > Hi All,
> > > 
> > > 
> > > I am going to work with dw-dmac AHB controller and I wanted to
> > > use SND_DMAENGINE_PCM. In order to use this, a standard DMA
> > > driver with cyclic support is needed. I found out that dw-dmac is
> > > capable of cyclic transfers but instead of using the DMA engine
> > > standard cyclic API it uses a custom API. Is there any specific
> > > reason for this? What is the effort to change the custom API to a
> > > standard DMA engine cyclic API?
> > > 
> 
> Because it was a predecessor of generic implementation.

And we don't have an implementation that uses this.

> I used to have some semi-finished patch to switch to generic API, though
> at that point I had no means to test it.
> 
> Since I eventually got iDMA 32-bit, which is used as LPE Audio DMA
> engine, support in my branch I might test it in the future, though I
> think someone else would be much faster than me.

no we can't, since the DSP is involved and takes control, so unless we do
lots of nasty hacks, it won't be testable. I don't see the ROI for such an
effort.

not sure about non intel ones, viresh?

btw, feel free to test and send patches if you have such a h/w

-- 
~Vinod

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-01-02 10:18     ` Vinod Koul
@ 2017-01-02 10:58       ` Viresh Kumar
  2017-01-02 11:30       ` Andy Shevchenko
  1 sibling, 0 replies; 10+ messages in thread
From: Viresh Kumar @ 2017-01-02 10:58 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Andy Shevchenko, Jose Abreu, dmaengine, linux-kernel, vireshk

On 02-01-17, 15:48, Vinod Koul wrote:
> not sure about non intel ones, viresh?

Not sure really :(

-- 
viresh

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-01-02 10:18     ` Vinod Koul
  2017-01-02 10:58       ` Viresh Kumar
@ 2017-01-02 11:30       ` Andy Shevchenko
  2017-01-02 13:56         ` Jose Abreu
  1 sibling, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2017-01-02 11:30 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Jose Abreu, dmaengine, linux-kernel, vireshk

On Mon, 2017-01-02 at 15:48 +0530, Vinod Koul wrote:
> On Mon, Jan 02, 2017 at 10:38:00AM +0200, Andy Shevchenko wrote:
> > On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:
> > > ++dw-dmac Maintainers

> > I used to have some semi-finished patch to switch to generic API,
> > though
> > at that point I had no means to test it.
> > 
> > Since I eventually got iDMA 32-bit, which is used as LPE Audio DMA
> > engine, support in my branch I might test it in the future, though I
> > think someone else would be much faster than me.
> 
> no we can't, since the DSP is involved and takes control, so unless we
> do
> lots of nasty hacks, it won't be testable. I don't see the ROI for
> such an
> effort.

Thanks for clarification

> btw, feel free to test and send patches if you have such a h/w

Actually we have AVR32 connected to our lab. So, I can test it there,
but I rather need a patch to use some dummy stub instead of codec (it
has no codec connected).

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-01-02 11:30       ` Andy Shevchenko
@ 2017-01-02 13:56         ` Jose Abreu
  2017-04-04 16:23           ` Andy Shevchenko
  0 siblings, 1 reply; 10+ messages in thread
From: Jose Abreu @ 2017-01-02 13:56 UTC (permalink / raw)
  To: Andy Shevchenko, Vinod Koul; +Cc: Jose Abreu, dmaengine, linux-kernel, vireshk

Hi,


On 02-01-2017 11:30, Andy Shevchenko wrote:
> On Mon, 2017-01-02 at 15:48 +0530, Vinod Koul wrote:
>> On Mon, Jan 02, 2017 at 10:38:00AM +0200, Andy Shevchenko wrote:
>>> On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:
>>>> ++dw-dmac Maintainers
>>> I used to have some semi-finished patch to switch to generic API,
>>> though
>>> at that point I had no means to test it.
>>>
>>> Since I eventually got iDMA 32-bit, which is used as LPE Audio DMA
>>> engine, support in my branch I might test it in the future, though I
>>> think someone else would be much faster than me.
>> no we can't, since the DSP is involved and takes control, so unless we
>> do
>> lots of nasty hacks, it won't be testable. I don't see the ROI for
>> such an
>> effort.
> Thanks for clarification
>
>> btw, feel free to test and send patches if you have such a h/w
> Actually we have AVR32 connected to our lab. So, I can test it there,
> but I rather need a patch to use some dummy stub instead of codec (it
> has no codec connected).
>

Thank you all for the info. I don't have the HW ready to test yet
(I was collecting some info first), but when I do I can test on
my side using Designware I2S and ALSA SoC DMA engine.

Best regards,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-01-02 13:56         ` Jose Abreu
@ 2017-04-04 16:23           ` Andy Shevchenko
  2017-04-04 16:43             ` Jose Abreu
  0 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2017-04-04 16:23 UTC (permalink / raw)
  To: Jose Abreu, Vinod Koul; +Cc: dmaengine, linux-kernel, vireshk

On Mon, 2017-01-02 at 13:56 +0000, Jose Abreu wrote:
> On 02-01-2017 11:30, Andy Shevchenko wrote:
> > On Mon, 2017-01-02 at 15:48 +0530, Vinod Koul wrote:
> > > On Mon, Jan 02, 2017 at 10:38:00AM +0200, Andy Shevchenko wrote:
> > > > On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:


> > Actually we have AVR32 connected to our lab. So, I can test it
> > there,
> > but I rather need a patch to use some dummy stub instead of codec
> > (it
> > has no codec connected).
> > 
> 
> Thank you all for the info. I don't have the HW ready to test yet
> (I was collecting some info first), but when I do I can test on
> my side using Designware I2S and ALSA SoC DMA engine.

Just TWIMC, AVR32 is going to be removed from kernel.
It means in particularly I will follow up and remove related bits in
dw_dmac driver, including custom cyclic API.

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-04-04 16:23           ` Andy Shevchenko
@ 2017-04-04 16:43             ` Jose Abreu
  2017-05-22 18:17               ` Andy Shevchenko
  0 siblings, 1 reply; 10+ messages in thread
From: Jose Abreu @ 2017-04-04 16:43 UTC (permalink / raw)
  To: Andy Shevchenko, Jose Abreu, Vinod Koul; +Cc: dmaengine, linux-kernel, vireshk

Hi Andy,


On 04-04-2017 17:23, Andy Shevchenko wrote:
> On Mon, 2017-01-02 at 13:56 +0000, Jose Abreu wrote:
>> On 02-01-2017 11:30, Andy Shevchenko wrote:
>>> On Mon, 2017-01-02 at 15:48 +0530, Vinod Koul wrote:
>>>> On Mon, Jan 02, 2017 at 10:38:00AM +0200, Andy Shevchenko wrote:
>>>>> On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:
>
>>> Actually we have AVR32 connected to our lab. So, I can test it
>>> there,
>>> but I rather need a patch to use some dummy stub instead of codec
>>> (it
>>> has no codec connected).
>>>
>> Thank you all for the info. I don't have the HW ready to test yet
>> (I was collecting some info first), but when I do I can test on
>> my side using Designware I2S and ALSA SoC DMA engine.
> Just TWIMC, AVR32 is going to be removed from kernel.
> It means in particularly I will follow up and remove related bits in
> dw_dmac driver, including custom cyclic API.
>

Thanks for sharing this! Unfortunately the plans to include a DMA
for I2S audio were postponed so I never got to the point of
implementing/testing it. As I don't see any plans in using this
cyclic DMA for now I guess if I need to use it I will implement
it again using the standard cyclic DMA engine API.

Best regards,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: dmaengine: dw-dmac: Custom cyclic API (Why?)
  2017-04-04 16:43             ` Jose Abreu
@ 2017-05-22 18:17               ` Andy Shevchenko
  0 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2017-05-22 18:17 UTC (permalink / raw)
  To: Jose Abreu, Vinod Koul; +Cc: dmaengine, linux-kernel, vireshk

On Tue, 2017-04-04 at 17:43 +0100, Jose Abreu wrote:
> 
> On 04-04-2017 17:23, Andy Shevchenko wrote:
> > On Mon, 2017-01-02 at 13:56 +0000, Jose Abreu wrote:
> > > On 02-01-2017 11:30, Andy Shevchenko wrote:
> > > > On Mon, 2017-01-02 at 15:48 +0530, Vinod Koul wrote:
> > > > > On Mon, Jan 02, 2017 at 10:38:00AM +0200, Andy Shevchenko
> > > > > wrote:
> > > > > > On Fri, 2016-12-30 at 12:05 +0000, Jose Abreu wrote:
> > > > Actually we have AVR32 connected to our lab. So, I can test it
> > > > there,
> > > > but I rather need a patch to use some dummy stub instead of
> > > > codec
> > > > (it
> > > > has no codec connected).
> > > > 
> > > 
> > > Thank you all for the info. I don't have the HW ready to test yet
> > > (I was collecting some info first), but when I do I can test on
> > > my side using Designware I2S and ALSA SoC DMA engine.
> > 
> > Just TWIMC, AVR32 is going to be removed from kernel.
> > It means in particularly I will follow up and remove related bits in
> > dw_dmac driver, including custom cyclic API.
> > 
> 
> Thanks for sharing this! Unfortunately the plans to include a DMA
> for I2S audio were postponed so I never got to the point of
> implementing/testing it. As I don't see any plans in using this
> cyclic DMA for now I guess if I need to use it I will implement
> it again using the standard cyclic DMA engine API.

Just heads up TWIMC the custom API has been removed.

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-05-22 18:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-30 11:32 dmaengine: dw-dmac: Custom cyclic API (Why?) Jose Abreu
2016-12-30 12:05 ` Jose Abreu
2017-01-02  8:38   ` Andy Shevchenko
2017-01-02 10:18     ` Vinod Koul
2017-01-02 10:58       ` Viresh Kumar
2017-01-02 11:30       ` Andy Shevchenko
2017-01-02 13:56         ` Jose Abreu
2017-04-04 16:23           ` Andy Shevchenko
2017-04-04 16:43             ` Jose Abreu
2017-05-22 18:17               ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).