[PATCH v2 0/3] Introduce support for QAT Dynamic Power Management

From: Wojciech Ziemba
Date: Thu Feb 10 2022 - 08:58:14 EST


This patch set consist of following updates:
1. Add misc workqueue for general purpose usage.
2. Move error source related CSRs from 4xxx to the wider GEN4 header
file.
3. Add support for HW QAT Power Management (PM) feature.
This feature is enabled at init time (1) by sending an admin
message to
the firmware, targeting the admin AE, that sets the idle time
before
the device changes state and (2) by unmasking the PM source of
interrupt in ERRMSK2.

The interrupt handler is extended to handle a PM interrupt which
is triggered by HW when a PM transition occurs. In this case,
the
driver responds acknowledging the transaction using the HOST_MSG
mailbox.

Changes since v1:
- Moved unmasking PM interrupts after PM interrupt source enable to
avoid a spurious interrupt
- Fixed kbuild bot issue by moving adf_handle_pm_int() out of
CONFIG_PCI_IOV scope
- Rename [..]_init_pm() functions to [..]_enable_pm() as the function
needs to be called inside adf_start()


Wojciech Ziemba (3):
crypto: qat - add misc workqueue
crypto: qat - move and rename GEN4 error register definitions
crypto: qat - enable power management for QAT GEN4

.../crypto/qat/qat_4xxx/adf_4xxx_hw_data.c | 21 +--
.../crypto/qat/qat_4xxx/adf_4xxx_hw_data.h | 24 ---
drivers/crypto/qat/qat_common/Makefile | 1 +
.../crypto/qat/qat_common/adf_accel_devices.h | 2 +
drivers/crypto/qat/qat_common/adf_admin.c | 37 +++++
.../crypto/qat/qat_common/adf_common_drv.h | 4 +
drivers/crypto/qat/qat_common/adf_ctl_drv.c | 6 +
.../crypto/qat/qat_common/adf_gen4_hw_data.h | 14 ++
drivers/crypto/qat/qat_common/adf_gen4_pm.c | 137 ++++++++++++++++++
drivers/crypto/qat/qat_common/adf_gen4_pm.h | 44 ++++++
drivers/crypto/qat/qat_common/adf_init.c | 6 +
drivers/crypto/qat/qat_common/adf_isr.c | 42 ++++++
.../qat/qat_common/icp_qat_fw_init_admin.h | 1 +
13 files changed, 306 insertions(+), 33 deletions(-)
create mode 100644 drivers/crypto/qat/qat_common/adf_gen4_pm.c
create mode 100644 drivers/crypto/qat/qat_common/adf_gen4_pm.h

--
2.29.2