Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1609455
| Path | csiph.com!news.mixmin.net!news.albasani.net!tahina.priv.at!bofh.it!news.nic.it!robomod |
|---|---|
| From | Marek Szyprowski <m.szyprowski@samsung.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH RESEND] dmaengine: pl330: remove pdata based initialization |
| Date | Mon, 27 Mar 2017 07:40:01 +0200 |
| Message-ID | <tpvxL-321-1@gated-at.bofh.it> (permalink) |
| References | <tpvxL-321-3@gated-at.bofh.it> |
| X-Original-To | linux-samsung-soc@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org |
| X-Auditid | cbfec7f4-f79806d000001279-94-58d8a3a2c6ec |
| X-Mailer | git-send-email 1.9.1 |
| X-Brightmail-Tracker | H4sIAAAAAAAAA+NgFtrLIsWRmVeSWpSXmKPExsWy7djPc7qLFt+IMPjyWdJi44z1rBarp/5l tTh/fgO7xabH11gtLu+aw2Yx4/w+Jou1R+6yW7zs28/iwOGxeM9LJo9NqzrZPDYvqffo27KK 0ePzJrkA1igum5TUnMyy1CJ9uwSujK5274KzuhV/d95gamC8o9rFyMkhIWAiseJRGzuELSZx 4d56ti5GLg4hgaWMEotbPrNAOJ8ZJdpuNTJ2MXKAdUx5UAARX8YoMfPUJXYIp4FJYnbrFGaQ UWwChhJdb7vARokItDFKzG4/yQziMAtsZpRY9vUSC0iVsIC3xLXNK9hAbBYBVYnjHddZQFbw CnhIvGmNgrhJTuLkscmsIL0SAvfZJHq2zmaDOENWYtMBZogaF4mPj58wQtjCEq+Ob4H6R0ai s+MgE4TdzyjR1KoNYc9glDj3lhfCtpY4fPwiK4jNLMAnMWnbdGaI8bwSHW1CEKaHxLolThDV jhLTGqeAHSkkECtx/6zcBEbpBYwMqxhFUkuLc9NTi030ihNzi0vz0vWS83M3MQIj9fS/4192 MC4+ZnWIUYCDUYmHV0DyRoQQa2JZcWXuIUYJDmYlEd6MXqAQb0piZVVqUX58UWlOavEhRmkO FiVxXq5T1yKEBNITS1KzU1MLUotgskwcnFINjGUf0/vNjyedP6HGGPvl78qHX3Yem8Rvayiy 8diW6nnf6pJsL1xnP26b9qRMmrtv1oS0nhWJtS/ZPu3KFudJ4IlZI8ulLP3yQHndylVF9bzR IoJfmi4ZHRLYk8hVdjJlcqpQxaauo7xnU9dKGCV/vv6zKCBqysXl67bvZlU/qjL/Wi5/bVxo gxJLcUaioRZzUXEiAGpUMsLQAgAA |
| X-Brightmail-Tracker | H4sIAAAAAAAAA+NgFrrCLMWRmVeSWpSXmKPExsVy+t/xq7qCS25EGHw5wGOxccZ6VovVU/+y Wpw/v4HdYtPja6wWl3fNYbOYcX4fk8XaI3fZLV727Wdx4PBYvOclk8emVZ1sHpuX1Hv0bVnF 6PF5k1wAa5SbTUZqYkpqkUJqXnJ+SmZeuq1SaIibroWSQl5ibqqtUoSub0iQkkJZYk4pkGdk gAYcnAPcg5X07RLcMrravQvO6lb83XmDqYHxjmoXIweHhICJxJQHBV2MnECmmMSFe+vZuhi5 OIQEljBK7Pl3gQnCaWKSWPvuBhtIFZuAoUTX2y6wKhGBNkaJd9sXM4M4zAJbGSUmvusDqxIW 8Ja4tnkFmM0ioCpxvOM6C8g6XgEPiTetURDr5CROHpvMOoGRewEjwypGkdTS4tz03GJDveLE 3OLSvHS95PzcTYzAEN127OfmHYyXNgYfYhTgYFTi4d0hdiNCiDWxrLgy9xCjBAezkghvRi9Q iDclsbIqtSg/vqg0J7X4EKMp0O6JzFKiyfnA+MkriTc0MTS3NDQytrAwNzJSEuct+XAlXEgg PbEkNTs1tSC1CKaPiYNTqoHR/7QaZ5uhVkEiX8PX95tPteXbd3VNrltYtcLzTA/7vhM7viVN 9pVgErEuWcB+3ZF18VOnGh6fyg+FptP2ZgTmubDNMrg9MdBykuA/Bi7djPDE2q9/773N7vsp 9tOG5VXY3uB1vFJnxf5ut++Zcn5/oPgcj2dyBg6Onq6K5T9//dc3OLiwLkCJpTgj0VCLuag4 EQBY1VV4ZwIAAA== |
| X-Mtr | 20000000000000000@CPGS |
| X-Cms-Mailid | 20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c |
| X-Msg-Generator | CA |
| X-Sender-IP | 182.198.249.179 |
| X-Local-Sender | Marek SzyprowskiSRPOL-Kernel (TP)삼성전자Senior Software Engineer |
| X-Global-Sender | Marek SzyprowskiSRPOL-Kernel (TP)Samsung ElectronicsSenior Software Engineer |
| X-Sender-Code | C10EHQC10CD02CD027392 |
| Cms-Type | 201P |
| X-Hopcount | 7 |
| X-Cms-Rootmailid | 20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c |
| X-Rootmtr | 20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 177 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Marek Szyprowski <m.szyprowski@samsung.com>, Krzysztof Kozlowski <krzk@kernel.org>, Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>, Vinod Koul <vinod.koul@intel.com> |
| X-Original-Date | Mon, 27 Mar 2017 07:31:03 +0200 |
| X-Original-Message-ID | <1490592663-19666-1-git-send-email-m.szyprowski@samsung.com> |
| X-Original-References | <CGME20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c@eucas1p2.samsung.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1609455 |
Show key headers only | View raw
This driver is now used only on platforms which support device tree, so
it is safe to remove legacy platform data based initialization code.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
For plat-samsung:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
---
This was earlier a part of "[PATCH v8 0/3] DMA Engine: switch PL330
driver to non-irq-safe runtime PM" patchset, but it is independent from
the other patches in that patchset and can be applied separately.
---
arch/arm/plat-samsung/devs.c | 1 -
drivers/dma/pl330.c | 42 ++++++++----------------------------------
include/linux/amba/pl330.h | 35 -----------------------------------
3 files changed, 8 insertions(+), 70 deletions(-)
delete mode 100644 include/linux/amba/pl330.h
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
index 03fac123676d..dc269d9143bc 100644
--- a/arch/arm/plat-samsung/devs.c
+++ b/arch/arm/plat-samsung/devs.c
@@ -10,7 +10,6 @@
* published by the Free Software Foundation.
*/
-#include <linux/amba/pl330.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/interrupt.h>
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index f37f4978dabb..8b0da7fa520d 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -22,7 +22,6 @@
#include <linux/dma-mapping.h>
#include <linux/dmaengine.h>
#include <linux/amba/bus.h>
-#include <linux/amba/pl330.h>
#include <linux/scatterlist.h>
#include <linux/of.h>
#include <linux/of_dma.h>
@@ -2077,18 +2076,6 @@ static void pl330_tasklet(unsigned long data)
}
}
-bool pl330_filter(struct dma_chan *chan, void *param)
-{
- u8 *peri_id;
-
- if (chan->device->dev->driver != &pl330_driver.drv)
- return false;
-
- peri_id = chan->private;
- return *peri_id == (unsigned long)param;
-}
-EXPORT_SYMBOL(pl330_filter);
-
static struct dma_chan *of_dma_pl330_xlate(struct of_phandle_args *dma_spec,
struct of_dma *ofdma)
{
@@ -2833,7 +2820,6 @@ static int __maybe_unused pl330_resume(struct device *dev)
static int
pl330_probe(struct amba_device *adev, const struct amba_id *id)
{
- struct dma_pl330_platdata *pdat;
struct pl330_config *pcfg;
struct pl330_dmac *pl330;
struct dma_pl330_chan *pch, *_p;
@@ -2843,8 +2829,6 @@ static int __maybe_unused pl330_resume(struct device *dev)
int num_chan;
struct device_node *np = adev->dev.of_node;
- pdat = dev_get_platdata(&adev->dev);
-
ret = dma_set_mask_and_coherent(&adev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
@@ -2857,7 +2841,7 @@ static int __maybe_unused pl330_resume(struct device *dev)
pd = &pl330->ddma;
pd->dev = &adev->dev;
- pl330->mcbufsz = pdat ? pdat->mcbuf_sz : 0;
+ pl330->mcbufsz = 0;
/* get quirk */
for (i = 0; i < ARRAY_SIZE(of_quirks); i++)
@@ -2901,10 +2885,7 @@ static int __maybe_unused pl330_resume(struct device *dev)
INIT_LIST_HEAD(&pd->channels);
/* Initialize channel parameters */
- if (pdat)
- num_chan = max_t(int, pdat->nr_valid_peri, pcfg->num_chan);
- else
- num_chan = max_t(int, pcfg->num_peri, pcfg->num_chan);
+ num_chan = max_t(int, pcfg->num_peri, pcfg->num_chan);
pl330->num_peripherals = num_chan;
@@ -2916,11 +2897,8 @@ static int __maybe_unused pl330_resume(struct device *dev)
for (i = 0; i < num_chan; i++) {
pch = &pl330->peripherals[i];
- if (!adev->dev.of_node)
- pch->chan.private = pdat ? &pdat->peri_id[i] : NULL;
- else
- pch->chan.private = adev->dev.of_node;
+ pch->chan.private = adev->dev.of_node;
INIT_LIST_HEAD(&pch->submitted_list);
INIT_LIST_HEAD(&pch->work_list);
INIT_LIST_HEAD(&pch->completed_list);
@@ -2933,15 +2911,11 @@ static int __maybe_unused pl330_resume(struct device *dev)
list_add_tail(&pch->chan.device_node, &pd->channels);
}
- if (pdat) {
- pd->cap_mask = pdat->cap_mask;
- } else {
- dma_cap_set(DMA_MEMCPY, pd->cap_mask);
- if (pcfg->num_peri) {
- dma_cap_set(DMA_SLAVE, pd->cap_mask);
- dma_cap_set(DMA_CYCLIC, pd->cap_mask);
- dma_cap_set(DMA_PRIVATE, pd->cap_mask);
- }
+ dma_cap_set(DMA_MEMCPY, pd->cap_mask);
+ if (pcfg->num_peri) {
+ dma_cap_set(DMA_SLAVE, pd->cap_mask);
+ dma_cap_set(DMA_CYCLIC, pd->cap_mask);
+ dma_cap_set(DMA_PRIVATE, pd->cap_mask);
}
pd->device_alloc_chan_resources = pl330_alloc_chan_resources;
diff --git a/include/linux/amba/pl330.h b/include/linux/amba/pl330.h
deleted file mode 100644
index fe93758e8403..000000000000
--- a/include/linux/amba/pl330.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* linux/include/linux/amba/pl330.h
- *
- * Copyright (C) 2010 Samsung Electronics Co. Ltd.
- * Jaswinder Singh <jassi.brar@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef __AMBA_PL330_H_
-#define __AMBA_PL330_H_
-
-#include <linux/dmaengine.h>
-
-struct dma_pl330_platdata {
- /*
- * Number of valid peripherals connected to DMAC.
- * This may be different from the value read from
- * CR0, as the PL330 implementation might have 'holes'
- * in the peri list or the peri could also be reached
- * from another DMAC which the platform prefers.
- */
- u8 nr_valid_peri;
- /* Array of valid peripherals */
- u8 *peri_id;
- /* Operational capabilities */
- dma_cap_mask_t cap_mask;
- /* Bytes to allocate for MC buffer */
- unsigned mcbuf_sz;
-};
-
-extern bool pl330_filter(struct dma_chan *chan, void *param);
-#endif /* __AMBA_PL330_H_ */
--
1.9.1
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH RESEND] dmaengine: pl330: remove pdata based initialization Marek Szyprowski <m.szyprowski@samsung.com> - 2017-03-27 07:40 +0200
csiph-web