Unverified Commit 05b67977 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!8422 [OLK-6.6] Intel IAA Compression Accelerator Crypto Driver (iaa_crypto)

Merge Pull Request from: @xiaochenshen 
 
It fixes the issue:
https://gitee.com/openeuler/intel-kernel/issues/I9TA1S

**About Intel IAA Compression Accelerator Crypto Driver**

(1) IAA Compression Accelerator Crypto Driver
The IAA crypto driver supports compression/decompression compatible with the DEFLATE compression standard described in RFC 1951, which is the compression/decompression algorithm exported by this module.

The IAA hardware spec can be found here: 
https://cdrdv2.intel.com/v1/dl/getContent/721858

The iaa_crypto driver is designed to work as a layer underneath higher-level compression devices such as zswap. Users can select IAA compress/decompress acceleration by specifying one of the supported IAA compression algorithms in whatever facility allows compression algorithms to be selected.

For example, a zswap device can select the IAA 'fixed' mode represented by selecting the 'deflate-iaa' crypto compression
algorithm:
```text
echo deflate-iaa > /sys/module/zswap/parameters/compressor
```

This will tell zswap to use the IAA 'fixed' compression mode for all compresses and decompresses.

(2) Config options and other setup
Kernel configs:
```text
Cryptographic API -> Hardware crypto devices -> Support for Intel(R) IAA Compression Accelerator
CONFIG_CRYPTO_DEV_IAA_CRYPTO=m

Cryptographic API -> Hardware crypto devices -> Support for Intel(R) IAA Compression -> Enable Intel(R) IAA Compression Accelerator Statistics
CONFIG_CRYPTO_DEV_IAA_CRYPTO_STATS=y
```

The following config options should also be enabled:
```text
CONFIG_IRQ_REMAP=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_PCI_ATS=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_INTEL_IDXD=m
CONFIG_INTEL_IDXD_SVM=y
```
(3) More details
For more details on typical usage, driver attributes, configuration, statistics, use cases and IAA sysfs config interface,
please refer to kernel document:  
```text
Documentation/driver-api/crypto/iaa/iaa-crypto.rst
```

**About the patches**
There are 38 backported upstream patches in total. The patch set consists of 3 parts:
(1) IAA crypto driver.
(2) idxd driver dependencies for IAA crypto driver.
(3) idxd driver incremental patches until v6.10-rc1 kernel.

**Passed tests**
IAA Crypto Manual Test: passed on EMR and GNR platforms. 
 
Link:https://gitee.com/openeuler/kernel/pulls/8422

 

Reviewed-by: default avatarJason Zeng <jason.zeng@intel.com>
Reviewed-by: default avatarAichun Shi <aichun.shi@intel.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents 3f3e2f87 ae4766fb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -270,6 +270,12 @@ Description: Shows the operation capability bits displayed in bitmap format
		correlates to the operations allowed. It's visible only
		on platforms that support the capability.

What:		/sys/bus/dsa/devices/wq<m>.<n>/driver_name
Date:		Sept 8, 2023
KernelVersion:	6.7.0
Contact:	dmaengine@vger.kernel.org
Description:	Name of driver to be bounded to the wq.

What:           /sys/bus/dsa/devices/engine<m>.<n>/group_id
Date:           Oct 25, 2019
KernelVersion:  5.6.0
+846 −0

File added.

Preview size limit exceeded, changes collapsed.

+20 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

=================================
IAA (Intel Analytics Accelerator)
=================================

IAA provides hardware compression and decompression via the crypto
API.

.. toctree::
   :maxdepth: 1

   iaa-crypto

.. only::  subproject and html

   Indices
   =======

   * :ref:`genindex`
+20 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

==============
Crypto Drivers
==============

Documentation for crypto drivers that may need more involved setup and
configuration.

.. toctree::
   :maxdepth: 1

   iaa/index

.. only::  subproject and html

   Indices
   =======

   * :ref:`genindex`
+1 −0
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ available subsections can be seen below.
   zorro
   hte/index
   wmi
   crypto/index

.. only::  subproject and html

Loading