linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Suman Kumar Chakraborty <suman.kumar.chakraborty@intel.com>
To: herbert@gondor.apana.org.au
Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com
Subject: [PATCH 0/8] crypto: qat - add rate limiting (RL) support for GEN6 devices
Date: Thu, 10 Jul 2025 14:33:39 +0100	[thread overview]
Message-ID: <20250710133347.566310-1-suman.kumar.chakraborty@intel.com> (raw)

This patch set introduces and extends the rate limiting (RL) infrastructure
in the Intel QAT (QuickAssist Technology) driver, with a focus on enabling
RL support for QAT GEN6 devices and enhancing support for decompression
service.

The series begins by enforcing service validation in the RL sysfs API to
prevent misconfiguration. It then adds decompression (DECOMP) service,
including its enumeration and visibility via sysfs. Subsequently, service
enums are refactored and consolidated to remove duplication and clearly
differentiate between base and extended services.

Further patches improve modularity by relocating is_service_enabled() into
the appropriate C file, introduce a flexible mechanism using
adf_rl_get_num_svc_aes() and get_svc_slice_cnt() APIs, and implement these
for both GEN4 and GEN6 platforms. Additionally, the compression slice count
(cpr_cnt) is now cached for use within the RL infrastructure.

Finally, the series enables full RL support for GEN6 by initializing the
rl_data and implementing platform-specific logic to query acceleration
engines and slice counts for QAT GEN6 hardware.

Summary of Changes:

Patch #1 Validates service in RL sysfs API.
Patch #2 Adds decompression (DECOMP) service to RL to enable SLA support for
	 DECOMP where supported (e.g., GEN6).
Patch #3 Consolidated the service enums.
Patch #4 Relocates the is_service_enabled() function to improve modularity and
	 aligns code structure.
Patch #5 Adds adf_rl_get_num_svc_aes() to enable querying number of engines per
	 service.
Patch #6 Adds get_svc_slice_cnt() to device data to generalizes AE count lookup.
Patch #7 Adds compression slice count tracking.
Patch #8 Enables RL for GEN6.

Suman Kumar Chakraborty (8):
  crypto: qat - validate service in rate limiting sysfs api
  crypto: qat - add decompression service for rate limiting
  crypto: qat - consolidate service enums
  crypto: qat - relocate service related functions
  crypto: qat - add adf_rl_get_num_svc_aes() in rate limiting
  crypto: qat - add get_svc_slice_cnt() in device data structure
  crypto: qat - add compression slice count for rate limiting
  crypto: qat - enable rate limiting feature for GEN6 devices

 Documentation/ABI/testing/sysfs-driver-qat_rl | 14 +--
 .../intel/qat/qat_420xx/adf_420xx_hw_data.c   |  9 +-
 .../intel/qat/qat_4xxx/adf_4xxx_hw_data.c     |  9 +-
 .../intel/qat/qat_6xxx/adf_6xxx_hw_data.c     | 77 ++++++++++++++++-
 .../intel/qat/qat_6xxx/adf_6xxx_hw_data.h     | 20 +++++
 .../intel/qat/qat_common/adf_accel_devices.h  |  2 +
 .../intel/qat/qat_common/adf_cfg_services.c   | 40 ++++++++-
 .../intel/qat/qat_common/adf_cfg_services.h   | 12 ++-
 .../intel/qat/qat_common/adf_gen4_hw_data.c   | 42 ++++++++-
 .../intel/qat/qat_common/adf_gen4_hw_data.h   |  3 +
 drivers/crypto/intel/qat/qat_common/adf_rl.c  | 86 ++++++-------------
 drivers/crypto/intel/qat/qat_common/adf_rl.h  | 11 +--
 .../intel/qat/qat_common/adf_rl_admin.c       |  1 +
 .../intel/qat/qat_common/adf_sysfs_rl.c       | 21 +++--
 14 files changed, 251 insertions(+), 96 deletions(-)


base-commit: db689623436f9f8b87c434285a4bdbf54b0f86d2
-- 
2.40.1


             reply	other threads:[~2025-07-10 13:33 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-10 13:33 Suman Kumar Chakraborty [this message]
2025-07-10 13:33 ` [PATCH 1/8] crypto: qat - validate service in rate limiting sysfs api Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 2/8] crypto: qat - add decompression service for rate limiting Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 3/8] crypto: qat - consolidate service enums Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 4/8] crypto: qat - relocate service related functions Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 5/8] crypto: qat - add adf_rl_get_num_svc_aes() in rate limiting Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 6/8] crypto: qat - add get_svc_slice_cnt() in device data structure Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 7/8] crypto: qat - add compression slice count for rate limiting Suman Kumar Chakraborty
2025-07-10 13:33 ` [PATCH 8/8] crypto: qat - enable rate limiting feature for GEN6 devices Suman Kumar Chakraborty
2025-07-18 11:12 ` [PATCH 0/8] crypto: qat - add rate limiting (RL) support " Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250710133347.566310-1-suman.kumar.chakraborty@intel.com \
    --to=suman.kumar.chakraborty@intel.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=qat-linux@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).