diff options
author | wli5 <[email protected]> | 2017-10-21 02:11:25 +0800 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2017-11-20 16:19:23 -0600 |
commit | 318fdeb51f244c76ed03b40ef42ebdf7c510862a (patch) | |
tree | 7a32edfae66d4cedcf34da94df74e9187d5098c7 | |
parent | d3d20bf4428630e087041eb12e75c1f1f39deda8 (diff) |
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 <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Weigang Li <[email protected]>
Closes #6767
-rw-r--r-- | config/kernel.m4 | 4 | ||||
-rw-r--r-- | 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; |