diff options
author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2013-07-03 18:05:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:42 -0400 |
commit | 48a9db462d99494583dad829969616ac90a8df4e (patch) | |
tree | d908a6172274a9d4d5c14752aa648086bc4721cd /crypto/async_tx | |
parent | dcf6d294830d46b0e6901477fb4bf455281d90c8 (diff) |
drivers/dma: remove unused support for MEMSET operations
There have never been any real users of MEMSET operations since they
have been introduced in January 2007 by commit 7405f74badf4 ("dmaengine:
refactor dmaengine around dma_async_tx_descriptor"). Therefore remove
support for them for now, it can be always brought back when needed.
[sebastian.hesselbarth@gmail.com: fix drivers/dma/mv_xor]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Vinod Koul <vinod.koul@intel.com>
Acked-by: Dan Williams <djbw@fb.com>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Olof Johansson <olof@lixom.net>
Cc: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'crypto/async_tx')
-rw-r--r-- | crypto/async_tx/Kconfig | 4 | ||||
-rw-r--r-- | crypto/async_tx/Makefile | 1 | ||||
-rw-r--r-- | crypto/async_tx/async_memset.c | 89 |
3 files changed, 0 insertions, 94 deletions
diff --git a/crypto/async_tx/Kconfig b/crypto/async_tx/Kconfig index 1b11abbb5c91..f38a58aef3ec 100644 --- a/crypto/async_tx/Kconfig +++ b/crypto/async_tx/Kconfig | |||
@@ -10,10 +10,6 @@ config ASYNC_XOR | |||
10 | select ASYNC_CORE | 10 | select ASYNC_CORE |
11 | select XOR_BLOCKS | 11 | select XOR_BLOCKS |
12 | 12 | ||
13 | config ASYNC_MEMSET | ||
14 | tristate | ||
15 | select ASYNC_CORE | ||
16 | |||
17 | config ASYNC_PQ | 13 | config ASYNC_PQ |
18 | tristate | 14 | tristate |
19 | select ASYNC_CORE | 15 | select ASYNC_CORE |
diff --git a/crypto/async_tx/Makefile b/crypto/async_tx/Makefile index d1e0e6f72bc1..462e4abbfe69 100644 --- a/crypto/async_tx/Makefile +++ b/crypto/async_tx/Makefile | |||
@@ -1,6 +1,5 @@ | |||
1 | obj-$(CONFIG_ASYNC_CORE) += async_tx.o | 1 | obj-$(CONFIG_ASYNC_CORE) += async_tx.o |
2 | obj-$(CONFIG_ASYNC_MEMCPY) += async_memcpy.o | 2 | obj-$(CONFIG_ASYNC_MEMCPY) += async_memcpy.o |
3 | obj-$(CONFIG_ASYNC_MEMSET) += async_memset.o | ||
4 | obj-$(CONFIG_ASYNC_XOR) += async_xor.o | 3 | obj-$(CONFIG_ASYNC_XOR) += async_xor.o |
5 | obj-$(CONFIG_ASYNC_PQ) += async_pq.o | 4 | obj-$(CONFIG_ASYNC_PQ) += async_pq.o |
6 | obj-$(CONFIG_ASYNC_RAID6_RECOV) += async_raid6_recov.o | 5 | obj-$(CONFIG_ASYNC_RAID6_RECOV) += async_raid6_recov.o |
diff --git a/crypto/async_tx/async_memset.c b/crypto/async_tx/async_memset.c deleted file mode 100644 index 05a4d1e00148..000000000000 --- a/crypto/async_tx/async_memset.c +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | /* | ||
2 | * memory fill offload engine support | ||
3 | * | ||
4 | * Copyright © 2006, Intel Corporation. | ||
5 | * | ||
6 | * Dan Williams <dan.j.williams@intel.com> | ||
7 | * | ||
8 | * with architecture considerations by: | ||
9 | * Neil Brown <neilb@suse.de> | ||
10 | * Jeff Garzik <jeff@garzik.org> | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms and conditions of the GNU General Public License, | ||
14 | * version 2, as published by the Free Software Foundation. | ||
15 | * | ||
16 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
17 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
18 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
19 | * more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public License along with | ||
22 | * this program; if not, write to the Free Software Foundation, Inc., | ||
23 | * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. | ||
24 | * | ||
25 | */ | ||
26 | #include <linux/kernel.h> | ||
27 | #include <linux/interrupt.h> | ||
28 | #include <linux/module.h> | ||
29 | #include <linux/mm.h> | ||
30 | #include <linux/dma-mapping.h> | ||
31 | #include <linux/async_tx.h> | ||
32 | |||
33 | /** | ||
34 | * async_memset - attempt to fill memory with a dma engine. | ||
35 | * @dest: destination page | ||
36 | * @val: fill value | ||
37 | * @offset: offset in pages to start transaction | ||
38 | * @len: length in bytes | ||
39 | * | ||
40 | * honored flags: ASYNC_TX_ACK | ||
41 | */ | ||
42 | struct dma_async_tx_descriptor * | ||
43 | async_memset(struct page *dest, int val, unsigned int offset, size_t len, | ||
44 | struct async_submit_ctl *submit) | ||
45 | { | ||
46 | struct dma_chan *chan = async_tx_find_channel(submit, DMA_MEMSET, | ||
47 | &dest, 1, NULL, 0, len); | ||
48 | struct dma_device *device = chan ? chan->device : NULL; | ||
49 | struct dma_async_tx_descriptor *tx = NULL; | ||
50 | |||
51 | if (device && is_dma_fill_aligned(device, offset, 0, len)) { | ||
52 | dma_addr_t dma_dest; | ||
53 | unsigned long dma_prep_flags = 0; | ||
54 | |||
55 | if (submit->cb_fn) | ||
56 | dma_prep_flags |= DMA_PREP_INTERRUPT; | ||
57 | if (submit->flags & ASYNC_TX_FENCE) | ||
58 | dma_prep_flags |= DMA_PREP_FENCE; | ||
59 | dma_dest = dma_map_page(device->dev, dest, offset, len, | ||
60 | DMA_FROM_DEVICE); | ||
61 | |||
62 | tx = device->device_prep_dma_memset(chan, dma_dest, val, len, | ||
63 | dma_prep_flags); | ||
64 | } | ||
65 | |||
66 | if (tx) { | ||
67 | pr_debug("%s: (async) len: %zu\n", __func__, len); | ||
68 | async_tx_submit(chan, tx, submit); | ||
69 | } else { /* run the memset synchronously */ | ||
70 | void *dest_buf; | ||
71 | pr_debug("%s: (sync) len: %zu\n", __func__, len); | ||
72 | |||
73 | dest_buf = page_address(dest) + offset; | ||
74 | |||
75 | /* wait for any prerequisite operations */ | ||
76 | async_tx_quiesce(&submit->depend_tx); | ||
77 | |||
78 | memset(dest_buf, val, len); | ||
79 | |||
80 | async_tx_sync_epilog(submit); | ||
81 | } | ||
82 | |||
83 | return tx; | ||
84 | } | ||
85 | EXPORT_SYMBOL_GPL(async_memset); | ||
86 | |||
87 | MODULE_AUTHOR("Intel Corporation"); | ||
88 | MODULE_DESCRIPTION("asynchronous memset api"); | ||
89 | MODULE_LICENSE("GPL"); | ||