All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] spi-atmel.c: fix DMA for bits_per_word > 8
@ 2015-10-12 22:32 David Mosberger
       [not found] ` <CALnQHM3WxNDV3xzJwRfGRVTMYL1mo44VbBb2YawZVUzn0CzFfA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: David Mosberger @ 2015-10-12 22:32 UTC (permalink / raw)
  To: linux-arm-kernel

I need the patch below to make DMA work in spi-atmel.c when bits_per_word > 8.

  --david
-- 
eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768

diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index 04e48e5..7bb361a 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -711,6 +711,7 @@ static void atmel_spi_next_xfer_pio(struct
spi_master *master,
  * Submit next transfer for DMA.
  */
 static int atmel_spi_next_xfer_dma_submit(struct spi_master *master,
+  struct spi_message *msg,
  struct spi_transfer *xfer,
  u32 *plen)
 {
@@ -721,7 +722,7 @@ static int atmel_spi_next_xfer_dma_submit(struct
spi_master *master,
  struct dma_async_tx_descriptor *txdesc;
  struct dma_slave_config slave_config;
  dma_cookie_t cookie;
- u32 len = *plen;
+ u32 len = *plen, bpw;

  dev_vdbg(master->dev.parent, "atmel_spi_next_xfer_dma_submit\n");

@@ -758,7 +759,11 @@ static int atmel_spi_next_xfer_dma_submit(struct
spi_master *master,

  *plen = len;

- if (atmel_spi_dma_slave_config(as, &slave_config, 8))
+ bpw = xfer->bits_per_word;
+ if (!bpw)
+ bpw = msg->spi->bits_per_word;
+
+ if (atmel_spi_dma_slave_config(as, &slave_config, bpw))
  goto err_exit;

  /* Send both scatterlists */
@@ -1316,8 +1321,8 @@ static int atmel_spi_one_transfer(struct
spi_master *master,
  atmel_spi_pdc_next_xfer(master, msg, xfer);
  } else if (atmel_spi_use_dma(as, xfer)) {
  len = as->current_remaining_bytes;
- ret = atmel_spi_next_xfer_dma_submit(master,
- xfer, &len);
+ ret = atmel_spi_next_xfer_dma_submit(master, msg,
+     xfer, &len);
  if (ret) {
  dev_err(&spi->dev,
  "unable to use DMA, fallback to PIO\n");

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-10-19 20:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-12 22:32 [PATCH] spi-atmel.c: fix DMA for bits_per_word > 8 David Mosberger
     [not found] ` <CALnQHM3WxNDV3xzJwRfGRVTMYL1mo44VbBb2YawZVUzn0CzFfA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-19 16:01   ` Nicolas Ferre
2015-10-19 16:01     ` Nicolas Ferre
     [not found]     ` <562513E2.4090303-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2015-10-19 16:07       ` Mark Brown
2015-10-19 16:07         ` Mark Brown
2015-10-19 20:54       ` David Mosberger
2015-10-19 20:54         ` David Mosberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.