On Wed, 21 Aug 2024 15:10:58 -0300 Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > Document the purpose and rules for the fwctl subsystem. > > Link in kdocs to the doc tree. > > Nacked-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20240603114250.5325279c@xxxxxxxxxx > Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > https://lore.kernel.org/r/ZrHY2Bds7oF7KRGz@phenom.ffwll.local > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Just one trivial plural / singular comment. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > Documentation/userspace-api/fwctl.rst | 285 ++++++++++++++++++++++++++ > Documentation/userspace-api/index.rst | 1 + > 2 files changed, 286 insertions(+) > create mode 100644 Documentation/userspace-api/fwctl.rst > > diff --git a/Documentation/userspace-api/fwctl.rst b/Documentation/userspace-api/fwctl.rst > new file mode 100644 > index 00000000000000..8f3da30ee7c91b > --- /dev/null > +++ b/Documentation/userspace-api/fwctl.rst > @@ -0,0 +1,285 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +=============== > +fwctl subsystem > +=============== > + > +:Author: Jason Gunthorpe > + > +Overview > +======== > + > +Modern devices contain extensive amounts of FW, and in many cases, are largely > +software-defined pieces of hardware. The evolution of this approach is largely a > +reaction to Moore's Law where a chip tape out is now highly expensive, and the > +chip design is extremely large. Replacing fixed HW logic with a flexible and > +tightly coupled FW/HW combination is an effective risk mitigation against chip > +respin. Problems in the HW design can be counteracted in device FW. This is > +especially true for devices which present a stable and backwards compatible > +interface to the operating system driver (such as NVMe). > + > +The FW layer in devices has grown to incredible sizes and devices frequently incredible size (tricky to get the plurals right in this sentence, but currently its a mixture) > +integrate clusters of fast processors to run it. For example, mlx5 devices have > +over 30MB of FW code, and big configurations operate with over 1GB of FW managed > +runtime state. ...