+228
−0
+41
−0
+226
−0
Loading
Merge Pull Request from: @allen-shi Intel® QuickAssist Technology (Intel® QAT) provides hardware acceleration for offloading security, authentication and compression services from the CPU, thus significantly increasing the performance and efficiency of standard platform solutions. This PR is to support Intel QAT in-tree driver. **Backported commits from upstream kernel v6.7 to v6.9(totally 71 commits):** ed3d95fe788dec7c23bb20b41f8af47cbce04715 crypto: qat - make ring to service map common for QAT GEN4 a20a6060e0dd57fecaf55487985aef28bd08c6bf crypto: qat - fix ring to service map for dcc in 420xx df018f82002a8b4dc407bc9a6f416b9241d14415 crypto: qat - fix ring to service map for dcc in 4xxx bca79b9f5639b2fd4692904bce696291336e0246 crypto: qat - fix comment structure ff391345141e727320ca906e6928c6a1f14e7e37 crypto: qat - remove unnecessary description from comment a66cf93ab33853f17b8cc33a99263dd0a383a1a1 crypto: qat - remove double initialization of value f99fb7d660f7c818105803f1f1915396a14d18ad crypto: qat - avoid division by zero 9a5dcada14d5e027856a1bc38443e54111438da6 crypto: qat - removed unused macro in adf_cnv_dbgfs.c dfff0e35fa5dd84ae75052ba129b0219d83e46dc crypto: qat - remove unused macros in qat_comp_alg.c bcc06e1b3dadc76140203753a08979374c965ada crypto: qat - uninitialized variable in adf_hb_error_inject_write() 2ecd43413d7668d67b9b8a56f882aa1ea12b8a62 Documentation: qat: fix auto_reset section 7d42e097607c4d246d99225bf2b195b6167a210c crypto: qat - resolve race condition during AER recovery c2304e1a0b8051a60d4eb9c99a1c509d90380ae5 crypto: qat - change SLAs cleanup flow at shutdown 9567d3dc760931afc38f7f1144c66dd8c4b8c680 crypto: qat - improve aer error reset handling 750fa7c20e60926431ec50d63899771ffcd9fd5c crypto: qat - limit heartbeat notifications f5419a4239af8b3951f990c83d0d8c865a485475 crypto: qat - add auto reset on error 2aaa1995a94a3187e52ddb9f127fa1307ee8ad00 crypto: qat - add fatal error notification 4469f9b2346834085fe4478ee1a851ee1de8ccb2 crypto: qat - re-enable sriov after pf reset ec26f8e6c784ae391e69b19f4738d7196ed7794d crypto: qat - update PFVF protocol for recovery 758a0087db98fa23a3597289dbf3643ba9db2700 crypto: qat - disable arbitration before reset ae508d7afb753f7576c435226e32b9535b7f8b10 crypto: qat - add fatal error notify method e2b67859ab6efd4458bda1baaee20331a367d995 crypto: qat - add heartbeat error simulator 4da3bc65d218605557696109e42cfeee666d601f crypto: qat - use kcalloc_node() instead of kzalloc_node() 23a22e831ed4e6aa0831312e8cc8b7c60a657f60 crypto: qat - avoid memcpy() overflow warning e1d54d153fc3e697b841999df7cbad51492def8e crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx 5da6a2d5353e0e234f12ccacaf6f50656cc33278 crypto: qat - generate dynamically arbiter mappings eb52707716e3f2cdf16f4e95e3a800cca190504f crypto: qat - add support for ring pair level telemetry 69e7649f7cc2aaa7889174456d39319a623c1a18 crypto: qat - add support for device telemetry 7f06679dd54a331d750e5d6f6f04a9df2eba72ff crypto: qat - add admin msgs for telemetry b6e4b6eb1e6393580482581470a3a08c15ab977b crypto: qat - include pci.h for GET_DEV() fcf60f4bcf54952cc14d14178c358be222dbeb43 crypto: qat - add support for 420xx devices 98a4f29fba0ffc1f1b026d9cb717fbe7edd66ffe crypto: qat - move fw config related structures de51d22364921dcdb28ef34cd6276c38e126b899 crypto: qat - relocate portions of qat_4xxx code b34bd0fd563df763ccca998b3d5fc824c536c28a crypto: qat - change signature of uof_get_num_objs() 4db87a5f9e3026d72e03bbdf1dac1dc5303e37f7 crypto: qat - relocate and rename get_service_enabled() a643212c9f28d09225c3792c316bc4aaf6be4a68 crypto: qat - add NULL pointer check 487caa8d5ef9a9a27b092c5790d529a7a0c24f8b crypto: qat - fix mutex ordering in adf_rl 6627f03c21cb7001ae4dbbfb7a8514516d02331c crypto: qat - fix error path in add_update_sla() d71fdd0f3c278c7f132c3a522645ebf9157edd6d crypto: qat - add sysfs_added flag for rate limiting 65089000ba8c2ae713ccac6603319143f3e1c08b crypto: qat - add sysfs_added flag for ras e53c741303a59ee1682e11f61b7772863e02526d crypto: qat - prevent underflow in rp2srv_store() 8e92157d7f6190c86bfd6144a409001469827100 units: add missing header 9cba82bba500e3ce875381350f289cfb3aa633ba seq_file: add helper macro to define attribute for rw file 03c76e8e7a8d0d465838b8eaffcc07bdcc364f4d crypto: qat - move adf_cfg_services 71fed09b49c168435fc28d57870007495475d946 crypto: qat - add num_rps sysfs attribute dbc8876dd873a6ac5e3191b419d2de5ca613165f crypto: qat - add rp2svc sysfs attribute db74e16258198094701f18ab4da3410c44ffdb2e crypto: qat - add rate limiting sysfs interface d9fb8408376e70a903d06ac86e42e0d0f44a5785 crypto: qat - add rate limiting feature to qat_4xxx c7fd53796dbd09c3ef55032925bc7f8f238f9405 crypto: qat - add retrieval of fw capabilities 02e7f67c47269135f41650ac1b693034e3e8f507 crypto: qat - add bits.h to icp_qat_hw.h e8eed5f7366f1f5decb694168bd06fb59ef6b12c units: Add BYTES_PER_*BIT 8e6857f76dafba874593107f9e5c20030c5956ed crypto: qat - move admin api 99b1c9826e481c3ebe6e7d905b7a0edf853639fd crypto: qat - count QAT GEN4 errors 532d7f6bc458042571752168bcb5e1fdc576b8c4 crypto: qat - add error counters 22289dc95833c6584aea1f4e8ab9f4f1641bb076 crypto: qat - add handling of errors from ERRSOU3 for QAT GEN4 86df79c3a40a0085555aaa475b4b16c8728ef952 crypto: qat - add adf_get_aram_base() helper function b67bf7babe36c6c15623ec22ed13ec9069a6cf37 crypto: qat - add handling of compression related errors for QAT GEN4 895f7d532c843f49e0b6dc8341bb911b26da4731 crypto: qat - add handling of errors from ERRSOU2 for QAT GEN4 4926e89d19b0631d8f5f5f292c4caf0f0de08f4f crypto: qat - add reporting of errors from ERRSOU1 for QAT GEN4 df8c184b77a9c6d52e6c7627bbcb902cdc4d2171 crypto: qat - add reporting of correctable errors for QAT GEN4 93b2f7de7db598b0fe429948c739c212f8316330 crypto: qat - add infrastructure for error reporting d807f0240c713bdd7c81a7e212f2feb0b5cd6725 crypto: qat - add cnv_errors debugfs file e079231676e05d6c88fba4585db1ac399a790b63 crypto: qat - add pm_status debugfs file 756762decc604a5ac5c041f23dd447c5e691f459 crypto: qat - refactor included headers 4999999ed7e099fcc2476c8b3a245c4c2c9026c0 crypto: qat - add namespace to driver e9dd20e0e5f62d01d9404db2cf9824d1faebcf71 crypto: qat - Remove zlib-deflate 141f12be09ac693e2384a7999f6782c7750c30a5 crypto: qat - Annotate struct adf_fw_counters with __counted_by c362a58e8da7828cf1501e1af9d43cd6c9641c5b crypto: qat - do not shadow error code 3102bbcdcd3c945ef0bcea498d3a0c6384536d6c crypto: qat - refactor deprecated strncpy 65029eec5ceba7d847f27171cdddb046bdc3a069 crypto: qat - Use list_for_each_entry() helper 7ba98583448b7a0dbfa8121c7be642651e0abd61 Documentation: ABI: debugfs-driver-qat: fix fw_counters path **Note: 3 upstream commits above added as dependent commits to fix compile dependent issue:** 8e92157d7f6190c86bfd6144a409001469827100 units: add missing header 9cba82bba500e3ce875381350f289cfb3aa633ba seq_file: add helper macro to define attribute for rw file e8eed5f7366f1f5decb694168bd06fb59ef6b12c units: Add BYTES_PER_*BIT **Already merged commits in upstream kernel v6.6 stable branch for QAT from v6.7 to v6.8(totally 12 commits):** 203b01001c4d741205b9c329acddc5193ed56fbd crypto: qat - fix deadlock in backlog processing a238487f7965d102794ed9f8aff0b667cd2ae886 crypto: qat - fix ring to service map for QAT GEN4 f7df2329eec1729a606bba8ed1566a1b3c248bad crypto: qat - use masks for AE groups 2990d2edac6061c6f0f646a46e40957244be2268 crypto: qat - refactor fw config related functions 01aed663e6c421aeafc9c330bda630976b50a764 crypto: qat - fix double free during reset 4e4e2ed22d505c5bacf65c6a39bfb6d120d24785 crypto: qat - increase size of buffers 37b14f2dfa791fd485dbc536f8d1ffe8c6990290 crypto: qat - enable dc chaining service 71713766380712c8ab2d604605e7b0b20f977801 crypto: qat - consolidate services structure 11af152f784d9eca54e193140891ac52de36e9a9 crypto: qat - fix unregistration of compression algorithms 9b2f33a1bfcda90b857431a764c9c8f9a412bbe5 crypto: qat - fix unregistration of crypto algorithms 9c20cb8b1847dedddec3d5163079290542bf00bf crypto: qat - ignore subsequent state up commands c9ca9756f376f51f985130a0e599d956065d4c44 crypto: qat - fix state machines cleanup paths **One commit to enable QAT kernel config:** a80a45cf Enable Intel QAT_4XXX as kernel module Total commits: 71+1=72 ### Test Test is PASS on SPR, GNR & SRF platforms: cpa_sample_code in qatlib PASS on both host and guest sides. ### Configs CONFIG_CRYPTO_DEV_QAT_4XXX=m Link:https://gitee.com/openeuler/kernel/pulls/5526 Reviewed-by:Jason Zeng <jason.zeng@intel.com> Reviewed-by:
Weilong Chen <chenweilong@huawei.com> Reviewed-by:
Liu Chao <liuchao173@huawei.com> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>