| /kernel/linux/linux-6.6/drivers/soc/tegra/fuse/ |
| D | fuse-tegra20.c | 22 #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 …]
|
| D | fuse-tegra.c | 22 #include <soc/tegra/fuse.h> 24 #include "fuse.h" 61 static struct tegra_fuse *fuse = &(struct tegra_fuse) { variable 101 struct tegra_fuse *fuse = priv; in tegra_fuse_read() local 105 buffer[i] = fuse->read(fuse, offset + i * 4); in tegra_fuse_read() 112 fuse->base = (void __iomem *)base; in tegra_fuse_restore() 113 fuse->clk = NULL; in tegra_fuse_restore() 118 void __iomem *base = fuse->base; in tegra_fuse_probe() 128 fuse->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in tegra_fuse_probe() 129 if (IS_ERR(fuse->base)) in tegra_fuse_probe() [all …]
|
| D | fuse-tegra30.c | 17 #include <soc/tegra/fuse.h> 19 #include "fuse.h" 42 static u32 tegra30_fuse_read_early(struct tegra_fuse *fuse, unsigned int offset) in tegra30_fuse_read_early() argument 44 if (WARN_ON(!fuse->base)) in tegra30_fuse_read_early() 47 return readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra30_fuse_read_early() 50 static u32 tegra30_fuse_read(struct tegra_fuse *fuse, unsigned int offset) in tegra30_fuse_read() argument 55 err = pm_runtime_resume_and_get(fuse->dev); in tegra30_fuse_read() 59 value = readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra30_fuse_read() 61 pm_runtime_put(fuse->dev); in tegra30_fuse_read() 88 static void __init tegra30_fuse_init(struct tegra_fuse *fuse) in tegra30_fuse_init() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/tegra/fuse/ |
| D | fuse-tegra20.c | 21 #include <soc/tegra/fuse.h> 23 #include "fuse.h" 29 static u32 tegra20_fuse_read_early(struct tegra_fuse *fuse, unsigned int offset) in tegra20_fuse_read_early() argument 31 return readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra20_fuse_read_early() 36 struct tegra_fuse *fuse = args; in apb_dma_complete() local 38 complete(&fuse->apbdma.wait); in apb_dma_complete() 41 static u32 tegra20_fuse_read(struct tegra_fuse *fuse, unsigned int offset) in tegra20_fuse_read() argument 49 mutex_lock(&fuse->apbdma.lock); in tegra20_fuse_read() 51 fuse->apbdma.config.src_addr = fuse->phys + FUSE_BEGIN + offset; in tegra20_fuse_read() 53 err = dmaengine_slave_config(fuse->apbdma.chan, &fuse->apbdma.config); in tegra20_fuse_read() [all …]
|
| D | fuse-tegra.c | 20 #include <soc/tegra/fuse.h> 22 #include "fuse.h" 46 static struct tegra_fuse *fuse = &(struct tegra_fuse) { variable 86 struct tegra_fuse *fuse = priv; in tegra_fuse_read() local 90 buffer[i] = fuse->read(fuse, offset + i * 4); in tegra_fuse_read() 185 void __iomem *base = fuse->base; in tegra_fuse_probe() 192 fuse->phys = res->start; in tegra_fuse_probe() 193 fuse->base = devm_ioremap_resource(&pdev->dev, res); in tegra_fuse_probe() 194 if (IS_ERR(fuse->base)) { in tegra_fuse_probe() 195 err = PTR_ERR(fuse->base); in tegra_fuse_probe() [all …]
|
| D | fuse-tegra30.c | 17 #include <soc/tegra/fuse.h> 19 #include "fuse.h" 42 static u32 tegra30_fuse_read_early(struct tegra_fuse *fuse, unsigned int offset) in tegra30_fuse_read_early() argument 44 if (WARN_ON(!fuse->base)) in tegra30_fuse_read_early() 47 return readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra30_fuse_read_early() 50 static u32 tegra30_fuse_read(struct tegra_fuse *fuse, unsigned int offset) in tegra30_fuse_read() argument 55 err = clk_prepare_enable(fuse->clk); in tegra30_fuse_read() 57 dev_err(fuse->dev, "failed to enable FUSE clock: %d\n", err); in tegra30_fuse_read() 61 value = readl_relaxed(fuse->base + FUSE_BEGIN + offset); in tegra30_fuse_read() 63 clk_disable_unprepare(fuse->clk); in tegra30_fuse_read() [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/qcom/ |
| D | cpr.c | 145 /* fuse quot */ 149 /* fuse quot_offset */ 366 struct fuse_corner *fuse = corner->fuse_corner; in cpr_corner_restore() local 370 ro_sel = fuse->ring_osc_idx; in cpr_corner_restore() 372 gcnt |= fuse->quot - corner->quot_adjust; in cpr_corner_restore() 376 step_quot |= fuse->step_quot & RBCPR_STEP_QUOT_STEPQUOT_MASK; in cpr_corner_restore() 806 struct fuse_corner *fuse = drv->fuse_corners; in cpr_populate_ring_osc_idx() local 807 struct fuse_corner *end = fuse + drv->desc->num_fuse_corners; in cpr_populate_ring_osc_idx() 812 for (; fuse < end; fuse++, fuses++) { in cpr_populate_ring_osc_idx() 816 fuse->ring_osc_idx = data; in cpr_populate_ring_osc_idx() [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/qcom/ |
| D | cpr.c | 146 /* 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() 839 struct fuse_corner *fuse = drv->fuse_corners; in cpr_populate_ring_osc_idx() local 840 struct fuse_corner *end = fuse + drv->desc->num_fuse_corners; in cpr_populate_ring_osc_idx() 845 for (; fuse < end; fuse++, fuses++) { in cpr_populate_ring_osc_idx() 850 fuse->ring_osc_idx = data; in cpr_populate_ring_osc_idx() [all …]
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ |
| D | fuse.rst | 4 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 …]
|
| D | virtiofs.rst | 46 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
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/ |
| D | base.c | 27 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_()
|
| D | Kbuild | 2 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
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/ |
| D | base.c | 27 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, index, &fuse->subdev); in nvkm_fuse_new_() 51 fuse->func = func; in nvkm_fuse_new_() 52 spin_lock_init(&fuse->lock); in nvkm_fuse_new_()
|
| D | Kbuild | 2 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
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ |
| D | virtiofs.rst | 46 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
|
| D | fuse.rst | 4 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/opp/ |
| D | opp-v2-qcom-level.yaml | 27 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>;
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/fuse/ |
| D | nvidia,tegra20-fuse.yaml | 4 $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";
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/fuse/ |
| D | nvidia,tegra20-fuse.txt | 1 NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block. 12 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data 20 of the fuse registers. 24 - fuse 28 - fuse 32 fuse@7000f800 { 37 clock-names = "fuse"; 39 reset-names = "fuse";
|
| /kernel/linux/linux-5.10/fs/fuse/ |
| D | Kconfig | 3 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
|
| D | Makefile | 3 # Makefile for the FUSE filesystem. 6 obj-$(CONFIG_FUSE_FS) += fuse.o 10 fuse-y := dev.o dir.o file.o inode.o control.o xattr.o acl.o readdir.o 11 fuse-$(CONFIG_FUSE_DAX) += dax.o
|
| /kernel/linux/linux-6.6/fs/fuse/ |
| D | Kconfig | 3 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
|
| D | Makefile | 3 # Makefile for the FUSE filesystem. 6 obj-$(CONFIG_FUSE_FS) += fuse.o 10 fuse-y := dev.o dir.o file.o inode.o control.o xattr.o acl.o readdir.o ioctl.o 11 fuse-$(CONFIG_FUSE_DAX) += dax.o
|
| /kernel/linux/linux-6.6/drivers/media/platform/amphion/ |
| D | vpu_imx8q.c | 228 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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/volt/ |
| D | gf117.c | 26 #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()
|