mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00

QAT GEN4 devices support chained compression operations. These allow, with a single request to firmware, to hash then compress data. Extend the configuration to enable such mode. The cfg_services operations in sysfs are extended to allow the string "dcc". When selected, the driver downloads to the device both the symmetric crypto and the compression firmware images and sends an admin message to firmware which enables `chained` operations. In addition, it sets the device's capabilities as the combination of compression and symmetric crypto capabilities, while excluding the ICP_ACCEL_CAPABILITIES_CRYPTO_SYMMETRIC bit to indicate that in this mode, symmetric crypto instances are not supported. When "dcc" is enabled, the device will handle compression requests as if the "dc" configuration is loaded ("dcc" is a variation of "dc") and the driver will register the acomp algorithms. As for the other extended configurations, "dcc" is only available for qat_4xxx devices and the chaining service will be only accessible from user space. Signed-off-by: Adam Guerin <adam.guerin@intel.com> Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
97 lines
3.2 KiB
Text
97 lines
3.2 KiB
Text
What: /sys/bus/pci/devices/<BDF>/qat/state
|
|
Date: June 2022
|
|
KernelVersion: 6.0
|
|
Contact: qat-linux@intel.com
|
|
Description: (RW) Reports the current state of the QAT device. Write to
|
|
the file to start or stop the device.
|
|
|
|
The values are:
|
|
|
|
* up: the device is up and running
|
|
* down: the device is down
|
|
|
|
|
|
It is possible to transition the device from up to down only
|
|
if the device is up and vice versa.
|
|
|
|
This attribute is only available for qat_4xxx devices.
|
|
|
|
What: /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
|
Date: June 2022
|
|
KernelVersion: 6.0
|
|
Contact: qat-linux@intel.com
|
|
Description: (RW) Reports the current configuration of the QAT device.
|
|
Write to the file to change the configured services.
|
|
|
|
The values are:
|
|
|
|
* sym;asym: the device is configured for running crypto
|
|
services
|
|
* asym;sym: identical to sym;asym
|
|
* dc: the device is configured for running compression services
|
|
* dcc: identical to dc but enables the dc chaining feature,
|
|
hash then compression. If this is not required chose dc
|
|
* sym: the device is configured for running symmetric crypto
|
|
services
|
|
* asym: the device is configured for running asymmetric crypto
|
|
services
|
|
* asym;dc: the device is configured for running asymmetric
|
|
crypto services and compression services
|
|
* dc;asym: identical to asym;dc
|
|
* sym;dc: the device is configured for running symmetric crypto
|
|
services and compression services
|
|
* dc;sym: identical to sym;dc
|
|
|
|
It is possible to set the configuration only if the device
|
|
is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)
|
|
|
|
The following example shows how to change the configuration of
|
|
a device configured for running crypto services in order to
|
|
run data compression::
|
|
|
|
# cat /sys/bus/pci/devices/<BDF>/qat/state
|
|
up
|
|
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
|
sym;asym
|
|
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
|
|
# echo dc > /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
|
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
|
|
# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
|
|
dc
|
|
|
|
This attribute is only available for qat_4xxx devices.
|
|
|
|
What: /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
|
|
Date: June 2023
|
|
KernelVersion: 6.5
|
|
Contact: qat-linux@intel.com
|
|
Description: (RW) This configuration option provides a way to force the device into remaining in
|
|
the MAX power state.
|
|
If idle support is enabled the device will transition to the `MIN` power state when
|
|
idle, otherwise will stay in the MAX power state.
|
|
Write to the file to enable or disable idle support.
|
|
|
|
The values are:
|
|
|
|
* 0: idle support is disabled
|
|
* 1: idle support is enabled
|
|
|
|
Default value is 1.
|
|
|
|
It is possible to set the pm_idle_enabled value only if the device
|
|
is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)
|
|
|
|
The following example shows how to change the pm_idle_enabled of
|
|
a device::
|
|
|
|
# cat /sys/bus/pci/devices/<BDF>/qat/state
|
|
up
|
|
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
|
|
1
|
|
# echo down > /sys/bus/pci/devices/<BDF>/qat/state
|
|
# echo 0 > /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
|
|
# echo up > /sys/bus/pci/devices/<BDF>/qat/state
|
|
# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
|
|
0
|
|
|
|
This attribute is only available for qat_4xxx devices.
|