From: Tony Lindgren <tony@atomide.com>
To: Matt Porter <mporter@ti.com>
Cc: 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>,
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: Re: [PATCH v4 09/14] mmc: omap_hsmmc: set max_segs based on dma engine limitations
Date: Fri, 11 Jan 2013 09:53:30 -0800 [thread overview]
Message-ID: <20130111175330.GH14149@atomide.com> (raw)
In-Reply-To: <1357883330-5364-10-git-send-email-mporter@ti.com>
* Matt Porter <mporter@ti.com> [130110 21:47]:
> The EDMA DMAC has a hardware limitation that prevents supporting
> scatter gather lists with any number of segments. The DMA Engine
> API reports the maximum number of segments a channel can support
> via the optional dma_get_channel_caps() API. If the nr_segs
> capability is present, the value is used to configure mmc->max_segs
> appropriately.
Acked-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Matt Porter <mporter@ti.com>
> ---
> drivers/mmc/host/omap_hsmmc.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index e79b12d..f74bd69 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1769,6 +1769,7 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
> const struct of_device_id *match;
> dma_cap_mask_t mask;
> unsigned tx_req, rx_req;
> + struct dmaengine_chan_caps *dma_chan_caps;
> struct pinctrl *pinctrl;
>
> match = of_match_device(of_match_ptr(omap_mmc_of_match), &pdev->dev);
> @@ -1935,6 +1936,11 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
> goto err_irq;
> }
>
> + /* Some DMA Engines only handle a limited number of SG segments */
> + dma_chan_caps = dma_get_channel_caps(host->rx_chan, DMA_DEV_TO_MEM);
> + if (dma_chan_caps && dma_chan_caps->seg_nr)
> + mmc->max_segs = dma_chan_caps->seg_nr;
> +
> /* Request IRQ for MMC operations */
> ret = request_irq(host->irq, omap_hsmmc_irq, 0,
> mmc_hostname(mmc), host);
> --
> 1.7.9.5
>
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 09/14] mmc: omap_hsmmc: set max_segs based on dma engine limitations
Date: Fri, 11 Jan 2013 09:53:30 -0800 [thread overview]
Message-ID: <20130111175330.GH14149@atomide.com> (raw)
In-Reply-To: <1357883330-5364-10-git-send-email-mporter@ti.com>
* Matt Porter <mporter@ti.com> [130110 21:47]:
> The EDMA DMAC has a hardware limitation that prevents supporting
> scatter gather lists with any number of segments. The DMA Engine
> API reports the maximum number of segments a channel can support
> via the optional dma_get_channel_caps() API. If the nr_segs
> capability is present, the value is used to configure mmc->max_segs
> appropriately.
Acked-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Matt Porter <mporter@ti.com>
> ---
> drivers/mmc/host/omap_hsmmc.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index e79b12d..f74bd69 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1769,6 +1769,7 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
> const struct of_device_id *match;
> dma_cap_mask_t mask;
> unsigned tx_req, rx_req;
> + struct dmaengine_chan_caps *dma_chan_caps;
> struct pinctrl *pinctrl;
>
> match = of_match_device(of_match_ptr(omap_mmc_of_match), &pdev->dev);
> @@ -1935,6 +1936,11 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
> goto err_irq;
> }
>
> + /* Some DMA Engines only handle a limited number of SG segments */
> + dma_chan_caps = dma_get_channel_caps(host->rx_chan, DMA_DEV_TO_MEM);
> + if (dma_chan_caps && dma_chan_caps->seg_nr)
> + mmc->max_segs = dma_chan_caps->seg_nr;
> +
> /* Request IRQ for MMC operations */
> ret = request_irq(host->irq, omap_hsmmc_irq, 0,
> mmc_hostname(mmc), host);
> --
> 1.7.9.5
>
next prev parent reply other threads:[~2013-01-11 17:53 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-11 5:48 [PATCH v4 00/14] DMA Engine support for AM33XX Matt Porter
2013-01-11 5:48 ` Matt Porter
[not found] ` <1357883330-5364-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2013-01-11 5:48 ` [PATCH v4 01/14] ARM: davinci: move private EDMA API to arm/common Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
[not found] ` <1357883330-5364-2-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2013-01-11 6:15 ` Hebbar, Gururaja
2013-01-11 6:15 ` Hebbar, Gururaja
2013-01-11 6:15 ` Hebbar, Gururaja
2013-01-11 6:15 ` Hebbar, Gururaja
2013-01-11 14:27 ` Matt Porter
2013-01-11 14:27 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 02/14] ARM: edma: remove unused transfer controller handlers Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 03/14] ARM: edma: add AM33XX support to the private EDMA API Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 18:14 ` [PATCH v4,03/14] " Lars Poeschel
2013-01-11 18:14 ` Lars Poeschel
2013-01-11 18:14 ` [PATCH v4, 03/14] " Lars Poeschel
2013-01-11 18:14 ` [PATCH v4,03/14] " Lars Poeschel
[not found] ` <9fda86bbbec3444393fd5a2dc5135a5e@DFLE73.ent.ti.com>
[not found] ` <9fda86bbbec3444393fd5a2dc5135a5e-jplQ/0hSbXKIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-01-11 18:21 ` Matt Porter
2013-01-11 18:21 ` Matt Porter
2013-01-11 18:21 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 04/14] dmaengine: edma: enable build for AM33XX Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 05/14] dmaengine: edma: Add TI EDMA device tree binding Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
[not found] ` <1357883330-5364-6-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2013-01-11 7:54 ` Hebbar, Gururaja
2013-01-11 7:54 ` Hebbar, Gururaja
2013-01-11 7:54 ` Hebbar, Gururaja
[not found] ` <06e6ba0bd8984e1797c84d2926584909@DFLE72.ent.ti.com>
2013-01-11 14:30 ` Matt Porter
2013-01-11 14:30 ` Matt Porter
2013-01-11 14:30 ` Matt Porter
2013-01-11 14:30 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 06/14] ARM: dts: add AM33XX EDMA support Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 07/14] dmaengine: add dma_request_slave_channel_compat() Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 17:52 ` Tony Lindgren
2013-01-11 17:52 ` Tony Lindgren
2013-01-11 5:48 ` [PATCH v4 08/14] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat() Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 17:52 ` Tony Lindgren
2013-01-11 17:52 ` Tony Lindgren
2013-01-11 5:48 ` [PATCH v4 09/14] mmc: omap_hsmmc: set max_segs based on dma engine limitations Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 17:53 ` Tony Lindgren [this message]
2013-01-11 17:53 ` Tony Lindgren
2013-01-11 5:48 ` [PATCH v4 10/14] mmc: omap_hsmmc: add generic DMA request support to the DT binding Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 17:54 ` Tony Lindgren
2013-01-11 17:54 ` Tony Lindgren
2013-01-11 5:48 ` [PATCH v4 11/14] ARM: dts: add AM33XX MMC support Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 17:55 ` Tony Lindgren
2013-01-11 17:55 ` Tony Lindgren
2013-01-11 5:48 ` [PATCH v4 12/14] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` [PATCH v4 13/14] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 5:48 ` Matt Porter
2013-01-11 11:40 ` [PATCH v4 00/14] DMA Engine support for AM33XX Arnd Bergmann
2013-01-11 11:40 ` Arnd Bergmann
2013-01-11 11:40 ` Arnd Bergmann
2013-01-11 18:33 ` Matt Porter
2013-01-11 18:33 ` Matt Porter
2013-01-11 20:12 ` Arnd Bergmann
2013-01-11 20:12 ` Arnd Bergmann
2013-01-11 20:12 ` Arnd Bergmann
2013-01-11 5:48 ` [PATCH v4 14/14] ARM: dts: add AM33XX SPI DMA support Matt Porter
2013-01-11 5:48 ` 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=20130111175330.GH14149@atomide.com \
--to=tony@atomide.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=mporter@ti.com \
--cc=nsekhar@ti.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=spi-devel-general@lists.sourceforge.net \
--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.