public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] mmc: sdhi / tmio: add DT DMA
@ 2013-04-26 15:47 Guennadi Liakhovetski
  2013-04-26 15:47 ` [PATCH 1/3] mmc: sdhi/tmio: make DMA filter implementation specific Guennadi Liakhovetski
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-26 15:47 UTC (permalink / raw)
  To: linux-sh
  Cc: Magnus Damm, linux-mmc, Chris Ball, Samuel Ortiz, Vinod Koul,
	Guennadi Liakhovetski

These 3 patches add Device Tree DMA support to the TMIO MMC driver, when 
used on SDHI platforms.

Samuel: these patches touch an mfd header file lightly, I think, it's 
better just to get your ack than to make a separate patch via your tree.

Cc: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>

Guennadi Liakhovetski (3):
  mmc: sdhi/tmio: make DMA filter implementation specific
  mmc: sdhi/tmio: switch to using dmaengine_slave_config()
  mmc: sdhi/tmio: add DT DMA support

 drivers/mmc/host/sh_mobile_sdhi.c |   24 ++++++++++++------
 drivers/mmc/host/tmio_mmc_dma.c   |   48 +++++++++++++++++++++++++++----------
 include/linux/mfd/tmio.h          |    5 ++++
 3 files changed, 56 insertions(+), 21 deletions(-)

-- 
1.7.2.5

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

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

* [PATCH 1/3] mmc: sdhi/tmio: make DMA filter implementation specific
  2013-04-26 15:47 [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Guennadi Liakhovetski
@ 2013-04-26 15:47 ` Guennadi Liakhovetski
  2013-04-26 15:47 ` [PATCH 2/3] mmc: sdhi/tmio: switch to using dmaengine_slave_config() Guennadi Liakhovetski
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-26 15:47 UTC (permalink / raw)
  To: linux-sh
  Cc: Magnus Damm, linux-mmc, Chris Ball, Samuel Ortiz, Vinod Koul,
	Guennadi Liakhovetski

So far only the SDHI implementation uses TMIO MMC with DMA. That way a DMA
channel filter function, defined in the TMIO driver wasn't a problem.
However, such a filter function is DMA controller specific. Since the SDHI
glue is only running on systems with the SHDMA DMA controller, the filter
function can safely be provided by it. Move it into SDHI.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 drivers/mmc/host/sh_mobile_sdhi.c |    9 +++++++++
 drivers/mmc/host/tmio_mmc_dma.c   |   12 ++----------
 include/linux/mfd/tmio.h          |    3 +++
 3 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
index fe90853..e0088d7 100644
--- a/drivers/mmc/host/sh_mobile_sdhi.c
+++ b/drivers/mmc/host/sh_mobile_sdhi.c
@@ -20,6 +20,7 @@
 
 #include <linux/kernel.h>
 #include <linux/clk.h>
+#include <linux/dmaengine.h>
 #include <linux/slab.h>
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
@@ -124,6 +125,13 @@ static void sh_mobile_sdhi_cd_wakeup(const struct platform_device *pdev)
 	mmc_detect_change(dev_get_drvdata(&pdev->dev), msecs_to_jiffies(100));
 }
 
+static bool sh_mobile_sdhi_filter(struct dma_chan *chan, void *arg)
+{
+	dev_dbg(chan->device->dev, "%s: slave data %p\n", __func__, arg);
+	chan->private = arg;
+	return true;
+}
+
 static const struct sh_mobile_sdhi_ops sdhi_ops = {
 	.cd_wakeup = sh_mobile_sdhi_cd_wakeup,
 };
@@ -191,6 +199,7 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 			priv->dma_priv.chan_priv_tx = &priv->param_tx.shdma_slave;
 			priv->dma_priv.chan_priv_rx = &priv->param_rx.shdma_slave;
 			priv->dma_priv.alignment_shift = 1; /* 2-byte alignment */
+			priv->dma_priv.filter = sh_mobile_sdhi_filter;
 			mmc_data->dma = &priv->dma_priv;
 		}
 	}
diff --git a/drivers/mmc/host/tmio_mmc_dma.c b/drivers/mmc/host/tmio_mmc_dma.c
index fff9286..dc4b10b 100644
--- a/drivers/mmc/host/tmio_mmc_dma.c
+++ b/drivers/mmc/host/tmio_mmc_dma.c
@@ -261,14 +261,6 @@ out:
 	spin_unlock_irq(&host->lock);
 }
 
-/* It might be necessary to make filter MFD specific */
-static bool tmio_mmc_filter(struct dma_chan *chan, void *arg)
-{
-	dev_dbg(chan->device->dev, "%s: slave data %p\n", __func__, arg);
-	chan->private = arg;
-	return true;
-}
-
 void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdata)
 {
 	/* We can only either use DMA for both Tx and Rx or not use it at all */
@@ -281,7 +273,7 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		dma_cap_zero(mask);
 		dma_cap_set(DMA_SLAVE, mask);
 
-		host->chan_tx = dma_request_channel(mask, tmio_mmc_filter,
+		host->chan_tx = dma_request_channel(mask, pdata->dma->filter,
 						    pdata->dma->chan_priv_tx);
 		dev_dbg(&host->pdev->dev, "%s: TX: got channel %p\n", __func__,
 			host->chan_tx);
@@ -289,7 +281,7 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		if (!host->chan_tx)
 			return;
 
-		host->chan_rx = dma_request_channel(mask, tmio_mmc_filter,
+		host->chan_rx = dma_request_channel(mask, pdata->dma->filter,
 						    pdata->dma->chan_priv_rx);
 		dev_dbg(&host->pdev->dev, "%s: RX: got channel %p\n", __func__,
 			host->chan_rx);
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h
index 99bf3e66..0990d8a 100644
--- a/include/linux/mfd/tmio.h
+++ b/include/linux/mfd/tmio.h
@@ -81,10 +81,13 @@ int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base);
 void tmio_core_mmc_pwr(void __iomem *cnf, int shift, int state);
 void tmio_core_mmc_clk_div(void __iomem *cnf, int shift, int state);
 
+struct dma_chan;
+
 struct tmio_mmc_dma {
 	void *chan_priv_tx;
 	void *chan_priv_rx;
 	int alignment_shift;
+	bool (*filter)(struct dma_chan *chan, void *arg);
 };
 
 struct tmio_mmc_host;
-- 
1.7.2.5


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

* [PATCH 2/3] mmc: sdhi/tmio: switch to using dmaengine_slave_config()
  2013-04-26 15:47 [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Guennadi Liakhovetski
  2013-04-26 15:47 ` [PATCH 1/3] mmc: sdhi/tmio: make DMA filter implementation specific Guennadi Liakhovetski
