freebsd-dev/share/man/man4/qat.4
Krzysztof Zdziarski 266b0663c5 qat: Add Intel® 4xxx Series VF driver support
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
2023-06-12 13:44:01 -04:00

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 .