Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL081 PrimeCells

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Dan Williams
Date: Wednesday, December 22, 2010 - 4:45 pm

On Wed, Dec 22, 2010 at 4:29 AM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:

This is listed in the dmaengine documentation [1], but I obviously
missed this before merging.  This also would have been caught by
lockdep as required by SubmitChecklist.  As far as corrective action
before 2.6.37-final.  It looks like this driver needs a full scrub
which seems unreasonable to complete and test over the holidays before
.37 lands.  Linus we either need to mark this "depends on BROKEN" or
revert it.

Support for the DMA_COMPL flags are necessary if the DMA_MEMCPY
capability is advertised, yes this driver got this wrong.  I'll update
the documentation to make this requirement clear, and audit the other
drivers.  With slave-only drivers the only usage model is one where
the client driver owns dma-mapping.  In the non-slave (opportunistic
memcpy offload) case the client is unaware of the engine so the driver
owns unmapping.  The minimal fix is to disable memcpy offload.

--
Dan

[1]
3.6 Constraints:
1/ Calls to async_<operation> are not permitted in IRQ context.  Other
   contexts are permitted provided constraint #2 is not violated.
2/ Completion callback routines cannot submit new operations.  This
   results in recursion in the synchronous case and spin_locks being
   acquired twice in the asynchronous case.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Maurus Cuelenaere, (Tue Jun 15, 4:17 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Maurus Cuelenaere, (Tue Jun 15, 5:04 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Tue Dec 21, 11:20 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Tue Dec 21, 3:25 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 5:22 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 5:29 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Dan Williams, (Wed Dec 22, 4:45 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 4:54 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 5:10 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Thu Dec 23, 2:18 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Thu Dec 23, 5:30 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Fri Dec 31, 2:50 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Sat Jan 1, 8:15 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Sat Jan 1, 8:36 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Sun Jan 2, 4:22 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Mon Jan 3, 4:14 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Mon Jan 3, 8:19 am)