Age | Commit message (Collapse) | Author |
|
Exporting JR via the UIO mechanism in user-space should depend
on the JR back-end mechanism being available. Otherwise the user
could build the JR UIO exporting part of the CAAM driver without
having the necessary JR export code in place. This patch adds
the correct dependencies to the CAAM driver kernel configuration
file.
Change-Id: Idab845bcb73ceff4196685446ea5c3d266df1e6d
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/10820
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
CAAM driver updates as per public key infrastructure changes in cryptoAPI
RSA, DSA, ECDSA are support as part of Public Key Crypto Operations
Signed-off-by: Yashpal Dutta <yashpal.dutta@freescale.com>
Change-Id: I3a6e4f71866a5ef157b9ea13e618c4d3d209f558
Reviewed-on: http://git.am.freescale.net:8181/5839
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Geanta Neag Horia Ioan-B05471 <horia.geanta@freescale.com>
Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9546
Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
At the time of merging few changes required for enabling QI support
were missed. This patch adds those missing changes and hence enables QI
support for SEC.
Signed-off-by: Nitesh Lal <NiteshNarayanLal@freescale.com>
Change-Id: I190ed1452317cb1f70faaf85f8a69be0a0c5a376
Reviewed-on: http://git.am.freescale.net:8181/9922
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
This patch updates the current tasklet implementation to NAPI so as
the system is more balanced in the terms that the packet submission
and the packet forwarding after being processed can be done at
the same priority
Signed-off-by: Naveen Burmi <naveenburmi@freescale.com>
rebased and tuned NAPI_WEIGHT.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
(cherry picked from commit c74e14d7ff270f8d85c7988e9286f64b721f34ee)
Change-Id: I3a31db49a1a6060b3ad5cd0fc4ee4044858438bc
Reviewed-on: http://git.am.freescale.net:8181/520
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Signed-off-by: Nitesh Lal <NiteshNarayanLal@freescale.com>
Change-Id: I685d687d89a53387287912cd2273f8c1d6a6e4e4
Reviewed-on: http://git.am.freescale.net:8181/9753
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Vakul Garg <vakul@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
With the addition of US PDCP SEC driver as part of SDK 1.6,
the UIO JR driver needs to be enabled, thus some of the JRs
from kernel can be exposed via UIO to userspace.
Change-Id: I8aa6988a2bab452bb3fa081f495d76d380c64d2e
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8472
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
One could enable the UIO JR driver even if UIO is not enabled
in the kernel configuration. This leads to compilation errors.
This patch makes the UIO JR driver available if and only if
UIO support is available in the kernel configuration.
Change-Id: I4664c9839ae2b7e0794487c0f411e67d39d59365
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8543
Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Conflicts:
arch/powerpc/boot/dts/b4qds.dts
drivers/crypto/caam/Makefile
|
|
Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Change-Id: I0fff3899c0cd3278e525a62aaa957ceefef912ea
Reviewed-on: http://git.am.freescale.net:8181/4124
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Alexandru Porosanu <alexandru.porosanu@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The SEC Job Rings are now available as individual devices.
This would enable sharing of job rings between kernel and
user space. Job Rings can now be dynamically bound/unbound
from kernel.
Changes are made in the following layers of CAAM Driver
1. Controller driver
- Does basic initialization of CAAM Block.
- Creates platform devices for Job Rings.
(Earlier the initialization of Job ring was done
by the controller driver)
2. JobRing Platform driver
- Manages the platform Job Ring devices created
by the controller driver
Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: Garg Vakul-B16394 <vakul@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
CRYPTO_DEV_FSL_CAAM_JR should be set by default to y if the config option
CRYPTO_DEV_FSL_CAAM is selected
Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Change-Id: I9fe0cda416363c0aa205be0ac0b923337fd871db
Reviewed-on: http://git.am.freescale.net:8181/4228
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Garg Vakul-B16394 <vakul@freescale.com>
Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
|
|
The SEC Job Rings are now available as individual devices.
This would enable sharing of job rings between kernel and
user space. Job Rings can now be dynamically bound/unbound
from kernel.
Changes are made in the following layers of CAAM Driver
1. Controller driver
- Does basic initialization of CAAM Block.
- Creates platform devices for Job Rings.
(Earlier the initialization of Job ring was done
by the controller driver)
2. JobRing Platform driver
- Manages the platform Job Ring devices created
by the controller driver
Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Change-Id: I2f0ec2ad0184155d3187c44fd059014f5bfca887
Reviewed-on: http://git.am.freescale.net:8181/3971
Reviewed-by: Garg Vakul-B16394 <vakul@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com>
|
|
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 <alexandru.porosanu@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
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.
Change-Id: I7e6f4b8ea038e97d276cb05356d8dc290b83092b
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/3648
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Geanta Neag Horia Ioan-B05471 <horia.geanta@freescale.com>
Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com>
|
|
Fix typo and rephrase docstring in Kconfig
Change-Id: I4b6f6d54459307b8a418894b5836e2e50352c3df
Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/3021
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Porosanu Alexandru-B06830 <alexandru.porosanu@freescale.com>
Reviewed-by: Garg Vakul-B16394 <vakul@freescale.com>
Reviewed-by: Geanta Neag Horia Ioan-B05471 <horia.geanta@freescale.com>
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
The module is called caamalg_qi. This module implements offloading aead
algos to caam using queue interface backend. Since the queue interface
based caam response processing automatically scales with the number of
cores, it shows up as better performance than job ring based module
(caamalg).
For IPSEC (on P4080), the performance is 1.5 times with QI based backend
than JR based backend driver.
Change-Id: I74df81abce13c913a7743cecb5d5481221f360b7
Signed-off-by: Vakul Garg <vakul@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/2076
Reviewed-by: Geanta Neag Horia Ioan-B05471 <horia.geanta@freescale.com>
Reviewed-by: Porosanu Alexandru-B06830 <alexandru.porosanu@freescale.com>
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
This patch updates the current tasklet implementation to NAPI so as
the system is more balanced in the terms that the packet submission
and the packet forwarding after being processed can be done at
the same priority
Signed-off-by: Naveen Burmi <naveenburmi@freescale.com>
rebased and tuned NAPI_WEIGHT.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
(cherry picked from commit c74e14d7ff270f8d85c7988e9286f64b721f34ee)
Change-Id: I3a31db49a1a6060b3ad5cd0fc4ee4044858438bc
Reviewed-on: http://git.am.freescale.net:8181/520
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
The Kconfig entry for CAAM's hash algorithm implementations has always
selected CRYPTO_AHASH. But there's no corresponding Kconfig symbol.
It seems it was intended to select CRYPTO_HASH, like other crypto
drivers do. That would apparently (indirectly) select CRYPTO_HASH2,
which would enable the ahash functionality this driver uses.
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Reviewed-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
It has been observed that in zero-loss benchmarks, when a
slow traffic rate is being tested, the IRQ timer coalescing
parameter was set too high, and the ethernet controller
would start dropping packets because the job ring back half
wouldn't be executed in time before the ethernet controller
would fill its buffers, thereby significantly reducing the
zero-loss performance figures.
Empirical testing has shown that the best zero-loss performance
is achieved when IRQ coalescing is set to minimum values and/or
turned off, since apparently the job ring driver already implements
an adequately-performing general-purpose IRQ mitigation strategy
in software.
Whilst we could go with minimal count (2-8) and timing settings
(192-256), we prefer just turning h/w coalescing altogether off
to minimize setkey latency (due to split key generation), and
for consistent cross-SoC performance (the SEC vs. core clock
ratio changes).
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
caam_read copies random bytes from two buffers into output.
caam rng can fill empty buffer 0xffff bytes at a time,
but the buffer sizes are rounded down to multiple of cacheline size.
Signed-off-by: Yuan Kang <Yuan.Kang@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
caam supports ahash hmac with sha algorithms and md5.
Signed-off-by: Yuan Kang <Yuan.Kang@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
The SEC4 supercedes the SEC2.x/3.x as Freescale's
Integrated Security Engine. Its programming model is
incompatible with all prior versions of the SEC (talitos).
The SEC4 is also known as the Cryptographic Accelerator
and Assurance Module (CAAM); this driver is named caam.
This initial submission does not include support for Data Path
mode operation - AEAD descriptors are submitted via the job
ring interface, while the Queue Interface (QI) is enabled
for use by others. Only AEAD algorithms are implemented
at this time, for use with IPsec.
Many thanks to the Freescale STC team for their contributions
to this driver.
Signed-off-by: Steve Cornelius <sec@pobox.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|