2013-03-19 07:53:09

by Wenyou Yang

[permalink] [raw]
Subject: [PATCH v7 10/14] spi/spi-atmel: correct 16 bits transfers with DMA

From: Richard Genoud <[email protected]>

Signed-off-by: Richard Genoud <[email protected]>
Cc: [email protected]
Cc: [email protected]
[[email protected]: submit the patch]
Signed-off-by: Wenyou Yang <[email protected]>
---
drivers/spi/spi-atmel.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index 3aa3809..e6539b7 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -388,12 +388,18 @@ static inline int atmel_spi_xfer_can_be_chained(struct spi_transfer *xfer)
}

static int atmel_spi_dma_slave_config(struct atmel_spi *as,
- struct dma_slave_config *slave_config)
+ struct dma_slave_config *slave_config,
+ u8 bits_per_word)
{
int err = 0;

- slave_config->dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
- slave_config->src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
+ if (bits_per_word > 8) {
+ slave_config->dst_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
+ slave_config->src_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
+ } else {
+ slave_config->dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
+ slave_config->src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
+ }

slave_config->dst_addr = (dma_addr_t)as->phybase + SPI_TDR;
slave_config->src_addr = (dma_addr_t)as->phybase + SPI_RDR;
@@ -454,7 +460,7 @@ static int atmel_spi_configure_dma(struct atmel_spi *as)
goto error;
}

- err = atmel_spi_dma_slave_config(as, &slave_config);
+ err = atmel_spi_dma_slave_config(as, &slave_config, 8);
if (err)
goto error;

@@ -588,10 +594,9 @@ static int atmel_spi_next_xfer_dma_submit(struct spi_master *master,

*plen = len;

- if (atmel_spi_dma_slave_config(as, &slave_config))
+ if (atmel_spi_dma_slave_config(as, &slave_config, 8))
goto err_exit;

-
/* Send both scatterlists */
rxdesc = rxchan->device->device_prep_slave_sg(rxchan,
&as->dma.sgrx,
--
1.7.9.5


2013-04-01 13:54:04

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v7 10/14] spi/spi-atmel: correct 16 bits transfers with DMA

On Tue, Mar 19, 2013 at 03:49:01PM +0800, Wenyou Yang wrote:
> From: Richard Genoud <[email protected]>
>
> Signed-off-by: Richard Genoud <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> [[email protected]: submit the patch]
> Signed-off-by: Wenyou Yang <[email protected]>

Shouldn't this be squashed into the dmaengine patch?


Attachments:
(No filename) (405.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-04-02 05:47:16

by Wenyou Yang

[permalink] [raw]
Subject: RE: [PATCH v7 10/14] spi/spi-atmel: correct 16 bits transfers with DMA

Hi, Mark,

> -----Original Message-----
> From: Mark Brown [mailto:[email protected]]
> Sent: 2013??4??1?? 21:54
> To: Yang, Wenyou
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; Ferre, Nicolas; Lin, JM;
> [email protected]; [email protected]
> Subject: Re: [PATCH v7 10/14] spi/spi-atmel: correct 16 bits transfers with DMA
>
> On Tue, Mar 19, 2013 at 03:49:01PM +0800, Wenyou Yang wrote:
> > From: Richard Genoud <[email protected]>
> >
> > Signed-off-by: Richard Genoud <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > [[email protected]: submit the patch]
> > Signed-off-by: Wenyou Yang <[email protected]>
>
> Shouldn't this be squashed into the dmaengine patch?
OK, I will squash it into the dmaengine patch

Best Regards,
Wenyou Yang
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?