From 1cfdb0e6e401087778712fa893777b064a8afb6b Mon Sep 17 00:00:00 2001 From: wli5 Date: Sat, 21 Oct 2017 02:11:25 +0800 Subject: [PATCH] Support integration with new QAT products Support integration with new QAT products: Intel(R) C62x Chipset, or Atom(R) C3000 Processor Product Family SoC: 1. Detect new file name in auto-conf. 2. Change MAX_INSTANCES to 48. 3. Change "num_inst" to U16 to clean a build warning. Reviewed-by: George Melikov Reviewed-by: Brian Behlendorf Signed-off-by: Weigang Li Closes #6767 --- config/kernel.m4 | 4 ++-- module/zfs/qat_compress.c | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/config/kernel.m4 b/config/kernel.m4 index c3ed5cf33..b759ccd39 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -532,10 +532,10 @@ AC_DEFUN([ZFS_AC_QAT], [ AC_MSG_RESULT([$qatbuild]) QAT_OBJ=${qatbuild} - AS_IF([ ! test -e "$QAT_OBJ/icp_qa_al.ko"], [ + AS_IF([ ! test -e "$QAT_OBJ/icp_qa_al.ko" && ! test -e "$QAT_OBJ/qat_api.ko"], [ AC_MSG_ERROR([ *** Please make sure the qat driver is installed then try again. - *** Failed to find icp_qa_al.ko in: + *** Failed to find icp_qa_al.ko or qat_api.ko in: $QAT_OBJ]) ]) diff --git a/module/zfs/qat_compress.c b/module/zfs/qat_compress.c index 99d1c9a12..ea56f144c 100644 --- a/module/zfs/qat_compress.c +++ b/module/zfs/qat_compress.c @@ -34,9 +34,11 @@ /* * Max instances in QAT device, each instance is a channel to submit - * jobs to QAT hardware + * jobs to QAT hardware, this is only for pre-allocating instance, + * and session arrays, the actual number of instances are defined in + * the QAT driver's configure file. */ -#define MAX_INSTANCES 6 +#define MAX_INSTANCES 48 /* * ZLIB head and foot size @@ -104,7 +106,7 @@ static kstat_t *qat_ksp; static CpaInstanceHandle dc_inst_handles[MAX_INSTANCES]; static CpaDcSessionHandle session_handles[MAX_INSTANCES]; static CpaBufferList **buffer_array[MAX_INSTANCES]; -static Cpa32U num_inst = 0; +static Cpa16U num_inst = 0; static Cpa32U inst_num = 0; static boolean_t qat_init_done = B_FALSE; int zfs_qat_disable = 0;