@ 2013-04-26 15:47 ` Guennadi Liakhovetski
  2013-04-26 15:47 ` [PATCH 3/3] mmc: sdhi/tmio: add DT DMA support Guennadi Liakhovetski
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-26 15:47 UTC (permalink / raw)
  To: linux-sh
  Cc: Magnus Damm, linux-mmc, Chris Ball, Samuel Ortiz, Vinod Koul,
	Guennadi Liakhovetski

This removes the deprecated use of the .private member of struct dma_chan
and switches the sdhi / tmio mmc driver to using the
dmaengine_slave_config() channel configuration method.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 drivers/mmc/host/sh_mobile_sdhi.c |   33 ++++++++++++++++-----------------
 drivers/mmc/host/tmio_mmc_dma.c   |   25 +++++++++++++++++++++++++
 include/linux/mfd/tmio.h          |    2 ++
 3 files changed, 43 insertions(+), 17 deletions(-)

diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
index e0088d7..7f45f62 100644
--- a/drivers/mmc/host/sh_mobile_sdhi.c
+++ b/drivers/mmc/host/sh_mobile_sdhi.c
@@ -20,7 +20,6 @@
 
 #include <linux/kernel.h>
 #include <linux/clk.h>
-#include <linux/dmaengine.h>
 #include <linux/slab.h>
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
@@ -47,8 +46,6 @@ static const struct sh_mobile_sdhi_of_data sh_mobile_sdhi_of_cfg[] = {
 struct sh_mobile_sdhi {
 	struct clk *clk;
 	struct tmio_mmc_data mmc_data;
-	struct sh_dmae_slave param_tx;
-	struct sh_dmae_slave param_rx;
 	struct tmio_mmc_dma dma_priv;
 };
 
@@ -125,13 +122,6 @@ static void sh_mobile_sdhi_cd_wakeup(const struct platform_device *pdev)
 	mmc_detect_change(dev_get_drvdata(&pdev->dev), msecs_to_jiffies(100));
 }
 
