[dpdk-dev] [PATCH v5 00/26] Add DLB v2.5
Jerin Jacob
jerinjacobk at gmail.com
Tue May 4 10:28:37 CEST 2021
On Sun, May 2, 2021 at 12:35 AM McDaniel, Timothy
<timothy.mcdaniel at intel.com> wrote:
>
> From: Timothy McDaniel <timothy.mcdaniel at intel.com>
>
> This patch series adds support for DLB v2.5 to
> the current DLB V2.0 PMD. The resulting PMD supports
> both hardware versions.
>
> The main differences between the DLB v2.5 and v2.0 hardware
> are:
> - Number of queues/ports
> - DLB v2.5 uses a combined credit pool, whereas DLB v2.0
> splits credits into 2 pools, a directed credit pool and a
> load balanced credit pool.
> - Different register maps, with different bit names and offsets
>
> In order to support both hardware versions with the same PMD,
> and avoid code duplication, the file dlb2_resource.c required a
> complete rewrite. This required some creative staging of the changes
> in order to keep the individual patches relatively small, while
> also meeting the requirement that all individual patches in the set
> compile cleanly.
>
> To accomplish this, a few temporary files are used:
>
> dlb2_hw_types_new.h
> dlb2_resources_new.h
> dlb2_resources_new.c
>
> As dlb2_resources_new.c is populated with the new combined v2.0/v2.5
> low level logic, the corresponding old code is removed from
> dlb2_resource.c, thus allowing both the original and new code to
> continue to compile and link cleanly. Once all of the code has been
> migrated to the new model, the old versions of the files are removed,
> and the new versions are renamed, effectively replacing the old original
> files.
>
> As you review the code, you can ignore the code deletions from
> dlb2_resource.c, as that file continues to shrink as the new
> corresponding logic is added to dlb2_resource_new.c.
>
> Changes since V4:
> 1) restore original PMD name (dlb2)
> 2) resore original PMD source location (drivers/event/dlb2)
> 3) restore documentation, such that it references dlb2_event,
> instead of dlb_event
Applied the changes are some update in git comment.
Also updated the release notes like below
diff --git a/doc/guides/rel_notes/release_21_05.rst
b/doc/guides/rel_notes/release_21_05.rst
index 428615e4f..58f796b7e 100644
--- a/doc/guides/rel_notes/release_21_05.rst
+++ b/doc/guides/rel_notes/release_21_05.rst
@@ -273,6 +273,10 @@ New Features
* Added support for crypto adapter forward mode in octeontx2 event and crypto
device driver.
+* **Updated Intel DLB2 driver.**
+
+ * Added support for v2.5 device.
+
>
> Changes since V3:
> 1) Moved minor cleanup to its own patch. This included
> a) remove FPGA references
> b) eliminate duplicate macros/defines in hw_types
> c) don't include dlb2_mbox.h
> d) delete unused defines.macros (SMON, INT, ...)
> 2) Changed DLB V2.x and V2.x to simply v2.x, where v is lower case
> 3) Updated 20.11 release notes to remove reference to dlb2 doc, since
> it is now named dlb.rst
> 4) Updated commit message/header text, as requested
>
> Changes since V2:
> 1) fix commit headers
> 2) fix commit message repeated words
> 3) remove FPGA reference
> 4) split out new v2.5 register definitions into separate patch
> 5) fixed documentation to use DLB and dlb_event exclusively,
> instead of the old names such as dlb1_event, dlb2_event,
> DLB2, ... Final doc updates are done in patch that performs
> device rename from DLB2 tosimply DLB
> 6) use component event/dlb at commit which changes device name and
> all subsequent commits
> 7) Move all DLB constants out of config/rte_config.h except QUELL_STATS,
> which is used in the fastpath. Exposed these as devarg command line
> parameters
> 8) Removed "TEMPORARY" comment leftover in dlb2_osdep.h
> 9) squashed 20-21 and 22-23 since they were logically the same as 19-20,
> which was requested to be squashed
> 10) delete old dlb2.rst - dlb.rst has been updated for v2.0 and v2.1
>
> Changes since V1:
> 1) Simplified subject text for all patches
> 2) correct typos/spelling
> 3) remove FPGA references
> 4) remove stale sysconf() references
> 5) fixed patches that had compilation issues
> 6) updated release notes
> 7) renamed dlb device from dlb2_event to dlb_event
> 8) moved dlb2 directory to dlb,to match name change
> 9) fixed other cases where "dlb2" was being used externally
>
> Timothy McDaniel (26):
> event/dlb2: minor code cleanup
> event/dlb2: add v2.5 probe
> event/dlb2: add v2.5 HW register definitions
> event/dlb2: add v2.5 HW init
> event/dlb2: add v2.5 get resources
> event/dlb2: add v2.5 create sched domain
> event/dlb2: add v2.5 domain reset
> event/dlb2: add v2.5 create ldb queue
> event/dlb2: add v2.5 create ldb port
> event/dlb2: add v2.5 create dir port
> event/dlb2: add v2.5 create dir queue
> event/dlb2: add v2.5 map qid
> event/dlb2: add v2.5 unmap queue
> event/dlb2: add v2.5 start domain
> event/dlb2: add v2.5 credit scheme
> event/dlb2: add v2.5 queue depth functions
> event/dlb2: add v2.5 finish map/unmap
> event/dlb2: add v2.5 sparse cq mode
> event/dlb2: add v2.5 sequence number management
> event/dlb2: use new implementation of resource header
> event/dlb2: use new implementation of resource file
> event/dlb2: use new implementation of HW types header
> event/dlb2: use new combined register map
> event/dlb2: update xstats for v2.5
> event/dlb2: move rte config defines to runtime devargs
> doc/dlb2: update documentation for v2.5
>
> config/rte_config.h | 4 -
> doc/guides/eventdevs/dlb2.rst | 153 +-
> drivers/event/dlb2/dlb2.c | 550 +-
> drivers/event/dlb2/dlb2_priv.h | 170 +-
> drivers/event/dlb2/dlb2_user.h | 27 +-
> drivers/event/dlb2/dlb2_xstats.c | 70 +-
> drivers/event/dlb2/pf/base/dlb2_hw_types.h | 106 +-
> drivers/event/dlb2/pf/base/dlb2_mbox.h | 596 --
> drivers/event/dlb2/pf/base/dlb2_osdep.h | 2 +
> drivers/event/dlb2/pf/base/dlb2_regs.h | 5955 +++++++++++++-------
> drivers/event/dlb2/pf/base/dlb2_resource.c | 3278 ++++++-----
> drivers/event/dlb2/pf/base/dlb2_resource.h | 28 +-
> drivers/event/dlb2/pf/dlb2_main.c | 37 +-
> drivers/event/dlb2/pf/dlb2_pf.c | 67 +-
> 14 files changed, 6445 insertions(+), 4598 deletions(-)
> delete mode 100644 drivers/event/dlb2/pf/base/dlb2_mbox.h
>
> --
> 2.23.0
>
More information about the dev
mailing list