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 | |
| 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')
| -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"); | ||
