linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/8] mmc: omap: Fix DMA configuration to not rely on device id
Date: Wed, 13 Nov 2013 18:35:31 -0800	[thread overview]
Message-ID: <1384396537-3486-3-git-send-email-tony@atomide.com> (raw)
In-Reply-To: <1384396537-3486-1-git-send-email-tony@atomide.com>

We are wrongly relying on device id for the DMA configuration
which can lead to wrong DMA channel being selected.

Fix the issue by using the standard resources like we should.

Cc: Chris Ball <cjb@laptop.org>
Cc: linux-mmc at vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
---

If this looks OK, I'd like to merge this as a fix via arm-soc tree
along with the other patches in this series as my later patches
depend on patches in this series.

---

 drivers/mmc/host/omap.c | 32 +++++++++++---------------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index b94f38e..ed56868 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -90,17 +90,6 @@
 #define OMAP_MMC_CMDTYPE_AC	2
 #define OMAP_MMC_CMDTYPE_ADTC	3
 
-#define OMAP_DMA_MMC_TX		21
-#define OMAP_DMA_MMC_RX		22
-#define OMAP_DMA_MMC2_TX	54
-#define OMAP_DMA_MMC2_RX	55
-
-#define OMAP24XX_DMA_MMC2_TX	47
-#define OMAP24XX_DMA_MMC2_RX	48
-#define OMAP24XX_DMA_MMC1_TX	61
-#define OMAP24XX_DMA_MMC1_RX	62
-
-
 #define DRIVER_NAME "mmci-omap"
 
 /* Specifies how often in millisecs to poll for card status changes
@@ -1408,19 +1397,20 @@ static int mmc_omap_probe(struct platform_device *pdev)
 	host->dma_tx_burst = -1;
 	host->dma_rx_burst = -1;
 
-	if (mmc_omap2())
-		sig = host->id == 0 ? OMAP24XX_DMA_MMC1_TX : OMAP24XX_DMA_MMC2_TX;
-	else
-		sig = host->id == 0 ? OMAP_DMA_MMC_TX : OMAP_DMA_MMC2_TX;
-	host->dma_tx = dma_request_channel(mask, omap_dma_filter_fn, &sig);
+	res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx");
+	if (res)
+		sig = res->start;
+	host->dma_tx = dma_request_slave_channel_compat(mask,
+				omap_dma_filter_fn, &sig, &pdev->dev, "tx");
 	if (!host->dma_tx)
 		dev_warn(host->dev, "unable to obtain TX DMA engine channel %u\n",
 			sig);
-	if (mmc_omap2())
-		sig = host->id == 0 ? OMAP24XX_DMA_MMC1_RX : OMAP24XX_DMA_MMC2_RX;
-	else
-		sig = host->id == 0 ? OMAP_DMA_MMC_RX : OMAP_DMA_MMC2_RX;
-	host->dma_rx = dma_request_channel(mask, omap_dma_filter_fn, &sig);
+
+	res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
+	if (res)
+		sig = res->start;
+	host->dma_rx = dma_request_slave_channel_compat(mask,
+				omap_dma_filter_fn, &sig, &pdev->dev, "rx");
 	if (!host->dma_rx)
 		dev_warn(host->dev, "unable to obtain RX DMA engine channel %u\n",
 			sig);
-- 
1.8.1.1

  parent reply	other threads:[~2013-11-14  2:35 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-14  2:35 [PATCH 0/8] Various omap device tree usability fixes for v3.13 merge window Tony Lindgren
2013-11-14  2:35 ` [PATCH 1/8] net: smc91x: Fix device tree based configuration so it's usable Tony Lindgren
2013-11-14 11:03   ` Mark Rutland
2013-11-14 16:08     ` Tony Lindgren
2013-11-16 15:16       ` Tony Lindgren
2013-11-27 18:36         ` Tony Lindgren
2013-11-14  2:35 ` Tony Lindgren [this message]
2013-11-18 18:47   ` [PATCH 2/8] mmc: omap: Fix DMA configuration to not rely on device id Tony Lindgren
2013-11-26 23:33     ` Chris Ball
2013-11-26 23:52       ` Tony Lindgren
2013-11-27 20:57       ` Jarkko Nikula
2013-11-27 21:37         ` Tony Lindgren
2013-11-28 17:02           ` Jarkko Nikula
2013-11-29 16:34             ` Tony Lindgren
2013-11-27 21:47         ` Chris Ball
2013-11-27 21:59           ` Tony Lindgren
2013-11-28 16:13             ` Jarkko Nikula
2013-11-29 17:13               ` Tony Lindgren
2013-11-30  0:38   ` Joel Fernandes
2013-11-30 17:33     ` Tony Lindgren
2013-11-14  2:35 ` [PATCH 3/8] mmc: omap: Fix I2C dependency and make driver usable with device tree Tony Lindgren
2013-11-14 11:05   ` Mark Rutland
2013-11-14 17:25     ` Tony Lindgren
2013-11-26 23:34       ` Chris Ball
2013-11-14  2:35 ` [PATCH 4/8] i2c: omap: Fix missing device tree flags for omap2 Tony Lindgren
2013-11-14  6:58   ` Wolfram Sang
2013-11-14 17:34     ` Tony Lindgren
2013-11-14 17:49       ` Wolfram Sang
2013-11-14 17:53         ` Tony Lindgren
2013-11-14 11:07   ` Mark Rutland
2013-11-14 17:30     ` Tony Lindgren
2013-11-14  2:35 ` [PATCH 5/8] gpio: twl4030: Fix regression for twl gpio output Tony Lindgren
2013-11-14  9:45   ` Peter Ujfalusi
2013-11-14 17:37     ` Tony Lindgren
2013-11-18 22:45   ` Linus Walleij
2013-12-03 13:30   ` Roger Quadros
2013-12-09 13:09     ` Linus Walleij
2013-12-09 17:10       ` Tony Lindgren
2013-12-10 12:17         ` Linus Walleij
2013-12-10 15:20           ` Tony Lindgren
2013-11-14  2:35 ` [PATCH 6/8] gpio: twl4030: Fix passing of pdata in the device tree case Tony Lindgren
2013-11-18 18:27   ` Tony Lindgren
2013-11-18 22:46     ` Linus Walleij
2013-11-14  2:35 ` [PATCH 7/8] ARM: OMAP2+: Fix GPMC and simplify bootloader timings for 8250 and smc91x Tony Lindgren
2013-11-14  2:35 ` [PATCH 8/8] ARM: dts: Fix omap2 specific dtsi files by adding the missing entries Tony Lindgren
2013-11-14 23:08 ` [PATCH 9/8] i2c: Fix device tree binding for i2c-cbus-gpio Tony Lindgren
2013-11-15 18:49   ` Aaro Koskinen
2013-11-15 22:26   ` Wolfram Sang
2013-11-15 22:30     ` Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1384396537-3486-3-git-send-email-tony@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).