diff for duplicates of <56E7CDAC.1090907@ti.com> diff --git a/a/1.txt b/N1/1.txt index 507b9e5..6b65dc0 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -75,4 +75,11 @@ also... -- -Péter +P?ter +-------------- next part -------------- +A non-text attachment was scrubbed... +Name: 0001-mmc-davinci_mmc-Use-dma_request_chan-to-requesting-D.patch +Type: text/x-patch +Size: 3424 bytes +Desc: not available +URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160315/91afbacb/attachment-0001.bin> diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index 3193e09..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,6 +0,0 @@ -Content-Type: text/x-patch; - name="0001-mmc-davinci_mmc-Use-dma_request_chan-to-requesting-D.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; - filename*0="0001-mmc-davinci_mmc-Use-dma_request_chan-to-requesting-D.pa"; - filename*1="tch" diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index 796bf52..0000000 --- a/a/2.txt +++ /dev/null @@ -1,113 +0,0 @@ ->From c349c76720ffa6e203eff3865de2da8e4c0b415c Mon Sep 17 00:00:00 2001 -From: Peter Ujfalusi <peter.ujfalusi@ti.com> -Date: Mon, 21 Dec 2015 12:47:07 +0200 -Subject: [PATCH] mmc: davinci_mmc: Use dma_request_chan() to requesting DMA - channel - -With the new dma_request_chan() the client driver does not need to look for -the DMA resource and it does not need to pass filter_fn anymore. -By switching to the new API the driver can now support deferred probing -against DMA. - -Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> ---- - drivers/mmc/host/davinci_mmc.c | 52 ++++++++++++------------------------------ - 1 file changed, 14 insertions(+), 38 deletions(-) - -diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c -index 693144e7427b..9edc37d207d2 100644 ---- a/drivers/mmc/host/davinci_mmc.c -+++ b/drivers/mmc/host/davinci_mmc.c -@@ -32,12 +32,10 @@ - #include <linux/delay.h> - #include <linux/dmaengine.h> - #include <linux/dma-mapping.h> --#include <linux/edma.h> - #include <linux/mmc/mmc.h> - #include <linux/of.h> - #include <linux/of_device.h> - --#include <linux/platform_data/edma.h> - #include <linux/platform_data/mmc-davinci.h> - - /* -@@ -513,35 +511,20 @@ davinci_release_dma_channels(struct mmc_davinci_host *host) - - static int __init davinci_acquire_dma_channels(struct mmc_davinci_host *host) - { -- int r; -- dma_cap_mask_t mask; -- -- dma_cap_zero(mask); -- dma_cap_set(DMA_SLAVE, mask); -- -- host->dma_tx = -- dma_request_slave_channel_compat(mask, edma_filter_fn, -- &host->txdma, mmc_dev(host->mmc), "tx"); -- if (!host->dma_tx) { -+ host->dma_tx = dma_request_chan(mmc_dev(host->mmc), "tx"); -+ if (IS_ERR(host->dma_tx)) { - dev_err(mmc_dev(host->mmc), "Can't get dma_tx channel\n"); -- return -ENODEV; -+ return PTR_ERR(host->dma_tx); - } - -- host->dma_rx = -- dma_request_slave_channel_compat(mask, edma_filter_fn, -- &host->rxdma, mmc_dev(host->mmc), "rx"); -- if (!host->dma_rx) { -+ host->dma_rx = dma_request_chan(mmc_dev(host->mmc), "rx"); -+ if (IS_ERR(host->dma_rx)) { - dev_err(mmc_dev(host->mmc), "Can't get dma_rx channel\n"); -- r = -ENODEV; -- goto free_master_write; -+ dma_release_channel(host->dma_tx); -+ return PTR_ERR(host->dma_rx); - } - - return 0; -- --free_master_write: -- dma_release_channel(host->dma_tx); -- -- return r; - } - - /*----------------------------------------------------------------------*/ -@@ -1253,18 +1236,6 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev) - host = mmc_priv(mmc); - host->mmc = mmc; /* Important */ - -- r = platform_get_resource(pdev, IORESOURCE_DMA, 0); -- if (!r) -- dev_warn(&pdev->dev, "RX DMA resource not specified\n"); -- else -- host->rxdma = r->start; -- -- r = platform_get_resource(pdev, IORESOURCE_DMA, 1); -- if (!r) -- dev_warn(&pdev->dev, "TX DMA resource not specified\n"); -- else -- host->txdma = r->start; -- - host->mem_res = mem; - host->base = ioremap(mem->start, mem_size); - if (!host->base) -@@ -1291,8 +1262,13 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev) - host->mmc_irq = irq; - host->sdio_irq = platform_get_irq(pdev, 1); - -- if (host->use_dma && davinci_acquire_dma_channels(host) != 0) -- host->use_dma = 0; -+ if (host->use_dma) { -+ ret = davinci_acquire_dma_channels(host); -+ if (ret == -EPROBE_DEFER) -+ goto out; -+ else if (ret) -+ host->use_dma = 0; -+ } - - /* REVISIT: someday, support IRQ-driven card detection. */ - mmc->caps |= MMC_CAP_NEEDS_POLL; --- -2.7.3 diff --git a/a/content_digest b/N1/content_digest index ff2ccdc..1ef0713 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,17 +1,11 @@ "ref\056E6BF7E.7020401@ti.com\0" "ref\01457996081-21975-1-git-send-email-david@lechnology.com\0" "ref\01457996081-21975-5-git-send-email-david@lechnology.com\0" - "From\0Peter Ujfalusi <peter.ujfalusi@ti.com>\0" - "Subject\0Re: [PATCH v2 4/5] mmc: davinci: don't use dma platform resources\0" + "From\0peter.ujfalusi@ti.com (Peter Ujfalusi)\0" + "Subject\0[PATCH v2 4/5] mmc: davinci: don't use dma platform resources\0" "Date\0Tue, 15 Mar 2016 10:54:04 +0200\0" - "To\0David Lechner <david@lechnology.com>" - " nsekhar@ti.com\0" - "Cc\0ulf.hansson@linaro.org" - khilman@kernel.org - linux-mmc@vger.kernel.org - linux-kernel@vger.kernel.org - " linux-arm-kernel@lists.infradead.org\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" "On 03/15/16 00:54, David Lechner wrote:\n" "> The davinci arch now has dma_slave_map tables for dma resources, so it is\n" @@ -90,122 +84,13 @@ "\n" "\n" "-- \n" - "P\303\251ter" - "\01:2\0" - "fn\00001-mmc-davinci_mmc-Use-dma_request_chan-to-requesting-D.patch\0" - "b\0" - ">From c349c76720ffa6e203eff3865de2da8e4c0b415c Mon Sep 17 00:00:00 2001\n" - "From: Peter Ujfalusi <peter.ujfalusi@ti.com>\n" - "Date: Mon, 21 Dec 2015 12:47:07 +0200\n" - "Subject: [PATCH] mmc: davinci_mmc: Use dma_request_chan() to requesting DMA\n" - " channel\n" - "\n" - "With the new dma_request_chan() the client driver does not need to look for\n" - "the DMA resource and it does not need to pass filter_fn anymore.\n" - "By switching to the new API the driver can now support deferred probing\n" - "against DMA.\n" - "\n" - "Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>\n" - "---\n" - " drivers/mmc/host/davinci_mmc.c | 52 ++++++++++++------------------------------\n" - " 1 file changed, 14 insertions(+), 38 deletions(-)\n" - "\n" - "diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c\n" - "index 693144e7427b..9edc37d207d2 100644\n" - "--- a/drivers/mmc/host/davinci_mmc.c\n" - "+++ b/drivers/mmc/host/davinci_mmc.c\n" - "@@ -32,12 +32,10 @@\n" - " #include <linux/delay.h>\n" - " #include <linux/dmaengine.h>\n" - " #include <linux/dma-mapping.h>\n" - "-#include <linux/edma.h>\n" - " #include <linux/mmc/mmc.h>\n" - " #include <linux/of.h>\n" - " #include <linux/of_device.h>\n" - " \n" - "-#include <linux/platform_data/edma.h>\n" - " #include <linux/platform_data/mmc-davinci.h>\n" - " \n" - " /*\n" - "@@ -513,35 +511,20 @@ davinci_release_dma_channels(struct mmc_davinci_host *host)\n" - " \n" - " static int __init davinci_acquire_dma_channels(struct mmc_davinci_host *host)\n" - " {\n" - "-\tint r;\n" - "-\tdma_cap_mask_t mask;\n" - "-\n" - "-\tdma_cap_zero(mask);\n" - "-\tdma_cap_set(DMA_SLAVE, mask);\n" - "-\n" - "-\thost->dma_tx =\n" - "-\t\tdma_request_slave_channel_compat(mask, edma_filter_fn,\n" - "-\t\t\t\t&host->txdma, mmc_dev(host->mmc), \"tx\");\n" - "-\tif (!host->dma_tx) {\n" - "+\thost->dma_tx = dma_request_chan(mmc_dev(host->mmc), \"tx\");\n" - "+\tif (IS_ERR(host->dma_tx)) {\n" - " \t\tdev_err(mmc_dev(host->mmc), \"Can't get dma_tx channel\\n\");\n" - "-\t\treturn -ENODEV;\n" - "+\t\treturn PTR_ERR(host->dma_tx);\n" - " \t}\n" - " \n" - "-\thost->dma_rx =\n" - "-\t\tdma_request_slave_channel_compat(mask, edma_filter_fn,\n" - "-\t\t\t\t&host->rxdma, mmc_dev(host->mmc), \"rx\");\n" - "-\tif (!host->dma_rx) {\n" - "+\thost->dma_rx = dma_request_chan(mmc_dev(host->mmc), \"rx\");\n" - "+\tif (IS_ERR(host->dma_rx)) {\n" - " \t\tdev_err(mmc_dev(host->mmc), \"Can't get dma_rx channel\\n\");\n" - "-\t\tr = -ENODEV;\n" - "-\t\tgoto free_master_write;\n" - "+\t\tdma_release_channel(host->dma_tx);\n" - "+\t\treturn PTR_ERR(host->dma_rx);\n" - " \t}\n" - " \n" - " \treturn 0;\n" - "-\n" - "-free_master_write:\n" - "-\tdma_release_channel(host->dma_tx);\n" - "-\n" - "-\treturn r;\n" - " }\n" - " \n" - " /*----------------------------------------------------------------------*/\n" - "@@ -1253,18 +1236,6 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)\n" - " \thost = mmc_priv(mmc);\n" - " \thost->mmc = mmc;\t/* Important */\n" - " \n" - "-\tr = platform_get_resource(pdev, IORESOURCE_DMA, 0);\n" - "-\tif (!r)\n" - "-\t\tdev_warn(&pdev->dev, \"RX DMA resource not specified\\n\");\n" - "-\telse\n" - "-\t\thost->rxdma = r->start;\n" - "-\n" - "-\tr = platform_get_resource(pdev, IORESOURCE_DMA, 1);\n" - "-\tif (!r)\n" - "-\t\tdev_warn(&pdev->dev, \"TX DMA resource not specified\\n\");\n" - "-\telse\n" - "-\t\thost->txdma = r->start;\n" - "-\n" - " \thost->mem_res = mem;\n" - " \thost->base = ioremap(mem->start, mem_size);\n" - " \tif (!host->base)\n" - "@@ -1291,8 +1262,13 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)\n" - " \thost->mmc_irq = irq;\n" - " \thost->sdio_irq = platform_get_irq(pdev, 1);\n" - " \n" - "-\tif (host->use_dma && davinci_acquire_dma_channels(host) != 0)\n" - "-\t\thost->use_dma = 0;\n" - "+\tif (host->use_dma) {\n" - "+\t\tret = davinci_acquire_dma_channels(host);\n" - "+\t\tif (ret == -EPROBE_DEFER)\n" - "+\t\t\tgoto out;\n" - "+\t\telse if (ret)\n" - "+\t\t\thost->use_dma = 0;\n" - "+\t}\n" - " \n" - " \t/* REVISIT: someday, support IRQ-driven card detection. */\n" - " \tmmc->caps |= MMC_CAP_NEEDS_POLL;\n" - "-- \n" - 2.7.3 + "P?ter\n" + "-------------- next part --------------\n" + "A non-text attachment was scrubbed...\n" + "Name: 0001-mmc-davinci_mmc-Use-dma_request_chan-to-requesting-D.patch\n" + "Type: text/x-patch\n" + "Size: 3424 bytes\n" + "Desc: not available\n" + URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160315/91afbacb/attachment-0001.bin> -5acc2272ab291799402fa04e2a8b95c42342e15e8ab9c7fdf98af78df2d3fa7f +55478b9bdaf4a4317efd883fa56306ba111310afe30ecf9e4e6b58b2aed11daf
diff --git a/a/content_digest b/N2/content_digest index ff2ccdc..9c85205 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -5,12 +5,12 @@ "Subject\0Re: [PATCH v2 4/5] mmc: davinci: don't use dma platform resources\0" "Date\0Tue, 15 Mar 2016 10:54:04 +0200\0" "To\0David Lechner <david@lechnology.com>" - " nsekhar@ti.com\0" - "Cc\0ulf.hansson@linaro.org" - khilman@kernel.org - linux-mmc@vger.kernel.org - linux-kernel@vger.kernel.org - " linux-arm-kernel@lists.infradead.org\0" + " <nsekhar@ti.com>\0" + "Cc\0<ulf.hansson@linaro.org>" + <khilman@kernel.org> + <linux-mmc@vger.kernel.org> + <linux-kernel@vger.kernel.org> + " <linux-arm-kernel@lists.infradead.org>\0" "\01:1\0" "b\0" "On 03/15/16 00:54, David Lechner wrote:\n" @@ -208,4 +208,4 @@ "-- \n" 2.7.3 -5acc2272ab291799402fa04e2a8b95c42342e15e8ab9c7fdf98af78df2d3fa7f +647a20c3709d53aa5a37556c08f77420dc2bb91e0f6233e15efd6b075c54116d
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.