summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/kernel.m44
-rw-r--r--module/zfs/qat_compress.c8
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;