- 05 1月, 2013 7 次提交
-
-
由 Mark A. Greer 提交于
Use the dma_request_slave_channel_compat() call instead of the dma_request_channel() call to request a DMA channel. This allows the omap-sham driver use different DMA engines. CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Mark A. Greer 提交于
Add Device Tree suport to the omap-sham crypto driver. Currently, only support for OMAP2 and OMAP3 is being added but support for OMAP4 will be added in a subsequent patch. CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Mark A. Greer 提交于
Remove usage of the private OMAP DMA API. The dmaengine API will be used instead. CC: Russell King <rmk+kernel@arm.linux.org.uk> CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Mark A. Greer 提交于
Add code to use the new dmaengine API alongside the existing DMA code that uses the private OMAP DMA API. The API to use is chosen by defining or undefining 'OMAP_SHAM_DMA_PRIVATE'. This is a transitional change and the code that uses the private DMA API will be removed in an upcoming commit. CC: Russell King <rmk+kernel@arm.linux.org.uk> CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Mark A. Greer 提交于
Add suspend/resume support to the OMAP SHAM driver. CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Mark A. Greer 提交于
Convert the omap-sham crypto driver to use the pm_runtime API instead of the clk API. CC: Kevin Hilman <khilman@deeprootsystems.com> CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Mark A. Greer 提交于
Remove the unnecessary pr_info() call in omap_sham_mod_init(). CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Signed-off-by: NMark A. Greer <mgreer@animalcreek.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 01 12月, 2012 1 次提交
-
-
由 Tony Lindgren 提交于
Based on earlier discussions[1] we attempted to find a suitable location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP: DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion to dmaengine is complete. Unfortunately that was before I was able to try to test compile of the ARM multiplatform builds for omap2+, and the end result was not very good. So I'm creating yet another all over the place patch to cut the last dependency for building omap2+ for ARM multiplatform. After this, we have finally removed the driver dependencies to the arch/arm code, except for few drivers that are being worked on. The other option was to make the <plat-omap/dma-omap.h> path to work, but we'd have to add some new header directory to for multiplatform builds. Or we would have to manually include arch/arm/plat-omap/include again from arch/arm/Makefile for omap2+. Neither of these alternatives sound appealing as they will likely lead addition of various other headers exposed to the drivers, which we want to avoid for the multiplatform kernels. Since we already have a minimal include/linux/omap-dma.h, let's just use that instead and add a note to it to not use the custom omap DMA functions any longer where possible. Note that converting omap DMA to dmaengine depends on dmaengine supporting automatically incrementing the FIFO address at the device end, and converting all the remaining legacy drivers. So it's going to be few more merge windows. [1] https://patchwork.kernel.org/patch/1519591/# cc: Russell King <linux@arm.linux.org.uk> cc: Kevin Hilman <khilman@ti.com> cc: "Benoît Cousson" <b-cousson@ti.com> cc: Herbert Xu <herbert@gondor.apana.org.au> cc: "David S. Miller" <davem@davemloft.net> cc: Vinod Koul <vinod.koul@intel.com> cc: Dan Williams <djbw@fb.com> cc: Mauro Carvalho Chehab <mchehab@infradead.org> cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> cc: David Woodhouse <dwmw2@infradead.org> cc: Kyungmin Park <kyungmin.park@samsung.com> cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> cc: Tomi Valkeinen <tomi.valkeinen@ti.com> cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> cc: Hans Verkuil <hans.verkuil@cisco.com> cc: Vaibhav Hiremath <hvaibhav@ti.com> cc: Lokesh Vutla <lokeshvutla@ti.com> cc: Rusty Russell <rusty@rustcorp.com.au> cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> cc: Afzal Mohammed <afzal@ti.com> cc: linux-crypto@vger.kernel.org cc: linux-media@vger.kernel.org cc: linux-mtd@lists.infradead.org cc: linux-usb@vger.kernel.org cc: linux-fbdev@vger.kernel.org Acked-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NTony Lindgren <tony@atomide.com>
-
- 16 10月, 2012 2 次提交
-
-
由 Tony Lindgren 提交于
Drivers should not use cpu_is_omap or cpu_class_is_omap macros, they should be private to the platform init code. And we'll be removing plat/cpu.h and only have a private soc.h for the arch/arm/*omap* code. This patch is intended as preparation for the core omap changes and removes the need to include plat/cpu.h from several drivers. This is needed for the ARM common zImage support. These changes are OK to do because: - omap-rng.c does not need plat/cpu.h - omap-aes.c and omap-sham.c get the proper platform_data passed to them so they don't need extra checks in the driver - omap-dma.c and omap-pcm.c can test the arch locally as omap1 and omap2 cannot be compiled together because of conflicting compiler flags Cc: Deepak Saxena <dsaxena@plexity.net> Cc: Matt Mackall <mpm@selenic.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: David S. Miller <davem@davemloft.net> Cc: Venkatraman S <svenkatr@ti.com> Cc: Chris Ball <cjb@laptop.org> Cc: Vinod Koul <vinod.koul@intel.com> Cc: Dan Williams <djbw@fb.com> Acked-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: NJarkko Nikula <jarkko.nikula@bitmer.com> Cc: Liam Girdwood <lrg@ti.com> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: linux-crypto@vger.kernel.org Cc: linux-mmc@vger.kernel.org Cc: alsa-devel@alsa-project.org Cc: linux-kernel@vger.kernel.org [tony@atomide.com: mmc changes folded in to an earlier patch] Signed-off-by: NTony Lindgren <tony@atomide.com>
-
由 Lokesh Vutla 提交于
Move plat/dma.h to plat-omap/dma-omap.h as part of single zImage work Signed-off-by: NLokesh Vutla <lokeshvutla@ti.com> Signed-off-by: NTony Lindgren <tony@atomide.com>
-
- 13 1月, 2012 1 次提交
-
-
由 Nikos Mavrogiannopoulos 提交于
The added CRYPTO_ALG_KERN_DRIVER_ONLY indicates whether a cipher is only available via a kernel driver. If the cipher implementation might be available by using an instruction set or by porting the kernel code, then it must not be set. Signed-off-by: NNikos Mavrogiannopoulos <nmav@gnutls.org> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 30 6月, 2011 11 次提交
-
-
由 Dmitry Kasatkin 提交于
Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
It could be a situation, that tasklet is executed twice because of certain delay between dma callback and irq handler execution. In that case, second tasklet execution could actually corrupt the data of the new started dma transactions. This patch improves tasklet logic and prevents above described cases. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Calling omap_sham_handle_queue from "done" tasklet should be done after irq scheduled tasklet completes. Having additional tasklet does not solve that issue because it might be execute before. So queue handling tasklet has been removed and functionality integrated into single tasklet. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Couple of context flags have been moved to device flags. IRQ and tasklet handlers does not need to access request context anymore. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Some flags are changed in interrupt handlers and verified in the tasklet. There might be a race condition when tasklet is interrupted or another cpu/core will run IRQ handler and tasklet in parallel. Atomic bitops functions are now used instead of bitmask operations. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Flags mask cannot be used with atomic bit operations. This patch changes masks to bit numbers. Atomic bit operations will be used by following patches. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Request pointer is already available in the function. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 26 4月, 2011 4 次提交
-
-
由 Dmitry Kasatkin 提交于
This patch fixes 2 hmac inter-dependent bugs. 1. "omap-sham: hash-in-progress is stored in hw format" commit introduced optimization where temporary hash had been stored in OMAP specific format (big endian). For SHA1 it is different to real hash format, which is little endian. Final HMAC value was calculated using incorrect hash. Because CONFIG_CRYPTO_MANAGER_TESTS was disabled this error remained unnoticed. After enabling this option, bug has been found. 2. HMAC was calculated using temporrary hash value. For a single-request updates, temporary hash was the final one and HMAC result was correct. But in fact only the final hash had to be used. All crypto tests for HMAC produces only single request and could not catch the problem. This problem is fixed here. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
EMU chips also have crypto HW as HS chips. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Markku Kylanpaa 提交于
SHA1 accelerator can also be busy. Add -EBUSY status return option and return busy status from omap_sham_finup(). Signed-off-by: NMarkku Kylanpaa <ext-markku.kylanpaa@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 29 1月, 2011 1 次提交
-
-
由 Jamie Iles 提交于
clk_get() returns a struct clk cookie to the driver and some platforms may return NULL if they only support a single clock. clk_get() has only failed if it returns a ERR_PTR() encoded pointer. Signed-off-by: NJamie Iles <jamie@jamieiles.com> Reviewed-by: NAaro Koskinen <aaro.koskinen@nokia.com> Reviewed-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 29 12月, 2010 1 次提交
-
-
由 Dmitry Kasatkin 提交于
Previous commit "removed redundant locking" introduced a bug in handling backlog. In certain cases, when async request complete callback will call complete() on -EINPROGRESS code, it will cause uncompleted requests. It does not happen in implementation similar to crypto test manager, but it will happen in implementation similar to dm-crypt. Backlog needs to be checked before dequeuing next request. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 27 11月, 2010 8 次提交
-
-
由 Dmitry Kasatkin 提交于
If scatterlist have more than one entry, current driver uses aligned buffer to copy data to to accelerator to tackle possible issues with DMA and SHA buffer alignment. This commit adds more intelligence to verify SG alignment and possibility to use DMA directly on the data without using copy buffer. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
bufcnt is 0 if it was no update requests before, which is exact meaning of FLAGS_FIRST. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Hash-in-progress is now stored in hw format. Only on final call, hash is converted to correct format. Speedup copy procedure and will allow to use OMAP burst mode. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
According to the Herbert Xu, client may not always call crypto_ahash_final(). In the case of error in hash calculation resources will be automatically cleaned up. But if no hash calculation error happens and client will not call crypto_ahash_final() at all, then internal buffer will not be freed, and clocks will not be disabled. This patch provides support for atomic crypto_ahash_update() call. Clocks are now enabled and disabled per update request. Data buffer is now allocated as a part of request context. Client is obligated to free it with crypto_free_ahash(). Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Locking for queuing and dequeuing is combined. test_and_set_bit() is also replaced with checking under dd->lock. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Introduces DMA error handling. DMA error is returned as a result code of the hash request. Clients needs to handle error codes and may repeat hash calculation attempt. Also in the case of DMA error, SHAM module is set to be re-initialized again. It significantly improves stability against possible HW failures. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
DMA parameters for constant data were initialized during driver probe(). It seems that those settings sometimes are lost when devices goes to off mode. This patch makes DMA initialization just before use. It solves off mode problems. Fixes: NB#202786 - Aegis & SHA1 block off mode changes Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Dmitry Kasatkin 提交于
Currently driver storred digest results in req->results provided by the client. But some clients do not set it until final() call. It leads to crash. Changed to use internal buffer to store temporary digest results. Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 03 9月, 2010 1 次提交
-
-
由 Samu Onkalo 提交于
DMA is set to use burst mode also for source channel. It should descrease memory bandwidth needs. DMA synchronization is set to use prefetch mechanism. SHAM block is behind L4 bus and it doesn't have fifo. SHAM block is stalling as long as the new data is available. It takes time to fetch data from memory and transfer it via L4 bus. With prefetch enabled, data is waiting in DMA fifo and SHAM block receives new data block faster. This increases SHA processing speed up to 30 percent depending on the bus / memory load. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 26 5月, 2010 1 次提交
-
-
由 Huang Weiyi 提交于
Remove unused #include <linux/version.h>('s) in drivers/crypto/omap-sham.c Signed-off-by: NHuang Weiyi <weiyi.huang@gmail.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
- 03 5月, 2010 1 次提交
-
-
由 Dmitry Kasatkin 提交于
Earlier kernel contained omap sha1 and md5 driver, which was not maintained, was not ported to new crypto APIs and removed from the source tree. - implements async crypto API using dma and cpu. - supports multiple sham instances if available - hmac - concurrent requests Signed-off-by: NDmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-