linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [patch V2 0/6] dma: edma: Provide granular residue accounting
@ 2014-04-28 10:49 Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 1/6] dma: edma: Sanitize residue reporting Thomas Gleixner
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

A simpler version to provide granular residue accounting and readout
for EDMA.

Delta to V1:

      - Removed the double read of the address in PaRAM

      - Simplified the stats update in the interrupt callback for
        intermediate transfers

Thanks,

	tglx

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

* [patch V2 2/6] dma: edma: Check the current decriptor first in tx_status()
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 1/6] dma: edma: Sanitize residue reporting Thomas Gleixner
@ 2014-04-28 10:49 ` Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 3/6] dma: edma: Create private pset struct Thomas Gleixner
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: dma-edma-tx-status-check-current-desc-first.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/4419ac4d/attachment.ksh>

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

* [patch V2 1/6] dma: edma: Sanitize residue reporting
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
@ 2014-04-28 10:49 ` Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 2/6] dma: edma: Check the current decriptor first in tx_status() Thomas Gleixner
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: dma-edma-sanitize-residue-reporting.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/41e3656c/attachment.ksh>

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

* [patch V2 3/6] dma: edma: Create private pset struct
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 1/6] dma: edma: Sanitize residue reporting Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 2/6] dma: edma: Check the current decriptor first in tx_status() Thomas Gleixner
@ 2014-04-28 10:49 ` Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 4/6] dma: edma: Store transfer data in edma_desc and edma_pset Thomas Gleixner
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: dma-edma-create-private-pset-struct.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/05c1b24e/attachment.ksh>

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

* [patch V2 4/6] dma: edma: Store transfer data in edma_desc and edma_pset
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
                   ` (2 preceding siblings ...)
  2014-04-28 10:49 ` [patch V2 3/6] dma: edma: Create private pset struct Thomas Gleixner
@ 2014-04-28 10:49 ` Thomas Gleixner
  2014-04-28 10:49 ` [patch V2 5/6] edma: Make reading the position of active channels work Thomas Gleixner
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: dma-edma-store-per-pset-info.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/60959b39/attachment.ksh>

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

* [patch V2 5/6] edma: Make reading the position of active channels work
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
                   ` (3 preceding siblings ...)
  2014-04-28 10:49 ` [patch V2 4/6] dma: edma: Store transfer data in edma_desc and edma_pset Thomas Gleixner
@ 2014-04-28 10:49 ` Thomas Gleixner
  2014-04-28 14:44   ` Sekhar Nori
  2014-04-28 16:11   ` Joel Fernandes
  2014-04-28 10:49 ` [patch V2 6/6] dma: edma: Provide granular accounting Thomas Gleixner
  2014-04-28 20:47 ` [patch V2 0/6] dma: edma: Provide granular residue accounting Joel Fernandes
  6 siblings, 2 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: arm-edma-make-read-position-useful.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/ac025ce8/attachment.ksh>

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

* [patch V2 6/6] dma: edma: Provide granular accounting
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
                   ` (4 preceding siblings ...)
  2014-04-28 10:49 ` [patch V2 5/6] edma: Make reading the position of active channels work Thomas Gleixner
@ 2014-04-28 10:49 ` Thomas Gleixner
  2014-04-28 20:47 ` [patch V2 0/6] dma: edma: Provide granular residue accounting Joel Fernandes
  6 siblings, 0 replies; 14+ messages in thread
From: Thomas Gleixner @ 2014-04-28 10:49 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: dma-edma-provide-granular-accounting.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/91648c28/attachment.ksh>

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

* [patch V2 5/6] edma: Make reading the position of active channels work
  2014-04-28 10:49 ` [patch V2 5/6] edma: Make reading the position of active channels work Thomas Gleixner
@ 2014-04-28 14:44   ` Sekhar Nori
  2014-04-28 16:11   ` Joel Fernandes
  1 sibling, 0 replies; 14+ messages in thread
From: Sekhar Nori @ 2014-04-28 14:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 28 April 2014 04:19 PM, Thomas Gleixner wrote:

> As Joel pointed out, edma_read_position() uses memcpy_fromio() to read
> the parameter ram. That's not synchronized with the internal update as
> it does a byte by byte copy. We need to do a 32bit read to get a
> consistent value.
> 
> Further reading destination and source is pointless. In DEV_TO_MEM
> transfers we are only interested in the destination, in MEM_TO_DEV we
> care about the source. In MEM_TO_MEM it really does not matter which
> one you read.
> 
> Simple solution: Remove the pointers, select dest/source via a bool
> and return the read value.

> Remove the export of this function while at it. The only potential
> user is the dmaengine and that's always builtin.

While this is true today, there are other DMA drivers which
are modules.

> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Irrespective of above,

Acked-by: Sekhar Nori <nsekhar@ti.com>

Thanks,
Sekhar

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

* [patch V2 5/6] edma: Make reading the position of active channels work
  2014-04-28 10:49 ` [patch V2 5/6] edma: Make reading the position of active channels work Thomas Gleixner
  2014-04-28 14:44   ` Sekhar Nori
@ 2014-04-28 16:11   ` Joel Fernandes
  1 sibling, 0 replies; 14+ messages in thread
