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