266b0663c5
Overview: Intel(R) QuickAssist Technology (Intel(R) QAT) provides hardware acceleration for offloading security, authentication and compression services from the CPU, thus significantly increasing the performance and efficiency of standard platform solutions. This commit introduces: - Intel® 4xxx Series VF driver support. - Device configurability via sysctls. - UIO support for Intel® 4xxx Series devices. Patch co-authored by: Krzysztof Zdziarski <krzysztofx.zdziarski@intel.com> Patch co-authored by: Michal Gulbicki <michalx.gulbicki@intel.com> Patch co-authored by: Julian Grajkowski <julianx.grajkowski@intel.com> Patch co-authored by: Piotr Kasierski <piotrx.kasierski@intel.com> Patch co-authored by: Lukasz Kolodzinski <lukaszx.kolodzinski@intel.com> Patch co-authored by: Karol Grzadziel <karolx.grzadziel@intel.com> Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D39850
187 lines
4.6 KiB
Groff
187 lines
4.6 KiB
Groff
.\" SPDX-License-Identifier: BSD-3-Clause
|
|
.\" Copyright(c) 2007-2022 Intel Corporation
|
|
.\" $FreeBSD$
|
|
.Dd May 4, 2023
|
|
.Dt QAT 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm qat
|
|
.Nd Intel (R) QuickAssist Technology (QAT) driver
|
|
.Sh SYNOPSIS
|
|
To load the driver call:
|
|
.Pp
|
|
.Bl -item -compact
|
|
.It
|
|
kldload qat
|
|
.El
|
|
.Pp
|
|
In order to load the driver on boot add these lines to
|
|
.Xr loader.conf 5 selecting firmware(s) suitable for installed device(s)
|
|
.Pp
|
|
.Bl -item -compact
|
|
.It
|
|
qat_200xx_fw_load="YES"
|
|
.It
|
|
qat_c3xxx_fw_load="YES"
|
|
.It
|
|
qat_c4xxx_fw_load="YES"
|
|
.It
|
|
qat_c62x_fw_load="YES"
|
|
.It
|
|
qat_dh895xcc_fw_load="YES"
|
|
.It
|
|
qat_4xxx_fw_load="YES"
|
|
.It
|
|
qat_load="YES"
|
|
.El
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver supports cryptography and compression acceleration of the
|
|
Intel (R) QuickAssist Technology (QAT) devices.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
driver is intended for platforms that contain:
|
|
.Bl -bullet -compact
|
|
.It
|
|
Intel (R) C62x Chipset
|
|
.It
|
|
Intel (R) Atom C3000 processor product family
|
|
.It
|
|
Intel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970
|
|
(formerly known as "Lewis Hill")
|
|
.It
|
|
Intel (R) Communications Chipset 8925 to 8955 Series
|
|
.It
|
|
Intel (R) Atom P5300 processor product family
|
|
.It
|
|
Intel (R) QAT 4xxx Series
|
|
.El
|
|
.Pp
|
|
The
|
|
.Nm
|
|
driver supports cryptography and compression acceleration.
|
|
A complete API for offloading these operations is exposed in the kernel and may
|
|
be used by any other entity directly.
|
|
For details of usage and supported operations and algorithms refer to the
|
|
following documentation available from
|
|
.Lk 01.org :
|
|
.Bl -bullet -compact
|
|
.It
|
|
.Rs
|
|
.%A Intel (R)
|
|
.%T QuickAssist Technology API Programmer's Guide
|
|
.Re
|
|
.It
|
|
.Rs
|
|
.%A Intel (R)
|
|
.%T QuickAssist Technology Cryptographic API Reference Manual
|
|
.Re
|
|
.It
|
|
.Rs
|
|
.%A Intel (R)
|
|
.%T QuickAssist Technology Data Compression API Reference Manual
|
|
.Re
|
|
.It
|
|
.Rs
|
|
.%A Intel (R)
|
|
.%T QuickAssist Technology Performance Optimization Guide
|
|
.Re
|
|
.El
|
|
.Pp
|
|
In addition to exposing complete kernel API for offloading cryptography and
|
|
compression operations, the
|
|
.Nm
|
|
driver also integrates with
|
|
.Xr crypto 4 ,
|
|
allowing offloading supported cryptography operations to Intel (R) QuickAssist
|
|
Technology (QAT) devices.
|
|
For details of usage and supported operations and algorithms refer to the
|
|
documentation mentioned above and
|
|
.Sx SEE ALSO
|
|
section.
|
|
.Sh SYSCTL_VARIABLES
|
|
Following variables may be used to reconfigure the QAT device.\&
|
|
For configuration persistence those variables may be set before loading the driver, either via
|
|
.Xr kenv 1
|
|
or
|
|
.Xr loader.conf(5).
|
|
The device specific configuration options are prefixed with
|
|
.Va dev.qat.X\&.
|
|
where X is the device number.
|
|
The specific device needs to be in "down" state before changing the configuration.
|
|
.Bl -tag -width indent
|
|
.It Va state
|
|
Show current state of the device. Override the device state. Possible values: "down", "up".
|
|
|
|
NOTE: If the symmetric services are used for device the qat_ocf driver needs to be disabled prior the device
|
|
reconfiguration.
|
|
Following variable may be used to enable/disable the QAT cryptographic framework connectivity
|
|
.Va dev.qat_ocf.0.enable\&.
|
|
Enabled by default.
|
|
.It Va cfg_services
|
|
Override the device services enabled: symmetric, asymmetric, data compression.
|
|
Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym".
|
|
Default services configured are "sym;asym" for even and "dc" for odd devices.
|
|
.It Va cfg_mode
|
|
Override the device mode configuration for kernel space and user space instances.
|
|
Possible values: "ks", "us", "ks;us".
|
|
Default value "ks;us".
|
|
.It Va num_user_processes
|
|
Override the number of uio user space processes that can connect to the QAT device.
|
|
Default: 2
|
|
.El
|
|
.Pp
|
|
The following
|
|
.Xr sysctl 8
|
|
variables are read-only:
|
|
.Bl -tag -width indent
|
|
.It Va frequency
|
|
QAT device frequency value.
|
|
.It Va mmp_version
|
|
QAT MMP Library revision number.
|
|
.It Va hw_version
|
|
QAT hardware revision number.
|
|
.It Va fw_version
|
|
QAT firmware revision number.
|
|
.It Va dev_cfg
|
|
Summary of device specific configuration.
|
|
.It Va heartbeat
|
|
QAT device heartbeat status. Value '1' indicates that the device is operational.
|
|
'0' value means that the device is not responsive. Device requires restart.
|
|
.It Va heartbeat_failed
|
|
Number of QAT heartbeat failures received.
|
|
.It Va heartbeat_sent
|
|
Number of QAT heartbeat requests sent.
|
|
.El
|
|
|
|
.Sh COMPATIBILITY
|
|
The
|
|
.Nm
|
|
driver replaced previous implementation introduced in
|
|
.Fx 13.0 .
|
|
Current version, in addition to
|
|
.Xr crypto 4
|
|
integration, supports also data compression and exposes a complete API for
|
|
offloading data compression and cryptography operations.
|
|
.Sh SEE ALSO
|
|
.Xr crypto 4 ,
|
|
.Xr ipsec 4 ,
|
|
.Xr pci 4 ,
|
|
.Xr crypto 7 ,
|
|
.Xr crypto 9
|
|
.Sh HISTORY
|
|
This
|
|
.Nm
|
|
driver was introduced in
|
|
.Fx 14.0 .
|
|
.Fx 13.0 included a different version of
|
|
.Nm
|
|
driver.
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
driver was written by
|
|
.An Intel (R) Corporation .
|