qat_4xxx devices can be configured to allow either crypto or compression operations. By default, devices are configured statically according to following rule: - odd numbered devices assigned to compression services - even numbered devices assigned to crypto services This set exposes two attributes in sysfs that allow to report and change the state and the configuration of a QAT 4xxx device. The first, /sys/bus/pci/devices/<BDF>/qat/state, allows to bring a device down in order to change the configuration, and bring it up again. The second, /sys/bus/pci/devices/<BDF>/qat/cfg_services, allows to inspect the current configuration of a device (i.e. crypto or compression) and change it. # 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/state dc Changes from v1: - Updated target kernel version in documentation (from 5.19 to 5.20). - Fixed commit message in patch #1 and updated documentation in patch #4 after review from Vladis Dronov. Giovanni Cabiddu (4): crypto: qat - expose device state through sysfs for 4xxx crypto: qat - change behaviour of adf_cfg_add_key_value_param() crypto: qat - relocate and rename adf_sriov_prepare_restart() crypto: qat - expose device config through sysfs for 4xxx Documentation/ABI/testing/sysfs-driver-qat | 61 ++++++ .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.c | 1 + .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.h | 1 + drivers/crypto/qat/qat_4xxx/adf_drv.c | 6 +- drivers/crypto/qat/qat_common/Makefile | 1 + .../crypto/qat/qat_common/adf_accel_devices.h | 1 + drivers/crypto/qat/qat_common/adf_cfg.c | 41 +++- .../crypto/qat/qat_common/adf_common_drv.h | 3 + drivers/crypto/qat/qat_common/adf_init.c | 26 +++ drivers/crypto/qat/qat_common/adf_sriov.c | 28 +-- drivers/crypto/qat/qat_common/adf_sysfs.c | 191 ++++++++++++++++++ 11 files changed, 331 insertions(+), 29 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-driver-qat create mode 100644 drivers/crypto/qat/qat_common/adf_sysfs.c -- 2.36.1