lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