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