From: Suman Kumar Chakraborty Date: Thu, 10 Jul 2025 13:33:41 +0000 (+0100) Subject: crypto: qat - add decompression service for rate limiting X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa37d386c956a4f0112f3ade20b1d6948b6b5238;p=thirdparty%2Fkernel%2Flinux.git crypto: qat - add decompression service for rate limiting Add a new base service type ADF_SVC_DECOMP to the QAT rate limiting (RL) infrastructure. This enables RL support for the decompression (DECOMP) service type, allowing service-level agreements (SLAs) to be enforced when decompression is configured. The new service is exposed in the sysfs RL service list for visibility. Note that this support is applicable only to devices that provide the decompression service, such as QAT GEN6 devices. Signed-off-by: Suman Kumar Chakraborty Reviewed-by: Giovanni Cabiddu Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/intel/qat/qat_common/adf_rl.c b/drivers/crypto/intel/qat/qat_common/adf_rl.c index d320bfcb9919c..03c394d8c066b 100644 --- a/drivers/crypto/intel/qat/qat_common/adf_rl.c +++ b/drivers/crypto/intel/qat/qat_common/adf_rl.c @@ -177,6 +177,8 @@ static enum adf_cfg_service_type srv_to_cfg_svc_type(enum adf_base_services rl_s return SYM; case ADF_SVC_DC: return COMP; + case ADF_SVC_DECOMP: + return DECOMP; default: return UNUSED; } diff --git a/drivers/crypto/intel/qat/qat_common/adf_rl.h b/drivers/crypto/intel/qat/qat_common/adf_rl.h index 9b4678cee1fd3..62cc47d1218af 100644 --- a/drivers/crypto/intel/qat/qat_common/adf_rl.h +++ b/drivers/crypto/intel/qat/qat_common/adf_rl.h @@ -28,6 +28,7 @@ enum adf_base_services { ADF_SVC_ASYM = 0, ADF_SVC_SYM, ADF_SVC_DC, + ADF_SVC_DECOMP, ADF_SVC_NONE, }; diff --git a/drivers/crypto/intel/qat/qat_common/adf_sysfs_rl.c b/drivers/crypto/intel/qat/qat_common/adf_sysfs_rl.c index a8c3be24b3b43..43df32df0dc58 100644 --- a/drivers/crypto/intel/qat/qat_common/adf_sysfs_rl.c +++ b/drivers/crypto/intel/qat/qat_common/adf_sysfs_rl.c @@ -35,6 +35,7 @@ static const char *const rl_services[] = { [ADF_SVC_ASYM] = "asym", [ADF_SVC_SYM] = "sym", [ADF_SVC_DC] = "dc", + [ADF_SVC_DECOMP] = "decomp", }; static const char *const rl_operations[] = {