From: Joel Fernandes @ 2014-04-28 16:11 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/28/2014 05:49 AM, Thomas Gleixner wrote:
> As Joel pointed out, edma_read_position() uses memcpy_fromio() to read
> the parameter ram. That's not synchronized with the internal update as
> it does a byte by byte copy. We need to do a 32bit read to get a
> consistent value.
> 
> Further reading destination and source is pointless. In DEV_TO_MEM
> transfers we are only interested in the destination, in MEM_TO_DEV we
> care about the source. In MEM_TO_MEM it really does not matter which
> one you read.
> 
> Simple solution: Remove the pointers, select dest/source via a bool
> and return the read value.
> 
> Remove the export of this function while at it. The only potential
> user is the dmaengine and that's always builtin.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thanks, this looks good.

Acked-by: Joel Fernandes <joelf@ti.com>


Regards,
-Joel

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

* [patch V2 0/6] dma: edma: Provide granular residue accounting
  2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
                   ` (5 preceding siblings ...)
  2014-04-28 10:49 ` [patch V2 6/6] dma: edma: Provide granular accounting Thomas Gleixner
@ 2014-04-28 20:47 ` Joel Fernandes
  2014-04-29  8:46   ` Vinod Koul
  6 siblings, 1 reply; 14+ messages in thread
From: Joel Fernandes @ 2014-04-28 20:47 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/28/2014 05:49 AM, Thomas Gleixner wrote:
> A simpler version to provide granular residue accounting and readout
> for EDMA.
> 
> Delta to V1:
> 
>       - Removed the double read of the address in PaRAM
> 
>       - Simplified the stats update in the interrupt callback for
>         intermediate transfers
> 
> Thanks,
> 
> 	tglx
> 

Thanks for the series. I went over all the patches and it looks great.
Acked-by: Joel Fernandes <joelf@ti.com>

The patches however didn't apply and had some conflicts with my dma
memcpy series and peter's cyclic series so I resolved conflicts and
created a single branch based on Vinod's slave-dma next branch (commit
406efb1a745c1dc512dc9c3c859e302e7b7f907e) that Vinod can pull.

I also renamed subject line of patches in Thomas's series to be
"dmaengine: edma" and documented some of the variables used.

https://github.com/joelagnel/linux-kernel.git (for-vinod branch)

Vinod, could you pull if it looks OK?

regards,
-Joel

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

