doc: add eventdev feature matrices
authorSunil Kumar Kori <skori@marvell.com>
Wed, 24 Nov 2021 13:03:58 +0000 (18:33 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 26 Nov 2021 15:29:25 +0000 (16:29 +0100)
Patch adds feature matrices for event dev, Rx/Tx, Crypto
and Timer adapters.

Along with, .ini files are added for all supported PMDs.

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
14 files changed:
.gitignore
doc/guides/conf.py
doc/guides/eventdevs/features/cnxk.ini [new file with mode: 0644]
doc/guides/eventdevs/features/default.ini [new file with mode: 0644]
doc/guides/eventdevs/features/dlb2.ini [new file with mode: 0644]
doc/guides/eventdevs/features/dpaa.ini [new file with mode: 0644]
doc/guides/eventdevs/features/dpaa2.ini [new file with mode: 0644]
doc/guides/eventdevs/features/dsw.ini [new file with mode: 0644]
doc/guides/eventdevs/features/octeontx.ini [new file with mode: 0644]
doc/guides/eventdevs/features/octeontx2.ini [new file with mode: 0644]
doc/guides/eventdevs/features/opdl.ini [new file with mode: 0644]
doc/guides/eventdevs/features/sw.ini [new file with mode: 0644]
doc/guides/eventdevs/index.rst
doc/guides/eventdevs/overview.rst [new file with mode: 0644]

index b98a43a..212c7aa 100644 (file)
@@ -16,6 +16,11 @@ doc/guides/regexdevs/overview_feature_table.txt
 doc/guides/vdpadevs/overview_feature_table.txt
 doc/guides/bbdevs/overview_feature_table.txt
 doc/guides/gpus/overview_feature_table.txt
+doc/guides/eventdevs/overview_feature_table.txt
+doc/guides/eventdevs/overview_rx_adptr_feature_table.txt
+doc/guides/eventdevs/overview_tx_adptr_feature_table.txt
+doc/guides/eventdevs/overview_crypto_adptr_feature_table.txt
+doc/guides/eventdevs/overview_timer_adptr_feature_table.txt
 
 # ignore generated ctags/cscope files
 cscope.out.po
index e6ce929..1743ce3 100644 (file)
@@ -401,6 +401,31 @@ def setup(app):
                             'Features',
                             'Features availability in GPU drivers',
                             'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_feature_table.txt'
+    generate_overview_table(table_file, 1,
+                            'Scheduling Features',
+                            'Features availability in eventdev drivers',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_rx_adptr_feature_table.txt'
+    generate_overview_table(table_file, 2,
+                            'Eth Rx adapter Features',
+                            'Features availability for Ethdev Rx adapters',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_tx_adptr_feature_table.txt'
+    generate_overview_table(table_file, 3,
+                            'Eth Tx adapter Features',
+                            'Features availability for Ethdev Tx adapters',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_crypto_adptr_feature_table.txt'
+    generate_overview_table(table_file, 4,
+                            'Crypto adapter Features',
+                            'Features availability for Crypto adapters',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_timer_adptr_feature_table.txt'
+    generate_overview_table(table_file, 5,
+                            'Timer adapter Features',
+                            'Features availability for Timer adapters',
+                            'Feature')
 
     if LooseVersion(sphinx_version) < LooseVersion('1.3.1'):
         print('Upgrade sphinx to version >= 1.3.1 for '
diff --git a/doc/guides/eventdevs/features/cnxk.ini b/doc/guides/eventdevs/features/cnxk.ini
new file mode 100644 (file)
index 0000000..7633c6e
--- /dev/null
@@ -0,0 +1,31 @@
+;
+; Supported features of the 'cnxk' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+override_flow_id           = Y
+event_vector               = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+event_vector               = Y
+
+[Crypto adapter Features]
+internal_port_op_fwd       = Y
+session_private_data       = Y
+
+[Timer adapter Features]
+internal_port              = Y
diff --git a/doc/guides/eventdevs/features/default.ini b/doc/guides/eventdevs/features/default.ini
new file mode 100644 (file)
index 0000000..2ea2334
--- /dev/null
@@ -0,0 +1,51 @@
+;
+; Features of a default eventdev driver.
+;
+; This file defines the features that are valid for inclusion in
+; the other driver files and also the order that they appear in
+; the features table in the documentation.
+;
+[Scheduling Features]
+queue_qos                  =
+event_qos                  =
+distributed_sched          =
+queue_all_types            =
+burst_mode                 =
+implicit_release_disable   =
+nonseq_mode                =
+runtime_port_link          =
+multiple_queue_port        =
+carry_flow_id              =
+maintenance_free           =
+
+;
+; Features of a default Ethernet Rx adapter.
+;
+[Eth Rx adapter Features]
+internal_port              =
+multi_eventq               =
+override_flow_id           =
+event_vector               =
+
+;
+; Features of a default Ethernet Tx adapter.
+;
+[Eth Tx adapter Features]
+internal_port              =
+event_vector               =
+
+;
+; Features of a default Crypto adapter.
+;
+[Crypto adapter Features]
+internal_port_op_new       =
+internal_port_op_fwd       =
+internal_port_qp_ev_bind   =
+session_private_data       =
+
+;
+; Features of a default Timer adapter.
+;
+[Timer adapter Features]
+internal_port              =
+periodic                   =
diff --git a/doc/guides/eventdevs/features/dlb2.ini b/doc/guides/eventdevs/features/dlb2.ini
new file mode 100644 (file)
index 0000000..29747b1
--- /dev/null
@@ -0,0 +1,21 @@
+;
+; Supported features of the 'dlb2' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+event_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+burst_mode                 = Y
+implicit_release_disable   = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/dpaa.ini b/doc/guides/eventdevs/features/dpaa.ini
new file mode 100644 (file)
index 0000000..b73bfa0
--- /dev/null
@@ -0,0 +1,27 @@
+;
+; Supported features of the 'dpaa' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+distributed_sched          = Y
+burst_mode                 = Y
+nonseq_mode                = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+override_flow_id           = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_new       = Y
+internal_port_qp_ev_bind   = Y
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/dpaa2.ini b/doc/guides/eventdevs/features/dpaa2.ini
new file mode 100644 (file)
index 0000000..c935bd0
--- /dev/null
@@ -0,0 +1,29 @@
+;
+; Supported features of the 'dpaa2' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+distributed_sched          = Y
+queue_all_types            = Y
+burst_mode                 = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+override_flow_id           = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_new       = Y
+internal_port_qp_ev_bind   = Y
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/dsw.ini b/doc/guides/eventdevs/features/dsw.ini
new file mode 100644 (file)
index 0000000..c8bc6b3
--- /dev/null
@@ -0,0 +1,23 @@
+;
+; Supported features of the 'distributed software' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+distributed_sched          = Y
+burst_mode                 = Y
+nonseq_mode                = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+
+[Eth Rx adapter Features]
+multi_eventq               = Y
+override_flow_id           = Y
+event_vector               = Y
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/octeontx.ini b/doc/guides/eventdevs/features/octeontx.ini
new file mode 100644 (file)
index 0000000..ec044e6
--- /dev/null
@@ -0,0 +1,27 @@
+;
+; Supported features of the 'octeontx' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_fwd       = Y
+session_private_data       = Y
+
+[Timer adapter Features]
+internal_port              = Y
diff --git a/doc/guides/eventdevs/features/octeontx2.ini b/doc/guides/eventdevs/features/octeontx2.ini
new file mode 100644 (file)
index 0000000..05b84be
--- /dev/null
@@ -0,0 +1,30 @@
+;
+; Supported features of the 'octeontx2' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_new       = Y
+internal_port_op_fwd       = Y
+internal_port_qp_ev_bind   = Y
+
+[Timer adapter Features]
+internal_port              = Y
+periodic                   = Y
diff --git a/doc/guides/eventdevs/features/opdl.ini b/doc/guides/eventdevs/features/opdl.ini
new file mode 100644 (file)
index 0000000..5cc35d3
--- /dev/null
@@ -0,0 +1,18 @@
+;
+; Supported features of 'Ordered Packet Distribution Library' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+burst_mode                 = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/sw.ini b/doc/guides/eventdevs/features/sw.ini
new file mode 100644 (file)
index 0000000..8c89d3b
--- /dev/null
@@ -0,0 +1,27 @@
+;
+; Supported features of the 'software' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+event_qos                  = Y
+burst_mode                 = Y
+implicit_release_disable   = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+multi_eventq               = Y
+override_flow_id           = Y
+event_vector               = Y
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+session_private_data       = Y
+
+[Timer adapter Features]
index 2143025..b11657f 100644 (file)
@@ -11,6 +11,7 @@ application through the eventdev API.
     :maxdepth: 2
     :numbered:
 
+    overview
     cnxk
     dlb2
     dpaa
diff --git a/doc/guides/eventdevs/overview.rst b/doc/guides/eventdevs/overview.rst
new file mode 100644 (file)
index 0000000..3c5ee51
--- /dev/null
@@ -0,0 +1,40 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(C) 2021 Marvell.
+
+Event Device Supported Functionality Matrices
+=============================================
+
+Event device supported features
+-------------------------------
+
+.. _table_eventdev_pmd_features:
+
+.. include:: overview_feature_table.txt
+
+Ethernet Rx adapter supported features
+--------------------------------------
+
+.. _table_eventdev_rx_adapter_features:
+
+.. include:: overview_rx_adptr_feature_table.txt
+
+Ethernet Tx adapter supported features
+--------------------------------------
+
+.. _table_eventdev_tx_adapter_features:
+
+.. include:: overview_tx_adptr_feature_table.txt
+
+Crypto device adapter supported features
+----------------------------------------
+
+.. _table_cryptodev_adapter_features:
+
+.. include:: overview_crypto_adptr_feature_table.txt
+
+Timer adapter supported features
+--------------------------------
+
+.. _table_timer_adapter_features:
+
+.. include:: overview_timer_adptr_feature_table.txt