diff options
| author | Koen Kooi <koen@openembedded.org> | 2007-09-14 07:43:03 +0000 |
|---|---|---|
| committer | Koen Kooi <koen@openembedded.org> | 2007-09-14 07:43:03 +0000 |
| commit | 2019b37bac10cff32469452eb3061e6e8e8aaad4 (patch) | |
| tree | 79aa76f03f001988977386a9c13e59cebfe7c57b /packages/linux/linux-2.6.18/atmel_spi-send-zeroes-when-tx_buf-is-not-set.patch | |
| parent | 7a5c873a58cdc4130eb4a14c5af0960f8ec6d81a (diff) | |
| parent | a50f3c05fc84d7d914e6a8287c82581462302bbe (diff) | |
propagate from branch 'org.openembedded.dev' (head bbdff51149f19a443ea4c897e2b4eb81eec6283a)
to branch 'org.openembedded.dev.avr32' (head ef59785d9aa6d25f6cf33266a65b61426e620f71)
Diffstat (limited to 'packages/linux/linux-2.6.18/atmel_spi-send-zeroes-when-tx_buf-is-not-set.patch')
| -rw-r--r-- | packages/linux/linux-2.6.18/atmel_spi-send-zeroes-when-tx_buf-is-not-set.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.18/atmel_spi-send-zeroes-when-tx_buf-is-not-set.patch b/packages/linux/linux-2.6.18/atmel_spi-send-zeroes-when-tx_buf-is-not-set.patch new file mode 100644 index 0000000000..0cf703d3df --- /dev/null +++ b/packages/linux/linux-2.6.18/atmel_spi-send-zeroes-when-tx_buf-is-not-set.patch @@ -0,0 +1,48 @@ +From e9bce56d6d8913505049cde45d800bb69943f166 Mon Sep 17 00:00:00 2001 +From: Nicolas Ferre <nicolas.ferre@rfo.atmel.com> +Date: Tue, 16 Jan 2007 15:15:36 +0100 +Subject: [ATMEL SPI] Send zeroes when tx_buf is not set + +send zeros when tx_buf is not set (according to the new spi +specification by D.Brownell) cf. + http://lkml.org/lkml/2006/12/22/171 + http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b1badf5d9ddfc46ad075ca5bfc465972c85cc7c + +Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> +--- + drivers/spi/atmel_spi.c | 21 ++++++++++----------- + 1 file changed, 10 insertions(+), 11 deletions(-) + +Index: linux-2.6.18-avr32/drivers/spi/atmel_spi.c +=================================================================== +--- linux-2.6.18-avr32.orig/drivers/spi/atmel_spi.c 2007-01-16 18:20:06.000000000 +0100 ++++ linux-2.6.18-avr32/drivers/spi/atmel_spi.c 2007-01-16 18:20:57.000000000 +0100 +@@ -120,18 +120,17 @@ static void atmel_spi_next_xfer(struct s + len = BUFFER_SIZE; + } + if (tx_dma == INVALID_DMA_ADDRESS) { +- if (xfer->tx_buf) { +- tx_dma = as->buffer_dma; +- if (len > BUFFER_SIZE) +- len = BUFFER_SIZE; ++ tx_dma = as->buffer_dma; ++ if (len > BUFFER_SIZE) ++ len = BUFFER_SIZE; ++ if (xfer->tx_buf) + memcpy(as->buffer, xfer->tx_buf, len); +- dma_sync_single_for_device(&as->pdev->dev, +- as->buffer_dma, len, +- DMA_TO_DEVICE); +- } else { +- /* Send undefined data; rx_dma is handy */ +- tx_dma = rx_dma; +- } ++ else ++ /* no tx data: send zeros */ ++ memset(as->buffer, 0, len); ++ dma_sync_single_for_device(&as->pdev->dev, ++ as->buffer_dma, len, ++ DMA_TO_DEVICE); + } + + spi_writel(as, RPR, rx_dma); |
