Symbol: path
arch/alpha/kernel/osf_sys.c
495
SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
arch/alpha/kernel/osf_sys.c
502
retval = osf_ufs_mount(path, data, flag);
arch/alpha/kernel/osf_sys.c
505
retval = osf_cdfs_mount(path, data, flag);
arch/alpha/kernel/osf_sys.c
508
retval = osf_procfs_mount(path, data, flag);
arch/alpha/kernel/osf_sys.c
592
char __user *path;
arch/alpha/kernel/osf_sys.c
603
char __user *path;
arch/alpha/kernel/osf_sys.c
618
char __user *path;
arch/arc/plat-hsdk/platform.c
120
pr_err("failed to tweak %s to %scoherent\n", path, coherent ? "" : "non");
arch/arc/plat-hsdk/platform.c
88
static int __init hsdk_tweak_node_coherency(const char *path, bool coherent)
arch/arc/plat-hsdk/platform.c
95
node = fdt_path_offset(fdt, path);
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c
134
const char *path;
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c
167
elf.path, ## __VA_ARGS__); \
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c
175
elf.path, strerror(errno)); \
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c
248
static void init_elf(const char *path)
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c
254
elf.path = path;
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c
257
fd = open(path, O_RDONLY);
arch/m68k/include/asm/oplib.h
273
extern int prom_pathtoinode(char *path);
arch/mips/generic/yamon-dt.c
160
char mode_var_name[9], path[20], parity;
arch/mips/generic/yamon-dt.c
211
WARN_ON(snprintf(path, sizeof(path), "serial%u:%u%c%u%s",
arch/mips/generic/yamon-dt.c
213
hw_flow ? "r" : "") >= sizeof(path));
arch/mips/generic/yamon-dt.c
225
err = fdt_setprop_string(fdt, chosen_off, "stdout-path", path);
arch/mips/kernel/linux32.c
54
SYSCALL_DEFINE4(32_truncate64, const char __user *, path,
arch/mips/kernel/linux32.c
57
return ksys_truncate(path, merge_64(a2, a3));
arch/mips/vdso/genvdso.c
108
static void *map_vdso(const char *path, size_t *_size)
arch/mips/vdso/genvdso.c
115
fd = open(path, O_RDWR);
arch/mips/vdso/genvdso.c
118
path, strerror(errno));
arch/mips/vdso/genvdso.c
124
path, strerror(errno));
arch/mips/vdso/genvdso.c
133
path, strerror(errno));
arch/mips/vdso/genvdso.c
143
path);
arch/mips/vdso/genvdso.c
155
program_name, path);
arch/mips/vdso/genvdso.c
167
program_name, path);
arch/mips/vdso/genvdso.c
175
program_name, path);
arch/mips/vdso/genvdso.c
181
program_name, path);
arch/mips/vdso/genvdso.c
191
static bool patch_vdso(const char *path, void *vdso)
arch/mips/vdso/genvdso.c
194
return patch_vdso64(path, vdso);
arch/mips/vdso/genvdso.c
196
return patch_vdso32(path, vdso);
arch/mips/vdso/genvdso.c
199
static bool get_symbols(const char *path, void *vdso)
arch/mips/vdso/genvdso.c
202
return get_symbols64(path, vdso);
arch/mips/vdso/genvdso.c
204
return get_symbols32(path, vdso);
arch/mips/vdso/genvdso.h
126
program_name, path, vdso_symbols[i].name);
arch/mips/vdso/genvdso.h
36
program_name, path);
arch/mips/vdso/genvdso.h
44
program_name, path);
arch/mips/vdso/genvdso.h
58
static inline bool FUNC(get_symbols)(const char *path, void *vdso)
arch/mips/vdso/genvdso.h
7
static inline bool FUNC(patch_vdso)(const char *path, void *vdso)
arch/mips/vdso/genvdso.h
82
path);
arch/parisc/include/asm/hardware.h
109
struct hardware_path *path);
arch/parisc/include/asm/hardware.h
117
extern char *print_pa_hwpath(struct parisc_device *dev, char *path);
arch/parisc/include/asm/hardware.h
118
extern char *print_pci_hwpath(struct pci_dev *dev, char *path);
arch/parisc/include/asm/hardware.h
119
extern void get_pci_node_path(struct pci_dev *dev, struct hardware_path *path);
arch/parisc/include/asm/hardware.h
122
extern void device_to_hwpath(struct device *dev, struct hardware_path *path);
arch/parisc/include/uapi/asm/pdc.h
379
struct hardware_path path;
arch/parisc/kernel/drivers.c
1022
get_node_path(dev->dev.parent, &mod_path.path);
arch/parisc/kernel/drivers.c
1023
mod_path.path.mod = dev->hw_path;
arch/parisc/kernel/drivers.c
1042
pr_cont(".flags = 0x%x, ", mod_path.path.flags);
arch/parisc/kernel/drivers.c
1044
(unsigned char)mod_path.path.bc[0],
arch/parisc/kernel/drivers.c
1045
(unsigned char)mod_path.path.bc[1],
arch/parisc/kernel/drivers.c
1046
(unsigned char)mod_path.path.bc[2],
arch/parisc/kernel/drivers.c
1047
(unsigned char)mod_path.path.bc[3],
arch/parisc/kernel/drivers.c
1048
(unsigned char)mod_path.path.bc[4],
arch/parisc/kernel/drivers.c
1049
(unsigned char)mod_path.path.bc[5]);
arch/parisc/kernel/drivers.c
1050
pr_cont(".mod = 0x%02x }\n", (unsigned char)mod_path.path.mod);
arch/parisc/kernel/drivers.c
310
static void get_node_path(struct device *dev, struct hardware_path *path)
arch/parisc/kernel/drivers.c
313
memset(&path->bc, -1, 6);
arch/parisc/kernel/drivers.c
317
path->mod = PCI_FUNC(devfn);
arch/parisc/kernel/drivers.c
318
path->bc[i--] = PCI_SLOT(devfn);
arch/parisc/kernel/drivers.c
325
path->bc[i--] = PCI_SLOT(devfn) | (PCI_FUNC(devfn)<< 5);
arch/parisc/kernel/drivers.c
327
path->bc[i--] = to_parisc_device(dev)->hw_path;
arch/parisc/kernel/drivers.c
333
static char *print_hwpath(struct hardware_path *path, char *output)
arch/parisc/kernel/drivers.c
337
if (path->bc[i] == -1)
arch/parisc/kernel/drivers.c
339
output += sprintf(output, "%u/", (unsigned char) path->bc[i]);
arch/parisc/kernel/drivers.c
341
output += sprintf(output, "%u", (unsigned char) path->mod);
arch/parisc/kernel/drivers.c
356
struct hardware_path path;
arch/parisc/kernel/drivers.c
358
get_node_path(dev->dev.parent, &path);
arch/parisc/kernel/drivers.c
359
path.mod = dev->hw_path;
arch/parisc/kernel/drivers.c
360
return print_hwpath(&path, output);
arch/parisc/kernel/drivers.c
374
void get_pci_node_path(struct pci_dev *pdev, struct hardware_path *path)
arch/parisc/kernel/drivers.c
376
get_node_path(&pdev->dev, path);
arch/parisc/kernel/drivers.c
391
struct hardware_path path;
arch/parisc/kernel/drivers.c
393
get_pci_node_path(dev, &path);
arch/parisc/kernel/drivers.c
394
return print_hwpath(&path, output);
arch/parisc/kernel/drivers.c
402
struct hardware_path path;
arch/parisc/kernel/drivers.c
407
get_node_path(padev->dev.parent, &path);
arch/parisc/kernel/drivers.c
410
if (path.bc[i] == -1)
arch/parisc/kernel/drivers.c
412
output += sprintf(output, "%u:", (unsigned char) path.bc[i]);
arch/parisc/kernel/drivers.c
778
void device_to_hwpath(struct device *dev, struct hardware_path *path)
arch/parisc/kernel/drivers.c
783
get_node_path(dev->parent, path);
arch/parisc/kernel/drivers.c
784
path->mod = padev->hw_path;
arch/parisc/kernel/drivers.c
786
get_node_path(dev, path);
arch/parisc/kernel/drivers.c
848
struct hardware_path path;
arch/parisc/kernel/drivers.c
850
get_node_path(parent, &path);
arch/parisc/kernel/drivers.c
858
path.mod = i;
arch/parisc/kernel/drivers.c
859
dev = alloc_pa_dev(hpa, &path);
arch/parisc/kernel/inventory.c
473
dev = alloc_pa_dev(r_addr->hpa, &module_path->path);
arch/parisc/kernel/inventory.c
499
memset(module_path.path.bc, 0xff, 6);
arch/parisc/kernel/inventory.c
500
module_path.path.mod = mod;
arch/parisc/kernel/inventory.c
505
memset(module_path.path.bc, 0xff, 4);
arch/parisc/kernel/inventory.c
506
module_path.path.bc[4] = mod;
arch/parisc/kernel/inventory.c
509
module_path.path.bc[5] = 0;
arch/parisc/kernel/inventory.c
510
module_path.path.mod = func;
arch/parisc/kernel/inventory.c
583
dev = alloc_pa_dev(module_result.mod_addr, &module_path.path);
arch/parisc/kernel/sys_parisc.c
210
asmlinkage long parisc_truncate64(const char __user * path,
arch/parisc/kernel/sys_parisc.c
213
return ksys_truncate(path, (long)high << 32 | low);
arch/parisc/kernel/sys_parisc.c
224
asmlinkage long sys_truncate64(const char __user * path, unsigned long length)
arch/parisc/kernel/sys_parisc.c
226
return ksys_truncate(path, length);
arch/parisc/kernel/sys_parisc.c
238
asmlinkage long parisc_truncate64(const char __user * path,
arch/parisc/kernel/sys_parisc.c
241
return ksys_truncate(path, (loff_t)high << 32 | low);
arch/powerpc/boot/4xx.c
467
static void eplike_fixup_uart_clk(int index, const char *path,
arch/powerpc/boot/4xx.c
496
dt_fixup_clock(path, clock);
arch/powerpc/boot/devtree.c
82
void dt_fixup_clock(const char *path, u32 freq)
arch/powerpc/boot/devtree.c
84
void *devp = finddevice(path);
arch/powerpc/boot/devtree.c
87
printf("%s: clock-frequency <- %x (%dMHz)\n\r", path, freq, MHZ(freq));
arch/powerpc/boot/libfdt-wrapper.c
62
static void *fdt_wrapper_finddevice(const char *path)
arch/powerpc/boot/libfdt-wrapper.c
64
return offset_devp(fdt_path_offset(fdt, path));
arch/powerpc/boot/ops.h
174
char path[MAX_PATH_LEN];
arch/powerpc/boot/ops.h
175
if (getprop(devp, alias, path, MAX_PATH_LEN) > 0)
arch/powerpc/boot/ops.h
176
return finddevice(path);
arch/powerpc/boot/ops.h
193
void dt_fixup_clock(const char *path, u32 freq);
arch/powerpc/boot/planetcore.c
106
char *path;
arch/powerpc/boot/planetcore.c
119
path = get_path(node, prop_buf, MAX_PROP_LEN);
arch/powerpc/boot/planetcore.c
120
if (!path)
arch/powerpc/boot/planetcore.c
129
setprop_str(chosen, "linux,stdout-path", path);
arch/powerpc/boot/serial.c
87
char path[MAX_PATH_LEN];
arch/powerpc/boot/serial.c
93
if (getprop(devp, "linux,stdout-path", path, MAX_PATH_LEN) > 0 ||
arch/powerpc/boot/serial.c
94
getprop(devp, "stdout-path", path, MAX_PATH_LEN) > 0) {
arch/powerpc/boot/serial.c
95
devp = finddevice(path);
arch/powerpc/include/asm/syscalls.h
101
long sys_ppc_truncate64(const char __user *path, u32 reg4,
arch/powerpc/include/asm/syscalls.h
127
long compat_sys_ppc_truncate64(const char __user *path, u32 reg4,
arch/powerpc/kernel/legacy_serial.c
396
const char *path;
arch/powerpc/kernel/legacy_serial.c
402
path = of_get_property(of_chosen, "linux,stdout-path", NULL);
arch/powerpc/kernel/legacy_serial.c
403
if (path == NULL)
arch/powerpc/kernel/legacy_serial.c
404
path = of_get_property(of_chosen, "stdout-path", NULL);
arch/powerpc/kernel/legacy_serial.c
405
if (path != NULL) {
arch/powerpc/kernel/legacy_serial.c
406
stdout = of_find_node_by_path(path);
arch/powerpc/kernel/prom_init.c
1987
char *path = prom_scratch;
arch/powerpc/kernel/prom_init.c
2053
memset(path, 0, sizeof(prom_scratch));
arch/powerpc/kernel/prom_init.c
2056
path, sizeof(prom_scratch) - 1) == PROM_ERROR) {
arch/powerpc/kernel/prom_init.c
2061
prom_setprop(node, path, "linux,tce-base", &base, sizeof(base));
arch/powerpc/kernel/prom_init.c
2062
prom_setprop(node, path, "linux,tce-size", &minsize, sizeof(minsize));
arch/powerpc/kernel/prom_init.c
2064
prom_debug("TCE table: %s\n", path);
arch/powerpc/kernel/prom_init.c
2079
prom_printf("opening PHB %s", path);
arch/powerpc/kernel/prom_init.c
2080
phb_node = call_prom("open", 1, 1, path);
arch/powerpc/kernel/prom_init.c
2275
char *path = of_stdout_device;
arch/powerpc/kernel/prom_init.c
2286
memset(path, 0, 256);
arch/powerpc/kernel/prom_init.c
2287
call_prom("instance-to-path", 3, 1, prom.stdout, path, 255);
arch/powerpc/kernel/prom_init.c
2290
path, prom_strlen(path) + 1);
arch/powerpc/kernel/prom_init.c
2301
prom_setprop(stdout_node, path, "linux,boot-display", NULL, 0);
arch/powerpc/kernel/prom_init.c
2383
char type[16], *path;
arch/powerpc/kernel/prom_init.c
2416
path = prom_scratch;
arch/powerpc/kernel/prom_init.c
2417
memset(path, 0, sizeof(prom_scratch));
arch/powerpc/kernel/prom_init.c
2423
if (call_prom("package-to-path", 3, 1, node, path,
arch/powerpc/kernel/prom_init.c
2426
prom_printf("found display : %s, opening... ", path);
arch/powerpc/kernel/prom_init.c
2428
ih = call_prom("open", 1, 1, path);
arch/powerpc/kernel/prom_init.c
2436
prom_setprop(node, path, "linux,opened", NULL, 0);
arch/powerpc/kernel/prom_init.c
2591
char *namep, *prev_name, *sstart, *p, *ep, *lp, *path;
arch/powerpc/kernel/prom_init.c
2629
path = prom_scratch;
arch/powerpc/kernel/prom_init.c
2630
memset(path, 0, sizeof(prom_scratch));
arch/powerpc/kernel/prom_init.c
2631
call_prom("package-to-path", 3, 1, node, path, sizeof(prom_scratch) - 1);
arch/powerpc/kernel/prom_init.c
2651
" <%s>, node %s\n", pname, path);
arch/powerpc/kernel/prom_init.c
2681
prom_printf("WARNING: Can't find string index for <phandle> node %s\n", path);
arch/powerpc/kernel/sys_ppc32.c
94
const char __user *, path, u32, reg4,
arch/powerpc/kernel/sys_ppc32.c
97
return ksys_truncate(path, merge_64(len1, len2));
arch/powerpc/kexec/file_load_64.c
198
char path[NODE_PATH_LEN];
arch/powerpc/kexec/file_load_64.c
204
if (snprintf(path, NODE_PATH_LEN, "%pOF", dn) > (NODE_PATH_LEN - 1)) {
arch/powerpc/kexec/file_load_64.c
209
kexec_dprintk("Memory node path: %s\n", path);
arch/powerpc/kexec/file_load_64.c
212
node = fdt_path_offset(fdt, path);
arch/powerpc/kexec/file_load_64.c
214
pr_err("Malformed device tree: error reading %s\n", path);
arch/powerpc/platforms/cell/spufs/inode.c
266
static int spufs_context_open(const struct path *path)
arch/powerpc/platforms/cell/spufs/inode.c
268
FD_PREPARE(fdf, 0, dentry_open(path, O_RDONLY, current_cred()));
arch/powerpc/platforms/cell/spufs/inode.c
386
struct path path = {.mnt = mnt, .dentry = dentry};
arch/powerpc/platforms/cell/spufs/inode.c
432
ret = spufs_context_open(&path);
arch/powerpc/platforms/cell/spufs/inode.c
495
static int spufs_gang_open(const struct path *path)
arch/powerpc/platforms/cell/spufs/inode.c
501
FD_PREPARE(fdf, 0, dentry_open(path, O_RDONLY, current_cred()));
arch/powerpc/platforms/cell/spufs/inode.c
512
struct path path = {.mnt = mnt, .dentry = dentry};
arch/powerpc/platforms/cell/spufs/inode.c
517
ret = spufs_gang_open(&path);
arch/powerpc/platforms/cell/spufs/inode.c
527
long spufs_create(const struct path *path, struct dentry *dentry,
arch/powerpc/platforms/cell/spufs/inode.c
530
struct inode *dir = d_inode(path->dentry);
arch/powerpc/platforms/cell/spufs/inode.c
534
if (path->dentry->d_sb->s_type != &spufs_type)
arch/powerpc/platforms/cell/spufs/inode.c
542
if (path->dentry != path->dentry->d_sb->s_root)
arch/powerpc/platforms/cell/spufs/inode.c
549
ret = spufs_create_gang(dir, dentry, path->mnt, mode);
arch/powerpc/platforms/cell/spufs/inode.c
551
ret = spufs_create_context(dir, dentry, path->mnt, flags, mode,
arch/powerpc/platforms/cell/spufs/spufs.h
237
long spufs_create(const struct path *nd, struct dentry *dentry, unsigned int flags,
arch/powerpc/platforms/cell/spufs/syscalls.c
66
struct path path;
arch/powerpc/platforms/cell/spufs/syscalls.c
70
dentry = start_creating_user_path(AT_FDCWD, pathname, &path, LOOKUP_DIRECTORY);
arch/powerpc/platforms/cell/spufs/syscalls.c
73
ret = spufs_create(&path, dentry, flags, mode, neighbor);
arch/powerpc/platforms/cell/spufs/syscalls.c
74
end_creating_path(&path, dentry);
arch/powerpc/platforms/powermac/udbg_scc.c
71
const char *path;
arch/powerpc/platforms/powermac/udbg_scc.c
80
path = of_get_property(of_chosen, "linux,stdout-path", NULL);
arch/powerpc/platforms/powermac/udbg_scc.c
81
if (path != NULL)
arch/powerpc/platforms/powermac/udbg_scc.c
82
stdout = of_find_node_by_path(path);
arch/powerpc/platforms/powernv/opal-xscom.c
167
ent->path.data = (void *)kasprintf(GFP_KERNEL, "%pOF", dn);
arch/powerpc/platforms/powernv/opal-xscom.c
168
if (!ent->path.data) {
arch/powerpc/platforms/powernv/opal-xscom.c
173
ent->path.size = strlen((char *)ent->path.data);
arch/powerpc/platforms/powernv/opal-xscom.c
177
kfree(ent->path.data);
arch/powerpc/platforms/powernv/opal-xscom.c
182
debugfs_create_blob("devspec", 0400, dir, &ent->path);
arch/powerpc/platforms/powernv/opal-xscom.c
83
struct debugfs_blob_wrapper path;
arch/powerpc/platforms/pseries/ibmebus.c
276
char *path;
arch/powerpc/platforms/pseries/ibmebus.c
279
path = ibmebus_chomp(buf, count);
arch/powerpc/platforms/pseries/ibmebus.c
280
if (!path)
arch/powerpc/platforms/pseries/ibmebus.c
283
dev = bus_find_device(&ibmebus_bus_type, NULL, path,
arch/powerpc/platforms/pseries/ibmebus.c
288
__func__, path);
arch/powerpc/platforms/pseries/ibmebus.c
293
if ((dn = of_find_node_by_path(path))) {
arch/powerpc/platforms/pseries/ibmebus.c
298
__func__, path);
arch/powerpc/platforms/pseries/ibmebus.c
303
kfree(path);
arch/powerpc/platforms/pseries/ibmebus.c
313
char *path;
arch/powerpc/platforms/pseries/ibmebus.c
315
path = ibmebus_chomp(buf, count);
arch/powerpc/platforms/pseries/ibmebus.c
316
if (!path)
arch/powerpc/platforms/pseries/ibmebus.c
319
if ((dev = bus_find_device(&ibmebus_bus_type, NULL, path,
arch/powerpc/platforms/pseries/ibmebus.c
324
kfree(path);
arch/powerpc/platforms/pseries/ibmebus.c
328
__func__, path);
arch/powerpc/platforms/pseries/ibmebus.c
330
kfree(path);
arch/powerpc/platforms/pseries/of_helpers.c
18
struct device_node *pseries_of_derive_parent(const char *path)
arch/powerpc/platforms/pseries/of_helpers.c
25
tail = kbasename(path) - 1;
arch/powerpc/platforms/pseries/of_helpers.c
28
if (!strcmp(path, "/"))
arch/powerpc/platforms/pseries/of_helpers.c
31
if (tail > path) {
arch/powerpc/platforms/pseries/of_helpers.c
32
parent_path = kstrndup(path, tail - path, GFP_KERNEL);
arch/powerpc/platforms/pseries/of_helpers.h
7
struct device_node *pseries_of_derive_parent(const char *path);
arch/powerpc/platforms/pseries/reconfig.c
196
char *path, *end, *name;
arch/powerpc/platforms/pseries/reconfig.c
203
path = buf;
arch/powerpc/platforms/pseries/reconfig.c
210
if ((np = of_find_node_by_path(path))) {
arch/powerpc/platforms/pseries/reconfig.c
23
static int pSeries_reconfig_add_node(const char *path, struct property *proplist)
arch/powerpc/platforms/pseries/reconfig.c
232
rv = pSeries_reconfig_add_node(path, prop);
arch/powerpc/platforms/pseries/reconfig.c
32
np->full_name = kstrdup(kbasename(path), GFP_KERNEL);
arch/powerpc/platforms/pseries/reconfig.c
40
np->parent = pseries_of_derive_parent(path);
arch/powerpc/platforms/pseries/reconfig.c
48
printk(KERN_ERR "Failed to add device node %s\n", path);
arch/sparc/kernel/prom_32.c
295
const char *path;
arch/sparc/kernel/prom_32.c
298
path = of_get_property(dp, "stdout-path", NULL);
arch/sparc/kernel/prom_32.c
299
if (!path) {
arch/sparc/kernel/prom_32.c
303
strscpy(of_console_path, path, of_console_path_sz);
arch/sparc/kernel/sys_sparc32.c
54
COMPAT_SYSCALL_DEFINE3(truncate64, const char __user *, path, u32, high, u32, low)
arch/sparc/kernel/sys_sparc32.c
56
return ksys_truncate(path, ((u64)high << 32) | low);
arch/sparc/kernel/systbls.h
52
asmlinkage long compat_sys_truncate64(const char __user * path,
arch/um/drivers/vfio_user.c
110
kfree(path);
arch/um/drivers/vfio_user.c
116
char *path;
arch/um/drivers/vfio_user.c
119
path = uml_kmalloc(PATH_MAX, UM_GFP_KERNEL);
arch/um/drivers/vfio_user.c
120
if (!path)
arch/um/drivers/vfio_user.c
123
sprintf(path, "/dev/vfio/%d", group_id);
arch/um/drivers/vfio_user.c
125
fd = open(path, O_RDWR);
arch/um/drivers/vfio_user.c
132
kfree(path);
arch/um/drivers/vfio_user.c
76
char *path, *buf, *end;
arch/um/drivers/vfio_user.c
80
path = uml_kmalloc(PATH_MAX, UM_GFP_KERNEL);
arch/um/drivers/vfio_user.c
81
if (!path)
arch/um/drivers/vfio_user.c
84
sprintf(path, "/sys/bus/pci/devices/%s/iommu_group", device);
arch/um/drivers/vfio_user.c
92
r = readlink(path, buf, PATH_MAX);
arch/um/os-Linux/execvp.c
52
char *path = getenv("PATH");
arch/um/os-Linux/execvp.c
53
if (path == NULL)
arch/um/os-Linux/execvp.c
54
path = ":/bin:/usr/bin";
arch/um/os-Linux/execvp.c
57
pathlen = strlen(path);
arch/um/os-Linux/execvp.c
64
p = path;
arch/um/os-Linux/execvp.c
68
path = p;
arch/um/os-Linux/execvp.c
71
p = strchr(path, ':');
arch/um/os-Linux/execvp.c
73
p = strchr(path, '\0');
arch/um/os-Linux/execvp.c
75
if (p == path)
arch/um/os-Linux/execvp.c
80
startp = memcpy(name - (p - path), path, p - path);
arch/x86/events/intel/pt.c
1465
if (filter->path.dentry && !fr[range].start) {
arch/x86/include/asm/efi.h
271
#define __efi64_argmap_locate_device_path(protocol, path, handle) \
arch/x86/include/asm/efi.h
272
((protocol), (path), efi64_zero_upper(handle))
arch/x86/include/asm/efi.h
283
#define __efi64_argmap_load_file(protocol, path, policy, bufsize, buf) \
arch/x86/include/asm/efi.h
284
((protocol), (path), (policy), efi64_zero_upper(bufsize), (buf))
arch/x86/kernel/cpu/microcode/core.c
237
struct cpio_data __init find_microcode_in_initrd(const char *path)
arch/x86/kernel/cpu/microcode/core.c
269
return find_cpio_data(path, (void *)start, size, NULL);
arch/x86/kernel/cpu/microcode/internal.h
53
struct cpio_data find_microcode_in_initrd(const char *path);
arch/x86/platform/olpc/olpc_dt.c
162
static phandle __init olpc_dt_finddevice(const char *path)
arch/x86/platform/olpc/olpc_dt.c
165
const void *args[] = { path };
block/bdev.c
1086
struct file *bdev_file_open_by_path(const char *path, blk_mode_t mode,
block/bdev.c
1094
error = lookup_bdev(path, &dev);
block/bdev.c
1215
struct path path;
block/bdev.c
1221
error = kern_path(pathname, LOOKUP_FOLLOW, &path);
block/bdev.c
1225
inode = d_backing_inode(path.dentry);
block/bdev.c
1230
if (!may_open_dev(&path))
block/bdev.c
1236
path_put(&path);
block/bdev.c
1329
void bdev_statx(const struct path *path, struct kstat *stat, u32 request_mask)
block/bdev.c
1339
bdev = blkdev_get_no_open(d_backing_inode(path->dentry)->i_rdev, false);
drivers/accel/qaic/qaic_ras.c
147
u16 path;
drivers/accel/qaic/qaic_ras.c
263
le16_to_cpus(&sysbus2_syndrome->path);
drivers/accel/qaic/qaic_ras.c
441
sysbus2_syndrome->path,
drivers/acpi/acpi_adxl.c
140
char *path = ACPI_ADXL_PATH;
drivers/acpi/acpi_adxl.c
145
status = acpi_get_handle(NULL, path, &handle);
drivers/acpi/acpi_adxl.c
147
pr_debug("No ACPI handle for path %s\n", path);
drivers/acpi/acpica/aclocal.h
1161
char *path;
drivers/acpi/acpica/aclocal.h
1180
char *path;
drivers/acpi/acpica/aclocal.h
852
ACPI_PARSE_COMMON char *path;
drivers/acpi/acpica/acparser.h
167
char *path, u16 opcode, u32 create);
drivers/acpi/acpica/acresrc.h
183
const char *path, struct acpi_buffer *ret_buffer);
drivers/acpi/acpica/acutils.h
382
const char *path,
drivers/acpi/acpica/acutils.h
580
const char *path);
drivers/acpi/acpica/acutils.h
739
const char *path, acpi_status lookup_status);
drivers/acpi/acpica/dsfield.c
31
char *path,
drivers/acpi/acpica/dsfield.c
62
char *path,
drivers/acpi/acpica/dsfield.c
78
acpi_dm_add_op_to_external_list(op, path, ACPI_TYPE_REGION, 0, 0);
drivers/acpi/acpica/dsfield.c
80
status = acpi_ns_lookup(walk_state->scope_info, path, ACPI_TYPE_REGION,
drivers/acpi/acpica/dswload.c
110
char *path;
drivers/acpi/acpica/dswload.c
135
path = acpi_ps_get_next_namestring(&walk_state->parser_state);
drivers/acpi/acpica/dswload.c
153
acpi_ns_lookup(walk_state->scope_info, path, object_type,
drivers/acpi/acpica/dswload.c
163
acpi_dm_add_op_to_external_list(op, path,
drivers/acpi/acpica/dswload.c
166
acpi_ns_lookup(walk_state->scope_info, path,
drivers/acpi/acpica/dswload.c
173
ACPI_ERROR_NAMESPACE(walk_state->scope_info, path,
drivers/acpi/acpica/dswload.c
308
acpi_ns_lookup(walk_state->scope_info, path, object_type,
drivers/acpi/acpica/dswload.c
343
path, status);
drivers/acpi/acpica/dswload.c
365
op->named.path = path;
drivers/acpi/acpica/dswload.c
530
acpi_dm_add_op_to_external_list(op, op->named.path,
drivers/acpi/acpica/nsaccess.c
289
char *path = pathname;
drivers/acpi/acpica/nsaccess.c
363
path = "";
drivers/acpi/acpica/nsaccess.c
382
if (*path == (u8) AML_ROOT_PREFIX) {
drivers/acpi/acpica/nsaccess.c
391
path++;
drivers/acpi/acpica/nsaccess.c
410
while (*path == (u8) AML_PARENT_PREFIX) {
drivers/acpi/acpica/nsaccess.c
420
path++;
drivers/acpi/acpica/nsaccess.c
468
switch (*path) {
drivers/acpi/acpica/nsaccess.c
491
path++;
drivers/acpi/acpica/nsaccess.c
506
path++;
drivers/acpi/acpica/nsaccess.c
507
num_segments = (u32) (u8) * path;
drivers/acpi/acpica/nsaccess.c
508
path++;
drivers/acpi/acpica/nsaccess.c
528
ACPI_DEBUG_EXEC(acpi_ns_print_pathname(num_segments, path));
drivers/acpi/acpica/nsaccess.c
584
ACPI_MOVE_32_TO_32(&simple_name, path);
drivers/acpi/acpica/nsaccess.c
717
path += ACPI_NAMESEG_SIZE;
drivers/acpi/acpica/nsnames.c
204
#define ACPI_PATH_PUT8(path, size, byte, length) \
drivers/acpi/acpica/nsnames.c
208
(path)[(length)] = (byte); \
drivers/acpi/acpica/nsxfname.c
481
char *path;
drivers/acpi/acpica/nsxfname.c
515
path = acpi_ps_get_next_namestring(&parser_state);
drivers/acpi/acpica/nsxfname.c
546
acpi_ns_lookup(NULL, path, ACPI_TYPE_METHOD, ACPI_IMODE_LOAD_PASS1,
drivers/acpi/acpica/psargs.c
204
char *path;
drivers/acpi/acpica/psargs.c
212
path = acpi_ps_get_next_namestring(parser_state);
drivers/acpi/acpica/psargs.c
217
if (!path) {
drivers/acpi/acpica/psargs.c
218
arg->common.value.name = path;
drivers/acpi/acpica/psargs.c
230
status = acpi_ns_lookup(walk_state->scope_info, path,
drivers/acpi/acpica/psargs.c
261
node->name.ascii, node, method_desc, path));
drivers/acpi/acpica/psargs.c
271
name_op->common.value.name = path;
drivers/acpi/acpica/psargs.c
332
ACPI_ERROR_NAMESPACE(walk_state->scope_info, path, status);
drivers/acpi/acpica/psargs.c
345
arg->common.value.name = path;
drivers/acpi/acpica/rsutils.c
638
const char *path, struct acpi_buffer *ret_buffer)
drivers/acpi/acpica/rsutils.c
651
(struct acpi_namespace_node, handle), path,
drivers/acpi/acpica/uterror.c
303
const char *path, acpi_status method_status)
drivers/acpi/acpica/uterror.c
311
if (path) {
drivers/acpi/acpica/uterror.c
312
status = acpi_ns_get_node(prefix_node, path,
drivers/acpi/acpica/uteval.c
131
prefix_node, path, AE_TYPE);
drivers/acpi/acpica/uteval.c
135
path,
drivers/acpi/acpica/uteval.c
38
const char *path,
drivers/acpi/acpica/uteval.c
56
info->relative_pathname = path;
drivers/acpi/acpica/uteval.c
66
path));
drivers/acpi/acpica/uteval.c
69
prefix_node, path, status);
drivers/acpi/acpica/uteval.c
80
prefix_node, path, AE_NOT_EXIST);
drivers/acpi/acpica/utmisc.c
333
const char *path)
drivers/acpi/acpica/utmisc.c
375
if (path) {
drivers/acpi/acpica/utmisc.c
376
acpi_os_printf(".%s", path);
drivers/acpi/device_sysfs.c
23
struct acpi_buffer path = {ACPI_ALLOCATE_BUFFER, NULL};
drivers/acpi/device_sysfs.c
26
result = acpi_get_name(handle, ACPI_FULL_PATHNAME, &path);
drivers/acpi/device_sysfs.c
30
result = sysfs_emit(buf, "%s\n", (char *)path.pointer);
drivers/acpi/device_sysfs.c
31
kfree(path.pointer);
drivers/acpi/device_sysfs.c
461
static DEVICE_ATTR_RO(path);
drivers/acpi/device_sysfs.c
50
DATA_NODE_ATTR(path);
drivers/acpi/mipi-disco-img.c
764
const char *path = NULL, *orig_path;
drivers/acpi/mipi-disco-img.c
782
path = strnext(orig_path, "IPU");
drivers/acpi/mipi-disco-img.c
783
if (!path)
drivers/acpi/mipi-disco-img.c
784
path = strnext(orig_path, "LNK");
drivers/acpi/mipi-disco-img.c
785
if (!path)
drivers/acpi/mipi-disco-img.c
788
if (!(isdigit(path[0]) && path[1] == '.'))
drivers/acpi/mipi-disco-img.c
792
path = strnext(path, "PRT");
drivers/acpi/mipi-disco-img.c
793
if (path && isdigit(path[0]) && !path[1]) {
drivers/acpi/power.c
1001
const char *path;
drivers/acpi/power.c
1004
path = acpi_handle_path(handle);
drivers/acpi/power.c
1005
ret = path && strcmp(path, "\\_SB_.PCI0.GP12.PXP_") == 0;
drivers/acpi/power.c
1006
kfree(path);
drivers/acpi/scan.c
1355
struct acpi_buffer path = { sizeof(node_name), node_name };
drivers/acpi/scan.c
1361
if (ACPI_FAILURE(acpi_get_name(handle, ACPI_SINGLE_NAME, &path)) ||
drivers/acpi/scan.c
1362
strcmp("SMBS", path.pointer))
drivers/acpi/utils.c
600
const char *path;
drivers/acpi/utils.c
606
path = acpi_handle_path(handle);
drivers/acpi/utils.c
607
printk("%sACPI: %s: %pV", level, path ? path : "<n/a>", &vaf);
drivers/acpi/utils.c
610
kfree(path);
drivers/acpi/utils.c
632
const char *path;
drivers/acpi/utils.c
638
path = acpi_handle_path(handle);
drivers/acpi/utils.c
639
__dynamic_pr_debug(descriptor, "ACPI: %s: %pV", path ? path : "<n/a>", &vaf);
drivers/acpi/utils.c
642
kfree(path);
drivers/acpi/x86/utils.c
193
if (override_status_ids[i].path) {
drivers/acpi/x86/utils.c
194
struct acpi_buffer path = { ACPI_ALLOCATE_BUFFER, NULL };
drivers/acpi/x86/utils.c
197
if (acpi_get_name(adev->handle, ACPI_FULL_PATHNAME, &path))
drivers/acpi/x86/utils.c
200
match = strcmp((char *)path.pointer, override_status_ids[i].path) == 0;
drivers/acpi/x86/utils.c
201
kfree(path.pointer);
drivers/acpi/x86/utils.c
45
const char *path;
drivers/acpi/x86/utils.c
49
#define ENTRY(status, hid, uid, path, cpu_vfm, dmi...) { \
drivers/acpi/x86/utils.c
54
path, \
drivers/acpi/x86/utils.c
64
#define PRESENT_ENTRY_PATH(path, cpu_vfm, dmi...) \
drivers/acpi/x86/utils.c
65
ENTRY(ACPI_STA_DEFAULT, "", NULL, path, cpu_vfm, dmi)
drivers/acpi/x86/utils.c
67
#define NOT_PRESENT_ENTRY_PATH(path, cpu_vfm, dmi...) \
drivers/acpi/x86/utils.c
68
ENTRY(0, "", NULL, path, cpu_vfm, dmi)
drivers/base/devtmpfs.c
176
struct path path;
drivers/base/devtmpfs.c
178
dentry = start_creating_path(AT_FDCWD, name, &path, LOOKUP_DIRECTORY);
drivers/base/devtmpfs.c
182
dentry = vfs_mkdir(&nop_mnt_idmap, d_inode(path.dentry), dentry, mode, NULL);
drivers/base/devtmpfs.c
186
end_creating_path(&path, dentry);
drivers/base/devtmpfs.c
192
char *path;
drivers/base/devtmpfs.c
197
path = kstrdup(nodepath, GFP_KERNEL);
drivers/base/devtmpfs.c
198
if (!path)
drivers/base/devtmpfs.c
201
s = path;
drivers/base/devtmpfs.c
207
err = dev_mkdir(path, 0755);
drivers/base/devtmpfs.c
213
kfree(path);
drivers/base/devtmpfs.c
221
struct path path;
drivers/base/devtmpfs.c
224
dentry = start_creating_path(AT_FDCWD, nodename, &path, 0);
drivers/base/devtmpfs.c
227
dentry = start_creating_path(AT_FDCWD, nodename, &path, 0);
drivers/base/devtmpfs.c
232
err = vfs_mknod(&nop_mnt_idmap, d_inode(path.dentry), dentry, mode,
drivers/base/devtmpfs.c
248
end_creating_path(&path, dentry);
drivers/base/devtmpfs.c
254
struct path parent;
drivers/base/devtmpfs.c
273
char *path;
drivers/base/devtmpfs.c
276
path = kstrdup(nodepath, GFP_KERNEL);
drivers/base/devtmpfs.c
277
if (!path)
drivers/base/devtmpfs.c
283
base = strrchr(path, '/');
drivers/base/devtmpfs.c
287
err = dev_rmdir(path);
drivers/base/devtmpfs.c
292
kfree(path);
drivers/base/devtmpfs.c
319
struct path parent;
drivers/base/firmware_loader/main.c
485
module_param_string(path, fw_path_para, sizeof(fw_path_para), 0644);
drivers/base/firmware_loader/main.c
486
MODULE_PARM_DESC(path, "customized firmware image search path with a higher priority than default path");
drivers/base/firmware_loader/main.c
499
char *path, *nt = NULL;
drivers/base/firmware_loader/main.c
509
path = __getname();
drivers/base/firmware_loader/main.c
510
if (!path)
drivers/base/firmware_loader/main.c
530
len = snprintf(path, PATH_MAX, "%.*s/%s%s",
drivers/base/firmware_loader/main.c
549
rc = kernel_read_file_from_path_initns(path, fw_priv->offset,
drivers/base/firmware_loader/main.c
558
path, rc);
drivers/base/firmware_loader/main.c
562
path);
drivers/base/firmware_loader/main.c
569
dev_dbg(device, "Loading firmware from %s\n", path);
drivers/base/firmware_loader/main.c
591
__putname(path);
drivers/block/loop.c
1284
struct path path;
drivers/block/loop.c
1304
path = lo->lo_backing_file->f_path;
drivers/block/loop.c
1305
path_get(&path);
drivers/block/loop.c
1307
ret = vfs_getattr(&path, &stat, STATX_INO, AT_STATX_SYNC_AS_STAT);
drivers/block/loop.c
1313
path_put(&path);
drivers/block/ublk_drv.c
5152
struct path path;
drivers/block/ublk_drv.c
5155
err = kern_path(dev_path, LOOKUP_FOLLOW, &path);
drivers/block/ublk_drv.c
5159
err = vfs_getattr(&path, &stat, STATX_TYPE, AT_STATX_SYNC_AS_STAT);
drivers/block/ublk_drv.c
5168
d_backing_inode(path.dentry), mask);
drivers/block/ublk_drv.c
5170
path_put(&path);
drivers/block/xen-blkback/xenbus.c
697
const char *path, const char *token)
drivers/block/xen-blkfront.c
1824
char *path;
drivers/block/xen-blkfront.c
1835
path = kmalloc(pathsize, GFP_KERNEL);
drivers/block/xen-blkfront.c
1836
if (!path) {
drivers/block/xen-blkfront.c
1843
memset(path, 0, pathsize);
drivers/block/xen-blkfront.c
1844
snprintf(path, pathsize, "%s/queue-%u", dev->nodename, i);
drivers/block/xen-blkfront.c
1845
err = write_per_ring_nodes(xbt, rinfo, path);
drivers/block/xen-blkfront.c
1847
kfree(path);
drivers/block/xen-blkfront.c
1851
kfree(path);
drivers/clk/imx/clk.c
67
char *path;
drivers/clk/imx/clk.c
69
path = kasprintf(GFP_KERNEL, "/clocks/%s", name);
drivers/clk/imx/clk.c
70
if (!path)
drivers/clk/imx/clk.c
73
phandle.np = of_find_node_by_path(path);
drivers/clk/imx/clk.c
74
kfree(path);
drivers/clk/qcom/common.c
152
static int _qcom_cc_register_board_clk(struct device *dev, const char *path,
drivers/clk/qcom/common.c
165
node = of_get_child_by_name(clocks_node, path);
drivers/clk/qcom/common.c
177
init_data.name = path;
drivers/clk/qcom/common.c
195
init_data.parent_names = &path;
drivers/clk/qcom/common.c
208
int qcom_cc_register_board_clk(struct device *dev, const char *path,
drivers/clk/qcom/common.c
219
return _qcom_cc_register_board_clk(dev, path, name, rate, add_factor);
drivers/clk/qcom/common.h
78
extern int qcom_cc_register_board_clk(struct device *dev, const char *path,
drivers/clocksource/timer-integrator-ap.c
160
const char *path;
drivers/clocksource/timer-integrator-ap.c
182
"arm,timer-primary", &path);
drivers/clocksource/timer-integrator-ap.c
188
alias_node = of_find_node_by_path(path);
drivers/clocksource/timer-integrator-ap.c
202
"arm,timer-secondary", &path);
drivers/clocksource/timer-integrator-ap.c
208
alias_node = of_find_node_by_path(path);
drivers/crypto/ccp/sev-dev.c
263
struct path root __free(path_put) = {};
drivers/extcon/extcon-max14577.c
325
u8 path = CTRL1_SW_OPEN;
drivers/extcon/extcon-max14577.c
335
path = CTRL1_SW_USB;
drivers/extcon/extcon-max14577.c
339
path = CTRL1_SW_UART;
drivers/extcon/extcon-max14577.c
347
ret = max14577_muic_set_path(info, path, attached);
drivers/extcon/extcon-max77693.c
622
u8 path = MAX77693_CONTROL1_SW_OPEN;
drivers/extcon/extcon-max77693.c
632
path = MAX77693_CONTROL1_SW_USB;
drivers/extcon/extcon-max77693.c
637
path = MAX77693_CONTROL1_SW_UART;
drivers/extcon/extcon-max77693.c
645
ret = max77693_muic_set_path(info, path, attached);
drivers/extcon/extcon-max77843.c
413
u8 path = MAX77843_MUIC_CONTROL1_SW_OPEN;
drivers/extcon/extcon-max77843.c
421
path = MAX77843_MUIC_CONTROL1_SW_USB;
drivers/extcon/extcon-max77843.c
424
path = MAX77843_MUIC_CONTROL1_SW_UART;
drivers/extcon/extcon-max77843.c
430
ret = max77843_muic_set_path(info, path, attached, false);
drivers/firmware/efi/apple-properties.c
136
ptr = dev_header->path;
drivers/firmware/efi/apple-properties.c
35
struct efi_dev_path path[];
drivers/firmware/efi/fdtparams.c
107
node = fdt_path_offset(fdt, dt_params[i].path);
drivers/firmware/efi/fdtparams.c
113
dt_params[i].path);
drivers/firmware/efi/fdtparams.c
32
const char path[17];
drivers/firmware/efi/fdtparams.c
38
.path = "/hypervisor/uefi",
drivers/firmware/efi/fdtparams.c
49
.path = "/chosen",
drivers/firmware/qcom/qcom_scm.c
199
if (!__scm->path)
drivers/firmware/qcom/qcom_scm.c
204
ret = icc_set_bw(__scm->path, 0, UINT_MAX);
drivers/firmware/qcom/qcom_scm.c
219
if (!__scm->path)
drivers/firmware/qcom/qcom_scm.c
224
icc_set_bw(__scm->path, 0, 0);
drivers/firmware/qcom/qcom_scm.c
2700
scm->path = devm_of_icc_get(&pdev->dev, NULL);
drivers/firmware/qcom/qcom_scm.c
2701
if (IS_ERR(scm->path))
drivers/firmware/qcom/qcom_scm.c
2702
return dev_err_probe(&pdev->dev, PTR_ERR(scm->path),
drivers/firmware/qcom/qcom_scm.c
51
struct icc_path *path;
drivers/gpib/agilent_82357a/agilent_82357a.c
1476
char *path;
drivers/gpib/agilent_82357a/agilent_82357a.c
1498
path = kmalloc(path_length, GFP_KERNEL);
drivers/gpib/agilent_82357a/agilent_82357a.c
1499
if (!path) {
drivers/gpib/agilent_82357a/agilent_82357a.c
1504
usb_make_path(usb_dev, path, path_length);
drivers/gpib/agilent_82357a/agilent_82357a.c
1505
dev_info(&usb_dev->dev, "probe succeeded for path: %s\n", path);
drivers/gpib/agilent_82357a/agilent_82357a.c
1506
kfree(path);
drivers/gpib/ni_usb/ni_usb_gpib.c
2430
char *path;
drivers/gpib/ni_usb/ni_usb_gpib.c
2448
path = kmalloc(path_length, GFP_KERNEL);
drivers/gpib/ni_usb/ni_usb_gpib.c
2449
if (!path) {
drivers/gpib/ni_usb/ni_usb_gpib.c
2454
usb_make_path(usb_dev, path, path_length);
drivers/gpib/ni_usb/ni_usb_gpib.c
2455
dev_info(&usb_dev->dev, "probe succeeded for path: %s\n", path);
drivers/gpib/ni_usb/ni_usb_gpib.c
2456
kfree(path);
drivers/gpio/gpiolib-acpi-core.c
131
static struct gpio_desc *acpi_get_gpiod(char *path, unsigned int pin)
drivers/gpio/gpiolib-acpi-core.c
136
status = acpi_get_handle(NULL, path, &handle);
drivers/gpio/gpiolib-sysfs.c
729
char *path __free(kfree) = NULL;
drivers/gpio/gpiolib-sysfs.c
846
path = kasprintf(GFP_KERNEL, "gpio%u/value", gpiod_hwgpio(desc));
drivers/gpio/gpiolib-sysfs.c
847
if (!path) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
355
ATOM_DISPLAY_OBJECT_PATH *path;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
357
path = (ATOM_DISPLAY_OBJECT_PATH *) addr;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
358
path_size += le16_to_cpu(path->usSize);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
360
if (device_support & le16_to_cpu(path->usDeviceTag)) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
362
(le16_to_cpu(path->usConnObjectId) & OBJECT_ID_MASK)
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
366
if ((le16_to_cpu(path->usDeviceTag) ==
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
368
(le16_to_cpu(path->usDeviceTag) ==
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
374
con_obj_id, le16_to_cpu(path->usDeviceTag));
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
387
for (j = 0; j < ((le16_to_cpu(path->usSize) - 8) / 2); j++) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
389
(le16_to_cpu(path->usGraphicObjIds[j]) &
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
395
if (le16_to_cpu(path->usGraphicObjIds[j]) == encoder_obj) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
416
le16_to_cpu(path->usDeviceTag),
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
423
if (le16_to_cpu(path->usGraphicObjIds[j]) == router_obj_id) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
443
if (le16_to_cpu(path->usConnObjectId) ==
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
493
if ((le16_to_cpu(path->usDeviceTag) &
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
496
if (le16_to_cpu(path->usConnObjectId) ==
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
551
conn_id = le16_to_cpu(path->usConnObjectId);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
555
le16_to_cpu(path->usDeviceTag),
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2437
info->ext_disp_conn_info.path[i].device_connector_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2441
info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2445
info->ext_disp_conn_info.path[i].device_tag =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2447
info->ext_disp_conn_info.path[i].device_acpi_enum =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2449
info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2451
info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2453
info->ext_disp_conn_info.path[i].channel_mapping.raw =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2574
info->ext_disp_conn_info.path[i].device_connector_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2578
info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2582
info->ext_disp_conn_info.path[i].device_tag =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2584
info->ext_disp_conn_info.path[i].device_acpi_enum =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2586
info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2588
info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c
2590
info->ext_disp_conn_info.path[i].channel_mapping.raw =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2559
info->ext_disp_conn_info.path[i].device_connector_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2561
le16_to_cpu(info_v11->extdispconninfo.path[i].connectorobjid));
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2563
info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2566
info_v11->extdispconninfo.path[i].ext_encoder_objid));
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2568
info->ext_disp_conn_info.path[i].device_tag =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2570
info_v11->extdispconninfo.path[i].device_tag);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2571
info->ext_disp_conn_info.path[i].device_acpi_enum =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2573
info_v11->extdispconninfo.path[i].device_acpi_enum);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2574
info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2575
info_v11->extdispconninfo.path[i].auxddclut_index;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2576
info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2577
info_v11->extdispconninfo.path[i].hpdlut_index;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2578
info->ext_disp_conn_info.path[i].channel_mapping.raw =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2579
info_v11->extdispconninfo.path[i].channelmapping;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2580
info->ext_disp_conn_info.path[i].caps =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2581
le16_to_cpu(info_v11->extdispconninfo.path[i].caps);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2764
info->ext_disp_conn_info.path[i].device_connector_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2766
le16_to_cpu(info_v2_1->extdispconninfo.path[i].connectorobjid));
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2768
info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2771
info_v2_1->extdispconninfo.path[i].ext_encoder_objid));
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2773
info->ext_disp_conn_info.path[i].device_tag =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2775
info_v2_1->extdispconninfo.path[i].device_tag);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2776
info->ext_disp_conn_info.path[i].device_acpi_enum =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2778
info_v2_1->extdispconninfo.path[i].device_acpi_enum);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2779
info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2780
info_v2_1->extdispconninfo.path[i].auxddclut_index;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2781
info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2782
info_v2_1->extdispconninfo.path[i].hpdlut_index;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2783
info->ext_disp_conn_info.path[i].channel_mapping.raw =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2784
info_v2_1->extdispconninfo.path[i].channelmapping;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2785
info->ext_disp_conn_info.path[i].caps =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2786
le16_to_cpu(info_v2_1->extdispconninfo.path[i].caps);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2928
info->ext_disp_conn_info.path[i].device_connector_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2930
le16_to_cpu(info_v2_2->extdispconninfo.path[i].connectorobjid));
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2932
info->ext_disp_conn_info.path[i].ext_encoder_obj_id =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2935
info_v2_2->extdispconninfo.path[i].ext_encoder_objid));
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2937
info->ext_disp_conn_info.path[i].device_tag =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2939
info_v2_2->extdispconninfo.path[i].device_tag);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2940
info->ext_disp_conn_info.path[i].device_acpi_enum =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2942
info_v2_2->extdispconninfo.path[i].device_acpi_enum);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2943
info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2944
info_v2_2->extdispconninfo.path[i].auxddclut_index;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2945
info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2946
info_v2_2->extdispconninfo.path[i].hpdlut_index;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2947
info->ext_disp_conn_info.path[i].channel_mapping.raw =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2948
info_v2_2->extdispconninfo.path[i].channelmapping;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2949
info->ext_disp_conn_info.path[i].caps =
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
2950
le16_to_cpu(info_v2_2->extdispconninfo.path[i].caps);
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3084
if (info->ext_disp_conn_info.path[i].device_tag != 0)
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3094
info->ext_disp_conn_info.path[i].device_tag,
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3095
info->ext_disp_conn_info.path[i].device_acpi_enum,
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3096
info->ext_disp_conn_info.path[i].device_connector_id.id,
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3097
info->ext_disp_conn_info.path[i].ext_aux_ddc_lut_index,
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3098
info->ext_disp_conn_info.path[i].ext_hpd_pin_lut_index,
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3099
info->ext_disp_conn_info.path[i].ext_encoder_obj_id.id,
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3100
info->ext_disp_conn_info.path[i].caps
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3102
if ((info->ext_disp_conn_info.path[i].caps & AMD_EXT_DISPLAY_PATH_CAPS__EXT_CHIP_MASK) == AMD_EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN)
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3105
info->ext_disp_conn_info.path[i].caps &= ~AMD_EXT_DISPLAY_PATH_CAPS__EXT_CHIP_MASK;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
3106
info->ext_disp_conn_info.path[i].caps |= AMD_EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN;
drivers/gpu/drm/amd/display/dc/link/link_factory.c
753
struct external_display_path *path =
drivers/gpu/drm/amd/display/dc/link/link_factory.c
754
&bios->integrated_info->ext_disp_conn_info.path[i];
drivers/gpu/drm/amd/display/dc/link/link_factory.c
756
if (path->device_connector_id.enum_id == link->link_id.enum_id &&
drivers/gpu/drm/amd/display/dc/link/link_factory.c
757
path->device_connector_id.id == link->link_id.id &&
drivers/gpu/drm/amd/display/dc/link/link_factory.c
758
path->device_connector_id.type == link->link_id.type) {
drivers/gpu/drm/amd/display/dc/link/link_factory.c
760
path->device_acpi_enum == link->device_tag.acpi_device) {
drivers/gpu/drm/amd/display/dc/link/link_factory.c
761
link->ddi_channel_mapping = path->channel_mapping;
drivers/gpu/drm/amd/display/dc/link/link_factory.c
762
link->chip_caps = path->caps;
drivers/gpu/drm/amd/display/dc/link/link_factory.c
767
} else if (path->device_tag ==
drivers/gpu/drm/amd/display/dc/link/link_factory.c
769
link->ddi_channel_mapping = path->channel_mapping;
drivers/gpu/drm/amd/display/dc/link/link_factory.c
770
link->chip_caps = path->caps;
drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h
328
} path[MAX_NUMBER_OF_EXT_DISPLAY_PATH];
drivers/gpu/drm/amd/include/atomfirmware.h
1321
struct atom_ext_display_path path[7]; // total of fixed 7 entries.
drivers/gpu/drm/drm_connector.c
2730
const char *path)
drivers/gpu/drm/drm_connector.c
2737
strlen(path) + 1,
drivers/gpu/drm/drm_connector.c
2738
path,
drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
514
gsc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
334
drm_printf(p, "GSC firmware: %s\n", gsc->fw.file_selected.path);
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
335
if (gsc->fw.file_selected.path != gsc->fw.file_wanted.path)
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
336
drm_printf(p, "GSC firmware wanted: %s\n", gsc->fw.file_wanted.path);
drivers/gpu/drm/i915/gt/uc/intel_uc.c
432
intel_uc_fw_type_repr(fw->type), fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
1092
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, ERR_PTR(err));
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
1352
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
1353
if (uc_fw->file_selected.path != uc_fw->file_wanted.path)
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
1355
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_wanted.path);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
203
const char *path;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
215
.path = path_,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
316
if (uc_fw->file_selected.path) {
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
322
if (uc_fw->file_selected.path == blob->path)
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
323
uc_fw->file_selected.path = NULL;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
328
uc_fw->file_selected.path = blob->path;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
329
uc_fw->file_wanted.path = blob->path;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
338
if (!found && uc_fw->file_selected.path) {
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
340
uc_fw->file_selected.path = NULL;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
369
if (fw_blobs[i].blob.path != fw_blobs[j].blob.path)
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
377
fw_blobs[j].blob.patch, fw_blobs[j].blob.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
380
fw_blobs[i].blob.patch, fw_blobs[i].blob.path);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
470
const char *path = NULL;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
474
path = __override_guc_firmware_path(i915);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
477
path = __override_huc_firmware_path(i915);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
480
path = __override_gsc_firmware_path(i915);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
484
if (unlikely(path)) {
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
485
uc_fw->file_selected.path = path;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
523
GEM_BUG_ON(uc_fw->file_selected.path);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
539
intel_uc_fw_change_status(uc_fw, uc_fw->file_selected.path ? *uc_fw->file_selected.path ?
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
60
uc_fw->file_selected.path : intel_uc_fw_status_repr(status));
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
611
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
623
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
638
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
647
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
757
err = firmware_request_nowarn(fw, uc_fw->file_selected.path, dev);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
764
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
785
GEM_BUG_ON(!huc_selected->path || !guc_selected->path);
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
834
intel_uc_fw_type_repr(uc_fw->type), selected->path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
882
if (!uc_fw->file_selected.path) {
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
887
uc_fw->file_selected.path = file_ideal.path;
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
920
uc_fw->file_wanted.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
924
uc_fw->file_selected.path,
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
958
intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, ERR_PTR(err));
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
82
const char *path;
drivers/gpu/drm/i915/gvt/firmware.c
192
char *path;
drivers/gpu/drm/i915/gvt/firmware.c
196
path = kmalloc(PATH_MAX, GFP_KERNEL);
drivers/gpu/drm/i915/gvt/firmware.c
197
if (!path)
drivers/gpu/drm/i915/gvt/firmware.c
202
kfree(path);
drivers/gpu/drm/i915/gvt/firmware.c
210
kfree(path);
drivers/gpu/drm/i915/gvt/firmware.c
217
sprintf(path, "%s/vid_0x%04x_did_0x%04x_rid_0x%02x.golden_hw_state",
drivers/gpu/drm/i915/gvt/firmware.c
221
gvt_dbg_core("request hw state firmware %s...\n", path);
drivers/gpu/drm/i915/gvt/firmware.c
223
ret = request_firmware(&fw, path, gvt->gt->i915->drm.dev);
drivers/gpu/drm/i915/gvt/firmware.c
224
kfree(path);
drivers/gpu/drm/i915/i915_gpu_error.c
1091
kfree(uc->guc_fw.file_selected.path);
drivers/gpu/drm/i915/i915_gpu_error.c
1092
kfree(uc->huc_fw.file_selected.path);
drivers/gpu/drm/i915/i915_gpu_error.c
1093
kfree(uc->guc_fw.file_wanted.path);
drivers/gpu/drm/i915/i915_gpu_error.c
1094
kfree(uc->huc_fw.file_wanted.path);
drivers/gpu/drm/i915/i915_gpu_error.c
1839
error_uc->guc_fw.file_selected.path = kstrdup(uc->guc.fw.file_selected.path, ALLOW_FAIL);
drivers/gpu/drm/i915/i915_gpu_error.c
1840
error_uc->huc_fw.file_selected.path = kstrdup(uc->huc.fw.file_selected.path, ALLOW_FAIL);
drivers/gpu/drm/i915/i915_gpu_error.c
1841
error_uc->guc_fw.file_wanted.path = kstrdup(uc->guc.fw.file_wanted.path, ALLOW_FAIL);
drivers/gpu/drm/i915/i915_gpu_error.c
1842
error_uc->huc_fw.file_wanted.path = kstrdup(uc->huc.fw.file_wanted.path, ALLOW_FAIL);
drivers/gpu/drm/imagination/pvr_fw_trace.c
414
trace_seq_data->assert_buf.path,
drivers/gpu/drm/imagination/pvr_rogue_fwif.h
76
char path[ROGUE_FW_TRACE_BUFFER_ASSERT_SIZE];
drivers/gpu/drm/imagination/pvr_rogue_fwif_check.h
16
OFFSET_CHECK(struct rogue_fwif_file_info_buf, path, 0);
drivers/gpu/drm/mediatek/mtk_crtc.c
1004
int mtk_crtc_create(struct drm_device *drm_dev, const unsigned int *path,
drivers/gpu/drm/mediatek/mtk_crtc.c
1020
if (!path)
drivers/gpu/drm/mediatek/mtk_crtc.c
1029
enum mtk_ddp_comp_id comp_id = path[i];
drivers/gpu/drm/mediatek/mtk_crtc.c
1073
unsigned int comp_id = path[i];
drivers/gpu/drm/mediatek/mtk_crtc.c
1114
mtk_crtc->dma_dev = mtk_ddp_comp_dma_dev_get(&priv->ddp_comp[path[0]]);
drivers/gpu/drm/mediatek/mtk_crtc.h
18
int mtk_crtc_create(struct drm_device *drm_dev, const unsigned int *path,
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
504
const unsigned int *path,
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
510
if (path == NULL)
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
514
if (dev == ddp_comp[path[i]].dev)
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
537
static bool mtk_ddp_path_available(const unsigned int *path,
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
543
if (!path || !path_len)
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
548
if (path[i] == DDP_COMPONENT_DRM_OVL_ADAPTOR)
drivers/gpu/drm/mediatek/mtk_ddp_comp.c
551
if (!comp_node[path[i]])
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
247
icc_set_bw(kms->path[i], avg_bw, peak_bw);
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
1469
icc_set_bw(dpu_kms->path[i], 0, 0);
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
418
dpu_kms->path[0] = path0;
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
422
dpu_kms->path[1] = path1;
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
102
struct icc_path *path[2];
drivers/gpu/drm/msm/msm_io_utils.c
146
struct icc_path *path;
drivers/gpu/drm/msm/msm_io_utils.c
148
path = of_icc_get(dev, name);
drivers/gpu/drm/msm/msm_io_utils.c
149
if (path)
drivers/gpu/drm/msm/msm_io_utils.c
150
return path;
drivers/gpu/drm/nouveau/dispnv50/disp.c
1263
const char *path, struct nv50_mstc **pmstc)
drivers/gpu/drm/nouveau/dispnv50/disp.c
1298
drm_connector_set_path_property(&mstc->connector, path);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1367
struct drm_dp_mst_port *port, const char *path)
drivers/gpu/drm/nouveau/dispnv50/disp.c
1373
ret = nv50_mstc_new(mstm, port, path, &mstc);
drivers/gpu/drm/nouveau/include/nvkm/core/firmware.h
40
int nvkm_firmware_load_blob(const struct nvkm_subdev *subdev, const char *path,
drivers/gpu/drm/nouveau/include/nvkm/core/firmware.h
42
int nvkm_firmware_load_name(const struct nvkm_subdev *subdev, const char *path,
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
132
enum nvkm_acr_lsf_id, const char *path,
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
136
enum nvkm_acr_lsf_id, const char *path,
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
141
enum nvkm_acr_lsf_id, const char *path,
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
146
enum nvkm_acr_lsf_id, const char *path,
drivers/gpu/drm/nouveau/include/nvkm/subdev/acr.h
151
enum nvkm_acr_lsf_id, const char *path,
drivers/gpu/drm/nouveau/nvkm/core/firmware.c
32
char path[64];
drivers/gpu/drm/nouveau/nvkm/core/firmware.c
35
snprintf(path, sizeof(path), "%s%s", base, name);
drivers/gpu/drm/nouveau/nvkm/core/firmware.c
36
ret = nvkm_firmware_get(subdev, path, ver, pfw);
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
427
int gk20a_gr_load_sw(struct gf100_gr *, const char *path, int ver);
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
277
gk20a_gr_load_net(struct gf100_gr *gr, const char *path, const char *name, int ver,
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
284
ret = nvkm_firmware_load_blob(&gr->base.engine.subdev, path, name, ver, &blob);
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
294
gk20a_gr_load_sw(struct gf100_gr *gr, const char *path, int ver)
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
296
if (gk20a_gr_load_net(gr, path, "sw_nonctx", ver, gk20a_gr_av_to_init, &gr->sw_nonctx) ||
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
297
gk20a_gr_load_net(gr, path, "sw_ctx", ver, gk20a_gr_aiv_to_init, &gr->sw_ctx) ||
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
298
gk20a_gr_load_net(gr, path, "sw_bundle_init", ver, gk20a_gr_av_to_init, &gr->bundle) ||
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
299
gk20a_gr_load_net(gr, path, "sw_method_init", ver, gk20a_gr_av_to_method, &gr->method))
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
101
ret = nvkm_firmware_load_name(subdev, path, "sig", ver, &lsfw->sig);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
105
ret = nvkm_firmware_load_blob(subdev, path, "image", ver, &lsfw->img);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
109
ret = nvkm_firmware_load_name(subdev, path, "desc", ver, pdesc);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
144
const char *path, int ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
150
lsfw = nvkm_acr_lsfw_load_sig_image_desc_(subdev, falcon, id, path, ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
164
const char *path, int ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
170
lsfw = nvkm_acr_lsfw_load_sig_image_desc_(subdev, falcon, id, path, ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
184
const char *path, int ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
192
lsfw = nvkm_acr_lsfw_load_sig_image_desc_(subdev, falcon, id, path, ver, func, &fw);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
223
ret = nvkm_firmware_load_name(subdev, path, "hs_bl_sig", ver, &hsbl);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
252
const char *path, int ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
266
ret = nvkm_firmware_load_name(subdev, path, "bl", ver, &bl);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
274
ret = nvkm_firmware_load_name(subdev, path, "inst", ver, &inst);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
278
ret = nvkm_firmware_load_name(subdev, path, "data", ver, &data);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
282
ret = nvkm_firmware_load_name(subdev, path, "sig", ver, &lsfw->sig);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
328
const char *path, int ver,
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
351
ret = nvkm_firmware_load_name(subdev, path, "bl", ver, &bl);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
358
ret = nvkm_firmware_load_name(subdev, path, "sig", ver, &lsfw->sig);
drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.c
90
const char *path, int ver,
drivers/gpu/drm/qxl/qxl_dev.h
579
QXLPHYSICAL path;
drivers/gpu/drm/radeon/radeon_atombios.c
562
ATOM_DISPLAY_OBJECT_PATH *path;
drivers/gpu/drm/radeon/radeon_atombios.c
564
path = (ATOM_DISPLAY_OBJECT_PATH *) addr;
drivers/gpu/drm/radeon/radeon_atombios.c
565
path_size += le16_to_cpu(path->usSize);
drivers/gpu/drm/radeon/radeon_atombios.c
567
if (device_support & le16_to_cpu(path->usDeviceTag)) {
drivers/gpu/drm/radeon/radeon_atombios.c
571
(le16_to_cpu(path->usConnObjectId) & OBJECT_ID_MASK)
drivers/gpu/drm/radeon/radeon_atombios.c
574
(le16_to_cpu(path->usConnObjectId) & ENUM_ID_MASK)
drivers/gpu/drm/radeon/radeon_atombios.c
578
if (le16_to_cpu(path->usDeviceTag) ==
drivers/gpu/drm/radeon/radeon_atombios.c
642
for (j = 0; j < ((le16_to_cpu(path->usSize) - 8) / 2); j++) {
drivers/gpu/drm/radeon/radeon_atombios.c
644
(le16_to_cpu(path->usGraphicObjIds[j]) &
drivers/gpu/drm/radeon/radeon_atombios.c
650
if (le16_to_cpu(path->usGraphicObjIds[j]) == encoder_obj) {
drivers/gpu/drm/radeon/radeon_atombios.c
673
(path->
drivers/gpu/drm/radeon/radeon_atombios.c
681
if (le16_to_cpu(path->usGraphicObjIds[j]) == router_obj_id) {
drivers/gpu/drm/radeon/radeon_atombios.c
701
if (le16_to_cpu(path->usConnObjectId) ==
drivers/gpu/drm/radeon/radeon_atombios.c
751
if ((le16_to_cpu(path->usDeviceTag) &
drivers/gpu/drm/radeon/radeon_atombios.c
754
if (le16_to_cpu(path->usConnObjectId) ==
drivers/gpu/drm/radeon/radeon_atombios.c
809
conn_id = le16_to_cpu(path->usConnObjectId);
drivers/gpu/drm/radeon/radeon_atombios.c
812
(dev, le16_to_cpu(path->usDeviceTag), &connector_type,
drivers/gpu/drm/radeon/radeon_atombios.c
818
le16_to_cpu(path->
drivers/gpu/drm/xe/xe_guc_log.c
223
snapshot->path = guc->fw.path;
drivers/gpu/drm/xe/xe_guc_log.c
243
drm_printf(p, "GuC firmware: %s\n", snapshot->path);
drivers/gpu/drm/xe/xe_guc_log_types.h
38
const char *path;
drivers/gpu/drm/xe/xe_uc_fw.c
258
uc_fw->path = entries[i].path;
drivers/gpu/drm/xe/xe_uc_fw.c
295
uc_fw->path = path_override;
drivers/gpu/drm/xe/xe_uc_fw.c
377
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
drivers/gpu/drm/xe/xe_uc_fw.c
389
uc_fw->path);
drivers/gpu/drm/xe/xe_uc_fw.c
414
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
drivers/gpu/drm/xe/xe_uc_fw.c
427
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
drivers/gpu/drm/xe/xe_uc_fw.c
443
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
drivers/gpu/drm/xe/xe_uc_fw.c
678
uc_fw->path = NULL;
drivers/gpu/drm/xe/xe_uc_fw.c
681
xe_uc_fw_change_status(uc_fw, uc_fw->path ?
drivers/gpu/drm/xe/xe_uc_fw.c
689
uc_fw->path = "Loaded by PF";
drivers/gpu/drm/xe/xe_uc_fw.c
713
xe_gt_assert(gt, !uc_fw->path);
drivers/gpu/drm/xe/xe_uc_fw.c
724
xe_uc_fw_change_status(uc_fw, uc_fw->path ?
drivers/gpu/drm/xe/xe_uc_fw.c
737
if (!xe_device_uc_enabled(xe) || !(*uc_fw->path)) {
drivers/gpu/drm/xe/xe_uc_fw.c
743
err = firmware_request_nowarn(&fw, uc_fw->path, dev);
drivers/gpu/drm/xe/xe_uc_fw.c
754
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
drivers/gpu/drm/xe/xe_uc_fw.c
774
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
drivers/gpu/drm/xe/xe_uc_fw.c
777
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, ERR_PTR(err));
drivers/gpu/drm/xe/xe_uc_fw.c
802
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
drivers/gpu/drm/xe/xe_uc_fw.c
821
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, err);
drivers/gpu/drm/xe/xe_uc_fw.c
920
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
drivers/gpu/drm/xe/xe_uc_fw.c
943
xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
drivers/gpu/drm/xe/xe_uc_fw.c
99
const char *path;
drivers/gpu/drm/xe/xe_uc_fw_types.h
102
const char *path;
drivers/gpu/drm/xen/xen_drm_front_cfg.c
23
const char *path, int index)
drivers/gpu/drm/xen/xen_drm_front_cfg.c
28
GFP_KERNEL, "%s/%d", path, index);
drivers/gpu/drm/xen/xen_drm_front_evtchnl.c
249
const char *path, const char *node_ring,
drivers/gpu/drm/xen/xen_drm_front_evtchnl.c
256
ret = xenbus_printf(xbt, path, node_ring, "%u", evtchnl->gref);
drivers/gpu/drm/xen/xen_drm_front_evtchnl.c
263
ret = xenbus_printf(xbt, path, node_chnl, "%u", evtchnl->port);
drivers/hwtracing/coresight/coresight-catu.c
400
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-catu.c
428
etr_buf = tmc_etr_get_buffer(etrdev, cs_mode, path);
drivers/hwtracing/coresight/coresight-catu.c
458
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-catu.c
466
rc = catu_enable_hw(catu_drvdata, mode, path);
drivers/hwtracing/coresight/coresight-catu.c
491
static int catu_disable(struct coresight_device *csdev, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
304
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
306
return sink_ops(csdev)->enable(csdev, mode, path);
drivers/hwtracing/coresight/coresight-core.c
360
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
362
return helper_ops(csdev)->enable(csdev, mode, path);
drivers/hwtracing/coresight/coresight-core.c
366
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
368
helper_ops(csdev)->disable(csdev, path);
drivers/hwtracing/coresight/coresight-core.c
372
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
380
coresight_disable_helper(helper, path);
drivers/hwtracing/coresight/coresight-core.c
428
static void coresight_disable_path_from(struct coresight_path *path,
drivers/hwtracing/coresight/coresight-core.c
435
nd = list_first_entry(&path->path_list, struct coresight_node, link);
drivers/hwtracing/coresight/coresight-core.c
437
list_for_each_entry_continue(nd, &path->path_list, link) {
drivers/hwtracing/coresight/coresight-core.c
448
type = (csdev == coresight_get_sink(path)) ?
drivers/hwtracing/coresight/coresight-core.c
468
coresight_get_source(path));
drivers/hwtracing/coresight/coresight-core.c
475
coresight_disable_helpers(csdev, path);
drivers/hwtracing/coresight/coresight-core.c
479
void coresight_disable_path(struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
481
coresight_disable_path_from(path, NULL);
drivers/hwtracing/coresight/coresight-core.c
487
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
497
ret = coresight_enable_helper(helper, mode, path);
drivers/hwtracing/coresight/coresight-core.c
505
int coresight_enable_path(struct coresight_path *path, enum cs_mode mode)
drivers/hwtracing/coresight/coresight-core.c
513
source = coresight_get_source(path);
drivers/hwtracing/coresight/coresight-core.c
514
list_for_each_entry_reverse(nd, &path->path_list, link) {
drivers/hwtracing/coresight/coresight-core.c
519
ret = coresight_enable_helpers(csdev, mode, path);
drivers/hwtracing/coresight/coresight-core.c
529
type = (csdev == coresight_get_sink(path)) ?
drivers/hwtracing/coresight/coresight-core.c
535
ret = coresight_enable_sink(csdev, mode, path);
drivers/hwtracing/coresight/coresight-core.c
543
coresight_disable_helpers(csdev, path);
drivers/hwtracing/coresight/coresight-core.c
566
coresight_disable_helpers(csdev, path);
drivers/hwtracing/coresight/coresight-core.c
568
coresight_disable_path_from(path, nd);
drivers/hwtracing/coresight/coresight-core.c
572
struct coresight_device *coresight_get_sink(struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
576
if (!path)
drivers/hwtracing/coresight/coresight-core.c
579
csdev = list_last_entry(&path->path_list, struct coresight_node, link)->csdev;
drivers/hwtracing/coresight/coresight-core.c
739
void coresight_path_assign_trace_id(struct coresight_path *path,
drivers/hwtracing/coresight/coresight-core.c
742
struct coresight_device *sink = coresight_get_sink(path);
drivers/hwtracing/coresight/coresight-core.c
746
list_for_each_entry(nd, &path->path_list, link) {
drivers/hwtracing/coresight/coresight-core.c
755
path->trace_id = trace_id;
drivers/hwtracing/coresight/coresight-core.c
776
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
788
if (_coresight_build_path(sink, source, sink, path) == 0) {
drivers/hwtracing/coresight/coresight-core.c
804
_coresight_build_path(child_dev, source, sink, path) == 0) {
drivers/hwtracing/coresight/coresight-core.c
82
static struct coresight_device *coresight_get_source(struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
829
list_add(&node->link, &path->path_list);
drivers/hwtracing/coresight/coresight-core.c
837
struct coresight_path *path;
drivers/hwtracing/coresight/coresight-core.c
843
path = kzalloc_obj(struct coresight_path);
drivers/hwtracing/coresight/coresight-core.c
844
if (!path)
drivers/hwtracing/coresight/coresight-core.c
847
INIT_LIST_HEAD(&path->path_list);
drivers/hwtracing/coresight/coresight-core.c
849
rc = _coresight_build_path(source, source, sink, path);
drivers/hwtracing/coresight/coresight-core.c
851
kfree(path);
drivers/hwtracing/coresight/coresight-core.c
855
return path;
drivers/hwtracing/coresight/coresight-core.c
86
if (!path)
drivers/hwtracing/coresight/coresight-core.c
865
void coresight_release_path(struct coresight_path *path)
drivers/hwtracing/coresight/coresight-core.c
870
list_for_each_entry_safe(nd, next, &path->path_list, link) {
drivers/hwtracing/coresight/coresight-core.c
878
kfree(path);
drivers/hwtracing/coresight/coresight-core.c
89
csdev = list_first_entry(&path->path_list, struct coresight_node, link)->csdev;
drivers/hwtracing/coresight/coresight-ctcu-core.c
138
static int ctcu_set_etr_traceid(struct coresight_device *csdev, struct coresight_path *path,
drivers/hwtracing/coresight/coresight-ctcu-core.c
141
struct coresight_device *sink = coresight_get_sink(path);
drivers/hwtracing/coresight/coresight-ctcu-core.c
142
u8 traceid = path->trace_id;
drivers/hwtracing/coresight/coresight-ctcu-core.c
160
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-ctcu-core.c
162
return ctcu_set_etr_traceid(csdev, path, true);
drivers/hwtracing/coresight/coresight-ctcu-core.c
165
static int ctcu_disable(struct coresight_device *csdev, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-ctcu-core.c
167
return ctcu_set_etr_traceid(csdev, path, false);
drivers/hwtracing/coresight/coresight-cti-core.c
803
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-cti-core.c
810
int cti_disable(struct coresight_device *csdev, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-cti.h
220
struct coresight_path *path);
drivers/hwtracing/coresight/coresight-cti.h
221
int cti_disable(struct coresight_device *csdev, struct coresight_path *path);
drivers/hwtracing/coresight/coresight-dummy.c
27
__maybe_unused struct coresight_path *path)
drivers/hwtracing/coresight/coresight-dummy.c
55
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etb10.c
170
static int etb_enable_perf(struct coresight_device *csdev, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etb10.c
176
struct perf_output_handle *handle = path->handle;
drivers/hwtracing/coresight/coresight-etb10.c
227
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etb10.c
236
ret = etb_enable_perf(csdev, path);
drivers/hwtracing/coresight/coresight-etm-perf.c
145
return per_cpu_ptr(data->path, cpu);
drivers/hwtracing/coresight/coresight-etm-perf.c
253
free_percpu(event_data->path);
drivers/hwtracing/coresight/coresight-etm-perf.c
282
event_data->path = alloc_percpu(struct coresight_path *);
drivers/hwtracing/coresight/coresight-etm-perf.c
284
if (!event_data->path) {
drivers/hwtracing/coresight/coresight-etm-perf.c
356
struct coresight_path *path;
drivers/hwtracing/coresight/coresight-etm-perf.c
416
path = coresight_build_path(csdev, sink);
drivers/hwtracing/coresight/coresight-etm-perf.c
417
if (IS_ERR(path)) {
drivers/hwtracing/coresight/coresight-etm-perf.c
423
coresight_path_assign_trace_id(path, CS_MODE_PERF);
drivers/hwtracing/coresight/coresight-etm-perf.c
424
if (!IS_VALID_CS_TRACE_ID(path->trace_id)) {
drivers/hwtracing/coresight/coresight-etm-perf.c
426
coresight_release_path(path);
drivers/hwtracing/coresight/coresight-etm-perf.c
431
*etm_event_cpu_path_ptr(event_data, cpu) = path;
drivers/hwtracing/coresight/coresight-etm-perf.c
483
struct coresight_path *path;
drivers/hwtracing/coresight/coresight-etm-perf.c
524
path = etm_event_cpu_path(event_data, cpu);
drivers/hwtracing/coresight/coresight-etm-perf.c
525
path->handle = handle;
drivers/hwtracing/coresight/coresight-etm-perf.c
527
sink = coresight_get_sink(path);
drivers/hwtracing/coresight/coresight-etm-perf.c
532
if (coresight_enable_path(path, CS_MODE_PERF))
drivers/hwtracing/coresight/coresight-etm-perf.c
536
if (source_ops(csdev)->enable(csdev, event, CS_MODE_PERF, path))
drivers/hwtracing/coresight/coresight-etm-perf.c
550
hw_id |= FIELD_PREP(CS_AUX_HW_ID_TRACE_ID_MASK, path->trace_id);
drivers/hwtracing/coresight/coresight-etm-perf.c
564
coresight_disable_path(path);
drivers/hwtracing/coresight/coresight-etm-perf.c
587
struct coresight_path *path;
drivers/hwtracing/coresight/coresight-etm-perf.c
596
path = etm_event_cpu_path(ctxt->event_data, cpu);
drivers/hwtracing/coresight/coresight-etm-perf.c
597
sink = coresight_get_sink(path);
drivers/hwtracing/coresight/coresight-etm-perf.c
637
struct coresight_path *path;
drivers/hwtracing/coresight/coresight-etm-perf.c
677
path = etm_event_cpu_path(event_data, cpu);
drivers/hwtracing/coresight/coresight-etm-perf.c
678
if (!path)
drivers/hwtracing/coresight/coresight-etm-perf.c
681
sink = coresight_get_sink(path);
drivers/hwtracing/coresight/coresight-etm-perf.c
725
coresight_disable_path(path);
drivers/hwtracing/coresight/coresight-etm-perf.h
100
struct coresight_path * __percpu *path;
drivers/hwtracing/coresight/coresight-etm3x-core.c
483
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etm3x-core.c
496
drvdata->traceid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm3x-core.c
508
static int etm_enable_sysfs(struct coresight_device *csdev, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etm3x-core.c
516
drvdata->traceid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm3x-core.c
545
enum cs_mode mode, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etm3x-core.c
551
ret = etm_enable_sysfs(csdev, path);
drivers/hwtracing/coresight/coresight-etm3x-core.c
554
ret = etm_enable_perf(csdev, event, path);
drivers/hwtracing/coresight/coresight-etm4x-core.c
874
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etm4x-core.c
890
drvdata->trcid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm4x-core.c
905
static int etm4_enable_sysfs(struct coresight_device *csdev, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etm4x-core.c
922
drvdata->trcid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm4x-core.c
950
enum cs_mode mode, struct coresight_path *path)
drivers/hwtracing/coresight/coresight-etm4x-core.c
956
ret = etm4_enable_sysfs(csdev, path);
drivers/hwtracing/coresight/coresight-etm4x-core.c
959
ret = etm4_enable_perf(csdev, event, path);
drivers/hwtracing/coresight/coresight-priv.h
137
void coresight_disable_path(struct coresight_path *path);
drivers/hwtracing/coresight/coresight-priv.h
138
int coresight_enable_path(struct coresight_path *path, enum cs_mode mode);
drivers/hwtracing/coresight/coresight-priv.h
139
struct coresight_device *coresight_get_sink(struct coresight_path *path);
drivers/hwtracing/coresight/coresight-priv.h
145
void coresight_release_path(struct coresight_path *path);
drivers/hwtracing/coresight/coresight-priv.h
156
void coresight_path_assign_trace_id(struct coresight_path *path,
drivers/hwtracing/coresight/coresight-stm.c
198
__maybe_unused struct coresight_path *path)
drivers/hwtracing/coresight/coresight-sysfs.c
172
struct coresight_path *path;
drivers/hwtracing/coresight/coresight-sysfs.c
207
path = coresight_build_path(csdev, sink);
drivers/hwtracing/coresight/coresight-sysfs.c
208
if (IS_ERR(path)) {
drivers/hwtracing/coresight/coresight-sysfs.c
210
ret = PTR_ERR(path);
drivers/hwtracing/coresight/coresight-sysfs.c
214
coresight_path_assign_trace_id(path, CS_MODE_SYSFS);
drivers/hwtracing/coresight/coresight-sysfs.c
215
if (!IS_VALID_CS_TRACE_ID(path->trace_id))
drivers/hwtracing/coresight/coresight-sysfs.c
218
ret = coresight_enable_path(path, CS_MODE_SYSFS);
drivers/hwtracing/coresight/coresight-sysfs.c
222
ret = coresight_enable_source_sysfs(csdev, CS_MODE_SYSFS, path);
drivers/hwtracing/coresight/coresight-sysfs.c
236
per_cpu(tracer_path, cpu) = path;
drivers/hwtracing/coresight/coresight-sysfs.c
246
ret = idr_alloc_u32(&path_idr, path, &hash, hash, GFP_KERNEL);
drivers/hwtracing/coresight/coresight-sysfs.c
260
coresight_disable_path(path);
drivers/hwtracing/coresight/coresight-sysfs.c
263
coresight_release_path(path);
drivers/hwtracing/coresight/coresight-sysfs.c
271
struct coresight_path *path = NULL;
drivers/hwtracing/coresight/coresight-sysfs.c
286
path = per_cpu(tracer_path, cpu);
drivers/hwtracing/coresight/coresight-sysfs.c
294
path = idr_find(&path_idr, hash);
drivers/hwtracing/coresight/coresight-sysfs.c
295
if (path == NULL) {
drivers/hwtracing/coresight/coresight-sysfs.c
306
coresight_disable_path(path);
drivers/hwtracing/coresight/coresight-sysfs.c
307
coresight_release_path(path);
drivers/hwtracing/coresight/coresight-sysfs.c
58
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-sysfs.c
69
ret = source_ops(csdev)->enable(csdev, NULL, mode, path);
drivers/hwtracing/coresight/coresight-tmc-etf.c
250
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-tmc-etf.c
256
struct perf_output_handle *handle = path->handle;
drivers/hwtracing/coresight/coresight-tmc-etf.c
309
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-tmc-etf.c
318
ret = tmc_enable_etf_sink_perf(csdev, path);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1347
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1349
struct perf_output_handle *handle = path->handle;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1736
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1742
struct perf_output_handle *handle = path->handle;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1791
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1797
return tmc_enable_etr_sink_perf(csdev, path);
drivers/hwtracing/coresight/coresight-tmc.h
448
struct coresight_path *path);
drivers/hwtracing/coresight/coresight-tpdm.c
486
__maybe_unused struct coresight_path *path)
drivers/hwtracing/coresight/coresight-tpiu.c
78
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-trbe.c
1016
struct coresight_path *path)
drivers/hwtracing/coresight/coresight-trbe.c
1020
struct perf_output_handle *handle = path->handle;
drivers/hwtracing/coresight/ultrasoc-smb.c
217
struct coresight_path *path)
drivers/hwtracing/coresight/ultrasoc-smb.c
220
struct perf_output_handle *handle = path->handle;
drivers/hwtracing/coresight/ultrasoc-smb.c
244
struct coresight_path *path)
drivers/hwtracing/coresight/ultrasoc-smb.c
265
ret = smb_enable_perf(csdev, path);
drivers/iio/amplifiers/adl8113.c
112
if (st->gain_configs[i].path == st->current_path) {
drivers/iio/amplifiers/adl8113.c
140
return adl8113_set_path(st, st->gain_configs[config_idx].path);
drivers/iio/amplifiers/adl8113.c
171
.path = ADL8113_INTERNAL_AMP,
drivers/iio/amplifiers/adl8113.c
177
.path = ADL8113_INTERNAL_BYPASS,
drivers/iio/amplifiers/adl8113.c
185
.path = ADL8113_EXTERNAL_A,
drivers/iio/amplifiers/adl8113.c
194
.path = ADL8113_EXTERNAL_B,
drivers/iio/amplifiers/adl8113.c
30
enum adl8113_signal_path path;
drivers/iio/amplifiers/adl8113.c
48
enum adl8113_signal_path path)
drivers/iio/amplifiers/adl8113.c
57
switch (path) {
drivers/iio/amplifiers/adl8113.c
79
st->current_path = path;
drivers/infiniband/core/cm.c
1656
struct sa_path_rec *path, union ib_gid *gid)
drivers/infiniband/core/cm.c
1659
path->rec_type = SA_PATH_REC_TYPE_OPA;
drivers/infiniband/core/cm.c
1661
path->rec_type = SA_PATH_REC_TYPE_IB;
drivers/infiniband/core/cm.c
1799
struct sa_path_rec *path)
drivers/infiniband/core/cm.c
1805
(ib_is_opa_gid(&path->sgid))) {
drivers/infiniband/core/cm.c
1814
path->sgid = sgid;
drivers/infiniband/core/cm.c
1830
param->primary_path = &work->path[0];
drivers/infiniband/core/cm.c
1833
param->alternate_path = &work->path[1];
drivers/infiniband/core/cm.c
194
struct sa_path_rec path[];
drivers/infiniband/core/cm.c
2161
memset(&work->path[0], 0, sizeof(work->path[0]));
drivers/infiniband/core/cm.c
2163
memset(&work->path[1], 0, sizeof(work->path[1]));
drivers/infiniband/core/cm.c
2168
work->path[0].rec_type =
drivers/infiniband/core/cm.c
2174
&work->path[0],
drivers/infiniband/core/cm.c
2179
work->path[1].rec_type = work->path[0].rec_type;
drivers/infiniband/core/cm.c
2180
cm_format_paths_from_req(req_msg, &work->path[0],
drivers/infiniband/core/cm.c
2181
&work->path[1], work->mad_recv_wc->wc);
drivers/infiniband/core/cm.c
2183
sa_path_set_dmac(&work->path[0],
drivers/infiniband/core/cm.c
2185
work->path[0].hop_limit = grh->hop_limit;
drivers/infiniband/core/cm.c
2189
ret = cm_init_av_by_path(&work->path[0], gid_attr, &cm_id_priv->av);
drivers/infiniband/core/cm.c
2195
&work->path[0].sgid);
drivers/infiniband/core/cm.c
2201
&work->path[0].sgid,
drivers/infiniband/core/cm.c
2202
sizeof(work->path[0].sgid),
drivers/infiniband/core/cm.c
2211
ret = cm_init_av_by_path(&work->path[1], NULL,
drivers/infiniband/core/cm.c
2216
&work->path[0].sgid,
drivers/infiniband/core/cm.c
2217
sizeof(work->path[0].sgid), NULL, 0);
drivers/infiniband/core/cm.c
3239
struct sa_path_rec *path)
drivers/infiniband/core/cm.c
3243
if (path->rec_type != SA_PATH_REC_TYPE_OPA) {
drivers/infiniband/core/cm.c
3244
sa_path_set_dlid(path, IBA_GET(CM_LAP_ALTERNATE_LOCAL_PORT_LID,
drivers/infiniband/core/cm.c
3246
sa_path_set_slid(path, IBA_GET(CM_LAP_ALTERNATE_REMOTE_PORT_LID,
drivers/infiniband/core/cm.c
3251
sa_path_set_dlid(path, lid);
drivers/infiniband/core/cm.c
3255
sa_path_set_slid(path, lid);
drivers/infiniband/core/cm.c
3260
struct sa_path_rec *path,
drivers/infiniband/core/cm.c
3263
path->dgid = *IBA_GET_MEM_PTR(CM_LAP_ALTERNATE_LOCAL_PORT_GID, lap_msg);
drivers/infiniband/core/cm.c
3264
path->sgid =
drivers/infiniband/core/cm.c
3266
path->flow_label =
drivers/infiniband/core/cm.c
3268
path->hop_limit = IBA_GET(CM_LAP_ALTERNATE_HOP_LIMIT, lap_msg);
drivers/infiniband/core/cm.c
3269
path->traffic_class = IBA_GET(CM_LAP_ALTERNATE_TRAFFIC_CLASS, lap_msg);
drivers/infiniband/core/cm.c
3270
path->reversible = 1;
drivers/infiniband/core/cm.c
3271
path->pkey = cm_id_priv->pkey;
drivers/infiniband/core/cm.c
3272
path->sl = IBA_GET(CM_LAP_ALTERNATE_SL, lap_msg);
drivers/infiniband/core/cm.c
3273
path->mtu_selector = IB_SA_EQ;
drivers/infiniband/core/cm.c
3274
path->mtu = cm_id_priv->path_mtu;
drivers/infiniband/core/cm.c
3275
path->rate_selector = IB_SA_EQ;
drivers/infiniband/core/cm.c
3276
path->rate = IBA_GET(CM_LAP_ALTERNATE_PACKET_RATE, lap_msg);
drivers/infiniband/core/cm.c
3277
path->packet_life_time_selector = IB_SA_EQ;
drivers/infiniband/core/cm.c
3278
path->packet_life_time =
drivers/infiniband/core/cm.c
3280
path->packet_life_time -= (path->packet_life_time > 0);
drivers/infiniband/core/cm.c
3281
cm_format_path_lid_from_lap(lap_msg, path);
drivers/infiniband/core/cm.c
3310
memset(&work->path[0], 0, sizeof(work->path[1]));
drivers/infiniband/core/cm.c
3312
work->port->port_num, &work->path[0],
drivers/infiniband/core/cm.c
3315
param->alternate_path = &work->path[0];
drivers/infiniband/core/cm.c
3464
be16_to_cpu(param->path->pkey));
drivers/infiniband/core/cm.c
3482
if (!param->path || (param->private_data &&
drivers/infiniband/core/cm.c
3487
ret = cm_init_av_by_path(param->path, param->sgid_attr, &av);
drivers/infiniband/core/cm.c
4053
work = kmalloc_flex(*work, path, paths);
drivers/infiniband/core/cm.c
486
get_cm_port_from_path(struct sa_path_rec *path, const struct ib_gid_attr *attr)
drivers/infiniband/core/cm.c
511
&path->sgid,
drivers/infiniband/core/cm.c
512
sa_conv_pathrec_to_gid_type(path),
drivers/infiniband/core/cm.c
526
static int cm_init_av_by_path(struct sa_path_rec *path,
drivers/infiniband/core/cm.c
535
port = get_cm_port_from_path(path, sgid_attr);
drivers/infiniband/core/cm.c
541
be16_to_cpu(path->pkey), &av->pkey_index);
drivers/infiniband/core/cm.c
556
ret = ib_init_ah_attr_from_path(cm_dev->ib_device, port->port_num, path,
drivers/infiniband/core/cm.c
561
av->timeout = path->packet_life_time + 1;
drivers/infiniband/core/cma.c
1422
const struct sa_path_rec *path)
drivers/infiniband/core/cma.c
1430
if (path) {
drivers/infiniband/core/cma.c
1431
ib->sib_pkey = path->pkey;
drivers/infiniband/core/cma.c
1432
ib->sib_flowinfo = path->flow_label;
drivers/infiniband/core/cma.c
1433
memcpy(&ib->sib_addr, &path->sgid, 16);
drivers/infiniband/core/cma.c
1434
ib->sib_sid = path->service_id;
drivers/infiniband/core/cma.c
1448
if (path) {
drivers/infiniband/core/cma.c
1449
ib->sib_pkey = path->pkey;
drivers/infiniband/core/cma.c
1450
ib->sib_flowinfo = path->flow_label;
drivers/infiniband/core/cma.c
1451
memcpy(&ib->sib_addr, &path->dgid, 16);
drivers/infiniband/core/cma.c
2281
struct sa_path_rec *path = ib_event->param.req_rcvd.primary_path;
drivers/infiniband/core/cma.c
2307
rt->path_rec[0] = *path;
drivers/infiniband/core/cma.c
4356
req.path = id_priv->id.route.path_rec;
drivers/infiniband/hw/mlx4/qp.c
1774
static void mlx4_set_sched(struct mlx4_qp_path *path, u8 port)
drivers/infiniband/hw/mlx4/qp.c
1776
path->sched_queue = (path->sched_queue & 0xbf) | ((port - 1) << 6);
drivers/infiniband/hw/mlx4/qp.c
1781
u64 smac, u16 vlan_tag, struct mlx4_qp_path *path,
drivers/infiniband/hw/mlx4/qp.c
1788
path->grh_mylmc = rdma_ah_get_path_bits(ah) & 0x7f;
drivers/infiniband/hw/mlx4/qp.c
1789
path->rlid = cpu_to_be16(rdma_ah_get_dlid(ah));
drivers/infiniband/hw/mlx4/qp.c
1791
path->static_rate = rdma_ah_get_static_rate(ah) +
drivers/infiniband/hw/mlx4/qp.c
1793
while (path->static_rate > IB_RATE_2_5_GBPS + MLX4_STAT_RATE_OFFSET &&
drivers/infiniband/hw/mlx4/qp.c
1794
!(1 << path->static_rate & dev->dev->caps.stat_rate_support))
drivers/infiniband/hw/mlx4/qp.c
1795
--path->static_rate;
drivers/infiniband/hw/mlx4/qp.c
1797
path->static_rate = 0;
drivers/infiniband/hw/mlx4/qp.c
1812
path->grh_mylmc |= 1 << 7;
drivers/infiniband/hw/mlx4/qp.c
1813
path->mgid_index = real_sgid_index;
drivers/infiniband/hw/mlx4/qp.c
1814
path->hop_limit = grh->hop_limit;
drivers/infiniband/hw/mlx4/qp.c
1815
path->tclass_flowlabel =
drivers/infiniband/hw/mlx4/qp.c
1818
memcpy(path->rgid, grh->dgid.raw, 16);
drivers/infiniband/hw/mlx4/qp.c
1825
path->sched_queue = MLX4_IB_DEFAULT_SCHED_QUEUE |
drivers/infiniband/hw/mlx4/qp.c
1828
path->feup |= MLX4_FEUP_FORCE_ETH_UP;
drivers/infiniband/hw/mlx4/qp.c
1841
path->vlan_index = vidx;
drivers/infiniband/hw/mlx4/qp.c
1843
path->vlan_index = smac_info->vlan_index;
drivers/infiniband/hw/mlx4/qp.c
1854
path->vlan_index = vidx;
drivers/infiniband/hw/mlx4/qp.c
1856
path->feup |= MLX4_FVL_FORCE_ETH_VLAN;
drivers/infiniband/hw/mlx4/qp.c
1857
path->fl = 1 << 6;
drivers/infiniband/hw/mlx4/qp.c
1885
memcpy(path->dmac, ah->roce.dmac, 6);
drivers/infiniband/hw/mlx4/qp.c
1886
path->ackto = MLX4_IB_LINK_TYPE_ETH;
drivers/infiniband/hw/mlx4/qp.c
1888
path->grh_mylmc = (u8) (smac_index) | 0x80;
drivers/infiniband/hw/mlx4/qp.c
1890
path->sched_queue = MLX4_IB_DEFAULT_SCHED_QUEUE |
drivers/infiniband/hw/mlx4/qp.c
1900
struct mlx4_qp_path *path, u8 port,
drivers/infiniband/hw/mlx4/qp.c
1906
path, &mqp->pri, port);
drivers/infiniband/hw/mlx4/qp.c
1913
struct mlx4_qp_path *path, u8 port)
drivers/infiniband/hw/mlx4/qp.c
1918
path, &mqp->alt, port);
drivers/infiniband/hw/mlx4/qp.c
3985
struct mlx4_qp_path *path)
drivers/infiniband/hw/mlx4/qp.c
3988
u8 port_num = path->sched_queue & 0x40 ? 2 : 1;
drivers/infiniband/hw/mlx4/qp.c
3996
rdma_ah_set_sl(ah_attr, ((path->sched_queue >> 3) & 0x7) |
drivers/infiniband/hw/mlx4/qp.c
3997
((path->sched_queue & 4) << 1));
drivers/infiniband/hw/mlx4/qp.c
3999
rdma_ah_set_sl(ah_attr, (path->sched_queue >> 2) & 0xf);
drivers/infiniband/hw/mlx4/qp.c
4002
rdma_ah_set_dlid(ah_attr, be16_to_cpu(path->rlid));
drivers/infiniband/hw/mlx4/qp.c
4003
rdma_ah_set_path_bits(ah_attr, path->grh_mylmc & 0x7f);
drivers/infiniband/hw/mlx4/qp.c
4005
path->static_rate ? path->static_rate - 5 : 0);
drivers/infiniband/hw/mlx4/qp.c
4006
if (path->grh_mylmc & (1 << 7)) {
drivers/infiniband/hw/mlx4/qp.c
4008
be32_to_cpu(path->tclass_flowlabel) & 0xfffff,
drivers/infiniband/hw/mlx4/qp.c
4009
path->mgid_index,
drivers/infiniband/hw/mlx4/qp.c
4010
path->hop_limit,
drivers/infiniband/hw/mlx4/qp.c
4011
(be32_to_cpu(path->tclass_flowlabel)
drivers/infiniband/hw/mlx4/qp.c
4013
rdma_ah_set_dgid_raw(ah_attr, path->rgid);
drivers/infiniband/hw/mlx5/qp.c
3522
static void mlx5_set_path_udp_sport(void *path, const struct rdma_ah_attr *ah,
drivers/infiniband/hw/mlx5/qp.c
3531
MLX5_SET(ads, path, udp_sport, rdma_flow_label_to_udp_sport(fl));
drivers/infiniband/hw/mlx5/qp.c
3535
const struct rdma_ah_attr *ah, void *path, u8 port,
drivers/infiniband/hw/mlx5/qp.c
3546
MLX5_SET(ads, path, pkey_index,
drivers/infiniband/hw/mlx5/qp.c
3565
ether_addr_copy(MLX5_ADDR_OF(ads, path, rmac_47_32),
drivers/infiniband/hw/mlx5/qp.c
3573
mlx5_set_path_udp_sport(path, ah,
drivers/infiniband/hw/mlx5/qp.c
3576
MLX5_SET(ads, path, eth_prio, sl & 0x7);
drivers/infiniband/hw/mlx5/qp.c
3579
MLX5_SET(ads, path, dscp, grh->traffic_class >> 2);
drivers/infiniband/hw/mlx5/qp.c
3581
MLX5_SET(ads, path, fl, !!(path_flags & MLX5_PATH_FLAG_FL));
drivers/infiniband/hw/mlx5/qp.c
3582
MLX5_SET(ads, path, free_ar,
drivers/infiniband/hw/mlx5/qp.c
3584
MLX5_SET(ads, path, rlid, rdma_ah_get_dlid(ah));
drivers/infiniband/hw/mlx5/qp.c
3585
MLX5_SET(ads, path, mlid, rdma_ah_get_path_bits(ah));
drivers/infiniband/hw/mlx5/qp.c
3586
MLX5_SET(ads, path, grh, !!(ah_flags & IB_AH_GRH));
drivers/infiniband/hw/mlx5/qp.c
3587
MLX5_SET(ads, path, sl, sl);
drivers/infiniband/hw/mlx5/qp.c
3591
MLX5_SET(ads, path, src_addr_index, grh->sgid_index);
drivers/infiniband/hw/mlx5/qp.c
3592
MLX5_SET(ads, path, hop_limit, grh->hop_limit);
drivers/infiniband/hw/mlx5/qp.c
3593
MLX5_SET(ads, path, tclass, grh->traffic_class);
drivers/infiniband/hw/mlx5/qp.c
3594
MLX5_SET(ads, path, flow_label, grh->flow_label);
drivers/infiniband/hw/mlx5/qp.c
3595
memcpy(MLX5_ADDR_OF(ads, path, rgid_rip), grh->dgid.raw,
drivers/infiniband/hw/mlx5/qp.c
3602
MLX5_SET(ads, path, stat_rate, err);
drivers/infiniband/hw/mlx5/qp.c
3603
MLX5_SET(ads, path, vhca_port_num, port);
drivers/infiniband/hw/mlx5/qp.c
3606
MLX5_SET(ads, path, ack_timeout,
drivers/infiniband/hw/mlx5/qp.c
4829
struct rdma_ah_attr *ah_attr, void *path)
drivers/infiniband/hw/mlx5/qp.c
4831
int port = MLX5_GET(ads, path, vhca_port_num);
drivers/infiniband/hw/mlx5/qp.c
4842
rdma_ah_set_sl(ah_attr, MLX5_GET(ads, path, sl));
drivers/infiniband/hw/mlx5/qp.c
4844
rdma_ah_set_dlid(ah_attr, MLX5_GET(ads, path, rlid));
drivers/infiniband/hw/mlx5/qp.c
4845
rdma_ah_set_path_bits(ah_attr, MLX5_GET(ads, path, mlid));
drivers/infiniband/hw/mlx5/qp.c
4847
static_rate = MLX5_GET(ads, path, stat_rate);
drivers/infiniband/hw/mlx5/qp.c
4849
if (MLX5_GET(ads, path, grh) ||
drivers/infiniband/hw/mlx5/qp.c
4851
rdma_ah_set_grh(ah_attr, NULL, MLX5_GET(ads, path, flow_label),
drivers/infiniband/hw/mlx5/qp.c
4852
MLX5_GET(ads, path, src_addr_index),
drivers/infiniband/hw/mlx5/qp.c
4853
MLX5_GET(ads, path, hop_limit),
drivers/infiniband/hw/mlx5/qp.c
4854
MLX5_GET(ads, path, tclass));
drivers/infiniband/hw/mlx5/qp.c
4855
rdma_ah_set_dgid_raw(ah_attr, MLX5_ADDR_OF(ads, path, rgid_rip));
drivers/infiniband/hw/mthca/mthca_qp.c
399
struct mthca_qp_path *path)
drivers/infiniband/hw/mthca/mthca_qp.c
401
u8 port_num = (be32_to_cpu(path->port_pkey) >> 24) & 0x3;
drivers/infiniband/hw/mthca/mthca_qp.c
410
rdma_ah_set_dlid(ah_attr, be16_to_cpu(path->rlid));
drivers/infiniband/hw/mthca/mthca_qp.c
411
rdma_ah_set_sl(ah_attr, be32_to_cpu(path->sl_tclass_flowlabel) >> 28);
drivers/infiniband/hw/mthca/mthca_qp.c
412
rdma_ah_set_path_bits(ah_attr, path->g_mylmc & 0x7f);
drivers/infiniband/hw/mthca/mthca_qp.c
415
path->static_rate & 0xf,
drivers/infiniband/hw/mthca/mthca_qp.c
417
if (path->g_mylmc & (1 << 7)) {
drivers/infiniband/hw/mthca/mthca_qp.c
418
u32 tc_fl = be32_to_cpu(path->sl_tclass_flowlabel);
drivers/infiniband/hw/mthca/mthca_qp.c
422
path->mgid_index &
drivers/infiniband/hw/mthca/mthca_qp.c
424
path->hop_limit,
drivers/infiniband/hw/mthca/mthca_qp.c
426
rdma_ah_set_dgid_raw(ah_attr, path->rgid);
drivers/infiniband/hw/mthca/mthca_qp.c
523
struct mthca_qp_path *path, u8 port)
drivers/infiniband/hw/mthca/mthca_qp.c
525
path->g_mylmc = rdma_ah_get_path_bits(ah) & 0x7f;
drivers/infiniband/hw/mthca/mthca_qp.c
526
path->rlid = cpu_to_be16(rdma_ah_get_dlid(ah));
drivers/infiniband/hw/mthca/mthca_qp.c
527
path->static_rate = mthca_get_rate(dev, rdma_ah_get_static_rate(ah),
drivers/infiniband/hw/mthca/mthca_qp.c
540
path->g_mylmc |= 1 << 7;
drivers/infiniband/hw/mthca/mthca_qp.c
541
path->mgid_index = grh->sgid_index;
drivers/infiniband/hw/mthca/mthca_qp.c
542
path->hop_limit = grh->hop_limit;
drivers/infiniband/hw/mthca/mthca_qp.c
543
path->sl_tclass_flowlabel =
drivers/infiniband/hw/mthca/mthca_qp.c
547
memcpy(path->rgid, grh->dgid.raw, 16);
drivers/infiniband/hw/mthca/mthca_qp.c
549
path->sl_tclass_flowlabel = cpu_to_be32(rdma_ah_get_sl(ah) <<
drivers/infiniband/ulp/ipoib/ipoib.h
575
struct ipoib_path *path);
drivers/infiniband/ulp/ipoib/ipoib.h
669
struct ipoib_cm_tx *ipoib_cm_create_tx(struct net_device *dev, struct ipoib_path *path,
drivers/infiniband/ulp/ipoib/ipoib.h
746
struct ipoib_cm_tx *ipoib_cm_create_tx(struct net_device *dev, struct ipoib_path *path,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
1301
struct ipoib_cm_tx *ipoib_cm_create_tx(struct net_device *dev, struct ipoib_path *path,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
1345
struct ipoib_path *path;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
1364
path = __path_find(dev, neigh->daddr + QPN_AND_OPTIONS_OFFSET);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
1365
if (!path) {
drivers/infiniband/ulp/ipoib/ipoib_cm.c
1371
memcpy(&pathrec, &path->pathrec, sizeof(pathrec));
drivers/infiniband/ulp/ipoib/ipoib_fs.c
179
struct ipoib_path path;
drivers/infiniband/ulp/ipoib/ipoib_fs.c
185
ipoib_path_iter_read(iter, &path);
drivers/infiniband/ulp/ipoib/ipoib_fs.c
187
format_gid(&path.pathrec.dgid, gid_buf);
drivers/infiniband/ulp/ipoib/ipoib_fs.c
192
gid_buf, sa_path_get_dlid(&path.pathrec) ? "yes" : "no");
drivers/infiniband/ulp/ipoib/ipoib_fs.c
194
if (sa_path_get_dlid(&path.pathrec)) {
drivers/infiniband/ulp/ipoib/ipoib_fs.c
195
rate = ib_rate_to_mbps(path.pathrec.rate);
drivers/infiniband/ulp/ipoib/ipoib_fs.c
201
be32_to_cpu(sa_path_get_dlid(&path.pathrec)),
drivers/infiniband/ulp/ipoib/ipoib_fs.c
202
path.pathrec.sl,
drivers/infiniband/ulp/ipoib/ipoib_main.c
1015
path = __path_find(dev, daddr + 4);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1016
if (!path) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
1017
path = path_rec_create(dev, daddr + 4);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1018
if (!path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
1021
__path_add(dev, path);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1024
list_add_tail(&neigh->list, &path->neigh_list);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1026
if (path->ah && path->ah->valid) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
1027
kref_get(&path->ah->ref);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1028
neigh->ah = path->ah;
drivers/infiniband/ulp/ipoib/ipoib_main.c
1032
ipoib_cm_set(neigh, ipoib_cm_create_tx(dev, path, neigh));
drivers/infiniband/ulp/ipoib/ipoib_main.c
1048
path->ah->last_send = rn->send(dev, skb, path->ah->ah,
drivers/infiniband/ulp/ipoib/ipoib_main.c
1056
if (!path->query && path_rec_start(dev, path))
drivers/infiniband/ulp/ipoib/ipoib_main.c
1087
struct ipoib_path *path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
1096
path = __path_find(dev, phdr->hwaddr + 4);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1097
if (!path || !path->ah || !path->ah->valid) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
1098
if (!path) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
1099
path = path_rec_create(dev, phdr->hwaddr + 4);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1100
if (!path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
1102
__path_add(dev, path);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1108
init_path_rec(priv, path, phdr->hwaddr + 4);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1110
if (!path->query && path_rec_start(dev, path)) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
1114
if (skb_queue_len(&path->queue) < IPOIB_MAX_PATH_REC_QUEUE) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
1116
__skb_queue_tail(&path->queue, skb);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1125
be32_to_cpu(sa_path_get_dlid(&path->pathrec)));
drivers/infiniband/ulp/ipoib/ipoib_main.c
1126
path->ah->last_send = rn->send(dev, skb, path->ah->ah,
drivers/infiniband/ulp/ipoib/ipoib_main.c
602
struct ipoib_path *path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
606
path = rb_entry(n, struct ipoib_path, rb_node);
drivers/infiniband/ulp/ipoib/ipoib_main.c
608
ret = memcmp(gid, path->pathrec.dgid.raw,
drivers/infiniband/ulp/ipoib/ipoib_main.c
616
return path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
622
static int __path_add(struct net_device *dev, struct ipoib_path *path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
634
ret = memcmp(path->pathrec.dgid.raw, tpath->pathrec.dgid.raw,
drivers/infiniband/ulp/ipoib/ipoib_main.c
644
rb_link_node(&path->rb_node, pn, n);
drivers/infiniband/ulp/ipoib/ipoib_main.c
645
rb_insert_color(&path->rb_node, &priv->path_tree);
drivers/infiniband/ulp/ipoib/ipoib_main.c
647
list_add_tail(&path->list, &priv->path_list);
drivers/infiniband/ulp/ipoib/ipoib_main.c
652
static void path_free(struct net_device *dev, struct ipoib_path *path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
656
while ((skb = __skb_dequeue(&path->queue)))
drivers/infiniband/ulp/ipoib/ipoib_main.c
662
ipoib_del_neighs_by_gid(dev, path->pathrec.dgid.raw);
drivers/infiniband/ulp/ipoib/ipoib_main.c
664
if (path->ah)
drivers/infiniband/ulp/ipoib/ipoib_main.c
665
ipoib_put_ah(path->ah);
drivers/infiniband/ulp/ipoib/ipoib_main.c
667
kfree(path);
drivers/infiniband/ulp/ipoib/ipoib_main.c
681
memset(iter->path.pathrec.dgid.raw, 0, 16);
drivers/infiniband/ulp/ipoib/ipoib_main.c
695
struct ipoib_path *path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
703
path = rb_entry(n, struct ipoib_path, rb_node);
drivers/infiniband/ulp/ipoib/ipoib_main.c
705
if (memcmp(iter->path.pathrec.dgid.raw, path->pathrec.dgid.raw,
drivers/infiniband/ulp/ipoib/ipoib_main.c
707
iter->path = *path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
721
struct ipoib_path *path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
723
*path = iter->path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
731
struct ipoib_path *path, *tp;
drivers/infiniband/ulp/ipoib/ipoib_main.c
735
list_for_each_entry_safe(path, tp, &priv->path_list, list) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
737
be32_to_cpu(sa_path_get_dlid(&path->pathrec)),
drivers/infiniband/ulp/ipoib/ipoib_main.c
738
path->pathrec.dgid.raw);
drivers/infiniband/ulp/ipoib/ipoib_main.c
739
if (path->ah)
drivers/infiniband/ulp/ipoib/ipoib_main.c
740
path->ah->valid = 0;
drivers/infiniband/ulp/ipoib/ipoib_main.c
757
struct ipoib_path *path, *tp;
drivers/infiniband/ulp/ipoib/ipoib_main.c
766
list_for_each_entry(path, &remove_list, list)
drivers/infiniband/ulp/ipoib/ipoib_main.c
767
rb_erase(&path->rb_node, &priv->path_tree);
drivers/infiniband/ulp/ipoib/ipoib_main.c
769
list_for_each_entry_safe(path, tp, &remove_list, list) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
770
if (path->query)
drivers/infiniband/ulp/ipoib/ipoib_main.c
771
ib_sa_cancel_query(path->query_id, path->query);
drivers/infiniband/ulp/ipoib/ipoib_main.c
774
wait_for_completion(&path->done);
drivers/infiniband/ulp/ipoib/ipoib_main.c
775
path_free(dev, path);
drivers/infiniband/ulp/ipoib/ipoib_main.c
78
struct ipoib_path path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
788
struct ipoib_path *path = path_ptr;
drivers/infiniband/ulp/ipoib/ipoib_main.c
789
struct net_device *dev = path->dev;
drivers/infiniband/ulp/ipoib/ipoib_main.c
804
status, path->pathrec.dgid.raw);
drivers/infiniband/ulp/ipoib/ipoib_main.c
826
if (memcmp(pathrec->dgid.raw, path->pathrec.dgid.raw,
drivers/infiniband/ulp/ipoib/ipoib_main.c
832
path->pathrec.dgid.raw);
drivers/infiniband/ulp/ipoib/ipoib_main.c
833
memcpy(pathrec->dgid.raw, path->pathrec.dgid.raw,
drivers/infiniband/ulp/ipoib/ipoib_main.c
837
path->pathrec = *pathrec;
drivers/infiniband/ulp/ipoib/ipoib_main.c
839
old_ah = path->ah;
drivers/infiniband/ulp/ipoib/ipoib_main.c
840
path->ah = ah;
drivers/infiniband/ulp/ipoib/ipoib_main.c
846
while ((skb = __skb_dequeue(&path->queue)))
drivers/infiniband/ulp/ipoib/ipoib_main.c
849
list_for_each_entry_safe(neigh, tn, &path->neigh_list, list) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
861
kref_get(&path->ah->ref);
drivers/infiniband/ulp/ipoib/ipoib_main.c
862
neigh->ah = path->ah;
drivers/infiniband/ulp/ipoib/ipoib_main.c
867
path,
drivers/infiniband/ulp/ipoib/ipoib_main.c
878
path->ah->valid = 1;
drivers/infiniband/ulp/ipoib/ipoib_main.c
881
path->query = NULL;
drivers/infiniband/ulp/ipoib/ipoib_main.c
882
complete(&path->done);
drivers/infiniband/ulp/ipoib/ipoib_main.c
887
ipoib_del_neighs_by_gid(dev, path->pathrec.dgid.raw);
drivers/infiniband/ulp/ipoib/ipoib_main.c
902
static void init_path_rec(struct ipoib_dev_priv *priv, struct ipoib_path *path,
drivers/infiniband/ulp/ipoib/ipoib_main.c
905
path->dev = priv->dev;
drivers/infiniband/ulp/ipoib/ipoib_main.c
908
path->pathrec.rec_type = SA_PATH_REC_TYPE_OPA;
drivers/infiniband/ulp/ipoib/ipoib_main.c
910
path->pathrec.rec_type = SA_PATH_REC_TYPE_IB;
drivers/infiniband/ulp/ipoib/ipoib_main.c
912
memcpy(path->pathrec.dgid.raw, gid, sizeof(union ib_gid));
drivers/infiniband/ulp/ipoib/ipoib_main.c
913
path->pathrec.sgid = priv->local_gid;
drivers/infiniband/ulp/ipoib/ipoib_main.c
914
path->pathrec.pkey = cpu_to_be16(priv->pkey);
drivers/infiniband/ulp/ipoib/ipoib_main.c
915
path->pathrec.numb_path = 1;
drivers/infiniband/ulp/ipoib/ipoib_main.c
916
path->pathrec.traffic_class = priv->broadcast->mcmember.traffic_class;
drivers/infiniband/ulp/ipoib/ipoib_main.c
922
struct ipoib_path *path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
927
path = kzalloc_obj(*path, GFP_ATOMIC);
drivers/infiniband/ulp/ipoib/ipoib_main.c
928
if (!path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
931
skb_queue_head_init(&path->queue);
drivers/infiniband/ulp/ipoib/ipoib_main.c
933
INIT_LIST_HEAD(&path->neigh_list);
drivers/infiniband/ulp/ipoib/ipoib_main.c
935
init_path_rec(priv, path, gid);
drivers/infiniband/ulp/ipoib/ipoib_main.c
937
return path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
941
struct ipoib_path *path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
946
path->pathrec.dgid.raw);
drivers/infiniband/ulp/ipoib/ipoib_main.c
948
init_completion(&path->done);
drivers/infiniband/ulp/ipoib/ipoib_main.c
950
path->query_id =
drivers/infiniband/ulp/ipoib/ipoib_main.c
952
&path->pathrec,
drivers/infiniband/ulp/ipoib/ipoib_main.c
960
path, &path->query);
drivers/infiniband/ulp/ipoib/ipoib_main.c
961
if (path->query_id < 0) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
962
ipoib_warn(priv, "ib_sa_path_rec_get failed: %d\n", path->query_id);
drivers/infiniband/ulp/ipoib/ipoib_main.c
963
path->query = NULL;
drivers/infiniband/ulp/ipoib/ipoib_main.c
964
complete(&path->done);
drivers/infiniband/ulp/ipoib/ipoib_main.c
965
return path->query_id;
drivers/infiniband/ulp/ipoib/ipoib_main.c
975
struct ipoib_path *path;
drivers/infiniband/ulp/ipoib/ipoib_main.c
980
path = __path_find(dev, daddr + 4);
drivers/infiniband/ulp/ipoib/ipoib_main.c
981
if (!path)
drivers/infiniband/ulp/ipoib/ipoib_main.c
983
if (!path->query)
drivers/infiniband/ulp/ipoib/ipoib_main.c
984
path_rec_start(dev, path);
drivers/infiniband/ulp/ipoib/ipoib_main.c
994
struct ipoib_path *path;
drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c
16
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c
175
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c
432
struct rtrs_addr path = {
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c
437
rtrs_addr_to_str(&path, str, sizeof(str));
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1023
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1083
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1173
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1497
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1499
rtrs_err(con->c.path, "HB err handler for path=%s\n", kobject_name(&clt_path->kobj));
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1531
const struct rtrs_addr *path,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1561
memcpy(&clt_path->s.dst_addr, path->dst,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1562
rdma_addr_size((struct sockaddr *)path->dst));
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1569
if (path->src)
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1570
memcpy(&clt_path->s.src_addr, path->src,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1571
rdma_addr_size((struct sockaddr *)path->src));
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1629
con->c.path = &clt_path->s;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1641
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1650
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1739
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1774
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1793
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1828
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1916
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1925
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1968
clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1980
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
2080
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
2418
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
2502
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
2635
struct rtrs_addr path = {
drivers/infiniband/ulp/rtrs/rtrs-clt.c
2640
rtrs_addr_to_str(&path, str, sizeof(str));
drivers/infiniband/ulp/rtrs/rtrs-clt.c
309
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
334
rtrs_err_rl(con->c.path, "Failed IB_WR_REG_MR: %s\n",
drivers/infiniband/ulp/rtrs/rtrs-clt.c
354
rtrs_err_rl(con->c.path, "Failed IB_WR_LOCAL_INV: %s\n",
drivers/infiniband/ulp/rtrs/rtrs-clt.c
391
clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
425
rtrs_err_rl(con->c.path, "Send INV WR key=%#x: %pe\n",
drivers/infiniband/ulp/rtrs/rtrs-clt.c
445
rtrs_err_rl(con->c.path,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
461
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
466
rtrs_wrn(con->c.path,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
510
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
517
rtrs_err(con->c.path, "post iu failed %pe\n", ERR_PTR(err));
drivers/infiniband/ulp/rtrs/rtrs-clt.c
524
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
537
rtrs_err(con->c.path, "rkey response is malformed: size %d\n",
drivers/infiniband/ulp/rtrs/rtrs-clt.c
604
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
650
rtrs_wrn(con->c.path, "Unknown IMM type %u\n",
drivers/infiniband/ulp/rtrs/rtrs-clt.c
662
rtrs_err(con->c.path, "rtrs_post_recv_empty(): %pe\n",
drivers/infiniband/ulp/rtrs/rtrs-clt.c
698
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
782
struct rtrs_clt_path *path;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
799
path = rcu_dereference(*ppcpu_path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
800
if (!path)
drivers/infiniband/ulp/rtrs/rtrs-clt.c
801
path = list_first_or_null_rcu(&clt->paths_list,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
802
typeof(*path), s.entry);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
804
path = rtrs_clt_get_next_path_or_null(&clt->paths_list, path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
806
rcu_assign_pointer(*ppcpu_path, path);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
808
return path;
drivers/infiniband/ulp/rtrs/rtrs-clt.h
202
int rtrs_clt_reconnect_from_sysfs(struct rtrs_clt_path *path);
drivers/infiniband/ulp/rtrs/rtrs-clt.h
206
int rtrs_clt_remove_path_from_sysfs(struct rtrs_clt_path *path,
drivers/infiniband/ulp/rtrs/rtrs-pri.h
325
int rtrs_cq_qp_create(struct rtrs_path *path, struct rtrs_con *con,
drivers/infiniband/ulp/rtrs/rtrs-pri.h
331
void rtrs_init_hb(struct rtrs_path *path, struct ib_cqe *cqe,
drivers/infiniband/ulp/rtrs/rtrs-pri.h
335
void rtrs_start_hb(struct rtrs_path *path);
drivers/infiniband/ulp/rtrs/rtrs-pri.h
336
void rtrs_stop_hb(struct rtrs_path *path);
drivers/infiniband/ulp/rtrs/rtrs-pri.h
337
void rtrs_send_hb_ack(struct rtrs_path *path);
drivers/infiniband/ulp/rtrs/rtrs-pri.h
92
struct rtrs_path *path;
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c
266
struct rtrs_addr path = {
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c
271
rtrs_addr_to_str(&path, str, sizeof(str));
drivers/infiniband/ulp/rtrs/rtrs-srv-trace.h
53
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1041
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1099
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1150
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1186
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1243
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1724
con->c.path = &srv_path->s;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1798
struct rtrs_addr path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
181
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1837
path.src = &srv_path->s.src_addr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1838
path.dst = &srv_path->s.dst_addr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1839
rtrs_addr_to_str(&path, str, sizeof(str));
drivers/infiniband/ulp/rtrs/rtrs-srv.c
198
struct rtrs_path *s = id->con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
2034
s = c->path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
336
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
486
s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
693
struct rtrs_srv_path *srv_path = to_srv_path(con->c.path);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
695
rtrs_err(con->c.path, "HB err handler for path=%s\n", kobject_name(&srv_path->kobj));
drivers/infiniband/ulp/rtrs/rtrs-srv.c
696
close_path(to_srv_path(c->path));
drivers/infiniband/ulp/rtrs/rtrs-srv.c
721
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
810
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
928
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
970
struct rtrs_path *s = con->c.path;
drivers/infiniband/ulp/rtrs/rtrs.c
131
struct rtrs_path *path = con->path;
drivers/infiniband/ulp/rtrs/rtrs.c
140
list.lkey = path->dev->ib_pd->local_dma_lkey;
drivers/infiniband/ulp/rtrs/rtrs.c
193
struct rtrs_path *path = con->path;
drivers/infiniband/ulp/rtrs/rtrs.c
197
sflags = (atomic_inc_return(&con->wr_cnt) % path->signal_interval) ?
drivers/infiniband/ulp/rtrs/rtrs.c
216
rtrs_info(con->path, "QP event %s (%d) received\n",
drivers/infiniband/ulp/rtrs/rtrs.c
221
rtrs_info(con->path, "Unhandled QP event %s (%d) received\n",
drivers/infiniband/ulp/rtrs/rtrs.c
229
return con->cid >= con->path->irq_con_num;
drivers/infiniband/ulp/rtrs/rtrs.c
245
rtrs_err(con->path, "Creating completion queue failed, errno: %pe\n",
drivers/infiniband/ulp/rtrs/rtrs.c
276
rtrs_err(con->path, "Creating QP failed, err: %pe\n",
drivers/infiniband/ulp/rtrs/rtrs.c
296
int rtrs_cq_qp_create(struct rtrs_path *path, struct rtrs_con *con,
drivers/infiniband/ulp/rtrs/rtrs.c
307
err = create_qp(con, path->dev->ib_pd, max_send_wr, max_recv_wr,
drivers/infiniband/ulp/rtrs/rtrs.c
313
con->path = path;
drivers/infiniband/ulp/rtrs/rtrs.c
329
static void schedule_hb(struct rtrs_path *path)
drivers/infiniband/ulp/rtrs/rtrs.c
331
queue_delayed_work(path->hb_wq, &path->hb_dwork,
drivers/infiniband/ulp/rtrs/rtrs.c
332
msecs_to_jiffies(path->hb_interval_ms));
drivers/infiniband/ulp/rtrs/rtrs.c
335
void rtrs_send_hb_ack(struct rtrs_path *path)
drivers/infiniband/ulp/rtrs/rtrs.c
337
struct rtrs_con *usr_con = path->con[0];
drivers/infiniband/ulp/rtrs/rtrs.c
342
err = rtrs_post_rdma_write_imm_empty(usr_con, path->hb_cqe, imm,
drivers/infiniband/ulp/rtrs/rtrs.c
345
rtrs_err(path, "send HB ACK failed, errno: %pe\n",
drivers/infiniband/ulp/rtrs/rtrs.c
347
path->hb_err_handler(usr_con);
drivers/infiniband/ulp/rtrs/rtrs.c
356
struct rtrs_path *path;
drivers/infiniband/ulp/rtrs/rtrs.c
360
path = container_of(to_delayed_work(work), typeof(*path), hb_dwork);
drivers/infiniband/ulp/rtrs/rtrs.c
361
usr_con = path->con[0];
drivers/infiniband/ulp/rtrs/rtrs.c
363
if (path->hb_missed_cnt > path->hb_missed_max) {
drivers/infiniband/ulp/rtrs/rtrs.c
364
rtrs_err(path, "HB missed max reached.\n");
drivers/infiniband/ulp/rtrs/rtrs.c
365
path->hb_err_handler(usr_con);
drivers/infiniband/ulp/rtrs/rtrs.c
368
if (path->hb_missed_cnt++) {
drivers/infiniband/ulp/rtrs/rtrs.c
370
schedule_hb(path);
drivers/infiniband/ulp/rtrs/rtrs.c
374
path->hb_last_sent = ktime_get();
drivers/infiniband/ulp/rtrs/rtrs.c
377
err = rtrs_post_rdma_write_imm_empty(usr_con, path->hb_cqe, imm,
drivers/infiniband/ulp/rtrs/rtrs.c
380
rtrs_err(path, "HB send failed, errno: %pe\n",
drivers/infiniband/ulp/rtrs/rtrs.c
382
path->hb_err_handler(usr_con);
drivers/infiniband/ulp/rtrs/rtrs.c
386
schedule_hb(path);
drivers/infiniband/ulp/rtrs/rtrs.c
389
void rtrs_init_hb(struct rtrs_path *path, struct ib_cqe *cqe,
drivers/infiniband/ulp/rtrs/rtrs.c
394
path->hb_cqe = cqe;
drivers/infiniband/ulp/rtrs/rtrs.c
395
path->hb_interval_ms = interval_ms;
drivers/infiniband/ulp/rtrs/rtrs.c
396
path->hb_err_handler = err_handler;
drivers/infiniband/ulp/rtrs/rtrs.c
397
path->hb_wq = wq;
drivers/infiniband/ulp/rtrs/rtrs.c
398
path->hb_missed_max = missed_max;
drivers/infiniband/ulp/rtrs/rtrs.c
399
path->hb_missed_cnt = 0;
drivers/infiniband/ulp/rtrs/rtrs.c
400
INIT_DELAYED_WORK(&path->hb_dwork, hb_work);
drivers/infiniband/ulp/rtrs/rtrs.c
404
void rtrs_start_hb(struct rtrs_path *path)
drivers/infiniband/ulp/rtrs/rtrs.c
406
schedule_hb(path);
drivers/infiniband/ulp/rtrs/rtrs.c
410
void rtrs_stop_hb(struct rtrs_path *path)
drivers/infiniband/ulp/rtrs/rtrs.c
412
cancel_delayed_work_sync(&path->hb_dwork);
drivers/infiniband/ulp/rtrs/rtrs.c
413
path->hb_missed_cnt = 0;
drivers/infiniband/ulp/rtrs/rtrs.c
74
struct rtrs_path *path = con->path;
drivers/infiniband/ulp/rtrs/rtrs.c
80
list.lkey = path->dev->ib_pd->local_dma_lkey;
drivers/infiniband/ulp/rtrs/rtrs.c
83
rtrs_wrn(con->path,
drivers/infiniband/ulp/srp/ib_srp.c
2436
sa_path_set_dlid(&ch->ib_cm.path, dlid);
drivers/infiniband/ulp/srp/ib_srp.c
2437
ch->ib_cm.path.pkey = cpi->redirect_pkey;
drivers/infiniband/ulp/srp/ib_srp.c
2439
memcpy(ch->ib_cm.path.dgid.raw, cpi->redirect_gid, 16);
drivers/infiniband/ulp/srp/ib_srp.c
2446
union ib_gid *dgid = &ch->ib_cm.path.dgid;
drivers/infiniband/ulp/srp/ib_srp.c
2928
return sysfs_emit(buf, "%pI6\n", ch->ib_cm.path.dgid.raw);
drivers/infiniband/ulp/srp/ib_srp.c
319
ch->ib_cm.path.rec_type = SA_PATH_REC_TYPE_OPA;
drivers/infiniband/ulp/srp/ib_srp.c
321
ch->ib_cm.path.rec_type = SA_PATH_REC_TYPE_IB;
drivers/infiniband/ulp/srp/ib_srp.c
322
ch->ib_cm.path.sgid = target->sgid;
drivers/infiniband/ulp/srp/ib_srp.c
323
ch->ib_cm.path.dgid = target->ib_cm.orig_dgid;
drivers/infiniband/ulp/srp/ib_srp.c
324
ch->ib_cm.path.pkey = target->ib_cm.pkey;
drivers/infiniband/ulp/srp/ib_srp.c
325
ch->ib_cm.path.service_id = target->ib_cm.service_id;
drivers/infiniband/ulp/srp/ib_srp.c
708
ch->ib_cm.path = *pathrec;
drivers/infiniband/ulp/srp/ib_srp.c
717
ch->ib_cm.path.numb_path = 1;
drivers/infiniband/ulp/srp/ib_srp.c
724
&ch->ib_cm.path,
drivers/infiniband/ulp/srp/ib_srp.c
744
ch->ib_cm.path.sgid.raw, ch->ib_cm.path.dgid.raw,
drivers/infiniband/ulp/srp/ib_srp.c
860
req->ib_param.primary_path = &ch->ib_cm.path;
drivers/infiniband/ulp/srp/ib_srp.h
175
struct sa_path_rec path;
drivers/input/input.c
1092
const char *path = kobject_get_path(&dev->dev.kobj, GFP_KERNEL);
drivers/input/input.c
1100
seq_printf(seq, "S: Sysfs=%s\n", path ? path : "");
drivers/input/input.c
1130
kfree(path);
drivers/input/input.c
2316
const char *path;
drivers/input/input.c
2367
path = kobject_get_path(&dev->dev.kobj, GFP_KERNEL);
drivers/input/input.c
2370
path ? path : "N/A");
drivers/input/input.c
2371
kfree(path);
drivers/interconnect/bulk.c
115
icc_disable(paths[num_paths].path);
drivers/interconnect/bulk.c
21
paths[i].path = of_icc_get(dev, paths[i].name);
drivers/interconnect/bulk.c
22
if (IS_ERR(paths[i].path)) {
drivers/interconnect/bulk.c
23
ret = PTR_ERR(paths[i].path);
drivers/interconnect/bulk.c
27
paths[i].path = NULL;
drivers/interconnect/bulk.c
49
icc_put(paths[num_paths].path);
drivers/interconnect/bulk.c
50
paths[num_paths].path = NULL;
drivers/interconnect/bulk.c
68
ret = icc_set_bw(paths[i].path, paths[i].avg_bw, paths[i].peak_bw);
drivers/interconnect/bulk.c
91
ret = icc_enable(paths[i].path);
drivers/interconnect/core.c
172
struct icc_path *path;
drivers/interconnect/core.c
175
path = kzalloc_flex(*path, reqs, num_nodes);
drivers/interconnect/core.c
176
if (!path)
drivers/interconnect/core.c
179
path->num_nodes = num_nodes;
drivers/interconnect/core.c
185
hlist_add_head(&path->reqs[i].req_node, &node->req_list);
drivers/interconnect/core.c
186
path->reqs[i].node = node;
drivers/interconnect/core.c
187
path->reqs[i].dev = dev;
drivers/interconnect/core.c
188
path->reqs[i].enabled = true;
drivers/interconnect/core.c
195
return path;
drivers/interconnect/core.c
201
struct icc_path *path = ERR_PTR(-EPROBE_DEFER);
drivers/interconnect/core.c
228
path = ERR_PTR(-ENOENT);
drivers/interconnect/core.c
259
path = path_init(dev, dst, depth);
drivers/interconnect/core.c
261
return path;
drivers/interconnect/core.c
304
static int apply_constraints(struct icc_path *path)
drivers/interconnect/core.c
311
for (i = 0; i < path->num_nodes; i++) {
drivers/interconnect/core.c
312
next = path->reqs[i].node;
drivers/interconnect/core.c
428
struct icc_path **ptr, *path;
drivers/interconnect/core.c
434
path = of_icc_get(dev, name);
drivers/interconnect/core.c
435
if (!IS_ERR(path)) {
drivers/interconnect/core.c
436
*ptr = path;
drivers/interconnect/core.c
442
return path;
drivers/interconnect/core.c
463
struct icc_path *path;
drivers/interconnect/core.c
518
path = path_find(dev, src_data->node, dst_data->node);
drivers/interconnect/core.c
520
if (IS_ERR(path)) {
drivers/interconnect/core.c
521
dev_err(dev, "%s: invalid path=%ld\n", __func__, PTR_ERR(path));
drivers/interconnect/core.c
526
icc_set_tag(path, src_data->tag);
drivers/interconnect/core.c
528
path->name = kasprintf(GFP_KERNEL, "%s-%s",
drivers/interconnect/core.c
530
if (!path->name) {
drivers/interconnect/core.c
531
kfree(path);
drivers/interconnect/core.c
532
path = ERR_PTR(-ENOMEM);
drivers/interconnect/core.c
538
return path;
drivers/interconnect/core.c
605
struct icc_path *path = ERR_PTR(-EPROBE_DEFER);
drivers/interconnect/core.c
621
path = path_find(dev, src_node, dst_node);
drivers/interconnect/core.c
622
if (IS_ERR(path)) {
drivers/interconnect/core.c
623
dev_err(dev, "%s: invalid path=%ld\n", __func__, PTR_ERR(path));
drivers/interconnect/core.c
627
path->name = kasprintf(GFP_KERNEL, "%s-%s", src_node->name, dst_node->name);
drivers/interconnect/core.c
628
if (!path->name) {
drivers/interconnect/core.c
629
kfree(path);
drivers/interconnect/core.c
630
path = ERR_PTR(-ENOMEM);
drivers/interconnect/core.c
634
return path;
drivers/interconnect/core.c
645
void icc_set_tag(struct icc_path *path, u32 tag)
drivers/interconnect/core.c
649
if (!path)
drivers/interconnect/core.c
654
for (i = 0; i < path->num_nodes; i++)
drivers/interconnect/core.c
655
path->reqs[i].tag = tag;
drivers/interconnect/core.c
670
const char *icc_get_name(struct icc_path *path)
drivers/interconnect/core.c
672
if (!path)
drivers/interconnect/core.c
675
return path->name;
drivers/interconnect/core.c
694
int icc_set_bw(struct icc_path *path, u32 avg_bw, u32 peak_bw)
drivers/interconnect/core.c
701
if (!path)
drivers/interconnect/core.c
704
if (WARN_ON(IS_ERR(path) || !path->num_nodes))
drivers/interconnect/core.c
709
old_avg = path->reqs[0].avg_bw;
drivers/interconnect/core.c
710
old_peak = path->reqs[0].peak_bw;
drivers/interconnect/core.c
712
for (i = 0; i < path->num_nodes; i++) {
drivers/interconnect/core.c
713
node = path->reqs[i].node;
drivers/interconnect/core.c
716
path->reqs[i].avg_bw = avg_bw;
drivers/interconnect/core.c
717
path->reqs[i].peak_bw = peak_bw;
drivers/interconnect/core.c
722
trace_icc_set_bw(path, node, i, avg_bw, peak_bw);
drivers/interconnect/core.c
725
ret = apply_constraints(path);
drivers/interconnect/core.c
730
for (i = 0; i < path->num_nodes; i++) {
drivers/interconnect/core.c
731
node = path->reqs[i].node;
drivers/interconnect/core.c
732
path->reqs[i].avg_bw = old_avg;
drivers/interconnect/core.c
733
path->reqs[i].peak_bw = old_peak;
drivers/interconnect/core.c
736
apply_constraints(path);
drivers/interconnect/core.c
741
trace_icc_set_bw_end(path, ret);
drivers/interconnect/core.c
747
static int __icc_enable(struct icc_path *path, bool enable)
drivers/interconnect/core.c
751
if (!path)
drivers/interconnect/core.c
754
if (WARN_ON(IS_ERR(path) || !path->num_nodes))
drivers/interconnect/core.c
759
for (i = 0; i < path->num_nodes; i++)
drivers/interconnect/core.c
760
path->reqs[i].enabled = enable;
drivers/interconnect/core.c
764
return icc_set_bw(path, path->reqs[0].avg_bw,
drivers/interconnect/core.c
765
path->reqs[0].peak_bw);
drivers/interconnect/core.c
768
int icc_enable(struct icc_path *path)
drivers/interconnect/core.c
770
return __icc_enable(path, true);
drivers/interconnect/core.c
774
int icc_disable(struct icc_path *path)
drivers/interconnect/core.c
776
return __icc_enable(path, false);
drivers/interconnect/core.c
787
void icc_put(struct icc_path *path)
drivers/interconnect/core.c
793
if (!path || WARN_ON(IS_ERR(path)))
drivers/interconnect/core.c
796
ret = icc_set_bw(path, 0, 0);
drivers/interconnect/core.c
803
for (i = 0; i < path->num_nodes; i++) {
drivers/interconnect/core.c
804
node = path->reqs[i].node;
drivers/interconnect/core.c
805
hlist_del(&path->reqs[i].req_node);
drivers/interconnect/core.c
813
kfree(path->name);
drivers/interconnect/core.c
814
kfree(path);
drivers/interconnect/debugfs-client.c
35
struct icc_path *path;
drivers/interconnect/debugfs-client.c
41
struct debugfs_path *path;
drivers/interconnect/debugfs-client.c
43
list_for_each_entry(path, &debugfs_paths, list) {
drivers/interconnect/debugfs-client.c
44
if (!strcmp(path->src, src) && !strcmp(path->dst, dst))
drivers/interconnect/debugfs-client.c
45
return path->path;
drivers/interconnect/debugfs-client.c
95
debugfs_path->path = cur_path;
drivers/interconnect/icc-kunit.c
159
struct icc_path *path;
drivers/interconnect/icc-kunit.c
162
path = kunit_kzalloc(test, struct_size(path, reqs, num), GFP_KERNEL);
drivers/interconnect/icc-kunit.c
163
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, path);
drivers/interconnect/icc-kunit.c
165
path->num_nodes = num;
drivers/interconnect/icc-kunit.c
167
path->reqs[i].node = nodes[i];
drivers/interconnect/icc-kunit.c
168
hlist_add_head(&path->reqs[i].req_node, &nodes[i]->req_list);
drivers/interconnect/icc-kunit.c
170
path->name = "mock-path";
drivers/interconnect/icc-kunit.c
172
return path;
drivers/interconnect/icc-kunit.c
175
static void icc_test_destroy_path(struct kunit *test, struct icc_path *path)
drivers/interconnect/icc-kunit.c
179
for (i = 0; i < path->num_nodes; i++)
drivers/interconnect/icc-kunit.c
180
hlist_del(&path->reqs[i].req_node);
drivers/interconnect/icc-kunit.c
182
kunit_kfree(test, path);
drivers/interconnect/icc-kunit.c
199
struct icc_path *path;
drivers/interconnect/icc-kunit.c
208
path = icc_test_create_path(test, path_nodes, 3);
drivers/interconnect/icc-kunit.c
210
ret = icc_enable(path);
drivers/interconnect/icc-kunit.c
213
ret = icc_set_bw(path, 1000, 2000);
drivers/interconnect/icc-kunit.c
221
icc_set_tag(path, 0xABC);
drivers/interconnect/icc-kunit.c
222
KUNIT_EXPECT_EQ(test, path->reqs[0].tag, 0xABC);
drivers/interconnect/icc-kunit.c
224
icc_disable(path);
drivers/interconnect/icc-kunit.c
227
icc_test_destroy_path(test, path);
drivers/interconnect/icc-kunit.c
280
bulk[0].path = icc_test_create_path(test, nodes_cpu, 3);
drivers/interconnect/icc-kunit.c
284
bulk[1].path = icc_test_create_path(test, nodes_gpu, 2);
drivers/interconnect/icc-kunit.c
301
icc_test_destroy_path(test, bulk[0].path);
drivers/interconnect/icc-kunit.c
302
icc_test_destroy_path(test, bulk[1].path);
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c
280
ret = icc_set_bw(tbu->path, 0, UINT_MAX);
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c
343
icc_set_bw(tbu->path, 0, 0);
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c
509
tbu->path = devm_of_icc_get(dev, NULL);
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c
510
if (IS_ERR(tbu->path))
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c
511
return PTR_ERR(tbu->path);
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c
53
struct icc_path *path;
drivers/iommu/intel/debugfs.c
309
dump_page_info(struct seq_file *m, unsigned long iova, u64 *path)
drivers/iommu/intel/debugfs.c
312
iova >> VTD_PAGE_SHIFT, path[5], path[4], path[3]);
drivers/iommu/intel/debugfs.c
313
if (path[2]) {
drivers/iommu/intel/debugfs.c
314
seq_printf(m, "\t0x%016llx", path[2]);
drivers/iommu/intel/debugfs.c
315
if (path[1])
drivers/iommu/intel/debugfs.c
316
seq_printf(m, "\t0x%016llx", path[1]);
drivers/iommu/intel/debugfs.c
323
u64 *path)
drivers/iommu/intel/debugfs.c
335
path[level] = pde->val;
drivers/iommu/intel/debugfs.c
337
dump_page_info(m, start, path);
drivers/iommu/intel/debugfs.c
340
level - 1, start, path);
drivers/iommu/intel/debugfs.c
341
path[level] = 0;
drivers/iommu/intel/debugfs.c
361
u64 pgd, path[6] = { 0 };
drivers/iommu/intel/debugfs.c
463
pgtable_walk_level(m, phys_to_virt(pgd), agaw + 2, 0, path);
drivers/iommu/intel/dmar.c
143
size = struct_size(info, path, level);
drivers/iommu/intel/dmar.c
162
info->path[level].bus = tmp->bus->number;
drivers/iommu/intel/dmar.c
163
info->path[level].device = PCI_SLOT(tmp->devfn);
drivers/iommu/intel/dmar.c
164
info->path[level].function = PCI_FUNC(tmp->devfn);
drivers/iommu/intel/dmar.c
180
struct acpi_dmar_pci_path *path, int count)
drivers/iommu/intel/dmar.c
190
if (path[i].device != info->path[i].device ||
drivers/iommu/intel/dmar.c
191
path[i].function != info->path[i].function)
drivers/iommu/intel/dmar.c
203
if (bus == info->path[i].bus &&
drivers/iommu/intel/dmar.c
204
path[0].device == info->path[i].device &&
drivers/iommu/intel/dmar.c
205
path[0].function == info->path[i].function) {
drivers/iommu/intel/dmar.c
207
bus, path[0].device, path[0].function);
drivers/iommu/intel/dmar.c
223
struct acpi_dmar_pci_path *path;
drivers/iommu/intel/dmar.c
234
path = (struct acpi_dmar_pci_path *)(scope + 1);
drivers/iommu/intel/dmar.c
235
level = (scope->length - sizeof(*scope)) / sizeof(*path);
drivers/iommu/intel/dmar.c
236
if (!dmar_match_pci_path(info, scope->bus, path, level))
drivers/iommu/intel/dmar.c
736
struct acpi_dmar_pci_path *path;
drivers/iommu/intel/dmar.c
751
path = (void *)(scope + 1);
drivers/iommu/intel/dmar.c
754
scope->bus, path->device, path->function);
drivers/iommu/intel/dmar.c
758
dmaru->devices[i].devfn = PCI_DEVFN(path->device,
drivers/iommu/intel/dmar.c
759
path->function);
drivers/iommu/intel/irq_remapping.c
832
struct acpi_dmar_pci_path *path;
drivers/iommu/intel/irq_remapping.c
837
path = (struct acpi_dmar_pci_path *)(scope + 1);
drivers/iommu/intel/irq_remapping.c
846
bus = read_pci_config_byte(bus, path->device, path->function,
drivers/iommu/intel/irq_remapping.c
848
path++;
drivers/iommu/intel/irq_remapping.c
866
ir_hpet[free].devfn = PCI_DEVFN(path->device, path->function);
drivers/iommu/intel/irq_remapping.c
877
struct acpi_dmar_pci_path *path;
drivers/iommu/intel/irq_remapping.c
882
path = (struct acpi_dmar_pci_path *)(scope + 1);
drivers/iommu/intel/irq_remapping.c
891
bus = read_pci_config_byte(bus, path->device, path->function,
drivers/iommu/intel/irq_remapping.c
893
path++;
drivers/iommu/intel/irq_remapping.c
909
ir_ioapic[free].devfn = PCI_DEVFN(path->device, path->function);
drivers/md/bcache/super.c
2483
char *path;
drivers/md/bcache/super.c
2504
args->path);
drivers/md/bcache/super.c
2506
kfree(args->path);
drivers/md/bcache/super.c
2524
args->path);
drivers/md/bcache/super.c
2526
kfree(args->path);
drivers/md/bcache/super.c
2553
char *path = NULL;
drivers/md/bcache/super.c
2579
path = kstrndup(buffer, size, GFP_KERNEL);
drivers/md/bcache/super.c
2580
if (!path)
drivers/md/bcache/super.c
2589
bdev_file = bdev_file_open_by_path(strim(path), BLK_OPEN_READ, NULL, NULL);
drivers/md/bcache/super.c
2616
if (lookup_bdev(strim(path), &dev) == 0 &&
drivers/md/bcache/super.c
2643
args->path = path;
drivers/md/bcache/super.c
2668
kfree(path);
drivers/md/bcache/super.c
2683
kfree(path);
drivers/md/bcache/super.c
2684
path = NULL;
drivers/md/bcache/super.c
2689
pr_info("error %s: %s\n", path?path:"", err);
drivers/md/dm-mpath.c
1344
pgpath->path.dev->name);
drivers/md/dm-mpath.c
1346
pgpath->pg->ps.type->fail_path(&pgpath->pg->ps, &pgpath->path);
drivers/md/dm-mpath.c
1356
pgpath->path.dev->name, atomic_read(&m->nr_valid_paths));
drivers/md/dm-mpath.c
1384
pgpath->path.dev->name);
drivers/md/dm-mpath.c
1386
r = pgpath->pg->ps.type->reinstate_path(&pgpath->pg->ps, &pgpath->path);
drivers/md/dm-mpath.c
1402
pgpath->path.dev->name, nr_valid_paths);
drivers/md/dm-mpath.c
1430
if (pgpath->path.dev->bdev->bd_dev == dev)
drivers/md/dm-mpath.c
1631
struct request_queue *q = bdev_get_queue(pgpath->path.dev->bdev);
drivers/md/dm-mpath.c
1689
ps->type->end_io(ps, &pgpath->path, mpio->nr_bytes,
drivers/md/dm-mpath.c
1733
ps->type->end_io(ps, &pgpath->path, mpio->nr_bytes,
drivers/md/dm-mpath.c
1886
DMEMIT("%s %s %u ", p->path.dev->name,
drivers/md/dm-mpath.c
1891
&p->path, type, result + sz,
drivers/md/dm-mpath.c
1912
DMEMIT("%s ", p->path.dev->name);
drivers/md/dm-mpath.c
1915
&p->path, type, result + sz,
drivers/md/dm-mpath.c
1942
pg_counter, pgpath_counter, p->path.dev->name,
drivers/md/dm-mpath.c
1948
sz += pg->ps.type->status(&pg->ps, &p->path,
drivers/md/dm-mpath.c
196
dm_put_device(ti, pgpath->path.dev);
drivers/md/dm-mpath.c
2035
struct block_device *bdev = pgpath->path.dev->bdev;
drivers/md/dm-mpath.c
2161
*bdev = pgpath->path.dev->bdev;
drivers/md/dm-mpath.c
2207
ret = fn(ti, p->path.dev, ti->begin, ti->len, data);
drivers/md/dm-mpath.c
2219
struct request_queue *q = bdev_get_queue(pgpath->path.dev->bdev);
drivers/md/dm-mpath.c
382
struct dm_path *path;
drivers/md/dm-mpath.c
385
path = pg->ps.type->select_path(&pg->ps, nr_bytes);
drivers/md/dm-mpath.c
386
if (!path)
drivers/md/dm-mpath.c
389
pgpath = path_to_pgpath(path);
drivers/md/dm-mpath.c
47
struct dm_path path;
drivers/md/dm-mpath.c
53
#define path_to_pgpath(__pgp) container_of((__pgp), struct pgpath, path)
drivers/md/dm-mpath.c
537
bdev = pgpath->path.dev->bdev;
drivers/md/dm-mpath.c
564
&pgpath->path,
drivers/md/dm-mpath.c
582
&pgpath->path,
drivers/md/dm-mpath.c
659
bio_set_dev(bio, pgpath->path.dev->bdev);
drivers/md/dm-mpath.c
664
&pgpath->path,
drivers/md/dm-mpath.c
945
&p->path.dev);
drivers/md/dm-mpath.c
951
q = bdev_get_queue(p->path.dev->bdev);
drivers/md/dm-mpath.c
969
r = setup_scsi_dh(p->path.dev->bdev, m, &attached_handler_name, &ti->error);
drivers/md/dm-mpath.c
975
r = ps->type->add_path(ps, &p->path, as->argc, as->argv, &ti->error);
drivers/md/dm-mpath.c
982
dm_put_device(ti, p->path.dev);
drivers/md/dm-mpath.h
21
void dm_pg_init_complete(struct dm_path *path, unsigned int err_flags);
drivers/md/dm-path-selector.h
63
int (*add_path)(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-path-selector.h
86
int (*status)(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-path-selector.h
89
int (*start_io)(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-path-selector.h
91
int (*end_io)(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-historical-service-time.c
237
static int hst_status(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-historical-service-time.c
243
if (!path) {
drivers/md/dm-ps-historical-service-time.c
248
pi = path->pscontext;
drivers/md/dm-ps-historical-service-time.c
267
static int hst_add_path(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-historical-service-time.c
298
pi->path = path;
drivers/md/dm-ps-historical-service-time.c
309
path->pscontext = pi;
drivers/md/dm-ps-historical-service-time.c
319
static void hst_fail_path(struct path_selector *ps, struct dm_path *path)
drivers/md/dm-ps-historical-service-time.c
322
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-historical-service-time.c
331
static int hst_reinstate_path(struct path_selector *ps, struct dm_path *path)
drivers/md/dm-ps-historical-service-time.c
334
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-historical-service-time.c
454
ret = best->path;
drivers/md/dm-ps-historical-service-time.c
461
static int hst_start_io(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-historical-service-time.c
464
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-historical-service-time.c
492
static int hst_end_io(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-historical-service-time.c
495
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-historical-service-time.c
56
struct dm_path *path;
drivers/md/dm-ps-io-affinity.c
15
struct dm_path *path;
drivers/md/dm-ps-io-affinity.c
152
static int ioa_status(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-io-affinity.c
159
if (!path) {
drivers/md/dm-ps-io-affinity.c
169
pi = path->pscontext;
drivers/md/dm-ps-io-affinity.c
234
return pi ? pi->path : NULL;
drivers/md/dm-ps-io-affinity.c
43
static int ioa_add_path(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-io-affinity.c
62
pi->path = path;
drivers/md/dm-ps-io-affinity.c
63
path->pscontext = pi;
drivers/md/dm-ps-queue-length.c
115
static int ql_add_path(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-queue-length.c
151
pi->path = path;
drivers/md/dm-ps-queue-length.c
155
path->pscontext = pi;
drivers/md/dm-ps-queue-length.c
164
static void ql_fail_path(struct path_selector *ps, struct dm_path *path)
drivers/md/dm-ps-queue-length.c
167
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-queue-length.c
175
static int ql_reinstate_path(struct path_selector *ps, struct dm_path *path)
drivers/md/dm-ps-queue-length.c
178
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-queue-length.c
217
ret = best->path;
drivers/md/dm-ps-queue-length.c
223
static int ql_start_io(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-queue-length.c
226
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-queue-length.c
233
static int ql_end_io(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-queue-length.c
236
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-queue-length.c
38
struct dm_path *path;
drivers/md/dm-ps-queue-length.c
87
static int ql_status(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-queue-length.c
94
if (!path)
drivers/md/dm-ps-queue-length.c
97
pi = path->pscontext;
drivers/md/dm-ps-round-robin.c
104
pi = path->pscontext;
drivers/md/dm-ps-round-robin.c
121
static int rr_add_path(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-round-robin.c
153
pi->path = path;
drivers/md/dm-ps-round-robin.c
156
path->pscontext = pi;
drivers/md/dm-ps-round-robin.c
202
return pi ? pi->path : NULL;
drivers/md/dm-ps-round-robin.c
31
struct dm_path *path;
drivers/md/dm-ps-round-robin.c
91
static int rr_status(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-round-robin.c
97
if (!path)
drivers/md/dm-ps-service-time.c
112
static int st_add_path(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-service-time.c
162
pi->path = path;
drivers/md/dm-ps-service-time.c
167
path->pscontext = pi;
drivers/md/dm-ps-service-time.c
176
static void st_fail_path(struct path_selector *ps, struct dm_path *path)
drivers/md/dm-ps-service-time.c
179
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-service-time.c
187
static int st_reinstate_path(struct path_selector *ps, struct dm_path *path)
drivers/md/dm-ps-service-time.c
190
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-service-time.c
298
ret = best->path;
drivers/md/dm-ps-service-time.c
304
static int st_start_io(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-service-time.c
307
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-service-time.c
314
static int st_end_io(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-service-time.c
317
struct path_info *pi = path->pscontext;
drivers/md/dm-ps-service-time.c
33
struct dm_path *path;
drivers/md/dm-ps-service-time.c
83
static int st_status(struct path_selector *ps, struct dm_path *path,
drivers/md/dm-ps-service-time.c
89
if (!path)
drivers/md/dm-ps-service-time.c
92
pi = path->pscontext;
drivers/md/dm-table.c
335
int __ref dm_devt_from_path(const char *path, dev_t *dev_p)
drivers/md/dm-table.c
342
if (sscanf(path, "%u:%u%c", &major, &minor, &dummy) == 2) {
drivers/md/dm-table.c
348
r = lookup_bdev(path, &dev);
drivers/md/dm-table.c
351
r = early_lookup_bdev(path, &dev);
drivers/md/dm-table.c
365
int dm_get_device(struct dm_target *ti, const char *path, blk_mode_t mode,
drivers/md/dm-table.c
375
r = dm_devt_from_path(path, &dev);
drivers/md/dm-uevent.c
171
const char *path, unsigned int nr_valid_paths)
drivers/md/dm-uevent.c
184
path, nr_valid_paths);
drivers/md/dm-uevent.c
62
const char *path,
drivers/md/dm-uevent.c
94
if (add_uevent_var(&event->ku_env, "DM_PATH=%s", path)) {
drivers/md/dm-uevent.h
22
struct dm_target *ti, const char *path,
drivers/md/dm-uevent.h
39
struct dm_target *ti, const char *path,
drivers/md/dm-zoned-target.c
688
static int dmz_get_zoned_device(struct dm_target *ti, char *path,
drivers/md/dm-zoned-target.c
698
ret = dm_get_device(ti, path, dm_table_get_mode(ti->table), &ddev);
drivers/media/dvb-frontends/stv0900_core.c
1583
p_search.path = demod;
drivers/media/dvb-frontends/stv0900_priv.h
251
enum fe_stv0900_demod_num path;/* Path Used demod1 or 2 */
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
139
static int mdp_path_subfrm_require(const struct mdp_path *path,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
143
const int p_id = path->mdp_dev->mdp_data->mdp_plat_id;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
145
const struct mtk_mdp_driver_data *data = path->mdp_dev->mdp_data;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
151
num_comp = CFG_GET(MT8183, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
153
num_comp = CFG_GET(MT8195, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
156
index = __get_pipe(path->mdp_dev, path->comps[0].comp->public_id);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
158
mutex = __get_mutex(path->mdp_dev, p);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
167
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
169
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
171
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
174
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
192
static int mdp_path_subfrm_run(const struct mdp_path *path,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
196
const int p_id = path->mdp_dev->mdp_data->mdp_plat_id;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
198
struct device *dev = &path->mdp_dev->pdev->dev;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
211
num_comp = CFG_GET(MT8183, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
213
num_comp = CFG_GET(MT8195, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
219
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
221
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
223
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
225
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
234
mutex = __get_mutex(path->mdp_dev, p);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
240
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
242
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
244
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
246
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
257
static int mdp_path_ctx_init(struct mdp_dev *mdp, struct mdp_path *path)
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
265
num_comp = CFG_GET(MT8183, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
267
num_comp = CFG_GET(MT8195, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
276
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
278
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
280
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
283
param = (void *)CFG_ADDR(MT8183, path->config, components[index]);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
285
param = (void *)CFG_ADDR(MT8195, path->config, components[index]);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
286
ret = mdp_comp_ctx_config(mdp, &path->comps[index],
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
287
param, path->param);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
296
struct mdp_path *path, u32 count)
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
298
const int p_id = path->mdp_dev->mdp_data->mdp_plat_id;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
308
num_comp = CFG_GET(MT8183, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
310
num_comp = CFG_GET(MT8195, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
313
ctrl = CFG_ADDR(MT8183, path->config, ctrls[count]);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
315
ctrl = CFG_ADDR(MT8195, path->config, ctrls[count]);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
318
ret = mdp_path_subfrm_require(path, cmd, &pipe, count);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
329
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
331
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
333
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
335
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
343
ret = mdp_path_subfrm_run(path, cmd, &pipe, count);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
349
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
351
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
353
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
355
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
365
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
367
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
369
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
371
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
386
struct mdp_path *path)
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
396
num_comp = CFG_GET(MT8183, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
398
num_comp = CFG_GET(MT8195, path->config, num_components);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
401
num_sub = CFG_GET(MT8183, path->config, num_subfrms);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
403
num_sub = CFG_GET(MT8195, path->config, num_subfrms);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
409
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
411
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
413
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
415
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
425
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
427
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
429
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
431
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
439
compose = path->composes[out];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
447
ret = mdp_path_config_subfrm(cmd, path, count);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
454
inner_id = CFG_GET(MT8183, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
456
inner_id = CFG_GET(MT8195, path->config, components[index].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
458
if (mdp_cfg_comp_is_dummy(path->mdp_dev, inner_id))
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
460
ctx = &path->comps[index];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
550
struct mdp_path *path = NULL;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
592
path = kzalloc_obj(*path);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
593
if (!path) {
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
598
path->mdp_dev = mdp;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
599
path->config = config;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
600
path->param = param->param;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
602
path->bounds[i].left = 0;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
603
path->bounds[i].top = 0;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
604
path->bounds[i].width =
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
606
path->bounds[i].height =
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
608
path->composes[i] = param->composes[i] ?
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
609
param->composes[i] : &path->bounds[i];
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
611
ret = mdp_path_ctx_init(mdp, path);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
617
pipe_id = __get_pipe(mdp, path->comps[0].comp->public_id);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
625
ret = mdp_path_config(mdp, cmd, path);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
637
inner_id = CFG_GET(MT8183, path->config, components[i].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
639
inner_id = CFG_GET(MT8195, path->config, components[i].type);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
643
memcpy(&comps[i], path->comps[i].comp,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
656
kfree(path);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
662
kfree(path);
drivers/media/rc/rc-main.c
1893
const char *path;
drivers/media/rc/rc-main.c
1938
path = kobject_get_path(&dev->dev.kobj, GFP_KERNEL);
drivers/media/rc/rc-main.c
1940
dev->device_name ?: "Unspecified device", path ?: "N/A");
drivers/media/rc/rc-main.c
1941
kfree(path);
drivers/misc/mei/vsc-fw-loader.c
457
char path[VSC_IMAGE_PATH_MAX_LEN];
drivers/misc/mei/vsc-fw-loader.c
464
snprintf(path, sizeof(path), VSC_ACE_IMAGE_NAME_FMT,
drivers/misc/mei/vsc-fw-loader.c
467
ret = request_firmware(&image, path, fw_loader->dev);
drivers/misc/mei/vsc-fw-loader.c
541
char path[VSC_IMAGE_PATH_MAX_LEN];
drivers/misc/mei/vsc-fw-loader.c
546
snprintf(path, sizeof(path), VSC_CFG_IMAGE_NAME_FMT,
drivers/misc/mei/vsc-fw-loader.c
549
ret = request_firmware(&image, path, fw_loader->dev);
drivers/mtd/ubi/build.c
1171
struct path path;
drivers/mtd/ubi/build.c
1175
err = kern_path(mtd_dev, LOOKUP_FOLLOW, &path);
drivers/mtd/ubi/build.c
1179
err = vfs_getattr(&path, &stat, STATX_TYPE, AT_STATX_SYNC_AS_STAT);
drivers/mtd/ubi/build.c
1180
path_put(&path);
drivers/mtd/ubi/kapi.c
293
struct path path;
drivers/mtd/ubi/kapi.c
296
error = kern_path(pathname, LOOKUP_FOLLOW, &path);
drivers/mtd/ubi/kapi.c
300
error = vfs_getattr(&path, &stat, STATX_TYPE, AT_STATX_SYNC_AS_STAT);
drivers/mtd/ubi/kapi.c
301
path_put(&path);
drivers/net/ethernet/airoha/airoha_ppe.c
224
struct net_device_path *path;
drivers/net/ethernet/airoha/airoha_ppe.c
236
path = &stack.path[stack.num_paths - 1];
drivers/net/ethernet/airoha/airoha_ppe.c
237
if (path->type != DEV_PATH_MTK_WDMA)
drivers/net/ethernet/airoha/airoha_ppe.c
240
info->idx = path->mtk_wdma.wdma_idx;
drivers/net/ethernet/airoha/airoha_ppe.c
241
info->bss = path->mtk_wdma.bss;
drivers/net/ethernet/airoha/airoha_ppe.c
242
info->wcid = path->mtk_wdma.wcid;
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h
1302
u8 path;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2411
int path = BP_PATH(bp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2414
path, bnx2x_load_count[path][0], bnx2x_load_count[path][1],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2415
bnx2x_load_count[path][2]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2416
bnx2x_load_count[path][0]++;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2417
bnx2x_load_count[path][1 + port]++;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2419
path, bnx2x_load_count[path][0], bnx2x_load_count[path][1],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2420
bnx2x_load_count[path][2]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2421
if (bnx2x_load_count[path][0] == 1)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
2423
else if (bnx2x_load_count[path][1 + port] == 1)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3227
u8 path, port;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3229
path = BP_PATH(bp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3243
path = path ^ 1;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3255
lane = (port<<1) + path;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3268
path = path ^ 1;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3270
lane = path << 1 ;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
10564
BP_PATH(bp) == tmp_list->path)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
10670
tmp_list->path = BP_PATH(bp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
14746
int path = BP_PATH(bp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
14769
fcoe_features[path][port]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9192
int path = BP_PATH(bp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9195
path, bnx2x_load_count[path][0], bnx2x_load_count[path][1],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9196
bnx2x_load_count[path][2]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9197
bnx2x_load_count[path][0]--;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9198
bnx2x_load_count[path][1 + port]--;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9200
path, bnx2x_load_count[path][0], bnx2x_load_count[path][1],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9201
bnx2x_load_count[path][2]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9202
if (bnx2x_load_count[path][0] == 0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
9204
else if (bnx2x_load_count[path][1 + port] == 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c
107
p = &dcb_config->tc_config[i].path[direction];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c
180
refill[tc] = tc_config[tc].path[direction].data_credits_refill;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c
199
bwgid[tc] = tc_config[tc].path[direction].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c
209
ptype[tc] = tc_config[tc].path[direction].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c
228
if (prio_mask & tc_config[tc].path[direction].up_to_tc_bitmap)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c
85
p = &dcb_config->tc_config[i].path[direction];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.h
94
struct tc_bw_alloc path[2]; /* One each for Tx/Rx */
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
173
adapter->temp_dcb_cfg.tc_config[tc].path[0].prio_type = prio;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
175
adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_id = bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
177
adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_percent =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
180
adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
199
adapter->temp_dcb_cfg.tc_config[tc].path[1].prio_type = prio;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
201
adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_id = bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
203
adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_percent =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
206
adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
224
*prio = adapter->dcb_cfg.tc_config[tc].path[0].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
225
*bwg_id = adapter->dcb_cfg.tc_config[tc].path[0].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
226
*bw_pct = adapter->dcb_cfg.tc_config[tc].path[0].bwg_percent;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
227
*up_map = adapter->dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
244
*prio = adapter->dcb_cfg.tc_config[tc].path[1].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
245
*bwg_id = adapter->dcb_cfg.tc_config[tc].path[1].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
246
*bw_pct = adapter->dcb_cfg.tc_config[tc].path[1].bwg_percent;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
247
*up_map = adapter->dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
46
if (dst->path[tx].prio_type != src->path[tx].prio_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
47
dst->path[tx].prio_type = src->path[tx].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
51
if (dst->path[tx].bwg_id != src->path[tx].bwg_id) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
52
dst->path[tx].bwg_id = src->path[tx].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
56
if (dst->path[tx].bwg_percent != src->path[tx].bwg_percent) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
57
dst->path[tx].bwg_percent = src->path[tx].bwg_percent;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
61
if (dst->path[tx].up_to_tc_bitmap !=
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
62
src->path[tx].up_to_tc_bitmap) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
63
dst->path[tx].up_to_tc_bitmap =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
64
src->path[tx].up_to_tc_bitmap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
68
if (dst->path[rx].prio_type != src->path[rx].prio_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
69
dst->path[rx].prio_type = src->path[rx].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
73
if (dst->path[rx].bwg_id != src->path[rx].bwg_id) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
74
dst->path[rx].bwg_id = src->path[rx].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
78
if (dst->path[rx].bwg_percent != src->path[rx].bwg_percent) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
79
dst->path[rx].bwg_percent = src->path[rx].bwg_percent;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
83
if (dst->path[rx].up_to_tc_bitmap !=
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
84
src->path[rx].up_to_tc_bitmap) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
85
dst->path[rx].up_to_tc_bitmap =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
86
src->path[rx].up_to_tc_bitmap;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6817
tc->path[DCB_TX_CONFIG].bwg_id = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6818
tc->path[DCB_TX_CONFIG].bwg_percent = 12 + (j & 1);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6819
tc->path[DCB_RX_CONFIG].bwg_id = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6820
tc->path[DCB_RX_CONFIG].bwg_percent = 12 + (j & 1);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6826
tc->path[DCB_TX_CONFIG].up_to_tc_bitmap = 0xFF;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6827
tc->path[DCB_RX_CONFIG].up_to_tc_bitmap = 0xFF;
drivers/net/ethernet/mediatek/mtk_eth_path.c
101
static int set_mux_u3_gmac2_to_qphy(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
106
switch (path) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
127
mtk_eth_path_name(path), __func__, updated);
drivers/net/ethernet/mediatek/mtk_eth_path.c
132
static int set_mux_gmac2_to_2p5gphy(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
136
if (path == MTK_ETH_PATH_GMAC2_2P5GPHY) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
149
mtk_eth_path_name(path), __func__);
drivers/net/ethernet/mediatek/mtk_eth_path.c
155
static int set_mux_gmac1_gmac2_to_sgmii_rgmii(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
160
switch (path) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
172
if ((path == MTK_GMAC1_RGMII && val == SYSCFG0_SGMII_GMAC1) ||
drivers/net/ethernet/mediatek/mtk_eth_path.c
173
(path == MTK_GMAC2_RGMII && val == SYSCFG0_SGMII_GMAC2))
drivers/net/ethernet/mediatek/mtk_eth_path.c
18
int (*set_path)(struct mtk_eth *eth, u64 path);
drivers/net/ethernet/mediatek/mtk_eth_path.c
188
mtk_eth_path_name(path), __func__, updated);
drivers/net/ethernet/mediatek/mtk_eth_path.c
193
static int set_mux_gmac12_to_gephy_sgmii(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
200
switch (path) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
21
static const char *mtk_eth_path_name(u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
219
mtk_eth_path_name(path), __func__, updated);
drivers/net/ethernet/mediatek/mtk_eth_path.c
23
switch (path) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
252
static int mtk_eth_mux_setup(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
256
if (!MTK_HAS_CAPS(eth->soc->caps, path)) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
258
mtk_eth_path_name(path));
drivers/net/ethernet/mediatek/mtk_eth_path.c
268
err = mtk_eth_muxc[i].set_path(eth, path);
drivers/net/ethernet/mediatek/mtk_eth_path.c
283
u64 path;
drivers/net/ethernet/mediatek/mtk_eth_path.c
285
path = (mac_id == 0) ? MTK_ETH_PATH_GMAC1_SGMII :
drivers/net/ethernet/mediatek/mtk_eth_path.c
289
return mtk_eth_mux_setup(eth, path);
drivers/net/ethernet/mediatek/mtk_eth_path.c
294
u64 path = 0;
drivers/net/ethernet/mediatek/mtk_eth_path.c
297
path = MTK_ETH_PATH_GMAC2_2P5GPHY;
drivers/net/ethernet/mediatek/mtk_eth_path.c
299
if (!path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
303
return mtk_eth_mux_setup(eth, path);
drivers/net/ethernet/mediatek/mtk_eth_path.c
308
u64 path = 0;
drivers/net/ethernet/mediatek/mtk_eth_path.c
311
path = MTK_ETH_PATH_GMAC2_GEPHY;
drivers/net/ethernet/mediatek/mtk_eth_path.c
313
if (!path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
317
return mtk_eth_mux_setup(eth, path);
drivers/net/ethernet/mediatek/mtk_eth_path.c
322
u64 path;
drivers/net/ethernet/mediatek/mtk_eth_path.c
324
path = (mac_id == 0) ? MTK_ETH_PATH_GMAC1_RGMII :
drivers/net/ethernet/mediatek/mtk_eth_path.c
328
return mtk_eth_mux_setup(eth, path);
drivers/net/ethernet/mediatek/mtk_eth_path.c
45
static int set_mux_gdm1_to_gmac1_esw(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
50
switch (path) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
73
mtk_eth_path_name(path), __func__, updated);
drivers/net/ethernet/mediatek/mtk_eth_path.c
78
static int set_mux_gmac2_gmac0_to_gephy(struct mtk_eth *eth, u64 path)
drivers/net/ethernet/mediatek/mtk_eth_path.c
83
switch (path) {
drivers/net/ethernet/mediatek/mtk_eth_path.c
96
mtk_eth_path_name(path), __func__, updated);
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
110
path = &stack.path[stack.num_paths - 1];
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
111
if (path->type != DEV_PATH_MTK_WDMA)
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
114
info->wdma_idx = path->mtk_wdma.wdma_idx;
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
115
info->queue = path->mtk_wdma.queue;
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
116
info->bss = path->mtk_wdma.bss;
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
117
info->wcid = path->mtk_wdma.wcid;
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
118
info->amsdu = path->mtk_wdma.amsdu;
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
95
struct net_device_path *path;
drivers/net/ethernet/qlogic/qed/qed_mfw_hsi.h
1619
struct public_path path[MCP_GLOB_PATH_MAX];
drivers/net/ethernet/qlogic/qed/qed_mfw_hsi.h
2169
struct nvm_cfg1_path path[MCP_GLOB_PATH_MAX];
drivers/net/fddi/skfp/cfm.c
577
char *path ;
drivers/net/fddi/skfp/cfm.c
583
path = smc->s.sas ? path_iso_s : path_iso ;
drivers/net/fddi/skfp/cfm.c
587
path = path_wrap_a ;
drivers/net/fddi/skfp/cfm.c
591
path = path_wrap_b ;
drivers/net/fddi/skfp/cfm.c
595
path = path_thru ;
drivers/net/fddi/skfp/cfm.c
599
path = path_wrap_s ;
drivers/net/fddi/skfp/cfm.c
603
memcpy(to,path,len) ;
drivers/net/fddi/skfp/ess.c
507
chg->path.para.p_type = SMT_P320B ;
drivers/net/fddi/skfp/ess.c
508
chg->path.para.p_len = sizeof(struct smt_p_320b) - PARA_LEN ;
drivers/net/fddi/skfp/ess.c
509
chg->path.mib_index = SBAPATHINDEX ;
drivers/net/fddi/skfp/ess.c
510
chg->path.path_pad = 0;
drivers/net/fddi/skfp/ess.c
511
chg->path.path_index = PRIMARY_RING ;
drivers/net/fddi/skfp/ess.c
603
req->path.para.p_type = SMT_P320B ;
drivers/net/fddi/skfp/ess.c
604
req->path.para.p_len = sizeof(struct smt_p_320b) - PARA_LEN ;
drivers/net/fddi/skfp/ess.c
605
req->path.mib_index = SBAPATHINDEX ;
drivers/net/fddi/skfp/ess.c
606
req->path.path_pad = 0;
drivers/net/fddi/skfp/ess.c
607
req->path.path_index = PRIMARY_RING ;
drivers/net/fddi/skfp/h/smt.h
750
struct smt_p_path path ; /* path descriptor */
drivers/net/fddi/skfp/h/smt.h
797
struct smt_p_320b path ; /* path type */
drivers/net/fddi/skfp/h/smt.h
812
struct smt_p_320b path ; /* path type */
drivers/net/fddi/skfp/h/smt.h
830
struct smt_p_320b path ; /* path type */
drivers/net/fddi/skfp/h/smt.h
852
struct smt_p_320b path ; /* path type */
drivers/net/fddi/skfp/pmf.c
1084
int path ;
drivers/net/fddi/skfp/pmf.c
1091
path = index - INDEX_PATH ;
drivers/net/fddi/skfp/pmf.c
1112
if (path < 0 || path >= NUMPATHS) {
drivers/net/fddi/skfp/pmf.c
1115
mib_a = &smc->mib.a[path] ;
drivers/net/fddi/skfp/pmf.c
558
int path ;
drivers/net/fddi/skfp/pmf.c
596
path = index - INDEX_PATH ;
drivers/net/fddi/skfp/pmf.c
615
if (path < 0 || path >= NUMPATHS) {
drivers/net/fddi/skfp/pmf.c
619
mib_addr = (char *) (&smc->mib.a[path]) ;
drivers/net/fddi/skfp/pmf.c
695
sp_len = cem_build_path(smc,to,path) ;
drivers/net/fddi/skfp/smt.c
1037
len = smt_fill_path(smc,&sif->path); /* set station path descriptor*/
drivers/net/fddi/skfp/smt.c
1327
static int smt_fill_path(struct s_smc *smc, struct smt_p_path *path)
drivers/net/fddi/skfp/smt.c
1342
path->para.p_type = SMT_P_PATH ;
drivers/net/fddi/skfp/smt.c
1343
path->para.p_len = len - PARA_LEN ;
drivers/net/fddi/skfp/smt.c
1346
for (p = 0,phy = path->pd_phy ; p < ALLPHYS ; p++, phy++) {
drivers/net/fddi/skfp/smt.c
80
static int smt_fill_path(struct s_smc *smc, struct smt_p_path *path);
drivers/net/fddi/skfp/smtdef.c
161
int path ;
drivers/net/fddi/skfp/smtdef.c
229
for (path = 0 ; path < NUMPATHS ; path++) {
drivers/net/fddi/skfp/smtdef.c
230
mib->a[path].fddiPATHIndex = INDEX_PATH + path ;
drivers/net/fddi/skfp/smtdef.c
232
mib->a[path].fddiPATHTVXLowerBound =
drivers/net/fddi/skfp/smtdef.c
234
mib->a[path].fddiPATHT_MaxLowerBound =
drivers/net/fddi/skfp/smtdef.c
236
mib->a[path].fddiPATHMaxT_Req =
drivers/net/ipa/ipa_main.c
591
const char *path;
drivers/net/ipa/ipa_main.c
604
ret = of_property_read_string(dev->of_node, "firmware-name", &path);
drivers/net/ipa/ipa_main.c
608
path = IPA_FW_PATH_DEFAULT;
drivers/net/ipa/ipa_main.c
611
ret = request_firmware(&fw, path, dev);
drivers/net/ipa/ipa_main.c
613
dev_err(dev, "error %d requesting \"%s\"\n", ret, path);
drivers/net/ipa/ipa_main.c
626
ret = qcom_mdt_load(dev, fw, path, IPA_PAS_ID, virt, phys, size, NULL);
drivers/net/ipa/ipa_main.c
628
dev_err(dev, "error %d loading \"%s\"\n", ret, path);
drivers/net/ipa/ipa_main.c
630
dev_err(dev, "error %d authenticating \"%s\"\n", ret, path);
drivers/net/ppp/ppp_generic.c
1593
struct net_device_path *path)
drivers/net/ppp/ppp_generic.c
1613
return chan->ops->fill_forward_path(ctx, path, chan);
drivers/net/ppp/pppoe.c
980
struct net_device_path *path,
drivers/net/ppp/pppoe.c
991
path->type = DEV_PATH_PPPOE;
drivers/net/ppp/pppoe.c
992
path->encap.proto = htons(ETH_P_PPP_SES);
drivers/net/ppp/pppoe.c
993
path->encap.id = be16_to_cpu(po->num);
drivers/net/ppp/pppoe.c
994
memcpy(path->encap.h_dest, po->pppoe_pa.remote, ETH_ALEN);
drivers/net/ppp/pppoe.c
996
path->dev = ctx->dev;
drivers/net/wireless/ath/ath11k/core.c
1591
char path[100];
drivers/net/wireless/ath/ath11k/core.c
1597
ath11k_core_create_firmware_path(ab, file, path, sizeof(path));
drivers/net/wireless/ath/ath11k/core.c
1599
ret = firmware_request_nowarn(&fw, path, ab->dev);
drivers/net/wireless/ath/ath11k/core.c
1604
path, fw->size);
drivers/net/wireless/ath/ath11k/qmi.c
2517
char path[100];
drivers/net/wireless/ath/ath11k/qmi.c
2537
path, sizeof(path));
drivers/net/wireless/ath/ath11k/qmi.c
2538
ath11k_err(ab, "failed to load %s: %d\n", path, ret);
drivers/net/wireless/ath/ath12k/core.c
284
char path[100];
drivers/net/wireless/ath/ath12k/core.c
290
ath12k_core_create_firmware_path(ab, file, path, sizeof(path));
drivers/net/wireless/ath/ath12k/core.c
292
ret = firmware_request_nowarn(&fw, path, ab->dev);
drivers/net/wireless/ath/ath12k/core.c
297
path, fw->size);
drivers/net/wireless/ath/ath12k/qmi.c
3171
char path[100];
drivers/net/wireless/ath/ath12k/qmi.c
3187
path, sizeof(path));
drivers/net/wireless/ath/ath12k/qmi.c
3188
ath12k_err(ab, "failed to load %s: %d\n", path, ret);
drivers/net/wireless/ath/ath12k/qmi.c
3300
char path[100];
drivers/net/wireless/ath/ath12k/qmi.c
3317
path, sizeof(path));
drivers/net/wireless/ath/ath12k/qmi.c
3318
ath12k_err(ab, "failed to load %s: %d\n", path, ret);
drivers/net/wireless/broadcom/b43legacy/main.c
1498
char path[sizeof(modparam_fwpostfix) + 32];
drivers/net/wireless/broadcom/b43legacy/main.c
1506
snprintf(path, ARRAY_SIZE(path),
drivers/net/wireless/broadcom/b43legacy/main.c
1509
b43legacyinfo(dev->wl, "Loading firmware %s\n", path);
drivers/net/wireless/broadcom/b43legacy/main.c
1512
err = request_firmware_nowait(THIS_MODULE, 1, path,
drivers/net/wireless/broadcom/b43legacy/main.c
1525
err = request_firmware(fw, path, dev->dev->dev);
drivers/net/wireless/broadcom/b43legacy/main.c
1529
"or load failed.\n", path);
drivers/net/wireless/broadcom/b43legacy/main.c
1553
b43legacyerr(dev->wl, "Firmware file \"%s\" format error.\n", path);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
599
brcmf_dbg(TRACE, "firmware %s %sfound\n", cur->path, fw ? "" : "not ");
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
621
static char *brcm_alt_fw_path(const char *path, const char *board_type)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
630
suffix = strrchr(path, '.');
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
631
if (!suffix || suffix == path)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
635
strscpy(base, path, BRCMF_FW_NAME_LEN);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
636
base[suffix - path] = 0;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
641
path);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
661
alt_path = brcm_alt_fw_path(cur->path,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
673
return request_firmware(fw, cur->path, fwctx->dev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
713
alt_path = brcm_alt_fw_path(first->path, board_type);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
729
ret = request_firmware_nowait(THIS_MODULE, true, first->path,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
746
if (!item->path)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
778
alt_path = brcm_alt_fw_path(first->path,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
787
ret = request_firmware_nowait(THIS_MODULE, true, first->path,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
843
fwreq->items[j].path = fwnames[j].path;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
844
fwnames[j].path[0] = '\0';
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
847
strscpy(fwnames[j].path, mp_path,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
851
strlcat(fwnames[j].path, "/",
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
855
strlcat(fwnames[j].path, mapping_table[i].fw_base,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
857
strlcat(fwnames[j].path, fwnames[j].extension,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
859
fwreq->items[j].path = fwnames[j].path;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h
55
const char *path;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h
77
char *path;
drivers/net/wireless/mediatek/mt76/eeprom.c
376
memset(dest, target_power, sizeof(*dest) - sizeof(dest->path));
drivers/net/wireless/mediatek/mt76/eeprom.c
377
memset(&dest->path, 0, sizeof(dest->path));
drivers/net/wireless/mediatek/mt76/eeprom.c
431
val = mt76_get_of_array_s8(np, "paths-cck", &len, ARRAY_SIZE(dest->path.cck));
drivers/net/wireless/mediatek/mt76/eeprom.c
432
mt76_apply_array_limit(dest->path.cck, ARRAY_SIZE(dest->path.cck), val,
drivers/net/wireless/mediatek/mt76/eeprom.c
435
val = mt76_get_of_array_s8(np, "paths-ofdm", &len, ARRAY_SIZE(dest->path.ofdm));
drivers/net/wireless/mediatek/mt76/eeprom.c
436
mt76_apply_array_limit(dest->path.ofdm, ARRAY_SIZE(dest->path.ofdm), val,
drivers/net/wireless/mediatek/mt76/eeprom.c
439
val = mt76_get_of_array_s8(np, "paths-ofdm-bf", &len, ARRAY_SIZE(dest->path.ofdm_bf));
drivers/net/wireless/mediatek/mt76/eeprom.c
440
mt76_apply_array_limit(dest->path.ofdm_bf, ARRAY_SIZE(dest->path.ofdm_bf), val,
drivers/net/wireless/mediatek/mt76/eeprom.c
443
val = mt76_get_of_array_s8(np, "paths-ru", &len, ARRAY_SIZE(dest->path.ru[0]) + 1);
drivers/net/wireless/mediatek/mt76/eeprom.c
444
mt76_apply_multi_array_limit(dest->path.ru[0], ARRAY_SIZE(dest->path.ru[0]),
drivers/net/wireless/mediatek/mt76/eeprom.c
445
ARRAY_SIZE(dest->path.ru), val, len,
drivers/net/wireless/mediatek/mt76/eeprom.c
448
val = mt76_get_of_array_s8(np, "paths-ru-bf", &len, ARRAY_SIZE(dest->path.ru_bf[0]) + 1);
drivers/net/wireless/mediatek/mt76/eeprom.c
449
mt76_apply_multi_array_limit(dest->path.ru_bf[0], ARRAY_SIZE(dest->path.ru_bf[0]),
drivers/net/wireless/mediatek/mt76/eeprom.c
450
ARRAY_SIZE(dest->path.ru_bf), val, len,
drivers/net/wireless/mediatek/mt76/mt76.h
1140
} path;
drivers/net/wireless/mediatek/mt76/mt76.h
1474
static inline u8 mt76_tx_power_path_delta(u8 path)
drivers/net/wireless/mediatek/mt76/mt76.h
1477
u8 idx = path - 1;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
218
u8 path, nss, nss_max = 4, *eeprom = dev->mt76.eeprom.data;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
226
path = FIELD_GET(MT_EE_WIFI_CONF0_TX_PATH,
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
229
path = FIELD_GET(MT_EE_WIFI_CONF0_TX_PATH,
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
233
if (!path || path > 4)
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
234
path = 4;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
237
nss = path;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
240
path = min_t(u8, path, 2);
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
257
nss = min_t(u8, min_t(u8, nss_max, nss), path);
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
259
mphy->chainmask = BIT(path) - 1;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
312
if (!limits.path.ofdm[0])
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1721
struct net_device_path *path)
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1735
path->type = DEV_PATH_MTK_WDMA;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1736
path->dev = ctx->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1737
path->mtk_wdma.wdma_idx = wed->wdma_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1738
path->mtk_wdma.bss = mvif->mt76.idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1739
path->mtk_wdma.wcid = is_mt7915(&dev->mt76) ? msta->wcid.idx : 0x3ff;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1740
path->mtk_wdma.queue = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3470
skb_put_data(skb, &la.path.cck, sizeof(la.path.cck));
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3471
skb_put_data(skb, &la.path.ofdm, sizeof(la.path.ofdm));
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3472
skb_put_data(skb, &la.path.ofdm_bf[1], sizeof(la.path.ofdm_bf) - 1);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3475
skb_put_data(skb, &la.path.ru[3], sizeof(la.path.ru[3]));
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3476
skb_put_data(skb, &la.path.ru_bf[3][1], sizeof(la.path.ru_bf[3]) - 1);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3477
skb_put_data(skb, &la.path.ru[4], sizeof(la.path.ru[4]));
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3478
skb_put_data(skb, &la.path.ru_bf[4][1], sizeof(la.path.ru_bf[4]) - 1);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3488
s8 *buf = bf ? la.path.ru_bf[idx] : la.path.ru[idx];
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3499
s8 *buf = bf ? la.path.ru_bf[idx] : la.path.ru[idx];
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
118
u8 path, rx_path, nss;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
124
mt7996_eeprom_parse_stream(eeprom, i, &path, &rx_path, &nss);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
127
if (path > def_path || rx_path > def_rx_path || nss > def_nss)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
222
u8 *path, u8 *rx_path, u8 *nss)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
241
*path = min_t(u8, *path, STREAM_CAP(10 + band_offs));
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
290
u8 path, rx_path, nss, band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
296
mt7996_eeprom_parse_stream(eeprom, band_idx, &path, &rx_path, &nss);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
297
ret = mt7996_eeprom_parse_efuse_hw_cap(phy, &path, &rx_path, &nss);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
301
if (!path || path > max_path)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
302
path = max_path;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
307
nss = min_t(u8, nss, path);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
309
if (path != rx_path)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
314
mphy->chainmask = (BIT(path) - 1) << dev->chainshift[band_idx];
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
392
u8 path, rx_path, nss, *eeprom = dev->mt76.eeprom.data;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
394
mt7996_eeprom_parse_stream(eeprom, MT_BAND1, &path, &rx_path, &nss);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
396
if (path == 3 || rx_path == 3)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
65
mt7996_eeprom_parse_stream(const u8 *eeprom, u8 band_idx, u8 *path,
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
70
*path = FIELD_GET(MT_EE_WIFI_CONF2_TX_PATH_BAND1,
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
78
*path = FIELD_GET(MT_EE_WIFI_CONF2_TX_PATH_BAND2,
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
86
*path = FIELD_GET(MT_EE_WIFI_CONF1_TX_PATH_BAND0,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2172
struct net_device_path *path)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2200
path->type = DEV_PATH_MTK_WDMA;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2201
path->dev = ctx->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2204
path->mtk_wdma.wdma_idx = wed->wdma_idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2207
path->mtk_wdma.wdma_idx = link->mt76.band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2208
path->mtk_wdma.bss = link->mt76.idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2209
path->mtk_wdma.queue = 0;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2210
path->mtk_wdma.wcid = msta_link->wcid.idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2214
path->mtk_wdma.amsdu = msta_link->wcid.amsdu;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2216
path->mtk_wdma.amsdu = 0;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4705
u8 path;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4727
req.txfree_path.path = val;
drivers/net/wireless/mediatek/mt7601u/mt7601u.h
344
void mt7601u_set_rx_path(struct mt7601u_dev *dev, u8 path);
drivers/net/wireless/mediatek/mt7601u/mt7601u.h
345
void mt7601u_set_tx_dac(struct mt7601u_dev *dev, u8 path);
drivers/net/wireless/mediatek/mt7601u/phy.c
1211
void mt7601u_set_rx_path(struct mt7601u_dev *dev, u8 path)
drivers/net/wireless/mediatek/mt7601u/phy.c
1213
mt7601u_bbp_rmw(dev, 3, 0x18, path << 3);
drivers/net/wireless/realtek/rtl8xxxu/core.c
2387
enum rtl8xxxu_rfpath path)
drivers/net/wireless/realtek/rtl8xxxu/core.c
2421
ret = rtl8xxxu_write_rfreg(priv, path, reg, val);
drivers/net/wireless/realtek/rtl8xxxu/core.c
2435
enum rtl8xxxu_rfpath path)
drivers/net/wireless/realtek/rtl8xxxu/core.c
2441
switch (path) {
drivers/net/wireless/realtek/rtl8xxxu/core.c
2454
__func__, path + 'A');
drivers/net/wireless/realtek/rtl8xxxu/core.c
2487
rtl8xxxu_init_rf_regs(priv, table, path);
drivers/net/wireless/realtek/rtl8xxxu/core.c
814
enum rtl8xxxu_rfpath path, u8 reg,
drivers/net/wireless/realtek/rtl8xxxu/core.c
821
orig = rtl8xxxu_read_rfreg(priv, path, reg);
drivers/net/wireless/realtek/rtl8xxxu/core.c
823
return rtl8xxxu_write_rfreg(priv, path, reg, new);
drivers/net/wireless/realtek/rtl8xxxu/core.c
868
enum rtl8xxxu_rfpath path, u8 reg)
drivers/net/wireless/realtek/rtl8xxxu/core.c
873
if (path != RF_A)
drivers/net/wireless/realtek/rtl8xxxu/core.c
874
val32 = rtl8xxxu_read32(priv, rtl8xxxu_rfregs[path].hssiparm2);
drivers/net/wireless/realtek/rtl8xxxu/core.c
886
rtl8xxxu_write32(priv, rtl8xxxu_rfregs[path].hssiparm2, val32);
drivers/net/wireless/realtek/rtl8xxxu/core.c
893
val32 = rtl8xxxu_read32(priv, rtl8xxxu_rfregs[path].hssiparm1);
drivers/net/wireless/realtek/rtl8xxxu/core.c
895
retval = rtl8xxxu_read32(priv, rtl8xxxu_rfregs[path].hspiread);
drivers/net/wireless/realtek/rtl8xxxu/core.c
897
retval = rtl8xxxu_read32(priv, rtl8xxxu_rfregs[path].lssiread);
drivers/net/wireless/realtek/rtl8xxxu/core.c
913
enum rtl8xxxu_rfpath path, u8 reg, u32 data)
drivers/net/wireless/realtek/rtl8xxxu/core.c
932
ret = rtl8xxxu_write32(priv, rtl8xxxu_rfregs[path].lssiparm, dataaddr);
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
2052
enum rtl8xxxu_rfpath path, u8 reg);
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
2054
enum rtl8xxxu_rfpath path, u8 reg, u32 data);
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
2056
enum rtl8xxxu_rfpath path, u8 reg,
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
2076
enum rtl8xxxu_rfpath path);
drivers/net/wireless/realtek/rtlwifi/debug.c
370
int path;
drivers/net/wireless/realtek/rtlwifi/debug.c
384
&path, &addr, &bitmask, &data);
drivers/net/wireless/realtek/rtlwifi/debug.c
392
rtl_set_rfreg(hw, path, addr, bitmask, data);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1929
u8 path = is2t ? 2 : 1;
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1944
for (index = 0; index < path; index++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
2014
for (index = 0; index < path; index++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
720
u8 path = rtlhal->current_bandtype ==
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
755
rtl92d_phy_enable_rf_env(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
760
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
768
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
772
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
781
path, index,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
782
rtl_get_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
787
rtl92d_phy_restore_rf_env(hw, path, &u4regvalue);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
840
path = RF90_PATH_A;
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
847
rtl92d_phy_enable_rf_env(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
853
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
859
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
868
rf_reg_mask_for_c_cut_2g[i], path, index,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
869
rtl_get_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
877
rtl_set_rfreg(hw, (enum radio_path)path, RF_SYN_G4,
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
881
rtl92d_phy_restore_rf_env(hw, path, &u4regvalue);
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2300
u8 path = is2t ? 2 : 1;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2314
for (index = 0; index < path; index++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2336
for (index = 0; index < path; index++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2357
for (index = 0; index < path; index++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2413
for (index = 0; index < path; index++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
729
u8 path = rtlhal->current_bandtype == BAND_ON_5G ? RF90_PATH_A
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
769
rtl92d_phy_enable_rf_env(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
778
rtl92d_phy_enable_rf_env(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
784
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
792
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
796
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
805
path, index,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
806
rtl_get_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
813
rtl92d_phy_restore_rf_env(hw, path, &u4regvalue);
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
820
rtl92d_phy_restore_rf_env(hw, path, &u4regvalue);
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
887
path = RF90_PATH_A;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
894
rtl92d_phy_enable_rf_env(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
905
rtl92d_phy_enable_rf_env(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
912
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
918
rtl_set_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
928
rf_reg_mask_for_c_cut_2g[i], path, index,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
929
rtl_get_rfreg(hw, (enum radio_path)path,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
937
rtl_set_rfreg(hw, (enum radio_path)path, RF_SYN_G4,
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
944
rtl92d_phy_restore_rf_env(hw, path, &u4regvalue);
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
951
rtl92d_phy_restore_rf_env(hw, path, &u4regvalue);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
770
u8 path;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
779
for (path = RF90_PATH_A; path < MAX_RF_PATH; path++) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
780
dm->swing_idx_ofdm_base[path] = dm->default_ofdm_index;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
781
dm->ofdm_index[path] = dm->default_ofdm_index;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
782
dm->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
783
dm->delta_power_index_last[path] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
784
dm->power_index_offset[path] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1086
static u8 _rtl92ee_phy_get_ratesection_intxpower_byrate(enum radio_path path,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1097
if (path == RF90_PATH_A)
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1099
else if (path == RF90_PATH_B)
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
383
u8 band, u8 path,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
390
if (path > RF90_PATH_D) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
392
"Invalid Rf Path %d\n", path);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
399
rtlphy->txpwr_by_rate_base_24g[path][txnum][0] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
402
rtlphy->txpwr_by_rate_base_24g[path][txnum][1] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
405
rtlphy->txpwr_by_rate_base_24g[path][txnum][2] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
408
rtlphy->txpwr_by_rate_base_24g[path][txnum][3] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
413
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
423
u8 band, u8 path, u8 txnum,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
430
if (path > RF90_PATH_D) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
432
"Invalid Rf Path %d\n", path);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
439
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][0];
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
442
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][1];
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
445
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][2];
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
448
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][3];
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
453
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
468
u8 base = 0, path = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
470
for (path = RF90_PATH_A; path <= RF90_PATH_B; ++path) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
471
if (path == RF90_PATH_A) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
473
[BAND_ON_2_4G][path][RF_1TX][3] >> 24) &
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
477
path, CCK, RF_1TX,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
479
} else if (path == RF90_PATH_B) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
481
[BAND_ON_2_4G][path][RF_1TX][3] >> 0) &
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
485
path, CCK, RF_1TX,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
489
[BAND_ON_2_4G][path][RF_1TX][1] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
491
_rtl92ee_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
495
[BAND_ON_2_4G][path][RF_1TX][5] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
497
_rtl92ee_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path,
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
502
[BAND_ON_2_4G][path][RF_2TX][7] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
504
_rtl92ee_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1745
u32 path, addr = EEPROM_TX_PWR_INX, group, cnt = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1756
for (path = 0; path < MAX_RF_PATH; path++) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1759
pw2g->index_cck_base[path][group] = 0x2D;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1760
pw2g->index_bw40_base[path][group] = 0x2D;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1764
pw2g->bw20_diff[path][0] = 0x02;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1765
pw2g->ofdm_diff[path][0] = 0x04;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1767
pw2g->bw20_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1768
pw2g->bw40_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1769
pw2g->cck_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1770
pw2g->ofdm_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1777
for (path = 0; path < MAX_RF_PATH; path++) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1780
pw2g->index_cck_base[path][group] = hwinfo[addr++];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1781
if (pw2g->index_cck_base[path][group] == 0xFF)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1782
pw2g->index_cck_base[path][group] = 0x2D;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1786
pw2g->index_bw40_base[path][group] = hwinfo[addr++];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1787
if (pw2g->index_bw40_base[path][group] == 0xFF)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1788
pw2g->index_bw40_base[path][group] = 0x2D;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1792
pw2g->bw40_diff[path][cnt] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1794
pw2g->bw20_diff[path][cnt] = 0x02;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1796
pw2g->bw20_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1799
if (pw2g->bw20_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1800
pw2g->bw20_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1805
pw2g->ofdm_diff[path][cnt] = 0x04;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1807
pw2g->ofdm_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1810
if (pw2g->ofdm_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1811
pw2g->ofdm_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1814
pw2g->cck_diff[path][cnt] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1818
pw2g->bw40_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1820
pw2g->bw40_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1822
if (pw2g->bw40_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1823
pw2g->bw40_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1828
pw2g->bw20_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1830
pw2g->bw20_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1832
if (pw2g->bw20_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1833
pw2g->bw20_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1839
pw2g->ofdm_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1841
pw2g->ofdm_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1843
if (pw2g->ofdm_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1844
pw2g->ofdm_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1849
pw2g->cck_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1851
pw2g->cck_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1853
if (pw2g->cck_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1854
pw2g->cck_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1863
pw5g->index_bw40_base[path][group] = hwinfo[addr++];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1864
if (pw5g->index_bw40_base[path][group] == 0xFF)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1865
pw5g->index_bw40_base[path][group] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1870
pw5g->bw40_diff[path][cnt] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1873
pw5g->bw20_diff[path][cnt] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1875
pw5g->bw20_diff[path][0] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1877
if (pw5g->bw20_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1878
pw5g->bw20_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1883
pw5g->ofdm_diff[path][cnt] = 0x04;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1885
pw5g->ofdm_diff[path][0] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1887
if (pw5g->ofdm_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1888
pw5g->ofdm_diff[path][cnt] |=
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1894
pw5g->bw40_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1896
pw5g->bw40_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1898
if (pw5g->bw40_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1899
pw5g->bw40_diff[path][cnt] |= 0xF0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1903
pw5g->bw20_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1905
pw5g->bw20_diff[path][cnt] =
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1907
if (pw5g->bw20_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1908
pw5g->bw20_diff[path][cnt] |= 0xF0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1915
pw5g->ofdm_diff[path][1] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1916
pw5g->ofdm_diff[path][2] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1918
pw5g->ofdm_diff[path][1] = (hwinfo[addr] & 0xf0) >> 4;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1919
pw5g->ofdm_diff[path][2] = (hwinfo[addr] & 0x0f);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1924
pw5g->ofdm_diff[path][3] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1926
pw5g->ofdm_diff[path][3] = (hwinfo[addr] & 0x0f);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1930
if (pw5g->ofdm_diff[path][cnt] == 0xFF)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1931
pw5g->ofdm_diff[path][cnt] = 0xFE;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1932
else if (pw5g->ofdm_diff[path][cnt] & BIT(3))
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1933
pw5g->ofdm_diff[path][cnt] |= 0xF0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
244
u8 band, path, txnum, section;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
247
for (path = 0; path < TX_PWR_BY_RATE_NUM_RF; ++path)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
253
[band][path][txnum][section] = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
279
u8 path, u8 rate_section,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
285
if (path > RF90_PATH_D) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
288
path);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
295
rtlphy->txpwr_by_rate_base_24g[path][txnum][0] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
298
rtlphy->txpwr_by_rate_base_24g[path][txnum][1] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
301
rtlphy->txpwr_by_rate_base_24g[path][txnum][2] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
304
rtlphy->txpwr_by_rate_base_24g[path][txnum][3] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
309
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
321
u8 band, u8 path, u8 txnum,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
327
if (path > RF90_PATH_D) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
330
path);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
337
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][0];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
340
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][1];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
343
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][2];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
346
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][3];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
351
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
368
u8 base = 0, path = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
370
for (path = RF90_PATH_A; path <= RF90_PATH_B; ++path) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
371
if (path == RF90_PATH_A) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
373
[BAND_ON_2_4G][path][RF_1TX][3] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
376
BAND_ON_2_4G, path, CCK, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
377
} else if (path == RF90_PATH_B) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
379
[BAND_ON_2_4G][path][RF_1TX][3] >> 0) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
383
path, CCK,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
387
[BAND_ON_2_4G][path][RF_1TX][1] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
390
path, OFDM, RF_1TX,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
394
[BAND_ON_2_4G][path][RF_1TX][5] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
397
path, HT_MCS0_MCS7,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
401
[BAND_ON_2_4G][path][RF_2TX][7] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
404
path, HT_MCS8_MCS15,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
56
void rtl8723be_phy_set_rf_reg(struct ieee80211_hw *hw, enum radio_path path,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
64
regaddr, bitmask, data, path);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
69
original_value = rtl8723_phy_rf_serial_read(hw, path,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
76
rtl8723_phy_rf_serial_write(hw, path, regaddr, data);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
803
static u8 _rtl8723be_phy_get_ratesection_intxpower_byrate(enum radio_path path,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
815
if (path == RF90_PATH_A)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
817
else if (path == RF90_PATH_B)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
82
regaddr, bitmask, data, path);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
942
static u8 _rtl8723be_get_txpower_index(struct ieee80211_hw *hw, u8 path,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
957
txpower = rtlefuse->txpwrlevel_cck[path][index];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
959
txpower = rtlefuse->txpwrlevel_ht40_1s[path][index];
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
983
path, rate);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
994
u8 power_index, u8 path, u8 rate)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
997
if (path == RF90_PATH_A) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1001
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][5];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1006
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1012
value = rtlphy->txpwr_by_rate_base_5g[path][txnum][0];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1015
value = rtlphy->txpwr_by_rate_base_5g[path][txnum][1];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1018
value = rtlphy->txpwr_by_rate_base_5g[path][txnum][2];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1021
value = rtlphy->txpwr_by_rate_base_5g[path][txnum][3];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1024
value = rtlphy->txpwr_by_rate_base_5g[path][txnum][4];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1029
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1045
u8 base = 0, path = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1047
for (path = RF90_PATH_A; path <= RF90_PATH_B; ++path) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1048
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_2_4G][path][RF_1TX][0] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1050
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path, CCK, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1052
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_2_4G][path][RF_1TX][2] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1054
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path, OFDM, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1056
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_2_4G][path][RF_1TX][4] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1058
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path, HT_MCS0_MCS7, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1060
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_2_4G][path][RF_2TX][6] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1062
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path, HT_MCS8_MCS15, RF_2TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1064
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_2_4G][path][RF_1TX][8] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1066
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path, VHT_1SSMCS0_1SSMCS9, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1068
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_2_4G][path][RF_2TX][11] >> 8) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1070
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_2_4G, path, VHT_2SSMCS0_2SSMCS9, RF_2TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1072
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_5G][path][RF_1TX][2] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1074
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_5G, path, OFDM, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1076
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_5G][path][RF_1TX][4] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1078
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_5G, path, HT_MCS0_MCS7, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1080
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_5G][path][RF_2TX][6] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1082
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_5G, path, HT_MCS8_MCS15, RF_2TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1084
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_5G][path][RF_1TX][8] >> 24) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1086
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_5G, path, VHT_1SSMCS0_1SSMCS9, RF_1TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1088
rawvalue = (u16)(rtlphy->tx_power_by_rate_offset[BAND_ON_5G][path][RF_2TX][11] >> 8) & 0xFF;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1090
_rtl8821ae_phy_set_txpower_by_rate_base(hw, BAND_ON_5G, path, VHT_2SSMCS0_2SSMCS9, RF_2TX, base);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2211
static s8 _rtl8821ae_phy_get_ratesection_intxpower_byrate(u8 path, u8 rate)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2477
u8 band, u8 path, u8 rate)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2485
rate_section = _rtl8821ae_phy_get_ratesection_intxpower_byrate(path, rate);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2558
tx_pwr_diff = (u8)(rtlphy->tx_power_by_rate_offset[band][path]
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2564
rtlphy->current_chan_bw, path, rate,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2587
static u8 _rtl8821ae_get_txpower_index(struct ieee80211_hw *hw, u8 path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2609
txpower = rtlefuse->txpwrlevel_cck[path][index];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2611
txpower = rtlefuse->txpwrlevel_ht40_1s[path][index];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2617
txpower += rtlefuse->txpwr_legacyhtdiff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2622
txpower += rtlefuse->txpwr_ht20diff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2625
txpower += rtlefuse->txpwr_ht20diff[path][TX_2S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2629
txpower += rtlefuse->txpwr_ht40diff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2632
txpower += rtlefuse->txpwr_ht40diff[path][TX_2S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2637
txpower += rtlefuse->txpwr_ht40diff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2641
txpower += rtlefuse->txpwr_ht40diff[path][TX_2S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2645
txpower = rtlefuse->txpwr_5g_bw40base[path][index];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2652
txpower += rtlefuse->txpwr_5g_ofdmdiff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2658
txpower += rtlefuse->txpwr_5g_bw20diff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2662
txpower += rtlefuse->txpwr_5g_bw20diff[path][TX_2S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2667
txpower += rtlefuse->txpwr_5g_bw40diff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2671
txpower += rtlefuse->txpwr_5g_bw40diff[path][TX_2S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2682
txpower = rtlefuse->txpwr_5g_bw80base[path][index]
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2683
+ rtlefuse->txpwr_5g_bw80diff[path][TX_1S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2687
txpower = rtlefuse->txpwr_5g_bw80base[path][index]
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2688
+ rtlefuse->txpwr_5g_bw80diff[path][TX_1S]
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2689
+ rtlefuse->txpwr_5g_bw80diff[path][TX_2S];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2695
path, rate);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2704
txpower += rtlpriv->dm.remnant_ofdm_swing_idx[path];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2715
u8 power_index, u8 path, u8 rate)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2719
if (path == RF90_PATH_A) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2918
} else if (path == RF90_PATH_B) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3124
u8 *array, u8 path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3134
_rtl8821ae_get_txpower_index(hw, path, array[i],
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3137
_rtl8821ae_phy_set_txpower_index(hw, power_index, path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3143
u8 bw, u8 channel, u8 path)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3151
if (path >= rtlphy->num_total_rfpath)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3155
if (path == RF90_PATH_A) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3181
u8 channel, u8 path)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3216
_rtl8821ae_phy_set_txpower_level_by_path(hw, cck_rates, path, channel,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3219
_rtl8821ae_phy_set_txpower_level_by_path(hw, ofdm_rates, path, channel,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3221
_rtl8821ae_phy_set_txpower_level_by_path(hw, ht_rates_1t, path, channel,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3223
_rtl8821ae_phy_set_txpower_level_by_path(hw, vht_rates_1t, path, channel,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3227
_rtl8821ae_phy_set_txpower_level_by_path(hw, ht_rates_2t, path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3230
_rtl8821ae_phy_set_txpower_level_by_path(hw, vht_rates_2t, path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3236
channel, path);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3244
u8 path = 0;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3246
for (path = RF90_PATH_A; path < rtlphy->num_total_rfpath; ++path)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3247
rtl8821ae_phy_set_txpower_level_by_path(hw, channel, path);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3481
u8 path;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3501
for (path = RF90_PATH_A; path < rtlphy->num_total_rfpath; path++) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3510
rtl8821ae_phy_set_rf_reg(hw, path, RF_CHNLBW,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3513
rtl8821ae_phy_set_rf_reg(hw, path, RF_CHNLBW,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3522
rtl8821ae_phy_set_rf_reg(hw, path, RF_APK,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3657
enum radio_path path, u32 tx_x, u32 tx_y)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3660
switch (path) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3683
enum radio_path path, u32 rx_x, u32 rx_y)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3686
switch (path) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3705
static void _rtl8821ae_iqk_tx(struct ieee80211_hw *hw, enum radio_path path)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3728
switch (path) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3730
temp_reg65 = rtl_get_rfreg(hw, path, 0x65, 0xffffffff);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3754
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x80002);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3755
rtl_set_rfreg(hw, path, 0x18, 0x00c00, 0x3); /* BW 20M */
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3756
rtl_set_rfreg(hw, path, 0x30, RFREG_OFFSET_MASK, 0x20000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3757
rtl_set_rfreg(hw, path, 0x31, RFREG_OFFSET_MASK, 0x0003f);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3758
rtl_set_rfreg(hw, path, 0x32, RFREG_OFFSET_MASK, 0xf3fc3);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3759
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, 0x931d5);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3760
rtl_set_rfreg(hw, path, 0x8f, RFREG_OFFSET_MASK, 0x8a001);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3787
rtl_set_rfreg(hw, path, 0x58, 0x7fe00, rtl_get_rfreg(hw, path, 0x8, 0xffc00)); /* Load LOK */
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3791
rtl_set_rfreg(hw, path, 0x18, 0x00c00, 0x1);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3794
rtl_set_rfreg(hw, path, 0x18, 0x00c00, 0x0);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3804
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x80000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3805
rtl_set_rfreg(hw, path, 0x30, RFREG_OFFSET_MASK, 0x20000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3806
rtl_set_rfreg(hw, path, 0x31, RFREG_OFFSET_MASK, 0x0003f);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3807
rtl_set_rfreg(hw, path, 0x32, RFREG_OFFSET_MASK, 0xf3fc3);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3808
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, 0x931d5);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3809
rtl_set_rfreg(hw, path, 0x8f, RFREG_OFFSET_MASK, 0x8a001);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3810
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x00000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3968
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x80000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3969
rtl_set_rfreg(hw, path, 0x30, RFREG_OFFSET_MASK, 0x30000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3970
rtl_set_rfreg(hw, path, 0x31, RFREG_OFFSET_MASK, 0x00029);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3971
rtl_set_rfreg(hw, path, 0x32, RFREG_OFFSET_MASK, 0xd7ffb);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3972
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, temp_reg65);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3973
rtl_set_rfreg(hw, path, 0x8f, RFREG_OFFSET_MASK, 0x8a001);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3974
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x00000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4081
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x80000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4082
rtl_set_rfreg(hw, path, 0x30, RFREG_OFFSET_MASK, 0x30000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4083
rtl_set_rfreg(hw, path, 0x31, RFREG_OFFSET_MASK, 0x0002f);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4084
rtl_set_rfreg(hw, path, 0x32, RFREG_OFFSET_MASK, 0xfffbb);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4085
rtl_set_rfreg(hw, path, 0x8f, RFREG_OFFSET_MASK, 0x88001);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4086
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, 0x931d8);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4087
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x00000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4166
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x80000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4167
rtl_set_rfreg(hw, path, 0x30, RFREG_OFFSET_MASK, 0x30000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4168
rtl_set_rfreg(hw, path, 0x31, RFREG_OFFSET_MASK, 0x00029);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4169
rtl_set_rfreg(hw, path, 0x32, RFREG_OFFSET_MASK, 0xd7ffb);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4170
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, temp_reg65);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4171
rtl_set_rfreg(hw, path, 0x8f, RFREG_OFFSET_MASK, 0x8a001);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4172
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x00000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4238
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x80000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4239
rtl_set_rfreg(hw, path, 0x30, RFREG_OFFSET_MASK, 0x30000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4240
rtl_set_rfreg(hw, path, 0x31, RFREG_OFFSET_MASK, 0x0002f);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4241
rtl_set_rfreg(hw, path, 0x32, RFREG_OFFSET_MASK, 0xfffbb);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4242
rtl_set_rfreg(hw, path, 0x8f, RFREG_OFFSET_MASK, 0x88001);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4243
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, 0x931d8);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4244
rtl_set_rfreg(hw, path, 0xef, RFREG_OFFSET_MASK, 0x00000);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4315
rtl_set_rfreg(hw, path, 0x65, RFREG_OFFSET_MASK, temp_reg65);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4324
switch (path) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4359
_rtl8821ae_iqk_tx_fill_iqc(hw, path, tx_x, tx_y); /* ? */
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4361
_rtl8821ae_iqk_tx_fill_iqc(hw, path, 0x200, 0x0);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4389
_rtl8821ae_iqk_rx_fill_iqc(hw, path, rx_x, rx_y);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4391
_rtl8821ae_iqk_rx_fill_iqc(hw, path, 0x200, 0x0);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4399
enum radio_path path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4408
rtl_set_rfreg(hw, path, backup_rf_reg[i], RFREG_OFFSET_MASK,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4411
switch (path) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
900
u8 band, u8 path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
907
if (path > RF90_PATH_D) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
909
"Invalid Rf Path %d in phy_SetTxPowerByRatBase()\n", path);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
916
rtlphy->txpwr_by_rate_base_24g[path][txnum][0] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
919
rtlphy->txpwr_by_rate_base_24g[path][txnum][1] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
922
rtlphy->txpwr_by_rate_base_24g[path][txnum][2] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
925
rtlphy->txpwr_by_rate_base_24g[path][txnum][3] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
928
rtlphy->txpwr_by_rate_base_24g[path][txnum][4] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
931
rtlphy->txpwr_by_rate_base_24g[path][txnum][5] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
936
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
942
rtlphy->txpwr_by_rate_base_5g[path][txnum][0] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
945
rtlphy->txpwr_by_rate_base_5g[path][txnum][1] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
948
rtlphy->txpwr_by_rate_base_5g[path][txnum][2] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
951
rtlphy->txpwr_by_rate_base_5g[path][txnum][3] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
954
rtlphy->txpwr_by_rate_base_5g[path][txnum][4] = value;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
959
rate_section, path, txnum);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
969
u8 band, u8 path,
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
976
if (path > RF90_PATH_D) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
979
path);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
986
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][0];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
989
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][1];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
992
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][2];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
995
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][3];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
998
value = rtlphy->txpwr_by_rate_base_24g[path][txnum][4];
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.h
228
u8 channel, u8 path);
drivers/net/wireless/realtek/rtw88/debug.c
1110
int i, path;
drivers/net/wireless/realtek/rtw88/debug.c
1119
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/debug.c
1120
val = rtw_read_rf(rtwdev, path, RF_GAINTX, RFREG_MASK);
drivers/net/wireless/realtek/rtw88/debug.c
1121
seq_printf(m, "path %d:\n0x%x = 0x%x\n", path, RF_GAINTX, val);
drivers/net/wireless/realtek/rtw88/debug.c
1125
txgapk->rf3f_fs[path][i], i);
drivers/net/wireless/realtek/rtw88/debug.c
197
u8 path;
drivers/net/wireless/realtek/rtw88/debug.c
199
path = debugfs_priv->rf_path;
drivers/net/wireless/realtek/rtw88/debug.c
204
val = rtw_read_rf(rtwdev, path, addr, mask);
drivers/net/wireless/realtek/rtw88/debug.c
208
path, addr, mask, val);
drivers/net/wireless/realtek/rtw88/debug.c
470
u32 path, addr, mask, val;
drivers/net/wireless/realtek/rtw88/debug.c
478
num = sscanf(tmp, "%x %x %x %x", &path, &addr, &mask, &val);
drivers/net/wireless/realtek/rtw88/debug.c
486
rtw_write_rf(rtwdev, path, addr, mask, val);
drivers/net/wireless/realtek/rtw88/debug.c
490
path, addr, mask, val);
drivers/net/wireless/realtek/rtw88/debug.c
503
u32 path, addr, mask;
drivers/net/wireless/realtek/rtw88/debug.c
511
num = sscanf(tmp, "%x %x %x", &path, &addr, &mask);
drivers/net/wireless/realtek/rtw88/debug.c
518
debugfs_priv->rf_path = path;
drivers/net/wireless/realtek/rtw88/debug.c
588
u8 path;
drivers/net/wireless/realtek/rtw88/debug.c
592
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/debug.c
593
seq_printf(m, "RF path:%d\n", path);
drivers/net/wireless/realtek/rtw88/debug.c
597
data = rtw_read_rf(rtwdev, path, addr + offset,
drivers/net/wireless/realtek/rtw88/debug.c
698
u8 path, rate, bw, ch, regd;
drivers/net/wireless/realtek/rtw88/debug.c
720
for (path = RF_PATH_A; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/debug.c
731
rtw_get_tx_power_params(rtwdev, path, rate, bw,
drivers/net/wireless/realtek/rtw88/debug.c
734
seq_printf(m, "%4c ", path + 'A');
drivers/net/wireless/realtek/rtw88/debug.c
737
hal->tx_pwr_tbl[path][rate],
drivers/net/wireless/realtek/rtw88/debug.c
738
hal->tx_pwr_tbl[path][rate],
drivers/net/wireless/realtek/rtw88/phy.c
2224
.path = rf_path,
drivers/net/wireless/realtek/rtw88/phy.c
2239
void rtw_get_tx_power_params(struct rtw_dev *rtwdev, u8 path, u8 rate, u8 bw,
drivers/net/wireless/realtek/rtw88/phy.c
2252
pwr_idx = &rtwdev->efuse.txpwr_idx_table[path];
drivers/net/wireless/realtek/rtw88/phy.c
2261
*offset = hal->tx_pwr_by_rate_offset_2g[path][rate];
drivers/net/wireless/realtek/rtw88/phy.c
2267
*offset = hal->tx_pwr_by_rate_offset_5g[path][rate];
drivers/net/wireless/realtek/rtw88/phy.c
2270
*limit = rtw_phy_get_tx_power_limit(rtwdev, band, bw, path,
drivers/net/wireless/realtek/rtw88/phy.c
2273
dm_info->txagc_remnant_ofdm[path];
drivers/net/wireless/realtek/rtw88/phy.c
2274
*sar = rtw_phy_get_tx_power_sar(rtwdev, hal->sar_band, path, rate);
drivers/net/wireless/realtek/rtw88/phy.c
2306
u8 ch, u8 path, u8 rs)
drivers/net/wireless/realtek/rtw88/phy.c
2325
pwr_idx = rtw_phy_get_tx_power_index(rtwdev, path, rate,
drivers/net/wireless/realtek/rtw88/phy.c
2327
hal->tx_pwr_tbl[path][rate] = pwr_idx;
drivers/net/wireless/realtek/rtw88/phy.c
2337
u8 ch, u8 path)
drivers/net/wireless/realtek/rtw88/phy.c
2349
rtw_phy_set_tx_power_index_by_rs(rtwdev, ch, path, rs);
drivers/net/wireless/realtek/rtw88/phy.c
2356
u8 path;
drivers/net/wireless/realtek/rtw88/phy.c
2360
for (path = 0; path < hal->rf_path_num; path++)
drivers/net/wireless/realtek/rtw88/phy.c
2361
rtw_phy_set_tx_power_level_by_path(rtwdev, channel, path);
drivers/net/wireless/realtek/rtw88/phy.c
2369
rtw_phy_tx_power_by_rate_config_by_path(struct rtw_hal *hal, u8 path,
drivers/net/wireless/realtek/rtw88/phy.c
2380
base_2g = hal->tx_pwr_by_rate_offset_2g[path][base_idx];
drivers/net/wireless/realtek/rtw88/phy.c
2381
base_5g = hal->tx_pwr_by_rate_offset_5g[path][base_idx];
drivers/net/wireless/realtek/rtw88/phy.c
2382
hal->tx_pwr_by_rate_base_2g[path][rs] = base_2g;
drivers/net/wireless/realtek/rtw88/phy.c
2383
hal->tx_pwr_by_rate_base_5g[path][rs] = base_5g;
drivers/net/wireless/realtek/rtw88/phy.c
2386
hal->tx_pwr_by_rate_offset_2g[path][rate_idx] -= base_2g;
drivers/net/wireless/realtek/rtw88/phy.c
2387
hal->tx_pwr_by_rate_offset_5g[path][rate_idx] -= base_5g;
drivers/net/wireless/realtek/rtw88/phy.c
2393
u8 path, rs;
drivers/net/wireless/realtek/rtw88/phy.c
2395
for (path = 0; path < RTW_RF_PATH_MAX; path++)
drivers/net/wireless/realtek/rtw88/phy.c
2397
rtw_phy_tx_power_by_rate_config_by_path(hal, path, rs,
drivers/net/wireless/realtek/rtw88/phy.c
2450
u8 regd, path, rate, rs, bw;
drivers/net/wireless/realtek/rtw88/phy.c
2453
for (path = 0; path < RTW_RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw88/phy.c
2455
hal->tx_pwr_by_rate_offset_2g[path][rate] = 0;
drivers/net/wireless/realtek/rtw88/phy.c
2456
hal->tx_pwr_by_rate_offset_5g[path][rate] = 0;
drivers/net/wireless/realtek/rtw88/phy.c
2535
void rtw_phy_pwrtrack_avg(struct rtw_dev *rtwdev, u8 thermal, u8 path)
drivers/net/wireless/realtek/rtw88/phy.c
2539
ewma_thermal_add(&dm_info->avg_thermal[path], thermal);
drivers/net/wireless/realtek/rtw88/phy.c
2540
dm_info->thermal_avg[path] =
drivers/net/wireless/realtek/rtw88/phy.c
2541
ewma_thermal_read(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/phy.c
2546
u8 path)
drivers/net/wireless/realtek/rtw88/phy.c
2549
u8 avg = ewma_thermal_read(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/phy.c
2558
u8 rtw_phy_pwrtrack_get_delta(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/phy.c
2563
therm_avg = dm_info->thermal_avg[path];
drivers/net/wireless/realtek/rtw88/phy.c
2564
therm_efuse = rtwdev->efuse.thermal_meter[path];
drivers/net/wireless/realtek/rtw88/phy.c
2653
enum rtw_bb_path path = path_div->current_tx_path;
drivers/net/wireless/realtek/rtw88/phy.c
2666
path = (rssi_a > rssi_b) ? BB_PATH_A : BB_PATH_B;
drivers/net/wireless/realtek/rtw88/phy.c
2672
rtw_phy_set_tx_path_by_reg(rtwdev, path);
drivers/net/wireless/realtek/rtw88/phy.c
268
u8 path;
drivers/net/wireless/realtek/rtw88/phy.c
275
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/phy.c
276
addr = chip->dig[path].addr;
drivers/net/wireless/realtek/rtw88/phy.c
277
mask = chip->dig[path].mask;
drivers/net/wireless/realtek/rtw88/phy.c
929
u8 path;
drivers/net/wireless/realtek/rtw88/phy.c
931
for (path = 0; path < path_num; path++) {
drivers/net/wireless/realtek/rtw88/phy.c
932
power = rf_power[path];
drivers/net/wireless/realtek/rtw88/phy.h
102
#define RTW_DECL_TABLE_RF_RADIO(name, path) \
drivers/net/wireless/realtek/rtw88/phy.h
103
RTW_DECL_TABLE_PHY_COND_CORE(name, rtw_phy_cfg_rf, RF_PATH_ ## path)
drivers/net/wireless/realtek/rtw88/phy.h
161
rtw_get_tx_power_params(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/phy.h
55
void rtw_phy_pwrtrack_avg(struct rtw_dev *rtwdev, u8 thermal, u8 path);
drivers/net/wireless/realtek/rtw88/phy.h
57
u8 path);
drivers/net/wireless/realtek/rtw88/phy.h
58
u8 rtw_phy_pwrtrack_get_delta(struct rtw_dev *rtwdev, u8 path);
drivers/net/wireless/realtek/rtw88/phy.h
90
#define RTW_DECL_TABLE_PHY_COND_CORE(name, cfg, path) \
drivers/net/wireless/realtek/rtw88/phy.h
96
.rf_path = path, \
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1550
static void rtw8703b_pwrtrack_set(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1562
dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1564
dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1591
u8 thermal_value, delta, path;
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1618
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1621
delta_last = dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1623
path, RF_PATH_A, delta);
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1627
dm_info->delta_power_index[path] = delta_cur;
drivers/net/wireless/realtek/rtw88/rtw8703b.c
1628
rtw8703b_pwrtrack_set(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8703b.c
556
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8703b.c
567
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8703b.c
568
ewma_thermal_init(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8703b.c
569
dm_info->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1285
static void rtw8723d_pwrtrack_set(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1297
dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1299
dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1326
u8 thermal_value, delta, path;
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1353
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1356
delta_last = dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1358
path, RF_PATH_A, delta);
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1362
dm_info->delta_power_index[path] = delta_cur;
drivers/net/wireless/realtek/rtw88/rtw8723d.c
1363
rtw8723d_pwrtrack_set(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8723d.c
70
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8723d.c
74
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8723d.c
75
ewma_thermal_init(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8723d.c
76
dm_info->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8723d.c
792
void rtw8723d_iqk_rf_standby(struct rtw_dev *rtwdev, enum rtw_rf_path path)
drivers/net/wireless/realtek/rtw88/rtw8723d.c
795
path == RF_PATH_A ? "S1" : "S0");
drivers/net/wireless/realtek/rtw88/rtw8723d.c
799
rtw_write_rf(rtwdev, path, RF_MODE, RFREG_MASK, 0x10000);
drivers/net/wireless/realtek/rtw88/rtw8723d.c
806
void rtw8723d_iqk_precfg_path(struct rtw_dev *rtwdev, enum rtw8723x_path path)
drivers/net/wireless/realtek/rtw88/rtw8723d.c
808
if (path == PATH_S0) {
drivers/net/wireless/realtek/rtw88/rtw8723d.c
817
if (path == PATH_S1) {
drivers/net/wireless/realtek/rtw88/rtw8723x.c
394
rtw8723x_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs)
drivers/net/wireless/realtek/rtw88/rtw8723x.c
403
pwr_index = hal->tx_pwr_tbl[path][rate];
drivers/net/wireless/realtek/rtw88/rtw8723x.c
422
int rs, path;
drivers/net/wireless/realtek/rtw88/rtw8723x.c
424
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8723x.c
426
rtw8723x_set_tx_power_index_by_rate(rtwdev, path, rs);
drivers/net/wireless/realtek/rtw88/rtw8812a.c
137
enum rtw_rf_path path,
drivers/net/wireless/realtek/rtw88/rtw8812a.c
147
rtw_write_rf(rtwdev, path, backup_rf_reg[i],
drivers/net/wireless/realtek/rtw88/rtw8812a.c
150
rtw_write_rf(rtwdev, path, RF_LUTWE, RFREG_MASK, 0);
drivers/net/wireless/realtek/rtw88/rtw8812a.c
187
static void rtw8812a_iqk_rx_fill(struct rtw_dev *rtwdev, enum rtw_rf_path path,
drivers/net/wireless/realtek/rtw88/rtw8812a.c
190
switch (path) {
drivers/net/wireless/realtek/rtw88/rtw8812a.c
238
static void rtw8812a_iqk_tx_fill(struct rtw_dev *rtwdev, enum rtw_rf_path path,
drivers/net/wireless/realtek/rtw88/rtw8812a.c
241
switch (path) {
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1271
rtw8814a_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1281
pwr_index = hal->tx_pwr_tbl[path][rate] + 2;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1286
txagc_table_wd |= (pwr_index << 24) | (path << 8) | rate;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1301
int path;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1303
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1305
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1308
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1314
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1316
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1319
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1321
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1324
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1326
rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1530
static void rtw8814a_lok_one_shot(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1537
rtw_write32_mask(rtwdev, REG_FAS, BIT(21) | BIT(20), path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1541
rtw_write32(rtwdev, 0x1b00, 0xf8000001 | (BIT(path) << 4));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1548
rtw_dbg(rtwdev, RTW_DBG_RFK, "==>S%d LOK timed out\n", path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1552
rtw_write_rf(rtwdev, path, RF_DTXLOK, RFREG_MASK, 0x08400);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1557
rtw_write32(rtwdev, 0x1b00, 0xf8000000 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1573
path, lok_temp1 >> 4, lok_temp2 >> 4);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1575
rtw_write_rf(rtwdev, path, RF_DTXLOK, 0x07c00, lok_temp1 >> 4);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1576
rtw_write_rf(rtwdev, path, RF_DTXLOK, 0xf8000, lok_temp2 >> 4);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1579
static void rtw8814a_iqk_tx_one_shot(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1587
rtw_write32_mask(rtwdev, REG_FAS, BIT(21) | BIT(20), path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1589
iqk_cmd = 0xf8000001 | ((bw + 3) << 8) | (BIT(path) << 4);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1601
"tx iqk S%d timed out\n", path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1613
path, rtw_read32(rtwdev, 0x1b00));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1615
path, rtw_read32(rtwdev, 0x1b08));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1617
path, cal_retry);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1619
rtw_write32(rtwdev, 0x1b00, 0xf8000000 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1625
path, *tx_matrix);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1629
static void rtw8814a_iqk_rx_one_shot(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1643
rtw_write32_mask(rtwdev, REG_FAS, BIT(21) | BIT(20), path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1646
rtw_write_rf(rtwdev, path, RF_LUTDBG, BIT(11), 0x1);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1647
rtw_write_rf(rtwdev, path, RF_GAINTX, 0xfffff, 0x51ce1);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1649
switch (path) {
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1667
iqk_cmd = 0xf8000001 | ((9 - bw) << 8) | (BIT(path) << 4);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1679
"rx iqk S%d timed out\n", path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1691
path, rtw_read32(rtwdev, 0x1b00));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1693
path, rtw_read32(rtwdev, 0x1b08));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1695
path, cal_retry);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1697
rtw_write32(rtwdev, 0x1b00, 0xf8000000 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1704
path, rx_matrix);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1710
rtw_write32_mask(rtwdev, iqk_apply[path], BIT(0), 0x0);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1713
rtw_write32_mask(rtwdev, iqk_apply[path],
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1717
rtw_write_rf(rtwdev, path, RF_LUTDBG, BIT(11), 0x0);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1726
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1755
for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1756
rtw8814a_lok_one_shot(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1758
for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1759
rtw8814a_iqk_tx_one_shot(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1760
&tx_matrix[path], &tx_ok[path]);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1762
for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1763
rtw8814a_iqk_rx_one_shot(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1764
&tx_matrix[path], &tx_ok[path]);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1836
static void rtw8814a_txagc_swing_offset(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1842
s8 delta_pwr_idx = dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1879
static void rtw8814a_pwrtrack_set_pwr(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1891
rtw8814a_txagc_swing_offset(rtwdev, path, pwr_idx_offset,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1893
rtw_write32_mask(rtwdev, txagc_reg[path], GENMASK(29, 25),
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1895
rtw_write32_mask(rtwdev, txscale_reg[path], BB_SWING_MASK,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1899
static void rtw8814a_pwrtrack_set(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1908
tx_pwr_idx = rtw_phy_get_tx_power_index(rtwdev, path, tx_rate,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1915
rtw8814a_pwrtrack_set_pwr(rtwdev, path, pwr_idx_offset);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1920
u8 path)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1929
power_idx_last = dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1931
path, RF_PATH_A, delta);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1937
dm_info->delta_power_index[path] = power_idx_cur;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1938
rtw8814a_pwrtrack_set(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1945
u8 thermal_value, path;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1962
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++)
drivers/net/wireless/realtek/rtw88/rtw8814a.c
1963
rtw8814a_phy_pwrtrack_path(rtwdev, &swing_table, path);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
240
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
244
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8814a.c
245
ewma_thermal_init(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
246
dm_info->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
247
dm_info->delta_power_index_last[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
628
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
650
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8814a.c
668
rtw_write_rf(rtwdev, path, RF_CFGCH,
drivers/net/wireless/realtek/rtw88/rtw8814a.c
719
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8814a.c
721
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8814a.c
727
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 3);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
730
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 1);
drivers/net/wireless/realtek/rtw88/rtw8814a.c
733
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 0);
drivers/net/wireless/realtek/rtw88/rtw8821c.c
683
rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8821c.c
693
pwr_index = hal->tx_pwr_tbl[path][rate];
drivers/net/wireless/realtek/rtw88/rtw8821c.c
698
rtw_write32(rtwdev, offset_txagc[path] + rate_idx,
drivers/net/wireless/realtek/rtw88/rtw8821c.c
709
int rs, path;
drivers/net/wireless/realtek/rtw88/rtw8821c.c
711
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8821c.c
716
rtw8821c_set_tx_power_index_by_rate(rtwdev, path, rs,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
129
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1351
static void rtw8822b_txagc_swing_offset(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1356
s8 delta_pwr_idx = dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8822b.c
136
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822b.c
137
ewma_thermal_init(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8822b.c
138
dm_info->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1394
static void rtw8822b_pwrtrack_set_pwr(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1401
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1404
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1411
rtw8822b_txagc_swing_offset(rtwdev, path, pwr_idx_offset,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1418
static void rtw8822b_pwrtrack_set(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1428
tx_pwr_idx = rtw_phy_get_tx_power_index(rtwdev, path, tx_rate,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1435
rtw8822b_pwrtrack_set_pwr(rtwdev, path, pwr_idx_offset);
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1440
u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1449
power_idx_last = dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1451
path, RF_PATH_A, delta);
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1457
dm_info->delta_power_index[path] = power_idx_cur;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1458
rtw8822b_pwrtrack_set(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1465
u8 thermal_value, path;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1482
for (path = 0; path < rtwdev->hal.rf_path_num; path++)
drivers/net/wireless/realtek/rtw88/rtw8822b.c
1483
rtw8822b_phy_pwrtrack_path(rtwdev, &swing_table, path);
drivers/net/wireless/realtek/rtw88/rtw8822b.c
864
int path;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
899
for (path = 0; path <= rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822b.c
900
rssi = rtw_phy_rf_power_2_rssi(&pkt_stat->rx_power[path], 1);
drivers/net/wireless/realtek/rtw88/rtw8822b.c
901
dm_info->rssi[path] = rssi;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
902
dm_info->rx_snr[path] = pkt_stat->rx_snr[path] >> 1;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
903
dm_info->cfo_tail[path] = (pkt_stat->cfo_tail[path] * 5) >> 1;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
905
rx_evm = pkt_stat->rx_evm[path];
drivers/net/wireless/realtek/rtw88/rtw8822b.c
913
dm_info->rx_evm_dbm[path] = evm_dbm;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
938
rtw8822b_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
948
pwr_index = hal->tx_pwr_tbl[path][rate];
drivers/net/wireless/realtek/rtw88/rtw8822b.c
953
rtw_write32(rtwdev, offset_txagc[path] + rate_idx,
drivers/net/wireless/realtek/rtw88/rtw8822b.c
964
int rs, path;
drivers/net/wireless/realtek/rtw88/rtw8822b.c
966
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822b.c
968
rtw8822b_set_tx_power_index_by_rate(rtwdev, path, rs,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1032
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1034
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1035
rtw_write_rf(rtwdev, path, 0xee, BIT(19), 1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1036
RF_SET_POWER_TRIM(path, 0x0, 0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1037
RF_SET_POWER_TRIM(path, 0x1, 1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1038
RF_SET_POWER_TRIM(path, 0x2, 2);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1039
RF_SET_POWER_TRIM(path, 0x3, 2);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1040
RF_SET_POWER_TRIM(path, 0x4, 3);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1041
RF_SET_POWER_TRIM(path, 0x5, 4);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1042
RF_SET_POWER_TRIM(path, 0x6, 5);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1043
RF_SET_POWER_TRIM(path, 0x7, 6);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1044
RF_SET_POWER_TRIM(path, 0x8, 7);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1045
RF_SET_POWER_TRIM(path, 0x9, 3);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1046
RF_SET_POWER_TRIM(path, 0xa, 4);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1047
RF_SET_POWER_TRIM(path, 0xb, 5);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1048
RF_SET_POWER_TRIM(path, 0xc, 6);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1049
RF_SET_POWER_TRIM(path, 0xd, 7);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1050
RF_SET_POWER_TRIM(path, 0xe, 7);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1051
rtw_write_rf(rtwdev, path, 0xee, BIT(19), 0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1058
u8 pg_pwr = 0xff, i, path, idx;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1077
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1078
rtw_read8_physical_efuse(rtwdev, rf_efuse_5g[path][i],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1084
bb_gain[path][idx] = FIELD_GET(PPG_5G_MASK, pg_pwr);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1096
u8 pg_therm = 0xff, thermal[2] = {0}, path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1098
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1099
rtw_read8_physical_efuse(rtwdev, rf_efuse[path], &pg_therm);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1105
thermal[path] = FIELD_GET(GENMASK(3, 1), pg_therm);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1106
thermal[path] |= FIELD_PREP(BIT(3), pg_therm & BIT(0));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1107
rtw_write_rf(rtwdev, path, 0x43, RF_THEMAL_MASK, thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1115
u8 pg_pa_bias = 0xff, path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1117
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1118
rtw_read8_physical_efuse(rtwdev, rf_efuse_2g[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
112
u32 path, i;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1123
rtw_write_rf(rtwdev, path, RF_PA, RF_PABIAS_2G_MASK, pg_pa_bias);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1125
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1126
rtw_read8_physical_efuse(rtwdev, rf_efuse_5g[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1129
rtw_write_rf(rtwdev, path, RF_PA, RF_PABIAS_5G_MASK, pg_pa_bias);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1182
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1184
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1185
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SEL_PATH, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1248
static void rtw8822c_txgapk_bb_dpk(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1261
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1268
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
127
for (path = 0; path < DACK_PATH_8822C; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1280
static void rtw8822c_txgapk_afe_dpk(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1286
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1288
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1291
rtw_err(rtwdev, "[TXGAPK] unknown path %d!!\n", path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
130
val = rtw_read_rf(rtwdev, path, reg, RFREG_MASK);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
131
backup_rf[path * i + i].reg = reg;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1316
static void rtw8822c_txgapk_afe_dpk_restore(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
132
backup_rf[path * i + i].val = val;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1322
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1324
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1327
rtw_err(rtwdev, "[TXGAPK] unknown path %d!!\n", path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1349
static void rtw8822c_txgapk_bb_dpk_restore(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1353
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TX_GAIN, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1354
rtw_write_rf(rtwdev, path, RF_DIS_BYPASS_TXBB, BIT_TIA_BYPASS, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1355
rtw_write_rf(rtwdev, path, RF_DIS_BYPASS_TXBB, BIT_TXBB, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1368
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1375
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1399
u8 band, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1405
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SEL_PATH, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
141
u32 path, i;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1428
v = txgapk->rf3f_bp[band][gain][path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1431
tmp_3f = txgapk->rf3f_bp[band][gain][path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1436
txgapk->rf3f_bp[band][gain][path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1438
tmp_3f = txgapk->rf3f_bp[band][gain][path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1448
band, tmp_3f, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1454
u8 path, band;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1460
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1462
band, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1467
static void rtw8822c_txgapk_read_offset(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
147
for (path = 0; path < DACK_PATH_8822C; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1478
if (path >= ARRAY_SIZE(cfg1_1b00) ||
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1479
path >= ARRAY_SIZE(cfg2_1b00) ||
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1480
path >= ARRAY_SIZE(set_pi) ||
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1481
path >= ARRAY_SIZE(path_setting)) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1482
rtw_warn(rtwdev, "[TXGAPK] wrong path %d\n", path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1486
rtw_write32_mask(rtwdev, REG_ANTMAP0, BIT_ANT_PATH, path + 1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1489
rtw_write32_mask(rtwdev, path_setting[path], MASK20BITS, 0x33312);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
149
val = backup_rf[path * i + i].val;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1490
rtw_write32_mask(rtwdev, path_setting[path], BIT_PATH_EN, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1491
rtw_write32_mask(rtwdev, set_pi[path], BITS_RFC_DIRECT, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1492
rtw_write_rf(rtwdev, path, RF_LUTDBG, BIT_TXA_TANK, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1493
rtw_write_rf(rtwdev, path, RF_IDAC, BIT_TX_MODE, 0x820);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1494
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SEL_PATH, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
150
reg = backup_rf[path * i + i].reg;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1505
rtw_write32_mask(rtwdev, REG_NCTL0, MASKDWORD, cfg1_1b00[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1506
rtw_write32_mask(rtwdev, REG_NCTL0, MASKDWORD, cfg2_1b00[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
151
rtw_write_rf(rtwdev, path, reg, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1512
rtw_write32_mask(rtwdev, set_pi[path], BITS_RFC_DIRECT, 0x2);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1513
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SEL_PATH, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1519
txgapk->offset[0][path] = (s8)FIELD_GET(BIT_GAPK_RPT0, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1520
txgapk->offset[1][path] = (s8)FIELD_GET(BIT_GAPK_RPT1, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1521
txgapk->offset[2][path] = (s8)FIELD_GET(BIT_GAPK_RPT2, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1522
txgapk->offset[3][path] = (s8)FIELD_GET(BIT_GAPK_RPT3, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1523
txgapk->offset[4][path] = (s8)FIELD_GET(BIT_GAPK_RPT4, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1524
txgapk->offset[5][path] = (s8)FIELD_GET(BIT_GAPK_RPT5, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1525
txgapk->offset[6][path] = (s8)FIELD_GET(BIT_GAPK_RPT6, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1526
txgapk->offset[7][path] = (s8)FIELD_GET(BIT_GAPK_RPT7, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1531
txgapk->offset[8][path] = (s8)FIELD_GET(BIT_GAPK_RPT0, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1532
txgapk->offset[9][path] = (s8)FIELD_GET(BIT_GAPK_RPT1, val);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1535
if (txgapk->offset[i][path] & BIT(3))
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1536
txgapk->offset[i][path] = txgapk->offset[i][path] |
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1541
txgapk->offset[i][path], i, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1544
static void rtw8822c_txgapk_calculate_offset(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1561
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SEL_PATH, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1564
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TX_GAIN, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1565
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, RFREG_MASK, 0x5000f);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1566
rtw_write_rf(rtwdev, path, RF_TX_GAIN_OFFSET, BIT_RF_GAIN, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1567
rtw_write_rf(rtwdev, path, RF_RXG_GAIN, BIT_RXG_GAIN, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1568
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_RXAGC, 0x0f);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1569
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TRXBW, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1570
rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_TXBB, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1571
rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_RXBB, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1572
rtw_write_rf(rtwdev, path, RF_EXT_TIA_BW, BIT_PW_EXT_TIA, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1577
rtw8822c_txgapk_read_offset(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1583
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SEL_PATH, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1586
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TX_GAIN, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1587
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, RFREG_MASK, 0x50011);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1588
rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_TXA_LB_ATT, 0x3);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1589
rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_LB_ATT, 0x3);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1590
rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_LB_SW, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1591
rtw_write_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1593
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_RXAGC, 0x12);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1594
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TRXBW, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1595
rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_RXBB, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1596
rtw_write_rf(rtwdev, path, RF_EXT_TIA_BW, BIT_PW_EXT_TIA, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1597
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_RF_MODE, 0x5);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1611
rtw8822c_txgapk_read_offset(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1618
static void rtw8822c_txgapk_rf_restore(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1622
if (path >= rtwdev->hal.rf_path_num)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1625
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_RF_MODE, 0x3);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1626
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TRXBW, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1627
rtw_write_rf(rtwdev, path, RF_EXT_TIA_BW, BIT_PW_EXT_TIA, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1659
u8 path, band = RF_BAND_2G_OFDM, channel = txgapk->channel;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1680
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1684
v = txgapk->rf3f_bp[band][j][path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1688
offset_tmp[i] += txgapk->offset[j][path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1689
txgapk->fianl_offset[i][path] = offset_tmp[i];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1692
v = txgapk->rf3f_bp[band][i][path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1696
txgapk->rf3f_bp[band][i][path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1698
txgapk->rf3f_fs[path][i] = offset_tmp[i];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1705
rtw_write_rf(rtwdev, path, RF_LUTWE2, RFREG_MASK, 0x10000);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1707
rtw_write_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1711
txgapk->rf3f_bp[band][i][path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1713
rtw_write_rf(rtwdev, path, RF_LUTWD0,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1720
rtw_write_rf(rtwdev, path, RF_LUTWE2, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1731
u8 path, band, gain, rf0_idx;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1747
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1748
rf18 = rtw_read_rf(rtwdev, path, RF_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1751
three_wire[path], BIT_3WIRE_EN, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1752
rtw_write_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1754
rtw_write_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1756
rtw_write_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1758
rtw_write_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1762
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1764
v = rtw_read_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1766
txgapk->rf3f_bp[band][gain][path] = v & BIT_DATA_L;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1770
txgapk->rf3f_bp[band][gain][path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1771
band, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1774
rtw_write_rf(rtwdev, path, RF_CFGCH, RFREG_MASK, rf18);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1776
three_wire[path], BIT_3WIRE_EN, 0x3);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1788
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1810
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1811
txgapk->channel = rtw_read_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1813
rtw8822c_txgapk_bb_dpk(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1814
rtw8822c_txgapk_afe_dpk(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1815
rtw8822c_txgapk_calculate_offset(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1816
rtw8822c_txgapk_rf_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1817
rtw8822c_txgapk_afe_dpk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1818
rtw8822c_txgapk_bb_dpk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1850
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1852
for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1853
dm_info->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1854
ewma_thermal_init(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
1855
dm_info->thermal_avg[path] = 0xff;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
236
static u32 rtw8822c_get_path_write_addr(u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
240
switch (path) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
255
static u32 rtw8822c_get_path_read_addr(u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2558
int path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2587
for (path = 0; path <= rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2588
rssi = rtw_phy_rf_power_2_rssi(&pkt_stat->rx_power[path], 1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2589
dm_info->rssi[path] = rssi;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
259
switch (path) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2608
int path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2647
for (path = 0; path <= rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2648
rssi = rtw_phy_rf_power_2_rssi(&pkt_stat->rx_power[path], 1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2649
dm_info->rssi[path] = rssi;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2650
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2653
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2657
dm_info->rx_snr[path] = pkt_stat->rx_snr[path] >> 1;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2658
dm_info->cfo_tail[path] = (pkt_stat->cfo_tail[path] * 5) >> 1;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2660
rx_evm = pkt_stat->rx_evm[path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2668
dm_info->rx_evm_dbm[path] = evm_dbm;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2700
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2702
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2704
rtw_write32_mask(rtwdev, txref_cck[path], 0x7f0000,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2705
tx_pwr_ref_cck[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2707
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2709
rtw_write32_mask(rtwdev, txref_ofdm[path], 0x1fc00,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
2710
tx_pwr_ref_ofdm[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3251
static void rtw8822c_dpk_rxbb_dc_cal(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3253
rtw_write_rf(rtwdev, path, 0x92, RFREG_MASK, 0x84800);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3255
rtw_write_rf(rtwdev, path, 0x92, RFREG_MASK, 0x84801);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3257
rtw_write_rf(rtwdev, path, 0x92, RFREG_MASK, 0x84800);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3260
static u8 rtw8822c_dpk_dc_corr_check(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3317
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3319
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3320
rtw_write_rf(rtwdev, path, RF_RXAGC_OFFSET, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3321
rtw_write32(rtwdev, REG_NCTL0, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3334
static u32 rtw8822c_dpk_rf_setting(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3338
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, RFREG_MASK, 0x50017);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3339
ori_txbb = rtw_read_rf(rtwdev, path, RF_TX_GAIN, RFREG_MASK);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3341
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TX_GAIN, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3342
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_PWR_TRIM, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3343
rtw_write_rf(rtwdev, path, RF_TX_GAIN_OFFSET, BIT_BB_GAIN, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3344
rtw_write_rf(rtwdev, path, RF_TX_GAIN, RFREG_MASK, ori_txbb);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3347
rtw_write_rf(rtwdev, path, RF_TX_GAIN_OFFSET, BIT_RF_GAIN, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3348
rtw_write_rf(rtwdev, path, RF_RXG_GAIN, BIT_RXG_GAIN, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3350
rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_TXA_LB_ATT, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3351
rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_LB_ATT, 0x6);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3352
rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_LB_SW, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3353
rtw_write_rf(rtwdev, path, RF_RXA_MIX_GAIN, BIT_RXA_MIX_GAIN, 0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3356
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_RXAGC, 0xf);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3357
rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TRXBW, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3358
rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_RXBB, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3361
rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_TXBB, 0x2);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3363
rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_TXBB, 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3365
rtw_write_rf(rtwdev, path, RF_EXT_TIA_BW, BIT(1), 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3372
static u16 rtw8822c_dpk_get_cmd(struct rtw_dev *rtwdev, u8 action, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3379
cmd = 0x14 + path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3382
cmd = 0x16 + path + bw;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3385
cmd = 0x1a + path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3388
cmd = 0x1c + path + bw;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3397
static u8 rtw8822c_dpk_one_shot(struct rtw_dev *rtwdev, u8 path, u8 action)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3415
0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3418
dpk_cmd = rtw8822c_dpk_get_cmd(rtwdev, action, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3427
0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3438
static u16 rtw8822c_dpk_dgain_read(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3450
static u8 rtw8822c_dpk_thermal_read(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3452
rtw_write_rf(rtwdev, path, RF_T_METER, BIT(19), 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3453
rtw_write_rf(rtwdev, path, RF_T_METER, BIT(19), 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3454
rtw_write_rf(rtwdev, path, RF_T_METER, BIT(19), 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3457
return (u8)rtw_read_rf(rtwdev, path, RF_T_METER, 0x0007e);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3460
static u32 rtw8822c_dpk_pas_read(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3464
rtw_write32(rtwdev, REG_NCTL0, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3509
static u8 rtw8822c_dpk_gainloss_result(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3513
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3524
static u8 rtw8822c_dpk_agc_gain_chk(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3530
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DAGC);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3531
dgain = rtw8822c_dpk_dgain_read(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3541
static u8 rtw8822c_dpk_agc_loss_chk(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3545
loss = rtw8822c_dpk_pas_read(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3565
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3573
data->txbb = (u8)rtw_read_rf(rtwdev, data->path, RF_TX_GAIN,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3575
data->pga = (u8)rtw_read_rf(rtwdev, data->path, RF_MODE_TRXAGC,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3583
state = rtw8822c_dpk_agc_gain_chk(rtwdev, data->path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3604
rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0xc);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3606
rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0x0);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3619
rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0xc);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3621
rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0xf);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3641
rtw_write_rf(rtwdev, data->path, RF_TX_GAIN, BIT_GAIN_TXBB, data->txbb);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3662
u8 path = data->path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3665
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_GAIN_LOSS);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3666
state = rtw8822c_dpk_agc_loss_chk(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3677
static u8 rtw8822c_dpk_pas_agc(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3686
data.path = path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3732
static void rtw8822c_dpk_coef_tbl_apply(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3740
dpk_info->coef[path][i] = rtw8822c_dpk_coef_transfer(rtwdev);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3744
static void rtw8822c_dpk_get_coef(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3748
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3751
} else if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3756
rtw8822c_dpk_coef_tbl_apply(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3759
static u8 rtw8822c_dpk_coef_read(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3766
coef_i = FIELD_GET(0x1fff0000, dpk_info->coef[path][addr]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3767
coef_q = FIELD_GET(0x1fff, dpk_info->coef[path][addr]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3777
static void rtw8822c_dpk_coef_write(struct rtw_dev *rtwdev, u8 path, u8 result)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3794
coef = dpk_info->coef[path][addr];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3796
rtw_write32(rtwdev, reg[path] + addr * 4, coef);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3801
u8 path, u8 result)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3805
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3812
dpk_info->result[path] = result;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3813
dpk_info->dpk_txagc[path] = rtw_read8(rtwdev, REG_DPD_AGC);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3815
rtw8822c_dpk_coef_write(rtwdev, path, result);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3818
static u32 rtw8822c_dpk_gainloss(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3823
ori_txbb = rtw8822c_dpk_rf_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3824
ori_txagc = (u8)rtw_read_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_TXAGC);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3826
rtw8822c_dpk_rxbb_dc_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3827
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DAGC);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3828
rtw8822c_dpk_dgain_read(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3830
if (rtw8822c_dpk_dc_corr_check(rtwdev, path)) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3831
rtw8822c_dpk_rxbb_dc_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3832
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DAGC);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3833
rtw8822c_dpk_dc_corr_check(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3836
t1 = rtw8822c_dpk_thermal_read(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3837
tx_bb = rtw8822c_dpk_pas_agc(rtwdev, path, false, true);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3838
tx_agc_search = rtw8822c_dpk_gainloss_result(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3845
rtw_write_rf(rtwdev, path, RF_TX_GAIN, BIT_GAIN_TXBB, tx_bb);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3849
t2 = rtw8822c_dpk_thermal_read(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3851
dpk_info->thermal_dpk_delta[path] = abs(t2 - t1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3856
static u8 rtw8822c_dpk_by_path(struct rtw_dev *rtwdev, u32 tx_agc, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3860
result = rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DO_DPK);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3862
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3866
rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, RFREG_MASK, 0x33e14);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3868
rtw8822c_dpk_get_coef(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3873
static void rtw8822c_dpk_cal_gs(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3878
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3886
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3903
0x05020000 | (BIT(path) << 28));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3911
0x05020008 | (BIT(path) << 28));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3914
rtw_write32_mask(rtwdev, REG_DPD_CTL0, MASKBYTE3, 0x8 | path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3916
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_CAL_PWR);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3919
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3924
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3935
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3940
dpk_info->dpk_gs[path] = tmp_gs;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3948
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
395
u8 path, u32 *adc_ic, u32 *adc_qc)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3961
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3962
i_scaling = 0x16c00 / dpk_info->dpk_gs[path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3964
rtw_write32_mask(rtwdev, 0x1b18 + offset[path], MASKHWORD,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3966
rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0 + offset[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3968
rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0 + offset[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3970
rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0 + offset[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3972
rtw_write32_mask(rtwdev, REG_DPD_CTL1_S0 + offset[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3977
static void rtw8822c_dpk_on(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3981
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DPK_ON);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3983
rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3986
if (test_bit(path, dpk_info->dpk_path_ok))
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3987
rtw8822c_dpk_cal_gs(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3991
u32 dpk_txagc, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
3996
if (rtw8822c_dpk_coef_read(rtwdev, path))
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4004
rtw8822c_dpk_fill_result(rtwdev, dpk_txagc, path, result);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4012
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4014
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4015
clear_bit(path, dpk_info->dpk_path_ok);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4017
0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4020
dpk_info->dpk_txagc[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4021
dpk_info->result[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4022
dpk_info->dpk_gs[path] = 0x5b;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4023
dpk_info->pre_pwsf[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4024
dpk_info->thermal_dpk[path] = rtw8822c_dpk_thermal_read(rtwdev,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4025
path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4029
static void rtw8822c_dpk_calibrate(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
403
rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] ADCK path(%d)\n", path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4035
rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] s%d dpk start\n", path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4037
dpk_txagc = rtw8822c_dpk_gainloss(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4039
dpk_fail = rtw8822c_dpk_by_path(rtwdev, dpk_txagc, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4041
if (!rtw8822c_dpk_check_pass(rtwdev, dpk_fail, dpk_txagc, path))
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4044
rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] s%d dpk finish\n", path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4046
if (dpk_info->result[path])
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4047
set_bit(path, dpk_info->dpk_path_ok);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
405
base_addr = rtw8822c_get_path_write_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
406
switch (path) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4084
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4091
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4093
0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4099
rtw_write8(rtwdev, REG_DPD_AGC, dpk_info->dpk_txagc[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4101
rtw8822c_dpk_coef_write(rtwdev, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4102
test_bit(path, dpk_info->dpk_path_ok));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4104
rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DPK_ON);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4108
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4110
dpk_info->dpk_gs[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4113
dpk_info->dpk_gs[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4148
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4157
for (path = RF_PATH_A; path < DPK_RF_PATH_NUM; path++)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4158
ewma_thermal_init(&dpk_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4174
for (path = 0; path < rtwdev->hal.rf_path_num; path++)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4175
rtw8822c_dpk_rxbb_dc_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4191
u8 path;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4198
for (path = 0; path < DPK_RF_PATH_NUM; path++) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4199
thermal_value[path] = rtw8822c_dpk_thermal_read(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
420
if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4200
ewma_thermal_add(&dpk_info->avg_thermal[path],
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4201
thermal_value[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4202
thermal_value[path] =
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4203
ewma_thermal_read(&dpk_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4204
delta_dpk[path] = dpk_info->thermal_dpk[path] -
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4205
thermal_value[path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4206
offset[path] = delta_dpk[path] -
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4207
dpk_info->thermal_dpk_delta[path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4208
offset[path] &= 0x7f;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4210
if (offset[path] != dpk_info->pre_pwsf[path]) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4212
0x8 | (path << 1));
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4214
offset[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4215
dpk_info->pre_pwsf[path] = offset[path];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4444
static void rtw8822c_pwr_track_stats(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4448
if (rtwdev->efuse.thermal_meter[path] == 0xff)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4451
thermal_value = rtw_read_rf(rtwdev, path, RF_T_METER, 0x7e);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4452
rtw_phy_pwrtrack_avg(rtwdev, thermal_value, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4457
u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4462
delta = rtw_phy_pwrtrack_get_delta(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4463
dm_info->delta_power_index[path] =
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4464
rtw_phy_pwrtrack_get_pwridx(rtwdev, swing_table, path, path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
4466
rtw8822c_pwrtrack_set(rtwdev, path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
447
dm_info->dack_adck[path] = temp;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
469
rtw_write_rf(rtwdev, path, 0x8f, BIT(13), 0x1);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
472
static void rtw8822c_dac_cal_step1(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
478
base_addr = rtw8822c_get_path_write_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
479
read_addr = rtw8822c_get_path_read_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
481
rtw_write32(rtwdev, base_addr + 0x68, dm_info->dack_adck[path]);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
483
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw88/rtw8822c.c
518
u8 path, u32 *ic_out, u32 *qc_out)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
523
base_addr = rtw8822c_get_path_write_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
566
static void rtw8822c_dac_cal_step3(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw8822c.c
576
base_addr = rtw8822c_get_path_write_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
577
read_addr = rtw8822c_get_path_read_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
643
static void rtw8822c_dac_cal_step4(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
645
u32 base_addr = rtw8822c_get_path_write_addr(path);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
654
u8 path, u8 vec, u32 w_addr, u32 r_addr)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
666
dm_info->dack_msbk[path][vec][i] = val;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
670
static void rtw8822c_dac_cal_backup_path(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
676
if (WARN_ON(path >= 2))
drivers/net/wireless/realtek/rtw88/rtw8822c.c
680
w_addr = rtw8822c_get_path_write_addr(path) + 0xb0;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
681
r_addr = rtw8822c_get_path_read_addr(path) + 0x10;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
682
rtw8822c_dac_cal_backup_vec(rtwdev, path, 0, w_addr, r_addr);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
685
w_addr = rtw8822c_get_path_write_addr(path) + 0xb0 + w_off;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
686
r_addr = rtw8822c_get_path_read_addr(path) + 0x10 + r_off;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
687
rtw8822c_dac_cal_backup_vec(rtwdev, path, 1, w_addr, r_addr);
drivers/net/wireless/realtek/rtw88/rtw8822c.c
844
static bool rtw8822c_dac_cal_restore_path(struct rtw_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw88/rtw8822c.c
853
w_i = rtw8822c_get_path_write_addr(path) + 0xb0;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
854
r_i = rtw8822c_get_path_read_addr(path) + 0x08;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
855
w_q = rtw8822c_get_path_write_addr(path) + 0xb0 + w_off;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
856
r_q = rtw8822c_get_path_read_addr(path) + 0x08 + r_off;
drivers/net/wireless/realtek/rtw88/rtw8822c.c
863
value = dm_info->dack_msbk[path][0][i];
drivers/net/wireless/realtek/rtw88/rtw8822c.c
876
value = dm_info->dack_msbk[path][1][i];
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1328
u8 path;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1350
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1366
rtw_write_rf(rtwdev, path, RF_CFGCH,
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1372
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_CHANNEL_MASK, channel);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1469
u8 path;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1471
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1477
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 3);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1480
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 1);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1483
rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 0);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1566
rtw88xxa_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1581
pwr_index = hal->tx_pwr_tbl[path][rate];
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1599
rtw_write32_mask(rtwdev, offset_txagc[path] + rate_idx,
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1608
u8 channel, u8 path)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1616
power_level = rtwdev->hal.tx_pwr_tbl[path][DESC_RATEMCS7];
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1630
rtw_write32_mask(rtwdev, write_offset[path], 0xffffff, write_data);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1637
int rs, path;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1639
for (path = 0; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1654
rtw88xxa_set_tx_power_index_by_rate(rtwdev, path, rs,
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1659
hal->current_channel, path);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1815
static void rtw88xxa_pwrtrack_set(struct rtw_dev *rtwdev, u8 tx_rate, u8 path)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1861
cck_swing_idx = dm_info->delta_power_index[path] + dm_info->default_cck_index;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1862
ofdm_swing_idx = dm_info->delta_power_index[path] + dm_info->default_ofdm_index;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1865
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1867
dm_info->txagc_remnant_ofdm[path] = ofdm_swing_idx - pwr_tracking_limit;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1871
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1873
dm_info->txagc_remnant_ofdm[path] = ofdm_swing_idx;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1875
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1877
dm_info->txagc_remnant_ofdm[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1880
rtw_write32_mask(rtwdev, reg_txscale[path], GENMASK(31, 21),
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1892
u8 thermal_value, delta, path;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1919
for (path = RF_PATH_A; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1920
remnant_pre[path] = dm_info->txagc_remnant_ofdm[path];
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1922
dm_info->delta_power_index[path] =
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1923
rtw_phy_pwrtrack_get_pwridx(rtwdev, &swing_table, path,
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1926
if (dm_info->delta_power_index[path] !=
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1927
dm_info->delta_power_index_last[path]) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1928
dm_info->delta_power_index_last[path] =
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1929
dm_info->delta_power_index[path];
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1931
rtw88xxa_pwrtrack_set(rtwdev, dm_info->tx_rate, path);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1935
for (path = RF_PATH_A; path < hal->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
1936
if (remnant_pre[path] != dm_info->txagc_remnant_ofdm[path]) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
642
static u32 rtw88xxa_get_bb_swing(struct rtw_dev *rtwdev, u8 band, u8 path)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
653
if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
680
u8 path;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
689
for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
690
ewma_thermal_init(&dm_info->avg_thermal[path]);
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
691
dm_info->delta_power_index[path] = 0;
drivers/net/wireless/realtek/rtw88/rtw88xxa.c
692
dm_info->delta_power_index_last[path] = 0;
drivers/net/wireless/realtek/rtw88/rx.c
202
u8 path;
drivers/net/wireless/realtek/rtw88/rx.c
245
for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
drivers/net/wireless/realtek/rtw88/rx.c
246
rx_status->chains |= BIT(path);
drivers/net/wireless/realtek/rtw88/rx.c
247
rx_status->chain_signal[path] = pkt_stat->rx_power[path];
drivers/net/wireless/realtek/rtw88/sar.c
103
.path = j,
drivers/net/wireless/realtek/rtw88/sar.c
21
return sar->cfg[arg->path][arg->rs].common[arg->sar_band];
drivers/net/wireless/realtek/rtw88/sar.c
52
hal->tx_pwr_by_rate_base_2g[arg->path][arg->rs] :
drivers/net/wireless/realtek/rtw88/sar.c
53
hal->tx_pwr_by_rate_base_5g[arg->path][arg->rs];
drivers/net/wireless/realtek/rtw88/sar.h
14
u8 path;
drivers/net/wireless/realtek/rtw89/acpi.c
1156
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
1176
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/acpi.c
1177
u8 antidx = ind->rfpath_to_antidx(path);
drivers/net/wireless/realtek/rtw89/acpi.c
1188
tmp.tblsel[path] = sel;
drivers/net/wireless/realtek/rtw89/acpi.c
564
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
567
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/acpi.c
568
u8 antidx = rec->rfpath_to_antidx(path);
drivers/net/wireless/realtek/rtw89/acpi.c
571
ent->v[subband][path] =
drivers/net/wireless/realtek/rtw89/acpi.c
574
ent->v[subband][path] = MAX_VAL_OF_RTW89_ACPI_SAR;
drivers/net/wireless/realtek/rtw89/acpi.c
587
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
592
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/acpi.c
593
u8 antidx = rec->rfpath_to_antidx(path);
drivers/net/wireless/realtek/rtw89/acpi.c
595
ent->v[subband][path] = rec->normalize(ptr->v[antidx][subband]);
drivers/net/wireless/realtek/rtw89/acpi.c
608
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
611
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/acpi.c
612
u8 antidx = rec->rfpath_to_antidx(path);
drivers/net/wireless/realtek/rtw89/acpi.c
615
ent->v[subband][path] =
drivers/net/wireless/realtek/rtw89/acpi.c
618
ent->v[subband][path] = MAX_VAL_OF_RTW89_ACPI_SAR;
drivers/net/wireless/realtek/rtw89/acpi.c
631
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
636
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/acpi.c
637
u8 antidx = rec->rfpath_to_antidx(path);
drivers/net/wireless/realtek/rtw89/acpi.c
639
ent->v[subband][path] = rec->normalize(ptr->v[antidx][subband]);
drivers/net/wireless/realtek/rtw89/acpi.c
703
enum rtw89_rf_path path, s16 *val)
drivers/net/wireless/realtek/rtw89/acpi.c
705
u8 antidx = rtw89_acpi_sar_rfpath_to_hp_antidx(path);
drivers/net/wireless/realtek/rtw89/acpi.c
735
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
758
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/acpi.c
759
rtw89_acpi_geo_sar_load_by_hp(rtwdev, ptr_ent_val, path,
drivers/net/wireless/realtek/rtw89/acpi.c
760
&ent->v[subband][path]);
drivers/net/wireless/realtek/rtw89/acpi.c
776
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
801
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/acpi.c
802
rtw89_acpi_geo_sar_load_by_hp(rtwdev, ptr_ent_val, path,
drivers/net/wireless/realtek/rtw89/acpi.c
803
&ent->v[subband][path]);
drivers/net/wireless/realtek/rtw89/acpi.c
819
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
842
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/acpi.c
844
&ent->v[subband][path]);
drivers/net/wireless/realtek/rtw89/acpi.c
860
enum rtw89_rf_path path;
drivers/net/wireless/realtek/rtw89/acpi.c
885
for (path = 0; path < NUM_OF_RTW89_ACPI_SAR_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/acpi.c
887
&ent->v[subband][path]);
drivers/net/wireless/realtek/rtw89/coex.h
320
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/coex.h
323
return rtw89_btc_phymap(rtwdev, phy_idx, BIT(path), chanctx_idx);
drivers/net/wireless/realtek/rtw89/core.h
3839
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/core.h
4143
u8 path;
drivers/net/wireless/realtek/rtw89/core.h
7372
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/core.h
7379
chip->ops->calc_rx_gain_normal(rtwdev, chan, path, phy_idx, calc);
drivers/net/wireless/realtek/rtw89/debug.c
354
u8 path;
drivers/net/wireless/realtek/rtw89/debug.c
357
num = sscanf(buf, "%hhd %x %x", &path, &addr, &mask);
drivers/net/wireless/realtek/rtw89/debug.c
363
if (path >= rtwdev->chip->rf_path_num) {
drivers/net/wireless/realtek/rtw89/debug.c
369
debugfs_priv->read_rf.path = path;
drivers/net/wireless/realtek/rtw89/debug.c
371
rtw89_info(rtwdev, "select read rf path %d from 0x%08x\n", path, addr);
drivers/net/wireless/realtek/rtw89/debug.c
383
u8 path;
drivers/net/wireless/realtek/rtw89/debug.c
387
path = debugfs_priv->read_rf.path;
drivers/net/wireless/realtek/rtw89/debug.c
389
data = rtw89_read_rf(rtwdev, path, addr, mask);
drivers/net/wireless/realtek/rtw89/debug.c
392
path, addr, data);
drivers/net/wireless/realtek/rtw89/debug.c
403
u8 path;
drivers/net/wireless/realtek/rtw89/debug.c
406
num = sscanf(buf, "%hhd %x %x %x", &path, &addr, &mask, &val);
drivers/net/wireless/realtek/rtw89/debug.c
412
if (path >= rtwdev->chip->rf_path_num) {
drivers/net/wireless/realtek/rtw89/debug.c
418
path, addr, val, mask);
drivers/net/wireless/realtek/rtw89/debug.c
419
rtw89_write_rf(rtwdev, path, addr, mask, val);
drivers/net/wireless/realtek/rtw89/debug.c
432
u8 path;
drivers/net/wireless/realtek/rtw89/debug.c
434
for (path = 0; path < chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/debug.c
435
p += scnprintf(p, end - p, "RF path %d:\n\n", path);
drivers/net/wireless/realtek/rtw89/debug.c
439
data = rtw89_read_rf(rtwdev, path,
drivers/net/wireless/realtek/rtw89/debug.c
51
u8 path;
drivers/net/wireless/realtek/rtw89/fw.c
3212
u8 path;
drivers/net/wireless/realtek/rtw89/fw.c
3233
path = rtwvif_link->phy_idx == RTW89_PHY_1 ? RF_PATH_B : RF_PATH_A;
drivers/net/wireless/realtek/rtw89/fw.c
3249
cpu_to_le16(gain->tia_gain[gain_band][bw_idx][path][i]);
drivers/net/wireless/realtek/rtw89/fw.c
3258
gain->lna_gain[gain_band][bw_idx][path],
drivers/net/wireless/realtek/rtw89/fw.c
3261
gain->tia_lna_op1db[gain_band][bw_idx][path],
drivers/net/wireless/realtek/rtw89/fw.c
3264
gain->lna_op1db[gain_band][bw_idx][path],
drivers/net/wireless/realtek/rtw89/fw.c
3301
u8 path;
drivers/net/wireless/realtek/rtw89/fw.c
3311
path = (tab_idx & BIT(0)) ? (RF_PATH_B) : (RF_PATH_A);
drivers/net/wireless/realtek/rtw89/fw.c
3313
rtw89_chip_calc_rx_gain_normal(rtwdev, chan, path, phy_idx,
drivers/net/wireless/realtek/rtw89/fw.c
3321
rtw89_chip_calc_rx_gain_normal(rtwdev, &chan_bcn, path, phy_idx,
drivers/net/wireless/realtek/rtw89/fw.c
3335
cpu_to_le16(gain->tia_gain[gain_band][bw_idx][path][i]);
drivers/net/wireless/realtek/rtw89/fw.c
3338
gain->lna_gain[gain_band][bw_idx][path],
drivers/net/wireless/realtek/rtw89/fw.c
3341
gain->lna_op1db[gain_band][bw_idx][path],
drivers/net/wireless/realtek/rtw89/fw.c
3344
gain->tia_lna_op1db[gain_band][bw_idx][path],
drivers/net/wireless/realtek/rtw89/fw.c
3348
gain->rpl_ofst_20[gain_band][path],
drivers/net/wireless/realtek/rtw89/fw.c
3351
gain->rpl_ofst_40[gain_band][path],
drivers/net/wireless/realtek/rtw89/fw.c
3354
gain->rpl_ofst_80[gain_band][path],
drivers/net/wireless/realtek/rtw89/fw.c
3357
gain->rpl_ofst_160[gain_band][path],
drivers/net/wireless/realtek/rtw89/fw.c
7016
u8 path;
drivers/net/wireless/realtek/rtw89/fw.c
7033
path = rtw89_phy_get_syn_sel(rtwdev, rtwvif_link->phy_idx);
drivers/net/wireless/realtek/rtw89/fw.c
7036
if (path >= chip->rf_path_num || path >= NUM_OF_RTW89_FW_RFK_PATH) {
drivers/net/wireless/realtek/rtw89/fw.c
7037
rtw89_err(rtwdev, "unsupported rf path (%d)\n", path);
drivers/net/wireless/realtek/rtw89/fw.c
7042
h2c->rf18[path] = cpu_to_le32(val);
drivers/net/wireless/realtek/rtw89/fw.c
7043
h2c->pri_ch[path] = chan->primary_channel;
drivers/net/wireless/realtek/rtw89/fw.c
7078
u8 tbl, path;
drivers/net/wireless/realtek/rtw89/fw.c
7122
for (path = 0; path < NUM_OF_RTW89_FW_RFK_PATH; path++) {
drivers/net/wireless/realtek/rtw89/fw.c
7123
common->dbcc.ch[path][tbl] =
drivers/net/wireless/realtek/rtw89/fw.c
7124
cpu_to_le32(rfk_mcc->data[path].ch[tbl]);
drivers/net/wireless/realtek/rtw89/fw.c
7125
common->dbcc.band[path][tbl] =
drivers/net/wireless/realtek/rtw89/fw.c
7126
cpu_to_le32(rfk_mcc->data[path].band[tbl]);
drivers/net/wireless/realtek/rtw89/fw.c
7130
for (path = 0; path < NUM_OF_RTW89_FW_RFK_PATH; path++) {
drivers/net/wireless/realtek/rtw89/fw.c
7131
tbl_sel[path] = rfk_mcc->data[path].table_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7133
common->tbl.cur_ch[path] =
drivers/net/wireless/realtek/rtw89/fw.c
7134
cpu_to_le32(rfk_mcc->data[path].ch[tbl_sel[path]]);
drivers/net/wireless/realtek/rtw89/fw.c
7135
common->tbl.cur_band[path] =
drivers/net/wireless/realtek/rtw89/fw.c
7136
cpu_to_le32(rfk_mcc->data[path].band[tbl_sel[path]]);
drivers/net/wireless/realtek/rtw89/fw.c
7141
h2c_v2->cur_bandwidth[path] =
drivers/net/wireless/realtek/rtw89/fw.c
7142
cpu_to_le32(rfk_mcc->data[path].bw[tbl_sel[path]]);
drivers/net/wireless/realtek/rtw89/fw.c
7205
u8 tbl, path;
drivers/net/wireless/realtek/rtw89/fw.c
7230
for (path = 0; path < NUM_OF_RTW89_FW_RFK_PATH; path++) {
drivers/net/wireless/realtek/rtw89/fw.c
7231
h2c_v0->tbl_18[tbl][path] =
drivers/net/wireless/realtek/rtw89/fw.c
7232
cpu_to_le32(rfk_mcc_v0->data[path].rf18[tbl]);
drivers/net/wireless/realtek/rtw89/fw.c
7233
tbl_sel = rfk_mcc_v0->data[path].table_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7234
h2c_v0->cur_18[path] =
drivers/net/wireless/realtek/rtw89/fw.c
7235
cpu_to_le32(rfk_mcc_v0->data[path].rf18[tbl_sel]);
drivers/net/wireless/realtek/rtw89/fw.c
7253
for (path = 0; path < NUM_OF_RTW89_FW_RFK_PATH; path++) {
drivers/net/wireless/realtek/rtw89/fw.c
7254
tbl = rfk_mcc[path].table_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7255
h2c_v1->cur_18[path] = cpu_to_le32(rfk_mcc->rf18[tbl]);
drivers/net/wireless/realtek/rtw89/fw.c
7257
if (path == phy_idx)
drivers/net/wireless/realtek/rtw89/phy.c
1361
u8 path;
drivers/net/wireless/realtek/rtw89/phy.c
1373
u8 path = arg.path;
drivers/net/wireless/realtek/rtw89/phy.c
1380
gain->lna_gain[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1384
gain->lna_gain[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1388
gain->tia_gain[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1413
u8 path = arg.path;
drivers/net/wireless/realtek/rtw89/phy.c
1421
gain->rpl_ofst_20[gband][path] = (s8)data;
drivers/net/wireless/realtek/rtw89/phy.c
1425
gain->rpl_ofst_40[gband][path][0] = (s8)data;
drivers/net/wireless/realtek/rtw89/phy.c
1430
gain->rpl_ofst_40[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1436
gain->rpl_ofst_80[gband][path][0] = (s8)data;
drivers/net/wireless/realtek/rtw89/phy.c
1441
gain->rpl_ofst_80[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1447
gain->rpl_ofst_80[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1453
gain->rpl_ofst_160[gband][path][0] = (s8)data;
drivers/net/wireless/realtek/rtw89/phy.c
1458
gain->rpl_ofst_160[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1464
gain->rpl_ofst_160[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1470
gain->rpl_ofst_160[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1476
gain->rpl_ofst_160[gband][path][rxsc] = ofst;
drivers/net/wireless/realtek/rtw89/phy.c
1494
u8 path = arg.path;
drivers/net/wireless/realtek/rtw89/phy.c
1501
gain->lna_gain_bypass[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1505
gain->lna_gain_bypass[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1521
u8 path = arg.path;
drivers/net/wireless/realtek/rtw89/phy.c
1528
gain->lna_op1db[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1532
gain->lna_op1db[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1536
gain->tia_lna_op1db[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1540
gain->tia_lna_op1db[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy.c
1562
if (arg.path >= chip->rf_path_num)
drivers/net/wireless/realtek/rtw89/phy.c
1976
u8 path;
drivers/net/wireless/realtek/rtw89/phy.c
1982
for (path = RF_PATH_A; path < chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/phy.c
1983
rf_table = elm_info->rf_radio[path] ?
drivers/net/wireless/realtek/rtw89/phy.c
1984
elm_info->rf_radio[path] : chip->rf_table[path];
drivers/net/wireless/realtek/rtw89/phy.c
2272
enum rtw89_rf_path path, u32 center_freq)
drivers/net/wireless/realtek/rtw89/phy.c
2292
return min(ant_gain->offset[path][subband_l],
drivers/net/wireless/realtek/rtw89/phy.c
2293
ant_gain->offset[path][subband_h]);
drivers/net/wireless/realtek/rtw89/phy.c
4505
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/phy.c
4524
path, gidx);
drivers/net/wireless/realtek/rtw89/phy.c
4529
de_1st = tssi_info->tssi_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/phy.c
4530
de_2nd = tssi_info->tssi_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/phy.c
4535
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/phy.c
4537
val = tssi_info->tssi_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/phy.c
4540
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/phy.c
4550
path, gidx);
drivers/net/wireless/realtek/rtw89/phy.c
4555
de_1st = tssi_info->tssi_6g_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/phy.c
4556
de_2nd = tssi_info->tssi_6g_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/phy.c
4561
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/phy.c
4563
val = tssi_info->tssi_6g_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/phy.c
4566
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/phy.c
4575
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/phy.c
4594
path, tgidx);
drivers/net/wireless/realtek/rtw89/phy.c
4599
tde_1st = tssi_info->tssi_trim[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/phy.c
4600
tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/phy.c
4605
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/phy.c
4607
val = tssi_info->tssi_trim[path][tgidx];
drivers/net/wireless/realtek/rtw89/phy.c
4611
path, val);
drivers/net/wireless/realtek/rtw89/phy.c
4621
path, tgidx);
drivers/net/wireless/realtek/rtw89/phy.c
4626
tde_1st = tssi_info->tssi_trim_6g[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/phy.c
4627
tde_2nd = tssi_info->tssi_trim_6g[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/phy.c
4632
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/phy.c
4634
val = tssi_info->tssi_trim_6g[path][tgidx];
drivers/net/wireless/realtek/rtw89/phy.c
4638
path, val);
drivers/net/wireless/realtek/rtw89/phy.c
4721
u8 path;
drivers/net/wireless/realtek/rtw89/phy.c
4788
for (path = RF_PATH_A; path <= RF_PATH_B; path++) {
drivers/net/wireless/realtek/rtw89/phy.c
4789
thermal = tssi_info->thermal[path];
drivers/net/wireless/realtek/rtw89/phy.c
4791
"path: %u, pg thermal: 0x%x\n", path, thermal);
drivers/net/wireless/realtek/rtw89/phy.c
4794
h2c->pg_thermal[path] = 0x38;
drivers/net/wireless/realtek/rtw89/phy.c
4795
memset(h2c->ftable[path], 0, sizeof(h2c->ftable[path]));
drivers/net/wireless/realtek/rtw89/phy.c
4799
h2c->pg_thermal[path] = thermal;
drivers/net/wireless/realtek/rtw89/phy.c
4804
thm_up[path][i++] :
drivers/net/wireless/realtek/rtw89/phy.c
4805
thm_up[path][DELTA_SWINGIDX_SIZE - 1];
drivers/net/wireless/realtek/rtw89/phy.c
4812
-thm_down[path][i++] :
drivers/net/wireless/realtek/rtw89/phy.c
4813
-thm_down[path][DELTA_SWINGIDX_SIZE - 1];
drivers/net/wireless/realtek/rtw89/phy.c
4818
h2c->ftable[path][i + 0] = thm_ofst[i + 3];
drivers/net/wireless/realtek/rtw89/phy.c
4819
h2c->ftable[path][i + 1] = thm_ofst[i + 2];
drivers/net/wireless/realtek/rtw89/phy.c
4820
h2c->ftable[path][i + 2] = thm_ofst[i + 1];
drivers/net/wireless/realtek/rtw89/phy.c
4821
h2c->ftable[path][i + 3] = thm_ofst[i + 0];
drivers/net/wireless/realtek/rtw89/phy.c
7815
rtw89_write_rf(rtwdev, def->path, def->addr, def->mask, def->data);
drivers/net/wireless/realtek/rtw89/phy.c
8084
u8 path, per20_bitmap = 0;
drivers/net/wireless/realtek/rtw89/phy.c
8106
path = u32_get_bits(tmp, B_EDCCA_RPT_B_PATH_MASK);
drivers/net/wireless/realtek/rtw89/phy.c
8177
path, flag_fb, flag_p20, flag_s20, flag_s40, flag_s80);
drivers/net/wireless/realtek/rtw89/phy.h
792
.path = _path, \
drivers/net/wireless/realtek/rtw89/phy_be.c
231
u8 path = u8_get_bits(arg.path_bw, BB_GAIN_PATH_BE);
drivers/net/wireless/realtek/rtw89/phy_be.c
239
gain->lna_gain[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
243
gain->lna_gain[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
247
gain->tia_gain[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
264
u8 path = u8_get_bits(arg.path_bw, BB_GAIN_PATH_BE);
drivers/net/wireless/realtek/rtw89/phy_be.c
271
gain->rpl_ofst_20[gband][path][0] = (s8)data;
drivers/net/wireless/realtek/rtw89/phy_be.c
275
gain->rpl_ofst_40[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
279
gain->rpl_ofst_80[gband][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
288
gain->rpl_ofst_160[gband][path][i + ofst] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
304
u8 path = u8_get_bits(arg.path_bw, BB_GAIN_PATH_BE);
drivers/net/wireless/realtek/rtw89/phy_be.c
312
gain->lna_op1db[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
316
gain->lna_op1db[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
320
gain->tia_lna_op1db[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
324
gain->tia_lna_op1db[gband][bw_type][path][i] = data & 0xff;
drivers/net/wireless/realtek/rtw89/phy_be.c
343
u8 path = u8_get_bits(arg.path_bw, BB_GAIN_PATH_BE);
drivers/net/wireless/realtek/rtw89/phy_be.c
351
if (path >= chip->rf_path_num)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1008
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1019
reg = bb_gain_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1021
reg = bb_gain_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1024
val = gain->lna_gain[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1030
reg = bb_gain_tia[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1032
reg = bb_gain_tia[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1035
val = gain->tia_gain[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1051
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1056
for (path = RF_PATH_A; path < BB_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1057
tmp = efuse_gain->comp[path][subband];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1059
rtw89_phy_write32_mask(rtwdev, gain_err_addr[path], MASKBYTE0, tmp);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1543
void rtw8851b_bb_gpio_trsw(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1550
if (path != RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
1659
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2154
void rtw8851b_set_trx_mask(struct rtw89_dev *rtwdev, u8 path, u8 group, u32 val)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2162
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, group);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2163
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2176
u8 path, path_min, path_max, str_cnt, ant_sing_pos;
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2202
for (path = path_min; path <= path_max; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2204
rtw89_write_rf(rtwdev, path, RR_WLSEL, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2207
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, BIT(17));
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2210
rtw8851b_set_trx_mask(rtwdev, path, BTC_BT_SS_GROUP, 0x5ff);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2213
rtw8851b_set_trx_mask(rtwdev, path, BTC_BT_RX_GROUP, 0x5df);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2218
if (btc->ant_type == BTC_ANT_SHARED && btc->btg_pos == path)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2219
rtw8851b_set_trx_mask(rtwdev, path, BTC_BT_TX_GROUP, 0x55f);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2221
rtw8851b_set_trx_mask(rtwdev, path, BTC_BT_TX_GROUP, 0x5ff);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2224
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2430
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2436
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2437
status->chains |= BIT(path);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2438
status->chain_signal[path] = RTW89_RSSI_RAW_TO_DBM(rx_power[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b.c
775
int path, i;
drivers/net/wireless/realtek/rtw89/rtw8851b.c
778
for (path = 0; path < BB_PATH_NUM_8851B; path++)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
780
if (comp_addrs[path][i] == 0)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
783
data = phycap_map[comp_addrs[path][i] - phycap_addr];
drivers/net/wireless/realtek/rtw89/rtw8851b.c
785
&gain->comp[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1018
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1020
rf_0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1024
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1027
"[IQK]S%x, RXAGC 0x8008 = 0x%x, rxbb = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1029
rtw89_read_rf(rtwdev, path, RR_MOD, 0x003e0));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1031
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_OFF, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1033
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1034
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1038
"[IQK]S%x, NBRXK 0x8008 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1042
path, rtw89_phy_read32_mask(rtwdev, R_NCTL_RPT, MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1048
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8), 0xf, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1049
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1051
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1053
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1065
"[IQK]S%x, kfail = 0x%x, 0x8%x3c = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1066
1 << path, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1072
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1081
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, gp = %x\n", path, gp);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1083
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM, g_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1084
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2, g_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1089
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1091
rf_0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1095
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1099
path, rtw89_phy_read32_mask(rtwdev, R_NCTL_RPT, MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1100
rtw89_read_rf(rtwdev, path, RR_MOD, 0x003e0));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1102
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_OFF, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1104
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1105
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1109
"[IQK]S%x, NBRXK 0x8008 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1113
path, rtw89_phy_read32_mask(rtwdev, R_NCTL_RPT, MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1119
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1121
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1123
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1127
"[IQK]S%x, kfail = 0x%x, 0x8%x3c = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1128
1 << path, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1132
static void _iqk_rxclk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1136
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_CKT, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1138
if (iqk_info->iqk_bw[path] == RTW89_CHANNEL_WIDTH_80) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1142
_rxck_force(rtwdev, path, true, ADC_960M);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1149
_rxck_force(rtwdev, path, true, ADC_960M);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1154
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, (2)before RXK IQK\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1155
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[07:10] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1157
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[11:14] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1159
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[26:27] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1161
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[05:08] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1163
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[17:21] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1165
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[16:31] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1167
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[04:05] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1169
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[23:31] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1171
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[13:14] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1173
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x%x[16:23] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1178
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1191
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, a_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1192
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, a_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1193
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, a_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1194
rtw89_write_rf(rtwdev, path, RR_BIASA, RR_BIASA_A, a_att_smxr[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1204
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1205
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1208
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1210
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1217
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1218
MASKDWORD, iqk_info->nb_txcfir[path] | 0x2);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1219
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1221
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1223
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1227
"[IQK]S%x, kfail = 0x%x, 0x8%x38 = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1228
1 << path, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1233
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1245
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, g_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1246
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, g_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1247
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, g_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1256
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1257
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1260
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1262
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1269
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1270
MASKDWORD, iqk_info->nb_txcfir[path] | 0x2);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1271
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1273
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1275
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1279
"[IQK]S%x, kfail = 0x%x, 0x8%x38 = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1280
1 << path, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1285
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1295
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, a_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1296
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, a_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1297
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, a_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1298
rtw89_write_rf(rtwdev, path, RR_BIASA, RR_BIASA_A, a_att_smxr[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1307
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1308
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1315
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1317
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1319
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1323
"[IQK]S%x, kfail = 0x%x, 0x8%x38 = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1324
1 << path, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1329
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1339
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, g_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1340
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, g_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1341
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, g_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1350
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1351
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1352
rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1360
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1362
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1364
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1368
"[IQK]S%x, kfail = 0x%x, 0x8%x38 = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1369
1 << path, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1374
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1398
0x00000109 | (1 << (4 + path)));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1399
fail |= _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1404
0x00000309 | (1 << (4 + path)));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1405
fail |= _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1427
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1451
0x00000109 | (1 << (4 + path)));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1452
fail |= _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1458
0x00000309 | (1 << (4 + path)));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1459
fail |= _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1480
static void _iqk_txk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1484
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1501
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
151
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1510
_iqk_txk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1511
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1512
lok_is_fail = _iqk_2g_lok(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1514
lok_is_fail = _iqk_5g_lok(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1521
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1522
iqk_info->iqk_tx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1523
_iqk_2g_nbtxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1525
iqk_info->iqk_tx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1526
_iqk_5g_nbtxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1528
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1529
iqk_info->iqk_tx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1530
_txk_2g_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1532
iqk_info->iqk_tx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1533
_txk_5g_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1536
_iqk_rxclk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1537
_iqk_rxk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1538
_adc_fifo_rst(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1541
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1542
iqk_info->iqk_rx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1543
_iqk_2g_nbrxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1545
iqk_info->iqk_rx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1546
_iqk_5g_nbrxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1548
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1549
iqk_info->iqk_rx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1550
_rxk_2g_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1552
iqk_info->iqk_rx_fail[0][path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1553
_rxk_5g_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
159
enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1617
u8 path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
162
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1623
iqk_info->iqk_band[path] = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1624
iqk_info->iqk_bw[path] = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1625
iqk_info->iqk_ch[path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1626
iqk_info->iqk_table_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1629
path, phy, str_on_off(rtwdev->dbcc_en),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1630
iqk_info->iqk_band[path] == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1631
iqk_info->iqk_band[path] == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1632
iqk_info->iqk_ch[path],
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1633
iqk_info->iqk_bw[path] == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1634
iqk_info->iqk_bw[path] == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1638
path, iqk_info->syn1to2);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
164
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1642
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1644
_iqk_by_path(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1647
static void _iqk_restore(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1655
fail = _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1667
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1672
static void _iqk_preset(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1676
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
168
enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1682
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1688
_txck_force(rtwdev, path, true, DAC_960M);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1692
_rxck_force(rtwdev, path, true, ADC_1920M);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1700
u8 idx, path;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
171
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1717
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1718
iqk_info->lok_cor_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1719
iqk_info->lok_fin_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1720
iqk_info->iqk_tx_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1721
iqk_info->iqk_rx_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1722
iqk_info->iqk_table_idx[path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1728
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
173
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1745
_iqk_get_ch_info(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1748
_rfk_backup_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1749
_iqk_macbb_setting(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1750
_iqk_preset(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1751
_iqk_start_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1752
_iqk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1753
_iqk_afebb_restore(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1755
_rfk_restore_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
176
static void _txck_force(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1768
u32 reg_bkup[][DPK_KIP_REG_NUM_8851B], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1773
reg_bkup[path][i] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1774
rtw89_phy_read32_mask(rtwdev, reg[i] + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1777
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1782
u32 rf_bkup[][DPK_RF_REG_NUM_8851B], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1787
rf_bkup[path][i] = rtw89_read_rf(rtwdev, path, rf_reg[i], RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
179
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_ON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1790
path, rf_reg[i], rf_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1795
u32 reg_bkup[][DPK_KIP_REG_NUM_8851B], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1800
rtw89_phy_write32_mask(rtwdev, reg[i] + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1801
reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1805
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1810
u32 rf_bkup[][DPK_RF_REG_NUM_8851B], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1815
rtw89_write_rf(rtwdev, path, rf_reg[i], RFREG_MASK, rf_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1818
"[DPK] Reload RF S%d 0x%x = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1819
rf_reg[i], rf_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1824
enum rtw89_rf_path path, enum dpk_id id)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1830
dpk_cmd = ((id << 8) | (0x19 + path * 0x12));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
184
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_VAL, ck);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
185
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_ON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1863
static void _dpk_onoff(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1867
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1871
val = dpk->is_dpk_enable * off_reverse * dpk->bp[path][kidx].path_ok;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1873
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1876
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s !!!\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
188
static void _rxck_force(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1880
static void _dpk_init(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1884
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1886
dpk->bp[path][kidx].path_ok = 0;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1890
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1895
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1897
dpk->bp[path][kidx].band = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1898
dpk->bp[path][kidx].ch = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1899
dpk->bp[path][kidx].bw = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1903
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1904
str_on_off(rtwdev->is_tssi_mode[path]),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1906
dpk->bp[path][kidx].band == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1907
dpk->bp[path][kidx].band == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1908
dpk->bp[path][kidx].ch,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1909
dpk->bp[path][kidx].bw == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1910
dpk->bp[path][kidx].bw == 1 ? "40M" :
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1911
dpk->bp[path][kidx].bw == 2 ? "80M" : "160M");
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1914
static void _dpk_rxagc_onoff(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1917
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1922
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d RXAGC is %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1926
static void _dpk_bb_afe_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1928
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(16 + path), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1929
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(20 + path), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1930
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(24 + path), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1931
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(28 + path), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1932
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), MASKDWORD, 0xd801dffd);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1934
_txck_force(rtwdev, path, true, DAC_960M);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1935
_rxck_force(rtwdev, path, true, ADC_1920M);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
195
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_ON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1950
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(20 + path), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1951
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(28 + path), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1953
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d BB/AFE setting\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1956
static void _dpk_bb_afe_restore(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1958
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1959
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(16 + path), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1960
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(20 + path), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1961
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(24 + path), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1962
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(28 + path), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1963
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), MASKDWORD, 0x00000000);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1964
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK + (path << 13), B_P0_TXCK_ALL, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1965
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(16 + path), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1966
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, BIT(24 + path), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1968
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d BB/AFE restore\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1971
static void _dpk_tssi_pause(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1974
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1977
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d TSSI %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1982
void _dpk_tssi_slope_k_onoff(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1985
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_SLOPE_CAL + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1988
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d TSSI slpoe_k %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
199
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_VAL, ck);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1992
static void _dpk_tpg_sel(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1996
if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1999
} else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
200
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_ON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2008
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80 ? "80M" :
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2009
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ? "40M" : "20M");
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2013
enum rtw89_rf_path path, bool force)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2015
rtw89_phy_write32_mask(rtwdev, R_TXPWRB + (path << 13), B_TXPWRB_ON, force);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2016
rtw89_phy_write32_mask(rtwdev, R_TXPWRB_H + (path << 13), B_TXPWRB_RDY, force);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2019
path, str_on_off(force));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2035
enum rtw89_rf_path path, bool ctrl_by_kip)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2037
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2042
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2045
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2046
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2049
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2050
_dpk_one_shot(rtwdev, phy, path, D_KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2054
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2056
_dpk_one_shot(rtwdev, phy, path, D_KIP_RESTORE);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2057
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2058
_dpk_txpwr_bb_force(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2060
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d restore KIP\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2063
static void _dpk_kset_query(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2067
rtw89_phy_write32_mask(rtwdev, R_KIP_RPT + (path << 8), B_KIP_RPT_SEL, 0x10);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2070
rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), B_RPT_PER_KSET) - 1;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2073
static void _dpk_para_query(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2088
para = rtw89_phy_read32_mask(rtwdev, reg[kidx][cur_k_set] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2091
dpk->bp[path][kidx].txagc_dpk = (para >> 10) & 0x3f;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2092
dpk->bp[path][kidx].ther_dpk = (para >> 26) & 0x3f;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2096
dpk->cur_k_set, dpk->bp[path][kidx].ther_dpk,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2097
dpk->bp[path][kidx].txagc_dpk);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2100
static bool _dpk_sync_check(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2111
dpk->corr_idx[path][kidx] = corr_idx;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2112
dpk->corr_val[path][kidx] = corr_val;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
212
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_CTL, data[0]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2124
path, corr_idx, corr_val, dc_i, dc_q);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2126
dpk->dc_i[path][kidx] = dc_i;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2127
dpk->dc_q[path][kidx] = dc_q;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
213
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_EN, data[1]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2137
path, rxbb,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
214
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_BW0, data[2]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2148
enum rtw89_rf_path path, u8 dbm,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
215
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW1 | (path << 8), B_P0_CFCH_BW1, data[3]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2155
"[DPK] set S%d txagc to %ddBm\n", path, dbm);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2156
rtw89_phy_write32_mask(rtwdev, R_TXPWRB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
216
rtw89_phy_write32_mask(rtwdev, R_DRCK | (path << 8), B_DRCK_MUL, data[4]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2160
_dpk_one_shot(rtwdev, phy, path, D_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2161
_dpk_kset_query(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2165
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2167
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2169
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
217
rtw89_phy_write32_mask(rtwdev, R_ADCMOD | (path << 8), B_ADCMOD_LP, data[5]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2170
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2172
_dpk_one_shot(rtwdev, phy, path, D_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2173
return _dpk_sync_check(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2177
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
218
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 8), B_P0_RXCK_ADJ, data[6]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2182
rtw89_phy_write32_mask(rtwdev, R_DPD_V1 + (path << 8), B_DPD_LBK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2185
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2187
cur_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_RXB);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2188
rf_11 = rtw89_read_rf(rtwdev, path, RR_TXIG, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2189
reg_81cc = rtw89_phy_read32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2192
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2193
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2194
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2195
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RXB, 0x1f);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2197
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2198
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_SW, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2200
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2204
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2206
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d LBK RXIQC = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2207
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2209
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2211
rtw89_write_rf(rtwdev, path, RR_TXIG, RFREG_MASK, rf_11);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2212
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RXB, cur_rxbb);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2213
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_SW, reg_81cc);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2217
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_DI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2219
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2222
static void _dpk_rf_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2226
if (dpk->bp[path][kidx].band == RTW89_BAND_2G) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2227
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK, 0x50521);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2228
rtw89_write_rf(rtwdev, path, RR_MOD_V1, RR_MOD_MASK, RF_DPK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2229
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_ATTC, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2230
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_ATTR, 0x7);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2232
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2234
rtw89_write_rf(rtwdev, path, RR_MOD_V1, RR_MOD_MASK, RF_DPK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2235
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RAA2_SATT, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2238
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_BW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2239
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_TXBB, dpk->bp[path][kidx].bw + 1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
224
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2240
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_RXBB, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2241
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_EBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2244
static void _dpk_bypass_rxiqc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2246
rtw89_phy_write32_mask(rtwdev, R_DPD_V1 + (path << 8), B_DPD_LBK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2247
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD, 0x40000002);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
227
for (path = 0; path < RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2278
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
228
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2280
_dpk_one_shot(rtwdev, phy, path, D_GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2281
_dpk_kip_set_txagc(rtwdev, phy, path, 0xff, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2283
rtw89_phy_write32_mask(rtwdev, R_DPK_GL + (path << 8), B_DPK_GL_A1, 0xf078);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2284
rtw89_phy_write32_mask(rtwdev, R_DPK_GL + (path << 8), B_DPK_GL_A0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
233
rtwdev, path, 0x00, RR_MOD_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2336
enum rtw89_rf_path path, u8 kidx, u8 init_xdbm, u8 loss_only)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2350
is_fail = _dpk_kip_set_rxagc(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
236
path, ret);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2360
_dpk_one_shot(rtwdev, phy, path, D_SYNC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2365
if (dpk->bp[path][kidx].band == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2366
_dpk_bypass_rxiqc(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2368
_dpk_lbk_rxiqk(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2374
tmp_gl_idx = _dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2394
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
240
static void _dack_reset(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2407
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2414
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2415
tmp_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_RXB);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2418
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RXB, tmp_rxbb);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2423
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2475
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2487
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2518
enum rtw89_rf_path path, u8 kidx, bool is_execute)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2533
rtw89_phy_write32_mask(rtwdev, R_DPK_GN + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2535
rtw89_phy_write32_mask(rtwdev, R_DPK_GN + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2538
_dpk_one_shot(rtwdev, phy, path, D_GAIN_NORM);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2540
rtw89_phy_write32_mask(rtwdev, reg[kidx][cur_k_set] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2544
dpk->bp[path][kidx].gs =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2545
rtw89_phy_read32_mask(rtwdev, reg[kidx][cur_k_set] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2550
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2554
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2555
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2556
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2559
dpk->bp[path][kidx].path_ok =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2560
dpk->bp[path][kidx].path_ok | BIT(dpk->cur_k_set);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2563
path, kidx, dpk->bp[path][kidx].path_ok);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2565
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2566
B_DPD_MEN, dpk->bp[path][kidx].path_ok);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2568
_dpk_gain_normalize(rtwdev, phy, path, kidx, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2572
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2575
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2579
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2580
_rfk_rf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2581
rtw89_write_rf(rtwdev, path, RR_BBDC, RFREG_MASK, 0x03ffd);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2583
_dpk_rf_setting(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2584
_set_rx_dck(rtwdev, path, RF_DPK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2587
_dpk_kip_preset(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2588
_dpk_txpwr_bb_force(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2589
_dpk_kip_set_txagc(rtwdev, phy, path, init_xdbm, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2590
_dpk_tpg_sel(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2591
is_fail = _dpk_agc(rtwdev, phy, path, kidx, init_xdbm, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2595
_dpk_idl_mpa(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2596
_dpk_para_query(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2598
_dpk_on(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2600
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2601
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RF_RX);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2603
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d]_K%d %s\n", path, kidx,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2617
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2619
for (path = 0; path < RF_PATH_NUM_8851B; path++)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2620
dpk->cur_idx[path] = 0;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2622
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2623
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2625
_dpk_bkup_kip(rtwdev, dpk_kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2626
_dpk_bkup_rf(rtwdev, dpk_rf_reg, rf_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2627
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2628
_dpk_init(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2630
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2631
_dpk_tssi_pause(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2634
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2635
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2640
path, dpk->cur_idx[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2642
_dpk_tssi_slope_k_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2643
_dpk_rxagc_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2644
_rfk_drf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2645
_dpk_bb_afe_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2647
is_fail = _dpk_main(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2648
_dpk_onoff(rtwdev, path, is_fail);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2651
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2652
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2655
_dpk_kip_restore(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2656
_dpk_reload_kip(rtwdev, dpk_kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2657
_dpk_reload_rf(rtwdev, dpk_rf_reg, rf_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2658
_dpk_bb_afe_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2659
_dpk_rxagc_onoff(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2660
_dpk_tssi_slope_k_onoff(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2661
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2662
_dpk_tssi_pause(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2684
u8 path, kidx;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2688
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2689
kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2693
path, kidx, dpk->bp[path][kidx].ch);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2695
txagc_rf = rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2697
txagc_bb = rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2699
txagc_bb_tp = rtw89_phy_read32_mask(rtwdev, R_TXAGC_BTP + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2702
rtw89_phy_write32_mask(rtwdev, R_KIP_RPT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2704
cur_ther = rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2706
txagc_ofst = rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2708
pwsf_tssi_ofst = rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2712
delta_ther = cur_ther - dpk->bp[path][kidx].ther_dpk;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2718
delta_ther, cur_ther, dpk->bp[path][kidx].ther_dpk);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2722
txagc_rf - dpk->bp[path][kidx].txagc_dpk,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2723
txagc_rf, dpk->bp[path][kidx].txagc_dpk);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2739
R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2745
static void _rck(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2752
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RCK] ====== S%d RCK ======\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2754
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2756
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2757
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2760
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2763
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, 0x00240);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2766
false, rtwdev, path, RR_RCKS, BIT(3));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2768
rck_val = rtw89_read_rf(rtwdev, path, RR_RCKC, RR_RCKC_CA);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2773
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, rck_val);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2774
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2777
rtw89_read_rf(rtwdev, path, RR_RCKC, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2781
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2794
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2801
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2807
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2813
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2856
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2911
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2917
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2927
enum rtw89_rf_path path, bool all,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2938
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2944
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2951
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3105
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3117
"[TSSI][TRIM]: path=%d mcs group_idx=0x%x\n", path, gidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3122
de_1st = tssi_info->tssi_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3123
de_2nd = tssi_info->tssi_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3128
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3130
val = tssi_info->tssi_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3133
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3140
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3153
path, tgidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3158
tde_1st = tssi_info->tssi_trim[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3159
tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3164
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3166
val = tssi_info->tssi_trim[path][tgidx];
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3170
path, val);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
323
enum rtw89_rf_path path, u8 index)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3231
static void _tssi_alimentk_dump_result(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3236
R_TSSI_PA_K1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3237
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K1 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3238
R_TSSI_PA_K2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3239
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K2 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3240
R_P0_TSSI_ALIM1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3241
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3242
R_P0_TSSI_ALIM3 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3243
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3244
R_TSSI_PA_K5 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3245
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K5 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3246
R_P0_TSSI_ALIM2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3247
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3248
R_P0_TSSI_ALIM4 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3249
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3250
R_TSSI_PA_K8 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3251
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K8 + (path << 13), MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3255
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3263
"======>%s phy=%d path=%d\n", __func__, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3276
if (tssi_info->alignment_done[path][band]) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3277
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3278
tssi_info->alignment_value[path][band][0]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3279
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3280
tssi_info->alignment_value[path][band][1]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3281
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3282
tssi_info->alignment_value[path][band][2]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3283
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3284
tssi_info->alignment_value[path][band][3]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3287
_tssi_alimentk_dump_result(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
336
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
349
tmp |= dack->msbk_d[path][index][i + 12] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3565
static void _bw_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3573
rf_reg18 = rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3576
"[RFK]Invalid RF_0x18 for Path-%d\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
358
tmp |= dack->msbk_d[path][index][i + 8] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3600
rtw89_write_rf(rtwdev, path, reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3603
bw, path, reg18_addr,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3604
rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
367
tmp |= dack->msbk_d[path][index][i + 4] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3691
static void _ch_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3700
rf_reg18 = rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3713
if (path == RF_PATH_A && dav)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3716
rtw89_write_rf(rtwdev, path, reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3718
rtw89_write_rf(rtwdev, path, RR_LCKST, RR_LCKST_BIN, 0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3719
rtw89_write_rf(rtwdev, path, RR_LCKST, RR_LCKST_BIN, 1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3723
central_ch, path, reg18_addr,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3724
rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3734
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3736
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3737
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M2, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3740
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x1b);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3742
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3744
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0xb);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3746
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3748
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RFK] set S%d RXBB BW 0x3F = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3749
rtw89_read_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3751
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3757
u8 kpath, path;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
376
tmp |= dack->msbk_d[path][index][i] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3761
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3762
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3765
_set_rxbb_bw(rtwdev, bw, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
384
tmp = (dack->biask_d[path][index] << 22) |
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
385
(dack->dadck_d[path][index] << 14);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
394
static void _dack_reload(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
399
_dack_reload_by_path(rtwdev, path, index);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
579
enum rtw89_rf_path path, bool is_afe,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
585
"[RX_DCK] ==== S%d RX DCK (%s / CH%d / %s / by %s)====\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
594
static void _rxbb_ofst_swap(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 rf_mode)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
598
val_i = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_S1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
599
val_q = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_S1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
603
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_DIS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
604
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, rf_mode);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
605
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
606
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_DIS, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
613
static void _set_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 rf_mode)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
618
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
619
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
623
rtwdev, path, RR_DCK, BIT(8));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
625
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
628
path, ret);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
630
_rxbb_ofst_swap(rtwdev, path, rf_mode);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
637
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
643
for (path = 0; path < RF_PATH_NUM_8851B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
644
_rx_dck_info(rtwdev, phy, path, is_afe, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
646
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
648
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
650
R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
653
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
654
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RF_RX);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
655
_set_rx_dck(rtwdev, path, RF_RX);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
656
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
658
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
660
R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
665
static void _iqk_sram(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
695
static void _iqk_rxk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
697
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
698
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
699
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
702
static bool _iqk_check_cal(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
733
path, ret, fail1 || fail2, fail1, fail2);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
739
u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
748
"[IQK]============ S%d ID_A_FLOK_COARSE ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
750
iqk_cmd = 0x108 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
754
"[IQK]============ S%d ID_G_FLOK_COARSE ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
756
iqk_cmd = 0x108 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
760
"[IQK]============ S%d ID_A_FLOK_FINE ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
762
iqk_cmd = 0x308 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
766
"[IQK]============ S%d ID_G_FLOK_FINE ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
768
iqk_cmd = 0x308 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
772
"[IQK]============ S%d ID_TXK ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
774
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
775
(((0x8 + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
779
"[IQK]============ S%d ID_RXAGC ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
781
iqk_cmd = 0x708 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
785
"[IQK]============ S%d ID_RXK ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
787
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
788
(((0xc + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
792
"[IQK]============ S%d ID_NBTXK ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
796
iqk_cmd = 0x408 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
800
"[IQK]============ S%d ID_NBRXK ============\n", path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
804
iqk_cmd = 0x608 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
811
notready = _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
814
_iqk_sram(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
819
path, ktype, iqk_cmd + 1, notready);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
825
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
836
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, gp = %x\n", path, gp);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
838
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM, g_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
839
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2, g_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
844
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
846
rf_0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
851
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
854
"[IQK]S%x, RXAGC 0x8008 = 0x%x, rxbb = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
856
rtw89_read_rf(rtwdev, path, RR_MOD, 0x003e0));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
858
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_OFF, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
860
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
861
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
864
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
867
"[IQK]S%x, WBRXK 0x8008 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
875
_iqk_sram(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
878
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
879
MASKDWORD, iqk_info->nb_rxcfir[path] | 0x2);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
880
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
882
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
884
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
888
"[IQK]S%x, kfail = 0x%x, 0x8%x3c = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
889
1 << path, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
894
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
916
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, gp = %x\n", path, gp);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
926
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
928
rf_0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
932
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
935
"[IQK]S%x, RXAGC 0x8008 = 0x%x, rxbb = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
937
rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_RXB));
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
939
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_OFF, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
941
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
942
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
946
"[IQK]S%x, NBRXK 0x8008 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
949
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
952
"[IQK]S%x, WBRXK 0x8008 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
960
_iqk_sram(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
964
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
965
iqk_info->nb_rxcfir[path] | 0x2);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
966
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
968
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
970
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
982
"[IQK]S%x, kfail = 0x%x, 0x8%x3c = 0x%x\n", path, kfail,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
983
1 << path, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
988
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
998
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, gp = %x\n", path, gp);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1054
static void rtw8852a_bw_setting(struct rtw89_dev *rtwdev, u8 bw, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1060
val = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1062
rtw89_warn(rtwdev, "Invalid RF_0x18 for Path-%d\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1068
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1069
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1073
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1074
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1078
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1079
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1083
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1084
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1088
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1089
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1096
rtw89_write_rf(rtwdev, path, RR_CFGCH, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1341
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1347
rtw89_phy_write32_mask(rtwdev, ctrl_bbrst[path], BIT(30), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1348
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], BIT(30), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1350
rtw89_phy_write32_mask(rtwdev, ctrl_bbrst[path], BIT(30), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1351
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], BIT(30), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1835
void rtw8852a_set_trx_mask(struct rtw89_dev *rtwdev, u8 path, u8 group, u32 val)
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1837
rtw89_write_rf(rtwdev, path, RR_LUTWE, 0xfffff, 0x20000);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1838
rtw89_write_rf(rtwdev, path, RR_LUTWA, 0xfffff, group);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1839
rtw89_write_rf(rtwdev, path, RR_LUTWD0, 0xfffff, val);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1840
rtw89_write_rf(rtwdev, path, RR_LUTWE, 0xfffff, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
2161
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852a.c
2174
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a.c
2175
status->chains |= BIT(path);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
2176
status->chain_signal[path] = RTW89_RSSI_RAW_TO_DBM(rx_power[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
909
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a.c
913
val = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
915
rtw89_warn(rtwdev, "Invalid RF_0x18 for Path-%d\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852a.c
922
rtw89_write_rf(rtwdev, path, RR_CFGCH, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1000
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1002
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1003
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1006
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1007
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1008
rtw89_write_rf(rtwdev, path, RR_WLSEL, RR_WLSEL_AG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1014
tmp = rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1015
iqk_info->nb_rxcfir[path] = tmp | 0x2;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1017
iqk_info->nb_rxcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1022
static void _iqk_rxclk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1026
if (iqk_info->iqk_bw[path] == RTW89_CHANNEL_WIDTH_80) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1028
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
103
2, 5000, false, rtwdev, path, 0x00,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1030
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1032
rtw89_phy_write32_set(rtwdev, R_P0_RXCK + (path << 13), B_P0_RXCK_ON);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1036
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1038
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1040
rtw89_phy_write32_set(rtwdev, R_P0_RXCK + (path << 13), B_P0_RXCK_ON);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1047
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1061
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1063
rtw89_phy_write32_mask(rtwdev, R_RFGAIN_BND + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1065
rtw89_write_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_ALL,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1067
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT1,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1069
rtw89_write_rf(rtwdev, path, RR_TXG2, RR_TXG2_ATT0,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
107
path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1071
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1075
rtw89_phy_write32_mask(rtwdev, R_RFGAIN_BND + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1077
rtw89_write_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_ALL,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1079
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1085
rtw89_phy_write32_clr(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_TXCFIR);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1086
rtw89_phy_write32_set(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1087
rtw89_phy_write32_set(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1088
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1091
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1092
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(8 + gp + path * 4), fail);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1095
iqk_info->nb_txcfir[path] = 0x40000000;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1096
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1098
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1099
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1100
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x8%lx38 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1101
BIT(path), tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1106
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1118
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1120
rtw89_phy_write32_mask(rtwdev, R_RFGAIN_BND + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1122
rtw89_write_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_ALL, g_mode_txgain);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1123
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT1, attsmxr);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1124
rtw89_write_rf(rtwdev, path, RR_TXG2, RR_TXG2_ATT0, attsmxr);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1127
rtw89_phy_write32_mask(rtwdev, R_RFGAIN_BND + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1129
rtw89_write_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_ALL, a_mode_txgain);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1134
rtw89_phy_write32_clr(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_TXCFIR);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1135
rtw89_phy_write32_set(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1136
rtw89_phy_write32_set(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1137
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP, group);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1138
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, itqt);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1140
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1142
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1143
iqk_info->nb_txcfir[path] = tmp | 0x2;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1145
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1147
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1148
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x8%lx38 = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1149
BIT(path), tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1153
static void _lok_res_table(struct rtw89_dev *rtwdev, u8 path, u8 ibias)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1157
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, ibias = %x\n", path, ibias);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1158
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1159
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1160
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1162
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1163
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, ibias);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1164
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1167
static bool _lok_finetune_check(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1174
tmp = rtw89_read_rf(rtwdev, path, RR_TXMO, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1176
path, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1179
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, i = 0x%x\n", path, core_i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1180
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, q = 0x%x\n", path, core_q);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1188
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1197
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1199
rtw89_write_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_ALL, 0xe5e0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1203
rtw89_write_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_ALL, 0xe4e0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1210
rf0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1213
rtw89_phy_write32_clr(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_TXCFIR);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1214
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1215
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1216
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1219
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, itqt);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1220
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_COARSE, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1221
iqk_info->lok_cor_fail[0][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1223
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, itqt);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1224
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_FINE, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1225
iqk_info->lok_fin_fail[0][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1226
fail = _lok_finetune_check(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1230
static void _iqk_txk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1234
rtw89_phy_write32_set(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1244
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1246
rtw89_write_rf(rtwdev, path, RR_XALNA2, RR_XALNA2_SW, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1247
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_POW, 0x3f);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1248
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1249
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT1, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1250
rtw89_write_rf(rtwdev, path, RR_TXG2, RR_TXG2_ATT0, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1251
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1252
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1253
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1254
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_MASK, 0x000);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1255
rtw89_write_rf(rtwdev, path, RR_RSV2, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1256
rtw89_write_rf(rtwdev, path, RR_DTXLOK, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1257
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1262
rtw89_write_rf(rtwdev, path, RR_XGLNA2, RR_XGLNA2_SW, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1263
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_POW, 0x3f);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1264
rtw89_write_rf(rtwdev, path, RR_BIASA, RR_BIASA_A, 0x7);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1265
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1266
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1267
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1268
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_MASK, 0x100);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1269
rtw89_write_rf(rtwdev, path, RR_RSV2, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1270
rtw89_write_rf(rtwdev, path, RR_DTXLOK, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1271
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1272
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1273
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1282
static void _iqk_txclk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1284
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), MASKDWORD, 0xce000a08);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1288
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1294
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_thermal = %lu\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1295
ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1296
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_LOK_COR_fail= %d\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1297
iqk_info->lok_cor_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1298
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_LOK_FIN_fail= %d\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1299
iqk_info->lok_fin_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1300
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_TXIQK_fail = %d\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1301
iqk_info->iqk_tx_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1302
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_RXIQK_fail= %d,\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1303
iqk_info->iqk_rx_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1304
flag = iqk_info->lok_cor_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1305
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(0) << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1306
flag = iqk_info->lok_fin_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1307
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(1) << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1308
flag = iqk_info->iqk_tx_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1309
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(2) << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1310
flag = iqk_info->iqk_rx_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1311
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(3) << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1313
tmp = rtw89_phy_read32_mask(rtwdev, R_IQK_RES + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1314
iqk_info->bp_iqkenable[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1315
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1316
iqk_info->bp_txkresult[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1317
tmp = rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1318
iqk_info->bp_rxkresult[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1323
tmp = rtw89_phy_read32_mask(rtwdev, R_IQKINF, 0x0000000f << (path * 4));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1326
rtw89_phy_write32_mask(rtwdev, R_IQKINF2, 0x00ff0000 << (path * 4),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1331
void _iqk_by_path(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1339
_iqk_txclk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1342
_lok_res_table(rtwdev, path, ibias++);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1343
_iqk_txk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1344
lok_is_fail = _iqk_lok(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1349
iqk_info->iqk_tx_fail[0][path] = _iqk_nbtxk(rtwdev, phy_idx, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1352
iqk_info->iqk_tx_fail[0][path] = _txk_group_sel(rtwdev, phy_idx, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1355
_iqk_rxclk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1356
_iqk_rxk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1357
if (iqk_info->is_nbiqk || rtwdev->dbcc_en || iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1358
iqk_info->iqk_rx_fail[0][path] = _iqk_nbrxk(rtwdev, phy_idx, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1361
iqk_info->iqk_rx_fail[0][path] = _rxk_group_sel(rtwdev, phy_idx, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1364
_iqk_info_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1368
enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1379
if (iqk_info->iqk_mcc_ch[idx][path] == 0) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1385
idx = iqk_info->iqk_table_idx[path] + 1;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1389
reg_rf18 = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1393
iqk_info->iqk_band[path] = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1394
iqk_info->iqk_bw[path] = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1395
iqk_info->iqk_ch[path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1398
"[IQK]iqk_info->iqk_band[%x] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1399
iqk_info->iqk_band[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1401
path, iqk_info->iqk_bw[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1403
path, iqk_info->iqk_ch[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1405
"[IQK]S%d (PHY%d): / DBCC %s/ %s/ CH%d/ %s\n", path, phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1407
iqk_info->iqk_band[path] == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1408
iqk_info->iqk_band[path] == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1409
iqk_info->iqk_ch[path],
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1410
iqk_info->iqk_bw[path] == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1411
iqk_info->iqk_bw[path] == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1418
rtw89_phy_write32_mask(rtwdev, R_IQKCH, 0x000f << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1419
(u8)iqk_info->iqk_band[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1420
rtw89_phy_write32_mask(rtwdev, R_IQKCH, 0x00f0 << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1421
(u8)iqk_info->iqk_bw[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1422
rtw89_phy_write32_mask(rtwdev, R_IQKCH, 0xff00 << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1423
(u8)iqk_info->iqk_ch[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1429
u8 path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1431
_iqk_by_path(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1434
static void _iqk_restore(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1438
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1439
iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1440
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1441
iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1447
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), MASKDWORD, 0x10010000);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1448
rtw89_phy_write32_clr(rtwdev, R_KIP + (path << 8), B_KIP_RFGAIN);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1449
rtw89_phy_write32_mask(rtwdev, R_CFIR_MAP + (path << 8), MASKDWORD, 0xe4e4e4e4);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1450
rtw89_phy_write32_clr(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1451
rtw89_phy_write32_clr(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1452
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), MASKDWORD, 0x00000002);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1453
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1454
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1455
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1456
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1457
rtw89_write_rf(rtwdev, path, RR_TXRSV, RR_TXRSV_GAPK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1458
rtw89_write_rf(rtwdev, path, RR_BIAS, RR_BIAS_GAPK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1459
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1463
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1482
static void _iqk_preset(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1485
u8 idx = iqk_info->iqk_table_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1488
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1489
B_COEF_SEL_IQC, path & 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1490
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1491
B_CFIR_LUT_G2, path & 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1493
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1495
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1498
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1504
rtw89_phy_write32_clr(rtwdev, R_LOAD_COEF + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1508
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1529
static void _iqk_dbcc(struct rtw89_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1537
if (path == 0x0)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1542
_iqk_get_ch_info(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1543
_iqk_macbb_setting(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1544
_iqk_preset(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1545
_iqk_start_iqk(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1546
_iqk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1547
_iqk_afebb_restore(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1550
static void _rck(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1556
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RCK] ====== S%d RCK ======\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1558
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1560
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1561
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1564
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1567
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, 0x00240);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1570
false, rtwdev, path, 0x1c, BIT(3));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1574
rck_val = rtw89_read_rf(rtwdev, path, RR_RCKC, RR_RCKC_CA);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1575
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, rck_val);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1578
rtw89_write_rf(rtwdev, path, RR_RCKO, RR_RCKO_OFF, 0x4);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1580
rtw89_write_rf(rtwdev, path, RR_RFC, RR_RFC_CKEN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1581
rtw89_write_rf(rtwdev, path, RR_RFC, RR_RFC_CKEN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1583
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1587
rtw89_read_rf(rtwdev, path, RR_RCKC, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1588
rtw89_read_rf(rtwdev, path, RR_RCKS, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1589
rtw89_read_rf(rtwdev, path, RR_RCKO, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1595
u8 ch, path;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1612
for (path = 0; path < RTW8852A_IQK_SS; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1613
iqk_info->lok_cor_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1614
iqk_info->lok_fin_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1615
iqk_info->iqk_tx_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1616
iqk_info->iqk_rx_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1617
iqk_info->iqk_mcc_ch[ch][path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1618
iqk_info->iqk_table_idx[path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1624
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1640
_iqk_get_ch_info(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1642
_rfk_backup_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1643
_iqk_macbb_setting(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1644
_iqk_preset(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1645
_iqk_start_iqk(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1646
_iqk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1647
_iqk_afebb_restore(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1649
_rfk_restore_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1675
enum rtw89_rf_path path, bool is_afe,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1678
u8 phy_map = rtw89_btc_path_phymap(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1683
path, is_afe ? "AFE" : "RFC");
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1685
ori_val = rtw89_phy_read32_mask(rtwdev, R_P0_RXCK + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1688
rtw89_phy_write32_set(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1689
rtw89_phy_write32_set(rtwdev, R_P0_RXCK + (path << 13), B_P0_RXCK_ON);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1690
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1692
rtw89_phy_write32_set(rtwdev, R_S0_RXDC2 + (path << 13), B_S0_RXDC2_MEN);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1693
rtw89_phy_write32_mask(rtwdev, R_S0_RXDC2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1702
rtw89_write_rf(rtwdev, path, RR_DCK2, RR_DCK2_CYCLE, 0x3f);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1703
rtw89_write_rf(rtwdev, path, RR_DCK1, RR_DCK1_SEL, is_afe);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1707
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1708
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1714
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1717
rtw89_phy_write32_clr(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1718
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1726
u8 path, kpath, dck_tune;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1736
for (path = 0; path < 2; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1737
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1740
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1741
dck_tune = (u8)rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_FINE);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1743
if (rtwdev->is_tssi_mode[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1744
addr = 0x5818 + (path << 13);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1749
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1750
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1751
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1752
_set_rx_dck(rtwdev, phy, path, is_afe, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1753
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, dck_tune);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1754
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1756
if (rtwdev->is_tssi_mode[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1757
addr = 0x5818 + (path << 13);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1780
enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1783
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1785
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1789
enum rtw89_rf_path path, bool off);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1793
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1798
reg_bkup[path][i] = rtw89_phy_read32_mask(rtwdev,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1799
reg[i] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1802
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1807
u32 reg_bkup[][RTW8852A_DPK_KIP_REG_NUM], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1812
rtw89_phy_write32_mask(rtwdev, reg[i] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1813
MASKDWORD, reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1815
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1820
enum rtw89_rf_path path, enum rtw8852a_dpk_id id,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1823
u8 phy_map = rtw89_btc_path_phymap(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1828
dpk_cmd = (u16)((id << 8) | (0x19 + (path << 4)));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1862
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1865
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_EN_TIA_IDA, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1866
_set_rx_dck(rtwdev, phy, path, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1871
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1875
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1877
dpk->bp[path][kidx].band = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1878
dpk->bp[path][kidx].ch = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1879
dpk->bp[path][kidx].bw = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1883
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1884
str_on_off(rtwdev->is_tssi_mode[path]),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1886
dpk->bp[path][kidx].band == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1887
dpk->bp[path][kidx].band == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1888
dpk->bp[path][kidx].ch,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1889
dpk->bp[path][kidx].bw == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1890
dpk->bp[path][kidx].bw == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1895
enum rtw89_rf_path path, u8 kpath)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1926
enum rtw89_rf_path path, u8 kpath)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1946
enum rtw89_rf_path path, bool is_pause)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1948
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1951
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d TSSI %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1956
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1961
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), MASKDWORD, 0xce000a08);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1963
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, B_NCTL_CFG_SPAGE, path); /*subpage_id*/
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1964
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0 + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1966
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1970
path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1974
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1978
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), MASKDWORD, 0x10010000);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1982
rtw89_phy_write32_mask(rtwdev, R_DPD_COM + (path << 8), BIT(15), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1984
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d restore KIP\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1989
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1994
cur_rxbb = (u8)rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1998
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1999
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_PLLEN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2000
rtw89_write_rf(rtwdev, path, RR_RXPOW, RR_RXPOW_IQK, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2001
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2002
rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2003
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_OFF, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2004
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2005
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2009
rtw89_write_rf(rtwdev, path, RR_RXIQGEN, RR_RXIQGEN_ATTL, 0x1f);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2012
rtw89_write_rf(rtwdev, path, RR_RXIQGEN, RR_RXIQGEN_ATTH, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2014
rtw89_write_rf(rtwdev, path, RR_RXIQGEN, RR_RXIQGEN_ATTH, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2016
rtw89_write_rf(rtwdev, path, RR_RXIQGEN, RR_RXIQGEN_ATTH, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2020
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2022
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d LBK RXIQC = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2025
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_PLLEN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2026
rtw89_write_rf(rtwdev, path, RR_RXPOW, RR_RXPOW_IQK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2027
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0); /*POW IQKPLL*/
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2028
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_DPK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2034
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2038
dpk->bp[path][kidx].ther_dpk =
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2039
ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2042
dpk->bp[path][kidx].ther_dpk);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2046
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2050
rtw89_write_rf(rtwdev, path, RR_MODOPT, RFREG_MASK, txagc_ori);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2056
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2060
if (dpk->bp[path][kidx].band == RTW89_BAND_2G) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2061
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DPK, 0x280b);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2062
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_ATTC, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2063
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_ATTR, 0x4);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2064
rtw89_write_rf(rtwdev, path, RR_MIXER, RR_MIXER_GN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2066
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DPK, 0x282e);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2067
rtw89_write_rf(rtwdev, path, RR_BIASA2, RR_BIASA2_LB, 0x7);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2068
rtw89_write_rf(rtwdev, path, RR_TXATANK, RR_TXATANK_LBSW, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2069
rtw89_write_rf(rtwdev, path, RR_RXA, RR_RXA_DPK, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2071
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_BW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2072
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_TXBB, dpk->bp[path][kidx].bw + 1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2073
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_RXBB, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2077
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2078
rtw89_read_rf(rtwdev, path, RR_MODOPT, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2079
rtw89_read_rf(rtwdev, path, RR_BTC, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2083
enum rtw89_rf_path path, bool is_manual)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2088
rtw89_phy_write32_mask(rtwdev, R_KIP + (path << 8), B_KIP_RFGAIN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2089
tmp_pad = (u8)rtw89_read_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_PAD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2090
rtw89_phy_write32_mask(rtwdev, R_RFGAIN + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2093
tmp_txbb = (u8)rtw89_read_rf(rtwdev, path, RR_GAINTX, RR_GAINTX_BB);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2094
rtw89_phy_write32_mask(rtwdev, R_RFGAIN + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2097
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2099
rtw89_phy_write32_clr(rtwdev, R_LOAD_COEF + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2102
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), BIT(1), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2108
rtw89_phy_write32_clr(rtwdev, R_KIP + (path << 8), B_KIP_RFGAIN);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2115
enum rtw89_rf_path path, bool is_bypass)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2118
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2120
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2123
"[DPK] Bypass RXIQC (0x8%d3c = 0x%x)\n", 1 + path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2124
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2127
rtw89_phy_write32_clr(rtwdev, R_RXIQC + (path << 8), B_RXIQC_BYPASS2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2128
rtw89_phy_write32_clr(rtwdev, R_RXIQC + (path << 8), B_RXIQC_BYPASS);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2130
"[DPK] restore 0x8%d3c = 0x%x\n", 1 + path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2131
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2137
void _dpk_tpg_sel(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2141
if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2143
else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2149
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80 ? "80M" :
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2150
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ? "40M" : "20M");
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2154
enum rtw89_rf_path path, u8 kidx, u8 gain)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2159
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0 + (path << 8), MASKBYTE3, val);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2166
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2181
"[DPK] S%d Corr_idx / Corr_val = %d / %d\n", path, corr_idx,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2184
dpk->corr_idx[path][0] = corr_idx;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2185
dpk->corr_val[path][0] = corr_val;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2196
path, dc_i, dc_q);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2198
dpk->dc_i[path][0] = dc_i;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2199
dpk->dc_q[path][0] = dc_q;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2209
enum rtw89_rf_path path, u8 kidx,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2212
_dpk_tpg_sel(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2213
_dpk_one_shot(rtwdev, phy, path, SYNC, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2214
return _dpk_sync_check(rtwdev, path); /*1= fail*/
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2265
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2268
_dpk_table_select(rtwdev, path, kidx, 1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2269
_dpk_one_shot(rtwdev, phy, path, GAIN_LOSS, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2277
enum rtw89_rf_path path, s8 gain_offset)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2281
txagc = (u8)rtw89_read_rf(rtwdev, path, RR_MODOPT, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2290
rtw89_write_rf(rtwdev, path, RR_MODOPT, RFREG_MASK, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2345
enum rtw89_rf_path path, u8 kidx, u8 init_txagc,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2368
if (_dpk_sync(rtwdev, phy, path, kidx, chanctx_idx)) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2383
tmp_rxbb = (u8)rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2396
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB, tmp_rxbb);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2402
_dpk_bypass_rxcfir(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2404
_dpk_lbk_rxiqk(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2416
_dpk_gainloss(rtwdev, phy, path, kidx, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2434
tmp_txagc = _dpk_set_offset(rtwdev, path, 3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2446
tmp_txagc = _dpk_set_offset(rtwdev, path, -2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2453
tmp_txagc = _dpk_set_offset(rtwdev, path, tmp_gl_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2500
enum rtw89_rf_path path, u8 kidx, u8 gain,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2504
_dpk_table_select(rtwdev, path, kidx, 1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2505
_dpk_one_shot(rtwdev, phy, path, MDPK_IDL, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2509
enum rtw89_rf_path path, u8 kidx, u8 gain,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2517
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8), B_COEF_SEL_MDPD, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2523
dpk->bp[path][kidx].txagc_dpk = txagc;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2524
rtw89_phy_write32_mask(rtwdev, R_TXAGC_RFK + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2527
dpk->bp[path][kidx].pwsf = pwsf;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2528
rtw89_phy_write32_mask(rtwdev, R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2531
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2532
rtw89_phy_write32_clr(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2534
dpk->bp[path][kidx].gs = gs;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2535
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2538
rtw89_phy_write32_clr(rtwdev, R_DPD_V1 + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
254
enum rtw89_rf_path path, u8 index)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2544
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2555
if (cur_band != dpk->bp[path][idx].band ||
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2556
cur_ch != dpk->bp[path][idx].ch)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2559
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2561
dpk->cur_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2564
"[DPK] reload S%d[%d] success\n", path, idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2571
enum rtw89_rf_path path, u8 gain,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2575
u8 txagc = 0, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2579
"[DPK] ========= S%d[%d] DPK Start =========\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2582
_rf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2583
txagc = _dpk_set_tx_pwr(rtwdev, gain, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2584
_dpk_rf_setting(rtwdev, gain, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2585
_dpk_rx_dck(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2587
_dpk_kip_setting(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2588
_dpk_manual_txcfir(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2589
txagc = _dpk_agc(rtwdev, phy, path, kidx, txagc, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2592
_dpk_get_thermal(rtwdev, kidx, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2594
_dpk_idl_mpa(rtwdev, phy, path, kidx, gain, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2595
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2596
_dpk_fill_result(rtwdev, path, kidx, gain, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2597
_dpk_manual_txcfir(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2600
dpk->bp[path][kidx].path_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2602
dpk->bp[path][kidx].path_ok = false;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2604
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s\n", path, kidx,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2619
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2623
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2624
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2627
reloaded[path] = _dpk_reload_check(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2629
if (!reloaded[path] && dpk->bp[path][0].ch != 0)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2630
dpk->cur_idx[path] = !dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2632
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2635
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2636
dpk->cur_idx[path] = 0;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2646
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2647
if (!(kpath & BIT(path)) || reloaded[path])
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2649
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2650
_dpk_tssi_pause(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2651
_dpk_bkup_kip(rtwdev, kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2652
_rfk_backup_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2653
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2656
_dpk_bb_afe_setting(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2658
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2659
if (!(kpath & BIT(path)) || reloaded[path])
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
266
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2662
is_fail = _dpk_main(rtwdev, phy, path, 1, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2663
_dpk_onoff(rtwdev, path, is_fail);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2666
_dpk_bb_afe_restore(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2669
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2670
if (!(kpath & BIT(path)) || reloaded[path])
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2673
_dpk_kip_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2674
_dpk_reload_kip(rtwdev, kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2675
_rfk_restore_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2676
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2677
_dpk_tssi_pause(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2702
u8 path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2706
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2707
if (kpath & BIT(path))
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2708
_dpk_onoff(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2728
enum rtw89_rf_path path, bool off)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2731
u8 val, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2733
val = dpk->is_dpk_enable && !off && dpk->bp[path][kidx].path_ok;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2735
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2738
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s !!!\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2746
u8 path, kidx;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
275
tmp |= dack->msbk_d[path][index][i + 12] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2753
for (path = 0; path < RTW8852A_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2754
kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2758
path, kidx, dpk->bp[path][kidx].ch);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2760
cur_ther = ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2765
if (dpk->bp[path][kidx].ch != 0 && cur_ther != 0)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2766
delta_ther[path] = dpk->bp[path][kidx].ther_dpk - cur_ther;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2768
if (dpk->bp[path][kidx].band == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2769
delta_ther[path] = delta_ther[path] * 3 / 2;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2771
delta_ther[path] = delta_ther[path] * 5 / 2;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2773
txagc_rf = (u8)rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2776
if (rtwdev->is_tssi_mode[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2777
trk_idx = (u8)rtw89_read_rf(rtwdev, path, RR_TXA, RR_TXA_TRK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2785
R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2789
R_TXAGC_TP + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2798
R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2803
txagc_ofst, delta_ther[path]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2805
if (rtw89_phy_read32_mask(rtwdev, R_DPD_COM + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2810
ini_diff = txagc_ofst + delta_ther[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2812
if (rtw89_phy_read32_mask(rtwdev, R_P0_TXDPD + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2814
pwsf[0] = dpk->bp[path][kidx].pwsf + txagc_bb_tp -
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2816
tssi_info->extra_ofst[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2817
pwsf[1] = dpk->bp[path][kidx].pwsf + txagc_bb_tp -
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2819
tssi_info->extra_ofst[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2821
pwsf[0] = dpk->bp[path][kidx].pwsf + ini_diff +
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2822
tssi_info->extra_ofst[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2823
pwsf[1] = dpk->bp[path][kidx].pwsf + ini_diff +
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2824
tssi_info->extra_ofst[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2828
pwsf[0] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2829
pwsf[1] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
283
tmp |= dack->msbk_d[path][index][i + 8] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2838
rtw89_phy_write32_mask(rtwdev, R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2840
rtw89_phy_write32_mask(rtwdev, R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2847
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2852
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2854
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2869
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2874
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2884
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2886
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2892
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2894
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2900
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
291
tmp |= dack->msbk_d[path][index][i + 4] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2953
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
299
tmp |= dack->msbk_d[path][index][i] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3057
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3059
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
306
tmp = (dack->biask_d[path][index] << 22) |
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3065
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3067
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
307
(dack->dadck_d[path][index] << 14);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3073
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3075
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3081
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3083
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3089
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3091
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3098
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3100
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3106
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3113
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3118
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
312
static void _dack_reload(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3123
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3128
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
317
_dack_reload_by_path(rtwdev, path, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
319
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
325
static void _check_addc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3281
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3294
path, gidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3299
de_1st = tssi_info->tssi_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3300
de_2nd = tssi_info->tssi_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3305
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3307
val = tssi_info->tssi_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
331
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3310
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3318
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3331
path, tgidx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3336
tde_1st = tssi_info->tssi_trim[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3337
tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3342
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3344
val = tssi_info->tssi_trim[path][tgidx];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3348
path, val);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3425
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3438
for (path = RF_PATH_A; path < RF_PATH_NUM_8852A; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3439
if (!tssi_info->tssi_tracking_check[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3445
R_TSSI_THER + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3448
if (cur_ther == 0 || tssi_info->base_thermal[path] == 0)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
345
"[DACK]S%d,dc_re = 0x%x,dc_im =0x%x\n", path, dc_re, dc_im);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3451
delta_ther = cur_ther - tssi_info->base_thermal[path];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3455
tssi_info->extra_ofst[path] = gain_offset;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3459
tssi_info->base_thermal[path], gain_offset, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3469
rtw89_phy_write32_mask(rtwdev, R_DPD_OFT_EN + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3472
rtw89_phy_write32_mask(rtwdev, R_TXGAIN_SCALE + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3475
rtw89_phy_write32_mask(rtwdev, R_DPD_OFT_ADDR + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3478
rtw89_phy_write32_mask(rtwdev, R_TXGAIN_SCALE + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3523
u8 path, s16 pwr_dbm, u8 enable, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3526
rtw8852a_bb_cfg_tx_path(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3621
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3623
for (path = 0; path < 2; path++)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3624
_rck(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
395
static void _check_dadc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
397
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
401
_check_addc(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
403
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
552
static void _iqk_read_fft_dbcc0(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
572
path, i, fft[i]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
575
static void _iqk_read_xym_dbcc0(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
581
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, B_NCTL_CFG_SPAGE, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
587
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
589
path, BIT(path), tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
593
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD, 0x40000000);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
598
static void _iqk_read_txcfir_dbcc0(struct rtw89_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
609
if (path >= RTW8852A_IQK_SS) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
610
rtw89_warn(rtwdev, "cfir path %d out of range\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
619
rtw89_phy_write32_mask(rtwdev, R_W_COEF + (path << 8), MASKDWORD, 0x00000001);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
621
base_addr = base_addrs[path][group];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
630
if (path == 0x0) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
651
rtw89_phy_write32_clr(rtwdev, R_W_COEF + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
652
rtw89_phy_write32_mask(rtwdev, R_KIP_RPT + (path << 8), B_KIP_RPT_SEL, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
654
tmp = rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
655
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x8%lxfc = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
656
BIT(path), tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
659
static void _iqk_read_rxcfir_dbcc0(struct rtw89_dev *rtwdev, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
670
if (path >= RTW8852A_IQK_SS) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
671
rtw89_warn(rtwdev, "cfir path %d out of range\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
680
rtw89_phy_write32_mask(rtwdev, R_W_COEF + (path << 8), MASKDWORD, 0x00000001);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
682
base_addr = base_addrs[path][group];
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
690
if (path == 0x0) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
711
rtw89_phy_write32_clr(rtwdev, R_W_COEF + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
712
rtw89_phy_write32_mask(rtwdev, R_KIP_RPT + (path << 8), B_KIP_RPT_SEL, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
713
tmp = rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
714
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x8%lxfc = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
715
BIT(path), tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
718
static void _iqk_sram(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
744
static void _iqk_rxk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
749
rtw89_phy_write32_set(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
762
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
764
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RXK2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
765
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
768
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RXK2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
769
rtw89_write_rf(rtwdev, path, RR_WLSEL, RR_WLSEL_AG, 0x5);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
770
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
775
tmp = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
776
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
777
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_OFF, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
778
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
779
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
783
static bool _iqk_check_cal(struct rtw89_dev *rtwdev, u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
794
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, ret=%d\n", path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
797
"[IQK]S%x, type= %x, 0x8008 = 0x%x\n", path, ktype, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
803
enum rtw89_phy_idx phy_idx, u8 path, u8 ktype,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
809
u8 phy_map = rtw89_btc_path_phymap(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
812
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
820
iqk_cmd = 0x008 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
825
iqk_cmd = 0x108 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
830
iqk_cmd = 0x208 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
835
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
836
(((0x8 + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
839
iqk_cmd = 0x508 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
844
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
845
(((0xb + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
850
iqk_cmd = 0x308 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
855
iqk_cmd = 0x608 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
864
fail = _iqk_check_cal(rtwdev, path, ktype);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
866
_iqk_read_xym_dbcc0(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
868
_iqk_read_fft_dbcc0(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
870
_iqk_sram(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
873
_iqk_read_txcfir_dbcc0(rtwdev, path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
874
_iqk_read_txcfir_dbcc0(rtwdev, path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
875
_iqk_read_txcfir_dbcc0(rtwdev, path, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
876
_iqk_read_txcfir_dbcc0(rtwdev, path, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
878
_iqk_read_rxcfir_dbcc0(rtwdev, path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
879
_iqk_read_rxcfir_dbcc0(rtwdev, path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
880
_iqk_read_rxcfir_dbcc0(rtwdev, path, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
881
_iqk_read_rxcfir_dbcc0(rtwdev, path, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
893
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
908
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
910
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, rxgn_g[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
911
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2G, attc2_g[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
912
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C1G, attc1_g[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
915
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, rxgn_a[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
916
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_C2, attc2_a[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
917
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_C1, attc1_a[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
923
rf0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
927
rtw89_phy_write32_clr(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_RXCFIR);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
928
rtw89_phy_write32_set(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
929
rtw89_phy_write32_clr(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
930
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP, gp);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
933
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
934
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(16 + gp + path * 4), fail);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
937
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
939
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
94
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
940
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
943
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
944
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
945
rtw89_write_rf(rtwdev, path, RR_WLSEL, RR_WLSEL_AG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
950
iqk_info->nb_rxcfir[path] = 0x40000000;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
951
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
953
iqk_info->is_wb_rxiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
958
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
972
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
974
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, idxrxgain_g);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
975
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2G, idxattc2_g);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
976
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C1G, idxattc1_g);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
979
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, idxrxgain_a);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
98
for (path = 0; path < RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
980
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_C2, idxattc2_a);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
981
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_C1, idxattc1_a);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
987
rf0 = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
99
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
991
rtw89_phy_write32_clr(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_RXCFIR);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
992
rtw89_phy_write32_set(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
993
rtw89_phy_write32_clr(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
994
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
998
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b.c
591
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b.c
597
rtw89_phy_write32_mask(rtwdev, ctrl_bbrst[path], B_P0_TXPW_RSTB_MANON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b.c
598
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], B_P0_TSSI_TRK_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b.c
600
rtw89_phy_write32_mask(rtwdev, ctrl_bbrst[path], B_P0_TXPW_RSTB_MANON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b.c
601
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], B_P0_TSSI_TRK_EN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1347
sar_parm.path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1351
sar_parm.path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1789
void rtw8852bx_set_trx_mask(struct rtw89_dev *rtwdev, u8 path, u8 group, u32 val)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1791
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x20000);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1792
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, group);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1793
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1794
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1974
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1980
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1981
status->chains |= BIT(path);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1982
status->chain_signal[path] = RTW89_RSSI_RAW_TO_DBM(rx_power[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
418
int path, i;
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
421
for (path = 0; path < 2; path++)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
423
if (comp_addrs[path][i] == 0)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
426
data = phycap_map[comp_addrs[path][i] - phycap_addr];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
428
&gain->comp[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
579
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
590
reg = bb_gain_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
592
reg = bb_gain_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
595
val = gain->lna_gain[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
601
reg = bb_gain_tia[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
603
reg = bb_gain_tia[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
606
val = gain->tia_gain[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
646
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
651
for (path = RF_PATH_A; path < BB_PATH_NUM_8852BX; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
652
tmp = efuse_gain->comp[path][subband];
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
654
rtw89_phy_write32_mask(rtwdev, gain_err_addr[path], MASKBYTE0, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
804
static void rtw8852b_bw_setting(struct rtw89_dev *rtwdev, u8 bw, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
811
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
812
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
815
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
816
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
819
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
820
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
823
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
824
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
827
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
828
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
836
void rtw8852bt_adc_cfg(struct rtw89_dev *rtwdev, u8 bw, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
853
rtw89_phy_write32_mask(rtwdev, idac2[path], B_P0_CFCH_CTL, 0x8);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
854
rtw89_phy_write32_mask(rtwdev, rck_reset_count[path], B_ADCMOD_LP, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
855
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], B_WDADC_SEL, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
856
rtw89_phy_write32_mask(rtwdev, rx_adc_clk[path], B_P0_RXCK_ADJ, 0x49);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
857
rtw89_phy_write32_mask(rtwdev, decim_filter[path], B_DCIM_FR, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
864
rtw89_phy_write32_mask(rtwdev, idac2_1[path], B_P0_CFCH_EN, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
865
rtw89_phy_write32_mask(rtwdev, adc_sample_td[path], B_P0_CFCH_BW0, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
866
rtw89_phy_write32_mask(rtwdev, adc_op5_bw_sel[path], B_P0_CFCH_BW1, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
867
rtw89_phy_write32_mask(rtwdev, rck_offset[path], B_DRCK_MUL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
872
rtw89_phy_write32_mask(rtwdev, adc_rst_cycle[path], B_DCIM_RC, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
874
rtw89_phy_write32_mask(rtwdev, adc_rst_cycle[path], B_DCIM_RC, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
877
rtw89_phy_write32_mask(rtwdev, idac2_1[path], B_P0_CFCH_EN, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
878
rtw89_phy_write32_mask(rtwdev, adc_sample_td[path], B_P0_CFCH_BW0, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
879
rtw89_phy_write32_mask(rtwdev, adc_op5_bw_sel[path], B_P0_CFCH_BW1, 0x8);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
880
rtw89_phy_write32_mask(rtwdev, rck_offset[path], B_DRCK_MUL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
881
rtw89_phy_write32_mask(rtwdev, adc_rst_cycle[path], B_DCIM_RC, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
886
rtw89_phy_write32_mask(rtwdev, idac2_1[path], B_P0_CFCH_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
887
rtw89_phy_write32_mask(rtwdev, adc_sample_td[path], B_P0_CFCH_BW0, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
888
rtw89_phy_write32_mask(rtwdev, adc_op5_bw_sel[path], B_P0_CFCH_BW1, 0x4);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
889
rtw89_phy_write32_mask(rtwdev, rck_offset[path], B_DRCK_MUL, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
890
rtw89_phy_write32_mask(rtwdev, adc_rst_cycle[path], B_DCIM_RC, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.h
164
void (*adc_cfg)(struct rtw89_dev *rtwdev, u8 bw, u8 path);
drivers/net/wireless/realtek/rtw89/rtw8852b_common.h
359
void rtw8852bx_adc_cfg(struct rtw89_dev *rtwdev, u8 bw, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_common.h
361
rtw8852bx_info.adc_cfg(rtwdev, bw, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1016
static bool _txk_group_sel(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1024
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1026
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1028
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1030
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1032
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1036
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1038
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1040
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1042
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1049
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1051
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1053
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1055
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1058
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1060
BIT(8 + gp + path * 4), fail);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1065
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1066
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1068
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1070
iqk_info->nb_txcfir[path] = 0x40000000;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1071
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1073
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1079
static bool _iqk_nbtxk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1085
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1087
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1089
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1091
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1093
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1097
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1099
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1101
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1103
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1110
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1111
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SET, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1112
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1113
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP, gp);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1115
kfail = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1118
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1119
rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1122
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1127
static void _lok_res_table(struct rtw89_dev *rtwdev, u8 path, u8 ibias)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1132
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, ibias = %x\n", path, ibias);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1134
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1135
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1136
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1138
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1139
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, ibias);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1140
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1141
rtw89_write_rf(rtwdev, path, RR_TXVBUF, RR_TXVBUF_DACEN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1143
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x7c = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1144
rtw89_read_rf(rtwdev, path, RR_TXVBUF, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1147
static bool _lok_finetune_check(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1159
tmp = rtw89_read_rf(rtwdev, path, RR_TXMO, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1168
iqk_info->lok_idac[ch][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1170
tmp = rtw89_read_rf(rtwdev, path, RR_LOKVB, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1179
iqk_info->lok_vbuf[ch][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1182
"[IQK]S%x, lok_idac[%x][%x] = 0x%x\n", path, ch, path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1183
iqk_info->lok_idac[ch][path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1185
"[IQK]S%x, lok_vbuf[%x][%x] = 0x%x\n", path, ch, path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1186
iqk_info->lok_vbuf[ch][path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1191
static bool _iqk_lok(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1198
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1200
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1201
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1204
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1205
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x4);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1211
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1213
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1216
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1222
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1223
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_COARSE);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1224
iqk_info->lok_cor_fail[0][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1226
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1228
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1231
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1237
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, 0x24);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1238
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1240
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1242
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1245
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1251
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1253
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_FINE);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1254
iqk_info->lok_fin_fail[0][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1256
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1258
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1261
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1267
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), MASKDWORD, 0x24);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1268
_iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1270
return _lok_finetune_check(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1273
static void _iqk_txk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1277
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1279
rtw89_write_rf(rtwdev, path, RR_XALNA2, RR_XALNA2_SW2, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1280
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1281
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT1, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1282
rtw89_write_rf(rtwdev, path, RR_TXG2, RR_TXG2_ATT0, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1283
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1284
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1285
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M1, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1286
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_IQK, 0x403e);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1290
rtw89_write_rf(rtwdev, path, RR_XGLNA2, RR_XGLNA2_SW, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1291
rtw89_write_rf(rtwdev, path, RR_BIASA, RR_BIASA_A, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1292
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1293
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1294
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M1, 0x80);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1295
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_IQK, 0x403e);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1303
static void _iqk_txclk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1316
static void _iqk_info_iqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1322
flag = iqk_info->lok_cor_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1323
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_FCOR << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1324
flag = iqk_info->lok_fin_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1325
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_FFIN << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1326
flag = iqk_info->iqk_tx_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1327
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_FTX << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1328
flag = iqk_info->iqk_rx_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1329
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_F_RX << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1331
tmp = rtw89_phy_read32_mask(rtwdev, R_IQK_RES + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1332
iqk_info->bp_iqkenable[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1333
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1334
iqk_info->bp_txkresult[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1335
tmp = rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1336
iqk_info->bp_rxkresult[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1340
tmp = rtw89_phy_read32_mask(rtwdev, R_IQKINF, B_IQKINF_FAIL << (path * 4));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1343
rtw89_phy_write32_mask(rtwdev, R_IQKINF2, B_IQKINF2_FCNT << (path * 4),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1347
static void _iqk_by_path(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1355
_iqk_txclk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1359
_lok_res_table(rtwdev, path, ibias++);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1360
_iqk_txk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1361
lok_is_fail = _iqk_lok(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1367
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK] LOK (%d) fail\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1371
iqk_info->iqk_tx_fail[0][path] = _iqk_nbtxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1373
iqk_info->iqk_tx_fail[0][path] = _txk_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1376
_iqk_rxclk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1377
_iqk_rxk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1379
iqk_info->iqk_rx_fail[0][path] = _iqk_nbrxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1381
iqk_info->iqk_rx_fail[0][path] = _rxk_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1383
_iqk_info_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1386
static void _iqk_get_ch_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1396
reg_rf18 = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1399
iqk_info->iqk_band[path] = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1400
iqk_info->iqk_bw[path] = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1401
iqk_info->iqk_ch[path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1402
iqk_info->iqk_mcc_ch[idx][path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1403
iqk_info->iqk_table_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1406
path, reg_rf18, idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1408
path, reg_rf18);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1412
idx, path, iqk_info->iqk_mcc_ch[idx][path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1420
"[IQK]S%x, iqk_info->syn1to2= 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1425
rtw89_phy_write32_mask(rtwdev, R_IQKCH, B_IQKCH_BAND << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1426
iqk_info->iqk_band[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1428
rtw89_phy_write32_mask(rtwdev, R_IQKCH, B_IQKCH_BW << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1429
iqk_info->iqk_bw[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1430
rtw89_phy_write32_mask(rtwdev, R_IQKCH, B_IQKCH_CH << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1431
iqk_info->iqk_ch[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1434
static void _iqk_start_iqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1436
_iqk_by_path(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1439
static void _iqk_restore(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1444
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1445
iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1446
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1447
iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1449
0x00000e19 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1450
fail = _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1460
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1461
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1462
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1463
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1464
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1468
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1493
static void _iqk_preset(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1500
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8), B_COEF_SEL_IQC, idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1501
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3, idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1503
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1504
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1508
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK](1)S%x, 0x8%x54 = 0x%x\n", path, 1 << path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1509
rtw89_phy_read32_mask(rtwdev, R_CFIR_LUT + (path << 8), MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1510
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK](1)S%x, 0x8%x04 = 0x%x\n", path, 1 << path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1511
rtw89_phy_read32_mask(rtwdev, R_COEF_SEL + (path << 8), MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1515
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1541
u8 idx, path;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1558
for (path = 0; path < RTW8852B_IQK_SS; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1559
iqk_info->lok_cor_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1560
iqk_info->lok_fin_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1561
iqk_info->iqk_tx_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1562
iqk_info->iqk_rx_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1563
iqk_info->iqk_mcc_ch[idx][path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1564
iqk_info->iqk_table_idx[path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1572
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1575
for (path = 0; path < RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1576
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1581
rtwdev, path, RR_MOD, RR_MOD_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1583
"[RFK] Wait S%d to Rx mode!! (ret = %d)\n", path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1597
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1613
_iqk_get_ch_info(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1616
_rfk_backup_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1617
_iqk_macbb_setting(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1618
_iqk_preset(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1619
_iqk_start_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1620
_iqk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1621
_iqk_afebb_restore(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1623
_rfk_restore_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1650
u32 reg_bkup[][RTW8852B_DPK_KIP_REG_NUM], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1655
reg_bkup[path][i] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1656
rtw89_phy_read32_mask(rtwdev, reg[i] + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1658
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1663
const u32 reg_bkup[][RTW8852B_DPK_KIP_REG_NUM], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1668
rtw89_phy_write32_mask(rtwdev, reg[i] + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1669
reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1671
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1688
static void _dpk_onoff(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, bool off)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1691
u8 val, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1693
val = dpk->is_dpk_enable && !off && dpk->bp[path][kidx].path_ok;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1695
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1698
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s !!!\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1703
enum rtw89_rf_path path, enum rtw8852b_dpk_id id)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1709
dpk_cmd = (id << 8) | (0x19 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1745
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1747
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_EN_TIA_IDA, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1748
_set_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1752
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1757
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1759
dpk->bp[path][kidx].band = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1760
dpk->bp[path][kidx].ch = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1761
dpk->bp[path][kidx].bw = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1765
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1766
str_on_off(rtwdev->is_tssi_mode[path]),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1768
dpk->bp[path][kidx].band == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1769
dpk->bp[path][kidx].band == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1770
dpk->bp[path][kidx].ch,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1771
dpk->bp[path][kidx].bw == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1772
dpk->bp[path][kidx].bw == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1777
enum rtw89_rf_path path, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1795
enum rtw89_rf_path path, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1812
enum rtw89_rf_path path, bool is_pause)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1814
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1817
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d TSSI %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1822
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1827
rtw89_phy_write32_mask(rtwdev, R_DPD_COM + (path << 8), B_DPD_COM_OF, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1829
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d restore KIP\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1833
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1838
cur_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASKRXBB);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1841
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_RXCFIR, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1843
tmp = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1844
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1845
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKMODE, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1846
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_PLLEN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1849
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT1, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1851
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT1, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1853
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT1, 0x05);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1855
rtw89_write_rf(rtwdev, path, RR_XGLNA2, RR_XGLNA2_SW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1856
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1857
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80014);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1863
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1865
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d LBK RXIQC = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1869
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_PLLEN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1872
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_DI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1873
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKMODE, 0x5);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1876
static void _dpk_get_thermal(struct rtw89_dev *rtwdev, u8 kidx, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1880
rtw89_write_rf(rtwdev, path, RR_TM, RR_TM_TRI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1881
rtw89_write_rf(rtwdev, path, RR_TM, RR_TM_TRI, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1882
rtw89_write_rf(rtwdev, path, RR_TM, RR_TM_TRI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1886
dpk->bp[path][kidx].ther_dpk = rtw89_read_rf(rtwdev, path, RR_TM, RR_TM_VAL);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1889
dpk->bp[path][kidx].ther_dpk);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1893
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1897
if (dpk->bp[path][kidx].band == RTW89_BAND_2G) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1898
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK, 0x50220);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1899
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_FATT, 0xf2);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1900
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_TIA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1901
rtw89_write_rf(rtwdev, path, RR_TIA, RR_TIA_N6, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1903
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK, 0x50220);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1904
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RAA2_SWATT, 0x5);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1905
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_TIA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1906
rtw89_write_rf(rtwdev, path, RR_TIA, RR_TIA_N6, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1907
rtw89_write_rf(rtwdev, path, RR_RXA_LNA, RFREG_MASK, 0x920FC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1908
rtw89_write_rf(rtwdev, path, RR_XALNA2, RFREG_MASK, 0x002C0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1909
rtw89_write_rf(rtwdev, path, RR_IQGEN, RFREG_MASK, 0x38800);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1912
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_BW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1913
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_TXBB, dpk->bp[path][kidx].bw + 1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1914
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_RXBB, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1918
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1919
rtw89_read_rf(rtwdev, path, RR_TXIG, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1920
rtw89_read_rf(rtwdev, path, RR_BTC, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1924
enum rtw89_rf_path path, bool is_bypass)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1927
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1929
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1932
"[DPK] Bypass RXIQC (0x8%d3c = 0x%x)\n", 1 + path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1933
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1936
rtw89_phy_write32_clr(rtwdev, R_RXIQC + (path << 8), B_RXIQC_BYPASS2);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1937
rtw89_phy_write32_clr(rtwdev, R_RXIQC + (path << 8), B_RXIQC_BYPASS);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1939
"[DPK] restore 0x8%d3c = 0x%x\n", 1 + path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1940
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1946
void _dpk_tpg_sel(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1950
if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1952
else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1958
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80 ? "80M" :
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1959
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ? "40M" : "20M");
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1963
enum rtw89_rf_path path, u8 kidx, u8 gain)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1968
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0 + (path << 8), MASKBYTE3, val);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1974
static bool _dpk_sync_check(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1990
path, corr_idx, corr_val);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1992
dpk->corr_idx[path][kidx] = corr_idx;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1993
dpk->corr_val[path][kidx] = corr_val;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2004
path, dc_i, dc_q);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2006
dpk->dc_i[path][kidx] = dc_i;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2007
dpk->dc_q[path][kidx] = dc_q;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2017
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2019
_dpk_one_shot(rtwdev, phy, path, SYNC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2021
return _dpk_sync_check(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2094
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2096
_dpk_table_select(rtwdev, path, kidx, 1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2097
_dpk_one_shot(rtwdev, phy, path, GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2101
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2103
_dpk_tpg_sel(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2104
_dpk_one_shot(rtwdev, phy, path, KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2108
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2112
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), MASKDWORD, 0xce000a08);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2118
enum rtw89_rf_path path, u8 txagc)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2120
rtw89_write_rf(rtwdev, path, RR_TXAGC, RFREG_MASK, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2122
_dpk_one_shot(rtwdev, phy, path, DPK_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2129
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2133
tmp = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2136
_dpk_one_shot(rtwdev, phy, path, DPK_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2143
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASKRXBB));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2147
enum rtw89_rf_path path, s8 gain_offset)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2151
txagc = rtw89_read_rf(rtwdev, path, RR_TXAGC, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2160
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2209
enum rtw89_rf_path path, u8 kidx, u8 init_txagc,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2225
if (_dpk_sync(rtwdev, phy, path, kidx)) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2240
tmp_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2254
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKRXBB,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2260
_dpk_bypass_rxcfir(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2262
_dpk_lbk_rxiqk(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2273
_dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2291
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2303
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, 0xfe);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2309
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, tmp_gl_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2356
enum rtw89_rf_path path, u8 kidx, u8 gain)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
236
enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2360
if (dpk->bp[path][kidx].bw < RTW89_CHANNEL_WIDTH_80 &&
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2361
dpk->bp[path][kidx].band == RTW89_BAND_5G)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2366
_dpk_one_shot(rtwdev, phy, path, MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2370
enum rtw89_rf_path path, u8 kidx, u8 gain, u8 txagc)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2376
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2383
dpk->bp[path][kidx].txagc_dpk = txagc;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2384
rtw89_phy_write32_mask(rtwdev, R_TXAGC_RFK + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2387
dpk->bp[path][kidx].pwsf = pwsf;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2388
rtw89_phy_write32_mask(rtwdev, R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
239
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2391
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2392
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2394
dpk->bp[path][kidx].gs = gs;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2396
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2399
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2402
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2404
rtw89_phy_write32_mask(rtwdev, R_DPD_V1 + (path << 8), MASKDWORD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2409
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
241
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2420
if (cur_band != dpk->bp[path][idx].band ||
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2421
cur_ch != dpk->bp[path][idx].ch)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2424
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2426
dpk->cur_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2429
"[DPK] reload S%d[%d] success\n", path, idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2436
enum rtw89_rf_path path, u8 gain,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2440
u8 txagc = 0x38, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2444
"[DPK] ========= S%d[%d] DPK Start =========\n", path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2446
_rfk_rf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2447
_rfk_drf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2449
_dpk_kip_pwr_clk_on(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
245
enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2450
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2451
_dpk_rf_setting(rtwdev, gain, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2452
_dpk_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2454
_dpk_kip_preset(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2455
_dpk_kip_set_rxagc(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2456
_dpk_table_select(rtwdev, path, kidx, gain);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2458
txagc = _dpk_agc(rtwdev, phy, path, kidx, txagc, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2464
_dpk_get_thermal(rtwdev, kidx, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2466
_dpk_idl_mpa(rtwdev, phy, path, kidx, gain);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2468
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2470
_dpk_fill_result(rtwdev, phy, path, kidx, gain, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2474
dpk->bp[path][kidx].path_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2476
dpk->bp[path][kidx].path_ok = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2478
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s\n", path, kidx,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
248
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2494
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2497
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2498
reloaded[path] = _dpk_reload_check(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
250
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2500
if (!reloaded[path] && dpk->bp[path][0].ch)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2501
dpk->cur_idx[path] = !dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2503
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2506
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2507
dpk->cur_idx[path] = 0;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2512
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2513
_dpk_bkup_kip(rtwdev, kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2514
_rfk_backup_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2515
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2516
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2517
_dpk_tssi_pause(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2520
_dpk_bb_afe_setting(rtwdev, phy, path, kpath, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2522
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2523
is_fail = _dpk_main(rtwdev, phy, path, 1, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2524
_dpk_onoff(rtwdev, path, is_fail);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2527
_dpk_bb_afe_restore(rtwdev, phy, path, kpath, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
253
static bool _iqk_check_cal(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2530
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2531
_dpk_kip_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2532
_dpk_reload_kip(rtwdev, kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2533
_rfk_restore_rf_reg(rtwdev, &backup_rf_val[path][0], path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2534
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2535
_dpk_tssi_pause(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2564
u8 path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2568
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2569
if (kpath & BIT(path))
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2570
_dpk_onoff(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2594
u8 path, kidx;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2599
for (path = 0; path < RF_PATH_NUM_8852B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2600
kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2604
path, kidx, dpk->bp[path][kidx].ch);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2606
cur_ther = ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2611
if (dpk->bp[path][kidx].ch && cur_ther)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2612
delta_ther[path] = dpk->bp[path][kidx].ther_dpk - cur_ther;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2614
if (dpk->bp[path][kidx].band == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2615
delta_ther[path] = delta_ther[path] * 3 / 2;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2617
delta_ther[path] = delta_ther[path] * 5 / 2;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2619
txagc_rf = rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2622
if (rtwdev->is_tssi_mode[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2623
trk_idx = rtw89_read_rf(rtwdev, path, RR_TXA, RR_TXA_TRK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2630
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2633
rtw89_phy_read32_mask(rtwdev, R_TXAGC_TP + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2641
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2646
txagc_ofst, delta_ther[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2647
tmp = rtw89_phy_read32_mask(rtwdev, R_DPD_COM + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2656
ini_diff = txagc_ofst + (delta_ther[path]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2659
R_P0_TXDPD + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2662
pwsf[0] = dpk->bp[path][kidx].pwsf +
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2664
pwsf[1] = dpk->bp[path][kidx].pwsf +
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2667
pwsf[0] = dpk->bp[path][kidx].pwsf + ini_diff;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2668
pwsf[1] = dpk->bp[path][kidx].pwsf + ini_diff;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2672
pwsf[0] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2673
pwsf[1] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2683
R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2686
R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2695
u8 tx_scale, ofdm_bkof, path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
270
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, ret=%d\n", path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2705
for (path = 0; path < RF_PATH_NUM_8852B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2706
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2709
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2712
"[RFK] Set S%d DPD backoff to 0dB\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
272
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, 0x8008 = 0x%x\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2720
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2725
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2727
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2731
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2737
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2749
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2751
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2758
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2760
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2766
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2768
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2774
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2827
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2931
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2933
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2939
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2943
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2954
enum rtw89_rf_path path, bool all,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
296
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2961
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
298
rtw89_write_rf(rtwdev, path, RR_DCK1, RR_DCK1_CLR, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
299
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
300
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3012
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3014
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3020
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3022
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3030
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3033
path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3035
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
306
u8 path, dck_tune;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
313
for (path = 0; path < RF_PATH_NUM_8852B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
314
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
315
dck_tune = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_FINE);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
317
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
319
R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
322
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3225
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
323
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3237
"[TSSI][TRIM]: path=%d mcs group_idx=0x%x\n", path, gidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
324
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3242
de_1st = tssi_info->tssi_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3243
de_2nd = tssi_info->tssi_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3248
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
325
_set_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3250
val = tssi_info->tssi_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3253
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
326
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, dck_tune);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3260
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
327
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3273
path, tgidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3278
tde_1st = tssi_info->tssi_trim[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3279
tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3284
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3286
val = tssi_info->tssi_trim[path][tgidx];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
329
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3290
path, val);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
331
R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3351
static void _tssi_alimentk_dump_result(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3356
R_TSSI_PA_K1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3357
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K1 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3358
R_TSSI_PA_K2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3359
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K2 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
336
static void _rck(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3360
R_P0_TSSI_ALIM1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3361
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3362
R_P0_TSSI_ALIM3 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3363
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3364
R_TSSI_PA_K5 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3365
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K5 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3366
R_P0_TSSI_ALIM2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3367
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3368
R_P0_TSSI_ALIM4 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3369
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3370
R_TSSI_PA_K8 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3371
rtw89_phy_read32_mask(rtwdev, R_TSSI_PA_K8 + (path << 13), MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3375
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3383
"======>%s phy=%d path=%d\n", __func__, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3396
if (tssi_info->alignment_done[path][band]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3397
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3398
tssi_info->alignment_value[path][band][0]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3399
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3400
tssi_info->alignment_value[path][band][1]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3401
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3402
tssi_info->alignment_value[path][band][2]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3403
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3404
tssi_info->alignment_value[path][band][3]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3407
_tssi_alimentk_dump_result(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3411
enum rtw89_rf_path path, u16 cnt, u16 period, s16 pwr_dbm,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3416
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3418
else if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3420
else if (path == RF_PATH_AB)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3427
rtw8852bx_bb_cfg_tx_path(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
343
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RCK] ====== S%d RCK ======\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
345
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
347
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
348
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3485
enum rtw89_rf_path path, const s16 *power,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3494
rtw89_phy_write32_mask(rtwdev, _tssi_trigger[path], B_P0_TSSI_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3495
rtw89_phy_write32_mask(rtwdev, _tssi_trigger[path], B_P0_TSSI_EN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3499
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_trigger[path], MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3502
_tssi_trigger[path], tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3505
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
351
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3515
tx_counter_tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3518
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_rpt_addr[path],
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3531
k, tx_counter_tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3537
k, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3539
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
354
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, 0x00240);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3544
rtw89_phy_read32_mask(rtwdev, _tssi_cw_rpt_addr[path], B_TSSI_CWRPT);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3546
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3553
tx_counter_tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3560
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
357
false, rtwdev, path, RR_RCKS, BIT(3));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3584
path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3586
if (tssi_info->check_backup_aligmk[path][ch_idx]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3587
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3588
tssi_info->alignment_backup_by_ch[path][ch_idx][0]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3589
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
359
rck_val = rtw89_read_rf(rtwdev, path, RR_RCKC, RR_RCKC_CA);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3590
tssi_info->alignment_backup_by_ch[path][ch_idx][1]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3591
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3592
tssi_info->alignment_backup_by_ch[path][ch_idx][2]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3593
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3594
tssi_info->alignment_backup_by_ch[path][ch_idx][3]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3598
_tssi_alimentk_dump_result(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3628
ok = _tssi_get_cw_report(rtwdev, phy, path, power, tssi_cw_rpt, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3638
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_default_addr[path][1],
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
364
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, rck_val);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3645
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_default_addr[path][2],
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
365
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3650
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_default_addr[path][3],
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3655
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
368
rtw89_read_rf(rtwdev, path, RR_RCKC, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3685
tssi_info->alignment_done[path][band] = true;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3686
tssi_info->alignment_value[path][band][0] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3687
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3688
tssi_info->alignment_value[path][band][1] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3689
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3690
tssi_info->alignment_value[path][band][2] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3691
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3692
tssi_info->alignment_value[path][band][3] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3693
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3695
tssi_info->check_backup_aligmk[path][ch_idx] = true;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3696
tssi_info->alignment_backup_by_ch[path][ch_idx][0] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3697
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3698
tssi_info->alignment_backup_by_ch[path][ch_idx][1] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3699
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3700
tssi_info->alignment_backup_by_ch[path][ch_idx][2] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3701
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3702
tssi_info->alignment_backup_by_ch[path][ch_idx][3] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3703
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3707
path, band, R_P0_TSSI_ALIM1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3708
tssi_info->alignment_value[path][band][0]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3711
path, band, R_P0_TSSI_ALIM3 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3712
tssi_info->alignment_value[path][band][1]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3715
path, band, R_P0_TSSI_ALIM2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3716
tssi_info->alignment_value[path][band][2]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3719
path, band, R_P0_TSSI_ALIM4 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3720
tssi_info->alignment_value[path][band][3]);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3742
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3744
for (path = 0; path < RF_PATH_NUM_8852B; path++)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3745
_rck(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3943
static void _bw_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3951
rf_reg18 = rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3954
"[RFK]Invalid RF_0x18 for Path-%d\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3978
rtw89_write_rf(rtwdev, path, reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3981
bw, path, reg18_addr,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3982
rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4071
static void _ch_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4080
rf_reg18 = rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4093
if (path == RF_PATH_A && dav)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4096
rtw89_write_rf(rtwdev, path, reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4098
rtw89_write_rf(rtwdev, path, RR_LCKST, RR_LCKST_BIN, 0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4099
rtw89_write_rf(rtwdev, path, RR_LCKST, RR_LCKST_BIN, 1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4103
central_ch, path, reg18_addr,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4104
rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4116
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4118
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4119
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M2, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4122
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x1b);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4124
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4126
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0xb);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4128
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4130
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RFK] set S%d RXBB BW 0x3F = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4131
rtw89_read_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4133
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4139
u8 kpath, path;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4143
for (path = 0; path < RF_PATH_NUM_8852B; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4144
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4147
_set_rxbb_bw(rtwdev, bw, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4195
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4200
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4201
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4205
for (path = 0; path < RTW8852B_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4206
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
488
static void _check_addc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
494
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
508
"[DACK]S%d,dc_re = 0x%x,dc_im =0x%x\n", path, dc_re, dc_im);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
588
static void _check_dadc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
590
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
594
_check_addc(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
596
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
792
static void _iqk_rxk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
797
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
799
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
800
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
801
tmp = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
802
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
805
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
806
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
807
tmp = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
808
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
816
u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
825
iqk_cmd = 0x108 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
829
iqk_cmd = 0x208 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
833
iqk_cmd = 0x308 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
837
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
838
(((0x8 + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
841
iqk_cmd = 0x508 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
845
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
846
(((0xb + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
851
iqk_cmd = 0x408 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
856
iqk_cmd = 0x608 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
864
fail = _iqk_check_cal(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
871
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
879
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
881
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
883
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2G,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
885
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C1G,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
889
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
891
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_HATT,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
893
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_CC2,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
900
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
902
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
904
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
906
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
908
BIT(16 + gp + path * 4), fail);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
911
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
914
iqk_info->nb_rxcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
915
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
917
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
919
iqk_info->nb_rxcfir[path] = 0x40000000;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
920
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
922
iqk_info->is_wb_rxiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
929
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
936
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
938
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
940
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2G,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
942
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C1G,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
946
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
948
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_HATT,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
950
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_CC2,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
957
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
958
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SET, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
959
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP_V1, gp);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
960
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
963
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
964
rtw89_phy_write32_mask(rtwdev, R_IQKINF, BIT(16 + gp + path * 4), fail);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
966
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
969
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
970
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD) | 0x2;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
972
iqk_info->nb_rxcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
977
static void _iqk_rxclk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
981
if (iqk_info->iqk_bw[path] == RTW89_CHANNEL_WIDTH_80) {
drivers/net/wireless/realtek/rtw89/rtw8852bt.c
479
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt.c
484
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], B_P0_TSSI_TRK_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt.c
486
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], B_P0_TSSI_TRK_EN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1002
static void _iqk_txk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1006
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1008
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1009
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT1, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1010
rtw89_write_rf(rtwdev, path, RR_TXG2, RR_TXG2_ATT0, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1011
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1012
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1013
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M1, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1014
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_IQK, 0x403e);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1015
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1016
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x5);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1020
rtw89_write_rf(rtwdev, path, RR_BIASA, RR_BIASA_A, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1021
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1022
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1023
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M1, 0x80);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1024
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_IQK, 0x403e);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1025
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1026
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x4);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1034
static bool _iqk_2g_lok(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1038
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1040
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x09);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1042
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000119 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1044
_iqk_check_cal(rtwdev, path, ID_FLOK_COARSE);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1048
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1050
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x24);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1051
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000319 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1053
_iqk_check_cal(rtwdev, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1057
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1059
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x09);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1060
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000219 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1062
_iqk_check_cal(rtwdev, path, ID_FLOK_COARSE);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1066
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1068
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x24);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1069
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000319 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1071
_iqk_check_cal(rtwdev, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1079
static bool _iqk_5g_lok(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1083
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1085
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x09);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1087
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000119 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1089
_iqk_check_cal(rtwdev, path, ID_FLOK_COARSE);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1093
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1095
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x24);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1096
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000319 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1098
_iqk_check_cal(rtwdev, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1102
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1104
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x09);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1105
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000219 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1107
_iqk_check_cal(rtwdev, path, ID_FLOK_COARSE);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1111
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1113
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x24);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1114
rtw89_phy_write32_mask(rtwdev, R_NCTL_CFG, MASKDWORD, 0x00000319 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1116
_iqk_check_cal(rtwdev, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1123
static bool _iqk_2g_tx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1137
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1139
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1141
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1143
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1145
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1147
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1149
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1153
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1155
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1156
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1157
rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1162
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1164
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1169
path, gp, 1 << path, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1176
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1177
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1184
static bool _iqk_5g_tx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1196
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, a_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1197
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, a_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1198
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, a_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1200
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1202
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1204
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1206
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1208
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1212
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1215
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1216
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1217
rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1222
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1224
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1229
path, gp, 1 << path, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1236
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1237
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1245
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1252
static void _iqk_rxclk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1259
if (iqk_info->iqk_bw[path] == RTW89_CHANNEL_WIDTH_80) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1310
static bool _iqk_2g_rx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1325
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1326
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1327
rf_18 = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1328
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, rf_18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1331
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM, g_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1332
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C2G, g_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1333
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_C1G, g_idxattc1[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1335
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1337
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1339
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1341
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1345
tmp = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
135
static void _rfk_get_thermal(struct rtw89_dev *rtwdev, u8 kidx, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1351
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1353
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, rf rxbb = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1354
rtw89_read_rf(rtwdev, path, RR_MOD, 0x003c0));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1356
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1362
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1363
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1364
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1367
"[IQK]S%x, gp = 0x%x, 0x8%x3c = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1368
g_idx[gp], 1 << path, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1377
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1386
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1387
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
139
rtw89_write_rf(rtwdev, path, RR_TM, RR_TM_TRI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1390
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1395
static bool _iqk_5g_rx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
140
rtw89_write_rf(rtwdev, path, RR_TM, RR_TM_TRI, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
141
rtw89_write_rf(rtwdev, path, RR_TM, RR_TM_TRI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1410
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1411
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL5G, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1412
rf_18 = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1413
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, rf_18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1416
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_RGM, a_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1417
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_HATT, a_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1418
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_CC2, a_idxattc1[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1420
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1422
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1424
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1426
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1430
tmp = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1436
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1438
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, rf rxbb = %x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1439
rtw89_read_rf(rtwdev, path, RR_MOD, 0x003c0));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1441
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80013);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1445
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBRXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1446
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1447
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
145
dpk->bp[path][kidx].ther_dpk = rtw89_read_rf(rtwdev, path, RR_TM, RR_TM_VAL);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1451
path, a_idx[gp], 1 << path, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1459
notready = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1468
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1469
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1472
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_SEL2G, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1477
static void _iqk_by_path(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
148
dpk->bp[path][kidx].ther_dpk);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1486
_iqk_txk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1487
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1488
lok_result = _iqk_2g_lok(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1490
lok_result = _iqk_5g_lok(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1499
rtw89_write_rf(rtwdev, path, RR_DTXLOK, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1500
rtw89_write_rf(rtwdev, path, RR_RSV2, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1501
rtw89_write_rf(rtwdev, path, RR_LOKVB, RFREG_MASK, 0x80200);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1505
rtw89_read_rf(rtwdev, path, RR_DTXLOK, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1507
rtw89_read_rf(rtwdev, path, RR_RSV2, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1509
rtw89_read_rf(rtwdev, path, RR_LOKVB, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1511
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1512
txk_result = _iqk_2g_tx(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1514
txk_result = _iqk_5g_tx(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1516
_iqk_rxclk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1517
_iqk_adc_fifo_rst(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1519
if (iqk_info->iqk_band[path] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1520
rxk_result = _iqk_2g_rx(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1522
rxk_result = _iqk_5g_rx(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1529
static void _iqk_get_ch_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1539
reg_rf18 = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1542
iqk_info->iqk_band[path] = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1543
iqk_info->iqk_bw[path] = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1544
iqk_info->iqk_ch[path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1545
iqk_info->iqk_mcc_ch[idx][path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1546
iqk_info->iqk_table_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1549
path, reg_rf18, idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1551
path, reg_rf18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1553
path, reg_35c);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1557
idx, path, iqk_info->iqk_mcc_ch[idx][path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1560
static void _iqk_start_iqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1562
_iqk_by_path(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1565
static void _iqk_restore(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1572
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1573
MASKDWORD, iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1574
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1575
MASKDWORD, iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1577
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1579
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1583
0x00000e19 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1585
_iqk_check_cal(rtwdev, path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1593
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), BIT(28), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1595
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1596
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1597
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1598
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1599
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1603
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1627
static void _iqk_preset(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1632
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8), 0x00000001, idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1633
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), 0x00000008, idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1634
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD, 0x40000000);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1635
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD, 0x40000000);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1637
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1638
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1644
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1689
u8 idx, path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1707
for (path = 0; path < RTW8852BT_SS; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1708
iqk_info->lok_cor_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1709
iqk_info->lok_fin_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1710
iqk_info->iqk_tx_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1711
iqk_info->iqk_rx_fail[idx][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1712
iqk_info->iqk_mcc_ch[idx][path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1713
iqk_info->iqk_table_idx[path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1721
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1724
for (path = 0; path < RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1725
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1730
rtwdev, path, RR_MOD, RR_MOD_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1732
"[RFK] Wait S%d to Rx mode!! (ret = %d)\n", path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1746
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1762
_iqk_get_ch_info(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1765
_rfk_backup_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1766
_iqk_macbb_setting(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1767
_iqk_preset(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1768
_iqk_start_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1769
_iqk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1770
_iqk_afebb_restore(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1772
_rfk_reload_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1798
static void _dpk_onoff(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, bool off)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1801
u8 val, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1803
val = dpk->is_dpk_enable && !off && dpk->bp[path][kidx].path_ok;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1805
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1808
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s !!!\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1813
enum rtw89_rf_path path, enum rtw8852bt_dpk_id id)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1819
dpk_cmd = (id << 8) | (0x19 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1853
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1855
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1856
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1860
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d RXDCK\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1864
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1869
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1871
dpk->bp[path][kidx].band = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1872
dpk->bp[path][kidx].ch = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1873
dpk->bp[path][kidx].bw = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1877
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1878
str_on_off(rtwdev->is_tssi_mode[path]),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1880
dpk->bp[path][kidx].band == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1881
dpk->bp[path][kidx].band == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1882
dpk->bp[path][kidx].ch,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1883
dpk->bp[path][kidx].bw == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1884
dpk->bp[path][kidx].bw == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1888
enum rtw89_rf_path path, bool is_pause)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1890
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1893
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d TSSI %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1898
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1904
rtw89_phy_write32_mask(rtwdev, R_DPD_COM + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1907
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d restore KIP\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1911
enum rtw89_rf_path path, u8 cur_rxbb, u32 rf_18)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1914
rtw89_phy_write32_mask(rtwdev, R_IQK_RES + (path << 8), B_IQK_RES_RXCFIR, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1916
rtw89_write_rf(rtwdev, path, RR_RSV4, RFREG_MASK, rf_18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1917
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKMODE, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1918
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_PLLEN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1921
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT1, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1923
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT1, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1925
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT1, 0x05);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1927
rtw89_write_rf(rtwdev, path, RR_XGLNA2, RR_XGLNA2_SW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1928
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RR_RXKPLL_POW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1929
rtw89_write_rf(rtwdev, path, RR_RXKPLL, RFREG_MASK, 0x80014);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1936
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1940
rtw89_write_rf(rtwdev, path, RR_RXK, RR_RXK_PLLEN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1943
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_DI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1944
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKMODE, 0x5);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1948
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1952
if (dpk->bp[path][kidx].band == RTW89_BAND_2G) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1953
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK, 0x50220);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1954
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_FATT, 0xf2);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1955
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_TIA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1956
rtw89_write_rf(rtwdev, path, RR_TIA, RR_TIA_N6, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1958
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK, 0x50220);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1959
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RAA2_SWATT, 0x5);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1960
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_TIA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1961
rtw89_write_rf(rtwdev, path, RR_TIA, RR_TIA_N6, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1962
rtw89_write_rf(rtwdev, path, RR_RXA_LNA, RFREG_MASK, 0x920FC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1963
rtw89_write_rf(rtwdev, path, RR_XALNA2, RFREG_MASK, 0x002C0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1964
rtw89_write_rf(rtwdev, path, RR_IQGEN, RFREG_MASK, 0x38800);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1967
rtw89_write_rf(rtwdev, path, RR_RCKD, RR_RCKD_BW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1968
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_TXBB, dpk->bp[path][kidx].bw + 1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1969
rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_RXBB, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1973
enum rtw89_rf_path path, bool is_bypass)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1976
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1978
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1981
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1983
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1989
void _dpk_tpg_sel(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1993
if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1995
else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2001
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80 ? "80M" :
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2002
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ? "40M" : "20M");
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2006
enum rtw89_rf_path path, u8 kidx, u8 gain)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2011
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0 + (path << 8), MASKBYTE3, val);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2017
static bool _dpk_sync_check(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2035
path, corr_idx, corr_val);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2037
dpk->corr_idx[path][kidx] = corr_idx;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2038
dpk->corr_val[path][kidx] = corr_val;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2050
path, dc_i, dc_q);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2052
dpk->dc_i[path][kidx] = dc_i;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2053
dpk->dc_q[path][kidx] = dc_q;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2063
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2065
_dpk_one_shot(rtwdev, phy, path, SYNC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2138
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2140
_dpk_one_shot(rtwdev, phy, path, GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2147
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2149
_dpk_tpg_sel(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2150
_dpk_one_shot(rtwdev, phy, path, KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2154
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2158
rtw89_phy_write32_mask(rtwdev, R_CFIR_SYS + (path << 8), MASKDWORD, 0xce000a08);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2164
u8 _dpk_txagc_check_8852bt(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 txagc)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2168
if (txagc >= dpk->max_dpk_txagc[path])
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2169
txagc = dpk->max_dpk_txagc[path];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2177
enum rtw89_rf_path path, u8 txagc)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2181
val = _dpk_txagc_check_8852bt(rtwdev, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2182
rtw89_write_rf(rtwdev, path, RR_TXAGC, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2184
_dpk_one_shot(rtwdev, phy, path, DPK_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2191
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2195
_dpk_one_shot(rtwdev, phy, path, DPK_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2200
enum rtw89_rf_path path, u8 txagc, s8 gain_offset)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2202
txagc = rtw89_read_rf(rtwdev, path, RR_TXAGC, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2211
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2218
static bool _dpk_pas_read(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2261
enum rtw89_rf_path path, u8 kidx, u8 init_txagc,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2276
tmp_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASKRXBB);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2277
rf_18 = rtw89_read_rf(rtwdev, path, RR_CFGCH, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2282
_dpk_sync(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2285
_dpk_bypass_rxcfir(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2287
_dpk_lbk_rxiqk(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2291
if (_dpk_sync_check(rtwdev, path, kidx) == true) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2306
tmp_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASKRXBB);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2318
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKRXBB, tmp_rxbb);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2323
_dpk_lbk_rxiqk(rtwdev, phy, path, tmp_rxbb, rf_18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2332
_dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2336
if ((tmp_gl_idx == 0 && _dpk_pas_read(rtwdev, path, true)) ||
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2348
tmp_txagc == dpk->max_dpk_txagc[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2353
tmp_txagc = _dpk_set_offset(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2361
if (tmp_txagc == 0x3f || tmp_txagc == dpk->max_dpk_txagc[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2366
tmp_txagc = _dpk_set_offset(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2374
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, tmp_txagc,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2387
_dpk_pas_read(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2396
enum rtw89_rf_path path, u8 order)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2405
dpk->dpk_order[path] = 0x3;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2411
dpk->dpk_order[path] = 0x1;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2417
dpk->dpk_order[path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2434
enum rtw89_rf_path path, u8 kidx, u8 gain)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2438
if (dpk->bp[path][kidx].bw < RTW89_CHANNEL_WIDTH_80 &&
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2439
dpk->bp[path][kidx].band == RTW89_BAND_5G)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2440
_dpk_set_mdpd_para(rtwdev, path, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2442
_dpk_set_mdpd_para(rtwdev, path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2444
_dpk_one_shot(rtwdev, phy, path, MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2448
enum rtw89_rf_path path, u8 kidx, u8 gain, u8 txagc)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2454
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8), BIT(8), kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2460
dpk->bp[path][kidx].txagc_dpk = txagc;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2461
rtw89_phy_write32_mask(rtwdev, R_TXAGC_RFK + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2464
dpk->bp[path][kidx].pwsf = pwsf;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2465
rtw89_phy_write32_mask(rtwdev, R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2468
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2469
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2471
dpk->bp[path][kidx].gs = gs;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2474
R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2478
R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2481
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2482
B_DPD_ORDER_V1, dpk->dpk_order[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2484
rtw89_phy_write32_mask(rtwdev, R_DPD_V1 + (path << 8), MASKDWORD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2489
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2500
if (cur_band != dpk->bp[path][idx].band ||
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2501
cur_ch != dpk->bp[path][idx].ch)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2504
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2506
dpk->cur_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2509
"[DPK] reload S%d[%d] success\n", path, idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2516
void _rf_direct_cntrl(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2519
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2521
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2525
void _drf_direct_cntrl(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2528
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
253
void _txck_force(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, bool force,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2530
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2534
enum rtw89_rf_path path, u8 gain,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2538
u8 txagc = 0x38, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2542
"[DPK] ========= S%d[%d] DPK Start =========\n", path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2544
_rf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2545
_drf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2547
_dpk_kip_pwr_clk_on(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2548
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2549
_dpk_rf_setting(rtwdev, gain, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2550
_dpk_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2551
_dpk_kip_preset(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2552
_dpk_kip_set_rxagc(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2553
_dpk_table_select(rtwdev, path, kidx, gain);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2555
txagc = _dpk_agc(rtwdev, phy, path, kidx, txagc, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2557
_rfk_get_thermal(rtwdev, kidx, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
256
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_ON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2564
_dpk_idl_mpa(rtwdev, phy, path, kidx, gain);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2566
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASKMODE, RF_RX);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2567
_dpk_fill_result(rtwdev, phy, path, kidx, gain, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2571
dpk->bp[path][kidx].path_ok = 1;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2573
dpk->bp[path][kidx].path_ok = 0;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2575
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s\n", path, kidx,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2578
_dpk_onoff(rtwdev, path, is_fail);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2580
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s\n", path, kidx,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2595
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2597
for (path = 0; path < DPK_RF_PATH_MAX_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2598
reloaded[path] = _dpk_reload_check(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2599
if (!reloaded[path] && dpk->bp[path][0].ch != 0)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2600
dpk->cur_idx[path] = !dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2602
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2608
for (path = 0; path < DPK_RF_PATH_MAX_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2609
_rfk_backup_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
261
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_VAL, ck);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2610
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2611
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2612
_dpk_tssi_pause(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2615
_rfk_bb_afe_setting(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2617
for (path = 0; path < DPK_RF_PATH_MAX_8852BT; path++)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2618
_dpk_main(rtwdev, phy, path, 1, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
262
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_ON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2620
_rfk_bb_afe_restore(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2622
_dpk_kip_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2626
for (path = 0; path < DPK_RF_PATH_MAX_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2627
_rfk_reload_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2628
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2629
_dpk_tssi_pause(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2658
u8 path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
266
void _rxck_force(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, bool force,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2662
for (path = 0; path < RTW8852BT_SS; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2663
if (kpath & BIT(path))
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2664
_dpk_onoff(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2674
u8 path, kidx;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2679
for (path = 0; path < RF_PATH_NUM_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2680
kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2684
path, kidx, dpk->bp[path][kidx].ch);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2686
cur_ther = ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2691
if (dpk->bp[path][kidx].ch && cur_ther)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2692
delta_ther[path] = dpk->bp[path][kidx].ther_dpk - cur_ther;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2694
if (dpk->bp[path][kidx].band == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2695
delta_ther[path] = delta_ther[path] * 3 / 2;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2697
delta_ther[path] = delta_ther[path] * 5 / 2;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2699
txagc_rf = rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2702
if (rtwdev->is_tssi_mode[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2703
trk_idx = rtw89_read_rf(rtwdev, path, RR_TXA, RR_TXA_TRK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
271
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_ON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2710
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2713
rtw89_phy_read32_mask(rtwdev, R_TXAGC_TP + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2721
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2726
txagc_ofst, delta_ther[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2727
tmp = rtw89_phy_read32_mask(rtwdev, R_DPD_COM + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2736
ini_diff = txagc_ofst + (delta_ther[path]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2739
R_P0_TXDPD + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2742
pwsf[0] = dpk->bp[path][kidx].pwsf +
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2744
pwsf[1] = dpk->bp[path][kidx].pwsf +
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2747
pwsf[0] = dpk->bp[path][kidx].pwsf + ini_diff;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2748
pwsf[1] = dpk->bp[path][kidx].pwsf + ini_diff;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2751
pwsf[0] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2752
pwsf[1] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
276
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_VAL, ck);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2762
R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2765
R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
277
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_ON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2774
u8 tx_scale, ofdm_bkof, path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2784
for (path = 0; path < RF_PATH_NUM_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2785
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2788
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2791
"[RFK] Set S%d DPD backoff to 0dB\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2805
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2810
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2812
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2816
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2827
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2839
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2841
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2848
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2850
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2856
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2858
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2864
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2918
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
294
rtw8852bx_adc_cfg(rtwdev, bw, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
298
enum rtw89_rf_path path, u8 kpath)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3024
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3026
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3032
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3036
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3047
enum rtw89_rf_path path, bool all,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3054
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3079
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3081
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3087
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3089
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3097
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3100
path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3102
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3294
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3306
"[TSSI][TRIM]: path=%d mcs group_idx=0x%x\n", path, gidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3311
de_1st = tssi_info->tssi_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3312
de_2nd = tssi_info->tssi_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3317
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3319
val = tssi_info->tssi_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3322
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3329
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3342
path, tgidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3347
tde_1st = tssi_info->tssi_trim[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3348
tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3353
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3355
val = tssi_info->tssi_trim[path][tgidx];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3359
path, val);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
342
enum rtw89_rf_path path, u8 kpath)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3421
static void _tssi_alimentk_dump_result(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3426
R_TSSI_PA_K1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3427
rtw89_phy_read32(rtwdev, R_TSSI_PA_K1 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3428
R_TSSI_PA_K2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3429
rtw89_phy_read32(rtwdev, R_TSSI_PA_K2 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3430
R_P0_TSSI_ALIM1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3431
rtw89_phy_read32(rtwdev, R_P0_TSSI_ALIM1 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3432
R_P0_TSSI_ALIM3 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3433
rtw89_phy_read32(rtwdev, R_P0_TSSI_ALIM3 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3434
R_TSSI_PA_K5 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3435
rtw89_phy_read32(rtwdev, R_TSSI_PA_K5 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3436
R_P0_TSSI_ALIM2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3437
rtw89_phy_read32(rtwdev, R_P0_TSSI_ALIM2 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3438
R_P0_TSSI_ALIM4 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3439
rtw89_phy_read32(rtwdev, R_P0_TSSI_ALIM4 + (path << 13)),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3440
R_TSSI_PA_K8 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3441
rtw89_phy_read32(rtwdev, R_TSSI_PA_K8 + (path << 13)));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3445
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3453
"======>%s phy=%d path=%d\n", __func__, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3466
if (tssi_info->alignment_done[path][band]) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3467
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3468
tssi_info->alignment_value[path][band][0]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3469
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3470
tssi_info->alignment_value[path][band][1]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3471
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3472
tssi_info->alignment_value[path][band][2]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3473
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3474
tssi_info->alignment_value[path][band][3]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3477
_tssi_alimentk_dump_result(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3481
enum rtw89_rf_path path, u16 cnt, u16 period, s16 pwr_dbm,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3486
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3488
else if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3490
else if (path == RF_PATH_AB)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3497
rtw8852bx_bb_cfg_tx_path(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3555
enum rtw89_rf_path path, const s16 *power,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3564
rtw89_phy_write32_mask(rtwdev, _tssi_trigger[path], B_P0_TSSI_EN, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3565
rtw89_phy_write32_mask(rtwdev, _tssi_trigger[path], B_P0_TSSI_EN, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3569
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_trigger[path], MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3572
_tssi_trigger[path], tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3575
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], true,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3586
tx_counter_tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3589
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_rpt_addr[path],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3602
k, tx_counter_tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3608
k, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3610
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3615
rtw89_phy_read32_mask(rtwdev, _tssi_cw_rpt_addr[path],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3618
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3625
tx_counter_tmp, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3632
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3656
path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3685
ok = _tssi_get_cw_report(rtwdev, phy, path, power, tssi_cw_rpt, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3695
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_default_addr[path][1],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3702
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_default_addr[path][2],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3707
tmp = rtw89_phy_read32_mask(rtwdev, _tssi_cw_default_addr[path][3],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
371
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3712
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
373
rtw89_write_rf(rtwdev, path, RR_DCK1, RR_DCK1_CLR, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
374
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3742
tssi_info->alignment_done[path][band] = true;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3743
tssi_info->alignment_value[path][band][0] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3744
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3745
tssi_info->alignment_value[path][band][1] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3746
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3747
tssi_info->alignment_value[path][band][2] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3748
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3749
tssi_info->alignment_value[path][band][3] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
375
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3750
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3752
tssi_info->check_backup_aligmk[path][ch_idx] = true;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3753
tssi_info->alignment_backup_by_ch[path][ch_idx][0] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3754
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM1 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3755
tssi_info->alignment_backup_by_ch[path][ch_idx][1] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3756
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM3 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3757
tssi_info->alignment_backup_by_ch[path][ch_idx][2] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3758
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM2 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3759
tssi_info->alignment_backup_by_ch[path][ch_idx][3] =
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3760
rtw89_phy_read32_mask(rtwdev, R_P0_TSSI_ALIM4 + (path << 13), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3764
path, band, R_P0_TSSI_ALIM1 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3765
tssi_info->alignment_value[path][band][0]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3768
path, band, R_P0_TSSI_ALIM3 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3769
tssi_info->alignment_value[path][band][1]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3772
path, band, R_P0_TSSI_ALIM2 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3773
tssi_info->alignment_value[path][band][2]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3776
path, band, R_P0_TSSI_ALIM4 + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3777
tssi_info->alignment_value[path][band][3]);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3797
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3799
for (path = 0; path < 2; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3800
dpk->cur_idx[path] = 0;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3801
dpk->max_dpk_txagc[path] = 0x3F;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
381
u8 path, dck_tune;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3811
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3813
for (path = 0; path < RF_PATH_NUM_8852BT; path++)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3814
_rck(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
388
for (path = 0; path < RF_PATH_NUM_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
389
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
390
dck_tune = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_FINE);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
392
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
394
R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
397
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
398
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
399
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
400
_set_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4009
static void _bw_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
401
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, dck_tune);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4017
rf_reg18 = rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
402
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4020
"[RFK]Invalid RF_0x18 for Path-%d\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
404
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4044
rtw89_write_rf(rtwdev, path, reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4047
bw, path, reg18_addr,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4048
rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
406
R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
411
static void _rck(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4138
static void _ch_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4147
rf_reg18 = rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4160
if (path == RF_PATH_A && dav)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4163
rtw89_write_rf(rtwdev, path, reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4165
rtw89_write_rf(rtwdev, path, RR_LCKST, RR_LCKST_BIN, 0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4166
rtw89_write_rf(rtwdev, path, RR_LCKST, RR_LCKST_BIN, 1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4170
central_ch, path, reg18_addr,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4171
rtw89_read_rf(rtwdev, path, reg18_addr, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
418
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RCK] ====== S%d RCK ======\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4183
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4185
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4186
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M2, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4189
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x1b);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4191
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x13);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4193
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0xb);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4195
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4198
path, rtw89_read_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
420
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4200
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4206
u8 kpath, path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4210
for (path = 0; path < RF_PATH_NUM_8852BT; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4211
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4214
_set_rxbb_bw(rtwdev, bw, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
422
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
423
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
426
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4262
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4267
for (path = 0; path < RTW8852BT_SS; path++)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4268
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4272
for (path = 0; path < RTW8852BT_SS; path++)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4273
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
429
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, 0x00240);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
432
false, rtwdev, path, RR_RCKS, BIT(3));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
434
rck_val = rtw89_read_rf(rtwdev, path, RR_RCKC, RR_RCKC_CA);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
439
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, rck_val);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
440
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
443
rtw89_read_rf(rtwdev, path, RR_RCKC, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
531
void _dack_reset(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
533
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
543
void _dack_reload_by_path(struct rtw89_dev *rtwdev, u8 path, u8 index)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
555
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
570
tmp |= dack->msbk_d[path][index][i + 12] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
579
tmp |= dack->msbk_d[path][index][i + 8] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
588
tmp |= dack->msbk_d[path][index][i + 4] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
597
tmp |= dack->msbk_d[path][index][i] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
604
tmp = (dack->biask_d[path][index] << 22) |
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
605
(dack->dadck_d[path][index] << 14);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
616
void _dack_reload(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
621
_dack_reload_by_path(rtwdev, path, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
924
static bool _iqk_check_cal(struct rtw89_dev *rtwdev, u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
953
u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
961
iqk_cmd = 0x008 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
964
iqk_cmd = 0x108 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
967
iqk_cmd = 0x208 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
970
iqk_cmd = 0x308 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
973
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
974
(((0x8 + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
977
iqk_cmd = 0x508 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
980
iqk_cmd = 0x008 | (1 << (path + 4)) |
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
981
(((0xb + iqk_info->iqk_bw[path]) & 0xf) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
984
iqk_cmd = 0x408 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
987
iqk_cmd = 0x608 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
997
fail = _iqk_check_cal(rtwdev, path, ktype);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1000
reg = bb_gain_op1db_a.reg_tia0_lna6[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1002
val = gain->tia_lna_op1db[gain_band][path][7];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1008
reg = bb_gain_tia[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1010
reg = bb_gain_tia[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1013
val = gain->tia_gain[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1021
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1035
if (rtwdev->dbcc_en && path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1039
offset_q0 = efuse_gain->offset[path][RTW89_GAIN_OFFSET_2G_CCK];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1049
offset_q0 = -efuse_gain->offset[path][gain_band];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1054
rtw89_phy_write32_mask(rtwdev, rssi_ofst_addr[path], B_PATH0_R_G_OFST_MASK, tmp & 0xff);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1057
rtw89_phy_write32_idx(rtwdev, R_RPL_PATHAB, rpl_mask[path], tmp & 0xff, phy_idx);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1058
rtw89_phy_write32_idx(rtwdev, R_RSSI_M_PATHAB, rpl_tb_mask[path], tmp & 0xff, phy_idx);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1184
static void rtw8852c_bw_setting(struct rtw89_dev *rtwdev, u8 bw, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1191
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1192
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1195
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1196
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1202
rtw89_phy_write32_mask(rtwdev, adc_sel[path], 0x6000, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1203
rtw89_phy_write32_mask(rtwdev, wbadc_sel[path], 0x30, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1411
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1413
const struct rtw89_nbi_reg_def *nbi = &rtw8852c_nbi_reg_def[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1648
void rtw8852c_bb_gpio_trsw(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1657
if (path >= ARRAY_SIZE(path_cr_bases))
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1660
cr = path_cr_bases[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1675
void rtw8852c_bb_gpio_rfm(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1685
if (src >= ARRAY_SIZE(masks) || path >= ARRAY_SIZE(path_cr_bases))
drivers/net/wireless/realtek/rtw89/rtw8852c.c
1689
cr = path_cr_bases[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2181
sar_parm.path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2186
sar_parm.path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2655
void rtw8852c_set_trx_mask(struct rtw89_dev *rtwdev, u8 path, u8 group, u32 val)
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2657
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x20000);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2658
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, group);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2659
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2660
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2955
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2962
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2963
status->chains |= BIT(path);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2964
status->chain_signal[path] = RTW89_RSSI_RAW_TO_DBM(rx_power[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c.c
956
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c.c
967
reg = bb_gain_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
969
reg = bb_gain_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
972
val = gain->lna_gain[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
976
reg = bb_gain_bypass_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
979
reg = bb_gain_bypass_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
983
val = gain->lna_gain_bypass[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
987
reg = bb_gain_op1db_a.reg[i].lna[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
989
val = gain->lna_op1db[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
992
reg = bb_gain_op1db_a.reg[i].tia_lna[path];
drivers/net/wireless/realtek/rtw89/rtw8852c.c
994
val = gain->tia_lna_op1db[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1003
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1004
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1006
iqk_info->nb_txcfir[path] = 0x40000000;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1007
iqk_info->is_wb_txiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1014
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1020
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1022
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, _txk_g_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1023
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, _txk_g_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1024
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, _txk_g_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1025
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1029
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, _txk_a_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1030
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, _txk_a_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1031
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, _txk_a_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1032
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1036
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, _txk_a6_power_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1037
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, _txk_a6_track_range[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1038
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, _txk_a6_gain_bb[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1039
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1046
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1047
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SET, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1048
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1049
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP, gp + 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1052
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_NBTXK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1055
iqk_info->nb_txcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1056
rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1059
iqk_info->nb_txcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1061
iqk_info->is_wb_txiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1066
static bool _lok_finetune_check(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1079
val = rtw89_read_rf(rtwdev, path, RR_TXMO, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1088
iqk_info->lok_idac[idx][path] = val;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1090
val = rtw89_read_rf(rtwdev, path, RR_LOKVB, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1099
iqk_info->lok_vbuf[idx][path] = val;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1105
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1116
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1118
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1119
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1124
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1125
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1130
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1131
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1138
tmp = _iqk_one_shot(rtwdev, phy_idx, path, tmp_id);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1139
iqk_info->lok_cor_fail[0][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1142
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1144
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1145
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1149
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1150
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1154
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1155
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1161
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1164
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1166
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1167
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1172
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1173
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1178
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1179
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1186
tmp = _iqk_one_shot(rtwdev, phy_idx, path, tmp_id);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1187
iqk_info->lok_fin_fail[0][path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1190
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1193
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1194
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1198
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1199
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1203
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1204
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1208
tmp = _iqk_one_shot(rtwdev, phy_idx, path, ID_FLOK_VBUFFER);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1209
fail = _lok_finetune_check(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1214
static void _iqk_txk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1218
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1221
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1222
rtw89_write_rf(rtwdev, path, RR_TXG1, RR_TXG1_ATT1, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1223
rtw89_write_rf(rtwdev, path, RR_TXG2, RR_TXG2_ATT0, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1224
rtw89_write_rf(rtwdev, path, RR_TXA2, RR_TXA2_LDO, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1225
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1226
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1227
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1230
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1231
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1234
rtw89_write_rf(rtwdev, path, RR_TXATANK, RR_TXATANK_LBSW2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1235
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXAS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1236
rtw89_write_rf(rtwdev, path, RR_TXA2, RR_TXA2_LDO, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1237
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1238
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1239
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1242
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1243
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1246
rtw89_write_rf(rtwdev, path, RR_TXATANK, RR_TXATANK_LBSW2, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1247
rtw89_write_rf(rtwdev, path, RR_TXPOW, RR_TXPOW_TXAS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1248
rtw89_write_rf(rtwdev, path, RR_TXA2, RR_TXA2_LDO, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1249
rtw89_write_rf(rtwdev, path, RR_TXGA, RR_TXGA_LOK_EXT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1250
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1251
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1254
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1255
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x6);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1261
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1267
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_thermal = %lu\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1268
ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1269
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_LOK_COR_fail= %d\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1270
iqk_info->lok_cor_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1271
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_LOK_FIN_fail= %d\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1272
iqk_info->lok_fin_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1273
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_TXIQK_fail = %d\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1274
iqk_info->iqk_tx_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1275
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%d_RXIQK_fail= %d,\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1276
iqk_info->iqk_rx_fail[0][path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1278
flag = iqk_info->lok_cor_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1279
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_FCOR << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1280
flag = iqk_info->lok_fin_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1281
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_FFIN << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1282
flag = iqk_info->iqk_tx_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1283
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_FTX << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1284
flag = iqk_info->iqk_rx_fail[0][path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1285
rtw89_phy_write32_mask(rtwdev, R_IQKINF, B_IQKINF_F_RX << (path * 4), flag);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1287
tmp = rtw89_phy_read32_mask(rtwdev, R_IQK_RES + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1288
iqk_info->bp_iqkenable[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1289
tmp = rtw89_phy_read32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1290
iqk_info->bp_txkresult[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1291
tmp = rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1292
iqk_info->bp_rxkresult[path] = tmp;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1297
tmp = rtw89_phy_read32_mask(rtwdev, R_IQKINF, B_IQKINF_FAIL << (path * 4));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1300
rtw89_phy_write32_mask(rtwdev, R_IQKINF2, B_IQKINF2_FCNT << (path * 4),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1304
static void _iqk_by_path(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1308
_iqk_txk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1309
iqk_info->lok_fail[path] = _iqk_lok(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1312
iqk_info->iqk_tx_fail[0][path] = _iqk_nbtxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1314
iqk_info->iqk_tx_fail[0][path] = _txk_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1316
_iqk_rxk_setting(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1318
iqk_info->iqk_rx_fail[0][path] = _iqk_nbrxk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1320
iqk_info->iqk_rx_fail[0][path] = _rxk_group_sel(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1322
_iqk_info_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1326
enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1334
iqk_info->iqk_band[path] = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1335
iqk_info->iqk_bw[path] = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1336
iqk_info->iqk_ch[path] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1339
"[IQK]iqk_info->iqk_band[%x] = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1340
iqk_info->iqk_band[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1342
path, iqk_info->iqk_bw[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1344
path, iqk_info->iqk_ch[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1346
"[IQK]S%d (PHY%d): / DBCC %s/ %s/ CH%d/ %s\n", path, phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1348
iqk_info->iqk_band[path] == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1349
iqk_info->iqk_band[path] == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1350
iqk_info->iqk_ch[path],
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1351
iqk_info->iqk_bw[path] == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1352
iqk_info->iqk_bw[path] == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1359
rtw89_phy_write32_mask(rtwdev, R_IQKCH, B_IQKCH_BAND << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1360
iqk_info->iqk_band[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1361
rtw89_phy_write32_mask(rtwdev, R_IQKCH, B_IQKCH_BW << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1362
iqk_info->iqk_bw[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1363
rtw89_phy_write32_mask(rtwdev, R_IQKCH, B_IQKCH_CH << (path * 16),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1364
iqk_info->iqk_ch[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1370
u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1372
_iqk_by_path(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1375
static void _iqk_restore(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1380
rtw89_phy_write32_mask(rtwdev, R_TXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1381
iqk_info->nb_txcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1382
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1383
iqk_info->nb_rxcfir[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1385
0x00001219 + (path << 4));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1387
fail = _iqk_check_cal(rtwdev, path, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1394
rtw89_write_rf(rtwdev, path, RR_LUTWE, RR_LUTWE_LOK, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1395
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1396
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1400
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1402
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1406
rtw8852c_disable_rxagc(rtwdev, path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1409
static void _iqk_preset(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1415
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8), B_COEF_SEL_IQC, idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1416
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_G3, idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1417
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1423
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1428
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1429
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A0 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1430
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A1 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1431
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A2 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1432
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A3 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1435
rtw8852c_disable_rxagc(rtwdev, path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1436
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK | (path << 13), MASKDWORD, 0xf801fffd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1437
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK | (path << 13), B_DPD_DIS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1438
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK | (path << 13), B_DAC_VAL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1440
rtw8852c_txck_force(rtwdev, path, true, DAC_960M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1441
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK | (path << 13), B_DPD_GDIS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1443
rtw8852c_rxck_force(rtwdev, path, true, ADC_1920M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1444
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK | (path << 13), B_ACK_VAL, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1446
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW | (path << 13), B_P0_NRBW_DBG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1451
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A1 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1452
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A3 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1455
static void _rck(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1461
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RCK] ====== S%d RCK ======\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1463
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1465
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1466
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1469
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1472
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, 0x00240);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1475
false, rtwdev, path, 0x1c, BIT(3));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1479
rck_val = rtw89_read_rf(rtwdev, path, RR_RCKC, RR_RCKC_CA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1480
rtw89_write_rf(rtwdev, path, RR_RCKC, RFREG_MASK, rck_val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1482
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1486
rtw89_read_rf(rtwdev, path, RR_RCKC, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1487
rtw89_read_rf(rtwdev, path, RR_RCKS, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1493
u8 ch, path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1510
for (path = 0; path < RTW8852C_IQK_SS; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1511
iqk_info->lok_cor_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1512
iqk_info->lok_fin_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1513
iqk_info->iqk_tx_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1514
iqk_info->iqk_rx_fail[ch][path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1515
iqk_info->iqk_mcc_ch[ch][path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1516
iqk_info->iqk_table_idx[path] = 0x0;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1522
enum rtw89_phy_idx phy_idx, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
153
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1538
_iqk_get_ch_info(rtwdev, phy_idx, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1540
_rfk_backup_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1541
_iqk_macbb_setting(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1542
_iqk_preset(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1543
_iqk_start_iqk(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1544
_iqk_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1545
_iqk_afebb_restore(rtwdev, phy_idx, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1547
_rfk_restore_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
157
for (path = 0; path < RF_PATH_MAX; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1570
static void _rx_dck_value_rewrite(struct rtw89_dev *rtwdev, u8 path, u8 addr,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
158
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1582
rtw89_write_rf(rtwdev, path, RR_LUTPLL, RR_CAL_RW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1583
rtw89_write_rf(rtwdev, path, RR_RFC, RR_WCAL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1584
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1585
rtw89_write_rf(rtwdev, path, RR_LUTWA, MASKBYTE0, addr);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1586
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, ofst_val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1587
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, ofst_val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1588
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_FINE, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1589
rtw89_write_rf(rtwdev, path, RR_RFC, RR_WCAL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1590
rtw89_write_rf(rtwdev, path, RR_LUTPLL, RR_CAL_RW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1597
static bool _rx_dck_rek_check(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1607
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr_bs[i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1608
i_even_bs = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1609
q_even_bs = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1614
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr[i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1615
i_even = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1616
q_even = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
162
2, 5000, false, rtwdev, path, 0x00,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1624
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr_bs[i] + 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1625
i_odd_bs = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1626
q_odd_bs = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1631
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr[i] + 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1632
i_odd = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1633
q_odd = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1645
static void _rx_dck_fix_if_need(struct rtw89_dev *rtwdev, u8 path, u8 addr,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
166
path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1667
_rx_dck_value_rewrite(rtwdev, path, addr, val_i, val_q);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1670
static void _rx_dck_recover(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1681
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr_bs[i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1682
i_even_bs = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1683
q_even_bs = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1685
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr_bs[i] + 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1686
i_odd_bs = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1687
q_odd_bs = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1693
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr[i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1694
i_even = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1695
q_even = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1700
_rx_dck_fix_if_need(rtwdev, path, _dck_addr[i],
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1707
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_DCK, _dck_addr[i] + 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1708
i_odd = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1709
q_odd = rtw89_read_rf(rtwdev, path, RR_DCK1, RR_DCK1_TIA);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1714
_rx_dck_fix_if_need(rtwdev, path, _dck_addr[i] + 1,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1719
static void _rx_dck_toggle(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1724
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1725
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1728
2, 2000, false, rtwdev, path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1731
rtw89_warn(rtwdev, "[RX_DCK] S%d RXDCK timeout\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1733
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RX_DCK] S%d RXDCK finish\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1735
rtw89_write_rf(rtwdev, path, RR_DCK, RR_DCK_LV, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1738
static void _set_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1743
rtw89_write_rf(rtwdev, path, RR_DCK1, RR_DCK1_CLR, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1745
_rx_dck_toggle(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1746
if (rtw89_read_rf(rtwdev, path, RR_DCKC, RR_DCKC_CHK) == 0)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1748
res = rtw89_read_rf(rtwdev, path, RR_DCK, RR_DCK_DONE);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1750
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_IDAC, res);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1751
_rx_dck_toggle(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1752
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_IDAC, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1835
enum rtw89_rf_path path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1838
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1840
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1844
enum rtw89_rf_path path, bool off);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1847
u32 reg_bkup[][RTW8852C_DPK_KIP_REG_NUM], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1852
reg_bkup[path][i] =
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1853
rtw89_phy_read32_mask(rtwdev, reg[i] + (path << 8), MASKDWORD);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1856
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1861
u32 reg_bkup[][RTW8852C_DPK_KIP_REG_NUM], u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1866
rtw89_phy_write32_mask(rtwdev, reg[i] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1867
MASKDWORD, reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1869
reg[i] + (path << 8), reg_bkup[path][i]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1874
enum rtw89_rf_path path, enum rtw8852c_dpk_id id)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1880
dpk_cmd = (u16)((id << 8) | (0x19 + path * 0x12));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1909
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1914
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1916
dpk->bp[path][kidx].band = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1917
dpk->bp[path][kidx].ch = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1918
dpk->bp[path][kidx].bw = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1922
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1923
str_on_off(rtwdev->is_tssi_mode[path]),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1925
dpk->bp[path][kidx].band == 0 ? "2G" :
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1926
dpk->bp[path][kidx].band == 1 ? "5G" : "6G",
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1927
dpk->bp[path][kidx].ch,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1928
dpk->bp[path][kidx].bw == 0 ? "20M" :
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1929
dpk->bp[path][kidx].bw == 1 ? "40M" : "80M");
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1934
enum rtw89_rf_path path, u8 kpath)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1937
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A0 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1938
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A1 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1939
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A2 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1940
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A3 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1943
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), MASKDWORD, 0xd801dffd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1946
rtw8852c_txck_force(rtwdev, path, true, DAC_960M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1949
rtw8852c_rxck_force(rtwdev, path, true, ADC_1920M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1950
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1958
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A1 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1959
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A3 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1961
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d BB/AFE setting\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1964
static void _dpk_bb_afe_restore(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1966
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1968
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A0 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1969
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A1 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1970
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A2 << path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1971
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A3 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1972
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), MASKDWORD, 0x00000000);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1973
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK + (path << 13), B_P0_TXCK_ALL, 0x00);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1974
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A0 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1975
rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_A2 << path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1977
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d BB/AFE restore\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1981
enum rtw89_rf_path path, bool is_pause)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1983
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1986
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d TSSI %s\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1990
static void _dpk_kip_control_rfc(struct rtw89_dev *rtwdev, u8 path, bool ctrl_by_kip)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1992
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_IQK_RFC_ON, ctrl_by_kip);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1997
static void _dpk_txpwr_bb_force(struct rtw89_dev *rtwdev, u8 path, bool force)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1999
rtw89_phy_write32_mask(rtwdev, R_TXPWRB + (path << 13), B_TXPWRB_ON, force);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2000
rtw89_phy_write32_mask(rtwdev, R_TXPWRB_H + (path << 13), B_TXPWRB_RDY, force);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2003
path, str_on_off(force));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2007
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2009
_dpk_one_shot(rtwdev, phy, path, D_KIP_RESTORE);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2010
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2011
_dpk_txpwr_bb_force(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2012
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d restore KIP\n", path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2017
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2023
rtw89_phy_write32_mask(rtwdev, R_DPD_V1 + (path << 8), B_DPD_LBK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2026
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2028
cur_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2029
rf_11 = rtw89_read_rf(rtwdev, path, RR_TXIG, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2030
reg_81cc = rtw89_phy_read32_mask(rtwdev, R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2033
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2034
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2035
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2036
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB, 0x1f);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2038
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_IQSW, 0x12);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2039
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_SW, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2041
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2045
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2047
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d LBK RXIQC = 0x%x\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2048
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2050
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2052
rtw89_write_rf(rtwdev, path, RR_TXIG, RFREG_MASK, rf_11);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2053
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB, cur_rxbb);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2054
rtw89_phy_write32_mask(rtwdev, R_KIP_IQP + (path << 8), B_KIP_IQP_SW, reg_81cc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2058
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_DI, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2060
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2064
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2068
if (dpk->bp[path][kidx].band == RTW89_BAND_2G) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2069
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2071
rtw89_write_rf(rtwdev, path, RR_MOD_V1, RR_MOD_MASK, RF_DPK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2072
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_ATTC, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2073
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_ATTR, 0x4);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2074
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_TIA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2075
rtw89_write_rf(rtwdev, path, RR_TIA, RR_TIA_N6, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2079
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2080
rtw89_read_rf(rtwdev, path, RR_RXBB, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2081
rtw89_read_rf(rtwdev, path, RR_TIA, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2082
rtw89_read_rf(rtwdev, path, RR_BTC, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2083
rtw89_read_rf(rtwdev, path, RR_LUTDBG, RFREG_MASK),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2084
rtw89_read_rf(rtwdev, path, 0x1001a, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2086
rtw89_write_rf(rtwdev, path, RR_MOD, RFREG_MASK,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2088
rtw89_write_rf(rtwdev, path, RR_MOD_V1, RR_MOD_MASK, RF_DPK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2090
if (dpk->bp[path][kidx].band == RTW89_BAND_6G && dpk->bp[path][kidx].ch >= 161)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2091
rtw89_write_rf(rtwdev, path, RR_IQGEN, RR_IQGEN_BIAS, 0x8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2093
rtw89_write_rf(rtwdev, path, RR_LOGEN, RR_LOGEN_RPT, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2094
rtw89_write_rf(rtwdev, path, RR_TXAC, RR_TXAC_IQG, 0x8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2096
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_ATT, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2097
rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT2, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2098
rtw89_write_rf(rtwdev, path, RR_LUTDBG, RR_LUTDBG_TIA, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2099
rtw89_write_rf(rtwdev, path, RR_TIA, RR_TIA_N6, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2101
if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_160)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2102
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_EBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2106
static void _dpk_tpg_sel(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2110
if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_160) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2113
} else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2116
} else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2124
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_160 ? "160M" :
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2125
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80 ? "80M" :
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2126
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ? "40M" : "20M");
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2129
static bool _dpk_sync_check(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2144
dpk->corr_idx[path][kidx] = corr_idx;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2145
dpk->corr_val[path][kidx] = corr_val;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2157
path, corr_idx, corr_val, dc_i, dc_q);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2159
dpk->dc_i[path][kidx] = dc_i;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2160
dpk->dc_q[path][kidx] = dc_q;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2170
path, rxbb,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2208
static void _dpk_kset_query(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2212
rtw89_phy_write32_mask(rtwdev, R_KIP_RPT + (path << 8), B_KIP_RPT_SEL, 0x10);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2214
rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), 0xE0000000) - 1;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2218
enum rtw89_rf_path path, u8 dbm, bool set_from_bb)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2222
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] set S%d txagc to %ddBm\n", path, dbm);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2223
rtw89_phy_write32_mask(rtwdev, R_TXPWRB + (path << 13), B_TXPWRB_VAL, dbm << 2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2225
_dpk_one_shot(rtwdev, phy, path, D_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2226
_dpk_kset_query(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2230
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2232
_dpk_one_shot(rtwdev, phy, path, D_GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2233
_dpk_kip_set_txagc(rtwdev, phy, path, 0xff, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2235
rtw89_phy_write32_mask(rtwdev, R_DPK_GL + (path << 8), B_DPK_GL_A1, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2236
rtw89_phy_write32_mask(rtwdev, R_DPK_GL + (path << 8), B_DPK_GL_A0, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2287
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2289
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2291
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2292
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2294
_dpk_one_shot(rtwdev, phy, path, D_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2296
return _dpk_sync_check(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2315
static void _dpk_bypass_rxiqc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2317
rtw89_phy_write32_mask(rtwdev, R_DPD_V1 + (path << 8), B_DPD_LBK, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2318
rtw89_phy_write32_mask(rtwdev, R_RXIQC + (path << 8), MASKDWORD, 0x40000002);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2324
enum rtw89_rf_path path, u8 kidx, u8 init_xdbm, u8 loss_only)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2339
is_fail = _dpk_kip_set_rxagc(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2352
_dpk_one_shot(rtwdev, phy, path, D_SYNC);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2357
if (dpk->bp[path][kidx].band == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2358
_dpk_bypass_rxiqc(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2360
_dpk_lbk_rxiqk(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2366
tmp_gl_idx = _dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2387
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2399
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2406
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2407
tmp_rxbb = rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2413
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXBB, tmp_rxbb);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2416
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2454
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2469
else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_5 ||
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2470
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_10 ||
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2471
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_20)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2473
else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ||
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2474
dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2482
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2491
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2498
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2503
enum rtw89_rf_path path, enum rtw89_chanctx_idx chanctx_idx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2514
if (cur_band != dpk->bp[path][idx].band ||
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2515
cur_ch != dpk->bp[path][idx].ch)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2518
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2520
dpk->cur_idx[path] = idx;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2523
"[DPK] reload S%d[%d] success\n", path, idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2536
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2539
rtw89_read_rf(rtwdev, path, RR_MOD, RFREG_MASK));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2543
R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2547
R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2550
_dpk_kip_control_rfc(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2551
rtw89_phy_write32_mask(rtwdev, R_COEF_SEL + (path << 8), B_COEF_SEL_MDPD, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2553
_dpk_one_shot(rtwdev, phy, path, D_KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2556
static void _dpk_para_query(struct rtw89_dev *rtwdev, enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2563
para = rtw89_phy_read32_mask(rtwdev, dpk_par_regs[kidx][dpk->cur_k_set] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2566
dpk->bp[path][kidx].txagc_dpk = FIELD_GET(_DPK_PARA_TXAGC, para);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2567
dpk->bp[path][kidx].ther_dpk = FIELD_GET(_DPK_PARA_THER, para);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2570
dpk->cur_k_set, dpk->bp[path][kidx].ther_dpk, dpk->bp[path][kidx].txagc_dpk);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2574
enum rtw89_rf_path path, u8 kidx, bool is_execute)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2579
rtw89_phy_write32_mask(rtwdev, R_DPK_GN + (path << 8), B_DPK_GN_AG, 0x200);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2580
rtw89_phy_write32_mask(rtwdev, R_DPK_GN + (path << 8), B_DPK_GN_EN, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2582
_dpk_one_shot(rtwdev, phy, path, D_GAIN_NORM);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2584
rtw89_phy_write32_mask(rtwdev, dpk_par_regs[kidx][dpk->cur_k_set] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2587
dpk->bp[path][kidx].gs =
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2588
rtw89_phy_read32_mask(rtwdev, dpk_par_regs[kidx][dpk->cur_k_set] + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2621
enum rtw89_rf_path path, u8 kidx)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2625
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2626
rtw89_phy_write32_mask(rtwdev, R_LOAD_COEF + (path << 8), B_LOAD_COEF_MDPD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2627
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2630
dpk->bp[path][kidx].mdpd_en = BIT(dpk->cur_k_set);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2631
dpk->bp[path][kidx].path_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2634
path, kidx, dpk->bp[path][kidx].mdpd_en);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2636
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2637
B_DPD_MEN, dpk->bp[path][kidx].mdpd_en);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2639
_dpk_gain_normalize_8852c(rtwdev, phy, path, kidx, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2643
enum rtw89_rf_path path, u8 gain)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2646
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2651
"[DPK] ========= S%d[%d] DPK Start =========\n", path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2652
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2653
_rf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2654
rtw89_write_rf(rtwdev, path, RR_BBDC, RFREG_MASK, 0x03ffd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2655
_dpk_rf_setting(rtwdev, gain, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2656
_set_rx_dck(rtwdev, phy, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2658
_dpk_kip_preset_8852c(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2659
_dpk_txpwr_bb_force(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2660
_dpk_kip_set_txagc(rtwdev, phy, path, init_xdbm, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2661
_dpk_tpg_sel(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2663
is_fail = _dpk_agc(rtwdev, phy, path, kidx, init_xdbm, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2667
_dpk_idl_mpa(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2668
_dpk_para_query(rtwdev, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2669
_dpk_on(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2672
_dpk_kip_control_rfc(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2673
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RF_RX);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2674
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d]_K%d %s\n", path, kidx,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2680
static void _dpk_init(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2683
u8 kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2685
dpk->bp[path][kidx].path_ok = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2688
static void _dpk_drf_direct_cntrl(struct rtw89_dev *rtwdev, u8 path, bool is_bybb)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2691
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2693
rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2704
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2710
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2711
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2714
reloaded[path] = _dpk_reload_check(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2716
if (!reloaded[path] && dpk->bp[path][0].ch != 0)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2717
dpk->cur_idx[path] = !dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2719
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2722
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2723
dpk->cur_idx[path] = 0;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2726
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2729
path, dpk->cur_idx[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2730
_dpk_bkup_kip(rtwdev, kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2731
_rfk_backup_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2732
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2733
_dpk_init(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2734
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2735
_dpk_tssi_pause(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2738
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2741
path, dpk->cur_idx[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2742
rtw8852c_disable_rxagc(rtwdev, path, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2743
_dpk_drf_direct_cntrl(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2744
_dpk_bb_afe_setting(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2745
is_fail = _dpk_main(rtwdev, phy, path, 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2746
_dpk_onoff(rtwdev, path, is_fail);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2749
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2752
path, dpk->cur_idx[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2753
_dpk_kip_restore(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2754
_dpk_reload_kip(rtwdev, kip_reg, kip_bkup, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2755
_rfk_restore_rf_reg(rtwdev, backup_rf_val[path], path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2756
_dpk_bb_afe_restore(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2757
rtw8852c_disable_rxagc(rtwdev, path, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2758
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2759
_dpk_tssi_pause(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2791
u8 path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2795
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2796
if (kpath & BIT(path))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2797
_dpk_onoff(rtwdev, path, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2819
enum rtw89_rf_path path, bool off)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2822
u8 val, kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2824
val = dpk->is_dpk_enable && !off && dpk->bp[path][kidx].path_ok ?
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2825
dpk->bp[path][kidx].mdpd_en : 0;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2827
rtw89_phy_write32_mask(rtwdev, R_DPD_CH0A + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2830
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] S%d[%d] DPK %s !!!\n", path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2837
u8 path, kidx;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2844
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2845
kidx = dpk->cur_idx[path];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2848
path, kidx, dpk->bp[path][kidx].ch);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2851
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13), 0x0000003f);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2853
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BB + (path << 13), MASKBYTE2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2855
rtw89_phy_read32_mask(rtwdev, R_TXAGC_BTP + (path << 13), B_TXAGC_BTP);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2858
rtw89_phy_write32_mask(rtwdev, R_KIP_RPT + (path << 8), B_KIP_RPT_SEL, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2860
rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), B_RPT_PER_TH);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2862
rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), B_RPT_PER_OF);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2864
rtw89_phy_read32_mask(rtwdev, R_RPT_PER + (path << 8), B_RPT_PER_TSSI);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2867
cur_ther = ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2872
if (dpk->bp[path][kidx].ch != 0 && cur_ther != 0)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2873
delta_ther = dpk->bp[path][kidx].ther_dpk - cur_ther;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2879
delta_ther, cur_ther, dpk->bp[path][kidx].ther_dpk);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2882
txagc_rf - dpk->bp[path][kidx].txagc_dpk, txagc_rf,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2883
dpk->bp[path][kidx].txagc_dpk);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2896
rtw89_phy_write32_mask(rtwdev, R_DPD_BND + (path << 8) + (kidx << 2),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2903
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2923
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2939
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2941
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2948
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2950
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2956
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2960
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2974
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2976
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2982
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
304
enum rtw89_rf_path path, u8 index)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3096
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
312
path_offset = (path == RF_PATH_A ? 0 : 0x28);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
320
val32 |= dack->msbk_d[path][index][i + 12] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3200
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3204
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3216
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3222
if (path == RF_PATH_A) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3242
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3244
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3250
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3252
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3258
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3260
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3267
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3269
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3277
u32 i, path = RF_PATH_A, path_max = RF_PATH_NUM_8852C;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3281
path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3284
path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3289
for (i = path; i < path_max; i++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
329
val32 |= dack->msbk_d[path][index][i + 8] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3305
u32 i, path = RF_PATH_A, path_max = RF_PATH_NUM_8852C;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3309
path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3312
path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3317
for (i = path; i < path_max; i++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
338
val32 |= dack->msbk_d[path][index][i + 4] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
347
val32 |= dack->msbk_d[path][index][i] << (i * 8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
354
val32 = (dack->biask_d[path][index] << 22) |
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
355
(dack->dadck_d[path][index] << 14);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
361
static void _dack_reload(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3627
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3642
path, gidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3647
de_1st = tssi_info->tssi_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3648
de_2nd = tssi_info->tssi_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3653
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3655
val = tssi_info->tssi_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3658
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
366
_dack_reload_by_path(rtwdev, path, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3665
path, gidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3670
de_1st = tssi_info->tssi_6g_mcs[path][gidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3671
de_2nd = tssi_info->tssi_6g_mcs[path][gidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3676
path, val, de_1st, de_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3678
val = tssi_info->tssi_6g_mcs[path][gidx];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3681
"[TSSI][TRIM]: path=%d mcs de=%d\n", path, val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3690
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3705
path, tgidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3710
tde_1st = tssi_info->tssi_trim[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3711
tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3716
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3718
val = tssi_info->tssi_trim[path][tgidx];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3722
path, val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3729
path, tgidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3734
tde_1st = tssi_info->tssi_trim_6g[path][tgidx_1st];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3735
tde_2nd = tssi_info->tssi_trim_6g[path][tgidx_2nd];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3740
path, val, tde_1st, tde_2nd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3742
val = tssi_info->tssi_trim_6g[path][tgidx];
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3746
path, val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3762
u32 i, path = RF_PATH_A, path_max = RF_PATH_NUM_8852C;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3769
path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3772
path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3777
for (i = path; i < path_max; i++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3819
enum rtw89_rf_path path, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3825
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], BIT(30), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3826
rtw89_phy_write32_mask(rtwdev, tssi_en[path], BIT(31), 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3827
if (rtwdev->dbcc_en && path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3832
rtw89_phy_write32_mask(rtwdev, tssi_trk[path], BIT(30), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3833
rtw89_phy_write32_mask(rtwdev, tssi_en[path], BIT(31), 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3851
static void _bw_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3863
rf_reg18 = rtw89_read_rf(rtwdev, path, reg_reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3871
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_BW0, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3872
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW1 | (path << 8), B_P0_CFCH_BW1, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3876
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_BW0, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3877
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW1 | (path << 8), B_P0_CFCH_BW1, 0xf);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3881
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_BW0, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3882
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW1 | (path << 8), B_P0_CFCH_BW1, 0xd);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3886
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_BW0, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3887
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW1 | (path << 8), B_P0_CFCH_BW1, 0xb);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3893
rtw89_write_rf(rtwdev, path, reg_reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3900
u8 kpath, path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3906
for (path = 0; path < 2; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3907
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3911
_bw_setting(rtwdev, path, bw, is_dav);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3913
_bw_setting(rtwdev, path, bw, is_dav);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3917
if (path == RF_PATH_B && rtwdev->hal.cv == CHIP_CAV) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3928
static void _ch_setting(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3940
rf_reg18 = rtw89_read_rf(rtwdev, path, reg_reg18_addr, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3960
rtw89_write_rf(rtwdev, path, reg_reg18_addr, RFREG_MASK, rf_reg18);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3967
u8 kpath, path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3982
for (path = 0; path < 2; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3983
if (kpath & BIT(path)) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3984
_ch_setting(rtwdev, path, central_ch, band, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3985
_ch_setting(rtwdev, path, central_ch, band, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3990
static void _set_rxbb_bw(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3995
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3996
rtw89_write_rf(rtwdev, path, RR_LUTWA, RR_LUTWA_M2, 0xa);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4014
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RR_LUTWD0_LB, val);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4015
rtw89_write_rf(rtwdev, path, RR_LUTWE2, RR_LUTWE2_RTXBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4018
static void _set_tia_bw(struct rtw89_dev *rtwdev, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4022
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_EBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4024
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_EBW, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4031
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4034
for (path = 0; path < 2; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4035
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4038
_set_rxbb_bw(rtwdev, path, bw);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4039
_set_tia_bw(rtwdev, path, bw);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4046
int path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4048
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4049
lck->thermal[path] =
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4050
ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4052
"[LCK] path=%d thermal=0x%x", path, lck->thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4059
int path = rtwdev->dbcc_en ? 2 : 1;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4067
for (i = 0; i < path; i++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
407
static void _dack_reset(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4083
int path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4085
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4087
ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4088
delta = abs((int)cur_thermal - lck->thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
409
rtw89_rfk_parser_by_cond(rtwdev, path == RF_PATH_A,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4092
path, cur_thermal, delta);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4164
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4166
for (path = 0; path < 2; path++)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4167
_rck(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4202
u8 path, kpath;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4212
for (path = 0; path < 2; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4213
rf_reg5 = rtw89_read_rf(rtwdev, path, RR_RSV1, RFREG_MASK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4214
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4217
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4218
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4220
rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4221
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, RR_MOD_V_RX);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4222
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_LO_SEL, rtwdev->dbcc_en);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4225
_set_rx_dck(rtwdev, phy, path, is_afe);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4231
_rx_dck_recover(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4235
is_fail = _rx_dck_rek_check(rtwdev, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4241
path, rek_cnt);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4243
rx_dck->thermal[path] = ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4244
rtw89_write_rf(rtwdev, path, RR_RSV1, RFREG_MASK, rf_reg5);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4246
if (rtwdev->is_tssi_mode[path])
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4247
rtw89_phy_write32_mask(rtwdev, R_P0_TSSI_TRK + (path << 13),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4270
int path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4278
for (path = 0; path < RF_PATH_NUM_8852C; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4280
ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4281
delta = abs((int)cur_thermal - rx_dck->thermal[path]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4285
path, cur_thermal, delta);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4297
for (path = 0; path < RF_PATH_NUM_8852C; path++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4304
for (path = 0; path < RF_PATH_NUM_8852C; path++)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4344
u32 i, path = RF_PATH_A, path_max = RF_PATH_NUM_8852C;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4350
path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4353
path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4360
for (i = path; i < path_max; i++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4380
u32 i, path = RF_PATH_A, path_max = RF_PATH_NUM_8852C;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4392
path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4395
path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4402
for (i = path; i < path_max; i++) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
443
static void rtw8852c_txck_force(struct rtw89_dev *rtwdev, u8 path, bool force,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
446
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_ON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4474
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4479
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4480
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4484
for (path = 0; path < RTW8852C_DPK_RF_PATH; path++)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4485
_dpk_onoff(rtwdev, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
451
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_VAL, ck);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
452
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_TXCK_ON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
455
static void rtw8852c_rxck_force(struct rtw89_dev *rtwdev, u8 path, bool force,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
460
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_ON, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
465
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_VAL, ck);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
466
rtw89_phy_write32_mask(rtwdev, R_P0_RXCK | (path << 13), B_P0_RXCK_ON, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
481
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_CTL, def->ctl);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
482
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_EN, def->en);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
483
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW0 | (path << 8), B_P0_CFCH_BW0, def->bw0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
484
rtw89_phy_write32_mask(rtwdev, R_P0_CFCH_BW1 | (path << 8), B_P0_CFCH_BW1, def->bw1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
485
rtw89_phy_write32_mask(rtwdev, R_DRCK | (path << 8), B_DRCK_MUL, def->mul);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
486
rtw89_phy_write32_mask(rtwdev, R_ADCMOD | (path << 8), B_ADCMOD_LP, def->lp);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
648
static void rtw8852c_disable_rxagc(struct rtw89_dev *rtwdev, u8 path, u8 en_rxgac)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
650
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
656
static void _iqk_rxk_setting(struct rtw89_dev *rtwdev, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
660
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
665
switch (iqk_info->iqk_bw[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
668
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_DPD_GDIS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
669
rtw8852c_rxck_force(rtwdev, path, true, ADC_480M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
670
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_ACK_VAL, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
671
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_CKT, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
672
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
675
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_DPD_GDIS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
676
rtw8852c_rxck_force(rtwdev, path, true, ADC_960M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
677
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_ACK_VAL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
678
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_CKT, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
679
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
682
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_DPD_GDIS, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
683
rtw8852c_rxck_force(rtwdev, path, true, ADC_1920M);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
684
rtw89_phy_write32_mask(rtwdev, R_UPD_CLK + (path << 13), B_ACK_VAL, 0x2);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
685
rtw89_write_rf(rtwdev, path, RR_RXBB2, RR_RXBB2_CKT, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
686
rtw89_phy_write32_mask(rtwdev, R_P0_NRBW + (path << 13), B_P0_NRBW_DBG, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
694
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
700
static bool _iqk_check_cal(struct rtw89_dev *rtwdev, u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
712
rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]S%x, ret=%d\n", path, ret);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
715
"[IQK]S%x, type= %x, 0x8008 = 0x%x\n", path, ktype, tmp);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
721
enum rtw89_phy_idx phy_idx, u8 path, u8 ktype)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
724
u32 addr_rfc_ctl = R_UPD_CLK + (path << 13);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
730
iqk_cmd = 0x008 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
734
iqk_cmd = 0x008 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
738
iqk_cmd = 0x108 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
742
iqk_cmd = 0x508 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
746
iqk_cmd = 0x208 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
750
iqk_cmd = 0x308 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
754
iqk_cmd = 0x008 | (1 << (4 + path)) | ((0x8 + iqk_info->iqk_bw[path]) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
757
iqk_cmd = 0x508 | (1 << (4 + path)) | (path << 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
761
iqk_cmd = 0x008 | (1 << (4 + path)) | ((0xc + iqk_info->iqk_bw[path]) << 8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
765
iqk_cmd = 0x408 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
769
iqk_cmd = 0x608 | (1 << (4 + path));
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
777
fail = _iqk_check_cal(rtwdev, path, ktype);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
784
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
792
bkrf0 = rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_NBW);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
793
if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
801
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
804
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
805
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
806
rtw89_write_rf(rtwdev, path, RR_RXG, RR_RXG_IQKMOD, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
809
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
810
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
811
rtw89_write_rf(rtwdev, path, RR_RXAE, RR_RXAE_IQKMOD, 0x8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
814
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
815
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
816
rtw89_write_rf(rtwdev, path, RR_RXAE, RR_RXAE_IQKMOD, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
823
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
826
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
828
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_VOBUF,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
832
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
834
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_IATT,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
838
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
840
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_IATT,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
844
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
846
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
848
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
850
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
853
if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
854
rtw89_write_rf(rtwdev, path, RR_IQKPLL, RR_IQKPLL_MOD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
855
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, bkrf0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
858
iqk_info->nb_rxcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
859
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
861
iqk_info->nb_rxcfir[path] = 0x40000000;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
862
iqk_info->is_wb_rxiqk[path] = true;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
869
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
877
bkrf0 = rtw89_read_rf(rtwdev, path, RR_MOD, RR_MOD_NBW);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
878
if (path == RF_PATH_B) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
886
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
889
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
890
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
891
rtw89_write_rf(rtwdev, path, RR_RXG, RR_RXG_IQKMOD, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
894
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
895
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
896
rtw89_write_rf(rtwdev, path, RR_RXAE, RR_RXAE_IQKMOD, 0x8);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
899
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_MASK, 0xc);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
900
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
901
rtw89_write_rf(rtwdev, path, RR_RXAE, RR_RXAE_IQKMOD, 0x9);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
907
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
910
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, _rxk_g_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
911
rtw89_write_rf(rtwdev, path, RR_RXBB, RR_RXBB_VOBUF, _rxk_g_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
914
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, _rxk_a_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
915
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_IATT, _rxk_a_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
918
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_M_RXG, _rxk_a6_idxrxgain[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
919
rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_IATT, _rxk_a6_idxattc2[gp]);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
923
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SEL, 0x1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
924
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_SET, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
925
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8), B_CFIR_LUT_GP_V1, gp);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
926
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_RXK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
928
if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
929
rtw89_write_rf(rtwdev, path, RR_IQKPLL, RR_IQKPLL_MOD, 0x0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
931
rtw89_write_rf(rtwdev, path, RR_MOD, RR_MOD_NBW, bkrf0);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
934
iqk_info->nb_rxcfir[path] =
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
935
rtw89_phy_read32_mask(rtwdev, R_RXIQC + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
938
iqk_info->nb_rxcfir[path] = 0x40000002;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
940
iqk_info->is_wb_rxiqk[path] = false;
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
945
enum rtw89_phy_idx phy_idx, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
952
switch (iqk_info->iqk_band[path]) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
954
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
956
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
958
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
961
R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
965
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
967
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
969
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
972
R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
976
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR0,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
978
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_GR1,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
980
rtw89_write_rf(rtwdev, path, RR_TXIG, RR_TXIG_TG,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
983
R_KIP_IQP + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
989
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
991
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
993
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
995
rtw89_phy_write32_mask(rtwdev, R_CFIR_LUT + (path << 8),
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
999
fail = _iqk_one_shot(rtwdev, phy_idx, path, ID_TXK);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1031
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1042
if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1048
val = gain->rpl_ofst_160[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1055
val = gain->rpl_ofst_80[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1062
val = gain->rpl_ofst_40[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1069
val = gain->rpl_ofst_20[gain_band][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1076
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1092
reg = bb_gain_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1095
reg = bb_gain_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1098
val = gain->lna_gain[gain_band][bw_type][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1104
reg = bb_gain_tia[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1107
reg = bb_gain_tia[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1110
val = gain->tia_gain[gain_band][bw_type][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1116
reg = bb_op1db_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1119
reg = bb_op1db_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1122
val = gain->lna_op1db[gain_band][bw_type][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1128
reg = bb_op1db_tia_lna[i].gain_g[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1131
reg = bb_op1db_tia_lna[i].gain_a[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1134
val = gain->tia_lna_op1db[gain_band][bw_type][path][i];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1141
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1144
rtw8922a_set_lna_tia_gain(rtwdev, chan, path, phy_idx);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1145
rtw8922a_set_rpl_gain(rtwdev, chan, path, phy_idx);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1150
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1153
s8 value = -gain->offset[path][RTW89_GAIN_OFFSET_2G_CCK]; /* S(8,2) */
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1177
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1190
value = gain->offset[path][gain_band];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1191
rtw89_phy_write32_mask(rtwdev, rssi_ofst_addr[path], 0xff000000, value + 0xF8);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1200
rtw89_phy_write32_mask(rtwdev, rpl_bias_comp[path], 0xff, v1);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1201
rtw89_phy_write32_mask(rtwdev, rpl_ext_comp[path], 0xff, v2);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1202
rtw89_phy_write32_mask(rtwdev, rpl_ext_comp[path], 0xff00, v3);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1204
rtw89_phy_write32_mask(rtwdev, rssi_tb_bias_comp[path], 0xff0000, v1);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1205
rtw89_phy_write32_mask(rtwdev, rssi_tb_ext_comp[path], 0xff0000, v2);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1206
rtw89_phy_write32_mask(rtwdev, rssi_tb_ext_comp[path], 0xff000000, v3);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1211
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1219
rtw8922a_set_rx_gain_normal_cck(rtwdev, chan, path);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1221
rtw8922a_set_rx_gain_normal_ofdm(rtwdev, chan, path);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1258
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1269
for (path = RF_PATH_A; path < BB_PATH_NUM_8922A; path++)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1270
rtw89_phy_write32_idx(rtwdev, band_sel[path], BIT((26)), is_2g, phy_idx);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1405
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1408
const struct rtw89_nbi_reg_def *nbi = &rtw8922a_nbi_reg_def[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1486
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1490
if (path == RF_PATH_B)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1720
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1812
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1821
digital_pwr_comp = path == RF_PATH_A ?
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1828
digital_pwr_comp = path == RF_PATH_A ?
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1835
addr = ltpc_t0[path];
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1847
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1851
path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1853
path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
1854
rtw8922a_set_digital_pwr_comp(rtwdev, band, 1, path);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2010
enum rtw89_phy_idx phy_idx, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2013
u32 path_ofst = (path == RF_PATH_B) ? 0x100 : 0x0;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2031
enum rtw89_rf_path path, bool en)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2038
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2043
if (path == RF_PATH_A)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2139
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2142
for (path = 0; path < RF_PATH_NUM_8922A; path++) {
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2143
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2147
2, 5000, false, rtwdev, path, 0x00,
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2151
path, ret);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2301
sar_parm.path = RF_PATH_A;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2306
sar_parm.path = RF_PATH_B;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2539
void rtw8922a_set_trx_mask(struct rtw89_dev *rtwdev, u8 path, u8 group, u32 val)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2541
rtw89_write_rf(rtwdev, path, RR_LUTWA, RFREG_MASK, group);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2542
rtw89_write_rf(rtwdev, path, RR_LUTWD0, RFREG_MASK, val);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2550
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2561
path = path_min;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2563
for (path = path_min; path <= path_max; path++) {
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2565
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, BIT(17));
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2568
rtw8922a_set_trx_mask(rtwdev, path, BTC_BT_SS_GROUP, 0x5ff);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2571
rtw8922a_set_trx_mask(rtwdev, path, BTC_BT_RX_GROUP, 0x5df);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2576
if (btc->ant_type == BTC_ANT_SHARED && btc->btg_pos == path)
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2577
rtw8922a_set_trx_mask(rtwdev, path, BTC_BT_TX_GROUP, 0x55f);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2579
rtw8922a_set_trx_mask(rtwdev, path, BTC_BT_TX_GROUP, 0x5ff);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2581
rtw89_write_rf(rtwdev, path, RR_LUTWE, RFREG_MASK, 0);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2753
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2760
for (path = 0; path < rtwdev->chip->rf_path_num; path++) {
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2761
status->chains |= BIT(path);
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2762
status->chain_signal[path] = RTW89_RSSI_RAW_TO_DBM(rx_power[path]);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
14
enum rtw89_rf_path path)
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
19
rtw89_phy_write32_mask(rtwdev, tssi_trk_man[path], B_TSSI_CONT_EN, 0);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
209
const struct rtw89_chan *chan, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
21
rtw89_phy_write32_mask(rtwdev, tssi_trk_man[path], B_TSSI_CONT_EN, 1);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
218
p->ch = rfk_mcc->data[path].ch[tbl_sel];
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
221
p->band = rfk_mcc->data[path].band[tbl_sel];
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
224
p->bw = rfk_mcc->data[path].bw[tbl_sel];
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
229
rfk_mcc->data[path].ch[tbl_sel] = chan->channel;
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
230
rfk_mcc->data[path].band[tbl_sel] = chan->band_type;
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
231
rfk_mcc->data[path].bw[tbl_sel] = chan->band_width;
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
232
rfk_mcc->data[path].rf18[tbl_sel] = rtw89_chip_chan_to_rf18_val(rtwdev, chan);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
233
rfk_mcc->data[path].table_idx = tbl_sel;
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
239
const struct rtw89_chan *chan, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
265
rfk_mcc[path].table_idx = tbl_sel;
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
271
const struct rtw89_chan *chan, u8 path)
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
274
return rtw8922a_chlk_reload_sel_tbl_v1(rtwdev, chan, path);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
276
return rtw8922a_chlk_reload_sel_tbl_v0(rtwdev, chan, path);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
47
u8 path;
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
64
for (path = 0; path < RF_PATH_NUM_8922A; path++) {
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
65
if (!(kpath & BIT(path)))
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
69
if (rf_reg[path][i] == INV_RF_DATA) {
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
71
"[RFK] Invalid RF_0x18 for Path-%d\n", path);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
75
rf_reg[path][i] &= ~(RR_CFGCH_BAND1 | RR_CFGCH_BW_V2 |
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
77
rf_reg[path][i] |= rtw89_chip_chan_to_rf18_val(rtwdev, chan);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
79
rtw89_write_rf(rtwdev, path, rf_addr[i],
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
80
RFREG_MASK, rf_reg[path][i]);
drivers/net/wireless/realtek/rtw89/sar.c
105
sel = ind->tblsel[path];
drivers/net/wireless/realtek/rtw89/sar.c
113
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/sar.c
117
return min(ent->v[subband_low][path], ent->v[subband_high][path]);
drivers/net/wireless/realtek/rtw89/sar.c
161
switch (sar_parm->path) {
drivers/net/wireless/realtek/rtw89/sar.c
98
enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/sar.h
18
enum rtw89_rf_path path;
drivers/net/xen-netback/xenbus.c
524
const char *path, const char *token)
drivers/net/xen-netback/xenbus.c
583
const char *path, const char *token)
drivers/net/xen-netback/xenbus.c
660
const char *path,
drivers/net/xen-netfront.c
2092
char *path;
drivers/net/xen-netfront.c
2098
path = kzalloc(pathsize, GFP_KERNEL);
drivers/net/xen-netfront.c
2099
if (!path) {
drivers/net/xen-netfront.c
2104
snprintf(path, pathsize, "%s/queue-%u",
drivers/net/xen-netfront.c
2107
path = (char *)dev->nodename;
drivers/net/xen-netfront.c
2111
err = xenbus_printf(*xbt, path, "tx-ring-ref", "%u",
drivers/net/xen-netfront.c
2118
err = xenbus_printf(*xbt, path, "rx-ring-ref", "%u",
drivers/net/xen-netfront.c
2130
err = xenbus_printf(*xbt, path,
drivers/net/xen-netfront.c
2138
err = xenbus_printf(*xbt, path,
drivers/net/xen-netfront.c
2145
err = xenbus_printf(*xbt, path,
drivers/net/xen-netfront.c
2154
kfree(path);
drivers/net/xen-netfront.c
2159
kfree(path);
drivers/of/base.c
902
const char *path)
drivers/of/base.c
907
len = strcspn(path, "/:");
drivers/of/base.c
913
if (strncmp(path, name, len) == 0 && (strlen(name) == len))
drivers/of/base.c
920
const char *path)
drivers/of/base.c
922
const char *separator = strchr(path, ':');
drivers/of/base.c
924
while (node && *path == '/') {
drivers/of/base.c
927
path++; /* Increment past '/' delimiter */
drivers/of/base.c
928
node = __of_find_node_by_path(node, path);
drivers/of/base.c
930
path = strchrnul(path, '/');
drivers/of/base.c
931
if (separator && separator < path)
drivers/of/base.c
955
struct device_node *of_find_node_opts_by_path(const char *path, const char **opts)
drivers/of/base.c
960
const char *separator = strchr(path, ':');
drivers/of/base.c
965
if (strcmp(path, "/") == 0)
drivers/of/base.c
969
if (*path != '/') {
drivers/of/base.c
971
const char *p = strchrnul(path, '/');
drivers/of/base.c
975
len = p - path;
drivers/of/base.c
982
if (strlen(pp->name) == len && !strncmp(pp->name, path, len)) {
drivers/of/base.c
989
path = p;
drivers/of/base.c
996
np = __of_find_node_by_full_path(np, path);
drivers/of/of_private.h
137
const char *path);
drivers/of/of_private.h
139
const char *path);
drivers/of/overlay.c
208
const char *path;
drivers/of/overlay.c
221
path = prop->value;
drivers/of/overlay.c
222
path_len = strlen(path);
drivers/of/overlay.c
226
fragment_node = __of_find_node_by_path(ovcs->overlay_root, path + 1);
drivers/of/overlay.c
243
path_tail = path + overlay_name_len;
drivers/of/overlay.c
688
const char *path;
drivers/of/overlay.c
701
ret = of_property_read_string(info_node, "target-path", &path);
drivers/of/overlay.c
704
target_path = kasprintf(GFP_KERNEL, "%pOF%s", target_base, path);
drivers/of/overlay.c
714
node = of_find_node_by_path(path);
drivers/of/overlay.c
717
info_node, path);
drivers/of/pdt.c
47
char path[256];
drivers/of/pdt.c
51
if (!of_pdt_prom_ops->pkg2path(dp->phandle, path, sizeof(path), &len)) {
drivers/of/pdt.c
52
name = kbasename(path);
drivers/of/unittest.c
1116
static void __init of_unittest_dma_ranges_one(const char *path,
drivers/of/unittest.c
1124
np = of_find_node_by_path(path);
drivers/of/unittest.c
1858
const char *path;
drivers/of/unittest.c
1861
{ .path = "/testcase-data/match-node/name0", .data = "A", },
drivers/of/unittest.c
1862
{ .path = "/testcase-data/match-node/name1", .data = "B", },
drivers/of/unittest.c
1863
{ .path = "/testcase-data/match-node/a/name2", .data = "Ca", },
drivers/of/unittest.c
1864
{ .path = "/testcase-data/match-node/b/name2", .data = "Cb", },
drivers/of/unittest.c
1865
{ .path = "/testcase-data/match-node/c/name2", .data = "Cc", },
drivers/of/unittest.c
1866
{ .path = "/testcase-data/match-node/name3", .data = "E", },
drivers/of/unittest.c
1867
{ .path = "/testcase-data/match-node/name4", .data = "G", },
drivers/of/unittest.c
1868
{ .path = "/testcase-data/match-node/name5", .data = "H", },
drivers/of/unittest.c
1869
{ .path = "/testcase-data/match-node/name6", .data = "G", },
drivers/of/unittest.c
1870
{ .path = "/testcase-data/match-node/name7", .data = "I", },
drivers/of/unittest.c
1871
{ .path = "/testcase-data/match-node/name8", .data = "J", },
drivers/of/unittest.c
1872
{ .path = "/testcase-data/match-node/name9", .data = "K", },
drivers/of/unittest.c
1882
np = of_find_node_by_path(match_node_tests[i].path);
drivers/of/unittest.c
1885
match_node_tests[i].path);
drivers/of/unittest.c
1892
match_node_tests[i].path);
drivers/of/unittest.c
1898
match_node_tests[i].path, match_node_tests[i].data,
drivers/of/unittest.c
2227
static struct platform_device *of_path_to_platform_device(const char *path)
drivers/of/unittest.c
2232
np = of_find_node_by_path(path);
drivers/of/unittest.c
2243
static int of_path_platform_device_exists(const char *path)
drivers/of/unittest.c
2247
pdev = of_path_to_platform_device(path);
drivers/of/unittest.c
2463
static struct i2c_client *of_path_to_i2c_client(const char *path)
drivers/of/unittest.c
2468
np = of_find_node_by_path(path);
drivers/of/unittest.c
2479
static int of_path_i2c_client_exists(const char *path)
drivers/of/unittest.c
2483
client = of_path_to_i2c_client(path);
drivers/of/unittest.c
2489
static int of_path_i2c_client_exists(const char *path)
drivers/of/unittest.c
2500
static int of_path_device_type_exists(const char *path,
drivers/of/unittest.c
2505
return of_path_platform_device_exists(path);
drivers/of/unittest.c
2507
return of_path_i2c_client_exists(path);
drivers/of/unittest.c
2535
const char *path;
drivers/of/unittest.c
2537
path = unittest_path(unittest_nr, ovtype);
drivers/of/unittest.c
2541
return of_path_platform_device_exists(path);
drivers/of/unittest.c
2543
return of_path_i2c_client_exists(path);
drivers/of/unittest.c
4390
char *path = NULL;
drivers/of/unittest.c
4400
path = kasprintf(GFP_KERNEL, "%pOF/pci-ep-bus@0/unittest-pci@100", pnp);
drivers/of/unittest.c
4401
np = of_find_node_by_path(path);
drivers/of/unittest.c
4413
path = kasprintf(GFP_KERNEL, "%pOF/pci-ep-bus@0", pnp);
drivers/of/unittest.c
4414
np = of_find_node_by_path(path);
drivers/of/unittest.c
4422
kfree(path);
drivers/opp/debugfs.c
39
struct icc_path *path = fp->private_data;
drivers/opp/debugfs.c
40
const char *name = icc_get_name(path);
drivers/parisc/pdc_stable.c
239
if (devpath->path.bc[i] < 0)
drivers/parisc/pdc_stable.c
241
out += sprintf(out, "%d/", devpath->path.bc[i]);
drivers/parisc/pdc_stable.c
243
out += sprintf(out, "%u\n", (unsigned char)devpath->path.mod);
drivers/parisc/pdc_stable.c
298
DPRINTK("%s: bc[%d]: %d\n", __func__, i, hwpath.path.bc[i]);
drivers/parisc/pdc_stable.c
303
DPRINTK("%s: bc[%d]: %d\n", __func__, i, hwpath.path.bc[i]);
drivers/parisc/pdc_stable.c
552
out += sprintf(out, "%s\n", (pathentry->devpath.path.flags & knob) ?
drivers/parisc/pdc_stable.c
605
out += sprintf(out, "%u\n", (pathentry->devpath.path.flags & PF_TIMER) ?
drivers/parisc/pdc_stable.c
606
(1 << (pathentry->devpath.path.flags & PF_TIMER)) : 0);
drivers/parisc/pdc_stable.c
786
flags = pathentry->devpath.path.flags;
drivers/parisc/pdc_stable.c
807
pathentry->devpath.path.flags = flags;
drivers/pci/pci.c
279
static int pci_dev_str_match_path(struct pci_dev *dev, const char *path,
drivers/pci/pci.c
287
*endptr = strchrnul(path, ';');
drivers/pci/pci.c
289
wpath = kmemdup_nul(path, *endptr - path, GFP_ATOMIC);
drivers/platform/surface/surface_acpi_notify.c
720
char *path = "<error getting consumer path>"; \
drivers/platform/surface/surface_acpi_notify.c
727
path = buffer.pointer; \
drivers/platform/surface/surface_acpi_notify.c
729
dev_##level(dev, "[%s]: " fmt, path, ##__VA_ARGS__); \
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c
133
ret = hp_get_string_from_buffer(buffer_ptr, buffer_size, common_data->path,
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c
134
sizeof(common_data->path));
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c
507
void hp_friendly_user_name_update(char *path, const char *attr_name,
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c
510
if (strstr(path, SCHEDULE_POWER_ON))
drivers/platform/x86/hp/hp-bioscfg/bioscfg.h
122
u8 path[MAX_BUFF_SIZE];
drivers/platform/x86/hp/hp-bioscfg/bioscfg.h
484
void hp_friendly_user_name_update(char *path, const char *attr_name,
drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c
178
strscpy(enum_data->common.path, str_value);
drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c
323
hp_friendly_user_name_update(enum_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c
423
hp_friendly_user_name_update(enum_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/int-attributes.c
195
strscpy(integer_data->common.path, str_value);
drivers/platform/x86/hp/hp-bioscfg/int-attributes.c
293
hp_friendly_user_name_update(integer_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/int-attributes.c
386
hp_friendly_user_name_update(integer_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c
183
strscpy(ordered_list_data->common.path, str_value);
drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c
316
hp_friendly_user_name_update(ordered_list_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c
407
hp_friendly_user_name_update(ordered_list_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c
271
strscpy(password_data->common.path, str_value);
drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c
402
hp_friendly_user_name_update(password_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c
515
hp_friendly_user_name_update(password_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/string-attributes.c
184
strscpy(string_data->common.path, str_value);
drivers/platform/x86/hp/hp-bioscfg/string-attributes.c
283
hp_friendly_user_name_update(string_data->common.path,
drivers/platform/x86/hp/hp-bioscfg/string-attributes.c
362
hp_friendly_user_name_update(string_data->common.path,
drivers/platform/x86/intel/int3472/discrete.c
61
char *path = agpio->resource_source.string_ptr;
drivers/platform/x86/intel/int3472/discrete.c
66
status = acpi_get_handle(NULL, path, &handle);
drivers/pps/clients/pps-ktimer.c
46
.path = "",
drivers/pps/clients/pps-ldisc.c
52
snprintf(info.path, PPS_MAX_NAME_LEN, "/dev/%s%d", drv->name, index);
drivers/pps/clients/pps-ldisc.c
60
pr_err("cannot register PPS source \"%s\"\n", info.path);
drivers/pps/clients/pps-ldisc.c
68
pr_err("cannot open tty ldisc \"%s\"\n", info.path);
drivers/pps/clients/pps-ldisc.c
72
dev_dbg(&pps->dev, "source \"%s\" added\n", info.path);
drivers/pps/clients/pps_parport.c
130
.path = "",
drivers/pps/sysfs.c
78
return sprintf(buf, "%s\n", pps->info.path);
drivers/pps/sysfs.c
80
static DEVICE_ATTR_RO(path);
drivers/remoteproc/qcom_q6v5.c
175
icc_set_bw(q6v5->path, 0, 0);
drivers/remoteproc/qcom_q6v5.c
349
q6v5->path = devm_of_icc_get(&pdev->dev, NULL);
drivers/remoteproc/qcom_q6v5.c
350
if (IS_ERR(q6v5->path))
drivers/remoteproc/qcom_q6v5.c
351
return dev_err_probe(&pdev->dev, PTR_ERR(q6v5->path),
drivers/remoteproc/qcom_q6v5.c
49
ret = icc_set_bw(q6v5->path, 0, UINT_MAX);
drivers/remoteproc/qcom_q6v5.c
57
icc_set_bw(q6v5->path, 0, 0);
drivers/remoteproc/qcom_q6v5.c
85
icc_set_bw(q6v5->path, 0, 0);
drivers/remoteproc/qcom_q6v5.h
22
struct icc_path *path;
drivers/rpmsg/rpmsg_core.c
344
#define rpmsg_show_attr(field, path, format_string) \
drivers/rpmsg/rpmsg_core.c
351
return sprintf(buf, format_string, rpdev->path); \
drivers/s390/block/dasd_3990_erp.c
2186
device->path[pos].cssid, device->path[pos].chpid, lpum);
drivers/s390/block/dasd_3990_erp.c
2194
device->path[pos].cssid, device->path[pos].chpid, lpum);
drivers/s390/block/dasd_3990_erp.c
2200
device->path[pos].cssid, device->path[pos].chpid, lpum);
drivers/s390/block/dasd_3990_erp.c
2205
device->path[pos].errorclk = 0;
drivers/s390/block/dasd_3990_erp.c
2206
atomic_set(&device->path[pos].error_count, 0);
drivers/s390/block/dasd_3990_erp.c
2224
if ((tod_to_ns(clk - device->path[pos].errorclk) / NSEC_PER_SEC)
drivers/s390/block/dasd_3990_erp.c
2226
atomic_set(&device->path[pos].error_count, 0);
drivers/s390/block/dasd_3990_erp.c
2227
device->path[pos].errorclk = 0;
drivers/s390/block/dasd_3990_erp.c
2229
atomic_inc(&device->path[pos].error_count);
drivers/s390/block/dasd_3990_erp.c
2230
device->path[pos].errorclk = clk;
drivers/s390/block/dasd_3990_erp.c
2232
if (atomic_read(&device->path[pos].error_count) >=
drivers/s390/block/dasd_devmap.c
2030
struct dasd_path *path = to_dasd_path(kobj);
drivers/s390/block/dasd_devmap.c
2031
unsigned int fc_sec = path->fc_security;
drivers/s390/block/dasd_devmap.c
2543
device->path[chp].kobj.kset = device->paths_info;
drivers/s390/block/dasd_devmap.c
2544
kobject_init(&device->path[chp].kobj, &path_attr_type);
drivers/s390/block/dasd_devmap.c
2557
if (device->path[chp].in_sysfs)
drivers/s390/block/dasd_devmap.c
2559
if (!device->path[chp].conf_data)
drivers/s390/block/dasd_devmap.c
2564
rc = kobject_add(&device->path[chp].kobj, NULL, "%x.%02x",
drivers/s390/block/dasd_devmap.c
2565
device->path[chp].cssid, device->path[chp].chpid);
drivers/s390/block/dasd_devmap.c
2567
kobject_put(&device->path[chp].kobj);
drivers/s390/block/dasd_devmap.c
2568
device->path[chp].in_sysfs = true;
drivers/s390/block/dasd_devmap.c
2587
if (device->path[chp].in_sysfs) {
drivers/s390/block/dasd_devmap.c
2588
kobject_put(&device->path[chp].kobj);
drivers/s390/block/dasd_devmap.c
2589
device->path[chp].in_sysfs = false;
drivers/s390/block/dasd_eckd.c
1013
cdp = device->path[chp].conf_data;
drivers/s390/block/dasd_eckd.c
1019
device->path[chp].conf_data = conf_data;
drivers/s390/block/dasd_eckd.c
1020
device->path[chp].cssid = sch_id.cssid;
drivers/s390/block/dasd_eckd.c
1021
device->path[chp].ssid = sch_id.ssid;
drivers/s390/block/dasd_eckd.c
1024
device->path[chp].chpid = chp_desc->chpid;
drivers/s390/block/dasd_eckd.c
1037
kfree(device->path[i].conf_data);
drivers/s390/block/dasd_eckd.c
1038
device->path[i].conf_data = NULL;
drivers/s390/block/dasd_eckd.c
1039
device->path[i].cssid = 0;
drivers/s390/block/dasd_eckd.c
1040
device->path[i].ssid = 0;
drivers/s390/block/dasd_eckd.c
1041
device->path[i].chpid = 0;
drivers/s390/block/dasd_eckd.c
1057
device->path[chp].fc_security = 0;
drivers/s390/block/dasd_eckd.c
1063
device->path[chp].fc_security = esm[chp];
drivers/s390/block/dasd_eckd.c
1065
device->path[chp].fc_security = 0;
drivers/s390/block/dasd_eckd.c
6343
psf_cuir->chpid = device->path[pos].chpid;
drivers/s390/block/dasd_eckd.c
6345
psf_cuir->cssid = device->path[pos].cssid;
drivers/s390/block/dasd_eckd.c
6346
psf_cuir->ssid = device->path[pos].ssid;
drivers/s390/block/dasd_eckd.c
6378
int path, pos;
drivers/s390/block/dasd_eckd.c
6382
for (path = 0x80, pos = 0; path; path >>= 1, pos++) {
drivers/s390/block/dasd_eckd.c
6383
conf_data = device->path[pos].conf_data;
drivers/s390/block/dasd_eckd.c
6389
return device->path[pathmask_to_pos(lpum)].conf_data;
drivers/s390/block/dasd_eckd.c
6407
unsigned int pos, path;
drivers/s390/block/dasd_eckd.c
6429
for (path = 0; path < 8; path++) {
drivers/s390/block/dasd_eckd.c
6432
conf_data = device->path[path].conf_data;
drivers/s390/block/dasd_eckd.c
6453
tbcpm |= 0x80 >> path;
drivers/s390/block/dasd_eckd.c
6469
device->path[pos].cssid,
drivers/s390/block/dasd_eckd.c
6470
device->path[pos].chpid);
drivers/s390/block/dasd_eckd.c
6473
device->path[pos].cssid,
drivers/s390/block/dasd_eckd.c
6474
device->path[pos].chpid);
drivers/s390/block/dasd_int.h
1004
__set_bit(DASD_PATH_TBV, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1009
__clear_bit(DASD_PATH_TBV, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1022
__set_bit(DASD_PATH_FCSEC, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1027
__clear_bit(DASD_PATH_FCSEC, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1032
return test_bit(DASD_PATH_FCSEC, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1045
__set_bit(DASD_PATH_OPERATIONAL, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1051
__set_bit(DASD_PATH_NPP, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1056
return test_bit(DASD_PATH_NPP, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1062
__clear_bit(DASD_PATH_NPP, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1067
__set_bit(DASD_PATH_PP, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1072
return test_bit(DASD_PATH_PP, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1078
__clear_bit(DASD_PATH_PP, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1083
__clear_bit(DASD_PATH_OPERATIONAL, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1089
__clear_bit(DASD_PATH_MISCABLED, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1094
__set_bit(DASD_PATH_CUIR, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1099
return test_bit(DASD_PATH_CUIR, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1104
__clear_bit(DASD_PATH_CUIR, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1109
set_bit(DASD_PATH_IFCC, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1114
return test_bit(DASD_PATH_IFCC, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1119
clear_bit(DASD_PATH_IFCC, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1124
__clear_bit(DASD_PATH_NOHPF, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1129
__set_bit(DASD_PATH_MISCABLED, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1134
return test_bit(DASD_PATH_MISCABLED, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1139
__set_bit(DASD_PATH_NOHPF, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1144
return test_bit(DASD_PATH_NOHPF, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
1248
return device->path[chp].fc_security;
drivers/s390/block/dasd_int.h
1258
fc_sec = device->path[chp].fc_security;
drivers/s390/block/dasd_int.h
1264
if (device->path[chp].fc_security != fc_sec)
drivers/s390/block/dasd_int.h
494
#define to_dasd_path(path) container_of(path, struct dasd_path, kobj)
drivers/s390/block/dasd_int.h
561
struct dasd_path path[8];
drivers/s390/block/dasd_int.h
994
return test_bit(DASD_PATH_OPERATIONAL, &device->path[chp].flags);
drivers/s390/block/dasd_int.h
999
return test_bit(DASD_PATH_TBV, &device->path[chp].flags);
drivers/s390/char/monreader.c
152
rc = iucv_message_reply(monpriv->path, &monmsg->msg,
drivers/s390/char/monreader.c
229
static void mon_iucv_path_complete(struct iucv_path *path, u8 *ipuser)
drivers/s390/char/monreader.c
231
struct mon_private *monpriv = path->private;
drivers/s390/char/monreader.c
237
static void mon_iucv_path_severed(struct iucv_path *path, u8 *ipuser)
drivers/s390/char/monreader.c
239
struct mon_private *monpriv = path->private;
drivers/s390/char/monreader.c
243
iucv_path_sever(path, NULL);
drivers/s390/char/monreader.c
249
static void mon_iucv_message_pending(struct iucv_path *path,
drivers/s390/char/monreader.c
252
struct mon_private *monpriv = path->private;
drivers/s390/char/monreader.c
294
monpriv->path = iucv_path_alloc(MON_MSGLIM, IUCV_IPRMDATA, GFP_KERNEL);
drivers/s390/char/monreader.c
295
if (!monpriv->path)
drivers/s390/char/monreader.c
297
rc = iucv_path_connect(monpriv->path, &monreader_iucv_handler,
drivers/s390/char/monreader.c
321
iucv_path_free(monpriv->path);
drivers/s390/char/monreader.c
338
if (monpriv->path) {
drivers/s390/char/monreader.c
339
rc = iucv_path_sever(monpriv->path, user_data_sever);
drivers/s390/char/monreader.c
343
iucv_path_free(monpriv->path);
drivers/s390/char/monreader.c
48
struct iucv_path *path;
drivers/s390/char/vmlogrdr.c
163
static void vmlogrdr_iucv_path_complete(struct iucv_path *path, u8 *ipuser)
drivers/s390/char/vmlogrdr.c
165
struct vmlogrdr_priv_t * logptr = path->private;
drivers/s390/char/vmlogrdr.c
174
static void vmlogrdr_iucv_path_severed(struct iucv_path *path, u8 *ipuser)
drivers/s390/char/vmlogrdr.c
176
struct vmlogrdr_priv_t * logptr = path->private;
drivers/s390/char/vmlogrdr.c
181
iucv_path_sever(path, NULL);
drivers/s390/char/vmlogrdr.c
182
kfree(path);
drivers/s390/char/vmlogrdr.c
183
logptr->path = NULL;
drivers/s390/char/vmlogrdr.c
196
static void vmlogrdr_iucv_message_pending(struct iucv_path *path,
drivers/s390/char/vmlogrdr.c
199
struct vmlogrdr_priv_t * logptr = path->private;
drivers/s390/char/vmlogrdr.c
350
logptr->path = iucv_path_alloc(10, 0, GFP_KERNEL);
drivers/s390/char/vmlogrdr.c
351
if (!logptr->path)
drivers/s390/char/vmlogrdr.c
353
connect_rc = iucv_path_connect(logptr->path, &vmlogrdr_iucv_handler,
drivers/s390/char/vmlogrdr.c
378
kfree(logptr->path); /* kfree(NULL) is ok. */
drivers/s390/char/vmlogrdr.c
379
logptr->path = NULL;
drivers/s390/char/vmlogrdr.c
392
iucv_path_sever(logptr->path, NULL);
drivers/s390/char/vmlogrdr.c
393
kfree(logptr->path);
drivers/s390/char/vmlogrdr.c
394
logptr->path = NULL;
drivers/s390/char/vmlogrdr.c
440
rc = iucv_message_receive(priv->path,
drivers/s390/char/vmlogrdr.c
66
struct iucv_path *path;
drivers/s390/net/smsgiucv.c
46
static int smsg_path_pending(struct iucv_path *path, u8 *ipvmid, u8 *ipuser)
drivers/s390/net/smsgiucv.c
51
return iucv_path_accept(path, &smsg_handler, "SMSGIUCV ", NULL);
drivers/s390/net/smsgiucv.c
54
static void smsg_message_pending(struct iucv_path *path,
drivers/s390/net/smsgiucv.c
64
iucv_message_reject(path, msg);
drivers/s390/net/smsgiucv.c
67
rc = iucv_message_receive(path, msg, 0, buffer, msg->length, NULL);
drivers/scsi/aic7xxx/aic79xx.h
717
struct cam_path *path;
drivers/scsi/aic7xxx/aic79xx_core.c
10312
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic79xx_core.c
10336
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic79xx_core.c
10344
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic79xx_core.c
10349
status = xpt_create_path(&lstate->path, /*periph*/NULL,
drivers/scsi/aic7xxx/aic79xx_core.c
10350
xpt_path_path_id(ccb->ccb_h.path),
drivers/scsi/aic7xxx/aic79xx_core.c
10351
xpt_path_target_id(ccb->ccb_h.path),
drivers/scsi/aic7xxx/aic79xx_core.c
10352
xpt_path_lun_id(ccb->ccb_h.path));
drivers/scsi/aic7xxx/aic79xx_core.c
10355
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic79xx_core.c
10423
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic79xx_core.c
10442
&& !xpt_path_comp(ccbh->path, ccb->ccb_h.path)){
drivers/scsi/aic7xxx/aic79xx_core.c
10465
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic79xx_core.c
10467
xpt_free_path(lstate->path);
drivers/scsi/aic7xxx/aic79xx_core.c
6153
xpt_free_path(lstate->path);
drivers/scsi/aic7xxx/aic79xx_core.c
6163
xpt_free_path(ahd->black_hole->path);
drivers/scsi/aic7xxx/aic79xx_core.c
9153
xpt_freeze_devq(lstate->path, /*count*/1);
drivers/scsi/aic7xxx/aic79xx_core.c
9170
xpt_release_devq(lstate->path, pending, /*runqueue*/FALSE);
drivers/scsi/aic7xxx/aic79xx_core.c
9174
xpt_print_path(lstate->path);
drivers/scsi/aic7xxx/aic79xx_core.c
9181
xpt_release_devq(lstate->path, /*count*/1, /*runqueue*/FALSE);
drivers/scsi/aic7xxx/aic7xxx.h
663
struct cam_path *path;
drivers/scsi/aic7xxx/aic7xxx_core.c
4501
xpt_free_path(lstate->path);
drivers/scsi/aic7xxx/aic7xxx_core.c
4511
xpt_free_path(ahc->black_hole->path);
drivers/scsi/aic7xxx/aic7xxx_core.c
6682
xpt_freeze_devq(lstate->path, /*count*/1);
drivers/scsi/aic7xxx/aic7xxx_core.c
6699
xpt_release_devq(lstate->path, pending, /*runqueue*/FALSE);
drivers/scsi/aic7xxx/aic7xxx_core.c
6703
xpt_print_path(lstate->path);
drivers/scsi/aic7xxx/aic7xxx_core.c
6710
xpt_release_devq(lstate->path, /*count*/1, /*runqueue*/FALSE);
drivers/scsi/aic7xxx/aic7xxx_core.c
7461
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic7xxx_core.c
7485
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic7xxx_core.c
7493
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic7xxx_core.c
7498
status = xpt_create_path(&lstate->path, /*periph*/NULL,
drivers/scsi/aic7xxx/aic7xxx_core.c
7499
xpt_path_path_id(ccb->ccb_h.path),
drivers/scsi/aic7xxx/aic7xxx_core.c
7500
xpt_path_target_id(ccb->ccb_h.path),
drivers/scsi/aic7xxx/aic7xxx_core.c
7501
xpt_path_lun_id(ccb->ccb_h.path));
drivers/scsi/aic7xxx/aic7xxx_core.c
7504
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic7xxx_core.c
7578
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic7xxx_core.c
7597
&& !xpt_path_comp(ccbh->path, ccb->ccb_h.path)){
drivers/scsi/aic7xxx/aic7xxx_core.c
7620
xpt_print_path(ccb->ccb_h.path);
drivers/scsi/aic7xxx/aic7xxx_core.c
7622
xpt_free_path(lstate->path);
drivers/scsi/csiostor/csio_hw.c
1968
csio_hw_flash_config(struct csio_hw *hw, u32 *fw_cfg_param, char *path)
drivers/scsi/csiostor/csio_hw.c
2026
snprintf(path, 64, "%s%s", "/lib/firmware/", fw_cfg_file);
drivers/scsi/csiostor/csio_hw.c
2059
char path[64];
drivers/scsi/csiostor/csio_hw.c
2077
rv = csio_hw_flash_config(hw, fw_cfg_param, path);
drivers/scsi/csiostor/csio_hw.c
2088
config_name = path;
drivers/scsi/esas2r/esas2r_ioctl.c
399
u8 path = 0;
drivers/scsi/esas2r/esas2r_ioctl.c
409
path = gda->path_id;
drivers/scsi/esas2r/esas2r_ioctl.c
415
path = tm->path_id;
drivers/scsi/esas2r/esas2r_ioctl.c
420
if (path > 0) {
drivers/scsi/smartpqi/smartpqi_init.c
3162
static inline void pqi_take_device_offline(struct scsi_device *sdev, char *path)
drivers/scsi/smartpqi/smartpqi_init.c
3175
path, ctrl_info->scsi_host->host_no, device->bus,
drivers/scsi/smartpqi/smartpqi_init.c
4501
struct pqi_queue_group *queue_group, enum pqi_io_path path,
drivers/scsi/smartpqi/smartpqi_init.c
4515
spin_lock_irqsave(&queue_group->submit_lock[path], flags);
drivers/scsi/smartpqi/smartpqi_init.c
4520
&queue_group->request_list[path]);
drivers/scsi/smartpqi/smartpqi_init.c
4523
iq_pi = queue_group->iq_pi_copy[path];
drivers/scsi/smartpqi/smartpqi_init.c
4526
&queue_group->request_list[path], request_list_entry) {
drivers/scsi/smartpqi/smartpqi_init.c
4536
iq_ci = readl(queue_group->iq_ci[path]);
drivers/scsi/smartpqi/smartpqi_init.c
4545
next_element = queue_group->iq_element_array[path] +
drivers/scsi/smartpqi/smartpqi_init.c
4557
memcpy(queue_group->iq_element_array[path],
drivers/scsi/smartpqi/smartpqi_init.c
4568
if (iq_pi != queue_group->iq_pi_copy[path]) {
drivers/scsi/smartpqi/smartpqi_init.c
4569
queue_group->iq_pi_copy[path] = iq_pi;
drivers/scsi/smartpqi/smartpqi_init.c
4574
writel(iq_pi, queue_group->iq_pi[path]);
drivers/scsi/smartpqi/smartpqi_init.c
4577
spin_unlock_irqrestore(&queue_group->submit_lock[path], flags);
drivers/scsi/smartpqi/smartpqi_init.c
6134
unsigned int path;
drivers/scsi/smartpqi/smartpqi_init.c
6144
for (path = 0; path < 2; path++) {
drivers/scsi/smartpqi/smartpqi_init.c
6145
spin_lock_irqsave(&queue_group->submit_lock[path], flags);
drivers/scsi/smartpqi/smartpqi_init.c
6146
list_for_each_entry(io_request, &queue_group->request_list[path], request_list_entry)
drivers/scsi/smartpqi/smartpqi_init.c
6148
spin_unlock_irqrestore(&queue_group->submit_lock[path], flags);
drivers/scsi/smartpqi/smartpqi_init.c
6158
unsigned int path;
drivers/scsi/smartpqi/smartpqi_init.c
6168
for (path = 0; path < 2; path++) {
drivers/scsi/smartpqi/smartpqi_init.c
6169
iq_pi = queue_group->iq_pi_copy[path];
drivers/scsi/smartpqi/smartpqi_init.c
6170
iq_ci = readl(queue_group->iq_ci[path]);
drivers/scsi/smartpqi/smartpqi_init.c
6223
unsigned int path;
drivers/scsi/smartpqi/smartpqi_init.c
6234
for (path = 0; path < 2; path++) {
drivers/scsi/smartpqi/smartpqi_init.c
6236
&queue_group->submit_lock[path], flags);
drivers/scsi/smartpqi/smartpqi_init.c
6239
&queue_group->request_list[path],
drivers/scsi/smartpqi/smartpqi_init.c
6259
&queue_group->submit_lock[path], flags);
drivers/scsi/smartpqi/smartpqi_init.c
77
struct pqi_queue_group *queue_group, enum pqi_io_path path,
drivers/scsi/storvsc_drv.c
1993
host_dev->path = stor_device->path_id;
drivers/scsi/storvsc_drv.c
463
unsigned char path;
drivers/soc/qcom/qcom-geni-se.c
912
se->icc_paths[i].path = devm_of_icc_get(se->dev, icc_names[i]);
drivers/soc/qcom/qcom-geni-se.c
913
if (IS_ERR(se->icc_paths[i].path))
drivers/soc/qcom/qcom-geni-se.c
920
err = PTR_ERR(se->icc_paths[i].path);
drivers/soc/qcom/qcom-geni-se.c
934
ret = icc_set_bw(se->icc_paths[i].path,
drivers/soc/qcom/qcom-geni-se.c
952
icc_set_tag(se->icc_paths[i].path, tag);
drivers/soc/qcom/qcom-geni-se.c
962
ret = icc_enable(se->icc_paths[i].path);
drivers/soc/qcom/qcom-geni-se.c
979
ret = icc_disable(se->icc_paths[i].path);
drivers/staging/greybus/audio_helper.c
81
static void gbaudio_dapm_free_path(struct snd_soc_dapm_path *path)
drivers/staging/greybus/audio_helper.c
83
list_del(&path->list_node[SND_SOC_DAPM_DIR_IN]);
drivers/staging/greybus/audio_helper.c
84
list_del(&path->list_node[SND_SOC_DAPM_DIR_OUT]);
drivers/staging/greybus/audio_helper.c
85
list_del(&path->list_kcontrol);
drivers/staging/greybus/audio_helper.c
86
list_del(&path->list);
drivers/staging/greybus/audio_helper.c
87
kfree(path);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1081
u8 path;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1090
path = PATH_S0;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1092
path = PATH_S1;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1095
PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC94][KEY], bMaskDWord, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC94][VAL]);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1096
PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC80][KEY], bMaskDWord, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC80][VAL]);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1097
PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC4C][KEY], bMaskDWord, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC4C][VAL]);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1099
PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xC14][KEY], bMaskDWord, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xC14][VAL]);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1100
PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xCA0][KEY], bMaskDWord, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xCA0][VAL]);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1610
u8 path, bResult = SUCCESS;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1613
path = (PHY_QueryBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskByte0) == 0x00) ? RF_PATH_A : RF_PATH_B;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1617
offset = pRFCalibrateInfo->TxIQC_8723B[path][i][0];
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1618
data = pRFCalibrateInfo->TxIQC_8723B[path][i][1];
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1628
offset = pRFCalibrateInfo->RxIQC_8723B[path][i][0];
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1629
data = pRFCalibrateInfo->RxIQC_8723B[path][i][1];
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
374
u8 base = 0, i = 0, value = 0, path = 0;
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
384
for (path = RF_PATH_A; path < RF_PATH_MAX; ++path) {
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
386
base = PHY_GetTxPowerByRate(padapter, path, MGN_11M);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
388
value = PHY_GetTxPowerByRate(padapter, path, cckRates[i]);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
389
PHY_SetTxPowerByRate(padapter, path, cckRates[i], value - base);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
393
base = PHY_GetTxPowerByRate(padapter, path, MGN_54M);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
395
value = PHY_GetTxPowerByRate(padapter, path, ofdmRates[i]);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
396
PHY_SetTxPowerByRate(padapter, path, ofdmRates[i], value - base);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
400
base = PHY_GetTxPowerByRate(padapter, path, MGN_MCS7);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
402
value = PHY_GetTxPowerByRate(padapter, path, mcs0_7Rates[i]);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
403
PHY_SetTxPowerByRate(padapter, path, mcs0_7Rates[i], value - base);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
610
void PHY_SetTxPowerLevelByPath(struct adapter *Adapter, u8 channel, u8 path)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
612
PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, CCK);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
614
PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, OFDM);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
615
PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, HT_MCS0_MCS7);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
64
u8 path, base;
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
66
for (path = RF_PATH_A; path <= RF_PATH_B; ++path) {
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
67
base = PHY_GetTxPowerByRate(padapter, path, MGN_11M);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
68
phy_SetTxPowerByRateBase(padapter, path, CCK, base);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
70
base = PHY_GetTxPowerByRate(padapter, path, MGN_54M);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
71
phy_SetTxPowerByRateBase(padapter, path, OFDM, base);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
73
base = PHY_GetTxPowerByRate(padapter, path, MGN_MCS7);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
74
phy_SetTxPowerByRateBase(padapter, path, HT_MCS0_MCS7, base);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
77
void PHY_SetTxPowerLevelByPath(struct adapter *Adapter, u8 channel, u8 path);
drivers/target/target_core_alua.c
1172
char *path;
drivers/target/target_core_alua.c
1190
path = kasprintf(GFP_KERNEL, "%s/alua/%s/%s+%hu/lun_%llu",
drivers/target/target_core_alua.c
1196
path = kasprintf(GFP_KERNEL, "%s/alua/%s/%s/lun_%llu",
drivers/target/target_core_alua.c
1201
if (!path) {
drivers/target/target_core_alua.c
1206
rc = core_alua_write_tpg_metadata(path, md_buf, len);
drivers/target/target_core_alua.c
1207
kfree(path);
drivers/target/target_core_alua.c
855
const char *path,
drivers/target/target_core_alua.c
859
struct file *file = filp_open(path, O_RDWR | O_CREAT | O_TRUNC, 0600);
drivers/target/target_core_alua.c
864
pr_err("filp_open(%s) for ALUA metadata failed\n", path);
drivers/target/target_core_alua.c
869
pr_err("Error writing ALUA metadata file: %s\n", path);
drivers/target/target_core_alua.c
879
char *path;
drivers/target/target_core_alua.c
899
path = kasprintf(GFP_KERNEL, "%s/alua/tpgs_%s/%s", db_root,
drivers/target/target_core_alua.c
902
if (path) {
drivers/target/target_core_alua.c
903
rc = core_alua_write_tpg_metadata(path, md_buf, len);
drivers/target/target_core_alua.c
904
kfree(path);
drivers/target/target_core_configfs.c
112
struct path path = {};
drivers/target/target_core_configfs.c
134
r = kern_path(db_root_stage, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path);
drivers/target/target_core_configfs.c
141
path_put(&path);
drivers/target/target_core_pr.c
1962
char *path;
drivers/target/target_core_pr.c
1967
path = kasprintf(GFP_KERNEL, "%s/pr/aptpl_%s", db_root,
drivers/target/target_core_pr.c
1969
if (!path)
drivers/target/target_core_pr.c
1972
file = filp_open(path, flags, 0600);
drivers/target/target_core_pr.c
1975
" failed\n", path);
drivers/target/target_core_pr.c
1976
kfree(path);
drivers/target/target_core_pr.c
1985
pr_debug("Error writing APTPL metadata file: %s\n", path);
drivers/target/target_core_pr.c
1987
kfree(path);
drivers/thunderbolt/debugfs.c
2292
DEBUGFS_ATTR_RW(path);
drivers/thunderbolt/path.c
108
struct tb_path *path;
drivers/thunderbolt/path.c
153
path = kzalloc_obj(*path);
drivers/thunderbolt/path.c
154
if (!path)
drivers/thunderbolt/path.c
157
path->name = name;
drivers/thunderbolt/path.c
158
path->tb = src->sw->tb;
drivers/thunderbolt/path.c
159
path->path_length = num_hops;
drivers/thunderbolt/path.c
160
path->activated = true;
drivers/thunderbolt/path.c
161
path->alloc_hopid = alloc_hopid;
drivers/thunderbolt/path.c
163
path->hops = kzalloc_objs(*path->hops, num_hops);
drivers/thunderbolt/path.c
164
if (!path->hops) {
drivers/thunderbolt/path.c
165
kfree(path);
drivers/thunderbolt/path.c
169
tb_dbg(path->tb, "discovering %s path starting from %llx:%u\n",
drivers/thunderbolt/path.c
170
path->name, tb_route(src->sw), src->port);
drivers/thunderbolt/path.c
198
path->hops[i].in_port = p;
drivers/thunderbolt/path.c
199
path->hops[i].in_hop_index = h;
drivers/thunderbolt/path.c
200
path->hops[i].in_counter_index = -1;
drivers/thunderbolt/path.c
201
path->hops[i].out_port = out_port;
drivers/thunderbolt/path.c
202
path->hops[i].next_hop_index = next_hop;
drivers/thunderbolt/path.c
204
tb_dump_hop(&path->hops[i], &hop);
drivers/thunderbolt/path.c
210
tb_dbg(path->tb, "path discovery complete\n");
drivers/thunderbolt/path.c
211
return path;
drivers/thunderbolt/path.c
216
tb_path_free(path);
drivers/thunderbolt/path.c
244
struct tb_path *path;
drivers/thunderbolt/path.c
248
path = kzalloc_obj(*path);
drivers/thunderbolt/path.c
249
if (!path)
drivers/thunderbolt/path.c
263
kfree(path);
drivers/thunderbolt/path.c
270
path->hops = kzalloc_objs(*path->hops, num_hops);
drivers/thunderbolt/path.c
271
if (!path->hops) {
drivers/thunderbolt/path.c
272
kfree(path);
drivers/thunderbolt/path.c
276
path->alloc_hopid = true;
drivers/thunderbolt/path.c
332
path->hops[i].in_hop_index = in_hopid;
drivers/thunderbolt/path.c
333
path->hops[i].in_port = in_port;
drivers/thunderbolt/path.c
334
path->hops[i].in_counter_index = -1;
drivers/thunderbolt/path.c
335
path->hops[i].out_port = out_port;
drivers/thunderbolt/path.c
336
path->hops[i].next_hop_index = out_hopid;
drivers/thunderbolt/path.c
341
path->tb = tb;
drivers/thunderbolt/path.c
342
path->path_length = num_hops;
drivers/thunderbolt/path.c
343
path->name = name;
drivers/thunderbolt/path.c
345
return path;
drivers/thunderbolt/path.c
348
tb_path_free(path);
drivers/thunderbolt/path.c
358
void tb_path_free(struct tb_path *path)
drivers/thunderbolt/path.c
360
if (path->alloc_hopid) {
drivers/thunderbolt/path.c
363
for (i = 0; i < path->path_length; i++) {
drivers/thunderbolt/path.c
364
const struct tb_path_hop *hop = &path->hops[i];
drivers/thunderbolt/path.c
375
kfree(path->hops);
drivers/thunderbolt/path.c
376
kfree(path);
drivers/thunderbolt/path.c
379
static void __tb_path_deallocate_nfc(struct tb_path *path, int first_hop)
drivers/thunderbolt/path.c
382
for (i = first_hop; i < path->path_length; i++) {
drivers/thunderbolt/path.c
383
res = tb_port_add_nfc_credits(path->hops[i].in_port,
drivers/thunderbolt/path.c
384
-path->hops[i].nfc_credits);
drivers/thunderbolt/path.c
386
tb_port_warn(path->hops[i].in_port,
drivers/thunderbolt/path.c
464
static void __tb_path_deactivate_hops(struct tb_path *path, int first_hop)
drivers/thunderbolt/path.c
468
for (i = first_hop; i < path->path_length; i++) {
drivers/thunderbolt/path.c
469
res = __tb_path_deactivate_hop(path->hops[i].in_port,
drivers/thunderbolt/path.c
470
path->hops[i].in_hop_index,
drivers/thunderbolt/path.c
471
path->clear_fc);
drivers/thunderbolt/path.c
473
tb_port_warn(path->hops[i].in_port,
drivers/thunderbolt/path.c
475
i, path->hops[i].in_hop_index);
drivers/thunderbolt/path.c
479
void tb_path_deactivate(struct tb_path *path)
drivers/thunderbolt/path.c
481
if (!path->activated) {
drivers/thunderbolt/path.c
482
tb_WARN(path->tb, "trying to deactivate an inactive path\n");
drivers/thunderbolt/path.c
485
tb_dbg(path->tb,
drivers/thunderbolt/path.c
487
path->name, tb_route(path->hops[0].in_port->sw),
drivers/thunderbolt/path.c
488
path->hops[0].in_port->port,
drivers/thunderbolt/path.c
489
tb_route(path->hops[path->path_length - 1].out_port->sw),
drivers/thunderbolt/path.c
490
path->hops[path->path_length - 1].out_port->port);
drivers/thunderbolt/path.c
491
__tb_path_deactivate_hops(path, 0);
drivers/thunderbolt/path.c
492
__tb_path_deallocate_nfc(path, 0);
drivers/thunderbolt/path.c
493
path->activated = false;
drivers/thunderbolt/path.c
505
int tb_path_activate(struct tb_path *path)
drivers/thunderbolt/path.c
509
if (path->activated) {
drivers/thunderbolt/path.c
510
tb_WARN(path->tb, "trying to activate already activated path\n");
drivers/thunderbolt/path.c
514
tb_dbg(path->tb,
drivers/thunderbolt/path.c
516
path->name, tb_route(path->hops[0].in_port->sw),
drivers/thunderbolt/path.c
517
path->hops[0].in_port->port,
drivers/thunderbolt/path.c
518
tb_route(path->hops[path->path_length - 1].out_port->sw),
drivers/thunderbolt/path.c
519
path->hops[path->path_length - 1].out_port->port);
drivers/thunderbolt/path.c
522
for (i = path->path_length - 1; i >= 0; i--) {
drivers/thunderbolt/path.c
523
if (path->hops[i].in_counter_index == -1)
drivers/thunderbolt/path.c
525
res = tb_port_clear_counter(path->hops[i].in_port,
drivers/thunderbolt/path.c
526
path->hops[i].in_counter_index);
drivers/thunderbolt/path.c
532
for (i = path->path_length - 1; i >= 0; i--) {
drivers/thunderbolt/path.c
533
res = tb_port_add_nfc_credits(path->hops[i].in_port,
drivers/thunderbolt/path.c
534
path->hops[i].nfc_credits);
drivers/thunderbolt/path.c
536
__tb_path_deallocate_nfc(path, i);
drivers/thunderbolt/path.c
542
for (i = path->path_length - 1; i >= 0; i--) {
drivers/thunderbolt/path.c
546
__tb_path_deactivate_hop(path->hops[i].in_port,
drivers/thunderbolt/path.c
547
path->hops[i].in_hop_index, path->clear_fc);
drivers/thunderbolt/path.c
550
hop.next_hop = path->hops[i].next_hop_index;
drivers/thunderbolt/path.c
551
hop.out_port = path->hops[i].out_port->port;
drivers/thunderbolt/path.c
552
hop.initial_credits = path->hops[i].initial_credits;
drivers/thunderbolt/path.c
553
hop.pmps = path->hops[i].pm_support;
drivers/thunderbolt/path.c
558
out_mask = (i == path->path_length - 1) ?
drivers/thunderbolt/path.c
561
hop.weight = path->weight;
drivers/thunderbolt/path.c
563
hop.priority = path->priority;
drivers/thunderbolt/path.c
564
hop.drop_packages = path->drop_packages;
drivers/thunderbolt/path.c
565
hop.counter = path->hops[i].in_counter_index;
drivers/thunderbolt/path.c
566
hop.counter_enable = path->hops[i].in_counter_index != -1;
drivers/thunderbolt/path.c
567
hop.ingress_fc = path->ingress_fc_enable & in_mask;
drivers/thunderbolt/path.c
568
hop.egress_fc = path->egress_fc_enable & out_mask;
drivers/thunderbolt/path.c
569
hop.ingress_shared_buffer = path->ingress_shared_buffer
drivers/thunderbolt/path.c
571
hop.egress_shared_buffer = path->egress_shared_buffer
drivers/thunderbolt/path.c
575
tb_port_dbg(path->hops[i].in_port, "Writing hop %d\n", i);
drivers/thunderbolt/path.c
576
tb_dump_hop(&path->hops[i], &hop);
drivers/thunderbolt/path.c
577
res = tb_port_write(path->hops[i].in_port, &hop, TB_CFG_HOPS,
drivers/thunderbolt/path.c
578
2 * path->hops[i].in_hop_index, 2);
drivers/thunderbolt/path.c
580
__tb_path_deactivate_hops(path, i);
drivers/thunderbolt/path.c
581
__tb_path_deallocate_nfc(path, 0);
drivers/thunderbolt/path.c
585
path->activated = true;
drivers/thunderbolt/path.c
586
tb_dbg(path->tb, "%s path activation complete\n", path->name);
drivers/thunderbolt/path.c
589
tb_warn(path->tb, "%s path activation failed: %d\n", path->name, res);
drivers/thunderbolt/path.c
599
bool tb_path_is_invalid(struct tb_path *path)
drivers/thunderbolt/path.c
602
for (i = 0; i < path->path_length; i++) {
drivers/thunderbolt/path.c
603
if (path->hops[i].in_port->sw->is_unplugged)
drivers/thunderbolt/path.c
605
if (path->hops[i].out_port->sw->is_unplugged)
drivers/thunderbolt/path.c
621
bool tb_path_port_on_path(const struct tb_path *path, const struct tb_port *port)
drivers/thunderbolt/path.c
625
for (i = 0; i < path->path_length; i++) {
drivers/thunderbolt/path.c
626
if (path->hops[i].in_port == port ||
drivers/thunderbolt/path.c
627
path->hops[i].out_port == port)
drivers/thunderbolt/tb.h
1196
void tb_path_free(struct tb_path *path);
drivers/thunderbolt/tb.h
1197
int tb_path_activate(struct tb_path *path);
drivers/thunderbolt/tb.h
1198
void tb_path_deactivate(struct tb_path *path);
drivers/thunderbolt/tb.h
1200
bool tb_path_is_invalid(struct tb_path *path);
drivers/thunderbolt/tb.h
1201
bool tb_path_port_on_path(const struct tb_path *path,
drivers/thunderbolt/tb.h
1211
#define tb_path_for_each_hop(path, hop) \
drivers/thunderbolt/tb.h
1212
for ((hop) = &(path)->hops[0]; \
drivers/thunderbolt/tb.h
1213
(hop) <= &(path)->hops[(path)->path_length - 1]; (hop)++)
drivers/thunderbolt/test.c
1038
struct tb_path *path;
drivers/thunderbolt/test.c
1049
path = tb_path_alloc(NULL, in, 9, out, 9, 1, "Video");
drivers/thunderbolt/test.c
1050
KUNIT_ASSERT_NOT_NULL(test, path);
drivers/thunderbolt/test.c
1051
KUNIT_ASSERT_EQ(test, path->path_length, ARRAY_SIZE(test_data));
drivers/thunderbolt/test.c
1055
in_port = path->hops[i].in_port;
drivers/thunderbolt/test.c
1056
out_port = path->hops[i].out_port;
drivers/thunderbolt/test.c
1067
tb_path_free(path);
drivers/thunderbolt/test.c
1118
struct tb_path *path;
drivers/thunderbolt/test.c
1129
path = tb_path_alloc(NULL, in, 9, out, 9, 1, "Video");
drivers/thunderbolt/test.c
1130
KUNIT_ASSERT_NOT_NULL(test, path);
drivers/thunderbolt/test.c
1131
KUNIT_ASSERT_EQ(test, path->path_length, ARRAY_SIZE(test_data));
drivers/thunderbolt/test.c
1135
in_port = path->hops[i].in_port;
drivers/thunderbolt/test.c
1136
out_port = path->hops[i].out_port;
drivers/thunderbolt/test.c
1147
tb_path_free(path);
drivers/thunderbolt/test.c
1209
struct tb_path *path;
drivers/thunderbolt/test.c
1221
path = tb_path_alloc(NULL, in, 9, out, 9, 1, "Video");
drivers/thunderbolt/test.c
1222
KUNIT_ASSERT_NOT_NULL(test, path);
drivers/thunderbolt/test.c
1223
KUNIT_ASSERT_EQ(test, path->path_length, ARRAY_SIZE(test_data));
drivers/thunderbolt/test.c
1227
in_port = path->hops[i].in_port;
drivers/thunderbolt/test.c
1228
out_port = path->hops[i].out_port;
drivers/thunderbolt/test.c
1239
tb_path_free(path);
drivers/thunderbolt/test.c
1301
struct tb_path *path;
drivers/thunderbolt/test.c
1313
path = tb_path_alloc(NULL, in, 9, out, 9, 1, "Video");
drivers/thunderbolt/test.c
1314
KUNIT_ASSERT_NOT_NULL(test, path);
drivers/thunderbolt/test.c
1315
KUNIT_ASSERT_EQ(test, path->path_length, ARRAY_SIZE(test_data));
drivers/thunderbolt/test.c
1319
in_port = path->hops[i].in_port;
drivers/thunderbolt/test.c
1320
out_port = path->hops[i].out_port;
drivers/thunderbolt/test.c
1331
tb_path_free(path);
drivers/thunderbolt/test.c
2028
struct tb_path *path;
drivers/thunderbolt/test.c
2039
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2040
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2041
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2042
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2043
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2044
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 16U);
drivers/thunderbolt/test.c
2046
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2047
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2048
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2049
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2050
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2051
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 16U);
drivers/thunderbolt/test.c
2061
struct tb_path *path;
drivers/thunderbolt/test.c
2072
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2073
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2074
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2075
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2076
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2077
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 32U);
drivers/thunderbolt/test.c
2079
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2080
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2081
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2082
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2083
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2084
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 32U);
drivers/thunderbolt/test.c
2094
struct tb_path *path;
drivers/thunderbolt/test.c
2105
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2106
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2107
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2108
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2109
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2110
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 32U);
drivers/thunderbolt/test.c
2112
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2113
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2114
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2115
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2116
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2117
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 64U);
drivers/thunderbolt/test.c
2127
struct tb_path *path;
drivers/thunderbolt/test.c
2154
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2155
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2156
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2157
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2158
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2159
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 9U);
drivers/thunderbolt/test.c
2162
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2163
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2164
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2165
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2166
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2167
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 64U);
drivers/thunderbolt/test.c
2177
struct tb_path *path;
drivers/thunderbolt/test.c
2190
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2191
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2192
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 12U);
drivers/thunderbolt/test.c
2193
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2194
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 18U);
drivers/thunderbolt/test.c
2195
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 0U);
drivers/thunderbolt/test.c
2198
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2199
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2200
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2201
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 1U);
drivers/thunderbolt/test.c
2202
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2203
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2206
path = tunnel->paths[2];
drivers/thunderbolt/test.c
2207
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2208
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2209
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 1U);
drivers/thunderbolt/test.c
2210
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2211
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2221
struct tb_path *path;
drivers/thunderbolt/test.c
2232
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2233
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2234
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2235
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2236
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2237
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2239
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2240
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2241
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2242
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2243
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2244
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 32U);
drivers/thunderbolt/test.c
2254
struct tb_path *path;
drivers/thunderbolt/test.c
2267
path = tunnel->paths[0];
drivers/thunderbolt/test.c
2268
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2269
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2270
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 14U);
drivers/thunderbolt/test.c
2271
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2272
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2275
path = tunnel->paths[1];
drivers/thunderbolt/test.c
2276
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2277
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2278
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2279
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2280
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2290
struct tb_path *path;
drivers/thunderbolt/test.c
2320
path = tunnel1->paths[0];
drivers/thunderbolt/test.c
2321
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2322
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2323
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 14U);
drivers/thunderbolt/test.c
2324
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2325
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2327
path = tunnel1->paths[1];
drivers/thunderbolt/test.c
2328
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2329
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2330
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2331
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2332
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2338
path = tunnel2->paths[0];
drivers/thunderbolt/test.c
2339
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2340
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2341
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 14U);
drivers/thunderbolt/test.c
2342
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2343
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2345
path = tunnel2->paths[1];
drivers/thunderbolt/test.c
2346
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2347
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2348
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2349
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2350
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2364
path = tunnel3->paths[0];
drivers/thunderbolt/test.c
2365
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2366
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2367
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 14U);
drivers/thunderbolt/test.c
2368
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2369
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2371
path = tunnel3->paths[1];
drivers/thunderbolt/test.c
2372
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2373
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2374
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2375
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2376
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2387
struct tb_path *path;
drivers/thunderbolt/test.c
2395
path = pcie_tunnel->paths[0];
drivers/thunderbolt/test.c
2396
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2397
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2398
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2399
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2400
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 32U);
drivers/thunderbolt/test.c
2402
path = pcie_tunnel->paths[1];
drivers/thunderbolt/test.c
2403
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2404
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2405
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2406
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2407
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 64U);
drivers/thunderbolt/test.c
2417
struct tb_path *path;
drivers/thunderbolt/test.c
2425
path = dp_tunnel1->paths[0];
drivers/thunderbolt/test.c
2426
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2427
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 12U);
drivers/thunderbolt/test.c
2428
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2429
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 18U);
drivers/thunderbolt/test.c
2430
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 0U);
drivers/thunderbolt/test.c
2432
path = dp_tunnel1->paths[1];
drivers/thunderbolt/test.c
2433
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2434
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2435
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 1U);
drivers/thunderbolt/test.c
2436
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2437
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2439
path = dp_tunnel1->paths[2];
drivers/thunderbolt/test.c
2440
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2441
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2442
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 1U);
drivers/thunderbolt/test.c
2443
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2444
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2454
struct tb_path *path;
drivers/thunderbolt/test.c
2462
path = dp_tunnel2->paths[0];
drivers/thunderbolt/test.c
2463
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2464
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 12U);
drivers/thunderbolt/test.c
2465
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2466
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 18U);
drivers/thunderbolt/test.c
2467
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 0U);
drivers/thunderbolt/test.c
2469
path = dp_tunnel2->paths[1];
drivers/thunderbolt/test.c
2470
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2471
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2472
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 1U);
drivers/thunderbolt/test.c
2473
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2474
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2476
path = dp_tunnel2->paths[2];
drivers/thunderbolt/test.c
2477
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2478
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2479
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 1U);
drivers/thunderbolt/test.c
2480
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2481
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2491
struct tb_path *path;
drivers/thunderbolt/test.c
2499
path = usb3_tunnel->paths[0];
drivers/thunderbolt/test.c
2500
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2501
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2502
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2503
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2504
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2506
path = usb3_tunnel->paths[1];
drivers/thunderbolt/test.c
2507
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2508
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2509
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 7U);
drivers/thunderbolt/test.c
2510
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2511
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 32U);
drivers/thunderbolt/test.c
2521
struct tb_path *path;
drivers/thunderbolt/test.c
2529
path = dma_tunnel1->paths[0];
drivers/thunderbolt/test.c
2530
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2531
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2532
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 14U);
drivers/thunderbolt/test.c
2533
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2534
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2536
path = dma_tunnel1->paths[1];
drivers/thunderbolt/test.c
2537
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2538
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2539
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2540
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2541
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 14U);
drivers/thunderbolt/test.c
2551
struct tb_path *path;
drivers/thunderbolt/test.c
2559
path = dma_tunnel2->paths[0];
drivers/thunderbolt/test.c
2560
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2561
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2562
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 14U);
drivers/thunderbolt/test.c
2563
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2564
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
2566
path = dma_tunnel2->paths[1];
drivers/thunderbolt/test.c
2567
KUNIT_ASSERT_EQ(test, path->path_length, 2);
drivers/thunderbolt/test.c
2568
KUNIT_EXPECT_EQ(test, path->hops[0].nfc_credits, 0U);
drivers/thunderbolt/test.c
2569
KUNIT_EXPECT_EQ(test, path->hops[0].initial_credits, 0U);
drivers/thunderbolt/test.c
2570
KUNIT_EXPECT_EQ(test, path->hops[1].nfc_credits, 0U);
drivers/thunderbolt/test.c
2571
KUNIT_EXPECT_EQ(test, path->hops[1].initial_credits, 1U);
drivers/thunderbolt/test.c
846
struct tb_path *path;
drivers/thunderbolt/test.c
856
path = tb_path_alloc(NULL, down, 8, up, 8, 0, "PCIe Down");
drivers/thunderbolt/test.c
857
KUNIT_ASSERT_NULL(test, path);
drivers/thunderbolt/test.c
858
path = tb_path_alloc(NULL, down, 8, up, 8, 1, "PCIe Down");
drivers/thunderbolt/test.c
859
KUNIT_ASSERT_NULL(test, path);
drivers/thunderbolt/test.c
898
struct tb_path *path;
drivers/thunderbolt/test.c
907
path = tb_path_alloc(NULL, down, 8, up, 8, 0, "PCIe Down");
drivers/thunderbolt/test.c
908
KUNIT_ASSERT_NOT_NULL(test, path);
drivers/thunderbolt/test.c
909
KUNIT_ASSERT_EQ(test, path->path_length, ARRAY_SIZE(test_data));
drivers/thunderbolt/test.c
913
in_port = path->hops[i].in_port;
drivers/thunderbolt/test.c
914
out_port = path->hops[i].out_port;
drivers/thunderbolt/test.c
925
tb_path_free(path);
drivers/thunderbolt/test.c
960
struct tb_path *path;
drivers/thunderbolt/test.c
969
path = tb_path_alloc(NULL, in, 9, out, 9, 1, "Video");
drivers/thunderbolt/test.c
970
KUNIT_ASSERT_NOT_NULL(test, path);
drivers/thunderbolt/test.c
971
KUNIT_ASSERT_EQ(test, path->path_length, ARRAY_SIZE(test_data));
drivers/thunderbolt/test.c
975
in_port = path->hops[i].in_port;
drivers/thunderbolt/test.c
976
out_port = path->hops[i].out_port;
drivers/thunderbolt/test.c
987
tb_path_free(path);
drivers/thunderbolt/tunnel.c
1436
static void tb_dp_init_aux_path(struct tb_path *path, bool pm_support)
drivers/thunderbolt/tunnel.c
1440
path->egress_fc_enable = TB_PATH_SOURCE | TB_PATH_INTERNAL;
drivers/thunderbolt/tunnel.c
1441
path->egress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1442
path->ingress_fc_enable = TB_PATH_ALL;
drivers/thunderbolt/tunnel.c
1443
path->ingress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1444
path->priority = TB_DP_AUX_PRIORITY;
drivers/thunderbolt/tunnel.c
1445
path->weight = TB_DP_AUX_WEIGHT;
drivers/thunderbolt/tunnel.c
1447
tb_path_for_each_hop(path, hop) {
drivers/thunderbolt/tunnel.c
1483
static int tb_dp_init_video_path(struct tb_path *path, bool pm_support)
drivers/thunderbolt/tunnel.c
1487
path->egress_fc_enable = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1488
path->egress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1489
path->ingress_fc_enable = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1490
path->ingress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1491
path->priority = TB_DP_VIDEO_PRIORITY;
drivers/thunderbolt/tunnel.c
1492
path->weight = TB_DP_VIDEO_WEIGHT;
drivers/thunderbolt/tunnel.c
1494
tb_path_for_each_hop(path, hop) {
drivers/thunderbolt/tunnel.c
1565
struct tb_path *path;
drivers/thunderbolt/tunnel.c
1583
path = tb_path_discover(in, TB_DP_VIDEO_HOPID, NULL, -1,
drivers/thunderbolt/tunnel.c
1585
if (!path) {
drivers/thunderbolt/tunnel.c
1590
tunnel->paths[TB_DP_VIDEO_PATH_OUT] = path;
drivers/thunderbolt/tunnel.c
1594
path = tb_path_discover(in, TB_DP_AUX_TX_HOPID, NULL, -1, NULL, "AUX TX",
drivers/thunderbolt/tunnel.c
1596
if (!path)
drivers/thunderbolt/tunnel.c
1598
tunnel->paths[TB_DP_AUX_PATH_OUT] = path;
drivers/thunderbolt/tunnel.c
1601
path = tb_path_discover(tunnel->dst_port, -1, in, TB_DP_AUX_RX_HOPID,
drivers/thunderbolt/tunnel.c
1603
if (!path)
drivers/thunderbolt/tunnel.c
1605
tunnel->paths[TB_DP_AUX_PATH_IN] = path;
drivers/thunderbolt/tunnel.c
1669
struct tb_path *path;
drivers/thunderbolt/tunnel.c
1697
path = tb_path_alloc(tb, in, TB_DP_VIDEO_HOPID, out, TB_DP_VIDEO_HOPID,
drivers/thunderbolt/tunnel.c
1699
if (!path)
drivers/thunderbolt/tunnel.c
1701
tb_dp_init_video_path(path, pm_support);
drivers/thunderbolt/tunnel.c
1702
paths[TB_DP_VIDEO_PATH_OUT] = path;
drivers/thunderbolt/tunnel.c
1704
path = tb_path_alloc(tb, in, TB_DP_AUX_TX_HOPID, out,
drivers/thunderbolt/tunnel.c
1706
if (!path)
drivers/thunderbolt/tunnel.c
1708
tb_dp_init_aux_path(path, pm_support);
drivers/thunderbolt/tunnel.c
1709
paths[TB_DP_AUX_PATH_OUT] = path;
drivers/thunderbolt/tunnel.c
1711
path = tb_path_alloc(tb, out, TB_DP_AUX_RX_HOPID, in,
drivers/thunderbolt/tunnel.c
1713
if (!path)
drivers/thunderbolt/tunnel.c
1715
tb_dp_init_aux_path(path, pm_support);
drivers/thunderbolt/tunnel.c
1716
paths[TB_DP_AUX_PATH_IN] = path;
drivers/thunderbolt/tunnel.c
1771
static int tb_dma_init_rx_path(struct tb_path *path, unsigned int credits)
drivers/thunderbolt/tunnel.c
1776
path->egress_fc_enable = TB_PATH_SOURCE | TB_PATH_INTERNAL;
drivers/thunderbolt/tunnel.c
1777
path->ingress_fc_enable = TB_PATH_ALL;
drivers/thunderbolt/tunnel.c
1778
path->egress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1779
path->ingress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1780
path->priority = TB_DMA_PRIORITY;
drivers/thunderbolt/tunnel.c
1781
path->weight = TB_DMA_WEIGHT;
drivers/thunderbolt/tunnel.c
1782
path->clear_fc = true;
drivers/thunderbolt/tunnel.c
1789
hop = &path->hops[0];
drivers/thunderbolt/tunnel.c
1794
for (i = 1; i < path->path_length; i++) {
drivers/thunderbolt/tunnel.c
1797
ret = tb_dma_reserve_credits(&path->hops[i], credits);
drivers/thunderbolt/tunnel.c
1806
static int tb_dma_init_tx_path(struct tb_path *path, unsigned int credits)
drivers/thunderbolt/tunnel.c
1810
path->egress_fc_enable = TB_PATH_ALL;
drivers/thunderbolt/tunnel.c
1811
path->ingress_fc_enable = TB_PATH_ALL;
drivers/thunderbolt/tunnel.c
1812
path->egress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1813
path->ingress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
1814
path->priority = TB_DMA_PRIORITY;
drivers/thunderbolt/tunnel.c
1815
path->weight = TB_DMA_WEIGHT;
drivers/thunderbolt/tunnel.c
1816
path->clear_fc = true;
drivers/thunderbolt/tunnel.c
1818
tb_path_for_each_hop(path, hop) {
drivers/thunderbolt/tunnel.c
1841
static void tb_dma_destroy_path(struct tb_path *path)
drivers/thunderbolt/tunnel.c
1845
tb_path_for_each_hop(path, hop)
drivers/thunderbolt/tunnel.c
1881
struct tb_path *path;
drivers/thunderbolt/tunnel.c
1907
path = tb_path_alloc(tb, dst, receive_path, nhi, receive_ring, 0,
drivers/thunderbolt/tunnel.c
1909
if (!path)
drivers/thunderbolt/tunnel.c
1911
tunnel->paths[i++] = path;
drivers/thunderbolt/tunnel.c
1912
if (tb_dma_init_rx_path(path, credits)) {
drivers/thunderbolt/tunnel.c
1919
path = tb_path_alloc(tb, nhi, transmit_ring, dst, transmit_path, 0,
drivers/thunderbolt/tunnel.c
1921
if (!path)
drivers/thunderbolt/tunnel.c
1923
tunnel->paths[i++] = path;
drivers/thunderbolt/tunnel.c
1924
if (tb_dma_init_tx_path(path, credits)) {
drivers/thunderbolt/tunnel.c
1962
const struct tb_path *path = tunnel->paths[i];
drivers/thunderbolt/tunnel.c
1964
if (!path)
drivers/thunderbolt/tunnel.c
1967
if (tb_port_is_nhi(path->hops[0].in_port))
drivers/thunderbolt/tunnel.c
1968
tx_path = path;
drivers/thunderbolt/tunnel.c
1969
else if (tb_port_is_nhi(path->hops[path->path_length - 1].out_port))
drivers/thunderbolt/tunnel.c
1970
rx_path = path;
drivers/thunderbolt/tunnel.c
2149
static void tb_usb3_init_path(struct tb_path *path)
drivers/thunderbolt/tunnel.c
2153
path->egress_fc_enable = TB_PATH_SOURCE | TB_PATH_INTERNAL;
drivers/thunderbolt/tunnel.c
2154
path->egress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
2155
path->ingress_fc_enable = TB_PATH_ALL;
drivers/thunderbolt/tunnel.c
2156
path->ingress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
2157
path->priority = TB_USB3_PRIORITY;
drivers/thunderbolt/tunnel.c
2158
path->weight = TB_USB3_WEIGHT;
drivers/thunderbolt/tunnel.c
2159
path->drop_packages = 0;
drivers/thunderbolt/tunnel.c
2161
tb_path_for_each_hop(path, hop)
drivers/thunderbolt/tunnel.c
2180
struct tb_path *path;
drivers/thunderbolt/tunnel.c
2197
path = tb_path_discover(down, TB_USB3_HOPID, NULL, -1,
drivers/thunderbolt/tunnel.c
2199
if (!path) {
drivers/thunderbolt/tunnel.c
2204
tunnel->paths[TB_USB3_PATH_DOWN] = path;
drivers/thunderbolt/tunnel.c
2207
path = tb_path_discover(tunnel->dst_port, -1, down, TB_USB3_HOPID, NULL,
drivers/thunderbolt/tunnel.c
2209
if (!path)
drivers/thunderbolt/tunnel.c
2211
tunnel->paths[TB_USB3_PATH_UP] = path;
drivers/thunderbolt/tunnel.c
2286
struct tb_path *path;
drivers/thunderbolt/tunnel.c
2314
path = tb_path_alloc(tb, down, TB_USB3_HOPID, up, TB_USB3_HOPID, 0,
drivers/thunderbolt/tunnel.c
2316
if (!path)
drivers/thunderbolt/tunnel.c
2318
tb_usb3_init_path(path);
drivers/thunderbolt/tunnel.c
2319
tunnel->paths[TB_USB3_PATH_DOWN] = path;
drivers/thunderbolt/tunnel.c
2321
path = tb_path_alloc(tb, up, TB_USB3_HOPID, down, TB_USB3_HOPID, 0,
drivers/thunderbolt/tunnel.c
2323
if (!path)
drivers/thunderbolt/tunnel.c
2325
tb_usb3_init_path(path);
drivers/thunderbolt/tunnel.c
2326
tunnel->paths[TB_USB3_PATH_UP] = path;
drivers/thunderbolt/tunnel.c
390
static int tb_pci_init_path(struct tb_path *path)
drivers/thunderbolt/tunnel.c
394
path->egress_fc_enable = TB_PATH_SOURCE | TB_PATH_INTERNAL;
drivers/thunderbolt/tunnel.c
395
path->egress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
396
path->ingress_fc_enable = TB_PATH_ALL;
drivers/thunderbolt/tunnel.c
397
path->ingress_shared_buffer = TB_PATH_NONE;
drivers/thunderbolt/tunnel.c
398
path->priority = TB_PCI_PRIORITY;
drivers/thunderbolt/tunnel.c
399
path->weight = TB_PCI_WEIGHT;
drivers/thunderbolt/tunnel.c
400
path->drop_packages = 0;
drivers/thunderbolt/tunnel.c
402
tb_path_for_each_hop(path, hop) {
drivers/thunderbolt/tunnel.c
428
struct tb_path *path;
drivers/thunderbolt/tunnel.c
445
path = tb_path_discover(down, TB_PCI_HOPID, NULL, -1,
drivers/thunderbolt/tunnel.c
447
if (!path) {
drivers/thunderbolt/tunnel.c
452
tunnel->paths[TB_PCI_PATH_UP] = path;
drivers/thunderbolt/tunnel.c
456
path = tb_path_discover(tunnel->dst_port, -1, down, TB_PCI_HOPID, NULL,
drivers/thunderbolt/tunnel.c
458
if (!path)
drivers/thunderbolt/tunnel.c
460
tunnel->paths[TB_PCI_PATH_DOWN] = path;
drivers/thunderbolt/tunnel.c
508
struct tb_path *path;
drivers/thunderbolt/tunnel.c
518
path = tb_path_alloc(tb, down, TB_PCI_HOPID, up, TB_PCI_HOPID, 0,
drivers/thunderbolt/tunnel.c
520
if (!path)
drivers/thunderbolt/tunnel.c
522
tunnel->paths[TB_PCI_PATH_DOWN] = path;
drivers/thunderbolt/tunnel.c
523
if (tb_pci_init_path(path))
drivers/thunderbolt/tunnel.c
526
path = tb_path_alloc(tb, up, TB_PCI_HOPID, down, TB_PCI_HOPID, 0,
drivers/thunderbolt/tunnel.c
528
if (!path)
drivers/thunderbolt/tunnel.c
530
tunnel->paths[TB_PCI_PATH_UP] = path;
drivers/thunderbolt/tunnel.c
531
if (tb_pci_init_path(path))
drivers/tty/hvc/hvc_iucv.c
249
rc = __iucv_message_receive(priv->path, &rb->msg, 0,
drivers/tty/hvc/hvc_iucv.c
414
rc = __iucv_message_send(priv->path, &sb->msg, 0, 0,
drivers/tty/hvc/hvc_iucv.c
589
struct iucv_path *path;
drivers/tty/hvc/hvc_iucv.c
591
path = NULL;
drivers/tty/hvc/hvc_iucv.c
594
path = priv->path;
drivers/tty/hvc/hvc_iucv.c
595
priv->path = NULL;
drivers/tty/hvc/hvc_iucv.c
610
if (path) {
drivers/tty/hvc/hvc_iucv.c
611
iucv_path_sever(path, NULL);
drivers/tty/hvc/hvc_iucv.c
612
iucv_path_free(path);
drivers/tty/hvc/hvc_iucv.c
670
struct iucv_path *path;
drivers/tty/hvc/hvc_iucv.c
688
path = priv->path; /* save reference to IUCV path */
drivers/tty/hvc/hvc_iucv.c
689
priv->path = NULL;
drivers/tty/hvc/hvc_iucv.c
69
struct iucv_path *path; /* IUCV path pointer */
drivers/tty/hvc/hvc_iucv.c
695
if (path) {
drivers/tty/hvc/hvc_iucv.c
696
iucv_path_sever(path, NULL);
drivers/tty/hvc/hvc_iucv.c
697
iucv_path_free(path);
drivers/tty/hvc/hvc_iucv.c
783
static int hvc_iucv_path_pending(struct iucv_path *path, u8 *ipvmid,
drivers/tty/hvc/hvc_iucv.c
825
iucv_path_sever(path, ipuser);
drivers/tty/hvc/hvc_iucv.c
826
iucv_path_free(path);
drivers/tty/hvc/hvc_iucv.c
840
iucv_path_sever(path, ipuser);
drivers/tty/hvc/hvc_iucv.c
841
iucv_path_free(path);
drivers/tty/hvc/hvc_iucv.c
848
path->msglim = 0xffff; /* IUCV MSGLIMIT */
drivers/tty/hvc/hvc_iucv.c
849
path->flags &= ~IUCV_IPRMDATA; /* TODO: use IUCV_IPRMDATA */
drivers/tty/hvc/hvc_iucv.c
850
rc = iucv_path_accept(path, &hvc_iucv_handler, nuser_data, priv);
drivers/tty/hvc/hvc_iucv.c
852
iucv_path_sever(path, ipuser);
drivers/tty/hvc/hvc_iucv.c
853
iucv_path_free(path);
drivers/tty/hvc/hvc_iucv.c
856
priv->path = path;
drivers/tty/hvc/hvc_iucv.c
882
static void hvc_iucv_path_severed(struct iucv_path *path, u8 *ipuser)
drivers/tty/hvc/hvc_iucv.c
884
struct hvc_iucv_private *priv = path->private;
drivers/tty/hvc/hvc_iucv.c
900
static void hvc_iucv_msg_pending(struct iucv_path *path,
drivers/tty/hvc/hvc_iucv.c
903
struct hvc_iucv_private *priv = path->private;
drivers/tty/hvc/hvc_iucv.c
908
iucv_message_reject(path, msg);
drivers/tty/hvc/hvc_iucv.c
916
iucv_message_reject(path, msg);
drivers/tty/hvc/hvc_iucv.c
923
iucv_message_reject(path, msg);
drivers/tty/hvc/hvc_iucv.c
948
static void hvc_iucv_msg_complete(struct iucv_path *path,
drivers/tty/hvc/hvc_iucv.c
951
struct hvc_iucv_private *priv = path->private;
drivers/tty/pty.c
591
struct path path;
drivers/tty/pty.c
595
path.mnt = devpts_mntget(master, tty->driver_data);
drivers/tty/pty.c
596
if (IS_ERR(path.mnt))
drivers/tty/pty.c
597
return ERR_CAST(path.mnt);
drivers/tty/pty.c
598
path.dentry = tty->link->driver_data;
drivers/tty/pty.c
600
file = dentry_open(&path, flags, current_cred());
drivers/tty/pty.c
601
mntput(path.mnt);
drivers/vfio/vfio_main.c
1412
char *path;
drivers/vfio/vfio_main.c
1416
path = kobject_get_path(&device->dev->kobj, GFP_KERNEL);
drivers/vfio/vfio_main.c
1417
if (!path)
drivers/vfio/vfio_main.c
1420
seq_printf(m, "vfio-device-syspath: /sys%s\n", path);
drivers/vfio/vfio_main.c
1421
kfree(path);
drivers/video/fbdev/mmp/core.c
104
struct mmp_path *path;
drivers/video/fbdev/mmp/core.c
109
list_for_each_entry(path, &path_list, node) {
drivers/video/fbdev/mmp/core.c
110
if (path->panel && path->panel == panel) {
drivers/video/fbdev/mmp/core.c
112
path->name);
drivers/video/fbdev/mmp/core.c
113
path->panel = NULL;
drivers/video/fbdev/mmp/core.c
130
struct mmp_path *path = NULL, *iter;
drivers/video/fbdev/mmp/core.c
135
path = iter;
drivers/video/fbdev/mmp/core.c
141
return path;
drivers/video/fbdev/mmp/core.c
155
struct mmp_path *path = NULL;
drivers/video/fbdev/mmp/core.c
158
path = kzalloc_flex(*path, overlays, info->overlay_num);
drivers/video/fbdev/mmp/core.c
159
if (!path)
drivers/video/fbdev/mmp/core.c
16
static struct mmp_overlay *path_get_overlay(struct mmp_path *path,
drivers/video/fbdev/mmp/core.c
163
mutex_init(&path->access_ok);
drivers/video/fbdev/mmp/core.c
164
path->dev = info->dev;
drivers/video/fbdev/mmp/core.c
165
path->id = info->id;
drivers/video/fbdev/mmp/core.c
166
path->name = info->name;
drivers/video/fbdev/mmp/core.c
167
path->output_type = info->output_type;
drivers/video/fbdev/mmp/core.c
168
path->overlay_num = info->overlay_num;
drivers/video/fbdev/mmp/core.c
169
path->plat_data = info->plat_data;
drivers/video/fbdev/mmp/core.c
170
path->ops.set_mode = info->set_mode;
drivers/video/fbdev/mmp/core.c
176
dev_info(path->dev, "get panel %s\n", panel->name);
drivers/video/fbdev/mmp/core.c
177
path->panel = panel;
drivers/video/fbdev/mmp/core.c
182
dev_info(path->dev, "register %s, overlay_num %d\n",
drivers/video/fbdev/mmp/core.c
183
path->name, path->overlay_num);
drivers/video/fbdev/mmp/core.c
186
if (!path->ops.check_status)
drivers/video/fbdev/mmp/core.c
187
path->ops.check_status = path_check_status;
drivers/video/fbdev/mmp/core.c
188
if (!path->ops.get_overlay)
drivers/video/fbdev/mmp/core.c
189
path->ops.get_overlay = path_get_overlay;
drivers/video/fbdev/mmp/core.c
19
if (path && overlay_id < path->overlay_num)
drivers/video/fbdev/mmp/core.c
190
if (!path->ops.get_modelist)
drivers/video/fbdev/mmp/core.c
191
path->ops.get_modelist = path_get_modelist;
drivers/video/fbdev/mmp/core.c
194
for (i = 0; i < path->overlay_num; i++) {
drivers/video/fbdev/mmp/core.c
195
path->overlays[i].path = path;
drivers/video/fbdev/mmp/core.c
196
path->overlays[i].id = i;
drivers/video/fbdev/mmp/core.c
197
mutex_init(&path->overlays[i].access_ok);
drivers/video/fbdev/mmp/core.c
198
path->overlays[i].ops = info->overlay_ops;
drivers/video/fbdev/mmp/core.c
20
return &path->overlays[overlay_id];
drivers/video/fbdev/mmp/core.c
202
list_add_tail(&path->node, &path_list);
drivers/video/fbdev/mmp/core.c
205
return path;
drivers/video/fbdev/mmp/core.c
215
void mmp_unregister_path(struct mmp_path *path)
drivers/video/fbdev/mmp/core.c
219
if (!path)
drivers/video/fbdev/mmp/core.c
224
list_del(&path->node);
drivers/video/fbdev/mmp/core.c
227
for (i = 0; i < path->overlay_num; i++)
drivers/video/fbdev/mmp/core.c
228
mutex_destroy(&path->overlays[i].access_ok);
drivers/video/fbdev/mmp/core.c
230
mutex_destroy(&path->access_ok);
drivers/video/fbdev/mmp/core.c
232
kfree(path);
drivers/video/fbdev/mmp/core.c
24
static int path_check_status(struct mmp_path *path)
drivers/video/fbdev/mmp/core.c
27
for (i = 0; i < path->overlay_num; i++)
drivers/video/fbdev/mmp/core.c
28
if (path->overlays[i].status)
drivers/video/fbdev/mmp/core.c
41
static int path_get_modelist(struct mmp_path *path,
drivers/video/fbdev/mmp/core.c
44
BUG_ON(!path || !modelist);
drivers/video/fbdev/mmp/core.c
46
if (path->panel && path->panel->get_modelist)
drivers/video/fbdev/mmp/core.c
47
return path->panel->get_modelist(path->panel, modelist);
drivers/video/fbdev/mmp/core.c
74
struct mmp_path *path;
drivers/video/fbdev/mmp/core.c
82
list_for_each_entry(path, &path_list, node) {
drivers/video/fbdev/mmp/core.c
83
if (!strcmp(panel->plat_path_name, path->name)) {
drivers/video/fbdev/mmp/core.c
85
path->name);
drivers/video/fbdev/mmp/core.c
86
path->panel = panel;
drivers/video/fbdev/mmp/fb/mmpfb.c
412
mmp_path_set_mode(fbi->path, &mode);
drivers/video/fbdev/mmp/fb/mmpfb.c
473
videomode_num = mmp_path_get_modelist(fbi->path, &mmp_modes);
drivers/video/fbdev/mmp/fb/mmpfb.c
491
mmp_path_set_mode(fbi->path, &mmp_modes[0]);
drivers/video/fbdev/mmp/fb/mmpfb.c
564
fbi->path = mmp_get_path(mi->path_name);
drivers/video/fbdev/mmp/fb/mmpfb.c
565
if (!fbi->path) {
drivers/video/fbdev/mmp/fb/mmpfb.c
571
dev_info(fbi->dev, "path %s get\n", fbi->path->name);
drivers/video/fbdev/mmp/fb/mmpfb.c
574
fbi->overlay = mmp_path_get_overlay(fbi->path, mi->overlay_id);
drivers/video/fbdev/mmp/fb/mmpfb.h
32
struct mmp_path *path;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
122
struct mmp_path *path = overlay->path;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
123
tmp = readl_relaxed(ctrl_regs(path) + dma_ctrl(0, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
126
writel_relaxed(tmp, ctrl_regs(path) + dma_ctrl(0, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
131
struct lcd_regs *regs = path_regs(overlay->path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
171
struct mmp_path *path = overlay->path;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
174
tmp = readl_relaxed(ctrl_regs(path) + dma_ctrl(0, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
177
writel(tmp, ctrl_regs(path) + dma_ctrl(0, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
181
static void path_enabledisable(struct mmp_path *path, int on)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
184
mutex_lock(&path->access_ok);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
185
tmp = readl_relaxed(ctrl_regs(path) + LCD_SCLK(path));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
190
writel_relaxed(tmp, ctrl_regs(path) + LCD_SCLK(path));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
191
mutex_unlock(&path->access_ok);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
194
static void path_onoff(struct mmp_path *path, int on)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
196
if (path->status == on) {
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
197
dev_info(path->dev, "path %s is already %s\n",
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
198
path->name, stat_name(path->status));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
203
path_enabledisable(path, 1);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
205
if (path->panel && path->panel->set_onoff)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
206
path->panel->set_onoff(path->panel, 1);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
208
if (path->panel && path->panel->set_onoff)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
209
path->panel->set_onoff(path->panel, 0);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
211
path_enabledisable(path, 0);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
213
path->status = on;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
220
overlay->path->name, stat_name(overlay->status));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
225
if (overlay->path->ops.check_status(overlay->path)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
226
!= overlay->path->status)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
227
path_onoff(overlay->path, on);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
237
struct lcd_regs *regs = path_regs(overlay->path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
252
static void path_set_mode(struct mmp_path *path, struct mmp_mode *mode)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
254
struct lcd_regs *regs = path_regs(path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
256
link_config = path_to_path_plat(path)->link_config,
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
257
dsi_rbswap = path_to_path_plat(path)->link_config;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
260
memcpy(&path->mode, mode, sizeof(struct mmp_mode));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
262
mutex_lock(&path->access_ok);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
265
tmp = readl_relaxed(ctrl_regs(path) + intf_ctrl(path->id)) & 0x1;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
270
writel_relaxed(tmp, ctrl_regs(path) + intf_ctrl(path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
273
tmp = readl_relaxed(ctrl_regs(path) + intf_rbswap_ctrl(path->id)) &
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
276
writel_relaxed(tmp, ctrl_regs(path) + intf_rbswap_ctrl(path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
292
if (path->output_type == PATH_OUT_DSI)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
300
sclk_src = clk_get_rate(path_to_ctrl(path)->clk);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
305
dev_info(path->dev, "%s sclk_src %d sclk_div 0x%x pclk %d\n",
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
308
tmp = readl_relaxed(ctrl_regs(path) + LCD_SCLK(path));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
311
writel_relaxed(tmp, ctrl_regs(path) + LCD_SCLK(path));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
313
mutex_unlock(&path->access_ok);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
345
static void path_set_default(struct mmp_path *path)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
347
struct lcd_regs *regs = path_regs(path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
350
path_config = path_to_path_plat(path)->path_config;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
353
if (PATH_OUT_PARALLEL == path->output_type) {
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
355
tmp = readl_relaxed(ctrl_regs(path) + SPU_IOPAD_CONTROL);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
358
writel_relaxed(tmp, ctrl_regs(path) + SPU_IOPAD_CONTROL);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
362
tmp = readl_relaxed(ctrl_regs(path) + LCD_SCLK(path));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
365
writel_relaxed(tmp, ctrl_regs(path) + LCD_SCLK(path));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
375
writel_relaxed(dma_ctrl1, ctrl_regs(path) + dma_ctrl(1, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
388
tmp = readl_relaxed(ctrl_regs(path) + dma_ctrl(0, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
390
if (PATH_TV == path->id)
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
392
writel_relaxed(tmp, ctrl_regs(path) + dma_ctrl(0, path->id));
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
400
struct mmp_path *path = NULL;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
418
path = mmp_register_path(path_info);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
419
if (!path) {
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
423
path_plat->path = path;
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
427
path_set_default(path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.c
438
mmp_unregister_path(path_plat->path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1385
struct mmp_path *path;
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1417
static inline struct mmphw_path_plat *path_to_path_plat(struct mmp_path *path)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1419
return (struct mmphw_path_plat *)path->plat_data;
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1422
static inline struct mmphw_ctrl *path_to_ctrl(struct mmp_path *path)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1424
return path_to_path_plat(path)->ctrl;
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1429
return path_to_ctrl(overlay->path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1432
static inline void __iomem *ctrl_regs(struct mmp_path *path)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1434
return path_to_ctrl(path)->reg_base;
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1438
static inline struct lcd_regs *path_regs(struct mmp_path *path)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1440
if (path->id == PATH_PN)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1441
return (struct lcd_regs __force *)(ctrl_regs(path) + 0xc0);
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1442
else if (path->id == PATH_TV)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1443
return (struct lcd_regs __force *)ctrl_regs(path);
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1444
else if (path->id == PATH_P2)
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1445
return (struct lcd_regs __force *)(ctrl_regs(path) + 0x200);
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
1447
dev_err(path->dev, "path id %d invalid\n", path->id);
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
150
#define LCD_SCLK(path) ((PATH_PN == path->id) ? LCD_CFG_SCLK_DIV :\
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
151
((PATH_TV == path->id) ? LCD_TCLK_DIV : LCD_PN2_SCLK_DIV))
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
913
#define timing_master_config(path, dsi_id, lcd_id) \
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
914
(MASTER_ENH(path) | MASTER_ENV(path) | \
drivers/video/fbdev/mmp/hw/mmp_ctrl.h
915
(((lcd_id) + ((dsi_id) << 1)) << DSI_START_SEL_SHIFT(path)))
drivers/video/sticore.c
1016
static void sticore_check_for_default_sti(struct sti_struct *sti, char *path)
drivers/video/sticore.c
1019
if (strcmp (path, default_sti_path) == 0)
drivers/virt/fsl_hypervisor.c
336
char *path, *propname;
drivers/virt/fsl_hypervisor.c
344
upath = (char __user *)(uintptr_t)param.path;
drivers/virt/fsl_hypervisor.c
348
path = strndup_user(upath, FH_DTPROP_MAX_PATHLEN);
drivers/virt/fsl_hypervisor.c
349
if (IS_ERR(path))
drivers/virt/fsl_hypervisor.c
350
return PTR_ERR(path);
drivers/virt/fsl_hypervisor.c
376
virt_to_phys(path),
drivers/virt/fsl_hypervisor.c
382
virt_to_phys(path),
drivers/virt/fsl_hypervisor.c
404
kfree(path);
drivers/xen/cpu_hotplug.c
73
const char *path, const char *token)
drivers/xen/cpu_hotplug.c
78
cpustr = strstr(path, "cpu/");
drivers/xen/manage.c
225
const char *path, const char *token)
drivers/xen/manage.c
273
static void sysrq_handler(struct xenbus_watch *watch, const char *path,
drivers/xen/xen-balloon.c
64
const char *path, const char *token)
drivers/xen/xen-pciback/xenbus.c
660
const char *path, const char *token)
drivers/xen/xenbus/xenbus.h
128
const char *path, const char *token,
drivers/xen/xenbus/xenbus.h
48
const char *path, const char *token);
drivers/xen/xenbus/xenbus.h
49
void (*otherend_changed)(struct xenbus_watch *watch, const char *path,
drivers/xen/xenbus/xenbus.h
65
const char *path;
drivers/xen/xenbus/xenbus_client.c
131
int xenbus_watch_path(struct xenbus_device *dev, const char *path,
drivers/xen/xenbus/xenbus_client.c
140
watch->node = path;
drivers/xen/xenbus/xenbus_client.c
150
xenbus_dev_fatal(dev, err, "adding watch on %s", path);
drivers/xen/xenbus/xenbus_client.c
187
char *path;
drivers/xen/xenbus/xenbus_client.c
190
path = kvasprintf(GFP_NOIO | __GFP_HIGH, pathfmt, ap);
drivers/xen/xenbus/xenbus_client.c
193
if (!path) {
drivers/xen/xenbus/xenbus_client.c
197
err = xenbus_watch_path(dev, path, watch, will_handle, callback);
drivers/xen/xenbus/xenbus_client.c
200
kfree(path);
drivers/xen/xenbus/xenbus_client.c
946
const char *path)
drivers/xen/xenbus/xenbus_client.c
953
int err = xenbus_gather(XBT_NIL, path, "state", "%d", &result, NULL);
drivers/xen/xenbus/xenbus_dev_frontend.c
240
static struct watch_adapter *alloc_watch_adapter(const char *path,
drivers/xen/xenbus/xenbus_dev_frontend.c
249
watch->watch.node = kstrdup(path, GFP_KERNEL);
drivers/xen/xenbus/xenbus_dev_frontend.c
267
const char *path,
drivers/xen/xenbus/xenbus_dev_frontend.c
281
path_len = strlen(path) + 1;
drivers/xen/xenbus/xenbus_dev_frontend.c
292
ret = queue_reply(&staging_q, path, path_len);
drivers/xen/xenbus/xenbus_dev_frontend.c
499
char *path, *token;
drivers/xen/xenbus/xenbus_dev_frontend.c
502
path = u->u.buffer + sizeof(u->u.msg);
drivers/xen/xenbus/xenbus_dev_frontend.c
503
token = memchr(path, 0, u->u.msg.len);
drivers/xen/xenbus/xenbus_dev_frontend.c
509
if (memchr(token, 0, u->u.msg.len - (token - path)) == NULL) {
drivers/xen/xenbus/xenbus_dev_frontend.c
515
watch = alloc_watch_adapter(path, token);
drivers/xen/xenbus/xenbus_dev_frontend.c
534
!strcmp(watch->watch.node, path)) {
drivers/xen/xenbus/xenbus_probe.c
178
const char *path, const char *token,
drivers/xen/xenbus/xenbus_probe.c
189
strncmp(dev->otherend, path, strlen(dev->otherend))) {
drivers/xen/xenbus/xenbus_probe.c
190
dev_dbg(&dev->dev, "Ignoring watch at %s\n", path);
drivers/xen/xenbus/xenbus_probe.c
197
state, xenbus_strstate(state), dev->otherend_watch.node, path);
drivers/xen/xenbus/xenbus_probe.c
439
static void xenbus_cleanup_devices(const char *path, struct bus_type *bus)
drivers/xen/xenbus/xenbus_probe.c
441
struct xb_find_info info = { .nodename = path };
drivers/xen/xenbus/xenbus_probe_backend.c
184
const char *path, const char *token)
drivers/xen/xenbus/xenbus_probe_backend.c
190
const char *path, const char *token)
drivers/xen/xenbus/xenbus_probe_backend.c
192
xenbus_otherend_changed(watch, path, token, 0);
drivers/xen/xenbus/xenbus_probe_backend.c
213
const char *path, const char *token)
drivers/xen/xenbus/xenbus_probe_backend.c
217
xenbus_dev_changed(path, &xenbus_backend);
drivers/xen/xenbus/xenbus_probe_frontend.c
176
const char *path, const char *token)
drivers/xen/xenbus/xenbus_probe_frontend.c
180
xenbus_dev_changed(path, &xenbus_frontend);
drivers/xen/xenbus/xenbus_probe_frontend.c
347
const char *path, const char *token)
drivers/xen/xenbus/xenbus_probe_frontend.c
349
if (xenbus_scanf(XBT_NIL, path, "", "%i",
drivers/xen/xenbus/xenbus_probe_frontend.c
353
path, xenbus_strstate(backend_state));
drivers/xen/xenbus/xenbus_probe_frontend.c
89
const char *path, const char *token)
drivers/xen/xenbus/xenbus_probe_frontend.c
91
xenbus_otherend_changed(watch, path, token, 1);
drivers/xen/xenbus/xenbus_xs.c
439
char *strings, *path;
drivers/xen/xenbus/xenbus_xs.c
442
path = join(dir, node);
drivers/xen/xenbus/xenbus_xs.c
443
if (IS_ERR(path))
drivers/xen/xenbus/xenbus_xs.c
444
return ERR_CAST(path);
drivers/xen/xenbus/xenbus_xs.c
446
strings = xs_single(t, XS_DIRECTORY, path, &len);
drivers/xen/xenbus/xenbus_xs.c
447
kfree(path);
drivers/xen/xenbus/xenbus_xs.c
477
char *path;
drivers/xen/xenbus/xenbus_xs.c
480
path = join(dir, node);
drivers/xen/xenbus/xenbus_xs.c
481
if (IS_ERR(path))
drivers/xen/xenbus/xenbus_xs.c
482
return ERR_CAST(path);
drivers/xen/xenbus/xenbus_xs.c
484
ret = xs_single(t, XS_READ, path, len);
drivers/xen/xenbus/xenbus_xs.c
485
kfree(path);
drivers/xen/xenbus/xenbus_xs.c
496
const char *path;
drivers/xen/xenbus/xenbus_xs.c
500
path = join(dir, node);
drivers/xen/xenbus/xenbus_xs.c
501
if (IS_ERR(path))
drivers/xen/xenbus/xenbus_xs.c
502
return PTR_ERR(path);
drivers/xen/xenbus/xenbus_xs.c
504
iovec[0].iov_base = (void *)path;
drivers/xen/xenbus/xenbus_xs.c
505
iovec[0].iov_len = strlen(path) + 1;
drivers/xen/xenbus/xenbus_xs.c
510
kfree(path);
drivers/xen/xenbus/xenbus_xs.c
518
char *path;
drivers/xen/xenbus/xenbus_xs.c
521
path = join(dir, node);
drivers/xen/xenbus/xenbus_xs.c
522
if (IS_ERR(path))
drivers/xen/xenbus/xenbus_xs.c
523
return PTR_ERR(path);
drivers/xen/xenbus/xenbus_xs.c
525
ret = xs_error(xs_single(t, XS_RM, path, NULL));
drivers/xen/xenbus/xenbus_xs.c
526
kfree(path);
drivers/xen/xenbus/xenbus_xs.c
649
static int xs_watch(const char *path, const char *token)
drivers/xen/xenbus/xenbus_xs.c
653
iov[0].iov_base = (void *)path;
drivers/xen/xenbus/xenbus_xs.c
654
iov[0].iov_len = strlen(path) + 1;
drivers/xen/xenbus/xenbus_xs.c
662
static int xs_unwatch(const char *path, const char *token)
drivers/xen/xenbus/xenbus_xs.c
666
iov[0].iov_base = (char *)path;
drivers/xen/xenbus/xenbus_xs.c
667
iov[0].iov_len = strlen(path) + 1;
drivers/xen/xenbus/xenbus_xs.c
694
event->path = (const char *)event->body;
drivers/xen/xenbus/xenbus_xs.c
702
event->path, event->token))) {
drivers/xen/xenbus/xenbus_xs.c
868
event->handle->callback(event->handle, event->path,
fs/9p/cache.c
55
__le64 path;
fs/9p/cache.c
63
path = cpu_to_le64(v9inode->qid.path);
fs/9p/cache.c
68
&path, sizeof(path),
fs/9p/v9fs_vfs.h
48
#define QID2INO(q) ((ino_t) (((q)->path+2) ^ (((q)->path) >> 32)))
fs/9p/v9fs_vfs.h
50
#define QID2INO(q) ((ino_t) ((q)->path+2))
fs/9p/vfs_inode.c
208
*((long long *)&wstat->qid.path) = ~0;
fs/9p/vfs_inode.c
386
if (v9inode->qid.path != st->qid.path)
fs/9p/vfs_inode.c
964
v9fs_vfs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/9p/vfs_inode.c
967
struct dentry *dentry = path->dentry;
fs/9p/vfs_inode_dotl.c
420
const struct path *path, struct kstat *stat,
fs/9p/vfs_inode_dotl.c
423
struct dentry *dentry = path->dentry;
fs/9p/vfs_inode_dotl.c
75
if (v9inode->qid.path != st->qid.path)
fs/afs/inode.c
678
int afs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/afs/inode.c
681
struct inode *inode = d_inode(path->dentry);
fs/afs/internal.h
1259
extern int afs_getattr(struct mnt_idmap *idmap, const struct path *,
fs/afs/internal.h
1346
extern struct vfsmount *afs_d_automount(struct path *);
fs/afs/mntpt.c
184
struct vfsmount *afs_d_automount(struct path *path)
fs/afs/mntpt.c
188
_enter("{%pd}", path->dentry);
fs/afs/mntpt.c
190
newmnt = afs_mntpt_do_automount(path->dentry);
fs/anon_inodes.c
49
int anon_inode_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/anon_inodes.c
53
struct inode *inode = d_inode(path->dentry);
fs/autofs/autofs_i.h
170
int autofs_expire_wait(const struct path *path, int rcu_walk);
fs/autofs/autofs_i.h
255
const struct path *, enum autofs_notify);
fs/autofs/dev-ioctl.c
124
err = invalid_str(param->path, param->size - AUTOFS_DEV_IOCTL_SIZE);
fs/autofs/dev-ioctl.c
136
err = check_name(param->path);
fs/autofs/dev-ioctl.c
189
struct path *res,
fs/autofs/dev-ioctl.c
190
int test(const struct path *path, void *data),
fs/autofs/dev-ioctl.c
193
struct path path;
fs/autofs/dev-ioctl.c
196
err = kern_path(pathname, LOOKUP_MOUNTPOINT, &path);
fs/autofs/dev-ioctl.c
200
while (path.dentry == path.mnt->mnt_root) {
fs/autofs/dev-ioctl.c
201
if (path.dentry->d_sb->s_magic == AUTOFS_SUPER_MAGIC) {
fs/autofs/dev-ioctl.c
202
if (test(&path, data)) {
fs/autofs/dev-ioctl.c
203
path_get(&path);
fs/autofs/dev-ioctl.c
204
*res = path;
fs/autofs/dev-ioctl.c
209
if (!follow_up(&path))
fs/autofs/dev-ioctl.c
212
path_put(&path);
fs/autofs/dev-ioctl.c
216
static int test_by_dev(const struct path *path, void *p)
fs/autofs/dev-ioctl.c
218
return path->dentry->d_sb->s_dev == *(dev_t *)p;
fs/autofs/dev-ioctl.c
221
static int test_by_type(const struct path *path, void *p)
fs/autofs/dev-ioctl.c
223
struct autofs_info *ino = autofs_dentry_ino(path->dentry);
fs/autofs/dev-ioctl.c
234
struct path path __free(path_put) = {};
fs/autofs/dev-ioctl.c
237
err = find_autofs_mount(name, &path, test_by_dev, &devid);
fs/autofs/dev-ioctl.c
241
return FD_ADD(O_CLOEXEC, dentry_open(&path, O_RDONLY, current_cred()));
fs/autofs/dev-ioctl.c
249
const char *path;
fs/autofs/dev-ioctl.c
260
path = param->path;
fs/autofs/dev-ioctl.c
264
fd = autofs_dev_ioctl_open_mountpoint(path, devid);
fs/autofs/dev-ioctl.c
435
dentry = try_lookup_noperm(&QSTR_LEN(param->path, path_len),
fs/autofs/dev-ioctl.c
494
struct path path;
fs/autofs/dev-ioctl.c
504
err = find_autofs_mount(param->path, &path, test_by_dev, &devid);
fs/autofs/dev-ioctl.c
508
ino = autofs_dentry_ino(path.dentry);
fs/autofs/dev-ioctl.c
511
autofs_expire_wait(&path, 0);
fs/autofs/dev-ioctl.c
519
path_put(&path);
fs/autofs/dev-ioctl.c
577
struct path path;
fs/autofs/dev-ioctl.c
585
name = param->path;
fs/autofs/dev-ioctl.c
594
&path);
fs/autofs/dev-ioctl.c
596
err = find_autofs_mount(name, &path,
fs/autofs/dev-ioctl.c
600
devid = new_encode_dev(path.dentry->d_sb->s_dev);
fs/autofs/dev-ioctl.c
602
if (path.mnt->mnt_root == path.dentry) {
fs/autofs/dev-ioctl.c
604
magic = path.dentry->d_sb->s_magic;
fs/autofs/dev-ioctl.c
609
err = find_autofs_mount(name, &path, test_by_dev, &dev);
fs/autofs/dev-ioctl.c
615
err = path_has_submounts(&path);
fs/autofs/dev-ioctl.c
617
if (follow_down_one(&path))
fs/autofs/dev-ioctl.c
618
magic = path.dentry->d_sb->s_magic;
fs/autofs/dev-ioctl.c
623
path_put(&path);
fs/autofs/expire.c
33
struct path path = {.mnt = mnt, .dentry = dentry};
fs/autofs/expire.c
38
path_get(&path);
fs/autofs/expire.c
40
if (!follow_down_one(&path))
fs/autofs/expire.c
43
if (is_autofs_dentry(path.dentry)) {
fs/autofs/expire.c
44
struct autofs_sb_info *sbi = autofs_sbi(path.dentry->d_sb);
fs/autofs/expire.c
489
int autofs_expire_wait(const struct path *path, int rcu_walk)
fs/autofs/expire.c
491
struct dentry *dentry = path->dentry;
fs/autofs/expire.c
520
status = autofs_wait(sbi, path, NFY_NONE);
fs/autofs/expire.c
58
if (!may_umount_tree(path.mnt)) {
fs/autofs/expire.c
588
const struct path path = { .mnt = mnt, .dentry = dentry };
fs/autofs/expire.c
593
ret = autofs_wait(sbi, &path, NFY_EXPIRE);
fs/autofs/expire.c
69
path_put(&path);
fs/autofs/root.c
245
static int autofs_mount_wait(const struct path *path, bool rcu_walk)
fs/autofs/root.c
247
struct autofs_sb_info *sbi = autofs_sbi(path->dentry->d_sb);
fs/autofs/root.c
248
struct autofs_info *ino = autofs_dentry_ino(path->dentry);
fs/autofs/root.c
254
pr_debug("waiting for mount name=%pd\n", path->dentry);
fs/autofs/root.c
255
status = autofs_wait(sbi, path, NFY_MOUNT);
fs/autofs/root.c
265
static int do_expire_wait(const struct path *path, bool rcu_walk)
fs/autofs/root.c
267
struct dentry *dentry = path->dentry;
fs/autofs/root.c
274
return autofs_expire_wait(path, rcu_walk);
fs/autofs/root.c
276
const struct path this = { .mnt = path->mnt, .dentry = expiring };
fs/autofs/root.c
28
static struct vfsmount *autofs_d_automount(struct path *);
fs/autofs/root.c
289
static struct dentry *autofs_mountpoint_changed(struct path *path)
fs/autofs/root.c
29
static int autofs_d_manage(const struct path *, bool);
fs/autofs/root.c
291
struct dentry *dentry = path->dentry;
fs/autofs/root.c
325
dput(path->dentry);
fs/autofs/root.c
326
path->dentry = new;
fs/autofs/root.c
328
return path->dentry;
fs/autofs/root.c
331
static struct vfsmount *autofs_d_automount(struct path *path)
fs/autofs/root.c
333
struct dentry *dentry = path->dentry;
fs/autofs/root.c
348
if (vfsmount_to_propagation_flags(path->mnt) & MS_PRIVATE)
fs/autofs/root.c
360
status = do_expire_wait(path, 0);
fs/autofs/root.c
368
status = autofs_mount_wait(path, 0);
fs/autofs/root.c
384
if (!path_is_mountpoint(path)) {
fs/autofs/root.c
397
if (path_has_submounts(path)) {
fs/autofs/root.c
409
status = autofs_mount_wait(path, 0);
fs/autofs/root.c
420
dentry = autofs_mountpoint_changed(path);
fs/autofs/root.c
427
static int autofs_d_manage(const struct path *path, bool rcu_walk)
fs/autofs/root.c
429
struct dentry *dentry = path->dentry;
fs/autofs/root.c
438
if (!path_is_mountpoint(path))
fs/autofs/root.c
444
if (do_expire_wait(path, rcu_walk) == -ECHILD)
fs/autofs/root.c
451
status = autofs_mount_wait(path, rcu_walk);
fs/autofs/root.c
466
if (path_is_mountpoint(path))
fs/autofs/root.c
491
if ((!path_is_mountpoint(path) && !autofs_empty(ino)) ||
fs/autofs/waitq.c
205
const struct path *path, enum autofs_notify notify)
fs/autofs/waitq.c
207
struct dentry *dentry = path->dentry;
fs/autofs/waitq.c
270
struct path this;
fs/autofs/waitq.c
290
this.mnt = path->mnt;
fs/autofs/waitq.c
304
const struct path *path, enum autofs_notify notify)
fs/autofs/waitq.c
306
struct dentry *dentry = path->dentry;
fs/autofs/waitq.c
369
ret = validate_request(&wq, sbi, &qstr, path, notify);
fs/backing-file.c
32
struct file *backing_file_open(const struct path *user_path, int flags,
fs/backing-file.c
33
const struct path *real_path,
fs/backing-file.c
55
struct file *backing_tmpfile_open(const struct path *user_path, int flags,
fs/backing-file.c
56
const struct path *real_parentpath,
fs/bad_inode.c
99
const struct path *path, struct kstat *stat,
fs/bpf_fs_kfuncs.c
79
__bpf_kfunc int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz)
fs/bpf_fs_kfuncs.c
87
ret = d_path(path, buf, buf__sz);
fs/btrfs/backref.c
1006
struct btrfs_path *path,
fs/btrfs/backref.c
1024
leaf = path->nodes[0];
fs/btrfs/backref.c
1025
slot = path->slots[0];
fs/btrfs/backref.c
1140
struct btrfs_path *path,
fs/btrfs/backref.c
1151
ret = btrfs_next_item(extent_root, path);
fs/btrfs/backref.c
1159
slot = path->slots[0];
fs/btrfs/backref.c
1160
leaf = path->nodes[0];
fs/btrfs/backref.c
1382
struct btrfs_path *path;
fs/btrfs/backref.c
1414
path = btrfs_alloc_path();
fs/btrfs/backref.c
1415
if (!path)
fs/btrfs/backref.c
1418
path->search_commit_root = true;
fs/btrfs/backref.c
1419
path->skip_locking = true;
fs/btrfs/backref.c
1423
path->skip_locking = true;
fs/btrfs/backref.c
1428
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/backref.c
1457
btrfs_release_path(path);
fs/btrfs/backref.c
1479
if (path->slots[0]) {
fs/btrfs/backref.c
1483
path->slots[0]--;
fs/btrfs/backref.c
1484
leaf = path->nodes[0];
fs/btrfs/backref.c
1485
slot = path->slots[0];
fs/btrfs/backref.c
1490
ret = add_inline_refs(ctx, path, &info_level,
fs/btrfs/backref.c
1494
ret = add_keyed_refs(ctx, root, path, info_level,
fs/btrfs/backref.c
1568
btrfs_release_path(path);
fs/btrfs/backref.c
1570
ret = add_missing_keys(ctx->fs_info, &preftrees, !path->skip_locking);
fs/btrfs/backref.c
1576
ret = resolve_indirect_refs(ctx, path, &preftrees, sc);
fs/btrfs/backref.c
1629
if (!path->skip_locking)
fs/btrfs/backref.c
1632
if (!path->skip_locking)
fs/btrfs/backref.c
1683
btrfs_free_path(path);
fs/btrfs/backref.c
2050
u64 start_off, struct btrfs_path *path,
fs/btrfs/backref.c
2065
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/backref.c
2070
leaf = path->nodes[0];
fs/btrfs/backref.c
2071
slot = path->slots[0];
fs/btrfs/backref.c
2082
ret = btrfs_next_leaf(root, path);
fs/btrfs/backref.c
2106
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/backref.c
2131
char *btrfs_ref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path,
fs/btrfs/backref.c
2153
if (!path->skip_locking)
fs/btrfs/backref.c
2157
ret = btrfs_find_item(fs_root, path, parent, 0,
fs/btrfs/backref.c
2170
slot = path->slots[0];
fs/btrfs/backref.c
2171
eb = path->nodes[0];
fs/btrfs/backref.c
2174
path->nodes[0] = NULL;
fs/btrfs/backref.c
2175
path->locks[0] = 0;
fs/btrfs/backref.c
2177
btrfs_release_path(path);
fs/btrfs/backref.c
2189
btrfs_release_path(path);
fs/btrfs/backref.c
2203
struct btrfs_path *path, struct btrfs_key *found_key,
fs/btrfs/backref.c
2228
ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
fs/btrfs/backref.c
2239
ret = btrfs_previous_extent_item(extent_root, path, 0);
fs/btrfs/backref.c
2245
btrfs_item_key_to_cpu(path->nodes[0], found_key, path->slots[0]);
fs/btrfs/backref.c
2258
eb = path->nodes[0];
fs/btrfs/backref.c
2260
ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item);
fs/btrfs/backref.c
2266
found_key->offset, flags, btrfs_item_size(eb, path->slots[0]));
fs/btrfs/backref.c
2568
struct btrfs_path *path;
fs/btrfs/backref.c
2570
path = btrfs_alloc_path();
fs/btrfs/backref.c
2571
if (!path)
fs/btrfs/backref.c
2574
ret = extent_from_logical(fs_info, logical, path, &found_key, &flags);
fs/btrfs/backref.c
2575
btrfs_free_path(path);
fs/btrfs/backref.c
2604
struct btrfs_path *path = ipath->btrfs_path;
fs/btrfs/backref.c
2610
ret = btrfs_find_item(fs_root, path, inum,
fs/btrfs/backref.c
2623
slot = path->slots[0];
fs/btrfs/backref.c
2624
eb = btrfs_clone_extent_buffer(path->nodes[0]);
fs/btrfs/backref.c
2629
btrfs_release_path(path);
fs/btrfs/backref.c
2650
btrfs_release_path(path);
fs/btrfs/backref.c
2663
struct btrfs_path *path = ipath->btrfs_path;
fs/btrfs/backref.c
2671
ret = btrfs_find_one_extref(fs_root, inum, offset, path, &extref,
fs/btrfs/backref.c
2681
slot = path->slots[0];
fs/btrfs/backref.c
2682
eb = btrfs_clone_extent_buffer(path->nodes[0]);
fs/btrfs/backref.c
2687
btrfs_release_path(path);
fs/btrfs/backref.c
2712
btrfs_release_path(path);
fs/btrfs/backref.c
2805
struct btrfs_path *path)
fs/btrfs/backref.c
2820
ifp->btrfs_path = path;
fs/btrfs/backref.c
2835
ret->path = btrfs_alloc_path();
fs/btrfs/backref.c
2836
if (!ret->path) {
fs/btrfs/backref.c
2842
ret->path->search_commit_root = true;
fs/btrfs/backref.c
2843
ret->path->skip_locking = true;
fs/btrfs/backref.c
2855
btrfs_release_path(iter->path);
fs/btrfs/backref.c
2863
struct btrfs_path *path = iter->path;
fs/btrfs/backref.c
2880
ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
fs/btrfs/backref.c
2891
if (unlikely(path->slots[0] == 0)) {
fs/btrfs/backref.c
2896
path->slots[0]--;
fs/btrfs/backref.c
2898
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/backref.c
2905
iter->item_ptr = (u32)btrfs_item_ptr_offset(path->nodes[0],
fs/btrfs/backref.c
2906
path->slots[0]);
fs/btrfs/backref.c
2908
btrfs_item_size(path->nodes[0], path->slots[0]));
fs/btrfs/backref.c
2909
ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/backref.c
2919
if (btrfs_extent_flags(path->nodes[0], ei) & BTRFS_EXTENT_FLAG_DATA) {
fs/btrfs/backref.c
2927
ret = btrfs_next_item(extent_root, path);
fs/btrfs/backref.c
2937
btrfs_item_key_to_cpu(path->nodes[0], &iter->cur_key,
fs/btrfs/backref.c
2938
path->slots[0]);
fs/btrfs/backref.c
2945
iter->cur_ptr = (u32)btrfs_item_ptr_offset(path->nodes[0],
fs/btrfs/backref.c
2946
path->slots[0]);
fs/btrfs/backref.c
2949
path->nodes[0], path->slots[0]));
fs/btrfs/backref.c
2978
struct extent_buffer *eb = iter->path->nodes[0];
fs/btrfs/backref.c
2980
struct btrfs_path *path = iter->path;
fs/btrfs/backref.c
3018
ret = btrfs_next_item(extent_root, iter->path);
fs/btrfs/backref.c
3022
btrfs_item_key_to_cpu(path->nodes[0], &iter->cur_key, path->slots[0]);
fs/btrfs/backref.c
3027
iter->item_ptr = (u32)btrfs_item_ptr_offset(path->nodes[0],
fs/btrfs/backref.c
3028
path->slots[0]);
fs/btrfs/backref.c
3030
iter->end_ptr = iter->item_ptr + (u32)btrfs_item_size(path->nodes[0],
fs/btrfs/backref.c
3031
path->slots[0]);
fs/btrfs/backref.c
3279
struct btrfs_path *path,
fs/btrfs/backref.c
3330
path->search_commit_root = true;
fs/btrfs/backref.c
3331
path->skip_locking = true;
fs/btrfs/backref.c
3332
path->lowest_level = level;
fs/btrfs/backref.c
3333
ret = btrfs_search_slot(NULL, root, tree_key, path, 0, 0);
fs/btrfs/backref.c
3334
path->lowest_level = 0;
fs/btrfs/backref.c
3339
if (ret > 0 && path->slots[level] > 0)
fs/btrfs/backref.c
3340
path->slots[level]--;
fs/btrfs/backref.c
3342
eb = path->nodes[level];
fs/btrfs/backref.c
3343
if (btrfs_node_blockptr(eb, path->slots[level]) != cur->bytenr) {
fs/btrfs/backref.c
3356
if (!path->nodes[level]) {
fs/btrfs/backref.c
3377
eb = path->nodes[level];
fs/btrfs/backref.c
3440
btrfs_release_path(path);
fs/btrfs/backref.c
3458
struct btrfs_path *path,
fs/btrfs/backref.c
3511
eb = iter->path->nodes[0];
fs/btrfs/backref.c
3557
ret = handle_indirect_tree_backref(trans, cache, path,
fs/btrfs/backref.c
468
struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/backref.c
487
eb = path->nodes[level];
fs/btrfs/backref.c
504
eb = path->nodes[0];
fs/btrfs/backref.c
505
if (path->slots[0] >= btrfs_header_nritems(eb) ||
fs/btrfs/backref.c
509
ret = btrfs_next_leaf(root, path);
fs/btrfs/backref.c
511
ret = btrfs_next_old_leaf(root, path, ctx->time_seq);
fs/btrfs/backref.c
515
eb = path->nodes[0];
fs/btrfs/backref.c
516
slot = path->slots[0];
fs/btrfs/backref.c
533
ret = btrfs_next_leaf(root, path);
fs/btrfs/backref.c
535
ret = btrfs_next_old_leaf(root, path, ctx->time_seq);
fs/btrfs/backref.c
573
ret = btrfs_next_item(root, path);
fs/btrfs/backref.c
575
ret = btrfs_next_old_item(root, path, ctx->time_seq);
fs/btrfs/backref.c
591
struct btrfs_path *path,
fs/btrfs/backref.c
610
if (path->search_commit_root)
fs/btrfs/backref.c
611
root = btrfs_get_fs_root_commit_root(ctx->fs_info, path, ref->root_id);
fs/btrfs/backref.c
619
if (!path->search_commit_root &&
fs/btrfs/backref.c
630
if (path->search_commit_root)
fs/btrfs/backref.c
662
path->lowest_level = level;
fs/btrfs/backref.c
664
ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0);
fs/btrfs/backref.c
666
ret = btrfs_search_old_slot(root, &search_key, path, ctx->time_seq);
fs/btrfs/backref.c
675
eb = path->nodes[level];
fs/btrfs/backref.c
682
eb = path->nodes[level];
fs/btrfs/backref.c
685
ret = add_all_parents(ctx, root, path, parents, preftrees, ref, level);
fs/btrfs/backref.c
689
path->lowest_level = 0;
fs/btrfs/backref.c
690
btrfs_release_path(path);
fs/btrfs/backref.c
731
struct btrfs_path *path,
fs/btrfs/backref.c
775
ret2 = resolve_indirect_ref(ctx, path, preftrees, ref, parents);
fs/btrfs/backref.h
217
struct btrfs_path *path, struct btrfs_key *found_key,
fs/btrfs/backref.h
236
char *btrfs_ref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path,
fs/btrfs/backref.h
243
struct btrfs_path *path);
fs/btrfs/backref.h
252
u64 start_off, struct btrfs_path *path,
fs/btrfs/backref.h
280
struct btrfs_path *path;
fs/btrfs/backref.h
399
struct btrfs_backref_node *path[BTRFS_MAX_LEVEL];
fs/btrfs/backref.h
459
struct btrfs_path *path,
fs/btrfs/block-group.c
1061
struct btrfs_path *path,
fs/btrfs/block-group.c
1079
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/block-group.c
1085
return btrfs_del_item(trans, root, path);
fs/btrfs/block-group.c
1110
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/block-group.c
1163
path = btrfs_alloc_path();
fs/btrfs/block-group.c
1164
if (unlikely(!path)) {
fs/btrfs/block-group.c
1174
inode = lookup_free_space_inode(block_group, path);
fs/btrfs/block-group.c
1188
btrfs_wait_cache_io(trans, block_group, path);
fs/btrfs/block-group.c
1298
ret = remove_block_group_item(trans, path, block_group);
fs/btrfs/block-group.c
2105
const struct btrfs_path *path)
fs/btrfs/block-group.c
2114
slot = path->slots[0];
fs/btrfs/block-group.c
2115
leaf = path->nodes[0];
fs/btrfs/block-group.c
2152
struct btrfs_path *path,
fs/btrfs/block-group.c
2164
btrfs_for_each_slot(root, key, &found_key, path, ret) {
fs/btrfs/block-group.c
2167
return read_bg_from_eb(fs_info, &found_key, path);
fs/btrfs/block-group.c
2602
struct btrfs_path *path;
fs/btrfs/block-group.c
2625
path = btrfs_alloc_path();
fs/btrfs/block-group.c
2626
if (!path)
fs/btrfs/block-group.c
2642
ret = find_first_block_group(info, path, &key);
fs/btrfs/block-group.c
2648
leaf = path->nodes[0];
fs/btrfs/block-group.c
2649
slot = path->slots[0];
fs/btrfs/block-group.c
2663
btrfs_release_path(path);
fs/btrfs/block-group.c
2670
btrfs_release_path(path);
fs/btrfs/block-group.c
2707
btrfs_free_path(path);
fs/btrfs/block-group.c
2779
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/block-group.c
2787
path = btrfs_alloc_path();
fs/btrfs/block-group.c
2788
if (!path)
fs/btrfs/block-group.c
2794
ret = btrfs_insert_empty_item(trans, root, path, &key, sizeof(*extent));
fs/btrfs/block-group.c
2798
leaf = path->nodes[0];
fs/btrfs/block-group.c
2799
extent = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_extent);
fs/btrfs/block-group.c
3211
struct btrfs_path *path,
fs/btrfs/block-group.c
3262
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/block-group.c
3269
leaf = path->nodes[0];
fs/btrfs/block-group.c
3270
bi = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/block-group.c
3287
btrfs_release_path(path);
fs/btrfs/block-group.c
3310
struct btrfs_path *path)
fs/btrfs/block-group.c
3338
inode = lookup_free_space_inode(block_group, path);
fs/btrfs/block-group.c
3341
btrfs_release_path(path);
fs/btrfs/block-group.c
3352
ret = create_free_space_inode(trans, block_group, path);
fs/btrfs/block-group.c
3459
btrfs_release_path(path);
fs/btrfs/block-group.c
3476
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/block-group.c
3482
path = btrfs_alloc_path();
fs/btrfs/block-group.c
3483
if (!path)
fs/btrfs/block-group.c
3490
cache_save_setup(cache, trans, path);
fs/btrfs/block-group.c
3515
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/block-group.c
3532
if (!path) {
fs/btrfs/block-group.c
3533
path = btrfs_alloc_path();
fs/btrfs/block-group.c
3534
if (!path) {
fs/btrfs/block-group.c
3558
btrfs_wait_cache_io(trans, cache, path);
fs/btrfs/block-group.c
3577
cache_save_setup(cache, trans, path);
fs/btrfs/block-group.c
3581
ret = btrfs_write_out_cache(trans, cache, path);
fs/btrfs/block-group.c
3600
ret = update_block_group_item(trans, path, cache);
fs/btrfs/block-group.c
3680
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/block-group.c
3683
path = btrfs_alloc_path();
fs/btrfs/block-group.c
3684
if (!path)
fs/btrfs/block-group.c
3716
btrfs_wait_cache_io(trans, cache, path);
fs/btrfs/block-group.c
3729
cache_save_setup(cache, trans, path);
fs/btrfs/block-group.c
3736
ret = btrfs_write_out_cache(trans, cache, path);
fs/btrfs/block-group.c
3749
ret = update_block_group_item(trans, path, cache);
fs/btrfs/block-group.c
3766
ret = update_block_group_item(trans, path, cache);
fs/btrfs/block-group.c
3790
btrfs_wait_cache_io(trans, cache, path);
fs/btrfs/block-group.c
593
struct btrfs_path *path)
fs/btrfs/block-group.c
622
btrfs_for_each_slot(extent_root, &search_key, found_key, path, ret) {
fs/btrfs/block-group.c
678
BTRFS_PATH_AUTO_RELEASE(path);
fs/btrfs/block-group.c
696
path.skip_locking = true;
fs/btrfs/block-group.c
697
path.search_commit_root = true;
fs/btrfs/block-group.c
698
path.reada = READA_FORWARD;
fs/btrfs/block-group.c
705
ret = sample_block_group_extent_item(caching_ctl, i, 5, &key, &path);
fs/btrfs/block-group.c
708
btrfs_release_path(&path);
fs/btrfs/block-group.c
727
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/block-group.c
736
path = btrfs_alloc_path();
fs/btrfs/block-group.c
737
if (!path)
fs/btrfs/block-group.c
764
path->skip_locking = true;
fs/btrfs/block-group.c
765
path->search_commit_root = true;
fs/btrfs/block-group.c
766
path->reada = READA_FORWARD;
fs/btrfs/block-group.c
773
ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
fs/btrfs/block-group.c
777
leaf = path->nodes[0];
fs/btrfs/block-group.c
786
if (path->slots[0] < nritems) {
fs/btrfs/block-group.c
787
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/block-group.c
789
ret = btrfs_find_next_key(extent_root, path, &key, 0, 0);
fs/btrfs/block-group.c
795
btrfs_release_path(path);
fs/btrfs/block-group.c
804
ret = btrfs_next_leaf(extent_root, path);
fs/btrfs/block-group.c
809
leaf = path->nodes[0];
fs/btrfs/block-group.c
818
btrfs_release_path(path);
fs/btrfs/block-group.c
823
path->slots[0]++;
fs/btrfs/block-group.c
853
path->slots[0]++;
fs/btrfs/btrfs_inode.h
610
struct btrfs_path *path);
fs/btrfs/ctree.c
1021
ret = btrfs_del_ptr(trans, root, path, level + 1, pslot + 1);
fs/btrfs/ctree.c
1083
ret = btrfs_del_ptr(trans, root, path, level + 1, pslot);
fs/btrfs/ctree.c
1115
path->nodes[level] = left;
fs/btrfs/ctree.c
1116
path->slots[level + 1] -= 1;
fs/btrfs/ctree.c
1117
path->slots[level] = orig_slot;
fs/btrfs/ctree.c
1126
path->slots[level] = orig_slot;
fs/btrfs/ctree.c
1131
btrfs_node_blockptr(path->nodes[level], path->slots[level]))
fs/btrfs/ctree.c
1151
struct btrfs_path *path, int level)
fs/btrfs/ctree.c
1161
int orig_slot = path->slots[level];
fs/btrfs/ctree.c
1166
mid = path->nodes[level];
fs/btrfs/ctree.c
1170
parent = path->nodes[level + 1];
fs/btrfs/ctree.c
1171
pslot = path->slots[level + 1];
fs/btrfs/ctree.c
1217
path->nodes[level] = left;
fs/btrfs/ctree.c
1218
path->slots[level + 1] -= 1;
fs/btrfs/ctree.c
1219
path->slots[level] = orig_slot;
fs/btrfs/ctree.c
1225
path->slots[level] = orig_slot;
fs/btrfs/ctree.c
1278
path->nodes[level] = right;
fs/btrfs/ctree.c
1279
path->slots[level + 1] += 1;
fs/btrfs/ctree.c
1280
path->slots[level] = orig_slot -
fs/btrfs/ctree.c
1301
const struct btrfs_path *path,
fs/btrfs/ctree.c
1315
if (level != 1 && path->reada != READA_FORWARD_ALWAYS)
fs/btrfs/ctree.c
1318
if (!path->nodes[level])
fs/btrfs/ctree.c
1321
node = path->nodes[level];
fs/btrfs/ctree.c
1328
if (path->reada == READA_FORWARD_ALWAYS) {
fs/btrfs/ctree.c
1339
if (path->reada != READA_FORWARD_ALWAYS) {
fs/btrfs/ctree.c
1355
if (path->reada == READA_BACK) {
fs/btrfs/ctree.c
1359
} else if (path->reada == READA_FORWARD ||
fs/btrfs/ctree.c
1360
path->reada == READA_FORWARD_ALWAYS) {
fs/btrfs/ctree.c
1365
if (path->reada == READA_BACK && objectid) {
fs/btrfs/ctree.c
1371
if (path->reada == READA_FORWARD_ALWAYS ||
fs/btrfs/ctree.c
1383
static noinline void reada_for_balance(const struct btrfs_path *path, int level)
fs/btrfs/ctree.c
1389
parent = path->nodes[level + 1];
fs/btrfs/ctree.c
1394
slot = path->slots[level + 1];
fs/btrfs/ctree.c
1416
static noinline void unlock_up(struct btrfs_path *path, int level,
fs/btrfs/ctree.c
1425
if (!path->nodes[i])
fs/btrfs/ctree.c
1427
if (!path->locks[i])
fs/btrfs/ctree.c
1431
if (path->slots[i] == 0) {
fs/btrfs/ctree.c
1436
if (path->keep_locks) {
fs/btrfs/ctree.c
1439
nritems = btrfs_header_nritems(path->nodes[i]);
fs/btrfs/ctree.c
1440
if (nritems < 1 || path->slots[i] >= nritems - 1) {
fs/btrfs/ctree.c
1448
btrfs_tree_unlock_rw(path->nodes[i], path->locks[i]);
fs/btrfs/ctree.c
1450
path->locks[i] = 0;
fs/btrfs/ctree.c
1673
int btrfs_find_item(struct btrfs_root *fs_root, struct btrfs_path *path,
fs/btrfs/ctree.c
1681
ASSERT(path);
fs/btrfs/ctree.c
1688
ret = btrfs_search_slot(NULL, fs_root, &key, path, 0, 0);
fs/btrfs/ctree.c
1692
eb = path->nodes[0];
fs/btrfs/ctree.c
1693
if (ret && path->slots[0] >= btrfs_header_nritems(eb)) {
fs/btrfs/ctree.c
1694
ret = btrfs_next_leaf(fs_root, path);
fs/btrfs/ctree.c
1697
eb = path->nodes[0];
fs/btrfs/ctree.c
1700
btrfs_item_key_to_cpu(eb, found_key, path->slots[0]);
fs/btrfs/ctree.c
1802
static int finish_need_commit_sem_search(struct btrfs_path *path)
fs/btrfs/ctree.c
1804
const int i = path->lowest_level;
fs/btrfs/ctree.c
1805
const int slot = path->slots[i];
fs/btrfs/ctree.c
1806
struct extent_buffer *lowest = path->nodes[i];
fs/btrfs/ctree.c
1809
ASSERT(path->need_commit_sem);
fs/btrfs/ctree.c
1820
btrfs_release_path(path);
fs/btrfs/ctree.c
1821
path->nodes[i] = clone;
fs/btrfs/ctree.c
1822
path->slots[i] = slot;
fs/btrfs/ctree.c
1851
struct btrfs_path *path,
fs/btrfs/ctree.c
1855
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/ctree.c
1879
if (path->locks[1] && leaf_free_space >= ins_len) {
fs/btrfs/ctree.c
1906
btrfs_unlock_up_safe(path, 1);
fs/btrfs/ctree.c
1924
btrfs_unlock_up_safe(path, 1);
fs/btrfs/ctree.c
1931
path->slots[0] = 0;
fs/btrfs/ctree.c
1938
prev_cmp, &path->slots[0]);
fs/btrfs/ctree.c
1953
if (ret == 0 && !path->search_for_extension) {
fs/btrfs/ctree.c
1963
ret2 = split_leaf(trans, root, key, path, ins_len, (ret == 0));
fs/btrfs/ctree.c
2362
static int btrfs_prev_leaf(struct btrfs_root *root, struct btrfs_path *path)
fs/btrfs/ctree.c
2369
btrfs_item_key_to_cpu(path->nodes[0], &key, 0);
fs/btrfs/ctree.c
2385
btrfs_release_path(path);
fs/btrfs/ctree.c
2386
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/ctree.c
2401
if (path->slots[0] < btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/ctree.c
2402
btrfs_item_key(path->nodes[0], &found_key, path->slots[0]);
fs/btrfs/ctree.c
2405
if (path->slots[0] > 0) {
fs/btrfs/ctree.c
2406
path->slots[0]--;
fs/btrfs/ctree.c
2417
btrfs_item_key(path->nodes[0], &found_key, 0);
fs/btrfs/ctree.c
2518
struct btrfs_path *path)
fs/btrfs/ctree.c
2522
ret = btrfs_search_slot(NULL, root, key, path, 0, 0);
fs/btrfs/ctree.c
2524
ret = btrfs_previous_item(root, path, key->objectid, key->type);
fs/btrfs/ctree.c
2527
btrfs_item_key_to_cpu(path->nodes[0], key, path->slots[0]);
fs/btrfs/ctree.c
2544
struct btrfs_path *path)
fs/btrfs/ctree.c
2546
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/ctree.c
2549
ret = btrfs_next_leaf(root, path);
fs/btrfs/ctree.c
2554
btrfs_item_key_to_cpu(path->nodes[0], key, path->slots[0]);
fs/btrfs/ctree.c
2567
const struct btrfs_path *path,
fs/btrfs/ctree.c
2575
int tslot = path->slots[i];
fs/btrfs/ctree.c
2577
if (!path->nodes[i])
fs/btrfs/ctree.c
2579
t = path->nodes[i];
fs/btrfs/ctree.c
2584
btrfs_mark_buffer_dirty(trans, path->nodes[i]);
fs/btrfs/ctree.c
2597
const struct btrfs_path *path,
fs/btrfs/ctree.c
2605
eb = path->nodes[0];
fs/btrfs/ctree.c
2606
slot = path->slots[0];
fs/btrfs/ctree.c
2638
fixup_low_keys(trans, path, &disk_key, 1);
fs/btrfs/ctree.c
2859
struct btrfs_path *path, int level)
fs/btrfs/ctree.c
2868
BUG_ON(path->nodes[level]);
fs/btrfs/ctree.c
2869
BUG_ON(path->nodes[level-1] != root->node);
fs/btrfs/ctree.c
2871
lower = path->nodes[level-1];
fs/btrfs/ctree.c
2915
path->nodes[level] = c;
fs/btrfs/ctree.c
2916
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/ctree.c
2917
path->slots[level] = 0;
fs/btrfs/ctree.c
2929
const struct btrfs_path *path,
fs/btrfs/ctree.c
2937
BUG_ON(!path->nodes[level]);
fs/btrfs/ctree.c
2938
btrfs_assert_tree_write_locked(path->nodes[level]);
fs/btrfs/ctree.c
2939
lower = path->nodes[level];
fs/btrfs/ctree.c
2986
struct btrfs_path *path, int level)
fs/btrfs/ctree.c
2996
c = path->nodes[level];
fs/btrfs/ctree.c
30
*root, struct btrfs_path *path, int level);
fs/btrfs/ctree.c
3009
ret = insert_new_root(trans, root, path, level + 1);
fs/btrfs/ctree.c
3013
ret = push_nodes_for_insert(trans, root, path, level);
fs/btrfs/ctree.c
3014
c = path->nodes[level];
fs/btrfs/ctree.c
3052
ret = insert_ptr(trans, path, &disk_key, split->start,
fs/btrfs/ctree.c
3053
path->slots[level + 1] + 1, level + 1);
fs/btrfs/ctree.c
3060
if (path->slots[level] >= mid) {
fs/btrfs/ctree.c
3061
path->slots[level] -= mid;
fs/btrfs/ctree.c
3064
path->nodes[level] = split;
fs/btrfs/ctree.c
3065
path->slots[level + 1] += 1;
fs/btrfs/ctree.c
3120
struct btrfs_path *path,
fs/btrfs/ctree.c
3127
struct extent_buffer *left = path->nodes[0];
fs/btrfs/ctree.c
3128
struct extent_buffer *upper = path->nodes[1];
fs/btrfs/ctree.c
3144
if (path->slots[0] >= left_nritems)
fs/btrfs/ctree.c
3147
slot = path->slots[1];
fs/btrfs/ctree.c
3151
if (path->slots[0] > i)
fs/btrfs/ctree.c
3153
if (path->slots[0] == i) {
fs/btrfs/ctree.c
3161
if (path->slots[0] == i)
fs/btrfs/ctree.c
32
const struct btrfs_key *ins_key, struct btrfs_path *path,
fs/btrfs/ctree.c
3225
if (path->slots[0] >= left_nritems) {
fs/btrfs/ctree.c
3226
path->slots[0] -= left_nritems;
fs/btrfs/ctree.c
3229
path->nodes[0] = right;
fs/btrfs/ctree.c
3230
path->slots[1] += 1;
fs/btrfs/ctree.c
3254
*root, struct btrfs_path *path,
fs/btrfs/ctree.c
3258
struct extent_buffer *left = path->nodes[0];
fs/btrfs/ctree.c
3266
if (!path->nodes[1])
fs/btrfs/ctree.c
3269
slot = path->slots[1];
fs/btrfs/ctree.c
3270
upper = path->nodes[1];
fs/btrfs/ctree.c
3274
btrfs_assert_tree_write_locked(path->nodes[1]);
fs/btrfs/ctree.c
3302
if (path->slots[0] == left_nritems && !empty) {
fs/btrfs/ctree.c
3309
path->nodes[0] = right;
fs/btrfs/ctree.c
3310
path->slots[0] = 0;
fs/btrfs/ctree.c
3311
path->slots[1]++;
fs/btrfs/ctree.c
3315
return __push_leaf_right(trans, path, min_data_size, empty, right,
fs/btrfs/ctree.c
3332
struct btrfs_path *path, int data_size,
fs/btrfs/ctree.c
3339
struct extent_buffer *right = path->nodes[0];
fs/btrfs/ctree.c
3356
if (path->slots[0] < i)
fs/btrfs/ctree.c
3358
if (path->slots[0] == i) {
fs/btrfs/ctree.c
3366
if (path->slots[0] == i)
fs/btrfs/ctree.c
3440
fixup_low_keys(trans, path, &disk_key, 1);
fs/btrfs/ctree.c
3443
if (path->slots[0] < push_items) {
fs/btrfs/ctree.c
3444
path->slots[0] += old_left_nritems;
fs/btrfs/ctree.c
3447
path->nodes[0] = left;
fs/btrfs/ctree.c
3448
path->slots[1] -= 1;
fs/btrfs/ctree.c
3452
path->slots[0] -= push_items;
fs/btrfs/ctree.c
3454
BUG_ON(path->slots[0] < 0);
fs/btrfs/ctree.c
3471
*root, struct btrfs_path *path, int min_data_size,
fs/btrfs/ctree.c
3474
struct extent_buffer *right = path->nodes[0];
fs/btrfs/ctree.c
3481
slot = path->slots[1];
fs/btrfs/ctree.c
3484
if (!path->nodes[1])
fs/btrfs/ctree.c
3491
btrfs_assert_tree_write_locked(path->nodes[1]);
fs/btrfs/ctree.c
3493
left = btrfs_read_node_slot(path->nodes[1], slot - 1);
fs/btrfs/ctree.c
3506
path->nodes[1], slot - 1, &left,
fs/btrfs/ctree.c
3520
return __push_leaf_left(trans, path, min_data_size, empty, left,
fs/btrfs/ctree.c
3533
struct btrfs_path *path,
fs/btrfs/ctree.c
3565
ret = insert_ptr(trans, path, &disk_key, right->start, path->slots[1] + 1, 1);
fs/btrfs/ctree.c
3571
BUG_ON(path->slots[0] != slot);
fs/btrfs/ctree.c
3574
btrfs_tree_unlock(path->nodes[0]);
fs/btrfs/ctree.c
3575
free_extent_buffer(path->nodes[0]);
fs/btrfs/ctree.c
3576
path->nodes[0] = right;
fs/btrfs/ctree.c
3577
path->slots[0] -= mid;
fs/btrfs/ctree.c
3578
path->slots[1] += 1;
fs/btrfs/ctree.c
3584
BUG_ON(path->slots[0] < 0);
fs/btrfs/ctree.c
3601
struct btrfs_path *path,
fs/btrfs/ctree.c
3610
slot = path->slots[0];
fs/btrfs/ctree.c
3611
if (slot < btrfs_header_nritems(path->nodes[0]))
fs/btrfs/ctree.c
3612
space_needed -= btrfs_leaf_free_space(path->nodes[0]);
fs/btrfs/ctree.c
3618
ret = push_leaf_right(trans, root, path, 1, space_needed, 0, slot);
fs/btrfs/ctree.c
3625
nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/ctree.c
3630
if (path->slots[0] == 0 || path->slots[0] == nritems)
fs/btrfs/ctree.c
3633
if (btrfs_leaf_free_space(path->nodes[0]) >= data_size)
fs/btrfs/ctree.c
3637
slot = path->slots[0];
fs/btrfs/ctree.c
3640
space_needed -= btrfs_leaf_free_space(path->nodes[0]);
fs/btrfs/ctree.c
3641
ret = push_leaf_left(trans, root, path, 1, space_needed, 0, slot);
fs/btrfs/ctree.c
3662
struct btrfs_path *path, int data_size,
fs/btrfs/ctree.c
3678
l = path->nodes[0];
fs/btrfs/ctree.c
3679
slot = path->slots[0];
fs/btrfs/ctree.c
3685
if (data_size && path->nodes[1]) {
fs/btrfs/ctree.c
3691
wret = push_leaf_right(trans, root, path, space_needed,
fs/btrfs/ctree.c
3699
wret = push_leaf_left(trans, root, path, space_needed,
fs/btrfs/ctree.c
3704
l = path->nodes[0];
fs/btrfs/ctree.c
3711
if (!path->nodes[1]) {
fs/btrfs/ctree.c
3712
ret = insert_new_root(trans, root, path, 1);
fs/btrfs/ctree.c
3718
l = path->nodes[0];
fs/btrfs/ctree.c
3719
slot = path->slots[0];
fs/btrfs/ctree.c
3785
ret = insert_ptr(trans, path, &disk_key,
fs/btrfs/ctree.c
3786
right->start, path->slots[1] + 1, 1);
fs/btrfs/ctree.c
3792
btrfs_tree_unlock(path->nodes[0]);
fs/btrfs/ctree.c
3793
free_extent_buffer(path->nodes[0]);
fs/btrfs/ctree.c
3794
path->nodes[0] = right;
fs/btrfs/ctree.c
3795
path->slots[0] = 0;
fs/btrfs/ctree.c
3796
path->slots[1] += 1;
fs/btrfs/ctree.c
3799
ret = insert_ptr(trans, path, &disk_key,
fs/btrfs/ctree.c
3800
right->start, path->slots[1], 1);
fs/btrfs/ctree.c
3806
btrfs_tree_unlock(path->nodes[0]);
fs/btrfs/ctree.c
3807
free_extent_buffer(path->nodes[0]);
fs/btrfs/ctree.c
3808
path->nodes[0] = right;
fs/btrfs/ctree.c
3809
path->slots[0] = 0;
fs/btrfs/ctree.c
3810
if (path->slots[1] == 0)
fs/btrfs/ctree.c
3811
fixup_low_keys(trans, path, &disk_key, 1);
fs/btrfs/ctree.c
3821
ret = copy_for_split(trans, path, l, right, slot, mid, nritems);
fs/btrfs/ctree.c
3837
push_for_double_split(trans, root, path, data_size);
fs/btrfs/ctree.c
3839
if (btrfs_leaf_free_space(path->nodes[0]) >= data_size)
fs/btrfs/ctree.c
3846
struct btrfs_path *path, int ins_len)
fs/btrfs/ctree.c
3855
leaf = path->nodes[0];
fs/btrfs/ctree.c
3856
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/ctree.c
3865
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/ctree.c
3867
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/ctree.c
3871
btrfs_release_path(path);
fs/btrfs/ctree.c
3873
path->keep_locks = true;
fs/btrfs/ctree.c
3874
path->search_for_split = true;
fs/btrfs/ctree.c
3875
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/ctree.c
3876
path->search_for_split = false;
fs/btrfs/ctree.c
3883
leaf = path->nodes[0];
fs/btrfs/ctree.c
3885
if (item_size != btrfs_item_size(leaf, path->slots[0]))
fs/btrfs/ctree.c
3889
if (btrfs_leaf_free_space(path->nodes[0]) >= ins_len)
fs/btrfs/ctree.c
3893
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/ctree.c
3899
ret = split_leaf(trans, root, &key, path, ins_len, 1);
fs/btrfs/ctree.c
3903
path->keep_locks = false;
fs/btrfs/ctree.c
3904
btrfs_unlock_up_safe(path, 1);
fs/btrfs/ctree.c
3907
path->keep_locks = false;
fs/btrfs/ctree.c
3912
struct btrfs_path *path,
fs/btrfs/ctree.c
3924
leaf = path->nodes[0];
fs/btrfs/ctree.c
3932
orig_slot = path->slots[0];
fs/btrfs/ctree.c
3933
orig_offset = btrfs_item_offset(leaf, path->slots[0]);
fs/btrfs/ctree.c
3934
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/ctree.c
3941
path->slots[0]), item_size);
fs/btrfs/ctree.c
3943
slot = path->slots[0] + 1;
fs/btrfs/ctree.c
3964
btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/ctree.c
3995
struct btrfs_path *path,
fs/btrfs/ctree.c
4000
ret = setup_leaf_for_split(trans, root, path,
fs/btrfs/ctree.c
4005
return split_item(trans, path, new_key, split_offset);
fs/btrfs/ctree.c
4015
const struct btrfs_path *path, u32 new_size, int from_end)
fs/btrfs/ctree.c
4026
leaf = path->nodes[0];
fs/btrfs/ctree.c
4027
slot = path->slots[0];
fs/btrfs/ctree.c
4089
fixup_low_keys(trans, path, &disk_key, 1);
fs/btrfs/ctree.c
4105
const struct btrfs_path *path, u32 data_size)
fs/btrfs/ctree.c
4115
leaf = path->nodes[0];
fs/btrfs/ctree.c
4124
slot = path->slots[0];
fs/btrfs/ctree.c
4172
struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ctree.c
4189
if (path->slots[0] == 0) {
fs/btrfs/ctree.c
4191
fixup_low_keys(trans, path, &disk_key, 1);
fs/btrfs/ctree.c
4193
btrfs_unlock_up_safe(path, 1);
fs/btrfs/ctree.c
4195
leaf = path->nodes[0];
fs/btrfs/ctree.c
4196
slot = path->slots[0];
fs/btrfs/ctree.c
4268
struct btrfs_path *path,
fs/btrfs/ctree.c
4279
setup_items_for_insert(trans, root, path, &batch);
fs/btrfs/ctree.c
4292
struct btrfs_path *path,
fs/btrfs/ctree.c
4300
ret = btrfs_search_slot(trans, root, &batch->keys[0], path, total_size, 1);
fs/btrfs/ctree.c
4306
slot = path->slots[0];
fs/btrfs/ctree.c
4309
setup_items_for_insert(trans, root, path, batch);
fs/btrfs/ctree.c
4322
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/ctree.c
4326
path = btrfs_alloc_path();
fs/btrfs/ctree.c
4327
if (!path)
fs/btrfs/ctree.c
4329
ret = btrfs_insert_empty_item(trans, root, path, cpu_key, data_size);
fs/btrfs/ctree.c
4331
leaf = path->nodes[0];
fs/btrfs/ctree.c
4332
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/ctree.c
4349
struct btrfs_path *path,
fs/btrfs/ctree.c
4356
leaf = path->nodes[0];
fs/btrfs/ctree.c
4357
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/ctree.c
4358
ret = setup_leaf_for_split(trans, root, path,
fs/btrfs/ctree.c
4363
path->slots[0]++;
fs/btrfs/ctree.c
4364
btrfs_setup_item_for_insert(trans, root, path, new_key, item_size);
fs/btrfs/ctree.c
4365
leaf = path->nodes[0];
fs/btrfs/ctree.c
4367
btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/ctree.c
4368
btrfs_item_ptr_offset(leaf, path->slots[0] - 1),
fs/btrfs/ctree.c
4382
struct btrfs_path *path, int level, int slot)
fs/btrfs/ctree.c
4384
struct extent_buffer *parent = path->nodes[level];
fs/btrfs/ctree.c
4422
fixup_low_keys(trans, path, &disk_key, level + 1);
fs/btrfs/ctree.c
4440
struct btrfs_path *path,
fs/btrfs/ctree.c
4446
ret = btrfs_del_ptr(trans, root, path, 1, path->slots[1]);
fs/btrfs/ctree.c
4454
btrfs_unlock_up_safe(path, 0);
fs/btrfs/ctree.c
4471
struct btrfs_path *path, int slot, int nr)
fs/btrfs/ctree.c
4479
leaf = path->nodes[0];
fs/btrfs/ctree.c
4510
ret = btrfs_del_leaf(trans, root, path, leaf);
fs/btrfs/ctree.c
4520
fixup_low_keys(trans, path, &disk_key, 1);
fs/btrfs/ctree.c
4538
slot = path->slots[1];
fs/btrfs/ctree.c
4546
wret = push_leaf_left(trans, root, path, 0,
fs/btrfs/ctree.c
4551
if (path->nodes[0] == leaf &&
fs/btrfs/ctree.c
4565
wret = push_leaf_right(trans, root, path, 0,
fs/btrfs/ctree.c
4572
path->slots[1] = slot;
fs/btrfs/ctree.c
4573
ret = btrfs_del_leaf(trans, root, path, leaf);
fs/btrfs/ctree.c
4583
if (path->nodes[0] == leaf)
fs/btrfs/ctree.c
4611
struct btrfs_path *path,
fs/btrfs/ctree.c
4620
const bool keep_locks = path->keep_locks;
fs/btrfs/ctree.c
4622
ASSERT(!path->nowait);
fs/btrfs/ctree.c
4623
ASSERT(path->lowest_level == 0);
fs/btrfs/ctree.c
4624
path->keep_locks = true;
fs/btrfs/ctree.c
4628
WARN_ON(path->nodes[level]);
fs/btrfs/ctree.c
4629
path->nodes[level] = cur;
fs/btrfs/ctree.c
4630
path->locks[level] = BTRFS_READ_LOCK;
fs/btrfs/ctree.c
4650
path->slots[level] = slot;
fs/btrfs/ctree.c
4676
path->slots[level] = slot;
fs/btrfs/ctree.c
4678
sret = btrfs_find_next_key(root, path, min_key, level,
fs/btrfs/ctree.c
4681
btrfs_release_path(path);
fs/btrfs/ctree.c
4695
path->locks[level - 1] = BTRFS_READ_LOCK;
fs/btrfs/ctree.c
4696
path->nodes[level - 1] = cur;
fs/btrfs/ctree.c
4697
unlock_up(path, level, 1, 0, NULL);
fs/btrfs/ctree.c
4700
path->keep_locks = keep_locks;
fs/btrfs/ctree.c
4702
btrfs_unlock_up_safe(path, 1);
fs/btrfs/ctree.c
4717
int btrfs_find_next_key(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ctree.c
4723
WARN_ON(!path->keep_locks && !path->skip_locking);
fs/btrfs/ctree.c
4725
if (!path->nodes[level])
fs/btrfs/ctree.c
4728
slot = path->slots[level] + 1;
fs/btrfs/ctree.c
4729
c = path->nodes[level];
fs/btrfs/ctree.c
4736
!path->nodes[level + 1])
fs/btrfs/ctree.c
4739
if (path->locks[level + 1] || path->skip_locking) {
fs/btrfs/ctree.c
4750
orig_lowest = path->lowest_level;
fs/btrfs/ctree.c
4751
btrfs_release_path(path);
fs/btrfs/ctree.c
4752
path->lowest_level = level;
fs/btrfs/ctree.c
4753
ret = btrfs_search_slot(NULL, root, &cur_key, path,
fs/btrfs/ctree.c
4755
path->lowest_level = orig_lowest;
fs/btrfs/ctree.c
4759
c = path->nodes[level];
fs/btrfs/ctree.c
4760
slot = path->slots[level];
fs/btrfs/ctree.c
4782
int btrfs_next_old_leaf(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ctree.c
4801
ASSERT(!path->nowait);
fs/btrfs/ctree.c
4803
nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/ctree.c
4807
btrfs_item_key_to_cpu(path->nodes[0], &key, nritems - 1);
fs/btrfs/ctree.c
4811
btrfs_release_path(path);
fs/btrfs/ctree.c
4813
path->keep_locks = true;
fs/btrfs/ctree.c
4816
ret = btrfs_search_old_slot(root, &key, path, time_seq);
fs/btrfs/ctree.c
4818
if (path->need_commit_sem) {
fs/btrfs/ctree.c
4819
path->need_commit_sem = false;
fs/btrfs/ctree.c
4821
if (path->nowait) {
fs/btrfs/ctree.c
4830
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/ctree.c
4832
path->keep_locks = false;
fs/btrfs/ctree.c
4837
nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/ctree.c
4848
if (nritems > 0 && path->slots[0] <= nritems - 1) {
fs/btrfs/ctree.c
4849
if (ret == 0 && path->slots[0] != nritems - 1) {
fs/btrfs/ctree.c
4850
path->slots[0]++;
fs/btrfs/ctree.c
4859
if (!path->nodes[level]) {
fs/btrfs/ctree.c
4864
slot = path->slots[level] + 1;
fs/btrfs/ctree.c
4865
c = path->nodes[level];
fs/btrfs/ctree.c
4882
if (path->locks[level]) {
fs/btrfs/ctree.c
4883
btrfs_tree_read_unlock(path->nodes[i]);
fs/btrfs/ctree.c
4884
path->locks[i] = 0;
fs/btrfs/ctree.c
4886
free_extent_buffer(path->nodes[i]);
fs/btrfs/ctree.c
4887
path->nodes[i] = NULL;
fs/btrfs/ctree.c
4891
ret = read_block_for_search(root, path, &next, slot, &key);
fs/btrfs/ctree.c
4892
if (ret == -EAGAIN && !path->nowait)
fs/btrfs/ctree.c
4896
btrfs_release_path(path);
fs/btrfs/ctree.c
4900
if (!path->skip_locking) {
fs/btrfs/ctree.c
4902
if (!ret && path->nowait) {
fs/btrfs/ctree.c
4915
btrfs_release_path(path);
fs/btrfs/ctree.c
4924
path->slots[level] = slot;
fs/btrfs/ctree.c
4927
path->nodes[level] = next;
fs/btrfs/ctree.c
4928
path->slots[level] = 0;
fs/btrfs/ctree.c
4929
if (!path->skip_locking)
fs/btrfs/ctree.c
4930
path->locks[level] = BTRFS_READ_LOCK;
fs/btrfs/ctree.c
4934
ret = read_block_for_search(root, path, &next, 0, &key);
fs/btrfs/ctree.c
4935
if (ret == -EAGAIN && !path->nowait)
fs/btrfs/ctree.c
4939
btrfs_release_path(path);
fs/btrfs/ctree.c
4943
if (!path->skip_locking) {
fs/btrfs/ctree.c
4944
if (path->nowait) {
fs/btrfs/ctree.c
4956
unlock_up(path, 0, 1, 0, NULL);
fs/btrfs/ctree.c
4960
path->need_commit_sem = true;
fs/btrfs/ctree.c
4961
ret2 = finish_need_commit_sem_search(path);
fs/btrfs/ctree.c
4970
int btrfs_next_old_item(struct btrfs_root *root, struct btrfs_path *path, u64 time_seq)
fs/btrfs/ctree.c
4972
path->slots[0]++;
fs/btrfs/ctree.c
4973
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0]))
fs/btrfs/ctree.c
4974
return btrfs_next_old_leaf(root, path, time_seq);
fs/btrfs/ctree.c
4985
struct btrfs_path *path, u64 min_objectid,
fs/btrfs/ctree.c
4994
if (path->slots[0] == 0) {
fs/btrfs/ctree.c
4995
ret = btrfs_prev_leaf(root, path);
fs/btrfs/ctree.c
4999
path->slots[0]--;
fs/btrfs/ctree.c
5001
leaf = path->nodes[0];
fs/btrfs/ctree.c
5005
if (path->slots[0] == nritems)
fs/btrfs/ctree.c
5006
path->slots[0]--;
fs/btrfs/ctree.c
5008
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/ctree.c
5027
struct btrfs_path *path, u64 min_objectid)
fs/btrfs/ctree.c
5035
if (path->slots[0] == 0) {
fs/btrfs/ctree.c
5036
ret = btrfs_prev_leaf(root, path);
fs/btrfs/ctree.c
5040
path->slots[0]--;
fs/btrfs/ctree.c
5042
leaf = path->nodes[0];
fs/btrfs/ctree.c
5046
if (path->slots[0] == nritems)
fs/btrfs/ctree.c
5047
path->slots[0]--;
fs/btrfs/ctree.c
5049
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/ctree.c
868
struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ctree.c
900
path->locks[level] = 0;
fs/btrfs/ctree.c
901
path->nodes[level] = NULL;
fs/btrfs/ctree.c
926
struct btrfs_path *path, int level)
fs/btrfs/ctree.c
936
int orig_slot = path->slots[level];
fs/btrfs/ctree.c
941
mid = path->nodes[level];
fs/btrfs/ctree.c
943
WARN_ON(path->locks[level] != BTRFS_WRITE_LOCK);
fs/btrfs/ctree.c
949
parent = path->nodes[level + 1];
fs/btrfs/ctree.c
950
pslot = path->slots[level + 1];
fs/btrfs/ctree.c
961
return promote_child_to_root(trans, root, path, level, mid);
fs/btrfs/ctree.h
434
struct btrfs_path *path;
fs/btrfs/ctree.h
546
struct btrfs_path *path, u64 min_objectid,
fs/btrfs/ctree.h
549
struct btrfs_path *path, u64 min_objectid);
fs/btrfs/ctree.h
551
const struct btrfs_path *path,
fs/btrfs/ctree.h
554
int btrfs_find_next_key(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ctree.h
558
struct btrfs_path *path,
fs/btrfs/ctree.h
583
struct btrfs_path *path, int level, int slot);
fs/btrfs/ctree.h
585
const struct btrfs_path *path, u32 data_size);
fs/btrfs/ctree.h
587
const struct btrfs_path *path, u32 new_size, int from_end);
fs/btrfs/ctree.h
590
struct btrfs_path *path,
fs/btrfs/ctree.h
595
struct btrfs_path *path,
fs/btrfs/ctree.h
597
int btrfs_find_item(struct btrfs_root *fs_root, struct btrfs_path *path,
fs/btrfs/ctree.h
615
struct btrfs_path *path, int slot, int nr);
fs/btrfs/ctree.h
618
struct btrfs_path *path)
fs/btrfs/ctree.h
620
return btrfs_del_items(trans, root, path, path->slots[0], 1);
fs/btrfs/ctree.h
651
struct btrfs_path *path,
fs/btrfs/ctree.h
658
struct btrfs_path *path,
fs/btrfs/ctree.h
663
struct btrfs_path *path,
fs/btrfs/ctree.h
674
return btrfs_insert_empty_items(trans, root, path, &batch);
fs/btrfs/ctree.h
677
int btrfs_next_old_leaf(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ctree.h
681
struct btrfs_path *path);
fs/btrfs/ctree.h
684
struct btrfs_path *path);
fs/btrfs/ctree.h
705
#define btrfs_for_each_slot(root, key, found_key, path, iter_ret) \
fs/btrfs/ctree.h
706
for (iter_ret = btrfs_search_slot(NULL, (root), (key), (path), 0, 0); \
fs/btrfs/ctree.h
708
(iter_ret = btrfs_get_next_valid_item((root), (found_key), (path))) == 0; \
fs/btrfs/ctree.h
709
(path)->slots[0]++ \
fs/btrfs/ctree.h
712
int btrfs_next_old_item(struct btrfs_root *root, struct btrfs_path *path, u64 time_seq);
fs/btrfs/ctree.h
720
static inline int btrfs_next_leaf(struct btrfs_root *root, struct btrfs_path *path)
fs/btrfs/ctree.h
722
return btrfs_next_old_leaf(root, path, 0);
fs/btrfs/defrag.c
435
struct btrfs_path *path = NULL;
fs/btrfs/defrag.c
446
path = btrfs_alloc_path();
fs/btrfs/defrag.c
447
if (!path) {
fs/btrfs/defrag.c
474
path->keep_locks = true;
fs/btrfs/defrag.c
476
ret = btrfs_search_forward(root, &key, path, BTRFS_OLDEST_GENERATION);
fs/btrfs/defrag.c
483
btrfs_release_path(path);
fs/btrfs/defrag.c
489
path->lowest_level = 1;
fs/btrfs/defrag.c
490
wret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/defrag.c
496
if (!path->nodes[1]) {
fs/btrfs/defrag.c
505
ASSERT(path->locks[1] != 0);
fs/btrfs/defrag.c
507
path->nodes[1], 0,
fs/btrfs/defrag.c
523
path->slots[1] = btrfs_header_nritems(path->nodes[1]);
fs/btrfs/defrag.c
524
next_key_ret = btrfs_find_next_key(root, path, &key, 1,
fs/btrfs/defrag.c
531
btrfs_free_path(path);
fs/btrfs/defrag.c
612
BTRFS_PATH_AUTO_RELEASE(path);
fs/btrfs/defrag.c
629
ret = btrfs_search_forward(root, &key, &path, newer_than);
fs/btrfs/defrag.c
636
ret = btrfs_search_slot(NULL, root, &key, &path, 0, 0);
fs/btrfs/defrag.c
640
if (path.slots[0] >= btrfs_header_nritems(path.nodes[0])) {
fs/btrfs/defrag.c
646
ASSERT(btrfs_header_nritems(path.nodes[0]));
fs/btrfs/defrag.c
647
path.slots[0] = btrfs_header_nritems(path.nodes[0]) - 1;
fs/btrfs/defrag.c
649
btrfs_item_key_to_cpu(path.nodes[0], &key, path.slots[0]);
fs/btrfs/defrag.c
656
if (path.slots[0] > 0) {
fs/btrfs/defrag.c
657
btrfs_item_key_to_cpu(path.nodes[0], &key, path.slots[0]);
fs/btrfs/defrag.c
659
path.slots[0]--;
fs/btrfs/defrag.c
667
if (path.slots[0] >= btrfs_header_nritems(path.nodes[0]))
fs/btrfs/defrag.c
670
btrfs_item_key_to_cpu(path.nodes[0], &key, path.slots[0]);
fs/btrfs/defrag.c
700
fi = btrfs_item_ptr(path.nodes[0], path.slots[0],
fs/btrfs/defrag.c
702
extent_end = btrfs_file_extent_end(&path);
fs/btrfs/defrag.c
714
btrfs_extent_item_to_extent_map(inode, &path, fi, em);
fs/btrfs/defrag.c
717
ret = btrfs_next_item(root, &path);
fs/btrfs/delayed-inode.c
1018
ret = btrfs_lookup_inode(trans, root, path, &key, mod);
fs/btrfs/delayed-inode.c
1032
leaf = path->nodes[0];
fs/btrfs/delayed-inode.c
1033
inode_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/delayed-inode.c
1048
if (path->slots[0] + 1 >= btrfs_header_nritems(leaf)) {
fs/btrfs/delayed-inode.c
1053
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
1054
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/delayed-inode.c
1060
ASSERT(path->slots[0] > 0);
fs/btrfs/delayed-inode.c
1062
path->slots[0]--;
fs/btrfs/delayed-inode.c
1063
leaf = path->nodes[0];
fs/btrfs/delayed-inode.c
1065
path->slots[0]++;
fs/btrfs/delayed-inode.c
1067
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/delayed-inode.c
1079
ret = btrfs_del_item(trans, root, path);
fs/btrfs/delayed-inode.c
1084
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
1093
struct btrfs_path *path,
fs/btrfs/delayed-inode.c
1104
ret = __btrfs_update_delayed_inode(trans, root, path, node);
fs/btrfs/delayed-inode.c
1111
struct btrfs_path *path,
fs/btrfs/delayed-inode.c
1116
ret = btrfs_insert_delayed_items(trans, path, node->root, node);
fs/btrfs/delayed-inode.c
1120
ret = btrfs_delete_delayed_items(trans, path, node->root, node);
fs/btrfs/delayed-inode.c
1128
return btrfs_update_delayed_inode(trans, node->root, path, node);
fs/btrfs/delayed-inode.c
1142
struct btrfs_path *path;
fs/btrfs/delayed-inode.c
1150
path = btrfs_alloc_path();
fs/btrfs/delayed-inode.c
1151
if (!path)
fs/btrfs/delayed-inode.c
1159
ret = __btrfs_commit_inode_delayed_items(trans, path,
fs/btrfs/delayed-inode.c
1175
ASSERT(path->nodes[0] == NULL);
fs/btrfs/delayed-inode.c
1186
btrfs_free_path(path);
fs/btrfs/delayed-inode.c
1211
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/delayed-inode.c
1226
path = btrfs_alloc_path();
fs/btrfs/delayed-inode.c
1227
if (!path) {
fs/btrfs/delayed-inode.c
1235
ret = __btrfs_commit_inode_delayed_items(trans, path, delayed_node);
fs/btrfs/delayed-inode.c
1249
struct btrfs_path *path;
fs/btrfs/delayed-inode.c
1271
path = btrfs_alloc_path();
fs/btrfs/delayed-inode.c
1272
if (!path) {
fs/btrfs/delayed-inode.c
1283
path, delayed_node);
fs/btrfs/delayed-inode.c
1288
btrfs_free_path(path);
fs/btrfs/delayed-inode.c
1323
struct btrfs_path *path;
fs/btrfs/delayed-inode.c
1333
path = btrfs_alloc_path();
fs/btrfs/delayed-inode.c
1334
if (!path)
fs/btrfs/delayed-inode.c
1351
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
1361
__btrfs_commit_inode_delayed_items(trans, path, delayed_node);
fs/btrfs/delayed-inode.c
1367
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
1375
btrfs_free_path(path);
fs/btrfs/delayed-inode.c
656
struct btrfs_path *path,
fs/btrfs/delayed-inode.c
756
ret = btrfs_insert_empty_items(trans, root, path, &batch);
fs/btrfs/delayed-inode.c
763
data_ptr = btrfs_item_ptr(path->nodes[0], path->slots[0], char);
fs/btrfs/delayed-inode.c
764
write_extent_buffer(path->nodes[0], &curr->data,
fs/btrfs/delayed-inode.c
766
path->slots[0]++;
fs/btrfs/delayed-inode.c
774
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
818
struct btrfs_path *path,
fs/btrfs/delayed-inode.c
833
ret = btrfs_insert_delayed_item(trans, root, path, curr);
fs/btrfs/delayed-inode.c
842
struct btrfs_path *path,
fs/btrfs/delayed-inode.c
848
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/delayed-inode.c
856
slot = path->slots[0];
fs/btrfs/delayed-inode.c
894
ret = btrfs_del_items(trans, root, path, path->slots[0], nitems);
fs/btrfs/delayed-inode.c
919
struct btrfs_path *path,
fs/btrfs/delayed-inode.c
940
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/delayed-inode.c
956
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
960
ret = btrfs_batch_delete_items(trans, root, path, item);
fs/btrfs/delayed-inode.c
961
btrfs_release_path(path);
fs/btrfs/delayed-inode.c
999
struct btrfs_path *path,
fs/btrfs/dev-replace.c
124
slot = path->slots[0];
fs/btrfs/dev-replace.c
125
eb = path->nodes[0];
fs/btrfs/dev-replace.c
341
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/dev-replace.c
359
path = btrfs_alloc_path();
fs/btrfs/dev-replace.c
360
if (!path)
fs/btrfs/dev-replace.c
363
ret = btrfs_search_slot(trans, dev_root, &key, path, -1, 1);
fs/btrfs/dev-replace.c
372
btrfs_item_size(path->nodes[0], path->slots[0]) < sizeof(*ptr)) {
fs/btrfs/dev-replace.c
384
ret = btrfs_del_item(trans, dev_root, path);
fs/btrfs/dev-replace.c
396
btrfs_release_path(path);
fs/btrfs/dev-replace.c
397
ret = btrfs_insert_empty_item(trans, dev_root, path,
fs/btrfs/dev-replace.c
406
eb = path->nodes[0];
fs/btrfs/dev-replace.c
407
ptr = btrfs_item_ptr(eb, path->slots[0],
fs/btrfs/dev-replace.c
441
struct btrfs_path *path;
fs/btrfs/dev-replace.c
485
path = btrfs_alloc_path();
fs/btrfs/dev-replace.c
486
if (!path) {
fs/btrfs/dev-replace.c
491
path->reada = READA_FORWARD;
fs/btrfs/dev-replace.c
492
path->search_commit_root = true;
fs/btrfs/dev-replace.c
493
path->skip_locking = true;
fs/btrfs/dev-replace.c
499
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/dev-replace.c
500
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/dev-replace.c
511
dev_extent = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_extent);
fs/btrfs/dev-replace.c
525
btrfs_free_path(path);
fs/btrfs/dev-replace.c
79
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/dev-replace.c
87
path = btrfs_alloc_path();
fs/btrfs/dev-replace.c
88
if (!path)
fs/btrfs/dev-replace.c
94
ret = btrfs_search_slot(NULL, dev_root, &key, path, 0, 0);
fs/btrfs/dir-item.c
115
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/dir-item.c
127
path = btrfs_alloc_path();
fs/btrfs/dir-item.c
128
if (!path)
fs/btrfs/dir-item.c
134
dir_item = insert_with_overflow(trans, root, path, &key, data_size,
fs/btrfs/dir-item.c
146
leaf = path->nodes[0];
fs/btrfs/dir-item.c
162
btrfs_release_path(path);
fs/btrfs/dir-item.c
176
struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/dir-item.c
184
ret = btrfs_search_slot(trans, root, key, path, ins_len, cow);
fs/btrfs/dir-item.c
190
return btrfs_match_dir_item_name(path, name, name_len);
fs/btrfs/dir-item.c
211
struct btrfs_path *path, u64 dir,
fs/btrfs/dir-item.c
222
di = btrfs_lookup_match_dir(trans, root, path, &key, name->name,
fs/btrfs/dir-item.c
239
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/dir-item.c
241
path = btrfs_alloc_path();
fs/btrfs/dir-item.c
242
if (!path)
fs/btrfs/dir-item.c
249
di = btrfs_lookup_match_dir(NULL, root, path, &key, name->name,
fs/btrfs/dir-item.c
25
struct btrfs_path *path,
fs/btrfs/dir-item.c
269
leaf = path->nodes[0];
fs/btrfs/dir-item.c
270
slot = path->slots[0];
fs/btrfs/dir-item.c
301
struct btrfs_path *path, u64 dir,
fs/btrfs/dir-item.c
311
di = btrfs_lookup_match_dir(trans, root, path, &key, name->name,
fs/btrfs/dir-item.c
320
btrfs_search_dir_index_item(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/dir-item.c
331
btrfs_for_each_slot(root, &key, &key, path, ret) {
fs/btrfs/dir-item.c
335
di = btrfs_match_dir_item_name(path, name->name, name->len);
fs/btrfs/dir-item.c
348
struct btrfs_path *path, u64 dir,
fs/btrfs/dir-item.c
35
ret = btrfs_insert_empty_item(trans, root, path, cpu_key, data_size);
fs/btrfs/dir-item.c
359
di = btrfs_lookup_match_dir(trans, root, path, &key, name, name_len, mod);
fs/btrfs/dir-item.c
371
struct btrfs_dir_item *btrfs_match_dir_item_name(const struct btrfs_path *path,
fs/btrfs/dir-item.c
38
di = btrfs_match_dir_item_name(path, name, name_len);
fs/btrfs/dir-item.c
381
leaf = path->nodes[0];
fs/btrfs/dir-item.c
382
dir_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dir_item);
fs/btrfs/dir-item.c
384
total_len = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/dir-item.c
408
struct btrfs_path *path,
fs/btrfs/dir-item.c
41
btrfs_extend_item(trans, path, data_size);
fs/btrfs/dir-item.c
417
leaf = path->nodes[0];
fs/btrfs/dir-item.c
420
item_len = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/dir-item.c
422
ret = btrfs_del_item(trans, root, path);
fs/btrfs/dir-item.c
428
start = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/dir-item.c
431
btrfs_truncate_item(trans, path, item_len - sub_item_len, 1);
fs/btrfs/dir-item.c
45
leaf = path->nodes[0];
fs/btrfs/dir-item.c
46
ptr = btrfs_item_ptr(leaf, path->slots[0], char);
fs/btrfs/dir-item.c
47
ASSERT(data_size <= btrfs_item_size(leaf, path->slots[0]));
fs/btrfs/dir-item.c
48
ptr += btrfs_item_size(leaf, path->slots[0]) - data_size;
fs/btrfs/dir-item.c
58
struct btrfs_path *path, u64 objectid,
fs/btrfs/dir-item.c
78
dir_item = insert_with_overflow(trans, root, path, &key, data_size,
fs/btrfs/dir-item.c
84
leaf = path->nodes[0];
fs/btrfs/dir-item.h
24
struct btrfs_path *path, u64 dir,
fs/btrfs/dir-item.h
29
struct btrfs_path *path, u64 dir,
fs/btrfs/dir-item.h
32
struct btrfs_path *path, u64 dirid,
fs/btrfs/dir-item.h
36
struct btrfs_path *path,
fs/btrfs/dir-item.h
40
struct btrfs_path *path, u64 objectid,
fs/btrfs/dir-item.h
45
struct btrfs_path *path, u64 dir,
fs/btrfs/dir-item.h
48
struct btrfs_dir_item *btrfs_match_dir_item_name(const struct btrfs_path *path,
fs/btrfs/disk-io.c
1029
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/disk-io.c
1031
path = btrfs_alloc_path();
fs/btrfs/disk-io.c
1032
if (!path)
fs/btrfs/disk-io.c
1034
root = read_tree_root_path(tree_root, path, key);
fs/btrfs/disk-io.c
1254
struct btrfs_path *path;
fs/btrfs/disk-io.c
1308
path = btrfs_alloc_path();
fs/btrfs/disk-io.c
1309
if (!path) {
fs/btrfs/disk-io.c
1317
ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0);
fs/btrfs/disk-io.c
1318
btrfs_free_path(path);
fs/btrfs/disk-io.c
1389
struct btrfs_path *path,
fs/btrfs/disk-io.c
1395
ASSERT(path->search_commit_root && path->skip_locking);
fs/btrfs/disk-io.c
1414
root = read_tree_root_path(fs_info->tree_root, path, &key);
fs/btrfs/disk-io.c
1415
btrfs_release_path(path);
fs/btrfs/disk-io.c
2053
struct btrfs_path *path, u64 objectid,
fs/btrfs/disk-io.c
2075
ret = btrfs_search_slot(NULL, tree_root, &key, path, 0, 0);
fs/btrfs/disk-io.c
2079
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/disk-io.c
2080
ret = btrfs_next_leaf(tree_root, path);
fs/btrfs/disk-io.c
2089
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/disk-io.c
2092
btrfs_release_path(path);
fs/btrfs/disk-io.c
2102
root = read_tree_root_path(tree_root, path, &key);
fs/btrfs/disk-io.c
2115
btrfs_release_path(path);
fs/btrfs/disk-io.c
2135
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/disk-io.c
2138
path = btrfs_alloc_path();
fs/btrfs/disk-io.c
2139
if (!path)
fs/btrfs/disk-io.c
2142
ret = load_global_roots_objectid(tree_root, path,
fs/btrfs/disk-io.c
2146
ret = load_global_roots_objectid(tree_root, path,
fs/btrfs/disk-io.c
2153
return load_global_roots_objectid(tree_root, path,
fs/btrfs/disk-io.c
4923
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/disk-io.c
4930
path = btrfs_alloc_path();
fs/btrfs/disk-io.c
4931
if (!path)
fs/btrfs/disk-io.c
4937
ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0);
fs/btrfs/disk-io.c
4947
if (path->slots[0] > 0) {
fs/btrfs/disk-io.c
4948
slot = path->slots[0] - 1;
fs/btrfs/disk-io.c
4949
l = path->nodes[0];
fs/btrfs/disk-io.c
963
struct btrfs_path *path,
fs/btrfs/disk-io.c
977
ret = btrfs_find_root(tree_root, key, path,
fs/btrfs/disk-io.h
74
struct btrfs_path *path,
fs/btrfs/export.c
158
struct btrfs_path *path;
fs/btrfs/export.c
165
path = btrfs_alloc_path();
fs/btrfs/export.c
166
if (!path)
fs/btrfs/export.c
180
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/export.c
192
if (path->slots[0] == 0) {
fs/btrfs/export.c
197
path->slots[0]--;
fs/btrfs/export.c
198
leaf = path->nodes[0];
fs/btrfs/export.c
200
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/export.c
207
ref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/export.c
213
btrfs_free_path(path);
fs/btrfs/export.c
226
btrfs_free_path(path);
fs/btrfs/export.c
237
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/export.c
252
path = btrfs_alloc_path();
fs/btrfs/export.c
253
if (!path)
fs/btrfs/export.c
267
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/export.c
272
path->slots[0]--;
fs/btrfs/export.c
276
leaf = path->nodes[0];
fs/btrfs/export.c
279
rref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/export.c
284
iref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
1000
path->keep_locks = true;
fs/btrfs/extent-tree.c
1010
if (find_next_key(path, 0, &key) == 0 &&
fs/btrfs/extent-tree.c
1020
if (path->keep_locks) {
fs/btrfs/extent-tree.c
1021
path->keep_locks = false;
fs/btrfs/extent-tree.c
1022
btrfs_unlock_up_safe(path, 1);
fs/btrfs/extent-tree.c
1025
path->search_for_extension = false;
fs/btrfs/extent-tree.c
1034
struct btrfs_path *path,
fs/btrfs/extent-tree.c
1049
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
1050
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
1056
btrfs_extend_item(trans, path, size);
fs/btrfs/extent-tree.c
1058
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
1066
end = (unsigned long)ei + btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/extent-tree.c
1093
struct btrfs_path *path,
fs/btrfs/extent-tree.c
1100
ret = lookup_inline_extent_backref(trans, path, ref_ret, bytenr,
fs/btrfs/extent-tree.c
1106
btrfs_release_path(path);
fs/btrfs/extent-tree.c
111
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
1110
ret = lookup_tree_block_ref(trans, path, bytenr, parent,
fs/btrfs/extent-tree.c
1113
ret = lookup_extent_data_ref(trans, path, bytenr, parent,
fs/btrfs/extent-tree.c
1124
struct btrfs_path *path,
fs/btrfs/extent-tree.c
1129
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/extent-tree.c
1141
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
1147
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
1190
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
1204
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
1225
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/extent-tree.c
1232
btrfs_truncate_item(trans, path, item_size, 1);
fs/btrfs/extent-tree.c
1239
struct btrfs_path *path,
fs/btrfs/extent-tree.c
1248
ret = lookup_inline_extent_backref(trans, path, &iref, bytenr,
fs/btrfs/extent-tree.c
1257
btrfs_print_leaf(path->nodes[0]);
fs/btrfs/extent-tree.c
1260
bytenr, num_bytes, root_objectid, path->slots[0]);
fs/btrfs/extent-tree.c
1263
ret = update_inline_extent_backref(trans, path, iref,
fs/btrfs/extent-tree.c
1266
setup_inline_extent_backref(trans, path, iref, parent,
fs/btrfs/extent-tree.c
127
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
1276
struct btrfs_path *path,
fs/btrfs/extent-tree.c
128
if (!path)
fs/btrfs/extent-tree.c
1284
ret = update_inline_extent_backref(trans, path, iref,
fs/btrfs/extent-tree.c
1287
ret = remove_extent_data_ref(trans, root, path, refs_to_drop);
fs/btrfs/extent-tree.c
1289
ret = btrfs_del_item(trans, root, path);
fs/btrfs/extent-tree.c
146
ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
fs/btrfs/extent-tree.c
151
if (path->slots[0]) {
fs/btrfs/extent-tree.c
152
path->slots[0]--;
fs/btrfs/extent-tree.c
153
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/extent-tree.c
1530
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
154
path->slots[0]);
fs/btrfs/extent-tree.c
1542
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
1543
if (!path)
fs/btrfs/extent-tree.c
1547
ret = insert_inline_extent_backref(trans, path, bytenr, num_bytes,
fs/btrfs/extent-tree.c
1558
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
1559
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
1560
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
1566
btrfs_release_path(path);
fs/btrfs/extent-tree.c
1570
ret = insert_tree_block_ref(trans, path, node, bytenr);
fs/btrfs/extent-tree.c
1574
ret = insert_extent_data_ref(trans, path, node, bytenr);
fs/btrfs/extent-tree.c
163
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/extent-tree.c
165
const u32 item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/extent-tree.c
1697
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
1710
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
1711
if (!path)
fs/btrfs/extent-tree.c
1732
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/extent-tree.c
1737
if (path->slots[0] > 0) {
fs/btrfs/extent-tree.c
1738
path->slots[0]--;
fs/btrfs/extent-tree.c
1739
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/extent-tree.c
1740
path->slots[0]);
fs/btrfs/extent-tree.c
1747
btrfs_release_path(path);
fs/btrfs/extent-tree.c
176
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
1764
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
1765
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/extent-tree.c
1776
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
187
owner = btrfs_get_extent_owner_root(fs_info, leaf, path->slots[0]);
fs/btrfs/extent-tree.c
202
btrfs_release_path(path);
fs/btrfs/extent-tree.c
2290
struct btrfs_path *path,
fs/btrfs/extent-tree.c
2319
if (path->nowait) {
fs/btrfs/extent-tree.c
2328
btrfs_release_path(path);
fs/btrfs/extent-tree.c
2421
struct btrfs_path *path,
fs/btrfs/extent-tree.c
2447
ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
fs/btrfs/extent-tree.c
2458
if (path->slots[0] == 0)
fs/btrfs/extent-tree.c
2461
path->slots[0]--;
fs/btrfs/extent-tree.c
2462
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
2463
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
2468
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/extent-tree.c
2469
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
2505
u64 bytenr, struct btrfs_path *path)
fs/btrfs/extent-tree.c
2510
ret = check_committed_ref(inode, path, offset, bytenr);
fs/btrfs/extent-tree.c
2525
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/extent-tree.c
2533
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
2539
ret = check_delayed_ref(inode, path, offset, bytenr);
fs/btrfs/extent-tree.c
2540
} while (ret == -EAGAIN && !path->nowait);
fs/btrfs/extent-tree.c
2543
btrfs_release_path(path);
fs/btrfs/extent-tree.c
3138
struct btrfs_path *path)
fs/btrfs/extent-tree.c
3145
ret = btrfs_remove_extent_from_remap_tree(trans, path, bytenr, num_bytes);
fs/btrfs/extent-tree.c
3201
#define abort_and_dump(trans, path, fmt, args...) \
fs/btrfs/extent-tree.c
3204
btrfs_print_leaf(path->nodes[0]); \
fs/btrfs/extent-tree.c
3274
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
3301
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
3302
if (!path)
fs/btrfs/extent-tree.c
3319
ret = lookup_extent_backref(trans, path, &iref, bytenr, num_bytes,
fs/btrfs/extent-tree.c
3330
extent_slot = path->slots[0];
fs/btrfs/extent-tree.c
3332
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/extent-tree.c
3348
if (path->slots[0] - extent_slot > 5)
fs/btrfs/extent-tree.c
3355
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3357
path->slots[0]);
fs/btrfs/extent-tree.c
3361
ret = remove_extent_backref(trans, extent_root, path,
fs/btrfs/extent-tree.c
3367
btrfs_release_path(path);
fs/btrfs/extent-tree.c
3380
&key, path, -1, 1);
fs/btrfs/extent-tree.c
3381
if (ret > 0 && skinny_metadata && path->slots[0]) {
fs/btrfs/extent-tree.c
3386
path->slots[0]--;
fs/btrfs/extent-tree.c
3387
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/extent-tree.c
3388
path->slots[0]);
fs/btrfs/extent-tree.c
3400
btrfs_release_path(path);
fs/btrfs/extent-tree.c
3402
&key, path, -1, 1);
fs/btrfs/extent-tree.c
3407
btrfs_print_leaf(path->nodes[0]);
fs/btrfs/extent-tree.c
3410
ret, bytenr, path->slots[0]);
fs/btrfs/extent-tree.c
3416
extent_slot = path->slots[0];
fs/btrfs/extent-tree.c
3419
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3422
owner_offset, path->slots[0]);
fs/btrfs/extent-tree.c
3429
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
3446
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3449
path->slots[0], owner_objectid, item_size,
fs/btrfs/extent-tree.c
3459
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3461
refs_to_drop, refs, bytenr, path->slots[0]);
fs/btrfs/extent-tree.c
3475
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3477
path->slots[0]);
fs/btrfs/extent-tree.c
3484
ret = remove_extent_backref(trans, extent_root, path,
fs/btrfs/extent-tree.c
3503
extent_data_ref_count(path, iref))) {
fs/btrfs/extent-tree.c
3504
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3506
extent_data_ref_count(path, iref),
fs/btrfs/extent-tree.c
3507
refs_to_drop, path->slots[0]);
fs/btrfs/extent-tree.c
3511
if (unlikely(path->slots[0] != extent_slot)) {
fs/btrfs/extent-tree.c
3512
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3515
path->slots[0]);
fs/btrfs/extent-tree.c
3525
if (unlikely(path->slots[0] != extent_slot + 1)) {
fs/btrfs/extent-tree.c
3526
abort_and_dump(trans, path,
fs/btrfs/extent-tree.c
3528
path->slots[0]);
fs/btrfs/extent-tree.c
3531
path->slots[0] = extent_slot;
fs/btrfs/extent-tree.c
3546
ret = btrfs_del_items(trans, extent_root, path, path->slots[0],
fs/btrfs/extent-tree.c
3552
btrfs_release_path(path);
fs/btrfs/extent-tree.c
3554
ret = do_free_extent_accounting(trans, bytenr, &delta, path);
fs/btrfs/extent-tree.c
3556
btrfs_release_path(path);
fs/btrfs/extent-tree.c
438
struct btrfs_path *path,
fs/btrfs/extent-tree.c
468
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/extent-tree.c
479
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
482
if (path->slots[0] >= nritems) {
fs/btrfs/extent-tree.c
483
ret = btrfs_next_leaf(root, path);
fs/btrfs/extent-tree.c
490
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
495
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
500
ref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
5000
struct btrfs_path *path;
fs/btrfs/extent-tree.c
5024
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
5025
if (!path)
fs/btrfs/extent-tree.c
5028
ret = btrfs_insert_empty_item(trans, extent_root, path, ins, size);
fs/btrfs/extent-tree.c
5030
btrfs_free_path(path);
fs/btrfs/extent-tree.c
5034
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
5035
extent_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
506
btrfs_release_path(path);
fs/btrfs/extent-tree.c
5065
btrfs_free_path(path);
fs/btrfs/extent-tree.c
5081
struct btrfs_path *path;
fs/btrfs/extent-tree.c
511
path->slots[0]++;
fs/btrfs/extent-tree.c
5111
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
5112
if (!path)
fs/btrfs/extent-tree.c
5115
ret = btrfs_insert_empty_item(trans, extent_root, path, &extent_key,
fs/btrfs/extent-tree.c
5118
btrfs_free_path(path);
fs/btrfs/extent-tree.c
5122
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
5123
extent_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
5149
btrfs_free_path(path);
fs/btrfs/extent-tree.c
518
struct btrfs_path *path,
fs/btrfs/extent-tree.c
548
ret = btrfs_insert_empty_item(trans, root, path, &key, size);
fs/btrfs/extent-tree.c
552
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
5549
struct btrfs_path *path)
fs/btrfs/extent-tree.c
555
ref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
5562
if (path->slots[wc->level] < wc->reada_slot) {
fs/btrfs/extent-tree.c
5571
eb = path->nodes[wc->level];
fs/btrfs/extent-tree.c
5574
for (slot = path->slots[wc->level]; slot < nritems; slot++) {
fs/btrfs/extent-tree.c
5582
if (slot == path->slots[wc->level])
fs/btrfs/extent-tree.c
5626
struct btrfs_path *path,
fs/btrfs/extent-tree.c
5631
struct extent_buffer *eb = path->nodes[level];
fs/btrfs/extent-tree.c
5645
ASSERT(path->locks[level]);
fs/btrfs/extent-tree.c
5664
if (path->locks[level] && !wc->keep_locks) {
fs/btrfs/extent-tree.c
5665
btrfs_tree_unlock_rw(eb, path->locks[level]);
fs/btrfs/extent-tree.c
5666
path->locks[level] = 0;
fs/btrfs/extent-tree.c
567
ref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
5673
ASSERT(path->locks[level]);
fs/btrfs/extent-tree.c
5696
if (path->locks[level] && level > 0) {
fs/btrfs/extent-tree.c
5697
btrfs_tree_unlock_rw(eb, path->locks[level]);
fs/btrfs/extent-tree.c
5698
path->locks[level] = 0;
fs/btrfs/extent-tree.c
5713
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
5718
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
5719
if (!path)
fs/btrfs/extent-tree.c
572
btrfs_release_path(path);
fs/btrfs/extent-tree.c
5722
ret = lookup_extent_backref(trans, path, &iref, bytenr,
fs/btrfs/extent-tree.c
574
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/extent-tree.c
5752
btrfs_release_path(path);
fs/btrfs/extent-tree.c
5774
struct btrfs_path *path,
fs/btrfs/extent-tree.c
5785
generation = btrfs_node_ptr_generation(path->nodes[level], path->slots[level]);
fs/btrfs/extent-tree.c
579
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
5794
btrfs_node_key_to_cpu(path->nodes[level], &check.first_key, path->slots[level]);
fs/btrfs/extent-tree.c
5798
reada_walk_down(trans, root, wc, path);
fs/btrfs/extent-tree.c
581
ref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
5820
struct btrfs_path *path, struct walk_control *wc,
fs/btrfs/extent-tree.c
5838
ref.parent = path->nodes[level]->start;
fs/btrfs/extent-tree.c
5840
ASSERT(btrfs_root_id(root) == btrfs_header_owner(path->nodes[level]));
fs/btrfs/extent-tree.c
5841
if (unlikely(btrfs_root_id(root) != btrfs_header_owner(path->nodes[level]))) {
fs/btrfs/extent-tree.c
5869
u64 generation = btrfs_node_ptr_generation(path->nodes[level],
fs/btrfs/extent-tree.c
5870
path->slots[level]);
fs/btrfs/extent-tree.c
5887
find_next_key(path, level, &wc->drop_progress);
fs/btrfs/extent-tree.c
5908
struct btrfs_path *path,
fs/btrfs/extent-tree.c
5919
generation = btrfs_node_ptr_generation(path->nodes[level],
fs/btrfs/extent-tree.c
5920
path->slots[level]);
fs/btrfs/extent-tree.c
5932
bytenr = btrfs_node_blockptr(path->nodes[level], path->slots[level]);
fs/btrfs/extent-tree.c
5957
if (!visit_node_for_delete(root, wc, path->nodes[level],
fs/btrfs/extent-tree.c
5958
wc->flags[level - 1], path->slots[level]))
fs/btrfs/extent-tree.c
596
btrfs_release_path(path);
fs/btrfs/extent-tree.c
5971
ret = check_next_block_uptodate(trans, root, path, wc, next);
fs/btrfs/extent-tree.c
5982
path->nodes[level] = next;
fs/btrfs/extent-tree.c
5983
path->slots[level] = 0;
fs/btrfs/extent-tree.c
5984
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/extent-tree.c
5990
ret = maybe_drop_reference(trans, root, path, wc, next, owner_root);
fs/btrfs/extent-tree.c
6019
struct btrfs_path *path,
fs/btrfs/extent-tree.c
602
struct btrfs_path *path,
fs/btrfs/extent-tree.c
6025
struct extent_buffer *eb = path->nodes[level];
fs/btrfs/extent-tree.c
6033
ret = find_next_key(path, level + 1, &wc->update_progress);
fs/btrfs/extent-tree.c
6039
path->slots[level] = 0;
fs/btrfs/extent-tree.c
6046
if (!path->locks[level]) {
fs/btrfs/extent-tree.c
6049
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/extent-tree.c
6057
btrfs_tree_unlock_rw(eb, path->locks[level]);
fs/btrfs/extent-tree.c
6058
path->locks[level] = 0;
fs/btrfs/extent-tree.c
6062
btrfs_tree_unlock_rw(eb, path->locks[level]);
fs/btrfs/extent-tree.c
6068
btrfs_tree_unlock_rw(eb, path->locks[level]);
fs/btrfs/extent-tree.c
6069
path->locks[level] = 0;
fs/btrfs/extent-tree.c
6076
ASSERT(path->locks[level] || wc->refs[level] == 1);
fs/btrfs/extent-tree.c
6097
if (!path->locks[level]) {
fs/btrfs/extent-tree.c
6099
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/extent-tree.c
6111
parent = path->nodes[level + 1]->start;
fs/btrfs/extent-tree.c
6113
btrfs_header_owner(path->nodes[level + 1])))
fs/btrfs/extent-tree.c
612
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
613
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
6155
struct btrfs_path *path,
fs/btrfs/extent-tree.c
616
ref1 = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
6163
ret = walk_down_proc(trans, root, path, wc);
fs/btrfs/extent-tree.c
6170
if (path->slots[level] >=
fs/btrfs/extent-tree.c
6171
btrfs_header_nritems(path->nodes[level]))
fs/btrfs/extent-tree.c
6174
ret = do_walk_down(trans, root, path, wc);
fs/btrfs/extent-tree.c
6176
path->slots[level]++;
fs/btrfs/extent-tree.c
620
ref2 = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
6204
struct btrfs_path *path,
fs/btrfs/extent-tree.c
6210
path->slots[level] = btrfs_header_nritems(path->nodes[level]);
fs/btrfs/extent-tree.c
6211
while (level < max_level && path->nodes[level]) {
fs/btrfs/extent-tree.c
6213
if (path->slots[level] + 1 <
fs/btrfs/extent-tree.c
6214
btrfs_header_nritems(path->nodes[level])) {
fs/btrfs/extent-tree.c
6215
path->slots[level]++;
fs/btrfs/extent-tree.c
6218
ret = walk_up_proc(trans, root, path, wc);
fs/btrfs/extent-tree.c
6224
if (path->locks[level]) {
fs/btrfs/extent-tree.c
6225
btrfs_tree_unlock_rw(path->nodes[level],
fs/btrfs/extent-tree.c
6226
path->locks[level]);
fs/btrfs/extent-tree.c
6227
path->locks[level] = 0;
fs/btrfs/extent-tree.c
6229
free_extent_buffer(path->nodes[level]);
fs/btrfs/extent-tree.c
6230
path->nodes[level] = NULL;
fs/btrfs/extent-tree.c
6254
struct btrfs_path *path;
fs/btrfs/extent-tree.c
6268
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
6269
if (!path) {
fs/btrfs/extent-tree.c
63
static int find_next_key(const struct btrfs_path *path, int level,
fs/btrfs/extent-tree.c
6310
path->nodes[level] = btrfs_lock_root_node(root);
fs/btrfs/extent-tree.c
6311
path->slots[level] = 0;
fs/btrfs/extent-tree.c
6312
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/extent-tree.c
6322
path->lowest_level = level;
fs/btrfs/extent-tree.c
6323
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/extent-tree.c
6324
path->lowest_level = 0;
fs/btrfs/extent-tree.c
6335
btrfs_unlock_up_safe(path, 0);
fs/btrfs/extent-tree.c
6339
btrfs_tree_lock(path->nodes[level]);
fs/btrfs/extent-tree.c
6340
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/extent-tree.c
6347
path->nodes[level]->start,
fs/btrfs/extent-tree.c
635
ret = btrfs_del_item(trans, root, path);
fs/btrfs/extent-tree.c
6358
btrfs_tree_unlock(path->nodes[level]);
fs/btrfs/extent-tree.c
6359
path->locks[level] = 0;
fs/btrfs/extent-tree.c
6375
ret = walk_down_tree(trans, root, path, wc);
fs/btrfs/extent-tree.c
6381
ret = walk_up_tree(trans, root, path, wc, BTRFS_MAX_LEVEL);
fs/btrfs/extent-tree.c
6395
btrfs_node_key_to_cpu(path->nodes[wc->drop_level],
fs/btrfs/extent-tree.c
6397
path->slots[wc->drop_level]);
fs/btrfs/extent-tree.c
6440
btrfs_release_path(path);
fs/btrfs/extent-tree.c
645
static noinline u32 extent_data_ref_count(const struct btrfs_path *path,
fs/btrfs/extent-tree.c
6451
ret = btrfs_find_root(tree_root, &root->root_key, path,
fs/btrfs/extent-tree.c
6487
btrfs_free_path(path);
fs/btrfs/extent-tree.c
6528
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
6536
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
6537
if (!path)
fs/btrfs/extent-tree.c
6547
path->nodes[parent_level] = parent;
fs/btrfs/extent-tree.c
6548
path->slots[parent_level] = btrfs_header_nritems(parent);
fs/btrfs/extent-tree.c
655
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
6552
path->nodes[level] = node;
fs/btrfs/extent-tree.c
6553
path->slots[level] = 0;
fs/btrfs/extent-tree.c
6554
path->locks[level] = BTRFS_WRITE_LOCK;
fs/btrfs/extent-tree.c
656
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/extent-tree.c
6566
ret = walk_down_tree(trans, root, path, wc);
fs/btrfs/extent-tree.c
6570
ret = walk_up_tree(trans, root, path, wc, parent_level);
fs/btrfs/extent-tree.c
673
ref1 = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
677
ref2 = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/extent-tree.c
687
struct btrfs_path *path,
fs/btrfs/extent-tree.c
710
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/extent-tree.c
717
struct btrfs_path *path,
fs/btrfs/extent-tree.c
740
ret = btrfs_insert_empty_item(trans, root, path, &key, 0);
fs/btrfs/extent-tree.c
741
btrfs_release_path(path);
fs/btrfs/extent-tree.c
76
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/extent-tree.c
762
static int find_next_key(const struct btrfs_path *path, int level,
fs/btrfs/extent-tree.c
767
if (!path->nodes[level])
fs/btrfs/extent-tree.c
769
if (path->slots[level] + 1 >=
fs/btrfs/extent-tree.c
770
btrfs_header_nritems(path->nodes[level]))
fs/btrfs/extent-tree.c
773
btrfs_item_key_to_cpu(path->nodes[level], key,
fs/btrfs/extent-tree.c
774
path->slots[level] + 1);
fs/btrfs/extent-tree.c
776
btrfs_node_key_to_cpu(path->nodes[level], key,
fs/btrfs/extent-tree.c
777
path->slots[level] + 1);
fs/btrfs/extent-tree.c
798
struct btrfs_path *path,
fs/btrfs/extent-tree.c
834
path->search_for_extension = true;
fs/btrfs/extent-tree.c
84
path = btrfs_alloc_path();
fs/btrfs/extent-tree.c
848
ret = btrfs_search_slot(trans, root, &key, path, extra_size, 1);
fs/btrfs/extent-tree.c
85
if (!path)
fs/btrfs/extent-tree.c
858
if (path->slots[0]) {
fs/btrfs/extent-tree.c
859
path->slots[0]--;
fs/btrfs/extent-tree.c
860
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/extent-tree.c
861
path->slots[0]);
fs/btrfs/extent-tree.c
871
btrfs_release_path(path);
fs/btrfs/extent-tree.c
880
btrfs_print_leaf(path->nodes[0]);
fs/btrfs/extent-tree.c
889
leaf = path->nodes[0];
fs/btrfs/extent-tree.c
890
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/extent-tree.c
900
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/extent-tree.c
91
return btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/extent-tree.c
972
btrfs_print_leaf(path->nodes[0]);
fs/btrfs/extent-tree.c
975
path->slots[0], root_objectid, owner, offset, parent);
fs/btrfs/extent-tree.c
986
if (path->slots[0] + 1 < btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/extent-tree.c
989
btrfs_item_key_to_cpu(path->nodes[0], &tmp_key, path->slots[0] + 1);
fs/btrfs/extent-tree.c
998
if (!path->keep_locks) {
fs/btrfs/extent-tree.c
999
btrfs_release_path(path);
fs/btrfs/extent-tree.h
118
struct btrfs_path *path);
fs/btrfs/fiemap.c
306
static int fiemap_next_leaf_item(struct btrfs_inode *inode, struct btrfs_path *path)
fs/btrfs/fiemap.c
308
struct extent_buffer *clone = path->nodes[0];
fs/btrfs/fiemap.c
313
path->slots[0]++;
fs/btrfs/fiemap.c
314
if (path->slots[0] < btrfs_header_nritems(path->nodes[0]))
fs/btrfs/fiemap.c
325
ret = btrfs_next_leaf(inode->root, path);
fs/btrfs/fiemap.c
333
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/fiemap.c
349
clone->start = path->nodes[0]->start;
fs/btrfs/fiemap.c
351
copy_extent_buffer_full(clone, path->nodes[0]);
fs/btrfs/fiemap.c
353
slot = path->slots[0];
fs/btrfs/fiemap.c
354
btrfs_release_path(path);
fs/btrfs/fiemap.c
355
path->nodes[0] = clone;
fs/btrfs/fiemap.c
356
path->slots[0] = slot;
fs/btrfs/fiemap.c
369
static int fiemap_search_slot(struct btrfs_inode *inode, struct btrfs_path *path,
fs/btrfs/fiemap.c
383
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/fiemap.c
387
if (ret > 0 && path->slots[0] > 0) {
fs/btrfs/fiemap.c
388
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0] - 1);
fs/btrfs/fiemap.c
390
path->slots[0]--;
fs/btrfs/fiemap.c
393
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/fiemap.c
394
ret = btrfs_next_leaf(root, path);
fs/btrfs/fiemap.c
398
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/fiemap.c
419
clone = btrfs_clone_extent_buffer(path->nodes[0]);
fs/btrfs/fiemap.c
423
slot = path->slots[0];
fs/btrfs/fiemap.c
424
btrfs_release_path(path);
fs/btrfs/fiemap.c
425
path->nodes[0] = clone;
fs/btrfs/fiemap.c
426
path->slots[0] = slot;
fs/btrfs/fiemap.c
555
struct btrfs_path *path,
fs/btrfs/fiemap.c
570
ret = btrfs_lookup_file_extent(NULL, root, path, ino, (u64)-1, 0);
fs/btrfs/fiemap.c
582
ASSERT(path->slots[0] > 0);
fs/btrfs/fiemap.c
583
path->slots[0]--;
fs/btrfs/fiemap.c
584
leaf = path->nodes[0];
fs/btrfs/fiemap.c
585
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/fiemap.c
597
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/fiemap.c
599
*last_extent_end_ret = btrfs_file_extent_end(path);
fs/btrfs/fiemap.c
612
ret = btrfs_previous_item(root, path, ino, BTRFS_EXTENT_DATA_KEY);
fs/btrfs/fiemap.c
620
leaf = path->nodes[0];
fs/btrfs/fiemap.c
621
ei = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/fiemap.c
626
*last_extent_end_ret = btrfs_file_extent_end(path);
fs/btrfs/fiemap.c
637
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/fiemap.c
652
path = btrfs_alloc_path();
fs/btrfs/fiemap.c
653
if (!cache.entries || !backref_ctx || !path) {
fs/btrfs/fiemap.c
665
ret = fiemap_find_last_extent_offset(inode, path, &last_extent_end);
fs/btrfs/fiemap.c
668
btrfs_release_path(path);
fs/btrfs/fiemap.c
670
path->reada = READA_FORWARD;
fs/btrfs/fiemap.c
671
ret = fiemap_search_slot(inode, path, range_start);
fs/btrfs/fiemap.c
684
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/fiemap.c
696
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/fiemap.c
700
extent_end = btrfs_file_extent_end(path);
fs/btrfs/fiemap.c
735
ei = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/fiemap.c
801
ret = fiemap_next_leaf_item(inode, path);
fs/btrfs/fiemap.c
846
btrfs_release_path(path);
fs/btrfs/fiemap.c
864
btrfs_free_path(path);
fs/btrfs/fiemap.c
865
path = NULL;
fs/btrfs/file-item.c
1001
path->slots[0] = slot;
fs/btrfs/file-item.c
1007
ret = btrfs_del_items(trans, root, path,
fs/btrfs/file-item.c
1008
path->slots[0], del_nr);
fs/btrfs/file-item.c
1041
path->slots[0]);
fs/btrfs/file-item.c
1051
ret = btrfs_split_item(trans, root, path, &key, offset);
fs/btrfs/file-item.c
1060
truncate_one_csum(trans, path, &key, bytenr, len);
fs/btrfs/file-item.c
1064
btrfs_release_path(path);
fs/btrfs/file-item.c
1070
struct btrfs_path *path,
fs/btrfs/file-item.c
1073
const u32 nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/file-item.c
1075
int slot = path->slots[0] + 1;
fs/btrfs/file-item.c
1079
ret = btrfs_next_leaf(root, path);
fs/btrfs/file-item.c
1086
slot = path->slots[0];
fs/btrfs/file-item.c
1089
btrfs_item_key_to_cpu(path->nodes[0], &found_key, slot);
fs/btrfs/file-item.c
1107
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/file-item.c
1121
path = btrfs_alloc_path();
fs/btrfs/file-item.c
1122
if (!path)
fs/btrfs/file-item.c
1132
item = btrfs_lookup_csum(trans, root, path, bytenr, 1);
fs/btrfs/file-item.c
1135
leaf = path->nodes[0];
fs/btrfs/file-item.c
1136
item_end = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file-item.c
1139
btrfs_item_size(leaf, path->slots[0]));
fs/btrfs/file-item.c
1149
leaf = path->nodes[0];
fs/btrfs/file-item.c
1150
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/file-item.c
1158
ret = find_next_csum_offset(root, path, &next_offset);
fs/btrfs/file-item.c
1176
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/file-item.c
1182
btrfs_release_path(path);
fs/btrfs/file-item.c
1183
path->search_for_extension = true;
fs/btrfs/file-item.c
1184
ret = btrfs_search_slot(trans, root, &file_key, path,
fs/btrfs/file-item.c
1186
path->search_for_extension = false;
fs/btrfs/file-item.c
1191
if (path->slots[0] == 0)
fs/btrfs/file-item.c
1193
path->slots[0]--;
fs/btrfs/file-item.c
1196
leaf = path->nodes[0];
fs/btrfs/file-item.c
1197
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/file-item.c
1207
if (csum_offset == btrfs_item_size(leaf, path->slots[0]) /
fs/btrfs/file-item.c
1240
if (path->slots[0] + 1 >=
fs/btrfs/file-item.c
1241
btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/file-item.c
1242
ret = find_next_csum_offset(root, path, &next_offset);
fs/btrfs/file-item.c
1249
ret = find_next_csum_offset(root, path, &next_offset);
fs/btrfs/file-item.c
1262
diff = diff - btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/file-item.c
1267
btrfs_extend_item(trans, path, diff);
fs/btrfs/file-item.c
1273
btrfs_release_path(path);
fs/btrfs/file-item.c
1289
ret = btrfs_insert_empty_item(trans, root, path, &file_key,
fs/btrfs/file-item.c
1293
leaf = path->nodes[0];
fs/btrfs/file-item.c
1295
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_csum_item);
fs/btrfs/file-item.c
1297
btrfs_item_size(leaf, path->slots[0]));
fs/btrfs/file-item.c
1313
btrfs_release_path(path);
fs/btrfs/file-item.c
1322
const struct btrfs_path *path,
fs/btrfs/file-item.c
1328
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/file-item.c
1329
const int slot = path->slots[0];
fs/btrfs/file-item.c
1344
em->len = btrfs_file_extent_end(path) - extent_start;
fs/btrfs/file-item.c
1389
u64 btrfs_file_extent_end(const struct btrfs_path *path)
fs/btrfs/file-item.c
1391
const struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/file-item.c
1392
const int slot = path->slots[0];
fs/btrfs/file-item.c
166
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/file-item.c
169
path = btrfs_alloc_path();
fs/btrfs/file-item.c
170
if (!path)
fs/btrfs/file-item.c
177
ret = btrfs_insert_empty_item(trans, root, path, &file_key,
fs/btrfs/file-item.c
181
leaf = path->nodes[0];
fs/btrfs/file-item.c
182
item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file-item.c
201
struct btrfs_path *path,
fs/btrfs/file-item.c
217
ret = btrfs_search_slot(trans, root, &file_key, path, 0, cow);
fs/btrfs/file-item.c
220
leaf = path->nodes[0];
fs/btrfs/file-item.c
223
if (path->slots[0] == 0)
fs/btrfs/file-item.c
225
path->slots[0]--;
fs/btrfs/file-item.c
226
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/file-item.c
232
csums_in_item = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/file-item.c
242
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_csum_item);
fs/btrfs/file-item.c
254
struct btrfs_path *path, u64 objectid,
fs/btrfs/file-item.c
265
return btrfs_search_slot(trans, root, &file_key, path, ins_len, cow);
fs/btrfs/file-item.c
278
struct btrfs_path *path, u64 disk_bytenr,
fs/btrfs/file-item.c
295
if (path->nodes[0]) {
fs/btrfs/file-item.c
296
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/file-item.c
298
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/file-item.c
299
itemsize = btrfs_item_size(path->nodes[0], path->slots[0]);
fs/btrfs/file-item.c
309
btrfs_release_path(path);
fs/btrfs/file-item.c
318
item = btrfs_lookup_csum(NULL, csum_root, path, disk_bytenr, 0);
fs/btrfs/file-item.c
323
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/file-item.c
324
itemsize = btrfs_item_size(path->nodes[0], path->slots[0]);
fs/btrfs/file-item.c
333
read_extent_buffer(path->nodes[0], dst, (unsigned long)item,
fs/btrfs/file-item.c
351
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/file-item.c
377
path = btrfs_alloc_path();
fs/btrfs/file-item.c
378
if (!path)
fs/btrfs/file-item.c
394
path->reada = READA_FORWARD;
fs/btrfs/file-item.c
403
path->search_commit_root = true;
fs/btrfs/file-item.c
404
path->skip_locking = true;
fs/btrfs/file-item.c
432
path->search_commit_root = true;
fs/btrfs/file-item.c
433
path->skip_locking = true;
fs/btrfs/file-item.c
443
count = search_csum_tree(fs_info, path, cur_disk_bytenr,
fs/btrfs/file-item.c
506
struct btrfs_path *path;
fs/btrfs/file-item.c
516
path = btrfs_alloc_path();
fs/btrfs/file-item.c
517
if (!path)
fs/btrfs/file-item.c
520
path->nowait = nowait;
fs/btrfs/file-item.c
526
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/file-item.c
529
if (ret > 0 && path->slots[0] > 0) {
fs/btrfs/file-item.c
530
leaf = path->nodes[0];
fs/btrfs/file-item.c
531
btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1);
fs/btrfs/file-item.c
551
btrfs_item_size(leaf, path->slots[0] - 1))
fs/btrfs/file-item.c
552
path->slots[0]--;
fs/btrfs/file-item.c
559
leaf = path->nodes[0];
fs/btrfs/file-item.c
560
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/file-item.c
561
ret = btrfs_next_leaf(root, path);
fs/btrfs/file-item.c
566
leaf = path->nodes[0];
fs/btrfs/file-item.c
569
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/file-item.c
579
btrfs_item_size(leaf, path->slots[0]));
fs/btrfs/file-item.c
581
path->slots[0]++;
fs/btrfs/file-item.c
590
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/file-item.c
610
read_extent_buffer(path->nodes[0],
fs/btrfs/file-item.c
618
path->slots[0]++;
fs/btrfs/file-item.c
621
btrfs_free_path(path);
fs/btrfs/file-item.c
645
int btrfs_lookup_csums_bitmap(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/file-item.c
660
if (!path) {
fs/btrfs/file-item.c
661
path = btrfs_alloc_path();
fs/btrfs/file-item.c
662
if (!path)
fs/btrfs/file-item.c
668
if (path->nodes[0]) {
fs/btrfs/file-item.c
669
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/file-item.c
675
btrfs_release_path(path);
fs/btrfs/file-item.c
682
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/file-item.c
685
if (ret > 0 && path->slots[0] > 0) {
fs/btrfs/file-item.c
686
leaf = path->nodes[0];
fs/btrfs/file-item.c
687
btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1);
fs/btrfs/file-item.c
707
btrfs_item_size(leaf, path->slots[0] - 1))
fs/btrfs/file-item.c
708
path->slots[0]--;
fs/btrfs/file-item.c
716
leaf = path->nodes[0];
fs/btrfs/file-item.c
717
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/file-item.c
718
ret = btrfs_next_leaf(root, path);
fs/btrfs/file-item.c
723
leaf = path->nodes[0];
fs/btrfs/file-item.c
726
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/file-item.c
736
btrfs_item_size(leaf, path->slots[0]));
fs/btrfs/file-item.c
738
path->slots[0]++;
fs/btrfs/file-item.c
743
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/file-item.c
755
read_extent_buffer(path->nodes[0], csum_dest,
fs/btrfs/file-item.c
765
path->slots[0]++;
fs/btrfs/file-item.c
770
btrfs_free_path(path);
fs/btrfs/file-item.c
877
struct btrfs_path *path,
fs/btrfs/file-item.c
888
leaf = path->nodes[0];
fs/btrfs/file-item.c
889
csum_end = btrfs_item_size(leaf, path->slots[0]) / csum_size;
fs/btrfs/file-item.c
902
btrfs_truncate_item(trans, path, new_size, 1);
fs/btrfs/file-item.c
914
btrfs_truncate_item(trans, path, new_size, 0);
fs/btrfs/file-item.c
917
btrfs_set_item_key_safe(trans, path, key);
fs/btrfs/file-item.c
930
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/file-item.c
942
path = btrfs_alloc_path();
fs/btrfs/file-item.c
943
if (!path)
fs/btrfs/file-item.c
951
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/file-item.c
954
if (path->slots[0] == 0)
fs/btrfs/file-item.c
956
path->slots[0]--;
fs/btrfs/file-item.c
961
leaf = path->nodes[0];
fs/btrfs/file-item.c
962
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/file-item.c
972
csum_end = btrfs_item_size(leaf, path->slots[0]) / csum_size;
fs/btrfs/file-item.c
989
if (key.offset > bytenr && path->slots[0] > 0) {
fs/btrfs/file-item.c
990
int slot = path->slots[0] - 1;
fs/btrfs/file-item.h
62
struct btrfs_path *path, u64 objectid,
fs/btrfs/file-item.h
74
int btrfs_lookup_csums_bitmap(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/file-item.h
78
const struct btrfs_path *path,
fs/btrfs/file-item.h
85
u64 btrfs_file_extent_end(const struct btrfs_path *path);
fs/btrfs/file.c
162
struct btrfs_path *path = args->path;
fs/btrfs/file.c
168
ASSERT(!(args->replace_extent && !args->path));
fs/btrfs/file.c
170
if (!path) {
fs/btrfs/file.c
171
path = btrfs_alloc_path();
fs/btrfs/file.c
172
if (!path) {
fs/btrfs/file.c
187
ret = btrfs_lookup_file_extent(trans, root, path, ino,
fs/btrfs/file.c
191
if (ret > 0 && path->slots[0] > 0 && search_start == args->start) {
fs/btrfs/file.c
192
leaf = path->nodes[0];
fs/btrfs/file.c
193
btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1);
fs/btrfs/file.c
196
path->slots[0]--;
fs/btrfs/file.c
200
leaf = path->nodes[0];
fs/btrfs/file.c
201
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/file.c
207
ret = btrfs_next_leaf(root, path);
fs/btrfs/file.c
2088
struct btrfs_path *path, u64 offset, u64 end)
fs/btrfs/file.c
2105
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/file.c
2116
leaf = path->nodes[0];
fs/btrfs/file.c
2117
if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) {
fs/btrfs/file.c
2120
path->slots[0]--;
fs/btrfs/file.c
2121
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
2132
if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) {
fs/btrfs/file.c
2136
btrfs_set_item_key_safe(trans, path, &key);
fs/btrfs/file.c
2137
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
214
leaf = path->nodes[0];
fs/btrfs/file.c
2147
btrfs_release_path(path);
fs/btrfs/file.c
2155
btrfs_release_path(path);
fs/btrfs/file.c
218
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/file.c
225
path->slots[0]++;
fs/btrfs/file.c
2303
struct btrfs_path *path,
fs/btrfs/file.c
231
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
2328
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/file.c
2332
leaf = path->nodes[0];
fs/btrfs/file.c
2333
slot = path->slots[0];
fs/btrfs/file.c
2343
btrfs_release_path(path);
fs/btrfs/file.c
2397
struct btrfs_path *path, const u64 start,
fs/btrfs/file.c
2446
drop_args.path = path;
fs/btrfs/file.c
2476
ret = fill_holes(trans, inode, path, cur_offset,
fs/btrfs/file.c
2514
ret = btrfs_insert_replace_extent(trans, inode, path,
fs/btrfs/file.c
2610
ret = fill_holes(trans, inode, path, cur_offset,
fs/btrfs/file.c
2628
ret = btrfs_insert_replace_extent(trans, inode, path,
fs/btrfs/file.c
265
path->slots[0]++;
fs/btrfs/file.c
2657
struct btrfs_path *path;
fs/btrfs/file.c
273
btrfs_release_path(path);
fs/btrfs/file.c
2765
path = btrfs_alloc_path();
fs/btrfs/file.c
2766
if (!path) {
fs/btrfs/file.c
2771
ret = btrfs_replace_file_extents(BTRFS_I(inode), path, lockstart,
fs/btrfs/file.c
2773
btrfs_free_path(path);
fs/btrfs/file.c
294
ret = btrfs_duplicate_item(trans, root, path,
fs/btrfs/file.c
297
btrfs_release_path(path);
fs/btrfs/file.c
303
leaf = path->nodes[0];
fs/btrfs/file.c
304
fi = btrfs_item_ptr(leaf, path->slots[0] - 1,
fs/btrfs/file.c
309
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
3541
struct btrfs_path *path;
fs/btrfs/file.c
355
btrfs_set_item_key_safe(trans, path, &new_key);
fs/btrfs/file.c
3618
path = btrfs_alloc_path();
fs/btrfs/file.c
3619
if (!path)
fs/btrfs/file.c
3621
path->reada = READA_FORWARD;
fs/btrfs/file.c
3631
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/file.c
3634
} else if (ret > 0 && path->slots[0] > 0) {
fs/btrfs/file.c
3635
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0] - 1);
fs/btrfs/file.c
3637
path->slots[0]--;
fs/btrfs/file.c
3641
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/file.c
3646
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/file.c
3647
ret = btrfs_next_leaf(root, path);
fs/btrfs/file.c
3653
leaf = path->nodes[0];
fs/btrfs/file.c
3656
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/file.c
3660
extent_end = btrfs_file_extent_end(path);
fs/btrfs/file.c
3667
path->slots[0]++;
fs/btrfs/file.c
3698
extent = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
3757
path->slots[0]++;
fs/btrfs/file.c
3776
btrfs_free_path(path);
fs/btrfs/file.c
389
path->slots[0]++;
fs/btrfs/file.c
400
del_slot = path->slots[0];
fs/btrfs/file.c
403
if (WARN_ON(del_slot + del_nr != path->slots[0])) {
fs/btrfs/file.c
439
if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) {
fs/btrfs/file.c
440
path->slots[0]++;
fs/btrfs/file.c
444
ret = btrfs_del_items(trans, root, path, del_slot,
fs/btrfs/file.c
454
btrfs_release_path(path);
fs/btrfs/file.c
468
path->slots[0] = del_slot;
fs/btrfs/file.c
469
ret = btrfs_del_items(trans, root, path, del_slot, del_nr);
fs/btrfs/file.c
474
leaf = path->nodes[0];
fs/btrfs/file.c
481
path->locks[0] == BTRFS_WRITE_LOCK &&
fs/btrfs/file.c
488
if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) {
fs/btrfs/file.c
491
btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]);
fs/btrfs/file.c
493
path->slots[0]++;
fs/btrfs/file.c
495
btrfs_setup_item_for_insert(trans, root, path, &key,
fs/btrfs/file.c
500
if (!args->path)
fs/btrfs/file.c
501
btrfs_free_path(path);
fs/btrfs/file.c
503
btrfs_release_path(path);
fs/btrfs/file.c
554
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/file.c
572
path = btrfs_alloc_path();
fs/btrfs/file.c
573
if (!path)
fs/btrfs/file.c
582
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/file.c
585
if (ret > 0 && path->slots[0] > 0)
fs/btrfs/file.c
586
path->slots[0]--;
fs/btrfs/file.c
588
leaf = path->nodes[0];
fs/btrfs/file.c
589
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/file.c
595
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
617
if (extent_mergeable(leaf, path->slots[0] - 1,
fs/btrfs/file.c
621
btrfs_set_item_key_safe(trans, path, &new_key);
fs/btrfs/file.c
622
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
630
fi = btrfs_item_ptr(leaf, path->slots[0] - 1,
fs/btrfs/file.c
643
if (extent_mergeable(leaf, path->slots[0] + 1,
fs/btrfs/file.c
646
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
652
path->slots[0]++;
fs/btrfs/file.c
654
btrfs_set_item_key_safe(trans, path, &new_key);
fs/btrfs/file.c
656
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
673
ret = btrfs_duplicate_item(trans, root, path, &new_key);
fs/btrfs/file.c
675
btrfs_release_path(path);
fs/btrfs/file.c
683
leaf = path->nodes[0];
fs/btrfs/file.c
684
fi = btrfs_item_ptr(leaf, path->slots[0] - 1,
fs/btrfs/file.c
690
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
719
path->slots[0]--;
fs/btrfs/file.c
735
if (extent_mergeable(leaf, path->slots[0] + 1,
fs/btrfs/file.c
739
btrfs_release_path(path);
fs/btrfs/file.c
743
del_slot = path->slots[0] + 1;
fs/btrfs/file.c
753
if (extent_mergeable(leaf, path->slots[0] - 1,
fs/btrfs/file.c
757
btrfs_release_path(path);
fs/btrfs/file.c
761
del_slot = path->slots[0];
fs/btrfs/file.c
770
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/file.c
784
ret = btrfs_del_items(trans, root, path, del_slot, del_nr);
fs/btrfs/file.h
30
struct btrfs_path *path, const u64 start,
fs/btrfs/free-space-cache.c
100
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/free-space-cache.c
1004
btrfs_free_path(path);
fs/btrfs/free-space-cache.c
1018
path, block_group->start);
fs/btrfs/free-space-cache.c
1019
btrfs_free_path(path);
fs/btrfs/free-space-cache.c
104
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
108
leaf = path->nodes[0];
fs/btrfs/free-space-cache.c
109
header = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/free-space-cache.c
113
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
1149
struct btrfs_path *path, u64 offset,
fs/btrfs/free-space-cache.c
1161
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/free-space-cache.c
1167
leaf = path->nodes[0];
fs/btrfs/free-space-cache.c
1170
ASSERT(path->slots[0]);
fs/btrfs/free-space-cache.c
1171
path->slots[0]--;
fs/btrfs/free-space-cache.c
1172
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/free-space-cache.c
1178
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
1184
header = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/free-space-cache.c
1189
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
120
inode = btrfs_iget_path(location.objectid, root, path);
fs/btrfs/free-space-cache.c
121
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
1293
struct btrfs_path *path, u64 offset)
fs/btrfs/free-space-cache.c
1307
ret = update_cache_item(trans, root, inode, path, offset,
fs/btrfs/free-space-cache.c
134
struct btrfs_path *path)
fs/btrfs/free-space-cache.c
1349
struct btrfs_path *path)
fs/btrfs/free-space-cache.c
1353
path, block_group->start);
fs/btrfs/free-space-cache.c
147
inode = __lookup_free_space_inode(fs_info->tree_root, path,
fs/btrfs/free-space-cache.c
1516
struct btrfs_path *path)
fs/btrfs/free-space-cache.c
1530
inode = lookup_free_space_inode(block_group, path);
fs/btrfs/free-space-cache.c
169
struct btrfs_path *path,
fs/btrfs/free-space-cache.c
182
ret = btrfs_insert_empty_inode(trans, root, path, ino);
fs/btrfs/free-space-cache.c
186
leaf = path->nodes[0];
fs/btrfs/free-space-cache.c
187
inode_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/free-space-cache.c
189
btrfs_item_key(leaf, &disk_key, path->slots[0]);
fs/btrfs/free-space-cache.c
202
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
207
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/free-space-cache.c
210
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
214
leaf = path->nodes[0];
fs/btrfs/free-space-cache.c
215
header = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/free-space-cache.c
219
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
226
struct btrfs_path *path)
fs/btrfs/free-space-cache.c
235
return __create_free_space_inode(trans->fs_info->tree_root, trans, path,
fs/btrfs/free-space-cache.c
248
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-cache.c
252
path = btrfs_alloc_path();
fs/btrfs/free-space-cache.c
253
if (!path)
fs/btrfs/free-space-cache.c
257
inode = lookup_free_space_inode(block_group, path);
fs/btrfs/free-space-cache.c
284
ret = btrfs_search_slot(trans, trans->fs_info->tree_root, &key, path,
fs/btrfs/free-space-cache.c
291
return btrfs_del_item(trans, trans->fs_info->tree_root, path);
fs/btrfs/free-space-cache.c
312
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-cache.c
314
path = btrfs_alloc_path();
fs/btrfs/free-space-cache.c
315
if (!path) {
fs/btrfs/free-space-cache.c
324
btrfs_wait_cache_io(trans, block_group, path);
fs/btrfs/free-space-cache.c
736
struct btrfs_path *path, u64 offset)
fs/btrfs/free-space-cache.c
759
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/free-space-cache.c
763
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
769
leaf = path->nodes[0];
fs/btrfs/free-space-cache.c
770
header = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/free-space-cache.c
775
btrfs_release_path(path);
fs/btrfs/free-space-cache.c
84
struct btrfs_path *path,
fs/btrfs/free-space-cache.c
946
struct btrfs_path *path;
fs/btrfs/free-space-cache.c
969
path = btrfs_alloc_path();
fs/btrfs/free-space-cache.c
970
if (!path)
fs/btrfs/free-space-cache.c
972
path->search_commit_root = true;
fs/btrfs/free-space-cache.c
973
path->skip_locking = true;
fs/btrfs/free-space-cache.c
994
inode = lookup_free_space_inode(block_group, path);
fs/btrfs/free-space-cache.c
996
btrfs_free_path(path);
fs/btrfs/free-space-cache.h
115
struct btrfs_path *path);
fs/btrfs/free-space-cache.h
118
struct btrfs_path *path);
fs/btrfs/free-space-cache.h
129
struct btrfs_path *path);
fs/btrfs/free-space-cache.h
132
struct btrfs_path *path);
fs/btrfs/free-space-tree.c
1000
ret = using_bitmaps(block_group, path);
fs/btrfs/free-space-tree.c
1005
return modify_free_space_bitmap(trans, block_group, path,
fs/btrfs/free-space-tree.c
1008
return add_free_space_extent(trans, block_group, path, start, size);
fs/btrfs/free-space-tree.c
1015
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-tree.c
1021
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
1022
if (unlikely(!path)) {
fs/btrfs/free-space-tree.c
1037
ret = __btrfs_add_to_free_space_tree(trans, block_group, path, start, size);
fs/btrfs/free-space-tree.c
1056
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-tree.c
1062
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
1063
if (!path)
fs/btrfs/free-space-tree.c
1070
path->reada = READA_FORWARD;
fs/btrfs/free-space-tree.c
109
ret = btrfs_search_slot(trans, root, &key, path, 0, cow);
fs/btrfs/free-space-tree.c
1097
ret = btrfs_search_slot_for_read(extent_root, &key, path, 1, 0);
fs/btrfs/free-space-tree.c
1116
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
1142
ret = btrfs_next_item(extent_root, path);
fs/btrfs/free-space-tree.c
119
return btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/free-space-tree.c
1225
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-tree.c
1231
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
1232
if (!path)
fs/btrfs/free-space-tree.c
1240
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
1244
nr = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/free-space-tree.c
1248
path->slots[0] = 0;
fs/btrfs/free-space-tree.c
1249
ret = btrfs_del_items(trans, root, path, 0, nr);
fs/btrfs/free-space-tree.c
1253
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
1387
struct btrfs_path *path)
fs/btrfs/free-space-tree.c
1419
if (!path) {
fs/btrfs/free-space-tree.c
1420
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
1421
if (unlikely(!path)) {
fs/btrfs/free-space-tree.c
1428
ret = add_new_free_space_info(trans, block_group, path);
fs/btrfs/free-space-tree.c
1434
ret = __btrfs_add_to_free_space_tree(trans, block_group, path,
fs/btrfs/free-space-tree.c
1441
btrfs_free_path(path);
fs/btrfs/free-space-tree.c
1464
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-tree.c
1479
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
1480
if (unlikely(!path)) {
fs/btrfs/free-space-tree.c
1494
ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
1500
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
1502
path->slots[0]++;
fs/btrfs/free-space-tree.c
1503
while (path->slots[0] > 0) {
fs/btrfs/free-space-tree.c
1504
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0] - 1);
fs/btrfs/free-space-tree.c
1511
path->slots[0]--;
fs/btrfs/free-space-tree.c
1519
path->slots[0]--;
fs/btrfs/free-space-tree.c
1525
ret = btrfs_del_items(trans, root, path, path->slots[0], nr);
fs/btrfs/free-space-tree.c
1530
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
1537
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
1556
ret = btrfs_next_item(root, path);
fs/btrfs/free-space-tree.c
1562
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
1574
bit_set = btrfs_free_space_test_bit(block_group, path, offset);
fs/btrfs/free-space-tree.c
1617
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
1634
ret = btrfs_next_item(root, path);
fs/btrfs/free-space-tree.c
1640
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
1677
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-tree.c
1682
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
1683
if (!path)
fs/btrfs/free-space-tree.c
1690
path->skip_locking = true;
fs/btrfs/free-space-tree.c
1691
path->search_commit_root = true;
fs/btrfs/free-space-tree.c
1692
path->reada = READA_FORWARD;
fs/btrfs/free-space-tree.c
1694
info = btrfs_search_free_space_info(NULL, block_group, path, 0);
fs/btrfs/free-space-tree.c
1698
extent_count = btrfs_free_space_extent_count(path->nodes[0], info);
fs/btrfs/free-space-tree.c
1699
flags = btrfs_free_space_flags(path->nodes[0], info);
fs/btrfs/free-space-tree.c
1707
return load_free_space_bitmaps(caching_ctl, path, extent_count);
fs/btrfs/free-space-tree.c
1709
return load_free_space_extents(caching_ctl, path, extent_count);
fs/btrfs/free-space-tree.c
1713
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
1727
ret = btrfs_search_slot(trans, fst_root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
1732
for (i = 0; i < btrfs_header_nritems(path->nodes[0]); i++) {
fs/btrfs/free-space-tree.c
1733
btrfs_item_key_to_cpu(path->nodes[0], &key, i);
fs/btrfs/free-space-tree.c
1746
ret = btrfs_del_items(trans, fst_root, path, 0, i);
fs/btrfs/free-space-tree.c
1749
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
1751
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
1761
BTRFS_PATH_AUTO_RELEASE(path);
fs/btrfs/free-space-tree.c
1798
ret = btrfs_search_slot(NULL, root, &key, &path, 0, 0);
fs/btrfs/free-space-tree.c
1805
if (path.slots[0] >= btrfs_header_nritems(path.nodes[0]))
fs/btrfs/free-space-tree.c
1808
btrfs_item_key_to_cpu(path.nodes[0], &key, path.slots[0]);
fs/btrfs/free-space-tree.c
1811
btrfs_release_path(&path);
fs/btrfs/free-space-tree.c
1812
return delete_orphan_free_space_entries(root, &path, first_bg_bytenr);
fs/btrfs/free-space-tree.c
199
struct btrfs_path *path)
fs/btrfs/free-space-tree.c
22
struct btrfs_path *path);
fs/btrfs/free-space-tree.c
228
ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
234
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
236
path->slots[0]++;
fs/btrfs/free-space-tree.c
237
while (path->slots[0] > 0) {
fs/btrfs/free-space-tree.c
238
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0] - 1);
fs/btrfs/free-space-tree.c
260
path->slots[0]--;
fs/btrfs/free-space-tree.c
266
ret = btrfs_del_items(trans, root, path, path->slots[0], nr);
fs/btrfs/free-space-tree.c
271
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
274
info = btrfs_search_free_space_info(trans, block_group, path, 1);
fs/btrfs/free-space-tree.c
280
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
287
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
314
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/free-space-tree.c
321
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
322
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/free-space-tree.c
325
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
340
struct btrfs_path *path)
fs/btrfs/free-space-tree.c
368
ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
374
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
376
path->slots[0]++;
fs/btrfs/free-space-tree.c
377
while (path->slots[0] > 0) {
fs/btrfs/free-space-tree.c
378
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0] - 1);
fs/btrfs/free-space-tree.c
401
path->slots[0]--;
fs/btrfs/free-space-tree.c
402
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/free-space-tree.c
412
ret = btrfs_del_items(trans, root, path, path->slots[0], nr);
fs/btrfs/free-space-tree.c
417
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
420
info = btrfs_search_free_space_info(trans, block_group, path, 1);
fs/btrfs/free-space-tree.c
426
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
433
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
446
ret = btrfs_insert_empty_item(trans, root, path, &key, 0);
fs/btrfs/free-space-tree.c
451
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
476
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
487
info = btrfs_search_free_space_info(trans, block_group, path, 1);
fs/btrfs/free-space-tree.c
491
flags = btrfs_free_space_flags(path->nodes[0], info);
fs/btrfs/free-space-tree.c
492
extent_count = btrfs_free_space_extent_count(path->nodes[0], info);
fs/btrfs/free-space-tree.c
495
btrfs_set_free_space_extent_count(path->nodes[0], info, extent_count);
fs/btrfs/free-space-tree.c
496
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
500
ret = btrfs_convert_free_space_to_bitmaps(trans, block_group, path);
fs/btrfs/free-space-tree.c
503
ret = btrfs_convert_free_space_to_extents(trans, block_group, path);
fs/btrfs/free-space-tree.c
511
struct btrfs_path *path, u64 offset)
fs/btrfs/free-space-tree.c
518
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
519
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/free-space-tree.c
526
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/free-space-tree.c
534
struct btrfs_path *path, u64 *start, u64 *size,
fs/btrfs/free-space-tree.c
544
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
545
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/free-space-tree.c
556
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/free-space-tree.c
602
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
625
ret = btrfs_search_prev_slot(trans, root, &key, path, 0, 1);
fs/btrfs/free-space-tree.c
629
prev_bit_set = btrfs_free_space_test_bit(block_group, path, prev_block);
fs/btrfs/free-space-tree.c
632
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
634
ret = free_space_next_bitmap(trans, root, path);
fs/btrfs/free-space-tree.c
643
ret = btrfs_search_prev_slot(trans, root, &key, path, 0, 1);
fs/btrfs/free-space-tree.c
655
free_space_modify_bits(trans, block_group, path, &cur_start,
fs/btrfs/free-space-tree.c
659
ret = free_space_next_bitmap(trans, root, path);
fs/btrfs/free-space-tree.c
670
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
672
ret = free_space_next_bitmap(trans, root, path);
fs/btrfs/free-space-tree.c
677
next_bit_set = btrfs_free_space_test_bit(block_group, path, end);
fs/btrfs/free-space-tree.c
70
struct btrfs_path *path)
fs/btrfs/free-space-tree.c
702
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
703
return update_free_space_extent_count(trans, block_group, path, new_extents);
fs/btrfs/free-space-tree.c
708
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
722
ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
726
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
754
ret = btrfs_del_item(trans, root, path);
fs/btrfs/free-space-tree.c
764
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
765
ret = btrfs_insert_empty_item(trans, root, path, &key, 0);
fs/btrfs/free-space-tree.c
777
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
778
ret = btrfs_insert_empty_item(trans, root, path, &key, 0);
fs/btrfs/free-space-tree.c
784
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
785
return update_free_space_extent_count(trans, block_group, path, new_extents);
fs/btrfs/free-space-tree.c
788
static int using_bitmaps(struct btrfs_block_group *bg, struct btrfs_path *path)
fs/btrfs/free-space-tree.c
796
info = btrfs_search_free_space_info(NULL, bg, path, 0);
fs/btrfs/free-space-tree.c
799
flags = btrfs_free_space_flags(path->nodes[0], info);
fs/btrfs/free-space-tree.c
800
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
811
struct btrfs_path *path, u64 start, u64 size)
fs/btrfs/free-space-tree.c
815
ret = __add_block_group_free_space(trans, block_group, path);
fs/btrfs/free-space-tree.c
819
ret = using_bitmaps(block_group, path);
fs/btrfs/free-space-tree.c
82
ret = btrfs_insert_empty_item(trans, root, path, &key, sizeof(*info));
fs/btrfs/free-space-tree.c
824
return modify_free_space_bitmap(trans, block_group, path,
fs/btrfs/free-space-tree.c
827
return remove_free_space_extent(trans, block_group, path, start, size);
fs/btrfs/free-space-tree.c
834
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/free-space-tree.c
840
path = btrfs_alloc_path();
fs/btrfs/free-space-tree.c
841
if (unlikely(!path)) {
fs/btrfs/free-space-tree.c
856
ret = __btrfs_remove_from_free_space_tree(trans, block_group, path, start, size);
fs/btrfs/free-space-tree.c
86
leaf = path->nodes[0];
fs/btrfs/free-space-tree.c
868
struct btrfs_path *path,
fs/btrfs/free-space-tree.c
87
info = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/free-space-tree.c
907
ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
91
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
911
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
915
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
930
ret = btrfs_del_item(trans, root, path);
fs/btrfs/free-space-tree.c
937
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
947
ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1);
fs/btrfs/free-space-tree.c
951
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/free-space-tree.c
955
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
971
ret = btrfs_del_item(trans, root, path);
fs/btrfs/free-space-tree.c
977
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
98
struct btrfs_path *path, int cow)
fs/btrfs/free-space-tree.c
981
ret = btrfs_insert_empty_item(trans, root, path, &new_key, 0);
fs/btrfs/free-space-tree.c
985
btrfs_release_path(path);
fs/btrfs/free-space-tree.c
986
return update_free_space_extent_count(trans, block_group, path, new_extents);
fs/btrfs/free-space-tree.c
992
struct btrfs_path *path, u64 start, u64 size)
fs/btrfs/free-space-tree.c
996
ret = __add_block_group_free_space(trans, block_group, path);
fs/btrfs/free-space-tree.h
42
struct btrfs_path *path, int cow);
fs/btrfs/free-space-tree.h
48
struct btrfs_path *path, u64 start, u64 size);
fs/btrfs/free-space-tree.h
51
struct btrfs_path *path, u64 start, u64 size);
fs/btrfs/free-space-tree.h
54
struct btrfs_path *path);
fs/btrfs/free-space-tree.h
57
struct btrfs_path *path);
fs/btrfs/free-space-tree.h
59
struct btrfs_path *path, u64 offset);
fs/btrfs/inode-item.c
109
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode-item.c
123
path = btrfs_alloc_path();
fs/btrfs/inode-item.c
124
if (!path)
fs/btrfs/inode-item.c
127
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/inode-item.c
138
extref = btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0],
fs/btrfs/inode-item.c
145
leaf = path->nodes[0];
fs/btrfs/inode-item.c
146
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/inode-item.c
152
return btrfs_del_item(trans, root, path);
fs/btrfs/inode-item.c
156
item_start = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/inode-item.c
161
btrfs_truncate_item(trans, path, item_size - del_len, 1);
fs/btrfs/inode-item.c
170
struct btrfs_path *path;
fs/btrfs/inode-item.c
186
path = btrfs_alloc_path();
fs/btrfs/inode-item.c
187
if (!path)
fs/btrfs/inode-item.c
190
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/inode-item.c
199
ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0], name);
fs/btrfs/inode-item.c
205
leaf = path->nodes[0];
fs/btrfs/inode-item.c
206
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/inode-item.c
212
ret = btrfs_del_item(trans, root, path);
fs/btrfs/inode-item.c
217
item_start = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/inode-item.c
220
btrfs_truncate_item(trans, path, item_size - sub_item_len, 1);
fs/btrfs/inode-item.c
222
btrfs_free_path(path);
fs/btrfs/inode-item.c
252
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode-item.c
260
path = btrfs_alloc_path();
fs/btrfs/inode-item.c
261
if (!path)
fs/btrfs/inode-item.c
264
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/inode-item.c
267
if (btrfs_find_name_in_ext_backref(path->nodes[0],
fs/btrfs/inode-item.c
268
path->slots[0],
fs/btrfs/inode-item.c
273
btrfs_extend_item(trans, path, ins_len);
fs/btrfs/inode-item.c
279
leaf = path->nodes[0];
fs/btrfs/inode-item.c
280
ptr = (unsigned long)btrfs_item_ptr(leaf, path->slots[0], char);
fs/btrfs/inode-item.c
281
ptr += btrfs_item_size(leaf, path->slots[0]) - ins_len;
fs/btrfs/inode-item.c
284
btrfs_set_inode_extref_name_len(path->nodes[0], extref, name->len);
fs/btrfs/inode-item.c
285
btrfs_set_inode_extref_index(path->nodes[0], extref, index);
fs/btrfs/inode-item.c
286
btrfs_set_inode_extref_parent(path->nodes[0], extref, ref_objectid);
fs/btrfs/inode-item.c
289
write_extent_buffer(path->nodes[0], name->name, ptr, name->len);
fs/btrfs/inode-item.c
300
struct btrfs_path *path;
fs/btrfs/inode-item.c
311
path = btrfs_alloc_path();
fs/btrfs/inode-item.c
312
if (!path)
fs/btrfs/inode-item.c
315
path->skip_release_on_error = true;
fs/btrfs/inode-item.c
316
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/inode-item.c
320
ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0],
fs/btrfs/inode-item.c
325
old_size = btrfs_item_size(path->nodes[0], path->slots[0]);
fs/btrfs/inode-item.c
326
btrfs_extend_item(trans, path, ins_len);
fs/btrfs/inode-item.c
327
ref = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/inode-item.c
330
btrfs_set_inode_ref_name_len(path->nodes[0], ref, name->len);
fs/btrfs/inode-item.c
331
btrfs_set_inode_ref_index(path->nodes[0], ref, index);
fs/btrfs/inode-item.c
336
if (btrfs_find_name_in_backref(path->nodes[0],
fs/btrfs/inode-item.c
337
path->slots[0],
fs/btrfs/inode-item.c
345
ref = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/inode-item.c
347
btrfs_set_inode_ref_name_len(path->nodes[0], ref, name->len);
fs/btrfs/inode-item.c
348
btrfs_set_inode_ref_index(path->nodes[0], ref, index);
fs/btrfs/inode-item.c
351
write_extent_buffer(path->nodes[0], name->name, ptr, name->len);
fs/btrfs/inode-item.c
353
btrfs_free_path(path);
fs/btrfs/inode-item.c
371
struct btrfs_path *path, u64 objectid)
fs/btrfs/inode-item.c
379
return btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/inode-item.c
384
*root, struct btrfs_path *path,
fs/btrfs/inode-item.c
394
ret = btrfs_search_slot(trans, root, location, path, ins_len, cow);
fs/btrfs/inode-item.c
396
location->offset == (u64)-1 && path->slots[0] != 0) {
fs/btrfs/inode-item.c
397
slot = path->slots[0] - 1;
fs/btrfs/inode-item.c
398
leaf = path->nodes[0];
fs/btrfs/inode-item.c
402
path->slots[0]--;
fs/btrfs/inode-item.c
446
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode-item.c
477
path = btrfs_alloc_path();
fs/btrfs/inode-item.c
478
if (!path)
fs/btrfs/inode-item.c
480
path->reada = READA_BACK;
fs/btrfs/inode-item.c
498
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/inode-item.c
505
if (path->slots[0] == 0)
fs/btrfs/inode-item.c
507
path->slots[0]--;
fs/btrfs/inode-item.c
515
leaf = path->nodes[0];
fs/btrfs/inode-item.c
516
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/inode-item.c
527
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode-item.c
538
path->slots[0]);
fs/btrfs/inode-item.c
601
btrfs_truncate_item(trans, path, size, 1);
fs/btrfs/inode-item.c
637
((path->slots[0] + 1) == pending_del_slot));
fs/btrfs/inode-item.c
642
pending_del_slot = path->slots[0];
fs/btrfs/inode-item.c
644
} else if (path->slots[0] + 1 == pending_del_slot) {
fs/btrfs/inode-item.c
647
pending_del_slot = path->slots[0];
fs/btrfs/inode-item.c
679
if (path->slots[0] == 0 ||
fs/btrfs/inode-item.c
680
path->slots[0] != pending_del_slot ||
fs/btrfs/inode-item.c
683
ret = btrfs_del_items(trans, root, path,
fs/btrfs/inode-item.c
692
btrfs_release_path(path);
fs/btrfs/inode-item.c
714
path->slots[0]--;
fs/btrfs/inode-item.c
721
ret2 = btrfs_del_items(trans, root, path, pending_del_slot, pending_del_nr);
fs/btrfs/inode-item.c
82
struct btrfs_path *path,
fs/btrfs/inode-item.c
93
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/inode-item.c
98
return btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0],
fs/btrfs/inode-item.h
101
struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/inode-item.h
105
struct btrfs_path *path,
fs/btrfs/inode-item.h
99
struct btrfs_path *path, u64 objectid);
fs/btrfs/inode.c
10276
struct btrfs_path *path = NULL;
fs/btrfs/inode.c
10318
path = btrfs_alloc_path();
fs/btrfs/inode.c
10320
if (!path || !backref_ctx) {
fs/btrfs/inode.c
10398
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/inode.c
10412
leaf = path->nodes[0];
fs/btrfs/inode.c
10413
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/inode.c
10443
prev_extent_end = btrfs_file_extent_end(path);
fs/btrfs/inode.c
10459
btrfs_release_path(path);
fs/btrfs/inode.c
10572
btrfs_free_path(path);
fs/btrfs/inode.c
152
ret = btrfs_search_slot(NULL, local_root, &key, &warn->path, 0, 0);
fs/btrfs/inode.c
155
btrfs_release_path(&warn->path);
fs/btrfs/inode.c
159
eb = warn->path.nodes[0];
fs/btrfs/inode.c
160
inode_item = btrfs_item_ptr(eb, warn->path.slots[0], struct btrfs_inode_item);
fs/btrfs/inode.c
162
btrfs_release_path(&warn->path);
fs/btrfs/inode.c
165
ipath = init_ipath(4096, local_root, &warn->path);
fs/btrfs/inode.c
1922
static int can_nocow_file_extent(struct btrfs_path *path,
fs/btrfs/inode.c
1928
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/inode.c
1937
bool nowait = path->nowait;
fs/btrfs/inode.c
1939
fi = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/inode.c
1968
extent_end = btrfs_file_extent_end(path);
fs/btrfs/inode.c
1981
btrfs_release_path(path);
fs/btrfs/inode.c
1984
args->file_extent.disk_bytenr, path);
fs/btrfs/inode.c
1996
btrfs_free_path(path);
fs/btrfs/inode.c
1997
path = NULL;
fs/btrfs/inode.c
2031
if (args->free_path && path)
fs/btrfs/inode.c
2032
btrfs_free_path(path);
fs/btrfs/inode.c
2116
struct btrfs_path *path = NULL;
fs/btrfs/inode.c
2150
path = btrfs_alloc_path();
fs/btrfs/inode.c
2151
if (!path) {
fs/btrfs/inode.c
2168
ret = btrfs_lookup_file_extent(NULL, root, path, ino,
fs/btrfs/inode.c
2178
if (ret > 0 && path->slots[0] > 0 && check_prev) {
fs/btrfs/inode.c
2179
leaf = path->nodes[0];
fs/btrfs/inode.c
2181
path->slots[0] - 1);
fs/btrfs/inode.c
2184
path->slots[0]--;
fs/btrfs/inode.c
2189
leaf = path->nodes[0];
fs/btrfs/inode.c
2190
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/inode.c
2191
ret = btrfs_next_leaf(root, path);
fs/btrfs/inode.c
2196
leaf = path->nodes[0];
fs/btrfs/inode.c
2199
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/inode.c
220
BTRFS_PATH_AUTO_RELEASE(path);
fs/btrfs/inode.c
2210
path->slots[0]++;
fs/btrfs/inode.c
2234
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode.c
2243
extent_end = btrfs_file_extent_end(path);
fs/btrfs/inode.c
2250
path->slots[0]++;
fs/btrfs/inode.c
2255
ret = can_nocow_file_extent(path, &found_key, inode, &nocow_args);
fs/btrfs/inode.c
2279
if (!path->nodes[0])
fs/btrfs/inode.c
2281
path->slots[0]++;
fs/btrfs/inode.c
2311
btrfs_release_path(path);
fs/btrfs/inode.c
2333
btrfs_free_path(path);
fs/btrfs/inode.c
2418
btrfs_free_path(path);
fs/btrfs/inode.c
254
ret = extent_from_logical(fs_info, logical, &path, &found_key, &flags);
fs/btrfs/inode.c
260
eb = path.nodes[0];
fs/btrfs/inode.c
261
ei = btrfs_item_ptr(eb, path.slots[0], struct btrfs_extent_item);
fs/btrfs/inode.c
262
item_size = btrfs_item_size(eb, path.slots[0]);
fs/btrfs/inode.c
295
btrfs_release_path(&path);
fs/btrfs/inode.c
3052
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
3063
path = btrfs_alloc_path();
fs/btrfs/inode.c
3064
if (!path)
fs/btrfs/inode.c
3076
drop_args.path = path;
fs/btrfs/inode.c
3090
ret = btrfs_insert_empty_item(trans, root, path, &ins,
fs/btrfs/inode.c
3095
leaf = path->nodes[0];
fs/btrfs/inode.c
3098
btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/inode.c
3101
btrfs_release_path(path);
fs/btrfs/inode.c
3715
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
3725
path = btrfs_alloc_path();
fs/btrfs/inode.c
3726
if (!path) {
fs/btrfs/inode.c
3730
path->reada = READA_BACK;
fs/btrfs/inode.c
3739
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/inode.c
3750
if (path->slots[0] == 0)
fs/btrfs/inode.c
3752
path->slots[0]--;
fs/btrfs/inode.c
3756
leaf = path->nodes[0];
fs/btrfs/inode.c
3757
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/inode.c
3766
btrfs_release_path(path);
fs/btrfs/inode.c
3891
btrfs_release_path(path);
fs/btrfs/inode.c
4047
static int btrfs_read_locked_inode(struct btrfs_inode *inode, struct btrfs_path *path)
fs/btrfs/inode.c
4066
ASSERT(path);
fs/btrfs/inode.c
4070
ret = btrfs_lookup_inode(NULL, root, path, &location, 0);
fs/btrfs/inode.c
4081
leaf = path->nodes[0];
fs/btrfs/inode.c
4086
inode_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode.c
4173
path->slots[0]++;
fs/btrfs/inode.c
4175
path->slots[0] >= btrfs_header_nritems(leaf))
fs/btrfs/inode.c
4178
btrfs_item_key_to_cpu(leaf, &location, path->slots[0]);
fs/btrfs/inode.c
4182
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/inode.c
4199
maybe_acls = acls_after_inode_item(leaf, path->slots[0],
fs/btrfs/inode.c
4202
path->slots[0] = first_xattr_slot;
fs/btrfs/inode.c
4203
ret = btrfs_load_inode_props(inode, path);
fs/btrfs/inode.c
4216
btrfs_release_path(path);
fs/btrfs/inode.c
4264
btrfs_release_path(path);
fs/btrfs/inode.c
4315
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
4320
path = btrfs_alloc_path();
fs/btrfs/inode.c
4321
if (!path)
fs/btrfs/inode.c
4325
ret = btrfs_lookup_inode(trans, inode->root, path, &key, 1);
fs/btrfs/inode.c
4332
leaf = path->nodes[0];
fs/btrfs/inode.c
4333
inode_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode.c
4413
struct btrfs_path *path;
fs/btrfs/inode.c
4420
path = btrfs_alloc_path();
fs/btrfs/inode.c
4421
if (!path)
fs/btrfs/inode.c
4424
di = btrfs_lookup_dir_item(trans, root, path, dir_ino, name, -1);
fs/btrfs/inode.c
4426
btrfs_free_path(path);
fs/btrfs/inode.c
4429
ret = btrfs_delete_one_dir_name(trans, root, path, di);
fs/btrfs/inode.c
4434
btrfs_free_path(path);
fs/btrfs/inode.c
4581
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
460
struct btrfs_path *path,
fs/btrfs/inode.c
4607
path = btrfs_alloc_path();
fs/btrfs/inode.c
4608
if (!path) {
fs/btrfs/inode.c
4613
di = btrfs_lookup_dir_item(trans, root, path, dir_ino,
fs/btrfs/inode.c
4620
leaf = path->nodes[0];
fs/btrfs/inode.c
4623
ret = btrfs_delete_one_dir_name(trans, root, path, di);
fs/btrfs/inode.c
4628
btrfs_release_path(path);
fs/btrfs/inode.c
4640
di = btrfs_search_dir_index_item(root, path, dir_ino, &fname.disk_name);
fs/btrfs/inode.c
4647
leaf = path->nodes[0];
fs/btrfs/inode.c
4648
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/inode.c
4650
btrfs_release_path(path);
fs/btrfs/inode.c
4685
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
4692
path = btrfs_alloc_path();
fs/btrfs/inode.c
4693
if (!path)
fs/btrfs/inode.c
4698
di = btrfs_lookup_dir_item(NULL, fs_info->tree_root, path,
fs/btrfs/inode.c
4701
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &key);
fs/btrfs/inode.c
4709
btrfs_release_path(path);
fs/btrfs/inode.c
4716
ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0);
fs/btrfs/inode.c
4728
if (path->slots[0] > 0) {
fs/btrfs/inode.c
4729
path->slots[0]--;
fs/btrfs/inode.c
4730
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/inode.c
507
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/inode.c
512
leaf = path->nodes[0];
fs/btrfs/inode.c
513
ei = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode.c
540
btrfs_release_path(path);
fs/btrfs/inode.c
5763
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
5768
path = btrfs_alloc_path();
fs/btrfs/inode.c
5769
if (!path)
fs/btrfs/inode.c
5783
di = btrfs_lookup_dir_item(NULL, root, path, btrfs_ino(dir),
fs/btrfs/inode.c
5790
btrfs_dir_item_key_to_cpu(path->nodes[0], di, location);
fs/btrfs/inode.c
5800
*type = btrfs_dir_ftype(path->nodes[0], di);
fs/btrfs/inode.c
5817
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
5830
path = btrfs_alloc_path();
fs/btrfs/inode.c
5831
if (!path) {
fs/btrfs/inode.c
5841
ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0);
fs/btrfs/inode.c
5848
leaf = path->nodes[0];
fs/btrfs/inode.c
5849
ref = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_root_ref);
fs/btrfs/inode.c
5859
btrfs_release_path(path);
fs/btrfs/inode.c
5955
struct btrfs_path *path)
fs/btrfs/inode.c
5967
ret = btrfs_read_locked_inode(inode, path);
fs/btrfs/inode.c
5981
struct btrfs_path *path;
fs/btrfs/inode.c
5991
path = btrfs_alloc_path();
fs/btrfs/inode.c
5992
if (!path) {
fs/btrfs/inode.c
5997
ret = btrfs_read_locked_inode(inode, path);
fs/btrfs/inode.c
5998
btrfs_free_path(path);
fs/btrfs/inode.c
6163
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
6171
path = btrfs_alloc_path();
fs/btrfs/inode.c
6172
if (!path)
fs/btrfs/inode.c
6175
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/inode.c
6191
if (path->slots[0] == 0) {
fs/btrfs/inode.c
6196
path->slots[0]--;
fs/btrfs/inode.c
6198
leaf = path->nodes[0];
fs/btrfs/inode.c
6199
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/inode.c
6312
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
6327
path = btrfs_alloc_path();
fs/btrfs/inode.c
6328
if (!path)
fs/btrfs/inode.c
6332
path->reada = READA_FORWARD;
fs/btrfs/inode.c
6342
btrfs_for_each_slot(root, &key, &found_key, path, ret) {
fs/btrfs/inode.c
6344
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/inode.c
6357
di = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dir_item);
fs/btrfs/inode.c
6361
btrfs_release_path(path);
fs/btrfs/inode.c
638
struct btrfs_path *path;
fs/btrfs/inode.c
6389
btrfs_release_path(path);
fs/btrfs/inode.c
640
path = btrfs_alloc_path();
fs/btrfs/inode.c
641
if (!path) {
fs/btrfs/inode.c
654
drop_args.path = path;
fs/btrfs/inode.c
6619
struct btrfs_path *path;
fs/btrfs/inode.c
6648
path = btrfs_alloc_path();
fs/btrfs/inode.c
6649
if (!path)
fs/btrfs/inode.c
666
ret = insert_inline_extent(trans, path, inode, drop_args.extent_inserted,
fs/btrfs/inode.c
6758
ret = btrfs_insert_empty_items(trans, root, path, &batch);
fs/btrfs/inode.c
6773
inode_item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/inode.c
6775
memzero_extent_buffer(path->nodes[0], (unsigned long)inode_item,
fs/btrfs/inode.c
6777
fill_inode_item(trans, path->nodes[0], inode_item, inode);
fs/btrfs/inode.c
6780
ref = btrfs_item_ptr(path->nodes[0], path->slots[0] + 1,
fs/btrfs/inode.c
6784
btrfs_set_inode_ref_name_len(path->nodes[0], ref, 2);
fs/btrfs/inode.c
6785
btrfs_set_inode_ref_index(path->nodes[0], ref, 0);
fs/btrfs/inode.c
6786
write_extent_buffer(path->nodes[0], "..", ptr, 2);
fs/btrfs/inode.c
6788
btrfs_set_inode_ref_name_len(path->nodes[0], ref,
fs/btrfs/inode.c
6790
btrfs_set_inode_ref_index(path->nodes[0], ref,
fs/btrfs/inode.c
6792
write_extent_buffer(path->nodes[0], name->name, ptr,
fs/btrfs/inode.c
6802
btrfs_free_path(path);
fs/btrfs/inode.c
6803
path = NULL;
fs/btrfs/inode.c
6882
btrfs_free_path(path);
fs/btrfs/inode.c
700
btrfs_free_path(path);
fs/btrfs/inode.c
7129
static noinline int uncompress_inline(struct btrfs_path *path,
fs/btrfs/inode.c
7134
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/inode.c
7144
inline_size = btrfs_file_extent_inline_item_len(leaf, path->slots[0]);
fs/btrfs/inode.c
7170
static int read_inline_extent(struct btrfs_path *path, struct folio *folio)
fs/btrfs/inode.c
7172
const u32 blocksize = path->nodes[0]->fs_info->sectorsize;
fs/btrfs/inode.c
7182
fi = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/inode.c
7184
if (btrfs_file_extent_compression(path->nodes[0], fi) != BTRFS_COMPRESS_NONE)
fs/btrfs/inode.c
7185
return uncompress_inline(path, folio, fi);
fs/btrfs/inode.c
7188
btrfs_file_extent_ram_bytes(path->nodes[0], fi));
fs/btrfs/inode.c
7190
read_extent_buffer(path->nodes[0], kaddr,
fs/btrfs/inode.c
7224
struct btrfs_path *path = NULL;
fs/btrfs/inode.c
7253
path = btrfs_alloc_path();
fs/btrfs/inode.c
7254
if (!path) {
fs/btrfs/inode.c
7260
path->reada = READA_FORWARD;
fs/btrfs/inode.c
7268
path->search_commit_root = true;
fs/btrfs/inode.c
7269
path->skip_locking = true;
fs/btrfs/inode.c
7272
ret = btrfs_lookup_file_extent(NULL, root, path, objectid, start, 0);
fs/btrfs/inode.c
7276
if (path->slots[0] == 0)
fs/btrfs/inode.c
7278
path->slots[0]--;
fs/btrfs/inode.c
7282
leaf = path->nodes[0];
fs/btrfs/inode.c
7283
item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode.c
7285
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/inode.c
7300
extent_end = btrfs_file_extent_end(path);
fs/btrfs/inode.c
7315
path->slots[0],
fs/btrfs/inode.c
7320
path->slots[0]++;
fs/btrfs/inode.c
7321
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/inode.c
7322
ret = btrfs_next_leaf(root, path);
fs/btrfs/inode.c
7328
leaf = path->nodes[0];
fs/btrfs/inode.c
7330
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/inode.c
7346
btrfs_extent_item_to_extent_map(inode, path, item, em);
fs/btrfs/inode.c
7369
ret = read_inline_extent(path, folio);
fs/btrfs/inode.c
7380
btrfs_release_path(path);
fs/btrfs/inode.c
7393
btrfs_free_path(path);
fs/btrfs/inode.c
7442
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
7450
path = btrfs_alloc_path();
fs/btrfs/inode.c
7451
if (!path)
fs/btrfs/inode.c
7453
path->nowait = nowait;
fs/btrfs/inode.c
7455
ret = btrfs_lookup_file_extent(NULL, root, path, btrfs_ino(inode),
fs/btrfs/inode.c
7461
if (path->slots[0] == 0) {
fs/btrfs/inode.c
7465
path->slots[0]--;
fs/btrfs/inode.c
7468
leaf = path->nodes[0];
fs/btrfs/inode.c
7469
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/inode.c
7481
if (btrfs_file_extent_end(path) <= offset)
fs/btrfs/inode.c
7484
fi = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/inode.c
7491
ret = can_nocow_file_extent(path, &key, inode, &nocow_args);
fs/btrfs/inode.c
7493
path = NULL;
fs/btrfs/inode.c
8232
const struct path *path, struct kstat *stat,
fs/btrfs/inode.c
8237
struct inode *inode = d_inode(path->dentry);
fs/btrfs/inode.c
9035
struct btrfs_path *path;
fs/btrfs/inode.c
9086
path = btrfs_alloc_path();
fs/btrfs/inode.c
9087
if (unlikely(!path)) {
fs/btrfs/inode.c
9098
ret = btrfs_insert_empty_item(trans, root, path, &key, datasize);
fs/btrfs/inode.c
9101
btrfs_free_path(path);
fs/btrfs/inode.c
9106
leaf = path->nodes[0];
fs/btrfs/inode.c
9107
ei = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/inode.c
9119
btrfs_free_path(path);
fs/btrfs/inode.c
9143
struct btrfs_path *path;
fs/btrfs/inode.c
9183
path = btrfs_alloc_path();
fs/btrfs/inode.c
9184
if (!path) {
fs/btrfs/inode.c
9189
ret = btrfs_replace_file_extents(inode, path, file_offset,
fs/btrfs/inode.c
9192
btrfs_free_path(path);
fs/btrfs/inode.c
94
struct btrfs_path path;
fs/btrfs/inode.c
9467
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/inode.c
9476
path = btrfs_alloc_path();
fs/btrfs/inode.c
9477
if (!path)
fs/btrfs/inode.c
9480
path->nowait = nowait;
fs/btrfs/inode.c
9482
ret = btrfs_lookup_file_extent(NULL, root, path, btrfs_ino(inode),
fs/btrfs/inode.c
9491
leaf = path->nodes[0];
fs/btrfs/inode.c
9492
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/inode.c
9508
path->slots[0]);
fs/btrfs/inode.c
9527
btrfs_release_path(path);
fs/btrfs/ioctl.c
1394
static noinline int copy_to_sk(struct btrfs_path *path,
fs/btrfs/ioctl.c
1413
leaf = path->nodes[0];
fs/btrfs/ioctl.c
1414
slot = path->slots[0];
fs/btrfs/ioctl.c
1526
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/ioctl.c
1536
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
1537
if (!path)
fs/btrfs/ioctl.c
1564
ret = btrfs_search_forward(root, &key, path, sk->min_transid);
fs/btrfs/ioctl.c
1568
ret = copy_to_sk(path, &key, sk, buf_size, ubuf,
fs/btrfs/ioctl.c
1570
btrfs_release_path(path);
fs/btrfs/ioctl.c
1663
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/ioctl.c
1670
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
1671
if (!path)
fs/btrfs/ioctl.c
1688
ret = btrfs_search_backwards(root, &key, path);
fs/btrfs/ioctl.c
1696
l = path->nodes[0];
fs/btrfs/ioctl.c
1697
slot = path->slots[0];
fs/btrfs/ioctl.c
1714
btrfs_release_path(path);
fs/btrfs/ioctl.c
1740
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/ioctl.c
1749
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
1750
if (!path)
fs/btrfs/ioctl.c
1758
ptr = &args->path[BTRFS_INO_LOOKUP_USER_PATH_MAX - 1];
fs/btrfs/ioctl.c
1770
ret = btrfs_search_backwards(root, &key, path);
fs/btrfs/ioctl.c
1778
leaf = path->nodes[0];
fs/btrfs/ioctl.c
1779
slot = path->slots[0];
fs/btrfs/ioctl.c
1785
if (ptr < args->path) {
fs/btrfs/ioctl.c
1800
btrfs_release_path(path);
fs/btrfs/ioctl.c
1825
memmove(args->path, ptr, total_len);
fs/btrfs/ioctl.c
1826
args->path[total_len] = '\0';
fs/btrfs/ioctl.c
1829
btrfs_release_path(path);
fs/btrfs/ioctl.c
1836
ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0);
fs/btrfs/ioctl.c
1842
leaf = path->nodes[0];
fs/btrfs/ioctl.c
1843
slot = path->slots[0];
fs/btrfs/ioctl.c
1953
struct btrfs_path *path;
fs/btrfs/ioctl.c
1963
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
1964
if (!path)
fs/btrfs/ioctl.c
1969
btrfs_free_path(path);
fs/btrfs/ioctl.c
2015
ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0);
fs/btrfs/ioctl.c
2018
} else if (path->slots[0] >=
fs/btrfs/ioctl.c
2019
btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/ioctl.c
2020
ret = btrfs_next_leaf(fs_info->tree_root, path);
fs/btrfs/ioctl.c
2029
leaf = path->nodes[0];
fs/btrfs/ioctl.c
2030
slot = path->slots[0];
fs/btrfs/ioctl.c
2051
btrfs_free_path(path);
fs/btrfs/ioctl.c
2052
path = NULL;
fs/btrfs/ioctl.c
2059
btrfs_free_path(path);
fs/btrfs/ioctl.c
2073
struct btrfs_path *path;
fs/btrfs/ioctl.c
2081
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
2082
if (!path)
fs/btrfs/ioctl.c
2087
btrfs_free_path(path);
fs/btrfs/ioctl.c
2098
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/ioctl.c
2101
} else if (path->slots[0] >=
fs/btrfs/ioctl.c
2102
btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/ioctl.c
2103
ret = btrfs_next_leaf(root, path);
fs/btrfs/ioctl.c
2112
leaf = path->nodes[0];
fs/btrfs/ioctl.c
2113
slot = path->slots[0];
fs/btrfs/ioctl.c
2132
ret = btrfs_next_item(root, path);
fs/btrfs/ioctl.c
2142
btrfs_free_path(path);
fs/btrfs/ioctl.c
2724
strscpy(di_args->path, btrfs_dev_name(dev), sizeof(di_args->path));
fs/btrfs/ioctl.c
2726
di_args->path[0] = '\0';
fs/btrfs/ioctl.c
2745
struct btrfs_path *path = NULL;
fs/btrfs/ioctl.c
2777
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
2778
if (!path) {
fs/btrfs/ioctl.c
2790
di = btrfs_lookup_dir_item(trans, fs_info->tree_root, path,
fs/btrfs/ioctl.c
2793
btrfs_release_path(path);
fs/btrfs/ioctl.c
2802
btrfs_set_dir_item_key(path->nodes[0], di, &disk_key);
fs/btrfs/ioctl.c
2803
btrfs_release_path(path);
fs/btrfs/ioctl.c
2809
btrfs_free_path(path);
fs/btrfs/ioctl.c
3178
struct btrfs_path *path;
fs/btrfs/ioctl.c
3183
path = btrfs_alloc_path();
fs/btrfs/ioctl.c
3184
if (!path) {
fs/btrfs/ioctl.c
3197
ipath = init_ipath(size, root, path);
fs/btrfs/ioctl.c
3214
btrfs_free_path(path);
fs/btrfs/ioctl.c
3215
path = NULL;
fs/btrfs/ioctl.c
3224
btrfs_free_path(path);
fs/btrfs/ioctl.c
744
pending_snapshot->path = btrfs_alloc_path();
fs/btrfs/ioctl.c
745
if (!pending_snapshot->root_item || !pending_snapshot->path) {
fs/btrfs/ioctl.c
818
btrfs_free_path(pending_snapshot->path);
fs/btrfs/locking.c
213
void btrfs_unlock_up_safe(struct btrfs_path *path, int level)
fs/btrfs/locking.c
217
if (path->keep_locks)
fs/btrfs/locking.c
221
if (!path->nodes[i])
fs/btrfs/locking.c
223
if (!path->locks[i])
fs/btrfs/locking.c
225
btrfs_tree_unlock_rw(path->nodes[i], path->locks[i]);
fs/btrfs/locking.c
226
path->locks[i] = 0;
fs/btrfs/locking.h
211
void btrfs_unlock_up_safe(struct btrfs_path *path, int level);
fs/btrfs/orphan.c
12
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/orphan.c
19
path = btrfs_alloc_path();
fs/btrfs/orphan.c
20
if (!path)
fs/btrfs/orphan.c
23
return btrfs_insert_empty_item(trans, root, path, &key, 0);
fs/btrfs/orphan.c
29
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/orphan.c
37
path = btrfs_alloc_path();
fs/btrfs/orphan.c
38
if (!path)
fs/btrfs/orphan.c
41
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/orphan.c
47
return btrfs_del_item(trans, root, path);
fs/btrfs/props.c
147
struct btrfs_path *path,
fs/btrfs/props.c
169
slot = path->slots[0];
fs/btrfs/props.c
170
leaf = path->nodes[0];
fs/btrfs/props.c
173
ret = btrfs_next_leaf(root, path);
fs/btrfs/props.c
245
path->slots[0]++;
fs/btrfs/props.c
250
btrfs_release_path(path);
fs/btrfs/props.c
276
int btrfs_load_inode_props(struct btrfs_inode *inode, struct btrfs_path *path)
fs/btrfs/props.c
281
return iterate_object_props(root, path, ino, inode_prop_iterator,
fs/btrfs/props.h
25
int btrfs_load_inode_props(struct btrfs_inode *inode, struct btrfs_path *path);
fs/btrfs/qgroup.c
1004
struct btrfs_path *path = NULL;
fs/btrfs/qgroup.c
1083
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
1084
if (unlikely(!path)) {
fs/btrfs/qgroup.c
1094
ret = btrfs_insert_empty_item(trans, quota_root, path, &key,
fs/btrfs/qgroup.c
1101
leaf = path->nodes[0];
fs/btrfs/qgroup.c
1102
ptr = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/qgroup.c
1122
btrfs_release_path(path);
fs/btrfs/qgroup.c
1123
ret = btrfs_search_slot_for_read(tree_root, &key, path, 1, 0);
fs/btrfs/qgroup.c
1132
slot = path->slots[0];
fs/btrfs/qgroup.c
1133
leaf = path->nodes[0];
fs/btrfs/qgroup.c
1139
btrfs_release_path(path);
fs/btrfs/qgroup.c
1165
path, 1, 0);
fs/btrfs/qgroup.c
1182
ret = btrfs_next_item(tree_root, path);
fs/btrfs/qgroup.c
1192
btrfs_release_path(path);
fs/btrfs/qgroup.c
1269
btrfs_free_path(path);
fs/btrfs/qgroup.c
1756
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
1775
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
1776
if (!path)
fs/btrfs/qgroup.c
1783
return btrfs_find_root(fs_info->tree_root, &key, path, NULL, NULL);
fs/btrfs/qgroup.c
2232
static int adjust_slots_upwards(struct btrfs_path *path, int root_level)
fs/btrfs/qgroup.c
2242
eb = path->nodes[level];
fs/btrfs/qgroup.c
2244
path->slots[level]++;
fs/btrfs/qgroup.c
2245
slot = path->slots[level];
fs/btrfs/qgroup.c
2253
btrfs_tree_unlock_rw(eb, path->locks[level]);
fs/btrfs/qgroup.c
2254
path->locks[level] = 0;
fs/btrfs/qgroup.c
2257
path->nodes[level] = NULL;
fs/btrfs/qgroup.c
2258
path->slots[level] = 0;
fs/btrfs/qgroup.c
2272
eb = path->nodes[root_level];
fs/btrfs/qgroup.c
2273
if (path->slots[root_level] >= btrfs_header_nritems(eb))
fs/btrfs/qgroup.c
2617
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
2656
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
2657
if (!path)
fs/btrfs/qgroup.c
2670
path->nodes[root_level] = root_eb;
fs/btrfs/qgroup.c
2671
path->slots[root_level] = 0;
fs/btrfs/qgroup.c
2672
path->locks[root_level] = 0; /* so release_path doesn't try to unlock */
fs/btrfs/qgroup.c
2676
if (path->nodes[level] == NULL) {
fs/btrfs/qgroup.c
2684
eb = path->nodes[level + 1];
fs/btrfs/qgroup.c
2685
parent_slot = path->slots[level + 1];
fs/btrfs/qgroup.c
2692
path->nodes[level] = eb;
fs/btrfs/qgroup.c
2693
path->slots[level] = 0;
fs/btrfs/qgroup.c
2696
path->locks[level] = BTRFS_READ_LOCK;
fs/btrfs/qgroup.c
2706
path->nodes[level]);
fs/btrfs/qgroup.c
2711
ret = adjust_slots_upwards(path, root_level);
fs/btrfs/qgroup.c
3709
static bool is_last_leaf(struct btrfs_path *path)
fs/btrfs/qgroup.c
3713
for (i = 1; i < BTRFS_MAX_LEVEL && path->nodes[i]; i++) {
fs/btrfs/qgroup.c
3714
if (path->slots[i] != btrfs_header_nritems(path->nodes[i]) - 1)
fs/btrfs/qgroup.c
3725
struct btrfs_path *path)
fs/btrfs/qgroup.c
3752
path, 1, 0);
fs/btrfs/qgroup.c
3768
btrfs_release_path(path);
fs/btrfs/qgroup.c
3772
done = is_last_leaf(path);
fs/btrfs/qgroup.c
3774
btrfs_item_key_to_cpu(path->nodes[0], &found,
fs/btrfs/qgroup.c
3775
btrfs_header_nritems(path->nodes[0]) - 1);
fs/btrfs/qgroup.c
3778
scratch_leaf = btrfs_clone_extent_buffer(path->nodes[0]);
fs/btrfs/qgroup.c
3784
slot = path->slots[0];
fs/btrfs/qgroup.c
3785
btrfs_release_path(path);
fs/btrfs/qgroup.c
3840
struct btrfs_path *path;
fs/btrfs/qgroup.c
3849
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
3850
if (!path) {
fs/btrfs/qgroup.c
3858
path->search_commit_root = true;
fs/btrfs/qgroup.c
3859
path->skip_locking = true;
fs/btrfs/qgroup.c
3868
ret = qgroup_rescan_leaf(trans, path);
fs/btrfs/qgroup.c
3878
btrfs_free_path(path);
fs/btrfs/qgroup.c
426
struct btrfs_path *path = NULL;
fs/btrfs/qgroup.c
436
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
437
if (!path) {
fs/btrfs/qgroup.c
454
ret = btrfs_search_slot_for_read(quota_root, &key, path, 1, 1);
fs/btrfs/qgroup.c
461
slot = path->slots[0];
fs/btrfs/qgroup.c
462
l = path->nodes[0];
fs/btrfs/qgroup.c
555
ret = btrfs_next_item(quota_root, path);
fs/btrfs/qgroup.c
561
btrfs_release_path(path);
fs/btrfs/qgroup.c
569
ret = btrfs_search_slot_for_read(quota_root, &key, path, 1, 0);
fs/btrfs/qgroup.c
575
slot = path->slots[0];
fs/btrfs/qgroup.c
576
l = path->nodes[0];
fs/btrfs/qgroup.c
605
ret = btrfs_next_item(quota_root, path);
fs/btrfs/qgroup.c
612
btrfs_free_path(path);
fs/btrfs/qgroup.c
698
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
701
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
702
if (!path)
fs/btrfs/qgroup.c
709
return btrfs_insert_empty_item(trans, quota_root, path, &key, 0);
fs/btrfs/qgroup.c
717
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
720
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
721
if (!path)
fs/btrfs/qgroup.c
728
ret = btrfs_search_slot(trans, quota_root, &key, path, -1, 1);
fs/btrfs/qgroup.c
735
return btrfs_del_item(trans, quota_root, path);
fs/btrfs/qgroup.c
742
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
751
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
752
if (!path)
fs/btrfs/qgroup.c
765
ret = btrfs_insert_empty_item(trans, quota_root, path, &key,
fs/btrfs/qgroup.c
770
leaf = path->nodes[0];
fs/btrfs/qgroup.c
771
qgroup_info = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/qgroup.c
779
btrfs_release_path(path);
fs/btrfs/qgroup.c
782
ret = btrfs_insert_empty_item(trans, quota_root, path, &key,
fs/btrfs/qgroup.c
787
leaf = path->nodes[0];
fs/btrfs/qgroup.c
788
qgroup_limit = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/qgroup.c
803
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
806
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
807
if (!path)
fs/btrfs/qgroup.c
813
ret = btrfs_search_slot(trans, quota_root, &key, path, -1, 1);
fs/btrfs/qgroup.c
820
ret = btrfs_del_item(trans, quota_root, path);
fs/btrfs/qgroup.c
824
btrfs_release_path(path);
fs/btrfs/qgroup.c
827
ret = btrfs_search_slot(trans, quota_root, &key, path, -1, 1);
fs/btrfs/qgroup.c
834
return btrfs_del_item(trans, quota_root, path);
fs/btrfs/qgroup.c
841
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
852
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
853
if (!path)
fs/btrfs/qgroup.c
856
ret = btrfs_search_slot(trans, quota_root, &key, path, 0, 1);
fs/btrfs/qgroup.c
863
l = path->nodes[0];
fs/btrfs/qgroup.c
864
slot = path->slots[0];
fs/btrfs/qgroup.c
880
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
894
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
895
if (!path)
fs/btrfs/qgroup.c
898
ret = btrfs_search_slot(trans, quota_root, &key, path, 0, 1);
fs/btrfs/qgroup.c
905
l = path->nodes[0];
fs/btrfs/qgroup.c
906
slot = path->slots[0];
fs/btrfs/qgroup.c
921
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
932
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
933
if (!path)
fs/btrfs/qgroup.c
936
ret = btrfs_search_slot(trans, quota_root, &key, path, 0, 1);
fs/btrfs/qgroup.c
943
l = path->nodes[0];
fs/btrfs/qgroup.c
944
slot = path->slots[0];
fs/btrfs/qgroup.c
961
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/qgroup.c
967
path = btrfs_alloc_path();
fs/btrfs/qgroup.c
968
if (!path)
fs/btrfs/qgroup.c
976
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/qgroup.c
979
leaf = path->nodes[0];
fs/btrfs/qgroup.c
988
path->slots[0] = 0;
fs/btrfs/qgroup.c
989
ret = btrfs_del_items(trans, root, path, 0, nr);
fs/btrfs/qgroup.c
993
btrfs_release_path(path);
fs/btrfs/raid-stripe-tree.c
100
ret = btrfs_search_slot(trans, stripe_root, &key, path, -1, 1);
fs/btrfs/raid-stripe-tree.c
104
if (path->slots[0] == btrfs_header_nritems(path->nodes[0]))
fs/btrfs/raid-stripe-tree.c
105
path->slots[0]--;
fs/btrfs/raid-stripe-tree.c
107
leaf = path->nodes[0];
fs/btrfs/raid-stripe-tree.c
108
slot = path->slots[0];
fs/btrfs/raid-stripe-tree.c
126
ret = btrfs_previous_item(stripe_root, path, start,
fs/btrfs/raid-stripe-tree.c
134
path->slots[0]--;
fs/btrfs/raid-stripe-tree.c
137
leaf = path->nodes[0];
fs/btrfs/raid-stripe-tree.c
138
slot = path->slots[0];
fs/btrfs/raid-stripe-tree.c
17
struct btrfs_path *path,
fs/btrfs/raid-stripe-tree.c
178
ret = btrfs_duplicate_item(trans, stripe_root, path, &newkey);
fs/btrfs/raid-stripe-tree.c
182
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/raid-stripe-tree.c
183
extent = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/raid-stripe-tree.c
196
path->slots[0]--;
fs/btrfs/raid-stripe-tree.c
197
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/raid-stripe-tree.c
198
btrfs_partially_delete_raid_extent(trans, path, &key,
fs/btrfs/raid-stripe-tree.c
215
btrfs_partially_delete_raid_extent(trans, path, &key,
fs/btrfs/raid-stripe-tree.c
223
btrfs_release_path(path);
fs/btrfs/raid-stripe-tree.c
239
btrfs_partially_delete_raid_extent(trans, path, &key,
fs/btrfs/raid-stripe-tree.c
247
ret = btrfs_del_item(trans, stripe_root, path);
fs/btrfs/raid-stripe-tree.c
256
btrfs_release_path(path);
fs/btrfs/raid-stripe-tree.c
267
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/raid-stripe-tree.c
272
path = btrfs_alloc_path();
fs/btrfs/raid-stripe-tree.c
273
if (!path)
fs/btrfs/raid-stripe-tree.c
276
ret = btrfs_search_slot(trans, trans->fs_info->stripe_root, key, path,
fs/btrfs/raid-stripe-tree.c
281
leaf = path->nodes[0];
fs/btrfs/raid-stripe-tree.c
282
slot = path->slots[0];
fs/btrfs/raid-stripe-tree.c
36
leaf = path->nodes[0];
fs/btrfs/raid-stripe-tree.c
37
slot = path->slots[0];
fs/btrfs/raid-stripe-tree.c
371
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/raid-stripe-tree.c
386
path = btrfs_alloc_path();
fs/btrfs/raid-stripe-tree.c
387
if (!path)
fs/btrfs/raid-stripe-tree.c
391
path->skip_locking = true;
fs/btrfs/raid-stripe-tree.c
392
path->search_commit_root = true;
fs/btrfs/raid-stripe-tree.c
395
ret = btrfs_search_slot(NULL, stripe_root, &stripe_key, path, 0, 0);
fs/btrfs/raid-stripe-tree.c
399
if (path->slots[0] != 0)
fs/btrfs/raid-stripe-tree.c
400
path->slots[0]--;
fs/btrfs/raid-stripe-tree.c
404
leaf = path->nodes[0];
fs/btrfs/raid-stripe-tree.c
405
slot = path->slots[0];
fs/btrfs/raid-stripe-tree.c
420
ret = btrfs_next_item(stripe_root, path);
fs/btrfs/raid-stripe-tree.c
54
ret = btrfs_del_item(trans, stripe_root, path);
fs/btrfs/raid-stripe-tree.c
58
btrfs_release_path(path);
fs/btrfs/raid-stripe-tree.c
66
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/raid-stripe-tree.c
91
path = btrfs_alloc_path();
fs/btrfs/raid-stripe-tree.c
92
if (!path)
fs/btrfs/ref-verify.c
1008
ret = walk_down_tree(extent_root, path, level,
fs/btrfs/ref-verify.c
1012
ret = walk_up_tree(path, &level);
fs/btrfs/ref-verify.c
415
struct btrfs_path *path, struct btrfs_key *key,
fs/btrfs/ref-verify.c
422
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/ref-verify.c
491
struct btrfs_path *path, u64 *bytenr, u64 *num_bytes,
fs/btrfs/ref-verify.c
495
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/ref-verify.c
511
ret = process_extent_item(fs_info, path, &key, i,
fs/btrfs/ref-verify.c
545
static int walk_down_tree(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/ref-verify.c
554
eb = btrfs_read_node_slot(path->nodes[level],
fs/btrfs/ref-verify.c
555
path->slots[level]);
fs/btrfs/ref-verify.c
559
path->nodes[level-1] = eb;
fs/btrfs/ref-verify.c
560
path->slots[level-1] = 0;
fs/btrfs/ref-verify.c
561
path->locks[level-1] = BTRFS_READ_LOCK;
fs/btrfs/ref-verify.c
563
ret = process_leaf(root, path, bytenr, num_bytes,
fs/btrfs/ref-verify.c
574
static int walk_up_tree(struct btrfs_path *path, int *level)
fs/btrfs/ref-verify.c
579
if (!path->nodes[l])
fs/btrfs/ref-verify.c
582
path->slots[l]++;
fs/btrfs/ref-verify.c
583
if (path->slots[l] <
fs/btrfs/ref-verify.c
584
btrfs_header_nritems(path->nodes[l])) {
fs/btrfs/ref-verify.c
589
btrfs_tree_unlock_rw(path->nodes[l], path->locks[l]);
fs/btrfs/ref-verify.c
590
free_extent_buffer(path->nodes[l]);
fs/btrfs/ref-verify.c
591
path->nodes[l] = NULL;
fs/btrfs/ref-verify.c
592
path->slots[l] = 0;
fs/btrfs/ref-verify.c
593
path->locks[l] = 0;
fs/btrfs/ref-verify.c
974
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/ref-verify.c
991
path = btrfs_alloc_path();
fs/btrfs/ref-verify.c
992
if (!path)
fs/btrfs/ref-verify.c
997
path->nodes[level] = eb;
fs/btrfs/ref-verify.c
998
path->slots[level] = 0;
fs/btrfs/ref-verify.c
999
path->locks[level] = BTRFS_READ_LOCK;
fs/btrfs/reflink.c
167
struct btrfs_path *path,
fs/btrfs/reflink.c
194
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/reflink.c
198
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/reflink.c
199
ret = btrfs_next_leaf(root, path);
fs/btrfs/reflink.c
205
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/reflink.c
218
ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/reflink.c
225
if (btrfs_file_extent_type(path->nodes[0], ei) ==
fs/btrfs/reflink.c
251
btrfs_release_path(path);
fs/btrfs/reflink.c
267
drop_args.path = path;
fs/btrfs/reflink.c
276
ret = btrfs_insert_empty_item(trans, root, path, new_key, size);
fs/btrfs/reflink.c
282
write_extent_buffer(path->nodes[0], inline_data,
fs/btrfs/reflink.c
283
btrfs_item_ptr_offset(path->nodes[0],
fs/btrfs/reflink.c
284
path->slots[0]),
fs/btrfs/reflink.c
321
btrfs_release_path(path);
fs/btrfs/reflink.c
344
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/reflink.c
361
path = btrfs_alloc_path();
fs/btrfs/reflink.c
362
if (!path)
fs/btrfs/reflink.c
365
path->reada = READA_FORWARD;
fs/btrfs/reflink.c
383
ret = btrfs_search_slot(NULL, BTRFS_I(src)->root, &key, path,
fs/btrfs/reflink.c
392
if (key.offset == off && ret > 0 && path->slots[0] > 0) {
fs/btrfs/reflink.c
393
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/reflink.c
394
path->slots[0] - 1);
fs/btrfs/reflink.c
396
path->slots[0]--;
fs/btrfs/reflink.c
399
nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/reflink.c
401
if (path->slots[0] >= nritems) {
fs/btrfs/reflink.c
402
ret = btrfs_next_leaf(BTRFS_I(src)->root, path);
fs/btrfs/reflink.c
407
nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/reflink.c
409
leaf = path->nodes[0];
fs/btrfs/reflink.c
410
slot = path->slots[0];
fs/btrfs/reflink.c
447
path->slots[0]++;
fs/btrfs/reflink.c
458
btrfs_release_path(path);
fs/btrfs/reflink.c
505
ret = btrfs_replace_file_extents(BTRFS_I(inode), path,
fs/btrfs/reflink.c
529
ret = clone_copy_inline_extent(BTRFS_I(inode), path, &new_key,
fs/btrfs/reflink.c
536
btrfs_release_path(path);
fs/btrfs/reflink.c
565
btrfs_release_path(path);
fs/btrfs/reflink.c
584
btrfs_release_path(path);
fs/btrfs/reflink.c
603
ret = btrfs_replace_file_extents(BTRFS_I(inode), path,
fs/btrfs/relocation.c
1010
struct btrfs_path *path, struct btrfs_key *next_key,
fs/btrfs/relocation.c
1034
slot = path->slots[lowest_level];
fs/btrfs/relocation.c
1035
btrfs_node_key_to_cpu(path->nodes[lowest_level], &key, slot);
fs/btrfs/relocation.c
1081
eb = path->nodes[level];
fs/btrfs/relocation.c
1083
path->slots[level]);
fs/btrfs/relocation.c
1085
path->slots[level]);
fs/btrfs/relocation.c
1097
memcmp_node_keys(parent, slot, path, level)) {
fs/btrfs/relocation.c
1134
btrfs_node_key_to_cpu(path->nodes[level], &key,
fs/btrfs/relocation.c
1135
path->slots[level]);
fs/btrfs/relocation.c
1136
btrfs_release_path(path);
fs/btrfs/relocation.c
1138
path->lowest_level = level;
fs/btrfs/relocation.c
1140
ret = btrfs_search_slot(trans, src, &key, path, 0, 1);
fs/btrfs/relocation.c
1142
path->lowest_level = 0;
fs/btrfs/relocation.c
1165
path->nodes[level], path->slots[level],
fs/btrfs/relocation.c
1175
btrfs_set_node_blockptr(path->nodes[level],
fs/btrfs/relocation.c
1176
path->slots[level], old_bytenr);
fs/btrfs/relocation.c
1177
btrfs_set_node_ptr_generation(path->nodes[level],
fs/btrfs/relocation.c
1178
path->slots[level], old_ptr_gen);
fs/btrfs/relocation.c
1183
ref.parent = path->nodes[level]->start;
fs/btrfs/relocation.c
1210
ref.parent = path->nodes[level]->start;
fs/btrfs/relocation.c
1234
btrfs_unlock_up_safe(path, 0);
fs/btrfs/relocation.c
1248
int walk_up_reloc_tree(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/relocation.c
1259
free_extent_buffer(path->nodes[i]);
fs/btrfs/relocation.c
1260
path->nodes[i] = NULL;
fs/btrfs/relocation.c
1263
for (i = *level; i < BTRFS_MAX_LEVEL && path->nodes[i]; i++) {
fs/btrfs/relocation.c
1264
eb = path->nodes[i];
fs/btrfs/relocation.c
1266
while (path->slots[i] + 1 < nritems) {
fs/btrfs/relocation.c
1267
path->slots[i]++;
fs/btrfs/relocation.c
1268
if (btrfs_node_ptr_generation(eb, path->slots[i]) <=
fs/btrfs/relocation.c
1275
free_extent_buffer(path->nodes[i]);
fs/btrfs/relocation.c
1276
path->nodes[i] = NULL;
fs/btrfs/relocation.c
1285
int walk_down_reloc_tree(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/relocation.c
1297
eb = path->nodes[i];
fs/btrfs/relocation.c
1299
while (path->slots[i] < nritems) {
fs/btrfs/relocation.c
1300
ptr_gen = btrfs_node_ptr_generation(eb, path->slots[i]);
fs/btrfs/relocation.c
1303
path->slots[i]++;
fs/btrfs/relocation.c
1305
if (path->slots[i] >= nritems) {
fs/btrfs/relocation.c
1316
eb = btrfs_read_node_slot(eb, path->slots[i]);
fs/btrfs/relocation.c
1320
path->nodes[i - 1] = eb;
fs/btrfs/relocation.c
1321
path->slots[i - 1] = 0;
fs/btrfs/relocation.c
1402
static int find_next_key(struct btrfs_path *path, int level,
fs/btrfs/relocation.c
1407
if (!path->nodes[level])
fs/btrfs/relocation.c
1409
if (path->slots[level] + 1 <
fs/btrfs/relocation.c
1410
btrfs_header_nritems(path->nodes[level])) {
fs/btrfs/relocation.c
1411
btrfs_node_key_to_cpu(path->nodes[level], key,
fs/btrfs/relocation.c
1412
path->slots[level] + 1);
fs/btrfs/relocation.c
1513
struct btrfs_path *path;
fs/btrfs/relocation.c
1522
path = btrfs_alloc_path();
fs/btrfs/relocation.c
1523
if (!path)
fs/btrfs/relocation.c
1525
path->reada = READA_FORWARD;
fs/btrfs/relocation.c
1533
path->nodes[level] = reloc_root->node;
fs/btrfs/relocation.c
1534
path->slots[level] = 0;
fs/btrfs/relocation.c
1540
path->lowest_level = level;
fs/btrfs/relocation.c
1541
ret = btrfs_search_slot(NULL, reloc_root, &key, path, 0, 0);
fs/btrfs/relocation.c
1542
path->lowest_level = 0;
fs/btrfs/relocation.c
1544
btrfs_free_path(path);
fs/btrfs/relocation.c
1548
btrfs_node_key_to_cpu(path->nodes[level], &next_key,
fs/btrfs/relocation.c
1549
path->slots[level]);
fs/btrfs/relocation.c
1552
btrfs_unlock_up_safe(path, 0);
fs/btrfs/relocation.c
1596
ret = walk_down_reloc_tree(reloc_root, path, &level);
fs/btrfs/relocation.c
1602
if (!find_next_key(path, level, &key) &&
fs/btrfs/relocation.c
1606
ret = replace_path(trans, rc, root, reloc_root, path,
fs/btrfs/relocation.c
1613
btrfs_node_key_to_cpu(path->nodes[level], &key,
fs/btrfs/relocation.c
1614
path->slots[level]);
fs/btrfs/relocation.c
1618
ret = walk_up_reloc_tree(reloc_root, path, &level);
fs/btrfs/relocation.c
1627
btrfs_node_key(path->nodes[level], &root_item->drop_progress,
fs/btrfs/relocation.c
1628
path->slots[level]);
fs/btrfs/relocation.c
1650
btrfs_free_path(path);
fs/btrfs/relocation.c
2043
rc->backref_cache.path[next->level] = next;
fs/btrfs/relocation.c
2192
struct btrfs_path *path, int lowest)
fs/btrfs/relocation.c
2210
path->lowest_level = node->level + 1;
fs/btrfs/relocation.c
2211
rc->backref_cache.path[node->level] = node;
fs/btrfs/relocation.c
2236
ret = btrfs_search_slot(trans, root, key, path, 0, 1);
fs/btrfs/relocation.c
2241
btrfs_release_path(path);
fs/btrfs/relocation.c
2246
upper->eb = path->nodes[upper->level];
fs/btrfs/relocation.c
2247
path->nodes[upper->level] = NULL;
fs/btrfs/relocation.c
2249
BUG_ON(upper->eb != path->nodes[upper->level]);
fs/btrfs/relocation.c
2253
path->locks[upper->level] = 0;
fs/btrfs/relocation.c
2255
slot = path->slots[upper->level];
fs/btrfs/relocation.c
2256
btrfs_release_path(path);
fs/btrfs/relocation.c
2339
path->lowest_level = 0;
fs/btrfs/relocation.c
2352
struct btrfs_path *path)
fs/btrfs/relocation.c
2357
return do_relocation(trans, rc, node, &key, path, 0);
fs/btrfs/relocation.c
2362
struct btrfs_path *path, int err)
fs/btrfs/relocation.c
2378
ret = link_to_upper(trans, rc, node, path);
fs/btrfs/relocation.c
2463
struct btrfs_path *path)
fs/btrfs/relocation.c
2541
ret = do_relocation(trans, rc, node, key, path, 1);
fs/btrfs/relocation.c
2551
struct btrfs_path *path)
fs/btrfs/relocation.c
2571
path->lowest_level = block->level;
fs/btrfs/relocation.c
2575
ret = btrfs_search_slot(trans, root, &block->key, path, 0, 1);
fs/btrfs/relocation.c
2576
path->lowest_level = 0;
fs/btrfs/relocation.c
2577
btrfs_release_path(path);
fs/btrfs/relocation.c
2597
struct btrfs_path *path;
fs/btrfs/relocation.c
2602
path = btrfs_alloc_path();
fs/btrfs/relocation.c
2603
if (!path) {
fs/btrfs/relocation.c
2635
ret = relocate_cowonly_block(trans, rc, block, path);
fs/btrfs/relocation.c
2649
path);
fs/btrfs/relocation.c
2654
ret = finish_pending_nodes(trans, rc, path, ret);
fs/btrfs/relocation.c
2657
btrfs_free_path(path);
fs/btrfs/relocation.c
3042
struct btrfs_path *path,
fs/btrfs/relocation.c
3055
eb = path->nodes[0];
fs/btrfs/relocation.c
3056
item_size = btrfs_item_size(eb, path->slots[0]);
fs/btrfs/relocation.c
3062
ei = btrfs_item_ptr(eb, path->slots[0],
fs/btrfs/relocation.c
3109
eb->start, path->slots[0]);
fs/btrfs/relocation.c
3110
btrfs_release_path(path);
fs/btrfs/relocation.c
3114
btrfs_release_path(path);
fs/btrfs/relocation.c
3145
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
3156
path = btrfs_alloc_path();
fs/btrfs/relocation.c
3157
if (!path)
fs/btrfs/relocation.c
3169
path->search_commit_root = true;
fs/btrfs/relocation.c
3170
path->skip_locking = true;
fs/btrfs/relocation.c
3171
ret = btrfs_search_slot(NULL, rc->extent_root, &key, path, 0, 0);
fs/btrfs/relocation.c
3176
if (path->slots[0]) {
fs/btrfs/relocation.c
3177
path->slots[0]--;
fs/btrfs/relocation.c
3178
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/relocation.c
3179
path->slots[0]);
fs/btrfs/relocation.c
3189
btrfs_release_path(path);
fs/btrfs/relocation.c
3195
btrfs_print_leaf(path->nodes[0]);
fs/btrfs/relocation.c
3203
return add_tree_block(rc, &key, path, blocks);
fs/btrfs/relocation.c
3290
struct btrfs_path *path,
fs/btrfs/relocation.c
3299
btrfs_release_path(path);
fs/btrfs/relocation.c
3338
int find_next_extent(struct reloc_control *rc, struct btrfs_path *path,
fs/btrfs/relocation.c
3361
path->search_commit_root = true;
fs/btrfs/relocation.c
3362
path->skip_locking = true;
fs/btrfs/relocation.c
3363
ret = btrfs_search_slot(NULL, rc->extent_root, &key, path,
fs/btrfs/relocation.c
3368
leaf = path->nodes[0];
fs/btrfs/relocation.c
3369
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/relocation.c
3370
ret = btrfs_next_leaf(rc->extent_root, path);
fs/btrfs/relocation.c
3373
leaf = path->nodes[0];
fs/btrfs/relocation.c
3376
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/relocation.c
3384
path->slots[0]++;
fs/btrfs/relocation.c
3390
path->slots[0]++;
fs/btrfs/relocation.c
3397
path->slots[0]++;
fs/btrfs/relocation.c
3406
btrfs_release_path(path);
fs/btrfs/relocation.c
3418
btrfs_release_path(path);
fs/btrfs/relocation.c
3492
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
3499
path = btrfs_alloc_path();
fs/btrfs/relocation.c
3500
if (!path)
fs/btrfs/relocation.c
3502
path->reada = READA_FORWARD;
fs/btrfs/relocation.c
3531
ret = find_next_extent(rc, path, &key);
fs/btrfs/relocation.c
3539
ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/relocation.c
3541
flags = btrfs_extent_flags(path->nodes[0], ei);
fs/btrfs/relocation.c
3552
path->nodes[0],
fs/btrfs/relocation.c
3553
path->slots[0]);
fs/btrfs/relocation.c
3559
ret = add_tree_block(rc, &key, path, &blocks);
fs/btrfs/relocation.c
3562
ret = add_data_references(rc, &key, path, &blocks);
fs/btrfs/relocation.c
3564
btrfs_release_path(path);
fs/btrfs/relocation.c
3611
btrfs_release_path(path);
fs/btrfs/relocation.c
3667
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
3672
path = btrfs_alloc_path();
fs/btrfs/relocation.c
3673
if (!path)
fs/btrfs/relocation.c
3676
ret = btrfs_insert_empty_inode(trans, root, path, objectid);
fs/btrfs/relocation.c
3680
leaf = path->nodes[0];
fs/btrfs/relocation.c
3681
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_inode_item);
fs/btrfs/relocation.c
3694
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
3698
path = btrfs_alloc_path();
fs/btrfs/relocation.c
3699
if (!path) {
fs/btrfs/relocation.c
3707
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/relocation.c
3713
ret = btrfs_del_item(trans, root, path);
fs/btrfs/relocation.c
3863
static int add_remap_tree_entries(struct btrfs_trans_handle *trans, struct btrfs_path *path,
fs/btrfs/relocation.c
3884
ret = btrfs_insert_empty_items(trans, fs_info->remap_root, path, &batch);
fs/btrfs/relocation.c
3885
btrfs_release_path(path);
fs/btrfs/relocation.c
4092
struct btrfs_path *path, u64 new_addr, u64 length,
fs/btrfs/relocation.c
4105
ret = btrfs_insert_empty_item(trans, fs_info->remap_root, path,
fs/btrfs/relocation.c
4110
leaf = path->nodes[0];
fs/btrfs/relocation.c
4112
write_extent_buffer(leaf, &remap, btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/relocation.c
4115
btrfs_release_path(path);
fs/btrfs/relocation.c
4121
struct btrfs_path *path, u64 new_addr,
fs/btrfs/relocation.c
413
struct btrfs_path *path;
fs/btrfs/relocation.c
4134
ret = btrfs_insert_empty_item(trans, fs_info->remap_root, path, &key,
fs/btrfs/relocation.c
4139
leaf = path->nodes[0];
fs/btrfs/relocation.c
4141
write_extent_buffer(leaf, &remap, btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/relocation.c
4144
btrfs_release_path(path);
fs/btrfs/relocation.c
4150
struct btrfs_path *path,
fs/btrfs/relocation.c
4214
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, 0, 1);
fs/btrfs/relocation.c
422
path = btrfs_alloc_path();
fs/btrfs/relocation.c
4222
btrfs_release_path(path);
fs/btrfs/relocation.c
423
if (!path) {
fs/btrfs/relocation.c
4234
leaf = path->nodes[0];
fs/btrfs/relocation.c
4235
remap_ptr = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_remap_item);
fs/btrfs/relocation.c
4241
btrfs_set_item_key_safe(trans, path, &key);
fs/btrfs/relocation.c
4244
btrfs_release_path(path);
fs/btrfs/relocation.c
4248
ret = add_remap_item(trans, path, new_addr + dest_length,
fs/btrfs/relocation.c
4259
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, -1, 1);
fs/btrfs/relocation.c
4262
btrfs_release_path(path);
fs/btrfs/relocation.c
4268
leaf = path->nodes[0];
fs/btrfs/relocation.c
4271
ret = btrfs_del_item(trans, fs_info->remap_root, path);
fs/btrfs/relocation.c
4273
btrfs_release_path(path);
fs/btrfs/relocation.c
4279
btrfs_set_item_key_safe(trans, path, &key);
fs/btrfs/relocation.c
4283
btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/relocation.c
4287
btrfs_release_path(path);
fs/btrfs/relocation.c
4290
ret = add_remap_backref_item(trans, path, dest_addr, dest_length, old_addr);
fs/btrfs/relocation.c
4347
struct btrfs_path *path)
fs/btrfs/relocation.c
4361
ret = btrfs_search_slot(NULL, fs_info->remap_root, &key, path, 0, 0);
fs/btrfs/relocation.c
4365
leaf = path->nodes[0];
fs/btrfs/relocation.c
4367
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/relocation.c
4368
ret = btrfs_next_leaf(fs_info->remap_root, path);
fs/btrfs/relocation.c
4370
btrfs_release_path(path);
fs/btrfs/relocation.c
4375
btrfs_release_path(path);
fs/btrfs/relocation.c
4379
leaf = path->nodes[0];
fs/btrfs/relocation.c
438
ret = btrfs_backref_add_tree_node(trans, cache, path, iter,
fs/btrfs/relocation.c
4382
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/relocation.c
4385
path->slots[0]++;
fs/btrfs/relocation.c
4387
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/relocation.c
4388
ret = btrfs_next_leaf(fs_info->remap_root, path);
fs/btrfs/relocation.c
4390
btrfs_release_path(path);
fs/btrfs/relocation.c
4395
btrfs_release_path(path);
fs/btrfs/relocation.c
4399
leaf = path->nodes[0];
fs/btrfs/relocation.c
4402
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/relocation.c
4405
remap = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_remap_item);
fs/btrfs/relocation.c
4408
btrfs_release_path(path);
fs/btrfs/relocation.c
4410
ret = move_existing_remap(fs_info, path, bg, key.objectid,
fs/btrfs/relocation.c
4422
struct btrfs_path *path,
fs/btrfs/relocation.c
4449
fsi = btrfs_search_free_space_info(trans, bg, path, 0);
fs/btrfs/relocation.c
4455
extent_count = btrfs_free_space_extent_count(path->nodes[0], fsi);
fs/btrfs/relocation.c
4457
btrfs_release_path(path);
fs/btrfs/relocation.c
4471
ret = btrfs_search_slot(trans, space_root, &key, path, 0, 0);
fs/btrfs/relocation.c
4480
leaf = path->nodes[0];
fs/btrfs/relocation.c
4482
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/relocation.c
4506
offset = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/relocation.c
4507
data_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/relocation.c
4530
path->slots[0]++;
fs/btrfs/relocation.c
4532
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/relocation.c
4533
ret = btrfs_next_leaf(space_root, path);
fs/btrfs/relocation.c
4539
leaf = path->nodes[0];
fs/btrfs/relocation.c
4543
btrfs_release_path(path);
fs/btrfs/relocation.c
4592
ret = add_remap_tree_entries(trans, path, entries, num_entries);
fs/btrfs/relocation.c
4602
struct btrfs_path *path, u64 bg_end,
fs/btrfs/relocation.c
4614
ret = btrfs_search_slot(trans, remap_root, &key, path, 0, 0);
fs/btrfs/relocation.c
4618
leaf = path->nodes[0];
fs/btrfs/relocation.c
4620
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/relocation.c
4621
ret = btrfs_next_leaf(remap_root, path);
fs/btrfs/relocation.c
4629
leaf = path->nodes[0];
fs/btrfs/relocation.c
463
btrfs_free_path(iter->path);
fs/btrfs/relocation.c
4632
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/relocation.c
4646
path->slots[0]++;
fs/btrfs/relocation.c
465
btrfs_free_path(path);
fs/btrfs/relocation.c
4650
btrfs_release_path(path);
fs/btrfs/relocation.c
4657
struct btrfs_path *path)
fs/btrfs/relocation.c
4671
ret = btrfs_search_slot(trans, fs_info->chunk_root, &key, path, 0, 1);
fs/btrfs/relocation.c
4674
btrfs_release_path(path);
fs/btrfs/relocation.c
4681
leaf = path->nodes[0];
fs/btrfs/relocation.c
4683
chunk = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_chunk);
fs/btrfs/relocation.c
4687
btrfs_truncate_item(trans, path, offsetof(struct btrfs_chunk, stripe), 1);
fs/btrfs/relocation.c
4691
btrfs_release_path(path);
fs/btrfs/relocation.c
4704
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
4706
path = btrfs_alloc_path();
fs/btrfs/relocation.c
4707
if (!path)
fs/btrfs/relocation.c
4753
ret = remove_chunk_stripes(trans, chunk_map, path);
fs/btrfs/relocation.c
4805
struct btrfs_path *path,
fs/btrfs/relocation.c
4818
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, -1, 1);
fs/btrfs/relocation.c
4822
if (path->slots[0] == 0) {
fs/btrfs/relocation.c
4827
path->slots[0]--;
fs/btrfs/relocation.c
4829
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/relocation.c
4840
ret = btrfs_del_item(trans, fs_info->remap_root, path);
fs/btrfs/relocation.c
4850
btrfs_set_item_key_safe(trans, path, &new_key);
fs/btrfs/relocation.c
4853
btrfs_release_path(path);
fs/btrfs/relocation.c
4856
ret = add_remap_item(trans, path, new_addr, length, old_addr);
fs/btrfs/relocation.c
4867
path, &new_key, 0);
fs/btrfs/relocation.c
4871
btrfs_release_path(path);
fs/btrfs/relocation.c
4877
ret = add_remap_backref_item(trans, path, new_addr, length, old_addr);
fs/btrfs/relocation.c
4885
btrfs_release_path(path);
fs/btrfs/relocation.c
4891
struct btrfs_path *path, u64 start)
fs/btrfs/relocation.c
4918
ret = btrfs_search_slot(trans, fs_info->chunk_root, &key, path, 0, 1);
fs/btrfs/relocation.c
4925
leaf = path->nodes[0];
fs/btrfs/relocation.c
4927
chunk = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_chunk);
fs/btrfs/relocation.c
4934
btrfs_release_path(path);
fs/btrfs/relocation.c
4941
struct btrfs_path *path, u64 *last_start)
fs/btrfs/relocation.c
4969
ret = find_next_identity_remap(trans, path, src_bg->start + src_bg->length,
fs/btrfs/relocation.c
5046
ret = add_remap_entry(trans, path, src_bg, start, new_addr, length);
fs/btrfs/relocation.c
5105
static int do_remap_reloc(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
fs/btrfs/relocation.c
5112
ret = do_remap_reloc_trans(fs_info, bg, path, &last_start);
fs/btrfs/relocation.c
5129
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
5131
path = btrfs_alloc_path();
fs/btrfs/relocation.c
5132
if (!path)
fs/btrfs/relocation.c
5139
ret = btrfs_search_slot(NULL, fs_info->remap_root, &key, path, 0, 0);
fs/btrfs/relocation.c
5143
leaf = path->nodes[0];
fs/btrfs/relocation.c
5144
if (path->slots[0] == 0)
fs/btrfs/relocation.c
5147
path->slots[0]--;
fs/btrfs/relocation.c
5149
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/relocation.c
5167
remap = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_remap_item);
fs/btrfs/relocation.c
5174
struct btrfs_path *path,
fs/btrfs/relocation.c
5203
ret = create_remap_tree_entries(trans, path, bg);
fs/btrfs/relocation.c
5225
ret = mark_chunk_remapped(trans, path, bg->start);
fs/btrfs/relocation.c
5310
struct btrfs_path *path = NULL;
fs/btrfs/relocation.c
5372
path = btrfs_alloc_path();
fs/btrfs/relocation.c
5373
if (!path) {
fs/btrfs/relocation.c
5378
inode = lookup_free_space_inode(rc->block_group, path);
fs/btrfs/relocation.c
5379
btrfs_release_path(path);
fs/btrfs/relocation.c
5410
ret = move_existing_remaps(fs_info, bg, path);
fs/btrfs/relocation.c
5414
ret = start_block_group_remapping(fs_info, path, bg);
fs/btrfs/relocation.c
5418
ret = do_remap_reloc(fs_info, path, rc->block_group);
fs/btrfs/relocation.c
5432
btrfs_free_path(path);
fs/btrfs/relocation.c
5475
struct btrfs_path *path;
fs/btrfs/relocation.c
5482
path = btrfs_alloc_path();
fs/btrfs/relocation.c
5483
if (!path)
fs/btrfs/relocation.c
5485
path->reada = READA_BACK;
fs/btrfs/relocation.c
5493
path, 0, 0);
fs/btrfs/relocation.c
5497
if (path->slots[0] == 0)
fs/btrfs/relocation.c
5499
path->slots[0]--;
fs/btrfs/relocation.c
5502
leaf = path->nodes[0];
fs/btrfs/relocation.c
5503
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/relocation.c
5504
btrfs_release_path(path);
fs/btrfs/relocation.c
5540
btrfs_release_path(path);
fs/btrfs/relocation.c
5629
btrfs_free_path(path);
fs/btrfs/relocation.c
5723
node = rc->backref_cache.path[level];
fs/btrfs/relocation.c
5854
static int insert_remap_item(struct btrfs_trans_handle *trans, struct btrfs_path *path,
fs/btrfs/relocation.c
5868
ret = btrfs_insert_empty_item(trans, fs_info->remap_root, path,
fs/btrfs/relocation.c
5879
path, &key, sizeof(struct btrfs_remap_item));
fs/btrfs/relocation.c
5885
write_extent_buffer(path->nodes[0], &remap,
fs/btrfs/relocation.c
5886
btrfs_item_ptr_offset(path->nodes[0], path->slots[0]),
fs/btrfs/relocation.c
5889
btrfs_release_path(path);
fs/btrfs/relocation.c
5897
path, &key,
fs/btrfs/relocation.c
5904
write_extent_buffer(path->nodes[0], &remap,
fs/btrfs/relocation.c
5905
btrfs_item_ptr_offset(path->nodes[0], path->slots[0]),
fs/btrfs/relocation.c
5909
btrfs_release_path(path);
fs/btrfs/relocation.c
5919
struct btrfs_path *path,
fs/btrfs/relocation.c
5925
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/relocation.c
5934
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/relocation.c
5947
remap_ptr = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_remap_item);
fs/btrfs/relocation.c
5952
ret = btrfs_del_item(trans, fs_info->remap_root, path);
fs/btrfs/relocation.c
5953
btrfs_release_path(path);
fs/btrfs/relocation.c
5965
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, -1, 1);
fs/btrfs/relocation.c
5968
btrfs_release_path(path);
fs/btrfs/relocation.c
5974
ret = btrfs_del_item(trans, fs_info->remap_root, path);
fs/btrfs/relocation.c
5976
btrfs_release_path(path);
fs/btrfs/relocation.c
5984
ret = insert_remap_item(trans, path, remap_start,
fs/btrfs/relocation.c
5995
ret = insert_remap_item(trans, path, hole_end,
fs/btrfs/relocation.c
6037
struct btrfs_path *path,
fs/btrfs/relocation.c
6067
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, -1, 1);
fs/btrfs/relocation.c
6071
leaf = path->nodes[0];
fs/btrfs/relocation.c
6072
if (path->slots[0] == 0) {
fs/btrfs/relocation.c
6077
path->slots[0]--;
fs/btrfs/relocation.c
6079
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/relocation.c
6093
length = remove_range_from_remap_tree(trans, path, bg, bytenr, num_bytes);
fs/btrfs/relocation.c
6109
btrfs_release_path(path);
fs/btrfs/relocation.c
817
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/relocation.c
822
path = btrfs_alloc_path();
fs/btrfs/relocation.c
823
if (!path)
fs/btrfs/relocation.c
827
ret = btrfs_lookup_file_extent(NULL, root, path,
fs/btrfs/relocation.c
834
leaf = path->nodes[0];
fs/btrfs/relocation.c
835
fi = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/relocation.c
988
int slot, const struct btrfs_path *path,
fs/btrfs/relocation.c
994
btrfs_node_key(path->nodes[level], &key2, path->slots[level]);
fs/btrfs/relocation.h
47
struct btrfs_path *path,
fs/btrfs/root-tree.c
113
btrfs_release_path(path);
fs/btrfs/root-tree.c
133
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/root-tree.c
140
path = btrfs_alloc_path();
fs/btrfs/root-tree.c
141
if (!path)
fs/btrfs/root-tree.c
144
ret = btrfs_search_slot(trans, root, key, path, 0, 1);
fs/btrfs/root-tree.c
157
l = path->nodes[0];
fs/btrfs/root-tree.c
158
slot = path->slots[0];
fs/btrfs/root-tree.c
168
btrfs_release_path(path);
fs/btrfs/root-tree.c
169
ret = btrfs_search_slot(trans, root, key, path,
fs/btrfs/root-tree.c
176
ret = btrfs_del_item(trans, root, path);
fs/btrfs/root-tree.c
181
btrfs_release_path(path);
fs/btrfs/root-tree.c
182
ret = btrfs_insert_empty_item(trans, root, path,
fs/btrfs/root-tree.c
188
l = path->nodes[0];
fs/btrfs/root-tree.c
189
slot = path->slots[0];
fs/btrfs/root-tree.c
217
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/root-tree.c
221
path = btrfs_alloc_path();
fs/btrfs/root-tree.c
222
if (!path)
fs/btrfs/root-tree.c
233
ret = btrfs_search_slot(NULL, tree_root, &key, path, 0, 0);
fs/btrfs/root-tree.c
237
leaf = path->nodes[0];
fs/btrfs/root-tree.c
238
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/root-tree.c
239
ret = btrfs_next_leaf(tree_root, path);
fs/btrfs/root-tree.c
244
leaf = path->nodes[0];
fs/btrfs/root-tree.c
247
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/root-tree.c
248
btrfs_release_path(path);
fs/btrfs/root-tree.c
313
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/root-tree.c
316
path = btrfs_alloc_path();
fs/btrfs/root-tree.c
317
if (!path)
fs/btrfs/root-tree.c
319
ret = btrfs_search_slot(trans, root, key, path, -1, 1);
fs/btrfs/root-tree.c
326
return btrfs_del_item(trans, root, path);
fs/btrfs/root-tree.c
334
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/root-tree.c
341
path = btrfs_alloc_path();
fs/btrfs/root-tree.c
342
if (!path)
fs/btrfs/root-tree.c
349
ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1);
fs/btrfs/root-tree.c
353
leaf = path->nodes[0];
fs/btrfs/root-tree.c
354
ref = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/root-tree.c
364
ret = btrfs_del_item(trans, tree_root, path);
fs/btrfs/root-tree.c
372
btrfs_release_path(path);
fs/btrfs/root-tree.c
404
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/root-tree.c
409
path = btrfs_alloc_path();
fs/btrfs/root-tree.c
410
if (!path)
fs/btrfs/root-tree.c
417
ret = btrfs_insert_empty_item(trans, tree_root, path, &key,
fs/btrfs/root-tree.c
424
leaf = path->nodes[0];
fs/btrfs/root-tree.c
425
ref = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_root_ref);
fs/btrfs/root-tree.c
433
btrfs_release_path(path);
fs/btrfs/root-tree.c
68
struct btrfs_path *path, struct btrfs_root_item *root_item,
fs/btrfs/root-tree.c
76
ret = btrfs_search_slot(NULL, root, search_key, path, 0, 0);
fs/btrfs/root-tree.c
92
if (path->slots[0] == 0)
fs/btrfs/root-tree.c
94
path->slots[0]--;
fs/btrfs/root-tree.c
98
l = path->nodes[0];
fs/btrfs/root-tree.c
99
slot = path->slots[0];
fs/btrfs/root-tree.h
34
struct btrfs_path *path, struct btrfs_root_item *root_item,
fs/btrfs/scrub.c
1478
static int compare_extent_item_range(struct btrfs_path *path,
fs/btrfs/scrub.c
1481
struct btrfs_fs_info *fs_info = path->nodes[0]->fs_info;
fs/btrfs/scrub.c
1485
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/scrub.c
1517
struct btrfs_path *path,
fs/btrfs/scrub.c
1525
if (path->nodes[0])
fs/btrfs/scrub.c
1535
ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
fs/btrfs/scrub.c
1543
btrfs_release_path(path);
fs/btrfs/scrub.c
1551
ret = btrfs_previous_extent_item(extent_root, path, 0);
fs/btrfs/scrub.c
1560
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/scrub.c
1567
ret = compare_extent_item_range(path, search_start, search_len);
fs/btrfs/scrub.c
1573
ret = btrfs_next_item(extent_root, path);
fs/btrfs/scrub.c
1576
btrfs_release_path(path);
fs/btrfs/scrub.c
1580
btrfs_release_path(path);
fs/btrfs/scrub.c
1584
static void get_extent_info(struct btrfs_path *path, u64 *extent_start_ret,
fs/btrfs/scrub.c
1590
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/scrub.c
1595
*size_ret = path->nodes[0]->fs_info->nodesize;
fs/btrfs/scrub.c
1598
ei = btrfs_item_ptr(path->nodes[0], path->slots[0], struct btrfs_extent_item);
fs/btrfs/scrub.c
1599
*flags_ret = btrfs_extent_flags(path->nodes[0], ei);
fs/btrfs/scrub.c
1600
*generation_ret = btrfs_extent_generation(path->nodes[0], ei);
fs/btrfs/scrub.c
2663
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/scrub.c
2676
path = btrfs_alloc_path();
fs/btrfs/scrub.c
2677
if (!path)
fs/btrfs/scrub.c
2680
path->reada = READA_FORWARD;
fs/btrfs/scrub.c
2681
path->search_commit_root = true;
fs/btrfs/scrub.c
2682
path->skip_locking = true;
fs/btrfs/scrub.c
2691
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/scrub.c
2695
if (path->slots[0] >=
fs/btrfs/scrub.c
2696
btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/scrub.c
2697
ret = btrfs_next_leaf(root, path);
fs/btrfs/scrub.c
2709
l = path->nodes[0];
fs/btrfs/scrub.c
2710
slot = path->slots[0];
fs/btrfs/scrub.c
2946
btrfs_release_path(path);
fs/btrfs/scrub.c
315
struct btrfs_path *path;
fs/btrfs/scrub.c
523
ret = btrfs_search_slot(NULL, local_root, &key, swarn->path, 0, 0);
fs/btrfs/scrub.c
526
btrfs_release_path(swarn->path);
fs/btrfs/scrub.c
530
eb = swarn->path->nodes[0];
fs/btrfs/scrub.c
531
inode_item = btrfs_item_ptr(eb, swarn->path->slots[0],
fs/btrfs/scrub.c
534
btrfs_release_path(swarn->path);
fs/btrfs/scrub.c
542
ipath = init_ipath(4096, local_root, swarn->path);
fs/btrfs/scrub.c
587
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/scrub.c
602
path = btrfs_alloc_path();
fs/btrfs/scrub.c
603
if (!path)
fs/btrfs/scrub.c
611
ret = extent_from_logical(fs_info, swarn.logical, path, &found_key,
fs/btrfs/scrub.c
618
eb = path->nodes[0];
fs/btrfs/scrub.c
619
ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item);
fs/btrfs/scrub.c
620
item_size = btrfs_item_size(eb, path->slots[0]);
fs/btrfs/scrub.c
645
btrfs_release_path(path);
fs/btrfs/scrub.c
649
btrfs_release_path(path);
fs/btrfs/scrub.c
655
swarn.path = path;
fs/btrfs/send.c
1094
static int iterate_dir_item(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/send.c
1124
eb = path->nodes[0];
fs/btrfs/send.c
1125
slot = path->slots[0];
fs/btrfs/send.c
1221
u64 ino, struct fs_path *path)
fs/btrfs/send.c
1231
fs_path_reset(path);
fs/btrfs/send.c
1249
ret = iterate_inode_ref(root, p, &found_key, true, __copy_first_ref, path);
fs/btrfs/send.c
1547
struct btrfs_path *path,
fs/btrfs/send.c
1558
struct extent_buffer *eb = path->nodes[0];
fs/btrfs/send.c
1574
fi = btrfs_item_ptr(eb, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/send.c
1709
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
1717
path = alloc_path_for_send();
fs/btrfs/send.c
1718
if (!path)
fs/btrfs/send.c
1724
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/send.c
1742
ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
1744
type = btrfs_file_extent_type(path->nodes[0], ei);
fs/btrfs/send.c
1752
compression = btrfs_file_extent_compression(path->nodes[0], ei);
fs/btrfs/send.c
1762
len = btrfs_file_extent_ram_bytes(path->nodes[0], ei);
fs/btrfs/send.c
1764
return fs_path_add_from_extent_buffer(dest, path->nodes[0], off, len);
fs/btrfs/send.c
1775
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
1781
path = alloc_path_for_send();
fs/btrfs/send.c
1782
if (!path)
fs/btrfs/send.c
1795
path, BTRFS_FIRST_FREE_OBJECTID,
fs/btrfs/send.c
1797
btrfs_release_path(path);
fs/btrfs/send.c
1813
path, BTRFS_FIRST_FREE_OBJECTID,
fs/btrfs/send.c
1815
btrfs_release_path(path);
fs/btrfs/send.c
1940
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
1943
path = alloc_path_for_send();
fs/btrfs/send.c
1944
if (!path)
fs/btrfs/send.c
1947
di = btrfs_lookup_dir_item(NULL, root, path, dir, &name_str, 0);
fs/btrfs/send.c
1951
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &key);
fs/btrfs/send.c
1970
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
1974
path = alloc_path_for_send();
fs/btrfs/send.c
1975
if (!path)
fs/btrfs/send.c
1982
ret = btrfs_search_slot_for_read(root, &key, path, 1, 0);
fs/btrfs/send.c
1986
btrfs_item_key_to_cpu(path->nodes[0], &found_key,
fs/btrfs/send.c
1987
path->slots[0]);
fs/btrfs/send.c
1995
iref = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
1997
len = btrfs_inode_ref_name_len(path->nodes[0], iref);
fs/btrfs/send.c
1998
ret = fs_path_add_from_extent_buffer(name, path->nodes[0],
fs/btrfs/send.c
2004
extref = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
2006
len = btrfs_inode_extref_name_len(path->nodes[0], extref);
fs/btrfs/send.c
2007
ret = fs_path_add_from_extent_buffer(name, path->nodes[0],
fs/btrfs/send.c
2009
parent_dir = btrfs_inode_extref_parent(path->nodes[0], extref);
fs/btrfs/send.c
2013
btrfs_release_path(path);
fs/btrfs/send.c
2458
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
2465
path = btrfs_alloc_path();
fs/btrfs/send.c
2466
if (!path)
fs/btrfs/send.c
2478
&key, path, 1, 0);
fs/btrfs/send.c
2484
leaf = path->nodes[0];
fs/btrfs/send.c
2485
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/send.c
2490
ref = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_root_ref);
fs/btrfs/send.c
2493
btrfs_release_path(path);
fs/btrfs/send.c
2549
struct fs_path *path;
fs/btrfs/send.c
2555
path = fs_path_alloc();
fs/btrfs/send.c
2556
if (!path)
fs/btrfs/send.c
2559
ret = get_cur_path(sctx, ino, gen, path);
fs/btrfs/send.c
2561
fs_path_free(path);
fs/btrfs/send.c
2565
return path;
fs/btrfs/send.c
2568
static void free_path_for_command(const struct send_ctx *sctx, struct fs_path *path)
fs/btrfs/send.c
2570
if (path != &sctx->cur_inode_path)
fs/btrfs/send.c
2571
fs_path_free(path);
fs/btrfs/send.c
2679
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
2688
path = alloc_path_for_send();
fs/btrfs/send.c
2689
if (!path) {
fs/btrfs/send.c
2697
ret = btrfs_search_slot(NULL, sctx->send_root, &key, path, 0, 0);
fs/btrfs/send.c
2703
eb = path->nodes[0];
fs/btrfs/send.c
2704
slot = path->slots[0];
fs/btrfs/send.c
2893
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
2902
path = alloc_path_for_send();
fs/btrfs/send.c
2903
if (!path)
fs/btrfs/send.c
2910
btrfs_for_each_slot(sctx->send_root, &key, &found_key, path, iter_ret) {
fs/btrfs/send.c
2911
struct extent_buffer *eb = path->nodes[0];
fs/btrfs/send.c
2919
di = btrfs_item_ptr(eb, path->slots[0], struct btrfs_dir_item);
fs/btrfs/send.c
2996
static void set_ref_path(struct recorded_ref *ref, struct fs_path *path)
fs/btrfs/send.c
2998
ref->full_path = path;
fs/btrfs/send.c
3039
struct fs_path *path)
fs/btrfs/send.c
3052
ret = send_rename(sctx, path, orphan);
fs/btrfs/send.c
3147
struct btrfs_path *path;
fs/btrfs/send.c
3166
path = alloc_path_for_send();
fs/btrfs/send.c
3167
if (!path)
fs/btrfs/send.c
3183
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/send.c
3188
ASSERT(path->slots[0] > 0);
fs/btrfs/send.c
3189
if (WARN_ON(path->slots[0] == 0)) {
fs/btrfs/send.c
3193
path->slots[0]--;
fs/btrfs/send.c
3196
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/send.c
3203
di = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
3205
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &loc);
fs/btrfs/send.c
3212
btrfs_release_path(path);
fs/btrfs/send.c
3219
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/send.c
3226
di = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
3228
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &loc);
fs/btrfs/send.c
3255
btrfs_free_path(path);
fs/btrfs/send.c
3712
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
3724
path = alloc_path_for_send();
fs/btrfs/send.c
3725
if (!path)
fs/btrfs/send.c
3732
ret = btrfs_search_slot(NULL, sctx->parent_root, &key, path, 0, 0);
fs/btrfs/send.c
3738
di = btrfs_match_dir_item_name(path, parent_ref->name,
fs/btrfs/send.c
3750
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &di_key);
fs/btrfs/send.c
3829
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
3839
path = alloc_path_for_send();
fs/btrfs/send.c
3840
if (!path) {
fs/btrfs/send.c
3849
btrfs_for_each_slot(root, &key, &key, path, iter_ret) {
fs/btrfs/send.c
3850
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/send.c
3851
int slot = path->slots[0];
fs/btrfs/send.c
4647
struct fs_path *path = NULL;
fs/btrfs/send.c
4650
path = fs_path_alloc();
fs/btrfs/send.c
4651
if (!path) {
fs/btrfs/send.c
4662
ret = get_cur_path(sctx, dir, dir_gen, path);
fs/btrfs/send.c
4665
ret = fs_path_add_path(path, name);
fs/btrfs/send.c
4671
set_ref_path(ref, path);
fs/btrfs/send.c
4677
if (path && (!ref || !ref->full_path))
fs/btrfs/send.c
4678
fs_path_free(path);
fs/btrfs/send.c
4792
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
4798
path = alloc_path_for_send();
fs/btrfs/send.c
4799
if (!path)
fs/btrfs/send.c
4817
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/send.c
4823
ret = iterate_inode_ref(root, path, &found_key, false, cb, sctx);
fs/btrfs/send.c
4831
btrfs_release_path(path);
fs/btrfs/send.c
4845
struct fs_path *path;
fs/btrfs/send.c
4848
path = get_cur_inode_path(sctx);
fs/btrfs/send.c
4849
if (IS_ERR(path))
fs/btrfs/send.c
4850
return PTR_ERR(path);
fs/btrfs/send.c
4856
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
4867
struct fs_path *path,
fs/btrfs/send.c
4876
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
4970
struct btrfs_path *path,
fs/btrfs/send.c
4985
ret = iterate_dir_item(root, path, __find_xattr, &ctx);
fs/btrfs/send.c
5067
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
5071
path = alloc_path_for_send();
fs/btrfs/send.c
5072
if (!path)
fs/btrfs/send.c
5080
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/send.c
5087
ret = iterate_dir_item(root, path, __process_new_xattr, sctx);
fs/btrfs/send.c
5098
static int send_verity(struct send_ctx *sctx, struct fs_path *path,
fs/btrfs/send.c
5107
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
5394
struct fs_path *path;
fs/btrfs/send.c
5397
path = get_cur_inode_path(sctx);
fs/btrfs/send.c
5398
if (IS_ERR(path))
fs/btrfs/send.c
5399
return PTR_ERR(path);
fs/btrfs/send.c
5405
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
5477
struct btrfs_path *path, u64 offset,
fs/btrfs/send.c
5482
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/send.c
5497
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/send.c
5498
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/send.c
5500
inline_size = btrfs_file_extent_inline_item_len(leaf, path->slots[0]);
fs/btrfs/send.c
5527
static int send_encoded_extent(struct send_ctx *sctx, struct btrfs_path *path,
fs/btrfs/send.c
5534
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/send.c
5557
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/send.c
5558
ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_file_extent_item);
fs/btrfs/send.c
5628
static int send_extent_data(struct send_ctx *sctx, struct btrfs_path *path,
fs/btrfs/send.c
5632
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/send.c
5640
ei = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/send.c
5656
path->slots[0]) <= len) {
fs/btrfs/send.c
5657
return send_encoded_inline_extent(sctx, path, offset,
fs/btrfs/send.c
5661
return send_encoded_extent(sctx, path, offset, len);
fs/btrfs/send.c
5752
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
5760
path = alloc_path_for_send();
fs/btrfs/send.c
5761
if (!path)
fs/btrfs/send.c
5764
di = btrfs_lookup_xattr(NULL, sctx->send_root, path, sctx->cur_ino,
fs/btrfs/send.c
5773
leaf = path->nodes[0];
fs/btrfs/send.c
5792
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
5817
path = alloc_path_for_send();
fs/btrfs/send.c
5818
if (!path)
fs/btrfs/send.c
5826
btrfs_release_path(path);
fs/btrfs/send.c
5856
ret = btrfs_search_slot(NULL, clone_root->root, &key, path, 0, 0);
fs/btrfs/send.c
5859
if (ret > 0 && path->slots[0] > 0) {
fs/btrfs/send.c
5860
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0] - 1);
fs/btrfs/send.c
5863
path->slots[0]--;
fs/btrfs/send.c
5867
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/send.c
5868
int slot = path->slots[0];
fs/btrfs/send.c
5877
ret = btrfs_next_leaf(clone_root->root, path);
fs/btrfs/send.c
6045
path->slots[0]++;
fs/btrfs/send.c
6056
struct btrfs_path *path,
fs/btrfs/send.c
6070
end = min_t(u64, btrfs_file_extent_end(path), sctx->cur_inode_size);
fs/btrfs/send.c
6119
ret = send_extent_data(sctx, path, offset, num_bytes);
fs/btrfs/send.c
6124
ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
6126
disk_byte = btrfs_file_extent_disk_bytenr(path->nodes[0], ei);
fs/btrfs/send.c
6127
data_offset = btrfs_file_extent_offset(path->nodes[0], ei);
fs/btrfs/send.c
6128
ret = clone_range(sctx, path, clone_root, disk_byte, data_offset, offset,
fs/btrfs/send.c
6140
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
6157
path = alloc_path_for_send();
fs/btrfs/send.c
6158
if (!path)
fs/btrfs/send.c
6198
ret = btrfs_search_slot_for_read(sctx->parent_root, &key, path, 0, 0);
fs/btrfs/send.c
6207
eb = path->nodes[0];
fs/btrfs/send.c
6208
slot = path->slots[0];
fs/btrfs/send.c
623
const struct fs_path *path)
fs/btrfs/send.c
627
return (strncmp(path->start, cur->start, fs_path_len(cur)) == 0);
fs/btrfs/send.c
6276
ret = btrfs_next_item(sctx->parent_root, path);
fs/btrfs/send.c
6280
eb = path->nodes[0];
fs/btrfs/send.c
6281
slot = path->slots[0];
fs/btrfs/send.c
6309
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
6314
path = alloc_path_for_send();
fs/btrfs/send.c
6315
if (!path)
fs/btrfs/send.c
632
struct btrfs_path *path;
fs/btrfs/send.c
6323
ret = btrfs_search_slot_for_read(root, &key, path, 0, 1);
fs/btrfs/send.c
6327
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/send.c
6331
sctx->cur_inode_last_extent = btrfs_file_extent_end(path);
fs/btrfs/send.c
6339
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
634
path = btrfs_alloc_path();
fs/btrfs/send.c
6345
path = alloc_path_for_send();
fs/btrfs/send.c
6346
if (!path)
fs/btrfs/send.c
635
if (!path)
fs/btrfs/send.c
6352
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/send.c
6355
if (ret > 0 && path->slots[0] > 0)
fs/btrfs/send.c
6356
path->slots[0]--;
fs/btrfs/send.c
6359
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/send.c
6360
int slot = path->slots[0];
fs/btrfs/send.c
6365
ret = btrfs_next_leaf(root, path);
fs/btrfs/send.c
637
path->search_commit_root = true;
fs/btrfs/send.c
638
path->skip_locking = true;
fs/btrfs/send.c
6383
extent_end = btrfs_file_extent_end(path);
fs/btrfs/send.c
639
path->need_commit_sem = true;
fs/btrfs/send.c
6394
path->slots[0]++;
fs/btrfs/send.c
6399
static int maybe_send_hole(struct send_ctx *sctx, struct btrfs_path *path,
fs/btrfs/send.c
640
return path;
fs/btrfs/send.c
6418
(path->slots[0] == 0 && sctx->cur_inode_last_extent < key->offset)) {
fs/btrfs/send.c
6435
sctx->cur_inode_last_extent = btrfs_file_extent_end(path);
fs/btrfs/send.c
6440
struct btrfs_path *path,
fs/btrfs/send.c
6450
ret = is_extent_unchanged(sctx, path, key);
fs/btrfs/send.c
6459
ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
6461
type = btrfs_file_extent_type(path->nodes[0], ei);
fs/btrfs/send.c
6474
if (btrfs_file_extent_disk_bytenr(path->nodes[0], ei) == 0)
fs/btrfs/send.c
6479
ret = find_extent_clone(sctx, path, key->objectid, key->offset,
fs/btrfs/send.c
6484
ret = send_write_or_clone(sctx, path, key, found_clone);
fs/btrfs/send.c
6488
return maybe_send_hole(sctx, path, key);
fs/btrfs/send.c
6496
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
6501
path = alloc_path_for_send();
fs/btrfs/send.c
6502
if (!path)
fs/btrfs/send.c
6508
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/send.c
6515
ret = process_extent(sctx, path, &found_key);
fs/btrfs/send.c
7089
static int compare_refs(struct send_ctx *sctx, struct btrfs_path *path,
fs/btrfs/send.c
7107
leaf = path->nodes[0];
fs/btrfs/send.c
7108
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/send.c
7109
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/send.c
7233
struct btrfs_path *path,
fs/btrfs/send.c
7238
if (!path->need_commit_sem)
fs/btrfs/send.c
7248
ret = btrfs_search_slot(NULL, root, key, path, 0, 0);
fs/btrfs/send.c
7251
btrfs_print_tree(path->nodes[path->lowest_level], false);
fs/btrfs/send.c
7256
btrfs_root_id(root), path->lowest_level,
fs/btrfs/send.c
7257
path->slots[path->lowest_level]);
fs/btrfs/send.c
7270
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
7272
path = alloc_path_for_send();
fs/btrfs/send.c
7273
if (!path)
fs/btrfs/send.c
7275
path->reada = READA_FORWARD_ALWAYS;
fs/btrfs/send.c
7285
ret = btrfs_search_slot_for_read(send_root, &key, path, 1, 0);
fs/btrfs/send.c
7292
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/send.c
7294
ret = changed_cb(path, NULL, &key,
fs/btrfs/send.c
7313
btrfs_release_path(path);
fs/btrfs/send.c
7314
ret = search_key_again(sctx, send_root, path, &key);
fs/btrfs/send.c
7321
ret = btrfs_next_item(send_root, path);
fs/btrfs/send.c
7334
static int replace_node_with_clone(struct btrfs_path *path, int level)
fs/btrfs/send.c
7338
clone = btrfs_clone_extent_buffer(path->nodes[level]);
fs/btrfs/send.c
7342
free_extent_buffer(path->nodes[level]);
fs/btrfs/send.c
7343
path->nodes[level] = clone;
fs/btrfs/send.c
7348
static int tree_move_down(struct btrfs_path *path, int *level, u64 reada_min_gen)
fs/btrfs/send.c
7351
struct extent_buffer *parent = path->nodes[*level];
fs/btrfs/send.c
7352
int slot = path->slots[*level];
fs/btrfs/send.c
7379
path->nodes[*level - 1] = eb;
fs/btrfs/send.c
7380
path->slots[*level - 1] = 0;
fs/btrfs/send.c
7384
return replace_node_with_clone(path, 0);
fs/btrfs/send.c
7389
static int tree_move_next_or_upnext(struct btrfs_path *path,
fs/btrfs/send.c
7394
nritems = btrfs_header_nritems(path->nodes[*level]);
fs/btrfs/send.c
7396
path->slots[*level]++;
fs/btrfs/send.c
7398
while (path->slots[*level] >= nritems) {
fs/btrfs/send.c
7400
path->slots[*level] = nritems - 1;
fs/btrfs/send.c
7405
path->slots[*level] = 0;
fs/btrfs/send.c
7406
free_extent_buffer(path->nodes[*level]);
fs/btrfs/send.c
7407
path->nodes[*level] = NULL;
fs/btrfs/send.c
7409
path->slots[*level]++;
fs/btrfs/send.c
7411
nritems = btrfs_header_nritems(path->nodes[*level]);
fs/btrfs/send.c
7421
static int tree_advance(struct btrfs_path *path,
fs/btrfs/send.c
7430
ret = tree_move_next_or_upnext(path, level, root_level);
fs/btrfs/send.c
7432
ret = tree_move_down(path, level, reada_min_gen);
fs/btrfs/send.c
7442
btrfs_item_key_to_cpu(path->nodes[*level], key,
fs/btrfs/send.c
7443
path->slots[*level]);
fs/btrfs/send.c
7445
btrfs_node_key_to_cpu(path->nodes[*level], key,
fs/btrfs/send.c
7446
path->slots[*level]);
fs/btrfs/send.c
842
struct fs_path *path, struct fs_path *lnk)
fs/btrfs/send.c
850
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
862
static int send_unlink(struct send_ctx *sctx, struct fs_path *path)
fs/btrfs/send.c
870
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
881
static int send_rmdir(struct send_ctx *sctx, struct fs_path *path)
fs/btrfs/send.c
889
TLV_PUT_PATH(sctx, BTRFS_SEND_A_PATH, path);
fs/btrfs/send.c
915
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/send.c
919
path = alloc_path_for_send();
fs/btrfs/send.c
920
if (!path)
fs/btrfs/send.c
926
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/send.c
936
ii = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/send.c
938
info->size = btrfs_inode_size(path->nodes[0], ii);
fs/btrfs/send.c
939
info->gen = btrfs_inode_generation(path->nodes[0], ii);
fs/btrfs/send.c
940
info->mode = btrfs_inode_mode(path->nodes[0], ii);
fs/btrfs/send.c
941
info->uid = btrfs_inode_uid(path->nodes[0], ii);
fs/btrfs/send.c
942
info->gid = btrfs_inode_gid(path->nodes[0], ii);
fs/btrfs/send.c
943
info->rdev = btrfs_inode_rdev(path->nodes[0], ii);
fs/btrfs/send.c
944
info->nlink = btrfs_inode_nlink(path->nodes[0], ii);
fs/btrfs/send.c
949
info->fileattr = btrfs_inode_flags(path->nodes[0], ii);
fs/btrfs/send.c
976
static int iterate_inode_ref(struct btrfs_root *root, struct btrfs_path *path,
fs/btrfs/send.c
980
struct extent_buffer *eb = path->nodes[0];
fs/btrfs/send.c
987
int slot = path->slots[0];
fs/btrfs/super.c
808
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/super.c
814
path = btrfs_alloc_path();
fs/btrfs/super.c
815
if (!path)
fs/btrfs/super.c
835
ret = btrfs_search_backwards(root, &key, path);
fs/btrfs/super.c
845
root_ref = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/super.c
847
len = btrfs_root_ref_name_len(path->nodes[0], root_ref);
fs/btrfs/super.c
853
read_extent_buffer(path->nodes[0], ptr + 1,
fs/btrfs/super.c
856
dirid = btrfs_root_ref_dirid(path->nodes[0], root_ref);
fs/btrfs/super.c
857
btrfs_release_path(path);
fs/btrfs/super.c
875
ret = btrfs_search_backwards(fs_root, &key, path);
fs/btrfs/super.c
885
inode_ref = btrfs_item_ptr(path->nodes[0],
fs/btrfs/super.c
886
path->slots[0],
fs/btrfs/super.c
888
len = btrfs_inode_ref_name_len(path->nodes[0],
fs/btrfs/super.c
895
read_extent_buffer(path->nodes[0], ptr + 1,
fs/btrfs/super.c
898
btrfs_release_path(path);
fs/btrfs/super.c
922
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/super.c
927
path = btrfs_alloc_path();
fs/btrfs/super.c
928
if (!path)
fs/btrfs/super.c
937
di = btrfs_lookup_dir_item(NULL, root, path, dir_id, &name, 0);
fs/btrfs/super.c
951
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location);
fs/btrfs/tests/extent-buffer-tests.c
138
ret = btrfs_split_item(NULL, root, path, &key, 4);
fs/btrfs/tests/extent-buffer-tests.c
16
struct btrfs_path *path = NULL;
fs/btrfs/tests/extent-buffer-tests.c
213
btrfs_free_path(path);
fs/btrfs/tests/extent-buffer-tests.c
44
path = btrfs_alloc_path();
fs/btrfs/tests/extent-buffer-tests.c
45
if (!path) {
fs/btrfs/tests/extent-buffer-tests.c
52
path->nodes[0] = eb;
fs/btrfs/tests/extent-buffer-tests.c
58
path->slots[0] = 0;
fs/btrfs/tests/extent-buffer-tests.c
68
btrfs_setup_item_for_insert(NULL, root, path, &key, value_len);
fs/btrfs/tests/extent-buffer-tests.c
79
ret = btrfs_split_item(NULL, root, path, &key, 17);
fs/btrfs/tests/free-space-tree-tests.c
110
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
118
info = btrfs_search_free_space_info(trans, cache, path, 0);
fs/btrfs/tests/free-space-tree-tests.c
121
btrfs_release_path(path);
fs/btrfs/tests/free-space-tree-tests.c
124
flags = btrfs_free_space_flags(path->nodes[0], info);
fs/btrfs/tests/free-space-tree-tests.c
125
btrfs_release_path(path);
fs/btrfs/tests/free-space-tree-tests.c
127
ret = __check_free_space_extents(trans, fs_info, cache, path, extents,
fs/btrfs/tests/free-space-tree-tests.c
134
ret = btrfs_convert_free_space_to_extents(trans, cache, path);
fs/btrfs/tests/free-space-tree-tests.c
140
ret = btrfs_convert_free_space_to_bitmaps(trans, cache, path);
fs/btrfs/tests/free-space-tree-tests.c
146
return __check_free_space_extents(trans, fs_info, cache, path, extents,
fs/btrfs/tests/free-space-tree-tests.c
153
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
160
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
167
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
173
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
180
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
187
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
195
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
202
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
210
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
218
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
226
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
23
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
233
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
242
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
250
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
257
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
265
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
272
ret = __btrfs_add_to_free_space_tree(trans, cache, path, cache->start,
fs/btrfs/tests/free-space-tree-tests.c
279
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
286
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
293
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
301
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
308
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
316
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
323
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
330
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
338
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
345
ret = __btrfs_add_to_free_space_tree(trans, cache, path, cache->start,
fs/btrfs/tests/free-space-tree-tests.c
35
info = btrfs_search_free_space_info(trans, cache, path, 0);
fs/btrfs/tests/free-space-tree-tests.c
352
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
359
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
366
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
373
struct btrfs_path *path,
fs/btrfs/tests/free-space-tree-tests.c
383
ret = __btrfs_remove_from_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
390
ret = __btrfs_add_to_free_space_tree(trans, cache, path, cache->start,
fs/btrfs/tests/free-space-tree-tests.c
397
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
404
ret = __btrfs_add_to_free_space_tree(trans, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
41
flags = btrfs_free_space_flags(path->nodes[0], info);
fs/btrfs/tests/free-space-tree-tests.c
411
return check_free_space_extents(trans, fs_info, cache, path,
fs/btrfs/tests/free-space-tree-tests.c
42
extent_count = btrfs_free_space_extent_count(path->nodes[0], info);
fs/btrfs/tests/free-space-tree-tests.c
428
struct btrfs_path *path = NULL;
fs/btrfs/tests/free-space-tree-tests.c
476
path = btrfs_alloc_path();
fs/btrfs/tests/free-space-tree-tests.c
477
if (!path) {
fs/btrfs/tests/free-space-tree-tests.c
490
ret = btrfs_convert_free_space_to_bitmaps(&trans, cache, path);
fs/btrfs/tests/free-space-tree-tests.c
497
ret = test_func(&trans, root->fs_info, cache, path, alignment);
fs/btrfs/tests/free-space-tree-tests.c
50
if (path->slots[0] != 0)
fs/btrfs/tests/free-space-tree-tests.c
515
btrfs_free_path(path);
fs/btrfs/tests/free-space-tree-tests.c
54
while (++path->slots[0] < btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/tests/free-space-tree-tests.c
55
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/tests/free-space-tree-tests.c
60
bit = btrfs_free_space_test_bit(cache, path, offset);
fs/btrfs/tests/free-space-tree-tests.c
84
if (btrfs_header_nritems(path->nodes[0]) != num_extents + 1 ||
fs/btrfs/tests/free-space-tree-tests.c
85
path->slots[0] != 0)
fs/btrfs/tests/free-space-tree-tests.c
88
path->slots[0]++;
fs/btrfs/tests/free-space-tree-tests.c
89
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/tests/free-space-tree-tests.c
99
btrfs_release_path(path);
fs/btrfs/tests/inode-tests.c
20
struct btrfs_path path;
fs/btrfs/tests/inode-tests.c
28
memset(&path, 0, sizeof(path));
fs/btrfs/tests/inode-tests.c
30
path.nodes[0] = leaf;
fs/btrfs/tests/inode-tests.c
31
path.slots[0] = slot;
fs/btrfs/tests/inode-tests.c
41
btrfs_setup_item_for_insert(NULL, root, &path, &key, value_len);
fs/btrfs/tests/inode-tests.c
57
struct btrfs_path path;
fs/btrfs/tests/inode-tests.c
62
memset(&path, 0, sizeof(path));
fs/btrfs/tests/inode-tests.c
64
path.nodes[0] = leaf;
fs/btrfs/tests/inode-tests.c
65
path.slots[0] = 0;
fs/btrfs/tests/inode-tests.c
75
btrfs_setup_item_for_insert(NULL, root, &path, &key, value_len);
fs/btrfs/tests/qgroup-tests.c
109
ret = btrfs_insert_empty_item(&trans, root, path, &key, 0);
fs/btrfs/tests/qgroup-tests.c
120
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tests/qgroup-tests.c
129
path = btrfs_alloc_path();
fs/btrfs/tests/qgroup-tests.c
130
if (!path) {
fs/btrfs/tests/qgroup-tests.c
135
ret = btrfs_search_slot(&trans, root, &key, path, -1, 1);
fs/btrfs/tests/qgroup-tests.c
140
btrfs_del_item(&trans, root, path);
fs/btrfs/tests/qgroup-tests.c
149
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tests/qgroup-tests.c
160
path = btrfs_alloc_path();
fs/btrfs/tests/qgroup-tests.c
161
if (!path) {
fs/btrfs/tests/qgroup-tests.c
166
ret = btrfs_search_slot(&trans, root, &key, path, 0, 1);
fs/btrfs/tests/qgroup-tests.c
172
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tests/qgroup-tests.c
174
refs = btrfs_extent_refs(path->nodes[0], item);
fs/btrfs/tests/qgroup-tests.c
175
btrfs_set_extent_refs(path->nodes[0], item, refs - 1);
fs/btrfs/tests/qgroup-tests.c
176
btrfs_release_path(path);
fs/btrfs/tests/qgroup-tests.c
187
ret = btrfs_search_slot(&trans, root, &key, path, -1, 1);
fs/btrfs/tests/qgroup-tests.c
192
btrfs_del_item(&trans, root, path);
fs/btrfs/tests/qgroup-tests.c
23
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tests/qgroup-tests.c
35
path = btrfs_alloc_path();
fs/btrfs/tests/qgroup-tests.c
36
if (!path) {
fs/btrfs/tests/qgroup-tests.c
41
ret = btrfs_insert_empty_item(&trans, root, path, &ins, size);
fs/btrfs/tests/qgroup-tests.c
47
leaf = path->nodes[0];
fs/btrfs/tests/qgroup-tests.c
48
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
fs/btrfs/tests/qgroup-tests.c
71
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tests/qgroup-tests.c
82
path = btrfs_alloc_path();
fs/btrfs/tests/qgroup-tests.c
83
if (!path) {
fs/btrfs/tests/qgroup-tests.c
88
ret = btrfs_search_slot(&trans, root, &key, path, 0, 1);
fs/btrfs/tests/qgroup-tests.c
94
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tests/qgroup-tests.c
96
refs = btrfs_extent_refs(path->nodes[0], item);
fs/btrfs/tests/qgroup-tests.c
97
btrfs_set_extent_refs(path->nodes[0], item, refs + 1);
fs/btrfs/tests/qgroup-tests.c
98
btrfs_release_path(path);
fs/btrfs/transaction.c
1662
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/transaction.c
1675
ASSERT(pending->path);
fs/btrfs/transaction.c
1676
path = pending->path;
fs/btrfs/transaction.c
1737
dir_item = btrfs_lookup_dir_item(NULL, parent_root, path,
fs/btrfs/transaction.c
1748
btrfs_release_path(path);
fs/btrfs/transaction.c
1942
pending->path = NULL;
fs/btrfs/transaction.h
182
struct btrfs_path *path;
fs/btrfs/tree-log.c
1135
struct btrfs_path *path,
fs/btrfs/tree-log.c
1143
di = btrfs_lookup_dir_index_item(NULL, root, path, dirid,
fs/btrfs/tree-log.c
1149
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location);
fs/btrfs/tree-log.c
1156
btrfs_release_path(path);
fs/btrfs/tree-log.c
1157
di = btrfs_lookup_dir_item(NULL, root, path, dirid, name, 0);
fs/btrfs/tree-log.c
1162
btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location);
fs/btrfs/tree-log.c
1167
btrfs_release_path(path);
fs/btrfs/tree-log.c
1186
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tree-log.c
1189
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
1190
if (!path)
fs/btrfs/tree-log.c
1193
ret = btrfs_search_slot(NULL, log, key, path, 0, 0);
fs/btrfs/tree-log.c
1200
ret = !!btrfs_find_name_in_ext_backref(path->nodes[0],
fs/btrfs/tree-log.c
1201
path->slots[0],
fs/btrfs/tree-log.c
1204
ret = !!btrfs_find_name_in_backref(path->nodes[0],
fs/btrfs/tree-log.c
1205
path->slots[0], name);
fs/btrfs/tree-log.c
1770
static int count_inode_extrefs(struct btrfs_inode *inode, struct btrfs_path *path)
fs/btrfs/tree-log.c
1785
path, &extref, &offset);
fs/btrfs/tree-log.c
1789
leaf = path->nodes[0];
fs/btrfs/tree-log.c
1790
item_size = btrfs_item_size(leaf, path->slots[0]);
fs/btrfs/tree-log.c
1791
ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
fs/btrfs/tree-log.c
1804
btrfs_release_path(path);
fs/btrfs/tree-log.c
1806
btrfs_release_path(path);
fs/btrfs/tree-log.c
1813
static int count_inode_refs(struct btrfs_inode *inode, struct btrfs_path *path)
fs/btrfs/tree-log.c
1828
ret = btrfs_search_slot(NULL, inode->root, &key, path, 0, 0);
fs/btrfs/tree-log.c
1832
if (path->slots[0] == 0)
fs/btrfs/tree-log.c
1834
path->slots[0]--;
fs/btrfs/tree-log.c
1837
btrfs_item_key_to_cpu(path->nodes[0], &key,
fs/btrfs/tree-log.c
1838
path->slots[0]);
fs/btrfs/tree-log.c
1842
ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]);
fs/btrfs/tree-log.c
1843
ptr_end = ptr + btrfs_item_size(path->nodes[0],
fs/btrfs/tree-log.c
1844
path->slots[0]);
fs/btrfs/tree-log.c
1849
name_len = btrfs_inode_ref_name_len(path->nodes[0],
fs/btrfs/tree-log.c
1857
if (path->slots[0] > 0) {
fs/btrfs/tree-log.c
1858
path->slots[0]--;
fs/btrfs/tree-log.c
1862
btrfs_release_path(path);
fs/btrfs/tree-log.c
1864
btrfs_release_path(path);
fs/btrfs/tree-log.c
2348
struct btrfs_path *path,
fs/btrfs/tree-log.c
2365
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
2369
if (path->slots[0] == 0)
fs/btrfs/tree-log.c
2371
path->slots[0]--;
fs/btrfs/tree-log.c
2374
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/tree-log.c
2380
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tree-log.c
2382
found_end = btrfs_dir_log_end(path->nodes[0], item);
fs/btrfs/tree-log.c
2393
nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/tree-log.c
2394
path->slots[0]++;
fs/btrfs/tree-log.c
2395
if (path->slots[0] >= nritems) {
fs/btrfs/tree-log.c
2396
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
2401
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/tree-log.c
2407
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tree-log.c
2409
found_end = btrfs_dir_log_end(path->nodes[0], item);
fs/btrfs/tree-log.c
2414
btrfs_release_path(path);
fs/btrfs/tree-log.c
2887
drop_args.path = wc->subvol_path;
fs/btrfs/tree-log.c
2995
static noinline int walk_down_log_tree(struct btrfs_path *path, int *level,
fs/btrfs/tree-log.c
3009
cur = path->nodes[*level];
fs/btrfs/tree-log.c
3013
if (path->slots[*level] >=
fs/btrfs/tree-log.c
3017
bytenr = btrfs_node_blockptr(cur, path->slots[*level]);
fs/btrfs/tree-log.c
3018
ptr_gen = btrfs_node_ptr_generation(cur, path->slots[*level]);
fs/btrfs/tree-log.c
3022
btrfs_node_key_to_cpu(cur, &check.first_key, path->slots[*level]);
fs/btrfs/tree-log.c
3043
path->slots[*level]++;
fs/btrfs/tree-log.c
3074
if (path->nodes[*level-1])
fs/btrfs/tree-log.c
3075
free_extent_buffer(path->nodes[*level-1]);
fs/btrfs/tree-log.c
3076
path->nodes[*level-1] = next;
fs/btrfs/tree-log.c
3078
path->slots[*level] = 0;
fs/btrfs/tree-log.c
3081
path->slots[*level] = btrfs_header_nritems(path->nodes[*level]);
fs/btrfs/tree-log.c
3087
static noinline int walk_up_log_tree(struct btrfs_path *path, int *level,
fs/btrfs/tree-log.c
3094
for (i = *level; i < BTRFS_MAX_LEVEL - 1 && path->nodes[i]; i++) {
fs/btrfs/tree-log.c
3095
slot = path->slots[i];
fs/btrfs/tree-log.c
3096
if (slot + 1 < btrfs_header_nritems(path->nodes[i])) {
fs/btrfs/tree-log.c
3097
path->slots[i]++;
fs/btrfs/tree-log.c
3102
ret = wc->process_func(path->nodes[*level], wc,
fs/btrfs/tree-log.c
3103
btrfs_header_generation(path->nodes[*level]),
fs/btrfs/tree-log.c
3109
ret = clean_log_buffer(wc->trans, path->nodes[*level]);
fs/btrfs/tree-log.c
3113
free_extent_buffer(path->nodes[*level]);
fs/btrfs/tree-log.c
3114
path->nodes[*level] = NULL;
fs/btrfs/tree-log.c
3132
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tree-log.c
3135
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
3136
if (!path)
fs/btrfs/tree-log.c
3141
path->nodes[level] = log->node;
fs/btrfs/tree-log.c
3143
path->slots[level] = 0;
fs/btrfs/tree-log.c
3146
wret = walk_down_log_tree(path, &level, wc);
fs/btrfs/tree-log.c
3152
wret = walk_up_log_tree(path, &level, wc);
fs/btrfs/tree-log.c
3160
if (path->nodes[orig_level]) {
fs/btrfs/tree-log.c
3161
ret = wc->process_func(path->nodes[orig_level], wc,
fs/btrfs/tree-log.c
3162
btrfs_header_generation(path->nodes[orig_level]),
fs/btrfs/tree-log.c
3167
ret = clean_log_buffer(wc->trans, path->nodes[orig_level]);
fs/btrfs/tree-log.c
3743
struct btrfs_path *path = path_in;
fs/btrfs/tree-log.c
3812
if (!path) {
fs/btrfs/tree-log.c
3813
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
3814
if (!path)
fs/btrfs/tree-log.c
3818
ret = btrfs_search_slot(NULL, inode->root->log_root, &key, path, 0, 0);
fs/btrfs/tree-log.c
3821
btrfs_release_path(path);
fs/btrfs/tree-log.c
3823
btrfs_free_path(path);
fs/btrfs/tree-log.c
3860
struct btrfs_path *path,
fs/btrfs/tree-log.c
3871
di = btrfs_lookup_dir_index_item(trans, log, path, dir_ino,
fs/btrfs/tree-log.c
3883
return btrfs_del_item(trans, log, path);
fs/btrfs/tree-log.c
3912
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tree-log.c
3923
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
3924
if (!path) {
fs/btrfs/tree-log.c
3936
ret = del_logged_dentry(trans, root->log_root, path, btrfs_ino(dir),
fs/btrfs/tree-log.c
3982
struct btrfs_path *path,
fs/btrfs/tree-log.c
3993
ret = btrfs_insert_empty_item(trans, log, path, &key, sizeof(*item));
fs/btrfs/tree-log.c
4004
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tree-log.c
4007
const u64 curr_end = btrfs_dir_log_end(path->nodes[0], item);
fs/btrfs/tree-log.c
4017
btrfs_set_dir_log_end(path->nodes[0], item, last_offset);
fs/btrfs/tree-log.c
4018
btrfs_release_path(path);
fs/btrfs/tree-log.c
4113
static int clone_leaf(struct btrfs_path *path, struct btrfs_log_ctx *ctx)
fs/btrfs/tree-log.c
4115
const int slot = path->slots[0];
fs/btrfs/tree-log.c
4118
copy_extent_buffer_full(ctx->scratch_eb, path->nodes[0]);
fs/btrfs/tree-log.c
4120
ctx->scratch_eb = btrfs_clone_extent_buffer(path->nodes[0]);
fs/btrfs/tree-log.c
4125
btrfs_release_path(path);
fs/btrfs/tree-log.c
4126
path->nodes[0] = ctx->scratch_eb;
fs/btrfs/tree-log.c
4127
path->slots[0] = slot;
fs/btrfs/tree-log.c
4139
struct btrfs_path *path,
fs/btrfs/tree-log.c
4146
const int nritems = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/tree-log.c
4158
ret = clone_leaf(path, ctx);
fs/btrfs/tree-log.c
4162
src = path->nodes[0];
fs/btrfs/tree-log.c
4164
for (int i = path->slots[0]; i < nritems; i++) {
fs/btrfs/tree-log.c
4252
struct btrfs_path *path,
fs/btrfs/tree-log.c
4269
ret = btrfs_search_forward(root, &min_key, path, trans->transid);
fs/btrfs/tree-log.c
4280
btrfs_release_path(path);
fs/btrfs/tree-log.c
4281
ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0);
fs/btrfs/tree-log.c
4283
btrfs_release_path(path);
fs/btrfs/tree-log.c
4286
ret = btrfs_previous_item(root, path, ino, BTRFS_DIR_INDEX_KEY);
fs/btrfs/tree-log.c
4296
btrfs_item_key_to_cpu(path->nodes[0], &tmp,
fs/btrfs/tree-log.c
4297
path->slots[0]);
fs/btrfs/tree-log.c
4308
ret = btrfs_previous_item(root, path, ino, BTRFS_DIR_INDEX_KEY);
fs/btrfs/tree-log.c
4312
btrfs_item_key_to_cpu(path->nodes[0], &tmp, path->slots[0]);
fs/btrfs/tree-log.c
4327
btrfs_release_path(path);
fs/btrfs/tree-log.c
4344
ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0);
fs/btrfs/tree-log.c
4346
ret = btrfs_next_item(root, path);
fs/btrfs/tree-log.c
4361
ret = process_dir_items_leaf(trans, inode, path, dst_path, ctx,
fs/btrfs/tree-log.c
4368
path->slots[0] = btrfs_header_nritems(path->nodes[0]);
fs/btrfs/tree-log.c
4374
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
4382
btrfs_item_key_to_cpu(path->nodes[0], &min_key, path->slots[0]);
fs/btrfs/tree-log.c
4387
if (btrfs_header_generation(path->nodes[0]) != trans->transid) {
fs/btrfs/tree-log.c
4401
btrfs_release_path(path);
fs/btrfs/tree-log.c
4407
btrfs_release_path(path);
fs/btrfs/tree-log.c
4424
ret = insert_dir_log_key(trans, log, path, ino,
fs/btrfs/tree-log.c
4441
struct btrfs_path *path,
fs/btrfs/tree-log.c
4462
ret = btrfs_search_slot(NULL, inode->root->log_root, &key, path, 0, 0);
fs/btrfs/tree-log.c
4477
if (path->slots[0] == 0)
fs/btrfs/tree-log.c
4487
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0] - 1);
fs/btrfs/tree-log.c
4492
btrfs_release_path(path);
fs/btrfs/tree-log.c
4511
struct btrfs_path *path,
fs/btrfs/tree-log.c
4519
ret = update_last_dir_index_offset(inode, path, ctx);
fs/btrfs/tree-log.c
4527
ret = log_dir_items(trans, inode, path, dst_path,
fs/btrfs/tree-log.c
4547
struct btrfs_path *path,
fs/btrfs/tree-log.c
4561
ret = btrfs_search_slot(trans, log, &key, path, -1, 1);
fs/btrfs/tree-log.c
4565
if (path->slots[0] == 0)
fs/btrfs/tree-log.c
4567
path->slots[0]--;
fs/btrfs/tree-log.c
4570
btrfs_item_key_to_cpu(path->nodes[0], &found_key,
fs/btrfs/tree-log.c
4571
path->slots[0]);
fs/btrfs/tree-log.c
4578
ret = btrfs_bin_search(path->nodes[0], 0, &found_key, &start_slot);
fs/btrfs/tree-log.c
4582
ret = btrfs_del_items(trans, log, path, start_slot,
fs/btrfs/tree-log.c
4583
path->slots[0] - start_slot + 1);
fs/btrfs/tree-log.c
4590
btrfs_release_path(path);
fs/btrfs/tree-log.c
4592
btrfs_release_path(path);
fs/btrfs/tree-log.c
4681
struct btrfs_root *log, struct btrfs_path *path,
fs/btrfs/tree-log.c
4700
ret = btrfs_search_slot(trans, log, &key, path, 0, 1);
fs/btrfs/tree-log.c
4714
ret = btrfs_insert_empty_item(trans, log, path, &key,
fs/btrfs/tree-log.c
4720
inode_item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tree-log.c
4722
fill_inode_item(trans, path->nodes[0], inode_item, &inode->vfs_inode,
fs/btrfs/tree-log.c
4724
btrfs_release_path(path);
fs/btrfs/tree-log.c
5144
struct btrfs_path *path,
fs/btrfs/tree-log.c
5193
drop_args.path = path;
fs/btrfs/tree-log.c
5208
ret = btrfs_insert_empty_item(trans, log, path, &key,
fs/btrfs/tree-log.c
5213
leaf = path->nodes[0];
fs/btrfs/tree-log.c
5215
btrfs_item_ptr_offset(leaf, path->slots[0]),
fs/btrfs/tree-log.c
5218
btrfs_release_path(path);
fs/btrfs/tree-log.c
5233
struct btrfs_path *path,
fs/btrfs/tree-log.c
5255
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
5267
ret = btrfs_previous_item(root, path, ino, BTRFS_EXTENT_DATA_KEY);
fs/btrfs/tree-log.c
5274
leaf = path->nodes[0];
fs/btrfs/tree-log.c
5275
slot = path->slots[0];
fs/btrfs/tree-log.c
5294
leaf = path->nodes[0];
fs/btrfs/tree-log.c
5295
slot = path->slots[0];
fs/btrfs/tree-log.c
5299
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
5305
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
5321
path->slots[0]++;
fs/btrfs/tree-log.c
5340
truncate_offset = btrfs_file_extent_end(path);
fs/btrfs/tree-log.c
5344
path->slots[0]++;
fs/btrfs/tree-log.c
5354
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
5357
btrfs_release_path(path);
fs/btrfs/tree-log.c
5363
struct btrfs_path *path,
fs/btrfs/tree-log.c
5424
ret = log_one_extent(trans, inode, em, path, ctx);
fs/btrfs/tree-log.c
5433
ret = btrfs_log_prealloc_extents(trans, inode, path, ctx);
fs/btrfs/tree-log.c
5464
struct btrfs_path *path, u64 *size_ret)
fs/btrfs/tree-log.c
5480
ret = btrfs_search_slot(NULL, inode->root->log_root, &key, path, 0, 0);
fs/btrfs/tree-log.c
5482
path->search_commit_root = true;
fs/btrfs/tree-log.c
5483
path->skip_locking = true;
fs/btrfs/tree-log.c
5484
ret = btrfs_search_slot(NULL, inode->root, &key, path, 0, 0);
fs/btrfs/tree-log.c
5485
path->search_commit_root = false;
fs/btrfs/tree-log.c
5486
path->skip_locking = false;
fs/btrfs/tree-log.c
5504
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tree-log.c
5506
*size_ret = btrfs_inode_size(path->nodes[0], item);
fs/btrfs/tree-log.c
5519
btrfs_release_path(path);
fs/btrfs/tree-log.c
5534
struct btrfs_path *path,
fs/btrfs/tree-log.c
5553
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
5558
int slot = path->slots[0];
fs/btrfs/tree-log.c
5559
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/tree-log.c
5564
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
5570
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
5585
path->slots[0]++;
fs/btrfs/tree-log.c
5590
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
5613
struct btrfs_path *path)
fs/btrfs/tree-log.c
5630
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
5635
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/tree-log.c
5637
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/tree-log.c
5638
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
5645
leaf = path->nodes[0];
fs/btrfs/tree-log.c
5648
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/tree-log.c
5661
btrfs_release_path(path);
fs/btrfs/tree-log.c
5675
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
5680
leaf = path->nodes[0];
fs/btrfs/tree-log.c
5683
prev_extent_end = btrfs_file_extent_end(path);
fs/btrfs/tree-log.c
5684
path->slots[0]++;
fs/btrfs/tree-log.c
5691
btrfs_release_path(path);
fs/btrfs/tree-log.c
5914
struct btrfs_path *path;
fs/btrfs/tree-log.c
5921
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
5922
if (!path)
fs/btrfs/tree-log.c
5940
btrfs_for_each_slot(root->log_root, &key, &found_key, path, iter_ret) {
fs/btrfs/tree-log.c
5941
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/tree-log.c
5956
di = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dir_item);
fs/btrfs/tree-log.c
5964
btrfs_release_path(path);
fs/btrfs/tree-log.c
5995
btrfs_release_path(path);
fs/btrfs/tree-log.c
6031
btrfs_free_path(path);
fs/btrfs/tree-log.c
6063
struct btrfs_path *path)
fs/btrfs/tree-log.c
6072
path->search_commit_root = true;
fs/btrfs/tree-log.c
6073
path->skip_locking = true;
fs/btrfs/tree-log.c
6075
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
6086
item = btrfs_item_ptr(path->nodes[0], path->slots[0],
fs/btrfs/tree-log.c
6088
if (S_ISDIR(btrfs_inode_mode(path->nodes[0], item)))
fs/btrfs/tree-log.c
6092
btrfs_release_path(path);
fs/btrfs/tree-log.c
6093
path->search_commit_root = false;
fs/btrfs/tree-log.c
6094
path->skip_locking = false;
fs/btrfs/tree-log.c
6128
struct btrfs_path *path,
fs/btrfs/tree-log.c
6172
ret = conflicting_inode_is_dir(root, ino, path);
fs/btrfs/tree-log.c
6364
struct btrfs_path *path,
fs/btrfs/tree-log.c
6378
ret = btrfs_search_forward(root, min_key, path, trans->transid);
fs/btrfs/tree-log.c
6408
ret = btrfs_check_ref_name_override(path->nodes[0],
fs/btrfs/tree-log.c
6409
path->slots[0], min_key, inode,
fs/btrfs/tree-log.c
6419
ins_start_slot = path->slots[0];
fs/btrfs/tree-log.c
6421
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
6428
btrfs_release_path(path);
fs/btrfs/tree-log.c
6429
ret = add_conflicting_inode(trans, root, path,
fs/btrfs/tree-log.c
6440
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
6449
if (ins_nr && ins_start_slot + ins_nr == path->slots[0]) {
fs/btrfs/tree-log.c
6453
ins_start_slot = path->slots[0];
fs/btrfs/tree-log.c
6458
ret = copy_items(trans, inode, dst_path, path, ins_start_slot,
fs/btrfs/tree-log.c
6463
ins_start_slot = path->slots[0];
fs/btrfs/tree-log.c
6465
path->slots[0]++;
fs/btrfs/tree-log.c
6466
if (path->slots[0] < btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/tree-log.c
6467
btrfs_item_key_to_cpu(path->nodes[0], min_key,
fs/btrfs/tree-log.c
6468
path->slots[0]);
fs/btrfs/tree-log.c
6472
ret = copy_items(trans, inode, dst_path, path,
fs/btrfs/tree-log.c
6479
btrfs_release_path(path);
fs/btrfs/tree-log.c
6498
ret = copy_items(trans, inode, dst_path, path, ins_start_slot,
fs/btrfs/tree-log.c
6509
btrfs_release_path(path);
fs/btrfs/tree-log.c
6518
struct btrfs_path *path,
fs/btrfs/tree-log.c
6525
ret = btrfs_insert_empty_items(trans, log, path, batch);
fs/btrfs/tree-log.c
6532
data_ptr = btrfs_item_ptr(path->nodes[0], path->slots[0], char);
fs/btrfs/tree-log.c
6533
write_extent_buffer(path->nodes[0], &curr->data,
fs/btrfs/tree-log.c
6536
path->slots[0]++;
fs/btrfs/tree-log.c
6539
btrfs_release_path(path);
fs/btrfs/tree-log.c
6546
struct btrfs_path *path,
fs/btrfs/tree-log.c
6604
ret = insert_delayed_items_batch(trans, log, path,
fs/btrfs/tree-log.c
6627
ret = insert_delayed_items_batch(trans, log, path, &batch, first);
fs/btrfs/tree-log.c
6640
struct btrfs_path *path,
fs/btrfs/tree-log.c
6674
ret = insert_dir_log_key(trans, inode->root->log_root, path,
fs/btrfs/tree-log.c
6686
struct btrfs_path *path,
fs/btrfs/tree-log.c
6692
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/tree-log.c
6694
int slot = path->slots[0] + 1;
fs/btrfs/tree-log.c
6714
return btrfs_del_items(trans, inode->root->log_root, path,
fs/btrfs/tree-log.c
6715
path->slots[0], slot - path->slots[0]);
fs/btrfs/tree-log.c
6720
struct btrfs_path *path,
fs/btrfs/tree-log.c
6743
ret = btrfs_search_slot(trans, log, &key, path, -1, 1);
fs/btrfs/tree-log.c
6747
ret = batch_delete_dir_index_items(trans, inode, path,
fs/btrfs/tree-log.c
6755
btrfs_release_path(path);
fs/btrfs/tree-log.c
6778
ret = insert_dir_log_key(trans, log, path, key.objectid,
fs/btrfs/tree-log.c
6794
struct btrfs_path *path,
fs/btrfs/tree-log.c
6808
return log_delayed_deletions_incremental(trans, inode, path,
fs/btrfs/tree-log.c
6811
return log_delayed_deletions_full(trans, inode, path, delayed_del_list,
fs/btrfs/tree-log.c
6902
struct btrfs_path *path;
fs/btrfs/tree-log.c
6919
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
6920
if (!path)
fs/btrfs/tree-log.c
6924
btrfs_free_path(path);
fs/btrfs/tree-log.c
7003
ret = inode_logged(trans, inode, path);
fs/btrfs/tree-log.c
7028
ret = drop_inode_items(trans, log, path, inode,
fs/btrfs/tree-log.c
7045
ret = get_inode_size_to_log(trans, inode, path, &logged_isize);
fs/btrfs/tree-log.c
7054
ret = drop_inode_items(trans, log, path,
fs/btrfs/tree-log.c
7072
ret = drop_inode_items(trans, log, path, inode,
fs/btrfs/tree-log.c
7109
path, dst_path, logged_isize,
fs/btrfs/tree-log.c
7115
btrfs_release_path(path);
fs/btrfs/tree-log.c
7117
ret = btrfs_log_all_xattrs(trans, inode, path, dst_path, ctx);
fs/btrfs/tree-log.c
7122
btrfs_release_path(path);
fs/btrfs/tree-log.c
7124
ret = btrfs_log_holes(trans, inode, path);
fs/btrfs/tree-log.c
7129
btrfs_release_path(path);
fs/btrfs/tree-log.c
7144
ret = btrfs_log_all_xattrs(trans, inode, path, dst_path, ctx);
fs/btrfs/tree-log.c
7147
btrfs_release_path(path);
fs/btrfs/tree-log.c
7164
ret = log_directory_changes(trans, inode, path, dst_path, ctx);
fs/btrfs/tree-log.c
7167
ret = log_delayed_insertion_items(trans, inode, path,
fs/btrfs/tree-log.c
7171
ret = log_delayed_deletion_items(trans, inode, path,
fs/btrfs/tree-log.c
7224
btrfs_free_path(path);
fs/btrfs/tree-log.c
7249
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tree-log.c
7254
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
7255
if (!path)
fs/btrfs/tree-log.c
7257
path->skip_locking = true;
fs/btrfs/tree-log.c
7258
path->search_commit_root = true;
fs/btrfs/tree-log.c
7263
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/tree-log.c
7268
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/tree-log.c
7269
int slot = path->slots[0];
fs/btrfs/tree-log.c
7275
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
7348
path->slots[0]++;
fs/btrfs/tree-log.c
7355
struct btrfs_path *path,
fs/btrfs/tree-log.c
7360
btrfs_item_key_to_cpu(path->nodes[0], &found_key, path->slots[0]);
fs/btrfs/tree-log.c
7370
btrfs_release_path(path);
fs/btrfs/tree-log.c
7392
ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0);
fs/btrfs/tree-log.c
7396
leaf = path->nodes[0];
fs/btrfs/tree-log.c
7397
slot = path->slots[0];
fs/btrfs/tree-log.c
7399
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
7404
leaf = path->nodes[0];
fs/btrfs/tree-log.c
7405
slot = path->slots[0];
fs/btrfs/tree-log.c
7461
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/tree-log.c
7472
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
7473
if (!path)
fs/btrfs/tree-log.c
7480
ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0);
fs/btrfs/tree-log.c
7484
path->slots[0]++;
fs/btrfs/tree-log.c
7487
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/tree-log.c
7488
int slot = path->slots[0];
fs/btrfs/tree-log.c
7492
ret = btrfs_next_leaf(root, path);
fs/btrfs/tree-log.c
7523
ret = log_new_ancestors(trans, root, path, ctx);
fs/btrfs/tree-log.c
7526
btrfs_release_path(path);
fs/btrfs/tree-log.c
7687
struct btrfs_path *path;
fs/btrfs/tree-log.c
7696
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
7697
if (!path)
fs/btrfs/tree-log.c
7727
ret = btrfs_search_slot(NULL, log_root_tree, &key, path, 0, 0);
fs/btrfs/tree-log.c
7734
if (path->slots[0] == 0)
fs/btrfs/tree-log.c
7736
path->slots[0]--;
fs/btrfs/tree-log.c
7738
btrfs_item_key_to_cpu(path->nodes[0], &found_key,
fs/btrfs/tree-log.c
7739
path->slots[0]);
fs/btrfs/tree-log.c
7740
btrfs_release_path(path);
fs/btrfs/tree-log.c
7796
wc.subvol_path = path;
fs/btrfs/tree-log.c
7831
btrfs_release_path(path);
fs/btrfs/tree-log.c
7846
btrfs_free_path(path);
fs/btrfs/tree-log.c
7861
btrfs_free_path(path);
fs/btrfs/tree-log.c
800
drop_args.path = wc->subvol_path;
fs/btrfs/tree-log.c
8046
struct btrfs_path *path;
fs/btrfs/tree-log.c
8057
path = btrfs_alloc_path();
fs/btrfs/tree-log.c
8058
if (!path) {
fs/btrfs/tree-log.c
8077
btrfs_free_path(path);
fs/btrfs/tree-log.c
8095
ret = del_logged_dentry(trans, log, path, btrfs_ino(old_dir),
fs/btrfs/tree-log.c
8102
btrfs_release_path(path);
fs/btrfs/tree-log.c
8103
ret = insert_dir_log_key(trans, log, path,
fs/btrfs/tree-log.c
8109
btrfs_free_path(path);
fs/btrfs/uuid-tree.c
100
path = btrfs_alloc_path();
fs/btrfs/uuid-tree.c
101
if (!path)
fs/btrfs/uuid-tree.c
104
ret = btrfs_insert_empty_item(trans, uuid_root, path, &key,
fs/btrfs/uuid-tree.c
108
eb = path->nodes[0];
fs/btrfs/uuid-tree.c
109
slot = path->slots[0];
fs/btrfs/uuid-tree.c
116
btrfs_extend_item(trans, path, sizeof(subid_le));
fs/btrfs/uuid-tree.c
117
eb = path->nodes[0];
fs/btrfs/uuid-tree.c
118
slot = path->slots[0];
fs/btrfs/uuid-tree.c
139
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/uuid-tree.c
154
path = btrfs_alloc_path();
fs/btrfs/uuid-tree.c
155
if (!path)
fs/btrfs/uuid-tree.c
158
ret = btrfs_search_slot(trans, uuid_root, &key, path, -1, 1);
fs/btrfs/uuid-tree.c
167
eb = path->nodes[0];
fs/btrfs/uuid-tree.c
168
slot = path->slots[0];
fs/btrfs/uuid-tree.c
191
return btrfs_del_item(trans, uuid_root, path);
fs/btrfs/uuid-tree.c
197
btrfs_truncate_item(trans, path, item_size - sizeof(subid), 1);
fs/btrfs/uuid-tree.c
212
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/uuid-tree.c
220
path = btrfs_alloc_path();
fs/btrfs/uuid-tree.c
221
if (!path)
fs/btrfs/uuid-tree.c
225
ret = btrfs_search_slot(NULL, fs_info->uuid_root, &key, path, 0, 0);
fs/btrfs/uuid-tree.c
231
item_size = btrfs_item_size(path->nodes[0], path->slots[0]);
fs/btrfs/uuid-tree.c
30
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/uuid-tree.c
302
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/uuid-tree.c
309
path = btrfs_alloc_path();
fs/btrfs/uuid-tree.c
310
if (!path)
fs/btrfs/uuid-tree.c
318
ret = btrfs_search_forward(root, &key, path, BTRFS_OLDEST_GENERATION);
fs/btrfs/uuid-tree.c
329
leaf = path->nodes[0];
fs/btrfs/uuid-tree.c
330
slot = path->slots[0];
fs/btrfs/uuid-tree.c
360
btrfs_release_path(path);
fs/btrfs/uuid-tree.c
383
ret = btrfs_next_item(root, path);
fs/btrfs/uuid-tree.c
399
struct btrfs_path *path = NULL;
fs/btrfs/uuid-tree.c
40
path = btrfs_alloc_path();
fs/btrfs/uuid-tree.c
408
path = btrfs_alloc_path();
fs/btrfs/uuid-tree.c
409
if (!path) {
fs/btrfs/uuid-tree.c
41
if (!path)
fs/btrfs/uuid-tree.c
423
ret = btrfs_search_forward(root, &key, path,
fs/btrfs/uuid-tree.c
437
eb = path->nodes[0];
fs/btrfs/uuid-tree.c
438
slot = path->slots[0];
fs/btrfs/uuid-tree.c
45
ret = btrfs_search_slot(NULL, uuid_root, &key, path, 0, 0);
fs/btrfs/uuid-tree.c
454
btrfs_release_path(path);
fs/btrfs/uuid-tree.c
469
btrfs_release_path(path);
fs/btrfs/uuid-tree.c
494
btrfs_release_path(path);
fs/btrfs/uuid-tree.c
51
eb = path->nodes[0];
fs/btrfs/uuid-tree.c
518
btrfs_free_path(path);
fs/btrfs/uuid-tree.c
52
slot = path->slots[0];
fs/btrfs/uuid-tree.c
84
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/verity.c
112
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/verity.c
117
path = btrfs_alloc_path();
fs/btrfs/verity.c
118
if (!path)
fs/btrfs/verity.c
135
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/verity.c
139
if (path->slots[0] == 0)
fs/btrfs/verity.c
141
path->slots[0]--;
fs/btrfs/verity.c
147
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/verity.c
159
ret = btrfs_del_items(trans, root, path, path->slots[0], 1);
fs/btrfs/verity.c
165
btrfs_release_path(path);
fs/btrfs/verity.c
215
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/verity.c
224
path = btrfs_alloc_path();
fs/btrfs/verity.c
225
if (!path)
fs/btrfs/verity.c
244
ret = btrfs_insert_empty_item(trans, root, path, &key, copy_bytes);
fs/btrfs/verity.c
250
leaf = path->nodes[0];
fs/btrfs/verity.c
252
data = btrfs_item_ptr(leaf, path->slots[0], void);
fs/btrfs/verity.c
259
btrfs_release_path(path);
fs/btrfs/verity.c
291
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/verity.c
305
path = btrfs_alloc_path();
fs/btrfs/verity.c
306
if (!path)
fs/btrfs/verity.c
310
path->reada = READA_FORWARD;
fs/btrfs/verity.c
316
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/verity.c
321
if (path->slots[0] == 0)
fs/btrfs/verity.c
323
path->slots[0]--;
fs/btrfs/verity.c
327
leaf = path->nodes[0];
fs/btrfs/verity.c
328
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/verity.c
333
item_end = btrfs_item_size(leaf, path->slots[0]) + key.offset;
fs/btrfs/verity.c
369
data = btrfs_item_ptr(leaf, path->slots[0], void);
fs/btrfs/verity.c
383
path->slots[0]++;
fs/btrfs/verity.c
384
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/verity.c
389
ret = btrfs_next_leaf(root, path);
fs/btrfs/volumes.c
1407
const char *path, dev_t devt,
fs/btrfs/volumes.c
1430
strcmp(rcu_dereference_raw(device->name), path) != 0) {
fs/btrfs/volumes.c
1456
struct btrfs_device *btrfs_scan_one_device(const char *path,
fs/btrfs/volumes.c
1477
bdev_file = bdev_file_open_by_path(path, BLK_OPEN_READ, NULL, NULL);
fs/btrfs/volumes.c
1488
if (btrfs_skip_registration(disk_super, path, devt, mount_arg_dev)) {
fs/btrfs/volumes.c
1490
path, MAJOR(devt), MINOR(devt));
fs/btrfs/volumes.c
1498
device = device_list_add(path, disk_super, &new_device_added);
fs/btrfs/volumes.c
1815
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
1832
path = btrfs_alloc_path();
fs/btrfs/volumes.c
1833
if (!path) {
fs/btrfs/volumes.c
1844
path->reada = READA_FORWARD;
fs/btrfs/volumes.c
1845
path->search_commit_root = true;
fs/btrfs/volumes.c
1846
path->skip_locking = true;
fs/btrfs/volumes.c
1852
ret = btrfs_search_backwards(root, &key, path);
fs/btrfs/volumes.c
1857
l = path->nodes[0];
fs/btrfs/volumes.c
1858
slot = path->slots[0];
fs/btrfs/volumes.c
1860
ret = btrfs_next_leaf(root, path);
fs/btrfs/volumes.c
1913
path->slots[0]++;
fs/btrfs/volumes.c
1955
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
1961
path = btrfs_alloc_path();
fs/btrfs/volumes.c
1962
if (!path)
fs/btrfs/volumes.c
1969
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/volumes.c
1971
ret = btrfs_previous_item(root, path, key.objectid,
fs/btrfs/volumes.c
1975
leaf = path->nodes[0];
fs/btrfs/volumes.c
1976
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/volumes.c
1977
extent = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/volumes.c
1982
btrfs_release_path(path);
fs/btrfs/volumes.c
1985
leaf = path->nodes[0];
fs/btrfs/volumes.c
1986
extent = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/volumes.c
1994
ret = btrfs_del_item(trans, root, path);
fs/btrfs/volumes.c
2024
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
2026
path = btrfs_alloc_path();
fs/btrfs/volumes.c
2027
if (!path)
fs/btrfs/volumes.c
2034
ret = btrfs_search_slot(NULL, fs_info->chunk_root, &key, path, 0, 0);
fs/btrfs/volumes.c
2044
ret = btrfs_previous_item(fs_info->chunk_root, path,
fs/btrfs/volumes.c
2050
btrfs_item_key_to_cpu(path->nodes[0], &found_key,
fs/btrfs/volumes.c
2051
path->slots[0]);
fs/btrfs/volumes.c
2065
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
2071
path = btrfs_alloc_path();
fs/btrfs/volumes.c
2072
if (!path)
fs/btrfs/volumes.c
2080
ret = btrfs_insert_empty_item(trans, trans->fs_info->chunk_root, path,
fs/btrfs/volumes.c
2086
leaf = path->nodes[0];
fs/btrfs/volumes.c
2087
dev_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_item);
fs/btrfs/volumes.c
2121
struct path path;
fs/btrfs/volumes.c
2123
if (!kern_path(device_path, LOOKUP_FOLLOW, &path)) {
fs/btrfs/volumes.c
2124
vfs_utimes(&path, NULL);
fs/btrfs/volumes.c
2125
path_put(&path);
fs/btrfs/volumes.c
2134
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
2137
path = btrfs_alloc_path();
fs/btrfs/volumes.c
2138
if (!path)
fs/btrfs/volumes.c
2146
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/volumes.c
2153
return btrfs_del_item(trans, root, path);
fs/btrfs/volumes.c
2558
const char *path)
fs/btrfs/volumes.c
2564
if (!path || !path[0])
fs/btrfs/volumes.c
2566
if (!strcmp(path, "missing")) {
fs/btrfs/volumes.c
2578
ret = btrfs_get_bdev_and_sb(path, BLK_OPEN_READ, NULL, 0,
fs/btrfs/volumes.c
2737
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
2746
path = btrfs_alloc_path();
fs/btrfs/volumes.c
2747
if (!path)
fs/btrfs/volumes.c
2756
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/volumes.c
2761
leaf = path->nodes[0];
fs/btrfs/volumes.c
2763
if (path->slots[0] >= btrfs_header_nritems(leaf)) {
fs/btrfs/volumes.c
2764
ret = btrfs_next_leaf(root, path);
fs/btrfs/volumes.c
2769
leaf = path->nodes[0];
fs/btrfs/volumes.c
2770
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/volumes.c
2771
btrfs_release_path(path);
fs/btrfs/volumes.c
2775
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
fs/btrfs/volumes.c
2780
dev_item = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/volumes.c
2796
path->slots[0]++;
fs/btrfs/volumes.c
3053
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
3059
path = btrfs_alloc_path();
fs/btrfs/volumes.c
3060
if (!path)
fs/btrfs/volumes.c
3067
ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
fs/btrfs/volumes.c
3074
leaf = path->nodes[0];
fs/btrfs/volumes.c
3075
dev_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_item);
fs/btrfs/volumes.c
3138
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
3141
path = btrfs_alloc_path();
fs/btrfs/volumes.c
3142
if (!path)
fs/btrfs/volumes.c
3149
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/volumes.c
3160
ret = btrfs_del_item(trans, root, path);
fs/btrfs/volumes.c
3620
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
3630
path = btrfs_alloc_path();
fs/btrfs/volumes.c
3631
if (!path)
fs/btrfs/volumes.c
3641
ret = btrfs_search_slot(NULL, chunk_root, &key, path, 0, 0);
fs/btrfs/volumes.c
3658
ret = btrfs_previous_item(chunk_root, path, key.objectid,
fs/btrfs/volumes.c
3667
leaf = path->nodes[0];
fs/btrfs/volumes.c
3668
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
fs/btrfs/volumes.c
3670
chunk = btrfs_item_ptr(leaf, path->slots[0],
fs/btrfs/volumes.c
3673
btrfs_release_path(path);
fs/btrfs/volumes.c
3787
struct btrfs_path *path;
fs/btrfs/volumes.c
3792
path = btrfs_alloc_path();
fs/btrfs/volumes.c
3793
if (!path)
fs/btrfs/volumes.c
3798
btrfs_free_path(path);
fs/btrfs/volumes.c
3806
ret = btrfs_insert_empty_item(trans, root, path, &key,
fs/btrfs/volumes.c
3811
leaf = path->nodes[0];
fs/btrfs/volumes.c
3812
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_balance_item);
fs/btrfs/volumes.c
3824
btrfs_free_path(path);
fs/btrfs/volumes.c
3837
struct btrfs_path *path;
fs/btrfs/volumes.c
3841
path = btrfs_alloc_path();
fs/btrfs/volumes.c
3842
if (!path)
fs/btrfs/volumes.c
3847
btrfs_free_path(path);
fs/btrfs/volumes.c
3855
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
fs/btrfs/volumes.c
3863
ret = btrfs_del_item(trans, root, path);
fs/btrfs/volumes.c
3865
btrfs_free_path(path);
fs/btrfs/volumes.c
4208
static int cow_remap_tree(struct btrfs_trans_handle *trans, struct btrfs_path *path)
fs/btrfs/volumes.c
4214
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, 0, 1);
fs/btrfs/volumes.c
4219
ret = btrfs_next_leaf(fs_info->remap_root, path);
fs/btrfs/volumes.c
4227
btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
fs/btrfs/volumes.c
4229
btrfs_release_path(path);
fs/btrfs/volumes.c
4231
ret = btrfs_search_slot(trans, fs_info->remap_root, &key, path, 0, 1);
fs/btrfs/volumes.c
4239
static int balance_remap_chunks(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
fs/btrfs/volumes.c
4271
ret = cow_remap_tree(trans, path);
fs/btrfs/volumes.c
4274
btrfs_release_path(path);
fs/btrfs/volumes.c
4317
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
4337
path = btrfs_alloc_path();
fs/btrfs/volumes.c
4338
if (!path) {
fs/btrfs/volumes.c
4369
ret = btrfs_search_slot(NULL, chunk_root, &key, path, 0, 0);
fs/btrfs/volumes.c
4388
ret = btrfs_previous_item(chunk_root, path, 0,
fs/btrfs/volumes.c
4396
leaf = path->nodes[0];
fs/btrfs/volumes.c
4397
slot = path->slots[0];
fs/btrfs/volumes.c
4411
btrfs_release_path(path);
fs/btrfs/volumes.c
4424
btrfs_release_path(path);
fs/btrfs/volumes.c
4523
btrfs_release_path(path);
fs/btrfs/volumes.c
4531
ret = balance_remap_chunks(fs_info, path, &remap_chunks);
fs/btrfs/volumes.c
4996
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
5001
path = btrfs_alloc_path();
fs/btrfs/volumes.c
5002
if (!path)
fs/btrfs/volumes.c
5009
ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0);
fs/btrfs/volumes.c
5020
leaf = path->nodes[0];
fs/btrfs/volumes.c
5021
item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_balance_item);
fs/btrfs/volumes.c
5047
btrfs_release_path(path);
fs/btrfs/volumes.c
5147
struct btrfs_path *path;
fs/btrfs/volumes.c
5171
path = btrfs_alloc_path();
fs/btrfs/volumes.c
5172
if (!path)
fs/btrfs/volumes.c
5175
path->reada = READA_BACK;
fs/btrfs/volumes.c
5179
btrfs_free_path(path);
fs/btrfs/volumes.c
5225
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/volumes.c
5231
ret = btrfs_previous_item(root, path, 0, key.type);
fs/btrfs/volumes.c
5237
btrfs_release_path(path);
fs/btrfs/volumes.c
5241
l = path->nodes[0];
fs/btrfs/volumes.c
5242
slot = path->slots[0];
fs/btrfs/volumes.c
5243
btrfs_item_key_to_cpu(l, &key, path->slots[0]);
fs/btrfs/volumes.c
5247
btrfs_release_path(path);
fs/btrfs/volumes.c
5256
btrfs_release_path(path);
fs/btrfs/volumes.c
5261
btrfs_release_path(path);
fs/btrfs/volumes.c
5331
btrfs_free_path(path);
fs/btrfs/volumes.c
7208
const char *path)
fs/btrfs/volumes.c
7246
if (path) {
fs/btrfs/volumes.c
7249
name = kstrdup(path, GFP_KERNEL);
fs/btrfs/volumes.c
744
struct path old = { .mnt = NULL, .dentry = NULL };
fs/btrfs/volumes.c
745
struct path new = { .mnt = NULL, .dentry = NULL };
fs/btrfs/volumes.c
7768
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
7778
path = btrfs_alloc_path();
fs/btrfs/volumes.c
7779
if (!path)
fs/btrfs/volumes.c
7807
path->skip_locking = true;
fs/btrfs/volumes.c
7818
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/volumes.c
7819
struct extent_buffer *node = path->nodes[1];
fs/btrfs/volumes.c
7821
leaf = path->nodes[0];
fs/btrfs/volumes.c
7822
slot = path->slots[0];
fs/btrfs/volumes.c
784
static noinline struct btrfs_device *device_list_add(const char *path,
fs/btrfs/volumes.c
7937
struct btrfs_path *path)
fs/btrfs/volumes.c
7951
ret = btrfs_search_slot(NULL, device->fs_info->dev_root, &key, path, 0, 0);
fs/btrfs/volumes.c
7956
btrfs_release_path(path);
fs/btrfs/volumes.c
7959
slot = path->slots[0];
fs/btrfs/volumes.c
7960
eb = path->nodes[0];
fs/btrfs/volumes.c
7975
btrfs_release_path(path);
fs/btrfs/volumes.c
7984
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
7987
path = btrfs_alloc_path();
fs/btrfs/volumes.c
7988
if (!path)
fs/btrfs/volumes.c
7993
ret = btrfs_device_init_dev_stats(device, path);
fs/btrfs/volumes.c
7999
ret = btrfs_device_init_dev_stats(device, path);
fs/btrfs/volumes.c
8014
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
802
path);
fs/btrfs/volumes.c
8025
path = btrfs_alloc_path();
fs/btrfs/volumes.c
8026
if (!path)
fs/btrfs/volumes.c
8028
ret = btrfs_search_slot(trans, dev_root, &key, path, -1, 1);
fs/btrfs/volumes.c
8037
btrfs_item_size(path->nodes[0], path->slots[0]) < sizeof(*ptr)) {
fs/btrfs/volumes.c
8039
ret = btrfs_del_item(trans, dev_root, path);
fs/btrfs/volumes.c
8051
btrfs_release_path(path);
fs/btrfs/volumes.c
8052
ret = btrfs_insert_empty_item(trans, dev_root, path,
fs/btrfs/volumes.c
806
ret = lookup_bdev(path, &path_devt);
fs/btrfs/volumes.c
8062
eb = path->nodes[0];
fs/btrfs/volumes.c
8063
ptr = btrfs_item_ptr(eb, path->slots[0], struct btrfs_dev_stats_item);
fs/btrfs/volumes.c
809
path, ret);
fs/btrfs/volumes.c
828
path, MAJOR(path_devt), MINOR(path_devt),
fs/btrfs/volumes.c
8357
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/volumes.c
8381
path = btrfs_alloc_path();
fs/btrfs/volumes.c
8382
if (!path)
fs/btrfs/volumes.c
8385
path->reada = READA_FORWARD_ALWAYS;
fs/btrfs/volumes.c
8386
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/volumes.c
8390
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/volumes.c
8391
ret = btrfs_next_leaf(root, path);
fs/btrfs/volumes.c
8399
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/volumes.c
8401
int slot = path->slots[0];
fs/btrfs/volumes.c
8432
ret = btrfs_next_item(root, path);
fs/btrfs/volumes.c
859
path, MAJOR(path_devt), MINOR(path_devt),
fs/btrfs/volumes.c
868
disk_super->dev_item.uuid, path);
fs/btrfs/volumes.c
887
disk_super->label, devid, found_transid, path,
fs/btrfs/volumes.c
893
disk_super->fsid, devid, found_transid, path,
fs/btrfs/volumes.c
897
} else if (!device->name || !is_same_device(device, path)) {
fs/btrfs/volumes.c
937
path, found_transid, device->generation);
fs/btrfs/volumes.c
955
path, devid, found_transid,
fs/btrfs/volumes.c
963
path, current->comm,
fs/btrfs/volumes.c
967
name = kstrdup(path, GFP_NOFS);
fs/btrfs/volumes.h
728
struct btrfs_device *btrfs_scan_one_device(const char *path, bool mount_arg_dev);
fs/btrfs/volumes.h
739
const char *path);
fs/btrfs/volumes.h
742
const char *path);
fs/btrfs/volumes.h
754
int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *path);
fs/btrfs/xattr.c
111
di = btrfs_lookup_xattr(NULL, root, path,
fs/btrfs/xattr.c
119
btrfs_release_path(path);
fs/btrfs/xattr.c
123
ret = btrfs_insert_xattr_item(trans, root, path, btrfs_ino(BTRFS_I(inode)),
fs/btrfs/xattr.c
132
btrfs_assert_tree_write_locked(path->nodes[0]);
fs/btrfs/xattr.c
133
di = btrfs_match_dir_item_name(path, name, name_len);
fs/btrfs/xattr.c
140
di = btrfs_match_dir_item_name(path, name, name_len);
fs/btrfs/xattr.c
159
const int slot = path->slots[0];
fs/btrfs/xattr.c
160
struct extent_buffer *leaf = path->nodes[0];
fs/btrfs/xattr.c
178
btrfs_extend_item(trans, path, size - old_data_len);
fs/btrfs/xattr.c
180
btrfs_truncate_item(trans, path, data_size, 1);
fs/btrfs/xattr.c
183
ret = btrfs_delete_one_dir_name(trans, root, path, di);
fs/btrfs/xattr.c
186
btrfs_extend_item(trans, path, data_size);
fs/btrfs/xattr.c
268
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/xattr.c
282
path = btrfs_alloc_path();
fs/btrfs/xattr.c
283
if (!path)
fs/btrfs/xattr.c
285
path->reada = READA_FORWARD;
fs/btrfs/xattr.c
288
btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
fs/btrfs/xattr.c
295
leaf = path->nodes[0];
fs/btrfs/xattr.c
296
slot = path->slots[0];
fs/btrfs/xattr.c
32
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/xattr.c
36
path = btrfs_alloc_path();
fs/btrfs/xattr.c
37
if (!path)
fs/btrfs/xattr.c
41
di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(BTRFS_I(inode)),
fs/btrfs/xattr.c
48
leaf = path->nodes[0];
fs/btrfs/xattr.c
76
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/xattr.c
85
path = btrfs_alloc_path();
fs/btrfs/xattr.c
86
if (!path)
fs/btrfs/xattr.c
88
path->skip_release_on_error = true;
fs/btrfs/xattr.c
91
di = btrfs_lookup_xattr(trans, root, path,
fs/btrfs/xattr.c
98
ret = btrfs_delete_one_dir_name(trans, root, path, di);
fs/btrfs/zoned.c
1233
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/zoned.c
1255
path = btrfs_alloc_path();
fs/btrfs/zoned.c
1256
if (!path)
fs/btrfs/zoned.c
1271
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/zoned.c
1278
ret = btrfs_previous_extent_item(root, path, cache->start);
fs/btrfs/zoned.c
1287
btrfs_item_key_to_cpu(path->nodes[0], &found_key, path->slots[0]);
fs/btrfs/zoned.c
296
BTRFS_PATH_AUTO_FREE(path);
fs/btrfs/zoned.c
307
path = btrfs_alloc_path();
fs/btrfs/zoned.c
308
if (!path)
fs/btrfs/zoned.c
311
ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
fs/btrfs/zoned.c
315
if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
fs/btrfs/zoned.c
316
ret = btrfs_next_leaf(root, path);
fs/btrfs/zoned.c
324
leaf = path->nodes[0];
fs/btrfs/zoned.c
325
dext = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_extent);
fs/cachefiles/cache.c
193
struct path path = {
fs/cachefiles/cache.c
20
struct path path;
fs/cachefiles/cache.c
210
ret = vfs_statfs(&path, &stats);
fs/cachefiles/cache.c
212
trace_cachefiles_vfs_error(NULL, d_inode(path.dentry), ret,
fs/cachefiles/cache.c
40
ret = kern_path(cache->rootdirname, LOOKUP_DIRECTORY, &path);
fs/cachefiles/cache.c
44
cache->mnt = path.mnt;
fs/cachefiles/cache.c
45
root = path.dentry;
fs/cachefiles/cache.c
48
if (is_idmapped_mnt(path.mnt)) {
fs/cachefiles/cache.c
83
ret = vfs_statfs(&path, &stats);
fs/cachefiles/daemon.c
634
struct path path;
fs/cachefiles/daemon.c
653
get_fs_pwd(current->fs, &path);
fs/cachefiles/daemon.c
655
if (!d_can_lookup(path.dentry))
fs/cachefiles/daemon.c
659
ret = cachefiles_cull(cache, path.dentry, args);
fs/cachefiles/daemon.c
662
path_put(&path);
fs/cachefiles/daemon.c
667
path_put(&path);
fs/cachefiles/daemon.c
705
struct path path;
fs/cachefiles/daemon.c
724
get_fs_pwd(current->fs, &path);
fs/cachefiles/daemon.c
726
if (!d_can_lookup(path.dentry))
fs/cachefiles/daemon.c
730
ret = cachefiles_check_in_use(cache, path.dentry, args);
fs/cachefiles/daemon.c
733
path_put(&path);
fs/cachefiles/daemon.c
738
path_put(&path);
fs/cachefiles/namei.c
125
path.mnt = cache->mnt;
fs/cachefiles/namei.c
126
path.dentry = dir;
fs/cachefiles/namei.c
127
ret = security_path_mkdir(&path, subdir, 0700);
fs/cachefiles/namei.c
234
struct path path = {
fs/cachefiles/namei.c
241
ret = security_path_unlink(&path, dentry);
fs/cachefiles/namei.c
274
struct path path, path_to_graveyard;
fs/cachefiles/namei.c
377
path.mnt = cache->mnt;
fs/cachefiles/namei.c
378
path.dentry = dir;
fs/cachefiles/namei.c
381
ret = security_path_rename(&path, rep, &path_to_graveyard, grave, 0);
fs/cachefiles/namei.c
444
const struct path parentpath = { .mnt = cache->mnt, .dentry = fan };
fs/cachefiles/namei.c
546
struct path path;
fs/cachefiles/namei.c
561
path.mnt = cache->mnt;
fs/cachefiles/namei.c
562
path.dentry = dentry;
fs/cachefiles/namei.c
563
file = kernel_file_open(&path, O_RDWR | O_LARGEFILE | O_DIRECT, cache->cache_cred);
fs/cachefiles/namei.c
90
struct path path;
fs/ceph/debugfs.c
102
path = ceph_mdsc_build_path(mdsc, req->r_old_dentry, &path_info, 0);
fs/ceph/debugfs.c
103
if (IS_ERR(path))
fs/ceph/debugfs.c
104
path = NULL;
fs/ceph/debugfs.c
110
path ? path : "");
fs/ceph/debugfs.c
58
char *path;
fs/ceph/debugfs.c
83
path = ceph_mdsc_build_path(mdsc, req->r_dentry, &path_info, 0);
fs/ceph/debugfs.c
84
if (IS_ERR(path))
fs/ceph/debugfs.c
85
path = NULL;
fs/ceph/debugfs.c
90
path ? path : "");
fs/ceph/dir.c
1275
char *path = ceph_mdsc_build_path(mdsc, dentry, &path_info, 0);
fs/ceph/dir.c
1289
path_info.vino.ino, IS_ERR(path) ? "<<bad>>" : path, result);
fs/ceph/dir.c
1348
char *path;
fs/ceph/dir.c
1368
path = ceph_mdsc_build_path(mdsc, dn, &path_info, 0);
fs/ceph/dir.c
1369
if (IS_ERR(path)) {
fs/ceph/dir.c
1373
err = ceph_mds_check_access(mdsc, path, MAY_WRITE);
fs/ceph/file.c
370
char *path;
fs/ceph/file.c
401
path = ceph_mdsc_build_path(mdsc, dentry, &path_info, 0);
fs/ceph/file.c
402
if (IS_ERR(path)) {
fs/ceph/file.c
406
err = ceph_mds_check_access(mdsc, path, mask);
fs/ceph/file.c
616
char *path = ceph_mdsc_build_path(mdsc, req->r_dentry, &path_info, 0);
fs/ceph/file.c
620
path_info.vino.ino, IS_ERR(path) ? "<<bad>>" : path, result);
fs/ceph/file.c
788
char *path;
fs/ceph/file.c
811
path = ceph_mdsc_build_path(mdsc, dn, &path_info, 0);
fs/ceph/file.c
812
if (IS_ERR(path)) {
fs/ceph/file.c
821
err = ceph_mds_check_access(mdsc, path, mask);
fs/ceph/inode.c
2359
const struct path *path,
fs/ceph/inode.c
2365
ret = ceph_getattr(idmap, path, stat, request_mask, query_flags);
fs/ceph/inode.c
2368
return fscrypt_symlink_getattr(path, stat);
fs/ceph/inode.c
2547
char *path;
fs/ceph/inode.c
2555
path = ceph_mdsc_build_path(mdsc, dentry, &path_info, 0);
fs/ceph/inode.c
2556
if (IS_ERR(path)) {
fs/ceph/inode.c
2560
err = ceph_mds_check_access(mdsc, path, MAY_WRITE);
fs/ceph/inode.c
3105
int ceph_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ceph/inode.c
3108
struct inode *inode = d_inode(path->dentry);
fs/ceph/mds_client.c
2714
char *path;
fs/ceph/mds_client.c
2722
path = __getname();
fs/ceph/mds_client.c
2723
if (!path)
fs/ceph/mds_client.c
2727
path[pos] = '\0';
fs/ceph/mds_client.c
2751
memcpy(path + pos, cur->d_name.name, cur->d_name.len);
fs/ceph/mds_client.c
2771
__putname(path);
fs/ceph/mds_client.c
2781
__putname(path);
fs/ceph/mds_client.c
2790
memcpy(path + pos, buf, len);
fs/ceph/mds_client.c
2803
path[pos] = '/';
fs/ceph/mds_client.c
2818
__putname(path);
fs/ceph/mds_client.c
2827
path_info->path = path + pos;
fs/ceph/mds_client.c
2837
base, PATH_MAX - 1 - pos, path + pos);
fs/ceph/mds_client.c
2838
return path + pos;
fs/ceph/mds_client.c
2845
char *path;
fs/ceph/mds_client.c
2855
path_info->path = dentry->d_name.name;
fs/ceph/mds_client.c
2861
path = ceph_mdsc_build_path(mdsc, dentry, path_info, 1);
fs/ceph/mds_client.c
2862
if (IS_ERR(path))
fs/ceph/mds_client.c
2863
return PTR_ERR(path);
fs/ceph/mds_client.c
2874
char *path;
fs/ceph/mds_client.c
2884
path = ceph_mdsc_build_path(mdsc, dentry, path_info, 1);
fs/ceph/mds_client.c
2886
if (IS_ERR(path))
fs/ceph/mds_client.c
2887
return PTR_ERR(path);
fs/ceph/mds_client.c
2919
path_info->pathlen, path_info->path);
fs/ceph/mds_client.c
2923
path_info->path = rpath;
fs/ceph/mds_client.c
3211
ceph_encode_filepath(&p, end, path_info1.vino.ino, path_info1.path);
fs/ceph/mds_client.c
3212
ceph_encode_filepath(&p, end, path_info2.vino.ino, path_info2.path);
fs/ceph/mds_client.c
4270
cap_auths[i].match.path = kcalloc(_len + 1, sizeof(char),
fs/ceph/mds_client.c
4272
if (!cap_auths[i].match.path) {
fs/ceph/mds_client.c
4276
ceph_decode_copy(&p, cap_auths[i].match.path, _len);
fs/ceph/mds_client.c
4279
while (_len && cap_auths[i].match.path[_len - 1] == '/') {
fs/ceph/mds_client.c
4280
cap_auths[i].match.path[_len - 1] = '\0';
fs/ceph/mds_client.c
4301
cap_auths[i].match.path, cap_auths[i].match.fs_name,
fs/ceph/mds_client.c
4313
kfree(mdsc->s_cap_auths[i].match.path);
fs/ceph/mds_client.c
4453
kfree(cap_auths[i].match.path);
fs/ceph/mds_client.c
4655
char *path = ceph_mdsc_build_path(mdsc, dentry, &path_info,
fs/ceph/mds_client.c
4658
if (IS_ERR(path)) {
fs/ceph/mds_client.c
4659
err = PTR_ERR(path);
fs/ceph/mds_client.c
4795
ceph_pagelist_encode_string(pagelist, (char *)path_info.path, path_info.pathlen);
fs/ceph/mds_client.c
4811
ceph_pagelist_encode_string(pagelist, (char *)path_info.path, path_info.pathlen);
fs/ceph/mds_client.c
5719
if (auth->match.path) {
fs/ceph/mds_client.c
5724
len = strlen(auth->match.path);
fs/ceph/mds_client.c
5731
spath, tpath, auth->match.path);
fs/ceph/mds_client.c
5770
char *first = strstr(_tpath, auth->match.path);
fs/ceph/mds_client.c
6095
kfree(mdsc->s_cap_auths[i].match.path);
fs/ceph/mds_client.h
624
const char *path;
fs/ceph/mds_client.h
632
if (path_info && path_info->freepath && !IS_ERR_OR_NULL(path_info->path))
fs/ceph/mds_client.h
633
__putname((char *)path_info->path - (PATH_MAX - 1 - path_info->pathlen));
fs/ceph/mds_client.h
82
char *path; /* require path to be child of this
fs/ceph/super.c
1048
const char *path,
fs/ceph/super.c
1058
doutc(cl, "opening '%s'\n", path);
fs/ceph/super.c
1062
req->r_path1 = kstrdup(path, GFP_NOFS);
fs/ceph/super.c
1152
const char *path = fsc->mount_options->server_path ?
fs/ceph/super.c
1171
doutc(cl, "mount opening path '%s'\n", path);
fs/ceph/super.c
1175
root = open_root_dentry(fsc, path, started);
fs/ceph/super.c
238
static void canonicalize_path(char *path)
fs/ceph/super.c
242
for (i = 0; path[i] != '\0'; i++) {
fs/ceph/super.c
243
if (path[i] != '/' || j < 1 || path[j - 1] != '/')
fs/ceph/super.c
244
path[j++] = path[i];
fs/ceph/super.c
247
if (j > 1 && path[j - 1] == '/')
fs/ceph/super.c
249
path[j] = '\0';
fs/ceph/super.h
1135
const struct path *path, struct kstat *stat,
fs/coda/coda_linux.h
52
int coda_getattr(struct mnt_idmap *, const struct path *, struct kstat *,
fs/coda/inode.c
297
int coda_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/coda/inode.c
300
int err = coda_revalidate_inode(d_inode(path->dentry));
fs/coda/inode.c
303
d_inode(path->dentry), stat);
fs/coda/pioctl.c
53
struct path path;
fs/coda/pioctl.c
68
error = user_path_at(AT_FDCWD, data.path,
fs/coda/pioctl.c
69
data.follow ? LOOKUP_FOLLOW : 0, &path);
fs/coda/pioctl.c
73
target_inode = d_inode(path.dentry);
fs/coda/pioctl.c
86
path_put(&path);
fs/configfs/symlink.c
120
struct path path __free(path_put) = {};
fs/configfs/symlink.c
123
ret = kern_path(symname, LOOKUP_FOLLOW|LOOKUP_DIRECTORY, &path);
fs/configfs/symlink.c
126
if (path.dentry->d_sb != sb)
fs/configfs/symlink.c
128
*target = configfs_get_config_item(path.dentry);
fs/configfs/symlink.c
57
struct config_item *target, char *path)
fs/configfs/symlink.c
69
for (s = path; depth--; s += 3)
fs/configfs/symlink.c
72
fill_item_path(target, path, size);
fs/configfs/symlink.c
73
pr_debug("%s: path = '%s'\n", __func__, path);
fs/coredump.c
198
char *pathbuf, *path, *ptr;
fs/coredump.c
211
path = file_path(exe_file, pathbuf, PATH_MAX);
fs/coredump.c
212
if (IS_ERR(path)) {
fs/coredump.c
213
ret = PTR_ERR(path);
fs/coredump.c
218
ptr = strrchr(path, '/');
fs/coredump.c
220
path = ptr + 1;
fs/coredump.c
222
ret = cn_esc_printf(cn, "%s", path);
fs/coredump.c
924
struct path root;
fs/crypto/hooks.c
451
int fscrypt_symlink_getattr(const struct path *path, struct kstat *stat)
fs/crypto/hooks.c
453
struct dentry *dentry = path->dentry;
fs/d_path.c
105
const struct path *root, struct prepend_buffer *p)
fs/d_path.c
156
static int prepend_path(const struct path *path,
fs/d_path.c
157
const struct path *root,
fs/d_path.c
172
error = __prepend_path(path->dentry, real_mount(path->mnt), root, &b);
fs/d_path.c
215
char *__d_path(const struct path *path,
fs/d_path.c
216
const struct path *root,
fs/d_path.c
222
if (unlikely(prepend_path(path, root, &b) > 0))
fs/d_path.c
227
char *d_absolute_path(const struct path *path,
fs/d_path.c
230
struct path root = {};
fs/d_path.c
234
if (unlikely(prepend_path(path, &root, &b) > 1))
fs/d_path.c
239
static void get_fs_root_rcu(struct fs_struct *fs, struct path *root)
fs/d_path.c
265
char *d_path(const struct path *path, char *buf, int buflen)
fs/d_path.c
268
struct path root;
fs/d_path.c
281
if (path->dentry->d_op && path->dentry->d_op->d_dname &&
fs/d_path.c
282
(!IS_ROOT(path->dentry) || path->dentry != path->mnt->mnt_root))
fs/d_path.c
283
return path->dentry->d_op->d_dname(path->dentry, buf, buflen);
fs/d_path.c
287
if (unlikely(d_unlinked(path->dentry)))
fs/d_path.c
291
prepend_path(path, &root, &b);
fs/d_path.c
382
static void get_fs_root_and_pwd_rcu(struct fs_struct *fs, struct path *root,
fs/d_path.c
383
struct path *pwd)
fs/d_path.c
415
struct path pwd, root;
fs/dcache.c
1431
struct path path = { .mnt = info->mnt, .dentry = dentry };
fs/dcache.c
1435
if (__path_is_mountpoint(&path)) {
fs/dcache.c
1450
int path_has_submounts(const struct path *parent)
fs/debugfs/inode.c
256
static struct vfsmount *debugfs_automount(struct path *path)
fs/debugfs/inode.c
258
struct inode *inode = path->dentry->d_inode;
fs/debugfs/inode.c
260
return DEBUGFS_I(inode)->automount(path->dentry, inode->i_private);
fs/devpts/inode.c
113
static int devpts_ptmx_path(struct path *path)
fs/devpts/inode.c
119
err = path_pts(path);
fs/devpts/inode.c
124
sb = path->mnt->mnt_sb;
fs/devpts/inode.c
126
(path->mnt->mnt_root != sb->s_root))
fs/devpts/inode.c
152
struct path path;
fs/devpts/inode.c
155
path = filp->f_path;
fs/devpts/inode.c
156
path_get(&path);
fs/devpts/inode.c
161
while (path.mnt->mnt_root == path.dentry)
fs/devpts/inode.c
162
if (follow_up(&path) == 0)
fs/devpts/inode.c
166
if ((path.mnt->mnt_sb->s_magic != DEVPTS_SUPER_MAGIC) ||
fs/devpts/inode.c
167
(DEVPTS_SB(path.mnt->mnt_sb) != fsi))
fs/devpts/inode.c
168
err = devpts_ptmx_path(&path);
fs/devpts/inode.c
169
dput(path.dentry);
fs/devpts/inode.c
171
if (DEVPTS_SB(path.mnt->mnt_sb) == fsi)
fs/devpts/inode.c
172
return path.mnt;
fs/devpts/inode.c
177
mntput(path.mnt);
fs/devpts/inode.c
184
struct path path;
fs/devpts/inode.c
187
path = filp->f_path;
fs/devpts/inode.c
188
path_get(&path);
fs/devpts/inode.c
191
if (path.mnt->mnt_sb->s_magic != DEVPTS_SUPER_MAGIC) {
fs/devpts/inode.c
194
err = devpts_ptmx_path(&path);
fs/devpts/inode.c
204
sb = path.mnt->mnt_sb;
fs/devpts/inode.c
209
path_put(&path);
fs/ecryptfs/ecryptfs_kernel.h
499
static inline struct path
fs/ecryptfs/ecryptfs_kernel.h
502
return (struct path){
fs/ecryptfs/file.c
284
struct path path;
fs/ecryptfs/file.c
294
path = ecryptfs_lower_path(ecryptfs_dentry);
fs/ecryptfs/file.c
295
lower_file = dentry_open(&path, file->f_flags, current_cred());
fs/ecryptfs/file.c
40
struct path path = ecryptfs_lower_path(file->f_path.dentry);
fs/ecryptfs/file.c
41
touch_atime(&path);
fs/ecryptfs/file.c
64
struct path path = ecryptfs_lower_path(in->f_path.dentry);
fs/ecryptfs/file.c
65
touch_atime(&path);
fs/ecryptfs/inode.c
1001
struct dentry *dentry = path->dentry;
fs/ecryptfs/inode.c
1003
struct path lower_path = ecryptfs_lower_path(dentry);
fs/ecryptfs/inode.c
972
const struct path *path, struct kstat *stat,
fs/ecryptfs/inode.c
975
struct dentry *dentry = path->dentry;
fs/ecryptfs/inode.c
998
const struct path *path, struct kstat *stat,
fs/ecryptfs/kthread.c
128
req.path.dentry = lower_dentry;
fs/ecryptfs/kthread.c
129
req.path.mnt = lower_mnt;
fs/ecryptfs/kthread.c
135
(*lower_file) = dentry_open(&req.path, flags, cred);
fs/ecryptfs/kthread.c
18
struct path path;
fs/ecryptfs/kthread.c
62
*req->lower_file = dentry_open(&req->path,
fs/ecryptfs/main.c
111
struct path path = ecryptfs_lower_path(dentry);
fs/ecryptfs/main.c
114
rc = ecryptfs_privileged_open(lower_file, path.dentry, path.mnt, cred);
fs/ecryptfs/main.c
118
"rc = [%d]\n", path.dentry, path.mnt, rc);
fs/ecryptfs/main.c
443
struct path path;
fs/ecryptfs/main.c
484
rc = kern_path(fc->source, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path);
fs/ecryptfs/main.c
489
if (path.dentry->d_sb->s_type == &ecryptfs_fs_type) {
fs/ecryptfs/main.c
497
if (is_idmapped_mnt(path.mnt)) {
fs/ecryptfs/main.c
504
!uid_eq(d_inode(path.dentry)->i_uid, current_uid())) {
fs/ecryptfs/main.c
508
i_uid_read(d_inode(path.dentry)),
fs/ecryptfs/main.c
513
ecryptfs_set_superblock_lower(s, path.dentry->d_sb);
fs/ecryptfs/main.c
520
s->s_flags |= path.dentry->d_sb->s_flags & SB_POSIXACL;
fs/ecryptfs/main.c
527
if (sb_rdonly(path.dentry->d_sb) || mount_crypt_stat->flags & ECRYPTFS_ENCRYPTED_VIEW_ENABLED)
fs/ecryptfs/main.c
530
s->s_maxbytes = path.dentry->d_sb->s_maxbytes;
fs/ecryptfs/main.c
531
s->s_blocksize = path.dentry->d_sb->s_blocksize;
fs/ecryptfs/main.c
533
s->s_stack_depth = path.dentry->d_sb->s_stack_depth + 1;
fs/ecryptfs/main.c
541
inode = ecryptfs_get_inode(d_inode(path.dentry), s);
fs/ecryptfs/main.c
552
ecryptfs_set_dentry_lower(s->s_root, path.dentry);
fs/ecryptfs/main.c
553
ecryptfs_superblock_to_private(s)->lower_mnt = path.mnt;
fs/ecryptfs/main.c
560
path_put(&path);
fs/erofs/inode.c
313
int erofs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/erofs/inode.c
317
struct inode *const inode = d_inode(path->dentry);
fs/erofs/internal.h
43
char *path;
fs/erofs/internal.h
453
int erofs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/erofs/super.c
137
if (!sbi->devs->flatdev && !dif->path) {
fs/erofs/super.c
142
dif->path = kmemdup_nul(dis->tag, sizeof(dis->tag), GFP_KERNEL);
fs/erofs/super.c
143
if (!dif->path)
fs/erofs/super.c
148
fscache = erofs_fscache_register_cookie(sb, dif->path, 0);
fs/erofs/super.c
154
filp_open(dif->path, O_RDONLY | O_LARGEFILE, 0) :
fs/erofs/super.c
155
bdev_file_open_by_path(dif->path,
fs/erofs/super.c
172
dif->path);
fs/erofs/super.c
493
dif->path = kstrdup(param->string, GFP_KERNEL);
fs/erofs/super.c
494
if (!dif->path) {
fs/erofs/super.c
502
kfree(dif->path);
fs/erofs/super.c
849
kfree(dif->path);
fs/exec.c
115
bool path_noexec(const struct path *path)
fs/exec.c
118
VFS_WARN_ON_ONCE(IS_ANON_FILE(d_inode(path->dentry)) &&
fs/exec.c
119
!(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC));
fs/exec.c
120
return (path->mnt->mnt_flags & MNT_NOEXEC) ||
fs/exec.c
121
(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC);
fs/exfat/exfat_fs.h
468
int exfat_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/exfat/file.c
269
int exfat_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/exfat/file.c
273
struct inode *inode = d_backing_inode(path->dentry);
fs/exfat/namei.c
403
static int __exfat_resolve_path(struct inode *inode, const unsigned char *path,
fs/exfat/namei.c
409
int pathlen = strlen(path);
fs/exfat/namei.c
415
namelen = exfat_striptail_len(pathlen, path, false);
fs/exfat/namei.c
439
namelen = exfat_nls_to_utf16(sb, path, namelen, p_uniname,
fs/exfat/namei.c
451
const unsigned char *path, struct exfat_uni_name *uni)
fs/exfat/namei.c
453
return __exfat_resolve_path(inode, path, uni, 0);
fs/exfat/namei.c
457
const unsigned char *path, struct exfat_uni_name *uni)
fs/exfat/namei.c
459
return __exfat_resolve_path(inode, path, uni, 1);
fs/exfat/namei.c
467
static int exfat_add_entry(struct inode *inode, const char *path,
fs/exfat/namei.c
480
ret = exfat_resolve_path(inode, path, &uniname);
fs/exportfs/expfs.c
24
static int get_name(const struct path *path, char *name, struct dentry *child);
fs/exportfs/expfs.c
275
static int get_name(const struct path *path, char *name, struct dentry *child)
fs/exportfs/expfs.c
278
struct inode *dir = path->dentry->d_inode;
fs/exportfs/expfs.c
282
struct path child_path = {
fs/exportfs/expfs.c
283
.mnt = path->mnt,
fs/exportfs/expfs.c
31
struct path path = {.mnt = mnt, .dentry = dir};
fs/exportfs/expfs.c
312
file = dentry_open(path, O_RDONLY, cred);
fs/exportfs/expfs.c
36
return get_name(&path, name, child);
fs/ext2/ext2.h
745
extern int ext2_getattr (struct mnt_idmap *, const struct path *,
fs/ext2/inode.c
1621
int ext2_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ext2/inode.c
1624
struct inode *inode = d_inode(path->dentry);
fs/ext2/super.c
1614
const struct path *path)
fs/ext2/super.c
1619
err = dquot_quota_on(sb, type, format_id, path);
fs/ext2/super.c
1623
inode = d_inode(path->dentry);
fs/ext2/super.c
348
const struct path *path);
fs/ext4/ext4.h
3077
extern int ext4_getattr(struct mnt_idmap *, const struct path *,
fs/ext4/ext4.h
3081
extern int ext4_file_getattr(struct mnt_idmap *, const struct path *,
fs/ext4/ext4.h
3810
struct ext4_ext_path *path);
fs/ext4/ext4.h
3813
struct ext4_ext_path *path,
fs/ext4/ext4.h
3820
extern ext4_lblk_t ext4_ext_next_allocated_block(struct ext4_ext_path *path);
fs/ext4/ext4_extents.h
269
struct ext4_ext_path *path);
fs/ext4/ext4_extents.h
276
struct ext4_ext_path *path,
fs/ext4/extents-test.c
156
struct ext4_ext_path *path)
fs/ext4/extents-test.c
163
struct ext4_ext_path *path,
fs/ext4/extents-test.c
358
struct ext4_ext_path *path;
fs/ext4/extents-test.c
373
path = ext4_find_extent(inode, EXT_DATA_LBLK, NULL, EXT4_EX_NOCACHE);
fs/ext4/extents-test.c
374
ex = path->p_ext;
fs/ext4/extents-test.c
389
path = ext4_split_convert_extents_test(NULL, inode, &map,
fs/ext4/extents-test.c
390
path, param->split_flags, NULL);
fs/ext4/extents-test.c
399
path = ext4_find_extent(inode, EXT_DATA_LBLK, NULL, EXT4_EX_NOCACHE);
fs/ext4/extents-test.c
400
ex = path->p_ext;
fs/ext4/extents.c
105
static inline void ext4_ext_path_brelse(struct ext4_ext_path *path)
fs/ext4/extents.c
1055
struct ext4_ext_path *path,
fs/ext4/extents.c
107
brelse(path->p_bh);
fs/ext4/extents.c
1078
if (unlikely(path[depth].p_ext > EXT_MAX_EXTENT(path[depth].p_hdr))) {
fs/ext4/extents.c
108
path->p_bh = NULL;
fs/ext4/extents.c
1082
if (path[depth].p_ext != EXT_MAX_EXTENT(path[depth].p_hdr)) {
fs/ext4/extents.c
1083
border = path[depth].p_ext[1].ee_block;
fs/ext4/extents.c
111
static void ext4_ext_drop_refs(struct ext4_ext_path *path)
fs/ext4/extents.c
1113
newblock = ext4_ext_new_meta_block(handle, inode, path,
fs/ext4/extents.c
1147
if (unlikely(path[depth].p_hdr->eh_entries !=
fs/ext4/extents.c
1148
path[depth].p_hdr->eh_max)) {
fs/ext4/extents.c
115
if (IS_ERR_OR_NULL(path))
fs/ext4/extents.c
1150
path[depth].p_hdr->eh_entries,
fs/ext4/extents.c
1151
path[depth].p_hdr->eh_max);
fs/ext4/extents.c
1156
m = EXT_MAX_EXTENT(path[depth].p_hdr) - path[depth].p_ext++;
fs/ext4/extents.c
1157
ext4_ext_show_move(inode, path, newblock, depth);
fs/ext4/extents.c
1161
memmove(ex, path[depth].p_ext, sizeof(struct ext4_extent) * m);
fs/ext4/extents.c
117
depth = path->p_depth;
fs/ext4/extents.c
118
for (i = 0; i <= depth; i++, path++)
fs/ext4/extents.c
1181
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
1184
le16_add_cpu(&path[depth].p_hdr->eh_entries, -m);
fs/ext4/extents.c
1185
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
119
ext4_ext_path_brelse(path);
fs/ext4/extents.c
122
void ext4_free_ext_path(struct ext4_ext_path *path)
fs/ext4/extents.c
1232
if (unlikely(EXT_MAX_INDEX(path[i].p_hdr) !=
fs/ext4/extents.c
1233
EXT_LAST_INDEX(path[i].p_hdr))) {
fs/ext4/extents.c
1236
le32_to_cpu(path[i].p_ext->ee_block));
fs/ext4/extents.c
124
if (IS_ERR_OR_NULL(path))
fs/ext4/extents.c
1241
m = EXT_MAX_INDEX(path[i].p_hdr) - path[i].p_idx++;
fs/ext4/extents.c
1242
ext_debug(inode, "cur 0x%p, last 0x%p\n", path[i].p_idx,
fs/ext4/extents.c
1243
EXT_MAX_INDEX(path[i].p_hdr));
fs/ext4/extents.c
1244
ext4_ext_show_move(inode, path, newblock, i);
fs/ext4/extents.c
1246
memmove(++fidx, path[i].p_idx,
fs/ext4/extents.c
126
ext4_ext_drop_refs(path);
fs/ext4/extents.c
1267
err = ext4_ext_get_access(handle, inode, path + i);
fs/ext4/extents.c
127
kfree(path);
fs/ext4/extents.c
1270
le16_add_cpu(&path[i].p_hdr->eh_entries, -m);
fs/ext4/extents.c
1271
err = ext4_ext_dirty(handle, inode, path + i);
fs/ext4/extents.c
1280
err = ext4_ext_insert_index(handle, inode, path + at,
fs/ext4/extents.c
1402
struct ext4_ext_path *path,
fs/ext4/extents.c
1413
curp = path + depth;
fs/ext4/extents.c
1424
err = ext4_ext_split(handle, inode, mb_flags, path, newext, i);
fs/ext4/extents.c
1429
path = ext4_find_extent(inode, ee_block, path, gb_flags);
fs/ext4/extents.c
1430
return path;
fs/ext4/extents.c
1439
path = ext4_find_extent(inode, ee_block, path, gb_flags);
fs/ext4/extents.c
1440
if (IS_ERR(path))
fs/ext4/extents.c
1441
return path;
fs/ext4/extents.c
1448
if (path[depth].p_hdr->eh_entries == path[depth].p_hdr->eh_max) {
fs/ext4/extents.c
1453
return path;
fs/ext4/extents.c
1456
ext4_free_ext_path(path);
fs/ext4/extents.c
1468
struct ext4_ext_path *path,
fs/ext4/extents.c
1475
if (unlikely(path == NULL)) {
fs/ext4/extents.c
1479
depth = path->p_depth;
fs/ext4/extents.c
1482
if (depth == 0 && path->p_ext == NULL)
fs/ext4/extents.c
1489
ex = path[depth].p_ext;
fs/ext4/extents.c
1492
if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) {
fs/ext4/extents.c
1499
ix = path[depth].p_idx;
fs/ext4/extents.c
1500
if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) {
fs/ext4/extents.c
1504
le32_to_cpu(EXT_FIRST_INDEX(path[depth].p_hdr)->ei_block),
fs/ext4/extents.c
1532
struct ext4_ext_path *path,
fs/ext4/extents.c
1543
if (unlikely(path == NULL)) {
fs/ext4/extents.c
1547
depth = path->p_depth;
fs/ext4/extents.c
1550
if (depth == 0 && path->p_ext == NULL)
fs/ext4/extents.c
1557
ex = path[depth].p_ext;
fs/ext4/extents.c
1560
if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) {
fs/ext4/extents.c
1567
ix = path[depth].p_idx;
fs/ext4/extents.c
1568
if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) {
fs/ext4/extents.c
158
struct ext4_ext_path *path)
fs/ext4/extents.c
1585
if (ex != EXT_LAST_EXTENT(path[depth].p_hdr)) {
fs/ext4/extents.c
1593
ix = path[depth].p_idx;
fs/ext4/extents.c
1594
if (ix != EXT_LAST_INDEX(path[depth].p_hdr))
fs/ext4/extents.c
1606
while (++depth < path->p_depth) {
fs/ext4/extents.c
1608
bh = read_extent_tree_block(inode, ix, path->p_depth - depth,
fs/ext4/extents.c
1617
bh = read_extent_tree_block(inode, ix, path->p_depth - depth, flags);
fs/ext4/extents.c
162
if (path->p_bh) {
fs/ext4/extents.c
164
BUFFER_TRACE(path->p_bh, "get_write_access");
fs/ext4/extents.c
1640
ext4_ext_next_allocated_block(struct ext4_ext_path *path)
fs/ext4/extents.c
1644
BUG_ON(path == NULL);
fs/ext4/extents.c
1645
depth = path->p_depth;
fs/ext4/extents.c
1647
if (depth == 0 && path->p_ext == NULL)
fs/ext4/extents.c
1651
struct ext4_ext_path *p = &path[depth];
fs/ext4/extents.c
1653
if (depth == path->p_depth) {
fs/ext4/extents.c
166
path->p_bh, EXT4_JTR_NONE);
fs/ext4/extents.c
1672
static ext4_lblk_t ext4_ext_next_leaf_block(struct ext4_ext_path *path)
fs/ext4/extents.c
1676
BUG_ON(path == NULL);
fs/ext4/extents.c
1677
depth = path->p_depth;
fs/ext4/extents.c
1687
if (path[depth].p_idx !=
fs/ext4/extents.c
1688
EXT_LAST_INDEX(path[depth].p_hdr))
fs/ext4/extents.c
1690
le32_to_cpu(path[depth].p_idx[1].ei_block);
fs/ext4/extents.c
1704
struct ext4_ext_path *path)
fs/ext4/extents.c
1712
eh = path[depth].p_hdr;
fs/ext4/extents.c
1713
ex = path[depth].p_ext;
fs/ext4/extents.c
1735
border = path[depth].p_ext->ee_block;
fs/ext4/extents.c
1736
err = ext4_ext_get_access(handle, inode, path + k);
fs/ext4/extents.c
1739
if (unlikely(path[k].p_idx > EXT_LAST_INDEX(path[k].p_hdr))) {
fs/ext4/extents.c
174
clear_buffer_verified(path->p_bh);
fs/ext4/extents.c
1742
k, path[k].p_idx,
fs/ext4/extents.c
1743
EXT_LAST_INDEX(path[k].p_hdr));
fs/ext4/extents.c
1746
path[k].p_idx->ei_block = border;
fs/ext4/extents.c
1747
err = ext4_ext_dirty(handle, inode, path + k);
fs/ext4/extents.c
1753
if (path[k+1].p_idx != EXT_FIRST_INDEX(path[k+1].p_hdr))
fs/ext4/extents.c
1755
err = ext4_ext_get_access(handle, inode, path + k);
fs/ext4/extents.c
1758
if (unlikely(path[k].p_idx > EXT_LAST_INDEX(path[k].p_hdr))) {
fs/ext4/extents.c
1761
k, path[k].p_idx,
fs/ext4/extents.c
1762
EXT_LAST_INDEX(path[k].p_hdr));
fs/ext4/extents.c
1766
path[k].p_idx->ei_block = border;
fs/ext4/extents.c
1767
err = ext4_ext_dirty(handle, inode, path + k);
fs/ext4/extents.c
1781
clear_buffer_verified(path[k].p_bh);
fs/ext4/extents.c
1826
struct ext4_ext_path *path,
fs/ext4/extents.c
1834
BUG_ON(path[depth].p_hdr == NULL);
fs/ext4/extents.c
1835
eh = path[depth].p_hdr;
fs/ext4/extents.c
1868
struct ext4_ext_path *path)
fs/ext4/extents.c
1874
if ((path[0].p_depth != 1) ||
fs/ext4/extents.c
1875
(le16_to_cpu(path[0].p_hdr->eh_entries) != 1) ||
fs/ext4/extents.c
1876
(le16_to_cpu(path[1].p_hdr->eh_entries) > max_root))
fs/ext4/extents.c
189
struct ext4_ext_path *path)
fs/ext4/extents.c
1891
blk = ext4_idx_pblock(path[0].p_idx);
fs/ext4/extents.c
1892
s = le16_to_cpu(path[1].p_hdr->eh_entries) *
fs/ext4/extents.c
1896
path[1].p_maxdepth = path[0].p_maxdepth;
fs/ext4/extents.c
1897
memcpy(path[0].p_hdr, path[1].p_hdr, s);
fs/ext4/extents.c
1898
path[0].p_depth = 0;
fs/ext4/extents.c
1899
path[0].p_ext = EXT_FIRST_EXTENT(path[0].p_hdr) +
fs/ext4/extents.c
1900
(path[1].p_ext - EXT_FIRST_EXTENT(path[1].p_hdr));
fs/ext4/extents.c
1901
path[0].p_hdr->eh_max = cpu_to_le16(max_root);
fs/ext4/extents.c
1903
ext4_ext_path_brelse(path + 1);
fs/ext4/extents.c
1914
struct ext4_ext_path *path,
fs/ext4/extents.c
1922
BUG_ON(path[depth].p_hdr == NULL);
fs/ext4/extents.c
1923
eh = path[depth].p_hdr;
fs/ext4/extents.c
1926
merge_done = ext4_ext_try_to_merge_right(inode, path, ex - 1);
fs/ext4/extents.c
1929
(void) ext4_ext_try_to_merge_right(inode, path, ex);
fs/ext4/extents.c
1931
ext4_ext_try_to_merge_up(handle, inode, path);
fs/ext4/extents.c
194
path);
fs/ext4/extents.c
1945
struct ext4_ext_path *path)
fs/ext4/extents.c
1954
if (!path[depth].p_ext)
fs/ext4/extents.c
1956
b2 = EXT4_LBLK_CMASK(sbi, le32_to_cpu(path[depth].p_ext->ee_block));
fs/ext4/extents.c
1963
b2 = ext4_ext_next_allocated_block(path);
fs/ext4/extents.c
197
if (path->p_bh) {
fs/ext4/extents.c
198
ext4_extent_block_csum_set(inode, ext_block_hdr(path->p_bh));
fs/ext4/extents.c
1993
struct ext4_ext_path *path,
fs/ext4/extents.c
2003
KUNIT_STATIC_STUB_REDIRECT(ext4_ext_insert_extent, handle, inode, path,
fs/ext4/extents.c
201
inode, path->p_bh);
fs/ext4/extents.c
2014
ex = path[depth].p_ext;
fs/ext4/extents.c
2015
eh = path[depth].p_hdr;
fs/ext4/extents.c
2016
if (unlikely(path[depth].p_hdr == NULL)) {
fs/ext4/extents.c
204
set_buffer_verified(path->p_bh);
fs/ext4/extents.c
2055
path + depth);
fs/ext4/extents.c
2080
path + depth);
fs/ext4/extents.c
2097
eh = path[depth].p_hdr;
fs/ext4/extents.c
2105
next = ext4_ext_next_leaf_block(path);
fs/ext4/extents.c
2115
BUG_ON(npath->p_depth != path->p_depth);
fs/ext4/extents.c
212
#define ext4_ext_dirty(handle, inode, path) \
fs/ext4/extents.c
2120
ext4_free_ext_path(path);
fs/ext4/extents.c
2121
path = npath;
fs/ext4/extents.c
213
__ext4_ext_dirty(__func__, __LINE__, (handle), (inode), (path))
fs/ext4/extents.c
2135
path = ext4_ext_create_new_leaf(handle, inode, mb_flags, gb_flags,
fs/ext4/extents.c
2136
path, newext);
fs/ext4/extents.c
2137
if (IS_ERR(path))
fs/ext4/extents.c
2138
return path;
fs/ext4/extents.c
2140
eh = path[depth].p_hdr;
fs/ext4/extents.c
2143
nearex = path[depth].p_ext;
fs/ext4/extents.c
2145
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
216
struct ext4_ext_path *path,
fs/ext4/extents.c
219
if (path) {
fs/ext4/extents.c
2195
path[depth].p_ext = nearex;
fs/ext4/extents.c
220
int depth = path->p_depth;
fs/ext4/extents.c
2203
ext4_ext_try_to_merge(handle, inode, path, nearex);
fs/ext4/extents.c
2206
err = ext4_ext_correct_indexes(handle, inode, path);
fs/ext4/extents.c
2210
err = ext4_ext_dirty(handle, inode, path + path->p_depth);
fs/ext4/extents.c
2214
return path;
fs/ext4/extents.c
2217
ext4_free_ext_path(path);
fs/ext4/extents.c
2281
struct ext4_ext_path *path,
fs/ext4/extents.c
2288
ex = path[depth].p_ext;
fs/ext4/extents.c
2300
next = ext4_ext_next_allocated_block(path);
fs/ext4/extents.c
2314
struct ext4_ext_path *path, int depth)
fs/ext4/extents.c
2321
leaf = ext4_idx_pblock(path[k].p_idx);
fs/ext4/extents.c
2322
if (unlikely(path[k].p_hdr->eh_entries == 0)) {
fs/ext4/extents.c
2326
err = ext4_ext_get_access(handle, inode, path + k);
fs/ext4/extents.c
2330
if (path[k].p_idx != EXT_LAST_INDEX(path[k].p_hdr)) {
fs/ext4/extents.c
2331
int len = EXT_LAST_INDEX(path[k].p_hdr) - path[k].p_idx;
fs/ext4/extents.c
2333
memmove(path[k].p_idx, path[k].p_idx + 1, len);
fs/ext4/extents.c
2336
le16_add_cpu(&path[k].p_hdr->eh_entries, -1);
fs/ext4/extents.c
2337
err = ext4_ext_dirty(handle, inode, path + k);
fs/ext4/extents.c
2347
if (path[k + 1].p_idx != EXT_FIRST_INDEX(path[k + 1].p_hdr))
fs/ext4/extents.c
2349
err = ext4_ext_get_access(handle, inode, path + k);
fs/ext4/extents.c
2352
path[k].p_idx->ei_block = path[k + 1].p_idx->ei_block;
fs/ext4/extents.c
2353
err = ext4_ext_dirty(handle, inode, path + k);
fs/ext4/extents.c
2367
clear_buffer_verified(path[k].p_bh);
fs/ext4/extents.c
2380
struct ext4_ext_path *path)
fs/ext4/extents.c
2382
if (path) {
fs/ext4/extents.c
2387
if (le16_to_cpu(path[depth].p_hdr->eh_entries)
fs/ext4/extents.c
2388
< le16_to_cpu(path[depth].p_hdr->eh_max)) {
fs/ext4/extents.c
240
ex = path[depth].p_ext;
fs/ext4/extents.c
253
if (path[depth].p_bh)
fs/ext4/extents.c
254
return path[depth].p_bh->b_blocknr;
fs/ext4/extents.c
2615
struct ext4_ext_path *path,
fs/ext4/extents.c
2633
if (!path[depth].p_hdr)
fs/ext4/extents.c
2634
path[depth].p_hdr = ext_block_hdr(path[depth].p_bh);
fs/ext4/extents.c
2635
eh = path[depth].p_hdr;
fs/ext4/extents.c
2636
if (unlikely(path[depth].p_hdr == NULL)) {
fs/ext4/extents.c
2641
ex = path[depth].p_ext;
fs/ext4/extents.c
266
struct ext4_ext_path *path,
fs/ext4/extents.c
2660
path[depth].p_ext = ex;
fs/ext4/extents.c
271
goal = ext4_ext_find_goal(inode, path, le32_to_cpu(ex->ee_block));
fs/ext4/extents.c
2730
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
2770
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
2782
err = ext4_ext_correct_indexes(handle, inode, path);
fs/ext4/extents.c
2809
if (err == 0 && eh->eh_entries == 0 && path[depth].p_bh != NULL)
fs/ext4/extents.c
2810
err = ext4_ext_rm_idx(handle, inode, path, depth);
fs/ext4/extents.c
2821
ext4_ext_more_to_rm(struct ext4_ext_path *path)
fs/ext4/extents.c
2823
BUG_ON(path->p_idx == NULL);
fs/ext4/extents.c
2825
if (path->p_idx < EXT_FIRST_INDEX(path->p_hdr))
fs/ext4/extents.c
2832
if (le16_to_cpu(path->p_hdr->eh_entries) == path->p_block)
fs/ext4/extents.c
2842
struct ext4_ext_path *path = NULL;
fs/ext4/extents.c
2877
path = ext4_find_extent(inode, end, NULL, flags);
fs/ext4/extents.c
2878
if (IS_ERR(path)) {
fs/ext4/extents.c
2880
return PTR_ERR(path);
fs/ext4/extents.c
2884
ex = path[depth].p_ext;
fs/ext4/extents.c
2923
path = ext4_force_split_extent_at(handle, inode, path,
fs/ext4/extents.c
2925
if (IS_ERR(path)) {
fs/ext4/extents.c
2926
err = PTR_ERR(path);
fs/ext4/extents.c
2942
err = ext4_ext_search_right(inode, path, &lblk, &pblk,
fs/ext4/extents.c
2957
if (path) {
fs/ext4/extents.c
2960
path[k].p_block =
fs/ext4/extents.c
2961
le16_to_cpu(path[k].p_hdr->eh_entries)+1;
fs/ext4/extents.c
2963
path = kzalloc_objs(struct ext4_ext_path, depth + 1,
fs/ext4/extents.c
2965
path[0].p_maxdepth = path[0].p_depth = depth;
fs/ext4/extents.c
2966
path[0].p_hdr = ext_inode_hdr(inode);
fs/ext4/extents.c
2969
if (ext4_ext_check(inode, path[0].p_hdr, depth, 0)) {
fs/ext4/extents.c
2979
err = ext4_ext_rm_leaf(handle, inode, path,
fs/ext4/extents.c
2982
ext4_ext_path_brelse(path + i);
fs/ext4/extents.c
2988
if (!path[i].p_hdr) {
fs/ext4/extents.c
2990
path[i].p_hdr = ext_block_hdr(path[i].p_bh);
fs/ext4/extents.c
2993
if (!path[i].p_idx) {
fs/ext4/extents.c
2995
path[i].p_idx = EXT_LAST_INDEX(path[i].p_hdr);
fs/ext4/extents.c
2996
path[i].p_block = le16_to_cpu(path[i].p_hdr->eh_entries)+1;
fs/ext4/extents.c
2998
path[i].p_hdr,
fs/ext4/extents.c
2999
le16_to_cpu(path[i].p_hdr->eh_entries));
fs/ext4/extents.c
3002
path[i].p_idx--;
fs/ext4/extents.c
3006
i, EXT_FIRST_INDEX(path[i].p_hdr),
fs/ext4/extents.c
3007
path[i].p_idx);
fs/ext4/extents.c
3008
if (ext4_ext_more_to_rm(path + i)) {
fs/ext4/extents.c
3012
i + 1, ext4_idx_pblock(path[i].p_idx));
fs/ext4/extents.c
3013
memset(path + i + 1, 0, sizeof(*path));
fs/ext4/extents.c
3014
bh = read_extent_tree_block(inode, path[i].p_idx,
fs/ext4/extents.c
3028
path[i + 1].p_bh = bh;
fs/ext4/extents.c
3032
path[i].p_block = le16_to_cpu(path[i].p_hdr->eh_entries);
fs/ext4/extents.c
3036
if (path[i].p_hdr->eh_entries == 0 && i > 0) {
fs/ext4/extents.c
3040
err = ext4_ext_rm_idx(handle, inode, path, i);
fs/ext4/extents.c
3043
ext4_ext_path_brelse(path + i);
fs/ext4/extents.c
3050
path->p_hdr->eh_entries);
fs/ext4/extents.c
3070
if (path->p_hdr->eh_entries == 0) {
fs/ext4/extents.c
3075
err = ext4_ext_get_access(handle, inode, path);
fs/ext4/extents.c
3080
err = ext4_ext_dirty(handle, inode, path);
fs/ext4/extents.c
3084
ext4_free_ext_path(path);
fs/ext4/extents.c
3085
path = NULL;
fs/ext4/extents.c
3193
struct ext4_ext_path *path,
fs/ext4/extents.c
3209
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
3212
ex = path[depth].p_ext;
fs/ext4/extents.c
3226
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
3240
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
3251
path = ext4_ext_insert_extent(handle, inode, path, &newex, flags);
fs/ext4/extents.c
3252
if (!IS_ERR(path))
fs/ext4/extents.c
3253
return path;
fs/ext4/extents.c
3255
insert_err = PTR_ERR(path);
fs/ext4/extents.c
3269
path = ext4_find_extent(inode, ee_block, NULL, flags | EXT4_EX_NOFAIL);
fs/ext4/extents.c
3270
if (IS_ERR(path)) {
fs/ext4/extents.c
3272
split, PTR_ERR(path));
fs/ext4/extents.c
3277
ex = path[depth].p_ext;
fs/ext4/extents.c
3281
(unsigned long)ee_block, depth, path[depth].p_block);
fs/ext4/extents.c
3286
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
3292
err = ext4_ext_dirty(handle, inode, path + path->p_depth);
fs/ext4/extents.c
3295
ext4_free_ext_path(path);
fs/ext4/extents.c
3296
path = err ? ERR_PTR(err) : ERR_PTR(insert_err);
fs/ext4/extents.c
3299
if (IS_ERR(path))
fs/ext4/extents.c
3302
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
3303
return path;
fs/ext4/extents.c
3307
struct ext4_ext_path *path,
fs/ext4/extents.c
3318
ex = path[depth].p_ext;
fs/ext4/extents.c
333
struct ext4_ext_path *path, ext4_lblk_t lblk,
fs/ext4/extents.c
3385
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
3391
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
341
return ext4_split_extent_at(handle, inode, path, lblk, flags);
fs/ext4/extents.c
3411
struct ext4_ext_path *path,
fs/ext4/extents.c
3423
ex = path[depth].p_ext;
fs/ext4/extents.c
3436
path = ext4_split_extent_at(handle, inode, path,
fs/ext4/extents.c
3438
if (IS_ERR(path))
fs/ext4/extents.c
3445
path = ext4_find_extent(inode, map->m_lblk, path, flags);
fs/ext4/extents.c
3446
if (IS_ERR(path))
fs/ext4/extents.c
3450
ex = path[depth].p_ext;
fs/ext4/extents.c
3454
ext4_free_ext_path(path);
fs/ext4/extents.c
3465
path = ext4_split_extent_at(handle, inode, path, map->m_lblk,
fs/ext4/extents.c
3467
if (IS_ERR(path))
fs/ext4/extents.c
3480
orig_err = PTR_ERR(path);
fs/ext4/extents.c
3497
path = ext4_find_extent(inode, map->m_lblk, NULL, flags);
fs/ext4/extents.c
3498
if (IS_ERR(path))
fs/ext4/extents.c
3502
ex = path[depth].p_ext;
fs/ext4/extents.c
3512
if (ext4_split_extent_zeroout(handle, inode, path, map, flags))
fs/ext4/extents.c
3526
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
3527
return path;
fs/ext4/extents.c
3530
ext4_free_ext_path(path);
fs/ext4/extents.c
3558
struct ext4_map_blocks *map, struct ext4_ext_path *path,
fs/ext4/extents.c
3581
eh = path[depth].p_hdr;
fs/ext4/extents.c
3582
ex = path[depth].p_ext;
fs/ext4/extents.c
3637
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
3683
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
3705
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
3708
path[depth].p_ext = abut_ex;
fs/ext4/extents.c
3775
path = ext4_split_convert_extents(handle, inode, &split_map, path,
fs/ext4/extents.c
3777
if (IS_ERR(path))
fs/ext4/extents.c
3778
return path;
fs/ext4/extents.c
3783
return path;
fs/ext4/extents.c
3786
ext4_free_ext_path(path);
fs/ext4/extents.c
3819
struct ext4_ext_path *path,
fs/ext4/extents.c
3837
ex = path[depth].p_ext;
fs/ext4/extents.c
3855
path = ext4_split_extent(handle, inode, path, map, split_flag,
fs/ext4/extents.c
3858
if (IS_ERR(path))
fs/ext4/extents.c
3859
return path;
fs/ext4/extents.c
3862
path = ext4_find_extent(inode, map->m_lblk, path, flags);
fs/ext4/extents.c
3863
if (IS_ERR(path))
fs/ext4/extents.c
3864
return path;
fs/ext4/extents.c
3867
ex = path[depth].p_ext;
fs/ext4/extents.c
3873
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
3887
ext4_ext_try_to_merge(handle, inode, path, ex);
fs/ext4/extents.c
3889
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
3906
ext4_free_ext_path(path);
fs/ext4/extents.c
3910
return path;
fs/ext4/extents.c
3916
struct ext4_ext_path *path, int flags)
fs/ext4/extents.c
3924
ex = path[depth].p_ext;
fs/ext4/extents.c
3931
return ext4_split_convert_extents(handle, inode, map, path, flags,
fs/ext4/extents.c
3938
struct ext4_ext_path *path,
fs/ext4/extents.c
3955
ex = path[depth].p_ext;
fs/ext4/extents.c
3962
path = ext4_split_convert_extents(handle, inode, map, path, flags,
fs/ext4/extents.c
3964
if (IS_ERR(path))
fs/ext4/extents.c
3965
return path;
fs/ext4/extents.c
3967
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
3974
path = ext4_find_extent(inode, map->m_lblk, path, flags);
fs/ext4/extents.c
3975
if (IS_ERR(path))
fs/ext4/extents.c
3976
return path;
fs/ext4/extents.c
3979
ex = path[depth].p_ext;
fs/ext4/extents.c
3988
return path;
fs/ext4/extents.c
3994
struct ext4_ext_path *path, int flags,
fs/ext4/extents.c
4002
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
4015
path = ext4_convert_unwritten_extents_endio(handle, inode,
fs/ext4/extents.c
4016
map, path, flags);
fs/ext4/extents.c
4017
if (IS_ERR(path))
fs/ext4/extents.c
4018
return path;
fs/ext4/extents.c
4050
path = ext4_ext_convert_to_initialized(handle, inode, map, path,
fs/ext4/extents.c
4052
if (IS_ERR(path))
fs/ext4/extents.c
4053
return path;
fs/ext4/extents.c
4074
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
4075
return path;
fs/ext4/extents.c
4078
ext4_free_ext_path(path);
fs/ext4/extents.c
4126
struct ext4_ext_path *path)
fs/ext4/extents.c
4172
ext4_lblk_t next = ext4_ext_next_allocated_block(path);
fs/ext4/extents.c
4192
struct ext4_ext_path *path,
fs/ext4/extents.c
4199
len = ext4_ext_find_hole(inode, path, &hole_start);
fs/ext4/extents.c
4272
struct ext4_ext_path *path = NULL;
fs/ext4/extents.c
4286
path = ext4_find_extent(inode, map->m_lblk, NULL, flags);
fs/ext4/extents.c
4287
if (IS_ERR(path)) {
fs/ext4/extents.c
4288
err = PTR_ERR(path);
fs/ext4/extents.c
4299
if (unlikely(path[depth].p_ext == NULL && depth != 0)) {
fs/ext4/extents.c
4303
path[depth].p_block);
fs/ext4/extents.c
4308
ex = path[depth].p_ext;
fs/ext4/extents.c
4337
path = convert_initialized_extent(handle,
fs/ext4/extents.c
4338
inode, map, path, flags, &allocated);
fs/ext4/extents.c
4339
if (IS_ERR(path))
fs/ext4/extents.c
4340
err = PTR_ERR(path);
fs/ext4/extents.c
4348
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
4352
path = ext4_ext_handle_unwritten_extents(
fs/ext4/extents.c
4353
handle, inode, map, path, flags,
fs/ext4/extents.c
4355
if (IS_ERR(path))
fs/ext4/extents.c
4356
err = PTR_ERR(path);
fs/ext4/extents.c
4368
len = ext4_ext_determine_insert_hole(inode, path, map->m_lblk);
fs/ext4/extents.c
4386
get_implied_cluster_alloc(inode->i_sb, map, ex, path)) {
fs/ext4/extents.c
4394
err = ext4_ext_search_left(inode, path, &ar.lleft, &ar.pleft);
fs/ext4/extents.c
4398
err = ext4_ext_search_right(inode, path, &ar.lright, &ar.pright,
fs/ext4/extents.c
4406
get_implied_cluster_alloc(inode->i_sb, map, &ex2, path)) {
fs/ext4/extents.c
4428
err = ext4_ext_check_overlap(sbi, inode, &newex, path);
fs/ext4/extents.c
4436
ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
fs/ext4/extents.c
4482
path = ext4_ext_insert_extent(handle, inode, path, &newex, flags);
fs/ext4/extents.c
4483
if (IS_ERR(path)) {
fs/ext4/extents.c
4484
err = PTR_ERR(path);
fs/ext4/extents.c
4520
ext4_ext_show_leaf(inode, path);
fs/ext4/extents.c
4532
if (!err && ex && (ex == EXT_LAST_EXTENT(path[depth].p_hdr)))
fs/ext4/extents.c
4536
ext4_free_ext_path(path);
fs/ext4/extents.c
46
struct ext4_ext_path *path, int flags, unsigned int *allocated);
fs/ext4/extents.c
5275
ext4_ext_shift_path_extents(struct ext4_ext_path *path, ext4_lblk_t shift,
fs/ext4/extents.c
5283
depth = path->p_depth;
fs/ext4/extents.c
5286
if (depth == path->p_depth) {
fs/ext4/extents.c
5287
ex_start = path[depth].p_ext;
fs/ext4/extents.c
5291
ex_last = EXT_LAST_EXTENT(path[depth].p_hdr);
fs/ext4/extents.c
5294
if (ex_start == EXT_FIRST_EXTENT(path[depth].p_hdr)) {
fs/ext4/extents.c
5309
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
5319
EXT_FIRST_EXTENT(path[depth].p_hdr))
fs/ext4/extents.c
5322
path, ex_start - 1))
fs/ext4/extents.c
5328
ext4_ext_try_to_merge_right(inode, path,
fs/ext4/extents.c
5333
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
5342
err = ext4_ext_get_access(handle, inode, path + depth);
fs/ext4/extents.c
5347
le32_add_cpu(&path[depth].p_idx->ei_block, -shift);
fs/ext4/extents.c
5349
le32_add_cpu(&path[depth].p_idx->ei_block, shift);
fs/ext4/extents.c
5350
err = ext4_ext_dirty(handle, inode, path + depth);
fs/ext4/extents.c
5355
if (path[depth].p_idx != EXT_FIRST_INDEX(path[depth].p_hdr))
fs/ext4/extents.c
5377
struct ext4_ext_path *path;
fs/ext4/extents.c
5384
path = ext4_find_extent(inode, EXT_MAX_BLOCKS - 1, NULL,
fs/ext4/extents.c
5386
if (IS_ERR(path))
fs/ext4/extents.c
5387
return PTR_ERR(path);
fs/ext4/extents.c
5389
depth = path->p_depth;
fs/ext4/extents.c
5390
extent = path[depth].p_ext;
fs/ext4/extents.c
5402
path = ext4_find_extent(inode, start - 1, path,
fs/ext4/extents.c
5404
if (IS_ERR(path))
fs/ext4/extents.c
5405
return PTR_ERR(path);
fs/ext4/extents.c
5406
depth = path->p_depth;
fs/ext4/extents.c
5407
extent = path[depth].p_ext;
fs/ext4/extents.c
5451
path = ext4_find_extent(inode, *iterator, path,
fs/ext4/extents.c
5453
if (IS_ERR(path))
fs/ext4/extents.c
5454
return PTR_ERR(path);
fs/ext4/extents.c
5455
depth = path->p_depth;
fs/ext4/extents.c
5456
extent = path[depth].p_ext;
fs/ext4/extents.c
5466
if (extent < EXT_LAST_EXTENT(path[depth].p_hdr)) {
fs/ext4/extents.c
5467
path[depth].p_ext++;
fs/ext4/extents.c
5469
*iterator = ext4_ext_next_allocated_block(path);
fs/ext4/extents.c
5476
extent = EXT_LAST_EXTENT(path[depth].p_hdr);
fs/ext4/extents.c
5480
extent = EXT_FIRST_EXTENT(path[depth].p_hdr);
fs/ext4/extents.c
5486
extent = EXT_LAST_EXTENT(path[depth].p_hdr);
fs/ext4/extents.c
5490
if (extent == EXT_LAST_EXTENT(path[depth].p_hdr))
fs/ext4/extents.c
5496
path[depth].p_ext = extent;
fs/ext4/extents.c
5498
ret = ext4_ext_shift_path_extents(path, shift, inode,
fs/ext4/extents.c
5507
ext4_free_ext_path(path);
fs/ext4/extents.c
5623
struct ext4_ext_path *path;
fs/ext4/extents.c
5679
path = ext4_find_extent(inode, start_lblk, NULL, 0);
fs/ext4/extents.c
5680
if (IS_ERR(path)) {
fs/ext4/extents.c
5682
ret = PTR_ERR(path);
fs/ext4/extents.c
5687
extent = path[depth].p_ext;
fs/ext4/extents.c
5698
path = ext4_split_extent_at(handle, inode, path,
fs/ext4/extents.c
5704
if (IS_ERR(path)) {
fs/ext4/extents.c
5706
ret = PTR_ERR(path);
fs/ext4/extents.c
5711
ext4_free_ext_path(path);
fs/ext4/extents.c
5942
struct ext4_ext_path *path;
fs/ext4/extents.c
5957
path = ext4_find_extent(inode, EXT4_C2B(sbi, lclu), NULL, 0);
fs/ext4/extents.c
5958
if (IS_ERR(path))
fs/ext4/extents.c
5959
return PTR_ERR(path);
fs/ext4/extents.c
5968
if (unlikely(path[depth].p_ext == NULL && depth != 0)) {
fs/ext4/extents.c
5972
depth, path[depth].p_block);
fs/ext4/extents.c
5977
extent = path[depth].p_ext;
fs/ext4/extents.c
5998
first_lblk = ext4_ext_next_allocated_block(path);
fs/ext4/extents.c
6006
ext4_free_ext_path(path);
fs/ext4/extents.c
6021
struct ext4_ext_path *path;
fs/ext4/extents.c
6025
path = ext4_find_extent(inode, start, NULL, 0);
fs/ext4/extents.c
6026
if (IS_ERR(path))
fs/ext4/extents.c
6027
return PTR_ERR(path);
fs/ext4/extents.c
6028
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
6038
path = ext4_force_split_extent_at(NULL, inode, path, start, 1);
fs/ext4/extents.c
6040
if (IS_ERR(path)) {
fs/ext4/extents.c
6041
ret = PTR_ERR(path);
fs/ext4/extents.c
6045
path = ext4_find_extent(inode, start, path, 0);
fs/ext4/extents.c
6046
if (IS_ERR(path))
fs/ext4/extents.c
6047
return PTR_ERR(path);
fs/ext4/extents.c
6049
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
6054
path = ext4_force_split_extent_at(NULL, inode, path,
fs/ext4/extents.c
6057
if (IS_ERR(path)) {
fs/ext4/extents.c
6058
ret = PTR_ERR(path);
fs/ext4/extents.c
606
struct ext4_ext_path *path = NULL;
fs/ext4/extents.c
6062
path = ext4_find_extent(inode, start, path, 0);
fs/ext4/extents.c
6063
if (IS_ERR(path))
fs/ext4/extents.c
6064
return PTR_ERR(path);
fs/ext4/extents.c
6065
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
6074
ret = ext4_ext_dirty(NULL, inode, &path[path->p_depth]);
fs/ext4/extents.c
6077
ext4_free_ext_path(path);
fs/ext4/extents.c
6085
struct ext4_ext_path *path = NULL;
fs/ext4/extents.c
6090
path = ext4_find_extent(inode, cur, NULL, 0);
fs/ext4/extents.c
6091
if (IS_ERR(path))
fs/ext4/extents.c
6093
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
6095
ext4_free_ext_path(path);
fs/ext4/extents.c
6103
ext4_ext_try_to_merge(NULL, inode, path, ex);
fs/ext4/extents.c
6105
ext4_ext_dirty(NULL, inode, &path[path->p_depth]);
fs/ext4/extents.c
6108
ext4_free_ext_path(path);
fs/ext4/extents.c
6133
struct ext4_ext_path *path = NULL, *path2 = NULL;
fs/ext4/extents.c
6141
path = ext4_find_extent(inode, EXT_MAX_BLOCKS - 1, NULL,
fs/ext4/extents.c
6143
if (IS_ERR(path))
fs/ext4/extents.c
6144
return PTR_ERR(path);
fs/ext4/extents.c
6145
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
6174
path = ext4_find_extent(inode, cur, path, 0);
fs/ext4/extents.c
6175
if (IS_ERR(path))
fs/ext4/extents.c
6177
numblks += path->p_depth;
fs/ext4/extents.c
6179
path = ext4_find_extent(inode, cur, path, 0);
fs/ext4/extents.c
6180
if (IS_ERR(path))
fs/ext4/extents.c
6182
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
6196
for (i = 0; i <= max(path->p_depth, path2->p_depth); i++) {
fs/ext4/extents.c
6198
if (i <= path->p_depth)
fs/ext4/extents.c
6199
cmp1 = path[i].p_bh ?
fs/ext4/extents.c
6200
path[i].p_bh->b_blocknr : 0;
fs/ext4/extents.c
6213
ext4_free_ext_path(path);
fs/ext4/extents.c
6220
struct ext4_ext_path *path = NULL;
fs/ext4/extents.c
6230
path = ext4_find_extent(inode, EXT_MAX_BLOCKS - 1, NULL,
fs/ext4/extents.c
6232
if (IS_ERR(path))
fs/ext4/extents.c
6233
return PTR_ERR(path);
fs/ext4/extents.c
6234
ex = path[path->p_depth].p_ext;
fs/ext4/extents.c
624
path = kzalloc_objs(struct ext4_ext_path, depth + 1, GFP_NOFS);
fs/ext4/extents.c
6247
path = ext4_find_extent(inode, map.m_lblk, path, 0);
fs/ext4/extents.c
6248
if (!IS_ERR(path)) {
fs/ext4/extents.c
6249
for (j = 0; j < path->p_depth; j++) {
fs/ext4/extents.c
625
if (path == NULL) {
fs/ext4/extents.c
6251
path[j].p_block, 1, false);
fs/ext4/extents.c
6253
0, path[j].p_block, 1, 1);
fs/ext4/extents.c
6256
path = NULL;
fs/ext4/extents.c
6266
ext4_free_ext_path(path);
fs/ext4/extents.c
6279
struct ext4_ext_path *path, int flags,
fs/ext4/extents.c
6282
return ext4_split_convert_extents(handle, inode, map, path,
fs/ext4/extents.c
630
path[0].p_hdr = ext_inode_hdr(inode);
fs/ext4/extents.c
631
ret = ext4_ext_check(inode, path[0].p_hdr, depth, 0);
fs/ext4/extents.c
634
path[0].p_idx = EXT_FIRST_INDEX(path[0].p_hdr);
fs/ext4/extents.c
641
path[i].p_idx > EXT_LAST_INDEX(path[i].p_hdr)) {
fs/ext4/extents.c
642
ext4_ext_path_brelse(path + i);
fs/ext4/extents.c
646
bh = read_extent_tree_block(inode, path[i].p_idx++,
fs/ext4/extents.c
654
path[i].p_bh = bh;
fs/ext4/extents.c
655
path[i].p_hdr = ext_block_hdr(bh);
fs/ext4/extents.c
656
path[i].p_idx = EXT_FIRST_INDEX(path[i].p_hdr);
fs/ext4/extents.c
661
ext4_free_ext_path(path);
fs/ext4/extents.c
666
static void ext4_ext_show_path(struct inode *inode, struct ext4_ext_path *path)
fs/ext4/extents.c
668
int k, l = path->p_depth;
fs/ext4/extents.c
671
for (k = 0; k <= l; k++, path++) {
fs/ext4/extents.c
672
if (path->p_idx) {
fs/ext4/extents.c
674
le32_to_cpu(path->p_idx->ei_block),
fs/ext4/extents.c
675
ext4_idx_pblock(path->p_idx));
fs/ext4/extents.c
676
} else if (path->p_ext) {
fs/ext4/extents.c
678
le32_to_cpu(path->p_ext->ee_block),
fs/ext4/extents.c
679
ext4_ext_is_unwritten(path->p_ext),
fs/ext4/extents.c
680
ext4_ext_get_actual_len(path->p_ext),
fs/ext4/extents.c
681
ext4_ext_pblock(path->p_ext));
fs/ext4/extents.c
688
static void ext4_ext_show_leaf(struct inode *inode, struct ext4_ext_path *path)
fs/ext4/extents.c
695
if (IS_ERR_OR_NULL(path))
fs/ext4/extents.c
698
eh = path[depth].p_hdr;
fs/ext4/extents.c
711
static void ext4_ext_show_move(struct inode *inode, struct ext4_ext_path *path,
fs/ext4/extents.c
719
idx = path[level].p_idx;
fs/ext4/extents.c
720
while (idx <= EXT_MAX_INDEX(path[level].p_hdr)) {
fs/ext4/extents.c
730
ex = path[depth].p_ext;
fs/ext4/extents.c
731
while (ex <= EXT_MAX_EXTENT(path[depth].p_hdr)) {
fs/ext4/extents.c
743
#define ext4_ext_show_path(inode, path)
fs/ext4/extents.c
744
#define ext4_ext_show_leaf(inode, path)
fs/ext4/extents.c
745
#define ext4_ext_show_move(inode, path, newblock, level)
fs/ext4/extents.c
755
struct ext4_ext_path *path, ext4_lblk_t block)
fs/ext4/extents.c
757
struct ext4_extent_header *eh = path->p_hdr;
fs/ext4/extents.c
777
path->p_idx = l - 1;
fs/ext4/extents.c
778
ext_debug(inode, " -> %u->%lld ", le32_to_cpu(path->p_idx->ei_block),
fs/ext4/extents.c
779
ext4_idx_pblock(path->p_idx));
fs/ext4/extents.c
803
BUG_ON(chix != path->p_idx);
fs/ext4/extents.c
816
struct ext4_ext_path *path, ext4_lblk_t block)
fs/ext4/extents.c
818
struct ext4_extent_header *eh = path->p_hdr;
fs/ext4/extents.c
846
path->p_ext = l - 1;
fs/ext4/extents.c
848
le32_to_cpu(path->p_ext->ee_block),
fs/ext4/extents.c
849
ext4_ext_pblock(path->p_ext),
fs/ext4/extents.c
850
ext4_ext_is_unwritten(path->p_ext),
fs/ext4/extents.c
851
ext4_ext_get_actual_len(path->p_ext));
fs/ext4/extents.c
866
BUG_ON(chex != path->p_ext);
fs/ext4/extents.c
87
struct ext4_ext_path *path,
fs/ext4/extents.c
887
struct ext4_ext_path *path, int flags)
fs/ext4/extents.c
895
KUNIT_STATIC_STUB_REDIRECT(ext4_find_extent, inode, block, path, flags);
fs/ext4/extents.c
909
if (path) {
fs/ext4/extents.c
910
ext4_ext_drop_refs(path);
fs/ext4/extents.c
911
if (depth > path[0].p_maxdepth) {
fs/ext4/extents.c
912
kfree(path);
fs/ext4/extents.c
913
path = NULL;
fs/ext4/extents.c
916
if (!path) {
fs/ext4/extents.c
918
path = kzalloc_objs(struct ext4_ext_path, depth + 2, gfp_flags);
fs/ext4/extents.c
919
if (unlikely(!path))
fs/ext4/extents.c
921
path[0].p_maxdepth = depth + 1;
fs/ext4/extents.c
923
path[0].p_hdr = eh;
fs/ext4/extents.c
924
path[0].p_bh = NULL;
fs/ext4/extents.c
934
ext4_ext_binsearch_idx(inode, path + ppos, block);
fs/ext4/extents.c
935
path[ppos].p_block = ext4_idx_pblock(path[ppos].p_idx);
fs/ext4/extents.c
936
path[ppos].p_depth = i;
fs/ext4/extents.c
937
path[ppos].p_ext = NULL;
fs/ext4/extents.c
939
bh = read_extent_tree_block(inode, path[ppos].p_idx, --i, flags);
fs/ext4/extents.c
947
path[ppos].p_bh = bh;
fs/ext4/extents.c
948
path[ppos].p_hdr = eh;
fs/ext4/extents.c
951
path[ppos].p_depth = i;
fs/ext4/extents.c
952
path[ppos].p_ext = NULL;
fs/ext4/extents.c
953
path[ppos].p_idx = NULL;
fs/ext4/extents.c
956
ext4_ext_binsearch(inode, path + ppos, block);
fs/ext4/extents.c
958
if (path[ppos].p_ext)
fs/ext4/extents.c
959
path[ppos].p_block = ext4_ext_pblock(path[ppos].p_ext);
fs/ext4/extents.c
961
ext4_ext_show_path(inode, path);
fs/ext4/extents.c
963
return path;
fs/ext4/extents.c
966
ext4_free_ext_path(path);
fs/ext4/extents_status.c
676
struct ext4_ext_path *path = NULL;
fs/ext4/extents_status.c
683
path = ext4_find_extent(inode, es->es_lblk, NULL, EXT4_EX_NOCACHE);
fs/ext4/extents_status.c
684
if (IS_ERR(path))
fs/ext4/extents_status.c
688
ex = path[depth].p_ext;
fs/ext4/extents_status.c
756
ext4_free_ext_path(path);
fs/ext4/fast_commit.c
1772
struct ext4_ext_path *path = NULL;
fs/ext4/fast_commit.c
1813
path = ext4_find_extent(inode, cur, path, 0);
fs/ext4/fast_commit.c
1814
if (IS_ERR(path))
fs/ext4/fast_commit.c
1824
path = ext4_ext_insert_extent(NULL, inode,
fs/ext4/fast_commit.c
1825
path, &newex, 0);
fs/ext4/fast_commit.c
1827
if (IS_ERR(path))
fs/ext4/fast_commit.c
1876
ext4_free_ext_path(path);
fs/ext4/fast_commit.c
1948
struct ext4_ext_path *path = NULL;
fs/ext4/fast_commit.c
1977
path = ext4_find_extent(inode, map.m_lblk, path, 0);
fs/ext4/fast_commit.c
1978
if (!IS_ERR(path)) {
fs/ext4/fast_commit.c
1979
for (j = 0; j < path->p_depth; j++)
fs/ext4/fast_commit.c
1981
path[j].p_block, 1, true);
fs/ext4/fast_commit.c
1983
path = NULL;
fs/ext4/fast_commit.c
1995
ext4_free_ext_path(path);
fs/ext4/file.c
838
struct path path;
fs/ext4/file.c
857
path.mnt = mnt;
fs/ext4/file.c
858
path.dentry = mnt->mnt_root;
fs/ext4/file.c
859
cp = d_path(&path, buf, sizeof(buf));
fs/ext4/inode.c
6050
int ext4_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ext4/inode.c
6053
struct inode *inode = d_inode(path->dentry);
fs/ext4/inode.c
6124
const struct path *path, struct kstat *stat,
fs/ext4/inode.c
6127
struct inode *inode = d_inode(path->dentry);
fs/ext4/inode.c
6130
ext4_getattr(idmap, path, stat, request_mask, query_flags);
fs/ext4/migrate.c
27
struct ext4_ext_path *path;
fs/ext4/migrate.c
37
path = ext4_find_extent(inode, lb->first_block, NULL, 0);
fs/ext4/migrate.c
38
if (IS_ERR(path)) {
fs/ext4/migrate.c
39
retval = PTR_ERR(path);
fs/ext4/migrate.c
50
lb->last_block - lb->first_block + 1, path);
fs/ext4/migrate.c
55
path = ext4_ext_insert_extent(handle, inode, path, &newext, 0);
fs/ext4/migrate.c
56
if (IS_ERR(path))
fs/ext4/migrate.c
57
retval = PTR_ERR(path);
fs/ext4/migrate.c
60
ext4_free_ext_path(path);
fs/ext4/super.c
1612
const struct path *path);
fs/ext4/super.c
2326
struct path path;
fs/ext4/super.c
2335
error = fs_lookup_param(fc, param, 1, LOOKUP_FOLLOW, &path);
fs/ext4/super.c
2342
journal_inode = d_inode(path.dentry);
fs/ext4/super.c
2345
path_put(&path);
fs/ext4/super.c
7119
const struct path *path)
fs/ext4/super.c
7127
if (path->dentry->d_sb != sb)
fs/ext4/super.c
7131
if (IS_NOQUOTA(d_inode(path->dentry)))
fs/ext4/super.c
7137
if (path->dentry->d_parent != sb->s_root)
fs/ext4/super.c
7150
lockdep_set_quota_inode(path->dentry->d_inode, I_DATA_SEM_QUOTA);
fs/ext4/super.c
7151
err = dquot_quota_on(sb, type, format_id, path);
fs/ext4/super.c
7153
struct inode *inode = d_inode(path->dentry);
fs/ext4/super.c
7176
lockdep_set_quota_inode(path->dentry->d_inode,
fs/ext4/super.c
876
char pathname[80], *path;
fs/ext4/super.c
883
path = file_path(file, pathname, sizeof(pathname));
fs/ext4/super.c
884
if (IS_ERR(path))
fs/ext4/super.c
885
path = "(unknown)";
fs/ext4/super.c
894
block, current->comm, path, &vaf);
fs/ext4/super.c
900
current->comm, path, &vaf);
fs/ext4/symlink.c
59
const struct path *path,
fs/ext4/symlink.c
63
ext4_getattr(idmap, path, stat, request_mask, query_flags);
fs/ext4/symlink.c
65
return fscrypt_symlink_getattr(path, stat);
fs/ext4/verity.c
275
struct ext4_ext_path *path;
fs/ext4/verity.c
294
path = ext4_find_extent(inode, EXT_MAX_BLOCKS - 1, NULL, 0);
fs/ext4/verity.c
295
if (IS_ERR(path))
fs/ext4/verity.c
296
return PTR_ERR(path);
fs/ext4/verity.c
298
last_extent = path[path->p_depth].p_ext;
fs/ext4/verity.c
301
ext4_free_ext_path(path);
fs/ext4/verity.c
308
ext4_free_ext_path(path);
fs/f2fs/f2fs.h
1395
char path[MAX_PATH_LEN + 1];
fs/f2fs/f2fs.h
3781
int f2fs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/f2fs/file.c
4851
char *buf, *path;
fs/f2fs/file.c
4856
path = dentry_path_raw(file_dentry(file), buf, PATH_MAX);
fs/f2fs/file.c
4857
if (IS_ERR(path))
fs/f2fs/file.c
4861
current->pid, path, current->comm);
fs/f2fs/file.c
4864
current->pid, path, current->comm);
fs/f2fs/file.c
974
int f2fs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/f2fs/file.c
977
struct inode *inode = d_inode(path->dentry);
fs/f2fs/namei.c
1336
const struct path *path,
fs/f2fs/namei.c
1340
f2fs_getattr(idmap, path, stat, request_mask, query_flags);
fs/f2fs/namei.c
1342
return fscrypt_symlink_getattr(path, stat);
fs/f2fs/segment.c
1994
devi, sbi->s_ndevs ? FDEV(devi).path : "",
fs/f2fs/segment.c
5347
fdev->path, ret);
fs/f2fs/segment.c
5372
fdev->path, ret);
fs/f2fs/segment.c
5375
fdev->path, ret);
fs/f2fs/segment.c
5429
zbd->path, err);
fs/f2fs/segment.c
5485
zbd->path, err);
fs/f2fs/segment.c
5501
zbd->path, err);
fs/f2fs/super.c
3428
const struct path *path)
fs/f2fs/super.c
3439
if (path->dentry->d_sb != sb)
fs/f2fs/super.c
3448
inode = d_inode(path->dentry);
fs/f2fs/super.c
3458
err = dquot_quota_on(sb, type, format_id, path);
fs/f2fs/super.c
4066
if (RDEV(0).path[0]) {
fs/f2fs/super.c
4070
while (i < MAX_DEVICES && RDEV(i).path[0]) {
fs/f2fs/super.c
4758
if (!RDEV(0).path[0]) {
fs/f2fs/super.c
4795
else if (!RDEV(i).path[0])
fs/f2fs/super.c
4800
memcpy(FDEV(i).path, RDEV(i).path, MAX_PATH_LEN);
fs/f2fs/super.c
4817
FDEV(i).path, mode, sbi->sb, NULL);
fs/f2fs/super.c
4843
i, FDEV(i).path,
fs/f2fs/super.c
4850
i, FDEV(i).path,
fs/f2fs/sysfs.c
1889
FDEV(i).path);
fs/f2fs/sysfs.c
1901
char *buf, *path;
fs/f2fs/sysfs.c
1934
path = NULL;
fs/f2fs/sysfs.c
1936
path = dentry_path_raw(dentry, buf, PATH_MAX);
fs/f2fs/sysfs.c
1937
if (IS_ERR(path))
fs/f2fs/sysfs.c
1941
path ? path : "<unlinked>",
fs/fat/fat.h
408
const struct path *path, struct kstat *stat,
fs/fat/file.c
399
int fat_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/fat/file.c
402
struct inode *inode = d_inode(path->dentry);
fs/fhandle.c
101
if (put_user(real_mount(path->mnt)->mnt_id,
fs/fhandle.c
133
struct path path;
fs/fhandle.c
160
err = filename_lookup(dfd, filename, lookup_flags, &path, NULL);
fs/fhandle.c
162
err = do_sys_name_to_handle(&path, handle, mnt_id,
fs/fhandle.c
165
path_put(&path);
fs/fhandle.c
170
static int get_path_anchor(int fd, struct path *root)
fs/fhandle.c
18
static long do_sys_name_to_handle(const struct path *path,
fs/fhandle.c
265
static int do_handle_to_path(struct file_handle *handle, struct path *path,
fs/fhandle.c
283
path->dentry = dentry;
fs/fhandle.c
284
path->mnt = mntget(mnt);
fs/fhandle.c
291
struct path *root = &ctx->root;
fs/fhandle.c
32
if (!exportfs_can_encode_fh(path->dentry->d_sb->s_export_op, fh_flags))
fs/fhandle.c
339
struct path *path, unsigned int o_flags)
fs/fhandle.c
397
retval = do_handle_to_path(handle, path, &ctx);
fs/fhandle.c
40
WARN_ON(path->dentry->d_flags & DCACHE_DISCONNECTED))
fs/fhandle.c
404
static struct file *file_open_handle(struct path *path, int open_flag)
fs/fhandle.c
408
eops = path->mnt->mnt_sb->s_export_op;
fs/fhandle.c
410
return eops->open(path, open_flag);
fs/fhandle.c
412
return file_open_root(path, "", open_flag, 0);
fs/fhandle.c
419
struct path path __free(path_put) = {};
fs/fhandle.c
421
retval = handle_to_path(mountdirfd, ufh, &path, open_flag);
fs/fhandle.c
425
return FD_ADD(open_flag, file_open_handle(&path, open_flag));
fs/fhandle.c
57
retval = exportfs_encode_fh(path->dentry,
fs/fhandle.c
90
if (d_is_dir(path->dentry))
fs/fhandle.c
97
if (put_user(real_mount(path->mnt)->mnt_id_unique,
fs/file_attr.c
378
struct path filepath __free(path_put) = {};
fs/file_attr.c
431
struct path filepath __free(path_put) = {};
fs/file_table.c
320
static void file_init_path(struct file *file, const struct path *path,
fs/file_table.c
323
file->__f_path = *path;
fs/file_table.c
324
file->f_inode = path->dentry->d_inode;
fs/file_table.c
325
file->f_mapping = path->dentry->d_inode->i_mapping;
fs/file_table.c
340
i_readcount_inc(path->dentry->d_inode);
fs/file_table.c
350
static struct file *alloc_file(const struct path *path, int flags,
fs/file_table.c
357
file_init_path(file, path, fop);
fs/file_table.c
362
struct vfsmount *mnt, struct path *path)
fs/file_table.c
364
path->dentry = d_alloc_pseudo(mnt->mnt_sb, &QSTR(name));
fs/file_table.c
365
if (!path->dentry)
fs/file_table.c
367
path->mnt = mntget(mnt);
fs/file_table.c
368
d_instantiate(path->dentry, inode);
fs/file_table.c
377
struct path path;
fs/file_table.c
380
ret = alloc_path_pseudo(name, inode, mnt, &path);
fs/file_table.c
384
file = alloc_file(&path, flags, fops);
fs/file_table.c
387
path_put(&path);
fs/file_table.c
405
struct path path;
fs/file_table.c
408
ret = alloc_path_pseudo(name, inode, mnt, &path);
fs/file_table.c
415
path_put(&path);
fs/file_table.c
418
file_init_path(file, &path, fops);
fs/file_table.c
50
struct path user_path;
fs/file_table.c
57
const struct path *backing_file_user_path(const struct file *f)
fs/file_table.c
63
void backing_file_set_user_path(struct file *f, const struct path *path)
fs/file_table.c
65
backing_file(f)->user_path = *path;
fs/fs_parser.c
149
struct path *_path)
fs/fs_struct.c
16
void set_fs_root(struct fs_struct *fs, const struct path *path)
fs/fs_struct.c
18
struct path old_root;
fs/fs_struct.c
20
path_get(path);
fs/fs_struct.c
23
fs->root = *path;
fs/fs_struct.c
33
void set_fs_pwd(struct fs_struct *fs, const struct path *path)
fs/fs_struct.c
35
struct path old_pwd;
fs/fs_struct.c
37
path_get(path);
fs/fs_struct.c
40
fs->pwd = *path;
fs/fs_struct.c
47
static inline int replace_path(struct path *p, const struct path *old, const struct path *new)
fs/fs_struct.c
55
void chroot_fs_refs(const struct path *old_root, const struct path *new_root)
fs/fsopen.c
163
SYSCALL_DEFINE3(fspick, int, dfd, const char __user *, path, unsigned int, flags)
fs/fsopen.c
166
struct path target;
fs/fsopen.c
184
CLASS(filename_flags, filename)(path,
fs/fuse/dir.c
2375
const struct path *path, struct kstat *stat,
fs/fuse/dir.c
2378
struct inode *inode = d_inode(path->dentry);
fs/fuse/dir.c
507
static struct vfsmount *fuse_dentry_automount(struct path *path)
fs/fuse/dir.c
511
struct fuse_inode *mp_fi = get_fuse_inode(d_inode(path->dentry));
fs/fuse/dir.c
513
fsc = fs_context_for_submount(path->mnt->mnt_sb->s_type, path->dentry);
fs/gfs2/inode.c
2159
const struct path *path, struct kstat *stat,
fs/gfs2/inode.c
2162
struct inode *inode = d_inode(path->dentry);
fs/gfs2/ops_fstype.c
1676
struct path path;
fs/gfs2/ops_fstype.c
1682
error = kern_path(fc->source, LOOKUP_FOLLOW, &path);
fs/gfs2/ops_fstype.c
1689
fc->sget_key = path.dentry->d_sb->s_bdev;
fs/gfs2/ops_fstype.c
1691
path_put(&path);
fs/hfsplus/hfsplus_fs.h
458
int hfsplus_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/hfsplus/inode.c
296
int hfsplus_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/hfsplus/inode.c
300
struct inode *inode = d_inode(path->dentry);
fs/hostfs/hostfs.h
40
extern int stat_file(const char *path, struct hostfs_stat *p, int fd);
fs/hostfs/hostfs.h
41
extern int access_file(char *path, int r, int w, int x);
fs/hostfs/hostfs.h
42
extern int open_file(char *path, int r, int w, int append);
fs/hostfs/hostfs.h
43
extern void *open_dir(char *path, int *err_out);
fs/hostfs/hostfs_kern.c
904
char *path = dentry_name(dentry);
fs/hostfs/hostfs_kern.c
906
if (path) {
fs/hostfs/hostfs_kern.c
907
err = hostfs_do_readlink(path, link, PATH_MAX);
fs/hostfs/hostfs_kern.c
910
__putname(path);
fs/hostfs/hostfs_user.c
101
void *open_dir(char *path, int *err_out)
fs/hostfs/hostfs_user.c
105
dir = opendir(path);
fs/hostfs/hostfs_user.c
49
int stat_file(const char *path, struct hostfs_stat *p, int fd)
fs/hostfs/hostfs_user.c
56
path = "";
fs/hostfs/hostfs_user.c
59
if ((statx(fd, path, flags, STATX_BASIC_STATS | STATX_BTIME, &buf)) < 0)
fs/hostfs/hostfs_user.c
66
int access_file(char *path, int r, int w, int x)
fs/hostfs/hostfs_user.c
76
if (access(path, mode) != 0)
fs/hostfs/hostfs_user.c
81
int open_file(char *path, int r, int w, int append)
fs/hostfs/hostfs_user.c
95
fd = open64(path, mode);
fs/init.c
102
struct path path;
fs/init.c
105
error = kern_path(filename, lookup_flags, &path);
fs/init.c
108
error = mnt_want_write(path.mnt);
fs/init.c
110
error = chown_common(&path, user, group);
fs/init.c
111
mnt_drop_write(path.mnt);
fs/init.c
113
path_put(&path);
fs/init.c
119
struct path path;
fs/init.c
122
error = kern_path(filename, LOOKUP_FOLLOW, &path);
fs/init.c
125
error = chmod_common(&path, mode);
fs/init.c
126
path_put(&path);
fs/init.c
132
struct path path;
fs/init.c
135
error = kern_path(filename, LOOKUP_FOLLOW, &path);
fs/init.c
138
error = path_permission(&path, MAY_ACCESS);
fs/init.c
139
path_put(&path);
fs/init.c
146
struct path path;
fs/init.c
149
error = kern_path(filename, lookup_flags, &path);
fs/init.c
152
error = vfs_getattr(&path, stat, STATX_BASIC_STATS,
fs/init.c
154
path_put(&path);
fs/init.c
18
struct path new_path __free(path_put) = {};
fs/init.c
19
struct path old_path __free(path_put) = {};
fs/init.c
198
struct path path;
fs/init.c
201
error = kern_path(filename, 0, &path);
fs/init.c
204
error = vfs_utimes(&path, ts);
fs/init.c
205
path_put(&path);
fs/init.c
36
struct path path;
fs/init.c
39
ret = kern_path(dir_name, LOOKUP_FOLLOW, &path);
fs/init.c
42
ret = path_mount(dev_name, &path, type_page, flags, data_page);
fs/init.c
43
path_put(&path);
fs/init.c
50
struct path path;
fs/init.c
55
ret = kern_path(name, lookup_flags, &path);
fs/init.c
58
return path_umount(&path, flags);
fs/init.c
63
struct path path;
fs/init.c
66
error = kern_path(filename, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path);
fs/init.c
69
error = path_permission(&path, MAY_EXEC | MAY_CHDIR);
fs/init.c
71
set_fs_pwd(current->fs, &path);
fs/init.c
72
path_put(&path);
fs/init.c
78
struct path path;
fs/init.c
81
error = kern_path(filename, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path);
fs/init.c
84
error = path_permission(&path, MAY_EXEC | MAY_CHDIR);
fs/init.c
90
error = security_path_chroot(&path);
fs/init.c
93
set_fs_root(current->fs, &path);
fs/init.c
95
path_put(&path);
fs/inode.c
2212
bool atime_needs_update(const struct path *path, struct inode *inode)
fs/inode.c
2214
struct vfsmount *mnt = path->mnt;
fs/inode.c
2248
void touch_atime(const struct path *path)
fs/inode.c
2250
struct vfsmount *mnt = path->mnt;
fs/inode.c
2251
struct inode *inode = d_inode(path->dentry);
fs/inode.c
2253
if (!atime_needs_update(path, inode))
fs/internal.h
102
extern void chroot_fs_refs(const struct path *, const struct path *);
fs/internal.h
110
void backing_file_set_user_path(struct file *f, const struct path *path);
fs/internal.h
13
struct path;
fs/internal.h
195
extern struct file *do_file_open_root(const struct path *,
fs/internal.h
203
int chmod_common(const struct path *path, umode_t mode);
fs/internal.h
206
int chown_common(const struct path *path, uid_t user, gid_t group);
fs/internal.h
207
extern int vfs_open(const struct path *, struct file *);
fs/internal.h
339
struct path *path);
fs/internal.h
351
static inline bool path_mounted(const struct path *path)
fs/internal.h
353
return path->mnt->mnt_root == path->dentry;
fs/internal.h
359
int anon_inode_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/internal.h
364
void pidfs_get_root(struct path *path);
fs/internal.h
365
void nsfs_get_root(struct path *path);
fs/internal.h
55
struct path *path, const struct path *root);
fs/internal.h
58
int may_linkat(struct mnt_idmap *idmap, const struct path *link);
fs/internal.h
67
const struct path *parentpath,
fs/internal.h
79
extern struct vfsmount *lookup_mnt(const struct path *);
fs/internal.h
80
extern int finish_automount(struct vfsmount *, const struct path *);
fs/internal.h
92
int path_mount(const char *dev_name, const struct path *path,
fs/internal.h
94
int path_umount(const struct path *path, int flags);
fs/internal.h
95
int path_pivot_root(struct path *new, struct path *old);
fs/jfs/super.c
159
const struct path *path);
fs/jfs/super.c
798
const struct path *path)
fs/jfs/super.c
803
err = dquot_quota_on(sb, type, format_id, path);
fs/jfs/super.c
807
inode = d_inode(path->dentry);
fs/kernel_read_file.c
127
ssize_t kernel_read_file_from_path(const char *path, loff_t offset, void **buf,
fs/kernel_read_file.c
134
if (!path || !*path)
fs/kernel_read_file.c
137
file = filp_open(path, O_RDONLY, 0);
fs/kernel_read_file.c
147
ssize_t kernel_read_file_from_path_initns(const char *path, loff_t offset,
fs/kernel_read_file.c
153
struct path root;
fs/kernel_read_file.c
156
if (!path || !*path)
fs/kernel_read_file.c
163
file = file_open_root(&root, path, O_RDONLY, 0);
fs/kernfs/dir.c
891
const unsigned char *path,
fs/kernfs/dir.c
901
len = strscpy(kernfs_pr_cont_buf, path, sizeof(kernfs_pr_cont_buf));
fs/kernfs/dir.c
959
const char *path, const void *ns)
fs/kernfs/dir.c
965
kn = kernfs_walk_ns(parent, path, ns);
fs/kernfs/inode.c
186
const struct path *path, struct kstat *stat,
fs/kernfs/inode.c
189
struct inode *inode = d_inode(path->dentry);
fs/kernfs/kernfs-internal.h
178
const struct path *path, struct kstat *stat,
fs/kernfs/symlink.c
112
static int kernfs_getlink(struct inode *inode, char *path)
fs/kernfs/symlink.c
122
error = kernfs_get_target_path(parent, target, path);
fs/kernfs/symlink.c
57
struct kernfs_node *target, char *path)
fs/kernfs/symlink.c
60
char *s = path;
fs/kernfs/symlink.c
73
if ((s - path) + 3 >= PATH_MAX)
fs/kernfs/symlink.c
92
if ((s - path) + len >= PATH_MAX)
fs/libfs.c
2237
struct path *path)
fs/libfs.c
2269
path->dentry = res;
fs/libfs.c
2270
path->mnt = mntget(mnt);
fs/libfs.c
2271
VFS_WARN_ON_ONCE(path->dentry->d_fsdata != stashed);
fs/libfs.c
2272
VFS_WARN_ON_ONCE(d_inode(path->dentry)->i_private != data);
fs/libfs.c
33
int simple_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/libfs.c
37
struct inode *inode = d_inode(path->dentry);
fs/minix/inode.c
704
int minix_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/minix/inode.c
707
struct super_block *sb = path->dentry->d_sb;
fs/minix/inode.c
708
struct inode *inode = d_inode(path->dentry);
fs/minix/minix.h
57
int minix_getattr(struct mnt_idmap *, const struct path *,
fs/mount.h
134
static inline bool __path_is_mountpoint(const struct path *path)
fs/mount.h
136
struct mount *m = __lookup_mnt(path->mnt, path->dentry);
fs/mount.h
163
struct path root;
fs/namei.c
1014
nd->path.mnt = NULL;
fs/namei.c
1016
nd->path.dentry = NULL;
fs/namei.c
1047
struct dentry *dentry = nd->path.dentry;
fs/namei.c
1080
if (!path_is_under(&nd->path, &nd->root))
fs/namei.c
1133
if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt)
fs/namei.c
1143
nd->path = nd->root;
fs/namei.c
1144
d = nd->path.dentry;
fs/namei.c
1150
path_put(&nd->path);
fs/namei.c
1151
nd->path = nd->root;
fs/namei.c
1152
path_get(&nd->path);
fs/namei.c
1153
nd->inode = nd->path.dentry->d_inode;
fs/namei.c
1163
int nd_jump_link(const struct path *path)
fs/namei.c
1173
if (nd->path.mnt != path->mnt)
fs/namei.c
1180
path_put(&nd->path);
fs/namei.c
1181
nd->path = *path;
fs/namei.c
1182
nd->inode = nd->path.dentry->d_inode;
fs/namei.c
1187
path_put(path);
fs/namei.c
1277
idmap = mnt_idmap(nd->path.mnt);
fs/namei.c
1355
int may_linkat(struct mnt_idmap *idmap, const struct path *link)
fs/namei.c
1460
int follow_up(struct path *path)
fs/namei.c
1462
struct mount *mnt = real_mount(path->mnt);
fs/namei.c
1475
dput(path->dentry);
fs/namei.c
1476
path->dentry = mountpoint;
fs/namei.c
1477
mntput(path->mnt);
fs/namei.c
1478
path->mnt = &parent->mnt;
fs/namei.c
1483
static bool choose_mountpoint_rcu(struct mount *m, const struct path *root,
fs/namei.c
1484
struct path *path, unsigned *seqp)
fs/namei.c
1494
path->mnt = &m->mnt;
fs/namei.c
1495
path->dentry = mountpoint;
fs/namei.c
1503
static bool choose_mountpoint(struct mount *m, const struct path *root,
fs/namei.c
1504
struct path *path)
fs/namei.c
1512
found = choose_mountpoint_rcu(m, root, path, &seq);
fs/namei.c
1517
if (likely(__legitimize_path(path, seq, mseq)))
fs/namei.c
1520
path_put(path);
fs/namei.c
1533
static int follow_automount(struct path *path, int *count, unsigned lookup_flags)
fs/namei.c
1535
struct dentry *dentry = path->dentry;
fs/namei.c
1560
return finish_automount(dentry->d_op->d_automount(path), path);
fs/namei.c
1569
static int __traverse_mounts(struct path *path, unsigned flags, bool *jumped,
fs/namei.c
1572
struct vfsmount *mnt = path->mnt;
fs/namei.c
1584
ret = path->dentry->d_op->d_manage(path, false);
fs/namei.c
1585
flags = smp_load_acquire(&path->dentry->d_flags);
fs/namei.c
1591
struct vfsmount *mounted = lookup_mnt(path);
fs/namei.c
1593
dput(path->dentry);
fs/namei.c
1595
mntput(path->mnt);
fs/namei.c
1596
path->mnt = mounted;
fs/namei.c
1597
path->dentry = dget(mounted->mnt_root);
fs/namei.c
1599
flags = path->dentry->d_flags;
fs/namei.c
1613
ret = follow_automount(path, count, lookup_flags);
fs/namei.c
1614
flags = smp_load_acquire(&path->dentry->d_flags);
fs/namei.c
1622
if (need_mntput && path->mnt == mnt)
fs/namei.c
1623
mntput(path->mnt);
fs/namei.c
1630
static inline int traverse_mounts(struct path *path, bool *jumped,
fs/namei.c
1633
unsigned flags = smp_load_acquire(&path->dentry->d_flags);
fs/namei.c
1642
return __traverse_mounts(path, flags, jumped, count, lookup_flags);
fs/namei.c
1645
int follow_down_one(struct path *path)
fs/namei.c
1649
mounted = lookup_mnt(path);
fs/namei.c
1651
dput(path->dentry);
fs/namei.c
1652
mntput(path->mnt);
fs/namei.c
1653
path->mnt = mounted;
fs/namei.c
1654
path->dentry = dget(mounted->mnt_root);
fs/namei.c
1666
int follow_down(struct path *path, unsigned int flags)
fs/namei.c
1668
struct vfsmount *mnt = path->mnt;
fs/namei.c
1670
int ret = traverse_mounts(path, &jumped, NULL, flags);
fs/namei.c
1672
if (path->mnt != mnt)
fs/namei.c
1682
static bool __follow_mount_rcu(struct nameidata *nd, struct path *path)
fs/namei.c
1684
struct dentry *dentry = path->dentry;
fs/namei.c
1696
int res = dentry->d_op->d_manage(path, true);
fs/namei.c
1703
struct mount *mounted = __lookup_mnt(path->mnt, dentry);
fs/namei.c
1705
path->mnt = &mounted->mnt;
fs/namei.c
1706
dentry = path->dentry = mounted->mnt.mnt_root;
fs/namei.c
1724
struct path *path)
fs/namei.c
1729
path->mnt = nd->path.mnt;
fs/namei.c
1730
path->dentry = dentry;
fs/namei.c
1735
if (likely(__follow_mount_rcu(nd, path)))
fs/namei.c
1738
path->mnt = nd->path.mnt;
fs/namei.c
1739
path->dentry = dentry;
fs/namei.c
1744
ret = traverse_mounts(path, &jumped, &nd->total_link_count, nd->flags);
fs/namei.c
1748
dput(path->dentry);
fs/namei.c
1749
if (path->mnt != nd->path.mnt)
fs/namei.c
1750
mntput(path->mnt);
fs/namei.c
1841
struct dentry *dentry, *parent = nd->path.dentry;
fs/namei.c
1976
static int reserve_stack(struct nameidata *nd, struct path *link)
fs/namei.c
2004
static noinline const char *pick_link(struct nameidata *nd, struct path *link,
fs/namei.c
2016
if (link->mnt == nd->path.mnt)
fs/namei.c
2097
struct path path;
fs/namei.c
2101
err = handle_mounts(nd, dentry, &path);
fs/namei.c
2104
inode = path.dentry->d_inode;
fs/namei.c
2105
if (likely(!d_is_symlink(path.dentry)) ||
fs/namei.c
2110
if (read_seqcount_retry(&path.dentry->d_seq, nd->next_seq))
fs/namei.c
2115
dput(nd->path.dentry);
fs/namei.c
2116
if (nd->path.mnt != path.mnt)
fs/namei.c
2117
mntput(nd->path.mnt);
fs/namei.c
2119
nd->path = path;
fs/namei.c
2124
return pick_link(nd, &path, inode, flags);
fs/namei.c
2143
nd->path.dentry = dentry;
fs/namei.c
2156
if (path_equal(&nd->path, &nd->root))
fs/namei.c
2158
if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) {
fs/namei.c
2159
struct path path;
fs/namei.c
2161
if (!choose_mountpoint_rcu(real_mount(nd->path.mnt),
fs/namei.c
2162
&nd->root, &path, &seq))
fs/namei.c
2166
nd->path = path;
fs/namei.c
2167
nd->inode = path.dentry->d_inode;
fs/namei.c
2174
old = nd->path.dentry;
fs/namei.c
2180
if (unlikely(!path_connected(nd->path.mnt, parent)))
fs/namei.c
2189
return nd->path.dentry;
fs/namei.c
2196
if (path_equal(&nd->path, &nd->root))
fs/namei.c
2198
if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) {
fs/namei.c
2199
struct path path;
fs/namei.c
2201
if (!choose_mountpoint(real_mount(nd->path.mnt),
fs/namei.c
2202
&nd->root, &path))
fs/namei.c
2204
path_put(&nd->path);
fs/namei.c
2205
nd->path = path;
fs/namei.c
2206
nd->inode = path.dentry->d_inode;
fs/namei.c
2211
parent = dget_parent(nd->path.dentry);
fs/namei.c
2212
if (unlikely(!path_connected(nd->path.mnt, parent))) {
fs/namei.c
2221
return dget(nd->path.dentry);
fs/namei.c
2279
dentry = lookup_slow(&nd->last, nd->path.dentry, nd->flags);
fs/namei.c
2453
unsigned long a, b, x, y = (unsigned long)nd->path.dentry;
fs/namei.c
2540
unsigned long hash = init_name_hash(nd->path.dentry);
fs/namei.c
2600
idmap = mnt_idmap(nd->path.mnt);
fs/namei.c
2622
struct dentry *parent = nd->path.dentry;
fs/namei.c
2663
if (unlikely(!d_can_lookup(nd->path.dentry))) {
fs/namei.c
2702
nd->path = nd->root;
fs/namei.c
2705
nd->seq = read_seqcount_begin(&nd->path.dentry->d_seq);
fs/namei.c
2708
path_get(&nd->path);
fs/namei.c
2731
nd->path = fs->pwd;
fs/namei.c
2732
nd->inode = nd->path.dentry->d_inode;
fs/namei.c
2733
nd->seq = __read_seqcount_begin(&nd->path.dentry->d_seq);
fs/namei.c
2736
get_fs_pwd(current->fs, &nd->path);
fs/namei.c
2737
nd->inode = nd->path.dentry->d_inode;
fs/namei.c
2758
nd->path = fd_file(f)->f_path;
fs/namei.c
2760
nd->inode = nd->path.dentry->d_inode;
fs/namei.c
2761
nd->seq = read_seqcount_begin(&nd->path.dentry->d_seq);
fs/namei.c
2763
path_get(&nd->path);
fs/namei.c
2764
nd->inode = nd->path.dentry->d_inode;
fs/namei.c
2770
nd->root = nd->path;
fs/namei.c
2792
dget(nd->path.dentry);
fs/namei.c
2794
return PTR_ERR(step_into(nd, WALK_NOFOLLOW, nd->path.dentry));
fs/namei.c
2798
static int path_lookupat(struct nameidata *nd, unsigned flags, struct path *path)
fs/namei.c
2820
if (!d_can_lookup(nd->path.dentry))
fs/namei.c
2823
*path = nd->path;
fs/namei.c
2824
nd->path.mnt = NULL;
fs/namei.c
2825
nd->path.dentry = NULL;
fs/namei.c
2832
struct path *path, const struct path *root)
fs/namei.c
2839
retval = path_lookupat(&nd, flags | LOOKUP_RCU, path);
fs/namei.c
2841
retval = path_lookupat(&nd, flags, path);
fs/namei.c
2843
retval = path_lookupat(&nd, flags | LOOKUP_REVAL, path);
fs/namei.c
2846
audit_inode(name, path->dentry,
fs/namei.c
2854
struct path *parent)
fs/namei.c
2861
*parent = nd->path;
fs/namei.c
2862
nd->path.mnt = NULL;
fs/namei.c
2863
nd->path.dentry = NULL;
fs/namei.c
2871
unsigned int flags, struct path *parent,
fs/namei.c
2873
const struct path *root)
fs/namei.c
2896
unsigned int flags, struct path *parent,
fs/namei.c
2961
struct path *path)
fs/namei.c
2963
struct path parent_path __free(path_put) = {};
fs/namei.c
2980
path->dentry = no_free_ptr(parent_path.dentry);
fs/namei.c
2981
path->mnt = no_free_ptr(parent_path.mnt);
fs/namei.c
3006
struct dentry *kern_path_parent(const char *name, struct path *path)
fs/namei.c
3008
struct path parent_path __free(path_put) = {};
fs/namei.c
3023
path->dentry = no_free_ptr(parent_path.dentry);
fs/namei.c
3024
path->mnt = no_free_ptr(parent_path.mnt);
fs/namei.c
3028
struct dentry *start_removing_path(const char *name, struct path *path)
fs/namei.c
3031
return __start_removing_path(AT_FDCWD, filename, path);
fs/namei.c
3036
struct path *path)
fs/namei.c
3039
return __start_removing_path(dfd, filename, path);
fs/namei.c
3043
int kern_path(const char *name, unsigned int flags, struct path *path)
fs/namei.c
3046
return filename_lookup(AT_FDCWD, filename, flags, path, NULL);
fs/namei.c
3060
struct path *parent, struct qstr *last, int *type,
fs/namei.c
3061
const struct path *root)
fs/namei.c
3078
struct path *path)
fs/namei.c
3081
struct path root = {.mnt = mnt, .dentry = dentry};
fs/namei.c
3084
return filename_lookup(AT_FDCWD, filename, flags, path, &root);
fs/namei.c
3588
int path_pts(struct path *path)
fs/namei.c
3593
struct dentry *parent = dget_parent(path->dentry);
fs/namei.c
3597
if (unlikely(!path_connected(path->mnt, parent))) {
fs/namei.c
3601
dput(path->dentry);
fs/namei.c
3602
path->dentry = parent;
fs/namei.c
3607
path->dentry = child;
fs/namei.c
3609
follow_down(path, 0);
fs/namei.c
3615
struct path *path)
fs/namei.c
3618
return filename_lookup(dfd, filename, flags, path, NULL);
fs/namei.c
4210
bool may_open_dev(const struct path *path)
fs/namei.c
4212
return !(path->mnt->mnt_flags & MNT_NODEV) &&
fs/namei.c
4213
!(path->mnt->mnt_sb->s_iflags & SB_I_NODEV);
fs/namei.c
4216
static int may_open(struct mnt_idmap *idmap, const struct path *path,
fs/namei.c
4219
struct dentry *dentry = path->dentry;
fs/namei.c
4237
if (!may_open_dev(path))
fs/namei.c
4247
if ((acc_mode & MAY_EXEC) && path_noexec(path))
fs/namei.c
4277
const struct path *path = &filp->f_path;
fs/namei.c
4278
struct inode *inode = path->dentry->d_inode;
fs/namei.c
4285
error = do_truncate(idmap, path->dentry, 0,
fs/namei.c
4301
const struct path *dir, struct dentry *dentry,
fs/namei.c
4332
static struct dentry *atomic_open(const struct path *path, struct dentry *dentry,
fs/namei.c
4337
struct inode *dir = path->dentry->d_inode;
fs/namei.c
4341
file->__f_path.mnt = path->mnt;
fs/namei.c
4389
struct dentry *dir = nd->path.dentry;
fs/namei.c
4439
idmap = mnt_idmap(nd->path.mnt);
fs/namei.c
4445
create_error = may_o_create(idmap, &nd->path,
fs/namei.c
4455
dentry = atomic_open(&nd->path, dentry, file, open_flag, mode);
fs/namei.c
4545
struct dentry *dir = nd->path.dentry;
fs/namei.c
4578
got_write = !mnt_want_write(nd->path.mnt);
fs/namei.c
4602
mnt_drop_write(nd->path.mnt);
fs/namei.c
4616
dput(nd->path.dentry);
fs/namei.c
4617
nd->path.dentry = dentry;
fs/namei.c
4648
audit_inode(nd->name, nd->path.dentry, 0);
fs/namei.c
4649
idmap = mnt_idmap(nd->path.mnt);
fs/namei.c
4653
if (d_is_dir(nd->path.dentry))
fs/namei.c
4656
d_backing_inode(nd->path.dentry));
fs/namei.c
4660
if ((nd->flags & LOOKUP_DIRECTORY) && !d_can_lookup(nd->path.dentry))
fs/namei.c
4669
} else if (d_is_reg(nd->path.dentry) && open_flag & O_TRUNC) {
fs/namei.c
4670
error = mnt_want_write(nd->path.mnt);
fs/namei.c
4675
error = may_open(idmap, &nd->path, acc_mode, open_flag);
fs/namei.c
4677
error = vfs_open(&nd->path, file);
fs/namei.c
4687
mnt_drop_write(nd->path.mnt);
fs/namei.c
4707
const struct path *parentpath,
fs/namei.c
4761
const struct path *parentpath,
fs/namei.c
4785
struct path path;
fs/namei.c
4786
int error = path_lookupat(nd, flags | LOOKUP_DIRECTORY, &path);
fs/namei.c
4790
error = mnt_want_write(path.mnt);
fs/namei.c
4793
error = vfs_tmpfile(mnt_idmap(path.mnt), &path, file, op->mode);
fs/namei.c
4798
mnt_drop_write(path.mnt);
fs/namei.c
4800
path_put(&path);
fs/namei.c
4806
struct path path;
fs/namei.c
4807
int error = path_lookupat(nd, flags, &path);
fs/namei.c
4809
audit_inode(nd->name, path.dentry, 0);
fs/namei.c
4810
error = vfs_open(&path, file);
fs/namei.c
4811
path_put(&path);
fs/namei.c
4874
struct file *do_file_open_root(const struct path *root,
fs/namei.c
4899
struct path *path, unsigned int lookup_flags)
fs/namei.c
4909
error = filename_parentat(dfd, name, reval_flag, path, &last, &type);
fs/namei.c
4921
error = mnt_want_write(path->mnt);
fs/namei.c
4928
dentry = start_dirop(path->dentry, &last, reval_flag | create_flags);
fs/namei.c
4941
mnt_drop_write(path->mnt);
fs/namei.c
4943
path_put(path);
fs/namei.c
4948
struct path *path, unsigned int lookup_flags)
fs/namei.c
4951
return filename_create(dfd, filename, path, lookup_flags);
fs/namei.c
4966
void end_creating_path(const struct path *path, struct dentry *dentry)
fs/namei.c
4969
mnt_drop_write(path->mnt);
fs/namei.c
4970
path_put(path);
fs/namei.c
4976
struct path *path, unsigned int lookup_flags)
fs/namei.c
4979
return filename_create(dfd, filename, path, lookup_flags);
fs/namei.c
5000
struct file *dentry_create(struct path *path, int flags, umode_t mode,
fs/namei.c
5004
struct dentry *dentry = path->dentry;
fs/namei.c
5014
idmap = mnt_idmap(path->mnt);
fs/namei.c
5017
path->dentry = dir;
fs/namei.c
5020
create_error = may_o_create(idmap, path, dentry, mode);
fs/namei.c
5024
dentry = atomic_open(path, dentry, file, flags, mode);
fs/namei.c
5037
path->dentry = dentry;
fs/namei.c
5040
error = vfs_create(mnt_idmap(path->mnt), path->dentry, mode, NULL);
fs/namei.c
5042
error = vfs_open(path, file);
fs/namei.c
5128
struct path path;
fs/namei.c
5136
dentry = filename_create(dfd, name, &path, lookup_flags);
fs/namei.c
5140
error = security_path_mknod(&path, dentry,
fs/namei.c
5141
mode_strip_umask(path.dentry->d_inode, mode), dev);
fs/namei.c
5145
idmap = mnt_idmap(path.mnt);
fs/namei.c
5153
error = vfs_mknod(idmap, path.dentry->d_inode,
fs/namei.c
5157
error = vfs_mknod(idmap, path.dentry->d_inode,
fs/namei.c
5162
end_creating_path(&path, dentry);
fs/namei.c
5259
struct path path;
fs/namei.c
5265
dentry = filename_create(dfd, name, &path, lookup_flags);
fs/namei.c
5269
error = security_path_mkdir(&path, dentry,
fs/namei.c
5270
mode_strip_umask(path.dentry->d_inode, mode));
fs/namei.c
5272
dentry = vfs_mkdir(mnt_idmap(path.mnt), path.dentry->d_inode,
fs/namei.c
5277
end_creating_path(&path, dentry);
fs/namei.c
5366
struct path path;
fs/namei.c
5372
error = filename_parentat(dfd, name, lookup_flags, &path, &last, &type);
fs/namei.c
5388
error = mnt_want_write(path.mnt);
fs/namei.c
5392
dentry = start_dirop(path.dentry, &last, lookup_flags);
fs/namei.c
5396
error = security_path_rmdir(&path, dentry);
fs/namei.c
5399
error = vfs_rmdir(mnt_idmap(path.mnt), path.dentry->d_inode,
fs/namei.c
5404
mnt_drop_write(path.mnt);
fs/namei.c
5406
path_put(&path);
fs/namei.c
5508
struct path path;
fs/namei.c
5515
error = filename_parentat(dfd, name, lookup_flags, &path, &last, &type);
fs/namei.c
5523
error = mnt_want_write(path.mnt);
fs/namei.c
5527
dentry = start_dirop(path.dentry, &last, lookup_flags);
fs/namei.c
5543
error = security_path_unlink(&path, dentry);
fs/namei.c
5546
error = vfs_unlink(mnt_idmap(path.mnt), path.dentry->d_inode,
fs/namei.c
5557
mnt_drop_write(path.mnt);
fs/namei.c
5559
path_put(&path);
fs/namei.c
5632
struct path path;
fs/namei.c
5640
dentry = filename_create(newdfd, to, &path, lookup_flags);
fs/namei.c
5644
error = security_path_symlink(&path, dentry, from->name);
fs/namei.c
5646
error = vfs_symlink(mnt_idmap(path.mnt), path.dentry->d_inode,
fs/namei.c
5648
end_creating_path(&path, dentry);
fs/namei.c
5781
struct path old_path, new_path;
fs/namei.c
6075
struct path old_path, new_path;
fs/namei.c
702
void path_get(const struct path *path)
fs/namei.c
704
mntget(path->mnt);
fs/namei.c
705
dget(path->dentry);
fs/namei.c
715
void path_put(const struct path *path)
fs/namei.c
717
dput(path->dentry);
fs/namei.c
718
mntput(path->mnt);
fs/namei.c
724
struct path path;
fs/namei.c
726
struct path root;
fs/namei.c
734
struct path link;
fs/namei.c
760
p->path.mnt = NULL;
fs/namei.c
761
p->path.dentry = NULL;
fs/namei.c
768
const struct path *root)
fs/namei.c
844
path_put(&nd->path);
fs/namei.c
855
nd->path.mnt = NULL;
fs/namei.c
856
nd->path.dentry = NULL;
fs/namei.c
860
static bool __legitimize_path(struct path *path, unsigned seq, unsigned mseq)
fs/namei.c
862
int res = __legitimize_mnt(path->mnt, mseq);
fs/namei.c
865
path->mnt = NULL;
fs/namei.c
866
path->dentry = NULL;
fs/namei.c
869
if (unlikely(!lockref_get_not_dead(&path->dentry->d_lockref))) {
fs/namei.c
870
path->dentry = NULL;
fs/namei.c
873
return !read_seqcount_retry(&path->dentry->d_seq, seq);
fs/namei.c
877
struct path *path, unsigned seq)
fs/namei.c
879
return __legitimize_path(path, seq, nd->m_seq);
fs/namei.c
932
struct dentry *parent = nd->path.dentry;
fs/namei.c
943
if (unlikely(!legitimize_path(nd, &nd->path, nd->seq)))
fs/namei.c
952
nd->path.mnt = NULL;
fs/namei.c
953
nd->path.dentry = NULL;
fs/namei.c
984
res = __legitimize_mnt(nd->path.mnt, nd->m_seq);
fs/namei.c
990
if (unlikely(!lockref_get_not_dead(&nd->path.dentry->d_lockref)))
fs/namespace.c
1451
bool path_is_mountpoint(const struct path *path)
fs/namespace.c
1456
if (!d_mountpoint(path->dentry))
fs/namespace.c
1462
res = __path_is_mountpoint(path);
fs/namespace.c
1470
struct vfsmount *mnt_clone_internal(const struct path *path)
fs/namespace.c
1473
p = clone_mnt(real_mount(path->mnt), path->dentry, CL_PRIVATE);
fs/namespace.c
2016
static int can_umount(const struct path *path, int flags)
fs/namespace.c
2018
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
2019
struct super_block *sb = path->dentry->d_sb;
fs/namespace.c
2023
if (!path_mounted(path))
fs/namespace.c
2035
int path_umount(const struct path *path, int flags)
fs/namespace.c
2037
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
2040
ret = can_umount(path, flags);
fs/namespace.c
2045
dput(path->dentry);
fs/namespace.c
2053
struct path path;
fs/namespace.c
2062
ret = user_path_at(AT_FDCWD, name, lookup_flags, &path);
fs/namespace.c
2065
return path_umount(&path, flags);
fs/namespace.c
2232
static inline bool extend_array(struct path **res, struct path **to_free,
fs/namespace.c
2235
struct path *p;
fs/namespace.c
2239
p = kmalloc_objs(struct path, new_count);
fs/namespace.c
2241
memcpy(p, *res, *count * sizeof(struct path));
fs/namespace.c
2248
const struct path *collect_paths(const struct path *path,
fs/namespace.c
2249
struct path *prealloc, unsigned count)
fs/namespace.c
2251
struct mount *root = real_mount(path->mnt);
fs/namespace.c
2253
struct path *res = prealloc, *to_free = NULL;
fs/namespace.c
2262
res[n++] = *path;
fs/namespace.c
2264
if (!is_subdir(child->mnt_mountpoint, path->dentry))
fs/namespace.c
2276
memset(res + n, 0, (count - n) * sizeof(struct path));
fs/namespace.c
2277
for (struct path *p = res; p->mnt; p++)
fs/namespace.c
2282
void drop_collected_paths(const struct path *paths, const struct path *prealloc)
fs/namespace.c
2284
for (const struct path *p = paths; p->mnt; p++)
fs/namespace.c
2371
struct vfsmount *clone_private_mount(const struct path *path)
fs/namespace.c
2373
struct mount *old_mnt = real_mount(path->mnt);
fs/namespace.c
2399
if (__has_locked_children(old_mnt, path->dentry))
fs/namespace.c
2402
new_mnt = clone_mnt(old_mnt, path->dentry, CL_PRIVATE);
fs/namespace.c
2675
static inline struct mount *where_to_mount(const struct path *path,
fs/namespace.c
2682
m = topmost_overmount(real_mount(path->mnt));
fs/namespace.c
2686
m = __lookup_mnt(path->mnt, path->dentry);
fs/namespace.c
2692
*dentry = path->dentry;
fs/namespace.c
2693
return real_mount(path->mnt);
fs/namespace.c
2727
static void do_lock_mount(const struct path *path,
fs/namespace.c
2733
if (unlikely(beneath) && !path_mounted(path)) {
fs/namespace.c
2743
m = where_to_mount(path, &dentry, beneath);
fs/namespace.c
2744
if (&m->mnt != path->mnt) {
fs/namespace.c
2755
n = where_to_mount(path, &d, beneath);
fs/namespace.c
2759
else if (unlikely(cant_mount(dentry) || !is_mounted(path->mnt)))
fs/namespace.c
2761
else if (beneath && &m->mnt == path->mnt && !m->overmount)
fs/namespace.c
2781
if (&m->mnt != path->mnt) {
fs/namespace.c
2803
static void lock_mount_exact(const struct path *path,
fs/namespace.c
2807
#define LOCK_MOUNT_MAYBE_BENEATH(mp, path, beneath) \
fs/namespace.c
2809
do_lock_mount((path), &mp, (beneath))
fs/namespace.c
2810
#define LOCK_MOUNT(mp, path) LOCK_MOUNT_MAYBE_BENEATH(mp, (path), false)
fs/namespace.c
2811
#define LOCK_MOUNT_EXACT(mp, path) \
fs/namespace.c
2813
lock_mount_exact((path), &mp, false, 0)
fs/namespace.c
2814
#define LOCK_MOUNT_EXACT_COPY(mp, path, copy_flags) \
fs/namespace.c
2816
lock_mount_exact((path), &mp, true, (copy_flags))
fs/namespace.c
2863
static int do_change_type(const struct path *path, int ms_flags)
fs/namespace.c
2866
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
2871
if (!path_mounted(path))
fs/namespace.c
2939
static inline bool may_copy_tree(const struct path *path)
fs/namespace.c
2941
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
2947
d_op = path->dentry->d_op;
fs/namespace.c
2954
if (!is_mounted(path->mnt))
fs/namespace.c
2960
static struct mount *__do_loopback(const struct path *old_path,
fs/namespace.c
2996
static int do_loopback(const struct path *path, const char *old_name,
fs/namespace.c
2999
struct path old_path __free(path_put) = {};
fs/namespace.c
3013
LOCK_MOUNT(mp, path);
fs/namespace.c
3033
static struct mnt_namespace *get_detached_copy(const struct path *path, unsigned int flags)
fs/namespace.c
3050
if (is_mounted(path->mnt)) {
fs/namespace.c
3051
src_mnt_ns = real_mount(path->mnt)->mnt_ns;
fs/namespace.c
3058
mnt = __do_loopback(path, flags, 0);
fs/namespace.c
3072
static struct file *open_detached_copy(struct path *path, unsigned int flags)
fs/namespace.c
3074
struct mnt_namespace *ns = get_detached_copy(path, flags);
fs/namespace.c
3080
mntput(path->mnt);
fs/namespace.c
3081
path->mnt = mntget(&ns->root->mnt);
fs/namespace.c
3082
file = dentry_open(path, O_PATH, current_cred());
fs/namespace.c
3084
dissolve_on_fput(path->mnt);
fs/namespace.c
3090
static struct mnt_namespace *create_new_namespace(struct path *path, unsigned int flags)
fs/namespace.c
3096
struct path to_path;
fs/namespace.c
3138
mnt = __do_loopback(path, flags, copy_flags);
fs/namespace.c
3167
static struct file *open_new_namespace(struct path *path, unsigned int flags)
fs/namespace.c
3171
new_ns = create_new_namespace(path, flags);
fs/namespace.c
3180
struct path path __free(path_put) = {};
fs/namespace.c
3215
ret = filename_lookup(dfd, name, lookup_flags, &path, NULL);
fs/namespace.c
3220
return open_new_namespace(&path, flags);
fs/namespace.c
3223
return open_detached_copy(&path, flags);
fs/namespace.c
3225
return dentry_open(&path, O_PATH, current_cred());
fs/namespace.c
3287
static void mnt_warn_timestamp_expiry(const struct path *mountpoint,
fs/namespace.c
3322
static int do_reconfigure_mnt(const struct path *path, unsigned int mnt_flags)
fs/namespace.c
3324
struct super_block *sb = path->mnt->mnt_sb;
fs/namespace.c
3325
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
3331
if (!path_mounted(path))
fs/namespace.c
3349
mnt_warn_timestamp_expiry(path, &mnt->mnt);
fs/namespace.c
3359
static int do_remount(const struct path *path, int sb_flags,
fs/namespace.c
3363
struct super_block *sb = path->mnt->mnt_sb;
fs/namespace.c
3364
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
3370
if (!path_mounted(path))
fs/namespace.c
3376
fc = fs_context_for_reconfigure(path->dentry, sb_flags, MS_RMT_MASK);
fs/namespace.c
3401
mnt_warn_timestamp_expiry(path, &mnt->mnt);
fs/namespace.c
3417
static int do_set_group(const struct path *from_path, const struct path *to_path)
fs/namespace.c
3483
static inline bool path_overmounted(const struct path *path)
fs/namespace.c
3489
no_child = !__lookup_mnt(path->mnt, path->dentry);
fs/namespace.c
3493
no_child = !__lookup_mnt(path->mnt, path->dentry);
fs/namespace.c
3630
static int do_move_mount(const struct path *old_path,
fs/namespace.c
3631
const struct path *new_path,
fs/namespace.c
3704
static int do_move_mount_old(const struct path *path, const char *old_name)
fs/namespace.c
3706
struct path old_path __free(path_put) = {};
fs/namespace.c
3716
return do_move_mount(&old_path, path, 0);
fs/namespace.c
3759
static int do_new_mount_fc(struct fs_context *fc, const struct path *mountpoint,
fs/namespace.c
3792
static int do_new_mount(const struct path *path, const char *fstype,
fs/namespace.c
3839
err = do_new_mount_fc(fc, path, mnt_flags);
fs/namespace.c
3845
static void lock_mount_exact(const struct path *path,
fs/namespace.c
3849
struct dentry *dentry = path->dentry;
fs/namespace.c
3853
VFS_WARN_ON_ONCE(copy_mount && !path_mounted(path));
fs/namespace.c
3859
else if (!copy_mount && path_overmounted(path))
fs/namespace.c
3871
mp->parent = clone_mnt(real_mount(path->mnt), dentry, copy_flags);
fs/namespace.c
3873
mp->parent = real_mount(path->mnt);
fs/namespace.c
3878
int finish_automount(struct vfsmount *__m, const struct path *path)
fs/namespace.c
3891
if (m->mnt_root == path->dentry)
fs/namespace.c
3899
LOCK_MOUNT_EXACT(mp, path);
fs/namespace.c
3903
err = do_add_mount(mnt, &mp, path->mnt->mnt_flags | MNT_SHRINKABLE);
fs/namespace.c
4084
int path_mount(const char *dev_name, const struct path *path,
fs/namespace.c
4101
ret = security_sb_mount(dev_name, path, type_page, flags, data_page);
fs/namespace.c
4136
mnt_flags |= path->mnt->mnt_flags & MNT_ATIME_MASK;
fs/namespace.c
4149
return do_reconfigure_mnt(path, mnt_flags);
fs/namespace.c
4151
return do_remount(path, sb_flags, mnt_flags, data_page);
fs/namespace.c
4153
return do_loopback(path, dev_name, flags & MS_REC);
fs/namespace.c
4155
return do_change_type(path, flags);
fs/namespace.c
4157
return do_move_mount_old(path, dev_name);
fs/namespace.c
4159
return do_new_mount(path, type_page, sb_flags, mnt_flags, dev_name,
fs/namespace.c
4166
struct path path __free(path_put) = {};
fs/namespace.c
4169
ret = user_path_at(AT_FDCWD, dir_name, LOOKUP_FOLLOW, &path);
fs/namespace.c
4172
return path_mount(dev_name, &path, type_page, flags, data_page);
fs/namespace.c
4307
struct path path;
fs/namespace.c
4320
name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &path);
fs/namespace.c
4328
s = path.mnt->mnt_sb;
fs/namespace.c
4330
mntput(path.mnt);
fs/namespace.c
4334
return path.dentry;
fs/namespace.c
4409
struct path new_path __free(path_put) = {};
fs/namespace.c
4512
static inline int vfs_move_mount(const struct path *from_path,
fs/namespace.c
4513
const struct path *to_path,
fs/namespace.c
4541
struct path to_path __free(path_put) = {};
fs/namespace.c
4542
struct path from_path __free(path_put) = {};
fs/namespace.c
4614
const struct path *root)
fs/namespace.c
4623
bool path_is_under(const struct path *path1, const struct path *path2)
fs/namespace.c
4630
int path_pivot_root(struct path *new, struct path *old)
fs/namespace.c
4632
struct path root __free(path_put) = {};
fs/namespace.c
4729
struct path new __free(path_put) = {};
fs/namespace.c
4730
struct path old __free(path_put) = {};
fs/namespace.c
4887
static int do_mount_setattr(const struct path *path, struct mount_kattr *kattr)
fs/namespace.c
4889
struct mount *mnt = real_mount(path->mnt);
fs/namespace.c
4892
if (!path_mounted(path))
fs/namespace.c
5104
SYSCALL_DEFINE5(mount_setattr, int, dfd, const char __user *, path,
fs/namespace.c
5109
struct path target;
fs/namespace.c
5135
CLASS(filename_uflags, name)(path, flags);
fs/namespace.c
5203
struct path root;
fs/namespace.c
5323
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
fs/namespace.c
5633
static int grab_requested_root(struct mnt_namespace *ns, struct path *root)
fs/namespace.c
5981
struct path root;
fs/namespace.c
5992
struct path orig;
fs/namespace.c
6143
struct path root;
fs/namespace.c
6294
struct path fs_root __free(path_put) = {};
fs/namespace.c
6431
struct path root;
fs/namespace.c
807
struct vfsmount *lookup_mnt(const struct path *path)
fs/namespace.c
816
child_mnt = __lookup_mnt(path->mnt, path->dentry);
fs/nfs/inode.c
1006
nfs_readdirplus_parent_cache_hit(path->dentry);
fs/nfs/inode.c
1028
if ((path->mnt->mnt_flags & MNT_NOATIME) ||
fs/nfs/inode.c
1029
((path->mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)))
fs/nfs/inode.c
1064
nfs_readdirplus_parent_cache_miss(path->dentry);
fs/nfs/inode.c
1069
nfs_readdirplus_parent_cache_hit(path->dentry);
fs/nfs/inode.c
982
int nfs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/nfs/inode.c
985
struct inode *inode = d_inode(path->dentry);
fs/nfs/internal.h
554
extern struct vfsmount *nfs_d_automount(struct path *path);
fs/nfs/localio.c
751
static int __vfs_getattr(const struct path *p, struct kstat *stat, int version)
fs/nfs/namespace.c
145
struct vfsmount *nfs_d_automount(struct path *path)
fs/nfs/namespace.c
150
struct nfs_server *server = NFS_SB(path->dentry->d_sb);
fs/nfs/namespace.c
152
unsigned long s_flags = path->dentry->d_sb->s_flags;
fs/nfs/namespace.c
156
if (IS_ROOT(path->dentry))
fs/nfs/namespace.c
162
fc = fs_context_for_submount(path->mnt->mnt_sb->s_type, path->dentry);
fs/nfs/namespace.c
167
ctx->clone_data.dentry = path->dentry;
fs/nfs/namespace.c
168
ctx->clone_data.sb = path->dentry->d_sb;
fs/nfs/namespace.c
226
const struct path *path, struct kstat *stat,
fs/nfs/namespace.c
229
if (NFS_FH(d_inode(path->dentry))->size != 0)
fs/nfs/namespace.c
230
return nfs_getattr(idmap, path, stat, request_mask,
fs/nfs/namespace.c
232
generic_fillattr(&nop_mnt_idmap, request_mask, d_inode(path->dentry),
fs/nfs/nfs4namespace.c
115
char *path = nfs_path(&limit, dentry, buffer, buflen,
fs/nfs/nfs4namespace.c
117
if (!IS_ERR(path)) {
fs/nfs/nfs4namespace.c
118
char *path_component = nfs_path_component(path, limit);
fs/nfs/nfs4namespace.c
122
return path;
fs/nfs/nfs4namespace.c
133
const char *path;
fs/nfs/nfs4namespace.c
143
path = nfs4_path(dentry, buf, 4096);
fs/nfs/nfs4namespace.c
144
if (IS_ERR(path)) {
fs/nfs/nfs4namespace.c
146
return PTR_ERR(path);
fs/nfs/nfs4namespace.c
155
n = strncmp(path, fs_path, len);
fs/nfs/nfs4namespace.c
160
__func__, path, ctx->nfs_server.export_path);
fs/nfs/nfs4xdr.c
3732
static int decode_pathname(struct xdr_stream *xdr, struct nfs4_pathname *path)
fs/nfs/nfs4xdr.c
3749
for (path->ncomponents = 0; path->ncomponents < n; path->ncomponents++) {
fs/nfs/nfs4xdr.c
3750
struct nfs4_string *component = &path->components[path->ncomponents];
fs/nfs/nfs4xdr.c
3756
(path->ncomponents != n ? "/ " : ""),
fs/nfs/nfs4xdr.c
3763
path->ncomponents = 1;
fs/nfs/nfs4xdr.c
3764
path->components[0].len=0;
fs/nfs/nfs4xdr.c
3765
path->components[0].data=NULL;
fs/nfs/nfstrace.h
1884
const char *path
fs/nfs/nfstrace.h
1887
TP_ARGS(path),
fs/nfs/nfstrace.h
1890
__string(path, path)
fs/nfs/nfstrace.h
1894
__assign_str(path);
fs/nfs/nfstrace.h
1897
TP_printk("path='%s'", __get_str(path))
fs/nfsd/export.c
1011
exp_parent(struct cache_detail *cd, struct auth_domain *clp, struct path *path)
fs/nfsd/export.c
1013
struct dentry *saved = dget(path->dentry);
fs/nfsd/export.c
1014
struct svc_export *exp = exp_get_by_name(cd, clp, path, NULL);
fs/nfsd/export.c
1016
while (PTR_ERR(exp) == -ENOENT && !IS_ROOT(path->dentry)) {
fs/nfsd/export.c
1017
struct dentry *parent = dget_parent(path->dentry);
fs/nfsd/export.c
1018
dput(path->dentry);
fs/nfsd/export.c
1019
path->dentry = parent;
fs/nfsd/export.c
1020
exp = exp_get_by_name(cd, clp, path, NULL);
fs/nfsd/export.c
1022
dput(path->dentry);
fs/nfsd/export.c
1023
path->dentry = saved;
fs/nfsd/export.c
1039
struct path path;
fs/nfsd/export.c
1048
if (kern_path(name, 0, &path)) {
fs/nfsd/export.c
1052
inode = d_inode(path.dentry);
fs/nfsd/export.c
1055
name, path.dentry, clp->name,
fs/nfsd/export.c
1057
exp = exp_parent(cd, clp, &path);
fs/nfsd/export.c
1067
if (fh_compose(&fh, exp, path.dentry, NULL))
fs/nfsd/export.c
1075
path_put(&path);
fs/nfsd/export.c
1229
rqst_exp_get_by_name(struct svc_rqst *rqstp, const struct path *path)
fs/nfsd/export.c
1239
exp = exp_get_by_name(cd, rqstp->rq_client, path, &rqstp->rq_chandle);
fs/nfsd/export.c
1251
gssexp = exp_get_by_name(cd, rqstp->rq_gssclient, path, &rqstp->rq_chandle);
fs/nfsd/export.c
1308
rqst_exp_parent(struct svc_rqst *rqstp, struct path *path)
fs/nfsd/export.c
1310
struct dentry *saved = dget(path->dentry);
fs/nfsd/export.c
1311
struct svc_export *exp = rqst_exp_get_by_name(rqstp, path);
fs/nfsd/export.c
1313
while (PTR_ERR(exp) == -ENOENT && !IS_ROOT(path->dentry)) {
fs/nfsd/export.c
1314
struct dentry *parent = dget_parent(path->dentry);
fs/nfsd/export.c
1315
dput(path->dentry);
fs/nfsd/export.c
1316
path->dentry = parent;
fs/nfsd/export.c
1317
exp = rqst_exp_get_by_name(rqstp, path);
fs/nfsd/export.c
1319
dput(path->dentry);
fs/nfsd/export.c
1320
path->dentry = saved;
fs/nfsd/export.c
1453
seq_escape(m, fsloc->locations[0].path, ",;@ \t\n\\");
fs/nfsd/export.c
1458
seq_escape(m, fsloc->locations[i].path, ",;@ \t\n\\");
fs/nfsd/export.c
335
kfree(locations[i].path);
fs/nfsd/export.c
417
static int check_export(const struct path *path, int *flags, unsigned char *uuid)
fs/nfsd/export.c
419
struct inode *inode = d_inode(path->dentry);
fs/nfsd/export.c
459
if (is_idmapped_mnt(path->mnt)) {
fs/nfsd/export.c
514
fsloc->locations[i].path = kstrdup(buf, GFP_KERNEL);
fs/nfsd/export.c
515
if (!fsloc->locations[i].path)
fs/nfsd/export.c
984
const struct path *path, struct cache_req *reqp)
fs/nfsd/export.c
993
key.ex_path = *path;
fs/nfsd/export.h
120
const struct path *);
fs/nfsd/export.h
122
struct path *);
fs/nfsd/export.h
125
char *path, struct knfsd_fh *, int maxsize);
fs/nfsd/export.h
26
char *path; /* slash separated list of path components */
fs/nfsd/export.h
69
struct path ex_path;
fs/nfsd/export.h
95
struct path ek_path;
fs/nfsd/nfs4proc.c
209
struct path path;
fs/nfsd/nfs4proc.c
227
path.mnt = fhp->fh_export->ex_path.mnt;
fs/nfsd/nfs4proc.c
228
path.dentry = *child;
fs/nfsd/nfs4proc.c
229
filp = dentry_create(&path, oflags, open->op_iattr.ia_mode,
fs/nfsd/nfs4proc.c
231
*child = path.dentry;
fs/nfsd/nfs4recover.c
1877
struct path path;
fs/nfsd/nfs4recover.c
1892
status = kern_path(nfs4_recoverydir(), LOOKUP_FOLLOW, &path);
fs/nfsd/nfs4recover.c
1894
status = !d_is_dir(path.dentry);
fs/nfsd/nfs4recover.c
1895
path_put(&path);
fs/nfsd/nfs4recover.c
560
struct path path;
fs/nfsd/nfs4recover.c
562
status = kern_path(recdir, LOOKUP_FOLLOW, &path);
fs/nfsd/nfs4recover.c
566
if (d_is_dir(path.dentry)) {
fs/nfsd/nfs4recover.c
571
path_put(&path);
fs/nfsd/nfs4state.c
6223
struct path path;
fs/nfsd/nfs4state.c
6229
path.mnt = currentfh->fh_export->ex_path.mnt;
fs/nfsd/nfs4state.c
6230
path.dentry = file_dentry(nf->nf_file);
fs/nfsd/nfs4state.c
6232
rc = vfs_getattr(&path, stat,
fs/nfsd/nfs4xdr.c
2832
status = nfsd4_encode_components(xdr, '/', location->path);
fs/nfsd/nfs4xdr.c
2839
const struct path *root,
fs/nfsd/nfs4xdr.c
2840
const struct path *path)
fs/nfsd/nfs4xdr.c
2842
struct path cur = *path;
fs/nfsd/nfs4xdr.c
3092
struct path path = exp->ex_path;
fs/nfsd/nfs4xdr.c
3096
path_get(&path);
fs/nfsd/nfs4xdr.c
3097
while (follow_up(&path)) {
fs/nfsd/nfs4xdr.c
3098
if (path.dentry != path.mnt->mnt_root)
fs/nfsd/nfs4xdr.c
3101
err = vfs_getattr(&path, &stat, STATX_INO, AT_STATX_SYNC_AS_STAT);
fs/nfsd/nfs4xdr.c
3102
path_put(&path);
fs/nfsd/nfs4xdr.c
3875
struct path path = {
fs/nfsd/nfs4xdr.c
3921
err = vfs_getattr(&path, &args.stat,
fs/nfsd/nfs4xdr.c
3953
err = vfs_statfs(&path, &args.statfs);
fs/nfsd/nfsctl.c
269
struct path path;
fs/nfsd/nfsctl.c
285
error = kern_path(fo_path, 0, &path);
fs/nfsd/nfsctl.c
298
nfsd4_cancel_copy_by_sb(netns(file), path.dentry->d_sb);
fs/nfsd/nfsctl.c
299
error = nlmsvc_unlock_all_by_sb(path.dentry->d_sb);
fs/nfsd/nfsctl.c
303
nfsd4_revoke_states(nn, path.dentry->d_sb);
fs/nfsd/nfsctl.c
308
path_put(&path);
fs/nfsd/nfsctl.c
335
char *dname, *path;
fs/nfsd/nfsctl.c
354
path = dname+len+1;
fs/nfsd/nfsctl.c
355
len = qword_get(&mesg, path, size);
fs/nfsd/nfsctl.c
370
trace_nfsd_ctl_filehandle(netns(file), dname, path, maxsize);
fs/nfsd/nfsctl.c
377
len = exp_rootfh(netns(file), dom, path, &fh, maxsize);
fs/nfsd/nfsfh.c
695
struct path p = {
fs/nfsd/trace.h
2006
const char *path
fs/nfsd/trace.h
2008
TP_ARGS(net, path),
fs/nfsd/trace.h
2011
__string(path, path)
fs/nfsd/trace.h
2015
__assign_str(path);
fs/nfsd/trace.h
2018
__get_str(path)
fs/nfsd/trace.h
2026
const char *path,
fs/nfsd/trace.h
2029
TP_ARGS(net, domain, path, maxsize),
fs/nfsd/trace.h
2034
__string(path, path)
fs/nfsd/trace.h
2040
__assign_str(path);
fs/nfsd/trace.h
2043
__get_str(domain), __get_str(path), __entry->maxsize
fs/nfsd/trace.h
408
__string(path, exp_path)
fs/nfsd/trace.h
415
__assign_str(path);
fs/nfsd/trace.h
422
__get_str(path),
fs/nfsd/trace.h
432
__string(path, key->ex_path.dentry->d_name.name)
fs/nfsd/trace.h
437
__assign_str(path);
fs/nfsd/trace.h
442
__get_str(path),
fs/nfsd/trace.h
452
__string(path, key->ex_path.dentry->d_name.name)
fs/nfsd/trace.h
457
__assign_str(path);
fs/nfsd/trace.h
462
__get_str(path),
fs/nfsd/vfs.c
130
struct path path = {.mnt = mntget(exp->ex_path.mnt),
fs/nfsd/vfs.c
138
err = follow_down(&path, follow_flags);
fs/nfsd/vfs.c
141
if (path.mnt == exp->ex_path.mnt && path.dentry == dentry &&
fs/nfsd/vfs.c
144
path_put(&path);
fs/nfsd/vfs.c
148
exp2 = rqst_exp_get_by_name(rqstp, &path);
fs/nfsd/vfs.c
160
path_put(&path);
fs/nfsd/vfs.c
172
*dpp = path.dentry;
fs/nfsd/vfs.c
173
path.dentry = dentry;
fs/nfsd/vfs.c
177
path_put(&path);
fs/nfsd/vfs.c
183
static void follow_to_parent(struct path *path)
fs/nfsd/vfs.c
187
while (path->dentry == path->mnt->mnt_root && follow_up(path))
fs/nfsd/vfs.c
189
dp = dget_parent(path->dentry);
fs/nfsd/vfs.c
190
dput(path->dentry);
fs/nfsd/vfs.c
191
path->dentry = dp;
fs/nfsd/vfs.c
1914
struct path path;
fs/nfsd/vfs.c
1922
path.mnt = fhp->fh_export->ex_path.mnt;
fs/nfsd/vfs.c
1923
path.dentry = fhp->fh_dentry;
fs/nfsd/vfs.c
1925
if (unlikely(!d_is_symlink(path.dentry)))
fs/nfsd/vfs.c
1928
touch_atime(&path);
fs/nfsd/vfs.c
1930
link = vfs_get_link(path.dentry, &done);
fs/nfsd/vfs.c
1959
char *path, struct nfsd_attrs *attrs,
fs/nfsd/vfs.c
1966
trace_nfsd_vfs_symlink(rqstp, fhp, fname, flen, path);
fs/nfsd/vfs.c
1969
if (!flen || path[0] == '\0')
fs/nfsd/vfs.c
197
struct path path = {.mnt = mntget((*exp)->ex_path.mnt),
fs/nfsd/vfs.c
1994
host_err = vfs_symlink(&nop_mnt_idmap, d_inode(dentry), dnew, path, NULL);
fs/nfsd/vfs.c
200
follow_to_parent(&path);
fs/nfsd/vfs.c
202
exp2 = rqst_exp_parent(rqstp, &path);
fs/nfsd/vfs.c
206
path_put(&path);
fs/nfsd/vfs.c
209
*dentryp = dget(path.dentry);
fs/nfsd/vfs.c
213
path_put(&path);
fs/nfsd/vfs.c
2567
struct path path = {
fs/nfsd/vfs.c
2571
if (vfs_statfs(&path, stat))
fs/nfsd/vfs.c
900
struct path path;
fs/nfsd/vfs.c
906
path.mnt = fhp->fh_export->ex_path.mnt;
fs/nfsd/vfs.c
907
path.dentry = fhp->fh_dentry;
fs/nfsd/vfs.c
908
inode = d_inode(path.dentry);
fs/nfsd/vfs.c
927
file = dentry_open(&path, flags, current_cred());
fs/nfsd/vfs.h
143
char *name, int len, char *path,
fs/nilfs2/btree.c
1000
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
1001
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1003
path[level].bp_bh = path[level].bp_sib_bh;
fs/nilfs2/btree.c
1004
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
1006
nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
1009
*ptrp = path[level].bp_newreq.bpr_ptr;
fs/nilfs2/btree.c
1013
const struct nilfs_btree_path *path)
fs/nilfs2/btree.c
1018
if (path == NULL)
fs/nilfs2/btree.c
1023
if (path[level].bp_index > 0) {
fs/nilfs2/btree.c
1024
node = nilfs_btree_get_node(btree, path, level, &ncmax);
fs/nilfs2/btree.c
1026
path[level].bp_index - 1,
fs/nilfs2/btree.c
1033
node = nilfs_btree_get_node(btree, path, level, &ncmax);
fs/nilfs2/btree.c
1034
return nilfs_btree_node_get_ptr(node, path[level].bp_index,
fs/nilfs2/btree.c
1042
const struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1052
ptr = nilfs_btree_find_near(btree, path);
fs/nilfs2/btree.c
1062
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1077
path[level].bp_newreq.bpr_ptr =
fs/nilfs2/btree.c
1078
nilfs_btree_find_target_v(btree, path, key);
fs/nilfs2/btree.c
1082
ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat);
fs/nilfs2/btree.c
1091
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1093
path[level].bp_op = nilfs_btree_do_insert;
fs/nilfs2/btree.c
1098
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
1099
pindex = path[level + 1].bp_index;
fs/nilfs2/btree.c
1110
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1111
path[level].bp_op = nilfs_btree_carry_left;
fs/nilfs2/btree.c
1128
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1129
path[level].bp_op = nilfs_btree_carry_right;
fs/nilfs2/btree.c
1138
path[level].bp_newreq.bpr_ptr =
fs/nilfs2/btree.c
1139
path[level - 1].bp_newreq.bpr_ptr + 1;
fs/nilfs2/btree.c
1141
&path[level].bp_newreq, dat);
fs/nilfs2/btree.c
1145
path[level].bp_newreq.bpr_ptr,
fs/nilfs2/btree.c
1154
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1155
path[level].bp_op = nilfs_btree_split;
fs/nilfs2/btree.c
1162
path[level].bp_op = nilfs_btree_do_insert;
fs/nilfs2/btree.c
1168
path[level].bp_newreq.bpr_ptr = path[level - 1].bp_newreq.bpr_ptr + 1;
fs/nilfs2/btree.c
1169
ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat);
fs/nilfs2/btree.c
1172
ret = nilfs_btree_get_new_block(btree, path[level].bp_newreq.bpr_ptr,
fs/nilfs2/btree.c
1179
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1180
path[level].bp_op = nilfs_btree_grow;
fs/nilfs2/btree.c
1183
path[level].bp_op = nilfs_btree_do_insert;
fs/nilfs2/btree.c
1195
nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat);
fs/nilfs2/btree.c
1198
nilfs_btnode_delete(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1199
nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat);
fs/nilfs2/btree.c
1203
nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat);
fs/nilfs2/btree.c
1211
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1218
ptr = path[NILFS_BTREE_LEVEL_DATA].bp_newreq.bpr_ptr;
fs/nilfs2/btree.c
1226
&path[level - 1].bp_newreq, dat);
fs/nilfs2/btree.c
1227
path[level].bp_op(btree, path, level, &key, &ptr);
fs/nilfs2/btree.c
1236
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
1240
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
1241
if (path == NULL)
fs/nilfs2/btree.c
1244
ret = nilfs_btree_do_lookup(btree, path, key, NULL,
fs/nilfs2/btree.c
1252
ret = nilfs_btree_prepare_insert(btree, path, &level, key, ptr, &stats);
fs/nilfs2/btree.c
1255
nilfs_btree_commit_insert(btree, path, level, key, ptr);
fs/nilfs2/btree.c
1259
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
1264
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1271
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1273
nilfs_btree_node_delete(node, path[level].bp_index,
fs/nilfs2/btree.c
1275
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
1276
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
1277
if (path[level].bp_index == 0)
fs/nilfs2/btree.c
1278
nilfs_btree_promote_key(btree, path, level + 1,
fs/nilfs2/btree.c
1282
nilfs_btree_node_delete(node, path[level].bp_index,
fs/nilfs2/btree.c
1289
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1295
nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
1297
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1298
left = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
1307
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
1308
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
1309
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
1310
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1312
nilfs_btree_promote_key(btree, path, level + 1,
fs/nilfs2/btree.c
1315
brelse(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1316
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
1317
path[level].bp_index += n;
fs/nilfs2/btree.c
1321
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1327
nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
1329
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1330
right = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
1339
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
1340
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
1341
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
1342
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1344
path[level + 1].bp_index++;
fs/nilfs2/btree.c
1345
nilfs_btree_promote_key(btree, path, level + 1,
fs/nilfs2/btree.c
1347
path[level + 1].bp_index--;
fs/nilfs2/btree.c
1349
brelse(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1350
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
1354
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1360
nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
1362
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1363
left = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
1370
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
1371
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1373
nilfs_btnode_delete(path[level].bp_bh);
fs/nilfs2/btree.c
1374
path[level].bp_bh = path[level].bp_sib_bh;
fs/nilfs2/btree.c
1375
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
1376
path[level].bp_index += nilfs_btree_node_get_nchildren(left);
fs/nilfs2/btree.c
1380
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1386
nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
1388
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1389
right = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
1396
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
1397
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
1399
nilfs_btnode_delete(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1400
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
1401
path[level + 1].bp_index++;
fs/nilfs2/btree.c
1405
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1411
nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
1414
child = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1424
nilfs_btnode_delete(path[level].bp_bh);
fs/nilfs2/btree.c
1425
path[level].bp_bh = NULL;
fs/nilfs2/btree.c
1429
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1435
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1450
for (level = NILFS_BTREE_LEVEL_NODE_MIN, dindex = path[level].bp_index;
fs/nilfs2/btree.c
1453
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
1454
path[level].bp_oldreq.bpr_ptr =
fs/nilfs2/btree.c
1457
&path[level].bp_oldreq, dat);
fs/nilfs2/btree.c
1462
path[level].bp_op = nilfs_btree_do_delete;
fs/nilfs2/btree.c
1467
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
1468
pindex = path[level + 1].bp_index;
fs/nilfs2/btree.c
1480
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1481
path[level].bp_op = nilfs_btree_borrow_left;
fs/nilfs2/btree.c
1485
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1486
path[level].bp_op = nilfs_btree_concat_left;
fs/nilfs2/btree.c
1500
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1501
path[level].bp_op = nilfs_btree_borrow_right;
fs/nilfs2/btree.c
1505
path[level].bp_sib_bh = bh;
fs/nilfs2/btree.c
1506
path[level].bp_op = nilfs_btree_concat_right;
fs/nilfs2/btree.c
1524
path[level].bp_op = nilfs_btree_shrink;
fs/nilfs2/btree.c
1527
path[level].bp_op = nilfs_btree_nop;
fs/nilfs2/btree.c
1530
path[level].bp_op = nilfs_btree_do_delete;
fs/nilfs2/btree.c
1538
path[level].bp_op = nilfs_btree_do_delete;
fs/nilfs2/btree.c
1543
path[level].bp_oldreq.bpr_ptr =
fs/nilfs2/btree.c
1547
ret = nilfs_bmap_prepare_end_ptr(btree, &path[level].bp_oldreq, dat);
fs/nilfs2/btree.c
1558
nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat);
fs/nilfs2/btree.c
1561
brelse(path[level].bp_sib_bh);
fs/nilfs2/btree.c
1562
nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat);
fs/nilfs2/btree.c
1570
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1576
nilfs_bmap_commit_end_ptr(btree, &path[level].bp_oldreq, dat);
fs/nilfs2/btree.c
1577
path[level].bp_op(btree, path, level, NULL, NULL);
fs/nilfs2/btree.c
1587
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
1592
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
1593
if (path == NULL)
fs/nilfs2/btree.c
1596
ret = nilfs_btree_do_lookup(btree, path, key, NULL,
fs/nilfs2/btree.c
1604
ret = nilfs_btree_prepare_delete(btree, path, &level, &stats, dat);
fs/nilfs2/btree.c
1607
nilfs_btree_commit_delete(btree, path, level, dat);
fs/nilfs2/btree.c
1611
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
1618
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
1622
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
1623
if (!path)
fs/nilfs2/btree.c
1626
ret = nilfs_btree_do_lookup(btree, path, start, NULL, minlevel, 0);
fs/nilfs2/btree.c
1630
ret = nilfs_btree_get_next_key(btree, path, minlevel, keyp);
fs/nilfs2/btree.c
1632
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
1638
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
1641
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
1642
if (path == NULL)
fs/nilfs2/btree.c
1645
ret = nilfs_btree_do_lookup_last(btree, path, keyp, NULL);
fs/nilfs2/btree.c
1647
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
1913
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1918
!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
1919
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
1925
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1931
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
1932
path[level].bp_oldreq.bpr_ptr =
fs/nilfs2/btree.c
1933
nilfs_btree_node_get_ptr(parent, path[level + 1].bp_index,
fs/nilfs2/btree.c
1935
path[level].bp_newreq.bpr_ptr = path[level].bp_oldreq.bpr_ptr + 1;
fs/nilfs2/btree.c
1936
ret = nilfs_dat_prepare_update(dat, &path[level].bp_oldreq.bpr_req,
fs/nilfs2/btree.c
1937
&path[level].bp_newreq.bpr_req);
fs/nilfs2/btree.c
1941
if (buffer_nilfs_node(path[level].bp_bh)) {
fs/nilfs2/btree.c
1942
path[level].bp_ctxt.oldkey = path[level].bp_oldreq.bpr_ptr;
fs/nilfs2/btree.c
1943
path[level].bp_ctxt.newkey = path[level].bp_newreq.bpr_ptr;
fs/nilfs2/btree.c
1944
path[level].bp_ctxt.bh = path[level].bp_bh;
fs/nilfs2/btree.c
1947
&path[level].bp_ctxt);
fs/nilfs2/btree.c
1950
&path[level].bp_oldreq.bpr_req,
fs/nilfs2/btree.c
1951
&path[level].bp_newreq.bpr_req);
fs/nilfs2/btree.c
1960
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1966
nilfs_dat_commit_update(dat, &path[level].bp_oldreq.bpr_req,
fs/nilfs2/btree.c
1967
&path[level].bp_newreq.bpr_req,
fs/nilfs2/btree.c
1970
if (buffer_nilfs_node(path[level].bp_bh)) {
fs/nilfs2/btree.c
1973
&path[level].bp_ctxt);
fs/nilfs2/btree.c
1974
path[level].bp_bh = path[level].bp_ctxt.bh;
fs/nilfs2/btree.c
1976
set_buffer_nilfs_volatile(path[level].bp_bh);
fs/nilfs2/btree.c
1978
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
1979
nilfs_btree_node_set_ptr(parent, path[level + 1].bp_index,
fs/nilfs2/btree.c
1980
path[level].bp_newreq.bpr_ptr, ncmax);
fs/nilfs2/btree.c
1984
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
1987
nilfs_dat_abort_update(dat, &path[level].bp_oldreq.bpr_req,
fs/nilfs2/btree.c
1988
&path[level].bp_newreq.bpr_req);
fs/nilfs2/btree.c
1989
if (buffer_nilfs_node(path[level].bp_bh))
fs/nilfs2/btree.c
1992
&path[level].bp_ctxt);
fs/nilfs2/btree.c
1996
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
2003
if (!buffer_nilfs_volatile(path[level].bp_bh)) {
fs/nilfs2/btree.c
2004
ret = nilfs_btree_prepare_update_v(btree, path, level, dat);
fs/nilfs2/btree.c
2009
!buffer_dirty(path[level].bp_bh)) {
fs/nilfs2/btree.c
2011
WARN_ON(buffer_nilfs_volatile(path[level].bp_bh));
fs/nilfs2/btree.c
2012
ret = nilfs_btree_prepare_update_v(btree, path, level, dat);
fs/nilfs2/btree.c
2024
nilfs_btree_abort_update_v(btree, path, level, dat);
fs/nilfs2/btree.c
2025
if (!buffer_nilfs_volatile(path[level].bp_bh))
fs/nilfs2/btree.c
2026
nilfs_btree_abort_update_v(btree, path, level, dat);
fs/nilfs2/btree.c
2031
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
2038
if (!buffer_nilfs_volatile(path[minlevel].bp_bh))
fs/nilfs2/btree.c
2039
nilfs_btree_commit_update_v(btree, path, minlevel, dat);
fs/nilfs2/btree.c
2042
nilfs_btree_commit_update_v(btree, path, level, dat);
fs/nilfs2/btree.c
2046
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
2056
path[level].bp_bh = bh;
fs/nilfs2/btree.c
2057
ret = nilfs_btree_prepare_propagate_v(btree, path, level, &maxlevel,
fs/nilfs2/btree.c
2062
if (buffer_nilfs_volatile(path[level].bp_bh)) {
fs/nilfs2/btree.c
2063
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
2065
path[level + 1].bp_index,
fs/nilfs2/btree.c
2072
nilfs_btree_commit_propagate_v(btree, path, level, maxlevel, bh, dat);
fs/nilfs2/btree.c
2075
brelse(path[level].bp_bh);
fs/nilfs2/btree.c
2076
path[level].bp_bh = NULL;
fs/nilfs2/btree.c
2083
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
2090
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
2091
if (path == NULL)
fs/nilfs2/btree.c
2103
ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0);
fs/nilfs2/btree.c
2116
nilfs_btree_propagate_v(btree, path, level, bh) :
fs/nilfs2/btree.c
2117
nilfs_btree_propagate_p(btree, path, level, bh);
fs/nilfs2/btree.c
2120
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
2205
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
2216
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
2217
ptr = nilfs_btree_node_get_ptr(parent, path[level + 1].bp_index,
fs/nilfs2/btree.c
2220
path[level].bp_ctxt.oldkey = ptr;
fs/nilfs2/btree.c
2221
path[level].bp_ctxt.newkey = blocknr;
fs/nilfs2/btree.c
2222
path[level].bp_ctxt.bh = *bh;
fs/nilfs2/btree.c
2225
&path[level].bp_ctxt);
fs/nilfs2/btree.c
2230
&path[level].bp_ctxt);
fs/nilfs2/btree.c
2231
*bh = path[level].bp_ctxt.bh;
fs/nilfs2/btree.c
2234
nilfs_btree_node_set_ptr(parent, path[level + 1].bp_index, blocknr,
fs/nilfs2/btree.c
2237
key = nilfs_btree_node_get_key(parent, path[level + 1].bp_index);
fs/nilfs2/btree.c
2247
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
2260
parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
fs/nilfs2/btree.c
2261
ptr = nilfs_btree_node_get_ptr(parent, path[level + 1].bp_index,
fs/nilfs2/btree.c
2269
key = nilfs_btree_node_get_key(parent, path[level + 1].bp_index);
fs/nilfs2/btree.c
2282
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
2287
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
2288
if (path == NULL)
fs/nilfs2/btree.c
2300
ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0);
fs/nilfs2/btree.c
2307
nilfs_btree_assign_v(btree, path, level, bh, blocknr, binfo) :
fs/nilfs2/btree.c
2308
nilfs_btree_assign_p(btree, path, level, bh, blocknr, binfo);
fs/nilfs2/btree.c
2311
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
2346
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
2350
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
2351
if (path == NULL)
fs/nilfs2/btree.c
2354
ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level + 1, 0);
fs/nilfs2/btree.c
2372
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
25
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
28
path = kmem_cache_alloc(nilfs_btree_path_cache, GFP_NOFS);
fs/nilfs2/btree.c
29
if (path == NULL)
fs/nilfs2/btree.c
33
path[level].bp_bh = NULL;
fs/nilfs2/btree.c
34
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
35
path[level].bp_index = 0;
fs/nilfs2/btree.c
36
path[level].bp_oldreq.bpr_ptr = NILFS_BMAP_INVALID_PTR;
fs/nilfs2/btree.c
37
path[level].bp_newreq.bpr_ptr = NILFS_BMAP_INVALID_PTR;
fs/nilfs2/btree.c
38
path[level].bp_op = NULL;
fs/nilfs2/btree.c
417
nilfs_btree_get_nonroot_node(const struct nilfs_btree_path *path, int level)
fs/nilfs2/btree.c
419
return (struct nilfs_btree_node *)path[level].bp_bh->b_data;
fs/nilfs2/btree.c
42
return path;
fs/nilfs2/btree.c
423
nilfs_btree_get_sib_node(const struct nilfs_btree_path *path, int level)
fs/nilfs2/btree.c
425
return (struct nilfs_btree_node *)path[level].bp_sib_bh->b_data;
fs/nilfs2/btree.c
435
const struct nilfs_btree_path *path,
fs/nilfs2/btree.c
444
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
45
static void nilfs_btree_free_path(struct nilfs_btree_path *path)
fs/nilfs2/btree.c
50
brelse(path[level].bp_bh);
fs/nilfs2/btree.c
52
kmem_cache_free(nilfs_btree_path_cache, path);
fs/nilfs2/btree.c
548
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
565
path[level].bp_bh = NULL;
fs/nilfs2/btree.c
566
path[level].bp_index = index;
fs/nilfs2/btree.c
573
p.node = nilfs_btree_get_node(btree, path, level + 1,
fs/nilfs2/btree.c
579
ret = __nilfs_btree_get_block(btree, ptr, &path[level].bp_bh,
fs/nilfs2/btree.c
584
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
598
path[level].bp_index = index;
fs/nilfs2/btree.c
610
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
624
path[level].bp_bh = NULL;
fs/nilfs2/btree.c
625
path[level].bp_index = index;
fs/nilfs2/btree.c
629
ret = nilfs_btree_get_block(btree, ptr, &path[level].bp_bh);
fs/nilfs2/btree.c
632
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
637
path[level].bp_index = index;
fs/nilfs2/btree.c
658
const struct nilfs_btree_path *path,
fs/nilfs2/btree.c
671
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
673
index = path[level].bp_index + next_adj;
fs/nilfs2/btree.c
688
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
691
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
692
if (path == NULL)
fs/nilfs2/btree.c
695
ret = nilfs_btree_do_lookup(btree, path, key, ptrp, level, 0);
fs/nilfs2/btree.c
697
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
706
struct nilfs_btree_path *path;
fs/nilfs2/btree.c
715
path = nilfs_btree_alloc_path();
fs/nilfs2/btree.c
716
if (path == NULL)
fs/nilfs2/btree.c
719
ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level, 1);
fs/nilfs2/btree.c
735
node = nilfs_btree_get_node(btree, path, level, &ncmax);
fs/nilfs2/btree.c
736
index = path[level].bp_index + 1;
fs/nilfs2/btree.c
757
p.node = nilfs_btree_get_node(btree, path, level + 1, &p.ncmax);
fs/nilfs2/btree.c
758
p.index = path[level + 1].bp_index + 1;
fs/nilfs2/btree.c
764
path[level + 1].bp_index = p.index;
fs/nilfs2/btree.c
766
brelse(path[level].bp_bh);
fs/nilfs2/btree.c
767
path[level].bp_bh = NULL;
fs/nilfs2/btree.c
769
ret = __nilfs_btree_get_block(btree, ptr2, &path[level].bp_bh,
fs/nilfs2/btree.c
773
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
776
path[level].bp_index = index;
fs/nilfs2/btree.c
782
nilfs_btree_free_path(path);
fs/nilfs2/btree.c
792
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
798
nilfs_btree_get_nonroot_node(path, level),
fs/nilfs2/btree.c
799
path[level].bp_index, key);
fs/nilfs2/btree.c
800
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
801
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
802
} while ((path[level].bp_index == 0) &&
fs/nilfs2/btree.c
809
path[level].bp_index, key);
fs/nilfs2/btree.c
814
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
821
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
823
nilfs_btree_node_insert(node, path[level].bp_index,
fs/nilfs2/btree.c
825
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
826
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
828
if (path[level].bp_index == 0)
fs/nilfs2/btree.c
829
nilfs_btree_promote_key(btree, path, level + 1,
fs/nilfs2/btree.c
834
nilfs_btree_node_insert(node, path[level].bp_index,
fs/nilfs2/btree.c
841
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
847
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
848
left = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
855
if (n > path[level].bp_index) {
fs/nilfs2/btree.c
863
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
864
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
865
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
866
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
868
nilfs_btree_promote_key(btree, path, level + 1,
fs/nilfs2/btree.c
872
brelse(path[level].bp_bh);
fs/nilfs2/btree.c
873
path[level].bp_bh = path[level].bp_sib_bh;
fs/nilfs2/btree.c
874
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
875
path[level].bp_index += lnchildren;
fs/nilfs2/btree.c
876
path[level + 1].bp_index--;
fs/nilfs2/btree.c
878
brelse(path[level].bp_sib_bh);
fs/nilfs2/btree.c
879
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
880
path[level].bp_index -= n;
fs/nilfs2/btree.c
883
nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
887
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
893
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
894
right = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
901
if (n > nchildren - path[level].bp_index) {
fs/nilfs2/btree.c
909
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
910
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
911
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
912
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
914
path[level + 1].bp_index++;
fs/nilfs2/btree.c
915
nilfs_btree_promote_key(btree, path, level + 1,
fs/nilfs2/btree.c
917
path[level + 1].bp_index--;
fs/nilfs2/btree.c
920
brelse(path[level].bp_bh);
fs/nilfs2/btree.c
921
path[level].bp_bh = path[level].bp_sib_bh;
fs/nilfs2/btree.c
922
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
923
path[level].bp_index -= nilfs_btree_node_get_nchildren(node);
fs/nilfs2/btree.c
924
path[level + 1].bp_index++;
fs/nilfs2/btree.c
926
brelse(path[level].bp_sib_bh);
fs/nilfs2/btree.c
927
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
930
nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
934
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
940
node = nilfs_btree_get_nonroot_node(path, level);
fs/nilfs2/btree.c
941
right = nilfs_btree_get_sib_node(path, level);
fs/nilfs2/btree.c
947
if (n > nchildren - path[level].bp_index) {
fs/nilfs2/btree.c
954
if (!buffer_dirty(path[level].bp_bh))
fs/nilfs2/btree.c
955
mark_buffer_dirty(path[level].bp_bh);
fs/nilfs2/btree.c
956
if (!buffer_dirty(path[level].bp_sib_bh))
fs/nilfs2/btree.c
957
mark_buffer_dirty(path[level].bp_sib_bh);
fs/nilfs2/btree.c
960
path[level].bp_index -= nilfs_btree_node_get_nchildren(node);
fs/nilfs2/btree.c
961
nilfs_btree_node_insert(right, path[level].bp_index,
fs/nilfs2/btree.c
965
*ptrp = path[level].bp_newreq.bpr_ptr;
fs/nilfs2/btree.c
967
brelse(path[level].bp_bh);
fs/nilfs2/btree.c
968
path[level].bp_bh = path[level].bp_sib_bh;
fs/nilfs2/btree.c
969
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
971
nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
fs/nilfs2/btree.c
974
*ptrp = path[level].bp_newreq.bpr_ptr;
fs/nilfs2/btree.c
976
brelse(path[level].bp_sib_bh);
fs/nilfs2/btree.c
977
path[level].bp_sib_bh = NULL;
fs/nilfs2/btree.c
980
path[level + 1].bp_index++;
fs/nilfs2/btree.c
984
struct nilfs_btree_path *path,
fs/nilfs2/btree.c
991
child = nilfs_btree_get_sib_node(path, level);
fs/notify/fanotify/fanotify.c
20
static bool fanotify_path_equal(const struct path *p1, const struct path *p2)
fs/notify/fanotify/fanotify.c
25
static unsigned int fanotify_hash_path(const struct path *path)
fs/notify/fanotify/fanotify.c
27
return hash_ptr(path->dentry, FANOTIFY_EVENT_HASH_BITS) ^
fs/notify/fanotify/fanotify.c
28
hash_ptr(path->mnt, FANOTIFY_EVENT_HASH_BITS);
fs/notify/fanotify/fanotify.c
308
const struct path *path = fsnotify_data_path(data, data_type);
fs/notify/fanotify/fanotify.c
322
if (!path)
fs/notify/fanotify/fanotify.c
325
if (!d_is_reg(path->dentry) && !d_can_lookup(path->dentry))
fs/notify/fanotify/fanotify.c
553
static struct fanotify_event *fanotify_alloc_path_event(const struct path *path,
fs/notify/fanotify/fanotify.c
564
pevent->path = *path;
fs/notify/fanotify/fanotify.c
565
*hash ^= fanotify_hash_path(path);
fs/notify/fanotify/fanotify.c
566
path_get(path);
fs/notify/fanotify/fanotify.c
589
const struct path *path = fsnotify_data_path(data, data_type);
fs/notify/fanotify/fanotify.c
604
pevent->path = *path;
fs/notify/fanotify/fanotify.c
608
path_get(path);
fs/notify/fanotify/fanotify.c
758
const struct path *path = fsnotify_data_path(data, data_type);
fs/notify/fanotify/fanotify.c
855
} else if (path) {
fs/notify/fanotify/fanotify.c
856
event = fanotify_alloc_path_event(path, &hash, gfp);
fs/notify/fanotify/fanotify.h
410
struct path path;
fs/notify/fanotify/fanotify.h
439
struct path path;
fs/notify/fanotify/fanotify.h
488
static inline const struct path *fanotify_event_path(struct fanotify_event *event)
fs/notify/fanotify/fanotify.h
491
return &FANOTIFY_PE(event)->path;
fs/notify/fanotify/fanotify.h
493
return &FANOTIFY_PERM(event)->path;
fs/notify/fanotify/fanotify_user.c
1193
struct path *path, unsigned int flags, __u64 mask,
fs/notify/fanotify/fanotify_user.c
1211
*path = fd_file(f)->f_path;
fs/notify/fanotify/fanotify_user.c
1212
path_get(path);
fs/notify/fanotify/fanotify_user.c
1221
ret = user_path_at(dfd, filename, lookup_flags, path);
fs/notify/fanotify/fanotify_user.c
1227
ret = path_permission(path, MAY_READ);
fs/notify/fanotify/fanotify_user.c
1229
path_put(path);
fs/notify/fanotify/fanotify_user.c
1233
ret = security_path_notify(path, mask, obj_type);
fs/notify/fanotify/fanotify_user.c
1235
path_put(path);
fs/notify/fanotify/fanotify_user.c
1829
const struct path *path, __u64 mask,
fs/notify/fanotify/fanotify_user.c
1833
bool is_dir = d_is_dir(path->dentry);
fs/notify/fanotify/fanotify_user.c
1844
if (!(path->mnt->mnt_sb->s_iflags & SB_I_ALLOW_HSM))
fs/notify/fanotify/fanotify_user.c
1846
if (!is_dir && !d_is_reg(path->dentry))
fs/notify/fanotify/fanotify_user.c
1859
path->mnt->mnt_sb->s_type->fs_flags & FS_DISALLOW_NOTIFY_PERM)
fs/notify/fanotify/fanotify_user.c
1873
path->mnt->mnt_sb->s_flags & SB_NOUSER)
fs/notify/fanotify/fanotify_user.c
1893
struct path path;
fs/notify/fanotify/fanotify_user.c
2049
ret = fanotify_find_path(dfd, pathname, &path, flags,
fs/notify/fanotify/fanotify_user.c
2055
ret = fanotify_events_supported(group, &path, mask, flags);
fs/notify/fanotify/fanotify_user.c
2061
ret = fanotify_test_fsid(path.dentry, flags, &__fsid);
fs/notify/fanotify/fanotify_user.c
2065
ret = fanotify_test_fid(path.dentry, flags);
fs/notify/fanotify/fanotify_user.c
2079
inode = path.dentry->d_inode;
fs/notify/fanotify/fanotify_user.c
2082
user_ns = path.mnt->mnt_sb->s_user_ns;
fs/notify/fanotify/fanotify_user.c
2083
obj = path.mnt;
fs/notify/fanotify/fanotify_user.c
2085
user_ns = path.mnt->mnt_sb->s_user_ns;
fs/notify/fanotify/fanotify_user.c
2086
obj = path.mnt->mnt_sb;
fs/notify/fanotify/fanotify_user.c
2089
mntns = mnt_ns_from_dentry(path.dentry);
fs/notify/fanotify/fanotify_user.c
2150
path_put(&path);
fs/notify/fanotify/fanotify_user.c
350
static int create_fd(struct fsnotify_group *group, const struct path *path,
fs/notify/fanotify/fanotify_user.c
364
new_file = dentry_open_nonotify(path, group->fanotify_data.f_flags,
fs/notify/fanotify/fanotify_user.c
838
const struct path *path = fanotify_event_path(event);
fs/notify/fanotify/fanotify_user.c
869
path && path->mnt && path->dentry) {
fs/notify/fanotify/fanotify_user.c
870
fd = create_fd(group, path, &f);
fs/notify/fanotify/fanotify_user.c
886
path->dentry, fd);
fs/notify/fsnotify.c
156
int fsnotify_pre_content(const struct path *path, const loff_t *ppos,
fs/notify/fsnotify.c
163
return fsnotify_path(path, FS_PRE_ACCESS);
fs/notify/fsnotify.c
165
range.path = path;
fs/notify/fsnotify.c
169
return fsnotify_parent(path->dentry, FS_PRE_ACCESS, &range,
fs/notify/fsnotify.c
184
const struct path *path = fsnotify_data_path(data, data_type);
fs/notify/fsnotify.c
185
__u32 mnt_mask = path ?
fs/notify/fsnotify.c
186
READ_ONCE(real_mount(path->mnt)->mnt_fsnotify_mask) : 0;
fs/notify/fsnotify.c
254
const struct path *path = fsnotify_data_path(data, data_type);
fs/notify/fsnotify.c
265
path && d_unlinked(path->dentry))
fs/notify/fsnotify.c
495
const struct path *path = fsnotify_data_path(data, data_type);
fs/notify/fsnotify.c
507
if (path)
fs/notify/fsnotify.c
508
mnt = real_mount(path->mnt);
fs/notify/inotify/inotify_user.c
372
static int inotify_find_inode(const char __user *dirname, struct path *path,
fs/notify/inotify/inotify_user.c
377
error = user_path_at(AT_FDCWD, dirname, flags, path);
fs/notify/inotify/inotify_user.c
381
error = path_permission(path, MAY_READ);
fs/notify/inotify/inotify_user.c
383
path_put(path);
fs/notify/inotify/inotify_user.c
386
error = security_path_notify(path, mask,
fs/notify/inotify/inotify_user.c
389
path_put(path);
fs/notify/inotify/inotify_user.c
734
struct path path;
fs/notify/inotify/inotify_user.c
771
ret = inotify_find_inode(pathname, &path, flags,
fs/notify/inotify/inotify_user.c
777
inode = path.dentry->d_inode;
fs/notify/inotify/inotify_user.c
782
path_put(&path);
fs/nsfs.c
104
struct path path __free(path_put) = {};
fs/nsfs.c
108
err = path_from_stashed(&ns->stashed, nsfs_mnt, ns, &path);
fs/nsfs.c
112
return dentry_open(&path, O_RDONLY, current_cred());
fs/nsfs.c
125
struct path path __free(path_put) = {};
fs/nsfs.c
129
err = path_from_stashed(&ns->stashed, nsfs_mnt, ns, &path);
fs/nsfs.c
133
return FD_ADD(O_CLOEXEC, dentry_open(&path, O_RDONLY, current_cred()));
fs/nsfs.c
28
static struct path nsfs_root_path = {};
fs/nsfs.c
30
void nsfs_get_root(struct path *path)
fs/nsfs.c
32
*path = nsfs_root_path;
fs/nsfs.c
33
path_get(path);
fs/nsfs.c
331
struct path path __free(path_put) = {};
fs/nsfs.c
346
ret = path_from_stashed(&ns->stashed, nsfs_mnt, ns, &path);
fs/nsfs.c
350
FD_PREPARE(fdf, O_CLOEXEC, dentry_open(&path, O_RDONLY, current_cred()));
fs/nsfs.c
521
struct path path __free(path_put) = {};
fs/nsfs.c
636
ret = path_from_stashed(&ns->stashed, nsfs_mnt, ns, &path);
fs/nsfs.c
640
return no_free_ptr(path.dentry);
fs/nsfs.c
650
static struct file *nsfs_export_open(const struct path *path, unsigned int oflags)
fs/nsfs.c
652
return file_open_root(path, "", oflags, 0);
fs/nsfs.c
67
int ns_get_path_cb(struct path *path, ns_get_path_helper_t *ns_get_cb,
fs/nsfs.c
76
return path_from_stashed(&ns->stashed, nsfs_mnt, ns, path);
fs/nsfs.c
91
int ns_get_path(struct path *path, struct task_struct *task,
fs/nsfs.c
99
return ns_get_path_cb(path, ns_get_path_task, &args);
fs/ntfs3/file.c
186
int ntfs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ntfs3/file.c
189
struct inode *inode = d_inode(path->dentry);
fs/ntfs3/ntfs_fs.h
536
int ntfs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ocfs2/alloc.c
1103
struct ocfs2_path *path = NULL;
fs/ocfs2/alloc.c
1107
path = ocfs2_new_path_from_et(et);
fs/ocfs2/alloc.c
1108
if (!path) {
fs/ocfs2/alloc.c
1113
status = ocfs2_find_path(et->et_ci, path, UINT_MAX);
fs/ocfs2/alloc.c
1119
status = ocfs2_extend_trans(handle, path_num_items(path));
fs/ocfs2/alloc.c
1125
status = ocfs2_journal_access_path(et->et_ci, handle, path);
fs/ocfs2/alloc.c
1131
el = path_leaf_el(path);
fs/ocfs2/alloc.c
1134
ocfs2_adjust_rightmost_records(handle, et, path, rec);
fs/ocfs2/alloc.c
1137
ocfs2_free_path(path);
fs/ocfs2/alloc.c
1898
struct ocfs2_path *path;
fs/ocfs2/alloc.c
1905
ocfs2_path_insert_eb(fp->path, fp->index, bh);
fs/ocfs2/alloc.c
1909
struct ocfs2_path *path, u32 cpos)
fs/ocfs2/alloc.c
1914
data.path = path;
fs/ocfs2/alloc.c
1915
return __ocfs2_find_path(ci, path_root_el(path), cpos,
fs/ocfs2/alloc.c
2225
struct ocfs2_path *path, u32 *cpos)
fs/ocfs2/alloc.c
2231
BUG_ON(path->p_tree_depth == 0);
fs/ocfs2/alloc.c
2235
blkno = path_leaf_bh(path)->b_blocknr;
fs/ocfs2/alloc.c
2238
i = path->p_tree_depth - 1;
fs/ocfs2/alloc.c
2240
el = path->p_node[i].el;
fs/ocfs2/alloc.c
2284
blkno = path->p_node[i].bh->b_blocknr;
fs/ocfs2/alloc.c
2299
struct ocfs2_path *path)
fs/ocfs2/alloc.c
2302
int credits = (path->p_tree_depth - subtree_depth) * 2 + 1 + op_credits;
fs/ocfs2/alloc.c
2539
struct ocfs2_path *path)
fs/ocfs2/alloc.c
2547
ret = ocfs2_journal_access_path(et->et_ci, handle, path);
fs/ocfs2/alloc.c
2554
eb = (struct ocfs2_extent_block *)path_leaf_bh(path)->b_data;
fs/ocfs2/alloc.c
2563
for (i = 0; i < path->p_tree_depth; i++) {
fs/ocfs2/alloc.c
2564
el = path->p_node[i].el;
fs/ocfs2/alloc.c
2571
ocfs2_journal_dirty(handle, path->p_node[i].bh);
fs/ocfs2/alloc.c
2580
struct ocfs2_path *path, int unlink_start)
fs/ocfs2/alloc.c
2587
for(i = unlink_start; i < path_num_items(path); i++) {
fs/ocfs2/alloc.c
2588
bh = path->p_node[i].bh;
fs/ocfs2/alloc.c
2820
struct ocfs2_path *path, u32 *cpos)
fs/ocfs2/alloc.c
2828
if (path->p_tree_depth == 0)
fs/ocfs2/alloc.c
2831
blkno = path_leaf_bh(path)->b_blocknr;
fs/ocfs2/alloc.c
2834
i = path->p_tree_depth - 1;
fs/ocfs2/alloc.c
2838
el = path->p_node[i].el;
fs/ocfs2/alloc.c
2880
blkno = path->p_node[i].bh->b_blocknr;
fs/ocfs2/alloc.c
2890
struct ocfs2_path *path)
fs/ocfs2/alloc.c
2893
struct buffer_head *bh = path_leaf_bh(path);
fs/ocfs2/alloc.c
2894
struct ocfs2_extent_list *el = path_leaf_el(path);
fs/ocfs2/alloc.c
2899
ret = ocfs2_path_bh_journal_access(handle, et->et_ci, path,
fs/ocfs2/alloc.c
2900
path_num_items(path) - 1);
fs/ocfs2/alloc.c
2916
struct ocfs2_path *path,
fs/ocfs2/alloc.c
2926
if (!ocfs2_is_empty_extent(&(path_leaf_el(path)->l_recs[0])))
fs/ocfs2/alloc.c
2931
ret = ocfs2_find_cpos_for_right_leaf(sb, path, &right_cpos);
fs/ocfs2/alloc.c
2937
left_path = ocfs2_new_path_from_path(path);
fs/ocfs2/alloc.c
2944
ocfs2_cp_path(left_path, path);
fs/ocfs2/alloc.c
2946
right_path = ocfs2_new_path_from_path(path);
fs/ocfs2/alloc.c
3032
struct ocfs2_path *path,
fs/ocfs2/alloc.c
3045
ret = ocfs2_journal_access_path(et->et_ci, handle, path);
fs/ocfs2/alloc.c
3052
path, &cpos);
fs/ocfs2/alloc.c
3063
left_path = ocfs2_new_path_from_path(path);
fs/ocfs2/alloc.c
3082
subtree_index = ocfs2_find_subtree_root(et, left_path, path);
fs/ocfs2/alloc.c
3084
ocfs2_unlink_subtree(handle, et, left_path, path,
fs/ocfs2/alloc.c
3102
ocfs2_unlink_path(handle, et, dealloc, path, 1);
fs/ocfs2/alloc.c
3112
ocfs2_journal_dirty(handle, path_root_bh(path));
fs/ocfs2/alloc.c
3121
struct ocfs2_path *path,
fs/ocfs2/alloc.c
3126
int credits = path->p_tree_depth * 2 + 1;
fs/ocfs2/alloc.c
3135
ret = ocfs2_remove_rightmost_path(handle, et, path, dealloc);
fs/ocfs2/alloc.c
3161
struct ocfs2_path *path,
fs/ocfs2/alloc.c
3169
el = path_leaf_el(path);
fs/ocfs2/alloc.c
3173
if (path->p_tree_depth == 0) {
fs/ocfs2/alloc.c
3179
ret = ocfs2_rotate_rightmost_leaf_left(handle, et, path);
fs/ocfs2/alloc.c
3198
eb = (struct ocfs2_extent_block *)path_leaf_bh(path)->b_data;
fs/ocfs2/alloc.c
3226
ret = ocfs2_remove_rightmost_path(handle, et, path,
fs/ocfs2/alloc.c
3238
ret = __ocfs2_rotate_tree_left(handle, et, orig_credits, path,
fs/ocfs2/alloc.c
3669
struct ocfs2_path *path,
fs/ocfs2/alloc.c
3676
struct ocfs2_extent_list *el = path_leaf_el(path);
fs/ocfs2/alloc.c
3685
path);
fs/ocfs2/alloc.c
3697
ret = ocfs2_rotate_tree_left(handle, et, path, dealloc);
fs/ocfs2/alloc.c
3726
ret = ocfs2_merge_rec_right(path, handle, et, split_rec,
fs/ocfs2/alloc.c
3741
path);
fs/ocfs2/alloc.c
3748
ret = ocfs2_rotate_tree_left(handle, et, path, dealloc);
fs/ocfs2/alloc.c
3760
ret = ocfs2_merge_rec_left(path, handle, et, rec,
fs/ocfs2/alloc.c
3771
path);
fs/ocfs2/alloc.c
3777
ret = ocfs2_rotate_tree_left(handle, et, path, dealloc);
fs/ocfs2/alloc.c
3794
ret = ocfs2_merge_rec_left(path, handle, et,
fs/ocfs2/alloc.c
3802
ret = ocfs2_merge_rec_right(path, handle,
fs/ocfs2/alloc.c
3815
path);
fs/ocfs2/alloc.c
3826
ret = ocfs2_rotate_tree_left(handle, et, path,
fs/ocfs2/alloc.c
3964
struct ocfs2_path *path,
fs/ocfs2/alloc.c
3975
for (i = 0; i < path->p_tree_depth; i++) {
fs/ocfs2/alloc.c
3976
bh = path->p_node[i].bh;
fs/ocfs2/alloc.c
3977
el = path->p_node[i].el;
fs/ocfs2/alloc.c
4364
struct ocfs2_path *path,
fs/ocfs2/alloc.c
4381
} else if (path->p_tree_depth > 0) {
fs/ocfs2/alloc.c
4382
status = ocfs2_find_cpos_for_left_leaf(sb, path, &left_cpos);
fs/ocfs2/alloc.c
4387
left_path = ocfs2_new_path_from_path(path);
fs/ocfs2/alloc.c
4434
path->p_tree_depth > 0) {
fs/ocfs2/alloc.c
4435
status = ocfs2_find_cpos_for_right_leaf(sb, path, &right_cpos);
fs/ocfs2/alloc.c
4442
right_path = ocfs2_new_path_from_path(path);
fs/ocfs2/alloc.c
4593
struct ocfs2_path *path = NULL;
fs/ocfs2/alloc.c
4636
path = ocfs2_new_path_from_et(et);
fs/ocfs2/alloc.c
4637
if (!path) {
fs/ocfs2/alloc.c
4649
ret = ocfs2_find_path(et->et_ci, path, le32_to_cpu(insert_rec->e_cpos));
fs/ocfs2/alloc.c
4655
el = path_leaf_el(path);
fs/ocfs2/alloc.c
4687
path_leaf_bh(path)->b_blocknr) {
fs/ocfs2/alloc.c
4700
ocfs2_free_path(path);
fs/ocfs2/alloc.c
4918
struct ocfs2_path *path,
fs/ocfs2/alloc.c
4938
rec = path_leaf_el(path)->l_recs[split_index];
fs/ocfs2/alloc.c
5002
ocfs2_reinit_path(path, 1);
fs/ocfs2/alloc.c
5005
ret = ocfs2_find_path(et->et_ci, path, cpos);
fs/ocfs2/alloc.c
5011
el = path_leaf_el(path);
fs/ocfs2/alloc.c
5030
struct ocfs2_path *path,
fs/ocfs2/alloc.c
5037
ret = ocfs2_path_bh_journal_access(handle, et->et_ci, path,
fs/ocfs2/alloc.c
5038
path_num_items(path) - 1);
fs/ocfs2/alloc.c
5046
ocfs2_journal_dirty(handle, path_leaf_bh(path));
fs/ocfs2/alloc.c
5072
struct ocfs2_path *path,
fs/ocfs2/alloc.c
5079
struct ocfs2_extent_list *el = path_leaf_el(path);
fs/ocfs2/alloc.c
5092
ret = ocfs2_figure_merge_contig_type(et, path, el,
fs/ocfs2/alloc.c
5106
if (path->p_tree_depth) {
fs/ocfs2/alloc.c
5130
ret = ocfs2_replace_extent_rec(handle, et, path, el,
fs/ocfs2/alloc.c
5133
ret = ocfs2_split_and_insert(handle, et, path,
fs/ocfs2/alloc.c
5139
ret = ocfs2_try_to_merge_extent(handle, et, path,
fs/ocfs2/alloc.c
5287
struct ocfs2_path *path,
fs/ocfs2/alloc.c
5302
el = path_leaf_el(path);
fs/ocfs2/alloc.c
5307
depth = path->p_tree_depth;
fs/ocfs2/alloc.c
5320
rightmost_el = path_leaf_el(path);
fs/ocfs2/alloc.c
5322
credits = path->p_tree_depth +
fs/ocfs2/alloc.c
5357
struct ocfs2_path *path, int index,
fs/ocfs2/alloc.c
5366
struct ocfs2_extent_list *el = path_leaf_el(path);
fs/ocfs2/alloc.c
5374
path);
fs/ocfs2/alloc.c
5380
ret = ocfs2_rotate_tree_left(handle, et, path, dealloc);
fs/ocfs2/alloc.c
5390
path->p_tree_depth) {
fs/ocfs2/alloc.c
5397
eb = (struct ocfs2_extent_block *)path_leaf_bh(path)->b_data;
fs/ocfs2/alloc.c
5403
if (index == 0 && path->p_tree_depth &&
fs/ocfs2/alloc.c
5418
ret = ocfs2_find_cpos_for_left_leaf(sb, path, &left_cpos);
fs/ocfs2/alloc.c
5425
left_path = ocfs2_new_path_from_path(path);
fs/ocfs2/alloc.c
5443
path);
fs/ocfs2/alloc.c
5449
ret = ocfs2_journal_access_path(et->et_ci, handle, path);
fs/ocfs2/alloc.c
5477
ocfs2_adjust_rightmost_records(handle, et, path,
fs/ocfs2/alloc.c
5489
ocfs2_adjust_rightmost_records(handle, et, path, rec);
fs/ocfs2/alloc.c
5503
subtree_index = ocfs2_find_subtree_root(et, left_path, path);
fs/ocfs2/alloc.c
5504
ocfs2_complete_edge_insert(handle, left_path, path,
fs/ocfs2/alloc.c
5508
ocfs2_journal_dirty(handle, path_leaf_bh(path));
fs/ocfs2/alloc.c
5510
ret = ocfs2_rotate_tree_left(handle, et, path, dealloc);
fs/ocfs2/alloc.c
5529
struct ocfs2_path *path = NULL;
fs/ocfs2/alloc.c
5537
path = ocfs2_new_path_from_et(et);
fs/ocfs2/alloc.c
5538
if (!path) {
fs/ocfs2/alloc.c
5544
ret = ocfs2_find_path(et->et_ci, path, cpos);
fs/ocfs2/alloc.c
5550
el = path_leaf_el(path);
fs/ocfs2/alloc.c
5589
ret = ocfs2_truncate_rec(handle, et, path, index, dealloc,
fs/ocfs2/alloc.c
5596
ret = ocfs2_split_tree(handle, et, path, index,
fs/ocfs2/alloc.c
5607
ocfs2_reinit_path(path, 1);
fs/ocfs2/alloc.c
5609
ret = ocfs2_find_path(et->et_ci, path, cpos);
fs/ocfs2/alloc.c
5615
el = path_leaf_el(path);
fs/ocfs2/alloc.c
5643
ret = ocfs2_truncate_rec(handle, et, path, index, dealloc,
fs/ocfs2/alloc.c
5650
ocfs2_free_path(path);
fs/ocfs2/alloc.c
567
struct ocfs2_path *path,
fs/ocfs2/alloc.c
574
void ocfs2_reinit_path(struct ocfs2_path *path, int keep_root)
fs/ocfs2/alloc.c
582
for(i = start; i < path_num_items(path); i++) {
fs/ocfs2/alloc.c
583
node = &path->p_node[i];
fs/ocfs2/alloc.c
596
depth = le16_to_cpu(path_root_el(path)->l_tree_depth);
fs/ocfs2/alloc.c
598
path_root_access(path) = NULL;
fs/ocfs2/alloc.c
600
path->p_tree_depth = depth;
fs/ocfs2/alloc.c
603
void ocfs2_free_path(struct ocfs2_path *path)
fs/ocfs2/alloc.c
605
if (path) {
fs/ocfs2/alloc.c
606
ocfs2_reinit_path(path, 0);
fs/ocfs2/alloc.c
607
kfree(path);
fs/ocfs2/alloc.c
664
static inline void ocfs2_path_insert_eb(struct ocfs2_path *path, int index,
fs/ocfs2/alloc.c
677
path->p_node[index].bh = eb_bh;
fs/ocfs2/alloc.c
678
path->p_node[index].el = &eb->h_list;
fs/ocfs2/alloc.c
685
struct ocfs2_path *path;
fs/ocfs2/alloc.c
689
path = kzalloc_obj(*path, GFP_NOFS);
fs/ocfs2/alloc.c
690
if (path) {
fs/ocfs2/alloc.c
691
path->p_tree_depth = le16_to_cpu(root_el->l_tree_depth);
fs/ocfs2/alloc.c
693
path_root_bh(path) = root_bh;
fs/ocfs2/alloc.c
694
path_root_el(path) = root_el;
fs/ocfs2/alloc.c
695
path_root_access(path) = access;
fs/ocfs2/alloc.c
698
return path;
fs/ocfs2/alloc.c
701
struct ocfs2_path *ocfs2_new_path_from_path(struct ocfs2_path *path)
fs/ocfs2/alloc.c
703
return ocfs2_new_path(path_root_bh(path), path_root_el(path),
fs/ocfs2/alloc.c
704
path_root_access(path));
fs/ocfs2/alloc.c
722
struct ocfs2_path *path,
fs/ocfs2/alloc.c
7241
struct ocfs2_path *path = NULL;
fs/ocfs2/alloc.c
725
ocfs2_journal_access_func access = path_root_access(path);
fs/ocfs2/alloc.c
7255
path = ocfs2_new_path(di_bh, &di->id2.i_list,
fs/ocfs2/alloc.c
7257
if (!path) {
fs/ocfs2/alloc.c
7277
status = ocfs2_find_path(INODE_CACHE(inode), path, UINT_MAX);
fs/ocfs2/alloc.c
7287
path->p_tree_depth);
fs/ocfs2/alloc.c
7300
el = path_leaf_el(path);
fs/ocfs2/alloc.c
7305
(unsigned long long)path_leaf_bh(path)->b_blocknr);
fs/ocfs2/alloc.c
7325
&et, path, &dealloc);
fs/ocfs2/alloc.c
733
return access(handle, ci, path->p_node[idx].bh,
fs/ocfs2/alloc.c
7331
ocfs2_reinit_path(path, 1);
fs/ocfs2/alloc.c
7382
ocfs2_reinit_path(path, 1);
fs/ocfs2/alloc.c
7398
ocfs2_free_path(path);
fs/ocfs2/alloc.c
742
struct ocfs2_path *path)
fs/ocfs2/alloc.c
746
if (!path)
fs/ocfs2/alloc.c
749
for(i = 0; i < path_num_items(path); i++) {
fs/ocfs2/alloc.c
750
ret = ocfs2_path_bh_journal_access(handle, ci, path, i);
fs/ocfs2/alloc.h
106
struct ocfs2_path *path,
fs/ocfs2/alloc.h
287
void ocfs2_reinit_path(struct ocfs2_path *path, int keep_root);
fs/ocfs2/alloc.h
288
void ocfs2_free_path(struct ocfs2_path *path);
fs/ocfs2/alloc.h
290
struct ocfs2_path *path,
fs/ocfs2/alloc.h
292
struct ocfs2_path *ocfs2_new_path_from_path(struct ocfs2_path *path);
fs/ocfs2/alloc.h
296
struct ocfs2_path *path,
fs/ocfs2/alloc.h
300
struct ocfs2_path *path);
fs/ocfs2/alloc.h
302
struct ocfs2_path *path, u32 *cpos);
fs/ocfs2/alloc.h
304
struct ocfs2_path *path, u32 *cpos);
fs/ocfs2/file.c
1315
int ocfs2_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ocfs2/file.c
1318
struct inode *inode = d_inode(path->dentry);
fs/ocfs2/file.c
1319
struct super_block *sb = path->dentry->d_sb;
fs/ocfs2/file.c
1323
err = ocfs2_inode_revalidate(path->dentry);
fs/ocfs2/file.c
1779
struct ocfs2_path *path = NULL;
fs/ocfs2/file.c
1852
path = ocfs2_new_path_from_et(&et);
fs/ocfs2/file.c
1853
if (!path) {
fs/ocfs2/file.c
1861
ret = ocfs2_find_path(INODE_CACHE(inode), path,
fs/ocfs2/file.c
1868
el = path_leaf_el(path);
fs/ocfs2/file.c
1875
if (path->p_tree_depth == 0)
fs/ocfs2/file.c
1879
path,
fs/ocfs2/file.c
1899
ocfs2_reinit_path(path, 1);
fs/ocfs2/file.c
1924
ocfs2_reinit_path(path, 1);
fs/ocfs2/file.c
1930
ocfs2_free_path(path);
fs/ocfs2/file.h
55
int ocfs2_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ocfs2/move_extents.c
114
ret = ocfs2_split_extent(handle, &context->et, path, index,
fs/ocfs2/move_extents.c
141
ocfs2_free_path(path);
fs/ocfs2/move_extents.c
58
struct ocfs2_path *path = NULL;
fs/ocfs2/move_extents.c
76
path = ocfs2_new_path_from_et(&context->et);
fs/ocfs2/move_extents.c
77
if (!path) {
fs/ocfs2/move_extents.c
83
ret = ocfs2_find_path(INODE_CACHE(inode), path, cpos);
fs/ocfs2/move_extents.c
89
el = path_leaf_el(path);
fs/ocfs2/refcounttree.c
1653
struct ocfs2_path *path = NULL;
fs/ocfs2/refcounttree.c
1670
path = ocfs2_new_path_from_et(&et);
fs/ocfs2/refcounttree.c
1671
if (!path) {
fs/ocfs2/refcounttree.c
1677
ret = ocfs2_find_path(ci, path, old_cpos);
fs/ocfs2/refcounttree.c
1700
ret = ocfs2_journal_access_eb(handle, ci, path_leaf_bh(path),
fs/ocfs2/refcounttree.c
1708
el = path_leaf_el(path);
fs/ocfs2/refcounttree.c
1721
ocfs2_journal_dirty(handle, path_leaf_bh(path));
fs/ocfs2/refcounttree.c
1725
ocfs2_free_path(path);
fs/ocfs2/refcounttree.c
3057
struct ocfs2_path *path = NULL;
fs/ocfs2/refcounttree.c
3073
path = ocfs2_new_path_from_et(et);
fs/ocfs2/refcounttree.c
3074
if (!path) {
fs/ocfs2/refcounttree.c
3080
ret = ocfs2_find_path(et->et_ci, path, cpos);
fs/ocfs2/refcounttree.c
3086
el = path_leaf_el(path);
fs/ocfs2/refcounttree.c
3096
ret = ocfs2_split_extent(handle, et, path, index,
fs/ocfs2/refcounttree.c
3102
ocfs2_free_path(path);
fs/ocfs2/refcounttree.c
4410
struct path old_path, new_path;
fs/open.c
1076
int vfs_open(const struct path *path, struct file *file)
fs/open.c
1080
file->__f_path = *path;
fs/open.c
1093
struct file *dentry_open(const struct path *path, int flags,
fs/open.c
1100
BUG_ON(!path->mnt);
fs/open.c
1104
error = vfs_open(path, f);
fs/open.c
1114
struct file *dentry_open_nonotify(const struct path *path, int flags,
fs/open.c
1122
error = vfs_open(path, f);
fs/open.c
1143
struct file *kernel_file_open(const struct path *path, int flags,
fs/open.c
1153
error = vfs_open(path, f);
fs/open.c
116
error = security_path_truncate(path);
fs/open.c
118
error = do_truncate(idmap, path->dentry, length, 0, NULL);
fs/open.c
123
mnt_drop_write(path->mnt);
fs/open.c
132
struct path path;
fs/open.c
1345
struct file *file_open_root(const struct path *root,
fs/open.c
140
error = filename_lookup(AT_FDCWD, name, lookup_flags, &path, NULL);
fs/open.c
142
error = vfs_truncate(&path, length);
fs/open.c
143
path_put(&path);
fs/open.c
152
SYSCALL_DEFINE2(truncate, const char __user *, path, long, length)
fs/open.c
154
return do_sys_truncate(path, length);
fs/open.c
158
COMPAT_SYSCALL_DEFINE2(truncate, const char __user *, path, compat_off_t, length)
fs/open.c
160
return do_sys_truncate(path, length);
fs/open.c
225
SYSCALL_DEFINE2(truncate64, const char __user *, path, loff_t, length)
fs/open.c
227
return do_sys_truncate(path, length);
fs/open.c
467
struct path path;
fs/open.c
490
res = filename_lookup(dfd, name, lookup_flags, &path, NULL);
fs/open.c
494
inode = d_backing_inode(path.dentry);
fs/open.c
502
if (path_noexec(&path))
fs/open.c
506
res = inode_permission(mnt_idmap(path.mnt), inode, mode | MAY_ACCESS);
fs/open.c
520
if (__mnt_is_readonly(path.mnt))
fs/open.c
524
path_put(&path);
fs/open.c
554
struct path path;
fs/open.c
559
error = filename_lookup(AT_FDCWD, name, lookup_flags, &path, NULL);
fs/open.c
561
error = path_permission(&path, MAY_EXEC | MAY_CHDIR);
fs/open.c
563
set_fs_pwd(current->fs, &path);
fs/open.c
564
path_put(&path);
fs/open.c
592
struct path path;
fs/open.c
597
error = filename_lookup(AT_FDCWD, name, lookup_flags, &path, NULL);
fs/open.c
601
error = path_permission(&path, MAY_EXEC | MAY_CHDIR);
fs/open.c
608
error = security_path_chroot(&path);
fs/open.c
610
set_fs_root(current->fs, &path);
fs/open.c
612
path_put(&path);
fs/open.c
620
int chmod_common(const struct path *path, umode_t mode)
fs/open.c
622
struct inode *inode = path->dentry->d_inode;
fs/open.c
627
error = mnt_want_write(path->mnt);
fs/open.c
634
error = security_path_chmod(path, mode);
fs/open.c
639
error = notify_change(mnt_idmap(path->mnt), path->dentry,
fs/open.c
649
mnt_drop_write(path->mnt);
fs/open.c
672
struct path path;
fs/open.c
682
error = filename_lookup(dfd, name, lookup_flags, &path, NULL);
fs/open.c
684
error = chmod_common(&path, mode);
fs/open.c
685
path_put(&path);
fs/open.c
73
int vfs_truncate(const struct path *path, loff_t length)
fs/open.c
741
int chown_common(const struct path *path, uid_t user, gid_t group)
fs/open.c
745
struct inode *inode = path->dentry->d_inode;
fs/open.c
755
idmap = mnt_idmap(path->mnt);
fs/open.c
774
path,
fs/open.c
778
error = notify_change(idmap, path->dentry, &newattrs,
fs/open.c
79
inode = path->dentry->d_inode;
fs/open.c
792
struct path path;
fs/open.c
802
error = filename_lookup(dfd, name, lookup_flags, &path, NULL);
fs/open.c
804
error = mnt_want_write(path.mnt);
fs/open.c
806
error = chown_common(&path, user, group);
fs/open.c
807
mnt_drop_write(path.mnt);
fs/open.c
809
path_put(&path);
fs/open.c
87
idmap = mnt_idmap(path->mnt);
fs/open.c
92
error = fsnotify_truncate_perm(path, length);
fs/open.c
96
error = mnt_want_write(path->mnt);
fs/orangefs/inode.c
833
int orangefs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/orangefs/inode.c
837
struct inode *inode = path->dentry->d_inode;
fs/orangefs/inode.c
841
path->dentry, request_mask);
fs/orangefs/orangefs-kernel.h
357
int orangefs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/overlayfs/copy_up.c
1036
struct path lowerdata;
fs/overlayfs/copy_up.c
1050
static ssize_t ovl_getxattr_value(const struct path *path, char *name, char **value)
fs/overlayfs/copy_up.c
1055
res = ovl_do_getxattr(path, name, NULL, 0);
fs/overlayfs/copy_up.c
1064
res = ovl_do_getxattr(path, name, buf, res);
fs/overlayfs/copy_up.c
1077
struct path upperpath;
fs/overlayfs/copy_up.c
1128
struct path parentpath;
fs/overlayfs/copy_up.c
171
static int ovl_copy_fileattr(struct inode *inode, const struct path *old,
fs/overlayfs/copy_up.c
172
const struct path *new)
fs/overlayfs/copy_up.c
245
static int ovl_sync_file(const struct path *path)
fs/overlayfs/copy_up.c
250
new_file = ovl_path_open(path, O_LARGEFILE | O_RDONLY);
fs/overlayfs/copy_up.c
264
struct path datapath;
fs/overlayfs/copy_up.c
46
static int ovl_copy_acl(struct ovl_fs *ofs, const struct path *path,
fs/overlayfs/copy_up.c
52
real_acl = ovl_get_acl_path(path, acl_name, false);
fs/overlayfs/copy_up.c
580
struct path lowerpath;
fs/overlayfs/copy_up.c
639
static int ovl_copy_up_data(struct ovl_copy_up_ctx *c, const struct path *temp)
fs/overlayfs/copy_up.c
663
struct path upperpath = { .mnt = ovl_upper_mnt(ofs), .dentry = temp };
fs/overlayfs/copy_up.c
695
struct path lowerdatapath;
fs/overlayfs/copy_up.c
75
int ovl_copy_xattr(struct super_block *sb, const struct path *oldpath, struct dentry *new)
fs/overlayfs/copy_up.c
762
struct path path = { .mnt = ovl_upper_mnt(ofs) };
fs/overlayfs/copy_up.c
789
path.dentry = temp;
fs/overlayfs/copy_up.c
790
err = ovl_copy_up_data(c, &path);
fs/overlayfs/dir.c
1363
struct path realparentpath;
fs/overlayfs/dir.c
391
struct path upperpath;
fs/overlayfs/file.c
117
const struct path *realpath)
fs/overlayfs/file.c
123
const struct path *realpath)
fs/overlayfs/file.c
177
struct path realpath;
fs/overlayfs/file.c
202
struct path realpath;
fs/overlayfs/file.c
29
const struct path *realpath)
fs/overlayfs/file.c
446
struct path upperpath;
fs/overlayfs/inode.c
1202
struct path realpath = {
fs/overlayfs/inode.c
155
const struct path *path,
fs/overlayfs/inode.c
160
return vfs_getattr_nosec(path, stat, request_mask, flags);
fs/overlayfs/inode.c
163
int ovl_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/overlayfs/inode.c
166
struct dentry *dentry = path->dentry;
fs/overlayfs/inode.c
169
struct path realpath;
fs/overlayfs/inode.c
295
struct path realpath;
fs/overlayfs/inode.c
389
struct posix_acl *ovl_get_acl_path(const struct path *path,
fs/overlayfs/inode.c
394
struct inode *realinode = d_inode(path->dentry);
fs/overlayfs/inode.c
396
idmap = mnt_idmap(path->mnt);
fs/overlayfs/inode.c
401
real_acl = vfs_get_acl(idmap, path->dentry, acl_name);
fs/overlayfs/inode.c
405
if (!is_idmapped_mnt(path->mnt))
fs/overlayfs/inode.c
440
struct path realpath;
fs/overlayfs/inode.c
473
struct path realpath;
fs/overlayfs/inode.c
563
struct path upperpath = {
fs/overlayfs/inode.c
599
static int ovl_security_fileattr(const struct path *realpath, struct file_kattr *fa,
fs/overlayfs/inode.c
626
int ovl_real_fileattr_set(const struct path *realpath, struct file_kattr *fa)
fs/overlayfs/inode.c
641
struct path upperpath;
fs/overlayfs/inode.c
700
int ovl_real_fileattr_get(const struct path *realpath, struct file_kattr *fa)
fs/overlayfs/inode.c
717
struct path realpath;
fs/overlayfs/namei.c
1323
struct path upperpath = {
fs/overlayfs/namei.c
1471
struct path path = {
fs/overlayfs/namei.c
1475
positive = !ovl_path_is_whiteout(OVL_FS(dentry->d_sb), &path);
fs/overlayfs/namei.c
241
struct path path;
fs/overlayfs/namei.c
282
path.dentry = this;
fs/overlayfs/namei.c
283
path.mnt = d->layer->mnt;
fs/overlayfs/namei.c
284
if (ovl_path_is_whiteout(ofs, &path)) {
fs/overlayfs/namei.c
302
err = ovl_check_metacopy_xattr(ofs, &path, NULL);
fs/overlayfs/namei.c
324
val = ovl_get_opaquedir_val(ofs, &path);
fs/overlayfs/namei.c
335
err = ovl_check_redirect(&path, d, prelen, post);
fs/overlayfs/namei.c
35
static int ovl_check_redirect(const struct path *path, struct ovl_lookup_data *d,
fs/overlayfs/namei.c
399
struct path *datapath)
fs/overlayfs/namei.c
43
buf = ovl_get_redirect_xattr(ofs, path, prelen + strlen(post));
fs/overlayfs/namei.c
435
struct path datapath;
fs/overlayfs/namei.c
903
int ovl_path_next(int idx, struct dentry *dentry, struct path *path,
fs/overlayfs/namei.c
911
ovl_path_upper(dentry, path);
fs/overlayfs/namei.c
912
if (path->dentry) {
fs/overlayfs/namei.c
919
path->dentry = lowerstack[idx - 1].dentry;
fs/overlayfs/namei.c
921
path->mnt = (*layer)->mnt;
fs/overlayfs/namei.c
958
struct path datapath, metapath;
fs/overlayfs/overlayfs.h
282
static inline ssize_t ovl_do_getxattr(const struct path *path, const char *name,
fs/overlayfs/overlayfs.h
287
WARN_ON(path->dentry->d_sb != path->mnt->mnt_sb);
fs/overlayfs/overlayfs.h
289
err = vfs_getxattr(mnt_idmap(path->mnt), path->dentry,
fs/overlayfs/overlayfs.h
294
path->dentry, name, min(len, 48), value, size, err);
fs/overlayfs/overlayfs.h
303
struct path upperpath = {
fs/overlayfs/overlayfs.h
312
const struct path *path,
fs/overlayfs/overlayfs.h
316
return ovl_do_getxattr(path, ovl_xattr(ofs, ox), value, size);
fs/overlayfs/overlayfs.h
405
struct path path = { .mnt = ovl_upper_mnt(ofs), .dentry = dentry };
fs/overlayfs/overlayfs.h
406
struct file *file = kernel_tmpfile_open(ovl_upper_mnt_idmap(ofs), &path,
fs/overlayfs/overlayfs.h
499
void ovl_path_upper(struct dentry *dentry, struct path *path);
fs/overlayfs/overlayfs.h
500
void ovl_path_lower(struct dentry *dentry, struct path *path);
fs/overlayfs/overlayfs.h
501
void ovl_path_lowerdata(struct dentry *dentry, struct path *path);
fs/overlayfs/overlayfs.h
502
struct inode *ovl_i_path_real(struct inode *inode, struct path *path);
fs/overlayfs/overlayfs.h
503
enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path);
fs/overlayfs/overlayfs.h
504
enum ovl_path_type ovl_path_realdata(struct dentry *dentry, struct path *path);
fs/overlayfs/overlayfs.h
543
bool ovl_path_is_whiteout(struct ovl_fs *ofs, const struct path *path);
fs/overlayfs/overlayfs.h
544
struct file *ovl_path_open(const struct path *path, int flags);
fs/overlayfs/overlayfs.h
548
char ovl_get_dir_xattr_val(struct ovl_fs *ofs, const struct path *path,
fs/overlayfs/overlayfs.h
550
bool ovl_path_check_origin_xattr(struct ovl_fs *ofs, const struct path *path);
fs/overlayfs/overlayfs.h
551
bool ovl_path_check_xwhiteout_xattr(struct ovl_fs *ofs, const struct path *path);
fs/overlayfs/overlayfs.h
553
const struct path *upperpath);
fs/overlayfs/overlayfs.h
558
struct path upperpath = {
fs/overlayfs/overlayfs.h
568
struct path upperpath = {
fs/overlayfs/overlayfs.h
587
int ovl_check_metacopy_xattr(struct ovl_fs *ofs, const struct path *path,
fs/overlayfs/overlayfs.h
592
char *ovl_get_redirect_xattr(struct ovl_fs *ofs, const struct path *path, int padding);
fs/overlayfs/overlayfs.h
593
int ovl_ensure_verity_loaded(const struct path *path);
fs/overlayfs/overlayfs.h
595
const struct path *metapath,
fs/overlayfs/overlayfs.h
596
const struct path *datapath);
fs/overlayfs/overlayfs.h
597
int ovl_get_verity_digest(struct ovl_fs *ofs, const struct path *src,
fs/overlayfs/overlayfs.h
620
struct path upperpath = {
fs/overlayfs/overlayfs.h
629
const struct path *path)
fs/overlayfs/overlayfs.h
631
return ovl_get_dir_xattr_val(ofs, path, OVL_XATTR_OPAQUE);
fs/overlayfs/overlayfs.h
755
int ovl_path_next(int idx, struct dentry *dentry, struct path *path,
fs/overlayfs/overlayfs.h
790
int ovl_check_d_type_supported(const struct path *realpath);
fs/overlayfs/overlayfs.h
832
struct posix_acl *ovl_get_acl_path(const struct path *path,
fs/overlayfs/overlayfs.h
838
static inline struct posix_acl *ovl_get_acl_path(const struct path *path,
fs/overlayfs/overlayfs.h
921
int ovl_real_fileattr_get(const struct path *realpath, struct file_kattr *fa);
fs/overlayfs/overlayfs.h
922
int ovl_real_fileattr_set(const struct path *realpath, struct file_kattr *fa);
fs/overlayfs/overlayfs.h
934
int ovl_copy_xattr(struct super_block *sb, const struct path *path, struct dentry *new);
fs/overlayfs/overlayfs.h
960
int ovl_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/overlayfs/params.c
250
static int ovl_mount_dir_noesc(const char *name, struct path *path)
fs/overlayfs/params.c
258
err = kern_path(name, LOOKUP_FOLLOW, path);
fs/overlayfs/params.c
282
static int ovl_mount_dir(const char *name, struct path *path)
fs/overlayfs/params.c
289
err = ovl_mount_dir_noesc(tmp, path);
fs/overlayfs/params.c
295
static int ovl_mount_dir_check(struct fs_context *fc, const struct path *path,
fs/overlayfs/params.c
298
bool is_casefolded = ovl_dentry_casefolded(path->dentry);
fs/overlayfs/params.c
302
if (!d_is_dir(path->dentry))
fs/overlayfs/params.c
319
if (ovl_dentry_weird(path->dentry))
fs/overlayfs/params.c
328
if (path->dentry->d_flags & DCACHE_OP_REAL)
fs/overlayfs/params.c
330
if (__mnt_is_readonly(path->mnt))
fs/overlayfs/params.c
365
struct path *path, char **pname)
fs/overlayfs/params.c
375
swap(ctx->work, *path);
fs/overlayfs/params.c
379
swap(ctx->upper, *path);
fs/overlayfs/params.c
391
swap(l->path, *path);
fs/overlayfs/params.c
404
static inline int ovl_kern_path(const char *layer_name, struct path *layer_path,
fs/overlayfs/params.c
431
struct path *layer_path, enum ovl_opt layer)
fs/overlayfs/params.c
459
struct path layer_path __free(path_put) = {};
fs/overlayfs/params.c
504
path_put(&l->path);
fs/overlayfs/params.c
565
struct path path __free(path_put) = {};
fs/overlayfs/params.c
567
err = ovl_kern_path(iter, &path, Opt_lowerdir);
fs/overlayfs/params.c
571
err = ovl_do_parse_layer(fc, iter, &path, Opt_lowerdir);
fs/overlayfs/params.h
24
struct path path;
fs/overlayfs/params.h
28
struct path upper;
fs/overlayfs/params.h
29
struct path work;
fs/overlayfs/readdir.c
1043
struct path realpath;
fs/overlayfs/readdir.c
1159
int ovl_check_d_type_supported(const struct path *realpath)
fs/overlayfs/readdir.c
1177
static int ovl_workdir_cleanup_recurse(struct ovl_fs *ofs, const struct path *path,
fs/overlayfs/readdir.c
1199
!strcmp(path->dentry->d_name.name, OVL_INCOMPATDIR_NAME))
fs/overlayfs/readdir.c
1202
err = ovl_dir_read(path, &rdd);
fs/overlayfs/readdir.c
1217
dentry = ovl_lookup_upper_unlocked(ofs, p->name, path->dentry, p->len);
fs/overlayfs/readdir.c
1221
err = ovl_workdir_cleanup(ofs, path->dentry, path->mnt,
fs/overlayfs/readdir.c
1246
struct path path = { .mnt = mnt, .dentry = dentry };
fs/overlayfs/readdir.c
1248
err = ovl_workdir_cleanup_recurse(ofs, &path, level + 1);
fs/overlayfs/readdir.c
1261
struct path path = { .mnt = ovl_upper_mnt(ofs), .dentry = indexdir };
fs/overlayfs/readdir.c
1270
err = ovl_dir_read(&path, &rdd);
fs/overlayfs/readdir.c
1285
err = ovl_workdir_cleanup(ofs, indexdir, path.mnt, index, 1);
fs/overlayfs/readdir.c
351
static int ovl_check_whiteouts(const struct path *path, struct ovl_readdir_data *rdd)
fs/overlayfs/readdir.c
353
struct dentry *dentry, *dir = path->dentry;
fs/overlayfs/readdir.c
359
dentry = lookup_one_positive_killable(mnt_idmap(path->mnt),
fs/overlayfs/readdir.c
373
static inline int ovl_dir_read(const struct path *realpath,
fs/overlayfs/readdir.c
426
struct path realpath;
fs/overlayfs/readdir.c
551
static int ovl_cache_update(const struct path *path, struct ovl_cache_entry *p, bool update_ino)
fs/overlayfs/readdir.c
554
struct dentry *dir = path->dentry;
fs/overlayfs/readdir.c
577
this = lookup_one(mnt_idmap(path->mnt), &QSTR_LEN(p->name, p->len), dir);
fs/overlayfs/readdir.c
596
struct path statpath = *path;
fs/overlayfs/readdir.c
648
static int ovl_dir_read_impure(const struct path *path, struct list_head *list,
fs/overlayfs/readdir.c
652
struct path realpath;
fs/overlayfs/readdir.c
663
ovl_path_upper(path->dentry, &realpath);
fs/overlayfs/readdir.c
671
err = ovl_cache_update(path, p, true);
fs/overlayfs/readdir.c
693
static struct ovl_dir_cache *ovl_cache_get_impure(const struct path *path)
fs/overlayfs/readdir.c
696
struct dentry *dentry = path->dentry;
fs/overlayfs/readdir.c
713
res = ovl_dir_read_impure(path, &cache->entries, &cache->root);
fs/overlayfs/readdir.c
813
struct path statpath = file->f_path;
fs/overlayfs/readdir.c
957
const struct path *realpath)
fs/overlayfs/readdir.c
986
struct path upperpath;
fs/overlayfs/super.c
1075
fsid = ovl_get_fsid(ofs, &l->path);
fs/overlayfs/super.c
1088
err = ovl_setup_trap(sb, l->path.dentry, &trap, "lowerdir");
fs/overlayfs/super.c
1092
if (ovl_is_inuse(l->path.dentry)) {
fs/overlayfs/super.c
1100
mnt = clone_private_mount(&l->path);
fs/overlayfs/super.c
1201
err = ovl_lower_dir(l->name, &l->path, ofs, &sb->s_stack_depth);
fs/overlayfs/super.c
1227
lowerstack[i].dentry = dget(l->path.dentry);
fs/overlayfs/super.c
1337
struct path path = {
fs/overlayfs/super.c
1343
if (ovl_get_opaquedir_val(ofs, &path) == 'x') {
fs/overlayfs/super.c
281
struct path path;
fs/overlayfs/super.c
284
ovl_path_real(root_dentry, &path);
fs/overlayfs/super.c
286
err = vfs_statfs(&path, buf);
fs/overlayfs/super.c
397
static int ovl_check_namelen(const struct path *path, struct ovl_fs *ofs,
fs/overlayfs/super.c
401
int err = vfs_statfs(path, &statfs);
fs/overlayfs/super.c
411
static int ovl_lower_dir(const char *name, const struct path *path,
fs/overlayfs/super.c
417
err = ovl_check_namelen(path, ofs, name);
fs/overlayfs/super.c
421
*stack_depth = max(*stack_depth, path->mnt->mnt_sb->s_stack_depth);
fs/overlayfs/super.c
427
fh_type = ovl_can_decode_fh(path->dentry->d_sb);
fs/overlayfs/super.c
507
const struct path *upperpath)
fs/overlayfs/super.c
668
const struct path *workpath)
fs/overlayfs/super.c
810
const struct path *upperpath,
fs/overlayfs/super.c
811
const struct path *workpath)
fs/overlayfs/super.c
844
struct ovl_entry *oe, const struct path *upperpath)
fs/overlayfs/super.c
952
static int ovl_get_fsid(struct ovl_fs *ofs, const struct path *path)
fs/overlayfs/super.c
954
struct super_block *sb = path->mnt->mnt_sb;
fs/overlayfs/super.c
981
path->dentry, ovl_xino_mode(&ofs->config));
fs/overlayfs/util.c
1248
int ovl_check_metacopy_xattr(struct ovl_fs *ofs, const struct path *path,
fs/overlayfs/util.c
1254
if (!S_ISREG(d_inode(path->dentry)->i_mode))
fs/overlayfs/util.c
1257
res = ovl_path_getxattr(ofs, path, OVL_XATTR_METACOPY,
fs/overlayfs/util.c
1281
path->dentry);
fs/overlayfs/util.c
1286
path->dentry);
fs/overlayfs/util.c
1291
path->dentry);
fs/overlayfs/util.c
1330
char *ovl_get_redirect_xattr(struct ovl_fs *ofs, const struct path *path, int padding)
fs/overlayfs/util.c
1335
res = ovl_path_getxattr(ofs, path, OVL_XATTR_REDIRECT, NULL, 0);
fs/overlayfs/util.c
1347
res = ovl_path_getxattr(ofs, path, OVL_XATTR_REDIRECT, buf, res);
fs/overlayfs/util.c
1377
int ovl_ensure_verity_loaded(const struct path *datapath)
fs/overlayfs/util.c
1397
const struct path *metapath,
fs/overlayfs/util.c
1398
const struct path *datapath)
fs/overlayfs/util.c
1451
int ovl_get_verity_digest(struct ovl_fs *ofs, const struct path *src,
fs/overlayfs/util.c
1522
struct path realpath;
fs/overlayfs/util.c
245
void ovl_path_upper(struct dentry *dentry, struct path *path)
fs/overlayfs/util.c
249
path->mnt = ovl_upper_mnt(ofs);
fs/overlayfs/util.c
250
path->dentry = ovl_dentry_upper(dentry);
fs/overlayfs/util.c
253
void ovl_path_lower(struct dentry *dentry, struct path *path)
fs/overlayfs/util.c
259
path->mnt = lowerpath->layer->mnt;
fs/overlayfs/util.c
260
path->dentry = lowerpath->dentry;
fs/overlayfs/util.c
262
*path = (struct path) { };
fs/overlayfs/util.c
266
void ovl_path_lowerdata(struct dentry *dentry, struct path *path)
fs/overlayfs/util.c
273
path->dentry = lowerdata_dentry;
fs/overlayfs/util.c
280
path->mnt = READ_ONCE(lowerdata->layer)->mnt;
fs/overlayfs/util.c
282
*path = (struct path) { };
fs/overlayfs/util.c
286
enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path)
fs/overlayfs/util.c
291
ovl_path_lower(dentry, path);
fs/overlayfs/util.c
293
ovl_path_upper(dentry, path);
fs/overlayfs/util.c
298
enum ovl_path_type ovl_path_realdata(struct dentry *dentry, struct path *path)
fs/overlayfs/util.c
305
ovl_path_lowerdata(dentry, path);
fs/overlayfs/util.c
307
ovl_path_upper(dentry, path);
fs/overlayfs/util.c
377
struct inode *ovl_i_path_real(struct inode *inode, struct path *path)
fs/overlayfs/util.c
381
path->dentry = ovl_i_dentry_upper(inode);
fs/overlayfs/util.c
382
if (!path->dentry) {
fs/overlayfs/util.c
383
path->dentry = lowerpath->dentry;
fs/overlayfs/util.c
384
path->mnt = lowerpath->layer->mnt;
fs/overlayfs/util.c
386
path->mnt = ovl_upper_mnt(OVL_FS(inode->i_sb));
fs/overlayfs/util.c
389
return path->dentry ? d_inode_rcu(path->dentry) : NULL;
fs/overlayfs/util.c
651
bool ovl_path_is_whiteout(struct ovl_fs *ofs, const struct path *path)
fs/overlayfs/util.c
653
return ovl_is_whiteout(path->dentry) ||
fs/overlayfs/util.c
654
ovl_path_check_xwhiteout_xattr(ofs, path);
fs/overlayfs/util.c
657
struct file *ovl_path_open(const struct path *path, int flags)
fs/overlayfs/util.c
659
struct inode *inode = d_inode(path->dentry);
fs/overlayfs/util.c
660
struct mnt_idmap *real_idmap = mnt_idmap(path->mnt);
fs/overlayfs/util.c
685
return dentry_open(path, flags, current_cred());
fs/overlayfs/util.c
759
bool ovl_path_check_origin_xattr(struct ovl_fs *ofs, const struct path *path)
fs/overlayfs/util.c
763
res = ovl_path_getxattr(ofs, path, OVL_XATTR_ORIGIN, NULL, 0);
fs/overlayfs/util.c
772
bool ovl_path_check_xwhiteout_xattr(struct ovl_fs *ofs, const struct path *path)
fs/overlayfs/util.c
774
struct dentry *dentry = path->dentry;
fs/overlayfs/util.c
781
res = ovl_path_getxattr(ofs, path, OVL_XATTR_XWHITEOUT, NULL, 0);
fs/overlayfs/util.c
790
const struct path *upperpath)
fs/overlayfs/util.c
848
char ovl_get_dir_xattr_val(struct ovl_fs *ofs, const struct path *path,
fs/overlayfs/util.c
854
if (!d_is_dir(path->dentry))
fs/overlayfs/util.c
857
res = ovl_path_getxattr(ofs, path, ox, &val, 1);
fs/overlayfs/xattrs.c
43
struct path realpath;
fs/overlayfs/xattrs.c
84
struct path realpath;
fs/pidfs.c
1090
struct path path __free(path_put) = {};
fs/pidfs.c
1100
ret = path_from_stashed(&pid->stashed, pidfs_mnt, get_pid(pid), &path);
fs/pidfs.c
1108
pidfd_file = dentry_open(&path, flags, current_cred());
fs/pidfs.c
36
static struct path pidfs_root_path = {};
fs/pidfs.c
38
void pidfs_get_root(struct path *path)
fs/pidfs.c
40
*path = pidfs_root_path;
fs/pidfs.c
41
path_get(path);
fs/pidfs.c
753
static int pidfs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/pidfs.c
757
return anon_inode_getattr(idmap, path, stat, request_mask, query_flags);
fs/pidfs.c
850
struct path path;
fs/pidfs.c
868
ret = path_from_stashed(&pid->stashed, pidfs_mnt, pid, &path);
fs/pidfs.c
874
mntput(path.mnt);
fs/pidfs.c
875
return path.dentry;
fs/pidfs.c
900
static struct file *pidfs_export_open(const struct path *path, unsigned int oflags)
fs/pidfs.c
907
return dentry_open(path, oflags | O_RDWR, current_cred());
fs/pnode.c
35
const struct path *root)
fs/pnode.c
56
int get_dominating_id(struct mount *mnt, const struct path *root)
fs/pnode.h
52
int get_dominating_id(struct mount *mnt, const struct path *root);
fs/pnode.h
60
const struct path *root);
fs/proc/base.c
1780
static int proc_exe_link(struct dentry *dentry, struct path *exe_path)
fs/proc/base.c
1803
struct path path;
fs/proc/base.c
1813
error = PROC_I(inode)->op.proc_get_link(dentry, &path);
fs/proc/base.c
1817
error = nd_jump_link(&path);
fs/proc/base.c
1822
static int do_proc_readlink(const struct path *path, char __user *buffer, int buflen)
fs/proc/base.c
1831
pathname = d_path(path, tmp, PATH_MAX);
fs/proc/base.c
1850
struct path path;
fs/proc/base.c
1856
error = PROC_I(inode)->op.proc_get_link(dentry, &path);
fs/proc/base.c
1860
error = do_proc_readlink(&path, buffer, buflen);
fs/proc/base.c
1861
path_put(&path);
fs/proc/base.c
2018
int pid_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/proc/base.c
2021
struct inode *inode = d_inode(path->dentry);
fs/proc/base.c
208
static int get_task_root(struct task_struct *task, struct path *root)
fs/proc/base.c
221
static int proc_cwd_link(struct dentry *dentry, struct path *path)
fs/proc/base.c
2253
static int map_files_get_link(struct dentry *dentry, struct path *path)
fs/proc/base.c
2282
*path = *file_user_path(vma->vm_file);
fs/proc/base.c
2283
path_get(path);
fs/proc/base.c
229
get_fs_pwd(task->fs, path);
fs/proc/base.c
238
static int proc_root_link(struct dentry *dentry, struct path *path)
fs/proc/base.c
244
result = get_task_root(task, path);
fs/proc/base.c
3959
const struct path *path, struct kstat *stat,
fs/proc/base.c
3962
struct inode *inode = d_inode(path->dentry);
fs/proc/fd.c
174
static int proc_fd_link(struct dentry *dentry, struct path *path)
fs/proc/fd.c
186
*path = fd_file->f_path;
fs/proc/fd.c
351
const struct path *path, struct kstat *stat,
fs/proc/fd.c
354
struct inode *inode = d_inode(path->dentry);
fs/proc/generic.c
137
const struct path *path, struct kstat *stat,
fs/proc/generic.c
140
struct inode *inode = d_inode(path->dentry);
fs/proc/internal.h
110
int (*proc_get_link)(struct dentry *, struct path *);
fs/proc/internal.h
258
extern int pid_getattr(struct mnt_idmap *, const struct path *,
fs/proc/namespaces.c
48
struct path ns_path;
fs/proc/proc_net.c
304
const struct path *path, struct kstat *stat,
fs/proc/proc_net.c
307
struct inode *inode = d_inode(path->dentry);
fs/proc/proc_sysctl.c
1091
static int sysctl_err(const char *path, const struct ctl_table *table, char *fmt, ...)
fs/proc/proc_sysctl.c
1101
path, table->procname, &vaf);
fs/proc/proc_sysctl.c
1107
static int sysctl_check_table_array(const char *path, const struct ctl_table *table)
fs/proc/proc_sysctl.c
1115
err |= sysctl_err(path, table, "array not allowed");
fs/proc/proc_sysctl.c
1120
err |= sysctl_err(path, table, "array not allowed");
fs/proc/proc_sysctl.c
1125
err |= sysctl_err(path, table,
fs/proc/proc_sysctl.c
1131
err |= sysctl_err(path, table,
fs/proc/proc_sysctl.c
1138
err |= sysctl_err(path, table, "array not allowed");
fs/proc/proc_sysctl.c
1144
static int sysctl_check_table(const char *path, struct ctl_table_header *header)
fs/proc/proc_sysctl.c
1150
err |= sysctl_err(path, entry, "procname is null");
fs/proc/proc_sysctl.c
1164
err |= sysctl_err(path, entry, "No data");
fs/proc/proc_sysctl.c
1166
err |= sysctl_err(path, entry, "No maxlen");
fs/proc/proc_sysctl.c
1168
err |= sysctl_check_table_array(path, entry);
fs/proc/proc_sysctl.c
1171
err |= sysctl_err(path, entry, "No proc_handler");
fs/proc/proc_sysctl.c
1174
err |= sysctl_err(path, entry, "bogus .mode 0%o",
fs/proc/proc_sysctl.c
1299
static struct ctl_dir *sysctl_mkdir_p(struct ctl_dir *dir, const char *path)
fs/proc/proc_sysctl.c
1303
for (name = path; name; name = nextname) {
fs/proc/proc_sysctl.c
1372
const char *path, const struct ctl_table *table, size_t table_size)
fs/proc/proc_sysctl.c
1386
if (sysctl_check_table(path, header))
fs/proc/proc_sysctl.c
1395
dir = sysctl_mkdir_p(dir, path);
fs/proc/proc_sysctl.c
1433
struct ctl_table_header *register_sysctl_sz(const char *path, const struct ctl_table *table,
fs/proc/proc_sysctl.c
1437
path, table, table_size);
fs/proc/proc_sysctl.c
1462
void __init __register_sysctl_init(const char *path, const struct ctl_table *table,
fs/proc/proc_sysctl.c
1465
struct ctl_table_header *hdr = register_sysctl_sz(path, table, table_size);
fs/proc/proc_sysctl.c
1468
pr_err("failed when register_sysctl_sz %s to %s\n", table_name, path);
fs/proc/proc_sysctl.c
1618
char *path;
fs/proc/proc_sysctl.c
1668
path = kasprintf(GFP_KERNEL, "sys/%s", param);
fs/proc/proc_sysctl.c
1669
if (!path)
fs/proc/proc_sysctl.c
1671
strreplace(path, '.', '/');
fs/proc/proc_sysctl.c
1673
file = file_open_root_mnt(*proc_mnt, path, O_WRONLY, 0);
fs/proc/proc_sysctl.c
1698
wret, len, path, param, val);
fs/proc/proc_sysctl.c
1706
kfree(path);
fs/proc/proc_sysctl.c
49
struct ctl_table_header *register_sysctl_mount_point(const char *path)
fs/proc/proc_sysctl.c
51
return register_sysctl_sz(path, sysctl_mount_point, 0);
fs/proc/proc_sysctl.c
839
const struct path *path, struct kstat *stat,
fs/proc/proc_sysctl.c
842
struct inode *inode = d_inode(path->dentry);
fs/proc/root.c
394
const struct path *path, struct kstat *stat,
fs/proc/root.c
397
generic_fillattr(&nop_mnt_idmap, request_mask, d_inode(path->dentry),
fs/proc/task_mmu.c
382
const struct path **path,
fs/proc/task_mmu.c
389
*path = NULL;
fs/proc/task_mmu.c
405
*path = file_user_path(vma->vm_file);
fs/proc/task_mmu.c
465
const struct path *path;
fs/proc/task_mmu.c
485
get_vma_name(vma, &path, &name, &name_fmt);
fs/proc/task_mmu.c
486
if (path) {
fs/proc/task_mmu.c
488
seq_path(m, path, "\n");
fs/proc/task_mmu.c
733
const struct path *path;
fs/proc/task_mmu.c
737
get_vma_name(vma, &path, &name, &name_fmt);
fs/proc/task_mmu.c
739
if (path || name_fmt || name) {
fs/proc/task_mmu.c
746
if (path) {
fs/proc/task_mmu.c
747
name = d_path(path, name_buf, name_buf_sz);
fs/proc_namespace.c
105
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
fs/proc_namespace.c
140
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
fs/proc_namespace.c
197
struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt };
fs/proc_namespace.c
240
struct path root;
fs/quota/dquot.c
2540
const struct path *path)
fs/quota/dquot.c
2542
int error = security_quota_on(path->dentry);
fs/quota/dquot.c
2546
if (path->dentry->d_sb != sb)
fs/quota/dquot.c
2549
error = dquot_load_quota_inode(d_inode(path->dentry), type,
fs/quota/quota.c
768
void __user *addr, const struct path *path)
fs/quota/quota.c
788
return quota_quotaon(sb, type, id, path);
fs/quota/quota.c
87
const struct path *path)
fs/quota/quota.c
922
struct path path, *pathp = NULL;
fs/quota/quota.c
93
if (IS_ERR(path))
fs/quota/quota.c
94
return PTR_ERR(path);
fs/quota/quota.c
948
ret = user_path_at(AT_FDCWD, addr, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &path);
fs/quota/quota.c
95
return sb->s_qcop->quota_on(sb, type, id, path);
fs/quota/quota.c
952
pathp = &path;
fs/seq_file.c
471
int seq_path(struct seq_file *m, const struct path *path, const char *esc)
fs/seq_file.c
478
char *p = d_path(path, buf, size);
fs/seq_file.c
508
int seq_path_root(struct seq_file *m, const struct path *path,
fs/seq_file.c
509
const struct path *root, const char *esc)
fs/seq_file.c
518
p = __d_path(path, root, buf, size);
fs/smb/client/cached_dir.c
114
const char *path)
fs/smb/client/cached_dir.c
118
if (!*path)
fs/smb/client/cached_dir.c
119
return path;
fs/smb/client/cached_dir.c
124
if (unlikely(len > strlen(path)))
fs/smb/client/cached_dir.c
127
return path + len;
fs/smb/client/cached_dir.c
135
const char *path,
fs/smb/client/cached_dir.c
15
static struct cached_fid *init_cached_dir(const char *path);
fs/smb/client/cached_dir.c
181
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/cached_dir.c
186
cfid = find_or_create_cached_dir(cfids, path, lookup_only, tcon->max_cached_dirs);
fs/smb/client/cached_dir.c
215
npath = path_no_prefix(cifs_sb, path);
fs/smb/client/cached_dir.c
27
const char *path,
fs/smb/client/cached_dir.c
275
.path = path,
fs/smb/client/cached_dir.c
34
if (!strcmp(cfid->path, path)) {
fs/smb/client/cached_dir.c
52
cfid = init_cached_dir(path);
fs/smb/client/cached_dir.c
697
static struct cached_fid *init_cached_dir(const char *path)
fs/smb/client/cached_dir.c
704
cfid->path = kstrdup(path, GFP_ATOMIC);
fs/smb/client/cached_dir.c
705
if (!cfid->path) {
fs/smb/client/cached_dir.c
75
path_to_dentry(struct cifs_sb_info *cifs_sb, const char *path)
fs/smb/client/cached_dir.c
753
kfree(cfid->path);
fs/smb/client/cached_dir.c
754
cfid->path = NULL;
fs/smb/client/cached_dir.c
83
s = path;
fs/smb/client/cached_dir.h
38
const char *path;
fs/smb/client/cached_dir.h
84
int open_cached_dir(unsigned int xid, struct cifs_tcon *tcon, const char *path,
fs/smb/client/cifs_debug.c
338
seq_printf(m, "%s", cfid->path);
fs/smb/client/cifsacl.c
1438
const char *path, u32 *pacllen, u32 info)
fs/smb/client/cifsacl.c
1461
.path = path,
fs/smb/client/cifsacl.c
1485
struct inode *inode, const char *path,
fs/smb/client/cifsacl.c
1494
return get_cifs_acl_by_path(cifs_sb, path, pacllen, info);
fs/smb/client/cifsacl.c
1503
struct inode *inode, const char *path, int aclflag)
fs/smb/client/cifsacl.c
1533
.path = path,
fs/smb/client/cifsacl.c
1558
const char *path, const struct cifs_fid *pfid)
fs/smb/client/cifsacl.c
1567
cifs_dbg(NOISY, "converting ACL to mode for %s\n", path);
fs/smb/client/cifsacl.c
1577
pntsd = ops->get_acl(cifs_sb, inode, path, &acllen, info);
fs/smb/client/cifsacl.c
1604
id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 *pnmode,
fs/smb/client/cifsacl.c
1630
cifs_dbg(NOISY, "set ACL from mode for %s\n", path);
fs/smb/client/cifsacl.c
1639
pntsd = ops->get_acl(cifs_sb, inode, path, &secdesclen, info);
fs/smb/client/cifsacl.c
1697
rc = ops->set_acl(pnntsd, nsecdesclen, inode, path, aclflag);
fs/smb/client/cifsfs.h
117
struct vfsmount *cifs_d_automount(struct path *path);
fs/smb/client/cifsfs.h
75
int cifs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/smb/client/cifsglob.h
1406
const char *path;
fs/smb/client/cifsglob.h
1640
convert_delimiter(char *path, char delim)
fs/smb/client/cifsglob.h
1649
pos = path;
fs/smb/client/cifsglob.h
2246
.path = _path, \
fs/smb/client/cifsglob.h
581
int (*set_acl)(struct smb_ntsd *pntsd, __u32 len, struct inode *ino, const char *path,
fs/smb/client/cifsglob.h
610
__le16 *path, int is_dir,
fs/smb/client/cifsproto.h
205
const char *path, const struct cifs_fid *pfid);
fs/smb/client/cifsproto.h
206
int id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 *pnmode,
fs/smb/client/cifsproto.h
209
struct inode *inode, const char *path,
fs/smb/client/cifsproto.h
219
const char *path, int aclflag);
fs/smb/client/cifsproto.h
271
const char *path);
fs/smb/client/cifsproto.h
323
const unsigned char *path);
fs/smb/client/cifsproto.h
341
const unsigned char *path, char *pbuf,
fs/smb/client/cifsproto.h
345
const unsigned char *path, char *pbuf,
fs/smb/client/cifssmb.c
1355
const char *path = oparms->path;
fs/smb/client/cifssmb.c
1372
path, PATH_MAX, nls, remap);
fs/smb/client/cifssmb.c
1381
name_len = copy_path_name(req->fileName, path);
fs/smb/client/cifssmb.c
2987
.path = full_path,
fs/smb/client/cifssmb.c
5848
.path = fileName,
fs/smb/client/dfs.c
28
char *path;
fs/smb/client/dfs.c
43
path = cifs_build_devname(ref->node_name, prepath);
fs/smb/client/dfs.c
44
if (IS_ERR(path))
fs/smb/client/dfs.c
45
return PTR_ERR(path);
fs/smb/client/dfs.c
47
rc = smb3_parse_devname(path, ctx);
fs/smb/client/dfs.c
51
rc = dns_resolve_unc(DFS_DOM(ctx), path,
fs/smb/client/dfs.c
54
kfree(path);
fs/smb/client/dfs.h
150
dfs_cache_noreq_update_tgthint(ref->path + 1, ref->tit);
fs/smb/client/dfs.h
159
static inline char *dfs_get_path(struct cifs_sb_info *cifs_sb, const char *path)
fs/smb/client/dfs.h
161
return dfs_cache_canonical_path(path, cifs_sb->local_nls, cifs_remap(cifs_sb));
fs/smb/client/dfs.h
165
const char *path,
fs/smb/client/dfs.h
173
cifs_remap(cifs_sb), path, NULL, tl);
fs/smb/client/dfs.h
194
const char *path = ses->server->leaf_fullpath;
fs/smb/client/dfs.h
196
return path ? path + 1 : ERR_PTR(-ENOENT);
fs/smb/client/dfs.h
21
char *path;
fs/smb/client/dfs.h
40
#define ref_walk_path(w) (ref_walk_cur(w)->path)
fs/smb/client/dfs.h
65
kfree(ref->path);
fs/smb/client/dfs_cache.c
100
npath = kstrdup(path, GFP_KERNEL);
fs/smb/client/dfs_cache.c
1001
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
1009
rc = setup_referral(path, ce, ref, it->it_name);
fs/smb/client/dfs_cache.c
1050
int dfs_cache_get_tgt_share(char *path, const struct dfs_cache_tgt_iterator *it, char **share,
fs/smb/client/dfs_cache.c
1060
if (!it || !path || !share || !prefix || strlen(path) < it->it_path_consumed)
fs/smb/client/dfs_cache.c
1072
dfsref_ppath = path + it->it_path_consumed;
fs/smb/client/dfs_cache.c
1183
const char *path;
fs/smb/client/dfs_cache.c
1188
path = dfs_ses_refpath(ses);
fs/smb/client/dfs_cache.c
1189
if (IS_ERR(path)) {
fs/smb/client/dfs_cache.c
1190
rc = PTR_ERR(path);
fs/smb/client/dfs_cache.c
1201
ce = cache_refresh_path(xid, ses, path, false);
fs/smb/client/dfs_cache.c
1212
const char *path,
fs/smb/client/dfs_cache.c
1235
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
1259
const char *path;
fs/smb/client/dfs_cache.c
1267
path = dfs_ses_refpath(ses);
fs/smb/client/dfs_cache.c
1268
if (IS_ERR(path)) {
fs/smb/client/dfs_cache.c
1269
rc = PTR_ERR(path);
fs/smb/client/dfs_cache.c
1274
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
1289
rc = get_dfs_referral(xid, ses, path, &refs, &numrefs);
fs/smb/client/dfs_cache.c
129
cifs_dbg(FYI, "%s: %s\n", __func__, ce->path);
fs/smb/client/dfs_cache.c
1291
rc = __refresh_tcon_referral(tcon, path, refs,
fs/smb/client/dfs_cache.c
131
kfree(ce->path);
fs/smb/client/dfs_cache.c
174
ce->path, ce->srvtype == DFS_TYPE_ROOT ? "root" : "link",
fs/smb/client/dfs_cache.c
241
ce->path,
fs/smb/client/dfs_cache.c
40
const char *path;
fs/smb/client/dfs_cache.c
430
ce->path = refs[0].path_name;
fs/smb/client/dfs_cache.c
438
kfree(ce->path);
fs/smb/client/dfs_cache.c
533
static struct cache_entry *__lookup_cache_entry(const char *path, unsigned int hash, int len)
fs/smb/client/dfs_cache.c
538
if (dfs_path_equal(ce->path, strlen(ce->path), path, len)) {
fs/smb/client/dfs_cache.c
555
static struct cache_entry *lookup_cache_entry(const char *path)
fs/smb/client/dfs_cache.c
559
const char *s = path, *e;
fs/smb/client/dfs_cache.c
568
rc = cache_entry_hash(path, strlen(path), &hash);
fs/smb/client/dfs_cache.c
571
return __lookup_cache_entry(path, hash, strlen(path));
fs/smb/client/dfs_cache.c
579
e = path + strlen(path) - 1;
fs/smb/client/dfs_cache.c
589
len = e + 1 - path;
fs/smb/client/dfs_cache.c
590
rc = cache_entry_hash(path, len, &hash);
fs/smb/client/dfs_cache.c
593
ce = __lookup_cache_entry(path, hash, len);
fs/smb/client/dfs_cache.c
644
static int get_dfs_referral(const unsigned int xid, struct cifs_ses *ses, const char *path,
fs/smb/client/dfs_cache.c
658
cifs_dbg(FYI, "%s: ipc=%s referral=%s\n", __func__, ses->tcon_ipc->tree_name, path);
fs/smb/client/dfs_cache.c
659
rc = ses->server->ops->get_dfs_refer(xid, ses, path, refs, numrefs, cache_cp,
fs/smb/client/dfs_cache.c
683
const char *path,
fs/smb/client/dfs_cache.c
691
cifs_dbg(FYI, "%s: search path: %s\n", __func__, path);
fs/smb/client/dfs_cache.c
695
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
717
rc = get_dfs_referral(xid, ses, path, &refs, &numrefs);
fs/smb/client/dfs_cache.c
727
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
754
static int setup_referral(const char *path, struct cache_entry *ce,
fs/smb/client/dfs_cache.c
76
char *dfs_cache_canonical_path(const char *path, const struct nls_table *cp, int remap)
fs/smb/client/dfs_cache.c
763
ref->path_name = kstrdup(path, GFP_ATOMIC);
fs/smb/client/dfs_cache.c
82
if (!path || strlen(path) < 3 || (*path != '\\' && *path != '/'))
fs/smb/client/dfs_cache.c
855
int remap, const char *path, struct dfs_info3_param *ref,
fs/smb/client/dfs_cache.c
86
tmp = (char *)cifs_strndup_to_utf16(path, strlen(path), &plen, cp, remap);
fs/smb/client/dfs_cache.c
862
npath = dfs_cache_canonical_path(path, cp, remap);
fs/smb/client/dfs_cache.c
873
rc = setup_referral(path, ce, ref, get_tgt_name(ce));
fs/smb/client/dfs_cache.c
902
int dfs_cache_noreq_find(const char *path, struct dfs_info3_param *ref,
fs/smb/client/dfs_cache.c
908
cifs_dbg(FYI, "%s: path: %s\n", __func__, path);
fs/smb/client/dfs_cache.c
912
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
919
rc = setup_referral(path, ce, ref, get_tgt_name(ce));
fs/smb/client/dfs_cache.c
944
void dfs_cache_noreq_update_tgthint(const char *path, const struct dfs_cache_tgt_iterator *it)
fs/smb/client/dfs_cache.c
949
if (!path || !it)
fs/smb/client/dfs_cache.c
952
cifs_dbg(FYI, "%s: path: %s\n", __func__, path);
fs/smb/client/dfs_cache.c
956
ce = lookup_cache_entry(path);
fs/smb/client/dfs_cache.c
988
int dfs_cache_get_tgt_referral(const char *path, const struct dfs_cache_tgt_iterator *it,
fs/smb/client/dfs_cache.c
997
cifs_dbg(FYI, "%s: path: %s\n", __func__, path);
fs/smb/client/dfs_cache.h
41
const struct nls_table *cp, int remap, const char *path,
fs/smb/client/dfs_cache.h
44
int dfs_cache_noreq_find(const char *path, struct dfs_info3_param *ref,
fs/smb/client/dfs_cache.h
46
void dfs_cache_noreq_update_tgthint(const char *path,
fs/smb/client/dfs_cache.h
48
int dfs_cache_get_tgt_referral(const char *path,
fs/smb/client/dfs_cache.h
51
int dfs_cache_get_tgt_share(char *path,
fs/smb/client/dfs_cache.h
54
char *dfs_cache_canonical_path(const char *path, const struct nls_table *cp,
fs/smb/client/dir.c
348
.path = full_path,
fs/smb/client/file.c
1319
.path = full_path,
fs/smb/client/file.c
597
.path = full_path,
fs/smb/client/inode.c
1657
char *path = NULL;
fs/smb/client/inode.c
1664
path = kzalloc(len + 2 /* leading sep + null */, GFP_KERNEL);
fs/smb/client/inode.c
1665
if (path == NULL)
fs/smb/client/inode.c
1667
path[0] = '/';
fs/smb/client/inode.c
1668
memcpy(path+1, cifs_sb->prepath, len);
fs/smb/client/inode.c
1670
path = kstrdup("", GFP_KERNEL);
fs/smb/client/inode.c
1671
if (path == NULL)
fs/smb/client/inode.c
1677
rc = cifs_get_unix_fattr(path, sb, &fattr, &inode, xid);
fs/smb/client/inode.c
1685
convert_delimiter(path, CIFS_DIR_SEP(cifs_sb));
fs/smb/client/inode.c
1687
rc = smb311_posix_get_fattr(NULL, &fattr, path, sb, xid);
fs/smb/client/inode.c
1689
rc = cifs_get_fattr(NULL, sb, xid, NULL, &fattr, &inode, path);
fs/smb/client/inode.c
1706
cifs_mark_open_handles_for_deleted_file(inode, path);
fs/smb/client/inode.c
1724
kfree(path);
fs/smb/client/inode.c
1823
.path = full_path,
fs/smb/client/inode.c
2474
.path = from_path,
fs/smb/client/inode.c
2892
int cifs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/smb/client/inode.c
2895
struct cifs_sb_info *cifs_sb = CIFS_SB(path->dentry);
fs/smb/client/inode.c
2897
struct dentry *dentry = path->dentry;
fs/smb/client/inode.c
518
cifs_sfu_type(struct cifs_fattr *fattr, const char *path,
fs/smb/client/inode.c
561
.path = path,
fs/smb/client/inode.c
571
cifs_dbg(FYI, "check sfu type of %s, open rc = %d\n", path, rc);
fs/smb/client/inode.c
704
static int cifs_sfu_mode(struct cifs_fattr *fattr, const unsigned char *path,
fs/smb/client/inode.c
724
rc = tcon->ses->server->ops->query_all_EAs(xid, tcon, path,
fs/smb/client/inode.c
975
const unsigned char *path;
fs/smb/client/inode.c
992
path = build_path_from_dentry(dentry, page);
fs/smb/client/inode.c
993
if (IS_ERR(path)) {
fs/smb/client/inode.c
994
rc = PTR_ERR(path);
fs/smb/client/inode.c
999
cifs_mark_open_handles_for_deleted_file(inode, path);
fs/smb/client/ioctl.c
32
const unsigned char *path;
fs/smb/client/ioctl.c
37
path = build_path_from_dentry(dentry, page);
fs/smb/client/ioctl.c
38
if (IS_ERR(path)) {
fs/smb/client/ioctl.c
40
return PTR_ERR(path);
fs/smb/client/ioctl.c
43
cifs_dbg(FYI, "%s %s\n", __func__, path);
fs/smb/client/ioctl.c
45
if (!path[0]) {
fs/smb/client/ioctl.c
49
utf16_path = cifs_convert_path_to_utf16(path + 1, cifs_sb);
fs/smb/client/link.c
172
const unsigned char *path)
fs/smb/client/link.c
190
cifs_sb, path, buf, &bytes_read);
fs/smb/client/link.c
228
struct cifs_sb_info *cifs_sb, const unsigned char *path,
fs/smb/client/link.c
245
.path = path,
fs/smb/client/link.c
273
struct cifs_sb_info *cifs_sb, const unsigned char *path,
fs/smb/client/link.c
288
.path = path,
fs/smb/client/link.c
313
struct cifs_sb_info *cifs_sb, const unsigned char *path,
fs/smb/client/link.c
328
.path = path,
fs/smb/client/link.c
335
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/link.c
376
struct cifs_sb_info *cifs_sb, const unsigned char *path,
fs/smb/client/link.c
387
cifs_dbg(FYI, "%s: path: %s\n", __func__, path);
fs/smb/client/link.c
389
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/link.c
396
.path = path,
fs/smb/client/misc.c
1023
char *path;
fs/smb/client/misc.c
1049
path = kmalloc(len, GFP_KERNEL);
fs/smb/client/misc.c
1050
if (!path)
fs/smb/client/misc.c
1053
scnprintf(path, len, "%s%s", tcon->tree_name, full_path);
fs/smb/client/misc.c
1054
ref_path = dfs_cache_canonical_path(path + 1, cifs_sb->local_nls,
fs/smb/client/misc.c
1056
kfree(path);
fs/smb/client/misc.c
636
const char *path)
fs/smb/client/misc.c
654
if (!IS_ERR(full_path) && strcmp(full_path, path) == 0)
fs/smb/client/namespace.c
192
static struct vfsmount *cifs_do_automount(struct path *path)
fs/smb/client/namespace.c
195
struct dentry *mntpt = path->dentry;
fs/smb/client/namespace.c
225
fc = fs_context_for_submount(path->mnt->mnt_sb->s_type, mntpt);
fs/smb/client/namespace.c
277
struct vfsmount *cifs_d_automount(struct path *path)
fs/smb/client/namespace.c
281
cifs_dbg(FYI, "%s: %pd\n", __func__, path->dentry);
fs/smb/client/namespace.c
283
newmnt = cifs_do_automount(path);
fs/smb/client/reparse.c
171
path = cifs_convert_path_to_utf16(sym, cifs_sb);
fs/smb/client/reparse.c
172
if (!path) {
fs/smb/client/reparse.c
181
path[0] = cpu_to_le16('\\');
fs/smb/client/reparse.c
182
path[1] = path[2] = cpu_to_le16('?');
fs/smb/client/reparse.c
183
path[5] = cpu_to_le16(':');
fs/smb/client/reparse.c
198
slen = 2 * UniStrnlen((wchar_t *)path, REPARSE_SYM_PATH_MAX);
fs/smb/client/reparse.c
221
memcpy(&buf->PathBuffer[plen], path, slen);
fs/smb/client/reparse.c
225
memcpy(buf->PathBuffer, path+poff, plen);
fs/smb/client/reparse.c
241
kfree(path);
fs/smb/client/reparse.c
65
__le16 *path = NULL;
fs/smb/client/smb1ops.c
1032
.path = full_path,
fs/smb/client/smb1ops.c
1123
const char *path, struct cifs_sb_info *cifs_sb,
fs/smb/client/smb1ops.c
1129
rc = CIFSFindFirst(xid, tcon, path, cifs_sb,
fs/smb/client/smb1ops.c
1165
const char *path, struct cifs_sb_info *cifs_sb, struct kstatfs *buf)
fs/smb/client/smb1ops.c
883
rc = SMBLegacyOpen(xid, oparms->tcon, oparms->path,
fs/smb/client/smb1pdu.h
2335
char path[1024];
fs/smb/client/smb2file.c
113
const char *full_path, char **path)
fs/smb/client/smb2file.c
119
if (!cifs_sb || !iov || !iov->iov_base || !iov->iov_len || !path)
fs/smb/client/smb2file.c
135
return smb2_parse_native_symlink(path,
fs/smb/client/smb2file.c
158
smb2_path = cifs_convert_path_to_utf16(oparms->path, oparms->cifs_sb);
fs/smb/client/smb2file.c
195
oparms->path,
fs/smb/client/smb2ops.c
1122
const unsigned char *path, const unsigned char *ea_name,
fs/smb/client/smb2ops.c
1132
rc = smb2_query_info_compound(xid, tcon, path,
fs/smb/client/smb2ops.c
1171
const char *path, const char *ea_name, const void *ea_value,
fs/smb/client/smb2ops.c
1208
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
1224
rc = ses->server->ops->query_all_EAs(xid, tcon, path,
fs/smb/client/smb2ops.c
1235
rc = smb2_query_info_compound(xid, tcon, path,
fs/smb/client/smb2ops.c
1270
.path = path,
fs/smb/client/smb2ops.c
1569
__le16 *path, int is_dir,
fs/smb/client/smb2ops.c
1669
&rqst[0], &oplock, &oparms, path);
fs/smb/client/smb2ops.c
2364
const unsigned char *path;
fs/smb/client/smb2ops.c
2372
path = build_path_from_dentry(dentry, page);
fs/smb/client/smb2ops.c
2373
if (IS_ERR(path)) {
fs/smb/client/smb2ops.c
2374
rc = PTR_ERR(path);
fs/smb/client/smb2ops.c
2378
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
2400
.path = path,
fs/smb/client/smb2ops.c
2418
cifs_dbg(FYI, "change notify for path %s rc %d\n", path, rc);
fs/smb/client/smb2ops.c
2437
const char *path, struct cifs_sb_info *cifs_sb,
fs/smb/client/smb2ops.c
2461
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
2479
.path = path,
fs/smb/client/smb2ops.c
2813
const char *path, u32 desired_access,
fs/smb/client/smb2ops.c
2840
if (!path)
fs/smb/client/smb2ops.c
2841
path = "";
fs/smb/client/smb2ops.c
2842
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
2861
if (!strcmp(path, ""))
fs/smb/client/smb2ops.c
2862
open_cached_dir(xid, tcon, path, cifs_sb, false,
fs/smb/client/smb2ops.c
2870
.path = path,
fs/smb/client/smb2ops.c
2973
const char *path, struct cifs_sb_info *cifs_sb, struct kstatfs *buf)
fs/smb/client/smb2ops.c
2982
rc = smb2_query_info_compound(xid, tcon, path,
fs/smb/client/smb2ops.c
3010
const char *path, struct cifs_sb_info *cifs_sb, struct kstatfs *buf)
fs/smb/client/smb2ops.c
3019
return smb2_queryfs(xid, tcon, path, cifs_sb, buf);
fs/smb/client/smb2ops.c
3023
.path = path,
fs/smb/client/smb2ops.c
3030
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
3221
const char *path, u32 *pacllen, u32 info)
fs/smb/client/smb2ops.c
3233
cifs_dbg(FYI, "get smb3 acl for path %s\n", path);
fs/smb/client/smb2ops.c
3240
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
3248
.path = path,
fs/smb/client/smb2ops.c
3287
struct inode *inode, const char *path, int aclflag)
fs/smb/client/smb2ops.c
3299
cifs_dbg(FYI, "set smb3 acl for path %s\n", path);
fs/smb/client/smb2ops.c
3313
utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
fs/smb/client/smb2ops.c
3324
.path = path,
fs/smb/client/smb2ops.c
3346
struct inode *inode, const char *path,
fs/smb/client/smb2ops.c
3355
return get_smb2_acl_by_path(cifs_sb, path, pacllen, info);
fs/smb/client/smb2ops.c
884
.path = "",
fs/smb/client/smb2ops.c
928
.path = "",
fs/smb/client/smb2ops.c
973
.path = full_path,
fs/smb/client/smb2pdu.c
2836
const char *treename, const __le16 *path)
fs/smb/client/smb2pdu.c
2852
path_len = UniStrnlen((wchar_t *)path, PATH_MAX);
fs/smb/client/smb2pdu.c
2855
*out_len = treename_len + (path[0] ? 1 : 0) + path_len;
fs/smb/client/smb2pdu.c
2870
if (path[0] != cpu_to_le16(0x0000)) {
fs/smb/client/smb2pdu.c
2872
UniStrcat((wchar_t *)*out_path, (wchar_t *)path);
fs/smb/client/smb2pdu.c
3071
struct cifs_open_parms *oparms, __le16 *path)
fs/smb/client/smb2pdu.c
3121
tcon->tree_name, path);
fs/smb/client/smb2pdu.c
3126
path = copy_path;
fs/smb/client/smb2pdu.c
3128
uni_path_len = (2 * UniStrnlen((wchar_t *)path, PATH_MAX)) + 2;
fs/smb/client/smb2pdu.c
3135
memcpy((char *)copy_path, (const char *)path,
fs/smb/client/smb2pdu.c
3138
path = copy_path;
fs/smb/client/smb2pdu.c
3142
iov[1].iov_base = path;
fs/smb/client/smb2pdu.c
3251
SMB2_open(const unsigned int xid, struct cifs_open_parms *oparms, __le16 *path,
fs/smb/client/smb2pdu.c
3287
&rqst, oplock, oparms, path);
fs/smb/client/smb2pdu.c
3291
trace_smb3_open_enter(xid, tcon->tid, tcon->ses->Suid, oparms->path,
fs/smb/client/smb2proto.h
104
char **path);
fs/smb/client/smb2proto.h
134
__le16 *path, __u8 *oplock, struct smb2_file_all_info *buf,
fs/smb/client/smb2proto.h
139
struct cifs_open_parms *oparms, __le16 *path);
fs/smb/client/smb2proto.h
260
const char *path, u32 desired_access, u32 class,
fs/smb/client/smb2proto.h
91
const unsigned char *path, char *pbuf,
fs/smb/client/smb2proto.h
95
const unsigned char *path, char *pbuf,
fs/smb/client/trace.h
1155
__string(path, full_path)
fs/smb/client/trace.h
1163
__assign_str(path);
fs/smb/client/trace.h
1168
__entry->xid, __entry->sesid, __entry->tid, __get_str(path),
fs/smb/client/trace.h
781
__string(path, full_path)
fs/smb/client/trace.h
787
__assign_str(path);
fs/smb/client/trace.h
791
__get_str(path))
fs/smb/server/mgmt/share_config.c
168
share->path = kstrndup(ksmbd_share_config_path(resp), path_len,
fs/smb/server/mgmt/share_config.c
170
if (share->path) {
fs/smb/server/mgmt/share_config.c
171
share->path_sz = strlen(share->path);
fs/smb/server/mgmt/share_config.c
173
share->path[share->path_sz - 1] == '/')
fs/smb/server/mgmt/share_config.c
174
share->path[--share->path_sz] = '\0';
fs/smb/server/mgmt/share_config.c
185
if (!ret && share->path) {
fs/smb/server/mgmt/share_config.c
192
ret = kern_path(share->path, 0, &share->vfs_path);
fs/smb/server/mgmt/share_config.c
196
share->path);
fs/smb/server/mgmt/share_config.c
198
kfree(share->path);
fs/smb/server/mgmt/share_config.c
199
share->path = NULL;
fs/smb/server/mgmt/share_config.c
49
if (share->path)
fs/smb/server/mgmt/share_config.c
52
kfree(share->path);
fs/smb/server/mgmt/share_config.h
18
char *path;
fs/smb/server/mgmt/share_config.h
24
struct path vfs_path;
fs/smb/server/misc.c
163
const struct path *path)
fs/smb/server/misc.c
174
ab_pathname = d_path(path, pathname, PATH_MAX);
fs/smb/server/misc.c
180
if (strncmp(ab_pathname, share->path, share_path_len)) {
fs/smb/server/misc.c
216
void ksmbd_conv_path_to_unix(char *path)
fs/smb/server/misc.c
218
strreplace(path, '\\', '/');
fs/smb/server/misc.c
221
void ksmbd_strip_last_slash(char *path)
fs/smb/server/misc.c
223
int len = strlen(path);
fs/smb/server/misc.c
225
while (len && path[len - 1] == '/') {
fs/smb/server/misc.c
226
path[len - 1] = '\0';
fs/smb/server/misc.c
231
void ksmbd_conv_path_to_windows(char *path)
fs/smb/server/misc.c
233
strreplace(path, '/', '\\');
fs/smb/server/misc.c
307
memcpy(new_name, share->path, path_len);
fs/smb/server/misc.h
21
const struct path *path);
fs/smb/server/misc.h
23
void ksmbd_conv_path_to_unix(char *path);
fs/smb/server/misc.h
24
void ksmbd_strip_last_slash(char *path);
fs/smb/server/misc.h
25
void ksmbd_conv_path_to_windows(char *path);
fs/smb/server/smb2pdu.c
2383
const struct path *path, bool get_write)
fs/smb/server/smb2pdu.c
2385
struct mnt_idmap *idmap = mnt_idmap(path->mnt);
fs/smb/server/smb2pdu.c
2422
path->dentry,
fs/smb/server/smb2pdu.c
2430
path,
fs/smb/server/smb2pdu.c
2445
rc = ksmbd_vfs_setxattr(idmap, path, attr_name, value,
fs/smb/server/smb2pdu.c
2478
static noinline int smb2_set_stream_name_xattr(const struct path *path,
fs/smb/server/smb2pdu.c
2482
struct mnt_idmap *idmap = mnt_idmap(path->mnt);
fs/smb/server/smb2pdu.c
2499
path->dentry,
fs/smb/server/smb2pdu.c
2510
rc = ksmbd_vfs_setxattr(idmap, path, xattr_stream_name, NULL, 0, 0, false);
fs/smb/server/smb2pdu.c
2516
static int smb2_remove_smb_xattrs(const struct path *path)
fs/smb/server/smb2pdu.c
2518
struct mnt_idmap *idmap = mnt_idmap(path->mnt);
fs/smb/server/smb2pdu.c
2523
xattr_list_len = ksmbd_vfs_listxattr(path->dentry, &xattr_list);
fs/smb/server/smb2pdu.c
2538
err = ksmbd_vfs_remove_xattr(idmap, path,
fs/smb/server/smb2pdu.c
2550
static int smb2_create_truncate(const struct path *path)
fs/smb/server/smb2pdu.c
2552
int rc = vfs_truncate(path, 0);
fs/smb/server/smb2pdu.c
2559
rc = smb2_remove_smb_xattrs(path);
fs/smb/server/smb2pdu.c
2569
static void smb2_new_xattrs(struct ksmbd_tree_connect *tcon, const struct path *path,
fs/smb/server/smb2pdu.c
2585
rc = ksmbd_vfs_set_dos_attrib_xattr(mnt_idmap(path->mnt), path, &da, true);
fs/smb/server/smb2pdu.c
2591
const struct path *path, struct ksmbd_file *fp)
fs/smb/server/smb2pdu.c
2603
rc = ksmbd_vfs_get_dos_attrib_xattr(mnt_idmap(path->mnt),
fs/smb/server/smb2pdu.c
2604
path->dentry, &da);
fs/smb/server/smb2pdu.c
2613
struct path *path, char *name, int open_flags,
fs/smb/server/smb2pdu.c
2641
rc = ksmbd_vfs_kern_path(work, name, 0, path, 0);
fs/smb/server/smb2pdu.c
2652
const struct path *path)
fs/smb/server/smb2pdu.c
2674
return set_info_sec(work->conn, work->tcon, path, &sd_buf->ntsd,
fs/smb/server/smb2pdu.c
2896
struct path path;
fs/smb/server/smb2pdu.c
3155
&path, 1);
fs/smb/server/smb2pdu.c
3176
} else if (d_is_symlink(path.dentry)) {
fs/smb/server/smb2pdu.c
3181
idmap = mnt_idmap(path.mnt);
fs/smb/server/smb2pdu.c
3197
if (file_present && S_ISDIR(d_inode(path.dentry)->i_mode) &&
fs/smb/server/smb2pdu.c
3215
S_ISDIR(d_inode(path.dentry)->i_mode) &&
fs/smb/server/smb2pdu.c
3226
!S_ISDIR(d_inode(path.dentry)->i_mode)) {
fs/smb/server/smb2pdu.c
3241
rc = smb_check_perm_dacl(conn, &path, &daccess,
fs/smb/server/smb2pdu.c
3252
path.dentry,
fs/smb/server/smb2pdu.c
3263
file_present ? d_inode(path.dentry)->i_mode : 0);
fs/smb/server/smb2pdu.c
3276
rc = smb2_creat(work, &path, name, open_flags,
fs/smb/server/smb2pdu.c
3288
idmap = mnt_idmap(path.mnt);
fs/smb/server/smb2pdu.c
3298
&path, false);
fs/smb/server/smb2pdu.c
3311
d_inode(path.dentry),
fs/smb/server/smb2pdu.c
3319
d_inode(path.dentry->d_parent),
fs/smb/server/smb2pdu.c
3327
rc = ksmbd_query_inode_status(path.dentry->d_parent);
fs/smb/server/smb2pdu.c
3334
filp = dentry_open(&path, open_flags, current_cred());
fs/smb/server/smb2pdu.c
3380
struct inode *inode = d_inode(path.dentry);
fs/smb/server/smb2pdu.c
3383
&path,
fs/smb/server/smb2pdu.c
3384
d_inode(path.dentry->d_parent));
fs/smb/server/smb2pdu.c
3390
rc = smb_inherit_dacl(conn, &path, sess->user->uid,
fs/smb/server/smb2pdu.c
3395
rc = smb2_create_sd_buffer(work, req, &path);
fs/smb/server/smb2pdu.c
3399
&path);
fs/smb/server/smb2pdu.c
3443
&path,
fs/smb/server/smb2pdu.c
3458
rc = smb2_set_stream_name_xattr(&path,
fs/smb/server/smb2pdu.c
3487
path_put(&path);
fs/smb/server/smb2pdu.c
3596
rc = ksmbd_vfs_getattr(&path, &stat);
fs/smb/server/smb2pdu.c
3609
smb2_update_xattrs(tcon, &path, fp);
fs/smb/server/smb2pdu.c
3611
smb2_new_xattrs(tcon, &path, fp);
fs/smb/server/smb2pdu.c
3686
path.dentry,
fs/smb/server/smb2pdu.c
3767
path_put(&path);
fs/smb/server/smb2pdu.c
4701
const struct path *path;
fs/smb/server/smb2pdu.c
4710
path = &fp->filp->f_path;
fs/smb/server/smb2pdu.c
4734
rc = ksmbd_vfs_listxattr(path->dentry, &xattr_list);
fs/smb/server/smb2pdu.c
4784
value_len = ksmbd_vfs_getxattr(idmap, path->dentry,
fs/smb/server/smb2pdu.c
5053
const struct path *path = &fp->filp->f_path;
fs/smb/server/smb2pdu.c
5074
xattr_list_len = ksmbd_vfs_listxattr(path->dentry, &xattr_list);
fs/smb/server/smb2pdu.c
5498
struct path path;
fs/smb/server/smb2pdu.c
5501
if (!share->path)
fs/smb/server/smb2pdu.c
5504
rc = kern_path(share->path, LOOKUP_NO_SYMLINKS, &path);
fs/smb/server/smb2pdu.c
5510
rc = vfs_statfs(&path, &stfs);
fs/smb/server/smb2pdu.c
5512
pr_err("cannot do stat of path %s\n", share->path);
fs/smb/server/smb2pdu.c
5513
path_put(&path);
fs/smb/server/smb2pdu.c
5581
serial_crc = crc32_le(serial_crc, share->path,
fs/smb/server/smb2pdu.c
5582
strlen(share->path));
fs/smb/server/smb2pdu.c
5630
if (path.mnt->mnt_sb->s_uuid_len == 16)
fs/smb/server/smb2pdu.c
5631
memcpy(info->objid, path.mnt->mnt_sb->s_uuid.b,
fs/smb/server/smb2pdu.c
5632
path.mnt->mnt_sb->s_uuid_len);
fs/smb/server/smb2pdu.c
5648
min_t(unsigned int, path.mnt->mnt_sb->s_blocksize, 4096);
fs/smb/server/smb2pdu.c
5691
path_put(&path);
fs/smb/server/smb2pdu.c
5707
path_put(&path);
fs/smb/server/smb2pdu.c
5712
path_put(&path);
fs/smb/server/smb2pdu.c
6164
struct path path;
fs/smb/server/smb2pdu.c
6193
&path, 0);
fs/smb/server/smb2pdu.c
6199
rc = ksmbd_vfs_remove_file(work, &path);
fs/smb/server/smb2pdu.c
6209
ksmbd_vfs_kern_path_end_removing(&path);
fs/smb/server/smbacl.c
1066
const struct path *path,
fs/smb/server/smbacl.c
1074
struct dentry *parent = path->dentry->d_parent;
fs/smb/server/smbacl.c
1075
struct mnt_idmap *idmap = mnt_idmap(path->mnt);
fs/smb/server/smbacl.c
1082
bool is_dir = S_ISDIR(d_inode(path->dentry)->i_mode);
fs/smb/server/smbacl.c
1265
ksmbd_vfs_set_sd_xattr(conn, idmap, path, pntsd, pntsd_size, false);
fs/smb/server/smbacl.c
1289
int smb_check_perm_dacl(struct ksmbd_conn *conn, const struct path *path,
fs/smb/server/smbacl.c
1292
struct mnt_idmap *idmap = mnt_idmap(path->mnt);
fs/smb/server/smbacl.c
1311
path->dentry, &pntsd);
fs/smb/server/smbacl.c
1391
posix_acls = get_inode_acl(d_inode(path->dentry), ACL_TYPE_ACCESS);
fs/smb/server/smbacl.c
1456
const struct path *path, struct smb_ntsd *pntsd, int ntsd_len,
fs/smb/server/smbacl.c
1461
struct inode *inode = d_inode(path->dentry);
fs/smb/server/smbacl.c
1462
struct mnt_idmap *idmap = mnt_idmap(path->mnt);
fs/smb/server/smbacl.c
1485
ksmbd_vfs_remove_acl_xattrs(idmap, path);
fs/smb/server/smbacl.c
1488
rc = set_posix_acl(idmap, path->dentry,
fs/smb/server/smbacl.c
1495
rc = set_posix_acl(idmap, path->dentry,
fs/smb/server/smbacl.c
1505
rc = notify_change(idmap, path->dentry, &newattrs, NULL);
fs/smb/server/smbacl.c
1516
ksmbd_vfs_remove_sd_xattrs(idmap, path);
fs/smb/server/smbacl.c
1517
ksmbd_vfs_set_sd_xattr(conn, idmap, path, pntsd, ntsd_len,
fs/smb/server/smbacl.h
100
const struct path *path, struct smb_ntsd *pntsd, int ntsd_len,
fs/smb/server/smbacl.h
95
int smb_inherit_dacl(struct ksmbd_conn *conn, const struct path *path,
fs/smb/server/smbacl.h
97
int smb_check_perm_dacl(struct ksmbd_conn *conn, const struct path *path,
fs/smb/server/vfs.c
100
d = lookup_noperm_unlocked(&last, path->dentry);
fs/smb/server/vfs.c
1002
err = vfs_removexattr(idmap, path->dentry, attr_name);
fs/smb/server/vfs.c
1005
mnt_drop_write(path->mnt);
fs/smb/server/vfs.c
106
path_put(path);
fs/smb/server/vfs.c
109
dput(path->dentry);
fs/smb/server/vfs.c
110
path->dentry = d;
fs/smb/server/vfs.c
1115
static int ksmbd_vfs_lookup_in_dir(const struct path *dir, char *name,
fs/smb/server/vfs.c
113
err = follow_down(path, 0);
fs/smb/server/vfs.c
1143
struct path *path, bool caseless, bool for_remove)
fs/smb/server/vfs.c
1146
struct path parent_path;
fs/smb/server/vfs.c
115
path_put(path);
fs/smb/server/vfs.c
1151
err = ksmbd_vfs_path_lookup(share_conf, filepath, flags, path, for_remove);
fs/smb/server/vfs.c
1215
struct path *path, bool caseless)
fs/smb/server/vfs.c
1217
return __ksmbd_vfs_kern_path(work, filepath, flags, path,
fs/smb/server/vfs.c
1236
struct path *path, bool caseless)
fs/smb/server/vfs.c
1238
return __ksmbd_vfs_kern_path(work, filepath, flags, path,
fs/smb/server/vfs.c
1242
void ksmbd_vfs_kern_path_end_removing(const struct path *path)
fs/smb/server/vfs.c
1244
end_removing(path->dentry);
fs/smb/server/vfs.c
1245
mnt_drop_write(path->mnt);
fs/smb/server/vfs.c
1246
mntput(path->mnt);
fs/smb/server/vfs.c
1252
struct path *path)
fs/smb/server/vfs.c
1261
dent = start_creating_path(AT_FDCWD, abs_name, path, flags);
fs/smb/server/vfs.c
1267
const struct path *path)
fs/smb/server/vfs.c
1273
xattr_list_len = ksmbd_vfs_listxattr(path->dentry, &xattr_list);
fs/smb/server/vfs.c
1281
err = mnt_want_write(path->mnt);
fs/smb/server/vfs.c
1293
err = vfs_remove_acl(idmap, path->dentry, name);
fs/smb/server/vfs.c
1299
mnt_drop_write(path->mnt);
fs/smb/server/vfs.c
1306
int ksmbd_vfs_remove_sd_xattrs(struct mnt_idmap *idmap, const struct path *path)
fs/smb/server/vfs.c
1312
xattr_list_len = ksmbd_vfs_listxattr(path->dentry, &xattr_list);
fs/smb/server/vfs.c
1325
err = ksmbd_vfs_remove_xattr(idmap, path, name, true);
fs/smb/server/vfs.c
1402
const struct path *path,
fs/smb/server/vfs.c
1410
struct dentry *dentry = path->dentry;
fs/smb/server/vfs.c
1453
rc = ksmbd_vfs_setxattr(idmap, path,
fs/smb/server/vfs.c
153
struct path path;
fs/smb/server/vfs.c
1539
const struct path *path,
fs/smb/server/vfs.c
1550
err = ksmbd_vfs_setxattr(idmap, path, XATTR_NAME_DOS_ATTRIBUTE,
fs/smb/server/vfs.c
158
LOOKUP_NO_SYMLINKS, &path);
fs/smb/server/vfs.c
1622
struct path path = {
fs/smb/server/vfs.c
1627
rc = vfs_getattr(&path, ksmbd_kstat->kstat,
fs/smb/server/vfs.c
168
err = vfs_create(mnt_idmap(path.mnt), dentry, mode, NULL);
fs/smb/server/vfs.c
170
ksmbd_vfs_inherit_owner(work, d_inode(path.dentry),
fs/smb/server/vfs.c
176
end_creating_path(&path, dentry);
fs/smb/server/vfs.c
1802
const struct path *path)
fs/smb/server/vfs.c
1806
struct dentry *dentry = path->dentry;
fs/smb/server/vfs.c
1855
const struct path *path, struct inode *parent_inode)
fs/smb/server/vfs.c
1859
struct dentry *dentry = path->dentry;
fs/smb/server/vfs.c
191
struct path path;
fs/smb/server/vfs.c
197
&path);
fs/smb/server/vfs.c
206
idmap = mnt_idmap(path.mnt);
fs/smb/server/vfs.c
209
dentry = vfs_mkdir(idmap, d_inode(path.dentry), dentry, mode, NULL);
fs/smb/server/vfs.c
215
ksmbd_vfs_inherit_owner(work, d_inode(path.dentry), d_inode(dentry));
fs/smb/server/vfs.c
217
end_creating_path(&path, dentry);
fs/smb/server/vfs.c
534
int ksmbd_vfs_getattr(const struct path *path, struct kstat *stat)
fs/smb/server/vfs.c
538
err = vfs_getattr(path, stat, STATX_BASIC_STATS | STATX_BTIME,
fs/smb/server/vfs.c
55
struct path *path, bool for_remove)
fs/smb/server/vfs.c
577
int ksmbd_vfs_remove_file(struct ksmbd_work *work, const struct path *path)
fs/smb/server/vfs.c
58
const struct path *root_share_path = &share_conf->vfs_path;
fs/smb/server/vfs.c
580
struct dentry *parent = path->dentry->d_parent;
fs/smb/server/vfs.c
586
if (!d_inode(path->dentry)->i_nlink) {
fs/smb/server/vfs.c
591
idmap = mnt_idmap(path->mnt);
fs/smb/server/vfs.c
592
if (S_ISDIR(d_inode(path->dentry)->i_mode)) {
fs/smb/server/vfs.c
593
err = vfs_rmdir(idmap, d_inode(parent), path->dentry, NULL);
fs/smb/server/vfs.c
597
err = vfs_unlink(idmap, d_inode(parent), path->dentry, NULL);
fs/smb/server/vfs.c
618
struct path oldpath, newpath;
fs/smb/server/vfs.c
63
pathname = share_conf->path;
fs/smb/server/vfs.c
662
int ksmbd_vfs_rename(struct ksmbd_work *work, const struct path *old_path,
fs/smb/server/vfs.c
666
struct path new_path;
fs/smb/server/vfs.c
71
path, &last, &type,
fs/smb/server/vfs.c
77
path_put(path);
fs/smb/server/vfs.c
82
err = mnt_want_write(path->mnt);
fs/smb/server/vfs.c
84
path_put(path);
fs/smb/server/vfs.c
866
const struct path *path, const char *attr_name,
fs/smb/server/vfs.c
873
err = mnt_want_write(path->mnt);
fs/smb/server/vfs.c
879
path->dentry,
fs/smb/server/vfs.c
88
d = start_removing_noperm(path->dentry, &last);
fs/smb/server/vfs.c
887
mnt_drop_write(path->mnt);
fs/smb/server/vfs.c
91
dput(path->dentry);
fs/smb/server/vfs.c
92
path->dentry = d;
fs/smb/server/vfs.c
95
mnt_drop_write(path->mnt);
fs/smb/server/vfs.c
96
path_put(path);
fs/smb/server/vfs.c
991
const struct path *path, char *attr_name,
fs/smb/server/vfs.c
997
err = mnt_want_write(path->mnt);
fs/smb/server/vfs.h
112
const struct path *path, const char *attr_name,
fs/smb/server/vfs.h
118
const struct path *path, char *attr_name,
fs/smb/server/vfs.h
122
struct path *path, bool caseless);
fs/smb/server/vfs.h
125
struct path *path, bool caseless);
fs/smb/server/vfs.h
126
void ksmbd_vfs_kern_path_end_removing(const struct path *path);
fs/smb/server/vfs.h
130
struct path *path);
fs/smb/server/vfs.h
148
const struct path *path);
fs/smb/server/vfs.h
149
int ksmbd_vfs_remove_sd_xattrs(struct mnt_idmap *idmap, const struct path *path);
fs/smb/server/vfs.h
152
const struct path *path,
fs/smb/server/vfs.h
160
const struct path *path,
fs/smb/server/vfs.h
167
const struct path *path);
fs/smb/server/vfs.h
169
const struct path *path,
fs/smb/server/vfs.h
86
int ksmbd_vfs_remove_file(struct ksmbd_work *work, const struct path *path);
fs/smb/server/vfs.h
89
int ksmbd_vfs_getattr(const struct path *path, struct kstat *stat);
fs/smb/server/vfs.h
90
int ksmbd_vfs_rename(struct ksmbd_work *work, const struct path *old_path,
fs/stat.c
181
int vfs_getattr_nosec(const struct path *path, struct kstat *stat,
fs/stat.c
185
struct inode *inode = d_backing_inode(path->dentry);
fs/stat.c
209
idmap = mnt_idmap(path->mnt);
fs/stat.c
213
ret = inode->i_op->getattr(idmap, path, stat, request_mask,
fs/stat.c
227
bdev_statx(path, stat, request_mask);
fs/stat.c
254
int vfs_getattr(const struct path *path, struct kstat *stat,
fs/stat.c
259
retval = security_inode_getattr(path);
fs/stat.c
262
return vfs_getattr_nosec(path, stat, request_mask, query_flags);
fs/stat.c
296
static int vfs_statx_path(const struct path *path, int flags, struct kstat *stat,
fs/stat.c
299
int error = vfs_getattr(path, stat, request_mask, flags);
fs/stat.c
304
stat->mnt_id = real_mount(path->mnt)->mnt_id_unique;
fs/stat.c
307
stat->mnt_id = real_mount(path->mnt)->mnt_id;
fs/stat.c
311
if (path_mounted(path))
fs/stat.c
344
struct path path;
fs/stat.c
353
error = filename_lookup(dfd, filename, lookup_flags, &path, NULL);
fs/stat.c
356
error = vfs_statx_path(&path, flags, stat, request_mask);
fs/stat.c
357
path_put(&path);
fs/stat.c
562
struct path path;
fs/stat.c
571
error = filename_lookup(dfd, name, lookup_flags, &path, NULL);
fs/stat.c
578
if (d_is_symlink(path.dentry) ||
fs/stat.c
579
d_backing_inode(path.dentry)->i_op->readlink) {
fs/stat.c
580
error = security_inode_readlink(path.dentry);
fs/stat.c
582
touch_atime(&path);
fs/stat.c
583
error = vfs_readlink(path.dentry, buf, bufsiz);
fs/stat.c
588
path_put(&path);
fs/stat.c
602
SYSCALL_DEFINE3(readlink, const char __user *, path, char __user *, buf,
fs/stat.c
605
return do_readlinkat(AT_FDCWD, path, buf, bufsiz);
fs/statfs.c
104
error = filename_lookup(AT_FDCWD, name, lookup_flags, &path, NULL);
fs/statfs.c
106
error = vfs_statfs(&path, st);
fs/statfs.c
107
path_put(&path);
fs/statfs.c
86
int vfs_statfs(const struct path *path, struct kstatfs *buf)
fs/statfs.c
90
error = statfs_by_dentry(path->dentry, buf);
fs/statfs.c
92
buf->f_flags = calculate_f_flags(path->mnt);
fs/statfs.c
99
struct path path;
fs/tracefs/inode.c
223
const struct path *path, struct kstat *stat,
fs/tracefs/inode.c
226
struct inode *inode = d_backing_inode(path->dentry);
fs/ubifs/dir.c
1670
int ubifs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/ubifs/dir.c
1674
struct inode *inode = d_inode(path->dentry);
fs/ubifs/file.c
1615
const struct path *path, struct kstat *stat,
fs/ubifs/file.c
1618
ubifs_getattr(idmap, path, stat, request_mask, query_flags);
fs/ubifs/file.c
1620
if (IS_ENCRYPTED(d_inode(path->dentry)))
fs/ubifs/file.c
1621
return fscrypt_symlink_getattr(path, stat);
fs/ubifs/lpt.c
1952
struct lpt_scan_node *path,
fs/ubifs/lpt.c
1963
path->in_tree = 1;
fs/ubifs/lpt.c
1964
path->ptr.nnode = nnode;
fs/ubifs/lpt.c
1967
nnode = &path->nnode;
fs/ubifs/lpt.c
1968
path->in_tree = 0;
fs/ubifs/lpt.c
1969
path->ptr.nnode = nnode;
fs/ubifs/lpt.c
2011
struct lpt_scan_node *path,
fs/ubifs/lpt.c
2022
path->in_tree = 1;
fs/ubifs/lpt.c
2023
path->ptr.pnode = pnode;
fs/ubifs/lpt.c
2026
pnode = &path->pnode;
fs/ubifs/lpt.c
2027
path->in_tree = 0;
fs/ubifs/lpt.c
2028
path->ptr.pnode = pnode;
fs/ubifs/lpt.c
2085
struct lpt_scan_node *path;
fs/ubifs/lpt.c
2102
path = kmalloc_objs(struct lpt_scan_node, c->lpt_hght + 1, GFP_NOFS);
fs/ubifs/lpt.c
2103
if (!path)
fs/ubifs/lpt.c
2106
path[0].ptr.nnode = c->nroot;
fs/ubifs/lpt.c
2107
path[0].in_tree = 1;
fs/ubifs/lpt.c
2116
nnode = scan_get_nnode(c, path + h, nnode, iip);
fs/ubifs/lpt.c
2123
pnode = scan_get_pnode(c, path + h, nnode, iip);
fs/ubifs/lpt.c
2135
ret = scan_cb(c, lprops, path[h].in_tree, data);
fs/ubifs/lpt.c
2146
if (path[h].in_tree)
fs/ubifs/lpt.c
2148
nnode = kmemdup(&path[h].nnode, sz, GFP_NOFS);
fs/ubifs/lpt.c
2155
path[h].ptr.nnode = nnode;
fs/ubifs/lpt.c
2156
path[h].in_tree = 1;
fs/ubifs/lpt.c
2157
path[h + 1].cnode.parent = nnode;
fs/ubifs/lpt.c
2159
if (path[h].in_tree)
fs/ubifs/lpt.c
2165
pnode = kmemdup(&path[h].pnode, sz, GFP_NOFS);
fs/ubifs/lpt.c
2172
path[h].ptr.pnode = pnode;
fs/ubifs/lpt.c
2173
path[h].in_tree = 1;
fs/ubifs/lpt.c
2213
nnode = path[h].ptr.nnode;
fs/ubifs/lpt.c
2223
nnode = scan_get_nnode(c, path + h, nnode, iip);
fs/ubifs/lpt.c
2230
pnode = scan_get_pnode(c, path + h, nnode, iip);
fs/ubifs/lpt.c
2238
kfree(path);
fs/ubifs/tnc.c
1131
int *path = c->bottom_up_buf, p = 0;
fs/ubifs/tnc.c
1141
path = c->bottom_up_buf;
fs/ubifs/tnc.c
1153
path[p++] = n;
fs/ubifs/tnc.c
1166
ubifs_assert(c, path[p - 1] >= 0);
fs/ubifs/tnc.c
1167
ubifs_assert(c, path[p - 1] < zp->child_cnt);
fs/ubifs/tnc.c
1168
zbr = &zp->zbranch[path[--p]];
fs/ubifs/tnc.c
1176
ubifs_assert(c, path[p - 1] >= 0);
fs/ubifs/tnc.c
1177
ubifs_assert(c, path[p - 1] < znode->child_cnt);
fs/ubifs/tnc.c
1178
znode = znode->zbranch[path[p - 1]].znode;
fs/ubifs/ubifs.h
2027
int ubifs_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/udf/symlink.c
135
const struct path *path, struct kstat *stat,
fs/udf/symlink.c
138
struct dentry *dentry = path->dentry;
fs/utimes.c
100
path_put(&path);
fs/utimes.c
21
int vfs_utimes(const struct path *path, struct timespec64 *times)
fs/utimes.c
25
struct inode *inode = path->dentry->d_inode;
fs/utimes.c
37
error = mnt_want_write(path->mnt);
fs/utimes.c
67
error = notify_change(mnt_idmap(path->mnt), path->dentry, &newattrs,
fs/utimes.c
76
mnt_drop_write(path->mnt);
fs/utimes.c
85
struct path path;
fs/utimes.c
96
error = filename_lookup(dfd, name, lookup_flags, &path, NULL);
fs/utimes.c
99
error = vfs_utimes(&path, times);
fs/vboxsf/dir.c
358
struct shfl_string *path;
fs/vboxsf/dir.c
370
path = vboxsf_path_from_dentry(sbi, dentry);
fs/vboxsf/dir.c
371
if (IS_ERR(path))
fs/vboxsf/dir.c
372
return PTR_ERR(path);
fs/vboxsf/dir.c
374
err = vboxsf_remove(sbi->root, path, flags);
fs/vboxsf/dir.c
375
__putname(path);
fs/vboxsf/dir.c
435
struct shfl_string *path, *ssymname;
fs/vboxsf/dir.c
439
path = vboxsf_path_from_dentry(sbi, dentry);
fs/vboxsf/dir.c
440
if (IS_ERR(path))
fs/vboxsf/dir.c
441
return PTR_ERR(path);
fs/vboxsf/dir.c
445
__putname(path);
fs/vboxsf/dir.c
452
err = vboxsf_symlink(sbi->root, path, ssymname, &info);
fs/vboxsf/dir.c
454
__putname(path);
fs/vboxsf/file.c
363
struct shfl_string *path;
fs/vboxsf/file.c
370
path = vboxsf_path_from_dentry(sbi, dentry);
fs/vboxsf/file.c
371
if (IS_ERR(path))
fs/vboxsf/file.c
372
return ERR_CAST(path);
fs/vboxsf/file.c
376
__putname(path);
fs/vboxsf/file.c
380
err = vboxsf_readlink(sbi->root, path, PATH_MAX, link);
fs/vboxsf/file.c
381
__putname(path);
fs/vboxsf/shfl_hostintf.h
492
struct vmmdev_hgcm_function_parameter path;
fs/vboxsf/shfl_hostintf.h
544
struct vmmdev_hgcm_function_parameter path;
fs/vboxsf/shfl_hostintf.h
692
struct vmmdev_hgcm_function_parameter path;
fs/vboxsf/shfl_hostintf.h
731
struct vmmdev_hgcm_function_parameter path;
fs/vboxsf/shfl_hostintf.h
821
struct vmmdev_hgcm_function_parameter path;
fs/vboxsf/utils.c
142
struct shfl_string *path;
fs/vboxsf/utils.c
145
path = vboxsf_path_from_dentry(sbi, dentry);
fs/vboxsf/utils.c
146
if (IS_ERR(path))
fs/vboxsf/utils.c
147
return PTR_ERR(path);
fs/vboxsf/utils.c
149
err = vboxsf_create(sbi->root, path, params);
fs/vboxsf/utils.c
150
__putname(path);
fs/vboxsf/utils.c
155
int vboxsf_stat(struct vboxsf_sbi *sbi, struct shfl_string *path,
fs/vboxsf/utils.c
164
err = vboxsf_create(sbi->root, path, &params);
fs/vboxsf/utils.c
180
struct shfl_string *path;
fs/vboxsf/utils.c
183
path = vboxsf_path_from_dentry(sbi, dentry);
fs/vboxsf/utils.c
184
if (IS_ERR(path))
fs/vboxsf/utils.c
185
return PTR_ERR(path);
fs/vboxsf/utils.c
187
err = vboxsf_stat(sbi, path, info);
fs/vboxsf/utils.c
188
__putname(path);
fs/vboxsf/utils.c
235
int vboxsf_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/vboxsf/utils.c
239
struct dentry *dentry = path->dentry;
fs/vboxsf/utils.c
371
char *buf, *path;
fs/vboxsf/utils.c
379
path = dentry_path_raw(dentry, buf, PATH_MAX);
fs/vboxsf/utils.c
380
if (IS_ERR(path)) {
fs/vboxsf/utils.c
382
return ERR_CAST(path);
fs/vboxsf/utils.c
384
path_len = strlen(path);
fs/vboxsf/utils.c
397
nb = sbi->nls->char2uni(path, path_len, &uni);
fs/vboxsf/utils.c
403
path += nb;
fs/vboxsf/utils.c
429
memmove(shfl_path->string.utf8, path, path_len);
fs/vboxsf/vboxsf_wrappers.c
138
parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL;
fs/vboxsf/vboxsf_wrappers.c
139
parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
fs/vboxsf/vboxsf_wrappers.c
140
parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
fs/vboxsf/vboxsf_wrappers.c
169
parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
fs/vboxsf/vboxsf_wrappers.c
170
parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
fs/vboxsf/vboxsf_wrappers.c
171
parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
fs/vboxsf/vboxsf_wrappers.c
267
parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
fs/vboxsf/vboxsf_wrappers.c
268
parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
fs/vboxsf/vboxsf_wrappers.c
269
parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
fs/vboxsf/vboxsf_wrappers.c
271
parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_IN;
fs/vboxsf/vboxsf_wrappers.c
272
parms.path.u.pointer.size = 0;
fs/vboxsf/vboxsf_wrappers.c
273
parms.path.u.pointer.u.linear_addr = 0;
fs/vboxsf/vboxsf_wrappers.c
328
parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
fs/vboxsf/vboxsf_wrappers.c
329
parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
fs/vboxsf/vboxsf_wrappers.c
330
parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
fs/vboxsf/vboxsf_wrappers.c
80
parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL;
fs/vboxsf/vboxsf_wrappers.c
81
parms.path.u.pointer.size = shfl_string_buf_size(folder_name);
fs/vboxsf/vboxsf_wrappers.c
82
parms.path.u.pointer.u.linear_addr = (uintptr_t)folder_name;
fs/vboxsf/vfsmod.h
100
int vboxsf_getattr(struct mnt_idmap *idmap, const struct path *path,
fs/vboxsf/vfsmod.h
96
int vboxsf_stat(struct vboxsf_sbi *sbi, struct shfl_string *path,
fs/xattr.c
1029
struct path path;
fs/xattr.c
1033
error = filename_lookup(dfd, filename, lookup_flags, &path, NULL);
fs/xattr.c
1036
error = mnt_want_write(path.mnt);
fs/xattr.c
1038
error = removexattr(mnt_idmap(path.mnt), path.dentry, kname->name);
fs/xattr.c
1039
mnt_drop_write(path.mnt);
fs/xattr.c
1041
path_put(&path);
fs/xattr.c
655
struct path path;
fs/xattr.c
659
error = filename_lookup(dfd, filename, lookup_flags, &path, NULL);
fs/xattr.c
662
error = mnt_want_write(path.mnt);
fs/xattr.c
664
error = do_setxattr(mnt_idmap(path.mnt), path.dentry, ctx);
fs/xattr.c
665
mnt_drop_write(path.mnt);
fs/xattr.c
667
path_put(&path);
fs/xattr.c
805
struct path path;
fs/xattr.c
808
error = filename_lookup(dfd, filename, lookup_flags, &path, NULL);
fs/xattr.c
811
error = do_getxattr(mnt_idmap(path.mnt), path.dentry, ctx);
fs/xattr.c
812
path_put(&path);
fs/xattr.c
942
struct path path;
fs/xattr.c
945
error = filename_lookup(dfd, filename, lookup_flags, &path, NULL);
fs/xattr.c
948
error = listxattr(path.dentry, list, size);
fs/xattr.c
949
path_put(&path);
fs/xfs/libxfs/xfs_attr.c
120
xfs_da_state_path_t *path;
fs/xfs/libxfs/xfs_attr.c
130
path = &state->path;
fs/xfs/libxfs/xfs_attr.c
131
ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH));
fs/xfs/libxfs/xfs_attr.c
132
for (blk = path->blk, level = 0; level < path->active; blk++, level++) {
fs/xfs/libxfs/xfs_attr.c
145
path = &state->altpath;
fs/xfs/libxfs/xfs_attr.c
146
ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH));
fs/xfs/libxfs/xfs_attr.c
147
for (blk = path->blk, level = 0; level < path->active; blk++, level++) {
fs/xfs/libxfs/xfs_attr.c
1474
blk = &state->path.blk[state->path.active-1];
fs/xfs/libxfs/xfs_attr.c
1478
if (state->path.active == 1) {
fs/xfs/libxfs/xfs_attr.c
1501
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_attr.c
1521
blk = &state->path.blk[state->path.active-1];
fs/xfs/libxfs/xfs_attr.c
1524
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_attr.c
1553
if (retval && (state->path.active > 1)) {
fs/xfs/libxfs/xfs_attr.c
1598
blk = &state->path.blk[state->path.active - 1];
fs/xfs/libxfs/xfs_attr.c
1605
for (i = 0; i < state->path.active; i++) {
fs/xfs/libxfs/xfs_attr.c
1606
xfs_trans_brelse(args->trans, state->path.blk[i].bp);
fs/xfs/libxfs/xfs_attr.c
1607
state->path.blk[i].bp = NULL;
fs/xfs/libxfs/xfs_attr.c
168
xfs_da_state_path_t *path;
fs/xfs/libxfs/xfs_attr.c
178
path = &state->path;
fs/xfs/libxfs/xfs_attr.c
179
ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH));
fs/xfs/libxfs/xfs_attr.c
180
for (blk = path->blk, level = 0; level < path->active; blk++, level++) {
fs/xfs/libxfs/xfs_attr.c
196
path = &state->altpath;
fs/xfs/libxfs/xfs_attr.c
197
ASSERT((path->active >= 0) && (path->active < XFS_DA_NODE_MAXDEPTH));
fs/xfs/libxfs/xfs_attr.c
198
for (blk = path->blk, level = 0; level < path->active; blk++, level++) {
fs/xfs/libxfs/xfs_attr.c
718
ASSERT(state->path.blk[state->path.active - 1].bp != NULL);
fs/xfs/libxfs/xfs_attr.c
719
ASSERT(state->path.blk[state->path.active - 1].magic ==
fs/xfs/libxfs/xfs_attr_leaf.c
2166
blk = &state->path.blk[ state->path.active-1 ];
fs/xfs/libxfs/xfs_attr_leaf.c
2187
memcpy(&state->altpath, &state->path, sizeof(state->path));
fs/xfs/libxfs/xfs_attr_leaf.c
2243
memcpy(&state->altpath, &state->path, sizeof(state->path));
fs/xfs/libxfs/xfs_attr_leaf.c
2248
error = xfs_da3_path_shift(state, &state->path, forward,
fs/xfs/libxfs/xfs_da_btree.c
1138
drop_blk = &state->path.blk[ state->path.active-1 ];
fs/xfs/libxfs/xfs_da_btree.c
1139
save_blk = &state->altpath.blk[ state->path.active-1 ];
fs/xfs/libxfs/xfs_da_btree.c
1140
ASSERT(state->path.blk[0].magic == XFS_DA_NODE_MAGIC);
fs/xfs/libxfs/xfs_da_btree.c
1148
for ( ; state->path.active >= 2; drop_blk--, save_blk--,
fs/xfs/libxfs/xfs_da_btree.c
1149
state->path.active--) {
fs/xfs/libxfs/xfs_da_btree.c
1179
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_da_btree.c
1205
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_da_btree.c
1206
error = xfs_da3_root_join(state, &state->path.blk[0]);
fs/xfs/libxfs/xfs_da_btree.c
1332
blk = &state->path.blk[ state->path.active-1 ];
fs/xfs/libxfs/xfs_da_btree.c
1353
memcpy(&state->altpath, &state->path, sizeof(state->path));
fs/xfs/libxfs/xfs_da_btree.c
1415
memcpy(&state->altpath, &state->path, sizeof(state->path));
fs/xfs/libxfs/xfs_da_btree.c
1420
error = xfs_da3_path_shift(state, &state->path, forward,
fs/xfs/libxfs/xfs_da_btree.c
1459
struct xfs_da_state_path *path)
fs/xfs/libxfs/xfs_da_btree.c
1471
level = path->active-1;
fs/xfs/libxfs/xfs_da_btree.c
1472
blk = &path->blk[ level ];
fs/xfs/libxfs/xfs_da_btree.c
1707
for (blk = &state->path.blk[0], state->path.active = 1;
fs/xfs/libxfs/xfs_da_btree.c
1708
state->path.active <= XFS_DA_NODE_MAXDEPTH;
fs/xfs/libxfs/xfs_da_btree.c
1709
blk++, state->path.active++) {
fs/xfs/libxfs/xfs_da_btree.c
1718
state->path.active--;
fs/xfs/libxfs/xfs_da_btree.c
1869
error = xfs_da3_path_shift(state, &state->path, 1, 1,
fs/xfs/libxfs/xfs_da_btree.c
2131
struct xfs_da_state_path *path,
fs/xfs/libxfs/xfs_da_btree.c
2157
ASSERT(path != NULL);
fs/xfs/libxfs/xfs_da_btree.c
2158
ASSERT((path->active > 0) && (path->active < XFS_DA_NODE_MAXDEPTH));
fs/xfs/libxfs/xfs_da_btree.c
2159
level = (path->active-1) - 1; /* skip bottom layer in path */
fs/xfs/libxfs/xfs_da_btree.c
2161
blk = &path->blk[level];
fs/xfs/libxfs/xfs_da_btree.c
2185
for (blk++, level++; level < path->active; blk++, level++) {
fs/xfs/libxfs/xfs_da_btree.c
2247
ASSERT(level == path->active-1);
fs/xfs/libxfs/xfs_da_btree.c
2260
ASSERT(level == path->active-1);
fs/xfs/libxfs/xfs_da_btree.c
577
max = state->path.active - 1;
fs/xfs/libxfs/xfs_da_btree.c
579
ASSERT(state->path.blk[max].magic == XFS_ATTR_LEAF_MAGIC ||
fs/xfs/libxfs/xfs_da_btree.c
580
state->path.blk[max].magic == XFS_DIR2_LEAFN_MAGIC);
fs/xfs/libxfs/xfs_da_btree.c
582
addblk = &state->path.blk[max]; /* initial dummy value */
fs/xfs/libxfs/xfs_da_btree.c
583
for (i = max; (i >= 0) && addblk; state->path.active--, i--) {
fs/xfs/libxfs/xfs_da_btree.c
584
oldblk = &state->path.blk[i];
fs/xfs/libxfs/xfs_da_btree.c
650
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_da_btree.c
661
state->path.blk[max].magic == XFS_DIR2_LEAFN_MAGIC);
fs/xfs/libxfs/xfs_da_btree.c
666
ASSERT(state->path.active == 0);
fs/xfs/libxfs/xfs_da_btree.c
667
oldblk = &state->path.blk[0];
fs/xfs/libxfs/xfs_da_btree.h
134
xfs_da_state_path_t path; /* search/split paths */
fs/xfs/libxfs/xfs_da_btree.h
194
int xfs_da3_path_shift(xfs_da_state_t *state, xfs_da_state_path_t *path,
fs/xfs/libxfs/xfs_dir2_leaf.c
1757
if (state->path.active > 1)
fs/xfs/libxfs/xfs_dir2_leaf.c
1799
lbp = state->path.blk[0].bp;
fs/xfs/libxfs/xfs_dir2_leaf.c
1879
state->path.blk[0].bp = NULL;
fs/xfs/libxfs/xfs_dir2_node.c
1517
blk = &state->path.blk[state->path.active - 1];
fs/xfs/libxfs/xfs_dir2_node.c
1544
memcpy(&state->altpath, &state->path, sizeof(state->path));
fs/xfs/libxfs/xfs_dir2_node.c
1606
memcpy(&state->altpath, &state->path, sizeof(state->path));
fs/xfs/libxfs/xfs_dir2_node.c
1611
error = xfs_da3_path_shift(state, &state->path, forward, 0,
fs/xfs/libxfs/xfs_dir2_node.c
2049
blk = &state->path.blk[state->path.active - 1];
fs/xfs/libxfs/xfs_dir2_node.c
2060
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_dir2_node.c
2118
for (i = 0; i < state->path.active; i++) {
fs/xfs/libxfs/xfs_dir2_node.c
2119
xfs_trans_brelse(args->trans, state->path.blk[i].bp);
fs/xfs/libxfs/xfs_dir2_node.c
2120
state->path.blk[i].bp = NULL;
fs/xfs/libxfs/xfs_dir2_node.c
2163
blk = &state->path.blk[state->path.active - 1];
fs/xfs/libxfs/xfs_dir2_node.c
2177
xfs_da3_fixhashpath(state, &state->path);
fs/xfs/libxfs/xfs_dir2_node.c
2181
if (rval && state->path.active > 1)
fs/xfs/libxfs/xfs_dir2_node.c
2241
blk = &state->path.blk[state->path.active - 1];
fs/xfs/libxfs/xfs_dir2_node.c
2276
for (i = 0; i < state->path.active; i++) {
fs/xfs/libxfs/xfs_dir2_node.c
2277
xfs_trans_brelse(args->trans, state->path.blk[i].bp);
fs/xfs/libxfs/xfs_dir2_node.c
2278
state->path.blk[i].bp = NULL;
fs/xfs/libxfs/xfs_dquot_buf.c
429
.path = xfs_dqinode_path(type),
fs/xfs/libxfs/xfs_dquot_buf.c
463
.path = xfs_dqinode_path(type),
fs/xfs/libxfs/xfs_fs.h
578
void __user *path; /* user pathname */
fs/xfs/libxfs/xfs_metadir.c
135
const char *path,
fs/xfs/libxfs/xfs_metadir.c
143
xfs_metadir_set_xname(&xname, path, XFS_DIR3_FT_UNKNOWN);
fs/xfs/libxfs/xfs_metadir.c
262
xfs_metadir_set_xname(&xname, upd->path, XFS_DIR3_FT_UNKNOWN);
fs/xfs/libxfs/xfs_metadir.c
387
xfs_metadir_set_xname(&xname, upd->path,
fs/xfs/libxfs/xfs_metadir.c
445
const char *path,
fs/xfs/libxfs/xfs_metadir.c
450
.path = path,
fs/xfs/libxfs/xfs_metadir.c
66
const char *path,
fs/xfs/libxfs/xfs_metadir.c
69
xname->name = (const unsigned char *)path;
fs/xfs/libxfs/xfs_metadir.c
70
xname->len = strlen(path);
fs/xfs/libxfs/xfs_metadir.h
15
const char *path;
fs/xfs/libxfs/xfs_metadir.h
32
const char *path, enum xfs_metafile_type metafile_type,
fs/xfs/libxfs/xfs_metadir.h
44
int xfs_metadir_mkdir(struct xfs_inode *dp, const char *path,
fs/xfs/libxfs/xfs_rtgroup.c
472
const char *path;
fs/xfs/libxfs/xfs_rtgroup.c
479
path = xfs_rtginode_path(rtg_rgno(rtg), type);
fs/xfs/libxfs/xfs_rtgroup.c
480
if (!path)
fs/xfs/libxfs/xfs_rtgroup.c
482
error = xfs_metadir_load(tp, mp->m_rtdirip, path,
fs/xfs/libxfs/xfs_rtgroup.c
484
kfree(path);
fs/xfs/libxfs/xfs_rtgroup.c
543
upd.path = xfs_rtginode_path(rtg_rgno(rtg), type);
fs/xfs/libxfs/xfs_rtgroup.c
544
if (!upd.path)
fs/xfs/libxfs/xfs_rtgroup.c
566
kfree(upd.path);
fs/xfs/libxfs/xfs_rtgroup.c
579
kfree(upd.path);
fs/xfs/scrub/attr.c
364
struct xfs_da_state_blk *blk = &ds->state->path.blk[level];
fs/xfs/scrub/attr.c
490
struct xfs_da_state_blk *blk = &ds->state->path.blk[level];
fs/xfs/scrub/dabtree.c
104
struct xfs_da_state_blk *blk = &ds->state->path.blk[level];
fs/xfs/scrub/dabtree.c
241
struct xfs_da_state_path *path = &ds->state->path;
fs/xfs/scrub/dabtree.c
247
memcpy(altpath, path, sizeof(ds->state->altpath));
fs/xfs/scrub/dabtree.c
282
(plevel < path->active &&
fs/xfs/scrub/dabtree.c
283
altpath->blk[plevel].bp == path->blk[plevel].bp))
fs/xfs/scrub/dabtree.c
347
blk = &ds->state->path.blk[level];
fs/xfs/scrub/dabtree.c
348
ds->state->path.active = level + 1;
fs/xfs/scrub/dabtree.c
539
blks = ds->state->path.blk;
fs/xfs/scrub/dabtree.c
57
ds->state->path.blk[level].blkno),
fs/xfs/scrub/dabtree.c
79
ds->state->path.blk[level].blkno),
fs/xfs/scrub/dabtree.c
94
ds->state->path.blk[level].blkno),
fs/xfs/scrub/dir.c
321
struct xfs_da_state_blk *blk = &ds->state->path.blk[level];
fs/xfs/scrub/dirtree.c
157
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree.c
171
if (path->nr_steps >= XFS_MAXLINK)
fs/xfs/scrub/dirtree.c
178
error = xino_bitmap_set(&path->seen_inodes, ip->i_ino);
fs/xfs/scrub/dirtree.c
186
path->nr_steps++;
fs/xfs/scrub/dirtree.c
216
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree.c
241
path = kmalloc_obj(struct xchk_dirpath, XCHK_GFP_FLAGS);
fs/xfs/scrub/dirtree.c
242
if (!path)
fs/xfs/scrub/dirtree.c
245
INIT_LIST_HEAD(&path->list);
fs/xfs/scrub/dirtree.c
246
xino_bitmap_init(&path->seen_inodes);
fs/xfs/scrub/dirtree.c
247
path->nr_steps = 0;
fs/xfs/scrub/dirtree.c
248
path->outcome = XCHK_DIRPATH_SCANNING;
fs/xfs/scrub/dirtree.c
250
error = xchk_dirpath_append(dl, sc->ip, path, &xname, rec);
fs/xfs/scrub/dirtree.c
254
path->first_step = xfarray_length(dl->path_steps) - 1;
fs/xfs/scrub/dirtree.c
255
path->second_step = XFARRAY_NULLIDX;
fs/xfs/scrub/dirtree.c
256
path->path_nr = dl->nr_paths;
fs/xfs/scrub/dirtree.c
258
list_add_tail(&path->list, &dl->path_list);
fs/xfs/scrub/dirtree.c
262
kfree(path);
fs/xfs/scrub/dirtree.c
279
struct xchk_dirpath *path)
fs/xfs/scrub/dirtree.c
292
trace_xchk_dirpath_disappeared(dl->sc, sc->ip, path->path_nr,
fs/xfs/scrub/dirtree.c
293
path->first_step, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
346
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree.c
349
trace_xchk_dirpath_set_outcome(dl->sc, path->path_nr, path->nr_steps,
fs/xfs/scrub/dirtree.c
352
path->outcome = outcome;
fs/xfs/scrub/dirtree.c
364
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree.c
388
xchk_dirpath_set_outcome(dl, path, XCHK_DIRPATH_OK);
fs/xfs/scrub/dirtree.c
398
xchk_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/dirtree.c
408
if (xino_bitmap_test(&path->seen_inodes, parent_ino)) {
fs/xfs/scrub/dirtree.c
409
xchk_dirpath_set_outcome(dl, path, XCHK_DIRPATH_LOOP);
fs/xfs/scrub/dirtree.c
416
trace_xchk_dirpath_badgen(dl->sc, dp, path->path_nr,
fs/xfs/scrub/dirtree.c
417
path->nr_steps, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
424
trace_xchk_dirpath_nondir_parent(dl->sc, dp, path->path_nr,
fs/xfs/scrub/dirtree.c
425
path->nr_steps, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
432
trace_xchk_dirpath_unlinked_parent(dl->sc, dp, path->path_nr,
fs/xfs/scrub/dirtree.c
433
path->nr_steps, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
440
trace_xchk_dirpath_crosses_tree(dl->sc, dp, path->path_nr,
fs/xfs/scrub/dirtree.c
441
path->nr_steps, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
474
xchk_dirpath_set_outcome(dl, path, XCHK_DIRPATH_CORRUPT);
fs/xfs/scrub/dirtree.c
486
trace_xchk_dirpath_found_next_step(sc, dp, path->path_nr,
fs/xfs/scrub/dirtree.c
487
path->nr_steps, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
490
error = xchk_dirpath_append(dl, dp, path, &dl->xname, &dl->pptr_rec);
fs/xfs/scrub/dirtree.c
494
if (path->second_step == XFARRAY_NULLIDX)
fs/xfs/scrub/dirtree.c
495
path->second_step = xfarray_length(dl->path_steps) - 1;
fs/xfs/scrub/dirtree.c
516
struct xchk_dirpath *path)
fs/xfs/scrub/dirtree.c
525
error = xchk_dirpath_revalidate(dl, path);
fs/xfs/scrub/dirtree.c
529
trace_xchk_dirpath_walk_upwards(sc, sc->ip, path->path_nr, &dl->xname,
fs/xfs/scrub/dirtree.c
537
xchk_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/dirtree.c
560
error = xchk_dirpath_step_up(dl, path, is_metadir);
fs/xfs/scrub/dirtree.c
572
while (!error && path->outcome == XCHK_DIRPATH_SCANNING)
fs/xfs/scrub/dirtree.c
573
error = xchk_dirpath_step_up(dl, path, is_metadir);
fs/xfs/scrub/dirtree.c
579
xchk_dirpath_set_outcome(dl, path, XCHK_DIRPATH_CORRUPT);
fs/xfs/scrub/dirtree.c
594
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree.c
636
path->outcome == XREP_DIRPATH_ADOPTING) {
fs/xfs/scrub/dirtree.c
637
xchk_dirpath_set_outcome(dl, path, XREP_DIRPATH_ADOPTED);
fs/xfs/scrub/dirtree.c
642
path->outcome == XREP_DIRPATH_DELETING) {
fs/xfs/scrub/dirtree.c
643
xchk_dirpath_set_outcome(dl, path, XREP_DIRPATH_DELETED);
fs/xfs/scrub/dirtree.c
648
trace_xchk_dirpath_changed(dl->sc, path->path_nr, step_nr, p->dp,
fs/xfs/scrub/dirtree.c
660
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree.c
664
xfarray_idx_t idx = path->first_step;
fs/xfs/scrub/dirtree.c
672
if (!xino_bitmap_test(&path->seen_inodes, p->ip->i_ino))
fs/xfs/scrub/dirtree.c
675
ret = xchk_dirpath_step_is_stale(dl, path, 0, idx, p, &cursor);
fs/xfs/scrub/dirtree.c
679
for (i = 1, idx = path->second_step; i < path->nr_steps; i++, idx++) {
fs/xfs/scrub/dirtree.c
680
ret = xchk_dirpath_step_is_stale(dl, path, i, idx, p, &cursor);
fs/xfs/scrub/dirtree.c
700
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree.c
713
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree.c
714
ret = xchk_dirpath_is_stale(dl, path, p);
fs/xfs/scrub/dirtree.c
73
struct xchk_dirpath *path, *n;
fs/xfs/scrub/dirtree.c
736
struct xchk_dirpath *path, *n;
fs/xfs/scrub/dirtree.c
740
xchk_dirtree_for_each_path_safe(dl, path, n) {
fs/xfs/scrub/dirtree.c
741
list_del_init(&path->list);
fs/xfs/scrub/dirtree.c
742
xino_bitmap_destroy(&path->seen_inodes);
fs/xfs/scrub/dirtree.c
743
kfree(path);
fs/xfs/scrub/dirtree.c
760
struct xchk_dirpath *path)
fs/xfs/scrub/dirtree.c
765
error = xfarray_load(dl->path_steps, path->first_step, &step);
fs/xfs/scrub/dirtree.c
78
xchk_dirtree_for_each_path_safe(dl, path, n) {
fs/xfs/scrub/dirtree.c
79
list_del_init(&path->list);
fs/xfs/scrub/dirtree.c
790
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree.c
80
xino_bitmap_destroy(&path->seen_inodes);
fs/xfs/scrub/dirtree.c
81
kfree(path);
fs/xfs/scrub/dirtree.c
819
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree.c
821
error = xchk_dirtree_load_path(dl, path);
fs/xfs/scrub/dirtree.c
830
error = xchk_dirpath_walk_upwards(dl, path);
fs/xfs/scrub/dirtree.c
862
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree.c
868
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree.c
869
trace_xchk_dirpath_evaluate_path(dl->sc, path->path_nr,
fs/xfs/scrub/dirtree.c
870
path->nr_steps, path->outcome);
fs/xfs/scrub/dirtree.c
872
switch (path->outcome) {
fs/xfs/scrub/dirtree.h
153
#define xchk_dirtree_for_each_path_safe(dl, path, n) \
fs/xfs/scrub/dirtree.h
154
list_for_each_entry_safe((path), (n), &(dl)->path_list, list)
fs/xfs/scrub/dirtree.h
156
#define xchk_dirtree_for_each_path(dl, path) \
fs/xfs/scrub/dirtree.h
157
list_for_each_entry((path), &(dl)->path_list, list)
fs/xfs/scrub/dirtree.h
163
struct xchk_dirpath *path, const struct xfs_name *name,
fs/xfs/scrub/dirtree_repair.c
100
struct xchk_dirpath *path)
fs/xfs/scrub/dirtree_repair.c
105
error = xfarray_load(dl->path_steps, path->first_step, &step);
fs/xfs/scrub/dirtree_repair.c
118
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree_repair.c
121
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree_repair.c
122
switch (path->outcome) {
fs/xfs/scrub/dirtree_repair.c
127
xrep_dirpath_retain_parent(dl, path);
fs/xfs/scrub/dirtree_repair.c
147
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree_repair.c
150
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree_repair.c
151
switch (path->outcome) {
fs/xfs/scrub/dirtree_repair.c
156
xrep_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/dirtree_repair.c
160
xrep_dirpath_retain_parent(dl, path);
fs/xfs/scrub/dirtree_repair.c
166
xrep_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/dirtree_repair.c
183
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree_repair.c
186
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree_repair.c
187
switch (path->outcome) {
fs/xfs/scrub/dirtree_repair.c
191
xrep_dirpath_retain_parent(dl, path);
fs/xfs/scrub/dirtree_repair.c
197
xrep_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/dirtree_repair.c
264
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree_repair.c
269
error = xfarray_load(dl->path_steps, path->first_step, step);
fs/xfs/scrub/dirtree_repair.c
381
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree_repair.c
418
xrep_dirpath_set_outcome(dl, path, XREP_DIRPATH_DELETING);
fs/xfs/scrub/dirtree_repair.c
421
trace_xrep_dirtree_delete_path(dl->sc, sc->ip, path->path_nr,
fs/xfs/scrub/dirtree_repair.c
505
struct xchk_dirpath *path)
fs/xfs/scrub/dirtree_repair.c
518
error = xrep_dirtree_prep_path(dl, path, &step);
fs/xfs/scrub/dirtree_repair.c
531
error = xrep_dirtree_unlink(dl, dp, path, &step);
fs/xfs/scrub/dirtree_repair.c
554
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree_repair.c
57
struct xchk_dirpath *path,
fs/xfs/scrub/dirtree_repair.c
570
path = kmalloc_obj(struct xchk_dirpath, XCHK_GFP_FLAGS);
fs/xfs/scrub/dirtree_repair.c
571
if (!path)
fs/xfs/scrub/dirtree_repair.c
574
INIT_LIST_HEAD(&path->list);
fs/xfs/scrub/dirtree_repair.c
575
xino_bitmap_init(&path->seen_inodes);
fs/xfs/scrub/dirtree_repair.c
576
path->nr_steps = 0;
fs/xfs/scrub/dirtree_repair.c
577
path->outcome = XREP_DIRPATH_ADOPTING;
fs/xfs/scrub/dirtree_repair.c
586
error = xino_bitmap_set(&path->seen_inodes, sc->orphanage->i_ino);
fs/xfs/scrub/dirtree_repair.c
593
error = xchk_dirpath_append(dl, sc->ip, path, &dl->xname,
fs/xfs/scrub/dirtree_repair.c
598
path->first_step = xfarray_length(dl->path_steps) - 1;
fs/xfs/scrub/dirtree_repair.c
599
path->second_step = XFARRAY_NULLIDX;
fs/xfs/scrub/dirtree_repair.c
60
trace_xrep_dirpath_set_outcome(dl->sc, path->path_nr, path->nr_steps,
fs/xfs/scrub/dirtree_repair.c
600
path->path_nr = dl->nr_paths;
fs/xfs/scrub/dirtree_repair.c
602
list_add_tail(&path->list, &dl->path_list);
fs/xfs/scrub/dirtree_repair.c
607
kfree(path);
fs/xfs/scrub/dirtree_repair.c
63
path->outcome = outcome;
fs/xfs/scrub/dirtree_repair.c
72
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree_repair.c
74
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree_repair.c
75
switch (path->outcome) {
fs/xfs/scrub/dirtree_repair.c
761
struct xchk_dirpath *path;
fs/xfs/scrub/dirtree_repair.c
765
xchk_dirtree_for_each_path(dl, path) {
fs/xfs/scrub/dirtree_repair.c
766
if (path->outcome != XCHK_DIRPATH_DELETE)
fs/xfs/scrub/dirtree_repair.c
769
error = xrep_dirtree_delete_path(dl, path);
fs/xfs/scrub/dirtree_repair.c
80
xrep_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/dirtree_repair.c
85
xrep_dirpath_set_outcome(dl, path, XCHK_DIRPATH_DELETE);
fs/xfs/scrub/metapath.c
101
kfree_const(path);
fs/xfs/scrub/metapath.c
107
kfree_const(path);
fs/xfs/scrub/metapath.c
116
mpath->path = path; /* path is now owned by mpath */
fs/xfs/scrub/metapath.c
118
mpath->xname.name = mpath->path;
fs/xfs/scrub/metapath.c
119
mpath->xname.len = strlen(mpath->path);
fs/xfs/scrub/metapath.c
329
trace_xchk_metapath_lookup(sc, mpath->path, mpath->dp, ino);
fs/xfs/scrub/metapath.c
367
trace_xrep_metapath_link(sc, mpath->path, mpath->dp, sc->ip->i_ino);
fs/xfs/scrub/metapath.c
384
trace_xrep_metapath_unlink(sc, mpath->path, mpath->dp, ino);
fs/xfs/scrub/metapath.c
448
trace_xrep_metapath_lookup(sc, mpath->path, mpath->dp, ino);
fs/xfs/scrub/metapath.c
53
const char *path;
fs/xfs/scrub/metapath.c
535
trace_xrep_metapath_try_unlink(sc, mpath->path, mpath->dp,
fs/xfs/scrub/metapath.c
566
trace_xrep_metapath_lookup(sc, mpath->path, mpath->dp, ino);
fs/xfs/scrub/metapath.c
82
kfree_const(mpath->path);
fs/xfs/scrub/metapath.c
90
const char *path,
fs/xfs/scrub/metapath.c
96
if (!path)
fs/xfs/scrub/trace.h
1924
TP_PROTO(struct xfs_scrub *sc, const char *path,
fs/xfs/scrub/trace.h
1926
TP_ARGS(sc, path, dp, ino),
fs/xfs/scrub/trace.h
1932
__string(name, path)
fs/xfs/scrub/trace.h
1950
TP_PROTO(struct xfs_scrub *sc, const char *path, \
fs/xfs/scrub/trace.h
1952
TP_ARGS(sc, path, dp, ino))
fs/xfs/xfs_handle.c
100
error = user_path_at(AT_FDCWD, hreq->path, 0, &path);
fs/xfs/xfs_handle.c
104
inode = d_inode(path.dentry);
fs/xfs/xfs_handle.c
138
path_put(&path);
fs/xfs/xfs_handle.c
240
struct path path __free(path_put) = {};
fs/xfs/xfs_handle.c
249
path.dentry = dentry;
fs/xfs/xfs_handle.c
272
path.mnt = mntget(parfilp->f_path.mnt);
fs/xfs/xfs_handle.c
274
FD_PREPARE(fdf, 0, dentry_open(&path, hreq->oflags, cred));
fs/xfs/xfs_handle.c
88
struct path path;
fs/xfs/xfs_handle.c
97
path = fd_file(f)->f_path;
fs/xfs/xfs_handle.c
98
path_get(&path);
fs/xfs/xfs_ioctl32.c
322
hreq->path = compat_ptr(hreq32.path);
fs/xfs/xfs_ioctl32.h
80
compat_uptr_t path; /* user pathname */
fs/xfs/xfs_iops.c
684
const struct path *path,
fs/xfs/xfs_iops.c
689
struct inode *inode = d_inode(path->dentry);
fs/xfs/xfs_trace.h
5739
__string(fname, upd->path)
fs/xfs/xfs_trace.h
5774
__string(fname, upd->path)
include/acpi/actbl2.h
533
u8 path[];
include/drm/display/drm_dp_mst_helper.h
515
struct drm_connector *(*add_connector)(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *path);
include/drm/drm_connector.h
2510
const char *path);
include/linux/audit.h
180
const struct path *path);
include/linux/audit.h
247
const struct path *path)
include/linux/audit.h
31
struct path;
include/linux/backing-file.h
21
struct file *backing_file_open(const struct path *user_path, int flags,
include/linux/backing-file.h
22
const struct path *real_path,
include/linux/backing-file.h
24
struct file *backing_tmpfile_open(const struct path *user_path, int flags,
include/linux/backing-file.h
25
const struct path *real_parentpath,
include/linux/blkdev.h
1774
struct file *bdev_file_open_by_path(const char *path, blk_mode_t mode,
include/linux/blkdev.h
1791
void bdev_statx(const struct path *path, struct kstat *stat, u32 request_mask);
include/linux/blkdev.h
1809
static inline void bdev_statx(const struct path *path, struct kstat *stat,
include/linux/ceph/decode.h
283
u64 ino, const char *path)
include/linux/ceph/decode.h
285
u32 len = path ? strlen(path) : 0;
include/linux/ceph/decode.h
291
memcpy(*p, path, len);
include/linux/cgroup.h
115
struct cgroup *cgroup_get_from_path(const char *path);
include/linux/comedi/comedilib.h
13
struct comedi_device *comedi_open_from(const char *path, int from);
include/linux/comedi/comedilib.h
25
static inline struct comedi_device *comedi_open(const char *path)
include/linux/comedi/comedilib.h
27
return comedi_open_from(path, -1);
include/linux/coresight.h
366
struct coresight_path *path);
include/linux/coresight.h
405
enum cs_mode mode, struct coresight_path *path);
include/linux/coresight.h
423
struct coresight_path *path);
include/linux/coresight.h
425
struct coresight_path *path);
include/linux/dcache.h
164
struct vfsmount *(*d_automount)(struct path *);
include/linux/dcache.h
165
int (*d_manage)(const struct path *, bool);
include/linux/dcache.h
18
struct path;
include/linux/dcache.h
277
extern int path_has_submounts(const struct path *);
include/linux/dcache.h
306
extern char *__d_path(const struct path *, const struct path *, char *, int);
include/linux/dcache.h
307
extern char *d_absolute_path(const struct path *, char *, int);
include/linux/dcache.h
308
extern char *d_path(const struct path *, char *, int);
include/linux/device-mapper.h
185
int dm_get_device(struct dm_target *ti, const char *path, blk_mode_t mode,
include/linux/device-mapper.h
192
int dm_devt_from_path(const char *path, dev_t *dev_p);
include/linux/dmar.h
64
struct dmar_pci_path path[];
include/linux/earlycpio.h
15
struct cpio_data find_cpio_data(const char *path, void *data, size_t len,
include/linux/exportfs.h
172
struct path root;
include/linux/exportfs.h
300
struct file * (*open)(const struct path *path, unsigned int oflags);
include/linux/f2fs_fs.h
67
__u8 path[MAX_PATH_LEN];
include/linux/file.h
25
struct path;
include/linux/fs.h
1272
const struct path f_path;
include/linux/fs.h
1273
struct path __f_path;
include/linux/fs.h
1813
const struct path *parentpath,
include/linux/fs.h
1816
struct file *kernel_file_open(const struct path *path, int flags,
include/linux/fs.h
1825
int vfs_utimes(const struct path *path, struct timespec64 *times);
include/linux/fs.h
1839
extern bool may_open_dev(const struct path *path);
include/linux/fs.h
2023
int (*getattr) (struct mnt_idmap *, const struct path *,
include/linux/fs.h
2257
extern bool atime_needs_update(const struct path *, struct inode *);
include/linux/fs.h
2258
extern void touch_atime(const struct path *);
include/linux/fs.h
2315
extern struct dentry *mount_subtree(struct vfsmount *mnt, const char *path);
include/linux/fs.h
2361
extern int vfs_statfs(const struct path *, struct kstatfs *);
include/linux/fs.h
2453
int vfs_truncate(const struct path *, loff_t);
include/linux/fs.h
2462
extern struct file *file_open_root(const struct path *,
include/linux/fs.h
2467
return file_open_root(&(struct path){.mnt = mnt, .dentry = mnt->mnt_root},
include/linux/fs.h
2470
struct file *dentry_open(const struct path *path, int flags,
include/linux/fs.h
2472
struct file *dentry_open_nonotify(const struct path *path, int flags,
include/linux/fs.h
2474
struct file *dentry_create(struct path *path, int flags, umode_t mode,
include/linux/fs.h
2476
const struct path *backing_file_user_path(const struct file *f);
include/linux/fs.h
2488
static inline const struct path *file_user_path(const struct file *f)
include/linux/fs.h
2676
static inline int path_permission(const struct path *path, int mask)
include/linux/fs.h
2678
return inode_permission(mnt_idmap(path->mnt),
include/linux/fs.h
2679
d_inode(path->dentry), mask);
include/linux/fs.h
2870
extern bool path_is_under(const struct path *, const struct path *);
include/linux/fs.h
3172
extern int vfs_getattr_nosec(const struct path *, struct kstat *, u32, unsigned int);
include/linux/fs.h
3173
extern int vfs_getattr(const struct path *, struct kstat *, u32, unsigned int);
include/linux/fs.h
3225
extern int simple_getattr(struct mnt_idmap *, const struct path *,
include/linux/fs.h
3606
extern bool path_noexec(const struct path *path);
include/linux/fs.h
3615
static inline bool vfs_empty_path(int dfd, const char __user *path)
include/linux/fs.h
3623
if (!path)
include/linux/fs.h
3626
if (unlikely(get_user(c, path)))
include/linux/fs_context.h
27
struct path;
include/linux/fs_parser.h
13
struct path;
include/linux/fs_parser.h
83
struct path *_path);
include/linux/fs_struct.h
15
struct path root, pwd;
include/linux/fs_struct.h
21
extern void set_fs_root(struct fs_struct *, const struct path *);
include/linux/fs_struct.h
22
extern void set_fs_pwd(struct fs_struct *, const struct path *);
include/linux/fs_struct.h
27
static inline void get_fs_root(struct fs_struct *fs, struct path *root)
include/linux/fs_struct.h
35
static inline void get_fs_pwd(struct fs_struct *fs, struct path *pwd)
include/linux/fscrypt.h
478
int fscrypt_symlink_getattr(const struct path *path, struct kstat *stat);
include/linux/fscrypt.h
850
static inline int fscrypt_symlink_getattr(const struct path *path,
include/linux/fsnotify.h
111
static inline int fsnotify_path(const struct path *path, __u32 mask)
include/linux/fsnotify.h
113
return fsnotify_parent(path->dentry, mask, path, FSNOTIFY_EVENT_PATH);
include/linux/fsnotify.h
189
static inline int fsnotify_truncate_perm(const struct path *path, loff_t length)
include/linux/fsnotify.h
191
struct inode *inode = d_inode(path->dentry);
include/linux/fsnotify.h
198
return fsnotify_pre_content(path, &length, 0);
include/linux/fsnotify.h
227
static inline int fsnotify_truncate_perm(const struct path *path, loff_t length)
include/linux/fsnotify_backend.h
323
const struct path *path;
include/linux/fsnotify_backend.h
328
static inline const struct path *file_range_path(const struct file_range *range)
include/linux/fsnotify_backend.h
330
return range->path;
include/linux/fsnotify_backend.h
346
return d_inode(((const struct path *)data)->dentry);
include/linux/fsnotify_backend.h
363
return ((const struct path *)data)->dentry;
include/linux/fsnotify_backend.h
371
static inline const struct path *fsnotify_data_path(const void *data,
include/linux/fsnotify_backend.h
393
return ((const struct path *)data)->dentry->d_sb;
include/linux/fsnotify_backend.h
925
int fsnotify_pre_content(const struct path *path, const loff_t *ppos,
include/linux/fsnotify_backend.h
930
static inline int fsnotify_pre_content(const struct path *path,
include/linux/interconnect.h
101
static inline void icc_set_tag(struct icc_path *path, u32 tag)
include/linux/interconnect.h
105
static inline const char *icc_get_name(struct icc_path *path)
include/linux/interconnect.h
38
struct icc_path *path;
include/linux/interconnect.h
50
void icc_put(struct icc_path *path);
include/linux/interconnect.h
51
int icc_enable(struct icc_path *path);
include/linux/interconnect.h
52
int icc_disable(struct icc_path *path);
include/linux/interconnect.h
53
int icc_set_bw(struct icc_path *path, u32 avg_bw, u32 peak_bw);
include/linux/interconnect.h
54
void icc_set_tag(struct icc_path *path, u32 tag);
include/linux/interconnect.h
55
const char *icc_get_name(struct icc_path *path);
include/linux/interconnect.h
82
static inline void icc_put(struct icc_path *path)
include/linux/interconnect.h
86
static inline int icc_enable(struct icc_path *path)
include/linux/interconnect.h
91
static inline int icc_disable(struct icc_path *path)
include/linux/interconnect.h
96
static inline int icc_set_bw(struct icc_path *path, u32 avg_bw, u32 peak_bw)
include/linux/kernel_read_file.h
43
ssize_t kernel_read_file_from_path(const char *path, loff_t offset,
include/linux/kernel_read_file.h
47
ssize_t kernel_read_file_from_path_initns(const char *path, loff_t offset,
include/linux/kernfs.h
411
const char *path, const void *ns);
include/linux/kernfs.h
500
kernfs_walk_and_get_ns(struct kernfs_node *parent, const char *path,
include/linux/kernfs.h
616
kernfs_walk_and_get(struct kernfs_node *kn, const char *path)
include/linux/kernfs.h
618
return kernfs_walk_and_get_ns(kn, path, NULL);
include/linux/lsm_audit.h
46
struct path path;
include/linux/lsm_audit.h
82
struct path path;
include/linux/lsm_hook_defs.h
100
LSM_HOOK(int, 0, path_symlink, const struct path *dir, struct dentry *dentry,
include/linux/lsm_hook_defs.h
103
const struct path *new_dir, struct dentry *new_dentry)
include/linux/lsm_hook_defs.h
104
LSM_HOOK(int, 0, path_rename, const struct path *old_dir,
include/linux/lsm_hook_defs.h
105
struct dentry *old_dentry, const struct path *new_dir,
include/linux/lsm_hook_defs.h
107
LSM_HOOK(int, 0, path_chmod, const struct path *path, umode_t mode)
include/linux/lsm_hook_defs.h
108
LSM_HOOK(int, 0, path_chown, const struct path *path, kuid_t uid, kgid_t gid)
include/linux/lsm_hook_defs.h
109
LSM_HOOK(int, 0, path_chroot, const struct path *path)
include/linux/lsm_hook_defs.h
113
LSM_HOOK(int, 0, path_notify, const struct path *path, u64 mask,
include/linux/lsm_hook_defs.h
147
LSM_HOOK(int, 0, inode_getattr, const struct path *path)
include/linux/lsm_hook_defs.h
441
const struct path *path)
include/linux/lsm_hook_defs.h
72
LSM_HOOK(int, 0, sb_mount, const char *dev_name, const struct path *path,
include/linux/lsm_hook_defs.h
75
LSM_HOOK(int, 0, sb_pivotroot, const struct path *old_path,
include/linux/lsm_hook_defs.h
76
const struct path *new_path)
include/linux/lsm_hook_defs.h
82
LSM_HOOK(int, 0, move_mount, const struct path *from_path,
include/linux/lsm_hook_defs.h
83
const struct path *to_path)
include/linux/lsm_hook_defs.h
91
LSM_HOOK(int, 0, path_unlink, const struct path *dir, struct dentry *dentry)
include/linux/lsm_hook_defs.h
92
LSM_HOOK(int, 0, path_mkdir, const struct path *dir, struct dentry *dentry,
include/linux/lsm_hook_defs.h
94
LSM_HOOK(int, 0, path_rmdir, const struct path *dir, struct dentry *dentry)
include/linux/lsm_hook_defs.h
95
LSM_HOOK(int, 0, path_mknod, const struct path *dir, struct dentry *dentry,
include/linux/lsm_hook_defs.h
99
LSM_HOOK(int, 0, path_truncate, const struct path *path)
include/linux/mount.h
106
extern const struct path *collect_paths(const struct path *, struct path *, unsigned);
include/linux/mount.h
107
extern void drop_collected_paths(const struct path *, const struct path *);
include/linux/mount.h
23
struct path;
include/linux/mount.h
78
extern struct vfsmount *mnt_clone_internal(const struct path *path);
include/linux/mount.h
82
extern struct vfsmount *clone_private_mount(const struct path *path);
include/linux/mount.h
96
extern bool path_is_mountpoint(const struct path *path);
include/linux/namei.h
167
extern int follow_down_one(struct path *);
include/linux/namei.h
168
extern int follow_down(struct path *path, unsigned int flags);
include/linux/namei.h
169
extern int follow_up(struct path *);
include/linux/namei.h
206
extern int __must_check nd_jump_link(const struct path *path);
include/linux/namei.h
53
extern int path_pts(struct path *path);
include/linux/namei.h
55
extern int user_path_at(int, const char __user *, unsigned, struct path *);
include/linux/namei.h
60
extern int kern_path(const char *, unsigned, struct path *);
include/linux/namei.h
61
struct dentry *kern_path_parent(const char *name, struct path *parent);
include/linux/namei.h
63
extern struct dentry *start_creating_path(int, const char *, struct path *, unsigned int);
include/linux/namei.h
64
extern struct dentry *start_creating_user_path(int, const char __user *, struct path *, unsigned int);
include/linux/namei.h
65
extern void end_creating_path(const struct path *, struct dentry *);
include/linux/namei.h
66
extern struct dentry *start_removing_path(const char *, struct path *);
include/linux/namei.h
67
extern struct dentry *start_removing_user_path_at(int , const char __user *, struct path *);
include/linux/namei.h
68
static inline void end_removing_path(const struct path *path , struct dentry *dentry)
include/linux/namei.h
70
end_creating_path(path, dentry);
include/linux/namei.h
73
struct path *parent, struct qstr *last, int *type,
include/linux/namei.h
74
const struct path *root);
include/linux/namei.h
76
unsigned int, struct path *);
include/linux/netdevice.h
1663
struct net_device_path *path);
include/linux/netdevice.h
935
struct net_device_path path[NET_DEVICE_PATH_STACK_MAX];
include/linux/nfs_fs.h
450
extern int nfs_getattr(struct mnt_idmap *, const struct path *,
include/linux/nsfs.h
11
struct path;
include/linux/nsfs.h
15
int ns_get_path(struct path *path, struct task_struct *task,
include/linux/nsfs.h
18
int ns_get_path_cb(struct path *path, ns_get_path_helper_t ns_get_cb,
include/linux/of.h
280
extern struct device_node *of_find_node_opts_by_path(const char *path,
include/linux/of.h
282
static inline struct device_node *of_find_node_by_path(const char *path)
include/linux/of.h
284
return of_find_node_opts_by_path(path, NULL);
include/linux/of.h
526
static inline struct device_node *of_find_node_by_path(const char *path)
include/linux/of.h
531
static inline struct device_node *of_find_node_opts_by_path(const char *path,
include/linux/path.h
13
extern void path_get(const struct path *);
include/linux/path.h
14
extern void path_put(const struct path *);
include/linux/path.h
16
static inline int path_equal(const struct path *path1, const struct path *path2)
include/linux/perf_event.h
612
struct path path;
include/linux/pps_kernel.h
25
char path[PPS_MAX_NAME_LEN]; /* path of connected device */
include/linux/proc_ns.h
13
struct path;
include/linux/quota.h
342
struct path;
include/linux/quota.h
431
int (*quota_on)(struct super_block *, int, int, const struct path *);
include/linux/quotaops.h
103
const struct path *path);
include/linux/security.h
2049
int security_path_unlink(const struct path *dir, struct dentry *dentry);
include/linux/security.h
2050
int security_path_mkdir(const struct path *dir, struct dentry *dentry, umode_t mode);
include/linux/security.h
2051
int security_path_rmdir(const struct path *dir, struct dentry *dentry);
include/linux/security.h
2052
int security_path_mknod(const struct path *dir, struct dentry *dentry, umode_t mode,
include/linux/security.h
2055
int security_path_truncate(const struct path *path);
include/linux/security.h
2056
int security_path_symlink(const struct path *dir, struct dentry *dentry,
include/linux/security.h
2058
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
include/linux/security.h
2060
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
include/linux/security.h
2061
const struct path *new_dir, struct dentry *new_dentry,
include/linux/security.h
2063
int security_path_chmod(const struct path *path, umode_t mode);
include/linux/security.h
2064
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid);
include/linux/security.h
2065
int security_path_chroot(const struct path *path);
include/linux/security.h
2067
static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
include/linux/security.h
2072
static inline int security_path_mkdir(const struct path *dir, struct dentry *dentry,
include/linux/security.h
2078
static inline int security_path_rmdir(const struct path *dir, struct dentry *dentry)
include/linux/security.h
2083
static inline int security_path_mknod(const struct path *dir, struct dentry *dentry,
include/linux/security.h
2093
static inline int security_path_truncate(const struct path *path)
include/linux/security.h
2098
static inline int security_path_symlink(const struct path *dir, struct dentry *dentry,
include/linux/security.h
2105
const struct path *new_dir,
include/linux/security.h
2111
static inline int security_path_rename(const struct path *old_dir,
include/linux/security.h
2113
const struct path *new_dir,
include/linux/security.h
2120
static inline int security_path_chmod(const struct path *path, umode_t mode)
include/linux/security.h
2125
static inline int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
include/linux/security.h
2130
static inline int security_path_chroot(const struct path *path)
include/linux/security.h
2277
const struct path *path);
include/linux/security.h
2317
const struct path *path)
include/linux/security.h
376
int security_sb_mount(const char *dev_name, const struct path *path,
include/linux/security.h
379
int security_sb_pivotroot(const struct path *old_path, const struct path *new_path);
include/linux/security.h
388
int security_move_mount(const struct path *from_path, const struct path *to_path);
include/linux/security.h
397
int security_path_notify(const struct path *path, u64 mask,
include/linux/security.h
429
int security_inode_getattr(const struct path *path);
include/linux/security.h
54
struct path;
include/linux/security.h
811
static inline int security_sb_mount(const char *dev_name, const struct path *path,
include/linux/security.h
823
static inline int security_sb_pivotroot(const struct path *old_path,
include/linux/security.h
824
const struct path *new_path)
include/linux/security.h
845
static inline int security_move_mount(const struct path *from_path,
include/linux/security.h
846
const struct path *to_path)
include/linux/security.h
851
static inline int security_path_notify(const struct path *path, u64 mask,
include/linux/security.h
988
static inline int security_inode_getattr(const struct path *path)
include/linux/seq_buf.h
181
extern int seq_buf_path(struct seq_buf *s, const struct path *path, const char *esc);
include/linux/seq_file.h
169
int seq_path(struct seq_file *, const struct path *, const char *);
include/linux/seq_file.h
172
int seq_path_root(struct seq_file *m, const struct path *path,
include/linux/seq_file.h
173
const struct path *root, const char *esc);
include/linux/soc/qcom/geni-se.h
53
struct icc_path *path;
include/linux/string.h
379
static inline const char *kbasename(const char *path)
include/linux/string.h
381
const char *tail = strrchr(path, '/');
include/linux/string.h
382
return tail ? tail + 1 : path;
include/linux/syscalls.h
1192
asmlinkage long sys_readlink(const char __user *path,
include/linux/syscalls.h
341
asmlinkage long sys_setxattr(const char __user *path, const char __user *name,
include/linux/syscalls.h
343
asmlinkage long sys_setxattrat(int dfd, const char __user *path, unsigned int at_flags,
include/linux/syscalls.h
346
asmlinkage long sys_lsetxattr(const char __user *path, const char __user *name,
include/linux/syscalls.h
350
asmlinkage long sys_getxattr(const char __user *path, const char __user *name,
include/linux/syscalls.h
352
asmlinkage long sys_getxattrat(int dfd, const char __user *path, unsigned int at_flags,
include/linux/syscalls.h
355
asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name,
include/linux/syscalls.h
359
asmlinkage long sys_listxattr(const char __user *path, char __user *list,
include/linux/syscalls.h
361
asmlinkage long sys_listxattrat(int dfd, const char __user *path,
include/linux/syscalls.h
364
asmlinkage long sys_llistxattr(const char __user *path, char __user *list,
include/linux/syscalls.h
367
asmlinkage long sys_removexattr(const char __user *path,
include/linux/syscalls.h
369
asmlinkage long sys_removexattrat(int dfd, const char __user *path,
include/linux/syscalls.h
372
asmlinkage long sys_lremovexattr(const char __user *path,
include/linux/syscalls.h
403
asmlinkage long sys_inotify_add_watch(int fd, const char __user *path,
include/linux/syscalls.h
427
asmlinkage long sys_statfs(const char __user * path,
include/linux/syscalls.h
429
asmlinkage long sys_statfs64(const char __user *path, size_t sz,
include/linux/syscalls.h
443
asmlinkage long sys_truncate(const char __user *path, long length);
include/linux/syscalls.h
446
asmlinkage long sys_truncate64(const char __user *path, loff_t length);
include/linux/syscalls.h
523
asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf,
include/linux/syscalls.h
959
asmlinkage long sys_statx(int dfd, const char __user *path, unsigned flags,
include/linux/syscalls.h
964
asmlinkage long sys_open_tree(int dfd, const char __user *path, unsigned flags);
include/linux/syscalls.h
965
asmlinkage long sys_open_tree_attr(int dfd, const char __user *path,
include/linux/syscalls.h
972
asmlinkage long sys_mount_setattr(int dfd, const char __user *path,
include/linux/syscalls.h
979
asmlinkage long sys_fspick(int dfd, const char __user *path, unsigned int flags);
include/linux/sysctl.h
241
#define register_sysctl(path, table) \
include/linux/sysctl.h
242
register_sysctl_sz(path, table, ARRAY_SIZE(table))
include/linux/sysctl.h
255
const char *path, const struct ctl_table *table, size_t table_size);
include/linux/sysctl.h
256
struct ctl_table_header *register_sysctl_sz(const char *path, const struct ctl_table *table,
include/linux/sysctl.h
261
extern void __register_sysctl_init(const char *path, const struct ctl_table *table,
include/linux/sysctl.h
263
#define register_sysctl_init(path, table) \
include/linux/sysctl.h
264
__register_sysctl_init(path, table, #table, ARRAY_SIZE(table))
include/linux/sysctl.h
265
extern struct ctl_table_header *register_sysctl_mount_point(const char *path);
include/linux/sysctl.h
275
static inline void register_sysctl_init(const char *path, const struct ctl_table *table)
include/linux/sysctl.h
279
static inline struct ctl_table_header *register_sysctl_mount_point(const char *path)
include/linux/sysctl.h
284
static inline struct ctl_table_header *register_sysctl_sz(const char *path,
include/linux/trace_seq.h
114
extern int trace_seq_path(struct trace_seq *s, const struct path *path);
include/linux/trace_seq.h
173
static inline int trace_seq_path(struct trace_seq *s, const struct path *path)
include/linux/umh.h
23
const char *path;
include/linux/umh.h
34
call_usermodehelper(const char *path, char **argv, char **envp, int wait);
include/linux/umh.h
37
call_usermodehelper_setup(const char *path, char **argv, char **envp,
include/net/9p/9p.h
366
u64 path;
include/net/af_unix.h
40
struct path path;
include/net/bluetooth/hci.h
2250
__u8 path;
include/net/iucv/af_iucv.h
124
struct iucv_path *path;
include/net/iucv/af_iucv.h
56
struct iucv_path *path;
include/net/iucv/iucv.h
212
struct iucv_path *path;
include/net/iucv/iucv.h
214
path = kzalloc_obj(struct iucv_path, gfp);
include/net/iucv/iucv.h
215
if (path) {
include/net/iucv/iucv.h
216
path->msglim = msglim;
include/net/iucv/iucv.h
217
path->flags = flags;
include/net/iucv/iucv.h
219
return path;
include/net/iucv/iucv.h
226
static inline void iucv_path_free(struct iucv_path *path)
include/net/iucv/iucv.h
228
kfree(path);
include/net/iucv/iucv.h
231
int iucv_path_accept(struct iucv_path *path, struct iucv_handler *handler,
include/net/iucv/iucv.h
234
int iucv_path_connect(struct iucv_path *path, struct iucv_handler *handler,
include/net/iucv/iucv.h
238
int iucv_path_quiesce(struct iucv_path *path, u8 *userdata);
include/net/iucv/iucv.h
240
int iucv_path_resume(struct iucv_path *path, u8 *userdata);
include/net/iucv/iucv.h
242
int iucv_path_sever(struct iucv_path *path, u8 *userdata);
include/net/iucv/iucv.h
244
int iucv_message_purge(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
247
int iucv_message_receive(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
250
int __iucv_message_receive(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
254
int iucv_message_reject(struct iucv_path *path, struct iucv_message *msg);
include/net/iucv/iucv.h
256
int iucv_message_reply(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
259
int iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
262
int __iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
265
int iucv_message_send2way(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
270
int (*message_receive)(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
272
int (*__message_receive)(struct iucv_path *path,
include/net/iucv/iucv.h
275
int (*message_reply)(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
277
int (*message_reject)(struct iucv_path *path, struct iucv_message *msg);
include/net/iucv/iucv.h
278
int (*message_send)(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
280
int (*__message_send)(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
282
int (*message_send2way)(struct iucv_path *path,
include/net/iucv/iucv.h
285
int (*message_purge)(struct iucv_path *path, struct iucv_message *msg,
include/net/iucv/iucv.h
287
int (*path_accept)(struct iucv_path *path, struct iucv_handler *handler,
include/net/iucv/iucv.h
289
int (*path_connect)(struct iucv_path *path,
include/net/iucv/iucv.h
292
int (*path_quiesce)(struct iucv_path *path, u8 userdata[16]);
include/net/iucv/iucv.h
293
int (*path_resume)(struct iucv_path *path, u8 userdata[16]);
include/net/iucv/iucv.h
294
int (*path_sever)(struct iucv_path *path, u8 userdata[16]);
include/net/mac80211.h
4931
struct net_device_path *path);
include/net/net_namespace.h
520
#define register_net_sysctl(net, path, table) \
include/net/net_namespace.h
521
register_net_sysctl_sz(net, path, table, ARRAY_SIZE(table))
include/net/net_namespace.h
524
struct ctl_table_header *register_net_sysctl_sz(struct net *net, const char *path,
include/net/net_namespace.h
530
const char *path, struct ctl_table *table, size_t table_size)
include/net/xfrm.h
1064
struct dst_entry *path;
include/net/xfrm.h
1081
return xdst->path;
include/rdma/ib_cm.h
511
struct sa_path_rec *path;
include/sound/soc-usb.h
117
int direction, enum snd_soc_usb_kctl path,
include/sound/soc-usb.h
60
enum snd_soc_usb_kctl path,
include/sound/soc-usb.h
77
int direction, enum snd_soc_usb_kctl path,
include/trace/events/asoc.h
169
struct snd_soc_dapm_path *path),
include/trace/events/asoc.h
171
TP_ARGS(widget, dir, path),
include/trace/events/asoc.h
175
__string( pname, path->name ? path->name : DAPM_DIRECT)
include/trace/events/asoc.h
176
__string( pnname, path->node[dir]->name )
include/trace/events/asoc.h
186
__entry->path_connect = path->connect;
include/trace/events/asoc.h
187
__entry->path_node = (long)path->node[dir];
include/trace/events/cgroup.h
101
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
103
TP_ARGS(cgrp, path)
include/trace/events/cgroup.h
108
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
110
TP_ARGS(cgrp, path)
include/trace/events/cgroup.h
115
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
117
TP_ARGS(cgrp, path)
include/trace/events/cgroup.h
122
TP_PROTO(struct cgroup *dst_cgrp, const char *path,
include/trace/events/cgroup.h
125
TP_ARGS(dst_cgrp, path, task, threadgroup),
include/trace/events/cgroup.h
132
__string( dst_path, path )
include/trace/events/cgroup.h
152
TP_PROTO(struct cgroup *dst_cgrp, const char *path,
include/trace/events/cgroup.h
155
TP_ARGS(dst_cgrp, path, task, threadgroup)
include/trace/events/cgroup.h
160
TP_PROTO(struct cgroup *dst_cgrp, const char *path,
include/trace/events/cgroup.h
163
TP_ARGS(dst_cgrp, path, task, threadgroup)
include/trace/events/cgroup.h
168
TP_PROTO(struct cgroup *cgrp, const char *path, int val),
include/trace/events/cgroup.h
170
TP_ARGS(cgrp, path, val),
include/trace/events/cgroup.h
176
__string( path, path )
include/trace/events/cgroup.h
184
__assign_str(path);
include/trace/events/cgroup.h
189
__entry->root, __entry->id, __entry->level, __get_str(path),
include/trace/events/cgroup.h
195
TP_PROTO(struct cgroup *cgrp, const char *path, int val),
include/trace/events/cgroup.h
197
TP_ARGS(cgrp, path, val)
include/trace/events/cgroup.h
202
TP_PROTO(struct cgroup *cgrp, const char *path, int val),
include/trace/events/cgroup.h
204
TP_ARGS(cgrp, path, val)
include/trace/events/cgroup.h
56
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
58
TP_ARGS(cgrp, path),
include/trace/events/cgroup.h
64
__string( path, path )
include/trace/events/cgroup.h
71
__assign_str(path);
include/trace/events/cgroup.h
75
__entry->root, __entry->id, __entry->level, __get_str(path))
include/trace/events/cgroup.h
80
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
82
TP_ARGS(cgrp, path)
include/trace/events/cgroup.h
87
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
89
TP_ARGS(cgrp, path)
include/trace/events/cgroup.h
94
TP_PROTO(struct cgroup *cgrp, const char *path),
include/trace/events/cgroup.h
96
TP_ARGS(cgrp, path)
include/trace/events/iocost.h
114
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
118
TP_ARGS(iocg, path, now, old_inuse, new_inuse,
include/trace/events/iocost.h
124
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
128
TP_ARGS(iocg, path, now, old_inuse, new_inuse,
include/trace/events/iocost.h
134
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
138
TP_ARGS(iocg, path, now, old_inuse, new_inuse,
include/trace/events/iocost.h
16
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
183
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
187
TP_ARGS(iocg, path, now, usage_pct,
include/trace/events/iocost.h
19
TP_ARGS(iocg, path, now, last_period, cur_period, vtime),
include/trace/events/iocost.h
192
__string(cgroup, path)
include/trace/events/iocost.h
23
__string(cgroup, path)
include/trace/events/iocost.h
63
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
66
TP_ARGS(iocg, path, now, last_period, cur_period, vtime)
include/trace/events/iocost.h
70
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
73
TP_ARGS(iocg, path, now, last_period, cur_period, vtime)
include/trace/events/iocost.h
78
TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now,
include/trace/events/iocost.h
82
TP_ARGS(iocg, path, now, old_inuse, new_inuse,
include/trace/events/iocost.h
87
__string(cgroup, path)
include/uapi/linux/auto_dev-ioctl.h
112
char path[];
include/uapi/linux/bpf.h
1842
__aligned_u64 path;
include/uapi/linux/bpf.h
6801
__aligned_u64 path;
include/uapi/linux/btrfs.h
261
__u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */
include/uapi/linux/btrfs.h
511
char path[BTRFS_INO_LOOKUP_USER_PATH_MAX];
include/uapi/linux/coda.h
632
int path;
include/uapi/linux/coda.h
743
const char __user *path;
include/uapi/linux/fsl_hypervisor.h
178
__u64 path;
include/uapi/linux/netfilter/xt_bpf.h
35
char path[XT_BPF_PATH_MAX];
include/uapi/linux/netfilter/xt_cgroup.h
18
char path[PATH_MAX];
include/uapi/linux/netfilter/xt_cgroup.h
33
char path[XT_CGROUP_PATH_MAX];
include/video/mmp_disp.h
147
struct mmp_path *path;
include/video/mmp_disp.h
189
int (*check_status)(struct mmp_path *path);
include/video/mmp_disp.h
190
struct mmp_overlay *(*get_overlay)(struct mmp_path *path,
include/video/mmp_disp.h
192
int (*get_modelist)(struct mmp_path *path,
include/video/mmp_disp.h
196
void (*set_mode)(struct mmp_path *path, struct mmp_mode *mode);
include/video/mmp_disp.h
197
void (*set_onoff)(struct mmp_path *path, int status);
include/video/mmp_disp.h
238
static inline void mmp_path_set_mode(struct mmp_path *path,
include/video/mmp_disp.h
241
if (path)
include/video/mmp_disp.h
242
path->ops.set_mode(path, mode);
include/video/mmp_disp.h
244
static inline void mmp_path_set_onoff(struct mmp_path *path, int status)
include/video/mmp_disp.h
246
if (path)
include/video/mmp_disp.h
247
path->ops.set_onoff(path, status);
include/video/mmp_disp.h
249
static inline int mmp_path_get_modelist(struct mmp_path *path,
include/video/mmp_disp.h
252
if (path)
include/video/mmp_disp.h
253
return path->ops.get_modelist(path, modelist);
include/video/mmp_disp.h
257
struct mmp_path *path, int overlay_id)
include/video/mmp_disp.h
259
if (path)
include/video/mmp_disp.h
260
return path->ops.get_overlay(path, overlay_id);
include/video/mmp_disp.h
300
void (*set_mode)(struct mmp_path *path, struct mmp_mode *mode);
include/video/mmp_disp.h
301
void (*set_onoff)(struct mmp_path *path, int status);
include/video/mmp_disp.h
308
extern void mmp_unregister_path(struct mmp_path *path);
include/xen/xenbus.h
205
int xenbus_watch_path(struct xenbus_device *dev, const char *path,
include/xen/xenbus.h
233
const char *path);
include/xen/xenbus.h
70
const char *path, const char *token);
include/xen/xenbus.h
74
const char *path, const char *token);
init/initramfs.c
139
static void __init do_utime_path(const struct path *path, time64_t mtime)
init/initramfs.c
142
vfs_utimes(path, t);
init/initramfs.c
176
static void __init do_utime_path(const struct path *path, time64_t mtime) {}
init/initramfs.c
333
static void __init clean_path(char *path, umode_t fmode)
init/initramfs.c
337
if (!init_stat(path, &st, AT_SYMLINK_NOFOLLOW) &&
init/initramfs.c
340
init_rmdir(path);
init/initramfs.c
342
init_unlink(path);
io_uring/statx.c
26
const char __user *path;
io_uring/statx.c
36
path = u64_to_user_ptr(READ_ONCE(sqe->addr));
io_uring/statx.c
40
ret = delayed_getname_uflags(&sx->filename, path, sx->flags);
io_uring/xattr.c
154
const char __user *path;
io_uring/xattr.c
164
path = u64_to_user_ptr(READ_ONCE(sqe->addr3));
io_uring/xattr.c
166
return delayed_getname(&ix->filename, path);
io_uring/xattr.c
82
const char __user *path;
io_uring/xattr.c
92
path = u64_to_user_ptr(READ_ONCE(sqe->addr3));
io_uring/xattr.c
94
return delayed_getname(&ix->filename, path);
ipc/mqueue.c
903
const struct path path = { .mnt = mnt, .dentry = dentry };
ipc/mqueue.c
904
file = dentry_open(&path, oflag, current_cred());
ipc/util.c
138
void __init ipc_init_proc_interface(const char *path, const char *header,
ipc/util.c
147
iface->path = path;
ipc/util.c
152
pde = proc_create_data(path,
ipc/util.c
74
const char *path;
ipc/util.h
116
void __init ipc_init_proc_interface(const char *path, const char *header,
ipc/util.h
120
#define ipc_init_proc_interface(path, header, ids, show) do {} while (0)
kernel/acct.c
222
struct path internal __free(path_put) = {}; // in that order
kernel/audit.c
2188
const struct path *path)
kernel/audit.c
2201
p = d_path(path, pathname, PATH_MAX+11);
kernel/audit.h
136
struct path pwd;
kernel/audit.h
240
extern int parent_len(const char *path);
kernel/audit.h
241
extern int audit_compare_dname_path(const struct qstr *dname, const char *path, int plen);
kernel/audit.h
275
extern int audit_to_watch(struct audit_krule *krule, char *path, int len,
kernel/audit_fsnotify.c
100
audit_mark->path = pathname;
kernel/audit_fsnotify.c
104
ret = fsnotify_add_inode_mark(&audit_mark->mark, path.dentry->d_inode, 0);
kernel/audit_fsnotify.c
106
audit_mark->path = NULL;
kernel/audit_fsnotify.c
112
path_put(&path);
kernel/audit_fsnotify.c
128
audit_log_untrustedstring(ab, audit_mark->path);
kernel/audit_fsnotify.c
169
if (audit_compare_dname_path(dname, audit_mark->path, AUDIT_NAME_FULL))
kernel/audit_fsnotify.c
29
char *path; /* insertion path */
kernel/audit_fsnotify.c
43
kfree(audit_mark->path);
kernel/audit_fsnotify.c
57
return mark->path;
kernel/audit_fsnotify.c
77
struct path path;
kernel/audit_fsnotify.c
84
dentry = kern_path_parent(pathname, &path);
kernel/audit_tree.c
681
struct path path;
kernel/audit_tree.c
683
const struct path *paths;
kernel/audit_tree.c
684
struct path array[16];
kernel/audit_tree.c
692
err = kern_path(tree->pathname, 0, &path);
kernel/audit_tree.c
696
paths = collect_paths(&path, array, 16);
kernel/audit_tree.c
697
path_put(&path);
kernel/audit_tree.c
706
for (const struct path *p = paths; p->dentry; p++) {
kernel/audit_tree.c
745
static int tag_mounts(const struct path *paths, struct audit_tree *tree)
kernel/audit_tree.c
747
for (const struct path *p = paths; p->dentry; p++) {
kernel/audit_tree.c
808
struct path path;
kernel/audit_tree.c
809
struct path array[16];
kernel/audit_tree.c
810
const struct path *paths;
kernel/audit_tree.c
834
err = kern_path(tree->pathname, 0, &path);
kernel/audit_tree.c
837
paths = collect_paths(&path, array, 16);
kernel/audit_tree.c
838
path_put(&path);
kernel/audit_tree.c
880
struct path path1, path2;
kernel/audit_tree.c
881
struct path array[16];
kernel/audit_tree.c
882
const struct path *paths;
kernel/audit_watch.c
110
kfree(watch->path);
kernel/audit_watch.c
125
return watch->path;
kernel/audit_watch.c
136
static struct audit_parent *audit_init_parent(const struct path *path)
kernel/audit_watch.c
138
struct inode *inode = d_backing_inode(path->dentry);
kernel/audit_watch.c
160
static struct audit_watch *audit_init_watch(char *path)
kernel/audit_watch.c
170
watch->path = path;
kernel/audit_watch.c
178
int audit_to_watch(struct audit_krule *krule, char *path, int len, u32 op)
kernel/audit_watch.c
185
if (path[0] != '/' || path[len-1] == '/' ||
kernel/audit_watch.c
192
watch = audit_init_watch(path);
kernel/audit_watch.c
205
char *path;
kernel/audit_watch.c
208
path = kstrdup(old->path, GFP_KERNEL);
kernel/audit_watch.c
209
if (unlikely(!path))
kernel/audit_watch.c
212
new = audit_init_watch(path);
kernel/audit_watch.c
214
kfree(path);
kernel/audit_watch.c
238
audit_log_untrustedstring(ab, w->path);
kernel/audit_watch.c
257
if (audit_compare_dname_path(dname, owatch->path,
kernel/audit_watch.c
348
static int audit_get_nd(struct audit_watch *watch, struct path *parent)
kernel/audit_watch.c
352
d = kern_path_parent(watch->path, parent);
kernel/audit_watch.c
377
if (strcmp(watch->path, w->path))
kernel/audit_watch.c
39
char *path; /* insertion path */
kernel/audit_watch.c
407
struct path parent_path;
kernel/auditfilter.c
1277
int parent_len(const char *path)
kernel/auditfilter.c
1282
plen = strlen(path);
kernel/auditfilter.c
1288
p = path + plen - 1;
kernel/auditfilter.c
1289
while ((*p == '/') && (p > path))
kernel/auditfilter.c
1293
while ((*p != '/') && (p > path))
kernel/auditfilter.c
1300
return p - path;
kernel/auditfilter.c
1311
int audit_compare_dname_path(const struct qstr *dname, const char *path, int parentlen)
kernel/auditfilter.c
1317
pathlen = strlen(path);
kernel/auditfilter.c
1322
parentlen = parent_len(path);
kernel/auditfilter.c
1324
p = path + parentlen;
kernel/auditsc.c
1499
const struct path *path, int record_num, int *call_panic)
kernel/auditsc.c
1509
if (path)
kernel/auditsc.c
1510
audit_log_d_path(ab, " name=", path);
kernel/bpf/inode.c
436
struct path path;
kernel/bpf/inode.c
440
dentry = start_creating_user_path(path_fd, pathname, &path, 0);
kernel/bpf/inode.c
444
dir = d_inode(path.dentry);
kernel/bpf/inode.c
451
ret = security_path_mknod(&path, dentry, mode, 0);
kernel/bpf/inode.c
469
end_creating_path(&path, dentry);
kernel/bpf/inode.c
494
struct path path;
kernel/bpf/inode.c
498
ret = user_path_at(path_fd, pathname, LOOKUP_FOLLOW, &path);
kernel/bpf/inode.c
502
inode = d_backing_inode(path.dentry);
kernel/bpf/inode.c
503
ret = path_permission(&path, ACC_MODE(flags));
kernel/bpf/inode.c
513
touch_atime(&path);
kernel/bpf/inode.c
515
path_put(&path);
kernel/bpf/inode.c
518
path_put(&path);
kernel/bpf/inode.c
581
struct path path;
kernel/bpf/inode.c
582
int ret = kern_path(name, LOOKUP_FOLLOW, &path);
kernel/bpf/inode.c
585
prog = __get_prog_inode(d_backing_inode(path.dentry), type);
kernel/bpf/inode.c
587
touch_atime(&path);
kernel/bpf/inode.c
588
path_put(&path);
kernel/bpf/offload.c
461
struct path ns_path;
kernel/bpf/offload.c
671
struct path ns_path;
kernel/bpf/token.c
119
struct path path;
kernel/bpf/token.c
127
path = fd_file(f)->f_path;
kernel/bpf/token.c
128
sb = path.dentry->d_sb;
kernel/bpf/token.c
130
if (path.dentry != sb->s_root)
kernel/bpf/token.c
134
err = path_permission(&path, MAY_ACCESS);
kernel/bpf/token.c
170
alloc_file_pseudo(inode, path.mnt, BPF_TOKEN_INODE_NAME,
kernel/bpf/token.c
188
err = security_bpf_token_create(token, attr, &path);
kernel/cgroup/cgroup.c
7291
struct cgroup *cgroup_get_from_path(const char *path)
kernel/cgroup/cgroup.c
7298
kn = kernfs_walk_and_get(root_cgrp->kn, path);
kernel/events/core.c
11762
path_put(&filter->path);
kernel/events/core.c
11857
if (filter->path.dentry) {
kernel/events/core.c
12056
&filter->path);
kernel/events/core.c
12061
if (!filter->path.dentry ||
kernel/events/core.c
12062
!S_ISREG(d_inode(filter->path.dentry)
kernel/events/core.c
8977
if (filter->path.dentry) {
kernel/events/core.c
9409
struct path ns_path;
kernel/events/core.c
9486
char *path;
kernel/events/core.c
9491
char path[];
kernel/events/core.c
9519
__output_copy(&handle, cgroup_event->path, cgroup_event->path_size);
kernel/events/core.c
9551
cgroup_event.path = path_enomem;
kernel/events/core.c
9555
cgroup_event.path = pathname;
kernel/events/core.c
9563
size = strlen(cgroup_event.path) + 1;
kernel/events/core.c
9565
cgroup_event.path[size++] = '\0';
kernel/events/core.c
9800
if (!filter->path.dentry)
kernel/events/core.c
9803
if (d_inode(filter->path.dentry) != file_user_inode(file))
kernel/gcov/fs.c
413
static char *link_target(const char *dir, const char *path, const char *ext)
kernel/gcov/fs.c
419
copy = kstrdup(path, GFP_KERNEL);
kernel/sched/debug.c
800
static void task_group_path(struct task_group *tg, char *path, int plen)
kernel/sched/debug.c
802
if (autogroup_path(tg, path, plen))
kernel/sched/debug.c
805
cgroup_path(tg->css.cgroup, path, plen);
kernel/trace/bpf_trace.c
2917
struct path path;
kernel/trace/bpf_trace.c
2949
path_put(&umulti_link->path);
kernel/trace/bpf_trace.c
2967
u64 __user *upath = u64_to_user_ptr(info->uprobe_multi.path);
kernel/trace/bpf_trace.c
2991
p = d_path(&umulti_link->path, buf, upath_size);
kernel/trace/bpf_trace.c
3042
p = d_path(&umulti_link->path, buf, PATH_MAX);
kernel/trace/bpf_trace.c
3183
struct path path;
kernel/trace/bpf_trace.c
3206
upath = u64_to_user_ptr(attr->link_create.uprobe_multi.path);
kernel/trace/bpf_trace.c
3225
err = kern_path(name, LOOKUP_FOLLOW, &path);
kernel/trace/bpf_trace.c
3230
if (!d_is_reg(path.dentry)) {
kernel/trace/bpf_trace.c
3285
link->path = path;
kernel/trace/bpf_trace.c
3293
uprobes[i].uprobe = uprobe_register(d_real_inode(link->path.dentry),
kernel/trace/bpf_trace.c
3319
path_put(&path);
kernel/trace/bpf_trace.c
902
BPF_CALL_3(bpf_d_path, const struct path *, path, char *, buf, u32, sz)
kernel/trace/bpf_trace.c
904
struct path copy;
kernel/trace/bpf_trace.c
916
len = copy_from_kernel_nofault(&copy, path, sizeof(*path));
kernel/trace/bpf_trace.c
960
BTF_ID_LIST_SINGLE(bpf_d_path_btf_ids, struct, path)
kernel/trace/trace_event_perf.c
302
char *path = NULL;
kernel/trace/trace_event_perf.c
308
path = strndup_user(u64_to_user_ptr(p_event->attr.uprobe_path),
kernel/trace/trace_event_perf.c
310
if (IS_ERR(path)) {
kernel/trace/trace_event_perf.c
311
ret = PTR_ERR(path);
kernel/trace/trace_event_perf.c
314
if (path[0] == '\0') {
kernel/trace/trace_event_perf.c
319
tp_event = create_local_trace_uprobe(path, p_event->attr.probe_offset,
kernel/trace/trace_event_perf.c
337
kfree(path);
kernel/trace/trace_seq.c
349
int trace_seq_path(struct trace_seq *s, const struct path *path)
kernel/trace/trace_seq.c
363
seq_buf_path(&s->seq, path, "\n");
kernel/trace/trace_uprobe.c
1104
struct inode *inode = d_real_inode(tu->path.dentry);
kernel/trace/trace_uprobe.c
1629
struct path path;
kernel/trace/trace_uprobe.c
1632
ret = kern_path(name, LOOKUP_FOLLOW, &path);
kernel/trace/trace_uprobe.c
1636
if (!d_is_reg(path.dentry)) {
kernel/trace/trace_uprobe.c
1637
path_put(&path);
kernel/trace/trace_uprobe.c
1652
path_put(&path);
kernel/trace/trace_uprobe.c
1657
tu->path = path;
kernel/trace/trace_uprobe.c
374
path_put(&tu->path);
kernel/trace/trace_uprobe.c
421
struct inode *comp_inode = d_real_inode(comp->path.dentry);
kernel/trace/trace_uprobe.c
425
if (comp_inode != d_real_inode(orig->path.dentry) ||
kernel/trace/trace_uprobe.c
484
struct inode *new_inode = d_real_inode(new->path.dentry);
kernel/trace/trace_uprobe.c
487
if (new_inode == d_real_inode(tmp->path.dentry) &&
kernel/trace/trace_uprobe.c
548
struct path path __free(path_put) = {};
kernel/trace/trace_uprobe.c
599
ret = kern_path(filename, LOOKUP_FOLLOW, &path);
kernel/trace/trace_uprobe.c
604
if (!d_is_reg(path.dentry)) {
kernel/trace/trace_uprobe.c
63
struct path path;
kernel/trace/trace_uprobe.c
697
tu->path = path;
kernel/trace/trace_uprobe.c
699
memset(&path, 0, sizeof(path));
kernel/umh.c
109
retval = kernel_execve(sub_info->path,
kernel/umh.c
355
struct subprocess_info *call_usermodehelper_setup(const char *path, char **argv,
kernel/umh.c
369
sub_info->path = CONFIG_STATIC_USERMODEHELPER_PATH;
kernel/umh.c
371
sub_info->path = path;
kernel/umh.c
407
if (!sub_info->path) {
kernel/umh.c
422
if (strlen(sub_info->path) == 0)
kernel/umh.c
482
int call_usermodehelper(const char *path, char **argv, char **envp, int wait)
kernel/umh.c
487
info = call_usermodehelper_setup(path, argv, envp, gfp_mask,
lib/dynamic_debug.c
81
static inline const char *trim_prefix(const char *path)
lib/dynamic_debug.c
85
if (strncmp(path, __FILE__, skip))
lib/dynamic_debug.c
88
return path + skip;
lib/earlycpio.c
119
!memcmp(p, path, mypathsize)) {
lib/earlycpio.c
59
struct cpio_data find_cpio_data(const char *path, void *data,
lib/earlycpio.c
67
size_t mypathsize = strlen(path);
lib/kobject.c
124
static int fill_kobj_path(const struct kobject *kobj, char *path, int length)
lib/kobject.c
135
memcpy(path + length, kobject_name(parent), cur);
lib/kobject.c
136
*(path + --length) = '/';
lib/kobject.c
140
kobj, __func__, path);
lib/kobject.c
154
char *path;
lib/kobject.c
161
path = kzalloc(len, gfp_mask);
lib/kobject.c
162
if (!path)
lib/kobject.c
164
if (fill_kobj_path(kobj, path, len)) {
lib/kobject.c
165
kfree(path);
lib/kobject.c
169
return path;
lib/seq_buf.c
312
int seq_buf_path(struct seq_buf *s, const struct path *path, const char *esc)
lib/seq_buf.c
321
char *p = d_path(path, buf, size);
lib/tests/stackinit_kunit.c
458
static int noinline __leaf_switch_none(int path, bool fill)
lib/tests/stackinit_kunit.c
460
switch (path) {
mm/damon/sysfs-schemes.c
1040
char *path;
mm/damon/sysfs-schemes.c
1191
return sysfs_emit(buf, "%s\n", goal->path ? goal->path : "");
mm/damon/sysfs-schemes.c
1199
char *path = kmalloc_array(size_add(count, 1), sizeof(*path),
mm/damon/sysfs-schemes.c
1202
if (!path)
mm/damon/sysfs-schemes.c
1205
strscpy(path, buf, count + 1);
mm/damon/sysfs-schemes.c
1206
kfree(goal->path);
mm/damon/sysfs-schemes.c
1207
goal->path = path;
mm/damon/sysfs-schemes.c
1216
kfree(goal->path);
mm/damon/sysfs-schemes.c
1233
__ATTR_RW_MODE(path, 0600);
mm/damon/sysfs-schemes.c
2489
char *memcg_path_buf, char *path)
mm/damon/sysfs-schemes.c
2493
if (sysfs_streq(memcg_path_buf, path))
mm/damon/sysfs-schemes.c
2502
char *path;
mm/damon/sysfs-schemes.c
2508
path = kmalloc_array(PATH_MAX, sizeof(*path), GFP_KERNEL);
mm/damon/sysfs-schemes.c
2509
if (!path)
mm/damon/sysfs-schemes.c
2517
if (damon_sysfs_memcg_path_eq(memcg, path, memcg_path)) {
mm/damon/sysfs-schemes.c
2524
kfree(path);
mm/damon/sysfs-schemes.c
2604
sysfs_goal->path, &goal->memcg_id);
mm/damon/sysfs-schemes.c
546
char *path = kmalloc_array(size_add(count, 1), sizeof(*path),
mm/damon/sysfs-schemes.c
549
if (!path)
mm/damon/sysfs-schemes.c
552
strscpy(path, buf, count + 1);
mm/damon/sysfs-schemes.c
554
filter->memcg_path = path;
mm/filemap.c
4216
char *path;
mm/filemap.c
4220
path = file_path(filp, pathname, sizeof(pathname));
mm/filemap.c
4221
if (IS_ERR(path))
mm/filemap.c
4222
path = "(unknown)";
mm/filemap.c
4224
pr_crit("File: %s PID: %d Comm: %.20s\n", path, current->pid,
mm/shmem.c
1284
const struct path *path, struct kstat *stat,
mm/shmem.c
1287
struct inode *inode = path->dentry->d_inode;
mm/vmscan.c
5421
const char *path = memcg ? m->private : "";
mm/vmscan.c
5427
seq_printf(m, "memcg %llu %s\n", mem_cgroup_id(memcg), path);
net/8021q/vlan_dev.c
749
struct net_device_path *path)
net/8021q/vlan_dev.c
753
path->type = DEV_PATH_VLAN;
net/8021q/vlan_dev.c
754
path->encap.id = vlan->vlan_id;
net/8021q/vlan_dev.c
755
path->encap.proto = vlan->vlan_proto;
net/8021q/vlan_dev.c
756
path->dev = ctx->dev;
net/9p/client.c
1017
qid.type, qid.path, qid.version);
net/9p/client.c
1082
wqids[count].path,
net/9p/client.c
1138
qid.path, qid.version, iounit);
net/9p/client.c
1182
qid->type, qid->path, qid->version, iounit);
net/9p/client.c
1225
qid.type, qid.path, qid.version, iounit);
net/9p/client.c
1263
qid->type, qid->path, qid->version);
net/9p/client.c
1642
ret->size, ret->type, ret->dev, ret->qid.type, ret->qid.path,
net/9p/client.c
1700
ret->qid.type, ret->qid.path, ret->qid.version,
net/9p/client.c
1766
wst->qid.path, wst->qid.version,
net/9p/client.c
2071
qid->type, qid->path, qid->version);
net/9p/client.c
2100
qid->path, qid->version);
net/9p/protocol.c
352
&qid->path);
net/9p/protocol.c
590
qid->path);
net/ax25/sysctl_net_ax25.c
148
char path[sizeof("net/ax25/") + IFNAMSIZ];
net/ax25/sysctl_net_ax25.c
160
snprintf(path, sizeof(path), "net/ax25/%s", ax25_dev->dev->name);
net/ax25/sysctl_net_ax25.c
161
ax25_dev->sysheader = register_net_sysctl_sz(&init_net, path, table,
net/bluetooth/hci_conn.c
2039
cmd.path = 0x00; /* HCI path if enabled */
net/bluetooth/hci_conn.c
2050
cmd.path = 0x00; /* HCI path if enabled */
net/bridge/br_device.c
386
struct net_device_path *path)
net/bridge/br_device.c
397
br_vlan_fill_forward_path_pvid(br, ctx, path);
net/bridge/br_device.c
399
f = br_fdb_find_rcu(br, ctx->daddr, path->bridge.vlan_id);
net/bridge/br_device.c
407
if (br_vlan_fill_forward_path_mode(br, dst, path))
net/bridge/br_device.c
410
path->type = DEV_PATH_BRIDGE;
net/bridge/br_device.c
411
path->dev = dst->br->dev;
net/bridge/br_device.c
414
switch (path->bridge.vlan_mode) {
net/bridge/br_device.c
418
ctx->vlan[ctx->num_vlans].id = path->bridge.vlan_id;
net/bridge/br_device.c
419
ctx->vlan[ctx->num_vlans].proto = path->bridge.vlan_proto;
net/bridge/br_private.h
1630
struct net_device_path *path);
net/bridge/br_private.h
1633
struct net_device_path *path);
net/bridge/br_private.h
1799
struct net_device_path *path)
net/bridge/br_private.h
1805
struct net_device_path *path)
net/bridge/br_vlan.c
1449
struct net_device_path *path)
net/bridge/br_vlan.c
1455
path->bridge.vlan_mode = DEV_PATH_BR_VLAN_KEEP;
net/bridge/br_vlan.c
1466
path->bridge.vlan_mode = DEV_PATH_BR_VLAN_TAG;
net/bridge/br_vlan.c
1470
path->bridge.vlan_id = vid;
net/bridge/br_vlan.c
1471
path->bridge.vlan_proto = br->vlan_proto;
net/bridge/br_vlan.c
1476
struct net_device_path *path)
net/bridge/br_vlan.c
1485
v = br_vlan_find(vg, path->bridge.vlan_id);
net/bridge/br_vlan.c
1492
if (path->bridge.vlan_mode == DEV_PATH_BR_VLAN_TAG)
net/bridge/br_vlan.c
1493
path->bridge.vlan_mode = DEV_PATH_BR_VLAN_KEEP;
net/bridge/br_vlan.c
1495
path->bridge.vlan_mode = DEV_PATH_BR_VLAN_UNTAG_HW;
net/bridge/br_vlan.c
1497
path->bridge.vlan_mode = DEV_PATH_BR_VLAN_UNTAG;
net/core/dev.c
750
return &stack->path[k];
net/core/dev.c
760
struct net_device_path *path;
net/core/dev.c
767
path = dev_fwd_path(stack);
net/core/dev.c
768
if (!path)
net/core/dev.c
771
memset(path, 0, sizeof(struct net_device_path));
net/core/dev.c
772
ret = ctx.dev->netdev_ops->ndo_fill_forward_path(&ctx, path);
net/core/dev.c
783
path = dev_fwd_path(stack);
net/core/dev.c
784
if (!path)
net/core/dev.c
786
path->type = DEV_PATH_ETHERNET;
net/core/dev.c
787
path->dev = ctx.dev;
net/dsa/user.c
2547
struct net_device_path *path)
net/dsa/user.c
2553
path->dev = ctx->dev;
net/dsa/user.c
2554
path->type = DEV_PATH_DSA;
net/dsa/user.c
2555
path->dsa.proto = cpu_dp->tag_ops->proto;
net/dsa/user.c
2556
path->dsa.port = dp->index;
net/hsr/hsr_main.h
103
static inline void set_hsr_stag_path(struct hsr_sup_tag *hst, u16 path)
net/hsr/hsr_main.h
105
set_hsr_tag_path((struct hsr_tag *)hst, path);
net/hsr/hsr_main.h
63
static inline void set_hsr_tag_path(struct hsr_tag *ht, u16 path)
net/hsr/hsr_main.h
66
htons((ntohs(ht->path_and_LSDU_size) & 0x0FFF) | (path << 12));
net/ipv4/devinet.c
2663
char path[sizeof("net/ipv4/conf/") + IFNAMSIZ];
net/ipv4/devinet.c
2675
snprintf(path, sizeof(path), "net/ipv4/conf/%s", dev_name);
net/ipv4/devinet.c
2677
t->sysctl_header = register_net_sysctl(net, path, t->devinet_vars);
net/ipv4/ipip.c
357
struct net_device_path *path)
net/ipv4/ipip.c
368
path->type = DEV_PATH_TUN;
net/ipv4/ipip.c
369
path->tun.src_v4.s_addr = tiph->saddr;
net/ipv4/ipip.c
370
path->tun.dst_v4.s_addr = tiph->daddr;
net/ipv4/ipip.c
371
path->tun.l3_proto = IPPROTO_IPIP;
net/ipv4/ipip.c
372
path->dev = ctx->dev;
net/ipv4/xfrm4_policy.c
101
struct dst_entry *path = xdst->route;
net/ipv4/xfrm4_policy.c
103
path->ops->update_pmtu(path, sk, skb, mtu, confirm_neigh);
net/ipv4/xfrm4_policy.c
110
struct dst_entry *path = xdst->route;
net/ipv4/xfrm4_policy.c
112
path->ops->redirect(path, sk, skb);
net/ipv6/addrconf.c
7307
char path[sizeof("net/ipv6/conf/") + IFNAMSIZ];
net/ipv6/addrconf.c
7325
snprintf(path, sizeof(path), "net/ipv6/conf/%s", dev_name);
net/ipv6/addrconf.c
7327
p->sysctl_header = register_net_sysctl_sz(net, path, table,
net/ipv6/ip6_tunnel.c
1837
struct net_device_path *path)
net/ipv6/ip6_tunnel.c
1848
path->type = DEV_PATH_TUN;
net/ipv6/ip6_tunnel.c
1849
path->tun.src_v6 = t->parms.laddr;
net/ipv6/ip6_tunnel.c
1850
path->tun.dst_v6 = t->parms.raddr;
net/ipv6/ip6_tunnel.c
1851
path->tun.l3_proto = IPPROTO_IPV6;
net/ipv6/ip6_tunnel.c
1852
path->dev = ctx->dev;
net/ipv6/xfrm6_policy.c
112
struct dst_entry *path = xdst->route;
net/ipv6/xfrm6_policy.c
114
path->ops->update_pmtu(path, sk, skb, mtu, confirm_neigh);
net/ipv6/xfrm6_policy.c
121
struct dst_entry *path = xdst->route;
net/ipv6/xfrm6_policy.c
123
path->ops->redirect(path, sk, skb);
net/iucv/af_iucv.c
1038
if (((iucv->path->flags & IUCV_IPRMDATA) & iucv->flags) &&
net/iucv/af_iucv.c
1040
err = iucv_send_iprm(iucv->path, &txmsg, skb);
net/iucv/af_iucv.c
1053
pr_iucv->path_sever(iucv->path, NULL);
net/iucv/af_iucv.c
1072
err = pr_iucv->message_send(iucv->path, &txmsg,
net/iucv/af_iucv.c
1076
err = pr_iucv->message_send(iucv->path, &txmsg,
net/iucv/af_iucv.c
1142
struct iucv_path *path,
net/iucv/af_iucv.c
1173
rc = pr_iucv->message_receive(path, msg,
net/iucv/af_iucv.c
1177
rc = pr_iucv->message_receive(path, msg,
net/iucv/af_iucv.c
1212
iucv_process_message(sk, skb, p->path, &p->msg);
net/iucv/af_iucv.c
1430
err = pr_iucv->message_send(iucv->path, &txmsg,
net/iucv/af_iucv.c
1452
iucv->path) {
net/iucv/af_iucv.c
1453
err = pr_iucv->path_quiesce(iucv->path, NULL);
net/iucv/af_iucv.c
1560
val = (iucv->path != NULL) ? iucv->path->msglim /* connected */
net/iucv/af_iucv.c
1585
static int iucv_callback_connreq(struct iucv_path *path,
net/iucv/af_iucv.c
1623
err = pr_iucv->path_sever(path, user_data);
net/iucv/af_iucv.c
1624
iucv_path_free(path);
net/iucv/af_iucv.c
1630
err = pr_iucv->path_sever(path, user_data);
net/iucv/af_iucv.c
1631
iucv_path_free(path);
net/iucv/af_iucv.c
1638
err = pr_iucv->path_sever(path, user_data);
net/iucv/af_iucv.c
1639
iucv_path_free(path);
net/iucv/af_iucv.c
1654
niucv->path = path;
net/iucv/af_iucv.c
1663
path->msglim = iucv->msglimit;
net/iucv/af_iucv.c
1664
err = pr_iucv->path_accept(path, &af_iucv_handler, nuser_data, nsk);
net/iucv/af_iucv.c
1682
static void iucv_callback_connack(struct iucv_path *path, u8 ipuser[16])
net/iucv/af_iucv.c
1684
struct sock *sk = path->private;
net/iucv/af_iucv.c
1690
static void iucv_callback_rx(struct iucv_path *path, struct iucv_message *msg)
net/iucv/af_iucv.c
1692
struct sock *sk = path->private;
net/iucv/af_iucv.c
1699
pr_iucv->message_reject(path, msg);
net/iucv/af_iucv.c
170
return (atomic_read(&iucv->skbs_in_xmit) < iucv->path->msglim);
net/iucv/af_iucv.c
1718
iucv_process_message(sk, skb, path, msg);
net/iucv/af_iucv.c
1725
save_msg->path = path;
net/iucv/af_iucv.c
1734
static void iucv_callback_txdone(struct iucv_path *path,
net/iucv/af_iucv.c
1737
struct sock *sk = path->private;
net/iucv/af_iucv.c
1779
static void iucv_callback_connrej(struct iucv_path *path, u8 ipuser[16])
net/iucv/af_iucv.c
1781
struct sock *sk = path->private;
net/iucv/af_iucv.c
1797
static void iucv_callback_shutdown(struct iucv_path *path, u8 ipuser[16])
net/iucv/af_iucv.c
1799
struct sock *sk = path->private;
net/iucv/af_iucv.c
336
struct iucv_path *path = iucv->path;
net/iucv/af_iucv.c
339
if (xchg(&iucv->path, NULL)) {
net/iucv/af_iucv.c
344
pr_iucv->path_sever(path, user_data);
net/iucv/af_iucv.c
346
pr_iucv->path_sever(path, NULL);
net/iucv/af_iucv.c
347
iucv_path_free(path);
net/iucv/af_iucv.c
473
iucv->path = NULL;
net/iucv/af_iucv.c
593
if (iucv->path)
net/iucv/af_iucv.c
683
iucv->path = iucv_path_alloc(iucv->msglimit,
net/iucv/af_iucv.c
685
if (!iucv->path) {
net/iucv/af_iucv.c
689
err = pr_iucv->path_connect(iucv->path, &af_iucv_handler,
net/iucv/af_iucv.c
693
iucv_path_free(iucv->path);
net/iucv/af_iucv.c
694
iucv->path = NULL;
net/iucv/af_iucv.c
888
static int iucv_send_iprm(struct iucv_path *path, struct iucv_message *msg,
net/iucv/af_iucv.c
895
return pr_iucv->message_send(path, msg, IUCV_IPRMDATA, 0,
net/iucv/iucv.c
1008
parm->ctrl.ippathid = path->pathid;
net/iucv/iucv.c
1023
int iucv_path_sever(struct iucv_path *path, u8 *userdata)
net/iucv/iucv.c
1034
rc = iucv_sever_pathid(path->pathid, userdata);
net/iucv/iucv.c
1035
iucv_path_table[path->pathid] = NULL;
net/iucv/iucv.c
1036
list_del_init(&path->list);
net/iucv/iucv.c
1054
int iucv_message_purge(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1067
parm->purge.ippathid = path->pathid;
net/iucv/iucv.c
1096
static int iucv_message_receive_iprmdata(struct iucv_path *path,
net/iucv/iucv.c
1146
int __iucv_message_receive(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1153
return iucv_message_receive_iprmdata(path, msg, flags,
net/iucv/iucv.c
1163
parm->db.ippathid = path->pathid;
net/iucv/iucv.c
1195
int iucv_message_receive(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1201
return iucv_message_receive_iprmdata(path, msg, flags,
net/iucv/iucv.c
1204
rc = __iucv_message_receive(path, msg, flags, buffer, size, residual);
net/iucv/iucv.c
1222
int iucv_message_reject(struct iucv_path *path, struct iucv_message *msg)
net/iucv/iucv.c
1234
parm->db.ippathid = path->pathid;
net/iucv/iucv.c
1261
int iucv_message_reply(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1275
parm->dpl.ippathid = path->pathid;
net/iucv/iucv.c
1283
parm->db.ippathid = path->pathid;
net/iucv/iucv.c
1313
int __iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1327
parm->dpl.ippathid = path->pathid;
net/iucv/iucv.c
1336
parm->db.ippathid = path->pathid;
net/iucv/iucv.c
1368
int iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1374
rc = __iucv_message_send(path, msg, flags, srccls, buffer, size);
net/iucv/iucv.c
1401
int iucv_message_send2way(struct iucv_path *path, struct iucv_message *msg,
net/iucv/iucv.c
1416
parm->dpl.ippathid = path->pathid;
net/iucv/iucv.c
1417
parm->dpl.ipflags1 = path->flags; /* priority message */
net/iucv/iucv.c
1425
parm->db.ippathid = path->pathid;
net/iucv/iucv.c
1426
parm->db.ipflags1 = path->flags; /* priority message */
net/iucv/iucv.c
1468
struct iucv_path *path;
net/iucv/iucv.c
1474
path = iucv_path_alloc(ipp->ipmsglim, ipp->ipflags1, GFP_ATOMIC);
net/iucv/iucv.c
1475
if (!path)
net/iucv/iucv.c
1477
path->pathid = ipp->ippathid;
net/iucv/iucv.c
1478
iucv_path_table[path->pathid] = path;
net/iucv/iucv.c
1490
list_add(&path->list, &handler->paths);
net/iucv/iucv.c
1491
path->handler = handler;
net/iucv/iucv.c
1492
if (!handler->path_pending(path, ipp->ipvmid, ipp->ipuser))
net/iucv/iucv.c
1494
list_del(&path->list);
net/iucv/iucv.c
1495
path->handler = NULL;
net/iucv/iucv.c
1498
iucv_path_table[path->pathid] = NULL;
net/iucv/iucv.c
1499
iucv_path_free(path);
net/iucv/iucv.c
1528
struct iucv_path *path = iucv_path_table[ipc->ippathid];
net/iucv/iucv.c
1530
if (path)
net/iucv/iucv.c
1531
path->flags = ipc->ipflags1;
net/iucv/iucv.c
1532
if (path && path->handler && path->handler->path_complete)
net/iucv/iucv.c
1533
path->handler->path_complete(path, ipc->ipuser);
net/iucv/iucv.c
1558
struct iucv_path *path = iucv_path_table[ips->ippathid];
net/iucv/iucv.c
1560
if (!path || !path->handler) /* Already severed */
net/iucv/iucv.c
1562
if (path->handler->path_severed)
net/iucv/iucv.c
1563
path->handler->path_severed(path, ips->ipuser);
net/iucv/iucv.c
1565
iucv_sever_pathid(path->pathid, NULL);
net/iucv/iucv.c
1566
iucv_path_table[path->pathid] = NULL;
net/iucv/iucv.c
1567
list_del(&path->list);
net/iucv/iucv.c
1568
iucv_path_free(path);
net/iucv/iucv.c
1594
struct iucv_path *path = iucv_path_table[ipq->ippathid];
net/iucv/iucv.c
1596
if (path && path->handler && path->handler->path_quiesced)
net/iucv/iucv.c
1597
path->handler->path_quiesced(path, ipq->ipuser);
net/iucv/iucv.c
1622
struct iucv_path *path = iucv_path_table[ipr->ippathid];
net/iucv/iucv.c
1624
if (path && path->handler && path->handler->path_resumed)
net/iucv/iucv.c
1625
path->handler->path_resumed(path, ipr->ipuser);
net/iucv/iucv.c
1653
struct iucv_path *path = iucv_path_table[imc->ippathid];
net/iucv/iucv.c
1656
if (path && path->handler && path->handler->message_complete) {
net/iucv/iucv.c
1664
path->handler->message_complete(path, &msg);
net/iucv/iucv.c
1700
struct iucv_path *path = iucv_path_table[imp->ippathid];
net/iucv/iucv.c
1703
if (path && path->handler && path->handler->message_pending) {
net/iucv/iucv.c
1713
path->handler->message_pending(path, &msg);
net/iucv/iucv.c
850
int iucv_path_accept(struct iucv_path *path, struct iucv_handler *handler,
net/iucv/iucv.c
864
parm->ctrl.ippathid = path->pathid;
net/iucv/iucv.c
865
parm->ctrl.ipmsglim = path->msglim;
net/iucv/iucv.c
868
parm->ctrl.ipflags1 = path->flags;
net/iucv/iucv.c
872
path->private = private;
net/iucv/iucv.c
873
path->msglim = parm->ctrl.ipmsglim;
net/iucv/iucv.c
874
path->flags = parm->ctrl.ipflags1;
net/iucv/iucv.c
898
int iucv_path_connect(struct iucv_path *path, struct iucv_handler *handler,
net/iucv/iucv.c
913
parm->ctrl.ipmsglim = path->msglim;
net/iucv/iucv.c
914
parm->ctrl.ipflags1 = path->flags;
net/iucv/iucv.c
932
path->pathid = parm->ctrl.ippathid;
net/iucv/iucv.c
933
path->msglim = parm->ctrl.ipmsglim;
net/iucv/iucv.c
934
path->flags = parm->ctrl.ipflags1;
net/iucv/iucv.c
935
path->handler = handler;
net/iucv/iucv.c
936
path->private = private;
net/iucv/iucv.c
937
list_add_tail(&path->list, &handler->paths);
net/iucv/iucv.c
938
iucv_path_table[path->pathid] = path;
net/iucv/iucv.c
961
int iucv_path_quiesce(struct iucv_path *path, u8 *userdata)
net/iucv/iucv.c
975
parm->ctrl.ippathid = path->pathid;
net/iucv/iucv.c
994
int iucv_path_resume(struct iucv_path *path, u8 *userdata)
net/mac80211/driver-ops.h
1678
struct net_device_path *path)
net/mac80211/driver-ops.h
1690
ctx, path);
net/mac80211/iface.c
946
struct net_device_path *path)
net/mac80211/iface.c
996
ret = drv_net_fill_forward_path(local, sdata, &sta->sta, ctx, path);
net/mpls/af_mpls.c
1432
char path[sizeof("net/mpls/conf/") + IFNAMSIZ];
net/mpls/af_mpls.c
1451
snprintf(path, sizeof(path), "net/mpls/conf/%s", dev->name);
net/mpls/af_mpls.c
1453
mdev->sysctl = register_net_sysctl_sz(net, path, table, table_size);
net/netfilter/nf_flow_table_path.c
102
path = &stack->path[i];
net/netfilter/nf_flow_table_path.c
103
switch (path->type) {
net/netfilter/nf_flow_table_path.c
109
info->indev = path->dev;
net/netfilter/nf_flow_table_path.c
111
memcpy(info->h_source, path->dev->dev_addr, ETH_ALEN);
net/netfilter/nf_flow_table_path.c
113
if (path->type == DEV_PATH_ETHERNET)
net/netfilter/nf_flow_table_path.c
115
if (path->type == DEV_PATH_DSA) {
net/netfilter/nf_flow_table_path.c
121
if (path->type == DEV_PATH_TUN) {
net/netfilter/nf_flow_table_path.c
126
info->tun.src_v6 = path->tun.src_v6;
net/netfilter/nf_flow_table_path.c
127
info->tun.dst_v6 = path->tun.dst_v6;
net/netfilter/nf_flow_table_path.c
128
info->tun.l3_proto = path->tun.l3_proto;
net/netfilter/nf_flow_table_path.c
136
path->encap.id;
net/netfilter/nf_flow_table_path.c
138
path->encap.proto;
net/netfilter/nf_flow_table_path.c
141
if (path->type == DEV_PATH_PPPOE)
net/netfilter/nf_flow_table_path.c
142
memcpy(info->h_dest, path->encap.h_dest, ETH_ALEN);
net/netfilter/nf_flow_table_path.c
146
memcpy(info->h_source, path->dev->dev_addr, ETH_ALEN);
net/netfilter/nf_flow_table_path.c
148
switch (path->bridge.vlan_mode) {
net/netfilter/nf_flow_table_path.c
157
info->encap[info->num_encaps].id = path->bridge.vlan_id;
net/netfilter/nf_flow_table_path.c
158
info->encap[info->num_encaps].proto = path->bridge.vlan_proto;
net/netfilter/nf_flow_table_path.c
96
const struct net_device_path *path;
net/netfilter/xt_bpf.c
55
static int __bpf_mt_check_path(const char *path, struct bpf_prog **ret)
net/netfilter/xt_bpf.c
57
if (strnlen(path, XT_BPF_PATH_MAX) == XT_BPF_PATH_MAX)
net/netfilter/xt_bpf.c
60
*ret = bpf_prog_get_type_path(path, BPF_PROG_TYPE_SOCKET_FILTER);
net/netfilter/xt_bpf.c
84
return __bpf_mt_check_path(info->path, &info->filter);
net/netfilter/xt_cgroup.c
108
if (strnlen(info->path, sizeof(info->path)) >= sizeof(info->path))
net/netfilter/xt_cgroup.c
111
cgrp = cgroup_get_from_path(info->path);
net/netfilter/xt_cgroup.c
68
if (strnlen(info->path, sizeof(info->path)) >= sizeof(info->path))
net/netfilter/xt_cgroup.c
71
cgrp = cgroup_get_from_path(info->path);
net/sysctl_net.c
123
static void ensure_safe_net_sysctl(struct net *net, const char *path,
net/sysctl_net.c
128
pr_debug("Registering net sysctl (net %p): %s\n", net, path);
net/sysctl_net.c
156
path, ent->procname, where, ent->data);
net/sysctl_net.c
164
const char *path,
net/sysctl_net.c
169
ensure_safe_net_sysctl(net, path, table, table_size);
net/sysctl_net.c
171
return __register_sysctl_table(&net->sysctls, path, table, table_size);
net/unix/af_unix.c
1117
u->path.dentry = NULL;
net/unix/af_unix.c
1118
u->path.mnt = NULL;
net/unix/af_unix.c
1194
struct path path;
net/unix/af_unix.c
1201
struct path root;
net/unix/af_unix.c
1210
LOOKUP_NO_MAGICLINKS, &path);
net/unix/af_unix.c
1215
err = kern_path(sunaddr->sun_path, LOOKUP_FOLLOW, &path);
net/unix/af_unix.c
1219
err = path_permission(&path, MAY_WRITE);
net/unix/af_unix.c
1225
inode = d_backing_inode(path.dentry);
net/unix/af_unix.c
1235
touch_atime(&path);
net/unix/af_unix.c
1239
path_put(&path);
net/unix/af_unix.c
1246
path_put(&path);
net/unix/af_unix.c
1263
dentry = unix_sk(sk)->path.dentry;
net/unix/af_unix.c
1265
touch_atime(&unix_sk(sk)->path);
net/unix/af_unix.c
1357
struct path parent;
net/unix/af_unix.c
1393
u->path.mnt = mntget(parent.mnt);
net/unix/af_unix.c
1394
u->path.dentry = dget(dentry);
net/unix/af_unix.c
1764
if (otheru->path.dentry) {
net/unix/af_unix.c
1765
path_get(&otheru->path);
net/unix/af_unix.c
1766
newu->path = otheru->path;
net/unix/af_unix.c
3269
if (!unix_sk(sk)->path.dentry)
net/unix/af_unix.c
3272
return FD_ADD(O_CLOEXEC, dentry_open(&unix_sk(sk)->path, O_PATH, current_cred()));
net/unix/af_unix.c
462
struct dentry *dentry = unix_sk(s)->path.dentry;
net/unix/af_unix.c
670
struct path path;
net/unix/af_unix.c
680
path = u->path;
net/unix/af_unix.c
681
u->path.dentry = NULL;
net/unix/af_unix.c
682
u->path.mnt = NULL;
net/unix/af_unix.c
729
if (path.dentry)
net/unix/af_unix.c
730
path_put(&path);
net/unix/diag.c
31
struct dentry *dentry = unix_sk(sk)->path.dentry;
net/xfrm/xfrm_policy.c
2635
static void xfrm_init_path(struct xfrm_dst *path, struct dst_entry *dst,
net/xfrm/xfrm_policy.c
2639
path->path_cookie = rt6_get_cookie(dst_rt6_info(dst));
net/xfrm/xfrm_policy.c
2640
path->u.rt6.rt6i_nfheader_len = nfheader_len;
net/xfrm/xfrm_policy.c
2776
xdst0->path = dst;
net/xfrm/xfrm_policy.c
3062
xdst->path = dst;
net/xfrm/xfrm_policy.c
4102
const struct dst_entry *path = xfrm_dst_path(dst);
net/xfrm/xfrm_policy.c
4106
return path->ops->neigh_lookup(path, skb, daddr);
net/xfrm/xfrm_policy.c
4111
const struct dst_entry *path = xfrm_dst_path(dst);
net/xfrm/xfrm_policy.c
4114
path->ops->confirm_neigh(path, daddr);
samples/auxdisplay/cfag12864b-example.c
51
static int cfag12864b_init(char *path)
samples/auxdisplay/cfag12864b-example.c
53
cfag12864b_fd = open(path, O_RDWR);
samples/cgroup/memcg_event_listener.c
100
FILE *fp = fopen(events->path, "re");
samples/cgroup/memcg_event_listener.c
146
warn("Failed to open memcg events file %s", events->path);
samples/cgroup/memcg_event_listener.c
213
printf("Received event in %s:\n", events->path);
samples/cgroup/memcg_event_listener.c
230
printf("Started monitoring memory events from '%s'...\n", events->path);
samples/cgroup/memcg_event_listener.c
268
ret = snprintf(events->path, PATH_MAX,
samples/cgroup/memcg_event_listener.c
291
events->path, IN_MODIFY);
samples/cgroup/memcg_event_listener.c
293
warn("Couldn't add monitor in dir %s", events->path);
samples/cgroup/memcg_event_listener.c
44
char path[PATH_MAX];
samples/hid/hid_mouse.c
54
static int get_hid_id(const char *path)
samples/hid/hid_mouse.c
61
snprintf(uevent, sizeof(uevent) - 1, "%s/uevent", path);
samples/hid/hid_mouse.c
69
dir = basename((char *)path);
samples/hid/hid_surface_dial.c
67
static int get_hid_id(const char *path)
samples/hid/hid_surface_dial.c
74
snprintf(uevent, sizeof(uevent) - 1, "%s/uevent", path);
samples/hid/hid_surface_dial.c
82
dir = basename((char *)path);
samples/pidfd/pidfd-metadata.c
55
char path[100];
samples/pidfd/pidfd-metadata.c
57
snprintf(path, sizeof(path), "/proc/%d", pid);
samples/pidfd/pidfd-metadata.c
58
procfd = open(path, O_DIRECTORY | O_RDONLY | O_CLOEXEC);
samples/pidfd/pidfd-metadata.c
60
warn("Failed to open %s\n", path);
samples/qmi/qmi_sample_client.c
457
char path[20];
samples/qmi/qmi_sample_client.c
478
snprintf(path, sizeof(path), "%d:%d", sq->sq_node, sq->sq_port);
samples/qmi/qmi_sample_client.c
480
sample->de_dir = debugfs_create_dir(path, qmi_debug_dir);
samples/seccomp/user-trap.c
111
char path[PATH_MAX], source[PATH_MAX], target[PATH_MAX];
samples/seccomp/user-trap.c
131
snprintf(path, sizeof(path), "/proc/%d/mem", req->pid);
samples/seccomp/user-trap.c
132
mem = open(path, O_RDONLY);
samples/uhid/uhid-example.c
390
const char *path = "/dev/uhid";
samples/uhid/uhid-example.c
408
fprintf(stderr, "Usage: %s [%s]\n", argv[0], path);
samples/uhid/uhid-example.c
411
path = argv[1];
samples/uhid/uhid-example.c
415
fprintf(stderr, "Open uhid-cdev %s\n", path);
samples/uhid/uhid-example.c
416
fd = open(path, O_RDWR | O_CLOEXEC);
samples/uhid/uhid-example.c
418
fprintf(stderr, "Cannot open uhid-cdev %s: %m\n", path);
scripts/dtc/checks.c
655
char *path;
scripts/dtc/checks.c
667
path = refnode->fullpath;
scripts/dtc/checks.c
668
prop->val = data_insert_at_marker(prop->val, m, path,
scripts/dtc/checks.c
669
strlen(path) + 1);
scripts/dtc/dtc.h
301
struct node *get_node_by_path(struct node *tree, const char *path);
scripts/dtc/fdtput.c
152
const char *path = in_path;
scripts/dtc/fdtput.c
157
while (*path == '/')
scripts/dtc/fdtput.c
158
path++;
scripts/dtc/fdtput.c
160
for (sep = path; *sep; path = sep + 1, offset = node) {
scripts/dtc/fdtput.c
162
sep = strchr(path, '/');
scripts/dtc/fdtput.c
164
sep = path + strlen(path);
scripts/dtc/fdtput.c
166
node = fdt_subnode_offset_namelen(blob, offset, path,
scripts/dtc/fdtput.c
167
sep - path);
scripts/dtc/fdtput.c
169
node = fdt_add_subnode_namelen(blob, offset, path,
scripts/dtc/fdtput.c
170
sep - path);
scripts/dtc/fdtput.c
173
report_error(path, sep - path, node);
scripts/dtc/libfdt/fdt_overlay.c
331
const char *path, uint32_t path_len,
scripts/dtc/libfdt/fdt_overlay.c
341
fixup_off = fdt_path_offset_namelen(fdto, path, path_len);
scripts/dtc/libfdt/fdt_overlay.c
406
const char *path, *name, *fixup_end;
scripts/dtc/libfdt/fdt_overlay.c
422
path = fixup_str;
scripts/dtc/libfdt/fdt_overlay.c
427
path_len = sep - path;
scripts/dtc/libfdt/fdt_overlay.c
446
path, path_len, name, name_len,
scripts/dtc/libfdt/fdt_overlay.c
47
const char *path = NULL;
scripts/dtc/libfdt/fdt_overlay.c
58
path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
scripts/dtc/libfdt/fdt_overlay.c
59
if (path)
scripts/dtc/libfdt/fdt_overlay.c
60
ret = fdt_path_offset(fdt, path);
scripts/dtc/libfdt/fdt_overlay.c
82
*pathp = path ? path : NULL;
scripts/dtc/libfdt/fdt_overlay.c
911
const char *path;
scripts/dtc/libfdt/fdt_overlay.c
937
path = fdt_getprop_by_offset(fdto, prop, &name, &path_len);
scripts/dtc/libfdt/fdt_overlay.c
938
if (!path)
scripts/dtc/libfdt/fdt_overlay.c
942
if (path_len < 1 || memchr(path, '\0', path_len) != &path[path_len - 1])
scripts/dtc/libfdt/fdt_overlay.c
946
e = path + path_len;
scripts/dtc/libfdt/fdt_overlay.c
948
if (*path != '/')
scripts/dtc/libfdt/fdt_overlay.c
952
s = strchr(path + 1, '/');
scripts/dtc/libfdt/fdt_overlay.c
959
frag_name = path + 1;
scripts/dtc/libfdt/fdt_overlay.c
960
frag_name_len = s - path - 1;
scripts/dtc/libfdt/fdt_ro.c
250
int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen)
scripts/dtc/libfdt/fdt_ro.c
252
const char *end = path + namelen;
scripts/dtc/libfdt/fdt_ro.c
253
const char *p = path;
scripts/dtc/libfdt/fdt_ro.c
262
if (*path != '/') {
scripts/dtc/libfdt/fdt_ro.c
263
const char *q = memchr(path, '/', end - p);
scripts/dtc/libfdt/fdt_ro.c
298
int fdt_path_offset(const void *fdt, const char *path)
scripts/dtc/libfdt/fdt_ro.c
300
return fdt_path_offset_namelen(fdt, path, strlen(path));
scripts/dtc/libfdt/fdt_ro.c
528
static const void *fdt_path_getprop_namelen(const void *fdt, const char *path,
scripts/dtc/libfdt/fdt_ro.c
532
int offset = fdt_path_offset(fdt, path);
scripts/dtc/libfdt/libfdt.h
557
int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen);
scripts/dtc/libfdt/libfdt.h
608
int fdt_path_offset(const void *fdt, const char *path);
scripts/dtc/livetree.c
566
struct node *get_node_by_path(struct node *tree, const char *path)
scripts/dtc/livetree.c
571
if (!path || ! (*path)) {
scripts/dtc/livetree.c
577
while (path[0] == '/')
scripts/dtc/livetree.c
578
path++;
scripts/dtc/livetree.c
580
p = strchr(path, '/');
scripts/dtc/livetree.c
583
if (p && strprefixeq(path, (size_t)(p - path), child->name))
scripts/dtc/livetree.c
585
else if (!p && streq(path, child->name))
scripts/dtc/livetree.c
639
const char *label = NULL, *path = NULL;
scripts/dtc/livetree.c
645
path = ref;
scripts/dtc/livetree.c
656
path = slash + 1;
scripts/dtc/livetree.c
667
if (path)
scripts/dtc/livetree.c
668
target = get_node_by_path(target, path);
scripts/dtc/srcpos.c
103
path[0] == '/' ||
scripts/dtc/srcpos.c
104
(((path[0] >= 'A' && path[0] <= 'Z') || (path[0] >= 'a' && path[0] <= 'z')) && path[1] == ':')
scripts/dtc/srcpos.c
107
return (path[0] == '/');
scripts/dtc/srcpos.c
28
static char *get_dirname(const char *path)
scripts/dtc/srcpos.c
30
const char *slash = strrchr(path, '/');
scripts/dtc/srcpos.c
33
int len = slash - path;
scripts/dtc/srcpos.c
36
memcpy(dir, path, len);
scripts/dtc/srcpos.c
99
static bool is_absolute_path(const char *path)
scripts/dtc/util.c
111
char *join_path(const char *path, const char *name)
scripts/dtc/util.c
113
int lenp = strlen(path);
scripts/dtc/util.c
120
if ((lenp > 0) && (path[lenp-1] == '/')) {
scripts/dtc/util.c
126
memcpy(str, path, lenp);
scripts/dtc/util.c
26
void fprint_path_escaped(FILE *fp, const char *path)
scripts/dtc/util.c
28
const char *p = path;
scripts/dtc/util.h
48
void fprint_path_escaped(FILE *fp, const char *path);
scripts/dtc/util.h
76
extern char *join_path(const char *path, const char *name);
scripts/kconfig/confdata.c
102
strncpy(tmp, path, sizeof(tmp));
scripts/kconfig/confdata.c
28
static bool is_present(const char *path)
scripts/kconfig/confdata.c
32
return !stat(path, &st);
scripts/kconfig/confdata.c
36
static bool is_dir(const char *path)
scripts/kconfig/confdata.c
40
if (stat(path, &st))
scripts/kconfig/confdata.c
97
static int make_parent_dir(const char *path)
scripts/kconfig/gconf.c
108
GtkTreePath *path;
scripts/kconfig/gconf.c
114
path = gtk_tree_model_get_path(model, &iter);
scripts/kconfig/gconf.c
115
gtk_tree_view_expand_to_path(view, path);
scripts/kconfig/gconf.c
116
gtk_tree_view_scroll_to_cell(view, path, NULL, TRUE,
scripts/kconfig/gconf.c
118
gtk_tree_path_free(path);
scripts/kconfig/gconf.c
1284
gchar *path = g_strconcat(env ? env : g_get_current_dir(), "/scripts/kconfig/icons/menu.xpm", NULL);
scripts/kconfig/gconf.c
1287
pix_menu = gdk_pixbuf_new_from_file(path, &err);
scripts/kconfig/gconf.c
1288
g_free(path);
scripts/kconfig/gconf.c
661
GtkTreePath *path = gtk_tree_path_new_from_string(path_string);
scripts/kconfig/gconf.c
667
if (!gtk_tree_model_get_iter(model, &iter, path))
scripts/kconfig/gconf.c
681
gtk_tree_path_free(path);
scripts/kconfig/gconf.c
750
GtkTreePath *path;
scripts/kconfig/gconf.c
758
gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, NULL, NULL);
scripts/kconfig/gconf.c
759
if (path == NULL)
scripts/kconfig/gconf.c
762
if (!gtk_tree_model_get_iter(model, &iter, path))
scripts/kconfig/gconf.c
780
gtk_tree_view_expand_row(view, path, TRUE);
scripts/kconfig/gconf.c
785
gtk_tree_view_expand_row(view, path, TRUE);
scripts/kconfig/gconf.c
789
gtk_tree_view_expand_row(view, path, TRUE);
scripts/kconfig/gconf.c
803
GtkTreePath *path;
scripts/kconfig/gconf.c
808
gtk_tree_view_get_cursor(view, &path, NULL);
scripts/kconfig/gconf.c
809
if (path == NULL)
scripts/kconfig/gconf.c
813
if (gtk_tree_view_row_expanded(view, path))
scripts/kconfig/gconf.c
814
gtk_tree_view_collapse_row(view, path);
scripts/kconfig/gconf.c
816
gtk_tree_view_expand_row(view, path, FALSE);
scripts/kconfig/gconf.c
820
gtk_tree_model_get_iter(model, &iter, path);
scripts/kconfig/gconf.c
861
GtkTreePath *path;
scripts/kconfig/gconf.c
867
gtk_tree_view_get_path_at_pos(view, tx, ty, &path, NULL, NULL, NULL);
scripts/kconfig/gconf.c
868
if (path == NULL)
scripts/kconfig/gconf.c
871
gtk_tree_model_get_iter(model, &iter, path);
scripts/kconfig/gconf.c
884
gtk_tree_view_set_cursor(view, path, NULL, FALSE);
scripts/kconfig/gconf.c
960
gchar *path = g_strconcat(env ? env : g_get_current_dir(), "/scripts/kconfig/icons/", filename, NULL);
scripts/kconfig/gconf.c
962
pixbuf = gdk_pixbuf_new_from_file(path, &err);
scripts/kconfig/gconf.c
963
g_free(path);
scripts/mod/modpost.c
108
const char *get_basename(const char *path)
scripts/mod/modpost.c
110
const char *tail = strrchr(path, '/');
scripts/mod/modpost.c
112
return tail ? tail + 1 : path;
scripts/mod/modpost.h
221
const char *get_basename(const char *path);
security/apparmor/af_unix.c
227
u32 request, struct sock *sk, const struct path *path)
security/apparmor/af_unix.c
242
&unix_sk(sk)->path);
security/apparmor/af_unix.c
304
&unix_sk(sk)->path);
security/apparmor/af_unix.c
339
&unix_sk(sk)->path);
security/apparmor/af_unix.c
34
struct aa_label *label, const struct path *path)
security/apparmor/af_unix.c
37
AA_BUG(!path);
security/apparmor/af_unix.c
370
&unix_sk(sk)->path);
security/apparmor/af_unix.c
389
struct sock *sk, const struct path *path,
security/apparmor/af_unix.c
391
int peer_addrlen, const struct path *peer_path,
security/apparmor/af_unix.c
412
else if (path)
security/apparmor/af_unix.c
414
&profile->label, path);
security/apparmor/af_unix.c
448
const struct path *path)
security/apparmor/af_unix.c
456
path));
security/apparmor/af_unix.c
46
if (path->dentry) {
security/apparmor/af_unix.c
470
is_unix_fs(sock->sk) ? &unix_sk(sock->sk)->path : NULL);
security/apparmor/af_unix.c
48
struct inode *inode = path->dentry->d_inode;
security/apparmor/af_unix.c
49
vfsuid_t vfsuid = i_uid_into_vfsuid(mnt_idmap(path->mnt), inode);
security/apparmor/af_unix.c
55
return aa_path_perm(op, subj_cred, label, path,
security/apparmor/af_unix.c
602
struct sock *sk, const struct path *path,
security/apparmor/af_unix.c
604
const struct path *peer_path, struct aa_label *peer_label)
security/apparmor/af_unix.c
613
profile_peer_perm(profile, request, sk, path,
security/apparmor/af_unix.c
639
is_unix_fs(sk) ? &u->path : NULL,
security/apparmor/af_unix.c
641
is_unix_fs(peer_sk) ? &peeru->path : NULL,
security/apparmor/af_unix.c
718
struct path path;
security/apparmor/af_unix.c
738
path = unix_sk(sock->sk)->path;
security/apparmor/af_unix.c
746
is_sk_fs ? &path : NULL);
security/apparmor/af_unix.c
753
struct path peer_path;
security/apparmor/af_unix.c
755
peer_path = unix_sk(peer_sk)->path;
security/apparmor/af_unix.c
773
is_sk_fs ? &path : NULL,
security/apparmor/af_unix.c
783
is_sk_fs ? &path : NULL,
security/apparmor/apparmorfs.c
1676
const char *path = "../../";
security/apparmor/apparmorfs.c
1677
size_t path_len = strlen(path);
security/apparmor/apparmorfs.c
1687
memcpy(s, path, path_len);
security/apparmor/apparmorfs.c
2618
struct path aa_null;
security/apparmor/apparmorfs.c
2669
struct path path;
security/apparmor/apparmorfs.c
2676
path.mnt = mntget(aafs_mnt);
security/apparmor/apparmorfs.c
2677
path.dentry = dget(ns_dir(ns));
security/apparmor/apparmorfs.c
2678
error = nd_jump_link(&path);
security/apparmor/file.c
151
const struct path *path, int flags, char *buffer,
security/apparmor/file.c
159
if (unlikely(path->dentry == aa_null.dentry))
security/apparmor/file.c
162
error = aa_path_name(path, flags, buffer, name, &info,
security/apparmor/file.c
249
const struct path *path, char *buffer, u32 request,
security/apparmor/file.c
259
error = path_name(op, subj_cred, &profile->label, path,
security/apparmor/file.c
282
const struct path *path, int flags, u32 request,
security/apparmor/file.c
296
profile_path_perm(op, subj_cred, profile, path, buffer,
security/apparmor/file.c
326
const struct path *link, char *buffer,
security/apparmor/file.c
327
const struct path *target, char *buffer2,
security/apparmor/file.c
432
const struct path *new_dir, struct dentry *new_dentry)
security/apparmor/file.c
434
struct path link = { .mnt = new_dir->mnt, .dentry = new_dentry };
security/apparmor/file.c
435
struct path target = { .mnt = new_dir->mnt, .dentry = old_dentry };
security/apparmor/include/apparmorfs.h
14
extern struct path aa_null;
security/apparmor/include/file.h
22
struct path;
security/apparmor/include/file.h
92
struct aa_label *label, const struct path *path,
security/apparmor/include/file.h
96
struct dentry *old_dentry, const struct path *new_dir,
security/apparmor/include/mount.h
29
struct aa_label *label, const struct path *path,
security/apparmor/include/mount.h
33
struct aa_label *label, const struct path *path,
security/apparmor/include/mount.h
38
struct aa_label *label, const struct path *path,
security/apparmor/include/mount.h
42
struct aa_label *label, const struct path *path,
security/apparmor/include/mount.h
45
struct aa_label *label, const struct path *from_path,
security/apparmor/include/mount.h
46
const struct path *to_path);
security/apparmor/include/mount.h
50
const struct path *path, const char *type, unsigned long flags,
security/apparmor/include/mount.h
57
struct aa_label *label, const struct path *old_path,
security/apparmor/include/mount.h
58
const struct path *new_path);
security/apparmor/include/path.h
25
int aa_path_name(const struct path *path, int flags, char *buffer,
security/apparmor/lsm.c
219
static int common_perm(const char *op, const struct path *path, u32 mask,
security/apparmor/lsm.c
228
error = aa_path_perm(op, current_cred(), label, path, 0, mask,
security/apparmor/lsm.c
243
static int common_perm_cond(const char *op, const struct path *path, u32 mask)
security/apparmor/lsm.c
245
vfsuid_t vfsuid = i_uid_into_vfsuid(mnt_idmap(path->mnt),
security/apparmor/lsm.c
246
d_backing_inode(path->dentry));
security/apparmor/lsm.c
249
d_backing_inode(path->dentry)->i_mode
security/apparmor/lsm.c
252
if (!path_mediated_fs(path->dentry))
security/apparmor/lsm.c
255
return common_perm(op, path, mask, &cond);
security/apparmor/lsm.c
268
static int common_perm_dir_dentry(const char *op, const struct path *dir,
security/apparmor/lsm.c
272
struct path path = { .mnt = dir->mnt, .dentry = dentry };
security/apparmor/lsm.c
274
return common_perm(op, &path, mask, cond);
security/apparmor/lsm.c
286
static int common_perm_rm(const char *op, const struct path *dir,
security/apparmor/lsm.c
313
static int common_perm_create(const char *op, const struct path *dir,
security/apparmor/lsm.c
324
static int apparmor_path_unlink(const struct path *dir, struct dentry *dentry)
security/apparmor/lsm.c
329
static int apparmor_path_mkdir(const struct path *dir, struct dentry *dentry,
security/apparmor/lsm.c
336
static int apparmor_path_rmdir(const struct path *dir, struct dentry *dentry)
security/apparmor/lsm.c
341
static int apparmor_path_mknod(const struct path *dir, struct dentry *dentry,
security/apparmor/lsm.c
347
static int apparmor_path_truncate(const struct path *path)
security/apparmor/lsm.c
349
return common_perm_cond(OP_TRUNC, path, MAY_WRITE | AA_MAY_SETATTR);
security/apparmor/lsm.c
357
static int apparmor_path_symlink(const struct path *dir, struct dentry *dentry,
security/apparmor/lsm.c
364
static int apparmor_path_link(struct dentry *old_dentry, const struct path *new_dir,
security/apparmor/lsm.c
382
static int apparmor_path_rename(const struct path *old_dir, struct dentry *old_dentry,
security/apparmor/lsm.c
383
const struct path *new_dir, struct dentry *new_dentry,
security/apparmor/lsm.c
398
struct path old_path = { .mnt = old_dir->mnt,
security/apparmor/lsm.c
400
struct path new_path = { .mnt = new_dir->mnt,
security/apparmor/lsm.c
445
static int apparmor_path_chmod(const struct path *path, umode_t mode)
security/apparmor/lsm.c
447
return common_perm_cond(OP_CHMOD, path, AA_MAY_CHMOD);
security/apparmor/lsm.c
450
static int apparmor_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
security/apparmor/lsm.c
452
return common_perm_cond(OP_CHOWN, path, AA_MAY_CHOWN);
security/apparmor/lsm.c
455
static int apparmor_inode_getattr(const struct path *path)
security/apparmor/lsm.c
457
return common_perm_cond(OP_GETATTR, path, AA_MAY_GETATTR);
security/apparmor/lsm.c
700
static int apparmor_sb_mount(const char *dev_name, const struct path *path,
security/apparmor/lsm.c
716
error = aa_remount(current_cred(), label, path, flags,
security/apparmor/lsm.c
719
error = aa_bind_mount(current_cred(), label, path,
security/apparmor/lsm.c
724
path, flags);
security/apparmor/lsm.c
726
error = aa_move_mount_old(current_cred(), label, path,
security/apparmor/lsm.c
730
path, type, flags, data);
security/apparmor/lsm.c
737
static int apparmor_move_mount(const struct path *from_path,
security/apparmor/lsm.c
738
const struct path *to_path)
security/apparmor/lsm.c
767
static int apparmor_sb_pivotroot(const struct path *old_path,
security/apparmor/lsm.c
768
const struct path *new_path)
security/apparmor/mount.c
281
static int path_flags(struct aa_profile *profile, const struct path *path)
security/apparmor/mount.c
284
AA_BUG(!path);
security/apparmor/mount.c
287
(S_ISDIR(path->dentry->d_inode->i_mode) ? PATH_IS_DIR : 0);
security/apparmor/mount.c
307
const struct path *mntpath, char *buffer,
security/apparmor/mount.c
367
struct aa_profile *profile, const struct path *path,
security/apparmor/mount.c
368
char *buffer, const struct path *devpath, char *devbuffer,
security/apparmor/mount.c
390
return match_mnt_path_str(subj_cred, profile, path, buffer, devname,
security/apparmor/mount.c
395
struct aa_label *label, const struct path *path,
security/apparmor/mount.c
404
AA_BUG(!path);
security/apparmor/mount.c
406
binary = path->dentry->d_sb->s_type->fs_flags & FS_BINARY_MOUNTDATA;
security/apparmor/mount.c
412
match_mnt(subj_cred, profile, path, buffer, NULL,
security/apparmor/mount.c
421
struct aa_label *label, const struct path *path,
security/apparmor/mount.c
426
struct path old_path;
security/apparmor/mount.c
430
AA_BUG(!path);
security/apparmor/mount.c
448
match_mnt(subj_cred, profile, path, buffer, &old_path,
security/apparmor/mount.c
459
struct aa_label *label, const struct path *path,
security/apparmor/mount.c
467
AA_BUG(!path);
security/apparmor/mount.c
477
match_mnt(subj_cred, profile, path, buffer, NULL,
security/apparmor/mount.c
486
struct aa_label *label, const struct path *from_path,
security/apparmor/mount.c
487
const struct path *to_path)
security/apparmor/mount.c
518
const struct path *path, const char *orig_name)
security/apparmor/mount.c
520
struct path old_path;
security/apparmor/mount.c
529
error = aa_move_mount(subj_cred, label, &old_path, path);
security/apparmor/mount.c
536
const char *dev_name, const struct path *path,
security/apparmor/mount.c
544
struct path tmp_path, *dev_path = NULL;
security/apparmor/mount.c
547
AA_BUG(!path);
security/apparmor/mount.c
582
match_mnt(subj_cred, profile, path, buffer,
security/apparmor/mount.c
587
match_mnt_path_str(subj_cred, profile, path,
security/apparmor/mount.c
602
struct aa_profile *profile, const struct path *path,
security/apparmor/mount.c
612
AA_BUG(!path);
security/apparmor/mount.c
617
error = aa_path_name(path, path_flags(profile, path), buffer, &name,
security/apparmor/mount.c
641
struct path path = { .mnt = mnt, .dentry = mnt->mnt_root };
security/apparmor/mount.c
651
profile_umount(subj_cred, profile, &path, buffer));
security/apparmor/mount.c
663
const struct path *new_path,
security/apparmor/mount.c
665
const struct path *old_path,
security/apparmor/mount.c
717
const struct path *old_path,
security/apparmor/mount.c
718
const struct path *new_path)
security/apparmor/path.c
105
if (path->dentry->d_sb->s_magic == PROC_SUPER_MAGIC &&
security/apparmor/path.c
113
error = disconnect(path, buf, name, flags,
security/apparmor/path.c
120
struct path root;
security/apparmor/path.c
122
res = __d_path(path, &root, buf, buflen);
security/apparmor/path.c
125
res = d_absolute_path(path, buf, buflen);
security/apparmor/path.c
126
if (!our_mnt(path->mnt))
security/apparmor/path.c
140
res = dentry_path_raw(path->dentry, buf, buflen);
security/apparmor/path.c
146
} else if (!our_mnt(path->mnt))
security/apparmor/path.c
152
error = disconnect(path, buf, name, flags, disconnected);
security/apparmor/path.c
160
if (d_unlinked(path->dentry) && d_is_positive(path->dentry) &&
security/apparmor/path.c
200
int aa_path_name(const struct path *path, int flags, char *buffer,
security/apparmor/path.c
204
int error = d_namespace_path(path, buffer, &str, flags, disconnected);
security/apparmor/path.c
48
static int disconnect(const struct path *path, char *buf, char **name,
security/apparmor/path.c
55
our_mnt(path->mnt))) {
security/apparmor/path.c
88
static int d_namespace_path(const struct path *path, char *buf, char **name,
security/apparmor/path.c
97
if (path->mnt->mnt_flags & MNT_INTERNAL) {
security/apparmor/path.c
99
res = dentry_path(path->dentry, buf, buflen);
security/apparmor/task.c
307
struct path p;
security/apparmor/task.c
330
const char *path;
security/apparmor/task.c
341
path = get_current_exe_path(buffer, aa_g_path_max);
security/apparmor/task.c
342
if (!IS_ERR(path))
security/apparmor/task.c
343
audit_log_format(ab, " execpath=\"%s\"", path);
security/integrity/digsig.c
194
int __init integrity_load_x509(const unsigned int id, const char *path)
security/integrity/digsig.c
201
rc = kernel_read_file_from_path(path, 0, &data, INT_MAX, NULL,
security/integrity/digsig.c
204
pr_err("Unable to open file: %s (%d)", path, rc);
security/integrity/digsig.c
211
pr_info("Loading X.509 certificate: %s\n", path);
security/integrity/ima/ima.h
410
const char *ima_d_path(const struct path *path, char **pathbuf, char *filename);
security/integrity/ima/ima_api.c
441
const char *ima_d_path(const struct path *path, char **pathbuf, char *namebuf)
security/integrity/ima/ima_api.c
448
pathname = d_absolute_path(path, *pathbuf, PATH_MAX);
security/integrity/ima/ima_api.c
457
take_dentry_name_snapshot(&filename, path->dentry);
security/integrity/ima/ima_appraise.c
731
char *path = NULL, *pathbuf = NULL;
security/integrity/ima/ima_appraise.c
764
path = dentry_path(dentry, pathbuf, PATH_MAX);
security/integrity/ima/ima_appraise.c
766
integrity_audit_msg(AUDIT_INTEGRITY_DATA, d_inode(dentry), path,
security/integrity/ima/ima_fs.c
292
static ssize_t ima_read_policy(char *path)
security/integrity/ima/ima_fs.c
297
int rc, pathlen = strlen(path);
security/integrity/ima/ima_fs.c
302
datap = path;
security/integrity/ima/ima_fs.c
305
rc = kernel_read_file_from_path(path, 0, &data, INT_MAX, NULL,
security/integrity/ima/ima_fs.c
308
pr_err("Unable to open file: %s (%d)", path, rc);
security/integrity/integrity.h
137
int __init integrity_load_x509(const unsigned int id, const char *path);
security/keys/big_key.c
124
payload->path = file->f_path;
security/keys/big_key.c
125
path_get(&payload->path);
security/keys/big_key.c
157
path_put(&payload->path);
security/keys/big_key.c
172
vfs_truncate(&payload->path, 0);
security/keys/big_key.c
183
path_put(&payload->path);
security/keys/big_key.c
184
payload->path.mnt = NULL;
security/keys/big_key.c
185
payload->path.dentry = NULL;
security/keys/big_key.c
246
file = dentry_open(&payload->path, O_RDONLY, current_cred());
security/keys/big_key.c
25
struct path path;
security/keys/request_key.c
104
info = call_usermodehelper_setup(path, argv, envp, GFP_KERNEL,
security/keys/request_key.c
99
static int call_usermodehelper_keys(const char *path, char **argv, char **envp,
security/landlock/fs.c
1129
const struct path *const new_dir,
security/landlock/fs.c
1137
struct path mnt_dir;
security/landlock/fs.c
1224
request1.audit.u.path.dentry = old_parent;
security/landlock/fs.c
1228
request2.audit.u.path.dentry = new_dir->dentry;
security/landlock/fs.c
1376
size_t handle_layer, const struct path *const path)
security/landlock/fs.c
1382
.u.path = *path,
security/landlock/fs.c
1421
const struct path *const path, const char *const type,
security/landlock/fs.c
1432
log_fs_change_topology_path(subject, handle_layer, path);
security/landlock/fs.c
1436
static int hook_move_mount(const struct path *const from_path,
security/landlock/fs.c
1437
const struct path *const to_path)
security/landlock/fs.c
1491
static int hook_sb_pivotroot(const struct path *const old_path,
security/landlock/fs.c
1492
const struct path *const new_path)
security/landlock/fs.c
1509
const struct path *const new_dir,
security/landlock/fs.c
1516
static int hook_path_rename(const struct path *const old_dir,
security/landlock/fs.c
1518
const struct path *const new_dir,
security/landlock/fs.c
1527
static int hook_path_mkdir(const struct path *const dir,
security/landlock/fs.c
1533
static int hook_path_mknod(const struct path *const dir,
security/landlock/fs.c
1540
static int hook_path_symlink(const struct path *const dir,
security/landlock/fs.c
1547
static int hook_path_unlink(const struct path *const dir,
security/landlock/fs.c
1553
static int hook_path_rmdir(const struct path *const dir,
security/landlock/fs.c
1559
static int hook_path_truncate(const struct path *const path)
security/landlock/fs.c
1561
return current_check_access_path(path, LANDLOCK_ACCESS_FS_TRUNCATE);
security/landlock/fs.c
1738
.path = file->f_path,
security/landlock/fs.c
324
const struct path *const path,
security/landlock/fs.c
333
if (!d_is_dir(path->dentry) &&
security/landlock/fs.c
342
id.key.object = get_inode_object(d_backing_inode(path->dentry));
security/landlock/fs.c
743
const struct path *const path,
security/landlock/fs.c
755
struct path walker_path;
security/landlock/fs.c
764
if (WARN_ON_ONCE(!path))
security/landlock/fs.c
767
if (is_nouser_or_private(path->dentry))
security/landlock/fs.c
817
walker_path = *path;
security/landlock/fs.c
929
log_request_parent1->audit.u.path = *path;
security/landlock/fs.c
937
log_request_parent2->audit.u.path = *path;
security/landlock/fs.c
946
static int current_check_access_path(const struct path *const path,
security/landlock/fs.c
963
if (is_access_to_paths_allowed(subject->domain, path, access_request,
security/landlock/fs.h
128
const struct path *const path,
security/landlock/syscalls.c
292
static int get_path_from_fd(const s32 fd, struct path *const path)
security/landlock/syscalls.c
312
*path = fd_file(f)->f_path;
security/landlock/syscalls.c
313
path_get(path);
security/landlock/syscalls.c
321
struct path path;
security/landlock/syscalls.c
344
err = get_path_from_fd(path_beneath_attr.parent_fd, &path);
security/landlock/syscalls.c
349
err = landlock_append_fs_rule(ruleset, &path,
security/landlock/syscalls.c
351
path_put(&path);
security/lsm_audit.c
199
audit_log_d_path(ab, " path=", &a->u.path);
security/lsm_audit.c
201
inode = d_backing_inode(a->u.path.dentry);
security/lsm_audit.c
225
audit_log_d_path(ab, " path=", &a->u.op->path);
security/lsm_audit.c
227
inode = a->u.op->path.dentry->d_inode;
security/lsm_audit.c
323
if (u->path.dentry) {
security/lsm_audit.c
324
audit_log_d_path(ab, " path=", &u->path);
security/security.c
1060
int security_sb_mount(const char *dev_name, const struct path *path,
security/security.c
1063
return call_int_hook(sb_mount, dev_name, path, type, flags, data);
security/security.c
1089
int security_sb_pivotroot(const struct path *old_path,
security/security.c
1090
const struct path *new_path)
security/security.c
1154
int security_move_mount(const struct path *from_path,
security/security.c
1155
const struct path *to_path)
security/security.c
1171
int security_path_notify(const struct path *path, u64 mask,
security/security.c
1174
return call_int_hook(path_notify, path, mask, obj_type);
security/security.c
1387
int security_path_mknod(const struct path *dir, struct dentry *dentry,
security/security.c
1420
int security_path_mkdir(const struct path *dir, struct dentry *dentry,
security/security.c
1438
int security_path_rmdir(const struct path *dir, struct dentry *dentry)
security/security.c
1454
int security_path_unlink(const struct path *dir, struct dentry *dentry)
security/security.c
1472
int security_path_symlink(const struct path *dir, struct dentry *dentry,
security/security.c
1490
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
security/security.c
1510
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
security/security.c
1511
const struct path *new_dir, struct dentry *new_dentry,
security/security.c
1534
int security_path_truncate(const struct path *path)
security/security.c
1536
if (unlikely(IS_PRIVATE(d_backing_inode(path->dentry))))
security/security.c
1538
return call_int_hook(path_truncate, path);
security/security.c
1552
int security_path_chmod(const struct path *path, umode_t mode)
security/security.c
1554
if (unlikely(IS_PRIVATE(d_backing_inode(path->dentry))))
security/security.c
1556
return call_int_hook(path_chmod, path, mode);
security/security.c
1569
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
security/security.c
1571
if (unlikely(IS_PRIVATE(d_backing_inode(path->dentry))))
security/security.c
1573
return call_int_hook(path_chown, path, uid, gid);
security/security.c
1584
int security_path_chroot(const struct path *path)
security/security.c
1586
return call_int_hook(path_chroot, path);
security/security.c
1866
int security_inode_getattr(const struct path *path)
security/security.c
1868
if (unlikely(IS_PRIVATE(d_backing_inode(path->dentry))))
security/security.c
1870
return call_int_hook(inode_getattr, path);
security/security.c
5276
const struct path *path)
security/security.c
5284
rc = call_int_hook(bpf_token_create, token, attr, path);
security/selinux/hooks.c
1337
char *buffer, *path;
security/selinux/hooks.c
1343
path = dentry_path_raw(dentry, buffer, PAGE_SIZE);
security/selinux/hooks.c
1344
if (IS_ERR(path))
security/selinux/hooks.c
1345
rc = PTR_ERR(path);
security/selinux/hooks.c
1351
while (path[1] >= '0' && path[1] <= '9') {
security/selinux/hooks.c
1352
path[1] = '/';
security/selinux/hooks.c
1353
path++;
security/selinux/hooks.c
1357
path, tclass, sid);
security/selinux/hooks.c
1717
const struct path *path,
security/selinux/hooks.c
1721
struct inode *inode = d_backing_inode(path->dentry);
security/selinux/hooks.c
1725
ad.u.path = *path;
security/selinux/hooks.c
1728
__inode_security_revalidate(inode, path->dentry, true);
security/selinux/hooks.c
2091
ad.u.path = file->f_path;
security/selinux/hooks.c
2782
const struct path *path,
security/selinux/hooks.c
2790
return superblock_has_perm(cred, path->dentry->d_sb,
security/selinux/hooks.c
2793
return path_has_perm(cred, path, FILE__MOUNTON);
security/selinux/hooks.c
2796
static int selinux_move_mount(const struct path *from_path,
security/selinux/hooks.c
2797
const struct path *to_path)
security/selinux/hooks.c
3307
static int selinux_inode_getattr(const struct path *path)
security/selinux/hooks.c
3316
return path_has_perm(current_cred(), path, FILE__GETATTR);
security/selinux/hooks.c
3534
static int selinux_path_notify(const struct path *path, u64 mask,
security/selinux/hooks.c
3543
ad.u.path = *path;
security/selinux/hooks.c
3555
ret = superblock_has_perm(current_cred(), path->dentry->d_sb,
security/selinux/hooks.c
3579
return path_has_perm(current_cred(), path, perm);
security/selinux/hooks.c
3848
ad.u.op->path = file->f_path;
security/selinux/hooks.c
7137
struct path path;
security/selinux/hooks.c
7146
path = fd_file(f)->f_path;
security/selinux/hooks.c
7147
sb = path.dentry->d_sb;
security/selinux/hooks.c
7194
const struct path *path)
security/selinux/include/security.h
358
int security_genfs_sid(const char *fstype, const char *path, u16 sclass,
security/selinux/include/security.h
362
const char *path, u16 sclass, u32 *sid);
security/selinux/include/security.h
405
extern struct path selinux_null;
security/selinux/selinuxfs.c
2107
struct path selinux_null __ro_after_init;
security/selinux/ss/services.c
2891
const char *path,
security/selinux/ss/services.c
2903
while (path[0] == '/' && path[1] == '/')
security/selinux/ss/services.c
2904
path++;
security/selinux/ss/services.c
2923
if (match_wildcard(c->u.name, path))
security/selinux/ss/services.c
2928
if ((strncmp(c->u.name, path, len)) == 0)
security/selinux/ss/services.c
2951
const char *path,
security/selinux/ss/services.c
2966
retval = __security_genfs_sid(policy, fstype, path,
security/selinux/ss/services.c
2975
const char *path,
security/selinux/ss/services.c
2980
return __security_genfs_sid(policy, fstype, path, orig_sclass, sid);
security/smack/smack.h
503
struct path p)
security/smack/smack.h
505
a->a.u.path = p;
security/smack/smack.h
532
struct path p)
security/smack/smack_lsm.c
1289
static int smack_inode_getattr(const struct path *path)
security/smack/smack_lsm.c
1292
struct inode *inode = d_backing_inode(path->dentry);
security/smack/smack_lsm.c
1296
smk_ad_setfield_u_fs_path(&ad, *path);
security/tomoyo/common.h
1001
const struct path *path, const int flag);
security/tomoyo/common.h
1012
int tomoyo_mkdev_perm(const u8 operation, const struct path *path,
security/tomoyo/common.h
1014
int tomoyo_mount_permission(const char *dev_name, const struct path *path,
security/tomoyo/common.h
1018
int tomoyo_path2_perm(const u8 operation, const struct path *path1,
security/tomoyo/common.h
1019
const struct path *path2);
security/tomoyo/common.h
1020
int tomoyo_path_number_perm(const u8 operation, const struct path *path,
security/tomoyo/common.h
1022
int tomoyo_path_perm(const u8 operation, const struct path *path,
security/tomoyo/common.h
440
} path;
security/tomoyo/common.h
591
struct path path1;
security/tomoyo/common.h
593
struct path path2;
security/tomoyo/common.h
990
char *tomoyo_realpath_from_path(const struct path *path);
security/tomoyo/domain.c
774
if (ee->r.param.path.matched_path)
security/tomoyo/domain.c
775
candidate = ee->r.param.path.matched_path;
security/tomoyo/file.c
149
static bool tomoyo_get_realpath(struct tomoyo_path_info *buf, const struct path *path)
security/tomoyo/file.c
151
buf->name = tomoyo_realpath_from_path(path);
security/tomoyo/file.c
170
[r->param.path.operation],
security/tomoyo/file.c
171
r->param.path.filename->name);
security/tomoyo/file.c
262
if (acl->perm & (1 << r->param.path.operation)) {
security/tomoyo/file.c
263
r->param.path.matched_path =
security/tomoyo/file.c
264
tomoyo_compare_name_union(r->param.path.filename,
security/tomoyo/file.c
266
return r->param.path.matched_path != NULL;
security/tomoyo/file.c
588
r->param.path.filename = filename;
security/tomoyo/file.c
589
r->param.path.operation = operation;
security/tomoyo/file.c
618
r->param.path.filename = filename;
security/tomoyo/file.c
619
r->param.path.operation = TOMOYO_TYPE_EXECUTE;
security/tomoyo/file.c
713
int tomoyo_path_number_perm(const u8 type, const struct path *path,
security/tomoyo/file.c
718
.path1 = { .mnt = path->mnt, .dentry = path->dentry },
security/tomoyo/file.c
728
if (!tomoyo_get_realpath(&buf, path))
security/tomoyo/file.c
759
const struct path *path, const int flag)
security/tomoyo/file.c
766
.path1 = { .mnt = path->mnt, .dentry = path->dentry },
security/tomoyo/file.c
776
if (!tomoyo_get_realpath(&buf, path)) {
security/tomoyo/file.c
808
int tomoyo_path_perm(const u8 operation, const struct path *path, const char *target)
security/tomoyo/file.c
812
.path1 = { .mnt = path->mnt, .dentry = path->dentry },
security/tomoyo/file.c
827
if (!tomoyo_get_realpath(&buf, path))
security/tomoyo/file.c
864
int tomoyo_mkdev_perm(const u8 operation, const struct path *path,
security/tomoyo/file.c
869
.path1 = { .mnt = path->mnt, .dentry = path->dentry },
security/tomoyo/file.c
880
if (tomoyo_get_realpath(&buf, path)) {
security/tomoyo/file.c
908
int tomoyo_path2_perm(const u8 operation, const struct path *path1,
security/tomoyo/file.c
909
const struct path *path2)
security/tomoyo/load_policy.c
39
struct path path;
security/tomoyo/load_policy.c
43
if (kern_path(tomoyo_loader, LOOKUP_FOLLOW, &path)) {
security/tomoyo/load_policy.c
48
path_put(&path);
security/tomoyo/mount.c
138
if (!dev_name || kern_path(dev_name, LOOKUP_FOLLOW, &path)) {
security/tomoyo/mount.c
142
obj.path1 = path;
security/tomoyo/mount.c
143
requested_dev_name = tomoyo_realpath_from_path(&path);
security/tomoyo/mount.c
193
int tomoyo_mount_permission(const char *dev_name, const struct path *path,
security/tomoyo/mount.c
239
error = tomoyo_mount_acl(&r, dev_name, path, type, flags);
security/tomoyo/mount.c
80
const struct path *dir, const char *type,
security/tomoyo/mount.c
85
struct path path;
security/tomoyo/realpath.c
101
pos = d_absolute_path(path, buffer, buflen - 1);
security/tomoyo/realpath.c
103
struct inode *inode = d_backing_inode(path->dentry);
security/tomoyo/realpath.c
237
char *tomoyo_realpath_from_path(const struct path *path)
security/tomoyo/realpath.c
242
struct dentry *dentry = path->dentry;
security/tomoyo/realpath.c
267
pos = tomoyo_get_local_path(path->dentry, buf,
security/tomoyo/realpath.c
271
pos = tomoyo_get_absolute_path(path, buf, buf_len - 1);
security/tomoyo/realpath.c
277
pos = tomoyo_get_local_path(path->dentry, buf,
security/tomoyo/realpath.c
301
struct path path;
security/tomoyo/realpath.c
303
if (pathname && kern_path(pathname, 0, &path) == 0) {
security/tomoyo/realpath.c
304
char *buf = tomoyo_realpath_from_path(&path);
security/tomoyo/realpath.c
306
path_put(&path);
security/tomoyo/realpath.c
94
static char *tomoyo_get_absolute_path(const struct path *path, char * const buffer,
security/tomoyo/tomoyo.c
121
static int tomoyo_inode_getattr(const struct path *path)
security/tomoyo/tomoyo.c
123
return tomoyo_path_perm(TOMOYO_TYPE_GETATTR, path, NULL);
security/tomoyo/tomoyo.c
133
static int tomoyo_path_truncate(const struct path *path)
security/tomoyo/tomoyo.c
135
return tomoyo_path_perm(TOMOYO_TYPE_TRUNCATE, path, NULL);
security/tomoyo/tomoyo.c
158
static int tomoyo_path_unlink(const struct path *parent, struct dentry *dentry)
security/tomoyo/tomoyo.c
160
struct path path = { .mnt = parent->mnt, .dentry = dentry };
security/tomoyo/tomoyo.c
162
return tomoyo_path_perm(TOMOYO_TYPE_UNLINK, &path, NULL);
security/tomoyo/tomoyo.c
174
static int tomoyo_path_mkdir(const struct path *parent, struct dentry *dentry,
security/tomoyo/tomoyo.c
177
struct path path = { .mnt = parent->mnt, .dentry = dentry };
security/tomoyo/tomoyo.c
179
return tomoyo_path_number_perm(TOMOYO_TYPE_MKDIR, &path,
security/tomoyo/tomoyo.c
191
static int tomoyo_path_rmdir(const struct path *parent, struct dentry *dentry)
security/tomoyo/tomoyo.c
193
struct path path = { .mnt = parent->mnt, .dentry = dentry };
security/tomoyo/tomoyo.c
195
return tomoyo_path_perm(TOMOYO_TYPE_RMDIR, &path, NULL);
security/tomoyo/tomoyo.c
207
static int tomoyo_path_symlink(const struct path *parent, struct dentry *dentry,
security/tomoyo/tomoyo.c
210
struct path path = { .mnt = parent->mnt, .dentry = dentry };
security/tomoyo/tomoyo.c
212
return tomoyo_path_perm(TOMOYO_TYPE_SYMLINK, &path, old_name);
security/tomoyo/tomoyo.c
225
static int tomoyo_path_mknod(const struct path *parent, struct dentry *dentry,
security/tomoyo/tomoyo.c
228
struct path path = { .mnt = parent->mnt, .dentry = dentry };
security/tomoyo/tomoyo.c
242
return tomoyo_mkdev_perm(type, &path, perm, dev);
security/tomoyo/tomoyo.c
252
return tomoyo_path_number_perm(type, &path, perm);
security/tomoyo/tomoyo.c
264
static int tomoyo_path_link(struct dentry *old_dentry, const struct path *new_dir,
security/tomoyo/tomoyo.c
267
struct path path1 = { .mnt = new_dir->mnt, .dentry = old_dentry };
security/tomoyo/tomoyo.c
268
struct path path2 = { .mnt = new_dir->mnt, .dentry = new_dentry };
security/tomoyo/tomoyo.c
284
static int tomoyo_path_rename(const struct path *old_parent,
security/tomoyo/tomoyo.c
286
const struct path *new_parent,
security/tomoyo/tomoyo.c
290
struct path path1 = { .mnt = old_parent->mnt, .dentry = old_dentry };
security/tomoyo/tomoyo.c
291
struct path path2 = { .mnt = new_parent->mnt, .dentry = new_dentry };
security/tomoyo/tomoyo.c
361
static int tomoyo_path_chmod(const struct path *path, umode_t mode)
security/tomoyo/tomoyo.c
363
return tomoyo_path_number_perm(TOMOYO_TYPE_CHMOD, path,
security/tomoyo/tomoyo.c
376
static int tomoyo_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
security/tomoyo/tomoyo.c
381
error = tomoyo_path_number_perm(TOMOYO_TYPE_CHOWN, path,
security/tomoyo/tomoyo.c
384
error = tomoyo_path_number_perm(TOMOYO_TYPE_CHGRP, path,
security/tomoyo/tomoyo.c
396
static int tomoyo_path_chroot(const struct path *path)
security/tomoyo/tomoyo.c
398
return tomoyo_path_perm(TOMOYO_TYPE_CHROOT, path, NULL);
security/tomoyo/tomoyo.c
412
static int tomoyo_sb_mount(const char *dev_name, const struct path *path,
security/tomoyo/tomoyo.c
415
return tomoyo_mount_permission(dev_name, path, type, flags, data);
security/tomoyo/tomoyo.c
428
struct path path = { .mnt = mnt, .dentry = mnt->mnt_root };
security/tomoyo/tomoyo.c
430
return tomoyo_path_perm(TOMOYO_TYPE_UMOUNT, &path, NULL);
security/tomoyo/tomoyo.c
441
static int tomoyo_sb_pivotroot(const struct path *old_path, const struct path *new_path)
sound/core/oss/pcm_oss.c
2323
static const char *strip_task_path(const char *path)
sound/core/oss/pcm_oss.c
2326
for (ptr = path; *ptr; ptr++) {
sound/drivers/vx/vx_hwdep.c
56
char path[32];
sound/drivers/vx/vx_hwdep.c
60
sprintf(path, "vx/%s", fw_files[chip->type][i]);
sound/drivers/vx/vx_hwdep.c
61
if (request_firmware(&fw, path, chip->card->dev)) {
sound/drivers/vx/vx_hwdep.c
62
dev_err(chip->card->dev, "vx: can't load firmware %s\n", path);
sound/hda/codecs/analog.c
722
struct nid_path *path;
sound/hda/codecs/analog.c
731
path = snd_hda_get_path_from_idx(codec,
sound/hda/codecs/analog.c
733
if (path)
sound/hda/codecs/analog.c
734
snd_hda_activate_path(codec, path, false, true);
sound/hda/codecs/analog.c
735
path = snd_hda_get_path_from_idx(codec, spec->smux_paths[val]);
sound/hda/codecs/analog.c
736
if (path)
sound/hda/codecs/analog.c
737
snd_hda_activate_path(codec, path, true, true);
sound/hda/codecs/analog.c
764
struct nid_path *path;
sound/hda/codecs/analog.c
765
path = snd_hda_get_path_from_idx(codec, spec->smux_paths[i]);
sound/hda/codecs/analog.c
766
if (path)
sound/hda/codecs/analog.c
767
snd_hda_activate_path(codec, path, path->active, false);
sound/hda/codecs/analog.c
783
.path = { 0x02, 0x1d, 0x1b },
sound/hda/codecs/analog.c
789
.path = { 0x08, 0x0b, 0x1d, 0x1b },
sound/hda/codecs/analog.c
795
.path = { 0x09, 0x0b, 0x1d, 0x1b },
sound/hda/codecs/analog.c
801
.path = { 0x0f, 0x0b, 0x1d, 0x1b },
sound/hda/codecs/analog.c
818
struct nid_path *path = snd_array_new(&spec->gen.paths);
sound/hda/codecs/analog.c
819
if (!path)
sound/hda/codecs/analog.c
821
*path = fake_paths[i];
sound/hda/codecs/analog.c
823
path->active = 1;
sound/hda/codecs/analog.c
824
spec->smux_paths[i] = snd_hda_get_path_idx(codec, path);
sound/hda/codecs/conexant.c
452
struct nid_path *path;
sound/hda/codecs/conexant.c
476
path = snd_hda_get_path_from_idx(codec, cur_input);
sound/hda/codecs/conexant.c
477
if (path)
sound/hda/codecs/conexant.c
478
snd_hda_activate_path(codec, path, true, false);
sound/hda/codecs/conexant.c
481
path = snd_hda_get_path_from_idx(codec, cur_input);
sound/hda/codecs/conexant.c
482
if (path)
sound/hda/codecs/conexant.c
483
snd_hda_activate_path(codec, path, false, false);
sound/hda/codecs/generic.c
1021
unsigned int chs, struct nid_path *path)
sound/hda/codecs/generic.c
1024
if (!path)
sound/hda/codecs/generic.c
1026
val = path->ctls[NID_PATH_VOL_CTL];
sound/hda/codecs/generic.c
1034
static int get_default_ch_nums(struct hda_codec *codec, struct nid_path *path,
sound/hda/codecs/generic.c
1038
if (path) {
sound/hda/codecs/generic.c
1039
hda_nid_t nid = get_amp_nid_(path->ctls[type]);
sound/hda/codecs/generic.c
1047
struct nid_path *path)
sound/hda/codecs/generic.c
1049
int chs = get_default_ch_nums(codec, path, NID_PATH_VOL_CTL);
sound/hda/codecs/generic.c
1050
return add_vol_ctl(codec, pfx, cidx, chs, path);
sound/hda/codecs/generic.c
1057
unsigned int chs, struct nid_path *path)
sound/hda/codecs/generic.c
1062
if (!path)
sound/hda/codecs/generic.c
1064
val = path->ctls[NID_PATH_MUTE_CTL];
sound/hda/codecs/generic.c
1080
int cidx, struct nid_path *path)
sound/hda/codecs/generic.c
1082
int chs = get_default_ch_nums(codec, path, NID_PATH_MUTE_CTL);
sound/hda/codecs/generic.c
1083
return add_sw_ctl(codec, pfx, cidx, chs, path);
sound/hda/codecs/generic.c
1156
struct nid_path *path = snd_hda_get_path_from_idx(codec, path_idx);
sound/hda/codecs/generic.c
1157
return path && path->ctls[ctl_type];
sound/hda/codecs/generic.c
1283
static int assign_out_path_ctls(struct hda_codec *codec, struct nid_path *path)
sound/hda/codecs/generic.c
1290
if (!path)
sound/hda/codecs/generic.c
1293
if (path->ctls[NID_PATH_VOL_CTL] ||
sound/hda/codecs/generic.c
1294
path->ctls[NID_PATH_MUTE_CTL])
sound/hda/codecs/generic.c
1297
nid = look_for_out_vol_nid(codec, path);
sound/hda/codecs/generic.c
1305
path->ctls[NID_PATH_VOL_CTL] = val;
sound/hda/codecs/generic.c
1308
nid = look_for_out_mute_nid(codec, path);
sound/hda/codecs/generic.c
1319
path->ctls[NID_PATH_MUTE_CTL] = val;
sound/hda/codecs/generic.c
1381
struct nid_path *path;
sound/hda/codecs/generic.c
1385
path = snd_hda_get_path_from_idx(codec, path_idx[i]);
sound/hda/codecs/generic.c
1386
if (path) {
sound/hda/codecs/generic.c
1387
badness += assign_out_path_ctls(codec, path);
sound/hda/codecs/generic.c
1439
path = snd_hda_add_new_path(codec, dac, pin, -spec->mixer_nid);
sound/hda/codecs/generic.c
1440
if (!path && !i && spec->mixer_nid) {
sound/hda/codecs/generic.c
1442
path = snd_hda_add_new_path(codec, dac, pin, 0);
sound/hda/codecs/generic.c
1444
if (!path) {
sound/hda/codecs/generic.c
1449
path->active = true;
sound/hda/codecs/generic.c
1450
path_idx[i] = snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
1451
badness += assign_out_path_ctls(codec, path);
sound/hda/codecs/generic.c
1535
struct nid_path *path;
sound/hda/codecs/generic.c
1569
path = snd_hda_add_new_path(codec, dac, nid,
sound/hda/codecs/generic.c
1571
if (!path) {
sound/hda/codecs/generic.c
1579
snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
1603
path = snd_hda_get_path_from_idx(codec, spec->out_paths[cfg->line_outs + i]);
sound/hda/codecs/generic.c
1604
badness += assign_out_path_ctls(codec, path);
sound/hda/codecs/generic.c
1618
struct nid_path *path;
sound/hda/codecs/generic.c
1625
path = snd_hda_add_new_path(codec, dac, pins[i],
sound/hda/codecs/generic.c
1627
if (!path && !i && spec->mixer_nid)
sound/hda/codecs/generic.c
1628
path = snd_hda_add_new_path(codec, dac, pins[i], 0);
sound/hda/codecs/generic.c
1629
if (path) {
sound/hda/codecs/generic.c
1633
path->active = true;
sound/hda/codecs/generic.c
1634
path_idx[i] = snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
1650
struct nid_path *path;
sound/hda/codecs/generic.c
1653
path = snd_hda_get_path_from_idx(codec, path_idx);
sound/hda/codecs/generic.c
1654
if (!path || !path->depth ||
sound/hda/codecs/generic.c
1655
is_nid_contained(path, spec->mixer_nid))
sound/hda/codecs/generic.c
1657
path_dac = path->path[0];
sound/hda/codecs/generic.c
1659
pin = path->path[path->depth - 1];
sound/hda/codecs/generic.c
1660
path = snd_hda_add_new_path(codec, dac, pin, spec->mixer_nid);
sound/hda/codecs/generic.c
1661
if (!path) {
sound/hda/codecs/generic.c
1671
path = snd_hda_add_new_path(codec, dac, pin,
sound/hda/codecs/generic.c
1674
if (!path)
sound/hda/codecs/generic.c
1677
path->active = false; /* unused as default */
sound/hda/codecs/generic.c
1678
path->pin_fixed = true; /* static route */
sound/hda/codecs/generic.c
1679
return snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
1687
struct nid_path *path;
sound/hda/codecs/generic.c
1694
path = snd_hda_get_path_from_idx(codec, idx);
sound/hda/codecs/generic.c
1695
if (!path)
sound/hda/codecs/generic.c
1699
if (!spec->mixer_nid || !is_nid_contained(path, spec->mixer_nid))
sound/hda/codecs/generic.c
1706
path = snd_hda_get_path_from_idx(codec, spec->out_paths[i]);
sound/hda/codecs/generic.c
1707
if (path && is_nid_contained(path, spec->mixer_nid))
sound/hda/codecs/generic.c
1711
path = snd_hda_get_path_from_idx(codec, spec->speaker_paths[i]);
sound/hda/codecs/generic.c
1712
if (path && is_nid_contained(path, spec->mixer_nid))
sound/hda/codecs/generic.c
1725
struct nid_path *path;
sound/hda/codecs/generic.c
1731
path = snd_hda_get_path_from_idx(codec, path_idx[i]);
sound/hda/codecs/generic.c
1732
if (!path)
sound/hda/codecs/generic.c
1734
dacs[i] = path->path[0];
sound/hda/codecs/generic.c
1905
struct nid_path *path;
sound/hda/codecs/generic.c
1907
path = snd_hda_get_path_from_idx(codec, idx);
sound/hda/codecs/generic.c
1908
if (path)
sound/hda/codecs/generic.c
1909
print_nid_path(codec, pfx, path);
sound/hda/codecs/generic.c
2067
struct nid_path *path;
sound/hda/codecs/generic.c
2068
path = snd_hda_get_path_from_idx(codec, spec->out_paths[0]);
sound/hda/codecs/generic.c
2069
if (path)
sound/hda/codecs/generic.c
2070
spec->vmaster_nid = look_for_out_vol_nid(codec, path);
sound/hda/codecs/generic.c
2114
struct nid_path *path;
sound/hda/codecs/generic.c
2116
path = snd_hda_get_path_from_idx(codec, spec->out_paths[i]);
sound/hda/codecs/generic.c
2117
if (!path)
sound/hda/codecs/generic.c
2123
err = add_vol_ctl(codec, "Center", 0, 1, path);
sound/hda/codecs/generic.c
2126
err = add_vol_ctl(codec, "LFE", 0, 2, path);
sound/hda/codecs/generic.c
2130
err = add_stereo_vol(codec, name, index, path);
sound/hda/codecs/generic.c
2137
err = add_sw_ctl(codec, "Center", 0, 1, path);
sound/hda/codecs/generic.c
2140
err = add_sw_ctl(codec, "LFE", 0, 2, path);
sound/hda/codecs/generic.c
2144
err = add_stereo_sw(codec, name, index, path);
sound/hda/codecs/generic.c
2155
struct nid_path *path;
sound/hda/codecs/generic.c
2158
path = snd_hda_get_path_from_idx(codec, path_idx);
sound/hda/codecs/generic.c
2159
if (!path)
sound/hda/codecs/generic.c
2161
err = add_stereo_vol(codec, pfx, cidx, path);
sound/hda/codecs/generic.c
2164
err = add_stereo_sw(codec, pfx, cidx, path);
sound/hda/codecs/generic.c
2369
struct nid_path *path;
sound/hda/codecs/generic.c
2371
path = get_multiio_path(codec, idx);
sound/hda/codecs/generic.c
2372
if (!path)
sound/hda/codecs/generic.c
2375
if (path->active == output)
sound/hda/codecs/generic.c
2380
snd_hda_activate_path(codec, path, true, aamix_default(spec));
sound/hda/codecs/generic.c
2384
snd_hda_activate_path(codec, path, false, aamix_default(spec));
sound/hda/codecs/generic.c
2386
path_power_down_sync(codec, path);
sound/hda/codecs/generic.c
2467
mix_path->path[0] != spec->alt_dac_nid)
sound/hda/codecs/generic.c
2486
struct nid_path *path;
sound/hda/codecs/generic.c
2490
path = snd_hda_get_path_from_idx(codec, paths[i]);
sound/hda/codecs/generic.c
2491
if (path)
sound/hda/codecs/generic.c
2492
snd_hda_activate_path(codec, path, path->active,
sound/hda/codecs/generic.c
251
static bool is_nid_contained(struct nid_path *path, hda_nid_t nid)
sound/hda/codecs/generic.c
253
return find_idx_in_nid_list(nid, path->path, path->depth) >= 0;
sound/hda/codecs/generic.c
261
struct nid_path *path;
sound/hda/codecs/generic.c
264
snd_array_for_each(&spec->paths, i, path) {
sound/hda/codecs/generic.c
265
if (path->depth <= 0)
sound/hda/codecs/generic.c
267
if ((!from_nid || path->path[0] == from_nid) &&
sound/hda/codecs/generic.c
268
(!to_nid || path->path[path->depth - 1] == to_nid)) {
sound/hda/codecs/generic.c
270
(anchor_nid > 0 && is_nid_contained(path, anchor_nid)) ||
sound/hda/codecs/generic.c
271
(anchor_nid < 0 && !is_nid_contained(path, anchor_nid)))
sound/hda/codecs/generic.c
272
return path;
sound/hda/codecs/generic.c
287
int snd_hda_get_path_idx(struct hda_codec *codec, struct nid_path *path)
sound/hda/codecs/generic.c
295
idx = path - array;
sound/hda/codecs/generic.c
3089
struct nid_path *path;
sound/hda/codecs/generic.c
3096
path = snd_hda_add_new_path(codec, pin, mix_nid, 0);
sound/hda/codecs/generic.c
3097
if (!path)
sound/hda/codecs/generic.c
3099
print_nid_path(codec, "loopback", path);
sound/hda/codecs/generic.c
3100
spec->loopback_paths[input_idx] = snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
3102
idx = path->idx[path->depth - 1];
sound/hda/codecs/generic.c
3107
path->ctls[NID_PATH_VOL_CTL] = mix_val;
sound/hda/codecs/generic.c
3114
path->ctls[NID_PATH_MUTE_CTL] = mute_val;
sound/hda/codecs/generic.c
3117
path->active = true;
sound/hda/codecs/generic.c
3118
path->stream_enabled = true; /* no DAC/ADC involved */
sound/hda/codecs/generic.c
3125
path = snd_hda_add_new_path(codec, spec->mixer_nid,
sound/hda/codecs/generic.c
3127
if (path) {
sound/hda/codecs/generic.c
3128
print_nid_path(codec, "loopback-merge", path);
sound/hda/codecs/generic.c
3129
path->active = true;
sound/hda/codecs/generic.c
3130
path->pin_fixed = true; /* static route */
sound/hda/codecs/generic.c
3131
path->stream_enabled = true; /* no DAC/ADC involved */
sound/hda/codecs/generic.c
3133
snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
322
const struct nid_path *path;
sound/hda/codecs/generic.c
325
snd_array_for_each(&spec->paths, i, path) {
sound/hda/codecs/generic.c
3256
struct nid_path *path;
sound/hda/codecs/generic.c
326
if (path->path[0] == nid)
sound/hda/codecs/generic.c
3261
path = snd_hda_add_new_path(codec, pin, adc, anchor);
sound/hda/codecs/generic.c
3262
if (!path)
sound/hda/codecs/generic.c
3264
print_nid_path(codec, "input", path);
sound/hda/codecs/generic.c
3266
snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
3464
struct nid_path *path;
sound/hda/codecs/generic.c
3471
path = get_input_path(codec, adc_idx, i);
sound/hda/codecs/generic.c
3472
if (!path || !path->ctls[type])
sound/hda/codecs/generic.c
3474
kcontrol->private_value = path->ctls[type];
sound/hda/codecs/generic.c
348
const struct nid_path *path;
sound/hda/codecs/generic.c
352
snd_array_for_each(&spec->paths, i, path) {
sound/hda/codecs/generic.c
353
if ((path->ctls[type] & AMP_VAL_COMPARE_MASK) == val)
sound/hda/codecs/generic.c
3533
static int parse_capvol_in_path(struct hda_codec *codec, struct nid_path *path)
sound/hda/codecs/generic.c
3538
path->ctls[NID_PATH_VOL_CTL] = path->ctls[NID_PATH_MUTE_CTL] = 0;
sound/hda/codecs/generic.c
3540
if (depth >= path->depth)
sound/hda/codecs/generic.c
3542
i = path->depth - depth - 1;
sound/hda/codecs/generic.c
3543
nid = path->path[i];
sound/hda/codecs/generic.c
3544
if (!path->ctls[NID_PATH_VOL_CTL]) {
sound/hda/codecs/generic.c
3546
path->ctls[NID_PATH_VOL_CTL] =
sound/hda/codecs/generic.c
3549
int idx = path->idx[i];
sound/hda/codecs/generic.c
3552
path->ctls[NID_PATH_VOL_CTL] =
sound/hda/codecs/generic.c
3556
if (!path->ctls[NID_PATH_MUTE_CTL]) {
sound/hda/codecs/generic.c
3558
path->ctls[NID_PATH_MUTE_CTL] =
sound/hda/codecs/generic.c
3561
int idx = path->idx[i];
sound/hda/codecs/generic.c
3564
path->ctls[NID_PATH_MUTE_CTL] =
sound/hda/codecs/generic.c
368
const char *pfx, struct nid_path *path)
sound/hda/codecs/generic.c
3707
struct nid_path *path;
sound/hda/codecs/generic.c
3711
path = get_input_path(codec, 0, idx);
sound/hda/codecs/generic.c
3712
if (!path)
sound/hda/codecs/generic.c
3714
ctl = path->ctls[type];
sound/hda/codecs/generic.c
3718
path = get_input_path(codec, 0, i);
sound/hda/codecs/generic.c
3719
if (path && path->ctls[type] == ctl)
sound/hda/codecs/generic.c
375
for (i = 0; i < path->depth; i++)
sound/hda/codecs/generic.c
378
path->path[i]);
sound/hda/codecs/generic.c
3784
struct nid_path *path;
sound/hda/codecs/generic.c
3785
path = get_input_path(codec, n, i);
sound/hda/codecs/generic.c
3786
if (!path)
sound/hda/codecs/generic.c
3788
parse_capvol_in_path(codec, path);
sound/hda/codecs/generic.c
3790
vol = path->ctls[NID_PATH_VOL_CTL];
sound/hda/codecs/generic.c
3791
else if (vol != path->ctls[NID_PATH_VOL_CTL]) {
sound/hda/codecs/generic.c
3794
path->ctls[NID_PATH_VOL_CTL], HDA_INPUT))
sound/hda/codecs/generic.c
3798
sw = path->ctls[NID_PATH_MUTE_CTL];
sound/hda/codecs/generic.c
3799
else if (sw != path->ctls[NID_PATH_MUTE_CTL]) {
sound/hda/codecs/generic.c
380
codec_dbg(codec, "%s path: depth=%d '%s'\n", pfx, path->depth, buf);
sound/hda/codecs/generic.c
3802
path->ctls[NID_PATH_MUTE_CTL], HDA_INPUT))
sound/hda/codecs/generic.c
3847
struct nid_path *path)
sound/hda/codecs/generic.c
3854
if (depth >= path->depth - 1)
sound/hda/codecs/generic.c
3856
nid = path->path[depth];
sound/hda/codecs/generic.c
386
int anchor_nid, struct nid_path *path,
sound/hda/codecs/generic.c
3861
path->idx[depth])) {
sound/hda/codecs/generic.c
3862
val = HDA_COMPOSE_AMP_VAL(nid, 3, path->idx[depth],
sound/hda/codecs/generic.c
3882
struct nid_path *path;
sound/hda/codecs/generic.c
3895
path = get_input_path(codec, 0, i);
sound/hda/codecs/generic.c
3896
if (!path)
sound/hda/codecs/generic.c
3899
val = look_for_boost_amp(codec, path);
sound/hda/codecs/generic.c
3910
path->ctls[NID_PATH_BOOST_CTL] = val;
sound/hda/codecs/generic.c
4016
struct nid_path *path;
sound/hda/codecs/generic.c
4027
path = snd_hda_add_new_path(codec, dig_nid, pin, 0);
sound/hda/codecs/generic.c
4028
if (!path)
sound/hda/codecs/generic.c
4030
print_nid_path(codec, "digout", path);
sound/hda/codecs/generic.c
4031
path->active = true;
sound/hda/codecs/generic.c
4032
path->pin_fixed = true; /* no jack detection */
sound/hda/codecs/generic.c
4033
spec->digout_paths[i] = snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
4055
path = snd_hda_add_new_path(codec, pin, dig_nid, 0);
sound/hda/codecs/generic.c
4056
if (path) {
sound/hda/codecs/generic.c
4057
print_nid_path(codec, "digin", path);
sound/hda/codecs/generic.c
4058
path->active = true;
sound/hda/codecs/generic.c
4059
path->pin_fixed = true; /* no jack */
sound/hda/codecs/generic.c
4061
spec->digin_path = snd_hda_get_path_idx(codec, path);
sound/hda/codecs/generic.c
4082
struct nid_path *old_path, *path;
sound/hda/codecs/generic.c
4107
path = get_input_path(codec, adc_idx, idx);
sound/hda/codecs/generic.c
4108
if (!path)
sound/hda/codecs/generic.c
4110
if (path->active)
sound/hda/codecs/generic.c
4112
snd_hda_activate_path(codec, path, true, false);
sound/hda/codecs/generic.c
4129
struct nid_path *path;
sound/hda/codecs/generic.c
4132
snd_array_for_each(&spec->paths, n, path) {
sound/hda/codecs/generic.c
4133
if (!path->depth)
sound/hda/codecs/generic.c
4135
if (path->path[0] == nid ||
sound/hda/codecs/generic.c
4136
path->path[path->depth - 1] == nid) {
sound/hda/codecs/generic.c
4137
bool pin_old = path->pin_enabled;
sound/hda/codecs/generic.c
4138
bool stream_old = path->stream_enabled;
sound/hda/codecs/generic.c
4141
path->pin_enabled = pin_state;
sound/hda/codecs/generic.c
4143
path->stream_enabled = stream_state;
sound/hda/codecs/generic.c
4144
if ((!path->pin_fixed && path->pin_enabled != pin_old)
sound/hda/codecs/generic.c
4145
|| path->stream_enabled != stream_old) {
sound/hda/codecs/generic.c
4146
last = path_power_update(codec, path, true);
sound/hda/codecs/generic.c
421
anchor_nid, path, depth + 1))
sound/hda/codecs/generic.c
427
path->path[path->depth] = conn[i];
sound/hda/codecs/generic.c
4277
struct nid_path *path;
sound/hda/codecs/generic.c
428
path->idx[path->depth + 1] = i;
sound/hda/codecs/generic.c
4285
path = snd_array_new(&spec->paths);
sound/hda/codecs/generic.c
4286
if (!path)
sound/hda/codecs/generic.c
4288
memset(path, 0, sizeof(*path));
sound/hda/codecs/generic.c
4289
path->depth = 2;
sound/hda/codecs/generic.c
4290
path->path[0] = nid;
sound/hda/codecs/generic.c
4291
path->path[1] = pins[i];
sound/hda/codecs/generic.c
4292
path->active = true;
sound/hda/codecs/generic.c
430
path->multi[path->depth + 1] = 1;
sound/hda/codecs/generic.c
431
path->depth++;
sound/hda/codecs/generic.c
4338
struct nid_path *path;
sound/hda/codecs/generic.c
4340
path = snd_array_new(&spec->paths);
sound/hda/codecs/generic.c
4341
if (!path)
sound/hda/codecs/generic.c
4343
memset(path, 0, sizeof(*path));
sound/hda/codecs/generic.c
4344
path->depth = 1;
sound/hda/codecs/generic.c
4345
path->path[0] = pin;
sound/hda/codecs/generic.c
4346
path->active = true;
sound/hda/codecs/generic.c
4347
path->pin_fixed = true;
sound/hda/codecs/generic.c
4348
path->stream_enabled = true;
sound/hda/codecs/generic.c
4394
struct nid_path *path;
sound/hda/codecs/generic.c
4397
path = snd_hda_get_path_from_idx(codec, paths[i]);
sound/hda/codecs/generic.c
4398
if (!path)
sound/hda/codecs/generic.c
4400
mute_nid = get_amp_nid_(path->ctls[NID_PATH_MUTE_CTL]);
sound/hda/codecs/generic.c
456
struct nid_path *path)
sound/hda/codecs/generic.c
458
if (__parse_nid_path(codec, from_nid, to_nid, anchor_nid, path, 1)) {
sound/hda/codecs/generic.c
459
path->path[path->depth] = to_nid;
sound/hda/codecs/generic.c
460
path->depth++;
sound/hda/codecs/generic.c
481
struct nid_path *path;
sound/hda/codecs/generic.c
487
path = get_nid_path(codec, from_nid, to_nid, anchor_nid);
sound/hda/codecs/generic.c
488
if (path)
sound/hda/codecs/generic.c
489
return path;
sound/hda/codecs/generic.c
491
path = snd_array_new(&spec->paths);
sound/hda/codecs/generic.c
492
if (!path)
sound/hda/codecs/generic.c
494
memset(path, 0, sizeof(*path));
sound/hda/codecs/generic.c
495
if (snd_hda_parse_nid_path(codec, from_nid, to_nid, anchor_nid, path))
sound/hda/codecs/generic.c
496
return path;
sound/hda/codecs/generic.c
4981
const struct nid_path *path;
sound/hda/codecs/generic.c
4998
path = snd_hda_get_path_from_idx(codec, paths[i]);
sound/hda/codecs/generic.c
4999
if (!path)
sound/hda/codecs/generic.c
5001
for (p = 0; p < path->depth; p++)
sound/hda/codecs/generic.c
5002
if (force_mute_output_path(codec, path->path[p]))
sound/hda/codecs/generic.c
506
struct nid_path *path = snd_hda_get_path_from_idx(codec, idx);
sound/hda/codecs/generic.c
507
if (!path)
sound/hda/codecs/generic.c
509
memset(path, 0, sizeof(*path));
sound/hda/codecs/generic.c
566
struct nid_path *path)
sound/hda/codecs/generic.c
570
for (i = path->depth - 1; i >= 0; i--) {
sound/hda/codecs/generic.c
571
if (nid_has_mute(codec, path->path[i], HDA_OUTPUT))
sound/hda/codecs/generic.c
572
return path->path[i];
sound/hda/codecs/generic.c
573
if (i != path->depth - 1 && i != 0 &&
sound/hda/codecs/generic.c
574
nid_has_mute(codec, path->path[i], HDA_INPUT))
sound/hda/codecs/generic.c
575
return path->path[i];
sound/hda/codecs/generic.c
582
struct nid_path *path)
sound/hda/codecs/generic.c
5850
struct nid_path *path;
sound/hda/codecs/generic.c
5853
path = snd_hda_get_path_from_idx(codec, path_idx);
sound/hda/codecs/generic.c
5854
if (!path || !path->depth)
sound/hda/codecs/generic.c
5856
pin = path->path[path->depth - 1];
sound/hda/codecs/generic.c
5858
snd_hda_activate_path(codec, path, path->active,
sound/hda/codecs/generic.c
5860
set_pin_eapd(codec, pin, path->active);
sound/hda/codecs/generic.c
587
for (i = path->depth - 1; i >= 0; i--) {
sound/hda/codecs/generic.c
588
hda_nid_t nid = path->path[i];
sound/hda/codecs/generic.c
5902
struct nid_path *path;
sound/hda/codecs/generic.c
5903
path = get_multiio_path(codec, i);
sound/hda/codecs/generic.c
5904
if (!path)
sound/hda/codecs/generic.c
5909
snd_hda_activate_path(codec, path, path->active,
sound/hda/codecs/generic.c
5958
struct nid_path *path;
sound/hda/codecs/generic.c
5968
path = get_input_path(codec, c, i);
sound/hda/codecs/generic.c
5969
if (path) {
sound/hda/codecs/generic.c
5970
bool active = path->active;
sound/hda/codecs/generic.c
5973
snd_hda_activate_path(codec, path, active, false);
sound/hda/codecs/generic.c
602
static bool has_amp_in(struct hda_codec *codec, struct nid_path *path, int idx)
sound/hda/codecs/generic.c
604
hda_nid_t nid = path->path[idx];
sound/hda/codecs/generic.c
616
static bool has_amp_out(struct hda_codec *codec, struct nid_path *path, int idx)
sound/hda/codecs/generic.c
618
hda_nid_t nid = path->path[idx];
sound/hda/codecs/generic.c
635
const struct nid_path *path;
sound/hda/codecs/generic.c
641
snd_array_for_each(&spec->paths, n, path) {
sound/hda/codecs/generic.c
642
if (!path->active)
sound/hda/codecs/generic.c
645
if (!path->stream_enabled)
sound/hda/codecs/generic.c
648
if (!(path->pin_enabled || path->pin_fixed) &&
sound/hda/codecs/generic.c
652
for (i = 0; i < path->depth; i++) {
sound/hda/codecs/generic.c
653
if (path->path[i] == nid) {
sound/hda/codecs/generic.c
655
path->idx[i] == idx)
sound/hda/codecs/generic.c
774
static void activate_amp_out(struct hda_codec *codec, struct nid_path *path,
sound/hda/codecs/generic.c
777
hda_nid_t nid = path->path[i];
sound/hda/codecs/generic.c
782
static void activate_amp_in(struct hda_codec *codec, struct nid_path *path,
sound/hda/codecs/generic.c
789
hda_nid_t nid = path->path[i];
sound/hda/codecs/generic.c
800
idx = path->idx[i];
sound/hda/codecs/generic.c
824
struct nid_path *path,
sound/hda/codecs/generic.c
830
for (i = 0; i < path->depth; i++) {
sound/hda/codecs/generic.c
831
nid = path->path[i];
sound/hda/codecs/generic.c
879
void snd_hda_activate_path(struct hda_codec *codec, struct nid_path *path,
sound/hda/codecs/generic.c
885
path->active = enable;
sound/hda/codecs/generic.c
889
path_power_update(codec, path, codec->power_save_node);
sound/hda/codecs/generic.c
891
for (i = path->depth - 1; i >= 0; i--) {
sound/hda/codecs/generic.c
892
hda_nid_t nid = path->path[i];
sound/hda/codecs/generic.c
894
if (enable && path->multi[i])
sound/hda/codecs/generic.c
897
path->idx[i]);
sound/hda/codecs/generic.c
898
if (has_amp_in(codec, path, i))
sound/hda/codecs/generic.c
899
activate_amp_in(codec, path, i, enable, add_aamix);
sound/hda/codecs/generic.c
900
if (has_amp_out(codec, path, i))
sound/hda/codecs/generic.c
901
activate_amp_out(codec, path, i, enable);
sound/hda/codecs/generic.c
907
static void path_power_down_sync(struct hda_codec *codec, struct nid_path *path)
sound/hda/codecs/generic.c
911
if (!(spec->power_down_unused || codec->power_save_node) || path->active)
sound/hda/codecs/generic.c
913
sync_power_state_change(codec, path_power_update(codec, path, true));
sound/hda/codecs/generic.c
935
struct nid_path *path = snd_hda_get_path_from_idx(codec, path_idx);
sound/hda/codecs/generic.c
936
if (path)
sound/hda/codecs/generic.c
937
snd_hda_activate_path(codec, path, path->active, false);
sound/hda/codecs/generic.h
316
int snd_hda_get_path_idx(struct hda_codec *codec, struct nid_path *path);
sound/hda/codecs/generic.h
321
void snd_hda_activate_path(struct hda_codec *codec, struct nid_path *path,
sound/hda/codecs/generic.h
46
hda_nid_t path[MAX_NID_PATH_DEPTH];
sound/isa/wavefront/wavefront_synth.c
1965
wavefront_download_firmware (snd_wavefront_t *dev, char *path)
sound/isa/wavefront/wavefront_synth.c
1973
err = request_firmware(&firmware, path, dev->card->dev);
sound/isa/wavefront/wavefront_synth.c
1975
dev_err(dev->card->dev, "firmware (%s) download failed!!!\n", path);
sound/pci/mixart/mixart_hwdep.c
562
char path[32];
sound/pci/mixart/mixart_hwdep.c
568
sprintf(path, "mixart/%s", fw_files[i]);
sound/pci/mixart/mixart_hwdep.c
569
if (request_firmware(&fw_entry, path, &mgr->pci->dev)) {
sound/pci/mixart/mixart_hwdep.c
571
"miXart: can't load firmware %s\n", path);
sound/pci/pcxhr/pcxhr_hwdep.c
368
char path[32];
sound/pci/pcxhr/pcxhr_hwdep.c
377
sprintf(path, "pcxhr/%s", fw_files[fw_set][i]);
sound/pci/pcxhr/pcxhr_hwdep.c
378
if (request_firmware(&fw_entry, path, &mgr->pci->dev)) {
sound/pci/pcxhr/pcxhr_hwdep.c
381
path);
sound/pci/riptide/riptide.c
738
const unsigned char *path, unsigned char *mixer, unsigned char *s)
sound/pci/riptide/riptide.c
740
while (*path != 0xff) {
sound/pci/riptide/riptide.c
743
sink = *path & (~SPLIT_PATH);
sound/pci/riptide/riptide.c
765
if (*path++ & SPLIT_PATH) {
sound/pci/riptide/riptide.c
766
const unsigned char *npath = path;
sound/pci/riptide/riptide.c
776
freelbuspath(struct cmdif *cif, unsigned char source, const unsigned char *path)
sound/pci/riptide/riptide.c
778
while (*path != 0xff) {
sound/pci/riptide/riptide.c
781
sink = *path & (~SPLIT_PATH);
sound/pci/riptide/riptide.c
787
if (*path++ & SPLIT_PATH) {
sound/pci/riptide/riptide.c
788
const unsigned char *npath = path;
sound/soc/codecs/lpass-tx-macro.c
1076
int path = e->shift_l;
sound/soc/codecs/lpass-tx-macro.c
1078
ucontrol->value.integer.value[0] = tx->dec_mode[path];
sound/soc/codecs/lpass-tx-macro.c
1089
int path = e->shift_l;
sound/soc/codecs/lpass-tx-macro.c
1092
if (tx->dec_mode[path] == value)
sound/soc/codecs/lpass-tx-macro.c
1095
tx->dec_mode[path] = value;
sound/soc/codecs/lpass-va-macro.c
830
int path = e->shift_l;
sound/soc/codecs/lpass-va-macro.c
832
ucontrol->value.enumerated.item[0] = va->dec_mode[path];
sound/soc/codecs/lpass-va-macro.c
843
int path = e->shift_l;
sound/soc/codecs/lpass-va-macro.c
846
va->dec_mode[path] = value;
sound/soc/codecs/lpass-wsa-macro.c
1657
int path,
sound/soc/codecs/lpass-wsa-macro.c
1661
(path * wsa->reg_layout->softclip1_reg_offset);
sound/soc/codecs/lpass-wsa-macro.c
1662
u8 softclip_mux_mask = (1 << path);
sound/soc/codecs/lpass-wsa-macro.c
1663
u8 softclip_mux_value = (1 << path);
sound/soc/codecs/lpass-wsa-macro.c
1666
if (wsa->softclip_clk_users[path] == 0) {
sound/soc/codecs/lpass-wsa-macro.c
1675
wsa->softclip_clk_users[path]++;
sound/soc/codecs/lpass-wsa-macro.c
1677
wsa->softclip_clk_users[path]--;
sound/soc/codecs/lpass-wsa-macro.c
1678
if (wsa->softclip_clk_users[path] == 0) {
sound/soc/codecs/lpass-wsa-macro.c
1691
int path, int event)
sound/soc/codecs/lpass-wsa-macro.c
1697
if (path == WSA_MACRO_COMP1)
sound/soc/codecs/lpass-wsa-macro.c
1699
else if (path == WSA_MACRO_COMP2)
sound/soc/codecs/lpass-wsa-macro.c
2159
int path = ((struct soc_mixer_control *)kcontrol->private_value)->shift;
sound/soc/codecs/lpass-wsa-macro.c
2161
ucontrol->value.integer.value[0] = wsa->is_softclip_on[path];
sound/soc/codecs/lpass-wsa-macro.c
2171
int path = ((struct soc_mixer_control *) kcontrol->private_value)->shift;
sound/soc/codecs/lpass-wsa-macro.c
2173
wsa->is_softclip_on[path] = ucontrol->value.integer.value[0];
sound/soc/codecs/wcd938x.c
1485
int path = e->shift_l;
sound/soc/codecs/wcd938x.c
1487
ucontrol->value.enumerated.item[0] = wcd938x->tx_mode[path];
sound/soc/codecs/wcd938x.c
1498
int path = e->shift_l;
sound/soc/codecs/wcd938x.c
1500
if (wcd938x->tx_mode[path] == ucontrol->value.enumerated.item[0])
sound/soc/codecs/wcd938x.c
1503
wcd938x->tx_mode[path] = ucontrol->value.enumerated.item[0];
sound/soc/codecs/wcd939x.c
1439
int path = e->shift_l;
sound/soc/codecs/wcd939x.c
1441
ucontrol->value.enumerated.item[0] = wcd939x->tx_mode[path];
sound/soc/codecs/wcd939x.c
1452
int path = e->shift_l;
sound/soc/codecs/wcd939x.c
1454
if (wcd939x->tx_mode[path] == ucontrol->value.enumerated.item[0])
sound/soc/codecs/wcd939x.c
1457
wcd939x->tx_mode[path] = ucontrol->value.enumerated.item[0];
sound/soc/codecs/wm8958-dsp2.c
188
static void wm8958_dsp_start_mbc(struct snd_soc_component *component, int path)
sound/soc/codecs/wm8958-dsp2.c
228
path << WM8958_MBC_SEL_SHIFT |
sound/soc/codecs/wm8958-dsp2.c
232
static void wm8958_dsp_start_vss(struct snd_soc_component *component, int path)
sound/soc/codecs/wm8958-dsp2.c
276
if (wm8994->mbc_ena[path])
sound/soc/codecs/wm8958-dsp2.c
278
if (wm8994->hpf2_ena[path])
sound/soc/codecs/wm8958-dsp2.c
280
if (wm8994->hpf1_ena[path])
sound/soc/codecs/wm8958-dsp2.c
282
if (wm8994->vss_ena[path])
sound/soc/codecs/wm8958-dsp2.c
290
path << WM8958_MBC_SEL_SHIFT | WM8958_MBC_ENA);
sound/soc/codecs/wm8958-dsp2.c
293
static void wm8958_dsp_start_enh_eq(struct snd_soc_component *component, int path)
sound/soc/codecs/wm8958-dsp2.c
321
path << WM8958_MBC_SEL_SHIFT | WM8958_MBC_ENA);
sound/soc/codecs/wm8958-dsp2.c
324
static void wm8958_dsp_apply(struct snd_soc_component *component, int path, int start)
sound/soc/codecs/wm8958-dsp2.c
330
switch (path) {
sound/soc/codecs/wm8958-dsp2.c
344
WARN(1, "Invalid path %d\n", path);
sound/soc/codecs/wm8958-dsp2.c
349
ena = wm8994->mbc_ena[path] || wm8994->vss_ena[path] ||
sound/soc/codecs/wm8958-dsp2.c
350
wm8994->hpf1_ena[path] || wm8994->hpf2_ena[path] ||
sound/soc/codecs/wm8958-dsp2.c
351
wm8994->enh_eq_ena[path];
sound/soc/codecs/wm8958-dsp2.c
358
path, wm8994->dsp_active, start, pwr_reg, reg);
sound/soc/codecs/wm8958-dsp2.c
378
if (wm8994->enh_eq_ena[path])
sound/soc/codecs/wm8958-dsp2.c
379
wm8958_dsp_start_enh_eq(component, path);
sound/soc/codecs/wm8958-dsp2.c
380
else if (wm8994->vss_ena[path] || wm8994->hpf1_ena[path] ||
sound/soc/codecs/wm8958-dsp2.c
381
wm8994->hpf2_ena[path])
sound/soc/codecs/wm8958-dsp2.c
382
wm8958_dsp_start_vss(component, path);
sound/soc/codecs/wm8958-dsp2.c
383
else if (wm8994->mbc_ena[path])
sound/soc/codecs/wm8958-dsp2.c
384
wm8958_dsp_start_mbc(component, path);
sound/soc/codecs/wm8958-dsp2.c
386
wm8994->dsp_active = path;
sound/soc/codecs/wm8958-dsp2.c
388
dev_dbg(component->dev, "DSP running in path %d\n", path);
sound/soc/codecs/wm8958-dsp2.c
391
if (!start && wm8994->dsp_active == path) {
sound/soc/intel/avs/apl.c
191
struct avs_path *path;
sound/soc/intel/avs/apl.c
195
list_for_each_entry(path, &adev->path_list, node) {
sound/soc/intel/avs/apl.c
198
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/control.c
26
struct avs_path *path;
sound/soc/intel/avs/control.c
31
list_for_each_entry(path, &adev->path_list, node) {
sound/soc/intel/avs/control.c
32
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
1098
static int avs_path_init(struct avs_dev *adev, struct avs_path *path,
sound/soc/intel/avs/path.c
1103
path->owner = adev;
sound/soc/intel/avs/path.c
1104
path->template = template;
sound/soc/intel/avs/path.c
1105
path->dma_id = dma_id;
sound/soc/intel/avs/path.c
1106
INIT_LIST_HEAD(&path->ppl_list);
sound/soc/intel/avs/path.c
1107
INIT_LIST_HEAD(&path->node);
sound/soc/intel/avs/path.c
1108
INIT_LIST_HEAD(&path->source_list);
sound/soc/intel/avs/path.c
1109
INIT_LIST_HEAD(&path->sink_list);
sound/soc/intel/avs/path.c
1110
INIT_LIST_HEAD(&path->source_node);
sound/soc/intel/avs/path.c
1111
INIT_LIST_HEAD(&path->sink_node);
sound/soc/intel/avs/path.c
1117
ppl = avs_path_pipeline_create(adev, path, tppl);
sound/soc/intel/avs/path.c
1121
list_add_tail(&ppl->node, &path->ppl_list);
sound/soc/intel/avs/path.c
1125
list_add_tail(&path->node, &adev->path_list);
sound/soc/intel/avs/path.c
1131
static int avs_path_arm(struct avs_dev *adev, struct avs_path *path)
sound/soc/intel/avs/path.c
1137
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
1156
static void avs_path_free_unlocked(struct avs_path *path)
sound/soc/intel/avs/path.c
1160
spin_lock(&path->owner->path_list_lock);
sound/soc/intel/avs/path.c
1161
list_del(&path->node);
sound/soc/intel/avs/path.c
1162
spin_unlock(&path->owner->path_list_lock);
sound/soc/intel/avs/path.c
1164
list_for_each_entry_safe(ppl, save, &path->ppl_list, node)
sound/soc/intel/avs/path.c
1165
avs_path_pipeline_free(path->owner, ppl);
sound/soc/intel/avs/path.c
1167
kfree(path);
sound/soc/intel/avs/path.c
1173
struct avs_path *path;
sound/soc/intel/avs/path.c
1176
path = kzalloc_obj(*path);
sound/soc/intel/avs/path.c
1177
if (!path)
sound/soc/intel/avs/path.c
1180
ret = avs_path_init(adev, path, template, dma_id);
sound/soc/intel/avs/path.c
1184
ret = avs_path_arm(adev, path);
sound/soc/intel/avs/path.c
1188
path->state = AVS_PPL_STATE_INVALID;
sound/soc/intel/avs/path.c
1189
return path;
sound/soc/intel/avs/path.c
1191
avs_path_free_unlocked(path);
sound/soc/intel/avs/path.c
1195
static void avs_condpath_free(struct avs_dev *adev, struct avs_path *path)
sound/soc/intel/avs/path.c
1199
list_del(&path->source_node);
sound/soc/intel/avs/path.c
1200
list_del(&path->sink_node);
sound/soc/intel/avs/path.c
1202
ret = avs_path_reset(path);
sound/soc/intel/avs/path.c
1206
ret = avs_path_unbind(path);
sound/soc/intel/avs/path.c
1210
avs_path_free_unlocked(path);
sound/soc/intel/avs/path.c
1218
struct avs_path *path;
sound/soc/intel/avs/path.c
1221
path = avs_path_create_unlocked(adev, 0, template);
sound/soc/intel/avs/path.c
1222
if (IS_ERR(path))
sound/soc/intel/avs/path.c
1223
return path;
sound/soc/intel/avs/path.c
1225
ret = avs_path_bind(path);
sound/soc/intel/avs/path.c
1229
ret = avs_path_reset(path);
sound/soc/intel/avs/path.c
1233
path->source = source;
sound/soc/intel/avs/path.c
1234
path->sink = sink;
sound/soc/intel/avs/path.c
1235
list_add_tail(&path->source_node, &source->source_list);
sound/soc/intel/avs/path.c
1236
list_add_tail(&path->sink_node, &sink->sink_list);
sound/soc/intel/avs/path.c
1238
return path;
sound/soc/intel/avs/path.c
1241
avs_path_unbind(path);
sound/soc/intel/avs/path.c
1243
avs_path_free_unlocked(path);
sound/soc/intel/avs/path.c
1247
static int avs_condpaths_walk(struct avs_dev *adev, struct avs_path *path, int dir)
sound/soc/intel/avs/path.c
1254
source = path;
sound/soc/intel/avs/path.c
1257
sink = path;
sound/soc/intel/avs/path.c
1274
*other = avs_condpath_find_match(adev, template, path, dir);
sound/soc/intel/avs/path.c
1292
static int avs_condpaths_walk_all(struct avs_dev *adev, struct avs_path *path)
sound/soc/intel/avs/path.c
1296
ret = avs_condpaths_walk(adev, path, SNDRV_PCM_STREAM_CAPTURE);
sound/soc/intel/avs/path.c
1300
return avs_condpaths_walk(adev, path, SNDRV_PCM_STREAM_PLAYBACK);
sound/soc/intel/avs/path.c
1303
void avs_path_free(struct avs_path *path)
sound/soc/intel/avs/path.c
1306
struct avs_dev *adev = path->owner;
sound/soc/intel/avs/path.c
1311
list_for_each_entry_safe(cpath, csave, &path->source_list, source_node)
sound/soc/intel/avs/path.c
1312
avs_condpath_free(path->owner, cpath);
sound/soc/intel/avs/path.c
1313
list_for_each_entry_safe(cpath, csave, &path->sink_list, sink_node)
sound/soc/intel/avs/path.c
1314
avs_condpath_free(path->owner, cpath);
sound/soc/intel/avs/path.c
1316
avs_path_free_unlocked(path);
sound/soc/intel/avs/path.c
1327
struct avs_path *path;
sound/soc/intel/avs/path.c
1341
path = avs_path_create_unlocked(adev, dma_id, variant);
sound/soc/intel/avs/path.c
1342
if (IS_ERR(path))
sound/soc/intel/avs/path.c
1345
ret = avs_condpaths_walk_all(adev, path);
sound/soc/intel/avs/path.c
1347
avs_path_free_unlocked(path);
sound/soc/intel/avs/path.c
1348
path = ERR_PTR(ret);
sound/soc/intel/avs/path.c
1355
return path;
sound/soc/intel/avs/path.c
1389
int avs_path_bind(struct avs_path *path)
sound/soc/intel/avs/path.c
1392
struct avs_dev *adev = path->owner;
sound/soc/intel/avs/path.c
1395
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
142
struct avs_path *path, int dir)
sound/soc/intel/avs/path.c
1422
int avs_path_unbind(struct avs_path *path)
sound/soc/intel/avs/path.c
1425
struct avs_dev *adev = path->owner;
sound/soc/intel/avs/path.c
1428
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
1451
int avs_path_reset(struct avs_path *path)
sound/soc/intel/avs/path.c
1454
struct avs_dev *adev = path->owner;
sound/soc/intel/avs/path.c
1457
if (path->state == AVS_PPL_STATE_RESET)
sound/soc/intel/avs/path.c
1460
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
1465
path->state = AVS_PPL_STATE_INVALID;
sound/soc/intel/avs/path.c
1470
path->state = AVS_PPL_STATE_RESET;
sound/soc/intel/avs/path.c
1495
static void avs_condpaths_pause(struct avs_dev *adev, struct avs_path *path)
sound/soc/intel/avs/path.c
1502
list_for_each_entry(cpath, &path->source_list, source_node)
sound/soc/intel/avs/path.c
1504
list_for_each_entry(cpath, &path->sink_list, sink_node)
sound/soc/intel/avs/path.c
1510
int avs_path_pause(struct avs_path *path)
sound/soc/intel/avs/path.c
1513
struct avs_dev *adev = path->owner;
sound/soc/intel/avs/path.c
1516
if (path->state == AVS_PPL_STATE_PAUSED)
sound/soc/intel/avs/path.c
1519
avs_condpaths_pause(adev, path);
sound/soc/intel/avs/path.c
1521
list_for_each_entry_reverse(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
1526
path->state = AVS_PPL_STATE_INVALID;
sound/soc/intel/avs/path.c
1531
path->state = AVS_PPL_STATE_PAUSED;
sound/soc/intel/avs/path.c
155
if (id->id != path->template->owner->id ||
sound/soc/intel/avs/path.c
1559
static void avs_condpaths_run(struct avs_dev *adev, struct avs_path *path, int trigger)
sound/soc/intel/avs/path.c
156
strcmp(id->tplg_name, path->template->owner->owner->name))
sound/soc/intel/avs/path.c
1566
list_for_each_entry(cpath, &path->source_list, source_node)
sound/soc/intel/avs/path.c
1571
list_for_each_entry(cpath, &path->sink_list, sink_node)
sound/soc/intel/avs/path.c
1579
int avs_path_run(struct avs_path *path, int trigger)
sound/soc/intel/avs/path.c
1582
struct avs_dev *adev = path->owner;
sound/soc/intel/avs/path.c
1585
if (path->state == AVS_PPL_STATE_RUNNING && trigger == AVS_TPLG_TRIGGER_AUTO)
sound/soc/intel/avs/path.c
1588
list_for_each_entry(ppl, &path->ppl_list, node) {
sound/soc/intel/avs/path.c
1596
path->state = AVS_PPL_STATE_INVALID;
sound/soc/intel/avs/path.c
1601
path->state = AVS_PPL_STATE_RUNNING;
sound/soc/intel/avs/path.c
1605
avs_condpaths_run(adev, path, trigger);
sound/soc/intel/avs/path.c
161
return path;
sound/soc/intel/avs/path.c
42
avs_path_find_pipeline(struct avs_path *path, u32 template_id)
sound/soc/intel/avs/path.c
46
list_for_each_entry(ppl, &path->ppl_list, node)
sound/soc/intel/avs/path.c
57
struct avs_path *path;
sound/soc/intel/avs/path.c
74
list_for_each_entry(path, &adev->path_list, node) {
sound/soc/intel/avs/path.c
75
if (path->template->owner == template) {
sound/soc/intel/avs/path.c
77
return path;
sound/soc/intel/avs/path.h
74
void avs_path_free(struct avs_path *path);
sound/soc/intel/avs/path.h
79
int avs_path_bind(struct avs_path *path);
sound/soc/intel/avs/path.h
80
int avs_path_unbind(struct avs_path *path);
sound/soc/intel/avs/path.h
81
int avs_path_reset(struct avs_path *path);
sound/soc/intel/avs/path.h
82
int avs_path_pause(struct avs_path *path);
sound/soc/intel/avs/path.h
83
int avs_path_run(struct avs_path *path, int trigger);
sound/soc/intel/avs/pcm.c
173
struct avs_path *path;
sound/soc/intel/avs/pcm.c
190
path = avs_path_create(data->adev, dma_id, data->template, fe_hw_params, be_hw_params);
sound/soc/intel/avs/pcm.c
191
if (IS_ERR(path)) {
sound/soc/intel/avs/pcm.c
192
ret = PTR_ERR(path);
sound/soc/intel/avs/pcm.c
197
data->path = path;
sound/soc/intel/avs/pcm.c
225
if (!data->path)
sound/soc/intel/avs/pcm.c
228
ret = avs_path_reset(data->path);
sound/soc/intel/avs/pcm.c
234
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
246
if (data->path)
sound/soc/intel/avs/pcm.c
26
struct avs_path *path;
sound/soc/intel/avs/pcm.c
260
if (data->path) {
sound/soc/intel/avs/pcm.c
261
avs_path_free(data->path);
sound/soc/intel/avs/pcm.c
262
data->path = NULL;
sound/soc/intel/avs/pcm.c
284
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
290
ret = avs_path_run(data->path, AVS_TPLG_TRIGGER_AUTO);
sound/soc/intel/avs/pcm.c
301
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
305
ret = avs_path_reset(data->path);
sound/soc/intel/avs/pcm.c
419
if (data->path)
sound/soc/intel/avs/pcm.c
432
if (!data->path)
sound/soc/intel/avs/pcm.c
437
avs_path_free(data->path);
sound/soc/intel/avs/pcm.c
438
data->path = NULL;
sound/soc/intel/avs/pcm.c
507
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
513
ret = avs_path_run(data->path, AVS_TPLG_TRIGGER_AUTO);
sound/soc/intel/avs/pcm.c
524
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
530
ret = avs_path_reset(data->path);
sound/soc/intel/avs/pcm.c
670
if (data->path)
sound/soc/intel/avs/pcm.c
691
ret = avs_path_bind(data->path);
sound/soc/intel/avs/pcm.c
700
avs_path_free(data->path);
sound/soc/intel/avs/pcm.c
701
data->path = NULL;
sound/soc/intel/avs/pcm.c
717
if (!data->path)
sound/soc/intel/avs/pcm.c
722
ret = avs_path_unbind(data->path);
sound/soc/intel/avs/pcm.c
726
avs_path_free(data->path);
sound/soc/intel/avs/pcm.c
727
data->path = NULL;
sound/soc/intel/avs/pcm.c
889
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
895
ret = avs_path_run(data->path, AVS_TPLG_TRIGGER_AUTO);
sound/soc/intel/avs/pcm.c
907
ret = avs_path_pause(data->path);
sound/soc/intel/avs/pcm.c
915
ret = avs_path_reset(data->path);
sound/soc/intel/avs/topology.c
1440
struct avs_tplg_path *path;
sound/soc/intel/avs/topology.c
1444
path = devm_kzalloc(comp->card->dev, sizeof(*path), GFP_KERNEL);
sound/soc/intel/avs/topology.c
1445
if (!path)
sound/soc/intel/avs/topology.c
1448
path->owner = owner;
sound/soc/intel/avs/topology.c
1449
INIT_LIST_HEAD(&path->ppl_list);
sound/soc/intel/avs/topology.c
1450
INIT_LIST_HEAD(&path->node);
sound/soc/intel/avs/topology.c
1463
ret = avs_parse_tokens(comp, path, parsers, num_parsers, tuples, offset);
sound/soc/intel/avs/topology.c
1477
pipeline = avs_tplg_pipeline_create(comp, path, tuples, esize);
sound/soc/intel/avs/topology.c
1484
list_add_tail(&pipeline->node, &path->ppl_list);
sound/soc/intel/avs/topology.c
1489
return path;
sound/soc/intel/avs/topology.c
1540
struct avs_tplg_path *path;
sound/soc/intel/avs/topology.c
1565
path = avs_tplg_path_create(comp, template, tuples, esize, path_tokens,
sound/soc/intel/avs/topology.c
1567
if (IS_ERR(path)) {
sound/soc/intel/avs/topology.c
1568
dev_err(comp->dev, "parse path failed: %ld\n", PTR_ERR(path));
sound/soc/intel/avs/topology.c
1569
return PTR_ERR(path);
sound/soc/intel/avs/topology.c
1572
list_add_tail(&path->node, &template->path_list);
sound/soc/qcom/qdsp6/q6adm.c
327
int port_id, int path, int topology,
sound/soc/qcom/qdsp6/q6adm.c
350
open->mode_of_operation = path;
sound/soc/qcom/qdsp6/q6adm.c
381
struct q6copp *q6adm_open(struct device *dev, int port_id, int path, int rate,
sound/soc/qcom/qdsp6/q6adm.c
420
ret = q6adm_device_open(adm, copp, port_id, path, topology,
sound/soc/qcom/qdsp6/q6adm.c
457
int q6adm_matrix_map(struct device *dev, int path,
sound/soc/qcom/qdsp6/q6adm.c
488
switch (path) {
sound/soc/qcom/qdsp6/q6adm.c
496
dev_err(dev, "Wrong path set[%d]\n", path);
sound/soc/qcom/qdsp6/q6adm.h
19
struct q6copp *q6adm_open(struct device *dev, int port_id, int path, int rate,
sound/soc/qcom/qdsp6/q6adm.h
24
int q6adm_matrix_map(struct device *dev, int path,
sound/soc/qcom/qdsp6/q6usb.c
201
int pcm, int direction, enum snd_soc_usb_kctl path,
sound/soc/qcom/qdsp6/q6usb.c
225
idx = path == SND_SOC_USB_KCTL_CARD_ROUTE ?
sound/soc/renesas/rcar/cmd.c
31
static const u32 path[] = {
sound/soc/renesas/rcar/cmd.c
41
if (ARRAY_SIZE(path) < rsnd_mod_id(mod) + 1)
sound/soc/renesas/rcar/cmd.c
59
data |= path[rsnd_mod_id(src)];
sound/soc/renesas/rcar/cmd.c
64
data |= path[rsnd_mod_id(src)];
sound/soc/renesas/rcar/cmd.c
84
data = path[rsnd_mod_id(src)] |
sound/soc/rockchip/rockchip_pdm.c
546
unsigned int path[PDM_PATH_MAX];
sound/soc/rockchip/rockchip_pdm.c
555
path, cnt);
sound/soc/rockchip/rockchip_pdm.c
560
if (path[i] >= PDM_PATH_MAX)
sound/soc/rockchip/rockchip_pdm.c
563
val |= PDM_PATH(i, path[i]);
sound/soc/soc-dapm.c
1277
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
1283
snd_soc_dapm_widget_for_each_source_path(w, path) {
sound/soc/soc-dapm.c
1285
if (path->name != (char *)w->kcontrol_news[i].name)
sound/soc/soc-dapm.c
1294
dapm_kcontrol_add_path(w->kcontrols[i], path);
sound/soc/soc-dapm.c
1300
path->source,
sound/soc/soc-dapm.c
1314
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
1347
snd_soc_dapm_widget_for_each_path(w, dir, path) {
sound/soc/soc-dapm.c
1348
if (path->name)
sound/soc/soc-dapm.c
1349
dapm_kcontrol_add_path(w->kcontrols[0], path);
sound/soc/soc-dapm.c
1461
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
1465
snd_soc_dapm_widget_for_each_path(widget, rdir, path) {
sound/soc/soc-dapm.c
1466
if (path->is_supply)
sound/soc/soc-dapm.c
1469
if (path->walking)
sound/soc/soc-dapm.c
1472
if (path->connect) {
sound/soc/soc-dapm.c
1473
path->walking = 1;
sound/soc/soc-dapm.c
1474
dapm_invalidate_paths_ep(path->node[dir], dir);
sound/soc/soc-dapm.c
1475
path->walking = 0;
sound/soc/soc-dapm.c
1496
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
1518
snd_soc_dapm_widget_for_each_path(widget, rdir, path) {
sound/soc/soc-dapm.c
1521
if (path->is_supply)
sound/soc/soc-dapm.c
1524
if (path->walking)
sound/soc/soc-dapm.c
1527
trace_snd_soc_dapm_path(widget, dir, path);
sound/soc/soc-dapm.c
1529
if (path->connect) {
sound/soc/soc-dapm.c
1530
path->walking = 1;
sound/soc/soc-dapm.c
1531
con += fn(path->node[dir], list, custom_stop_condition);
sound/soc/soc-dapm.c
1532
path->walking = 0;
sound/soc/soc-dapm.c
1751
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
1756
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
1759
if (path->connected &&
sound/soc/soc-dapm.c
1760
!path->connected(path->source, path->sink))
sound/soc/soc-dapm.c
1763
if (dapm_widget_power_check(path->sink))
sound/soc/soc-dapm.c
2180
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
2205
snd_soc_dapm_widget_for_each_source_path(w, path)
sound/soc/soc-dapm.c
2206
dapm_widget_set_peer_power(path->source, power, path->connect);
sound/soc/soc-dapm.c
2212
snd_soc_dapm_widget_for_each_sink_path(w, path)
sound/soc/soc-dapm.c
2213
dapm_widget_set_peer_power(path->sink, power, path->connect);
sound/soc/soc-dapm.c
2621
static void dapm_connect_path(struct snd_soc_dapm_path *path,
sound/soc/soc-dapm.c
2624
if (path->connect == connect)
sound/soc/soc-dapm.c
2627
path->connect = connect;
sound/soc/soc-dapm.c
2628
dapm_mark_dirty(path->source, reason);
sound/soc/soc-dapm.c
2629
dapm_mark_dirty(path->sink, reason);
sound/soc/soc-dapm.c
2630
dapm_path_invalidate(path);
sound/soc/soc-dapm.c
2639
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
2646
dapm_kcontrol_for_each_path(path, kcontrol) {
sound/soc/soc-dapm.c
2649
if (e && !(strcmp(path->name, e->texts[mux])))
sound/soc/soc-dapm.c
2654
dapm_connect_path(path, connect, "mux update");
sound/soc/soc-dapm.c
2685
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
2691
dapm_kcontrol_for_each_path(path, kcontrol) {
sound/soc/soc-dapm.c
2715
dapm_connect_path(path, rconnect, "mixer update");
sound/soc/soc-dapm.c
2717
dapm_connect_path(path, connect, "mixer update");
sound/soc/soc-dapm.c
2835
static void dapm_free_path(struct snd_soc_dapm_path *path)
sound/soc/soc-dapm.c
2837
list_del(&path->list_node[SND_SOC_DAPM_DIR_IN]);
sound/soc/soc-dapm.c
2838
list_del(&path->list_node[SND_SOC_DAPM_DIR_OUT]);
sound/soc/soc-dapm.c
2839
list_del(&path->list_kcontrol);
sound/soc/soc-dapm.c
2840
list_del(&path->list);
sound/soc/soc-dapm.c
2841
kfree(path);
sound/soc/soc-dapm.c
3201
struct snd_soc_dapm_path *path, *p;
sound/soc/soc-dapm.c
3227
path = NULL;
sound/soc/soc-dapm.c
3233
path = p;
sound/soc/soc-dapm.c
3237
if (path) {
sound/soc/soc-dapm.c
3238
struct snd_soc_dapm_widget *wsource = path->source;
sound/soc/soc-dapm.c
3239
struct snd_soc_dapm_widget *wsink = path->sink;
sound/soc/soc-dapm.c
3243
if (path->connect)
sound/soc/soc-dapm.c
3244
dapm_path_invalidate(path);
sound/soc/soc-dapm.c
3246
dapm_free_path(path);
sound/soc/soc-dapm.c
3957
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
3985
snd_soc_dapm_widget_for_each_source_path(w, path) {
sound/soc/soc-dapm.c
3986
source = path->source->priv;
sound/soc/soc-dapm.c
3996
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
3997
sink = path->sink->priv;
sound/soc/soc-dapm.c
4039
snd_soc_dapm_widget_for_each_source_path(w, path) {
sound/soc/soc-dapm.c
4040
source = path->source->priv;
sound/soc/soc-dapm.c
4050
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
4051
sink = path->sink->priv;
sound/soc/soc-dapm.c
4071
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
4089
snd_soc_dapm_widget_for_each_source_path(w, path) {
sound/soc/soc-dapm.c
4090
source = path->source->priv;
sound/soc/soc-dapm.c
4095
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
4096
sink = path->sink->priv;
sound/soc/soc-dapm.c
4101
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
4102
sink = path->sink->priv;
sound/soc/soc-dapm.c
4110
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
4111
sink = path->sink->priv;
sound/soc/soc-dapm.c
4118
snd_soc_dapm_widget_for_each_source_path(w, path) {
sound/soc/soc-dapm.c
4119
source = path->source->priv;
sound/soc/soc-dapm.c
4124
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
4125
sink = path->sink->priv;
sound/soc/soc-dapm.c
4130
snd_soc_dapm_widget_for_each_source_path(w, path) {
sound/soc/soc-dapm.c
4131
source = path->source->priv;
sound/soc/soc-dapm.c
4137
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sound/soc/soc-dapm.c
4138
sink = path->sink->priv;
sound/soc/soc-dapm.c
447
struct snd_soc_dapm_path *path, const char *control_name,
sound/soc/soc-dapm.c
475
path->name = e->texts[i];
sound/soc/soc-dapm.c
476
path->connect = (i == item);
sound/soc/soc-dapm.c
483
struct snd_soc_dapm_path *path, const char *control_name)
sound/soc/soc-dapm.c
488
for (i = 0; i < path->sink->num_kcontrols; i++) {
sound/soc/soc-dapm.c
489
if (!strcmp(control_name, path->sink->kcontrol_news[i].name)) {
sound/soc/soc-dapm.c
490
path->name = path->sink->kcontrol_news[i].name;
sound/soc/soc-dapm.c
491
dapm_set_mixer_path_status(path, i, nth_path++);
sound/soc/soc-dapm.c
613
struct snd_soc_dapm_path *path;
sound/soc/soc-dapm.c
641
path = kzalloc_obj(struct snd_soc_dapm_path);
sound/soc/soc-dapm.c
642
if (!path)
sound/soc/soc-dapm.c
645
path->node[SND_SOC_DAPM_DIR_IN] = wsource;
sound/soc/soc-dapm.c
646
path->node[SND_SOC_DAPM_DIR_OUT] = wsink;
sound/soc/soc-dapm.c
648
path->connected = connected;
sound/soc/soc-dapm.c
649
INIT_LIST_HEAD(&path->list);
sound/soc/soc-dapm.c
650
INIT_LIST_HEAD(&path->list_kcontrol);
sound/soc/soc-dapm.c
653
path->is_supply = 1;
sound/soc/soc-dapm.c
657
path->connect = 1;
sound/soc/soc-dapm.c
661
ret = dapm_connect_mux(dapm, path, control, wsource);
sound/soc/soc-dapm.c
671
ret = dapm_connect_mux(dapm, path, control, wsink);
sound/soc/soc-dapm.c
678
ret = dapm_connect_mixer(dapm, path, control);
sound/soc/soc-dapm.c
687
list_add(&path->list, &dapm->card->paths);
sound/soc/soc-dapm.c
690
list_add(&path->list_node[dir], &path->node[dir]->edges[dir]);
sound/soc/soc-dapm.c
693
dapm_update_widget_flags(path->node[dir]);
sound/soc/soc-dapm.c
694
dapm_mark_dirty(path->node[dir], "Route added");
sound/soc/soc-dapm.c
697
if (snd_soc_card_is_instantiated(dapm->card) && path->connect)
sound/soc/soc-dapm.c
698
dapm_path_invalidate(path);
sound/soc/soc-dapm.c
702
kfree(path);
sound/soc/soc-dapm.c
864
struct snd_soc_dapm_path *path)
sound/soc/soc-dapm.c
868
list_add_tail(&path->list_kcontrol, &data->paths);
sound/soc/soc-dapm.c
889
#define dapm_kcontrol_for_each_path(path, kcontrol) \
sound/soc/soc-dapm.c
890
list_for_each_entry(path, dapm_kcontrol_get_path_list(kcontrol), \
sound/soc/soc-usb.c
109
int direction, enum snd_soc_usb_kctl path,
sound/soc/soc-usb.c
122
direction, path, route);
sound/soc/tegra/tegra210_admaif.c
338
unsigned int reg, path;
sound/soc/tegra/tegra210_admaif.c
374
path = ADMAIF_TX_PATH;
sound/soc/tegra/tegra210_admaif.c
377
path = ADMAIF_RX_PATH;
sound/soc/tegra/tegra210_admaif.c
381
cif_conf.mono_conv = admaif->mono_to_stereo[path][dai->id];
sound/soc/tegra/tegra210_admaif.c
382
cif_conf.stereo_conv = admaif->stereo_to_mono[path][dai->id];
sound/soc/tegra/tegra210_i2s.c
618
unsigned int sample_size, channels, srate, val, reg, path;
sound/soc/tegra/tegra210_i2s.c
695
path = I2S_RX_PATH;
sound/soc/tegra/tegra210_i2s.c
697
path = I2S_TX_PATH;
sound/soc/tegra/tegra210_i2s.c
715
cif_conf.mono_conv = i2s->mono_to_stereo[path];
sound/soc/tegra/tegra210_i2s.c
716
cif_conf.stereo_conv = i2s->stereo_to_mono[path];
sound/soc/tegra/tegra210_sfc.c
3125
unsigned int channels, audio_bits, path;
sound/soc/tegra/tegra210_sfc.c
3150
path = SFC_RX_PATH;
sound/soc/tegra/tegra210_sfc.c
3152
path = SFC_TX_PATH;
sound/soc/tegra/tegra210_sfc.c
3154
cif_conf.stereo_conv = sfc->stereo_to_mono[path];
sound/soc/tegra/tegra210_sfc.c
3155
cif_conf.mono_conv = sfc->mono_to_stereo[path];
sound/xen/xen_snd_front_cfg.c
151
const char *path, struct snd_pcm_hardware *pcm_hw)
sound/xen/xen_snd_front_cfg.c
187
const char *path, struct snd_pcm_hardware *pcm_hw)
sound/xen/xen_snd_front_cfg.c
239
static void cfg_read_pcm_hw(const char *path,
sound/xen/xen_snd_front_cfg.c
254
val = xenbus_read_unsigned(path, XENSND_FIELD_CHANNELS_MIN, 0);
sound/xen/xen_snd_front_cfg.c
258
val = xenbus_read_unsigned(path, XENSND_FIELD_CHANNELS_MAX, 0);
sound/xen/xen_snd_front_cfg.c
262
list = xenbus_read(XBT_NIL, path, XENSND_FIELD_SAMPLE_RATES, &len);
sound/xen/xen_snd_front_cfg.c
264
cfg_hw_rates(list, len, path, pcm_hw);
sound/xen/xen_snd_front_cfg.c
268
list = xenbus_read(XBT_NIL, path, XENSND_FIELD_SAMPLE_FORMATS, &len);
sound/xen/xen_snd_front_cfg.c
270
cfg_formats(list, len, path, pcm_hw);
sound/xen/xen_snd_front_cfg.c
274
buf_sz = xenbus_read_unsigned(path, XENSND_FIELD_BUFFER_SIZE, 0);
sound/xen/xen_snd_front_cfg.c
291
static int cfg_get_stream_type(const char *path, int index,
sound/xen/xen_snd_front_cfg.c
300
stream_path = kasprintf(GFP_KERNEL, "%s/%d", path, index);
sound/xen/xen_snd_front_cfg.c
333
const char *path, int index, int *cur_pb, int *cur_cap,
sound/xen/xen_snd_front_cfg.c
342
GFP_KERNEL, "%s/%d", path, index);
sound/xen/xen_snd_front_cfg.c
386
const char *path, int node_index, int *stream_cnt)
sound/xen/xen_snd_front_cfg.c
395
device_path = kasprintf(GFP_KERNEL, "%s/%d", path, node_index);
sound/xen/xen_snd_front_evtchnl.c
333
const char *path, const char *node_ring,
sound/xen/xen_snd_front_evtchnl.c
340
ret = xenbus_printf(xbt, path, node_ring, "%u", channel->gref);
sound/xen/xen_snd_front_evtchnl.c
347
ret = xenbus_printf(xbt, path, node_chnl, "%u", channel->port);
tools/accounting/delaytop.c
632
char path[64];
tools/accounting/delaytop.c
637
snprintf(path, sizeof(path), "/proc/%d/comm", pid);
tools/accounting/delaytop.c
638
fp = fopen(path, "r");
tools/bootconfig/main.c
156
static int load_xbc_file(const char *path, char **buf)
tools/bootconfig/main.c
161
fd = open(path, O_RDONLY);
tools/bootconfig/main.c
289
static int show_xbc(const char *path, bool list)
tools/bootconfig/main.c
295
ret = stat(path, &st);
tools/bootconfig/main.c
298
pr_err("Failed to stat %s: %d\n", path, ret);
tools/bootconfig/main.c
302
fd = open(path, O_RDONLY);
tools/bootconfig/main.c
305
pr_err("Failed to open initrd %s: %d\n", path, ret);
tools/bootconfig/main.c
317
ret = load_xbc_file(path, &buf);
tools/bootconfig/main.c
336
static int delete_xbc(const char *path)
tools/bootconfig/main.c
342
fd = open(path, O_RDWR);
tools/bootconfig/main.c
345
pr_err("Failed to open initrd %s: %d\n", path, ret);
tools/bootconfig/main.c
368
static int apply_xbc(const char *path, const char *xbc_path)
tools/bootconfig/main.c
406
printf("Apply %s to %s\n", xbc_path, path);
tools/bootconfig/main.c
417
ret = delete_xbc(path);
tools/bootconfig/main.c
425
fd = open(path, O_RDWR | O_APPEND);
tools/bootconfig/main.c
428
pr_err("Failed to open %s: %d\n", path, ret);
tools/bootconfig/main.c
435
pr_err("Failed to get the size of %s\n", path);
tools/bootconfig/main.c
476
pr_err("The initrd %s may be corrupted. Recommend to rebuild.\n", path);
tools/bootconfig/main.c
496
char *path = NULL;
tools/bootconfig/main.c
528
path = argv[optind];
tools/bootconfig/main.c
531
return apply_xbc(path, apply);
tools/bootconfig/main.c
533
return delete_xbc(path);
tools/bootconfig/main.c
535
return show_xbc(path, list);
tools/bpf/bpf_jit_disasm.c
38
char *path;
tools/bpf/bpf_jit_disasm.c
44
path = strdup(tpath);
tools/bpf/bpf_jit_disasm.c
45
assert(path);
tools/bpf/bpf_jit_disasm.c
47
len = readlink(path, tpath, size);
tools/bpf/bpf_jit_disasm.c
52
free(path);
tools/bpf/bpftool/btf_dumper.c
845
static const char *shorten_path(const char *path)
tools/bpf/bpftool/btf_dumper.c
848
size_t len = strlen(path);
tools/bpf/bpftool/btf_dumper.c
852
return path;
tools/bpf/bpftool/btf_dumper.c
855
shortpath = strchr(path + len - MAX_PATH_LEN, '/');
tools/bpf/bpftool/btf_dumper.c
857
if (shortpath < path + strlen("..."))
tools/bpf/bpftool/btf_dumper.c
862
return path;
tools/bpf/bpftool/btf_dumper.c
867
shortpath = strrchr(path, '/');
tools/bpf/bpftool/btf_dumper.c
871
return path;
tools/bpf/bpftool/cgroup.c
326
const char *path;
tools/bpf/bpftool/cgroup.c
335
path = GET_ARG();
tools/bpf/bpftool/cgroup.c
352
cgroup_fd = open(path, O_RDONLY);
tools/bpf/bpftool/cgroup.c
354
p_err("can't open cgroup %s", path);
tools/bpf/bpftool/cgroup.c
361
path, strerror(errno));
tools/bpf/bpftool/common.c
1088
char *path;
tools/bpf/bpftool/common.c
1094
path = **argv;
tools/bpf/bpftool/common.c
1097
(*fds)[0] = open_obj_pinned_any(path, BPF_OBJ_MAP, &get_opts);
tools/bpf/bpftool/common.c
1201
int pathname_concat(char *buf, int buf_sz, const char *path,
tools/bpf/bpftool/common.c
1206
len = snprintf(buf, buf_sz, "%s/%s", path, name);
tools/bpf/bpftool/common.c
1248
char path[PATH_MAX];
tools/bpf/bpftool/common.c
1259
snprintf(path, sizeof(path), "/boot/config-%s", utsn.release);
tools/bpf/bpftool/common.c
1262
file = gzopen(path, "r");
tools/bpf/bpftool/common.c
199
int open_obj_pinned(const char *path, bool quiet,
tools/bpf/bpftool/common.c
205
pname = strdup(path);
tools/bpf/bpftool/common.c
228
int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type,
tools/bpf/bpftool/common.c
234
fd = open_obj_pinned(path, false, opts);
tools/bpf/bpftool/common.c
458
char path[PATH_MAX];
tools/bpf/bpftool/common.c
462
snprintf(path, sizeof(path), "/proc/self/fd/%d", fd);
tools/bpf/bpftool/common.c
464
n = readlink(path, buf, sizeof(buf));
tools/bpf/bpftool/common.c
487
char path[PATH_MAX];
tools/bpf/bpftool/common.c
493
snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", fd);
tools/bpf/bpftool/common.c
495
fdi = fopen(path, "r");
tools/bpf/bpftool/common.c
558
char *path;
tools/bpf/bpftool/common.c
575
path = strdup(fpath);
tools/bpf/bpftool/common.c
576
if (!path) {
tools/bpf/bpftool/common.c
581
err = hashmap__append(build_fn_table, pinned_info.id, path);
tools/bpf/bpftool/common.c
584
pinned_info.id, path, strerror(errno));
tools/bpf/bpftool/common.c
585
free(path);
tools/bpf/bpftool/common.c
612
char *path = mntent->mnt_dir;
tools/bpf/bpftool/common.c
616
err = nftw(path, do_build_table_cb, nopenfd, flags);
tools/bpf/bpftool/common.c
676
static int read_sysfs_hex_int(char *path)
tools/bpf/bpftool/common.c
682
fd = open(path, O_RDONLY);
tools/bpf/bpftool/common.c
684
p_err("Can't open %s: %s", path, strerror(errno));
tools/bpf/bpftool/common.c
691
p_err("Can't read %s: %s", path, strerror(errno));
tools/bpf/bpftool/common.c
695
p_err("Value in %s too long", path);
tools/bpf/bpftool/common.c
74
static bool is_bpffs(const char *path)
tools/bpf/bpftool/common.c
78
if (statfs(path, &st_fs) < 0)
tools/bpf/bpftool/common.c
929
char *path;
tools/bpf/bpftool/common.c
933
path = **argv;
tools/bpf/bpftool/common.c
936
(*fds)[0] = open_obj_pinned_any(path, BPF_OBJ_PROG, NULL);
tools/bpf/bpftool/feature.c
144
char ifname[IF_NAMESIZE], path[64], buf[8];
tools/bpf/bpftool/feature.c
151
snprintf(path, sizeof(path), "/sys/class/net/%s/device/vendor", ifname);
tools/bpf/bpftool/feature.c
153
fd = open(path, O_RDONLY | O_CLOEXEC);
tools/bpf/bpftool/feature.c
168
static long read_procfs(const char *path)
tools/bpf/bpftool/feature.c
175
fd = fopen(path, "r");
tools/bpf/bpftool/gen.c
2000
static int btf_save_raw(const struct btf *btf, const char *path)
tools/bpf/bpftool/gen.c
2011
f = fopen(path, "wb");
tools/bpf/bpftool/iter.c
18
const char *objfile, *path;
tools/bpf/bpftool/iter.c
28
path = GET_ARG();
tools/bpf/bpftool/iter.c
79
err = mount_bpffs_for_file(path);
tools/bpf/bpftool/iter.c
83
err = bpf_link__pin(link, path);
tools/bpf/bpftool/iter.c
86
bpf_program__name(prog), path);
tools/bpf/bpftool/jit_disasm.c
162
const char *path = "/proc/self/exe";
tools/bpf/bpftool/jit_disasm.c
165
len = readlink(path, tpath, size - 1);
tools/bpf/bpftool/link.c
1112
info.uprobe_multi.path = ptr_to_u64(path_buf);
tools/bpf/bpftool/link.c
113
char *path;
tools/bpf/bpftool/link.c
117
path = **argv;
tools/bpf/bpftool/link.c
120
return open_obj_pinned_any(path, BPF_OBJ_LINK, NULL);
tools/bpf/bpftool/link.c
387
jsonw_string_field(json_wtr, "path", (char *) u64_to_ptr(info->uprobe_multi.path));
tools/bpf/bpftool/link.c
821
printf("path %s ", (char *) u64_to_ptr(info->uprobe_multi.path));
tools/bpf/bpftool/main.h
153
int open_obj_pinned(const char *path, bool quiet,
tools/bpf/bpftool/main.h
155
int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type,
tools/bpf/bpftool/main.h
281
int pathname_concat(char *buf, int buf_sz, const char *path,
tools/bpf/bpftool/prog.c
1520
auto_attach_program(struct bpf_program *prog, const char *path)
tools/bpf/bpftool/prog.c
1529
return bpf_obj_pin(bpf_program__fd(prog), path);
tools/bpf/bpftool/prog.c
1532
err = bpf_link__pin(link, path);
tools/bpf/bpftool/prog.c
1538
auto_attach_programs(struct bpf_object *obj, const char *path)
tools/bpf/bpftool/prog.c
1545
err = pathname_concat(buf, sizeof(buf), path, bpf_program__name(prog));
tools/bpf/bpftool/prog.c
1558
if (pathname_concat(buf, sizeof(buf), path, bpf_program__name(prog)))
tools/bpf/resolve_btfids/main.c
123
const char *path;
tools/bpf/resolve_btfids/main.c
1509
obj.path = argv[0];
tools/bpf/resolve_btfids/main.c
1512
return patch_btfids(btfids_path, obj.path);
tools/bpf/resolve_btfids/main.c
1549
err = make_out_path(out_path, sizeof(out_path), obj.path, BTF_IDS_SECTION);
tools/bpf/resolve_btfids/main.c
1555
err = make_out_path(out_path, sizeof(out_path), obj.path, BTF_ELF_SEC);
tools/bpf/resolve_btfids/main.c
1561
err = make_out_path(out_path, sizeof(out_path), obj.path, BTF_BASE_ELF_SEC);
tools/bpf/resolve_btfids/main.c
392
fd = open(obj->path, O_RDWR, 0666);
tools/bpf/resolve_btfids/main.c
395
obj->path, strerror(errno));
tools/bpf/resolve_btfids/main.c
596
btf = btf__parse_split(obj->btf_path ?: obj->path, base_btf);
tools/bpf/resolve_btfids/main.c
600
obj->btf_path ?: obj->path, strerror(-err));
tools/bpf/resolve_btfids/main.c
841
pr_debug("%s has no BTF_ids data to dump\n", obj->path);
tools/hv/hv_fcopy_uio_daemon.c
429
static void fcopy_get_first_folder(char *path, char *chan_no)
tools/hv/hv_fcopy_uio_daemon.c
431
DIR *dir = opendir(path);
tools/include/nolibc/fcntl.h
22
int sys_openat(int dirfd, const char *path, int flags, mode_t mode)
tools/include/nolibc/fcntl.h
24
return my_syscall4(__NR_openat, dirfd, path, flags, mode);
tools/include/nolibc/fcntl.h
28
int openat(int dirfd, const char *path, int flags, ...)
tools/include/nolibc/fcntl.h
40
return __sysret(sys_openat(dirfd, path, flags, mode));
tools/include/nolibc/fcntl.h
48
int sys_open(const char *path, int flags, mode_t mode)
tools/include/nolibc/fcntl.h
50
return my_syscall4(__NR_openat, AT_FDCWD, path, flags, mode);
tools/include/nolibc/fcntl.h
54
int open(const char *path, int flags, ...)
tools/include/nolibc/fcntl.h
66
return __sysret(sys_open(path, flags, mode));
tools/include/nolibc/sys.h
125
int sys_chdir(const char *path)
tools/include/nolibc/sys.h
127
return my_syscall1(__NR_chdir, path);
tools/include/nolibc/sys.h
131
int chdir(const char *path)
tools/include/nolibc/sys.h
133
return __sysret(sys_chdir(path));
tools/include/nolibc/sys.h
154
int sys_chmod(const char *path, mode_t mode)
tools/include/nolibc/sys.h
157
return my_syscall4(__NR_fchmodat, AT_FDCWD, path, mode, 0);
tools/include/nolibc/sys.h
159
return my_syscall2(__NR_chmod, path, mode);
tools/include/nolibc/sys.h
164
int chmod(const char *path, mode_t mode)
tools/include/nolibc/sys.h
166
return __sysret(sys_chmod(path, mode));
tools/include/nolibc/sys.h
175
int sys_chown(const char *path, uid_t owner, gid_t group)
tools/include/nolibc/sys.h
178
return my_syscall5(__NR_fchownat, AT_FDCWD, path, owner, group, 0);
tools/include/nolibc/sys.h
180
return my_syscall3(__NR_chown, path, owner, group);
tools/include/nolibc/sys.h
185
int chown(const char *path, uid_t owner, gid_t group)
tools/include/nolibc/sys.h
187
return __sysret(sys_chown(path, owner, group));
tools/include/nolibc/sys.h
196
int sys_chroot(const char *path)
tools/include/nolibc/sys.h
198
return my_syscall1(__NR_chroot, path);
tools/include/nolibc/sys.h
202
int chroot(const char *path)
tools/include/nolibc/sys.h
204
return __sysret(sys_chroot(path));
tools/include/nolibc/sys.h
629
int sys_mkdir(const char *path, mode_t mode)
tools/include/nolibc/sys.h
632
return my_syscall3(__NR_mkdirat, AT_FDCWD, path, mode);
tools/include/nolibc/sys.h
634
return my_syscall2(__NR_mkdir, path, mode);
tools/include/nolibc/sys.h
639
int mkdir(const char *path, mode_t mode)
tools/include/nolibc/sys.h
641
return __sysret(sys_mkdir(path, mode));
tools/include/nolibc/sys.h
649
int sys_rmdir(const char *path)
tools/include/nolibc/sys.h
652
return my_syscall1(__NR_rmdir, path);
tools/include/nolibc/sys.h
654
return my_syscall3(__NR_unlinkat, AT_FDCWD, path, AT_REMOVEDIR);
tools/include/nolibc/sys.h
659
int rmdir(const char *path)
tools/include/nolibc/sys.h
661
return __sysret(sys_rmdir(path));
tools/include/nolibc/sys.h
670
long sys_mknod(const char *path, mode_t mode, dev_t dev)
tools/include/nolibc/sys.h
673
return my_syscall4(__NR_mknodat, AT_FDCWD, path, mode, dev);
tools/include/nolibc/sys.h
675
return my_syscall3(__NR_mknod, path, mode, dev);
tools/include/nolibc/sys.h
680
int mknod(const char *path, mode_t mode, dev_t dev)
tools/include/nolibc/sys.h
682
return __sysret(sys_mknod(path, mode, dev));
tools/include/nolibc/sys.h
848
int sys_umount2(const char *path, int flags)
tools/include/nolibc/sys.h
850
return my_syscall2(__NR_umount2, path, flags);
tools/include/nolibc/sys.h
854
int umount2(const char *path, int flags)
tools/include/nolibc/sys.h
856
return __sysret(sys_umount2(path, flags));
tools/include/nolibc/sys.h
865
int sys_unlink(const char *path)
tools/include/nolibc/sys.h
868
return my_syscall3(__NR_unlinkat, AT_FDCWD, path, 0);
tools/include/nolibc/sys.h
870
return my_syscall1(__NR_unlink, path);
tools/include/nolibc/sys.h
875
int unlink(const char *path)
tools/include/nolibc/sys.h
877
return __sysret(sys_unlink(path));
tools/include/nolibc/sys/stat.h
26
int sys_statx(int fd, const char *path, int flags, unsigned int mask, struct statx *buf)
tools/include/nolibc/sys/stat.h
29
return my_syscall5(__NR_statx, fd, path, flags, mask, buf);
tools/include/nolibc/sys/stat.h
31
return __nolibc_enosys(__func__, fd, path, flags, mask, buf);
tools/include/nolibc/sys/stat.h
36
int statx(int fd, const char *path, int flags, unsigned int mask, struct statx *buf)
tools/include/nolibc/sys/stat.h
38
return __sysret(sys_statx(fd, path, flags, mask, buf));
tools/include/nolibc/sys/stat.h
43
int fstatat(int fd, const char *path, struct stat *buf, int flag)
tools/include/nolibc/sys/stat.h
48
ret = __sysret(sys_statx(fd, path, flag | AT_NO_AUTOMOUNT, STATX_BASIC_STATS, &statx));
tools/include/nolibc/sys/stat.h
77
int stat(const char *path, struct stat *buf)
tools/include/nolibc/sys/stat.h
79
return fstatat(AT_FDCWD, path, buf, 0);
tools/include/nolibc/sys/stat.h
89
int lstat(const char *path, struct stat *buf)
tools/include/nolibc/sys/stat.h
91
return fstatat(AT_FDCWD, path, buf, AT_SYMLINK_NOFOLLOW);
tools/include/nolibc/unistd.h
34
int sys_faccessat(int fd, const char *path, int amode, int flag)
tools/include/nolibc/unistd.h
36
return my_syscall4(__NR_faccessat, fd, path, amode, flag);
tools/include/nolibc/unistd.h
40
int faccessat(int fd, const char *path, int amode, int flag)
tools/include/nolibc/unistd.h
42
return __sysret(sys_faccessat(fd, path, amode, flag));
tools/include/nolibc/unistd.h
46
int access(const char *path, int amode)
tools/include/nolibc/unistd.h
48
return faccessat(AT_FDCWD, path, amode, 0);
tools/include/uapi/linux/bpf.h
1842
__aligned_u64 path;
tools/include/uapi/linux/bpf.h
6801
__aligned_u64 path;
tools/laptop/freefall/freefall.c
53
static void write_int(char *path, int i)
tools/laptop/freefall/freefall.c
56
int fd = open(path, O_RDWR);
tools/lib/api/fs/cgroup.c
24
char *p, *path;
tools/lib/api/fs/cgroup.c
60
path = ++p;
tools/lib/api/fs/cgroup.c
73
strcpy(mountpoint, path);
tools/lib/api/fs/cgroup.c
88
strcpy(mountpoint, path);
tools/lib/api/fs/fs.c
158
char path[PATH_MAX + 1];
tools/lib/api/fs/fs.c
165
path, type) == 2) {
tools/lib/api/fs/fs.c
168
fs->path = strdup(path);
tools/lib/api/fs/fs.c
170
return fs->path != NULL;
tools/lib/api/fs/fs.c
196
fs->path = strdup(*ptr);
tools/lib/api/fs/fs.c
197
if (!fs->path)
tools/lib/api/fs/fs.c
236
fs->path = strdup(override_path);
tools/lib/api/fs/fs.c
237
if (!fs->path)
tools/lib/api/fs/fs.c
247
assert(!fs->path);
tools/lib/api/fs/fs.c
249
assert(fs->path);
tools/lib/api/fs/fs.c
255
return fs->path;
tools/lib/api/fs/fs.c
285
fs->path = strdup(mountpoint);
tools/lib/api/fs/fs.c
286
mountpoint = fs->path;
tools/lib/api/fs/fs.c
387
char path[PATH_MAX];
tools/lib/api/fs/fs.c
393
snprintf(path, sizeof(path), "%s/%s", procfs, entry);
tools/lib/api/fs/fs.c
395
return filename__read_str(path, buf, sizep);
tools/lib/api/fs/fs.c
401
char path[PATH_MAX];
tools/lib/api/fs/fs.c
407
snprintf(path, sizeof(path), "%s/%s", sysfs, entry);
tools/lib/api/fs/fs.c
409
return filename__read_ull_base(path, value, base);
tools/lib/api/fs/fs.c
424
char path[PATH_MAX];
tools/lib/api/fs/fs.c
430
snprintf(path, sizeof(path), "%s/%s", sysfs, entry);
tools/lib/api/fs/fs.c
432
return filename__read_int(path, value);
tools/lib/api/fs/fs.c
437
char path[PATH_MAX];
tools/lib/api/fs/fs.c
443
snprintf(path, sizeof(path), "%s/%s", sysfs, entry);
tools/lib/api/fs/fs.c
445
return filename__read_str(path, buf, sizep);
tools/lib/api/fs/fs.c
453
char path[PATH_MAX];
tools/lib/api/fs/fs.c
459
snprintf(path, sizeof(path), "%s/%s", sysfs, entry);
tools/lib/api/fs/fs.c
460
io.fd = open(path, O_RDONLY);
tools/lib/api/fs/fs.c
485
char path[PATH_MAX];
tools/lib/api/fs/fs.c
491
snprintf(path, sizeof(path), "%s/sys/%s", procfs, sysctl);
tools/lib/api/fs/fs.c
493
return filename__read_int(path, value);
tools/lib/api/fs/fs.c
498
char path[PATH_MAX];
tools/lib/api/fs/fs.c
504
if (snprintf(path, sizeof(path), "%s/%s", sysfs, entry) >= PATH_MAX)
tools/lib/api/fs/fs.c
507
return filename__write_int(path, value);
tools/lib/api/fs/fs.c
94
char *path;
tools/lib/api/fs/tracing_path.c
101
char *path = get_tracing_file("events");
tools/lib/api/fs/tracing_path.c
103
if (path) {
tools/lib/api/fs/tracing_path.c
104
dir = opendir(path);
tools/lib/api/fs/tracing_path.c
105
put_events_file(path);
tools/lib/api/fs/tracing_path.c
113
char *path = get_tracing_file("events");
tools/lib/api/fs/tracing_path.c
116
if (!path) {
tools/lib/api/fs/tracing_path.c
121
ret = scandir(path, namelist, NULL, alphasort);
tools/lib/api/fs/tracing_path.c
122
put_events_file(path);
tools/lib/bpf/bpf.c
785
attr.link_create.uprobe_multi.path = ptr_to_u64(OPTS_GET(opts, uprobe_multi.path, 0));
tools/lib/bpf/bpf.h
427
const char *path;
tools/lib/bpf/btf.c
1184
static int btf_find_elf_sections(Elf *elf, const char *path, struct btf_elf_secs *secs)
tools/lib/bpf/btf.c
1193
pr_warn("failed to get EHDR from %s\n", path);
tools/lib/bpf/btf.c
1199
path);
tools/lib/bpf/btf.c
1204
pr_warn("failed to get e_shstrndx from %s\n", path);
tools/lib/bpf/btf.c
1216
idx, path);
tools/lib/bpf/btf.c
1222
idx, path);
tools/lib/bpf/btf.c
1237
sh.sh_type, idx, name, path);
tools/lib/bpf/btf.c
1244
idx, name, path);
tools/lib/bpf/btf.c
1256
static struct btf *btf_parse_elf(const char *path, struct btf *base_btf,
tools/lib/bpf/btf.c
1266
pr_warn("failed to init libelf for %s\n", path);
tools/lib/bpf/btf.c
1270
fd = open(path, O_RDONLY | O_CLOEXEC);
tools/lib/bpf/btf.c
1273
pr_warn("failed to open %s: %s\n", path, errstr(err));
tools/lib/bpf/btf.c
1280
pr_warn("failed to open %s as ELF file\n", path);
tools/lib/bpf/btf.c
1284
err = btf_find_elf_sections(elf, path, &secs);
tools/lib/bpf/btf.c
1289
pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path);
tools/lib/bpf/btf.c
1329
pr_warn("failed to get ELF class (bitness) for %s\n", path);
tools/lib/bpf/btf.c
1358
struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
tools/lib/bpf/btf.c
1360
return libbpf_ptr(btf_parse_elf(path, NULL, btf_ext));
tools/lib/bpf/btf.c
1363
struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf)
tools/lib/bpf/btf.c
1365
return libbpf_ptr(btf_parse_elf(path, base_btf, NULL));
tools/lib/bpf/btf.c
1368
static struct btf *btf_parse_raw(const char *path, struct btf *base_btf)
tools/lib/bpf/btf.c
1377
f = fopen(path, "rbe");
tools/lib/bpf/btf.c
1431
struct btf *btf__parse_raw(const char *path)
tools/lib/bpf/btf.c
1433
return libbpf_ptr(btf_parse_raw(path, NULL));
tools/lib/bpf/btf.c
1436
struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf)
tools/lib/bpf/btf.c
1438
return libbpf_ptr(btf_parse_raw(path, base_btf));
tools/lib/bpf/btf.c
1441
static struct btf *btf_parse_raw_mmap(const char *path, struct btf *base_btf)
tools/lib/bpf/btf.c
1448
fd = open(path, O_RDONLY);
tools/lib/bpf/btf.c
1472
static struct btf *btf_parse(const char *path, struct btf *base_btf, struct btf_ext **btf_ext)
tools/lib/bpf/btf.c
1480
btf = btf_parse_raw(path, base_btf);
tools/lib/bpf/btf.c
1486
return btf_parse_elf(path, base_btf, btf_ext);
tools/lib/bpf/btf.c
1489
struct btf *btf__parse(const char *path, struct btf_ext **btf_ext)
tools/lib/bpf/btf.c
1491
return libbpf_ptr(btf_parse(path, NULL, btf_ext));
tools/lib/bpf/btf.c
1494
struct btf *btf__parse_split(const char *path, struct btf *base_btf)
tools/lib/bpf/btf.c
1496
return libbpf_ptr(btf_parse(path, base_btf, NULL));
tools/lib/bpf/btf.c
5496
char path[PATH_MAX + 1];
tools/lib/bpf/btf.c
5523
snprintf(path, PATH_MAX, locations[i], buf.release);
tools/lib/bpf/btf.c
5525
if (faccessat(AT_FDCWD, path, R_OK, AT_EACCESS))
tools/lib/bpf/btf.c
5528
btf = btf__parse(path, NULL);
tools/lib/bpf/btf.c
5530
pr_debug("loading kernel BTF '%s': %s\n", path, errstr(err));
tools/lib/bpf/btf.c
5545
char path[80];
tools/lib/bpf/btf.c
5547
snprintf(path, sizeof(path), "/sys/kernel/btf/%s", module_name);
tools/lib/bpf/btf.c
5548
return btf__parse_split(path, vmlinux_btf);
tools/lib/bpf/btf.h
137
LIBBPF_API struct btf *btf__parse(const char *path, struct btf_ext **btf_ext);
tools/lib/bpf/btf.h
138
LIBBPF_API struct btf *btf__parse_split(const char *path, struct btf *base_btf);
tools/lib/bpf/btf.h
139
LIBBPF_API struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext);
tools/lib/bpf/btf.h
140
LIBBPF_API struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf);
tools/lib/bpf/btf.h
141
LIBBPF_API struct btf *btf__parse_raw(const char *path);
tools/lib/bpf/btf.h
142
LIBBPF_API struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf);
tools/lib/bpf/features.c
383
link_opts.uprobe_multi.path = "/";
tools/lib/bpf/features.c
413
link_opts.uprobe_multi.path = "/"; /* invalid path */
tools/lib/bpf/libbpf.c
11137
struct bpf_link *bpf_link__open(const char *path)
tools/lib/bpf/libbpf.c
11142
fd = bpf_obj_get(path);
tools/lib/bpf/libbpf.c
11145
pr_warn("failed to open link at %s: %d\n", path, fd);
tools/lib/bpf/libbpf.c
11157
link->pin_path = strdup(path);
tools/lib/bpf/libbpf.c
11171
int bpf_link__pin(struct bpf_link *link, const char *path)
tools/lib/bpf/libbpf.c
11177
err = make_parent_dir(path);
tools/lib/bpf/libbpf.c
11180
err = check_path(path);
tools/lib/bpf/libbpf.c
11184
link->pin_path = strdup(path);
tools/lib/bpf/libbpf.c
12460
const char *path,
tools/lib/bpf/libbpf.c
12508
if (!path)
tools/lib/bpf/libbpf.c
12525
if (!strchr(path, '/')) {
tools/lib/bpf/libbpf.c
12526
err = resolve_full_path(path, full_path, sizeof(full_path));
tools/lib/bpf/libbpf.c
12529
prog->name, path, errstr(err));
tools/lib/bpf/libbpf.c
12532
path = full_path;
tools/lib/bpf/libbpf.c
12535
err = elf_resolve_pattern_offsets(path, func_pattern,
tools/lib/bpf/libbpf.c
12541
err = elf_resolve_syms_offsets(path, cnt, syms, &resolved_offsets, STT_FUNC);
tools/lib/bpf/libbpf.c
12549
lopts.uprobe_multi.path = path;
tools/lib/bpf/libbpf.c
12852
char *path = NULL, *provider = NULL, *name = NULL;
tools/lib/bpf/libbpf.c
12863
n = sscanf(sec_name, "usdt/%m[^:]:%m[^:]:%m[^:]", &path, &provider, &name);
tools/lib/bpf/libbpf.c
12869
*link = bpf_program__attach_usdt(prog, -1 /* any process */, path,
tools/lib/bpf/libbpf.c
12873
free(path);
tools/lib/bpf/libbpf.c
1514
static struct bpf_object *bpf_object__new(const char *path,
tools/lib/bpf/libbpf.c
1522
obj = calloc(1, sizeof(struct bpf_object) + strlen(path) + 1);
tools/lib/bpf/libbpf.c
1524
pr_warn("alloc memory failed for %s\n", path);
tools/lib/bpf/libbpf.c
1528
strcpy(obj->path, path);
tools/lib/bpf/libbpf.c
1533
libbpf_strlcpy(obj->name, basename((void *)path), sizeof(obj->name));
tools/lib/bpf/libbpf.c
1591
obj->efile.fd = open(obj->path, O_RDONLY | O_CLOEXEC);
tools/lib/bpf/libbpf.c
1594
pr_warn("elf: failed to open %s: %s\n", obj->path, errstr(err));
tools/lib/bpf/libbpf.c
1602
pr_warn("elf: failed to open %s as ELF file: %s\n", obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
1611
pr_warn("elf: '%s' is not a proper ELF object\n", obj->path);
tools/lib/bpf/libbpf.c
1617
pr_warn("elf: '%s' is not a 64-bit ELF object\n", obj->path);
tools/lib/bpf/libbpf.c
1623
pr_warn("elf: failed to get ELF header from %s: %s\n", obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
1632
pr_warn("elf: '%s' has unknown byte order\n", obj->path);
tools/lib/bpf/libbpf.c
1640
obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
1648
obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
1655
pr_warn("elf: %s is not a valid eBPF object file\n", obj->path);
tools/lib/bpf/libbpf.c
1681
pr_warn("invalid license section in %s\n", obj->path);
tools/lib/bpf/libbpf.c
1688
pr_debug("license of %s is %s\n", obj->path, obj->license);
tools/lib/bpf/libbpf.c
1698
pr_warn("invalid kver section in %s\n", obj->path);
tools/lib/bpf/libbpf.c
1703
pr_debug("kernel version of %s is %x\n", obj->path, obj->kern_version);
tools/lib/bpf/libbpf.c
2538
static int pathname_concat(char *buf, size_t buf_sz, const char *path, const char *name)
tools/lib/bpf/libbpf.c
2542
len = snprintf(buf, buf_sz, "%s/%s", path, name);
tools/lib/bpf/libbpf.c
2551
static int build_map_pin_path(struct bpf_map *map, const char *path)
tools/lib/bpf/libbpf.c
2556
if (!path)
tools/lib/bpf/libbpf.c
2557
path = BPF_FS_DEFAULT_PATH;
tools/lib/bpf/libbpf.c
2559
err = pathname_concat(buf, sizeof(buf), path, bpf_map__name(map));
tools/lib/bpf/libbpf.c
3035
MAPS_ELF_SEC, obj->path);
tools/lib/bpf/libbpf.c
3666
off, obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3680
off, obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3694
idx, obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3729
elf_ndxscn(scn), obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3751
elf_ndxscn(scn), obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3769
obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3863
obj->path, elf_errmsg(-1));
tools/lib/bpf/libbpf.c
3881
pr_warn("elf: multiple symbol tables in %s\n", obj->path);
tools/lib/bpf/libbpf.c
3899
obj->path);
tools/lib/bpf/libbpf.c
4025
pr_warn("elf: symbol strings section missing or invalid in %s\n", obj->path);
tools/lib/bpf/libbpf.c
777
char path[];
tools/lib/bpf/libbpf.c
8293
static struct bpf_object *bpf_object_open(const char *path, const void *obj_buf, size_t obj_buf_sz,
tools/lib/bpf/libbpf.c
8309
path ? : "(mem buf)");
tools/lib/bpf/libbpf.c
8318
path = obj_name;
tools/lib/bpf/libbpf.c
8321
pr_debug("loading object from %s\n", path);
tools/lib/bpf/libbpf.c
8342
obj = bpf_object__new(path, obj_buf, obj_buf_sz, obj_name);
tools/lib/bpf/libbpf.c
8399
bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts)
tools/lib/bpf/libbpf.c
8401
if (!path)
tools/lib/bpf/libbpf.c
8404
return libbpf_ptr(bpf_object_open(path, NULL, 0, NULL, opts));
tools/lib/bpf/libbpf.c
8407
struct bpf_object *bpf_object__open(const char *path)
tools/lib/bpf/libbpf.c
8409
return bpf_object__open_file(path, NULL);
tools/lib/bpf/libbpf.c
8982
pr_warn("failed to load object '%s'\n", obj->path);
tools/lib/bpf/libbpf.c
8999
static int make_parent_dir(const char *path)
tools/lib/bpf/libbpf.c
9004
dname = strdup(path);
tools/lib/bpf/libbpf.c
9014
pr_warn("failed to mkdir %s: %s\n", path, errstr(err));
tools/lib/bpf/libbpf.c
9019
static int check_path(const char *path)
tools/lib/bpf/libbpf.c
9025
if (path == NULL)
tools/lib/bpf/libbpf.c
9028
dname = strdup(path);
tools/lib/bpf/libbpf.c
9040
pr_warn("specified path %s is not on BPF FS\n", path);
tools/lib/bpf/libbpf.c
9047
int bpf_program__pin(struct bpf_program *prog, const char *path)
tools/lib/bpf/libbpf.c
9056
err = make_parent_dir(path);
tools/lib/bpf/libbpf.c
9060
err = check_path(path);
tools/lib/bpf/libbpf.c
9064
if (bpf_obj_pin(prog->fd, path)) {
tools/lib/bpf/libbpf.c
9066
pr_warn("prog '%s': failed to pin at '%s': %s\n", prog->name, path, errstr(err));
tools/lib/bpf/libbpf.c
9070
pr_debug("prog '%s': pinned at '%s'\n", prog->name, path);
tools/lib/bpf/libbpf.c
9074
int bpf_program__unpin(struct bpf_program *prog, const char *path)
tools/lib/bpf/libbpf.c
9083
err = check_path(path);
tools/lib/bpf/libbpf.c
9087
err = unlink(path);
tools/lib/bpf/libbpf.c
9091
pr_debug("prog '%s': unpinned from '%s'\n", prog->name, path);
tools/lib/bpf/libbpf.c
9095
int bpf_map__pin(struct bpf_map *map, const char *path)
tools/lib/bpf/libbpf.c
9110
if (path && strcmp(path, map->pin_path)) {
tools/lib/bpf/libbpf.c
9112
bpf_map__name(map), map->pin_path, path);
tools/lib/bpf/libbpf.c
9120
if (!path) {
tools/lib/bpf/libbpf.c
9129
map->pin_path = strdup(path);
tools/lib/bpf/libbpf.c
9159
int bpf_map__unpin(struct bpf_map *map, const char *path)
tools/lib/bpf/libbpf.c
9169
if (path && strcmp(path, map->pin_path)) {
tools/lib/bpf/libbpf.c
9171
bpf_map__name(map), map->pin_path, path);
tools/lib/bpf/libbpf.c
9174
path = map->pin_path;
tools/lib/bpf/libbpf.c
9175
} else if (!path) {
tools/lib/bpf/libbpf.c
9181
err = check_path(path);
tools/lib/bpf/libbpf.c
9185
err = unlink(path);
tools/lib/bpf/libbpf.c
9190
pr_debug("unpinned map '%s' from '%s'\n", bpf_map__name(map), path);
tools/lib/bpf/libbpf.c
9195
int bpf_map__set_pin_path(struct bpf_map *map, const char *path)
tools/lib/bpf/libbpf.c
9199
if (path) {
tools/lib/bpf/libbpf.c
9200
new = strdup(path);
tools/lib/bpf/libbpf.c
9233
int bpf_object__pin_maps(struct bpf_object *obj, const char *path)
tools/lib/bpf/libbpf.c
9253
if (path) {
tools/lib/bpf/libbpf.c
9254
err = pathname_concat(buf, sizeof(buf), path, bpf_map__name(map));
tools/lib/bpf/libbpf.c
9281
int bpf_object__unpin_maps(struct bpf_object *obj, const char *path)
tools/lib/bpf/libbpf.c
9293
if (path) {
tools/lib/bpf/libbpf.c
9294
err = pathname_concat(buf, sizeof(buf), path, bpf_map__name(map));
tools/lib/bpf/libbpf.c
9311
int bpf_object__pin_programs(struct bpf_object *obj, const char *path)
tools/lib/bpf/libbpf.c
9326
err = pathname_concat(buf, sizeof(buf), path, prog->name);
tools/lib/bpf/libbpf.c
9339
if (pathname_concat(buf, sizeof(buf), path, prog->name))
tools/lib/bpf/libbpf.c
9348
int bpf_object__unpin_programs(struct bpf_object *obj, const char *path)
tools/lib/bpf/libbpf.c
9359
err = pathname_concat(buf, sizeof(buf), path, prog->name);
tools/lib/bpf/libbpf.c
9371
int bpf_object__pin(struct bpf_object *obj, const char *path)
tools/lib/bpf/libbpf.c
9375
err = bpf_object__pin_maps(obj, path);
tools/lib/bpf/libbpf.c
9379
err = bpf_object__pin_programs(obj, path);
tools/lib/bpf/libbpf.c
9381
bpf_object__unpin_maps(obj, path);
tools/lib/bpf/libbpf.c
9388
int bpf_object__unpin(struct bpf_object *obj, const char *path)
tools/lib/bpf/libbpf.c
9392
err = bpf_object__unpin_programs(obj, path);
tools/lib/bpf/libbpf.c
9396
err = bpf_object__unpin_maps(obj, path);
tools/lib/bpf/libbpf.h
1163
LIBBPF_API int bpf_map__set_pin_path(struct bpf_map *map, const char *path);
tools/lib/bpf/libbpf.h
1193
LIBBPF_API int bpf_map__pin(struct bpf_map *map, const char *path);
tools/lib/bpf/libbpf.h
1206
LIBBPF_API int bpf_map__unpin(struct bpf_map *map, const char *path);
tools/lib/bpf/libbpf.h
240
LIBBPF_API struct bpf_object *bpf_object__open(const char *path);
tools/lib/bpf/libbpf.h
253
bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts);
tools/lib/bpf/libbpf.h
309
LIBBPF_API int bpf_object__pin_maps(struct bpf_object *obj, const char *path);
tools/lib/bpf/libbpf.h
323
const char *path);
tools/lib/bpf/libbpf.h
325
const char *path);
tools/lib/bpf/libbpf.h
327
const char *path);
tools/lib/bpf/libbpf.h
328
LIBBPF_API int bpf_object__pin(struct bpf_object *object, const char *path);
tools/lib/bpf/libbpf.h
329
LIBBPF_API int bpf_object__unpin(struct bpf_object *object, const char *path);
tools/lib/bpf/libbpf.h
447
LIBBPF_API int bpf_program__pin(struct bpf_program *prog, const char *path);
tools/lib/bpf/libbpf.h
461
LIBBPF_API int bpf_program__unpin(struct bpf_program *prog, const char *path);
tools/lib/bpf/libbpf.h
466
LIBBPF_API struct bpf_link *bpf_link__open(const char *path);
tools/lib/bpf/libbpf.h
480
LIBBPF_API int bpf_link__pin(struct bpf_link *link, const char *path);
tools/lib/bpf/libbpf_internal.h
720
pid_t pid, const char *path,
tools/lib/bpf/usdt.c
1001
err = collect_usdt_targets(man, elf_fd.elf, path, pid, usdt_provider, usdt_name,
tools/lib/bpf/usdt.c
1062
spec_id, usdt_provider, usdt_name, path, errstr(err));
tools/lib/bpf/usdt.c
1070
spec_id, usdt_provider, usdt_name, path);
tools/lib/bpf/usdt.c
1074
path, errstr(err));
tools/lib/bpf/usdt.c
1086
uprobe_link = bpf_program__attach_uprobe_opts(prog, pid, path,
tools/lib/bpf/usdt.c
1091
i, usdt_provider, usdt_name, path, errstr(err));
tools/lib/bpf/usdt.c
1109
link->multi_link = bpf_program__attach_uprobe_multi(prog, pid, path,
tools/lib/bpf/usdt.c
1114
usdt_provider, usdt_name, path, errstr(err));
tools/lib/bpf/usdt.c
316
static int sanity_check_usdt_elf(Elf *elf, const char *path)
tools/lib/bpf/usdt.c
322
pr_warn("usdt: unrecognized ELF kind %d for '%s'\n", elf_kind(elf), path);
tools/lib/bpf/usdt.c
329
pr_warn("usdt: attaching to 64-bit ELF binary '%s' is not supported\n", path);
tools/lib/bpf/usdt.c
335
pr_warn("usdt: attaching to 32-bit ELF binary '%s' is not supported\n", path);
tools/lib/bpf/usdt.c
340
pr_warn("usdt: unsupported ELF class for '%s'\n", path);
tools/lib/bpf/usdt.c
349
path, ehdr.e_type);
tools/lib/bpf/usdt.c
361
pr_warn("usdt: ELF endianness mismatch for '%s'\n", path);
tools/lib/bpf/usdt.c
411
static int parse_elf_segs(Elf *elf, const char *path, struct elf_seg **segs, size_t *seg_cnt)
tools/lib/bpf/usdt.c
433
i, path, (long)phdr.p_vaddr, (long)phdr.p_memsz, (long)phdr.p_offset,
tools/lib/bpf/usdt.c
453
pr_warn("usdt: failed to find PT_LOAD program headers in '%s'\n", path);
tools/lib/bpf/usdt.c
463
char path[PATH_MAX], line[PATH_MAX], mode[16];
tools/lib/bpf/usdt.c
475
if (sscanf(lib_path, "/proc/%d/root%s", &tmp_pid, path) == 2 && pid == tmp_pid)
tools/lib/bpf/usdt.c
478
if (!realpath(lib_path, path)) {
tools/lib/bpf/usdt.c
481
libbpf_strlcpy(path, lib_path, sizeof(path));
tools/lib/bpf/usdt.c
511
if (strcmp(line + i, path) != 0)
tools/lib/bpf/usdt.c
515
path, seg_start, seg_end, mode, seg_off);
tools/lib/bpf/usdt.c
539
lib_path, path, pid);
tools/lib/bpf/usdt.c
588
static int collect_usdt_targets(struct usdt_manager *man, Elf *elf, const char *path, pid_t pid,
tools/lib/bpf/usdt.c
608
pr_warn("usdt: no USDT notes section (%s) found in '%s'\n", USDT_NOTE_SEC, path);
tools/lib/bpf/usdt.c
613
pr_warn("usdt: invalid USDT notes section (%s) in '%s'\n", USDT_NOTE_SEC, path);
tools/lib/bpf/usdt.c
617
err = parse_elf_segs(elf, path, &segs, &seg_cnt);
tools/lib/bpf/usdt.c
620
path, errstr(err));
tools/lib/bpf/usdt.c
685
usdt_provider, usdt_name, path, usdt_abs_ip);
tools/lib/bpf/usdt.c
691
path, seg->start, seg->end, usdt_provider, usdt_name,
tools/lib/bpf/usdt.c
720
err = parse_vma_segs(pid, path, &vma_segs, &vma_seg_cnt);
tools/lib/bpf/usdt.c
723
pid, path, errstr(err));
tools/lib/bpf/usdt.c
732
usdt_provider, usdt_name, path, usdt_rel_ip);
tools/lib/bpf/usdt.c
740
usdt_provider, usdt_name, ehdr.e_type == ET_EXEC ? "exec" : "lib ", path,
tools/lib/bpf/usdt.c
748
usdt_provider, usdt_name, path);
tools/lib/bpf/usdt.c
757
usdt_provider, usdt_name, path, note.sema_addr);
tools/lib/bpf/usdt.c
763
path, seg->start, seg->end, usdt_provider, usdt_name,
tools/lib/bpf/usdt.c
772
path, note.sema_addr, note.base_addr, usdt_sema_off,
tools/lib/bpf/usdt.c
967
pid_t pid, const char *path,
tools/lib/bpf/usdt.c
984
err = elf_open(path, &elf_fd);
tools/lib/bpf/usdt.c
988
err = sanity_check_usdt_elf(elf_fd.elf, path);
tools/lib/bpf/zip.c
198
struct zip_archive *zip_archive_open(const char *path)
tools/lib/bpf/zip.c
205
fd = open(path, O_RDONLY | O_CLOEXEC);
tools/lib/bpf/zip.h
39
struct zip_archive *zip_archive_open(const char *path);
tools/lib/perf/include/perf/event.h
132
char path[PATH_MAX];
tools/lib/perf/tests/test-evlist.c
226
char path[PATH_MAX];
tools/lib/perf/tests/test-evlist.c
231
snprintf(path, PATH_MAX, "%s/kernel/debug/tracing/events/syscalls/sys_enter_prctl/id",
tools/lib/perf/tests/test-evlist.c
234
if (filename__read_int(path, &id)) {
tools/lib/perf/tests/test-evlist.c
236
fprintf(stderr, "error: failed to get tracepoint id: %s\n", path);
tools/lib/perf/tests/test-evlist.c
337
char path[PATH_MAX];
tools/lib/perf/tests/test-evlist.c
343
snprintf(path, PATH_MAX, "%s/kernel/debug/tracing/events/syscalls/sys_enter_prctl/id",
tools/lib/perf/tests/test-evlist.c
346
if (filename__read_int(path, &id)) {
tools/lib/perf/tests/test-evlist.c
347
fprintf(stderr, "error: failed to get tracepoint id: %s\n", path);
tools/lib/subcmd/exec-cmd.c
133
static void add_path(char **out, const char *path)
tools/lib/subcmd/exec-cmd.c
135
if (path && *path) {
tools/lib/subcmd/exec-cmd.c
136
if (is_absolute_path(path))
tools/lib/subcmd/exec-cmd.c
137
astrcat(out, path);
tools/lib/subcmd/exec-cmd.c
141
astrcat(out, make_nonrelative_path(buf, sizeof(buf), path));
tools/lib/subcmd/exec-cmd.c
34
static int is_absolute_path(const char *path)
tools/lib/subcmd/exec-cmd.c
36
return path[0] == '/';
tools/lib/subcmd/exec-cmd.c
57
static const char *make_nonrelative_path(char *buf, size_t sz, const char *path)
tools/lib/subcmd/exec-cmd.c
59
if (is_absolute_path(path)) {
tools/lib/subcmd/exec-cmd.c
60
if (strlcpy(buf, path, sz) >= sz)
tools/lib/subcmd/exec-cmd.c
61
die("Too long path: %.*s", 60, path);
tools/lib/subcmd/exec-cmd.c
68
if (strlen(cwd) + strlen(path) + 2 >= sz)
tools/lib/subcmd/exec-cmd.c
69
die("Too long path: %.*s", 60, path);
tools/lib/subcmd/exec-cmd.c
72
strcat(buf, path);
tools/lib/subcmd/exec-cmd.c
77
char *system_path(const char *path)
tools/lib/subcmd/exec-cmd.c
81
if (is_absolute_path(path))
tools/lib/subcmd/exec-cmd.c
82
return strdup(path);
tools/lib/subcmd/exec-cmd.c
84
astrcatf(&buf, "%s/%s", subcmd_config.prefix, path);
tools/lib/subcmd/exec-cmd.h
15
extern char *system_path(const char *path);
tools/lib/subcmd/exec-cmd.h
9
extern const char *extract_argv0_path(const char *path);
tools/lib/subcmd/help.c
187
const char *path,
tools/lib/subcmd/help.c
191
DIR *dir = opendir(path);
tools/lib/subcmd/help.c
201
astrcatf(&buf, "%s/", path);
tools/lib/subcmd/help.c
238
char *paths, *path, *colon;
tools/lib/subcmd/help.c
239
path = paths = strdup(env_path);
tools/lib/subcmd/help.c
241
if ((colon = strchr(path, ':')))
tools/lib/subcmd/help.c
243
if (!exec_path || strcmp(path, exec_path))
tools/lib/subcmd/help.c
244
list_commands_in_dir(other_cmds, path, prefix);
tools/lib/subcmd/help.c
248
path = colon + 1;
tools/mm/page-types.c
1108
static void parse_cgroup(const char *path)
tools/mm/page-types.c
1110
if (path[0] == '@') {
tools/mm/page-types.c
1111
opt_cgroup = parse_number(path + 1);
tools/mm/page-types.c
1117
if (stat(path, &st))
tools/mm/page-types.c
1118
fatal("stat failed: %s: %m\n", path);
tools/mm/page-types.c
1121
fatal("cgroup supposed to be a directory: %s\n", path);
tools/mm/thp_swap_allocator_test.c
103
file = fopen(path, "r");
tools/mm/thp_swap_allocator_test.c
98
static unsigned long read_stat(const char *path)
tools/objtool/klp-diff.c
101
file = fopen(path, "r");
tools/objtool/klp-diff.c
162
free(path);
tools/objtool/klp-diff.c
89
char line[1024], *path = NULL;
tools/objtool/klp-diff.c
95
path = top_level_dir(symvers);
tools/objtool/klp-diff.c
96
if (!path) {
tools/perf/arch/arm/util/auxtrace.c
62
char path[PATH_MAX];
tools/perf/arch/arm/util/auxtrace.c
66
perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
tools/perf/arch/arm/util/auxtrace.c
67
dir = opendir(path);
tools/perf/arch/arm/util/auxtrace.c
69
pr_err("can't read directory '%s'\n", path);
tools/perf/arch/arm/util/cs-etm.c
270
char msg[BUFSIZ], path[PATH_MAX], *sink;
tools/perf/arch/arm/util/cs-etm.c
280
snprintf(path, PATH_MAX, "sinks/%s", sink);
tools/perf/arch/arm/util/cs-etm.c
282
ret = perf_pmu__scan_file(pmu, path, "%x", &hash);
tools/perf/arch/arm/util/cs-etm.c
582
static int cs_etm_get_ro(struct perf_pmu *pmu, struct perf_cpu cpu, const char *path, __u64 *val)
tools/perf/arch/arm/util/cs-etm.c
588
snprintf(pmu_path, PATH_MAX, "cpu%d/%s", cpu.cpu, path);
tools/perf/arch/arm/util/cs-etm.c
599
static int cs_etm_get_ro_signed(struct perf_pmu *pmu, struct perf_cpu cpu, const char *path,
tools/perf/arch/arm/util/cs-etm.c
607
snprintf(pmu_path, PATH_MAX, "cpu%d/%s", cpu.cpu, path);
tools/perf/arch/arm/util/cs-etm.c
619
static bool cs_etm_pmu_path_exists(struct perf_pmu *pmu, struct perf_cpu cpu, const char *path)
tools/perf/arch/arm/util/cs-etm.c
624
snprintf(pmu_path, PATH_MAX, "cpu%d/%s", cpu.cpu, path);
tools/perf/arch/arm/util/cs-etm.c
72
static int cs_etm_get_ro(struct perf_pmu *pmu, struct perf_cpu cpu, const char *path, __u64 *val);
tools/perf/arch/arm/util/cs-etm.c
73
static bool cs_etm_pmu_path_exists(struct perf_pmu *pmu, struct perf_cpu cpu, const char *path);
tools/perf/arch/arm64/util/header.c
18
char path[PATH_MAX];
tools/perf/arch/arm64/util/header.c
26
scnprintf(path, PATH_MAX, "%s/devices/system/cpu/cpu%d" MIDR, sysfs, cpu.cpu);
tools/perf/arch/arm64/util/header.c
28
file = fopen(path, "r");
tools/perf/arch/arm64/util/header.c
30
pr_debug("fopen failed for file %s\n", path);
tools/perf/arch/arm64/util/header.c
35
pr_debug("Failed to read file %s\n", path);
tools/perf/arch/arm64/util/pmu.c
10
char path[PATH_MAX];
tools/perf/arch/arm64/util/pmu.c
15
perf_pmu__pathname_scnprintf(path, sizeof(path),
tools/perf/arch/arm64/util/pmu.c
22
filename__read_ull(path, &slots);
tools/perf/arch/common.c
107
char *path, *tmp = NULL;
tools/perf/arch/common.c
118
path = strtok_r(env, ":", &tmp);
tools/perf/arch/common.c
119
while (path) {
tools/perf/arch/common.c
120
scnprintf(buf, sizeof(buf), "%s/%s", path, name);
tools/perf/arch/common.c
125
path = strtok_r(NULL, ":", &tmp);
tools/perf/arch/common.c
145
const char *name, char **path)
tools/perf/arch/common.c
213
*path = buf;
tools/perf/arch/common.c
217
*path = NULL;
tools/perf/arch/common.c
221
int perf_env__lookup_objdump(struct perf_env *env, char **path)
tools/perf/arch/common.c
230
return perf_env__lookup_binutils_path(env, "objdump", path);
tools/perf/arch/common.h
9
int perf_env__lookup_objdump(struct perf_env *env, char **path);
tools/perf/arch/powerpc/util/header.c
76
char path[PATH_MAX] = "/devices/hv_24x7/interface/";
tools/perf/arch/powerpc/util/header.c
78
strcat(path, pm->aggr_mode == PerChip ? "sockets" : "coresperchip");
tools/perf/arch/powerpc/util/header.c
79
return sysfs__read_int(path, &count) < 0 ? 1 : count;
tools/perf/arch/s390/util/machine.c
15
char path[PATH_MAX];
tools/perf/arch/s390/util/machine.c
17
snprintf(path, PATH_MAX, "module/%.*s/sections/.text",
tools/perf/arch/s390/util/machine.c
19
if (sysfs__read_ull(path, (unsigned long long *)start) < 0) {
tools/perf/arch/s390/util/machine.c
20
pr_debug2("Using module %s start:%#lx\n", path, m_start);
tools/perf/arch/x86/util/iostat.c
148
char path[MAX_PATH];
tools/perf/arch/x86/util/iostat.c
156
scnprintf(path, MAX_PATH, PLATFORM_MAPPING_PATH, pmu_idx, die);
tools/perf/arch/x86/util/iostat.c
157
if (sysfs__read_str(path, &buf, &size) < 0) {
tools/perf/arch/x86/util/iostat.c
183
char path[MAX_PATH];
tools/perf/arch/x86/util/iostat.c
188
snprintf(path, sizeof(path), SYSFS_UNCORE_PMU_PATH,
tools/perf/arch/x86/util/iostat.c
190
if (access(path, F_OK) != 0)
tools/perf/builtin-annotate.c
630
ui__error("The %s data has no samples!\n", session->data->path);
tools/perf/builtin-annotate.c
861
data.path = input_name;
tools/perf/builtin-buildid-cache.c
450
data.path = missing_filename;
tools/perf/builtin-buildid-list.c
91
.path = input_name,
tools/perf/builtin-c2c.c
3175
data.path = input_name;
tools/perf/builtin-config.c
159
char path[PATH_MAX];
tools/perf/builtin-config.c
160
char *user_config = mkpath(path, sizeof(path), "%s/.perfconfig", getenv("HOME"));
tools/perf/builtin-config.c
199
char path[PATH_MAX];
tools/perf/builtin-config.c
200
char *user_config = mkpath(path, sizeof(path), "%s/.perfconfig", getenv("HOME"));
tools/perf/builtin-daemon.c
1142
char path[PATH_MAX];
tools/perf/builtin-daemon.c
1147
scnprintf(path, sizeof(path), "%s/lock", daemon->base);
tools/perf/builtin-daemon.c
1149
fd = open(path, O_RDWR|O_CREAT|O_CLOEXEC, 0640);
tools/perf/builtin-daemon.c
1154
filename__read_int(path, &pid);
tools/perf/builtin-daemon.c
1494
char path[PATH_MAX];
tools/perf/builtin-daemon.c
1496
perf_exe(path, sizeof(path));
tools/perf/builtin-daemon.c
1497
return strdup(path);
tools/perf/builtin-daemon.c
583
char path[PATH_MAX];
tools/perf/builtin-daemon.c
597
scnprintf(path, sizeof(path), "%s/control", daemon->base);
tools/perf/builtin-daemon.c
599
if (strlen(path) + 1 >= sizeof(addr.sun_path)) {
tools/perf/builtin-daemon.c
600
pr_err("failed: control path too long '%s'\n", path);
tools/perf/builtin-daemon.c
608
strlcpy(addr.sun_path, path, sizeof(addr.sun_path) - 1);
tools/perf/builtin-daemon.c
609
unlink(path);
tools/perf/builtin-daemon.c
861
char path[PATH_MAX];
tools/perf/builtin-daemon.c
869
scnprintf(path, sizeof(path), "%s/control", daemon->base);
tools/perf/builtin-daemon.c
871
if (strlen(path) + 1 >= sizeof(addr.sun_path)) {
tools/perf/builtin-daemon.c
872
pr_err("failed: control path too long '%s'\n", path);
tools/perf/builtin-daemon.c
879
strlcpy(addr.sun_path, path, sizeof(addr.sun_path) - 1);
tools/perf/builtin-diff.c
1148
pr_err("Failed to open %s\n", d->data.path);
tools/perf/builtin-diff.c
1181
pr_err("Failed to open %s\n", d->data.path);
tools/perf/builtin-diff.c
1200
pr_err("Failed to process %s\n", d->data.path);
tools/perf/builtin-diff.c
1902
data->path = use_default ? defaults[i] : argv[i];
tools/perf/builtin-diff.c
954
d->idx, d->data.path,
tools/perf/builtin-evlist.c
35
.path = file_name,
tools/perf/builtin-ftrace.c
354
char *path;
tools/perf/builtin-ftrace.c
356
path = get_tracing_file(dirname);
tools/perf/builtin-ftrace.c
357
if (!path)
tools/perf/builtin-ftrace.c
359
strncpy(tracing_instance, path, sizeof(tracing_instance) - 1);
tools/perf/builtin-ftrace.c
360
put_tracing_file(path);
tools/perf/builtin-ftrace.c
361
path = mkdtemp(tracing_instance);
tools/perf/builtin-ftrace.c
362
if (!path)
tools/perf/builtin-help.c
124
static void exec_woman_emacs(const char *path, const char *page)
tools/perf/builtin-help.c
130
if (!path)
tools/perf/builtin-help.c
131
path = "emacsclient";
tools/perf/builtin-help.c
133
execlp(path, "emacsclient", "-e", man_page, NULL);
tools/perf/builtin-help.c
136
exec_failed(path);
tools/perf/builtin-help.c
140
static void exec_man_konqueror(const char *path, const char *page)
tools/perf/builtin-help.c
149
if (path) {
tools/perf/builtin-help.c
150
const char *file = strrchr(path, '/');
tools/perf/builtin-help.c
152
char *new = strdup(path);
tools/perf/builtin-help.c
157
path = new;
tools/perf/builtin-help.c
162
path = "kfmclient";
tools/perf/builtin-help.c
164
execlp(path, filename, "newTab", man_page, NULL);
tools/perf/builtin-help.c
167
exec_failed(path);
tools/perf/builtin-help.c
171
static void exec_man_man(const char *path, const char *page)
tools/perf/builtin-help.c
173
if (!path)
tools/perf/builtin-help.c
174
path = "man";
tools/perf/builtin-help.c
175
execlp(path, "man", page, NULL);
tools/perf/builtin-help.c
176
exec_failed(path);
tools/perf/builtin-help.c
434
char path[PATH_MAX];
tools/perf/builtin-help.c
437
if (stat(mkpath(path, sizeof(path), "%s/perf.html", html_path), &st)
tools/perf/builtin-help.c
452
static void open_html(const char *path)
tools/perf/builtin-help.c
454
execl_cmd("web--browse", "-c", "help.browser", path, NULL);
tools/perf/builtin-inject.c
1521
gs->data.path = name;
tools/perf/builtin-inject.c
2215
inject->input_name, inject->output.path);
tools/perf/builtin-inject.c
2231
gs->perf_data_file, inject->output.path, gs->machine_pid);
tools/perf/builtin-inject.c
2480
.path = "-",
tools/perf/builtin-inject.c
2510
OPT_STRING('o', "output", &inject.output.path, "file",
tools/perf/builtin-inject.c
2584
if (strcmp(inject.output.path, "-")) {
tools/perf/builtin-inject.c
2596
if (strcmp(inject.output.path, "-") && !inject.strip &&
tools/perf/builtin-inject.c
2615
data.path = inject.input_name;
tools/perf/builtin-kmem.c
1993
data.path = input_name;
tools/perf/builtin-kvm.c
1554
.path = kvm->file_name,
tools/perf/builtin-kwork.c
1796
.path = input_name,
tools/perf/builtin-lock.c
1859
.path = input_name,
tools/perf/builtin-lock.c
1997
.path = input_name,
tools/perf/builtin-mem.c
273
.path = input_name,
tools/perf/builtin-record.c
1933
data->path, timestamp);
tools/perf/builtin-record.c
2953
data->path, postfix, samples);
tools/perf/builtin-record.c
3509
OPT_STRING('o', "output", &record.data.path, "file",
tools/perf/builtin-report.c
1148
ui__error("The %s data has no samples!\n", data->path);
tools/perf/builtin-report.c
1597
data.path = input_name;
tools/perf/builtin-report.c
669
char *help = NULL, *path = NULL;
tools/perf/builtin-report.c
671
path = system_path(TIPDIR);
tools/perf/builtin-report.c
672
if (perf_tip(&help, path) || help == NULL) {
tools/perf/builtin-report.c
674
free(path);
tools/perf/builtin-report.c
675
path = system_path(DOCDIR);
tools/perf/builtin-report.c
676
if (perf_tip(&help, path) || help == NULL)
tools/perf/builtin-report.c
679
free(path);
tools/perf/builtin-sched.c
1926
.path = input_name,
tools/perf/builtin-sched.c
3287
.path = input_name,
tools/perf/builtin-sched.c
3766
char path[PATH_MAX];
tools/perf/builtin-sched.c
3770
snprintf(path, PATH_MAX, "%s/sys/kernel/sched_schedstats", procfs__mountpoint());
tools/perf/builtin-sched.c
3771
fp = fopen(path, "w+");
tools/perf/builtin-sched.c
3773
pr_err("Failed to open %s\n", path);
tools/perf/builtin-sched.c
3789
char path[PATH_MAX];
tools/perf/builtin-sched.c
3792
snprintf(path, PATH_MAX, "%s/sys/kernel/sched_schedstats", procfs__mountpoint());
tools/perf/builtin-sched.c
3793
fp = fopen(path, "w");
tools/perf/builtin-sched.c
3795
pr_err("Failed to open %s\n", path);
tools/perf/builtin-sched.c
3817
.path = output_name,
tools/perf/builtin-sched.c
3924
fprintf(stderr, "[ perf sched stats: Wrote samples to %s ]\n", data.path);
tools/perf/builtin-sched.c
4489
.path = input_name,
tools/perf/builtin-sched.c
4566
data[0].path = defaults[0];
tools/perf/builtin-sched.c
4571
pr_err("Failed to open %s\n", data[0].path);
tools/perf/builtin-sched.c
4583
data[1].path = defaults[1];
tools/perf/builtin-sched.c
4588
pr_err("Failed to open %s\n", data[1].path);
tools/perf/builtin-script.c
3261
char path[PATH_MAX];
tools/perf/builtin-script.c
3279
snprintf(path, sizeof(path), "%s/scripts/%s/%s",
tools/perf/builtin-script.c
3282
script = path;
tools/perf/builtin-script.c
350
if (asprintf(&es->filename, "%s.%s.dump", data->file.path, evsel__name(evsel)) < 0)
tools/perf/builtin-script.c
4216
data.path = input_name;
tools/perf/builtin-script.c
4501
input = open(data.path, O_RDONLY); /* input_name */
tools/perf/builtin-stat.c
2160
data->path = output_name;
tools/perf/builtin-stat.c
2340
perf_stat.data.path = input_name;
tools/perf/builtin-stat.c
562
char path[PATH_MAX];
tools/perf/builtin-stat.c
564
scnprintf(path, PATH_MAX, "%s/%d", procfs__mountpoint(),
tools/perf/builtin-stat.c
567
if (!stat(path, &st))
tools/perf/builtin-timechart.c
1604
.path = input_name,
tools/perf/builtin-trace.c
1210
[1] = SCA_FILENAME_FROM_USER(path),
tools/perf/builtin-trace.c
1765
const char *path = thread__fd_path(arg->thread, fd, arg->trace);
tools/perf/builtin-trace.c
1767
if (path)
tools/perf/builtin-trace.c
1768
printed += scnprintf(bf + printed, size - printed, "<%s>", path);
tools/perf/builtin-trace.c
1779
const char *path = thread__fd_path(thread, fd, trace);
tools/perf/builtin-trace.c
1781
if (path)
tools/perf/builtin-trace.c
1782
printed += scnprintf(bf + printed, size - printed, "<%s>", path);
tools/perf/builtin-trace.c
4695
.path = input_name,
tools/perf/perf.c
168
static int set_debug_file(const char *path)
tools/perf/perf.c
170
debug_fp = fopen(path, "w");
tools/perf/perf.c
173
path);
tools/perf/tests/api-io.c
108
cleanup_test(path, &io);
tools/perf/tests/api-io.c
137
char path[PATH_MAX];
tools/perf/tests/api-io.c
142
if (setup_test(path, test_string, 4, &io))
tools/perf/tests/api-io.c
159
cleanup_test(path, &io);
tools/perf/tests/api-io.c
218
char path[PATH_MAX];
tools/perf/tests/api-io.c
223
if (setup_test(path, test_string, 4, &io))
tools/perf/tests/api-io.c
240
cleanup_test(path, &io);
tools/perf/tests/api-io.c
295
char path[PATH_MAX];
tools/perf/tests/api-io.c
310
if (setup_test(path, test_string, buf_size, &io))
tools/perf/tests/api-io.c
323
cleanup_test(path, &io);
tools/perf/tests/api-io.c
37
static int make_test_file(char path[PATH_MAX], const char *contents)
tools/perf/tests/api-io.c
42
strcpy(path, TEMPL);
tools/perf/tests/api-io.c
43
fd = mkstemp(path);
tools/perf/tests/api-io.c
51
unlink(path);
tools/perf/tests/api-io.c
58
static int setup_test(char path[PATH_MAX], const char *contents,
tools/perf/tests/api-io.c
61
if (make_test_file(path, contents))
tools/perf/tests/api-io.c
64
io->fd = open(path, O_RDONLY);
tools/perf/tests/api-io.c
66
pr_debug("Failed to open '%s'\n", path);
tools/perf/tests/api-io.c
67
unlink(path);
tools/perf/tests/api-io.c
74
unlink(path);
tools/perf/tests/api-io.c
81
static void cleanup_test(char path[PATH_MAX], struct io *io)
tools/perf/tests/api-io.c
85
unlink(path);
tools/perf/tests/api-io.c
90
char path[PATH_MAX];
tools/perf/tests/api-io.c
95
if (setup_test(path, test_string, buf_size, &io))
tools/perf/tests/builtin-test.c
203
char path[PATH_MAX];
tools/perf/tests/builtin-test.c
222
len = readlinkat(dirfd(dir), ent->d_name, path, sizeof(path));
tools/perf/tests/builtin-test.c
223
if (len > 0 && (size_t)len < sizeof(path))
tools/perf/tests/builtin-test.c
224
path[len] = '\0';
tools/perf/tests/builtin-test.c
226
strncpy(path, ent->d_name, sizeof(path));
tools/perf/tests/builtin-test.c
227
pr_err("Leak of file descriptor %s that opened: '%s'\n", ent->d_name, path);
tools/perf/tests/code-reading.c
101
free(ts->path);
tools/perf/tests/code-reading.c
46
char *path;
tools/perf/tests/code-reading.c
49
static bool tested_code_insert_or_exists(const char *path, u64 addr,
tools/perf/tests/code-reading.c
61
cmp = strcmp(path, data->path);
tools/perf/tests/code-reading.c
82
data->path = strdup(path);
tools/perf/tests/code-reading.c
83
if (!data->path) {
tools/perf/tests/dlfilter-test.c
224
char path[PATH_MAX];
tools/perf/tests/dlfilter-test.c
230
snprintf(path, sizeof(path), "%s/dlfilters/%s", perf_path, name);
tools/perf/tests/dlfilter-test.c
231
if (access(path, R_OK)) {
tools/perf/tests/dlfilter-test.c
235
snprintf(path, sizeof(path), "%s/dlfilters/%s", exec_path, name);
tools/perf/tests/dlfilter-test.c
237
if (access(path, R_OK))
tools/perf/tests/dlfilter-test.c
240
strlcpy(buf, dirname(path), sz);
tools/perf/tests/dlfilter-test.c
393
static void unlink_path(const char *path)
tools/perf/tests/dlfilter-test.c
395
if (*path)
tools/perf/tests/dlfilter-test.c
396
unlink(path);
tools/perf/tests/dso-data.c
193
char path[PATH_MAX];
tools/perf/tests/dso-data.c
198
scnprintf(path, PATH_MAX, "%s/self/fd", procfs__mountpoint());
tools/perf/tests/dso-data.c
199
pr_debug("fd path: %s\n", path);
tools/perf/tests/dso-data.c
201
dir = opendir(path);
tools/perf/tests/genelf.c
28
char path[PATH_MAX];
tools/perf/tests/genelf.c
31
strcpy(path, TEMPL);
tools/perf/tests/genelf.c
33
fd = mkstemp(path);
tools/perf/tests/genelf.c
39
pr_info("Writing jit code to: %s\n", path);
tools/perf/tests/genelf.c
45
unlink(path);
tools/perf/tests/kmod-path.c
10
static int test(const char *path, bool alloc_name, bool kmod,
tools/perf/tests/kmod-path.c
18
!__kmod_path__parse(&m, path, alloc_name));
tools/perf/tests/kmod-path.c
21
path, alloc_name, m.kmod, m.comp, m.name);
tools/perf/tests/kmod-path.c
35
static int test_is_kernel_module(const char *path, int cpumode, bool expect)
tools/perf/tests/kmod-path.c
38
(!!is_kernel_module(path, cpumode)) == (!!expect));
tools/perf/tests/kmod-path.c
40
path, cpumode, expect ? "true" : "false");
tools/perf/tests/kmod-path.c
44
#define T(path, an, k, c, n) \
tools/perf/tests/kmod-path.c
45
TEST_ASSERT_VAL("failed", !test(path, an, k, c, n))
tools/perf/tests/kmod-path.c
47
#define M(path, c, e) \
tools/perf/tests/kmod-path.c
48
TEST_ASSERT_VAL("failed", !test_is_kernel_module(path, c, e))
tools/perf/tests/parse-events.c
2691
char path[PATH_MAX];
tools/perf/tests/parse-events.c
2701
snprintf(path, PATH_MAX, "%s/bus/event_source/devices/%s/events/",
tools/perf/tests/parse-events.c
2704
err = stat(path, &st);
tools/perf/tests/parse-events.c
2706
pr_debug("skipping PMU %s events tests: %s\n", pmu->name, path);
tools/perf/tests/parse-events.c
2710
dir = opendir(path);
tools/perf/tests/parse-events.c
2712
pr_debug("can't open pmu event dir: %s\n", path);
tools/perf/tests/parse-events.c
2728
n = snprintf(pmu_event, sizeof(pmu_event), "%s%s", path, ent->d_name);
tools/perf/tests/parse-events.c
2810
char path[PATH_MAX];
tools/perf/tests/parse-events.c
2820
snprintf(path, PATH_MAX, "%s/bus/event_source/devices/", sysfs);
tools/perf/tests/parse-events.c
2821
dir = opendir(path);
tools/perf/tests/parse-events.c
2830
snprintf(path, PATH_MAX, "%s/bus/event_source/devices/%s/alias",
tools/perf/tests/parse-events.c
2833
if (!file_available(path))
tools/perf/tests/parse-events.c
2836
file = fopen(path, "r");
tools/perf/tests/pmu.c
391
char path[PATH_MAX];
tools/perf/tests/pmu.c
402
snprintf(path, sizeof(path), "%s/bus/event_source/devices/", sysfs);
tools/perf/tests/pmu.c
403
pmu_dir = opendir(path);
tools/perf/tests/pmu.c
405
pr_err("Error opening \"%s\"\n", path);
tools/perf/tests/pmu.c
413
snprintf(path, sizeof(path), "%s/bus/event_source/devices/%s/type",
tools/perf/tests/pmu.c
417
if (!file_available(path))
tools/perf/tests/pmu.c
421
snprintf(path, sizeof(path), "%s/bus/event_source/devices/%s/events",
tools/perf/tests/pmu.c
424
event_dir = opendir(path);
tools/perf/tests/pmu.c
426
pr_debug("Skipping as no event directory \"%s\"\n", path);
tools/perf/tests/tests-scripts.c
121
static bool is_shell_script(int dir_fd, const char *path)
tools/perf/tests/tests-scripts.c
125
ext = strrchr(path, '.');
tools/perf/tests/tests-scripts.c
129
if (faccessat(dir_fd, path, R_OK | X_OK, 0) == 0) /* Is executable */
tools/perf/tests/tests-scripts.c
33
char path[PATH_MAX], path2[PATH_MAX], *exec_path;
tools/perf/tests/tests-scripts.c
54
scnprintf(path, sizeof(path), path2);
tools/perf/tests/tests-scripts.c
55
if (readlink(path, path2, sizeof path2) < 0)
tools/perf/tests/tests-scripts.c
62
scnprintf(path, sizeof(path), "%s/tests/shell", path2);
tools/perf/tests/tests-scripts.c
63
fd = open(path, O_PATH);
tools/perf/tests/tests-scripts.c
66
scnprintf(path, sizeof(path), "%s/source/tests/shell", path2);
tools/perf/tests/tests-scripts.c
67
fd = open(path, O_PATH);
tools/perf/tests/tests-scripts.c
73
scnprintf(path, sizeof(path), "%s/tests/shell", exec_path);
tools/perf/tests/tests-scripts.c
75
return open(path, O_PATH);
tools/perf/tests/topology.c
17
static int get_temp(char *path)
tools/perf/tests/topology.c
204
char path[PATH_MAX];
tools/perf/tests/topology.c
208
TEST_ASSERT_VAL("can't get templ file", !get_temp(path));
tools/perf/tests/topology.c
21
strcpy(path, TEMPL);
tools/perf/tests/topology.c
210
pr_debug("templ file: %s\n", path);
tools/perf/tests/topology.c
212
if (session_write_header(path))
tools/perf/tests/topology.c
221
ret = check_cpu_topology(path, map);
tools/perf/tests/topology.c
225
unlink(path);
tools/perf/tests/topology.c
23
fd = mkstemp(path);
tools/perf/tests/topology.c
33
static int session_write_header(char *path)
tools/perf/tests/topology.c
37
.path = path,
tools/perf/tests/topology.c
63
static int check_cpu_topology(char *path, struct perf_cpu_map *map)
tools/perf/tests/topology.c
67
.path = path,
tools/perf/ui/browsers/hists.c
2393
char path[PATH_MAX];
tools/perf/ui/browsers/hists.c
2401
snprintf(path, sizeof(path), "%s/%s", pwd, name);
tools/perf/ui/browsers/hists.c
2403
file = fopen(path, "r");
tools/perf/ui/browsers/hists.c
2415
abs_path[nr_options] = strdup(path);
tools/perf/ui/browsers/scripts.c
166
.path = input_name,
tools/perf/ui/gtk/hists.c
281
static void on_row_activated(GtkTreeView *view, GtkTreePath *path,
tools/perf/ui/gtk/hists.c
285
bool expanded = gtk_tree_view_row_expanded(view, path);
tools/perf/ui/gtk/hists.c
288
gtk_tree_view_collapse_row(view, path);
tools/perf/ui/gtk/hists.c
290
gtk_tree_view_expand_row(view, path, FALSE);
tools/perf/util/annotate.c
1074
ret = strcmp(iter->path, al->path);
tools/perf/util/annotate.c
1166
char *path;
tools/perf/util/annotate.c
1179
path = al->path;
tools/perf/util/annotate.c
1181
color_fprintf(stdout, color, " %s\n", path);
tools/perf/util/annotate.c
1650
al->path = get_srcline(map__dso(ms->map), addr + al->offset, NULL,
tools/perf/util/annotate.c
884
if (al->path) {
tools/perf/util/annotate.c
885
if (!prev_line || strcmp(prev_line, al->path)) {
tools/perf/util/annotate.c
886
color_fprintf(stdout, color, " // %s", al->path);
tools/perf/util/annotate.c
887
prev_line = al->path;
tools/perf/util/annotate.h
119
char *path;
tools/perf/util/bpf-filter.c
207
char path[128];
tools/perf/util/bpf-filter.c
212
scnprintf(path, sizeof(path), "%d/status", tid);
tools/perf/util/bpf-filter.c
213
if (procfs__read_str(path, &buf, &len) < 0)
tools/perf/util/bpf-filter.c
676
char *path = NULL;
tools/perf/util/bpf-filter.c
699
if (asprintf(&path, "%s/fs/bpf/%s", sysfs__mountpoint(),
tools/perf/util/bpf-filter.c
706
ret = bpf_object__pin(skel->obj, path);
tools/perf/util/bpf-filter.c
713
dir_fd = open(path, O_PATH);
tools/perf/util/bpf-filter.c
715
bpf_object__unpin(skel->obj, path);
tools/perf/util/bpf-filter.c
761
free(path);
tools/perf/util/bpf-filter.c
769
char *path = NULL;
tools/perf/util/bpf-filter.c
779
if (asprintf(&path, "%s/fs/bpf/%s", sysfs__mountpoint(),
tools/perf/util/bpf-filter.c
786
ret = bpf_object__unpin(skel->obj, path);
tools/perf/util/bpf-filter.c
789
free(path);
tools/perf/util/bpf-filter.c
796
char *path = NULL;
tools/perf/util/bpf-filter.c
799
if (asprintf(&path, "%s/fs/bpf/%s/%s", sysfs__mountpoint(),
tools/perf/util/bpf-filter.c
803
fd = bpf_obj_get(path);
tools/perf/util/bpf-filter.c
805
free(path);
tools/perf/util/bpf-filter.y
33
char *path;
tools/perf/util/bpf-filter.y
48
%type <path> BFT_PATH
tools/perf/util/bpf_counter.c
379
char path[PATH_MAX];
tools/perf/util/bpf_counter.c
383
scnprintf(path, PATH_MAX, "%s", target->attr_map);
tools/perf/util/bpf_counter.c
385
scnprintf(path, PATH_MAX, "%s/fs/bpf/%s", sysfs__mountpoint(),
tools/perf/util/bpf_counter.c
389
if (access(path, F_OK)) {
tools/perf/util/bpf_counter.c
397
err = bpf_obj_pin(map_fd, path);
tools/perf/util/bpf_counter.c
401
map_fd = bpf_obj_get(path);
tools/perf/util/bpf_counter.c
406
map_fd = bpf_obj_get(path);
tools/perf/util/build-id.c
725
char path[PATH_MAX];
tools/perf/util/build-id.c
728
len = readlink(linkname, path, sizeof(path) - 1);
tools/perf/util/build-id.c
733
path[len] = '\0';
tools/perf/util/build-id.c
735
if (strcmp(tmp, path)) {
tools/perf/util/cache.h
24
static inline int is_absolute_path(const char *path)
tools/perf/util/cache.h
26
return path[0] == '/';
tools/perf/util/cgroup.c
34
char path[PATH_MAX + 1];
tools/perf/util/cgroup.c
42
scnprintf(path, PATH_MAX, "%s/%s", mnt, name);
tools/perf/util/cgroup.c
44
fd = open(path, O_RDONLY);
tools/perf/util/cgroup.c
46
fprintf(stderr, "no access to cgroup %s\n", path);
tools/perf/util/cgroup.c
516
bool create, const char *path)
tools/perf/util/cgroup.c
52
static u64 __read_cgroup_id(const char *path)
tools/perf/util/cgroup.c
542
cgrp->name = strdup(path);
tools/perf/util/cgroup.c
559
const char *path)
tools/perf/util/cgroup.c
564
cgrp = __cgroup__findnew(&env->cgroups.tree, id, true, path);
tools/perf/util/cgroup.c
61
if (name_to_handle_at(AT_FDCWD, path, &handle.fh, &mount_id, 0) < 0)
tools/perf/util/cgroup.c
69
char path[PATH_MAX + 1];
tools/perf/util/cgroup.c
75
scnprintf(path, PATH_MAX, "%s/%s", mnt, cgrp->name);
tools/perf/util/cgroup.c
77
cgrp->id = __read_cgroup_id(path);
tools/perf/util/cgroup.c
81
static inline u64 __read_cgroup_id(const char *path __maybe_unused) { return -1ULL; }
tools/perf/util/cgroup.h
38
const char *path);
tools/perf/util/config.c
577
char path[PATH_MAX];
tools/perf/util/config.c
589
config = strdup(mkpath(path, sizeof(path), "%s/.perfconfig", home));
tools/perf/util/cpumap.c
208
char path[PATH_MAX];
tools/perf/util/cpumap.c
210
snprintf(path, PATH_MAX,
tools/perf/util/cpumap.c
213
return sysfs__read_int(path, value);
tools/perf/util/cpumap.c
412
static int get_max_num(char *path, int *max)
tools/perf/util/cpumap.c
418
if (filename__read_str(path, &buf, &num))
tools/perf/util/cpumap.c
447
char path[PATH_MAX];
tools/perf/util/cpumap.c
459
ret = snprintf(path, PATH_MAX, "%s/devices/system/cpu/possible", mnt);
tools/perf/util/cpumap.c
465
ret = get_max_num(path, &max);
tools/perf/util/cpumap.c
472
ret = snprintf(path, PATH_MAX, "%s/devices/system/cpu/present", mnt);
tools/perf/util/cpumap.c
478
ret = get_max_num(path, &max);
tools/perf/util/cpumap.c
495
char path[PATH_MAX];
tools/perf/util/cpumap.c
506
ret = snprintf(path, PATH_MAX, "%s/devices/system/node/possible", mnt);
tools/perf/util/cpumap.c
512
ret = get_max_num(path, &max_node_num);
tools/perf/util/cpumap.c
579
char path[PATH_MAX];
tools/perf/util/cpumap.c
591
n = snprintf(path, PATH_MAX, "%s/devices/system/node", mnt);
tools/perf/util/cpumap.c
597
dir1 = opendir(path);
tools/perf/util/cpumap.c
606
n = snprintf(buf, PATH_MAX, "%s/%s", path, dent1->d_name);
tools/perf/util/cputopo.c
379
char path[MAXPATHLEN];
tools/perf/util/cputopo.c
386
scnprintf(path, MAXPATHLEN, NODE_ONLINE_FMT,
tools/perf/util/cputopo.c
389
fp = fopen(path, "r");
tools/perf/util/data-convert-bt.c
1569
static int ctf_writer__init(struct ctf_writer *cw, const char *path,
tools/perf/util/data-convert-bt.c
1579
writer = bt_ctf_writer_create(path);
tools/perf/util/data-convert-bt.c
1662
int bt_convert__perf2ctf(const char *input, const char *path,
tools/perf/util/data-convert-bt.c
1667
.path = input,
tools/perf/util/data-convert-bt.c
1718
if (ctf_writer__init(cw, path, session, opts->tod))
tools/perf/util/data-convert-bt.c
1747
data.path, path);
tools/perf/util/data-convert-json.c
355
.path = input_name,
tools/perf/util/data-convert-json.c
447
data.path, output_name);
tools/perf/util/data.c
110
dir = opendir(data->path);
tools/perf/util/data.c
116
char path[PATH_MAX];
tools/perf/util/data.c
119
snprintf(path, sizeof(path), "%s/%s", data->path, dent->d_name);
tools/perf/util/data.c
120
if (stat(path, &st))
tools/perf/util/data.c
135
file->path = strdup(path);
tools/perf/util/data.c
136
if (!file->path)
tools/perf/util/data.c
139
ret = open(file->path, O_RDONLY);
tools/perf/util/data.c
168
if (!data->path) {
tools/perf/util/data.c
172
if (!strcmp(data->path, "-"))
tools/perf/util/data.c
207
if (!stat(data->path, &st) && st.st_size) {
tools/perf/util/data.c
212
data->path);
tools/perf/util/data.c
223
if (rename(data->path, oldname)) {
tools/perf/util/data.c
224
pr_err("Can't move data: %m (%s to %s)\n", data->path, oldname);
tools/perf/util/data.c
236
if (stat(data->path, &st))
tools/perf/util/data.c
248
fd = open(data->file.path, flags);
tools/perf/util/data.c
252
pr_err("failed to open %s: %m", data->file.path);
tools/perf/util/data.c
253
if (err == ENOENT && !strcmp(data->file.path, "perf.data"))
tools/perf/util/data.c
264
data->file.path);
tools/perf/util/data.c
27
zfree(&files[nr].path);
tools/perf/util/data.c
270
data->file.path);
tools/perf/util/data.c
284
int fd = open(data->file.path, O_CREAT|O_RDWR|O_TRUNC|O_CLOEXEC, S_IRUSR|S_IWUSR);
tools/perf/util/data.c
287
pr_err("failed to open %s : %m\n", data->file.path);
tools/perf/util/data.c
300
zfree(&data->file.path);
tools/perf/util/data.c
310
data->file.path = strdup(data->path);
tools/perf/util/data.c
311
if (!data->file.path)
tools/perf/util/data.c
325
if (asprintf(&data->file.path, "%s/data", data->path) < 0)
tools/perf/util/data.c
329
mkdir(data->path, S_IRWXU) < 0)
tools/perf/util/data.c
336
rm_rf_perf_data(data->path);
tools/perf/util/data.c
349
if (!data->path)
tools/perf/util/data.c
350
data->path = "perf.data";
tools/perf/util/data.c
367
zfree(&data->file.path);
tools/perf/util/data.c
412
if (asprintf(new_filepath, "%s.%s", data->path, postfix) < 0)
tools/perf/util/data.c
419
if (rename(data->path, *new_filepath))
tools/perf/util/data.c
420
pr_warning("Failed to rename %s to %s\n", data->path, *new_filepath);
tools/perf/util/data.c
464
ret = snprintf(buf, buf_sz, "%s/kcore_dir", data->path);
tools/perf/util/data.c
471
bool has_kcore_dir(const char *path)
tools/perf/util/data.c
475
DIR *dir = opendir(path);
tools/perf/util/data.c
498
if (asprintf(&kallsyms_name, "%s/kcore_dir/kallsyms", data->path) < 0)
tools/perf/util/data.c
517
if (asprintf(&kallsyms_name, "%s/kcore_dir__%d/kallsyms", data->path, machine_pid) < 0)
tools/perf/util/data.c
528
bool is_perf_data(const char *path)
tools/perf/util/data.c
53
ret = asprintf(&file->path, "%s/data.%d", data->path, i);
tools/perf/util/data.c
534
file = fopen(path, "r");
tools/perf/util/data.c
60
ret = open(file->path, O_RDWR|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR);
tools/perf/util/data.h
102
bool has_kcore_dir(const char *path);
tools/perf/util/data.h
105
bool is_perf_data(const char *path);
tools/perf/util/data.h
21
char *path;
tools/perf/util/data.h
30
const char *path;
tools/perf/util/debuginfo.c
100
struct debuginfo *debuginfo__new(const char *path)
tools/perf/util/debuginfo.c
109
dso = dso__new(path);
tools/perf/util/debuginfo.c
118
if (filename__read_build_id(path, &bid) > 0)
tools/perf/util/debuginfo.c
136
symbol__join_symfs(buf, path);
tools/perf/util/debuginfo.c
41
const char *path)
tools/perf/util/debuginfo.c
46
fd = open(path, O_RDONLY);
tools/perf/util/debuginfo.c
78
static struct debuginfo *__debuginfo__new(const char *path)
tools/perf/util/debuginfo.c
84
if (debuginfo__init_offline_dwarf(dbg, path) < 0)
tools/perf/util/debuginfo.c
87
pr_debug("Open Debuginfo file: %s\n", path);
tools/perf/util/debuginfo.h
22
struct debuginfo *debuginfo__new(const char *path);
tools/perf/util/debuginfo.h
34
static inline struct debuginfo *debuginfo__new(const char *path __maybe_unused)
tools/perf/util/disasm.c
917
zfree_srcline(&al->path);
tools/perf/util/dlfilter.c
339
char path[PATH_MAX];
tools/perf/util/dlfilter.c
350
snprintf(path, sizeof(path), "./%s", file);
tools/perf/util/dlfilter.c
351
file = path;
tools/perf/util/dlfilter.c
358
snprintf(path, sizeof(path), "%s/dlfilters/%s", exec_path, file);
tools/perf/util/dlfilter.c
360
if (!access(path, R_OK))
tools/perf/util/dlfilter.c
361
file = path;
tools/perf/util/dlfilter.c
583
char path[PATH_MAX];
tools/perf/util/dlfilter.c
587
snprintf(path, sizeof(path), "%s/%s", dirname, name);
tools/perf/util/dlfilter.c
588
handle = dlopen(path, RTLD_NOW);
tools/perf/util/dlfilter.c
645
char path[PATH_MAX];
tools/perf/util/dlfilter.c
655
snprintf(path, sizeof(path), "%s/dlfilters", exec_path);
tools/perf/util/dlfilter.c
657
list_filters(path);
tools/perf/util/dso.c
1764
char path[PATH_MAX];
tools/perf/util/dso.c
1769
sprintf(path, "%s/sys/kernel/notes", machine->root_dir);
tools/perf/util/dso.c
1770
sysfs__read_build_id(path, &bid);
tools/perf/util/dso.c
412
int __kmod_path__parse(struct kmod_path *m, const char *path,
tools/perf/util/dso.c
415
const char *name = strrchr(path, '/');
tools/perf/util/dso.c
416
const char *ext = strrchr(path, '.');
tools/perf/util/dso.c
420
name = name ? name + 1 : path;
tools/perf/util/dso.h
806
int __kmod_path__parse(struct kmod_path *m, const char *path,
tools/perf/util/event.c
224
event->cgroup.id, event->cgroup.path);
tools/perf/util/evsel.c
119
char path[PATH_MAX];
tools/perf/util/evsel.c
122
snprintf(path, PATH_MAX, "%s/event-%d-%llu-%d", dir,
tools/perf/util/evsel.c
125
file = fopen(path, "w+");
tools/perf/util/evsel.c
3876
char path[PATH_MAX];
tools/perf/util/evsel.c
3885
scnprintf(path, sizeof(path), "%s/%s/comm",
tools/perf/util/evsel.c
3888
if (filename__read_str(path, &data, &size))
tools/perf/util/header.c
1142
char path[PATH_MAX], file[PATH_MAX];
tools/perf/util/header.c
1146
scnprintf(path, PATH_MAX, "devices/system/cpu/cpu%d/cache/index%d/", cpu, level);
tools/perf/util/header.c
1147
scnprintf(file, PATH_MAX, "%s/%s", sysfs__mountpoint(), path);
tools/perf/util/header.c
1152
scnprintf(file, PATH_MAX, "%s/level", path);
tools/perf/util/header.c
1156
scnprintf(file, PATH_MAX, "%s/coherency_line_size", path);
tools/perf/util/header.c
1160
scnprintf(file, PATH_MAX, "%s/number_of_sets", path);
tools/perf/util/header.c
1164
scnprintf(file, PATH_MAX, "%s/ways_of_associativity", path);
tools/perf/util/header.c
1168
scnprintf(file, PATH_MAX, "%s/type", path);
tools/perf/util/header.c
1175
scnprintf(file, PATH_MAX, "%s/size", path);
tools/perf/util/header.c
1184
scnprintf(file, PATH_MAX, "%s/shared_cpu_list", path);
tools/perf/util/header.c
1331
char path[PATH_MAX];
tools/perf/util/header.c
1341
scnprintf(path, PATH_MAX,
tools/perf/util/header.c
1345
io_dir__init(&dir, open(path, O_CLOEXEC | O_DIRECTORY | O_RDONLY));
tools/perf/util/header.c
1347
pr_warning("failed: can't open memory sysfs data '%s'\n", path);
tools/perf/util/header.c
1394
char path[PATH_MAX];
tools/perf/util/header.c
1401
scnprintf(path, PATH_MAX, "%s/devices/system/node/",
tools/perf/util/header.c
1404
io_dir__init(&dir, open(path, O_CLOEXEC | O_DIRECTORY | O_RDONLY));
tools/perf/util/header.c
1407
__func__, path);
tools/perf/util/header.c
4583
data->file.path);
tools/perf/util/header.c
4589
data->file.path);
tools/perf/util/intel-tpebs.c
131
char path[PATH_MAX];
tools/perf/util/intel-tpebs.c
142
scnprintf(path, sizeof(path), "%s/%d/status", procfs__mountpoint(), child);
tools/perf/util/intel-tpebs.c
143
fp = fopen(path, "r");
tools/perf/util/intel-tpebs.c
234
.path = PERF_DATA,
tools/perf/util/jitdump.c
732
jit_inject(struct jit_buf_desc *jd, const char *path)
tools/perf/util/jitdump.c
737
fprintf(stderr, "injecting: %s\n", path);
tools/perf/util/jitdump.c
739
ret = jit_open(jd, path);
tools/perf/util/jitdump.c
748
fprintf(stderr, "injected: %s (%d)\n", path, ret);
tools/perf/util/libbfd.c
163
static struct a2l_data *addr2line_init(const char *path)
tools/perf/util/libbfd.c
169
abfd = bfd_openr(path, NULL);
tools/perf/util/libbfd.c
181
a2l->input = strdup(path);
tools/perf/util/machine.c
1215
char path[PATH_MAX];
tools/perf/util/machine.c
1242
sprintf(path, "%s/%s/proc/kallsyms",
tools/perf/util/machine.c
1245
ret = access(path, R_OK);
tools/perf/util/machine.c
1247
pr_debug("Can't access file %s\n", path);
tools/perf/util/machine.c
1349
static int maps__set_module_path(struct maps *maps, const char *path, struct kmod_path *m)
tools/perf/util/machine.c
1358
long_name = strdup(path);
tools/perf/util/machine.c
1380
static int maps__set_modules_path_dir(struct maps *maps, char *path, size_t path_size, int depth)
tools/perf/util/machine.c
1384
size_t root_len = strlen(path);
tools/perf/util/machine.c
1387
io_dir__init(&iod, open(path, O_CLOEXEC | O_DIRECTORY | O_RDONLY));
tools/perf/util/machine.c
1389
pr_debug("%s: cannot open %s dir\n", __func__, path);
tools/perf/util/machine.c
1395
path[root_len++] = '/';
tools/perf/util/machine.c
1413
strcpy(path + root_len, dent->d_name);
tools/perf/util/machine.c
1414
ret = maps__set_modules_path_dir(maps, path, path_size, depth + 1);
tools/perf/util/machine.c
1427
strcpy(path + root_len, dent->d_name);
tools/perf/util/machine.c
1428
ret = maps__set_module_path(maps, path, &m);
tools/perf/util/machine.c
1489
char path[PATH_MAX];
tools/perf/util/machine.c
1494
snprintf(path, PATH_MAX, "%s/proc/modules", machine->root_dir);
tools/perf/util/machine.c
1495
modules = path;
tools/perf/util/machine.c
320
char path[PATH_MAX];
tools/perf/util/machine.c
330
sprintf(path, "%s/%d", symbol_conf.guestmount, pid);
tools/perf/util/machine.c
331
if (access(path, R_OK)) {
tools/perf/util/machine.c
337
if (!strlist__has_entry(seen, path)) {
tools/perf/util/machine.c
338
pr_err("Can't access file %s\n", path);
tools/perf/util/machine.c
339
strlist__add(seen, path);
tools/perf/util/machine.c
344
root_dir = path;
tools/perf/util/machine.c
667
cgrp = cgroup__findnew(machine->env, event->cgroup.id, event->cgroup.path);
tools/perf/util/mem-events.c
184
char path[PATH_MAX];
tools/perf/util/mem-events.c
190
scnprintf(path, PATH_MAX, "%s/bus/event_source/devices/%s/events/%s", mnt, pmu->name, e->event_name);
tools/perf/util/mem-events.c
192
return !stat(path, &st);
tools/perf/util/namespaces.c
349
char *nsinfo__realpath(const char *path, struct nsinfo *nsi)
tools/perf/util/namespaces.c
355
rpath = realpath(path, NULL);
tools/perf/util/namespaces.c
62
static int nsinfo__get_nspid(pid_t *tgid, pid_t *nstgid, bool *in_pidns, const char *path)
tools/perf/util/namespaces.c
69
f = fopen(path, "r");
tools/perf/util/namespaces.h
67
char *nsinfo__realpath(const char *path, struct nsinfo *nsi);
tools/perf/util/path.c
13
static char *cleanup_path(char *path)
tools/perf/util/path.c
16
if (!memcmp(path, "./", 2)) {
tools/perf/util/path.c
17
path += 2;
tools/perf/util/path.c
18
while (*path == '/')
tools/perf/util/path.c
19
path++;
tools/perf/util/path.c
21
return path;
tools/perf/util/path.c
61
char path[PATH_MAX];
tools/perf/util/path.c
64
snprintf(path, sizeof(path), "%s/%s", base_path, dent->d_name);
tools/perf/util/path.c
65
if (stat(path, &st))
tools/perf/util/path.c
71
bool is_directory_at(int dir_fd, const char *path)
tools/perf/util/path.c
75
if (fstatat(dir_fd, path, &st, /*flags=*/0))
tools/perf/util/path.h
15
bool is_directory_at(int dir_fd, const char *path);
tools/perf/util/pmu.c
166
char path[PATH_MAX];
tools/perf/util/pmu.c
172
if (!perf_pmu__pathname_scnprintf(path, sizeof(path), pmu->name, "format"))
tools/perf/util/pmu.c
175
assert(strlen(path) + strlen(format->name) + 2 < sizeof(path));
tools/perf/util/pmu.c
176
strcat(path, "/");
tools/perf/util/pmu.c
177
strcat(path, format->name);
tools/perf/util/pmu.c
179
file = fopen(path, "r");
tools/perf/util/pmu.c
2394
char path[PATH_MAX];
tools/perf/util/pmu.c
2396
if (!perf_pmu__pathname_scnprintf(path, sizeof(path), pmu->name, name) ||
tools/perf/util/pmu.c
2397
!file_available(path))
tools/perf/util/pmu.c
2400
return fopen(path, "r");
tools/perf/util/pmu.c
2450
char path[PATH_MAX];
tools/perf/util/pmu.c
2452
if (!perf_pmu__pathname_scnprintf(path, sizeof(path), pmu->name, name))
tools/perf/util/pmu.c
2455
return file_available(path);
tools/perf/util/pmu.c
2654
char path[PATH_MAX];
tools/perf/util/pmu.c
2660
scnprintf(path, sizeof(path), "%s/bus/event_source/devices/", sysfs);
tools/perf/util/pmu.c
2661
return open(path, O_DIRECTORY);
tools/perf/util/pmu.c
2687
char path[PATH_MAX];
tools/perf/util/pmu.c
2689
scnprintf(path, sizeof(path), "%s/%s", pmu_name, filename);
tools/perf/util/pmu.c
2690
return openat(dirfd, path, flags);
tools/perf/util/pmu.c
302
char path[PATH_MAX];
tools/perf/util/pmu.c
304
len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
tools/perf/util/pmu.c
307
scnprintf(path + len, sizeof(path) - len, "%s/events/%s.scale", pmu->name, alias->name);
tools/perf/util/pmu.c
309
fd = open(path, O_RDONLY);
tools/perf/util/pmu.c
333
char path[PATH_MAX];
tools/perf/util/pmu.c
339
len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
tools/perf/util/pmu.c
342
scnprintf(path + len, sizeof(path) - len, "%s/events/%s.unit", pmu->name, alias->name);
tools/perf/util/pmu.c
344
fd = open(path, O_RDONLY);
tools/perf/util/pmu.c
369
char path[PATH_MAX];
tools/perf/util/pmu.c
373
len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
tools/perf/util/pmu.c
377
scnprintf(path + len, sizeof(path) - len, "%s/events/%s.%s", pmu_name, event_name, suffix);
tools/perf/util/pmu.c
379
fd = open(path, O_RDONLY);
tools/perf/util/pmu.c
741
char path[PATH_MAX];
tools/perf/util/pmu.c
748
len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
tools/perf/util/pmu.c
751
scnprintf(path + len, sizeof(path) - len, "%s/events", pmu->name);
tools/perf/util/pmu.c
753
events_dir_fd = open(path, O_DIRECTORY);
tools/perf/util/pmu.c
765
char path[NAME_MAX + 8];
tools/perf/util/pmu.c
768
scnprintf(path, sizeof(path), "%s/events", pmu->name);
tools/perf/util/pmu.c
769
events_dir_fd = openat(sysfs_fd, path, O_DIRECTORY, 0);
tools/perf/util/pmu.c
860
char path[PATH_MAX], *str;
tools/perf/util/pmu.c
863
perf_pmu__pathname_scnprintf(path, sizeof(path), name, "identifier");
tools/perf/util/pmu.c
865
if (filename__read_str(path, &str, &len) < 0)
tools/perf/util/pmu.c
882
char path[PATH_MAX];
tools/perf/util/pmu.c
884
if (!perf_pmu__pathname_scnprintf(path, sizeof(path), name, "cpus"))
tools/perf/util/pmu.c
886
return file_available(path);
tools/perf/util/print-events.c
108
char *path = build_id_cache__origname(bid);
tools/perf/util/print-events.c
110
if (path) {
tools/perf/util/print-events.c
111
if (asprintf(&evt_name, "%s@%s(%.12s)", sdt_name->s, path, bid) < 0)
tools/perf/util/print-events.c
113
free(path);
tools/perf/util/probe-event.c
1109
tmp = lr->path;
tools/perf/util/probe-event.c
1110
ret = find_source_path(tmp, sbuild_id, lr->comp_dir, &lr->path);
tools/perf/util/probe-event.c
1113
if (tmp != lr->path)
tools/perf/util/probe-event.c
1124
fprintf(stdout, "<%s@%s:%d>\n", lr->function, lr->path,
tools/perf/util/probe-event.c
1127
fprintf(stdout, "<%s:%d>\n", lr->path, lr->start);
tools/perf/util/probe-event.c
1129
fp = fopen(lr->path, "r");
tools/perf/util/probe-event.c
1131
pr_warning("Failed to open %s: %s\n", lr->path,
tools/perf/util/probe-event.c
1323
zfree(&lr->path);
tools/perf/util/probe-event.c
502
char *path;
tools/perf/util/probe-event.c
510
0, &path);
tools/perf/util/probe-event.c
520
pr_debug("Load debuginfo from debuginfod (%s)\n", path);
tools/perf/util/probe-event.c
523
ret = debuginfo__new((const char *)path);
tools/perf/util/probe-event.c
541
const char *path = module;
tools/perf/util/probe-event.c
568
path = dso__long_name(dso);
tools/perf/util/probe-event.c
571
ret = debuginfo__new(path);
tools/perf/util/probe-event.c
573
pr_warning("The %s file has no debug information.\n", path);
tools/perf/util/probe-event.c
574
if (!module || !strtailcmp(path, ".ko"))
tools/perf/util/probe-event.c
590
const char *path = module;
tools/perf/util/probe-event.c
594
path = "kernel";
tools/perf/util/probe-event.c
596
if (debuginfo_cache_path && !strcmp(debuginfo_cache_path, path))
tools/perf/util/probe-event.c
601
debuginfo_cache_path = strdup(path);
tools/perf/util/probe-event.h
116
char *path; /* Real path name */
tools/perf/util/probe-finder.c
1716
if (!lr->path) {
tools/perf/util/probe-finder.c
1717
lr->path = strdup(src);
tools/perf/util/probe-finder.c
1718
if (lr->path == NULL)
tools/perf/util/probe-finder.c
1762
zfree(&lf->lr->path);
tools/perf/util/probe-finder.c
1893
pr_debug("path: %s\n", lr->path);
tools/perf/util/session.c
2051
if (strcmp(session->data->path, "-") && session->data->file.size) {
tools/perf/util/session.c
2263
const char *path;
tools/perf/util/session.c
2383
(skip = rd->process(session, event, rd->file_pos, rd->path)) < 0) {
tools/perf/util/session.c
2462
.path = session->data->file.path,
tools/perf/util/session.c
2542
.path = session->data->file.path,
tools/perf/util/session.c
2561
.path = data->dir.files[i].path,
tools/perf/util/session.c
450
void *data = &event->cgroup.path;
tools/perf/util/srcline.c
77
static const char *gnu_basename(const char *path)
tools/perf/util/srcline.c
79
const char *base = strrchr(path, '/');
tools/perf/util/srcline.c
81
return base ? base + 1 : path;
tools/perf/util/symbol-elf.c
900
char path[PATH_MAX];
tools/perf/util/symbol-elf.c
917
fd = filename__decompress(filename, path, sizeof(path), m.comp, &error);
tools/perf/util/symbol-elf.c
924
filename = path;
tools/perf/util/symbol.c
1998
char path[PATH_MAX];
tools/perf/util/symbol.c
2029
scnprintf(path, sizeof(path), "%s/%s/%s",
tools/perf/util/symbol.c
2032
if (!find_matching_kcore(map, path, sizeof(path)))
tools/perf/util/symbol.c
2033
return strdup(path);
tools/perf/util/symbol.c
2040
scnprintf(path, sizeof(path), "%s/proc/kallsyms", machine->root_dir);
tools/perf/util/symbol.c
2041
return strdup(path);
tools/perf/util/symbol.c
2047
if (!build_id_cache__kallsyms_path(sbuild_id, path, sizeof(path))) {
tools/perf/util/symbol.c
2053
return strdup(path);
tools/perf/util/symbol.c
2137
char path[PATH_MAX];
tools/perf/util/symbol.c
2158
sprintf(path, "%s/proc/kallsyms", machine->root_dir);
tools/perf/util/symbol.c
2159
kallsyms_filename = path;
tools/perf/util/symbol.h
102
#define symbol__join_symfs(bf, path) __symbol__join_symfs(bf, sizeof(bf), path)
tools/perf/util/symbol.h
97
static inline int __symbol__join_symfs(char *bf, size_t size, const char *path)
tools/perf/util/symbol.h
99
return path__join(bf, size, symbol_conf.symfs, path);
tools/perf/util/synthetic-events.c
2658
char *line = NULL, path[PATH_MAX];
tools/perf/util/synthetic-events.c
2669
snprintf(path, PATH_MAX, "%s/schedstat", procfs__mountpoint());
tools/perf/util/synthetic-events.c
2670
io.fd = open(path, O_RDONLY, 0);
tools/perf/util/synthetic-events.c
2672
pr_err("Failed to open %s. Possibly CONFIG_SCHEDSTAT is disabled.\n", path);
tools/perf/util/synthetic-events.c
2687
pr_err("Unsupported %s version: %s", path, line + 8);
tools/perf/util/synthetic-events.c
554
char *path, size_t mount_len,
tools/perf/util/synthetic-events.c
558
size_t event_size = sizeof(event->cgroup) - sizeof(event->cgroup.path);
tools/perf/util/synthetic-events.c
559
size_t path_len = strlen(path) - mount_len + 1;
tools/perf/util/synthetic-events.c
567
path[mount_len + path_len++] = '\0';
tools/perf/util/synthetic-events.c
575
if (name_to_handle_at(AT_FDCWD, path, &handle.fh, &mount_id, 0) < 0) {
tools/perf/util/synthetic-events.c
576
pr_debug("stat failed: %s\n", path);
tools/perf/util/synthetic-events.c
581
strncpy(event->cgroup.path, path + mount_len, path_len);
tools/perf/util/synthetic-events.c
582
memset(event->cgroup.path + path_len, 0, machine->id_hdr_size);
tools/perf/util/synthetic-events.c
594
char *path, size_t mount_len,
tools/perf/util/synthetic-events.c
598
size_t pos = strlen(path);
tools/perf/util/synthetic-events.c
603
if (perf_event__synthesize_cgroup(tool, event, path, mount_len,
tools/perf/util/synthetic-events.c
607
d = opendir(path);
tools/perf/util/synthetic-events.c
609
pr_debug("failed to open directory: %s\n", path);
tools/perf/util/synthetic-events.c
621
if (strlen(path) + strlen(dent->d_name) + 1 >= PATH_MAX)
tools/perf/util/synthetic-events.c
624
if (path[pos - 1] != '/')
tools/perf/util/synthetic-events.c
625
strcat(path, "/");
tools/perf/util/synthetic-events.c
626
strcat(path, dent->d_name);
tools/perf/util/synthetic-events.c
628
ret = perf_event__walk_cgroup_tree(tool, event, path,
tools/perf/util/synthetic-events.c
633
path[pos] = '\0';
tools/perf/util/thread.c
289
char path[64];
tools/perf/util/thread.c
294
if (!(snprintf(path, sizeof(path), "%d/task/%d/comm",
tools/perf/util/thread.c
295
thread__pid(thread), thread__tid(thread)) >= (int)sizeof(path)) &&
tools/perf/util/thread.c
296
procfs__read_str(path, &comm, &sz) == 0) {
tools/perf/util/thread.c
454
char path[6 /* "/proc/" */ + 11 /* max length of pid */ + 5 /* "/exe\0" */];
tools/perf/util/thread.c
458
snprintf(path, sizeof(path), "/proc/%d/exe", pid);
tools/perf/util/thread.c
459
fd = open(path, O_RDONLY);
tools/perf/util/thread_map.c
101
snprintf(path, sizeof(path), "/proc/%d/task", pid);
tools/perf/util/thread_map.c
102
items = scandir(path, &namelist, filter, NULL);
tools/perf/util/thread_map.c
288
char *path;
tools/perf/util/thread_map.c
292
if (asprintf(&path, "%s/%d/comm", procfs__mountpoint(), pid) == -1)
tools/perf/util/thread_map.c
295
err = filename__read_str(path, comm, &size);
tools/perf/util/thread_map.c
306
free(path);
tools/perf/util/thread_map.c
79
char path[NAME_MAX + 1 + 6];
tools/perf/util/tool_pmu.c
325
char path[PATH_MAX];
tools/perf/util/tool_pmu.c
328
snprintf(path, sizeof(path), "%s/firmware/acpi/tables/NFIT", sysfs);
tools/perf/util/tool_pmu.c
329
has_pmem = access(path, F_OK) == 0;
tools/perf/util/tp_pmu.c
121
char path[PATH_MAX];
tools/perf/util/tp_pmu.c
127
scnprintf(path, sizeof(path), "%s/%s/id", tp_dir, evt_name);
tools/perf/util/tp_pmu.c
128
err = filename__read_int(path, &id);
tools/perf/util/tp_pmu.c
134
scnprintf(path, sizeof(path), "%s/%s/format", tp_dir, evt_name);
tools/perf/util/tp_pmu.c
136
err = filename__read_str(path, &format, &format_size);
tools/perf/util/tp_pmu.c
14
char path[PATH_MAX];
tools/perf/util/tp_pmu.c
20
scnprintf(path, PATH_MAX, "%s/%s/id", tp_dir, name);
tools/perf/util/tp_pmu.c
22
err = filename__read_int(path, &id);
tools/perf/util/trace-event-info.c
100
pr_debug("can't read '%s'", path);
tools/perf/util/trace-event-info.c
109
if (record_file(path, 8) < 0) {
tools/perf/util/trace-event-info.c
114
put_events_file(path);
tools/perf/util/trace-event-info.c
116
path = get_events_file("header_event");
tools/perf/util/trace-event-info.c
117
if (!path) {
tools/perf/util/trace-event-info.c
123
if (stat(path, &st) < 0) {
tools/perf/util/trace-event-info.c
124
pr_debug("can't read '%s'", path);
tools/perf/util/trace-event-info.c
133
if (record_file(path, 8) < 0) {
tools/perf/util/trace-event-info.c
140
put_events_file(path);
tools/perf/util/trace-event-info.c
226
char *path;
tools/perf/util/trace-event-info.c
229
path = get_events_file("ftrace");
tools/perf/util/trace-event-info.c
230
if (!path) {
tools/perf/util/trace-event-info.c
235
ret = copy_event_system(path, tps);
tools/perf/util/trace-event-info.c
237
put_tracing_file(path);
tools/perf/util/trace-event-info.c
257
char *path;
tools/perf/util/trace-event-info.c
264
path = get_tracing_file("events");
tools/perf/util/trace-event-info.c
265
if (!path) {
tools/perf/util/trace-event-info.c
270
dir = opendir(path);
tools/perf/util/trace-event-info.c
273
pr_debug("can't read directory '%s'", path);
tools/perf/util/trace-event-info.c
297
if (asprintf(&sys, "%s/%s", path, dent->d_name) < 0) {
tools/perf/util/trace-event-info.c
318
put_tracing_file(path);
tools/perf/util/trace-event-info.c
338
char *path;
tools/perf/util/trace-event-info.c
342
path = get_tracing_file("printk_formats");
tools/perf/util/trace-event-info.c
343
if (!path) {
tools/perf/util/trace-event-info.c
348
ret = stat(path, &st);
tools/perf/util/trace-event-info.c
356
err = record_file(path, 4);
tools/perf/util/trace-event-info.c
359
put_tracing_file(path);
tools/perf/util/trace-event-info.c
366
char *path;
tools/perf/util/trace-event-info.c
370
path = get_tracing_file("saved_cmdlines");
tools/perf/util/trace-event-info.c
371
if (!path) {
tools/perf/util/trace-event-info.c
376
ret = stat(path, &st);
tools/perf/util/trace-event-info.c
384
err = record_file(path, 8);
tools/perf/util/trace-event-info.c
387
put_tracing_file(path);
tools/perf/util/trace-event-info.c
406
struct tracepoint_path *path = NULL;
tools/perf/util/trace-event-info.c
444
path = zalloc(sizeof(*path));
tools/perf/util/trace-event-info.c
445
if (!path)
tools/perf/util/trace-event-info.c
447
if (asprintf(&path->system, "%.*s",
tools/perf/util/trace-event-info.c
449
free(path);
tools/perf/util/trace-event-info.c
452
if (asprintf(&path->name, "%.*s",
tools/perf/util/trace-event-info.c
454
zfree(&path->system);
tools/perf/util/trace-event-info.c
455
free(path);
tools/perf/util/trace-event-info.c
458
return path;
tools/perf/util/trace-event-info.c
472
struct tracepoint_path *path = tracepoint_id_to_path(config);
tools/perf/util/trace-event-info.c
475
if (path && asprintf(&buf, "%s:%s", path->system, path->name) < 0)
tools/perf/util/trace-event-info.c
478
put_tracepoints_path(path);
tools/perf/util/trace-event-info.c
484
struct tracepoint_path *path = zalloc(sizeof(*path));
tools/perf/util/trace-event-info.c
487
if (path == NULL || str == NULL) {
tools/perf/util/trace-event-info.c
488
free(path);
tools/perf/util/trace-event-info.c
492
path->system = strndup(name, str - name);
tools/perf/util/trace-event-info.c
493
path->name = strdup(str+1);
tools/perf/util/trace-event-info.c
495
if (path->system == NULL || path->name == NULL) {
tools/perf/util/trace-event-info.c
496
zfree(&path->system);
tools/perf/util/trace-event-info.c
497
zfree(&path->name);
tools/perf/util/trace-event-info.c
498
zfree(&path);
tools/perf/util/trace-event-info.c
501
return path;
tools/perf/util/trace-event-info.c
507
struct tracepoint_path path, *ppath = &path;
tools/perf/util/trace-event-info.c
532
put_tracepoints_path(path.next);
tools/perf/util/trace-event-info.c
539
return nr_tracepoints > 0 ? path.next : NULL;
tools/perf/util/trace-event-info.c
90
char *path = get_events_file("header_page");
tools/perf/util/trace-event-info.c
94
if (!path) {
tools/perf/util/trace-event-info.c
99
if (stat(path, &st) < 0) {
tools/perf/util/trace-event.c
79
char path[PATH_MAX];
tools/perf/util/trace-event.c
87
scnprintf(path, PATH_MAX, "%s/%s/format", tp_dir, name);
tools/perf/util/trace-event.c
90
err = filename__read_str(path, &data, &size);
tools/perf/util/tracepoint.c
33
char *dst, *path = malloc(strlen(event_string) + 4); /* Space for "/id\0". */
tools/perf/util/tracepoint.c
37
if (!path)
tools/perf/util/tracepoint.c
41
for (src = event_string, dst = path; *src; src++, dst++)
tools/perf/util/tracepoint.c
46
dst = get_events_file(path);
tools/perf/util/tracepoint.c
50
free(path);
tools/perf/util/util.c
101
int mkdir_p(char *path, mode_t mode)
tools/perf/util/util.c
105
char *d = path;
tools/perf/util/util.c
110
if (stat(path, &st) == 0)
tools/perf/util/util.c
117
err = stat(path, &st) && mkdir(path, mode);
tools/perf/util/util.c
124
return (stat(path, &st) && mkdir(path, mode)) ? -1 : 0;
tools/perf/util/util.c
158
static int rm_rf_depth_pat(const char *path, int depth, const char **pat)
tools/perf/util/util.c
167
ret = lstat(path, &statbuf);
tools/perf/util/util.c
173
return unlink(path);
tools/perf/util/util.c
176
dir = opendir(path);
tools/perf/util/util.c
191
path, d->d_name);
tools/perf/util/util.c
210
return rmdir(path);
tools/perf/util/util.c
213
static int rm_rf_a_kcore_dir(const char *path, const char *name)
tools/perf/util/util.c
223
snprintf(kcore_dir_path, sizeof(kcore_dir_path), "%s/%s", path, name);
tools/perf/util/util.c
239
static int rm_rf_kcore_dir(const char *path)
tools/perf/util/util.c
245
kcore_dirs = lsdir(path, kcore_dir_filter);
tools/perf/util/util.c
251
ret = rm_rf_a_kcore_dir(path, nd->s);
tools/perf/util/util.c
309
int rm_rf_perf_data(const char *path)
tools/perf/util/util.c
317
rm_rf_kcore_dir(path);
tools/perf/util/util.c
319
return rm_rf_depth_pat(path, 0, pat);
tools/perf/util/util.c
322
int rm_rf(const char *path)
tools/perf/util/util.c
324
return rm_rf_depth_pat(path, INT_MAX, NULL);
tools/perf/util/util.c
538
char path[PATH_MAX];
tools/perf/util/util.c
544
snprintf(path, sizeof(path), "/proc/%d/fd/%d", getpid(), fd);
tools/perf/util/util.c
545
err = scandir(path, namelist, filter, compar);
tools/perf/util/util.h
38
int mkdir_p(char *path, mode_t mode);
tools/perf/util/util.h
39
int rm_rf(const char *path);
tools/perf/util/util.h
40
int rm_rf_perf_data(const char *path);
tools/power/cpupower/bench/parse.c
160
int prepare_config(const char *path, struct config *config)
tools/power/cpupower/bench/parse.c
171
configfile = fopen(path, "r");
tools/power/cpupower/bench/parse.c
174
path, strerror(errno));
tools/power/cpupower/bench/parse.h
38
int prepare_config(const char *path, struct config *config);
tools/power/cpupower/lib/acpi_cppc.c
20
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/acpi_cppc.c
22
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/acpi_cppc/%s",
tools/power/cpupower/lib/acpi_cppc.c
24
return cpupower_read_sysfs(path, buf, buflen);
tools/power/cpupower/lib/cpufreq.c
26
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpufreq.c
28
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpufreq/%s",
tools/power/cpupower/lib/cpufreq.c
30
return cpupower_read_sysfs(path, buf, buflen);
tools/power/cpupower/lib/cpufreq.c
39
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpufreq.c
43
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpufreq/%s",
tools/power/cpupower/lib/cpufreq.c
46
fd = open(path, O_WRONLY);
tools/power/cpupower/lib/cpuidle.c
326
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpuidle.c
328
snprintf(path, sizeof(path), PATH_TO_CPU "cpuidle/%s", fname);
tools/power/cpupower/lib/cpuidle.c
33
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpuidle.c
330
return cpupower_read_sysfs(path, buf, buflen);
tools/power/cpupower/lib/cpuidle.c
37
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
tools/power/cpupower/lib/cpuidle.c
39
if (stat(path, &statbuf) != 0)
tools/power/cpupower/lib/cpuidle.c
56
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpuidle.c
60
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
tools/power/cpupower/lib/cpuidle.c
63
fd = open(path, O_RDONLY);
tools/power/cpupower/lib/cpuidle.c
91
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpuidle.c
95
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
tools/power/cpupower/lib/cpuidle.c
98
fd = open(path, O_WRONLY);
tools/power/cpupower/lib/cpupower.c
122
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpupower.c
124
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/topology/%s",
tools/power/cpupower/lib/cpupower.c
126
if (cpupower_read_sysfs(path, linebuf, MAX_LINE_LEN) == 0)
tools/power/cpupower/lib/cpupower.c
171
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpupower.c
18
int is_valid_path(const char *path)
tools/power/cpupower/lib/cpupower.c
20
if (access(path, F_OK) == -1)
tools/power/cpupower/lib/cpupower.c
201
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/topology/%s",
tools/power/cpupower/lib/cpupower.c
204
path,
tools/power/cpupower/lib/cpupower.c
25
unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen)
tools/power/cpupower/lib/cpupower.c
30
fd = open(path, O_RDONLY);
tools/power/cpupower/lib/cpupower.c
46
unsigned int cpupower_write_sysfs(const char *path, char *buf, size_t buflen)
tools/power/cpupower/lib/cpupower.c
51
fd = open(path, O_WRONLY);
tools/power/cpupower/lib/cpupower.c
57
perror(path);
tools/power/cpupower/lib/cpupower.c
77
char path[SYSFS_PATH_MAX];
tools/power/cpupower/lib/cpupower.c
85
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u", cpu);
tools/power/cpupower/lib/cpupower.c
87
if (stat(path, &statbuf) != 0)
tools/power/cpupower/lib/cpupower.c
94
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/online", cpu);
tools/power/cpupower/lib/cpupower.c
95
if (stat(path, &statbuf) != 0)
tools/power/cpupower/lib/cpupower.c
98
fd = open(path, O_RDONLY);
tools/power/cpupower/lib/cpupower_intern.h
10
int is_valid_path(const char *path);
tools/power/cpupower/lib/cpupower_intern.h
11
unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen);
tools/power/cpupower/lib/cpupower_intern.h
12
unsigned int cpupower_write_sysfs(const char *path, char *buf, size_t buflen);
tools/power/cpupower/lib/powercap.c
168
char path[SYSFS_PATH_MAX] = PATH_TO_POWERCAP;
tools/power/cpupower/lib/powercap.c
174
strcat(path, "/");
tools/power/cpupower/lib/powercap.c
175
strcat(path, zone->sys_name);
tools/power/cpupower/lib/powercap.c
176
strcat(path, "/enabled");
tools/power/cpupower/lib/powercap.c
178
return sysfs_get_enabled(path, mode);
tools/power/cpupower/lib/powercap.c
18
static unsigned int sysfs_read_file(const char *path, char *buf, size_t buflen)
tools/power/cpupower/lib/powercap.c
23
fd = open(path, O_RDONLY);
tools/power/cpupower/lib/powercap.c
39
static int sysfs_get_enabled(char *path, int *mode)
tools/power/cpupower/lib/powercap.c
47
fd = open(path, O_RDONLY);
tools/power/cpupower/lib/powercap.c
75
char path[SYSFS_PATH_MAX] = PATH_TO_POWERCAP "/intel-rapl/enabled";
tools/power/cpupower/lib/powercap.c
77
return sysfs_get_enabled(path, mode);
tools/power/cpupower/utils/helpers/misc.c
111
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
117
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/power/energy_perf_bias", cpu);
tools/power/cpupower/utils/helpers/misc.c
120
if (cpupower_write_sysfs(path, linebuf, 3) <= 0)
tools/power/cpupower/utils/helpers/misc.c
128
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
131
snprintf(path, sizeof(path),
tools/power/cpupower/utils/helpers/misc.c
134
if (!is_valid_path(path))
tools/power/cpupower/utils/helpers/misc.c
139
if (cpupower_write_sysfs(path, linebuf, 30) <= 0)
tools/power/cpupower/utils/helpers/misc.c
147
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
150
snprintf(path, sizeof(path), PATH_TO_CPU "amd_pstate/status");
tools/power/cpupower/utils/helpers/misc.c
152
if (!is_valid_path(path))
tools/power/cpupower/utils/helpers/misc.c
157
if (cpupower_write_sysfs(path, linebuf, 20) <= 0)
tools/power/cpupower/utils/helpers/misc.c
183
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
188
snprintf(path, sizeof(path), PATH_TO_CPU "cpufreq/boost");
tools/power/cpupower/utils/helpers/misc.c
190
if (!is_valid_path(path))
tools/power/cpupower/utils/helpers/misc.c
193
if (cpupower_read_sysfs(path, linebuf, 2) <= 0)
tools/power/cpupower/utils/helpers/misc.c
23
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
316
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
319
snprintf(path, sizeof(path), PATH_TO_CPU "cpufreq/boost");
tools/power/cpupower/utils/helpers/misc.c
321
if (!is_valid_path(path))
tools/power/cpupower/utils/helpers/misc.c
326
if (cpupower_write_sysfs(path, linebuf, 2) <= 0)
tools/power/cpupower/utils/helpers/misc.c
51
snprintf(path, sizeof(path), PATH_TO_CPU "intel_pstate/no_turbo");
tools/power/cpupower/utils/helpers/misc.c
53
if (!is_valid_path(path))
tools/power/cpupower/utils/helpers/misc.c
56
if (cpupower_read_sysfs(path, linebuf, MAX_LINE_LEN) == 0)
tools/power/cpupower/utils/helpers/misc.c
70
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
73
snprintf(path, sizeof(path), PATH_TO_CPU "intel_pstate/no_turbo");
tools/power/cpupower/utils/helpers/misc.c
76
if (!is_valid_path(path))
tools/power/cpupower/utils/helpers/misc.c
81
if (cpupower_write_sysfs(path, linebuf, 2) <= 0)
tools/power/cpupower/utils/helpers/misc.c
90
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/misc.c
97
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/power/energy_perf_bias", cpu);
tools/power/cpupower/utils/helpers/misc.c
99
if (cpupower_read_sysfs(path, linebuf, MAX_LINE_LEN) == 0)
tools/power/cpupower/utils/helpers/sysfs.c
107
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/sysfs.c
111
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
tools/power/cpupower/utils/helpers/sysfs.c
113
if (stat(path, &statbuf) != 0)
tools/power/cpupower/utils/helpers/sysfs.c
127
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/sysfs.c
131
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
tools/power/cpupower/utils/helpers/sysfs.c
134
fd = open(path, O_RDONLY);
tools/power/cpupower/utils/helpers/sysfs.c
162
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/sysfs.c
166
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
tools/power/cpupower/utils/helpers/sysfs.c
169
fd = open(path, O_WRONLY);
tools/power/cpupower/utils/helpers/sysfs.c
18
unsigned int sysfs_read_file(const char *path, char *buf, size_t buflen)
tools/power/cpupower/utils/helpers/sysfs.c
23
fd = open(path, O_RDONLY);
tools/power/cpupower/utils/helpers/sysfs.c
387
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/sysfs.c
389
snprintf(path, sizeof(path), PATH_TO_CPU "cpuidle/%s", fname);
tools/power/cpupower/utils/helpers/sysfs.c
391
return sysfs_read_file(path, buf, buflen);
tools/power/cpupower/utils/helpers/sysfs.c
49
char path[SYSFS_PATH_MAX];
tools/power/cpupower/utils/helpers/sysfs.c
57
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u", cpu);
tools/power/cpupower/utils/helpers/sysfs.c
59
if (stat(path, &statbuf) != 0)
tools/power/cpupower/utils/helpers/sysfs.c
66
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/online", cpu);
tools/power/cpupower/utils/helpers/sysfs.c
67
if (stat(path, &statbuf) != 0)
tools/power/cpupower/utils/helpers/sysfs.c
70
fd = open(path, O_RDONLY);
tools/power/cpupower/utils/helpers/sysfs.h
9
extern unsigned int sysfs_read_file(const char *path, char *buf, size_t buflen);
tools/power/x86/intel-speed-select/isst-config.c
213
static FILE *fopen_or_exit(const char *path, const char *mode)
tools/power/x86/intel-speed-select/isst-config.c
215
FILE *filep = fopen(path, mode);
tools/power/x86/intel-speed-select/isst-config.c
218
err(1, "%s: open failed", path);
tools/power/x86/intel-speed-select/isst-config.c
227
char path[PATH_MAX];
tools/power/x86/intel-speed-select/isst-config.c
232
vsnprintf(path, sizeof(path), fmt, args);
tools/power/x86/intel-speed-select/isst-config.c
235
filep = fopen_or_exit(path, "r");
tools/power/x86/intel-speed-select/isst-config.c
237
filep = fopen(path, "r");
tools/power/x86/intel-speed-select/isst-config.c
242
err(1, "%s: failed to parse number from file", path);
tools/power/x86/intel-speed-select/isst-config.c
665
char path[256];
tools/power/x86/intel-speed-select/isst-config.c
667
snprintf(path, sizeof(path),
tools/power/x86/intel-speed-select/isst-config.c
669
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
10574
int add_counter(unsigned int msr_num, char *path, char *name,
tools/power/x86/turbostat/turbostat.c
10584
__func__, msr_num, path, name, width, scope, type, format, flags, id);
tools/power/x86/turbostat/turbostat.c
10657
if (path) {
tools/power/x86/turbostat/turbostat.c
10665
strncpy(sp->path, path, PATH_BYTES - 1);
tools/power/x86/turbostat/turbostat.c
10767
char *path = NULL;
tools/power/x86/turbostat/turbostat.c
10791
path = add_command;
tools/power/x86/turbostat/turbostat.c
10859
if ((msr_num == 0) && (path == NULL) && (perf_device[0] == '\0' || perf_event[0] == '\0')) {
tools/power/x86/turbostat/turbostat.c
10883
if (add_counter(msr_num, path, name_buffer, width, scope, type, format, 0, 0))
tools/power/x86/turbostat/turbostat.c
11243
char path[64];
tools/power/x86/turbostat/turbostat.c
11252
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpuidle/state%d/name", master_cpu, state);
tools/power/x86/turbostat/turbostat.c
11253
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
11257
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
11270
sprintf(path, "cpuidle/state%d/time", state);
tools/power/x86/turbostat/turbostat.c
11278
add_counter(0, path, name_buf, 32, SCOPE_CPU, COUNTER_USEC, FORMAT_PERCENT, SYSFS_PERCPU, 0);
tools/power/x86/turbostat/turbostat.c
11289
char path[64];
tools/power/x86/turbostat/turbostat.c
11301
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpuidle/state%d/name", master_cpu, state);
tools/power/x86/turbostat/turbostat.c
11302
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
11306
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
11334
sprintf(path, "cpuidle/state%d/below", state);
tools/power/x86/turbostat/turbostat.c
11335
add_counter(0, path, name_buf, 64, SCOPE_CPU, COUNTER_ITEMS, FORMAT_DELTA, SYSFS_PERCPU, 0);
tools/power/x86/turbostat/turbostat.c
11339
sprintf(path, "cpuidle/state%d/usage", state);
tools/power/x86/turbostat/turbostat.c
11340
add_counter(0, path, name_buf, 64, SCOPE_CPU, COUNTER_ITEMS, FORMAT_DELTA, SYSFS_PERCPU, 0);
tools/power/x86/turbostat/turbostat.c
11349
sprintf(path, "cpuidle/state%d/above", state);
tools/power/x86/turbostat/turbostat.c
11350
add_counter(0, path, name_buf, 64, SCOPE_CPU, COUNTER_ITEMS, FORMAT_DELTA, SYSFS_PERCPU, 0);
tools/power/x86/turbostat/turbostat.c
127
char path[PATH_BYTES];
tools/power/x86/turbostat/turbostat.c
3175
outp += sprintf(outp, "tADDED [%d] %8s msr0x%x: %08llX %s\n", i, mp->name, mp->msr_num, t->counter[i], mp->sp->path);
tools/power/x86/turbostat/turbostat.c
3194
outp += sprintf(outp, "cADDED [%d] %8s msr0x%x: %08llX %s\n", i, mp->name, mp->msr_num, c->counter[i], mp->sp->path);
tools/power/x86/turbostat/turbostat.c
3227
outp += sprintf(outp, "pADDED [%d] %8s msr0x%x: %08llX %s\n", i, mp->name, mp->msr_num, p->counter[i], mp->sp->path);
tools/power/x86/turbostat/turbostat.c
4447
FILE *fopen_or_die(const char *path, const char *mode)
tools/power/x86/turbostat/turbostat.c
4449
FILE *filep = fopen(path, mode);
tools/power/x86/turbostat/turbostat.c
4452
err(1, "%s: open failed", path);
tools/power/x86/turbostat/turbostat.c
4461
unsigned long long snapshot_sysfs_counter(char *path)
tools/power/x86/turbostat/turbostat.c
4467
fp = fopen_or_die(path, "r");
tools/power/x86/turbostat/turbostat.c
4471
err(1, "snapshot_sysfs_counter(%s)", path);
tools/power/x86/turbostat/turbostat.c
4485
char path[128 + PATH_BYTES];
tools/power/x86/turbostat/turbostat.c
4488
sprintf(path, "/sys/devices/system/cpu/cpu%d/%s", cpu, mp->sp->path);
tools/power/x86/turbostat/turbostat.c
4490
*counterp = snapshot_sysfs_counter(path);
tools/power/x86/turbostat/turbostat.c
4501
char path[128];
tools/power/x86/turbostat/turbostat.c
4510
sprintf(path, "/sys/devices/system/cpu/intel_uncore_frequency/package_%02d_die_%02d/current_freq_khz", package, die);
tools/power/x86/turbostat/turbostat.c
4512
if (access(path, R_OK) == 0)
tools/power/x86/turbostat/turbostat.c
4513
return (snapshot_sysfs_counter(path) / 1000);
tools/power/x86/turbostat/turbostat.c
4516
warnx("BUG: %s: No %s", __func__, path);
tools/power/x86/turbostat/turbostat.c
4525
char path[128 + PATH_BYTES];
tools/power/x86/turbostat/turbostat.c
4530
sprintf(path, "/sys/devices/system/cpu/cpu%d/power/energy_perf_bias", cpu);
tools/power/x86/turbostat/turbostat.c
4532
fp = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
4538
err(1, "%s(%s)", __func__, path);
tools/power/x86/turbostat/turbostat.c
4603
char path[128 + PATH_BYTES];
tools/power/x86/turbostat/turbostat.c
4608
sprintf(path, "/sys/devices/system/cpu/cpu%d/thermal_throttle/core_throttle_count", cpu);
tools/power/x86/turbostat/turbostat.c
4609
fp = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
4621
static int read_perf_counter_info(const char *const path, const char *const parse_format, void *value_ptr)
tools/power/x86/turbostat/turbostat.c
4628
fdmt = open(path, O_RDONLY, 0);
tools/power/x86/turbostat/turbostat.c
4631
fprintf(stderr, "Failed to parse perf counter info %s\n", path);
tools/power/x86/turbostat/turbostat.c
4639
fprintf(stderr, "Failed to parse perf counter info %s\n", path);
tools/power/x86/turbostat/turbostat.c
4648
fprintf(stderr, "Failed to parse perf counter info %s\n", path);
tools/power/x86/turbostat/turbostat.c
4660
static unsigned int read_perf_counter_info_n(const char *const path, const char *const parse_format)
tools/power/x86/turbostat/turbostat.c
4665
status = read_perf_counter_info(path, parse_format, &v);
tools/power/x86/turbostat/turbostat.c
4676
char path[128];
tools/power/x86/turbostat/turbostat.c
4678
snprintf(path, sizeof(path), path_format, subsys);
tools/power/x86/turbostat/turbostat.c
4680
return read_perf_counter_info_n(path, format);
tools/power/x86/turbostat/turbostat.c
4687
char path[128];
tools/power/x86/turbostat/turbostat.c
4695
snprintf(path, sizeof(path), path_format, subsys, event_name);
tools/power/x86/turbostat/turbostat.c
4697
fconfig = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
4738
char path[128];
tools/power/x86/turbostat/turbostat.c
4741
snprintf(path, sizeof(path), path_format, subsys, event_name);
tools/power/x86/turbostat/turbostat.c
4743
read_perf_counter_info(path, format, &unit_buffer);
tools/power/x86/turbostat/turbostat.c
4754
char path[128];
tools/power/x86/turbostat/turbostat.c
4757
snprintf(path, sizeof(path), path_format, subsys, event_name);
tools/power/x86/turbostat/turbostat.c
4759
if (read_perf_counter_info(path, format, &scale))
tools/power/x86/turbostat/turbostat.c
4882
return (sp->path);
tools/power/x86/turbostat/turbostat.c
5216
if (get_mp(cpu, mp, &t->counter[i], mp->sp->path))
tools/power/x86/turbostat/turbostat.c
5260
if (get_mp(cpu, mp, &c->counter[i], mp->sp->path))
tools/power/x86/turbostat/turbostat.c
5330
char *path = NULL;
tools/power/x86/turbostat/turbostat.c
5333
path = find_sysfs_path_by_id(mp->sp, cpus[t->cpu_id].package_id);
tools/power/x86/turbostat/turbostat.c
5334
if (path == NULL) {
tools/power/x86/turbostat/turbostat.c
5339
if (get_mp(cpu, mp, &p->counter[i], path))
tools/power/x86/turbostat/turbostat.c
571
int add_counter(unsigned int msr_num, char *path, char *name,
tools/power/x86/turbostat/turbostat.c
6005
char path[PATH_MAX];
tools/power/x86/turbostat/turbostat.c
6010
vsnprintf(path, sizeof(path), fmt, args);
tools/power/x86/turbostat/turbostat.c
6012
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
6016
err(1, "%s: failed to parse number from file", path);
tools/power/x86/turbostat/turbostat.c
6092
char path[80];
tools/power/x86/turbostat/turbostat.c
6098
sprintf(path, "/sys/devices/system/cpu/cpu%d/node%i/cpulist", cpu, i);
tools/power/x86/turbostat/turbostat.c
6099
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
6166
char path[80], character;
tools/power/x86/turbostat/turbostat.c
6184
sprintf(path, "/sys/devices/system/cpu/cpu%d/topology/thread_siblings", cpu);
tools/power/x86/turbostat/turbostat.c
6185
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
6188
warnx("%s: open failed", path);
tools/power/x86/turbostat/turbostat.c
6194
err(1, "%s: failed to parse file", path);
tools/power/x86/turbostat/turbostat.c
7108
static int read_sysfs_int(char *path)
tools/power/x86/turbostat/turbostat.c
7113
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7116
fprintf(outf, "NSFOD %s\n", path);
tools/power/x86/turbostat/turbostat.c
7120
err(1, "%s: failed to read int from file", path);
tools/power/x86/turbostat/turbostat.c
7126
static void dump_sysfs_file(char *path)
tools/power/x86/turbostat/turbostat.c
7131
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7134
fprintf(outf, "NSFOD %s\n", path);
tools/power/x86/turbostat/turbostat.c
7138
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
7141
fprintf(outf, "%s: %s", strrchr(path, '/') + 1, cpuidle_buf);
tools/power/x86/turbostat/turbostat.c
7147
char path[256];
tools/power/x86/turbostat/turbostat.c
7156
sprintf(path, "%s/current_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7157
if (access(path, R_OK))
tools/power/x86/turbostat/turbostat.c
7165
sprintf(path, "%s/min_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7166
k = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7167
sprintf(path, "%s/max_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7168
l = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7171
sprintf(path, "%s/initial_min_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7172
k = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7173
sprintf(path, "%s/initial_max_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7174
l = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7177
sprintf(path, "%s/current_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7178
k = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7187
char path[256];
tools/power/x86/turbostat/turbostat.c
7213
sprintf(path, "%s/package_id", path_base);
tools/power/x86/turbostat/turbostat.c
7214
unc_pkg_id = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7216
sprintf(path, "%s/domain_id", path_base);
tools/power/x86/turbostat/turbostat.c
7217
domain_id = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7219
sprintf(path, "%s/fabric_cluster_id", path_base);
tools/power/x86/turbostat/turbostat.c
7220
cluster_id = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7222
sprintf(path, "%s/current_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7237
add_counter(0, path, name_buf, 0, SCOPE_PACKAGE, COUNTER_K2M, FORMAT_AVERAGE, 0, unc_pkg_id);
tools/power/x86/turbostat/turbostat.c
7242
sprintf(path, "%s/min_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7243
k = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7244
sprintf(path, "%s/max_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7245
l = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7248
sprintf(path, "%s/initial_min_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7249
k = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7250
sprintf(path, "%s/initial_max_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7251
l = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7254
sprintf(path, "%s/current_freq_khz", path_base);
tools/power/x86/turbostat/turbostat.c
7255
k = read_sysfs_int(path);
tools/power/x86/turbostat/turbostat.c
7271
static void set_graphics_fp(char *path, int idx)
tools/power/x86/turbostat/turbostat.c
7273
if (!access(path, R_OK))
tools/power/x86/turbostat/turbostat.c
7274
gfx_info[idx].fp = fopen_or_die(path, "r");
tools/power/x86/turbostat/turbostat.c
7282
char path[PATH_MAX];
tools/power/x86/turbostat/turbostat.c
7326
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt0/rc6_residency_ms", i);
tools/power/x86/turbostat/turbostat.c
7327
if (!access(path, R_OK))
tools/power/x86/turbostat/turbostat.c
7334
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt0/rc6_residency_ms", i);
tools/power/x86/turbostat/turbostat.c
7335
set_graphics_fp(path, GFX_rc6);
tools/power/x86/turbostat/turbostat.c
7337
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt0/rps_cur_freq_mhz", i);
tools/power/x86/turbostat/turbostat.c
7338
set_graphics_fp(path, GFX_MHz);
tools/power/x86/turbostat/turbostat.c
7340
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt0/rps_act_freq_mhz", i);
tools/power/x86/turbostat/turbostat.c
7341
set_graphics_fp(path, GFX_ACTMHz);
tools/power/x86/turbostat/turbostat.c
7343
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt1/rc6_residency_ms", i);
tools/power/x86/turbostat/turbostat.c
7344
set_graphics_fp(path, SAM_mc6);
tools/power/x86/turbostat/turbostat.c
7346
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt1/rps_cur_freq_mhz", i);
tools/power/x86/turbostat/turbostat.c
7347
set_graphics_fp(path, SAM_MHz);
tools/power/x86/turbostat/turbostat.c
7349
snprintf(path, PATH_MAX, "/sys/class/drm/card%d/gt/gt1/rps_act_freq_mhz", i);
tools/power/x86/turbostat/turbostat.c
7350
set_graphics_fp(path, SAM_ACTMHz);
tools/power/x86/turbostat/turbostat.c
7383
char path[64];
tools/power/x86/turbostat/turbostat.c
7401
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpuidle/state%d/name", master_cpu, state);
tools/power/x86/turbostat/turbostat.c
7402
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7406
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
7417
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpuidle/state%d/desc", master_cpu, state);
tools/power/x86/turbostat/turbostat.c
7418
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7422
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
7431
char path[64];
tools/power/x86/turbostat/turbostat.c
7437
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_driver", master_cpu);
tools/power/x86/turbostat/turbostat.c
7438
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7440
fprintf(outf, "NSFOD %s\n", path);
tools/power/x86/turbostat/turbostat.c
7444
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
7447
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor", master_cpu);
tools/power/x86/turbostat/turbostat.c
7448
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7450
fprintf(outf, "NSFOD %s\n", path);
tools/power/x86/turbostat/turbostat.c
7454
err(1, "%s: failed to read file", path);
tools/power/x86/turbostat/turbostat.c
7460
sprintf(path, "/sys/devices/system/cpu/cpufreq/boost");
tools/power/x86/turbostat/turbostat.c
7461
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7464
err(1, "%s: failed to parse number from file", path);
tools/power/x86/turbostat/turbostat.c
7469
sprintf(path, "/sys/devices/system/cpu/intel_pstate/no_turbo");
tools/power/x86/turbostat/turbostat.c
7470
input = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7473
err(1, "%s: failed to parse number from file", path);
tools/power/x86/turbostat/turbostat.c
7832
static int fread_int(char *path, int *val)
tools/power/x86/turbostat/turbostat.c
7837
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7846
static int fread_ull(char *path, unsigned long long *val)
tools/power/x86/turbostat/turbostat.c
7851
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7860
static int fread_str(char *path, char *buf, int size)
tools/power/x86/turbostat/turbostat.c
7866
filep = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
7885
char path[PATH_MAX];
tools/power/x86/turbostat/turbostat.c
7892
snprintf(path, PATH_MAX, "%s/name", domain_path);
tools/power/x86/turbostat/turbostat.c
7893
ret = fread_str(path, str, PATH_MAX);
tools/power/x86/turbostat/turbostat.c
7899
snprintf(path, PATH_MAX, "%s/enabled", domain_path);
tools/power/x86/turbostat/turbostat.c
7900
ret = fread_int(path, &enable);
tools/power/x86/turbostat/turbostat.c
7910
snprintf(path, PATH_MAX, "%s/constraint_%d_time_window_us", domain_path, constraint);
tools/power/x86/turbostat/turbostat.c
7911
ret = fread_ull(path, &val);
tools/power/x86/turbostat/turbostat.c
7922
snprintf(path, PATH_MAX, "%s/constraint_%d_power_limit_uw", domain_path, constraint);
tools/power/x86/turbostat/turbostat.c
7923
ret = fread_ull(path, &val);
tools/power/x86/turbostat/turbostat.c
7927
snprintf(path, PATH_MAX, "%s/constraint_%d_max_power_uw", domain_path, constraint);
tools/power/x86/turbostat/turbostat.c
7928
ret = fread_ull(path, &val);
tools/power/x86/turbostat/turbostat.c
7941
char path[PATH_MAX];
tools/power/x86/turbostat/turbostat.c
7956
snprintf(path, PATH_MAX, "%s/%s/name", PATH_RAPL_SYSFS, entry->d_name);
tools/power/x86/turbostat/turbostat.c
7959
fread_str(path, str, PATH_MAX);
tools/power/x86/turbostat/turbostat.c
7963
snprintf(path, PATH_MAX, "%s/%s", PATH_RAPL_SYSFS, entry->d_name);
tools/power/x86/turbostat/turbostat.c
7964
if ((cdir = opendir(path)) == NULL) {
tools/power/x86/turbostat/turbostat.c
7969
dump_one_domain(path);
tools/power/x86/turbostat/turbostat.c
7974
snprintf(path, PATH_MAX, "%s/%s/%s", PATH_RAPL_SYSFS, entry->d_name, centry->d_name);
tools/power/x86/turbostat/turbostat.c
7975
dump_one_domain(path);
tools/power/x86/turbostat/turbostat.c
8435
char *path = "/dev/cpu_dma_latency";
tools/power/x86/turbostat/turbostat.c
8440
fd = open(path, O_RDONLY);
tools/power/x86/turbostat/turbostat.c
8443
warnx("Read %s failed", path);
tools/power/x86/turbostat/turbostat.c
8449
warn("read failed %s", path);
tools/power/x86/turbostat/turbostat.c
8522
char path[128];
tools/power/x86/turbostat/turbostat.c
8524
if (snprintf(path, 128, "%s/%s", sysfs_path, sysfs_file) > 128)
tools/power/x86/turbostat/turbostat.c
8527
fp = fopen(path, "r");
tools/power/x86/turbostat/turbostat.c
8529
warn("open %s", path);
tools/power/x86/turbostat/turbostat.c
8566
char path[128];
tools/power/x86/turbostat/turbostat.c
8576
sprintf(path, "%s/%s", perf_cpu_pcore_path, "type");
tools/power/x86/turbostat/turbostat.c
8577
perf_pmu_types.pcore = snapshot_sysfs_counter(path);
tools/power/x86/turbostat/turbostat.c
8588
sprintf(path, "%s/%s", perf_cpu_ecore_path, "type");
tools/power/x86/turbostat/turbostat.c
8589
perf_pmu_types.ecore = snapshot_sysfs_counter(path);
tools/power/x86/turbostat/turbostat.c
8600
sprintf(path, "%s/%s", perf_cpu_lcore_path, "type");
tools/power/x86/turbostat/turbostat.c
8601
perf_pmu_types.lcore = snapshot_sysfs_counter(path);
tools/power/x86/turbostat/turbostat.c
8610
char path[128];
tools/power/x86/turbostat/turbostat.c
8617
sprintf(path, "%s/%s", perf_cpu_path, "type");
tools/power/x86/turbostat/turbostat.c
8618
perf_pmu_types.uniform = snapshot_sysfs_counter(path);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
634
FILE *fopen_or_die(const char *path, const char *mode)
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
636
FILE *filep = fopen(path, mode);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
639
err(1, "%s: open failed", path);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
738
static unsigned int read_sysfs(const char *path, char *buf, size_t buflen)
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
743
fd = open(path, O_RDONLY);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
759
static unsigned int write_sysfs(const char *path, char *buf, size_t buflen)
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
764
fd = open(path, O_WRONLY);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
859
char path[SYSFS_PATH_MAX];
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
867
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/power/energy_perf_bias", cpu);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
869
if (!read_sysfs(path, linebuf, 3))
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
881
char path[SYSFS_PATH_MAX];
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
889
snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/power/energy_perf_bias", cpu);
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
892
ret = write_sysfs(path, linebuf, 3);
tools/testing/nvdimm/test/iomap.c
365
acpi_status __wrap_acpi_evaluate_object(acpi_handle handle, acpi_string path,
tools/testing/nvdimm/test/iomap.c
371
if (!nfit_res || strcmp(path, "_FIT") || !buf)
tools/testing/nvdimm/test/iomap.c
372
return acpi_evaluate_object(handle, path, p, buf);
tools/testing/nvdimm/test/nfit_test.h
234
acpi_status __wrap_acpi_evaluate_object(acpi_handle handle, acpi_string path,
tools/testing/selftests/alsa/conf.c
142
char path[PATH_MAX], link[PATH_MAX + 1];
tools/testing/selftests/alsa/conf.c
150
snprintf(path, sizeof(path), "%s/%s", sysfs_root, id);
tools/testing/selftests/alsa/conf.c
151
if (lstat(path, &sb) != 0)
tools/testing/selftests/alsa/conf.c
154
len = readlink(path, link, sizeof(link) - 1);
tools/testing/selftests/alsa/conf.c
157
path, strerror(errno));
tools/testing/selftests/alsa/conf.c
171
fd = open(path, O_RDONLY);
tools/testing/selftests/alsa/conf.c
176
path, strerror(errno));
tools/testing/selftests/alsa/conf.c
178
len = read(fd, path, sizeof(path)-1);
tools/testing/selftests/alsa/conf.c
182
path, strerror(errno));
tools/testing/selftests/alsa/conf.c
183
while (len > 0 && path[len-1] == '\n')
tools/testing/selftests/alsa/conf.c
185
path[len] = '\0';
tools/testing/selftests/alsa/conf.c
186
e = strdup(path);
tools/testing/selftests/arm64/fp/vlset.c
106
char *path;
tools/testing/selftests/arm64/fp/vlset.c
151
path = argv[optind];
tools/testing/selftests/arm64/fp/vlset.c
153
execvp(path, &argv[optind]);
tools/testing/selftests/arm64/fp/vlset.c
157
fprintf(stderr, "%s: %s: %s\n", program_name, path, strerror(e));
tools/testing/selftests/bpf/bpf_experimental.h
222
extern int bpf_path_d_path(const struct path *path, char *buf, size_t buf__sz) __ksym;
tools/testing/selftests/bpf/cgroup_helpers.c
101
log_err("Enabling controller %s: %s", c, path);
tools/testing/selftests/bpf/cgroup_helpers.c
39
#define format_cgroup_path_pid(buf, path, pid) \
tools/testing/selftests/bpf/cgroup_helpers.c
41
CGROUP_WORK_DIR, pid, path)
tools/testing/selftests/bpf/cgroup_helpers.c
43
#define format_cgroup_path(buf, path) \
tools/testing/selftests/bpf/cgroup_helpers.c
44
format_cgroup_path_pid(buf, path, getpid())
tools/testing/selftests/bpf/cgroup_helpers.c
46
#define format_parent_cgroup_path(buf, path) \
tools/testing/selftests/bpf/cgroup_helpers.c
47
format_cgroup_path_pid(buf, path, getppid())
tools/testing/selftests/bpf/cgroup_helpers.c
526
int cgroup_setup_and_join(const char *path) {
tools/testing/selftests/bpf/cgroup_helpers.c
534
cg_fd = create_and_get_cgroup(path);
tools/testing/selftests/bpf/cgroup_helpers.c
541
if (join_cgroup(path)) {
tools/testing/selftests/bpf/cgroup_helpers.c
62
char path[PATH_MAX + 1];
tools/testing/selftests/bpf/cgroup_helpers.c
70
snprintf(path, sizeof(path), "%s/cgroup.controllers",
tools/testing/selftests/bpf/cgroup_helpers.c
72
fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/cgroup_helpers.c
74
log_err("Opening cgroup.controllers: %s", path);
tools/testing/selftests/bpf/cgroup_helpers.c
80
log_err("Reading cgroup.controllers: %s", path);
tools/testing/selftests/bpf/cgroup_helpers.c
92
snprintf(path, sizeof(path), "%s/cgroup.subtree_control", cgroup_path);
tools/testing/selftests/bpf/cgroup_helpers.c
93
cfd = open(path, O_RDWR);
tools/testing/selftests/bpf/cgroup_helpers.c
95
log_err("Opening cgroup.subtree_control: %s", path);
tools/testing/selftests/bpf/flow_dissector_load.h
10
const char *path,
tools/testing/selftests/bpf/flow_dissector_load.h
22
ret = bpf_prog_test_load(path, BPF_PROG_TYPE_FLOW_DISSECTOR, obj,
tools/testing/selftests/bpf/prog_tests/attach_probe.c
133
char path[PATH_MAX] = {0};
tools/testing/selftests/bpf/prog_tests/attach_probe.c
143
if (!ASSERT_GT(readlink("/proc/self/exe", path, PATH_MAX - 1), 0, "readlink"))
tools/testing/selftests/bpf/prog_tests/attach_probe.c
152
path,
tools/testing/selftests/bpf/prog_tests/attach_probe.c
162
path,
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
653
static int do_read(const char *path, const char *expected)
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
657
iter_fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
668
const char *path = "/sys/fs/bpf/bpf_iter_test1";
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
683
unlink(path);
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
685
err = bpf_link__pin(link, path);
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
689
err = do_read(path, "abcd");
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
705
do_read(path, "ABCD");
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
710
unlink(path);
tools/testing/selftests/bpf/prog_tests/btf_sysfs.c
11
static void test_btf_mmap_sysfs(const char *path, struct btf *base)
tools/testing/selftests/bpf/prog_tests/btf_sysfs.c
24
if (!ASSERT_OK(stat(path, &st), "stat_btf"))
tools/testing/selftests/bpf/prog_tests/btf_sysfs.c
30
fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
13
static void test_mknod(const char *path, mode_t mode, int dev_major,
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
18
unlink(path);
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
19
ret = mknod(path, mode, makedev(dev_major, dev_minor));
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
24
unlink(path);
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
27
static void test_read(const char *path, char *buf, int buf_size,
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
32
fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
52
static void test_write(const char *path, char *buf, int buf_size,
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
57
fd = open(path, O_WRONLY);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
133
fd = create_and_get_cgroup(cgroups[i].path);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
138
cgroups[i].id = get_cgroup_id(cgroups[i].path);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
175
if (join_parent_cgroup(cgroups[i].path))
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
196
static char buf[128], path[128];
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
199
snprintf(path, 128, "%s%s", BPFFS_ATTACH_COUNTERS, file_name);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
200
if (!ASSERT_OK(read_from_file(path, buf, 128), "read cgroup_iter"))
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
252
static char path[128];
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
268
snprintf(path, 128, "%s%s", BPFFS_ATTACH_COUNTERS, file_name);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
269
err = bpf_link__pin(link, path);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
308
static char path[128];
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
313
snprintf(path, 128, "%s%s", BPFFS_ATTACH_COUNTERS,
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
315
ASSERT_OK(remove(path), "remove cgroup_iter pin");
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
319
snprintf(path, 128, "%s%s", BPFFS_ATTACH_COUNTERS, CG_ROOT_NAME);
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
320
ASSERT_OK(remove(path), "remove cgroup_iter root pin");
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
48
#define CGROUP_PATH(p, n) {.path = p"/"n, .name = n}
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
51
const char *path, *name;
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
71
static int read_from_file(const char *path, char *buf, size_t size)
tools/testing/selftests/bpf/prog_tests/cgroup_hierarchical_stats.c
75
fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/prog_tests/cgroup_iter_memcg.c
66
char *path;
tools/testing/selftests/bpf/prog_tests/cgroup_iter_memcg.c
70
path = "/tmp/test_cgroup_iter_memcg";
tools/testing/selftests/bpf/prog_tests/cgroup_iter_memcg.c
76
fd = open(path, O_CREAT | O_RDWR, 0644);
tools/testing/selftests/bpf/prog_tests/cgroup_iter_memcg.c
98
unlink(path);
tools/testing/selftests/bpf/prog_tests/cgroup_link.c
30
const char *path;
tools/testing/selftests/bpf/prog_tests/cgroup_link.c
56
cgs[i].fd = create_and_get_cgroup(cgs[i].path);
tools/testing/selftests/bpf/prog_tests/cgroup_link.c
61
err = join_cgroup(cgs[last_cg].path);
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
427
char path[PATH_MAX], path_buf[PATH_MAX];
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
436
memset(path, 0, sizeof(path));
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
437
err = readlink("/proc/self/exe", path, sizeof(path));
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
447
ASSERT_EQ(info.uprobe_multi.path_size, strlen(path) + 1,
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
452
info.uprobe_multi.path = ptr_to_u64(path_buf);
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
474
ASSERT_EQ(info.uprobe_multi.path_size, strlen(path) + 1, "info.uprobe_multi.path_size");
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
475
ASSERT_STREQ(path_buf, path, "info.uprobe_multi.path");
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
508
info.uprobe_multi.path = ptr_to_u64(buf);
tools/testing/selftests/bpf/prog_tests/fill_link_info.c
516
info.uprobe_multi.path = 123;
tools/testing/selftests/bpf/prog_tests/iters.c
249
const char *path;
tools/testing/selftests/bpf/prog_tests/iters.c
269
cgs[i].fd = create_and_get_cgroup(cgs[i].path);
tools/testing/selftests/bpf/prog_tests/iters.c
279
skel->bss->root_cg_id = get_cgroup_id(cgs[0].path);
tools/testing/selftests/bpf/prog_tests/iters.c
280
skel->bss->leaf_cg_id = get_cgroup_id(cgs[cg_nr - 1].path);
tools/testing/selftests/bpf/prog_tests/iters.c
288
ASSERT_EQ(skel->bss->first_cg_id, get_cgroup_id(cgs[0].path), "first_cg_id");
tools/testing/selftests/bpf/prog_tests/iters.c
291
ASSERT_EQ(skel->bss->last_cg_id, get_cgroup_id(cgs[0].path), "last_cg_id");
tools/testing/selftests/bpf/prog_tests/livepatch_trampoline.c
10
char path[4096];
tools/testing/selftests/bpf/prog_tests/livepatch_trampoline.c
13
snprintf(path, sizeof(path), "%s/samples/livepatch/livepatch-sample.ko",
tools/testing/selftests/bpf/prog_tests/livepatch_trampoline.c
16
return load_module(path, env_verbosity > VERBOSE_NONE);
tools/testing/selftests/bpf/prog_tests/skc_to_unix_sock.c
48
ASSERT_EQ(strcmp(skel->bss->path, sock_path), 0, "bpf_skc_to_unix_sock failed");
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
146
char path[PATH_MAX];
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
150
snprintf(path, PATH_MAX, "/sys/class/net/%s/address", name);
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
151
f = fopen(path, "r");
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
152
if (!ASSERT_OK_PTR(f, path))
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
75
static int write_file(const char *path, const char *newval)
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
79
f = fopen(path, "r+");
tools/testing/selftests/bpf/prog_tests/tc_redirect.c
83
log_err("writing to %s failed", path);
tools/testing/selftests/bpf/prog_tests/token.c
228
static int write_file(const char *path, const void *buf, size_t count)
tools/testing/selftests/bpf/prog_tests/token.c
233
fd = open(path, O_WRONLY | O_CLOEXEC | O_NOCTTY | O_NOFOLLOW);
tools/testing/selftests/bpf/prog_tests/token.c
36
static inline int sys_fspick(int dfd, const char *path, unsigned flags)
tools/testing/selftests/bpf/prog_tests/token.c
38
return syscall(__NR_fspick, dfd, path, flags);
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
379
const char *path = "/proc/self/exe";
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
391
opts.uprobe_multi.path = path;
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
402
.uprobe_multi.path = path,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
414
opts.uprobe_multi.path = path;
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
426
.uprobe_multi.path = path,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
438
.uprobe_multi.path = path,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
464
.uprobe_multi.path = (const char *) 1,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
477
.uprobe_multi.path = "/",
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
490
.uprobe_multi.path = path,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
504
.uprobe_multi.path = path,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
530
.uprobe_multi.path = path,
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
597
const char *path = "/proc/self/exe";
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
632
opts.uprobe_multi.path = path;
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
667
const char *path = "/proc/self/exe";
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
678
err = elf_resolve_syms_offsets(path, 3, syms, (unsigned long **) &offsets, STT_FUNC);
tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
682
opts.uprobe_multi.path = path;
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
106
char path[PATH_MAX];
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
133
snprintf(path, sizeof(path), "%s/signing_key.pem", tmp_dir);
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
136
path, path, data_template, NULL);
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
145
snprintf(path, sizeof(path), "%s.p7s", data_template);
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
147
ret = stat(path, &st);
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
160
fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/prog_tests/verify_pkcs7_sig.c
177
unlink(path);
tools/testing/selftests/bpf/progs/bpf_misc.h
152
#define __btf_path(path) __attribute__((btf_decl_tag("comment:test_btf_path=" path)))
tools/testing/selftests/bpf/progs/btf_type_tag_percpu.c
51
int BPF_PROG(test_percpu_load, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/btf_type_tag_percpu.c
58
int BPF_PROG(test_percpu_helper, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgroup_hierarchical_stats.c
66
int BPF_PROG(counter, struct cgroup *dst_cgrp, const char *path,
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
110
int BPF_PROG(cgrp_kfunc_acquire_null, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
124
int BPF_PROG(cgrp_kfunc_acquire_unreleased, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
138
int BPF_PROG(cgrp_kfunc_xchg_unreleased, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
158
int BPF_PROG(cgrp_kfunc_rcu_get_release, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
179
int BPF_PROG(cgrp_kfunc_release_untrusted, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
195
int BPF_PROG(cgrp_kfunc_release_fp, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
197
struct cgroup *acquired = (struct cgroup *)&path;
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
207
int BPF_PROG(cgrp_kfunc_release_null, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
241
int BPF_PROG(cgrp_kfunc_release_unacquired, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
33
int BPF_PROG(cgrp_kfunc_acquire_untrusted, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
52
int BPF_PROG(cgrp_kfunc_acquire_no_null_check, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
68
int BPF_PROG(cgrp_kfunc_acquire_fp, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
70
struct cgroup *acquired, *stack_cgrp = (struct cgroup *)&path;
tools/testing/selftests/bpf/progs/cgrp_kfunc_failure.c
96
int BPF_PROG(cgrp_kfunc_acquire_trusted_walked, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_success.c
108
int BPF_PROG(test_cgrp_get_release, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_success.c
139
int BPF_PROG(test_cgrp_get_ancestors, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_success.c
184
int BPF_PROG(test_cgrp_from_id, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_success.c
33
int BPF_PROG(test_cgrp_acquire_release_argument, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_success.c
50
int BPF_PROG(test_cgrp_acquire_leave_in_map, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/cgrp_kfunc_success.c
65
int BPF_PROG(test_cgrp_xchg_release, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/map_kptr.c
219
int BPF_PROG(test_cgrp_map_kptr, struct cgroup *cgrp, const char *path)
tools/testing/selftests/bpf/progs/test_d_path.c
23
int BPF_PROG(prog_stat, struct path *path, struct kstat *stat,
tools/testing/selftests/bpf/progs/test_d_path.c
37
ret = bpf_d_path(path, paths_stat[cnt], MAX_PATH_LEN);
tools/testing/selftests/bpf/progs/test_d_path_check_rdonly_mem.c
11
int BPF_PROG(d_path_check_rdonly_mem, struct path *path, struct kstat *stat,
tools/testing/selftests/bpf/progs/test_d_path_check_rdonly_mem.c
23
bpf_d_path(path, active, sizeof(int));
tools/testing/selftests/bpf/progs/test_d_path_check_types.c
15
int BPF_PROG(d_path_check_rdonly_mem, struct path *path, struct kstat *stat,
tools/testing/selftests/bpf/progs/test_skc_to_unix_sock.c
10
char path[256] = {};
tools/testing/selftests/bpf/progs/test_skc_to_unix_sock.c
30
path[0] = '@';
tools/testing/selftests/bpf/progs/test_skc_to_unix_sock.c
35
path[i] = unix_sk->addr->name->sun_path[i];
tools/testing/selftests/bpf/progs/verifier_linked_scalars.c
463
volatile char path[5];
tools/testing/selftests/bpf/progs/verifier_linked_scalars.c
468
path[off - 5] = '.';
tools/testing/selftests/bpf/progs/verifier_linked_scalars.c
471
__sink(path[0]);
tools/testing/selftests/bpf/progs/verifier_vfs_accept.c
59
int BPF_PROG(path_d_path_from_path_argument, struct path *path)
tools/testing/selftests/bpf/progs/verifier_vfs_accept.c
63
ret = bpf_path_d_path(path, buf, sizeof(buf));
tools/testing/selftests/bpf/progs/verifier_vfs_accept.c
73
const struct path *path;
tools/testing/selftests/bpf/progs/verifier_vfs_accept.c
80
path = &file->f_path;
tools/testing/selftests/bpf/progs/verifier_vfs_accept.c
81
ret = bpf_path_d_path(path, buf, sizeof(buf));
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
104
struct path *root;
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
118
struct path *pwd;
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
134
bpf_path_d_path((struct path *)&file->f_task_work, buf, sizeof(buf));
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
154
int BPF_PROG(path_d_path_kfunc_non_lsm, struct path *path, struct file *f)
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
158
bpf_path_d_path(path, buf, sizeof(buf));
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
615
struct path path;
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
639
err = kern_path("/proc/self/exe", LOOKUP_FOLLOW, &uprobe.path);
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
643
uprobe.uprobe = uprobe_register(d_real_inode(uprobe.path.dentry),
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
647
path_put(&uprobe.path);
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
662
path_put(&uprobe.path);
tools/testing/selftests/bpf/test_progs.c
626
int test__join_cgroup(const char *path)
tools/testing/selftests/bpf/test_progs.c
641
fd = create_and_get_cgroup(path);
tools/testing/selftests/bpf/test_progs.c
645
env.test->test_num, env.test->test_name, path, errno);
tools/testing/selftests/bpf/test_progs.c
649
if (join_cgroup(path)) {
tools/testing/selftests/bpf/test_progs.c
652
env.test->test_num, env.test->test_name, path, errno);
tools/testing/selftests/bpf/test_progs.h
188
int test__join_cgroup(const char *path);
tools/testing/selftests/bpf/testing_helpers.c
173
int parse_test_list_file(const char *path,
tools/testing/selftests/bpf/testing_helpers.c
182
f = fopen(path, "r");
tools/testing/selftests/bpf/testing_helpers.c
185
fprintf(stderr, "Failed to open '%s': %d\n", path, err);
tools/testing/selftests/bpf/testing_helpers.c
403
static int __load_module(const char *path, const char *param_values, bool verbose)
tools/testing/selftests/bpf/testing_helpers.c
408
fprintf(stdout, "Loading %s...\n", path);
tools/testing/selftests/bpf/testing_helpers.c
410
fd = open(path, O_RDONLY);
tools/testing/selftests/bpf/testing_helpers.c
412
fprintf(stdout, "Can't find %s kernel module: %d\n", path, -errno);
tools/testing/selftests/bpf/testing_helpers.c
416
fprintf(stdout, "Failed to load %s into the kernel: %d\n", path, -errno);
tools/testing/selftests/bpf/testing_helpers.c
423
fprintf(stdout, "Successfully loaded %s.\n", path);
tools/testing/selftests/bpf/testing_helpers.c
427
int load_module_params(const char *path, const char *param_values, bool verbose)
tools/testing/selftests/bpf/testing_helpers.c
429
return __load_module(path, param_values, verbose);
tools/testing/selftests/bpf/testing_helpers.c
432
int load_module(const char *path, bool verbose)
tools/testing/selftests/bpf/testing_helpers.c
434
return __load_module(path, "", verbose);
tools/testing/selftests/bpf/testing_helpers.h
31
int parse_test_list_file(const char *path,
tools/testing/selftests/bpf/testing_helpers.h
41
int load_module(const char *path, bool verbose);
tools/testing/selftests/bpf/testing_helpers.h
42
int load_module_params(const char *path, const char *param_values, bool verbose);
tools/testing/selftests/bpf/trace_helpers.c
431
int read_build_id(const char *path, char *build_id, size_t size)
tools/testing/selftests/bpf/trace_helpers.c
441
fd = open(path, O_RDONLY | O_CLOEXEC);
tools/testing/selftests/bpf/trace_helpers.h
61
int read_build_id(const char *path, char *build_id, size_t size);
tools/testing/selftests/bpf/veristat.c
312
static int append_filter_file(const char *path);
tools/testing/selftests/bpf/veristat.c
315
static int append_file(const char *path);
tools/testing/selftests/bpf/veristat.c
316
static int append_file_from_file(const char *path);
tools/testing/selftests/bpf/veristat.c
484
static bool is_bpf_obj_file(const char *path) {
tools/testing/selftests/bpf/veristat.c
489
fd = open(path, O_RDONLY | O_CLOEXEC);
tools/testing/selftests/bpf/veristat.c
709
static int append_filter_file(const char *path)
tools/testing/selftests/bpf/veristat.c
715
f = fopen(path, "r");
tools/testing/selftests/bpf/veristat.c
718
fprintf(stderr, "Failed to open filters in '%s': %s\n", path, strerror(-err));
tools/testing/selftests/bpf/veristat.c
748
static int append_file(const char *path)
tools/testing/selftests/bpf/veristat.c
756
env.filenames[env.filename_cnt] = strdup(path);
tools/testing/selftests/bpf/veristat.c
763
static int append_file_from_file(const char *path)
tools/testing/selftests/bpf/veristat.c
769
f = fopen(path, "r");
tools/testing/selftests/bpf/veristat.c
773
path, strerror(errno));
tools/testing/selftests/cgroup/lib/cgroup_util.c
226
char path[PATH_MAX];
tools/testing/selftests/cgroup/lib/cgroup_util.c
229
snprintf(path, sizeof(path), "%s/%s", cgroup, control);
tools/testing/selftests/cgroup/lib/cgroup_util.c
230
ret = write_text(path, buf, len);
tools/testing/selftests/cgroup/lib/cgroup_util.c
240
char path[PATH_MAX];
tools/testing/selftests/cgroup/lib/cgroup_util.c
242
snprintf(path, sizeof(path), "%s/%s", cgroup, control);
tools/testing/selftests/cgroup/lib/cgroup_util.c
243
return open(path, flags);
tools/testing/selftests/cgroup/lib/cgroup_util.c
25
ssize_t read_text(const char *path, char *buf, size_t max_len)
tools/testing/selftests/cgroup/lib/cgroup_util.c
30
fd = open(path, O_RDONLY);
tools/testing/selftests/cgroup/lib/cgroup_util.c
44
ssize_t write_text(const char *path, char *buf, ssize_t len)
tools/testing/selftests/cgroup/lib/cgroup_util.c
48
fd = open(path, O_WRONLY | O_APPEND);
tools/testing/selftests/cgroup/lib/cgroup_util.c
575
char path[PATH_MAX];
tools/testing/selftests/cgroup/lib/cgroup_util.c
579
snprintf(path, sizeof(path), "/proc/%s/%s",
tools/testing/selftests/cgroup/lib/cgroup_util.c
582
snprintf(path, sizeof(path), "/proc/%d/%s", pid, item);
tools/testing/selftests/cgroup/lib/cgroup_util.c
584
ret = read_text(path, buf, size);
tools/testing/selftests/cgroup/lib/cgroup_util.c
90
char path[PATH_MAX];
tools/testing/selftests/cgroup/lib/cgroup_util.c
93
snprintf(path, sizeof(path), "%s/%s", cgroup, control);
tools/testing/selftests/cgroup/lib/cgroup_util.c
95
ret = read_text(path, buf, len);
tools/testing/selftests/cgroup/lib/include/cgroup_util.h
50
extern ssize_t read_text(const char *path, char *buf, size_t max_len);
tools/testing/selftests/cgroup/lib/include/cgroup_util.h
51
extern ssize_t write_text(const char *path, char *buf, ssize_t len);
tools/testing/selftests/cgroup/test_core.c
777
const char *path;
tools/testing/selftests/cgroup/test_core.c
786
targ->fd = open(targ->path, O_RDWR);
tools/testing/selftests/cgroup/test_core.c
832
targ.path = cg_test_b_procs;
tools/testing/selftests/cgroup/test_hugetlb_memcg.c
25
char *p, *q, *path = "/proc/meminfo", *tag = "Hugepagesize:";
tools/testing/selftests/cgroup/test_hugetlb_memcg.c
28
fd = open(path, O_RDONLY);
tools/testing/selftests/cgroup/test_hugetlb_memcg.c
64
static int set_file(const char *path, long value)
tools/testing/selftests/cgroup/test_hugetlb_memcg.c
69
file = fopen(path, "w");
tools/testing/selftests/cgroup/test_memcontrol.c
88
char path[PATH_MAX];
tools/testing/selftests/cgroup/test_memcontrol.c
91
sprintf(path, "/proc/%d/oom_score_adj", pid);
tools/testing/selftests/cgroup/test_memcontrol.c
93
fd = open(path, O_WRONLY | O_APPEND);
tools/testing/selftests/cgroup/test_zswap.c
16
static int read_int(const char *path, size_t *value)
tools/testing/selftests/cgroup/test_zswap.c
21
file = fopen(path, "r");
tools/testing/selftests/core/close_range_test.c
635
char path[PATH_MAX];
tools/testing/selftests/core/close_range_test.c
648
sprintf(path, "aaaa_%d", i);
tools/testing/selftests/core/close_range_test.c
649
fd = open(path, O_CREAT | O_RDONLY | O_CLOEXEC, 0600);
tools/testing/selftests/core/close_range_test.c
656
fd = open(path, O_RDONLY | O_CLOEXEC);
tools/testing/selftests/core/close_range_test.c
662
unlink(path);
tools/testing/selftests/coredump/coredump_test.h
31
int create_and_listen_unix_socket(const char *path);
tools/testing/selftests/coredump/coredump_test_helpers.c
78
int create_and_listen_unix_socket(const char *path)
tools/testing/selftests/coredump/coredump_test_helpers.c
83
assert(strlen(path) < sizeof(addr.sun_path) - 1);
tools/testing/selftests/coredump/coredump_test_helpers.c
84
strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1);
tools/testing/selftests/coredump/coredump_test_helpers.c
86
offsetof(struct sockaddr_un, sun_path) + strlen(path) + 1;
tools/testing/selftests/efivarfs/create-read.c
14
const char *path;
tools/testing/selftests/efivarfs/create-read.c
23
path = argv[1];
tools/testing/selftests/efivarfs/create-read.c
26
fd = open(path, O_RDWR | O_CREAT, 0600);
tools/testing/selftests/efivarfs/open-unlink.c
103
rc = get_immutable(path);
tools/testing/selftests/efivarfs/open-unlink.c
108
rc = set_immutable(path, 0);
tools/testing/selftests/efivarfs/open-unlink.c
115
fd = open(path, O_RDONLY);
tools/testing/selftests/efivarfs/open-unlink.c
121
if (unlink(path) < 0) {
tools/testing/selftests/efivarfs/open-unlink.c
13
static int set_immutable(const char *path, int immutable)
tools/testing/selftests/efivarfs/open-unlink.c
20
fd = open(path, O_RDONLY);
tools/testing/selftests/efivarfs/open-unlink.c
44
static int get_immutable(const char *path)
tools/testing/selftests/efivarfs/open-unlink.c
51
fd = open(path, O_RDONLY);
tools/testing/selftests/efivarfs/open-unlink.c
70
const char *path;
tools/testing/selftests/efivarfs/open-unlink.c
79
path = argv[1];
tools/testing/selftests/efivarfs/open-unlink.c
89
fd = open(path, O_WRONLY | O_CREAT, 0600);
tools/testing/selftests/exec/check-exec.c
204
const char *const path)
tools/testing/selftests/exec/check-exec.c
208
fd_out = open(path, O_CLOEXEC | O_WRONLY);
tools/testing/selftests/exec/check-exec.c
211
TH_LOG("Failed to open %s: %s", path, strerror(errno));
tools/testing/selftests/exec/check-exec.c
248
const char *const path, const int err_code)
tools/testing/selftests/exec/check-exec.c
254
if (path == fifo_path)
tools/testing/selftests/exec/check-exec.c
257
fd = open(path, flags | O_RDONLY);
tools/testing/selftests/exec/check-exec.c
260
TH_LOG("Failed to open %s: %s", path, strerror(errno));
tools/testing/selftests/exec/execveat.c
102
rc = execveat_(fd, path, argv, envp, flags);
tools/testing/selftests/exec/execveat.c
132
static int check_execveat(int fd, const char *path, int flags)
tools/testing/selftests/exec/execveat.c
134
return check_execveat_invoked_rc(fd, path, flags, 99, 99);
tools/testing/selftests/exec/execveat.c
35
static int execveat_(int fd, const char *path, char **argv, char **envp,
tools/testing/selftests/exec/execveat.c
39
return syscall(__NR_execveat, fd, path, argv, envp, flags);
tools/testing/selftests/exec/execveat.c
46
#define check_execveat_fail(fd, path, flags, errno) \
tools/testing/selftests/exec/execveat.c
47
_check_execveat_fail(fd, path, flags, errno, #errno)
tools/testing/selftests/exec/execveat.c
48
static int _check_execveat_fail(int fd, const char *path, int flags,
tools/testing/selftests/exec/execveat.c
57
fd, path?:"(null)", flags, errno_str);
tools/testing/selftests/exec/execveat.c
58
rc = execveat_(fd, path, argv, envp, flags);
tools/testing/selftests/exec/execveat.c
76
static int check_execveat_invoked_rc(int fd, const char *path, int flags,
tools/testing/selftests/exec/execveat.c
83
int pathlen = path ? strlen(path) : 0;
tools/testing/selftests/exec/execveat.c
88
fd, path, (path + pathlen - 20), flags);
tools/testing/selftests/exec/execveat.c
92
fd, path?:"(null)", flags);
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
252
char path[4096];
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
257
snprintf(path, sizeof(path), "/proc/%d/setgroups", pid);
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
258
setgroups_fd = open(path, O_WRONLY | O_CLOEXEC | O_NOFOLLOW);
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
272
ret = snprintf(path, sizeof(path), "/proc/%d/uid_map", pid);
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
275
ret = snprintf(path, sizeof(path), "/proc/%d/gid_map", pid);
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
280
if (ret < 0 || ret >= sizeof(path))
tools/testing/selftests/filesystems/binderfs/binderfs_test.c
283
fd = open(path, O_WRONLY | O_CLOEXEC | O_NOFOLLOW);
tools/testing/selftests/filesystems/eventfd/eventfd_test.c
119
char path[512] = {0, };
tools/testing/selftests/filesystems/eventfd/eventfd_test.c
132
snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", fd);
tools/testing/selftests/filesystems/eventfd/eventfd_test.c
133
f = fopen(path, "re");
tools/testing/selftests/filesystems/file_stressor.c
123
char path[PATH_MAX];
tools/testing/selftests/filesystems/file_stressor.c
126
sprintf(path, "/slab_typesafe_by_rcu/file-%d-%d", self->pids_openers[i], i);
tools/testing/selftests/filesystems/file_stressor.c
127
fd = open(path, O_CREAT | O_RDONLY | O_CLOEXEC, 0644);
tools/testing/selftests/filesystems/file_stressor.c
139
char path[PATH_MAX];
tools/testing/selftests/filesystems/file_stressor.c
141
sprintf(path, "/proc/%d/fd/", self->pids_openers[i]);
tools/testing/selftests/filesystems/file_stressor.c
142
self->fd_proc_pid[i] = open(path, O_DIRECTORY | O_RDONLY | O_CLOEXEC);
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
110
static int test_truncate(const char *path, off_t size)
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
112
if (strcmp(path, test_path) != 0)
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
23
static int test_getattr(const char *path, struct stat *st)
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
27
if (!strcmp(path, "/")) {
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
33
if (!strcmp(path, test_path)) {
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
43
static int test_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
46
if (strcmp(path, "/"))
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
56
static int test_open(const char *path, struct fuse_file_info *fi)
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
58
if (strcmp(path, test_path))
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
64
static int test_read(const char *path, char *buf, size_t size, off_t offset,
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
67
if (strcmp(path, test_path) != 0)
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
84
static int test_write(const char *path, const char *buf, size_t size,
tools/testing/selftests/filesystems/fuse/fuse_mnt.c
89
if (strcmp(path, test_path) != 0)
tools/testing/selftests/filesystems/fuse/fusectl_test.c
28
const char *path, const char *val)
tools/testing/selftests/filesystems/fuse/fusectl_test.c
30
int fd = open(path, O_WRONLY);
tools/testing/selftests/filesystems/nsfs/owner.c
30
char path[128];
tools/testing/selftests/filesystems/nsfs/owner.c
55
snprintf(path, sizeof(path), "/proc/%d/ns/uts", pid);
tools/testing/selftests/filesystems/nsfs/owner.c
56
ns = open(path, O_RDONLY);
tools/testing/selftests/filesystems/nsfs/owner.c
58
return pr_err("Unable to open %s", path);
tools/testing/selftests/filesystems/nsfs/owner.c
67
snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
tools/testing/selftests/filesystems/nsfs/owner.c
68
if (stat(path, &st2))
tools/testing/selftests/filesystems/nsfs/pidns.c
44
char path[] = "/proc/0123456789/ns/pid";
tools/testing/selftests/filesystems/nsfs/pidns.c
55
snprintf(path, sizeof(path), "/proc/%d/ns/%s", pid, ns_strs[i]);
tools/testing/selftests/filesystems/nsfs/pidns.c
56
ns = open(path, O_RDONLY);
tools/testing/selftests/filesystems/nsfs/pidns.c
58
return pr_err("Unable to open %s", path);
tools/testing/selftests/filesystems/nsfs/pidns.c
64
snprintf(path, sizeof(path), "/proc/self/ns/%s", ns_strs[i]);
tools/testing/selftests/filesystems/nsfs/pidns.c
65
if (stat(path, &st2))
tools/testing/selftests/filesystems/nsfs/pidns.c
66
return pr_err("Unable to stat %s", path);
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
138
const char *path;
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
147
.path = "/",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
160
.path = "/",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
169
.path = "/tmp",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
178
.path = "/proc",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
187
.path = "/tmp",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
196
.path = "/run",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
205
.path = "/",
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
247
self->fd = sys_open_tree(AT_FDCWD, variant->path, variant->flags);
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
290
self->fd = sys_open_tree(AT_FDCWD, variant->path, variant->flags);
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
327
strcmp(variant->path, "/") != 0)
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
40
static int get_mnt_ns_id_from_path(const char *path, uint64_t *mnt_ns_id)
tools/testing/selftests/filesystems/open_tree_ns/open_tree_ns_test.c
44
fd = open(path, O_RDONLY);
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
183
char path[100];
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
185
sprintf(path, "l%d", i);
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
186
ASSERT_EQ(mkdirat(fd_tmpfs, path, 0755), 0);
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
187
layer_fds[i] = openat(fd_tmpfs, path, O_DIRECTORY);
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
546
char path[100];
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
548
sprintf(path, "l%d", i);
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
549
ASSERT_EQ(mkdirat(fd_tmpfs, path, 0755), 0);
tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
550
layer_fds[i] = openat(fd_tmpfs, path, O_DIRECTORY | O_PATH);
tools/testing/selftests/filesystems/statmount/statmount_test.c
100
ret = statx(AT_FDCWD, path, 0, mask, &sx);
tools/testing/selftests/filesystems/statmount/statmount_test.c
75
static void write_file(const char *path, const char *val)
tools/testing/selftests/filesystems/statmount/statmount_test.c
77
int fd = open(path, O_WRONLY);
tools/testing/selftests/filesystems/statmount/statmount_test.c
82
ksft_exit_fail_msg("opening %s for write: %s\n", path, strerror(errno));
tools/testing/selftests/filesystems/statmount/statmount_test.c
86
ksft_exit_fail_msg("writing to %s: %s\n", path, strerror(errno));
tools/testing/selftests/filesystems/statmount/statmount_test.c
88
ksft_exit_fail_msg("short write to %s\n", path);
tools/testing/selftests/filesystems/statmount/statmount_test.c
92
ksft_exit_fail_msg("closing %s\n", path);
tools/testing/selftests/filesystems/statmount/statmount_test.c
95
static uint64_t get_mnt_id(const char *name, const char *path, uint64_t mask)
tools/testing/selftests/filesystems/utils.c
185
char path[STRLITERALLEN("/proc/") + INTTYPE_TO_STRLEN(pid_t) +
tools/testing/selftests/filesystems/utils.c
189
ret = snprintf(path, sizeof(path), "/proc/%d/setgroups", pid);
tools/testing/selftests/filesystems/utils.c
190
if (ret < 0 || ret >= sizeof(path))
tools/testing/selftests/filesystems/utils.c
193
setgroups_fd = open(path, O_WRONLY | O_CLOEXEC);
tools/testing/selftests/filesystems/utils.c
195
syserror("Failed to open \"%s\"", path);
tools/testing/selftests/filesystems/utils.c
208
ret = snprintf(path, sizeof(path), "/proc/%d/%cid_map", pid, map_type == ID_TYPE_UID ? 'u' : 'g');
tools/testing/selftests/filesystems/utils.c
209
if (ret < 0 || ret >= sizeof(path))
tools/testing/selftests/filesystems/utils.c
212
fd = open(path, O_WRONLY | O_CLOEXEC);
tools/testing/selftests/filesystems/utils.c
214
syserror("Failed to open \"%s\"", path);
tools/testing/selftests/filesystems/utils.c
221
map_type == ID_TYPE_UID ? 'u' : 'g', path);
tools/testing/selftests/filesystems/utils.c
387
char path[256];
tools/testing/selftests/filesystems/utils.c
429
snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
tools/testing/selftests/filesystems/utils.c
430
fd_userns = open(path, O_RDONLY | O_CLOEXEC);
tools/testing/selftests/filesystems/utils.c
453
static int write_file(const char *path, const char *val)
tools/testing/selftests/filesystems/utils.c
455
int fd = open(path, O_WRONLY);
tools/testing/selftests/filesystems/utils.c
460
ksft_print_msg("opening %s for write: %s\n", path, strerror(errno));
tools/testing/selftests/filesystems/utils.c
466
ksft_print_msg("writing to %s: %s\n", path, strerror(errno));
tools/testing/selftests/filesystems/utils.c
470
ksft_print_msg("short write to %s\n", path);
tools/testing/selftests/filesystems/utils.c
476
ksft_print_msg("closing %s\n", path);
tools/testing/selftests/filesystems/utils.c
597
uint64_t get_unique_mnt_id(const char *path)
tools/testing/selftests/filesystems/utils.c
602
ret = statx(AT_FDCWD, path, 0, STATX_MNT_ID_UNIQUE, &sx);
tools/testing/selftests/filesystems/utils.c
604
ksft_print_msg("retrieving unique mount ID for %s: %s\n", path,
tools/testing/selftests/filesystems/utils.c
610
ksft_print_msg("no unique mount ID available for %s\n", path);
tools/testing/selftests/filesystems/utils.h
47
extern uint64_t get_unique_mnt_id(const char *path);
tools/testing/selftests/hid/hid_common.h
444
const char *path = "/dev/uhid";
tools/testing/selftests/hid/hid_common.h
456
hid->uhid_fd = open(path, O_RDWR | O_CLOEXEC);
tools/testing/selftests/ia64/aliasing-test.c
119
static int read_rom(char *path)
tools/testing/selftests/ia64/aliasing-test.c
124
fd = open(path, O_RDWR);
tools/testing/selftests/ia64/aliasing-test.c
126
perror(path);
tools/testing/selftests/ia64/aliasing-test.c
147
static int scan_rom(char *path, char *file)
tools/testing/selftests/ia64/aliasing-test.c
154
n = scandir(path, &namelist, 0, alphasort);
tools/testing/selftests/ia64/aliasing-test.c
168
path2 = malloc(strlen(path) + strlen(name) + 3);
tools/testing/selftests/ia64/aliasing-test.c
169
strcpy(path2, path);
tools/testing/selftests/ia64/aliasing-test.c
24
static int map_mem(char *path, off_t offset, size_t length, int touch)
tools/testing/selftests/ia64/aliasing-test.c
30
fd = open(path, O_RDWR);
tools/testing/selftests/ia64/aliasing-test.c
32
perror(path);
tools/testing/selftests/ia64/aliasing-test.c
36
if (fnmatch("/proc/bus/pci/*", path, 0) == 0) {
tools/testing/selftests/ia64/aliasing-test.c
62
static int scan_tree(char *path, char *file, off_t offset, size_t length, int touch)
tools/testing/selftests/ia64/aliasing-test.c
69
n = scandir(path, &namelist, 0, alphasort);
tools/testing/selftests/ia64/aliasing-test.c
83
path2 = malloc(strlen(path) + strlen(name) + 3);
tools/testing/selftests/ia64/aliasing-test.c
84
strcpy(path2, path);
tools/testing/selftests/kvm/include/kvm_util.h
286
int __open_path_or_exit(const char *path, int flags, const char *enoent_help);
tools/testing/selftests/kvm/include/kvm_util.h
287
int open_path_or_exit(const char *path, int flags);
tools/testing/selftests/kvm/include/test_util.h
51
int test_seq_read(const char *path, char **bufp, size_t *sizep);
tools/testing/selftests/kvm/lib/kvm_util.c
29
int __open_path_or_exit(const char *path, int flags, const char *enoent_help)
tools/testing/selftests/kvm/lib/kvm_util.c
33
fd = open(path, flags);
tools/testing/selftests/kvm/lib/kvm_util.c
42
path, strerror(errno),
tools/testing/selftests/kvm/lib/kvm_util.c
44
TEST_FAIL("Failed to open '%s'", path);
tools/testing/selftests/kvm/lib/kvm_util.c
47
int open_path_or_exit(const char *path, int flags)
tools/testing/selftests/kvm/lib/kvm_util.c
49
return __open_path_or_exit(path, flags, "");
tools/testing/selftests/kvm/lib/kvm_util.c
75
char path[path_size];
tools/testing/selftests/kvm/lib/kvm_util.c
82
r = snprintf(path, path_size, "/sys/module/%s/parameters/%s",
tools/testing/selftests/kvm/lib/kvm_util.c
87
fd = open_path_or_exit(path, O_RDONLY);
tools/testing/selftests/kvm/lib/kvm_util.c
91
path, bytes_read, buffer_size);
tools/testing/selftests/kvm/lib/kvm_util.c
94
TEST_ASSERT(!r, "close(%s) failed", path);
tools/testing/selftests/kvm/lib/test_util.c
142
static bool test_sysfs_path(const char *path)
tools/testing/selftests/kvm/lib/test_util.c
147
ret = stat(path, &statbuf);
tools/testing/selftests/kvm/lib/test_util.c
149
"Error in stat()ing '%s'", path);
tools/testing/selftests/kvm/lib/test_util.c
159
static size_t get_sysfs_val(const char *path)
tools/testing/selftests/kvm/lib/test_util.c
165
f = fopen(path, "r");
tools/testing/selftests/kvm/lib/test_util.c
166
TEST_ASSERT(f, "Error opening '%s'", path);
tools/testing/selftests/kvm/lib/test_util.c
169
TEST_ASSERT(ret > 0, "Error reading '%s'", path);
tools/testing/selftests/kvm/lib/test_util.c
173
TEST_ASSERT(ret < 1, "Error reading '%s'", path);
tools/testing/selftests/kvm/lib/test_util.c
376
char path[64];
tools/testing/selftests/kvm/lib/test_util.c
380
sprintf(path, "/proc/%ld/schedstat", syscall(SYS_gettid));
tools/testing/selftests/kvm/lib/test_util.c
381
fp = fopen(path, "r");
tools/testing/selftests/kvm/x86/aperfmperf_test.c
32
char path[PATH_MAX];
tools/testing/selftests/kvm/x86/aperfmperf_test.c
34
snprintf(path, sizeof(path), "/dev/cpu/%d/msr", cpu);
tools/testing/selftests/kvm/x86/aperfmperf_test.c
35
return open_path_or_exit(path, O_RDONLY);
tools/testing/selftests/landlock/audit.h
397
static int audit_init_filter_exe(struct audit_filter *filter, const char *path)
tools/testing/selftests/landlock/audit.h
403
if (!path) {
tools/testing/selftests/landlock/audit.h
413
absolute_path = realpath(path, NULL);
tools/testing/selftests/landlock/fs_bench.c
102
curr = openat(curr, path, O_PATH);
tools/testing/selftests/landlock/fs_bench.c
104
err(1, "openat(%s)", path);
tools/testing/selftests/landlock/fs_bench.c
123
const char *path = "d"; /* directory name */
tools/testing/selftests/landlock/fs_bench.c
133
fd = openat(fd, path, O_PATH);
tools/testing/selftests/landlock/fs_bench.c
135
err(1, "openat(%s)", path);
tools/testing/selftests/landlock/fs_bench.c
140
if (unlinkat(fd, path, AT_REMOVEDIR) < 0)
tools/testing/selftests/landlock/fs_bench.c
141
err(1, "unlinkat(%s)", path);
tools/testing/selftests/landlock/fs_bench.c
60
const char *path = "d"; /* directory name */
tools/testing/selftests/landlock/fs_bench.c
98
if (mkdirat(curr, path, 0700) < 0)
tools/testing/selftests/landlock/fs_bench.c
99
err(1, "mkdirat(%s)", path);
tools/testing/selftests/landlock/fs_test.c
1001
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
1009
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1018
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1103
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1110
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
1167
.path = file1_s1d3,
tools/testing/selftests/landlock/fs_test.c
1176
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
1182
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1190
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
1201
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1212
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1223
.path = dir_s2d1,
tools/testing/selftests/landlock/fs_test.c
1234
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1337
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1454
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
1492
.path = TMP_DIR,
tools/testing/selftests/landlock/fs_test.c
1549
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
1554
.path = dir_s3d2,
tools/testing/selftests/landlock/fs_test.c
1578
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
1583
.path = dir_s3d1,
tools/testing/selftests/landlock/fs_test.c
1611
.path = "/",
tools/testing/selftests/landlock/fs_test.c
1641
.path = "/",
tools/testing/selftests/landlock/fs_test.c
1661
.path = "s3d3",
tools/testing/selftests/landlock/fs_test.c
1689
.path = dir_s3d2,
tools/testing/selftests/landlock/fs_test.c
1712
.path = dir_s3d2,
tools/testing/selftests/landlock/fs_test.c
1805
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
1809
.path = dir_s3d2,
tools/testing/selftests/landlock/fs_test.c
1813
.path = dir_s3d3,
tools/testing/selftests/landlock/fs_test.c
1844
.path = dir_s3d2,
tools/testing/selftests/landlock/fs_test.c
1891
.path = TMP_DIR,
tools/testing/selftests/landlock/fs_test.c
1898
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
1902
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
193
const char *const path)
tools/testing/selftests/landlock/fs_test.c
199
ASSERT_NE(path[0], '\0');
tools/testing/selftests/landlock/fs_test.c
200
walker = strdup(path);
tools/testing/selftests/landlock/fs_test.c
2043
const char *const path)
tools/testing/selftests/landlock/fs_test.c
2046
char *const argv[] = { (char *)path, NULL };
tools/testing/selftests/landlock/fs_test.c
2051
ASSERT_EQ(err ? -1 : 0, execve(path, argv, NULL))
tools/testing/selftests/landlock/fs_test.c
2053
TH_LOG("Failed to execute \"%s\": %s", path,
tools/testing/selftests/landlock/fs_test.c
2064
TH_LOG("Unexpected return code for \"%s\"", path);
tools/testing/selftests/landlock/fs_test.c
2069
const int err, const char *const path)
tools/testing/selftests/landlock/fs_test.c
2072
char *const argv[] = { (char *)path, NULL };
tools/testing/selftests/landlock/fs_test.c
2074
ret = sys_execveat(AT_FDCWD, path, argv, NULL,
tools/testing/selftests/landlock/fs_test.c
2088
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
219
const char *const path)
tools/testing/selftests/landlock/fs_test.c
2205
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
221
mkdir_parents(_metadata, path);
tools/testing/selftests/landlock/fs_test.c
2212
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
222
ASSERT_EQ(0, mkdir(path, 0700))
tools/testing/selftests/landlock/fs_test.c
224
TH_LOG("Failed to create directory \"%s\": %s", path,
tools/testing/selftests/landlock/fs_test.c
2290
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
2294
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
230
const char *const path)
tools/testing/selftests/landlock/fs_test.c
232
mkdir_parents(_metadata, path);
tools/testing/selftests/landlock/fs_test.c
233
ASSERT_EQ(0, mknod(path, S_IFREG | 0700, 0))
tools/testing/selftests/landlock/fs_test.c
235
TH_LOG("Failed to create file \"%s\": %s", path,
tools/testing/selftests/landlock/fs_test.c
2372
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
2376
.path = dir_s2d1,
tools/testing/selftests/landlock/fs_test.c
240
static int remove_path(const char *const path)
tools/testing/selftests/landlock/fs_test.c
2436
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
2440
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
245
walker = strdup(path);
tools/testing/selftests/landlock/fs_test.c
250
if (unlink(path) && rmdir(path)) {
tools/testing/selftests/landlock/fs_test.c
2517
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
2526
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
2535
.path = dir_s2d1,
tools/testing/selftests/landlock/fs_test.c
2625
.path = dir_s3d1,
tools/testing/selftests/landlock/fs_test.c
2635
.path = dir_s3d4,
tools/testing/selftests/landlock/fs_test.c
2662
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
2666
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
2670
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
2674
.path = dir_s2d3,
tools/testing/selftests/landlock/fs_test.c
2740
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
2744
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
2748
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
2752
.path = dir_s2d3,
tools/testing/selftests/landlock/fs_test.c
2885
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
2890
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
2894
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
2898
.path = dir_s2d3,
tools/testing/selftests/landlock/fs_test.c
2917
.path = dir_s2d3,
tools/testing/selftests/landlock/fs_test.c
3185
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
3190
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3194
.path = dir_s2d1,
tools/testing/selftests/landlock/fs_test.c
3247
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3251
.path = file1_s1d2,
tools/testing/selftests/landlock/fs_test.c
3255
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
3260
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
3266
.path = dir_s2d3,
tools/testing/selftests/landlock/fs_test.c
3340
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3377
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3403
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3491
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3536
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3576
.path = file1_s1d2,
tools/testing/selftests/landlock/fs_test.c
3619
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
3672
static int test_truncate(const char *const path)
tools/testing/selftests/landlock/fs_test.c
3674
if (truncate(path, 10) < 0)
tools/testing/selftests/landlock/fs_test.c
3683
static int test_creat(const char *const path)
tools/testing/selftests/landlock/fs_test.c
3685
int fd = creat(path, 0600);
tools/testing/selftests/landlock/fs_test.c
3710
.path = file_r,
tools/testing/selftests/landlock/fs_test.c
3714
.path = file_w,
tools/testing/selftests/landlock/fs_test.c
3773
.path = file_rwt,
tools/testing/selftests/landlock/fs_test.c
3779
.path = file_rw,
tools/testing/selftests/landlock/fs_test.c
3784
.path = file_rt,
tools/testing/selftests/landlock/fs_test.c
3789
.path = file_t,
tools/testing/selftests/landlock/fs_test.c
3794
.path = dir_t,
tools/testing/selftests/landlock/fs_test.c
3798
.path = dir_w,
tools/testing/selftests/landlock/fs_test.c
3886
const char *const path = file1_s1d1;
tools/testing/selftests/landlock/fs_test.c
3891
.path = path,
tools/testing/selftests/landlock/fs_test.c
3899
.path = path,
tools/testing/selftests/landlock/fs_test.c
3908
.path = path,
tools/testing/selftests/landlock/fs_test.c
3915
fd_layer0 = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
3923
fd_layer1 = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
3932
fd_layer2 = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
3942
fd_layer3 = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
4024
const char *const path = file1_s1d1;
tools/testing/selftests/landlock/fs_test.c
4027
.path = path,
tools/testing/selftests/landlock/fs_test.c
4040
fd = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
4065
const char *const path = file1_s1d1;
tools/testing/selftests/landlock/fs_test.c
4068
.path = path,
tools/testing/selftests/landlock/fs_test.c
4080
fd = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
429
static int test_open_rel(const int dirfd, const char *const path,
tools/testing/selftests/landlock/fs_test.c
4325
const char *const path = file1_s1d1;
tools/testing/selftests/landlock/fs_test.c
4330
ASSERT_EQ(0, unlink(path));
tools/testing/selftests/landlock/fs_test.c
4331
ASSERT_EQ(0, mkfifo(path, 0600));
tools/testing/selftests/landlock/fs_test.c
4343
fd = open(path, O_WRONLY);
tools/testing/selftests/landlock/fs_test.c
4348
fd = open(path, O_RDONLY);
tools/testing/selftests/landlock/fs_test.c
435
fd = openat(dirfd, path, flags | O_CLOEXEC);
tools/testing/selftests/landlock/fs_test.c
4355
ASSERT_EQ(0, unlink(path));
tools/testing/selftests/landlock/fs_test.c
4363
const char *const path = file1_s1d1;
tools/testing/selftests/landlock/fs_test.c
4376
ASSERT_EQ(0, unlink(path));
tools/testing/selftests/landlock/fs_test.c
4380
strncpy(srv_un.sun_path, path, sizeof(srv_un.sun_path));
tools/testing/selftests/landlock/fs_test.c
4395
strncpy(cli_un.sun_path, path, sizeof(cli_un.sun_path));
tools/testing/selftests/landlock/fs_test.c
4459
.path = "/dev",
tools/testing/selftests/landlock/fs_test.c
447
static int test_open(const char *const path, const int flags)
tools/testing/selftests/landlock/fs_test.c
449
return test_open_rel(AT_FDCWD, path, flags);
tools/testing/selftests/landlock/fs_test.c
4494
.path = "/dev",
tools/testing/selftests/landlock/fs_test.c
4539
.path = "/dev/zero",
tools/testing/selftests/landlock/fs_test.c
4672
.path = dir_s1d1,
tools/testing/selftests/landlock/fs_test.c
4676
.path = dir_s2d1,
tools/testing/selftests/landlock/fs_test.c
4688
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
4692
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
4700
.path = dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
4708
.path = bind_file1_s1d3,
tools/testing/selftests/landlock/fs_test.c
4805
.path = dir_s2d1,
tools/testing/selftests/landlock/fs_test.c
4809
.path = bind_dir_s1d3,
tools/testing/selftests/landlock/fs_test.c
4846
.path = TMP_DIR,
tools/testing/selftests/landlock/fs_test.c
4853
.path = file1_s1d3,
tools/testing/selftests/landlock/fs_test.c
4860
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
4945
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
4954
.path = dir_s4d1,
tools/testing/selftests/landlock/fs_test.c
4968
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
5116
.path = dir_s4d1,
tools/testing/selftests/landlock/fs_test.c
5123
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
5642
.path = TMP_DIR "/s1d1",
tools/testing/selftests/landlock/fs_test.c
5646
.path = TMP_DIR "/s1d1/s1d2",
tools/testing/selftests/landlock/fs_test.c
5650
.path = TMP_DIR "/s1d1/s1d2/s1d31",
tools/testing/selftests/landlock/fs_test.c
5654
.path = TMP_DIR "/s1d1/s1d2/s1d32",
tools/testing/selftests/landlock/fs_test.c
5658
.path = TMP_DIR "/s1d1/s1d2/s1d31/s1d41",
tools/testing/selftests/landlock/fs_test.c
5662
.path = TMP_DIR "/s1d1/s1d2/s1d32/s1d42",
tools/testing/selftests/landlock/fs_test.c
5666
.path = TMP_DIR "/s1d1/s1d2/s1d31/s1d41/f1",
tools/testing/selftests/landlock/fs_test.c
5670
.path = TMP_DIR "/s1d1/s1d2/s1d31/s1d41/f2",
tools/testing/selftests/landlock/fs_test.c
5674
.path = TMP_DIR "/s1d1/s1d2/s1d32/s1d42/f3",
tools/testing/selftests/landlock/fs_test.c
5678
.path = TMP_DIR "/s2d1",
tools/testing/selftests/landlock/fs_test.c
5683
.path = TMP_DIR "/s3d1",
tools/testing/selftests/landlock/fs_test.c
5687
.path = TMP_DIR "/s4d1",
tools/testing/selftests/landlock/fs_test.c
6167
.path = TMP_DIR "/s1d1",
tools/testing/selftests/landlock/fs_test.c
6171
.path = TMP_DIR "/s1d1/s1d2",
tools/testing/selftests/landlock/fs_test.c
6175
.path = TMP_DIR "/s1d1/s1d2/s1d3",
tools/testing/selftests/landlock/fs_test.c
6179
.path = TMP_DIR "/s2d1",
tools/testing/selftests/landlock/fs_test.c
6183
.path = TMP_DIR "/s2d1/s2d2",
tools/testing/selftests/landlock/fs_test.c
6187
.path = TMP_DIR "/s2d1/s2d2/s2d3",
tools/testing/selftests/landlock/fs_test.c
6192
.path = TMP_DIR "/s3d1",
tools/testing/selftests/landlock/fs_test.c
6197
.path = TMP_DIR "/s4d1",
tools/testing/selftests/landlock/fs_test.c
6507
.path = LOWER_BASE,
tools/testing/selftests/landlock/fs_test.c
6511
.path = UPPER_BASE,
tools/testing/selftests/landlock/fs_test.c
6515
.path = MERGE_BASE,
tools/testing/selftests/landlock/fs_test.c
6522
.path = LOWER_DATA,
tools/testing/selftests/landlock/fs_test.c
6526
.path = UPPER_DATA,
tools/testing/selftests/landlock/fs_test.c
6530
.path = MERGE_DATA,
tools/testing/selftests/landlock/fs_test.c
6538
.path = lower_dl1,
tools/testing/selftests/landlock/fs_test.c
6542
.path = lower_do1,
tools/testing/selftests/landlock/fs_test.c
6546
.path = upper_du1,
tools/testing/selftests/landlock/fs_test.c
6550
.path = upper_do1,
tools/testing/selftests/landlock/fs_test.c
6554
.path = merge_dl1,
tools/testing/selftests/landlock/fs_test.c
6558
.path = merge_du1,
tools/testing/selftests/landlock/fs_test.c
6562
.path = merge_do1,
tools/testing/selftests/landlock/fs_test.c
6570
.path = lower_dl1_fl2,
tools/testing/selftests/landlock/fs_test.c
6574
.path = lower_do1_fo2,
tools/testing/selftests/landlock/fs_test.c
6578
.path = lower_do1_fl3,
tools/testing/selftests/landlock/fs_test.c
6582
.path = upper_du1_fu2,
tools/testing/selftests/landlock/fs_test.c
6586
.path = upper_do1_fo2,
tools/testing/selftests/landlock/fs_test.c
6590
.path = upper_do1_fu3,
tools/testing/selftests/landlock/fs_test.c
6594
.path = merge_dl1_fl2,
tools/testing/selftests/landlock/fs_test.c
6599
.path = merge_du1_fu2,
tools/testing/selftests/landlock/fs_test.c
6604
.path = merge_do1_fo2,
tools/testing/selftests/landlock/fs_test.c
6609
.path = merge_do1_fl3,
tools/testing/selftests/landlock/fs_test.c
6614
.path = merge_do1_fu3,
tools/testing/selftests/landlock/fs_test.c
6622
.path = MERGE_DATA,
tools/testing/selftests/landlock/fs_test.c
6842
static char *dirname_alloc(const char *path)
tools/testing/selftests/landlock/fs_test.c
6846
if (!path)
tools/testing/selftests/landlock/fs_test.c
6849
dup = strdup(path);
tools/testing/selftests/landlock/fs_test.c
6938
.path = rule_path,
tools/testing/selftests/landlock/fs_test.c
7009
.path = TMP_DIR,
tools/testing/selftests/landlock/fs_test.c
7054
const char *const path, const char *const extra)
tools/testing/selftests/landlock/fs_test.c
7076
absolute_path = realpath(path, NULL);
tools/testing/selftests/landlock/fs_test.c
7100
const char *const blockers, const char *const path)
tools/testing/selftests/landlock/fs_test.c
7102
return matches_log_fs_extra(_metadata, audit_fd, blockers, path, NULL);
tools/testing/selftests/landlock/fs_test.c
721
const char *const path)
tools/testing/selftests/landlock/fs_test.c
727
path_beneath.parent_fd = open(path, O_PATH | O_CLOEXEC);
tools/testing/selftests/landlock/fs_test.c
730
TH_LOG("Failed to open directory \"%s\": %s", path,
tools/testing/selftests/landlock/fs_test.c
736
TH_LOG("Failed to update the ruleset with \"%s\": %s", path,
tools/testing/selftests/landlock/fs_test.c
743
const char *path;
tools/testing/selftests/landlock/fs_test.c
7559
.path = dir_s2d2,
tools/testing/selftests/landlock/fs_test.c
772
ASSERT_NE(NULL, rules[0].path)
tools/testing/selftests/landlock/fs_test.c
784
for (i = 0; rules[i].path; i++) {
tools/testing/selftests/landlock/fs_test.c
789
rules[i].path);
tools/testing/selftests/landlock/fs_test.c
798
.path = "/dev/null",
tools/testing/selftests/landlock/fs_test.c
847
.path = TMP_DIR,
tools/testing/selftests/landlock/fs_test.c
870
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
874
.path = file1_s2d2,
tools/testing/selftests/landlock/fs_test.c
928
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
956
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
961
.path = dir_s1d2,
tools/testing/selftests/landlock/fs_test.c
996
.path = dir_s1d2,
tools/testing/selftests/lsm/common.c
24
char *path;
tools/testing/selftests/lsm/common.c
27
path = calloc(len, 1);
tools/testing/selftests/lsm/common.c
28
if (path == NULL)
tools/testing/selftests/lsm/common.c
30
sprintf(path, "%s%s", PROCATTR, attr);
tools/testing/selftests/lsm/common.c
32
fd = open(path, O_RDONLY);
tools/testing/selftests/lsm/common.c
33
free(path);
tools/testing/selftests/lsm/common.c
46
path = strchr(value, '\n');
tools/testing/selftests/lsm/common.c
47
if (path)
tools/testing/selftests/lsm/common.c
48
*path = '\0';
tools/testing/selftests/memfd/fuse_mnt.c
27
static int memfd_getattr(const char *path, struct stat *st)
tools/testing/selftests/memfd/fuse_mnt.c
31
if (!strcmp(path, "/")) {
tools/testing/selftests/memfd/fuse_mnt.c
34
} else if (!strcmp(path, memfd_path)) {
tools/testing/selftests/memfd/fuse_mnt.c
45
static int memfd_readdir(const char *path,
tools/testing/selftests/memfd/fuse_mnt.c
51
if (strcmp(path, "/"))
tools/testing/selftests/memfd/fuse_mnt.c
61
static int memfd_open(const char *path, struct fuse_file_info *fi)
tools/testing/selftests/memfd/fuse_mnt.c
63
if (strcmp(path, memfd_path))
tools/testing/selftests/memfd/fuse_mnt.c
75
static int memfd_read(const char *path,
tools/testing/selftests/memfd/fuse_mnt.c
83
if (strcmp(path, memfd_path) != 0)
tools/testing/selftests/memfd/memfd_test.c
171
char path[100];
tools/testing/selftests/memfd/memfd_test.c
173
sprintf(path, "/proc/self/fd/%d", fd_in);
tools/testing/selftests/memfd/memfd_test.c
175
fd = open(path, O_RDWR);
tools/testing/selftests/mm/guard-regions.c
1772
self->fd = open(self->path, O_RDONLY);
tools/testing/selftests/mm/guard-regions.c
200
static int open_file(const char *prefix, char *path)
tools/testing/selftests/mm/guard-regions.c
204
snprintf(path, PATH_MAX, "%sguard_regions_test_file_XXXXXX", prefix);
tools/testing/selftests/mm/guard-regions.c
205
fd = mkstemp(path);
tools/testing/selftests/mm/guard-regions.c
2209
self->fd = open(self->path, O_RDONLY);
tools/testing/selftests/mm/guard-regions.c
321
self->fd = open_file("", self->path);
tools/testing/selftests/mm/guard-regions.c
324
self->fd = memfd_create(self->path, 0);
tools/testing/selftests/mm/guard-regions.c
342
if (self->path[0] != '\0')
tools/testing/selftests/mm/guard-regions.c
343
unlink(self->path);
tools/testing/selftests/mm/guard-regions.c
50
char path[PATH_MAX];
tools/testing/selftests/mm/hmm-tests.c
226
char path[HMM_PATH_MAX];
tools/testing/selftests/mm/hmm-tests.c
229
strcpy(path, "/tmp");
tools/testing/selftests/mm/hmm-tests.c
230
fd = open(path, O_TMPFILE | O_EXCL | O_RDWR, 0600);
tools/testing/selftests/mm/khugepaged.c
133
char path[PATH_MAX];
tools/testing/selftests/mm/khugepaged.c
142
if (snprintf(finfo.path, sizeof(finfo.path), "%s/" TEST_FILE,
tools/testing/selftests/mm/khugepaged.c
143
finfo.dir) >= sizeof(finfo.path)) {
tools/testing/selftests/mm/khugepaged.c
156
if (snprintf(path, sizeof(path), "/sys/dev/block/%d:%d/uevent",
tools/testing/selftests/mm/khugepaged.c
158
>= sizeof(path)) {
tools/testing/selftests/mm/khugepaged.c
162
if (read_file(path, buf, sizeof(buf)) < 0) {
tools/testing/selftests/mm/khugepaged.c
179
printf("%s: Unknown device type: %s\n", __func__, path);
tools/testing/selftests/mm/khugepaged.c
189
printf("%s: Could not read: %s", __func__, path);
tools/testing/selftests/mm/khugepaged.c
208
printf("%s: Could not read: %s\n", __func__, path);
tools/testing/selftests/mm/khugepaged.c
373
unlink(finfo.path); /* Cleanup from previous failed tests */
tools/testing/selftests/mm/khugepaged.c
374
printf("Creating %s for collapse%s...", finfo.path,
tools/testing/selftests/mm/khugepaged.c
376
fd = open(finfo.path, O_DSYNC | O_CREAT | O_RDWR | O_TRUNC | O_EXCL,
tools/testing/selftests/mm/khugepaged.c
391
printf("Opening %s read only for collapse...", finfo.path);
tools/testing/selftests/mm/khugepaged.c
392
finfo.fd = open(finfo.path, O_RDONLY, 777);
tools/testing/selftests/mm/khugepaged.c
414
unlink(finfo.path);
tools/testing/selftests/mm/khugepaged.c
68
char path[PATH_MAX];
tools/testing/selftests/mm/mlock2.h
28
char path[BUFSIZ];
tools/testing/selftests/mm/mlock2.h
36
&start, &end, perms, &offset, dev, &inode, path) < 6)
tools/testing/selftests/mm/split_huge_page_test.c
258
static void write_file(const char *path, const char *buf, size_t buflen)
tools/testing/selftests/mm/split_huge_page_test.c
263
fd = open(path, O_WRONLY);
tools/testing/selftests/mm/split_huge_page_test.c
265
ksft_exit_fail_msg("%s open failed: %s\n", path, strerror(errno));
tools/testing/selftests/mm/thp_settings.c
102
void write_num(const char *path, unsigned long num)
tools/testing/selftests/mm/thp_settings.c
107
if (!write_file(path, buf, strlen(buf) + 1)) {
tools/testing/selftests/mm/thp_settings.c
108
perror(path);
tools/testing/selftests/mm/thp_settings.c
115
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
120
ret = snprintf(path, PATH_MAX, THP_SYSFS "%s", name);
tools/testing/selftests/mm/thp_settings.c
126
if (!read_file(path, buf, sizeof(buf))) {
tools/testing/selftests/mm/thp_settings.c
127
perror(path);
tools/testing/selftests/mm/thp_settings.c
160
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
163
ret = snprintf(path, PATH_MAX, THP_SYSFS "%s", name);
tools/testing/selftests/mm/thp_settings.c
169
if (!write_file(path, val, strlen(val) + 1)) {
tools/testing/selftests/mm/thp_settings.c
170
perror(path);
tools/testing/selftests/mm/thp_settings.c
177
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
180
ret = snprintf(path, PATH_MAX, THP_SYSFS "%s", name);
tools/testing/selftests/mm/thp_settings.c
185
return read_num(path);
tools/testing/selftests/mm/thp_settings.c
190
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
193
ret = snprintf(path, PATH_MAX, THP_SYSFS "%s", name);
tools/testing/selftests/mm/thp_settings.c
198
write_num(path, num);
tools/testing/selftests/mm/thp_settings.c
205
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
234
snprintf(path, PATH_MAX, "hugepages-%ukB/enabled",
tools/testing/selftests/mm/thp_settings.c
237
thp_read_string(path, thp_enabled_strings);
tools/testing/selftests/mm/thp_settings.c
245
snprintf(path, PATH_MAX, "hugepages-%ukB/shmem_enabled",
tools/testing/selftests/mm/thp_settings.c
248
thp_read_string(path, shmem_enabled_strings);
tools/testing/selftests/mm/thp_settings.c
257
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
283
snprintf(path, PATH_MAX, "hugepages-%ukB/enabled",
tools/testing/selftests/mm/thp_settings.c
286
thp_write_string(path, thp_enabled_strings[enabled]);
tools/testing/selftests/mm/thp_settings.c
292
snprintf(path, PATH_MAX, "hugepages-%ukB/shmem_enabled",
tools/testing/selftests/mm/thp_settings.c
295
thp_write_string(path, shmem_enabled_strings[enabled]);
tools/testing/selftests/mm/thp_settings.c
338
void thp_set_read_ahead_path(char *path)
tools/testing/selftests/mm/thp_settings.c
340
if (!path) {
tools/testing/selftests/mm/thp_settings.c
345
strncpy(dev_queue_read_ahead_path, path,
tools/testing/selftests/mm/thp_settings.c
353
char path[PATH_MAX];
tools/testing/selftests/mm/thp_settings.c
360
ret = snprintf(path, PATH_MAX, THP_SYSFS "hugepages-%ukB/%s",
tools/testing/selftests/mm/thp_settings.c
367
ret = read_file(path, buf, sizeof(buf));
tools/testing/selftests/mm/thp_settings.c
46
int read_file(const char *path, char *buf, size_t buflen)
tools/testing/selftests/mm/thp_settings.c
51
fd = open(path, O_RDONLY);
tools/testing/selftests/mm/thp_settings.c
67
int write_file(const char *path, const char *buf, size_t buflen)
tools/testing/selftests/mm/thp_settings.c
72
fd = open(path, O_WRONLY);
tools/testing/selftests/mm/thp_settings.c
74
printf("open(%s)\n", path);
tools/testing/selftests/mm/thp_settings.c
90
unsigned long read_num(const char *path)
tools/testing/selftests/mm/thp_settings.c
94
if (read_file(path, buf, sizeof(buf)) < 0) {
tools/testing/selftests/mm/thp_settings.h
65
int read_file(const char *path, char *buf, size_t buflen);
tools/testing/selftests/mm/thp_settings.h
66
int write_file(const char *path, const char *buf, size_t buflen);
tools/testing/selftests/mm/thp_settings.h
67
unsigned long read_num(const char *path);
tools/testing/selftests/mm/thp_settings.h
68
void write_num(const char *path, unsigned long num);
tools/testing/selftests/mm/thp_settings.h
83
void thp_set_read_ahead_path(char *path);
tools/testing/selftests/mm/vm_util.c
480
char path[256];
tools/testing/selftests/mm/vm_util.c
484
sprintf(path, "/proc/%d/maps", pid);
tools/testing/selftests/mm/vm_util.c
486
procmap_out->fd = open(path, O_RDONLY);
tools/testing/selftests/mm/write_to_hugetlbfs.c
128
if (strncmp(path, "", sizeof(path)) != 0) {
tools/testing/selftests/mm/write_to_hugetlbfs.c
129
printf("Writing to this path: %s\n", path);
tools/testing/selftests/mm/write_to_hugetlbfs.c
172
fd = open(path, O_CREAT | O_RDWR, 0777);
tools/testing/selftests/mm/write_to_hugetlbfs.c
72
char path[256] = "";
tools/testing/selftests/mm/write_to_hugetlbfs.c
95
strncpy(path, optarg, sizeof(path) - 1);
tools/testing/selftests/mount/nosymfollow-test.c
166
char *path = realpath(LINK, NULL);
tools/testing/selftests/mount/nosymfollow-test.c
168
if (!path)
tools/testing/selftests/mount/nosymfollow-test.c
170
if (strcmp(path, DATA) != 0)
tools/testing/selftests/mount/nosymfollow-test.c
173
free(path);
tools/testing/selftests/mount/unprivileged-remount-test.c
115
static int read_mnt_flags(const char *path)
tools/testing/selftests/mount/unprivileged-remount-test.c
121
ret = statvfs(path, &stat);
tools/testing/selftests/mount/unprivileged-remount-test.c
124
path, strerror(errno));
tools/testing/selftests/mount_setattr/mount_setattr_test.c
1209
char path[256];
tools/testing/selftests/mount_setattr/mount_setattr_test.c
1219
snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
1220
ret = open(path, O_RDONLY | O_CLOEXEC);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
1362
static bool expected_uid_gid(int dfd, const char *path, int flags,
tools/testing/selftests/mount_setattr/mount_setattr_test.c
1368
ret = fstatat(dfd, path, &st, flags);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
138
static inline int sys_mount_setattr(int dfd, const char *path, unsigned int flags,
tools/testing/selftests/mount_setattr/mount_setattr_test.c
141
return syscall(__NR_mount_setattr, dfd, path, flags, attr, size);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
144
static inline int sys_open_tree_attr(int dfd, const char *path, unsigned int flags,
tools/testing/selftests/mount_setattr/mount_setattr_test.c
147
return syscall(__NR_open_tree_attr, dfd, path, flags, attr, size);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
161
static int write_file(const char *path, const void *buf, size_t count)
tools/testing/selftests/mount_setattr/mount_setattr_test.c
166
fd = open(path, O_WRONLY | O_CLOEXEC | O_NOCTTY | O_NOFOLLOW);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
230
static int read_mnt_flags(const char *path)
tools/testing/selftests/mount_setattr/mount_setattr_test.c
236
ret = statvfs(path, &stat);
tools/testing/selftests/mount_setattr/mount_setattr_test.c
295
static bool is_shared_mount(const char *path)
tools/testing/selftests/mount_setattr/mount_setattr_test.c
318
if (strcmp(target, path) != 0)
tools/testing/selftests/move_mount_set_group/move_mount_set_group_test.c
149
static bool is_shared_mount(const char *path)
tools/testing/selftests/move_mount_set_group/move_mount_set_group_test.c
172
if (strcmp(target, path) != 0)
tools/testing/selftests/move_mount_set_group/move_mount_set_group_test.c
59
static int write_file(const char *path, const void *buf, size_t count)
tools/testing/selftests/move_mount_set_group/move_mount_set_group_test.c
64
fd = open(path, O_WRONLY | O_CLOEXEC | O_NOCTTY | O_NOFOLLOW);
tools/testing/selftests/namespaces/nsid_test.c
131
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
132
snprintf(path, sizeof(path), "/proc/%d/ns/mnt", pid);
tools/testing/selftests/namespaces/nsid_test.c
133
fd_child_mntns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
237
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
238
snprintf(path, sizeof(path), "/proc/%d/ns/cgroup", pid);
tools/testing/selftests/namespaces/nsid_test.c
239
fd_child_cgroupns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
343
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
344
snprintf(path, sizeof(path), "/proc/%d/ns/ipc", pid);
tools/testing/selftests/namespaces/nsid_test.c
345
fd_child_ipcns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
449
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
450
snprintf(path, sizeof(path), "/proc/%d/ns/uts", pid);
tools/testing/selftests/namespaces/nsid_test.c
451
fd_child_utsns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
555
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
556
snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
tools/testing/selftests/namespaces/nsid_test.c
557
fd_child_userns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
682
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
683
snprintf(path, sizeof(path), "/proc/%d/ns/time", grandchild_pid);
tools/testing/selftests/namespaces/nsid_test.c
684
fd_child_timens = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
803
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
804
snprintf(path, sizeof(path), "/proc/%d/ns/pid", grandchild_pid);
tools/testing/selftests/namespaces/nsid_test.c
805
fd_child_pidns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/nsid_test.c
941
char path[256];
tools/testing/selftests/namespaces/nsid_test.c
942
snprintf(path, sizeof(path), "/proc/%d/ns/net", pid);
tools/testing/selftests/namespaces/nsid_test.c
943
fd_child_netns = open(path, O_RDONLY);
tools/testing/selftests/namespaces/siocgskns_test.c
183
char path[64];
tools/testing/selftests/namespaces/siocgskns_test.c
184
snprintf(path, sizeof(path), "/proc/self/fd/%d", netns_fd);
tools/testing/selftests/namespaces/siocgskns_test.c
185
test_fd = open(path, O_RDONLY);
tools/testing/selftests/namespaces/siocgskns_test.c
389
char path[64];
tools/testing/selftests/namespaces/siocgskns_test.c
390
snprintf(path, sizeof(path), "/proc/self/fd/%d", netns_fds[i]);
tools/testing/selftests/namespaces/siocgskns_test.c
391
int test_fd = open(path, O_RDONLY);
tools/testing/selftests/net/af_unix/scm_pidfd.c
100
char path[512];
tools/testing/selftests/net/af_unix/scm_pidfd.c
106
snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd);
tools/testing/selftests/net/af_unix/scm_pidfd.c
108
f = fopen(path, "re");
tools/testing/selftests/net/nettest.c
246
char path[PATH_MAX];
tools/testing/selftests/net/nettest.c
252
snprintf(path, sizeof(path), "%s%s", NS_PREFIX, ns);
tools/testing/selftests/net/nettest.c
253
fd = open(path, 0);
tools/testing/selftests/net/tcp_ao/lib/ftrace.c
242
char *path;
tools/testing/selftests/net/tcp_ao/lib/ftrace.c
244
path = test_sprintf("%s/trace_pipe", tracer->instance_path);
tools/testing/selftests/net/tcp_ao/lib/ftrace.c
245
if (!path)
tools/testing/selftests/net/tcp_ao/lib/ftrace.c
248
tracer->trace_pipe = fopen(path, "r");
tools/testing/selftests/net/tcp_ao/lib/ftrace.c
261
free(path);
tools/testing/selftests/openat2/helpers.c
22
int raw_openat2(int dfd, const char *path, void *how, size_t size)
tools/testing/selftests/openat2/helpers.c
24
int ret = syscall(__NR_openat2, dfd, path, how, size);
tools/testing/selftests/openat2/helpers.c
28
int sys_openat2(int dfd, const char *path, struct open_how *how)
tools/testing/selftests/openat2/helpers.c
30
return raw_openat2(dfd, path, how, sizeof(*how));
tools/testing/selftests/openat2/helpers.c
33
int sys_openat(int dfd, const char *path, struct open_how *how)
tools/testing/selftests/openat2/helpers.c
35
int ret = openat(dfd, path, how->flags, how->mode);
tools/testing/selftests/openat2/helpers.c
47
int touchat(int dfd, const char *path)
tools/testing/selftests/openat2/helpers.c
49
int fd = openat(dfd, path, O_CREAT, 0700);
tools/testing/selftests/openat2/helpers.c
71
bool fdequal(int fd, int dfd, const char *path)
tools/testing/selftests/openat2/helpers.c
79
if (!path)
tools/testing/selftests/openat2/helpers.c
81
else if (*path == '/')
tools/testing/selftests/openat2/helpers.c
82
E_asprintf(&other, "%s", path);
tools/testing/selftests/openat2/helpers.c
84
E_asprintf(&other, "%s/%s", dfdpath, path);
tools/testing/selftests/openat2/helpers.h
102
int touchat(int dfd, const char *path);
tools/testing/selftests/openat2/helpers.h
104
bool fdequal(int fd, int dfd, const char *path);
tools/testing/selftests/openat2/helpers.h
96
int raw_openat2(int dfd, const char *path, void *how, size_t size);
tools/testing/selftests/openat2/helpers.h
97
int sys_openat2(int dfd, const char *path, struct open_how *how);
tools/testing/selftests/openat2/helpers.h
98
int sys_openat(int dfd, const char *path, struct open_how *how);
tools/testing/selftests/openat2/openat2_test.c
248
char *path, *fdpath = NULL;
tools/testing/selftests/openat2/openat2_test.c
259
path = (test->how.flags & O_CREAT) ? "/tmp/ksft.openat2_tmpfile" : ".";
tools/testing/selftests/openat2/openat2_test.c
260
unlink(path);
tools/testing/selftests/openat2/openat2_test.c
262
fd = sys_openat2(AT_FDCWD, path, &test->how);
tools/testing/selftests/openat2/resolve_test.c
112
const char *path;
tools/testing/selftests/openat2/resolve_test.c
117
const char *path;
tools/testing/selftests/openat2/resolve_test.c
139
.path = "/", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
142
.path = "cheeky/absself", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
145
.path = "abscheeky/absself", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
148
.path = "..", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
151
.path = "../root/", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
154
.path = "cheeky/self", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
157
.path = "abscheeky/self", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
160
.path = "cheeky/garbageself", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
163
.path = "abscheeky/garbageself", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
167
.path = "root", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
168
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
170
.path = "etc", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
171
.out.path = "etc", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
173
.path = "etc/passwd", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
174
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
176
.path = "relsym", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
177
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
179
.path = "cheeky/passwd", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
180
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
182
.path = "abscheeky/passwd", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
185
.path = "abssym", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
188
.path = "/etc/passwd", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
191
.path = "cheeky/abspasswd", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
194
.path = "abscheeky/abspasswd", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
198
.path = "cheeky/dotdotlink", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
201
.path = "abscheeky/dotdotlink", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
204
.path = "cheeky/garbagelink", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
207
.path = "abscheeky/garbagelink", .how.resolve = RESOLVE_BENEATH,
tools/testing/selftests/openat2/resolve_test.c
213
.path = "/", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
214
.out.path = NULL, .pass = true },
tools/testing/selftests/openat2/resolve_test.c
216
.path = "cheeky/absself", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
217
.out.path = NULL, .pass = true },
tools/testing/selftests/openat2/resolve_test.c
219
.path = "abscheeky/absself", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
220
.out.path = NULL, .pass = true },
tools/testing/selftests/openat2/resolve_test.c
222
.path = "..", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
223
.out.path = NULL, .pass = true },
tools/testing/selftests/openat2/resolve_test.c
225
.path = "../root/", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
226
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
228
.path = "cheeky/self", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
229
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
231
.path = "cheeky/garbageself", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
232
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
234
.path = "abscheeky/garbageself", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
235
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
237
.path = "root", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
238
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
240
.path = "etc", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
241
.out.path = "etc", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
243
.path = "etc/passwd", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
244
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
246
.path = "relsym", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
247
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
249
.path = "cheeky/passwd", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
250
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
252
.path = "abscheeky/passwd", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
253
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
255
.path = "abssym", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
256
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
258
.path = "/etc/passwd", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
259
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
261
.path = "cheeky/abspasswd", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
262
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
264
.path = "abscheeky/abspasswd", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
265
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
267
.path = "cheeky/dotdotlink", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
268
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
270
.path = "abscheeky/dotdotlink", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
271
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
273
.path = "/../../../../abscheeky/dotdotlink", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
274
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
276
.path = "cheeky/garbagelink", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
277
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
279
.path = "abscheeky/garbagelink", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
280
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
282
.path = "/../../../../abscheeky/garbagelink", .how.resolve = RESOLVE_IN_ROOT,
tools/testing/selftests/openat2/resolve_test.c
283
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
286
.path = "newfile1", .how.flags = O_CREAT,
tools/testing/selftests/openat2/resolve_test.c
289
.out.path = "newfile1", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
291
.path = "/newfile2", .how.flags = O_CREAT,
tools/testing/selftests/openat2/resolve_test.c
294
.out.path = "newfile2", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
296
.path = "/creatlink", .how.flags = O_CREAT,
tools/testing/selftests/openat2/resolve_test.c
299
.out.path = "newfile3", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
304
.path = "mnt", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
307
.path = "mnt/", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
310
.path = "mnt/.", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
314
.dir = "mnt", .path = ".", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
315
.out.path = "mnt", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
317
.dir = "mnt", .path = "..", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
320
.dir = "mnt", .path = "../mnt", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
323
.dir = "mnt", .path = "self", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
326
.dir = "mnt", .path = "absself", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
330
.dir = "mnt", .path = "/", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
331
.out.path = "/", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
333
.dir = "/", .path = "/", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
334
.out.path = "/", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
336
.path = "/proc/1", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
339
.path = "/tmp", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
343
.dir = "/proc", .path = "self/root", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
346
.dir = "/proc", .path = "self/cwd", .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
350
.dir = "/proc", .path = hardcoded_fdpath, .how.resolve = RESOLVE_NO_XDEV,
tools/testing/selftests/openat2/resolve_test.c
351
.out.path = "/proc", .pass = true, },
tools/testing/selftests/openat2/resolve_test.c
356
.path = "relsym", .how.resolve = RESOLVE_NO_MAGICLINKS,
tools/testing/selftests/openat2/resolve_test.c
357
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
360
.path = "procexe", .how.resolve = RESOLVE_NO_MAGICLINKS,
tools/testing/selftests/openat2/resolve_test.c
363
.path = "/proc/self/exe", .how.resolve = RESOLVE_NO_MAGICLINKS,
tools/testing/selftests/openat2/resolve_test.c
366
.path = "/proc/self/exe", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
368
.out.path = procselfexe, .pass = true },
tools/testing/selftests/openat2/resolve_test.c
370
.path = "procroot/etc", .how.resolve = RESOLVE_NO_MAGICLINKS,
tools/testing/selftests/openat2/resolve_test.c
373
.path = "/proc/self/root/etc", .how.resolve = RESOLVE_NO_MAGICLINKS,
tools/testing/selftests/openat2/resolve_test.c
376
.path = "/proc/self/root/etc", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
383
.path = ".", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
384
.out.path = NULL, .pass = true },
tools/testing/selftests/openat2/resolve_test.c
386
.path = "root", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
387
.out.path = "root", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
389
.path = "etc", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
390
.out.path = "etc", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
392
.path = "etc/passwd", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
393
.out.path = "etc/passwd", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
396
.path = "relsym", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
399
.path = "reletc/passwd", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
402
.path = "abssym", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
405
.path = "absetc/passwd", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
408
.path = "cheeky/garbagelink", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
411
.path = "abscheeky/garbagelink", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
414
.path = "abscheeky/absself", .how.resolve = RESOLVE_NO_SYMLINKS,
tools/testing/selftests/openat2/resolve_test.c
418
.path = "relsym", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
420
.out.path = "relsym", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
422
.path = "abssym", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
424
.out.path = "abssym", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
426
.path = "cheeky/garbagelink", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
428
.out.path = "cheeky/garbagelink", .pass = true },
tools/testing/selftests/openat2/resolve_test.c
430
.path = "abscheeky/absself", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
434
.path = "abscheeky/garbagelink", .how.flags = O_NOFOLLOW,
tools/testing/selftests/openat2/resolve_test.c
466
fd = sys_openat2(dfd, test->path, &test->how);
tools/testing/selftests/openat2/resolve_test.c
468
failed = (fd < 0 || !fdequal(fd, rootfd, test->out.path));
tools/testing/selftests/openat2/resolve_test.c
490
test->out.path ?: ".");
tools/testing/selftests/pidfd/pidfd_fdinfo_test.c
169
char path[512] = {0, };
tools/testing/selftests/pidfd/pidfd_fdinfo_test.c
182
snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd);
tools/testing/selftests/pidfd/pidfd_fdinfo_test.c
183
f = fopen(path, "re");
tools/testing/selftests/pidfd/pidfd_open_test.c
90
char path[512];
tools/testing/selftests/pidfd/pidfd_open_test.c
96
snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd);
tools/testing/selftests/pidfd/pidfd_open_test.c
98
f = fopen(path, "re");
tools/testing/selftests/pidfd/pidfd_setns_test.c
359
char path[50];
tools/testing/selftests/pidfd/pidfd_setns_test.c
361
ret = snprintf(path, sizeof(path), "/proc/%d/ns/%s", pid, ns);
tools/testing/selftests/pidfd/pidfd_setns_test.c
362
if (ret < 0 || (size_t)ret >= sizeof(path))
tools/testing/selftests/pidfd/pidfd_setns_test.c
365
return open(path, O_RDONLY | O_CLOEXEC);
tools/testing/selftests/powerpc/include/utils.h
53
int read_file(const char *path, char *buf, size_t count, size_t *len);
tools/testing/selftests/powerpc/include/utils.h
54
int write_file(const char *path, const char *buf, size_t count);
tools/testing/selftests/powerpc/include/utils.h
55
int read_file_alloc(const char *path, char **buf, size_t *len);
tools/testing/selftests/powerpc/include/utils.h
56
int read_long(const char *path, long *result, int base);
tools/testing/selftests/powerpc/include/utils.h
57
int write_long(const char *path, long result, int base);
tools/testing/selftests/powerpc/include/utils.h
58
int read_ulong(const char *path, unsigned long *result, int base);
tools/testing/selftests/powerpc/include/utils.h
59
int write_ulong(const char *path, unsigned long result, int base);
tools/testing/selftests/powerpc/mm/tlbie_test.c
263
char path[LOGDIR_NAME_SIZE + 30];
tools/testing/selftests/powerpc/mm/tlbie_test.c
269
strcpy(path, logdir);
tools/testing/selftests/powerpc/mm/tlbie_test.c
270
strcat(path, separator);
tools/testing/selftests/powerpc/mm/tlbie_test.c
271
strcat(path, logfile);
tools/testing/selftests/powerpc/mm/tlbie_test.c
272
f = fopen(path, "w");
tools/testing/selftests/powerpc/mm/tlbie_test.c
311
char path[LOGDIR_NAME_SIZE + 30];
tools/testing/selftests/powerpc/mm/tlbie_test.c
317
strcpy(path, logdir);
tools/testing/selftests/powerpc/mm/tlbie_test.c
318
strcat(path, separator);
tools/testing/selftests/powerpc/mm/tlbie_test.c
319
strcat(path, logfile);
tools/testing/selftests/powerpc/mm/tlbie_test.c
322
remove(path);
tools/testing/selftests/powerpc/mm/tlbie_test.c
327
tid, nr_anamolies, path);
tools/testing/selftests/powerpc/papr_attributes/attr_test.c
100
sprintf(file_name, "%s/%d/value_desc", path, id);
tools/testing/selftests/powerpc/papr_attributes/attr_test.c
60
const char *path = "/sys/firmware/papr/energy_scale_info";
tools/testing/selftests/powerpc/papr_attributes/attr_test.c
66
if (stat(path, &s)) {
tools/testing/selftests/powerpc/papr_attributes/attr_test.c
73
dirp = opendir(path);
tools/testing/selftests/powerpc/papr_attributes/attr_test.c
89
sprintf(file_name, "%s/%d/desc", path, id);
tools/testing/selftests/powerpc/papr_attributes/attr_test.c
94
sprintf(file_name, "%s/%d/value", path, id);
tools/testing/selftests/powerpc/syscalls/rtas_filter.c
57
char path[PATH_MAX];
tools/testing/selftests/powerpc/syscalls/rtas_filter.c
59
int len = snprintf(path, sizeof(path), "%s/%s", prop_path, prop_name);
tools/testing/selftests/powerpc/syscalls/rtas_filter.c
60
if (len < 0 || len >= sizeof(path))
tools/testing/selftests/powerpc/syscalls/rtas_filter.c
63
return read_file_alloc(path, prop_val, prop_len);
tools/testing/selftests/powerpc/tm/tm-exec.c
25
static char *path;
tools/testing/selftests/powerpc/tm/tm-exec.c
39
execl(path, "tm-exec", "--child", NULL);
tools/testing/selftests/powerpc/tm/tm-exec.c
61
path = argv[0];
tools/testing/selftests/powerpc/utils.c
126
int write_file(const char *path, const char *buf, size_t count)
tools/testing/selftests/powerpc/utils.c
132
fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
tools/testing/selftests/powerpc/utils.c
170
char path[PATH_MAX] = "/sys/kernel/debug/";
tools/testing/selftests/powerpc/utils.c
172
strncat(path, subpath, sizeof(path) - strlen(path) - 1);
tools/testing/selftests/powerpc/utils.c
174
return read_file(path, buf, count, NULL);
tools/testing/selftests/powerpc/utils.c
179
char path[PATH_MAX] = "/sys/kernel/debug/";
tools/testing/selftests/powerpc/utils.c
181
strncat(path, subpath, sizeof(path) - strlen(path) - 1);
tools/testing/selftests/powerpc/utils.c
183
return write_file(path, buf, count);
tools/testing/selftests/powerpc/utils.c
306
int read_long(const char *path, long *result, int base)
tools/testing/selftests/powerpc/utils.c
31
int read_file(const char *path, char *buf, size_t count, size_t *len)
tools/testing/selftests/powerpc/utils.c
311
err = read_file(path, buffer, sizeof(buffer) - 1, NULL);
tools/testing/selftests/powerpc/utils.c
318
int read_ulong(const char *path, unsigned long *result, int base)
tools/testing/selftests/powerpc/utils.c
323
err = read_file(path, buffer, sizeof(buffer) - 1, NULL);
tools/testing/selftests/powerpc/utils.c
330
int write_long(const char *path, long result, int base)
tools/testing/selftests/powerpc/utils.c
348
err = write_file(path, buffer, len);
tools/testing/selftests/powerpc/utils.c
355
int write_ulong(const char *path, unsigned long result, int base)
tools/testing/selftests/powerpc/utils.c
38
fd = open(path, O_RDONLY);
tools/testing/selftests/powerpc/utils.c
380
err = write_file(path, buffer, len);
tools/testing/selftests/powerpc/utils.c
495
char path[PATH_MAX] = "/sys/";
tools/testing/selftests/powerpc/utils.c
497
strncat(path, fpath, PATH_MAX - strlen(path) - 1);
tools/testing/selftests/powerpc/utils.c
499
return read_file(path, result, result_size, NULL);
tools/testing/selftests/powerpc/utils.c
68
int read_file_alloc(const char *path, char **buf, size_t *len)
tools/testing/selftests/powerpc/utils.c
76
fd = open(path, O_RDONLY);
tools/testing/selftests/prctl/set-process-name.c
58
char path[MAX_PATH_LEN] = {};
tools/testing/selftests/prctl/set-process-name.c
63
j = snprintf(path, MAX_PATH_LEN, "/proc/self/task/%d/comm", pid);
tools/testing/selftests/prctl/set-process-name.c
64
fptr = fopen(path, "r");
tools/testing/selftests/proc/proc-pidns.c
32
static int touch(char *path)
tools/testing/selftests/proc/proc-pidns.c
34
int fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC, 0644);
tools/testing/selftests/ring-buffer/map_test.c
24
static int __tracefs_write(const char *path, const char *value)
tools/testing/selftests/ring-buffer/map_test.c
28
fd = open(path, O_WRONLY | O_TRUNC);
tools/testing/selftests/ring-buffer/map_test.c
39
static int __tracefs_write_int(const char *path, int value)
tools/testing/selftests/ring-buffer/map_test.c
47
ret = __tracefs_write(path, str);
tools/testing/selftests/ring-buffer/map_test.c
54
#define tracefs_write_int(path, value) \
tools/testing/selftests/ring-buffer/map_test.c
55
ASSERT_EQ(__tracefs_write_int((path), (value)), 0)
tools/testing/selftests/ring-buffer/map_test.c
57
#define tracefs_write(path, value) \
tools/testing/selftests/ring-buffer/map_test.c
58
ASSERT_EQ(__tracefs_write((path), (value)), 0)
tools/testing/selftests/sched_ext/rt_stall.c
87
char path[256];
tools/testing/selftests/sched_ext/rt_stall.c
92
snprintf(path, sizeof(path), "/proc/%d/stat", pid);
tools/testing/selftests/sched_ext/rt_stall.c
93
file = fopen(path, "r");
tools/testing/selftests/sched_ext/util.c
14
static ssize_t read_text(const char *path, char *buf, size_t max_len)
tools/testing/selftests/sched_ext/util.c
19
fd = open(path, O_RDONLY);
tools/testing/selftests/sched_ext/util.c
33
static ssize_t write_text(const char *path, char *buf, ssize_t len)
tools/testing/selftests/sched_ext/util.c
38
fd = open(path, O_WRONLY | O_APPEND);
tools/testing/selftests/sched_ext/util.c
47
long file_read_long(const char *path)
tools/testing/selftests/sched_ext/util.c
52
if (read_text(path, buf, sizeof(buf)) <= 0)
tools/testing/selftests/sched_ext/util.c
58
int file_write_long(const char *path, long val)
tools/testing/selftests/sched_ext/util.c
67
if (write_text(path, buf, ret) <= 0)
tools/testing/selftests/sched_ext/util.h
10
long file_read_long(const char *path);
tools/testing/selftests/sched_ext/util.h
11
int file_write_long(const char *path, long val);
tools/testing/selftests/seccomp/seccomp_bpf.c
4488
static ssize_t get_nth(struct __test_metadata *_metadata, const char *path,
tools/testing/selftests/seccomp/seccomp_bpf.c
4497
f = fopen(path, "r");
tools/testing/selftests/seccomp/seccomp_bpf.c
4499
TH_LOG("Could not open %s: %s", path, strerror(errno));
tools/testing/selftests/seccomp/seccomp_bpf.c
4505
TH_LOG("Failed to read %d entry in file %s", i, path);
tools/testing/selftests/seccomp/seccomp_bpf.c
4511
TH_LOG("Entry in file %s had zero length", path);
tools/testing/selftests/sgx/load.c
177
bool encl_load(const char *path, struct encl *encl, unsigned long heap_size)
tools/testing/selftests/sgx/load.c
226
if (!encl_map_bin(path, encl))
tools/testing/selftests/sgx/load.c
44
static bool encl_map_bin(const char *path, struct encl *encl)
tools/testing/selftests/sgx/load.c
51
fd = open(path, O_RDONLY);
tools/testing/selftests/sgx/load.c
57
ret = stat(path, &sb);
tools/testing/selftests/sgx/main.h
38
bool encl_load(const char *path, struct encl *encl, unsigned long heap_size);
tools/testing/selftests/timens/procfs.c
39
char path[] = "/proc/self/ns/time_for_children";
tools/testing/selftests/timens/procfs.c
42
parent_ns = open(path, O_RDONLY);
tools/testing/selftests/timens/procfs.c
44
return pr_perror("Unable to open %s", path);
tools/testing/selftests/timens/procfs.c
52
child_ns = open(path, O_RDONLY);
tools/testing/selftests/timens/procfs.c
54
return pr_perror("Unable to open %s", path);
tools/testing/selftests/timens/timens.c
60
char path[] = "/proc/self/ns/time_for_children";
tools/testing/selftests/timens/timens.c
64
parent_ns = open(path, O_RDONLY);
tools/testing/selftests/timens/timens.c
66
return pr_perror("Unable to open %s", path);
tools/testing/selftests/timens/timens.c
75
child_ns = open(path, O_RDONLY);
tools/testing/selftests/timens/timens.c
77
return pr_perror("Unable to open %s", path);
tools/testing/selftests/ublk/kublk.c
1202
static int wait_ublk_dev(const char *path, int evt_mask, unsigned timeout)
tools/testing/selftests/ublk/kublk.c
1209
const char *dev_name = basename(path);
tools/testing/selftests/user_events/abi_test.c
47
char path[256];
tools/testing/selftests/user_events/abi_test.c
61
snprintf(path, sizeof(path), "%s/format", buf.gl_pathv[i]);
tools/testing/selftests/user_events/abi_test.c
62
fp = fopen(path, "r");
tools/testing/selftests/user_events/abi_test.c
67
while (fgets(path, sizeof(path), fp) != NULL) {
tools/testing/selftests/user_events/abi_test.c
68
if (strstr(path, unique_field)) {
tools/testing/selftests/x86/lam.c
673
char path[PATH_MAX] = {0};
tools/testing/selftests/x86/lam.c
676
if (readlink("/proc/self/exe", path, PATH_MAX - 1) <= 0)
tools/testing/selftests/x86/lam.c
679
int file_fd = open(path, O_RDONLY);
tools/testing/selftests/x86/lam.c
787
char path[PATH_MAX] = {0};
tools/testing/selftests/x86/lam.c
794
if (readlink("/proc/self/exe", path, PATH_MAX - 1) <= 0)
tools/testing/selftests/x86/lam.c
798
if (execlp(path, path, "-t 0x0", NULL) < 0) {
tools/thermal/thermometer/thermometer.c
101
static int configuration_init(const char *path, struct configuration *config)
tools/thermal/thermometer/thermometer.c
108
if (path && access(path, F_OK)) {
tools/thermal/thermometer/thermometer.c
109
ERROR("'%s' is not accessible\n", path);
tools/thermal/thermometer/thermometer.c
113
if (!path && !config->nr_tz_regex) {
tools/thermal/thermometer/thermometer.c
120
if (!config_read_file(&cfg, path)) {
tools/thermal/thermometer/thermometer.c
257
static int thermometer_add_tz(const char *path, const char *name, int polling,
tools/thermal/thermometer/thermometer.c
264
sprintf(tz_path, CLASS_THERMAL"/%s/temp", path);
tools/thermal/thermometer/thermometer.c
284
INFO("Added thermal zone '%s->%s (polling:%d)'\n", path, name, polling);
tools/thermal/thermometer/thermometer.c
360
char *path;
tools/thermal/thermometer/thermometer.c
373
asprintf(&path, "%s/%s%s", options->output,
tools/thermal/thermometer/thermometer.c
376
if (!options->overwrite && !access(path, F_OK)) {
tools/thermal/thermometer/thermometer.c
377
ERROR("'%s' already exists\n", path);
tools/thermal/thermometer/thermometer.c
381
f = fopen(path, "w");
tools/thermal/thermometer/thermometer.c
383
ERROR("Failed to create '%s':%m\n", path);
tools/thermal/thermometer/thermometer.c
391
DEBUG("Created '%s' file for thermal zone '%s'\n", path, thermometer->tz[i].name);
tools/thermal/tmon/sysfs.c
100
sysfs_get_ulong(path, "cur_state", &cdi->cur_state);
tools/thermal/tmon/sysfs.c
103
__func__, path,
tools/thermal/tmon/sysfs.c
33
int sysfs_set_ulong(char *path, char *filename, unsigned long val)
tools/thermal/tmon/sysfs.c
39
snprintf(filepath, sizeof(filepath), "%s/%s", path, filename);
tools/thermal/tmon/sysfs.c
57
static int sysfs_get_ulong(char *path, char *filename, unsigned long *p_ulong)
tools/thermal/tmon/sysfs.c
63
snprintf(filepath, sizeof(filepath), "%s/%s", path, filename);
tools/thermal/tmon/sysfs.c
76
static int sysfs_get_string(char *path, char *filename, char *str)
tools/thermal/tmon/sysfs.c
82
snprintf(filepath, sizeof(filepath), "%s/%s", path, filename);
tools/thermal/tmon/sysfs.c
96
static int probe_cdev(struct cdev_info *cdi, char *path)
tools/thermal/tmon/sysfs.c
98
sysfs_get_string(path, "type", cdi->type);
tools/thermal/tmon/sysfs.c
99
sysfs_get_ulong(path, "max_state", &cdi->max_state);
tools/thermal/tmon/tmon.h
168
extern int sysfs_set_ulong(char *path, char *filename, unsigned long val);
tools/thermal/tmon/tui.c
410
char path[256];
tools/thermal/tmon/tui.c
429
snprintf(path, 256, "%s/%s%d", THERMAL_SYSFS,
tools/thermal/tmon/tui.c
431
sysfs_set_ulong(path, "cur_state", val);
tools/tracing/rtla/src/trace.c
363
char path[1024];
tools/tracing/rtla/src/trace.c
378
snprintf(path, 1024, "%s_%s_hist.txt", tevent->system, tevent->event);
tools/tracing/rtla/src/trace.c
380
printf(" Saving event %s:%s hist to %s\n", tevent->system, tevent->event, path);
tools/tracing/rtla/src/trace.c
382
out_fd = creat(path, mode);
tools/tracing/rtla/src/trace.c
384
err_msg(" Failed to create %s output file\n", path);
tools/tracing/rtla/src/utils.c
743
char path[MAX_PATH], *start;
tools/tracing/rtla/src/utils.c
746
snprintf(path, MAX_PATH, "/proc/%d/cgroup", getpid());
tools/tracing/rtla/src/utils.c
748
fd = open(path, O_RDONLY);
tools/tracing/rtla/src/utils.c
752
memset(path, 0, sizeof(path));
tools/tracing/rtla/src/utils.c
753
retval = read(fd, path, MAX_PATH);
tools/tracing/rtla/src/utils.c
760
path[MAX_PATH-1] = '\0';
tools/tracing/rtla/src/utils.c
761
start = path;
tools/usb/usbip/libsrc/usbip_common.c
114
dbg("%-20s = %s", "path", udev->path);
tools/usb/usbip/libsrc/usbip_common.c
209
const char *path, *name;
tools/usb/usbip/libsrc/usbip_common.c
226
path = udev_device_get_syspath(sdev);
tools/usb/usbip/libsrc/usbip_common.c
229
strncpy(udev->path, path, SYSFS_PATH_MAX - 1);
tools/usb/usbip/libsrc/usbip_common.c
230
udev->path[SYSFS_PATH_MAX - 1] = '\0';
tools/usb/usbip/libsrc/usbip_common.h
112
char path[SYSFS_PATH_MAX];
tools/usb/usbip/libsrc/usbip_device_driver.c
65
const char *path, *name;
tools/usb/usbip/libsrc/usbip_device_driver.c
75
path = udev_device_get_syspath(plat);
tools/usb/usbip/libsrc/usbip_device_driver.c
77
path, VUDC_DEVICE_DESCR_FILE);
tools/usb/usbip/libsrc/usbip_device_driver.c
96
strncpy(dev->path, path, SYSFS_PATH_MAX - 1);
tools/usb/usbip/libsrc/usbip_device_driver.c
97
dev->path[SYSFS_PATH_MAX - 1] = '\0';
tools/usb/usbip/libsrc/usbip_host_common.c
124
const char *path;
tools/usb/usbip/libsrc/usbip_host_common.c
133
path = udev_list_entry_get_name(dev_list_entry);
tools/usb/usbip/libsrc/usbip_host_common.c
135
path);
tools/usb/usbip/libsrc/usbip_host_common.c
141
edev = usbip_exported_device_new(hdriver, path);
tools/usb/usbip/libsrc/usbip_host_common.c
240
edev->udev.path, attr_name);
tools/usb/usbip/libsrc/usbip_host_common.c
38
"%s/usbip_status", udev->path);
tools/usb/usbip/libsrc/vhci_driver.c
192
char path[PATH_MAX+1];
tools/usb/usbip/libsrc/vhci_driver.c
202
snprintf(path, PATH_MAX, VHCI_STATE_PATH"/port%d", rhport);
tools/usb/usbip/libsrc/vhci_driver.c
204
file = fopen(path, "r");
tools/usb/usbip/libsrc/vhci_driver.c
362
const char *path;
tools/usb/usbip/libsrc/vhci_driver.c
369
path = udev_device_get_syspath(vhci_driver->hc_device);
tools/usb/usbip/libsrc/vhci_driver.c
371
path, attr_attach);
tools/usb/usbip/libsrc/vhci_driver.c
404
const char *path;
tools/usb/usbip/libsrc/vhci_driver.c
410
path = udev_device_get_syspath(vhci_driver->hc_device);
tools/usb/usbip/libsrc/vhci_driver.c
412
path, attr_detach);
tools/usb/usbip/src/usbip_attach.c
42
char path[PATH_MAX+1];
tools/usb/usbip/src/usbip_attach.c
61
snprintf(path, PATH_MAX, VHCI_STATE_PATH"/port%d", rhport);
tools/usb/usbip/src/usbip_attach.c
63
fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, S_IRWXU);
tools/usb/usbip/src/usbip_detach.c
36
char path[PATH_MAX+1];
tools/usb/usbip/src/usbip_detach.c
78
snprintf(path, PATH_MAX, VHCI_STATE_PATH"/port%d", portnum);
tools/usb/usbip/src/usbip_detach.c
80
remove(path);
tools/usb/usbip/src/usbip_list.c
102
printf("%11s: %s\n", "", udev.path);
tools/usb/usbip/src/usbip_list.c
173
const char *path;
tools/usb/usbip/src/usbip_list.c
201
path = udev_list_entry_get_name(dev_list_entry);
tools/usb/usbip/src/usbip_list.c
202
dev = udev_device_new_from_syspath(udev, path);
tools/usb/usbip/src/usbip_list.c
256
const char *path;
tools/usb/usbip/src/usbip_list.c
278
path = udev_list_entry_get_name(dev_list_entry);
tools/usb/usbip/src/usbip_list.c
279
dev = udev_device_new_from_syspath(udev, path);
tools/verification/rv/src/in_kernel.c
122
char path[MAX_PATH];
tools/verification/rv/src/in_kernel.c
127
snprintf(path, MAX_PATH, "rv/monitors/%s/enable", monitor_name);
tools/verification/rv/src/in_kernel.c
128
retval = tracefs_instance_file_write(NULL, path, enable_disable);
tools/verification/rv/src/in_kernel.c
165
char path[MAX_PATH];
tools/verification/rv/src/in_kernel.c
168
snprintf(path, MAX_PATH, "rv/monitors/%s/desc", monitor_name);
tools/verification/rv/src/in_kernel.c
169
desc = tracefs_instance_file_read(NULL, path, NULL);
tools/verification/rv/src/in_kernel.c
234
char path[MAX_PATH];
tools/verification/rv/src/in_kernel.c
237
snprintf(path, MAX_PATH, "rv/monitors/%s/reactors", monitor_name);
tools/verification/rv/src/in_kernel.c
238
retval = tracefs_instance_file_write(NULL, path, reactor);
tools/verification/rv/src/in_kernel.c
252
char path[MAX_PATH];
tools/verification/rv/src/in_kernel.c
255
snprintf(path, MAX_PATH, "rv/monitors/%s/reactors", monitor_name);
tools/verification/rv/src/in_kernel.c
256
reactors = tracefs_instance_file_read(NULL, path, NULL);
tools/verification/rv/src/in_kernel.c
311
char path[MAX_PATH];
tools/verification/rv/src/in_kernel.c
315
snprintf(path, MAX_PATH, "events/rv/event_%s/format", monitor_name);
tools/verification/rv/src/in_kernel.c
316
format = tracefs_instance_file_read(NULL, path, NULL);
tools/verification/rv/src/in_kernel.c
37
char path[MAX_PATH];
tools/verification/rv/src/in_kernel.c
41
snprintf(path, MAX_PATH, "rv/monitors/%s/enable", monitor_name);
tools/verification/rv/src/in_kernel.c
43
retval = tracefs_instance_file_read_number(NULL, path, &enabled);