xref: /dpdk/doc/guides/compressdevs/octeontx.rst (revision 8809f78c7dd9f33a44a4f89c58fc91ded34296ed)
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