[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120322140410.2f9af2f25906a3cdc9497d72@canb.auug.org.au>
Date: Thu, 22 Mar 2012 14:04:10 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Artem Bityutskiy <dedekind1@...il.com>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Alexandre Bounine <alexandre.bounine@....com>,
Vinod Koul <vinod.koul@...el.com>,
Huang Shijie <b32955@...escale.com>
Subject: linux-next: manual merge of the l2-mtd tree with the slave-dma tree
Hi Artem,
Today's linux-next merge of the l2-mtd tree got a conflict in
drivers/mtd/nand/gpmi-nand/gpmi-lib.c between commit 16052827d98f
("dmaengine/dma_slave: introduce inline wrappers") from the slave-dma
tree and commit c790d78c631f ("mxs-dma : rewrite the last parameter of
mxs_dma_prep_slave_sg()") from the l2-mtd tree.
I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc drivers/mtd/nand/gpmi-nand/gpmi-lib.c
index 590dd5c,c34dab1..0000000
--- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
@@@ -848,7 -848,10 +848,9 @@@ int gpmi_send_command(struct gpmi_nand_
sg_init_one(sgl, this->cmd_buffer, this->command_length);
dma_map_sg(this->dev, sgl, 1, DMA_TO_DEVICE);
- desc = dmaengine_prep_slave_sg(channel, sgl, 1, DMA_MEM_TO_DEV, 1);
- desc = channel->device->device_prep_slave_sg(channel,
- sgl, 1, DMA_MEM_TO_DEV,
++ desc = dmaengine_prep_slave_sg(channel, sgl, 1, DMA_MEM_TO_DEV,
+ DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
+
if (!desc) {
pr_err("step 2 error\n");
return -1;
@@@ -888,8 -892,9 +890,9 @@@ int gpmi_send_data(struct gpmi_nand_dat
/* [2] send DMA request */
prepare_data_dma(this, DMA_TO_DEVICE);
- desc = channel->device->device_prep_slave_sg(channel, &this->data_sgl,
+ desc = dmaengine_prep_slave_sg(channel, &this->data_sgl,
- 1, DMA_MEM_TO_DEV, 1);
+ 1, DMA_MEM_TO_DEV,
+ DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc) {
pr_err("step 2 error\n");
return -1;
@@@ -924,8 -929,9 +927,9 @@@ int gpmi_read_data(struct gpmi_nand_dat
/* [2] : send DMA request */
prepare_data_dma(this, DMA_FROM_DEVICE);
- desc = channel->device->device_prep_slave_sg(channel, &this->data_sgl,
+ desc = dmaengine_prep_slave_sg(channel, &this->data_sgl,
- 1, DMA_DEV_TO_MEM, 1);
+ 1, DMA_DEV_TO_MEM,
+ DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc) {
pr_err("step 2 error\n");
return -1;
@@@ -970,8 -976,10 +974,9 @@@ int gpmi_send_page(struct gpmi_nand_dat
pio[4] = payload;
pio[5] = auxiliary;
- desc = channel->device->device_prep_slave_sg(channel,
- (struct scatterlist *)pio,
+ desc = dmaengine_prep_slave_sg(channel, (struct scatterlist *)pio,
- ARRAY_SIZE(pio), DMA_TRANS_NONE, 0);
+ ARRAY_SIZE(pio), DMA_TRANS_NONE,
+ DMA_CTRL_ACK);
if (!desc) {
pr_err("step 2 error\n");
return -1;
@@@ -1033,9 -1041,10 +1038,10 @@@ int gpmi_read_page(struct gpmi_nand_dat
pio[3] = geo->page_size;
pio[4] = payload;
pio[5] = auxiliary;
- desc = channel->device->device_prep_slave_sg(channel,
+ desc = dmaengine_prep_slave_sg(channel,
(struct scatterlist *)pio,
- ARRAY_SIZE(pio), DMA_TRANS_NONE, 1);
+ ARRAY_SIZE(pio), DMA_TRANS_NONE,
+ DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc) {
pr_err("step 2 error\n");
return -1;
@@@ -1052,9 -1061,11 +1058,11 @@@
| BF_GPMI_CTRL0_ADDRESS(address)
| BF_GPMI_CTRL0_XFER_COUNT(geo->page_size);
pio[1] = 0;
+ pio[2] = 0; /* clear GPMI_HW_GPMI_ECCCTRL, disable the BCH. */
- desc = channel->device->device_prep_slave_sg(channel,
+ desc = dmaengine_prep_slave_sg(channel,
- (struct scatterlist *)pio, 2,
- DMA_TRANS_NONE, 1);
+ (struct scatterlist *)pio, 3,
+ DMA_TRANS_NONE,
+ DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc) {
pr_err("step 3 error\n");
return -1;
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists