Messages in this thread | | | From | Ioana Ciornei <> | Subject | [PATCH 0/5] bus: fsl-mc: add userspace support | Date | Thu, 14 Jan 2021 19:07:47 +0200 |
| |
From: Ioana Ciornei <ioana.ciornei@nxp.com>
This patch set adds userspace support in the fsl-mc bus along with a rescan attribute to the root DPRC container. An earlier discussion on this functionality can be found at the link below. I didn't continue with the versioning scheme since quite some time has passed since the last discussion. https://lkml.org/lkml/2018/11/20/1162
The FSL_MC_SEND_MC_COMMAND ioctl acts as a direct passthrough to the Management Complex (or MC) by passing fixed-length command/response pairs. Keeping in mind that the MC manages DPAA2 hardware resources and provides and object-based abstraction for sofware drivers, the proposed ioctl interface enables userspace tools to do the following: - Get layout information about the available resources abstracted and exported by the Management Complex firmware. This is especially useful to generate a complete description of the current hardware resource partitioning. - Manage DPAA2 objects lifecycle (create, destroy) and establish connection between different components as needed.
The ioctl interface is intended for dynamic usecases where DPAA2 objects need to be created on demand or destroyed so that the underlying hardware resources can be further repurposed. In static usecases, depending on the requirements, a firmware configuration file can be used to describe the needed DPAA2 objects, their attributes or any link between them.
Each command received through the ioctl interface is first checked against a list of accepted MC commands. Also, commands which would alter the hardware resource management require CAP_NET_ADMIN. The command is also check so that it does not contain garbage beyond the maximum size expected for that command id.
Ioana Ciornei (5): bus: fsl-mc: move fsl_mc_command struct in a uapi header bus: fsl-mc: export mc_cmd_hdr_read_cmdid() to the fsl-mc bus bus: fsl-mc: add fsl-mc userspace support bus: fsl-mc: add bus rescan attribute bus: fsl-mc: add autorescan sysfs
Documentation/ABI/stable/sysfs-bus-fsl-mc | 19 + .../userspace-api/ioctl/ioctl-number.rst | 1 + MAINTAINERS | 2 + drivers/bus/fsl-mc/Kconfig | 7 + drivers/bus/fsl-mc/Makefile | 3 + drivers/bus/fsl-mc/dprc-driver.c | 33 +- drivers/bus/fsl-mc/fsl-mc-bus.c | 96 +++ drivers/bus/fsl-mc/fsl-mc-private.h | 49 ++ drivers/bus/fsl-mc/fsl-mc-uapi.c | 547 ++++++++++++++++++ drivers/bus/fsl-mc/mc-sys.c | 2 +- include/linux/fsl/mc.h | 8 +- include/uapi/linux/fsl_mc.h | 34 ++ 12 files changed, 789 insertions(+), 12 deletions(-) create mode 100644 Documentation/ABI/stable/sysfs-bus-fsl-mc create mode 100644 drivers/bus/fsl-mc/fsl-mc-uapi.c create mode 100644 include/uapi/linux/fsl_mc.h
-- 2.29.2
| |