=== NXP DPAA2 support

Links: +
link:https://cgit.freebsd.org/src/tree/sys/dev/dpaa2[DPAA2 in the FreeBSD source tree] URL: link:https://cgit.freebsd.org/src/tree/sys/dev/dpaa2[] +
link:https://github.com/mcusim/freebsd-src[DPAA2 on Github] URL: link:https://github.com/mcusim/freebsd-src[]

Contact: Dmitry Salychev <dsl@FreeBSD.org> +
Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

==== What is DPAA2?

DPAA2 is a hardware-level networking architecture found in some NXP SoCs which contains hardware blocks including Management Complex (MC, a command interface to manipulate DPAA2 objects), Wire Rate I/O processor (WRIOP, packets distribution, queuing, drop decisions), Queues and Buffers Manager (QBMan, Rx/Tx queues control, Rx buffer pools) and others.
The Management Complex runs NXP-supplied firmware which provides DPAA2 objects as an abstraction layer over those blocks to simplify access to the underlying hardware.

==== Changes from the previous report

* Isolation between DPAA2 channels link:https://cgit.freebsd.org/src/commit/?id=58983e4b0253ad38a3e1ef2166fedd3133fdb552[improved].
* Panic under heavy network load link:https://github.com/mcusim/freebsd-src/issues/19[fixed].
* FDT/ACPI MDIO support.
* NFS root mount link:https://github.com/mcusim/freebsd-src/issues/7[do not hang] on netboot over DPAA2 anymore.
* Drivers link:https://github.com/mcusim/freebsd-src/issues/2[started] to communicate with MC via their own command portals (DPMCP).
* link:https://github.com/mcusim/freebsd-src/issues?q=is%3Aissue+is%3Aclosed[List of all closed issues].

==== Work in Progress

Work on link:https://cgit.freebsd.org/src/commit/?id=2a9021898c4ee2154787da862c238cfeccd655df[dev/sff] started to support SFF/SFP modules in order to test DPAA2 drivers on links above 1 Gbit/s.

==== Plan

* Heavy network load tests (2.5 Gbit/s, 10 Gbit/s) and bottlenecks mitigation.
* Cached memory-backed software portals.
* Driver resources de-allocation to unload dpaa2.ko properly.
* Further parts (DPSW, DCE, etc.) supported by the hardware.

Sponsor: Traverse Technologies (providing Ten64 HW for testing)
