178ee8d1cSJulian Grajkowski.\" SPDX-License-Identifier: BSD-3-Clause 278ee8d1cSJulian Grajkowski.\" Copyright(c) 2007-2022 Intel Corporation 3266b0663SKrzysztof Zdziarski.Dd May 4, 2023 478ee8d1cSJulian Grajkowski.Dt QAT 4 578ee8d1cSJulian Grajkowski.Os 678ee8d1cSJulian Grajkowski.Sh NAME 778ee8d1cSJulian Grajkowski.Nm qat 878ee8d1cSJulian Grajkowski.Nd Intel (R) QuickAssist Technology (QAT) 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 4278ee8d1cSJulian GrajkowskiThe 4378ee8d1cSJulian Grajkowski.Nm 4478ee8d1cSJulian Grajkowskidriver is intended for platforms that contain: 4578ee8d1cSJulian Grajkowski.Bl -bullet -compact 4678ee8d1cSJulian Grajkowski.It 4778ee8d1cSJulian GrajkowskiIntel (R) C62x Chipset 4878ee8d1cSJulian Grajkowski.It 4978ee8d1cSJulian GrajkowskiIntel (R) Atom C3000 processor product family 5078ee8d1cSJulian Grajkowski.It 5178ee8d1cSJulian GrajkowskiIntel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970 5278ee8d1cSJulian Grajkowski(formerly known as "Lewis Hill") 5378ee8d1cSJulian Grajkowski.It 5478ee8d1cSJulian GrajkowskiIntel (R) Communications Chipset 8925 to 8955 Series 5578ee8d1cSJulian Grajkowski.It 5678ee8d1cSJulian GrajkowskiIntel (R) Atom P5300 processor product family 57a977168cSMichal Gulbicki.It 58a977168cSMichal GulbickiIntel (R) QAT 4xxx Series 5978ee8d1cSJulian Grajkowski.El 6078ee8d1cSJulian Grajkowski.Pp 6178ee8d1cSJulian GrajkowskiThe 6278ee8d1cSJulian Grajkowski.Nm 6378ee8d1cSJulian Grajkowskidriver supports cryptography and compression acceleration. 6478ee8d1cSJulian GrajkowskiA complete API for offloading these operations is exposed in the kernel and may 6578ee8d1cSJulian Grajkowskibe used by any other entity directly. 6678ee8d1cSJulian GrajkowskiFor details of usage and supported operations and algorithms refer to the 6722cf89c9SPiotr Kasierskifollowing documentation available from Intel Download Center 6822cf89c9SPiotr Kasierski.Lk https://downloadcenter.intel.com : 6978ee8d1cSJulian Grajkowski.Bl -bullet -compact 7078ee8d1cSJulian Grajkowski.It 7178ee8d1cSJulian Grajkowski.Rs 7278ee8d1cSJulian Grajkowski.%A Intel (R) 7378ee8d1cSJulian Grajkowski.%T QuickAssist Technology API Programmer's Guide 7478ee8d1cSJulian Grajkowski.Re 7578ee8d1cSJulian Grajkowski.It 7678ee8d1cSJulian Grajkowski.Rs 7778ee8d1cSJulian Grajkowski.%A Intel (R) 7878ee8d1cSJulian Grajkowski.%T QuickAssist Technology Cryptographic API Reference Manual 7978ee8d1cSJulian Grajkowski.Re 8078ee8d1cSJulian Grajkowski.It 8178ee8d1cSJulian Grajkowski.Rs 8278ee8d1cSJulian Grajkowski.%A Intel (R) 8378ee8d1cSJulian Grajkowski.%T QuickAssist Technology Data Compression API Reference Manual 8478ee8d1cSJulian Grajkowski.Re 8578ee8d1cSJulian Grajkowski.It 8678ee8d1cSJulian Grajkowski.Rs 8778ee8d1cSJulian Grajkowski.%A Intel (R) 8878ee8d1cSJulian Grajkowski.%T QuickAssist Technology Performance Optimization Guide 8978ee8d1cSJulian Grajkowski.Re 9078ee8d1cSJulian Grajkowski.El 9178ee8d1cSJulian Grajkowski.Pp 9278ee8d1cSJulian GrajkowskiIn addition to exposing complete kernel API for offloading cryptography and 9378ee8d1cSJulian Grajkowskicompression operations, the 9478ee8d1cSJulian Grajkowski.Nm 9578ee8d1cSJulian Grajkowskidriver also integrates with 9678ee8d1cSJulian Grajkowski.Xr crypto 4 , 9778ee8d1cSJulian Grajkowskiallowing offloading supported cryptography operations to Intel (R) QuickAssist 9878ee8d1cSJulian GrajkowskiTechnology (QAT) devices. 9978ee8d1cSJulian GrajkowskiFor details of usage and supported operations and algorithms refer to the 10078ee8d1cSJulian Grajkowskidocumentation mentioned above and 10178ee8d1cSJulian Grajkowski.Sx SEE ALSO 10278ee8d1cSJulian Grajkowskisection. 103266b0663SKrzysztof Zdziarski.Sh SYSCTL_VARIABLES 104266b0663SKrzysztof ZdziarskiFollowing variables may be used to reconfigure the QAT device.\& 105266b0663SKrzysztof ZdziarskiFor configuration persistence those variables may be set before loading the driver, either via 106266b0663SKrzysztof Zdziarski.Xr kenv 1 107266b0663SKrzysztof Zdziarskior 108*a51584a2SGraham Percival.Xr loader.conf 5 . 109266b0663SKrzysztof ZdziarskiThe device specific configuration options are prefixed with 110266b0663SKrzysztof Zdziarski.Va dev.qat.X\&. 111266b0663SKrzysztof Zdziarskiwhere X is the device number. 112266b0663SKrzysztof ZdziarskiThe specific device needs to be in "down" state before changing the configuration. 113266b0663SKrzysztof Zdziarski.Bl -tag -width indent 114266b0663SKrzysztof Zdziarski.It Va state 115266b0663SKrzysztof ZdziarskiShow current state of the device. Override the device state. Possible values: "down", "up". 116266b0663SKrzysztof Zdziarski 117266b0663SKrzysztof ZdziarskiNOTE: If the symmetric services are used for device the qat_ocf driver needs to be disabled prior the device 118266b0663SKrzysztof Zdziarskireconfiguration. 119266b0663SKrzysztof ZdziarskiFollowing variable may be used to enable/disable the QAT cryptographic framework connectivity 120266b0663SKrzysztof Zdziarski.Va dev.qat_ocf.0.enable\&. 121266b0663SKrzysztof ZdziarskiEnabled by default. 122266b0663SKrzysztof Zdziarski.It Va cfg_services 123266b0663SKrzysztof ZdziarskiOverride the device services enabled: symmetric, asymmetric, data compression. 124266b0663SKrzysztof ZdziarskiPossible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym". 125266b0663SKrzysztof ZdziarskiDefault services configured are "sym;asym" for even and "dc" for odd devices. 126266b0663SKrzysztof Zdziarski.It Va cfg_mode 127266b0663SKrzysztof ZdziarskiOverride the device mode configuration for kernel space and user space instances. 128266b0663SKrzysztof ZdziarskiPossible values: "ks", "us", "ks;us". 129266b0663SKrzysztof ZdziarskiDefault value "ks;us". 130266b0663SKrzysztof Zdziarski.It Va num_user_processes 131266b0663SKrzysztof ZdziarskiOverride the number of uio user space processes that can connect to the QAT device. 132266b0663SKrzysztof ZdziarskiDefault: 2 133266b0663SKrzysztof Zdziarski.El 134266b0663SKrzysztof Zdziarski.Pp 135266b0663SKrzysztof ZdziarskiThe following 136266b0663SKrzysztof Zdziarski.Xr sysctl 8 137266b0663SKrzysztof Zdziarskivariables are read-only: 138266b0663SKrzysztof Zdziarski.Bl -tag -width indent 139266b0663SKrzysztof Zdziarski.It Va frequency 140266b0663SKrzysztof ZdziarskiQAT device frequency value. 141266b0663SKrzysztof Zdziarski.It Va mmp_version 142266b0663SKrzysztof ZdziarskiQAT MMP Library revision number. 143266b0663SKrzysztof Zdziarski.It Va hw_version 144266b0663SKrzysztof ZdziarskiQAT hardware revision number. 145266b0663SKrzysztof Zdziarski.It Va fw_version 146266b0663SKrzysztof ZdziarskiQAT firmware revision number. 147266b0663SKrzysztof Zdziarski.It Va dev_cfg 148266b0663SKrzysztof ZdziarskiSummary of device specific configuration. 149266b0663SKrzysztof Zdziarski.It Va heartbeat 150266b0663SKrzysztof ZdziarskiQAT device heartbeat status. Value '1' indicates that the device is operational. 1512878d99dSGraham PercivalValue '0' means that the device is not responsive. Device requires restart. 152266b0663SKrzysztof Zdziarski.It Va heartbeat_failed 153266b0663SKrzysztof ZdziarskiNumber of QAT heartbeat failures received. 154266b0663SKrzysztof Zdziarski.It Va heartbeat_sent 155266b0663SKrzysztof ZdziarskiNumber of QAT heartbeat requests sent. 156266b0663SKrzysztof Zdziarski.El 157266b0663SKrzysztof Zdziarski 15878ee8d1cSJulian Grajkowski.Sh COMPATIBILITY 15978ee8d1cSJulian GrajkowskiThe 16078ee8d1cSJulian Grajkowski.Nm 16178ee8d1cSJulian Grajkowskidriver replaced previous implementation introduced in 16278ee8d1cSJulian Grajkowski.Fx 13.0 . 16378ee8d1cSJulian GrajkowskiCurrent version, in addition to 16478ee8d1cSJulian Grajkowski.Xr crypto 4 16578ee8d1cSJulian Grajkowskiintegration, supports also data compression and exposes a complete API for 16678ee8d1cSJulian Grajkowskioffloading data compression and cryptography operations. 16778ee8d1cSJulian Grajkowski.Sh SEE ALSO 16878ee8d1cSJulian Grajkowski.Xr crypto 4 , 16978ee8d1cSJulian Grajkowski.Xr ipsec 4 , 17078ee8d1cSJulian Grajkowski.Xr pci 4 , 17178ee8d1cSJulian Grajkowski.Xr crypto 7 , 17278ee8d1cSJulian Grajkowski.Xr crypto 9 17378ee8d1cSJulian Grajkowski.Sh HISTORY 17478ee8d1cSJulian GrajkowskiThis 17578ee8d1cSJulian Grajkowski.Nm 17678ee8d1cSJulian Grajkowskidriver was introduced in 17778ee8d1cSJulian Grajkowski.Fx 14.0 . 17878ee8d1cSJulian Grajkowski.Fx 13.0 included a different version of 17978ee8d1cSJulian Grajkowski.Nm 18078ee8d1cSJulian Grajkowskidriver. 18178ee8d1cSJulian Grajkowski.Sh AUTHORS 18278ee8d1cSJulian GrajkowskiThe 18378ee8d1cSJulian Grajkowski.Nm 18478ee8d1cSJulian Grajkowskidriver was written by 18578ee8d1cSJulian Grajkowski.An Intel (R) Corporation . 186