All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Porter <mporter@ti.com>
To: Tony Lindgren <tony@atomide.com>, Sekhar Nori <nsekhar@ti.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Benoit Cousson <b-cousson@ti.com>,
	Russell King <linux@arm.linux.org.uk>,
	Vinod Koul <vinod.koul@intel.com>, Rob Landley <rob@landley.net>,
	Chris Ball <cjb@laptop.org>
Cc: Devicetree Discuss <devicetree-discuss@lists.ozlabs.org>,
	Linux OMAP List <linux-omap@vger.kernel.org>,
	Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
	Linux DaVinci Kernel List 
	<davinci-linux-open-source@linux.davincidsp.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Documentation List <linux-doc@vger.kernel.org>,
	Linux MMC List <linux-mmc@vger.kernel.org>,
	Linux SPI Devel List  <spi-devel-general@lists.sourceforge.net>,
	Arnd Bergmann <arnd@arndb.de>, Dan Williams <djbw@fb.com>,
	Rob Herring <rob.herring@calxeda.com>
Subject: [RFC PATCH v2 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC
Date: Thu, 11 Oct 2012 15:04:36 -0400	[thread overview]
Message-ID: <1349982281-10785-12-git-send-email-mporter@ti.com> (raw)
In-Reply-To: <1349982281-10785-1-git-send-email-mporter@ti.com>

The EDMA DMAC has a hardware limitation that prevents supporting
scatter gather lists with any number of segments. Since the EDMA
DMA Engine driver sets the maximum segments to 16, we do the
same.

TODO: this will be replaced once the DMA Engine API supports an
API to query the DMAC's segment size limit.

Signed-off-by: Matt Porter <mporter@ti.com>
---
 drivers/mmc/host/omap_hsmmc.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index b327cd0..52bab01 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1828,6 +1828,16 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
 	 * as we want. */
 	mmc->max_segs = 1024;
 
+	/* Eventually we should get our max_segs limitation for EDMA by
+	 * querying the dmaengine API */
+	if (pdev->dev.of_node) {
+		struct device_node *parent = pdev->dev.of_node->parent;
+		struct device_node *node;
+		node = of_find_node_by_name(parent, "edma");
+		if (node)
+			mmc->max_segs = 16;
+	}
+
 	mmc->max_blk_size = 512;       /* Block Length at max can be 1024 */
 	mmc->max_blk_count = 0xFFFF;    /* No. of Blocks is 16 bits */
 	mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: Matt Porter <mporter-l0cyMroinI0@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>,
	Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Benoit Cousson <b-cousson-l0cyMroinI0@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Rob Landley <rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org>,
	Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>
Cc: Linux DaVinci Kernel List
	<davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Linux Documentation List
	<linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Devicetree Discuss
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	Linux MMC List
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Dan Williams <djbw-b10kYP2dOMg@public.gmane.org>,
	Linux SPI Devel List
	<spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	Linux OMAP List
	<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux ARM Kernel List
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: [RFC PATCH v2 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC
Date: Thu, 11 Oct 2012 15:04:36 -0400	[thread overview]
Message-ID: <1349982281-10785-12-git-send-email-mporter@ti.com> (raw)
In-Reply-To: <1349982281-10785-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>

The EDMA DMAC has a hardware limitation that prevents supporting
scatter gather lists with any number of segments. Since the EDMA
DMA Engine driver sets the maximum segments to 16, we do the
same.

TODO: this will be replaced once the DMA Engine API supports an
API to query the DMAC's segment size limit.

Signed-off-by: Matt Porter <mporter-l0cyMroinI0@public.gmane.org>
---
 drivers/mmc/host/omap_hsmmc.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index b327cd0..52bab01 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1828,6 +1828,16 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
 	 * as we want. */
 	mmc->max_segs = 1024;
 
+	/* Eventually we should get our max_segs limitation for EDMA by
+	 * querying the dmaengine API */
+	if (pdev->dev.of_node) {
+		struct device_node *parent = pdev->dev.of_node->parent;
+		struct device_node *node;
+		node = of_find_node_by_name(parent, "edma");
+		if (node)
+			mmc->max_segs = 16;
+	}
+
 	mmc->max_blk_size = 512;       /* Block Length at max can be 1024 */
 	mmc->max_blk_count = 0xFFFF;    /* No. of Blocks is 16 bits */
 	mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
-- 
1.7.9.5


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev

WARNING: multiple messages have this Message-ID (diff)
From: mporter@ti.com (Matt Porter)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC
Date: Thu, 11 Oct 2012 15:04:36 -0400	[thread overview]
Message-ID: <1349982281-10785-12-git-send-email-mporter@ti.com> (raw)
In-Reply-To: <1349982281-10785-1-git-send-email-mporter@ti.com>

The EDMA DMAC has a hardware limitation that prevents supporting
scatter gather lists with any number of segments. Since the EDMA
DMA Engine driver sets the maximum segments to 16, we do the
same.

TODO: this will be replaced once the DMA Engine API supports an
API to query the DMAC's segment size limit.

Signed-off-by: Matt Porter <mporter@ti.com>
---
 drivers/mmc/host/omap_hsmmc.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index b327cd0..52bab01 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1828,6 +1828,16 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
 	 * as we want. */
 	mmc->max_segs = 1024;
 
+	/* Eventually we should get our max_segs limitation for EDMA by
+	 * querying the dmaengine API */
+	if (pdev->dev.of_node) {
+		struct device_node *parent = pdev->dev.of_node->parent;
+		struct device_node *node;
+		node = of_find_node_by_name(parent, "edma");
+		if (node)
+			mmc->max_segs = 16;
+	}
+
 	mmc->max_blk_size = 512;       /* Block Length at max can be 1024 */
 	mmc->max_blk_count = 0xFFFF;    /* No. of Blocks is 16 bits */
 	mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
-- 
1.7.9.5

  parent reply	other threads:[~2012-10-11 19:06 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-11 19:04 [RFC PATCH v2 00/16] DMA Engine support for AM33xx Matt Porter
2012-10-11 19:04 ` Matt Porter
2012-10-11 19:04 ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 01/16] dmaengine: edma: fix slave config dependency on direction Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 02/16] ARM: davinci: move private EDMA API to arm/common Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 03/16] ARM: edma: remove unused transfer controller handlers Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 04/16] ARM: edma: add DT and runtime PM support for AM335x Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 05/16] dmaengine: edma: enable build for AM33XX Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 06/16] dmaengine: edma: Add TI EDMA device tree binding Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 07/16] ARM: dts: add AM33XX EDMA support Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 08/16] ARM: omap: add hsmmc am33xx specific init Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-12  9:17   ` Hebbar, Gururaja
2012-10-12  9:17     ` Hebbar, Gururaja
2012-10-12  9:17     ` Hebbar, Gururaja
2012-10-12 11:54     ` Matt Porter
2012-10-12 11:54       ` Matt Porter
2012-10-12 11:54       ` Matt Porter
2012-10-12 11:54       ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 09/16] dmaengine: add dma_request_slave_channel_compat() Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 10/16] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat() Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` Matt Porter [this message]
2012-10-11 19:04   ` [RFC PATCH v2 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 12/16] mmc: omap_hsmmc: add generic DMA request support to the DT binding Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 13/16] ARM: dts: add AM33XX MMC support Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 14/16] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 15/16] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04 ` [RFC PATCH v2 16/16] ARM: dts: add AM33XX SPI support Matt Porter
2012-10-11 19:04   ` Matt Porter
2012-10-11 19:04   ` Matt Porter
     [not found] ` <1349982281-10785-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-11 21:31   ` [RFC PATCH v2 00/16] DMA Engine support for AM33xx Grant Likely
2012-10-11 21:31     ` Grant Likely
2012-10-11 21:49     ` Matt Porter
2012-10-11 21:49       ` Matt Porter
2012-10-11 21:49       ` Matt Porter

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=1349982281-10785-12-git-send-email-mporter@ti.com \
    --to=mporter@ti.com \
    --cc=arnd@arndb.de \
    --cc=b-cousson@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=cjb@laptop.org \
    --cc=davinci-linux-open-source@linux.davincidsp.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=djbw@fb.com \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nsekhar@ti.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=spi-devel-general@lists.sourceforge.net \
    --cc=tony@atomide.com \
    --cc=vinod.koul@intel.com \
    /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 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.