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