| /linux-6.15/drivers/fwctl/ |
| H A D | main.c | 58 struct fwctl_device *fwctl = ucmd->uctx->fwctl; in fwctl_cmd_info() local 88 struct fwctl_device *fwctl = ucmd->uctx->fwctl; in fwctl_cmd_rpc() local 107 &fwctl->dev, in fwctl_cmd_rpc() 222 uctx->fwctl = fwctl; in fwctl_fops_open() 246 struct fwctl_device *fwctl = uctx->fwctl; in fwctl_fops_release() local 278 kfree(fwctl); in fwctl_device_release() 298 if (!fwctl) in _alloc_device() 322 struct fwctl_device *fwctl __free(fwctl) = in _fwctl_alloc_device() 325 if (!fwctl) in _fwctl_alloc_device() 352 return cdev_device_add(&fwctl->cdev, &fwctl->dev); in fwctl_register() [all …]
|
| H A D | Kconfig | 3 tristate "fwctl device firmware access framework" 5 fwctl provides a userspace API for restricted access to communicate 13 tristate "mlx5 ConnectX control fwctl driver" 25 tristate "AMD/Pensando pds fwctl driver" 28 The pds_fwctl driver provides an fwctl interface for a user process
|
| H A D | Makefile | 2 obj-$(CONFIG_FWCTL) += fwctl.o 6 fwctl-y += main.o
|
| /linux-6.15/include/linux/ |
| H A D | fwctl.h | 107 static inline struct fwctl_device *fwctl_get(struct fwctl_device *fwctl) in fwctl_get() argument 109 get_device(&fwctl->dev); in fwctl_get() 110 return fwctl; in fwctl_get() 112 static inline void fwctl_put(struct fwctl_device *fwctl) in fwctl_put() argument 114 put_device(&fwctl->dev); in fwctl_put() 116 DEFINE_FREE(fwctl, struct fwctl_device *, if (_T) fwctl_put(_T)); 118 int fwctl_register(struct fwctl_device *fwctl); 119 void fwctl_unregister(struct fwctl_device *fwctl); 129 struct fwctl_device *fwctl; member
|
| /linux-6.15/drivers/fwctl/mlx5/ |
| H A D | main.c | 12 dev_err(&mcdev->fwctl.dev, format, ##__VA_ARGS__) 15 dev_dbg(&mcdev->fwctl.dev, "PID %u: " format, current->pid, \ 25 struct fwctl_device fwctl; member 28 DEFINE_FREE(mlx5ctl, struct mlx5ctl_dev *, if (_T) fwctl_put(&_T->fwctl)); 131 container_of(uctx->fwctl, struct mlx5ctl_dev, fwctl); in mlx5ctl_open_uctx() 154 container_of(uctx->fwctl, struct mlx5ctl_dev, fwctl); in mlx5ctl_close_uctx() 303 container_of(uctx->fwctl, struct mlx5ctl_dev, fwctl); in mlx5ctl_fw_rpc() 370 &mdev->pdev->dev, &mlx5ctl_ops, struct mlx5ctl_dev, fwctl); in mlx5ctl_probe() 378 ret = fwctl_register(&mcdev->fwctl); in mlx5ctl_probe() 389 fwctl_unregister(&mcdev->fwctl); in mlx5ctl_remove() [all …]
|
| /linux-6.15/drivers/fwctl/pds/ |
| H A D | main.c | 32 struct fwctl_device fwctl; member 43 struct pdsfc_dev *pdsfc = container_of(uctx->fwctl, struct pdsfc_dev, fwctl); in pdsfc_open_uctx() 71 struct device *dev = &pdsfc->fwctl.dev; in pdsfc_identify() 107 struct device *dev = &pdsfc->fwctl.dev; in pdsfc_free_endpoints() 352 struct pdsfc_dev *pdsfc = container_of(uctx->fwctl, struct pdsfc_dev, fwctl); in pdsfc_fw_rpc() 482 struct pdsfc_dev, fwctl); in pdsfc_probe() 489 fwctl_put(&pdsfc->fwctl); in pdsfc_probe() 495 fwctl_put(&pdsfc->fwctl); in pdsfc_probe() 504 fwctl_put(&pdsfc->fwctl); in pdsfc_probe() 517 fwctl_unregister(&pdsfc->fwctl); in pdsfc_remove() [all …]
|
| /linux-6.15/Documentation/userspace-api/fwctl/ |
| H A D | fwctl.rst | 4 fwctl subsystem 148 fwctl User API 151 .. kernel-doc:: include/uapi/fwctl/fwctl.h 152 .. kernel-doc:: include/uapi/fwctl/mlx5.h 153 .. kernel-doc:: include/uapi/fwctl/pds.h 158 fwctl has a sysfs class (/sys/class/fwctl/fwctlNN/) and character devices 197 fwctl Kernel API 200 .. kernel-doc:: drivers/fwctl/main.c 202 .. kernel-doc:: include/linux/fwctl.h 204 fwctl Driver design [all …]
|
| H A D | pds_fwctl.rst | 4 fwctl pds driver 12 The PDS Core device makes a fwctl service available through an 13 auxiliary_device named pds_core.fwctl.N. The pds_fwctl driver binds to 14 this device and registers itself with the fwctl subsystem. The resulting 20 firmware for fwctl requests. The set of fwctl operations available
|
| H A D | fwctl-cxl.rst | 4 fwctl cxl driver 14 issued to the mailbox as well. fwctl provides a path to issue a set of allowed 27 under the fwctl policy of FWCTL_RPC_CONFIGURATION. 31 Set Feature will cause immediate change to the device, the fwctl access policy 36 fwctl access policy must be FWCTL_RPC_DEBUG_WRITE or higher. 38 fwctl cxl User API 41 .. kernel-doc:: include/uapi/fwctl/cxl.h 133 <https://github.com/pmem/ndctl/tree/main/test/fwctl.c> for a detailed user code 137 fwctl cxl Kernel API
|
| H A D | index.rst | 12 fwctl 13 fwctl-cxl
|
| /linux-6.15/Documentation/userspace-api/ |
| H A D | index.rst | 49 fwctl/index
|
| /linux-6.15/drivers/ |
| H A D | Makefile | 138 obj-$(CONFIG_FWCTL) += fwctl/
|
| H A D | Kconfig | 24 source "drivers/fwctl/Kconfig"
|
| /linux-6.15/include/linux/pds/ |
| H A D | pds_adminq.h | 1488 struct pds_fwctl_cmd fwctl; member 1520 struct pds_fwctl_comp fwctl; member
|
| /linux-6.15/Documentation/admin-guide/ |
| H A D | tainted-kernels.rst | 104 19 _/J 524288 userspace used a mutating debug operation in fwctl 189 19) ``J`` if userpace opened /dev/fwctl/* and performed a FWTCL_RPC_DEBUG_WRITE
|
| /linux-6.15/drivers/cxl/core/ |
| H A D | features.c | 650 struct fwctl_device *fwctl_dev = uctx->fwctl; in cxlctl_fw_rpc()
|
| /linux-6.15/Documentation/userspace-api/ioctl/ |
| H A D | ioctl-number.rst | 336 0x9A 00-0F include/uapi/fwctl/fwctl.h
|
| /linux-6.15/ |
| H A D | MAINTAINERS | 5954 F: Documentation/userspace-api/fwctl/fwctl-cxl.rst 9768 F: Documentation/userspace-api/fwctl/ 9769 F: drivers/fwctl/ 9770 F: include/linux/fwctl.h 9771 F: include/uapi/fwctl/ 9778 F: drivers/fwctl/mlx5/ 9785 F: drivers/fwctl/pds/
|