-static bool sh_mobile_sdhi_filter(struct dma_chan *chan, void *arg)
-{
-	dev_dbg(chan->device->dev, "%s: slave data %p\n", __func__, arg);
-	chan->private = arg;
-	return true;
-}
-
 static const struct sh_mobile_sdhi_ops sdhi_ops = {
 	.cd_wakeup = sh_mobile_sdhi_cd_wakeup,
 };
@@ -194,13 +184,22 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 			mmc_data->get_cd = sh_mobile_sdhi_get_cd;
 
 		if (p->dma_slave_tx > 0 && p->dma_slave_rx > 0) {
-			priv->param_tx.shdma_slave.slave_id = p->dma_slave_tx;
-			priv->param_rx.shdma_slave.slave_id = p->dma_slave_rx;
-			priv->dma_priv.chan_priv_tx = &priv->param_tx.shdma_slave;
-			priv->dma_priv.chan_priv_rx = &priv->param_rx.shdma_slave;
-			priv->dma_priv.alignment_shift = 1; /* 2-byte alignment */
-			priv->dma_priv.filter = sh_mobile_sdhi_filter;
-			mmc_data->dma = &priv->dma_priv;
+			struct tmio_mmc_dma *dma_priv = &priv->dma_priv;
+
+			/*
+			 * Yes, we have to provide slave IDs twice to TMIO:
+			 * once as a filter parameter and once for channel
+			 * configuration as an explicit slave ID
+			 */
+			dma_priv->chan_priv_tx = (void *)p->dma_slave_tx;
+			dma_priv->chan_priv_rx = (void *)p->dma_slave_rx;
+			dma_priv->slave_id_tx = p->dma_slave_tx;
+			dma_priv->slave_id_rx = p->dma_slave_rx;
+
+			dma_priv->alignment_shift = 1; /* 2-byte alignment */
+			dma_priv->filter = shdma_chan_filter;
+
+			mmc_data->dma = dma_priv;
 		}
 	}
 
