qat.4: Cleanup

+ copyright symbols do not belong in Nd's (apropos results)
+ move hardware to HARDWARE for inclusion in the hw release notes
+ improve sysctls
+ lines which say nothing removed
+ links moved to see also
+ spacing and markup corrections

MFC after:		3 days
Reviewed by:		markj, mhorne
Approved by:		mhorne (mentor)
Approved by:		re (cperciva)
Differential Revision:	https://reviews.freebsd.org/D50381

(cherry picked from commit c1d9b2c9b03cade19cb4f94d3e29fba7179ac11a)
(cherry picked from commit 802edf23079388447659136805d97b95b0f90899)
This commit is contained in:
Alexander Ziaee 2025-05-16 13:19:00 -04:00
parent b7fc3fbe32
commit 86b04d37f0
No known key found for this signature in database
GPG key ID: 0A8F850BCDEF4511

View file

@ -1,11 +1,11 @@
.\" SPDX-License-Identifier: BSD-3-Clause
.\" Copyright(c) 2007-2022 Intel Corporation
.Dd May 4, 2023
.Dd May 16, 2025
.Dt QAT 4
.Os
.Sh NAME
.Nm qat
.Nd Intel (R) QuickAssist Technology (QAT) driver
.Nd Intel QuickAssist Technology driver
.Sh SYNOPSIS
To load the driver call:
.Pp
@ -39,9 +39,20 @@ The
driver supports cryptography and compression acceleration of the
Intel (R) QuickAssist Technology (QAT) devices.
.Pp
A complete API for offloading these operations is exposed in the kernel
and may be used by any other entity directly.
In addition to exposing a complete kernel API for
offloading cryptography and compression operations, the
.Nm
driver also integrates with
.Xr crypto 4 ,
allowing offloading supported operations to Intel QuickAssist Technology
devices.
.Sh HARDWARE
The
.Nm
driver is intended for platforms that contain:
driver supports the following Intel QuickAssist Technology Engines:
.Pp
.Bl -bullet -compact
.It
Intel (R) C62x Chipset
@ -57,15 +68,83 @@ Intel (R) Atom P5300 processor product family
.It
Intel (R) QAT 4xxx Series
.El
.Pp
The
.Sh SYSCTL_VARIABLES
The following
.Xr sysctl 8
variables may be used to reconfigure 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 Intel Download Center
device.
For configuration persistence those variables may be set before loading
the driver, either via
.Xr kenv 1
or
.Xr loader.conf 5 .
.Pp
The specific device needs to be in the "down" state
before changing the configuration.
.Bl -tag -width indent
.It Va dev.qat.X.state
Show or set current state of the device.
Possible values: "down", "up".
.Pp
NOTE: If the symmetric services are used for device the
.Sy qat_ocf
driver needs to be disabled prior the device reconfiguration.
.It Va dev.qat_ocf.0.enable
Enable/disable the QAT cryptographic framework connectivity.
Enabled by default.
.It Va dev.qat.X.cfg_services
Override the device services enabled, may be one of:
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 dev.qat.X.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 dev.qat.X.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 dev.qat.X.frequency
QAT device frequency value.
.It Va dev.qat.X.mmp_version
QAT MMP Library revision number.
.It Va dev.qat.X.hw_version
QAT hardware revision number.
.It Va dev.qat.X.fw_version
QAT firmware revision number.
.It Va dev.qat.X.dev_cfg
Summary of device specific configuration.
.It Va dev.qat.X.heartbeat
QAT device heartbeat status.
Value '1' indicates that the device is operational.
Value '0' means that the device is not responsive.
Device requires restart.
.It Va dev.qat.X.heartbeat_failed
Number of QAT heartbeat failures received.
.It Va dev.qat.X.heartbeat_sent
Number of QAT heartbeat requests sent.
.El
.Sh SEE ALSO
.Xr crypto 4 ,
.Xr ipsec 4 ,
.Xr pci 4 ,
.Xr crypto 7 ,
.Xr crypto 9
.Pp
For details of usage and supported operations and algorithms refer to
the following documentation available from Intel Download Center
.Lk https://downloadcenter.intel.com :
.Pp
.Bl -bullet -compact
.It
.Rs
@ -88,96 +167,14 @@ following documentation available from Intel Download Center
.%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.
Value '0' 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
A
.Nm
driver was introduced in
.Fx 14.0 .
.Fx 13.0 included a different version of
.Nm
driver.
driver appeared in
.Fx 13.0 .
It was superseded in
.Fx 14.0
by the upstream driver.
.Sh AUTHORS
The
.Nm