aboutsummaryrefslogtreecommitdiff
path: root/drivers/crypto
AgeCommit message (Collapse)AuthorFilesLines
2013-08-21crypto: omap-aes - PIO mode: Add IRQ handler and walk SGsJoel Fernandes1-0/+90
We add an IRQ handler that implements a state-machine for PIO-mode and data structures for walking the scatter-gather list. The IRQ handler is called in succession both when data is available to read or next data can be sent for processing. This process continues till the entire in/out SG lists have been walked. Once the SG-list has been completely walked, the IRQ handler schedules the done_task tasklet. Also add a useful macro that is used through out the IRQ code for a common pattern of calculating how much an SG list has been walked. This improves code readability and avoids checkpatch errors. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: omap-aes - Add IRQ info and helper macrosJoel Fernandes1-0/+8
Add IRQ information to pdata and helper macros. These are required for PIO-mode support. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: omap-aes - Remove previously used intermediate buffersJoel Fernandes1-90/+0
Intermdiate buffers were allocated, mapped and used for DMA. These are no longer required as we use the SGs from crypto layer directly in previous commits in the series. Also along with it, remove the logic for copying SGs etc as they are no longer used, and all the associated variables in omap_aes_device. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: omap-aes - Sync SG before DMA operationJoel Fernandes1-0/+4
Earlier functions that did a similar sync are replaced by the dma_sync_sg_* which can operate on entire SG list. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: omap-aes - Simplify DMA usage by using direct SGsJoel Fernandes1-122/+25
In early version of this driver, assumptions were made such as DMA layer requires contiguous buffers etc. Due to this, new buffers were allocated, mapped and used for DMA. These assumptions are no longer true and DMAEngine scatter-gather DMA doesn't have such requirements. We simply the DMA operations by directly using the scatter-gather buffers provided by the crypto layer instead of creating our own. Lot of logic that handled DMA'ing only X number of bytes of the total, or as much as fitted into a 3rd party buffer is removed and is no longer required. Also, good performance improvement of atleast ~20% seen with encrypting a buffer size of 8K (1800 ops/sec vs 1400 ops/sec). Improvement will be higher for much larger blocks though such benchmarking is left as an exercise for the reader. Also DMA usage is much more simplified and coherent with rest of the code. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: omap-aes - Populate number of SG elementsJoel Fernandes1-0/+6
Crypto layer only passes nbytes but number of SG elements is needed for mapping or unmapping SGs at one time using dma_map* API and also needed to pass in for dmaengine prep function. We call function added to scatterwalk for this purpose in omap_aes_handle_queue to populate the values which are used later. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: omap-aes - Add useful debug macrosJoel Fernandes1-1/+23
When DEBUG is enabled, these macros can be used to print variables in integer and hex format, and clearly display which registers, offsets and values are being read/written , including printing the names of the offsets and their values. Using statement expression macros in read path as, Suggested-by: Joe Perches <[email protected]> Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: nx - fix nx-aes-gcm verification[email protected]1-2/+2
This patch fixes a bug in the nx-aes-gcm implementation. Corrected the code so that the authtag is always verified after decrypting and not just when there is associated data included. Also, corrected the code to retrieve the input authtag from src instead of dst. Reviewed-by: Fionnuala Gunter <[email protected]> Reviewed-by: Marcelo Cerri <[email protected]> Signed-off-by: Joy Latten <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: caam - add option for enabling DEBUG modeAlex Porosanu2-0/+11
This patch adds an option to the Kconfig file for SEC which enables the user to see the debug messages that are printed inside the SEC driver. Signed-off-by: Alex Porosanu <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-21crypto: caam - replace xstr macro with __stringifyAlex Porosanu3-75/+77
CAAM driver contains one macro (xstr) used for printing the line location in a file where a memdump is done. This patch replaces the xstr macro with the already existing __stringify macro that performs the same function. Signed-off-by: Alex Porosanu <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-14crypto: nx - fix concurrency issueMarcelo Cerri10-12/+87
The NX driver uses the transformation context to store several fields containing data related to the state of the operations in progress. Since a single tfm can be used by different kernel threads at the same time, we need to protect the data stored into the context. This patch makes use of spin locks to protect the data where a race condition can happen. Reviewed-by: Fionnuala Gunter <[email protected]> Reviewed-by: Joy Latten <[email protected]> Signed-off-by: Marcelo Cerri <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-14crypto: crypto4xx - Staticize local symbolsJingoo Han1-7/+8
These local symbols are used only in this file. Fix the following sparse warnings: drivers/crypto/amcc/crypto4xx_alg.c:35:6: warning: symbol 'set_dynamic_sa_command_0' was not declared. Should it be static? drivers/crypto/amcc/crypto4xx_alg.c:55:6: warning: symbol 'set_dynamic_sa_command_1' was not declared. Should it be static? Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-14crypto: sahara - Staticize local symbolJingoo Han1-1/+1
This local symbol is used only in this file. Fix the following sparse warnings: drivers/crypto/sahara.c:420:6: warning: symbol 'sahara_watchdog' was not declared. Should it be static? Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-09crypto: nx - saves chaining value from co-processorFionnuala Gunter1-0/+1
This patch fixes a bug that is triggered when cts(cbc(aes)) is used with nx-crypto driver on input larger than 32 bytes. The chaining value from co-processor was not being saved. This value is needed because it is used as the IV by cts(cbc(aes)). Signed-off-by: Fionnuala Gunter <[email protected]> Reviewed-by: Marcelo Cerri <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-09crypto: nx - fix limits to sg lists for SHA-2Marcelo Cerri2-95/+132
The co-processor has several limits regarding the length of scatter/gather lists and the total number of bytes in it. These limits are available in the device tree, as following: - "ibm,max-sg-len": maximum number of bytes of each scatter/gather list. - "ibm,max-sync-cop": used for synchronous operations, it is an array of structures that contains information regarding the limits that must be considered for each mode and operation. The most important limits in it are: - The total number of bytes that a scatter/gather list can hold. - The maximum number of elements that a scatter/gather list can have. This patch updates the NX driver to perform several hyper calls if needed in order to always respect the length limits for scatter/gather lists. Reviewed-by: Fionnuala Gunter <[email protected]> Reviewed-by: Joel Schopp <[email protected]> Reviewed-by: Joy Latten <[email protected]> Signed-off-by: Marcelo Cerri <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-09crypto: nx - fix physical addresses added to sg listsMarcelo Cerri1-3/+19
The co-processor receives data to be hashed through scatter/gather lists pointing to physical addresses. When a vmalloc'ed data is given, the driver must calculate the physical address to each page of the data. However the current version of it just calculates the physical address once and keeps incrementing it even when a page boundary is crossed. This patch fixes this behaviour. Reviewed-by: Fionnuala Gunter <[email protected]> Reviewed-by: Joel Schopp <[email protected]> Reviewed-by: Joy Latten <[email protected]> Signed-off-by: Marcelo Cerri <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: caam - Remove unused functions from Job RingRuchika Gupta4-77/+0
Signed-off-by: Ruchika Gupta <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: omap-sham - Convert to devm_kzalloc()Lokesh Vutla1-10/+5
Use devm_kzalloc() to make cleanup paths simpler. Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: omap-sham - Convert to devm_request_irq()Lokesh Vutla1-7/+5
Using devm_request_irq() rather than request_irq(). So removing free_irq() calls from the probe error path and the remove handler. Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: omap-sham - Add OMAP5/AM43XX SHAM SupportLokesh Vutla1-0/+44
Add support for the OMAP5 version of the SHAM module that is present on OMAP5 and AM43xx SoCs. This module is very simialar to OMAP4 version of SHAM module, and adds SHA384 SHA512 hardware-accelerated hash functions to it. To handle the higher digest size of SHA512, few SHA512_DIGEST_i (i=1-16, and first 8 registers are duplicated from SHA_DIGEST_i registers) registers are added at the end of register set. So adding the above register offsets and module info in pdata. Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: omap-sham - Add SHA384 and SHA512 SupportLokesh Vutla2-47/+209
Adding support for SHA348 and SHA512 in addition to MD5, SHA1, SHA224 SHA256 that the omap sha module supports. In order to add the support - Removed hard coded register offsets and passing offsets from pdata - Updating Flag offsets so that they can be used for SHA256 and SHA512 - Adding the algo info. Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: ux500 - Fix logging, make arrays const, neateningJoe Perches1-307/+279
Logging messages without newlines are possibly interleaved with other messages. Add terminating newlines to avoid this. Other miscellaneous changes: Make arrays const to reduce data size Add pr_fmt to prefix pr_<level>, remove now unused DEV_DBG_NAME Coalesce formats, align arguments Remove unnecessary OOM messages as dump_stack is already done Remove unnecessary cast of void * Change kzalloc(sizeof(struct)...) to kzalloc(sizeof(*var), ...) Reduce indents in struct definitions Signed-off-by: Joe Perches <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-08-01crypto: caam - RNG instantiation by directly programming DECORuchika Gupta2-39/+47
Remove the dependency of RNG instantiation on Job Ring. Now RNG instantiation for devices with RNG version > 4 is done by directly programming DECO 0. Signed-off-by: Ruchika Gupta <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-07-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-1/+1
Pull crypto fixes from Herbert Xu: "This push fixes a memory corruption issue in caam, as well as reverting the new optimised crct10dif implementation as it breaks boot on initrd systems. Hopefully crct10dif will be reinstated once the supporting code is added so that it doesn't break boot" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: Revert "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework" crypto: caam - Fixed the memory out of bound overwrite issue
2013-07-10crypto: caam - Moved macro DESC_JOB_IO_LEN to desc_constr.hVakul Garg3-4/+1
DESC_JOB_IO_LEN is a generic macro which indicates the space required in the descriptor for placing SEQIN/OUT commands, job descriptor header, shared descriptor pointer. Moving it to descriptor construction file which can be supposedly included by different algo offload files. Change-Id: Ic8900990d465e9079827b0c7fcacc61766d7efb6 Signed-off-by: Vakul Garg <[email protected]> Reviewed-by: Geanta Neag Horia Ioan-B05471 <[email protected]> Reviewed-by: Fleming Andrew-AFLEMING <[email protected]> Tested-by: Fleming Andrew-AFLEMING <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-07-10crypto: caam - Fixed the memory out of bound overwrite issueVakul Garg1-1/+1
When kernel is compiled with CONFIG_SLUB_DEBUG=y and CRYPTO_MANAGER_DISABLE_TESTS=n, during kernel bootup, the kernel reports error given below. The root cause is that in function hash_digest_key(), for allocating descriptor, insufficient memory was being allocated. The required number of descriptor words apart from input and output pointers are 8 (instead of 6). ============================================================================= BUG dma-kmalloc-32 (Not tainted): Redzone overwritten ----------------------------------------------------------------------------- Disabling lock debugging due to kernel taint INFO: 0xdec5dec0-0xdec5dec3. First byte 0x0 instead of 0xcc INFO: Allocated in ahash_setkey+0x60/0x594 age=7 cpu=1 pid=1257 __kmalloc+0x154/0x1b4 ahash_setkey+0x60/0x594 test_hash+0x260/0x5a0 alg_test_hash+0x48/0xb0 alg_test+0x84/0x228 cryptomgr_test+0x4c/0x54 kthread+0x98/0x9c ret_from_kernel_thread+0x64/0x6c INFO: Slab 0xc0bd0ba0 objects=19 used=2 fp=0xdec5d0d0 flags=0x0081 INFO: Object 0xdec5dea0 @offset=3744 fp=0x5c200014 Bytes b4 dec5de90: 00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ Object dec5dea0: b0 80 00 0a 84 41 00 0d f0 40 00 00 00 67 3f c0 [email protected]?. Object dec5deb0: 00 00 00 50 2c 14 00 50 f8 40 00 00 1e c5 d0 00 ...P,..P.@...... Redzone dec5dec0: 00 00 00 14 .... Padding dec5df68: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ Call Trace: [dec65b60] [c00071b4] show_stack+0x4c/0x168 (unreliable) [dec65ba0] [c00d4ec8] check_bytes_and_report+0xe4/0x11c [dec65bd0] [c00d507c] check_object+0x17c/0x23c [dec65bf0] [c0550a00] free_debug_processing+0xf4/0x294 [dec65c20] [c0550bdc] __slab_free+0x3c/0x294 [dec65c80] [c03f0744] ahash_setkey+0x4e0/0x594 [dec65cd0] [c01ef138] test_hash+0x260/0x5a0 [dec65e50] [c01ef4c0] alg_test_hash+0x48/0xb0 [dec65e70] [c01eecc4] alg_test+0x84/0x228 [dec65ee0] [c01ec640] cryptomgr_test+0x4c/0x54 [dec65ef0] [c005adc0] kthread+0x98/0x9c [dec65f40] [c000e1ac] ret_from_kernel_thread+0x64/0x6c FIX dma-kmalloc-32: Restoring 0xdec5dec0-0xdec5dec3=0xcc Change-Id: I0c7a1048053e811025d1c3b487940f87345c8f5d Signed-off-by: Vakul Garg <[email protected]> CC: <[email protected]> #3.9 Reviewed-by: Geanta Neag Horia Ioan-B05471 <[email protected]> Reviewed-by: Fleming Andrew-AFLEMING <[email protected]> Tested-by: Fleming Andrew-AFLEMING <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-07-09crypto: talitos: use sg_pcopy_to_buffer()Akinobu Mita1-59/+1
Use sg_pcopy_to_buffer() which is better than the function previously used. Because it doesn't do kmap/kunmap for skipped pages. Signed-off-by: Akinobu Mita <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: "James E.J. Bottomley" <[email protected]> Cc: Douglas Gilbert <[email protected]> Cc: Herbert Xu <[email protected]> Cc: Horia Geanta <[email protected]> Cc: Imre Deak <[email protected]> Cc: Tejun Heo <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-07-05Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds15-36/+1099
Pull crypto update from Herbert Xu: - Do not idle omap device between crypto operations in one session. - Added sha224/sha384 shims for SSSE3. - More optimisations for camellia-aesni-avx2. - Removed defunct blowfish/twofish AVX2 implementations. - Added unaligned buffer self-tests. - Added PCLMULQDQ optimisation for CRCT10DIF. - Added support for Freescale's DCP co-processor - Misc fixes. * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (44 commits) crypto: testmgr - test hash implementations with unaligned buffers crypto: testmgr - test AEADs with unaligned buffers crypto: testmgr - test skciphers with unaligned buffers crypto: testmgr - check that entries in alg_test_descs are in correct order Revert "crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher" Revert "crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher" crypto: camellia-aesni-avx2 - tune assembly code for more performance hwrng: bcm2835 - fix MODULE_LICENSE tag hwrng: nomadik - use clk_prepare_enable() crypto: picoxcell - replace strict_strtoul() with kstrtoul() crypto: dcp - Staticize local symbols crypto: dcp - Use NULL instead of 0 crypto: dcp - Use devm_* APIs crypto: dcp - Remove redundant platform_set_drvdata() hwrng: use platform_{get,set}_drvdata() crypto: omap-aes - Don't idle/start AES device between Encrypt operations crypto: crct10dif - Use PTR_RET crypto: ux500 - Cocci spatch "resource_size.spatch" crypto: sha256_ssse3 - add sha224 support crypto: sha512_ssse3 - add sha384 support ...
2013-07-02Merge tag 'drivers-for-linus' of ↵Linus Torvalds5-37/+93
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver specific changes from Arnd Bergmann: "These changes are all driver specific and cross over between arm-soc contents and some other subsystem, in these cases cpufreq, crypto, dma, pinctrl, mailbox and usb, and the subsystem owners agreed to have these changes merged through arm-soc. As we proceed to untangle the dependencies between platform code and driver code, the amount of changes in this category is fortunately shrinking, for 3.11 we have 16 branches here and 101 non-merge changesets, the majority of which are for the stedma40 dma engine driver used in the ux500 platform. Cleaning up that code touches multiple subsystems, but gets rid of the dependency in the end. The mailbox code moved out from mach-omap2 to drivers/mailbox is an intermediate step and is still omap specific at the moment. Patches exist to generalize the subsystem and add other drivers with the same API, but those did not make it for 3.11." * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (101 commits) crypto: ux500: use dmaengine_submit API crypto: ux500: use dmaengine_prep_slave_sg API crypto: ux500: use dmaengine_device_control API crypto: ux500/crypt: add missing __iomem qualifiers crypto: ux500/hash: add missing static qualifiers crypto: ux500/hash: use readl on iomem addresses dmaengine: ste_dma40: Declare memcpy config as static ARM: ux500: Remove mop500_snowball_ethernet_clock_enable() ARM: ux500: Correct the EN_3v3 regulator's on/off GPIO ARM: ux500: Provide a AB8500 GPIO Device Tree node gpio: rcar: fix gpio_rcar_of_table gpio-rcar: Remove #ifdef CONFIG_OF around OF-specific sections gpio-rcar: Reference core gpio documentation in the DT bindings clk: exynos5250: Add enum entries for divider clock of i2s1 and i2s2 ARM: dts: Update Samsung I2S documentation ARM: dts: add clock provider information for i2s controllers in Exynos5250 ARM: dts: add Exynos audio subsystem clock controller node clk: samsung: register audio subsystem clocks using common clock framework ARM: dts: use #include for all device trees for Samsung pinctrl: s3c24xx: use correct header for chained_irq functions ...
2013-06-25Merge tag 'ux500-dma40-for-arm-soc-3' of ↵Olof Johansson3-32/+31
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/drivers From Linus Walleij: DMA40 fixes for earlier submitted driver patches: - Fix various error path and sparse bugs in the DMA40 driver - Fix various compile errors in the ux500 crypto driver (dependent on the DMA40 changes). * tag 'ux500-dma40-for-arm-soc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: crypto: ux500: use dmaengine_submit API crypto: ux500: use dmaengine_prep_slave_sg API crypto: ux500: use dmaengine_device_control API crypto: ux500/crypt: add missing __iomem qualifiers crypto: ux500/hash: add missing static qualifiers crypto: ux500/hash: use readl on iomem addresses dmaengine: ste_dma40: Declare memcpy config as static dmaengine: ste_dma40: fix error return code in d40_probe() Signed-off-by: Olof Johansson <[email protected]>
2013-06-25crypto: ux500: use dmaengine_submit APIFabio Baltieri2-2/+2
Use dmaengine_submit instead of calling desc->tx_submit manually. Signed-off-by: Fabio Baltieri <[email protected]> Acked-by: Herbert Xu <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-06-25crypto: ux500: use dmaengine_prep_slave_sg APIFabio Baltieri2-12/+12
Use dmaengine_prep_slave_sg inline function instead of going through the structures manually. Signed-off-by: Fabio Baltieri <[email protected]> Acked-by: Herbert Xu <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-06-25crypto: ux500: use dmaengine_device_control APIFabio Baltieri2-3/+3
Use dmaengine_device_control inline function instead of going through the structures manually. Signed-off-by: Fabio Baltieri <[email protected]> Acked-by: Herbert Xu <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-06-25crypto: ux500/crypt: add missing __iomem qualifiersFabio Baltieri1-2/+2
Add missing __iomem to struct cryp_register pointers, this solve some "incorrect type in initializer (different address spaces)" sparse warnings. Signed-off-by: Fabio Baltieri <[email protected]> Acked-by: Herbert Xu <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-06-25crypto: ux500/hash: add missing static qualifiersFabio Baltieri1-3/+2
Add missing static qualifiers to hash_process_data and hash_hw_final. Signed-off-by: Fabio Baltieri <[email protected]> Acked-by: Herbert Xu <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-06-25crypto: ux500/hash: use readl on iomem addressesFabio Baltieri1-10/+10
Always use readl when reading memory mapped registers. Signed-off-by: Fabio Baltieri <[email protected]> Acked-by: Herbert Xu <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-06-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptoHerbert Xu2-3/+3
Merge crypto to resolve conflict in crypto/Kconfig.
2013-06-20Merge tag 'mxs-dt-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 ↵Arnd Bergmann1-1/+1
into next/dt From Shawn Guo: mxs device tree changes for 3.11: * A couple of new board support, cfa10055 and cfa10057 * A few updates on cfa10036 device tree source * Some auart pinctrl data addition * Adopt soc bus infrastructure for mach-mxs * tag 'mxs-dt-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: mxs: dt: Add Crystalfontz CFA-10057 device tree ARM: mxs: dt: Add the Crystalfontz CFA-10055 device tree ARM: cfa10049: Switch the chip select pin of the LCD controller ARM: cfa10036: Add USB0 OTG port ARM: dts: apf28dev: Add touchscreen support for APF28dev ARM: mxs: Fix UARTs on M28EVK ARM: cfa10036: dt: Change i2c0 clock frequency ARM: dts: cfa10036: Change the OLED display to SSD1306 ARM: mx28: add auart4 2 pins pinmux to imx28.dtsi ARM: mx28: add auart3 2 pins pinmux to imx28.dtsi ARM: mx28: add auart2 2 pins pinmux to imx28.dtsi ARM: mxs: Use soc bus infrastructure ARM: dts: mx28: Adjust the digctl compatible string ARM: mxs: Remove init_irq declaration in machine description Includes an update to 3.10-rc6 Signed-off-by: Arnd Bergmann <[email protected]>
2013-06-14Merge tag 'ux500-dt-for-arm-soc' of ↵Olof Johansson2-0/+12
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt From Linus Walleij: Device tree patches for ux500, basically trees and auxdata: - Fix for the thermal node to be contained in the PRCMU node - Add the DTS and auxdata needed to boot the U8540 platform - Various regulators added and renamed - Rename base SoC node - A bunch of DMA patches adding channels for DT boots - A bunch of crypto+hash patches adding config for DT boots - A bunch of patches fixing the ALSA SoC support to work - Register the LP5521 LEDs - Fix a number of typos and naming errors * tag 'ux500-dt-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: (39 commits) ARM: ux500: drop any 0x prefix from I2C DT devices ARM: ux500: Allocate correct amount of memory for the u8540 in DT ARM: ux500: Provide auxdata to ux500 ASoC driver ARM: ux500: Add DT regulators for ab8500-codec ARM: ux500: Correct anamic2 typo in DT files ARM: ux500: Fix trivial typo in v-anamic1 comment ARM: ux500: Reduce PRCMU reg-names to shorter form for u8540 DT ARM: ux500: Add an auxdata entry for MUSB for clock-name look-up ARM: ux500: cut chip-select GPIOs from SSP device ARM: ux500: use symbolic names for interrupt flags ARM: ux500: use #include syntax to include *.dtsi. ARM: ux500: bump MMC/SD max frequency for DT boots ARM: ux500: Apply other compatible name to the u8540 DTS file pinctrl/nomadik: Standardise Pinctrl compat string for DBx5x based platforms ARM: ux500: Standardise Pinctrl compatible string for DBx5x based platforms ARM: ux500: Standardise DBx5x0 based Pinctrl compat string in the DTS crypto: ux500/hash - Enable DT probing of the driver crypto: ux500/cryp - Enable DT probing of the driver ARM: ux500: enable the crypto and hash on all dbx500 ARM: ux500: Provide an AUXDATA entry for ux500-hash ... Signed-off-by: Olof Johansson <[email protected]>
2013-06-12Merge tag 's3c24xx-driver-1' of ↵Olof Johansson1-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers From Kukjin Kim, driver updats for s3c24xx: - move cpufreq driver into drivers/ - add pinctrl-s3c24xx driver - cleanup OF in gpio driver Signed-off-by: Olof Johansson <[email protected]>
2013-06-10Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-1/+1
Pull crypto fixes from Herbert Xu: "This fixes a build problem in sahara and temporarily disables two new optimisations because of performance regressions until a permanent fix is ready" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: sahara - fix building as module crypto: blowfish - disable AVX2 implementation crypto: twofish - disable AVX2 implementation
2013-06-05crypto: picoxcell - replace strict_strtoul() with kstrtoul()Jingoo Han1-1/+1
The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-06-05crypto: dcp - Staticize local symbolsSachin Kamat1-4/+4
These symbols are referenced only in this file and hence should be static. Signed-off-by: Sachin Kamat <[email protected]> Tested-by: Tobias Rauter <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-06-05crypto: dcp - Use NULL instead of 0Sachin Kamat1-1/+1
Use NULL instead of 0 for pointer variables. Signed-off-by: Sachin Kamat <[email protected]> Tested-by: Tobias Rauter <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-06-05crypto: dcp - Use devm_* APIsSachin Kamat1-22/+10
devm_* APIs are device managed and make cleanup and exit code simpler. Signed-off-by: Sachin Kamat <[email protected]> Tested-by: Tobias Rauter <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-06-05crypto: dcp - Remove redundant platform_set_drvdata()Sachin Kamat1-1/+0
Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <[email protected]> Tested-by: Tobias Rauter <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-06-05crypto: omap-aes - Don't idle/start AES device between Encrypt operationsJoel A Fernandes1-10/+19
Calling runtime PM API for every block causes serious perf hit to crypto operations that are done on a long buffer. As crypto is performed on a page boundary, encrypting large buffers can cause a series of crypto operations divided by page. The runtime PM API is also called those many times. We call runtime_pm_get_sync only at beginning on the session (cra_init) and runtime_pm_put at the end. This result in upto a 50% speedup as below. This doesn't make the driver to keep the system awake as runtime get/put is only called during a crypto session which completes usually quickly. Before: root@beagleboard:~# time -v openssl speed -evp aes-128-cbc Doing aes-128-cbc for 3s on 16 size blocks: 13310 aes-128-cbc's in 0.01s Doing aes-128-cbc for 3s on 64 size blocks: 13040 aes-128-cbc's in 0.04s Doing aes-128-cbc for 3s on 256 size blocks: 9134 aes-128-cbc's in 0.03s Doing aes-128-cbc for 3s on 1024 size blocks: 8939 aes-128-cbc's in 0.01s Doing aes-128-cbc for 3s on 8192 size blocks: 4299 aes-128-cbc's in 0.00s After: root@beagleboard:~# time -v openssl speed -evp aes-128-cbc Doing aes-128-cbc for 3s on 16 size blocks: 18911 aes-128-cbc's in 0.02s Doing aes-128-cbc for 3s on 64 size blocks: 18878 aes-128-cbc's in 0.02s Doing aes-128-cbc for 3s on 256 size blocks: 11878 aes-128-cbc's in 0.10s Doing aes-128-cbc for 3s on 1024 size blocks: 11538 aes-128-cbc's in 0.05s Doing aes-128-cbc for 3s on 8192 size blocks: 4857 aes-128-cbc's in 0.03s While at it, also drop enter and exit pr_debugs, in related code. tracers can be used for that. Tested on a Beaglebone (AM335x SoC) board. Signed-off-by: Joel A Fernandes <[email protected]> Acked-by: Kevin Hilman <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-06-05crypto: sahara - fix building as moduleArnd Bergmann1-1/+1
The sahara crypto driver has an incorrect MODULE_DEVICE_TABLE, which prevents us from actually building this driver as a loadable module. sahara_dt_ids is a of_device_id array, so we have to use MODULE_DEVICE_TABLE(of, ...). Signed-off-by: Arnd Bergmann <[email protected]> Cc: Javier Martin <[email protected]> Cc: Herbert Xu <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-05-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-2/+2
Pull crypto fixes from Herbert Xu: "This push fixes a crash in the new sha256_ssse3 driver as well as a DMA setup/teardown bug in caam" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: sha256_ssse3 - fix stack corruption with SSSE3 and AVX implementations crypto: caam - fix inconsistent assoc dma mapping direction
2013-05-28crypto: ux500 - Cocci spatch "resource_size.spatch"Thomas Meyer1-1/+1
Signed-off-by: Thomas Meyer <[email protected]> Signed-off-by: Herbert Xu <[email protected]>