aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuman Kumar Chakraborty <suman.kumar.chakraborty@intel.com>2025-07-10 14:33:41 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2025-07-18 20:52:00 +1000
commitfa37d386c956a4f0112f3ade20b1d6948b6b5238 (patch)
treeffbc3aa862f83d199d0d772b467008439b2f6e94
parentcrypto: qat - validate service in rate limiting sysfs api (diff)
downloadlinux-fa37d386c956a4f0112f3ade20b1d6948b6b5238.tar.gz
linux-fa37d386c956a4f0112f3ade20b1d6948b6b5238.zip
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 <suman.kumar.chakraborty@intel.com> Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/intel/qat/qat_common/adf_rl.c2
-rw-r--r--drivers/crypto/intel/qat/qat_common/adf_rl.h1
-rw-r--r--drivers/crypto/intel/qat/qat_common/adf_sysfs_rl.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/drivers/crypto/intel/qat/qat_common/adf_rl.c b/drivers/crypto/intel/qat/qat_common/adf_rl.c
index d320bfcb9919..03c394d8c066 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 9b4678cee1fd..62cc47d1218a 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 a8c3be24b3b4..43df32df0dc5 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[] = {