Re: [PATCH v5 1/2] dmaengine: Add context parameter to prep_dma_sgand prep_interleaved_dma

From: Trilok Soni
Date: Mon Mar 26 2012 - 02:56:09 EST


On 3/26/2012 11:54 AM, Vinod Koul wrote:
On Thu, 2012-03-22 at 19:52 +0530, Ravi Kumar V wrote:
Add new context parameter to DMA SG and Interleaveid mode for passing
Typo ^^^^^^^^^^^^

Sorry, we will fix this.

diff --git a/drivers/misc/carma/carma-fpga-program.c b/drivers/misc/carma/carma-fpga-program.c
index a2d25e4..3739a12 100644
--- a/drivers/misc/carma/carma-fpga-program.c
+++ b/drivers/misc/carma/carma-fpga-program.c
@@ -530,7 +530,7 @@ static noinline int fpga_program_dma(struct fpga_dev *priv)
}

/* setup and submit the DMA transaction */
- tx = chan->device->device_prep_dma_sg(chan,
+ tx = chan->device->dmaengine_prep_dma_sg(chan,
table.sgl, num_pages,
vb->sglist, vb->sglen, 0);
No the idea is that clients will not know anything about additionlay
parameter hence avoiding abuse. You need to reread the patches sent by
Alexandre.

You need to
1) add wrappers over interleaved api which dont expose this additional
parameter
2) move existing users to use these wrappers

Above two steps would be exactly same as https://lkml.org/lkml/2012/3/8/401 - [PATCH 1/2 V2] dmaengine/dma_slave: introduce inline wrappers, right?

3) add a new API which has your additional argument (not an opaque
object) and this calls .device_xx callback with additional arg.
4. Above can be under conditional of your specific subsystem where these
parameters are valid.

Now, this would be different from what Alexandre had submitted, since he had added "void *context" parameter directly to existing callbacks dma_slave_sg and and cyclic under struct dma_device.

And you prefer that we add new callbacks under "struct dma_device" for our specific requirement with new name and with that extra non-opaque object. After that add wrappers for these two new callbacks say
dmaengine_prep_dma_sg_ext and dmagengine_prep_interleaved_dma_ext (same
name goes for callback).

---Trilok Soni

--
--
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/