From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <fiona.trahe@intel.com>
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by dpdk.org (Postfix) with ESMTP id 58BA11BEC1
 for <dev@dpdk.org>; Thu,  5 Jul 2018 19:33:10 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 05 Jul 2018 10:33:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.51,313,1526367600"; d="scan'208";a="52875094"
Received: from sivswdev01.ir.intel.com (HELO localhost.localdomain)
 ([10.237.217.45])
 by fmsmga008.fm.intel.com with ESMTP; 05 Jul 2018 10:33:07 -0700
From: Fiona Trahe <fiona.trahe@intel.com>
To: dev@dpdk.org
Cc: pablo.de.lara.guarch@intel.com, fiona.trahe@intel.com,
 tomaszx.jozwiak@intel.com
Date: Thu,  5 Jul 2018 18:32:44 +0100
Message-Id: <1530811980-24334-1-git-send-email-fiona.trahe@intel.com>
X-Mailer: git-send-email 1.7.0.7
In-Reply-To: <1530806730-11822-1-git-send-email-fiona.trahe@intel.com>
References: <1530806730-11822-1-git-send-email-fiona.trahe@intel.com>
Subject: [dpdk-dev] [PATCH v3 00/16] compress/qat: add compression PMD
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jul 2018 17:33:12 -0000

Create compression PMD for Intel QuickAssist devices
Currently only the C62x and c3xxx devices are supported.

The qat comp PMD supports
 - stateless compression and
   decompression using the Deflate algorithm with Fixed Huffman
   encoding. Dynamic huffman encoding is not supported, it
   will be added in a later patch.
 - checksum generation: Adler32, CRC32 and combined.

The compression service is hosted on a QuickAssist VF PCI
device, which is managed by code in the
drivers/common/qat directory.

This patch is dependent on the cryptodev API patch re Huffman Encoding capability
https://patches.dpdk.org/patch/42286/
 
v3 changes:
 - only commit message changes, i.e. removed ChangeId and fixed typos
  
v2 changes:
- Added check for correct firmware
- Split patchset
- Added documentation 
- removed support for scatter-gather-lists and related config flag
- Removed support for Dynamic huffman encoding and related IM buffer config flag
- Removed support for DH895xcc device

Fiona Trahe (16):
  common/qat: updated firmware headers
  compress/qat: add makefiles for PMD
  compress/qat: add meson build
  compress/qat: add xform processing
  compress/qat: create fw request and process response
  compress/qat: check that correct firmware is in use
  compress/qat: add stats functions
  compress/qat: setup queue-pairs for compression service
  compress/qat: add fns to configure and clear device
  compress/qat: add fn to return device info
  compress/qat: add enqueue/dequeue functions
  compress/qat: add device start and stop fns
  compress/qat: create and populate the ops structure
  compress/qat: add fns to create and destroy the PMD
  compress/qat: prevent device usage if incorrect firmware
  docs/qat: refactor docs adding compression guide

 MAINTAINERS                                  |   4 +
 config/common_base                           |   5 +-
 doc/guides/compressdevs/features/qat.ini     |  22 ++
 doc/guides/compressdevs/index.rst            |   1 +
 doc/guides/compressdevs/qat_comp.rst         |  49 +++
 doc/guides/cryptodevs/qat.rst                | 183 ++++++----
 doc/guides/rel_notes/release_18_08.rst       |   5 +
 drivers/common/qat/Makefile                  |  48 ++-
 drivers/common/qat/qat_adf/icp_qat_fw.h      |  69 +++-
 drivers/common/qat/qat_adf/icp_qat_fw_comp.h | 482 +++++++++++++++++++++++++++
 drivers/common/qat/qat_adf/icp_qat_hw.h      | 130 +++++++-
 drivers/common/qat/qat_device.h              |   4 +
 drivers/common/qat/qat_qp.c                  |  11 +-
 drivers/common/qat/qat_qp.h                  |   5 +
 drivers/compress/meson.build                 |   2 +-
 drivers/compress/qat/meson.build             |  18 +
 drivers/compress/qat/qat_comp.c              | 359 ++++++++++++++++++++
 drivers/compress/qat/qat_comp.h              |  56 ++++
 drivers/compress/qat/qat_comp_pmd.c          | 405 ++++++++++++++++++++++
 drivers/compress/qat/qat_comp_pmd.h          |  39 +++
 drivers/compress/qat/rte_pmd_qat_version.map |   3 +
 drivers/crypto/qat/meson.build               |  10 +-
 drivers/crypto/qat/rte_pmd_qat_version.map   |   3 -
 test/test/test_cryptodev.c                   |   6 +-
 24 files changed, 1804 insertions(+), 115 deletions(-)
 create mode 100644 doc/guides/compressdevs/features/qat.ini
 create mode 100644 doc/guides/compressdevs/qat_comp.rst
 create mode 100644 drivers/common/qat/qat_adf/icp_qat_fw_comp.h
 create mode 100644 drivers/compress/qat/meson.build
 create mode 100644 drivers/compress/qat/qat_comp.c
 create mode 100644 drivers/compress/qat/qat_comp.h
 create mode 100644 drivers/compress/qat/qat_comp_pmd.c
 create mode 100644 drivers/compress/qat/qat_comp_pmd.h
 create mode 100644 drivers/compress/qat/rte_pmd_qat_version.map
 delete mode 100644 drivers/crypto/qat/rte_pmd_qat_version.map

-- 
2.7.4