diff --git a/drivers/mmc/host/tmio_mmc_dma.c b/drivers/mmc/host/tmio_mmc_dma.c
index dc4b10b..5fcf14f 100644
--- a/drivers/mmc/host/tmio_mmc_dma.c
+++ b/drivers/mmc/host/tmio_mmc_dma.c
@@ -268,7 +268,14 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		return;
 
 	if (!host->chan_tx && !host->chan_rx) {
+		struct resource *res = platform_get_resource(host->pdev,
+							     IORESOURCE_MEM, 0);
+		struct dma_slave_config cfg = {};
 		dma_cap_mask_t mask;
+		int ret;
+
+		if (!res)
+			return;
 
 		dma_cap_zero(mask);
 		dma_cap_set(DMA_SLAVE, mask);
@@ -281,6 +288,14 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		if (!host->chan_tx)
 			return;
 
+		cfg.slave_id = pdata->dma->slave_id_tx;
+		cfg.direction = DMA_MEM_TO_DEV;
+		cfg.dst_addr = res->start + (CTL_SD_DATA_PORT << host->bus_shift);
+		cfg.src_addr = 0;
+		ret = dmaengine_slave_config(host->chan_tx, &cfg);
+		if (ret < 0)
+			goto ecfgtx;
+
 		host->chan_rx = dma_request_channel(mask, pdata->dma->filter,
 						    pdata->dma->chan_priv_rx);
 		dev_dbg(&host->pdev->dev, "%s: RX: got channel %p\n", __func__,
@@ -289,6 +304,14 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		if (!host->chan_rx)
 			goto ereqrx;
 
+		cfg.slave_id = pdata->dma->slave_id_rx;
+		cfg.direction = DMA_DEV_TO_MEM;
+		cfg.src_addr = cfg.dst_addr;
+		cfg.dst_addr = 0;
+		ret = dmaengine_slave_config(host->chan_rx, &cfg);
+		if (ret < 0)
+			goto ecfgrx;
+
 		host->bounce_buf = (u8 *)__get_free_page(GFP_KERNEL | GFP_DMA);
 		if (!host->bounce_buf)
 			goto ebouncebuf;
@@ -302,9 +325,11 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 	return;
 
 ebouncebuf:
+ecfgrx:
 	dma_release_channel(host->chan_rx);
 	host->chan_rx = NULL;
 ereqrx:
+ecfgtx:
 	dma_release_channel(host->chan_tx);
 	host->chan_tx = NULL;
 }
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h
index 0990d8a..ce35113 100644
--- a/include/linux/mfd/tmio.h
+++ b/include/linux/mfd/tmio.h
@@ -86,6 +86,8 @@ struct dma_chan;
 struct tmio_mmc_dma {
 	void *chan_priv_tx;
 	void *chan_priv_rx;
+	int slave_id_tx;
+	int slave_id_rx;
 	int alignment_shift;
 	bool (*filter)(struct dma_chan *chan, void *arg);
 };
-- 
1.7.2.5


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

* [PATCH 3/3] mmc: sdhi/tmio: add DT DMA support
  2013-04-26 15:47 [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Guennadi Liakhovetski
  2013-04-26 15:47 ` [PATCH 1/3] mmc: sdhi/tmio: make DMA filter implementation specific Guennadi Liakhovetski
  2013-04-26 15:47 ` [PATCH 2/3] mmc: sdhi/tmio: switch to using dmaengine_slave_config() Guennadi Liakhovetski
@ 2013-04-26 15:47 ` Guennadi Liakhovetski
  2013-04-26 16:02 ` [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Samuel Ortiz
  2013-05-26 17:53 ` Chris Ball
  4 siblings, 0 replies; 8+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-26 15:47 UTC (permalink / raw)
  To: linux-sh
  Cc: Magnus Damm, linux-mmc, Chris Ball, Samuel Ortiz, Vinod Koul,
	Guennadi Liakhovetski

Add support for initialising DMA from the Device Tree.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 drivers/mmc/host/sh_mobile_sdhi.c |   14 +++++++-------
 drivers/mmc/host/tmio_mmc_dma.c   |   19 ++++++++++++-------
 2 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
index 7f45f62..cc4c872 100644
--- a/drivers/mmc/host/sh_mobile_sdhi.c
+++ b/drivers/mmc/host/sh_mobile_sdhi.c
@@ -144,6 +144,7 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 	struct tmio_mmc_host *host;
 	int irq, ret, i = 0;
 	bool multiplexed_isr = true;
+	struct tmio_mmc_dma *dma_priv;
 
 	priv = devm_kzalloc(&pdev->dev, sizeof(struct sh_mobile_sdhi), GFP_KERNEL);
 	if (priv == NULL) {
@@ -152,6 +153,7 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 	}
 
 	mmc_data = &priv->mmc_data;
+	dma_priv = &priv->dma_priv;
 
 	if (p) {
 		if (p->init) {
@@ -184,8 +186,6 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 			mmc_data->get_cd = sh_mobile_sdhi_get_cd;
 
 		if (p->dma_slave_tx > 0 && p->dma_slave_rx > 0) {
-			struct tmio_mmc_dma *dma_priv = &priv->dma_priv;
-
 			/*
 			 * Yes, we have to provide slave IDs twice to TMIO:
 			 * once as a filter parameter and once for channel
@@ -195,14 +195,14 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 			dma_priv->chan_priv_rx = (void *)p->dma_slave_rx;
 			dma_priv->slave_id_tx = p->dma_slave_tx;
 			dma_priv->slave_id_rx = p->dma_slave_rx;
-
-			dma_priv->alignment_shift = 1; /* 2-byte alignment */
-			dma_priv->filter = shdma_chan_filter;
-
-			mmc_data->dma = dma_priv;
 		}
 	}
 
+	dma_priv->alignment_shift = 1; /* 2-byte alignment */
+	dma_priv->filter = shdma_chan_filter;
+
+	mmc_data->dma = dma_priv;
+
 	/*
 	 * All SDHI blocks support 2-byte and larger block sizes in 4-bit
 	 * bus width mode.
diff --git a/drivers/mmc/host/tmio_mmc_dma.c b/drivers/mmc/host/tmio_mmc_dma.c
index 5fcf14f..47bdb8f 100644
--- a/drivers/mmc/host/tmio_mmc_dma.c
+++ b/drivers/mmc/host/tmio_mmc_dma.c
@@ -264,7 +264,8 @@ out:
 void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdata)
 {
 	/* We can only either use DMA for both Tx and Rx or not use it at all */
-	if (!pdata->dma)
+	if (!pdata->dma || (!host->pdev->dev.of_node &&
+		(!pdata->dma->chan_priv_tx || !pdata->dma->chan_priv_rx)))
 		return;
 
 	if (!host->chan_tx && !host->chan_rx) {
@@ -280,15 +281,17 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		dma_cap_zero(mask);
 		dma_cap_set(DMA_SLAVE, mask);
 
-		host->chan_tx = dma_request_channel(mask, pdata->dma->filter,
-						    pdata->dma->chan_priv_tx);
+		host->chan_tx = dma_request_slave_channel_compat(mask,
+					pdata->dma->filter, pdata->dma->chan_priv_tx,
+					&host->pdev->dev, "tx");
 		dev_dbg(&host->pdev->dev, "%s: TX: got channel %p\n", __func__,
 			host->chan_tx);
 
 		if (!host->chan_tx)
 			return;
 
-		cfg.slave_id = pdata->dma->slave_id_tx;
+		if (pdata->dma->chan_priv_tx)
+			cfg.slave_id = pdata->dma->slave_id_tx;
 		cfg.direction = DMA_MEM_TO_DEV;
 		cfg.dst_addr = res->start + (CTL_SD_DATA_PORT << host->bus_shift);
 		cfg.src_addr = 0;
@@ -296,15 +299,17 @@ void tmio_mmc_request_dma(struct tmio_mmc_host *host, struct tmio_mmc_data *pdat
 		if (ret < 0)
 			goto ecfgtx;
 
-		host->chan_rx = dma_request_channel(mask, pdata->dma->filter,
-						    pdata->dma->chan_priv_rx);
+		host->chan_rx = dma_request_slave_channel_compat(mask,
+					pdata->dma->filter, pdata->dma->chan_priv_rx,
+					&host->pdev->dev, "rx");
 		dev_dbg(&host->pdev->dev, "%s: RX: got channel %p\n", __func__,
 			host->chan_rx);
 
 		if (!host->chan_rx)
 			goto ereqrx;
 
-		cfg.slave_id = pdata->dma->slave_id_rx;
+		if (pdata->dma->chan_priv_rx)
+			cfg.slave_id = pdata->dma->slave_id_rx;
 		cfg.direction = DMA_DEV_TO_MEM;
 		cfg.src_addr = cfg.dst_addr;
 		cfg.dst_addr = 0;
-- 
1.7.2.5


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

* Re: [PATCH 0/3] mmc: sdhi / tmio: add DT DMA
  2013-04-26 15:47 [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Guennadi Liakhovetski
                   ` (2 preceding siblings ...)
  2013-04-26 15:47 ` [PATCH 3/3] mmc: sdhi/tmio: add DT DMA support Guennadi Liakhovetski
@ 2013-04-26 16:02 ` Samuel Ortiz
  2013-04-26 16:16   ` Guennadi Liakhovetski
  2013-05-26 17:53 ` Chris Ball
  4 siblings, 1 reply; 8+ messages in thread
From: Samuel Ortiz @ 2013-04-26 16:02 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, linux-mmc, Chris Ball, Vinod Koul,
	Guennadi Liakhovetski

Hi Guennadi,

On Fri, Apr 26, 2013 at 05:47:16PM +0200, Guennadi Liakhovetski wrote:
> These 3 patches add Device Tree DMA support to the TMIO MMC driver, when 
> used on SDHI platforms.
> 
> Samuel: these patches touch an mfd header file lightly, I think, it's 
> better just to get your ack than to make a separate patch via your tree.
Yes, that is fine with me.

For the mfd/tmio.h part:
Acked-by: Samuel Ortiz <sameo@linux.intel.com>

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

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

* Re: [PATCH 0/3] mmc: sdhi / tmio: add DT DMA
  2013-04-26 16:02 ` [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Samuel Ortiz
@ 2013-04-26 16:16   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 8+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-26 16:16 UTC (permalink / raw)
  To: Samuel Ortiz; +Cc: linux-sh, Magnus Damm, linux-mmc, Chris Ball, Vinod Koul

On Fri, 26 Apr 2013, Samuel Ortiz wrote:

> Hi Guennadi,
> 
> On Fri, Apr 26, 2013 at 05:47:16PM +0200, Guennadi Liakhovetski wrote:
> > These 3 patches add Device Tree DMA support to the TMIO MMC driver, when 
> > used on SDHI platforms.
> > 
> > Samuel: these patches touch an mfd header file lightly, I think, it's 
> > better just to get your ack than to make a separate patch via your tree.
> Yes, that is fine with me.
> 
> For the mfd/tmio.h part:
> Acked-by: Samuel Ortiz <sameo@linux.intel.com>

Thanks!

Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

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

* Re: [PATCH 0/3] mmc: sdhi / tmio: add DT DMA
  2013-04-26 15:47 [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Guennadi Liakhovetski
                   ` (3 preceding siblings ...)
  2013-04-26 16:02 ` [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Samuel Ortiz
@ 2013-05-26 17:53 ` Chris Ball
  2013-05-26 17:56   ` Chris Ball
  4 siblings, 1 reply; 8+ messages in thread
From: Chris Ball @ 2013-05-26 17:53 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, linux-mmc, Samuel Ortiz, Vinod Koul,
	Guennadi Liakhovetski

Hi Guennadi,

On Fri, Apr 26 2013, Guennadi Liakhovetski wrote:
> These 3 patches add Device Tree DMA support to the TMIO MMC driver, when 
> used on SDHI platforms.
>
> Samuel: these patches touch an mfd header file lightly, I think, it's 
> better just to get your ack than to make a separate patch via your tree.
>
> Cc: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
>
> Guennadi Liakhovetski (3):
>   mmc: sdhi/tmio: make DMA filter implementation specific
>   mmc: sdhi/tmio: switch to using dmaengine_slave_config()
>   mmc: sdhi/tmio: add DT DMA support

Looks like this doesn't apply to mmc-next -- if you could prepare
current pull requests for 3.10 and 3.11 for me, I'd really appreciate
it.  Thanks!

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

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

* Re: [PATCH 0/3] mmc: sdhi / tmio: add DT DMA
  2013-05-26 17:53 ` Chris Ball
@ 2013-05-26 17:56   ` Chris Ball
  0 siblings, 0 replies; 8+ messages in thread
From: Chris Ball @ 2013-05-26 17:56 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, linux-mmc, Samuel Ortiz, Vinod Koul,
	Guennadi Liakhovetski

Hi,

On Sun, May 26 2013, Chris Ball wrote:
> On Fri, Apr 26 2013, Guennadi Liakhovetski wrote:
>> These 3 patches add Device Tree DMA support to the TMIO MMC driver, when 
>> used on SDHI platforms.
>>
>> Samuel: these patches touch an mfd header file lightly, I think, it's 
>> better just to get your ack than to make a separate patch via your tree.
>>
>> Cc: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
>>
>> Guennadi Liakhovetski (3):
>>   mmc: sdhi/tmio: make DMA filter implementation specific
>>   mmc: sdhi/tmio: switch to using dmaengine_slave_config()
>>   mmc: sdhi/tmio: add DT DMA support
>
> Looks like this doesn't apply to mmc-next -- if you could prepare
> current pull requests for 3.10 and 3.11 for me, I'd really appreciate
> it.  Thanks!

Sorry, I'm wrong about this patchset not applying -- I've applied it
to mmc-next for 3.11 now.  The pull requests for other patches might
still be a good idea anyway, though.  :-)

Thanks,

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

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

end of thread, other threads:[~2013-05-26 17:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-26 15:47 [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Guennadi Liakhovetski
2013-04-26 15:47 ` [PATCH 1/3] mmc: sdhi/tmio: make DMA filter implementation specific Guennadi Liakhovetski
2013-04-26 15:47 ` [PATCH 2/3] mmc: sdhi/tmio: switch to using dmaengine_slave_config() Guennadi Liakhovetski
2013-04-26 15:47 ` [PATCH 3/3] mmc: sdhi/tmio: add DT DMA support Guennadi Liakhovetski
2013-04-26 16:02 ` [PATCH 0/3] mmc: sdhi / tmio: add DT DMA Samuel Ortiz
2013-04-26 16:16   ` Guennadi Liakhovetski
2013-05-26 17:53 ` Chris Ball
2013-05-26 17:56   ` Chris Ball

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox