Introduction

The term in-tree refers to the Intel® QAT kernel modules and firmware included in the Linux kernel tree, as opposed to our more common out-of-tree (OOT) driver and firmware, provided directly by Intel at Intel® QuickAssist Technology Driver for Linux* - HW Version 2.0.

Important

Firmware information on this page refers to the in-tree firmware. If you’re using the Intel OOT package, your firmware version may not match what’s on this page.

Detecting Current Firmware

Note

Your firmware may be in a compressed .xz filetype. Decompress first using the sudo xz --decompress compressed_file_filename.xz command.

To detect which firmware version is on a platform or running in a device, see the below commands. Change to the appropriate directory (i.e. cd usr/lib/firmware/ or cd to [QAT_DIR]/quickassist/qat/fw/ ) and use the appropriate command for your hardware:

strings qat_4xxx*   | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_895xcc* | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_c3xxx*  | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'
strings qat_c62x*   | grep -oP 'Firmware version: \K[0-9]+\.[0-9]+\.[0-9]+'

Note

On some Linux distros, the above commands may not produce output. In that case, run a more basic command like strings qat_4xxx* | grep -i version . In our example output, tools version 5.0.1993 . Firmware version: 1.0.10, the tools version is not relevant; the latter Firmware version: 1.0.10 represents the actual version of the current firmware.

QAT Firmware Available

QAT Firmware Available

File Name

Version

SHA256

Checksum

Release Date

Supported

Platforms

LICENCE.qat_firmware

2023

0BD9F7CAE3CF72B12A63359A725CCBB76DDBD6831372695A9162144329800DD0

2023-03-10

N/A

qat_402xx.bin

Pending

contact qat-linux@intel.com mailing list for firmware

Pending

4th Gen Intel® Xeon® Scalable Processor

qat_402xx_mmp.bin

Pending

contact qat-linux@intel.com mailing list for firmware

Pending

4th Gen Intel® Xeon® Scalable Processor

qat_420xx.bin

Pending

contact qat-linux@intel.com mailing list for firmware

Pending

5th Gen Intel® Xeon® Scalable Processor

qat_420xx_mmp.bin

Pending

contact qat-linux@intel.com mailing list for firmware

Pending

5th Gen Intel® Xeon® Scalable Processor

qat_4xxx.bin

1.1.20

1237d40f9d04d4be77becf992ae278f5983a506b90b7353d17a251884b898ef6

2024-01-09

4th Gen Intel® Xeon® Scalable Processor

qat_4xxx_mmp.bin

N/A

DF9D88B8B453A228076DDD2EB1332045ECA654854B3E1BF6CCE0EDAC24854C7C

2023-03-07

4th Gen Intel® Xeon® Scalable Processor

qat_895xcc.bin

4.18.0

3bd7958f092eed553f3ae7a4543409d4ac34c0057e8fe609b6dabedd4f5a0077

2023-04-18

Intel® Communication Chipset 8925 to 8955 Series

qat_895xcc_mmp.bin

N/A

4b7bd5930690accaf9dac6301ab7d91ea24bc1398c943ad7aa14c7a8118b63db

2023-04-18

Intel® Communication Chipset 8925 to 8955 Series

qat_c3xxx.bin

4.19.0

99a1e70b24facc6e7834d7a72cbc82d113796af0d70af94f66f224fbc27c5340

2023-04-18

Intel Atom® Processor C3000

qat_c3xxx_mmp.bin

N/A

2869d2306c60dff528bb68c4b55c3c5aab96e43c6fcd858540235eb283118de9

2023-04-18

Intel Atom® Processor C3000

qat_c62x.bin

4.19.0

89bd32da6761afb28f8d801289c6ada2d02d3ddfd0de6626111e710b8276871a

2023-04-18

Intel® C62x Chipset

qat_c62x_mmp.bin

N/A

52bfda93819413807c7be56baf69f0b5f07a4be067ce9c69e61bf78bb395d1da

2023-04-18

Intel® C62x Chipset

Download

QAT in-tree firmware can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/.

QAT Kernel Driver Releases & Features

Note

Some qatlib features require a recent kernel driver or firmware version.

QAT Kernel Driver Releases & Features

Feature

Required Kernel Driver Version

Required Firmware Version

Symmetric and asymmetric crypto

v5.15.3+

Any

Data Compression

v5.17+

Any

