linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* fsldma: cleanup driver and fix async_tx compatibility
@ 2010-01-01  6:10 Ira W. Snyder
  2010-01-01  6:10 ` [PATCH 1/8] fsldma: reduce kernel text size Ira W. Snyder
                   ` (9 more replies)
  0 siblings, 10 replies; 22+ messages in thread
From: Ira W. Snyder @ 2010-01-01  6:10 UTC (permalink / raw)
  To: dan.j.williams
  Cc: herbert, B04825, linuxppc-dev, Vishnu, Dipen.Dudhat,
	Maneesh.Gupta, R58472

This patch series cleans up the Freescale DMAEngine driver, including
verifying the locking and making sure that all code paths are correct.
There were a few places that seemed suspicious, and they have been fixed.

I have written a quick memory->memory DMAEngine test driver, and the
performance is identical before and after my changes (<0.1% change). I
measured both setting up the DMA operation (via device_prep_dma_interrupt()
and device_prep_dma_memcpy()) and the actual DMA transfer itself.

As an added bonus, the interrupt load is measurably reduced. My test driver
transfers 32MB as 32x 1MB chunks + 1 interrupt descriptor, using the
functions noted above. Previous to this patch series, 31 interrupts were
generated. After this patch series, only a single interrupt is generated
for the whole transaction.

Some testing on 85xx/86xx hardware would be appreciated. Also, some testing
by the users attempting to use async_tx and talitos to handle RAID offload
would be great as well.

 Documentation/powerpc/dts-bindings/fsl/dma.txt |   17 +-
 drivers/dma/fsldma.c                           | 1036 ++++++++++++------------
 drivers/dma/fsldma.h                           |   35 +-
 3 files changed, 556 insertions(+), 532 deletions(-)

Thanks,
Ira

^ permalink raw reply	[flat|nested] 22+ messages in thread
* [PATCH 0/8 v2] fsldma: cleanup driver and fix async_tx compatibility
@ 2010-01-06 23:33 Ira W. Snyder
  2010-01-06 23:34 ` [PATCH 6/8] fsldma: simplify IRQ probing and handling Ira W. Snyder
  0 siblings, 1 reply; 22+ messages in thread
From: Ira W. Snyder @ 2010-01-06 23:33 UTC (permalink / raw)
  To: dan.j.williams
  Cc: R58472, B04825, linuxppc-dev, scottwood, Dipen.Dudhat,
	Maneesh.Gupta, herbert

This patch series cleans up the Freescale DMAEngine driver, including
verifying the locking and making sure that all code paths are correct.
There were a few places that seemed suspicious, and they have been fixed.

I have written a quick memory->memory DMAEngine test driver, and the
performance is identical before and after my changes (<0.1% change). I
measured both setting up the DMA operation (via device_prep_dma_interrupt()
and device_prep_dma_memcpy()) and the actual DMA transfer itself.

As an added bonus, the interrupt load is measurably reduced. My test driver
transfers 32MB as 32x 1MB chunks + 1 interrupt descriptor, using the
functions noted above. Previous to this patch series, 31 interrupts were
generated. After this patch series, only a single interrupt is generated
for the whole transaction.

Some testing on 85xx/86xx hardware would be appreciated. Also, some testing
by the users attempting to use async_tx and talitos to handle RAID offload
would be great as well.

 Documentation/powerpc/dts-bindings/fsl/dma.txt |    8 +
 drivers/dma/fsldma.c                           | 1174 +++++++++++++-----------
 drivers/dma/fsldma.h                           |   35 +-
 3 files changed, 675 insertions(+), 542 deletions(-)

v1 -> v2:
- addresses comments from Scott Wood
  - prefer per-controller interrupt if available
  - rename "fchan" to "chan"
  - leave the documentation alone (mostly)

Thanks,
Ira

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

end of thread, other threads:[~2010-02-02 15:14 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-01  6:10 fsldma: cleanup driver and fix async_tx compatibility Ira W. Snyder
2010-01-01  6:10 ` [PATCH 1/8] fsldma: reduce kernel text size Ira W. Snyder
2010-01-01  6:10 ` [PATCH 2/8] fsldma: remove unused structure members Ira W. Snyder
2010-01-01  6:10 ` [PATCH 3/8] fsldma: rename struct fsl_dma_chan to struct fsldma_chan Ira W. Snyder
2010-01-01  6:10 ` [PATCH 4/8] fsldma: rename dest to dst for uniformity Ira W. Snyder
2010-01-01  6:10 ` [PATCH 5/8] fsldma: clean up the OF subsystem routines Ira W. Snyder
2010-01-01  6:10 ` [PATCH 6/8] fsldma: simplify IRQ probing and handling Ira W. Snyder
2010-01-06 18:02   ` Scott Wood
2010-01-06 18:39     ` Ira W. Snyder
2010-01-06 20:51       ` Scott Wood
2010-01-01  6:10 ` [PATCH 7/8] fsldma: rename fsl_chan to fchan Ira W. Snyder
2010-01-06 18:04   ` Scott Wood
2010-01-06 18:19     ` Ira W. Snyder
2010-01-06 18:27       ` Scott Wood
2010-01-06 18:40         ` Ira W. Snyder
2010-01-01  6:10 ` [PATCH 8/8] fsldma: major cleanups and fixes Ira W. Snyder
2010-01-05  6:08 ` fsldma: cleanup driver and fix async_tx compatibility Dudhat Dipen-B09055
2010-01-11  5:47 ` Dudhat Dipen-B09055
2010-01-11 16:29   ` Ira W. Snyder
2010-02-02  7:50     ` Dudhat Dipen-B09055
2010-02-02 15:04       ` Dan Williams
  -- strict thread matches above, loose matches on Subject: below --
2010-01-06 23:33 [PATCH 0/8 v2] " Ira W. Snyder
2010-01-06 23:34 ` [PATCH 6/8] fsldma: simplify IRQ probing and handling Ira W. Snyder

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