diff --git a/.gitignore b/.gitignore index b98a43a601..212c7aa28e 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/doc/guides/conf.py b/doc/guides/conf.py index e6ce929bc8..1743ce301f 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -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 index 0000000000..7633c6e3a2 --- /dev/null +++ b/doc/guides/eventdevs/features/cnxk.ini @@ -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 index 0000000000..2ea233463a --- /dev/null +++ b/doc/guides/eventdevs/features/default.ini @@ -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 index 0000000000..29747b1c26 --- /dev/null +++ b/doc/guides/eventdevs/features/dlb2.ini @@ -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 index 0000000000..b73bfa02e5 --- /dev/null +++ b/doc/guides/eventdevs/features/dpaa.ini @@ -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 index 0000000000..c935bd0cfc --- /dev/null +++ b/doc/guides/eventdevs/features/dpaa2.ini @@ -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 index 0000000000..c8bc6b3f1d --- /dev/null +++ b/doc/guides/eventdevs/features/dsw.ini @@ -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 index 0000000000..ec044e6289 --- /dev/null +++ b/doc/guides/eventdevs/features/octeontx.ini @@ -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 index 0000000000..05b84beb6e --- /dev/null +++ b/doc/guides/eventdevs/features/octeontx2.ini @@ -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 index 0000000000..5cc35d3c77 --- /dev/null +++ b/doc/guides/eventdevs/features/opdl.ini @@ -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 index 0000000000..8c89d3b8d2 --- /dev/null +++ b/doc/guides/eventdevs/features/sw.ini @@ -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] diff --git a/doc/guides/eventdevs/index.rst b/doc/guides/eventdevs/index.rst index 2143025390..b11657f7ae 100644 --- a/doc/guides/eventdevs/index.rst +++ b/doc/guides/eventdevs/index.rst @@ -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 index 0000000000..3c5ee515f8 --- /dev/null +++ b/doc/guides/eventdevs/overview.rst @@ -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