562a83d0709cf751e9027fc6c2568586a3c2ac09
[dpdk.git] / doc / guides / eventdevs / octeontx2.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(c) 2019 Marvell International Ltd.
3
4 OCTEON TX2 SSO Eventdev Driver
5 ===============================
6
7 The OCTEON TX2 SSO PMD (**librte_pmd_octeontx2_event**) provides poll mode
8 eventdev driver support for the inbuilt event device found in the **Marvell OCTEON TX2**
9 SoC family.
10
11 More information about OCTEON TX2 SoC can be found at `Marvell Official Website
12 <https://www.marvell.com/embedded-processors/infrastructure-processors/>`_.
13
14 Features
15 --------
16
17 Features of the OCTEON TX2 SSO PMD are:
18
19 - 256 Event queues
20 - 26 (dual) and 52 (single) Event ports
21 - HW event scheduler
22 - Supports 1M flows per event queue
23 - Flow based event pipelining
24 - Flow pinning support in flow based event pipelining
25 - Queue based event pipelining
26 - Supports ATOMIC, ORDERED, PARALLEL schedule types per flow
27 - Event scheduling QoS based on event queue priority
28 - Open system with configurable amount of outstanding events limited only by
29   DRAM
30 - HW accelerated dequeue timeout support to enable power management
31
32 Prerequisites and Compilation procedure
33 ---------------------------------------
34
35    See :doc:`../platform/octeontx2` for setup information.
36
37 Pre-Installation Configuration
38 ------------------------------
39
40 Compile time Config Options
41 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
42
43 The following option can be modified in the ``config`` file.
44
45 - ``CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV`` (default ``y``)
46
47   Toggle compilation of the ``librte_pmd_octeontx2_event`` driver.
48
49 Runtime Config Options
50 ~~~~~~~~~~~~~~~~~~~~~~
51
52 - ``Maximum number of in-flight events`` (default ``8192``)
53
54   In **Marvell OCTEON TX2** the max number of in-flight events are only limited
55   by DRAM size, the ``xae_cnt`` devargs parameter is introduced to provide
56   upper limit for in-flight events.
57   For example::
58
59     --dev "0002:0e:00.0,xae_cnt=16384"
60
61 - ``Force legacy mode``
62
63   The ``single_ws`` devargs parameter is introduced to force legacy mode i.e
64   single workslot mode in SSO and disable the default dual workslot mode.
65   For example::
66
67     --dev "0002:0e:00.0,single_ws=1"
68
69 - ``Event Group QoS support``
70
71   SSO GGRPs i.e. queue uses DRAM & SRAM buffers to hold in-flight
72   events. By default the buffers are assigned to the SSO GGRPs to
73   satisfy minimum HW requirements. SSO is free to assign the remaining
74   buffers to GGRPs based on a preconfigured threshold.
75   We can control the QoS of SSO GGRP by modifying the above mentioned
76   thresholds. GGRPs that have higher importance can be assigned higher
77   thresholds than the rest. The dictionary format is as follows
78   [Qx-XAQ-TAQ-IAQ][Qz-XAQ-TAQ-IAQ] expressed in percentages, 0 represents
79   default.
80   For example::
81
82     --dev "0002:0e:00.0,qos=[1-50-50-50]"
83
84 - ``Selftest``
85
86   The functionality of OCTEON TX2 eventdev can be verified using this option,
87   various unit and functional tests are run to verify the sanity.
88   The tests are run once the vdev creation is successfully complete.
89   For example::
90
91     --dev "0002:0e:00.0,selftest=1"
92
93 Debugging Options
94 ~~~~~~~~~~~~~~~~~
95
96 .. _table_octeontx2_event_debug_options:
97
98 .. table:: OCTEON TX2 event device debug options
99
100    +---+------------+-------------------------------------------------------+
101    | # | Component  | EAL log command                                       |
102    +===+============+=======================================================+
103    | 1 | SSO        | --log-level='pmd\.event\.octeontx2,8'                 |
104    +---+------------+-------------------------------------------------------+