xref: /freebsd/share/man/man4/qat.4 (revision 5a8e5215cef0dac1115853889e925099f61bb5fa)
178ee8d1cSJulian Grajkowski.\" SPDX-License-Identifier: BSD-3-Clause
2*5a8e5215SHareshx Sankar Raj.\" Copyright(c) 2007-2025 Intel Corporation
3*5a8e5215SHareshx Sankar Raj.Dd June 2, 2025
478ee8d1cSJulian Grajkowski.Dt QAT 4
578ee8d1cSJulian Grajkowski.Os
678ee8d1cSJulian Grajkowski.Sh NAME
778ee8d1cSJulian Grajkowski.Nm qat
8c1d9b2c9SAlexander Ziaee.Nd Intel QuickAssist Technology driver
978ee8d1cSJulian Grajkowski.Sh SYNOPSIS
1078ee8d1cSJulian GrajkowskiTo load the driver call:
1178ee8d1cSJulian Grajkowski.Pp
1278ee8d1cSJulian Grajkowski.Bl -item -compact
1378ee8d1cSJulian Grajkowski.It
1478ee8d1cSJulian Grajkowskikldload qat
1578ee8d1cSJulian Grajkowski.El
1678ee8d1cSJulian Grajkowski.Pp
1778ee8d1cSJulian GrajkowskiIn order to load the driver on boot add these lines to
1878ee8d1cSJulian Grajkowski.Xr loader.conf 5 selecting firmware(s) suitable for installed device(s)
1978ee8d1cSJulian Grajkowski.Pp
2078ee8d1cSJulian Grajkowski.Bl -item -compact
2178ee8d1cSJulian Grajkowski.It
2278ee8d1cSJulian Grajkowskiqat_200xx_fw_load="YES"
2378ee8d1cSJulian Grajkowski.It
2478ee8d1cSJulian Grajkowskiqat_c3xxx_fw_load="YES"
2578ee8d1cSJulian Grajkowski.It
2678ee8d1cSJulian Grajkowskiqat_c4xxx_fw_load="YES"
2778ee8d1cSJulian Grajkowski.It
2878ee8d1cSJulian Grajkowskiqat_c62x_fw_load="YES"
2978ee8d1cSJulian Grajkowski.It
3078ee8d1cSJulian Grajkowskiqat_dh895xcc_fw_load="YES"
3178ee8d1cSJulian Grajkowski.It
32a977168cSMichal Gulbickiqat_4xxx_fw_load="YES"
33a977168cSMichal Gulbicki.It
3478ee8d1cSJulian Grajkowskiqat_load="YES"
3578ee8d1cSJulian Grajkowski.El
3678ee8d1cSJulian Grajkowski.Sh DESCRIPTION
3778ee8d1cSJulian GrajkowskiThe
3878ee8d1cSJulian Grajkowski.Nm
3978ee8d1cSJulian Grajkowskidriver supports cryptography and compression acceleration of the
4078ee8d1cSJulian GrajkowskiIntel (R) QuickAssist Technology (QAT) devices.
4178ee8d1cSJulian Grajkowski.Pp
42c1d9b2c9SAlexander ZiaeeA complete API for offloading these operations is exposed in the kernel
43c1d9b2c9SAlexander Ziaeeand may be used by any other entity directly.
44c1d9b2c9SAlexander ZiaeeIn addition to exposing a complete kernel API for
45c1d9b2c9SAlexander Ziaeeoffloading cryptography and compression operations, the
46c1d9b2c9SAlexander Ziaee.Nm
47c1d9b2c9SAlexander Ziaeedriver also integrates with
48c1d9b2c9SAlexander Ziaee.Xr crypto 4 ,
49c1d9b2c9SAlexander Ziaeeallowing offloading supported operations to Intel QuickAssist Technology
50c1d9b2c9SAlexander Ziaeedevices.
51c1d9b2c9SAlexander Ziaee.Sh HARDWARE
5278ee8d1cSJulian GrajkowskiThe
5378ee8d1cSJulian Grajkowski.Nm
54c1d9b2c9SAlexander Ziaeedriver supports the following Intel QuickAssist Technology Engines:
55c1d9b2c9SAlexander Ziaee.Pp
5678ee8d1cSJulian Grajkowski.Bl -bullet -compact
5778ee8d1cSJulian Grajkowski.It
5878ee8d1cSJulian GrajkowskiIntel (R) C62x Chipset
5978ee8d1cSJulian Grajkowski.It
6078ee8d1cSJulian GrajkowskiIntel (R) Atom C3000 processor product family
6178ee8d1cSJulian Grajkowski.It
6278ee8d1cSJulian GrajkowskiIntel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970
6378ee8d1cSJulian Grajkowski(formerly known as "Lewis Hill")
6478ee8d1cSJulian Grajkowski.It
6578ee8d1cSJulian GrajkowskiIntel (R) Communications Chipset 8925 to 8955 Series
6678ee8d1cSJulian Grajkowski.It
6778ee8d1cSJulian GrajkowskiIntel (R) Atom P5300 processor product family
68a977168cSMichal Gulbicki.It
69a977168cSMichal GulbickiIntel (R) QAT 4xxx Series
7078ee8d1cSJulian Grajkowski.El
71c1d9b2c9SAlexander Ziaee.Sh SYSCTL_VARIABLES
72c1d9b2c9SAlexander ZiaeeThe following
73c1d9b2c9SAlexander Ziaee.Xr sysctl 8
74c1d9b2c9SAlexander Ziaeevariables may be used to reconfigure the
7578ee8d1cSJulian Grajkowski.Nm
76c1d9b2c9SAlexander Ziaeedevice.
77c1d9b2c9SAlexander ZiaeeFor configuration persistence those variables may be set before loading
78c1d9b2c9SAlexander Ziaeethe driver, either via
79c1d9b2c9SAlexander Ziaee.Xr kenv 1
80c1d9b2c9SAlexander Ziaeeor
81c1d9b2c9SAlexander Ziaee.Xr loader.conf 5 .
82c1d9b2c9SAlexander Ziaee.Pp
83c1d9b2c9SAlexander ZiaeeThe specific device needs to be in the "down" state
84c1d9b2c9SAlexander Ziaeebefore changing the configuration.
85c1d9b2c9SAlexander Ziaee.Bl -tag -width indent
86c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.state
87c1d9b2c9SAlexander ZiaeeShow or set current state of the device.
88c1d9b2c9SAlexander ZiaeePossible values: "down", "up".
89c1d9b2c9SAlexander Ziaee.Pp
90c1d9b2c9SAlexander ZiaeeNOTE: If the symmetric services are used for device the
91c1d9b2c9SAlexander Ziaee.Sy qat_ocf
92c1d9b2c9SAlexander Ziaeedriver needs to be disabled prior the device reconfiguration.
93c1d9b2c9SAlexander Ziaee.It Va dev.qat_ocf.0.enable
94c1d9b2c9SAlexander ZiaeeEnable/disable the QAT cryptographic framework connectivity.
95c1d9b2c9SAlexander ZiaeeEnabled by default.
96c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.cfg_services
97c1d9b2c9SAlexander ZiaeeOverride the device services enabled, may be one of:
98c1d9b2c9SAlexander Ziaeesymmetric, asymmetric, data compression.
99c1d9b2c9SAlexander ZiaeePossible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym".
100c1d9b2c9SAlexander ZiaeeDefault services configured
101c1d9b2c9SAlexander Ziaeeare "sym;asym" for even and "dc" for odd devices.
102c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.cfg_mode
103c1d9b2c9SAlexander ZiaeeOverride the device mode configuration
104c1d9b2c9SAlexander Ziaeefor kernel space and user space instances.
105c1d9b2c9SAlexander ZiaeePossible values: "ks", "us", "ks;us".
106c1d9b2c9SAlexander ZiaeeDefault value "ks;us".
107c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.num_user_processes
108c1d9b2c9SAlexander ZiaeeOverride the number of uio user space processes
109c1d9b2c9SAlexander Ziaeethat can connect to the QAT device.
110c1d9b2c9SAlexander ZiaeeDefault: 2
111*5a8e5215SHareshx Sankar Raj.It Va dev.qat.X.disable_safe_dc_mode
112*5a8e5215SHareshx Sankar RajOverride history buffer mitigation.
113*5a8e5215SHareshx Sankar RajDisabled by default.
114*5a8e5215SHareshx Sankar RajIf enabled, decompression throughput increases but may result in a data leak if
115*5a8e5215SHareshx Sankar Raj.Va dev.qat.X.num_user_processes
116*5a8e5215SHareshx Sankar Rajis more than 1.
117*5a8e5215SHareshx Sankar RajEnable this option only if your system is not prone to user data leaks.
118c1d9b2c9SAlexander Ziaee.El
119c1d9b2c9SAlexander Ziaee.Pp
120c1d9b2c9SAlexander ZiaeeThe following
121c1d9b2c9SAlexander Ziaee.Xr sysctl 8
122c1d9b2c9SAlexander Ziaeevariables are read-only:
123c1d9b2c9SAlexander Ziaee.Bl -tag -width indent
124c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.frequency
125c1d9b2c9SAlexander ZiaeeQAT device frequency value.
126c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.mmp_version
127c1d9b2c9SAlexander ZiaeeQAT MMP Library revision number.
128c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.hw_version
129c1d9b2c9SAlexander ZiaeeQAT hardware revision number.
130c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.fw_version
131c1d9b2c9SAlexander ZiaeeQAT firmware revision number.
132c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.dev_cfg
133c1d9b2c9SAlexander ZiaeeSummary of device specific configuration.
134c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.heartbeat
135c1d9b2c9SAlexander ZiaeeQAT device heartbeat status.
136c1d9b2c9SAlexander ZiaeeValue '1' indicates that the device is operational.
137c1d9b2c9SAlexander ZiaeeValue '0' means that the device is not responsive.
138c1d9b2c9SAlexander ZiaeeDevice requires restart.
139c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.heartbeat_failed
140c1d9b2c9SAlexander ZiaeeNumber of QAT heartbeat failures received.
141c1d9b2c9SAlexander Ziaee.It Va dev.qat.X.heartbeat_sent
142c1d9b2c9SAlexander ZiaeeNumber of QAT heartbeat requests sent.
143c1d9b2c9SAlexander Ziaee.El
144c1d9b2c9SAlexander Ziaee.Sh SEE ALSO
145c1d9b2c9SAlexander Ziaee.Xr crypto 4 ,
146c1d9b2c9SAlexander Ziaee.Xr ipsec 4 ,
147c1d9b2c9SAlexander Ziaee.Xr pci 4 ,
148c1d9b2c9SAlexander Ziaee.Xr crypto 7 ,
149c1d9b2c9SAlexander Ziaee.Xr crypto 9
150c1d9b2c9SAlexander Ziaee.Pp
151c1d9b2c9SAlexander ZiaeeFor details of usage and supported operations and algorithms refer to
152c1d9b2c9SAlexander Ziaeethe following documentation available from Intel Download Center
15322cf89c9SPiotr Kasierski.Lk https://downloadcenter.intel.com :
154c1d9b2c9SAlexander Ziaee.Pp
15578ee8d1cSJulian Grajkowski.Bl -bullet -compact
15678ee8d1cSJulian Grajkowski.It
15778ee8d1cSJulian Grajkowski.Rs
15878ee8d1cSJulian Grajkowski.%A Intel (R)
15978ee8d1cSJulian Grajkowski.%T QuickAssist Technology API Programmer's Guide
16078ee8d1cSJulian Grajkowski.Re
16178ee8d1cSJulian Grajkowski.It
16278ee8d1cSJulian Grajkowski.Rs
16378ee8d1cSJulian Grajkowski.%A Intel (R)
16478ee8d1cSJulian Grajkowski.%T QuickAssist Technology Cryptographic API Reference Manual
16578ee8d1cSJulian Grajkowski.Re
16678ee8d1cSJulian Grajkowski.It
16778ee8d1cSJulian Grajkowski.Rs
16878ee8d1cSJulian Grajkowski.%A Intel (R)
16978ee8d1cSJulian Grajkowski.%T QuickAssist Technology Data Compression API Reference Manual
17078ee8d1cSJulian Grajkowski.Re
17178ee8d1cSJulian Grajkowski.It
17278ee8d1cSJulian Grajkowski.Rs
17378ee8d1cSJulian Grajkowski.%A Intel (R)
17478ee8d1cSJulian Grajkowski.%T QuickAssist Technology Performance Optimization Guide
17578ee8d1cSJulian Grajkowski.Re
17678ee8d1cSJulian Grajkowski.El
17778ee8d1cSJulian Grajkowski.Sh HISTORY
178c1d9b2c9SAlexander ZiaeeA
17978ee8d1cSJulian Grajkowski.Nm
180c1d9b2c9SAlexander Ziaeedriver appeared in
181c1d9b2c9SAlexander Ziaee.Fx 13.0 .
182c1d9b2c9SAlexander ZiaeeIt was superseded in
183c1d9b2c9SAlexander Ziaee.Fx 14.0
184c1d9b2c9SAlexander Ziaeeby the upstream driver.
18578ee8d1cSJulian Grajkowski.Sh AUTHORS
18678ee8d1cSJulian GrajkowskiThe
18778ee8d1cSJulian Grajkowski.Nm
18878ee8d1cSJulian Grajkowskidriver was written by
18978ee8d1cSJulian Grajkowski.An Intel (R) Corporation .
190