pds_fwctl: add Documentation entries
Add pds_fwctl to the driver and fwctl documentation pages. Link: https://patch.msgid.link/r/20250320194412.67983-7-shannon.nelson@amd.com Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
92c66ee829
commit
4032570706
|
|
@ -150,6 +150,7 @@ fwctl User API
|
|||
|
||||
.. kernel-doc:: include/uapi/fwctl/fwctl.h
|
||||
.. kernel-doc:: include/uapi/fwctl/mlx5.h
|
||||
.. kernel-doc:: include/uapi/fwctl/pds.h
|
||||
|
||||
sysfs Class
|
||||
-----------
|
||||
|
|
|
|||
|
|
@ -11,3 +11,4 @@ to securely construct and execute RPCs inside device firmware.
|
|||
|
||||
fwctl
|
||||
fwctl-cxl
|
||||
pds_fwctl
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
================
|
||||
fwctl pds driver
|
||||
================
|
||||
|
||||
:Author: Shannon Nelson
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The PDS Core device makes a fwctl service available through an
|
||||
auxiliary_device named pds_core.fwctl.N. The pds_fwctl driver binds to
|
||||
this device and registers itself with the fwctl subsystem. The resulting
|
||||
userspace interface is used by an application that is a part of the
|
||||
AMD Pensando software package for the Distributed Service Card (DSC).
|
||||
|
||||
The pds_fwctl driver has little knowledge of the firmware's internals.
|
||||
It only knows how to send commands through pds_core's message queue to the
|
||||
firmware for fwctl requests. The set of fwctl operations available
|
||||
depends on the firmware in the DSC, and the userspace application
|
||||
version must match the firmware so that they can talk to each other.
|
||||
|
||||
When a connection is created the pds_fwctl driver requests from the
|
||||
firmware a list of firmware object endpoints, and for each endpoint the
|
||||
driver requests a list of operations for that endpoint.
|
||||
|
||||
Each operation description includes a firmware defined command attribute
|
||||
that maps to the FWCTL scope levels. The driver translates those firmware
|
||||
values into the FWCTL scope values which can then be used for filtering the
|
||||
scoped user requests.
|
||||
|
||||
pds_fwctl User API
|
||||
==================
|
||||
|
||||
Each RPC request includes the target endpoint and the operation id, and in
|
||||
and out buffer lengths and pointers. The driver verifies the existence
|
||||
of the requested endpoint and operations, then checks the request scope
|
||||
against the required scope of the operation. The request is then put
|
||||
together with the request data and sent through pds_core's message queue
|
||||
to the firmware, and the results are returned to the caller.
|
||||
|
||||
The RPC endpoints, operations, and buffer contents are defined by the
|
||||
particular firmware package in the device, which varies across the
|
||||
available product configurations. The details are available in the
|
||||
specific product SDK documentation.
|
||||
Loading…
Reference in New Issue