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