* [patch V2 0/6] dma: edma: Provide granular residue accounting
  2014-04-28 20:47 ` [patch V2 0/6] dma: edma: Provide granular residue accounting Joel Fernandes
@ 2014-04-29  8:46   ` Vinod Koul
  2014-04-30  4:25     ` Joel Fernandes
  0 siblings, 1 reply; 14+ messages in thread
From: Vinod Koul @ 2014-04-29  8:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 28, 2014 at 03:47:37PM -0500, Joel Fernandes wrote:
> On 04/28/2014 05:49 AM, Thomas Gleixner wrote:
> > A simpler version to provide granular residue accounting and readout
> > for EDMA.
> > 
> > Delta to V1:
> > 
> >       - Removed the double read of the address in PaRAM
> > 
> >       - Simplified the stats update in the interrupt callback for
> >         intermediate transfers
> > 
> > Thanks,
> > 
> > 	tglx
> > 
> 
> Thanks for the series. I went over all the patches and it looks great.
> Acked-by: Joel Fernandes <joelf@ti.com>
> 
> The patches however didn't apply and had some conflicts with my dma
> memcpy series and peter's cyclic series so I resolved conflicts and
> created a single branch based on Vinod's slave-dma next branch (commit
> 406efb1a745c1dc512dc9c3c859e302e7b7f907e) that Vinod can pull.
> 
> I also renamed subject line of patches in Thomas's series to be
> "dmaengine: edma" and documented some of the variables used.
> 
> https://github.com/joelagnel/linux-kernel.git (for-vinod branch)
> 
> Vinod, could you pull if it looks OK?

The patches look good.

But,
commit 770f0f3a20188b7e17db2790803b9da925dc0b94
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Mon Apr 28 10:49:43 2014 +0000

    dmaengine: edma: Make reading the position of active channels work

    As Joel pointed out, edma_read_position() uses memcpy_fromio() to read
    the parameter ram. That's not synchronized with the internal update as
    it does a byte by byte copy. We need to do a 32bit read to get a
    consistent value.

    Further reading destination and source is pointless. In DEV_TO_MEM
    transfers we are only interested in the destination, in MEM_TO_DEV we
    care about the source. In MEM_TO_MEM it really does not matter which
    one you read.

    Simple solution: Remove the pointers, select dest/source via a bool
    and return the read value.

    Remove the export of this function while at it. The only potential
    user is the dmaengine and that's always builtin.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

You s-o-b missing in this one, also ack from Sekhar missing. Do you want to redo
this or prefer me to cherry-pick patches adding acks and your s-o-b, since I
already fetched your branch

Either way is fine with me...

-- 
~Vinod

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

* [patch V2 0/6] dma: edma: Provide granular residue accounting
  2014-04-29  8:46   ` Vinod Koul
@ 2014-04-30  4:25     ` Joel Fernandes
  2014-04-30  5:08       ` Vinod Koul
  0 siblings, 1 reply; 14+ messages in thread
From: Joel Fernandes @ 2014-04-30  4:25 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/29/2014 03:46 AM, Vinod Koul wrote:
[..]
> commit 770f0f3a20188b7e17db2790803b9da925dc0b94
> Author: Thomas Gleixner <tglx@linutronix.de>
> Date:   Mon Apr 28 10:49:43 2014 +0000
> 
>     dmaengine: edma: Make reading the position of active channels work
> 
>     As Joel pointed out, edma_read_position() uses memcpy_fromio() to read
>     the parameter ram. That's not synchronized with the internal update as
>     it does a byte by byte copy. We need to do a 32bit read to get a
>     consistent value.
> 
>     Further reading destination and source is pointless. In DEV_TO_MEM
>     transfers we are only interested in the destination, in MEM_TO_DEV we
>     care about the source. In MEM_TO_MEM it really does not matter which
>     one you read.
> 
>     Simple solution: Remove the pointers, select dest/source via a bool
>     and return the read value.
> 
>     Remove the export of this function while at it. The only potential
>     user is the dmaengine and that's always builtin.
> 
>     Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> 
> You s-o-b missing in this one, also ack from Sekhar missing. Do you want to redo
> this or prefer me to cherry-pick patches adding acks and your s-o-b, since I
> already fetched your branch
> 
> Either way is fine with me...
> 

If its Ok with you, it would great if you could add my Ack and Sob.
Thanks a lot. Let me know if you'd want me to do anything else here.

Regards,
-Joel

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

* [patch V2 0/6] dma: edma: Provide granular residue accounting
  2014-04-30  4:25     ` Joel Fernandes
@ 2014-04-30  5:08       ` Vinod Koul
  2014-05-01  1:57         ` Joel Fernandes
  0 siblings, 1 reply; 14+ messages in thread
From: Vinod Koul @ 2014-04-30  5:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 29, 2014 at 11:25:02PM -0500, Joel Fernandes wrote:
> On 04/29/2014 03:46 AM, Vinod Koul wrote:
> [..]
> > commit 770f0f3a20188b7e17db2790803b9da925dc0b94
> > Author: Thomas Gleixner <tglx@linutronix.de>
> > Date:   Mon Apr 28 10:49:43 2014 +0000
> > 
> >     dmaengine: edma: Make reading the position of active channels work
> > 
> >     As Joel pointed out, edma_read_position() uses memcpy_fromio() to read
> >     the parameter ram. That's not synchronized with the internal update as
> >     it does a byte by byte copy. We need to do a 32bit read to get a
> >     consistent value.
> > 
> >     Further reading destination and source is pointless. In DEV_TO_MEM
> >     transfers we are only interested in the destination, in MEM_TO_DEV we
> >     care about the source. In MEM_TO_MEM it really does not matter which
> >     one you read.
> > 
> >     Simple solution: Remove the pointers, select dest/source via a bool
> >     and return the read value.
> > 
> >     Remove the export of this function while at it. The only potential
> >     user is the dmaengine and that's always builtin.
> > 
> >     Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > 
> > You s-o-b missing in this one, also ack from Sekhar missing. Do you want to redo
> > this or prefer me to cherry-pick patches adding acks and your s-o-b, since I
> > already fetched your branch
> > 
> > Either way is fine with me...
> > 
> 
> If its Ok with you, it would great if you could add my Ack and Sob.
> Thanks a lot. Let me know if you'd want me to do anything else here.
Done, The changes are getting pushed, pls do verify

-- 
~Vinod

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

* [patch V2 0/6] dma: edma: Provide granular residue accounting
  2014-04-30  5:08       ` Vinod Koul
