Home
last modified time | relevance | path

Searched full:fuse (Results 1 – 25 of 283) sorted by relevance

12345678910>>...12

/linux-6.14.4/drivers/soc/tegra/fuse/
Dfuse-tegra20.c22 #include <soc/tegra/fuse.h>
24 #include "fuse.h"
30 static u32 tegra20_fuse_read_early(struct tegra_fuse *fuse, unsigned int offset) in tegra20_fuse_read_early() argument
32 return readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra20_fuse_read_early()
37 struct tegra_fuse *fuse = args; in apb_dma_complete() local
39 complete(&fuse->apbdma.wait); in apb_dma_complete()
42 static u32 tegra20_fuse_read(struct tegra_fuse *fuse, unsigned int offset) in tegra20_fuse_read() argument
50 err = pm_runtime_resume_and_get(fuse->dev); in tegra20_fuse_read()
54 mutex_lock(&fuse->apbdma.lock); in tegra20_fuse_read()
56 fuse->apbdma.config.src_addr = fuse->phys + FUSE_BEGIN + offset; in tegra20_fuse_read()
[all …]
Dfuse-tegra.c24 #include <soc/tegra/fuse.h>
26 #include "fuse.h"
63 static struct tegra_fuse *fuse = &(struct tegra_fuse) { variable
103 struct tegra_fuse *fuse = priv; in tegra_fuse_read() local
107 buffer[i] = fuse->read(fuse, offset + i * 4); in tegra_fuse_read()
114 fuse->base = (void __iomem *)base; in tegra_fuse_restore()
115 fuse->clk = NULL; in tegra_fuse_restore()
128 static int tegra_fuse_add_lookups(struct tegra_fuse *fuse) in tegra_fuse_add_lookups() argument
130 fuse->lookups = kmemdup_array(fuse->soc->lookups, fuse->soc->num_lookups, in tegra_fuse_add_lookups()
131 sizeof(*fuse->lookups), GFP_KERNEL); in tegra_fuse_add_lookups()
[all …]
Dfuse-tegra30.c17 #include <soc/tegra/fuse.h>
19 #include "fuse.h"
43 static u32 tegra30_fuse_read_early(struct tegra_fuse *fuse, unsigned int offset) in tegra30_fuse_read_early() argument
45 if (WARN_ON(!fuse->base)) in tegra30_fuse_read_early()
48 return readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra30_fuse_read_early()
51 static u32 tegra30_fuse_read(struct tegra_fuse *fuse, unsigned int offset) in tegra30_fuse_read() argument
56 err = pm_runtime_resume_and_get(fuse->dev); in tegra30_fuse_read()
60 value = readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra30_fuse_read()
62 pm_runtime_put(fuse->dev); in tegra30_fuse_read()
89 static void __init tegra30_fuse_init(struct tegra_fuse *fuse) in tegra30_fuse_init() argument
[all …]
Dfuse.h21 u32 (*read)(struct tegra_fuse *fuse, unsigned int offset);
27 void (*init)(struct tegra_fuse *fuse);
29 int (*probe)(struct tegra_fuse *fuse);
52 u32 (*read_early)(struct tegra_fuse *fuse, unsigned int offset);
53 u32 (*read)(struct tegra_fuse *fuse, unsigned int offset);
DMakefile2 obj-y += fuse-tegra.o
3 obj-y += fuse-tegra30.o
5 obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += fuse-tegra20.o
/linux-6.14.4/drivers/nvmem/
Drcar-efuse.c3 * Renesas R-Car E-FUSE/OTP Driver
25 unsigned int bank; /* 0: PFC + E-FUSE, 1: OPT_MEM + E-FUSE */
33 struct rcar_fuse *fuse = priv; in rcar_fuse_reg_read() local
36 ret = pm_runtime_resume_and_get(fuse->dev); in rcar_fuse_reg_read()
40 __ioread32_copy(val, fuse->base + offset, bytes / 4); in rcar_fuse_reg_read()
42 pm_runtime_put(fuse->dev); in rcar_fuse_reg_read()
53 .name = "rcar-fuse", in rcar_fuse_probe()
63 struct rcar_fuse *fuse; in rcar_fuse_probe() local
71 fuse = devm_kzalloc(dev, sizeof(*fuse), GFP_KERNEL); in rcar_fuse_probe()
72 if (!fuse) in rcar_fuse_probe()
[all …]
/linux-6.14.4/Documentation/filesystems/
Dfuse-io-uring.rst4 FUSE-over-io-uring design documentation
7 This documentation covers basic details how the fuse
9 and works. For generic details about FUSE see fuse.rst.
17 is required to also handle requests through /dev/fuse after io-uring setup
21 Fuse io-uring configuration
24 Fuse kernel requests are queued through the classical /dev/fuse
27 In order to set up fuse-over-io-uring fuse-server (user-space)
28 needs to submit SQEs (opcode = IORING_OP_URING_CMD) to the /dev/fuse
35 Note, every CPU core has its own fuse-io-uring queue.
36 Userspace handles the CQE/fuse-request and submits the result as
[all …]
Dvirtiofs.rst46 ro, rw, context, etc. It also supports FUSE mount options.
58 Since the virtio-fs device uses the FUSE protocol for file system requests, the
59 virtiofs file system for Linux is integrated closely with the FUSE file system
60 client. The guest acts as the FUSE client while the host acts as the FUSE
61 server. The /dev/fuse interface between the kernel and userspace is replaced
64 FUSE requests are placed into a virtqueue and processed by the host. The
68 Mapping /dev/fuse to virtqueues requires solving differences in semantics
69 between /dev/fuse and virtqueues. Each time the /dev/fuse device is read, the
70 FUSE client may choose which request to transfer, making it possible to
Dfuse.rst4 FUSE title
37 What is FUSE?
40 FUSE is a userspace filesystem framework. It consists of a kernel
41 module (fuse.ko), a userspace library (libfuse.*) and a mount utility
44 One of the most important features of FUSE is allowing secure,
50 `FUSE homepage: <https://github.com/libfuse/>`_
57 fuse
58 This is the usual way to mount a FUSE filesystem. The first
72 obtained by opening the FUSE device ('/dev/fuse').
84 By default FUSE doesn't check file access permissions, the
[all …]
/linux-6.14.4/drivers/pmdomain/qcom/
Dcpr.c146 /* fuse quot */
150 /* fuse quot_offset */
367 struct fuse_corner *fuse = corner->fuse_corner; in cpr_corner_restore() local
371 ro_sel = fuse->ring_osc_idx; in cpr_corner_restore()
373 gcnt |= fuse->quot - corner->quot_adjust; in cpr_corner_restore()
377 step_quot |= fuse->step_quot & RBCPR_STEP_QUOT_STEPQUOT_MASK; in cpr_corner_restore()
802 struct fuse_corner *fuse = drv->fuse_corners; in cpr_populate_ring_osc_idx() local
803 struct fuse_corner *end = fuse + drv->desc->num_fuse_corners; in cpr_populate_ring_osc_idx()
808 for (; fuse < end; fuse++, fuses++) { in cpr_populate_ring_osc_idx()
812 fuse->ring_osc_idx = data; in cpr_populate_ring_osc_idx()
[all …]
/linux-6.14.4/fs/fuse/
DKconfig3 tristate "FUSE (Filesystem in Userspace) support"
6 With FUSE it is possible to implement a fully functional filesystem
10 from the FUSE homepage:
13 installed if you've installed the "fuse" package itself.
15 See <file:Documentation/filesystems/fuse.rst> for more information.
19 a filesystem based on FUSE, answer Y or M.
25 This FUSE extension allows character devices to be
57 bool "FUSE passthrough operations support"
62 This allows bypassing FUSE server by mapping specific FUSE operations
68 bool "FUSE communication over io-uring"
[all …]
DMakefile3 # Makefile for the FUSE filesystem.
9 obj-$(CONFIG_FUSE_FS) += fuse.o
13 fuse-y := dev.o dir.o file.o inode.o control.o xattr.o acl.o readdir.o ioctl.o
14 fuse-y += iomode.o
15 fuse-$(CONFIG_FUSE_DAX) += dax.o
16 fuse-$(CONFIG_FUSE_PASSTHROUGH) += passthrough.o
17 fuse-$(CONFIG_SYSCTL) += sysctl.o
18 fuse-$(CONFIG_FUSE_IO_URING) += dev_uring.o
Ddev_uring_i.h3 * FUSE: Filesystem in Userspace
23 /* The ring entry is waiting for new fuse requests */
26 /* The ring entry got assigned a fuse req */
39 /** A fuse ring entry, part of the ring queue */
61 * back pointer to the main fuse uring structure that holds this
91 /* fuse requests waiting for an entry slot */
94 /* background fuse requests */
Dsysctl.c3 * linux/fs/fuse/fuse_sysctl.c
5 * Sysctl interface to fuse parameters
30 fuse_table_header = register_sysctl("fs/fuse", fuse_sysctl_table); in fuse_sysctl_register()
Dacl.c2 * FUSE: Filesystem in Userspace
84 * FUSE daemons before FUSE_POSIX_ACL was introduced could get and set in fuse_get_inode_acl()
119 * Fuse userspace is responsible for updating access in fuse_set_acl()
142 * Fuse daemons without FUSE_POSIX_ACL never changed the passed in fuse_set_acl()
159 * Fuse daemons without FUSE_POSIX_ACL never cached POSIX ACLs in fuse_set_acl()
/linux-6.14.4/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/
Dbase.c27 nvkm_fuse_read(struct nvkm_fuse *fuse, u32 addr) in nvkm_fuse_read() argument
29 return fuse->func->read(fuse, addr); in nvkm_fuse_read()
47 struct nvkm_fuse *fuse; in nvkm_fuse_new_() local
48 if (!(fuse = *pfuse = kzalloc(sizeof(*fuse), GFP_KERNEL))) in nvkm_fuse_new_()
50 nvkm_subdev_ctor(&nvkm_fuse, device, type, inst, &fuse->subdev); in nvkm_fuse_new_()
51 fuse->func = func; in nvkm_fuse_new_()
52 spin_lock_init(&fuse->lock); in nvkm_fuse_new_()
DKbuild2 nvkm-y += nvkm/subdev/fuse/base.o
3 nvkm-y += nvkm/subdev/fuse/nv50.o
4 nvkm-y += nvkm/subdev/fuse/gf100.o
5 nvkm-y += nvkm/subdev/fuse/gm107.o
Dnv50.c27 nv50_fuse_read(struct nvkm_fuse *fuse, u32 addr) in nv50_fuse_read() argument
29 struct nvkm_device *device = fuse->subdev.device; in nv50_fuse_read()
34 spin_lock_irqsave(&fuse->lock, flags); in nv50_fuse_read()
38 spin_unlock_irqrestore(&fuse->lock, flags); in nv50_fuse_read()
Dgf100.c27 gf100_fuse_read(struct nvkm_fuse *fuse, u32 addr) in gf100_fuse_read() argument
29 struct nvkm_device *device = fuse->subdev.device; in gf100_fuse_read()
34 spin_lock_irqsave(&fuse->lock, flags); in gf100_fuse_read()
40 spin_unlock_irqrestore(&fuse->lock, flags); in gf100_fuse_read()
/linux-6.14.4/Documentation/devicetree/bindings/opp/
Dopp-v2-qcom-level.yaml27 qcom,opp-fuse-level:
29 A positive value representing the fuse corner/level associated with
30 this OPP node. Sometimes several corners/levels shares a certain fuse
31 corner/level. A fuse corner/level contains e.g. ref uV, min uV,
39 - qcom,opp-fuse-level
53 qcom,opp-fuse-level = <1>;
57 qcom,opp-fuse-level = <2>;
61 qcom,opp-fuse-level = <3>;
/linux-6.14.4/Documentation/devicetree/bindings/fuse/
Dnvidia,tegra20-fuse.yaml4 $id: http://devicetree.org/schemas/fuse/nvidia,tegra20-fuse.yaml#
7 title: NVIDIA Tegra FUSE block
38 - const: fuse
45 - const: fuse
81 fuse@7000f800 {
85 clock-names = "fuse";
87 reset-names = "fuse";
/linux-6.14.4/drivers/media/platform/amphion/
Dvpu_imx8q.c228 u32 fuse = vpu_imx8q_get_fuse(); in vpu_imx8q_check_codec() local
231 if (fuse & VPU_ENCODER_MASK) in vpu_imx8q_check_codec()
234 fuse >>= VPU_IMX_DECODER_FUSE_OFFSET; in vpu_imx8q_check_codec()
235 fuse &= VPU_DECODER_MASK; in vpu_imx8q_check_codec()
237 if (fuse == VPU_DECODER_MASK) in vpu_imx8q_check_codec()
245 u32 fuse = vpu_imx8q_get_fuse(); in vpu_imx8q_check_fmt() local
248 fuse >>= VPU_IMX_DECODER_FUSE_OFFSET; in vpu_imx8q_check_fmt()
249 fuse &= VPU_DECODER_MASK; in vpu_imx8q_check_fmt()
251 if (fuse == VPU_DECODER_HEVC_MASK && pixelfmt == V4L2_PIX_FMT_HEVC) in vpu_imx8q_check_fmt()
253 if (fuse == VPU_DECODER_H264_MASK && pixelfmt == V4L2_PIX_FMT_H264) in vpu_imx8q_check_fmt()
[all …]
/linux-6.14.4/drivers/gpu/drm/nouveau/nvkm/subdev/volt/
Dgf117.c26 #include <subdev/fuse.h>
32 struct nvkm_fuse *fuse = device->fuse; in gf117_volt_speedo_read() local
34 if (!fuse) in gf117_volt_speedo_read()
37 return nvkm_fuse_read(fuse, 0x3a8); in gf117_volt_speedo_read()
Dgf100.c26 #include <subdev/fuse.h>
32 struct nvkm_fuse *fuse = device->fuse; in gf100_volt_speedo_read() local
34 if (!fuse) in gf100_volt_speedo_read()
37 return nvkm_fuse_read(fuse, 0x1cc); in gf100_volt_speedo_read()
/linux-6.14.4/Documentation/devicetree/bindings/nvmem/
Drenesas,rcar-efuse.yaml7 title: R-Car E-FUSE connected to PFC
13 The E-FUSE is a type of non-volatile memory, which is accessible through the
27 description: PFC System Group Fuse Control and Monitor register block
52 fuse@e6078800 {

12345678910>>...12