Giovanni Cabiddu
1198ae56c9
crypto: qat - expose deflate through acomp api for QAT GEN2
...
Add infrastructure for implementing the acomp APIs in the QAT driver and
expose the deflate algorithm for QAT GEN2 devices.
This adds
(1) the compression service which includes logic to create, allocate
and handle compression instances;
(2) logic to create configuration entries at probe time for the
compression instances;
(3) updates to the firmware API for allowing the compression service;
and;
(4) a back-end for deflate that implements the acomp api for QAT GEN2
devices.
The implementation configures the device to produce data compressed
statically, optimized for throughput over compression ratio.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Reviewed-by: Wojciech Ziemba <wojciech.ziemba@intel.com >
Reviewed-by: Adam Guerin <adam.guerin@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2022-12-09 18:44:59 +08:00
Giovanni Cabiddu
beb1e6d71f
crypto: qat - allow detection of dc capabilities for 4xxx
...
Add logic to allow the detection of data compression capabilities for
4xxx devices.
The capability detection logic has been refactored to separate the
crypto capabilities from the compression ones.
This patch is not updating the returned capability mask as, up to now,
4xxx devices are configured only to handle crypto operations.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com >
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com >
Reviewed-by: Marco Chiappero <marco.chiappero@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2021-12-24 14:18:27 +11:00
Giovanni Cabiddu
4b44d28c71
crypto: qat - extend crypto capability detection for 4xxx
...
Extended the capability detection logic for 4xxx devices.
Mask out unsupported algorithms and services based on the value read in
the fuse register.
This includes only capabilities for the crypto service.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com >
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com >
Reviewed-by: Marco Chiappero <marco.chiappero@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2021-12-24 14:18:23 +11:00
Marco Chiappero
67916c9516
crypto: qat - add AES-CTR support for QAT GEN4 devices
...
Add support for AES-CTR for QAT GEN4 devices.
Also, introduce the capability ICP_ACCEL_CAPABILITIES_AES_V2 and the
helper macro HW_CAP_AES_V2, which allow to distinguish between
different HW generations.
Co-developed-by: Tomasz Kowalik <tomaszx.kowalik@intel.com >
Signed-off-by: Tomasz Kowalik <tomaszx.kowalik@intel.com >
Co-developed-by: Mateusz Polrola <mateuszx.potrola@intel.com >
Signed-off-by: Mateusz Polrola <mateuszx.potrola@intel.com >
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com >
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2020-12-11 21:54:15 +11:00
Marco Chiappero
ad1332aa67
crypto: qat - add support for capability detection
...
Add logic to detect device capabilities for c62x, c3xxx and dh895xcc.
Read fuses, straps and legfuses CSRs and build the device capabilities
mask. This will be used to understand if a certain service is supported
by a device.
This patch is based on earlier work done by Conor McLoughlin.
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com >
Co-developed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Reviewed-by: Wojciech Ziemba <wojciech.ziemba@intel.com >
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2020-10-30 17:34:54 +11:00
Wojciech Ziemba
59c14e5e01
crypto: qat - replace user types with kernel ABI __u types
...
Kernel source code should not contain stdint.h types.
This patch replaces uintXX_t types with kernel space ABI types.
Signed-off-by: Wojciech Ziemba <wojciech.ziemba@intel.com >
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2020-06-18 17:26:42 +10:00
Giovanni Cabiddu
1532e31f50
crypto: qat - convert to SPDX License Identifiers
...
Replace License Headers with SPDX License Identifiers.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2020-06-18 17:19:44 +10:00
Allan, Bruce W
304989fe59
crypto: qat - fix checkpatch CHECK_SPACING issues
...
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2015-04-01 22:22:46 +08:00
Tadeusz Struk
338e84f3a9
crypto: qat - add support for cbc(aes) ablkcipher
...
Add support for cbc(aes) ablkcipher.
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com >
Acked-by: Bruce W. Allan <bruce.w.allan@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2014-12-22 23:02:42 +11:00
Tadeusz Struk
45cff26080
crypto: qat - remove unnecessary parentheses
...
Resolve new strict checkpatch hits
CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around ...
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com >
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2014-08-01 22:36:03 +08:00
Tadeusz Struk
38154e65ce
crypto: qat - Intel(R) QAT FW interface
...
This patch adds FW interface structure definitions.
Acked-by: John Griffin <john.griffin@intel.com >
Reviewed-by: Bruce W. Allan <bruce.w.allan@intel.com >
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
2014-06-20 21:26:16 +08:00