@ 2014-05-01  1:57         ` Joel Fernandes
  0 siblings, 0 replies; 14+ messages in thread
From: Joel Fernandes @ 2014-05-01  1:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 30, 2014 at 12:08 AM, Vinod Koul <vinod.koul@intel.com> wrote:
> On Tue, Apr 29, 2014 at 11:25:02PM -0500, Joel Fernandes wrote:
>> On 04/29/2014 03:46 AM, Vinod Koul wrote:
>> [..]
>> > commit 770f0f3a20188b7e17db2790803b9da925dc0b94
>> > Author: Thomas Gleixner <tglx@linutronix.de>
>> > Date:   Mon Apr 28 10:49:43 2014 +0000
>> >
>> >     dmaengine: edma: Make reading the position of active channels work
>> >
>> >     As Joel pointed out, edma_read_position() uses memcpy_fromio() to read
>> >     the parameter ram. That's not synchronized with the internal update as
>> >     it does a byte by byte copy. We need to do a 32bit read to get a
>> >     consistent value.
>> >
>> >     Further reading destination and source is pointless. In DEV_TO_MEM
>> >     transfers we are only interested in the destination, in MEM_TO_DEV we
>> >     care about the source. In MEM_TO_MEM it really does not matter which
>> >     one you read.
>> >
>> >     Simple solution: Remove the pointers, select dest/source via a bool
>> >     and return the read value.
>> >
>> >     Remove the export of this function while at it. The only potential
>> >     user is the dmaengine and that's always builtin.
>> >
>> >     Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> >
>> > You s-o-b missing in this one, also ack from Sekhar missing. Do you want to redo
>> > this or prefer me to cherry-pick patches adding acks and your s-o-b, since I
>> > already fetched your branch
>> >
>> > Either way is fine with me...
>> >
>>
>> If its Ok with you, it would great if you could add my Ack and Sob.
>> Thanks a lot. Let me know if you'd want me to do anything else here.
> Done, The changes are getting pushed, pls do verify

Sorry for the late reply as I'm at a conference.

Thanks, I verified and it looks OK.

Regards,
-Joel

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

end of thread, other threads:[~2014-05-01  1:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-28 10:49 [patch V2 0/6] dma: edma: Provide granular residue accounting Thomas Gleixner
2014-04-28 10:49 ` [patch V2 1/6] dma: edma: Sanitize residue reporting Thomas Gleixner
2014-04-28 10:49 ` [patch V2 2/6] dma: edma: Check the current decriptor first in tx_status() Thomas Gleixner
2014-04-28 10:49 ` [patch V2 3/6] dma: edma: Create private pset struct Thomas Gleixner
2014-04-28 10:49 ` [patch V2 4/6] dma: edma: Store transfer data in edma_desc and edma_pset Thomas Gleixner
2014-04-28 10:49 ` [patch V2 5/6] edma: Make reading the position of active channels work Thomas Gleixner
2014-04-28 14:44   ` Sekhar Nori
2014-04-28 16:11   ` Joel Fernandes
2014-04-28 10:49 ` [patch V2 6/6] dma: edma: Provide granular accounting Thomas Gleixner
2014-04-28 20:47 ` [patch V2 0/6] dma: edma: Provide granular residue accounting Joel Fernandes
2014-04-29  8:46   ` Vinod Koul
2014-04-30  4:25     ` Joel Fernandes
2014-04-30  5:08       ` Vinod Koul
2014-05-01  1:57         ` Joel Fernandes

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).