Enable device 401xx/CPM2.0b

v5.19+

Any

Configure dc and sym;asym

v6.0+

Any

Configure sym asym sym;dc asym;dc

v6.5+

Any

Symmetric Crypto SM3 & SM4 and Asymmetric Crypto SM2

v6.6+

Any

DC Chaining (dcc)

v6.7+

1.1.20 (for 4xxx)

Enable device 420xx

v6.8+

Pending (420xx)

Telemetry

v6.8+

1.1.20 (4xxx)

RAS

v6.9+

1.1.20 (4xxx) Pending (420xx)

Note

Also, if running on a distro like RHEL or SUSE, the kernel version reported should be ignored. This is because the kernel version reported is only the base kernel version, however, the distro generally contains a more recent qat kernel driver.

Consult your distro support for details.

Note

*For pending firmware, contact your Intel Representative or qat-linux@intel.com.

Known Errata (Linux Firmware/Kernel Modules)

QAT20-23946 [SVM/IOMMU] Request issue doesn’t appear in response

Title

[SVM/IOMMU] Request issue doesn’t appear in response

Reference

QAT20-23946

Description

Without Address Translation (AT) enabled, QAT hardware can’t reliably handle page faults on write operations to invalid memory addresses.

This may lead to situations where the operation does not complete properly and error is not reported to user. Only IOMMU pagefault is reported to the user in this case.

This does not result in system memory corruption.

Implication

User is responsible for making sure that all destination addresses submitted to HW are valid. Also verify that SW doesn’t generate IOMMU pagefaults.

Resolution

Enable AT for SVM/IOMMU use cases.

Affected OS

All

Affected

Platform

QAT 2.0

Driver/Module

QAT Firmware

QAT20-24970 [Firmware] Potential false positive heartbeat failures

Title

[Firmware] Potential false positive heartbeat failures

Reference

QAT20-24970

Description

When a QAT device is fully utilized and is processing requests with large payloads (e.g. >512MB), false positive heartbeat failures may be reported if the heartbeat check interval is set too low.

Implication

Processing multiple requests with big payload sizes may cause false positive heartbeat failure and trigger PF restart.

Resolution

This issue can be resolved by ensuring that heartbeat interval is large enough to allow big payload request be correctly processed.

Recommended minimal heartbeat interval value to be used is 1500 ms. This issue will be addressed in future release.

Affected OS

All

Affected

Platform

QAT 2.0

Driver/Module

QAT Firmware

QAT20-20272 [XCC/MCC] Spurious heartbeat failures may be observed on some SKUs

Title

[Firmware] Potential false positive heartbeat failures

Reference

QAT20-24970

Description

When a QAT device is fully utilized and is processing requests with large payloads (e.g. >512MB), false positive heartbeat failures may be reported if the heartbeat check interval is set too low.

Implication

Processing multiple requests with big payload sizes may cause false positive heartbeat failure and trigger PF restart.

Resolution

This issue can be resolved by ensuring that heartbeat interval is large enough to allow big payload request be correctly processed.

Recommended minimal heartbeat interval value to be used is 1500 ms. This issue will be addressed in future release.

Affected OS

All

Affected

Platform

QAT 2.0

Driver/Module

QAT Firmware

QAT20-18924 [MCC] MCC SKUs may consume more power than expected

Title

[MCC] MCC SKUs may consume more power than expected

Reference

QAT20-18924

Description

Due to Power Management changes in MCC platforms one QAT device in every socket is permanently clock gated when not processing requests which leads to inevitable heartbeat failures and device resets. Current FW workaround increases power consumption by keeping QAT in active state. Intel is working on workaround that does not have impact on power consumption.

Implication

Higher power consumption is possible

Resolution

This is no workaround currently available.

Affected OS

Linux

Affected

Platform

QAT 2.0

Driver/Module

QAT Firmware

QATE-45537 [Firmware] - Firmware authentication may fail if PCIe* errors occur or are injected

Title

[Firmware] - Firmware authentication may fail if PCIe* errors occur or are injected.

Reference

QATE-45537

Description

If PCIe* errors occur or are injected on a platform, the QAT firmware authentication may fail.

Implication

The system may need to be rebooted in order to load QAT firmware successfully.

Resolution

None

Affected OS

Linux*

Affected

Platform

QAT 1.6, QAT 1.7

Driver/Module

CPM IA - Common

