xref: /freebsd/share/man/man4/qat.4 (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
1.\" SPDX-License-Identifier: BSD-3-Clause
2.\" Copyright(c) 2007-2022 Intel Corporation
3.\" $FreeBSD$
4.Dd May 4, 2023
5.Dt QAT 4
6.Os
7.Sh NAME
8.Nm qat
9.Nd Intel (R) QuickAssist Technology (QAT) driver
10.Sh SYNOPSIS
11To load the driver call:
12.Pp
13.Bl -item -compact
14.It
15kldload qat
16.El
17.Pp
18In order to load the driver on boot add these lines to
19.Xr loader.conf 5 selecting firmware(s) suitable for installed device(s)
20.Pp
21.Bl -item -compact
22.It
23qat_200xx_fw_load="YES"
24.It
25qat_c3xxx_fw_load="YES"
26.It
27qat_c4xxx_fw_load="YES"
28.It
29qat_c62x_fw_load="YES"
30.It
31qat_dh895xcc_fw_load="YES"
32.It
33qat_4xxx_fw_load="YES"
34.It
35qat_load="YES"
36.El
37.Sh DESCRIPTION
38The
39.Nm
40driver supports cryptography and compression acceleration of the
41Intel (R) QuickAssist Technology (QAT) devices.
42.Pp
43The
44.Nm
45driver is intended for platforms that contain:
46.Bl -bullet -compact
47.It
48Intel (R) C62x Chipset
49.It
50Intel (R) Atom C3000 processor product family
51.It
52Intel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970
53(formerly known as "Lewis Hill")
54.It
55Intel (R) Communications Chipset 8925 to 8955 Series
56.It
57Intel (R) Atom P5300 processor product family
58.It
59Intel (R) QAT 4xxx Series
60.El
61.Pp
62The
63.Nm
64driver supports cryptography and compression acceleration.
65A complete API for offloading these operations is exposed in the kernel and may
66be used by any other entity directly.
67For details of usage and supported operations and algorithms refer to the
68following documentation available from
69.Lk 01.org :
70.Bl -bullet -compact
71.It
72.Rs
73.%A Intel (R)
74.%T QuickAssist Technology API Programmer's Guide
75.Re
76.It
77.Rs
78.%A Intel (R)
79.%T QuickAssist Technology Cryptographic API Reference Manual
80.Re
81.It
82.Rs
83.%A Intel (R)
84.%T QuickAssist Technology Data Compression API Reference Manual
85.Re
86.It
87.Rs
88.%A Intel (R)
89.%T QuickAssist Technology Performance Optimization Guide
90.Re
91.El
92.Pp
93In addition to exposing complete kernel API for offloading cryptography and
94compression operations, the
95.Nm
96driver also integrates with
97.Xr crypto 4 ,
98allowing offloading supported cryptography operations to Intel (R) QuickAssist
99Technology (QAT) devices.
100For details of usage and supported operations and algorithms refer to the
101documentation mentioned above and
102.Sx SEE ALSO
103section.
104.Sh SYSCTL_VARIABLES
105Following variables may be used to reconfigure the QAT device.\&
106For configuration persistence those variables may be set before loading the driver, either via
107.Xr kenv 1
108or
109.Xr loader.conf(5).
110The device specific configuration options are prefixed with
111.Va dev.qat.X\&.
112where X is the device number.
113The specific device needs to be in "down" state before changing the configuration.
114.Bl -tag -width indent
115.It Va state
116Show current state of the device. Override the device state. Possible values: "down", "up".
117
118NOTE: If the symmetric services are used for device the qat_ocf driver needs to be disabled prior the device
119reconfiguration.
120Following variable may be used to enable/disable the QAT cryptographic framework connectivity
121.Va dev.qat_ocf.0.enable\&.
122Enabled by default.
123.It Va cfg_services
124Override the device services enabled: symmetric, asymmetric, data compression.
125Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym".
126Default services configured are "sym;asym" for even and "dc" for odd devices.
127.It Va cfg_mode
128Override the device mode configuration for kernel space and user space instances.
129Possible values: "ks", "us", "ks;us".
130Default value "ks;us".
131.It Va num_user_processes
132Override the number of uio user space processes that can connect to the QAT device.
133Default: 2
134.El
135.Pp
136The following
137.Xr sysctl 8
138variables are read-only:
139.Bl -tag -width indent
140.It Va frequency
141QAT device frequency value.
142.It Va mmp_version
143QAT MMP Library revision number.
144.It Va hw_version
145QAT hardware revision number.
146.It Va fw_version
147QAT firmware revision number.
148.It Va dev_cfg
149Summary of device specific configuration.
150.It Va heartbeat
151QAT device heartbeat status. Value '1' indicates that the device is operational.
152'0' value means that the device is not responsive. Device requires restart.
153.It Va heartbeat_failed
154Number of QAT heartbeat failures received.
155.It Va heartbeat_sent
156Number of QAT heartbeat requests sent.
157.El
158
159.Sh COMPATIBILITY
160The
161.Nm
162driver replaced previous implementation introduced in
163.Fx 13.0 .
164Current version, in addition to
165.Xr crypto 4
166integration, supports also data compression and exposes a complete API for
167offloading data compression and cryptography operations.
168.Sh SEE ALSO
169.Xr crypto 4 ,
170.Xr ipsec 4 ,
171.Xr pci 4 ,
172.Xr crypto 7 ,
173.Xr crypto 9
174.Sh HISTORY
175This
176.Nm
177driver was introduced in
178.Fx 14.0 .
179.Fx 13.0 included a different version of
180.Nm
181driver.
182.Sh AUTHORS
183The
184.Nm
185driver was written by
186.An Intel (R) Corporation .
187