1f23c977dSAshish Gupta.. SPDX-License-Identifier: BSD-3-Clause 2f23c977dSAshish Gupta Copyright(c) 2018 Cavium Networks. 3f23c977dSAshish Gupta 495a6b04fSAnoob JosephOCTEON TX ZIP Compression Poll Mode Driver 595a6b04fSAnoob Joseph========================================== 6f23c977dSAshish Gupta 7*8809f78cSBruce RichardsonThe OCTEON TX ZIP PMD (**librte_compress_octeontx**) provides poll mode 8f23c977dSAshish Guptacompression & decompression driver for ZIP HW offload device, found in 9f23c977dSAshish Gupta**Cavium OCTEON TX** SoC family. 10f23c977dSAshish Gupta 11f23c977dSAshish GuptaMore information can be found at `Cavium, Inc Official Website 12f23c977dSAshish Gupta<http://www.cavium.com/OCTEON-TX_ARM_Processors.html>`_. 13f23c977dSAshish Gupta 14f23c977dSAshish GuptaFeatures 15f23c977dSAshish Gupta-------- 16f23c977dSAshish Gupta 1795a6b04fSAnoob JosephOCTEON TX ZIP PMD has support for: 18f23c977dSAshish Gupta 19f23c977dSAshish GuptaCompression/Decompression algorithm: 20f23c977dSAshish Gupta 21f23c977dSAshish Gupta* DEFLATE 22f23c977dSAshish Gupta 23f23c977dSAshish GuptaHuffman code type: 24f23c977dSAshish Gupta 25f23c977dSAshish Gupta* FIXED 26f23c977dSAshish Gupta* DYNAMIC 27f23c977dSAshish Gupta 28f23c977dSAshish GuptaWindow size support: 29f23c977dSAshish Gupta 30f23c977dSAshish Gupta* 2 to 2^14 31f23c977dSAshish Gupta 32f23c977dSAshish GuptaLimitations 33f23c977dSAshish Gupta----------- 34f23c977dSAshish Gupta 35f23c977dSAshish Gupta* Chained mbufs are not supported. 36f23c977dSAshish Gupta 37f23c977dSAshish GuptaSupported OCTEON TX SoCs 3895a6b04fSAnoob Joseph------------------------ 39f23c977dSAshish Gupta 40f23c977dSAshish Gupta- CN83xx 41f23c977dSAshish Gupta 42f23c977dSAshish GuptaSteps To Setup Platform 43f23c977dSAshish Gupta----------------------- 44f23c977dSAshish Gupta 4595a6b04fSAnoob Joseph OCTEON TX SDK includes kernel image which provides OCTEON TX ZIP PF 46f23c977dSAshish Gupta driver to manage configuration of ZIPVF device 47f23c977dSAshish Gupta Required version of SDK is "OCTEONTX-SDK-6.2.0-build35" or above. 48f23c977dSAshish Gupta 49f23c977dSAshish Gupta SDK can be install by using below command. 5095a6b04fSAnoob Joseph #rpm -ivh OCTEONTX-SDK-6.2.0-build35.x86_64.rpm --force --nodeps 51f23c977dSAshish Gupta It will install OCTEONTX-SDK at following default location 52f23c977dSAshish Gupta /usr/local/Cavium_Networks/OCTEONTX-SDK/ 53f23c977dSAshish Gupta 54f23c977dSAshish Gupta For more information on building and booting linux kernel on OCTEON TX 55f23c977dSAshish Gupta please refer /usr/local/Cavium_Networks/OCTEONTX-SDK/docs/OcteonTX-SDK-UG_6.2.0.pdf. 56f23c977dSAshish Gupta 57f23c977dSAshish Gupta SDK and related information can be obtained from: `Cavium support site <https://support.cavium.com/>`_. 58f23c977dSAshish Gupta 59f23c977dSAshish GuptaInitialization 60f23c977dSAshish Gupta-------------- 61f23c977dSAshish Gupta 6295a6b04fSAnoob JosephThe OCTEON TX zip is exposed as pci device which consists of a set of 63f23c977dSAshish GuptaPCIe VF devices. On EAL initialization, ZIP PCIe VF devices will be 64f23c977dSAshish Guptaprobed. To use the PMD in an application, user must: 65f23c977dSAshish Gupta 66f23c977dSAshish Gupta* run dev_bind script to bind eight ZIP PCIe VFs to the ``vfio-pci`` driver: 67f23c977dSAshish Gupta 68f23c977dSAshish Gupta .. code-block:: console 69f23c977dSAshish Gupta 70f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.1 71f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.2 72f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.3 73f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.4 74f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.5 75f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.6 76f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:00.7 77f23c977dSAshish Gupta ./usertools/dpdk-devbind.py -b vfio-pci 0001:04:01.0 78f23c977dSAshish Gupta 79f23c977dSAshish Gupta* The unit test cases can be tested as below: 80f23c977dSAshish Gupta 81f23c977dSAshish Gupta .. code-block:: console 82f23c977dSAshish Gupta 83f23c977dSAshish Gupta reserve enough huge pages 8489515c03SCiara Power cd to <build_dir> 8589515c03SCiara Power meson test compressdev_autotest 86