QATE-68323 [VIRT] Attempting to create any number of QAT VF’s results in all VF’s created

Title

[VIRT] Attempting to create any number of QAT VF’s results in all VF’s created

Reference

QATE-68323

Description

To enabled SR-IOV on the device user must write number to the sriov_numvf virtual file. As recommended by community, the value passed to the sriov_numvf file indicates how many VF’s user wants to create.

Current implementation of the driver doesn’t support this because regardless of the written value driver will create all available.

Everything else is working as expected, meaning, user writes 0 to to disabled SR-IOV and negative number are not allowed.

Implication

When the SR-IOV is enabled on the device the number of the VFs (Virtual Functions) is fixed to maximum for the device.

Resolution

In virtual environment host always expose full device capabilities, hence the host configuration determines the resource availability for the particular guest (VM).

Affected OS

Linux

Affected

Platform

QAT 2.0

Driver/Module

QAT Firmware

Resolved Errata

This section lists those errata related to firmware which were previously resolved.

QATE-8109 [Firmware] - Driver and firmware versions are not reported to user space

Title

Driver and firmware versions are not reported to user space.

Reference

QATE-8109

Description

Driver and firmware versions are not reported through the sysfs and cannot be queried using the icp api.

Implication

User applications are not able to query the software package versions.

Resolution

This is resolved with the 4.0.1 release.

Affected OS

Linux

Affected

Platform

QAT 1.6, QAT 1.7

Driver/Module

CPM IA - Common

QATE-4051 - Unable to activate driver using QAT1.7 devices in full passthrough mode

Title

Unable to activate driver using QAT1.7 devices in full passthrough mode

Reference

QATE-4051

Description

The new firmware authentication feature requires PF devices to be reset via function level reset (FLR) before firmware download. In KVM guests, all pass-through devices attached to a VM are reset at boot time. Any further device reset is trapped by the hypervisor and not issued. This causes firmware authentication to fail after the first firmware download. Full device pass-through might work in some conditions when using vfio and if the host kernel and the platform support it.

Implication

Direct mode feature not available on KVM guests for devices on full pass-through mode.

Resolution

Refer to appendix A of Using Intel® Virtualization Technology (Intel® VT) with Intel® QuickAssist Technology (document number 330689) for instructions on how to pass through a QAT PF to a VM. Talk to your Intel® representative for more information.

Affected OS

Linux

Affected

Platform

QAT 1.6, QAT 1.7, QAT 1.8

Driver/Module

CPM IA - Common

QATE-77659 Unexpected behaviour may be triggered by certain SGL sub-buffer layouts on CLC devices

Title

Unexpected behaviour may be triggered by certain SGL sub-buffer layouts on CLC devices.

Reference

QATE-77659

Description

The DMA alignment optimization code in FW does not correctly handle an edge case where certain combinations of unaligned buffer lengths are used.

Implication

Cipher operations may begin to fail requiring device restart.

Resolution

There is no workaround available. Bufferlists composed of sub-buffers which are multiples of 8 bytes in length are not affected.

Affected OS

FreeBSD

Affected

Platform

QAT 1.7

Driver/Module

QATE-39335 Compression instances do not work on Virtual Machine with Linux Host QAT driver without CnVnR support

Title

Compression instances do not work on Virtual Machine with Linux Host QAT driver without CnVnR support.

Reference

QATE-39335

Description

FreeBSD QAT VF driver does not get host capabilities - the CnVnR support is enabled by default.

Implication

The driver may fail to start compression instances on Virtual Machine with VF driver if no CnVnR support on Host QAT driver firmware.

Resolution

Use Linux QAT driver CnVnR support (4.3.0 or above) on Linux Host system.

Affected OS

FreeBSD 11.3

Affected

Platform

QAT 1.7

Driver/Module

CPM IA - Compression

License

Copyright (c) Intel Corporation.

Redistribution.  Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met:

* Redistributions must reproduce the above copyright notice and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission.
* No reverse engineering, decompilation, or disassembly of this software is permitted.

Limited patent license.  Intel Corporation grants a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") this software, but solely to the extent that any such patent is necessary to Utilize the software alone, or in combination with an operating system licensed under an approved Open Source license as listed by the Open Source Initiative at http://opensource.org/licenses.  The patent license shall not apply to any other combinations which include this software.  No hardware per se is licensed hereunder.

DISCLAIMER.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.