Home
last modified time | relevance | path

Searched refs:fwctl (Results 1 – 18 of 18) sorted by relevance

/linux-6.15/drivers/fwctl/
H A Dmain.c58 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 DKconfig3 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 DMakefile2 obj-$(CONFIG_FWCTL) += fwctl.o
6 fwctl-y += main.o
/linux-6.15/include/linux/
H A Dfwctl.h107 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 Dmain.c12 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 Dmain.c32 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 Dfwctl.rst4 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 Dpds_fwctl.rst4 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 Dfwctl-cxl.rst4 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 Dindex.rst12 fwctl
13 fwctl-cxl
/linux-6.15/Documentation/userspace-api/
H A Dindex.rst49 fwctl/index
/linux-6.15/drivers/
H A DMakefile138 obj-$(CONFIG_FWCTL) += fwctl/
H A DKconfig24 source "drivers/fwctl/Kconfig"
/linux-6.15/include/linux/pds/
H A Dpds_adminq.h1488 struct pds_fwctl_cmd fwctl; member
1520 struct pds_fwctl_comp fwctl; member
/linux-6.15/Documentation/admin-guide/
H A Dtainted-kernels.rst104 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 Dfeatures.c650 struct fwctl_device *fwctl_dev = uctx->fwctl; in cxlctl_fw_rpc()
/linux-6.15/Documentation/userspace-api/ioctl/
H A Dioctl-number.rst336 0x9A 00-0F include/uapi/fwctl/fwctl.h
/linux-6.15/
H A DMAINTAINERS5954 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/