| Age | Commit message (Collapse) | Author |
|
Change-Id: I2fcf46d1fc4b0cd4c61e5be3654c43b80db86015
|
|
Atomic regulators should be placed in a regulator include
file, not in mfd.
Change-Id: I5fecdfd4f0aaed48b30b119cd22ab13a8b740417
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32136
|
|
File path updated according to the mainline version of prcmu driver.
Change-Id: Iddf4b63a209f1191d0c60d5c5f20b8c663fba34c
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32118
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Tested-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
- Include fix for block size data (64 byte).
ST-Ericsson ID: 352122
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Ref: Commit-id: I069aba31d8620e01e74e2b1a5987a0642e74af01
Signed-off-by: Avinash A <Avinash.a@stericsson.com>
Change-Id: Idea6cc1e34d6263066188b99d97fafae0f1225aa
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30440
Reviewed-by: Avinash A <avinash.a@stericsson.com>
Tested-by: Avinash A <avinash.a@stericsson.com>
|
|
cryp1 & hash1 updated to be compatible on both u8500 and u5500:
- added to u5500_defconfig.
- settings from devices.c to board-mop500.c & board-u5500.c.
- dynamic driver registration in board-mop500.c & board-u5500.c.
- added cryp1 to clock-db5500.c and renamed cryp to cryp0.
- added function dbx500_add_platform_device_noirq to devices-common.c.
- added cryp1 and hash1 inline functions to devices-common.h
(dbx500_add_cryp1).
- defines added to devices-db5500.h and devices-db8500.h.
- u8500_cryp/hash changed to ux500_cryp/hash.
- update to handle different value for CRYP_PERIPHERAL_ID2 between
u8500 and u5500 (more info in ER336742).
ST-Ericsson ID: 257104
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Ref: Commit-id: Ibe72c72d8f9d781008164f1bf24ceafa82ac9083
Signed-off-by: Avinash A <Avinash.a@stericsson.com>
Change-Id: I08a8f71acb89be99cbf8b54390be569e2369c73b
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30437
Reviewed-by: Avinash A <avinash.a@stericsson.com>
Tested-by: Avinash A <avinash.a@stericsson.com>
|
|
- HMAC (sha1/sha256) support to the hash driver.
- Empty message fix
ST-Ericsson ID: 348475
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I38961f4e8c1af927ad650743a74ebcf1e8ab4ad4
Signed-off-by: Berne Hebark <berne.hebark@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25652
Reviewed-by: QATOOLS
Reviewed-by: QATEST
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
Added support for empty message (pre-calculated) digests.
Support for data > blocksize, bug introduced in commit using ahash.
ST-Ericsson ID: 344561
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I7d9615b074438d1e072bd6c291d392e4ff5e7768
Signed-off-by: Berne Hebark <berne.hebark@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24825
Reviewed-by: QATEST
Reviewed-by: QATOOLS
|
|
in one)
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
Merge of following commits too:
u5500: add support for sysclk
basic sysclk support added in PRCMU driver and
clock framework driver updated.
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
U5500: Support for ESRAM12 EPOD in PRCMU driver
Signed-off-by: Vijaya Kumar Kilari <vijay.kilari@stericsson.com>
ux500: regulator: handle different base offset of ePOD ID
5500 ePOD ids are offseted for some reason in the PRCMU driver. Adjust the ids
to index the local arrays to avoid memory corruption.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
ux500: pm: support PRCMU status check on 5500
This also removes unused 8500v1 code.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
arm: ux500: prcmu_ac_wake_req workaround
This patch adds a check in prcmu_ac_wake_req that the modem is
awake (in terms of the value in the PRCM_MOD_AWAKE_STATUS
register) after the AC_WAKE_ACK has been received from the PRCMU
FW. If the check fails, a retry is made.
This seems to be necessary, since the modem can generate an
AC_WAKE_ACK, and then still go to sleep.
Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
U5500: Add support for PRCMU Mailbox0
Add PRCMU mailbox 0 support for irq wakeup
enable and disable
Signed-off-by: Vijaya Kumar K <vijay.kilari@stericsson.com>
U5500: Add support for power state transition
PRCMU driver is updated to provide API for
system power state transition
Signed-off-by: Vijaya Kumar K <vijay.kilari@stericsson.com>
ARM: ux500: prcmu: Add A9 watchdog interface
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
U5500 : ab5500 core interrupt hander update
AB5500 interrupts will be now handled by PRCMU and then
routed to AB5500 core driver.AB5500 irq handler will
no more read the latch registers to find the interrupt
reason.Instead PRCMU will read the latch registers and
provide the values to core driver.
Signed-off-by: Bibek Basu <bibek.basu@stericsson.com>
ARM: ux500: prcmu-dbg: Tiny code clean-up
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
u5500: add mailbox1 and related function support
Add cpufreq-db5500.c file for db5500 CPUfreq support.
PRCMU mailbox1 and related functions' support is added.
List of functions implemented:
- prcmu_get/set_arm_opp
- read_mailbox_1
Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>
Fix for PRCMU
u5500: PRCMU IRQ should be NO_SUSPEND
As on 8500.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
ARM: u5500: PRCMU reset API
Added API for rebooting the board and for getting the last reboot code.
Signed-off-by: Pawel Szyszuk <pawel.szyszuk@stericsson.com>
|
|
- Use readl_relaxed instead of readl.
- Use writel_relaxed instead of writel.
- Use writesl where a stream of data is written to the crypto hardware.
- Use readsl where a stream of data is read from the crypto hardware.
The above changes will increase performance when doing cryptographic
operations. We noticed about 30%-50% better throughput when running the
cryptographic test module tcrypt.
ST-Ericsson ID: 343394
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I32d9229f93a8b86257d5a9ab9729cfc4337caa52
Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24275
Reviewed-by: QATEST
Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
|
|
Remove unnecessary call to function cryp_configure_for_dma when running
in CPU mode only (we will gain performance by not calling this function,
since it read and write to registers in the crypto hardware).
ST-Ericsson ID: 343001
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ie5e99d2f96e6c9218ec767a76eb65a6683ad17dd
Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24150
Reviewed-by: QATEST
Reviewed-by: QATOOLS
Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
|
|
- Add a session id to the software crypto context in ux500 crypto
driver.
- Add a static global session id which is a counter that increases when
a new job is started (it is ok that this variable loop back to
zero when it reach the maximum value).
- These session id's will be used to decide if the hardware registers
needs be restored or not for continous jobs. As a result we gain
performance when we don't need to restore hardware registers.
ST-Ericsson ID: 342659
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I1a1f508e9969e438204d1b4a803f1d637c1e0d60
Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24019
Reviewed-by: QATOOLS
Reviewed-by: QATEST
Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
|
|
- Minimize the number of read/write to the cryp hardware.
- Write direct to hardware instead of going through functions that
aren't inlined to get rid of function prologues/epilogues.
- Remove NULL checks where performance is needed and the check itself
is unnecessary since it is catched earlier in the callstack.
- Remove unused defines/includes that are not used any longer due to
above optimizations.
ST-Ericsson ID: 341921
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I9efff1714f851672f8cb04e0c946a753a4b3f4b8
Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23719
Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
Reviewed-by: QATEST
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
- Removed cryp1 and hash1 from u8500_v2_prcc_clocks, added comment that
they already are included in u8500_v1_v2_prcc_clocks.
- Re-activated hash1 accelerator in u8500__defconfig.
- Updated clock-db8500.c with correct clk for hash1.
- Added -O0 in hash Makefile, to remove optimization in debug mode.
- Converted to ahash (from shash).
- Updated infrastructure (klist functionality).
- Dependencies to hcl_defs removed.
- Changed power_state_mutex to spinlock and also use the atomic
regulator interfaces, which removes the kernel printout
BUG: sleeping function...
- Removed the clear_bit function call and instead use the
HASH_CLEAR_BITS macro.
- Re-arranged the code to collect the external functions in the bottom
of the file.
- Removed page_to_phys/phys_to_virt calls in hash_hw_update, data
directly accessed in walk.data.
- Removed unused defines.
ST-Ericsson ID: 319847, 280690
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: NA
Change-Id: I732b7320cd8302d1dc86e4acb1954880e175773a
Signed-off-by: Berne Hebark <berne.hebark@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23294
Reviewed-by: Joakim BECH <joakim.xx.bech@stericsson.com>
|
|
- Change names of context registers so they corresponds to the name in
the DS.
- Follow the design specification strictly and with the additional
missing steps that we have got from IP developers.
- Remove unused functions from u8500.
- Call atomic version of power enable/disable functions to get rid of
sleeping while atomic BUG prints.
- Replace mutex with spinlock in the crypto context to get rid of
sleeping while atomic BUG prints.
- Replace completion in interrupt mode with polling for the remaining
data length of data to get rid of sleeping in invalid context BUG
print.
- Correct optimization bug which occured when building without debug
information (the compiler optimized it incorrectly).
- Update of irq, fixed interrupt mask handling.
- Correct bug regarding keysize when doing context save.
- BUG! DES hangs when encrypting data not modulo 16 using DMA. The
reason for this is that the CRYP IP only supports burst size of 4
words. Due to this reason DMA for DES have been replaced by CPU
mode instead.
ST-Ericsson ID: 283399, 340779
ST-Ericsson Linux next: Not tested, ER 320876
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I23dbc123dd2fb7e47f5713025ed71423efbb5b18
Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23297
Reviewed-by: QATEST
Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
|
|
Adds device driver support for crypto and hash acceleration for the u8500 chip.
ST-Ericsson Linux next: Builds and boot, but fails on cryp probe ER320876.
ST-Ericsson ID: AP 270734
crypto: ux500: cryp: Add power-awareness
Adds power awareness to the cryp part of the device driver for accelerating crypto in u8500.
ST-Ericsson ID: ER277473
crypto: ux500: cryp: Fix of NULL pointer dereference in power-save
Fix of NULL pointer dereference in cryp_disable_power.
ST-Ericsson ID: ER277473
crypto: ux500: cryp/hash: Power-awareness
- Hash:
Adds power awareness to the hash part of the device driver for accelerating
hashing in u8500.
- Cryp:
- Removed erroneous call to cryp_enable_power() in u8500_cryp_resume().
- Added spinlocks to protect usage of current_ctx.
- Corrected erroneous gotos in hw_cryp_noxts().
- Added down_interruptible()/up() in suspend/resume, to make sure
the device is not allocated during suspend.
ST-Ericsson ID: ER280692
crypto: ux500: AES ECB converted to ablk_cipher and supports DMA.
- DMA support for AES_ECB added.
- ablk_cipher support added to the driver. In this commit AES_ECB
is using this asynchronous API. This is a must since you will get
miscellaneous sleep warning- error-messages from the crypto testmgr
which runs sanity tests when loading a module in synchrounous mode
using DMA. Therefore DMA operations should use the ablk_cipher
(asynchronous) API,
- Added scatterlist walk function for ablk_cipher for the non DMA
version.
- Added power awarness to DMA related code in this cryp driver.
- Refactored code in hw_cryp_noxts with functions calls when
getting the device and when setting up the context.
- Renamed registers so they corresponds to the names in the design
spec.
ST-Ericsson ID: AP277474
ST-Ericsson Linux next: ER320876, v-ape regulator missing.
crypto: ux500: cryp: DES ECB converted to ablk_cipher.
ablk_cipher support added to the driver. In this commit DES_ECB
and DES3_ECB is using this asynchronous API.
This removes the log printout:
BUG: sleeping function called from invalid context at kernel/mutex.c:94.
ST-Ericsson ID: ER322583
crypto: ux500: cryp: More algorithms converted to use ablk_cipher.
In this commit AES_CBC, AES_CTR, DES_CBC and DES3_CBC
is using the asynchronous API.
These algorithms also support DMA, except for givciphers.
ST-Ericsson ID: AP277474
crypto: ux500: cryp: Power save redesign, to improve performance
- Enable and disable power moved to be called only at beginning and end
of algorithm calls.
- Removed compiler warnings (uninitialized variables) visible using Linux-next
compiler. Note! Those warnings not visible using default compiler in the
android forest.
ST-Ericsson ID: AP277474
crypto: Fixes after 2.6.35 merge
Signed-off-by: Berne Hebark <berne.hebark@stericsson.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
|
|
Major refactoring, checkpatch fixes, documentation of functions,
structures, enums. Also moved a lot of code from hash_alg.c to hash_core.c.
Fixed problem with incorrect digest when doing HMAC calculations. The
problem was that the function that did message pad seems to handle padding
for keys incorrectly. Now we do not say how many valid bits there are in
the last word when it comes to the key and then the hardware seems to
handle the key correctly.
Fixed contextsaving so hmac(sha1) passes.
There was an if statement checking the DINF bit which was never set. I
have removed this and then contextsaving for hmac(sha1) is working.
Code up to date with the new arch/arm/mach-ux500 folder structure.
Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com>
ux500: switch to DMAENGINE-based DMA driver
Switch all DMA clients to the DMA Engine API, and add the platform hooks
for the DMA Engine-based DMA40 driver.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
|
setkey allocates 16 bytes (CAAM_CMD_SZ *
DESC_AEAD_SHARED_TEXT_LEN) shy of what is needed to
store the shared descriptor, resulting in memory
corruption. Fix this.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
The registration of an ap device will be skipped, if the device type
probing fails.
Add names of current crypto adapters to the Kconfig help.
Signed-off-by: Holger Dengler <hd@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (45 commits)
crypto: caam - add support for sha512 variants of existing AEAD algorithms
crypto: caam - remove unused authkeylen from caam_ctx
crypto: caam - fix decryption shared vs. non-shared key setting
crypto: caam - platform_bus_type migration
crypto: aesni-intel - fix aesni build on i386
crypto: aesni-intel - Merge with fpu.ko
crypto: mv_cesa - make count_sgs() null-pointer proof
crypto: mv_cesa - copy remaining bytes to SRAM only when needed
crypto: mv_cesa - move digest state initialisation to a better place
crypto: mv_cesa - fill inner/outer IV fields only in HMAC case
crypto: mv_cesa - refactor copy_src_to_buf()
crypto: mv_cesa - no need to save digest state after the last chunk
crypto: mv_cesa - print a warning when registration of AES algos fail
crypto: mv_cesa - drop this call to mv_hash_final from mv_hash_finup
crypto: mv_cesa - the descriptor pointer register needs to be set just once
crypto: mv_cesa - use ablkcipher_request_cast instead of the manual container_of
crypto: caam - fix printk recursion for long error texts
crypto: caam - remove unused keylen from session context
hwrng: amd - enable AMD hw rnd driver for Maple PPC boards
hwrng: amd - manage resource allocation
...
|
|
In doing so, sha512 sized keys would not fit with the current
descriptor inlining mechanism, so we now calculate whether keys
should be referenced instead by pointers in the shared descriptor.
also, use symbols for descriptor text lengths, and, ahem, unmap and
free key i/o memory in cra_exit.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Key sharing is enabled by default in the shared descriptor.
Using CBC decrypt, AES has to alter the key in order to decrypt.
During high traffic decryption rates, i.e, when sharing starts to
take place, we need to use a different OPERATION option to tell AES
that the key was already altered by the PRIOR descriptor - we need
the following kind of logic:
if ( shared )
operation where AES uses decryption key (DK=1)
else
operation where AES uses encryption key (DK=0)
this patch implements this logic using a conditional and
a non-conditional local jump within the decryption job
descriptor.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
this fixes a build error since cryptodev-2.6 got rebased
to include commit d714d1979d7b4df7e2c127407f4014ce71f73cd0
"dt: eliminate of_platform_driver shim code".
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
This also makes the dummy scatterlist in mv_hash_final() needless, so
drop it.
XXX: should this routine be made pulicly available? There are probably
other users with their own implementations.
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
On one hand, the digest state registers need to be set only when
actually using the crypto engine. On the other hand, there is a check
for ctx->first_hash in mv_process_hash_current() already, so use that.
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
The main goal was to have it not do anything when a zero len parameter
was being passed (which could lead to a null pointer dereference, as in
this case p->src_sg is null, either). Using the min() macro, the lower
part of the loop gets simpler, too.
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
The code in mv_hash_final is actually a superset of mv_hash_finup's
body. Since the driver works fine without, drop it.
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
during recent descriptor development, an Invalid Sequence Command
error triggered a:
BUG: recent printk recursion!
due to insufficient memory allocated for the error text.
The Invalid Sequence Command error text is the longest.
The length of the maximum error string is computed as
the sum of:
"DECO: ": 6
"jump tgt desc idx 255: ": 23
Invalid Sequence Command text: 272
zero termination character: 1
i.e, 302 characters.
Define this maximum error string length in error.h and fix
caam_jr_strstatus callsites.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
This patch adds System z hardware acceleration support for AES, DES
and 3DES in CTR mode. The hardware support is available starting with
System z196.
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Cleanup the remaining s390 crypto options by mentioning the earliest machine
type that supports an accelerated algorithm.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
This patch adds System z hardware acceleration support for the GHASH
algorithm for GCM (Galois/Counter Mode).
The hardware support is available beginning with System z196.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
This patch adds System z hardware acceleration support for the AES XTS mode.
The hardware support is available beginning with System z196.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
keep the hex error value reporting version (a) to be consistent
with decrypt_done(), and (b) to keep our hardware guys happy.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
remains from descriptor debugging - not required for normal operation.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
The presence of a h/w Queue Interface would fail due to this
cut-n-paste snafu.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
- add IRQF_SHARED to request_irq flags to support parts such as
the p1023 that has one IRQ line per couple of rings.
- resetting a job ring triggers an interrupt, so move request_irq
prior to jr_reset to avoid 'got IRQ but nobody cared' messages.
- disable IRQs in h/w to avoid contention between reset and
interrupt status
- delete invalid comment - if there were incomplete jobs,
module would be in use, preventing an unload.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
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: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
EMU chips also have crypto HW as HS chips.
Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
SHA1 accelerator can also be busy. Add -EBUSY status return option and
return busy status from omap_sham_finup().
Signed-off-by: Markku Kylanpaa <ext-markku.kylanpaa@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
This change adds support for AES encrypting and decrypting using
advanced crypto engine found on Samsung S5PV210 and S5PC110 SoCs.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Error handling code following a kmalloc should free the allocated data.
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,f1,l;
position p1,p2;
expression *ptr != NULL;
@@
x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
<... when != x
when != if (...) { <+...x...+> }
(
x->f1 = E
|
(x->f1 == NULL || ...)
|
f(...,x->f1,...)
)
...>
(
return \(0\|<+...x...+>\|ptr\);
|
return@p2 ...;
)
@script:python@
p1 << r.p1;
p2 << r.p2;
@@
print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
|