]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: qat - add decompression service for rate limiting
authorSuman Kumar Chakraborty <suman.kumar.chakraborty@intel.com>
Thu, 10 Jul 2025 13:33:41 +0000 (14:33 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 18 Jul 2025 10:52:00 +0000 (20:52 +1000)
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>
drivers/crypto/intel/qat/qat_common/adf_rl.c
drivers/crypto/intel/qat/qat_common/adf_rl.h
drivers/crypto/intel/qat/qat_common/adf_sysfs_rl.c

index d320bfcb9919c6323e53e3257451efedc276ae4c..03c394d8c066b4f9655d69bfa0947737644c5f97 100644 (file)
@@ -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;
        }
index 9b4678cee1fd3d5df732cfcb6e46bb344f533a32..62cc47d1218af7d3ed4e5281ae279be9a14a9314 100644 (file)
@@ -28,6 +28,7 @@ enum adf_base_services {
        ADF_SVC_ASYM = 0,
        ADF_SVC_SYM,
        ADF_SVC_DC,
+       ADF_SVC_DECOMP,
        ADF_SVC_NONE,
 };
 
index a8c3be24b3b435f96ea7a8507647861cb3e60fe6..43df32df0dc58f8c4952d8e8ed2c2492a49ee5bc 100644 (file)
@@ -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[] = {