arch/loongarch/pci/acpi.c
51
static void acpi_release_root_info(struct acpi_pci_root_info *ci)
arch/loongarch/pci/acpi.c
55
info = container_of(ci, struct pci_root_info, common);
arch/loongarch/pci/acpi.c
57
kfree(ci->ops);
arch/loongarch/pci/acpi.c
61
static int acpi_prepare_root_resources(struct acpi_pci_root_info *ci)
arch/loongarch/pci/acpi.c
66
struct acpi_device *device = ci->bridge;
arch/loongarch/pci/acpi.c
70
status = acpi_pci_probe_root_resources(ci);
arch/loongarch/pci/acpi.c
76
resource_list_for_each_entry_safe(entry, tmp, &ci->resources) {
arch/loongarch/pci/acpi.c
78
entry->offset = ci->root->mcfg_addr & GENMASK_ULL(63, 40);
arch/loongarch/pci/acpi.c
86
resource_list_for_each_entry_safe(entry, tmp, &ci->resources) {
arch/microblaze/include/asm/cpuinfo.h
93
void set_cpuinfo_static(struct cpuinfo *ci, struct device_node *cpu);
arch/microblaze/include/asm/cpuinfo.h
94
void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu);
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
23
#define CI(c, p) { ci->c = PVR_##p(pvr); }
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
28
void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu)
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
35
if (!ci->ver_code) {
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
42
if (ci->use_instr != temp)
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
44
ci->use_instr = temp;
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
47
if (ci->use_mult != temp)
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
49
ci->use_mult = temp;
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
52
if (ci->use_fpu != temp)
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
54
ci->use_fpu = temp;
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
56
ci->use_exc = PVR_OPCODE_0x0_ILLEGAL(pvr) |
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
75
ci->icache_line_length = PVR_ICACHE_LINE_LEN(pvr) << 2;
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
83
ci->dcache_line_length = PVR_DCACHE_LINE_LEN(pvr) << 2;
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
89
if (ci->dcache_wb != temp)
arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
91
ci->dcache_wb = temp;
arch/microblaze/kernel/cpu/cpuinfo-static.c
101
ci->use_dopb = fcpu(cpu, "xlnx,d-opb");
arch/microblaze/kernel/cpu/cpuinfo-static.c
102
ci->use_iopb = fcpu(cpu, "xlnx,i-opb");
arch/microblaze/kernel/cpu/cpuinfo-static.c
103
ci->use_dlmb = fcpu(cpu, "xlnx,d-lmb");
arch/microblaze/kernel/cpu/cpuinfo-static.c
104
ci->use_ilmb = fcpu(cpu, "xlnx,i-lmb");
arch/microblaze/kernel/cpu/cpuinfo-static.c
106
ci->num_fsl = fcpu(cpu, "xlnx,fsl-links");
arch/microblaze/kernel/cpu/cpuinfo-static.c
107
ci->irq_edge = fcpu(cpu, "xlnx,interrupt-is-edge");
arch/microblaze/kernel/cpu/cpuinfo-static.c
108
ci->irq_positive = fcpu(cpu, "xlnx,edge-is-positive");
arch/microblaze/kernel/cpu/cpuinfo-static.c
109
ci->area_optimised = 0;
arch/microblaze/kernel/cpu/cpuinfo-static.c
111
ci->hw_debug = fcpu(cpu, "xlnx,debug-enabled");
arch/microblaze/kernel/cpu/cpuinfo-static.c
112
ci->num_pc_brk = fcpu(cpu, "xlnx,number-of-pc-brk");
arch/microblaze/kernel/cpu/cpuinfo-static.c
113
ci->num_rd_brk = fcpu(cpu, "xlnx,number-of-rd-addr-brk");
arch/microblaze/kernel/cpu/cpuinfo-static.c
114
ci->num_wr_brk = fcpu(cpu, "xlnx,number-of-wr-addr-brk");
arch/microblaze/kernel/cpu/cpuinfo-static.c
116
ci->pvr_user1 = fcpu(cpu, "xlnx,pvr-user1");
arch/microblaze/kernel/cpu/cpuinfo-static.c
117
ci->pvr_user2 = fcpu(cpu, "xlnx,pvr-user2");
arch/microblaze/kernel/cpu/cpuinfo-static.c
119
ci->mmu = fcpu(cpu, "xlnx,use-mmu");
arch/microblaze/kernel/cpu/cpuinfo-static.c
120
ci->mmu_privins = fcpu(cpu, "xlnx,mmu-privileged-instr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
121
ci->endian = fcpu(cpu, "xlnx,endianness");
arch/microblaze/kernel/cpu/cpuinfo-static.c
123
ci->ver_code = 0;
arch/microblaze/kernel/cpu/cpuinfo-static.c
124
ci->fpga_family_code = 0;
arch/microblaze/kernel/cpu/cpuinfo-static.c
131
ci->ver_code = cpu_ver_lookup[i].k;
arch/microblaze/kernel/cpu/cpuinfo-static.c
137
ci->fpga_family_code = family_string_lookup[i].k;
arch/microblaze/kernel/cpu/cpuinfo-static.c
142
if (ci->ver_code == 0x20 && ci->fpga_family_code != 0xf0)
arch/microblaze/kernel/cpu/cpuinfo-static.c
144
ci->use_mult = 1;
arch/microblaze/kernel/cpu/cpuinfo-static.c
23
void __init set_cpuinfo_static(struct cpuinfo *ci, struct device_node *cpu)
arch/microblaze/kernel/cpu/cpuinfo-static.c
27
ci->use_instr =
arch/microblaze/kernel/cpu/cpuinfo-static.c
40
if (ci->use_instr != i)
arch/microblaze/kernel/cpu/cpuinfo-static.c
43
ci->use_mult = fcpu(cpu, "xlnx,use-hw-mul");
arch/microblaze/kernel/cpu/cpuinfo-static.c
44
if (ci->use_mult != CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL)
arch/microblaze/kernel/cpu/cpuinfo-static.c
46
ci->use_mult =
arch/microblaze/kernel/cpu/cpuinfo-static.c
47
(ci->use_mult > 1 ?
arch/microblaze/kernel/cpu/cpuinfo-static.c
49
(ci->use_mult == 1 ? PVR0_USE_HW_MUL_MASK : 0));
arch/microblaze/kernel/cpu/cpuinfo-static.c
51
ci->use_fpu = fcpu(cpu, "xlnx,use-fpu");
arch/microblaze/kernel/cpu/cpuinfo-static.c
52
if (ci->use_fpu != CONFIG_XILINX_MICROBLAZE0_USE_FPU)
arch/microblaze/kernel/cpu/cpuinfo-static.c
54
ci->use_fpu = (ci->use_fpu > 1 ?
arch/microblaze/kernel/cpu/cpuinfo-static.c
56
(ci->use_fpu == 1 ? PVR0_USE_FPU_MASK : 0));
arch/microblaze/kernel/cpu/cpuinfo-static.c
58
ci->use_exc =
arch/microblaze/kernel/cpu/cpuinfo-static.c
72
ci->use_icache = fcpu(cpu, "xlnx,use-icache");
arch/microblaze/kernel/cpu/cpuinfo-static.c
73
ci->icache_tagbits = fcpu(cpu, "xlnx,addr-tag-bits");
arch/microblaze/kernel/cpu/cpuinfo-static.c
74
ci->icache_write = fcpu(cpu, "xlnx,allow-icache-wr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
75
ci->icache_line_length = fcpu(cpu, "xlnx,icache-line-len") << 2;
arch/microblaze/kernel/cpu/cpuinfo-static.c
76
if (!ci->icache_line_length) {
arch/microblaze/kernel/cpu/cpuinfo-static.c
78
ci->icache_line_length = 4 << 2;
arch/microblaze/kernel/cpu/cpuinfo-static.c
80
ci->icache_line_length = 1 << 2;
arch/microblaze/kernel/cpu/cpuinfo-static.c
82
ci->icache_size = fcpu(cpu, "i-cache-size");
arch/microblaze/kernel/cpu/cpuinfo-static.c
83
ci->icache_base = fcpu(cpu, "i-cache-baseaddr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
84
ci->icache_high = fcpu(cpu, "i-cache-highaddr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
86
ci->use_dcache = fcpu(cpu, "xlnx,use-dcache");
arch/microblaze/kernel/cpu/cpuinfo-static.c
87
ci->dcache_tagbits = fcpu(cpu, "xlnx,dcache-addr-tag");
arch/microblaze/kernel/cpu/cpuinfo-static.c
88
ci->dcache_write = fcpu(cpu, "xlnx,allow-dcache-wr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
89
ci->dcache_line_length = fcpu(cpu, "xlnx,dcache-line-len") << 2;
arch/microblaze/kernel/cpu/cpuinfo-static.c
90
if (!ci->dcache_line_length) {
arch/microblaze/kernel/cpu/cpuinfo-static.c
92
ci->dcache_line_length = 4 << 2;
arch/microblaze/kernel/cpu/cpuinfo-static.c
94
ci->dcache_line_length = 1 << 2;
arch/microblaze/kernel/cpu/cpuinfo-static.c
96
ci->dcache_size = fcpu(cpu, "d-cache-size");
arch/microblaze/kernel/cpu/cpuinfo-static.c
97
ci->dcache_base = fcpu(cpu, "d-cache-baseaddr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
98
ci->dcache_high = fcpu(cpu, "d-cache-highaddr");
arch/microblaze/kernel/cpu/cpuinfo-static.c
99
ci->dcache_wb = fcpu(cpu, "xlnx,dcache-use-writeback");
arch/powerpc/include/asm/opal-api.h
697
}ci;
arch/powerpc/platforms/powernv/eeh-powernv.c
1318
data->ci.ciPort);
arch/powerpc/platforms/powernv/eeh-powernv.c
1320
if (data->ci.ciPortStatus || data->ci.ciPortLdcp)
arch/powerpc/platforms/powernv/eeh-powernv.c
1322
be64_to_cpu(data->ci.ciPortStatus),
arch/powerpc/platforms/powernv/eeh-powernv.c
1323
be64_to_cpu(data->ci.ciPortLdcp));
arch/riscv/kernel/cpu.c
143
struct riscv_cpuinfo *ci = this_cpu_ptr(&riscv_cpuinfo);
arch/riscv/kernel/cpu.c
146
ci->marchid = sbi_spec_is_0_1() ? 0 : sbi_get_marchid();
arch/riscv/kernel/cpu.c
148
ci->marchid = csr_read(CSR_MARCHID);
arch/riscv/kernel/cpu.c
150
ci->marchid = 0;
arch/riscv/kernel/cpu.c
152
return ci->marchid;
arch/riscv/kernel/cpu.c
157
struct riscv_cpuinfo *ci = this_cpu_ptr(&riscv_cpuinfo);
arch/riscv/kernel/cpu.c
160
ci->mvendorid = sbi_spec_is_0_1() ? 0 : sbi_get_mvendorid();
arch/riscv/kernel/cpu.c
162
ci->mvendorid = csr_read(CSR_MVENDORID);
arch/riscv/kernel/cpu.c
164
ci->mvendorid = 0;
arch/riscv/kernel/cpu.c
166
return ci->mvendorid;
arch/riscv/kernel/cpu.c
173
struct riscv_cpuinfo *ci = per_cpu_ptr(&riscv_cpuinfo, cpu_id);
arch/riscv/kernel/cpu.c
175
return ci->mvendorid;
arch/riscv/kernel/cpu.c
181
struct riscv_cpuinfo *ci = per_cpu_ptr(&riscv_cpuinfo, cpu_id);
arch/riscv/kernel/cpu.c
183
return ci->marchid;
arch/riscv/kernel/cpu.c
189
struct riscv_cpuinfo *ci = per_cpu_ptr(&riscv_cpuinfo, cpu_id);
arch/riscv/kernel/cpu.c
191
return ci->mimpid;
arch/riscv/kernel/cpu.c
197
struct riscv_cpuinfo *ci = this_cpu_ptr(&riscv_cpuinfo);
arch/riscv/kernel/cpu.c
200
if (!ci->mvendorid)
arch/riscv/kernel/cpu.c
201
ci->mvendorid = sbi_spec_is_0_1() ? 0 : sbi_get_mvendorid();
arch/riscv/kernel/cpu.c
202
if (!ci->marchid)
arch/riscv/kernel/cpu.c
203
ci->marchid = sbi_spec_is_0_1() ? 0 : sbi_get_marchid();
arch/riscv/kernel/cpu.c
204
ci->mimpid = sbi_spec_is_0_1() ? 0 : sbi_get_mimpid();
arch/riscv/kernel/cpu.c
206
if (!ci->mvendorid)
arch/riscv/kernel/cpu.c
207
ci->mvendorid = csr_read(CSR_MVENDORID);
arch/riscv/kernel/cpu.c
208
if (!ci->marchid)
arch/riscv/kernel/cpu.c
209
ci->marchid = csr_read(CSR_MARCHID);
arch/riscv/kernel/cpu.c
210
ci->mimpid = csr_read(CSR_MIMPID);
arch/riscv/kernel/cpu.c
212
ci->mvendorid = 0;
arch/riscv/kernel/cpu.c
213
ci->marchid = 0;
arch/riscv/kernel/cpu.c
214
ci->mimpid = 0;
arch/riscv/kernel/cpu.c
332
struct riscv_cpuinfo *ci = per_cpu_ptr(&riscv_cpuinfo, cpu_id);
arch/riscv/kernel/cpu.c
359
seq_printf(m, "mvendorid\t: 0x%lx\n", ci->mvendorid);
arch/riscv/kernel/cpu.c
360
seq_printf(m, "marchid\t\t: 0x%lx\n", ci->marchid);
arch/riscv/kernel/cpu.c
361
seq_printf(m, "mimpid\t\t: 0x%lx\n", ci->mimpid);
arch/s390/kernel/cache.c
136
ctype = get_cache_type(&ct.ci[0], level);
arch/s390/kernel/cache.c
160
pvt = (ct.ci[level].scope == CACHE_SCOPE_PRIVATE) ? 1 : 0;
arch/s390/kernel/cache.c
161
ctype = get_cache_type(&ct.ci[0], level);
arch/s390/kernel/cache.c
48
struct cache_info ci[CACHE_MAX_LEVEL];
arch/s390/kernel/cache.c
88
static inline enum cache_type get_cache_type(struct cache_info *ci, int level)
arch/s390/kernel/cache.c
92
ci += level;
arch/s390/kernel/cache.c
93
if (ci->scope != CACHE_SCOPE_SHARED && ci->scope != CACHE_SCOPE_PRIVATE)
arch/s390/kernel/cache.c
95
return cache_type_map[ci->type];
arch/s390/kernel/perf_cpum_cf_events.c
1002
qctri(&ci);
arch/s390/kernel/perf_cpum_cf_events.c
1003
switch (ci.cfvn) {
arch/s390/kernel/perf_cpum_cf_events.c
1016
if (ci.csvn >= 1 && ci.csvn <= 5)
arch/s390/kernel/perf_cpum_cf_events.c
1018
else if (ci.csvn >= 6)
arch/s390/kernel/perf_cpum_cf_events.c
998
struct cpumf_ctr_info ci;
arch/s390/kernel/perf_event.c
151
struct cpumf_ctr_info ci;
arch/s390/kernel/perf_event.c
153
memset(&ci, 0, sizeof(ci));
arch/s390/kernel/perf_event.c
154
if (qctri(&ci))
arch/s390/kernel/perf_event.c
158
"authorization=%04x\n", ci.cfvn, ci.csvn, ci.auth_ctl);
arch/x86/kernel/cpu/amd_cache_disable.c
148
static ssize_t store_cache_disable(struct cacheinfo *ci, const char *buf,
arch/x86/kernel/cpu/amd_cache_disable.c
151
struct amd_northbridge *nb = ci->priv;
arch/x86/kernel/cpu/amd_cache_disable.c
158
cpu = cpumask_first(&ci->shared_cpu_map);
arch/x86/kernel/cpu/amd_cache_disable.c
179
struct cacheinfo *ci = dev_get_drvdata(dev); \
arch/x86/kernel/cpu/amd_cache_disable.c
180
return store_cache_disable(ci, buf, count, slot); \
arch/x86/kernel/cpu/amd_cache_disable.c
189
struct cacheinfo *ci = dev_get_drvdata(dev);
arch/x86/kernel/cpu/amd_cache_disable.c
190
int cpu = cpumask_first(&ci->shared_cpu_map);
arch/x86/kernel/cpu/amd_cache_disable.c
199
struct cacheinfo *ci = dev_get_drvdata(dev);
arch/x86/kernel/cpu/amd_cache_disable.c
200
int cpu = cpumask_first(&ci->shared_cpu_map);
arch/x86/kernel/cpu/amd_cache_disable.c
223
struct cacheinfo *ci = dev_get_drvdata(dev);
arch/x86/kernel/cpu/amd_cache_disable.c
226
if (!ci->priv)
arch/x86/kernel/cpu/amd_cache_disable.c
273
const struct attribute_group *cache_get_priv_group(struct cacheinfo *ci)
arch/x86/kernel/cpu/amd_cache_disable.c
275
struct amd_northbridge *nb = ci->priv;
arch/x86/kernel/cpu/amd_cache_disable.c
277
if (ci->level < 3 || !nb)
arch/x86/kernel/cpu/amd_cache_disable.c
62
static ssize_t show_cache_disable(struct cacheinfo *ci, char *buf, unsigned int slot)
arch/x86/kernel/cpu/amd_cache_disable.c
65
struct amd_northbridge *nb = ci->priv;
arch/x86/kernel/cpu/amd_cache_disable.c
79
struct cacheinfo *ci = dev_get_drvdata(dev); \
arch/x86/kernel/cpu/amd_cache_disable.c
80
return show_cache_disable(ci, buf, slot); \
arch/x86/kernel/cpu/cacheinfo.c
353
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(c->cpu_index);
arch/x86/kernel/cpu/cacheinfo.c
356
ci->num_leaves = find_num_cache_leaves(c);
arch/x86/kernel/cpu/cacheinfo.c
358
ci->num_leaves = (cpuid_edx(0x80000006) & 0xf000) ? 4 : 3;
arch/x86/kernel/cpu/cacheinfo.c
363
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(c->cpu_index);
arch/x86/kernel/cpu/cacheinfo.c
365
ci->num_leaves = find_num_cache_leaves(c);
arch/x86/kernel/cpu/cacheinfo.c
425
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(c->cpu_index);
arch/x86/kernel/cpu/cacheinfo.c
436
if (!ci->num_leaves)
arch/x86/kernel/cpu/cacheinfo.c
437
ci->num_leaves = find_num_cache_leaves(c);
arch/x86/kernel/cpu/cacheinfo.c
439
if (!ci->num_leaves)
arch/x86/kernel/cpu/cacheinfo.c
442
for (int i = 0; i < ci->num_leaves; i++) {
arch/x86/kernel/cpu/cacheinfo.c
492
struct cacheinfo *ci;
arch/x86/kernel/cpu/cacheinfo.c
505
ci = this_cpu_ci->info_list + index;
arch/x86/kernel/cpu/cacheinfo.c
509
cpumask_set_cpu(sibling, &ci->shared_cpu_map);
arch/x86/kernel/cpu/cacheinfo.c
529
ci = this_cpu_ci->info_list + index;
arch/x86/kernel/cpu/cacheinfo.c
535
cpumask_set_cpu(sibling, &ci->shared_cpu_map);
arch/x86/kernel/cpu/cacheinfo.c
552
struct cacheinfo *ci, *sibling_ci;
arch/x86/kernel/cpu/cacheinfo.c
561
ci = this_cpu_ci->info_list + index;
arch/x86/kernel/cpu/cacheinfo.c
564
cpumask_set_cpu(cpu, &ci->shared_cpu_map);
arch/x86/kernel/cpu/cacheinfo.c
579
cpumask_set_cpu(i, &ci->shared_cpu_map);
arch/x86/kernel/cpu/cacheinfo.c
584
static void ci_info_init(struct cacheinfo *ci, const struct _cpuid4_info *id4,
arch/x86/kernel/cpu/cacheinfo.c
587
ci->id = id4->id;
arch/x86/kernel/cpu/cacheinfo.c
588
ci->attributes = CACHE_ID;
arch/x86/kernel/cpu/cacheinfo.c
589
ci->level = id4->eax.split.level;
arch/x86/kernel/cpu/cacheinfo.c
590
ci->type = cache_type_map[id4->eax.split.type];
arch/x86/kernel/cpu/cacheinfo.c
591
ci->coherency_line_size = id4->ebx.split.coherency_line_size + 1;
arch/x86/kernel/cpu/cacheinfo.c
592
ci->ways_of_associativity = id4->ebx.split.ways_of_associativity + 1;
arch/x86/kernel/cpu/cacheinfo.c
593
ci->size = id4->size;
arch/x86/kernel/cpu/cacheinfo.c
594
ci->number_of_sets = id4->ecx.split.number_of_sets + 1;
arch/x86/kernel/cpu/cacheinfo.c
595
ci->physical_line_partition = id4->ebx.split.physical_line_partition + 1;
arch/x86/kernel/cpu/cacheinfo.c
596
ci->priv = nb;
arch/x86/kernel/cpu/cacheinfo.c
601
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(cpu);
arch/x86/kernel/cpu/cacheinfo.c
604
if (!ci->num_leaves)
arch/x86/kernel/cpu/cacheinfo.c
613
struct cacheinfo *ci = this_cpu_ci->info_list;
arch/x86/kernel/cpu/cacheinfo.c
630
ci_info_init(ci++, &id4, nb);
arch/x86/kernel/cpu/resctrl/core.c
532
struct cacheinfo *ci;
arch/x86/kernel/cpu/resctrl/core.c
543
ci = get_cpu_cacheinfo_level(cpu, RESCTRL_L3_CACHE);
arch/x86/kernel/cpu/resctrl/core.c
544
if (!ci) {
arch/x86/kernel/cpu/resctrl/core.c
549
d->ci_id = ci->id;
arch/x86/pci/acpi.c
392
static int setup_mcfg_map(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
396
struct acpi_pci_root *root = ci->root;
arch/x86/pci/acpi.c
397
struct device *dev = &ci->bridge->dev;
arch/x86/pci/acpi.c
399
info = container_of(ci, struct pci_root_info, common);
arch/x86/pci/acpi.c
429
static void teardown_mcfg_map(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
433
info = container_of(ci, struct pci_root_info, common);
arch/x86/pci/acpi.c
441
static int setup_mcfg_map(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
446
static void teardown_mcfg_map(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
469
static int pci_acpi_root_init_info(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
471
return setup_mcfg_map(ci);
arch/x86/pci/acpi.c
474
static void pci_acpi_root_release_info(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
476
teardown_mcfg_map(ci);
arch/x86/pci/acpi.c
477
kfree(container_of(ci, struct pci_root_info, common));
arch/x86/pci/acpi.c
500
static int pci_acpi_root_prepare_resources(struct acpi_pci_root_info *ci)
arch/x86/pci/acpi.c
502
struct acpi_device *device = ci->bridge;
arch/x86/pci/acpi.c
503
int busnum = ci->root->secondary.start;
arch/x86/pci/acpi.c
507
status = acpi_pci_probe_root_resources(ci);
arch/x86/pci/acpi.c
510
resource_list_for_each_entry_safe(entry, tmp, &ci->resources)
arch/x86/pci/acpi.c
516
resource_list_for_each_entry_safe(entry, tmp, &ci->resources) {
arch/x86/pci/acpi.c
521
x86_pci_root_bus_resources(busnum, &ci->resources);
crypto/krb5/krb5_api.c
207
struct crypto_aead *ci = NULL;
crypto/krb5/krb5_api.c
210
ci = crypto_alloc_aead(krb5->encrypt_name, 0, CRYPTO_ALG_ASYNC);
crypto/krb5/krb5_api.c
211
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
212
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
218
ret = crypto_aead_setkey(ci, keys->data, keys->len);
crypto/krb5/krb5_api.c
224
ret = crypto_aead_setauthsize(ci, krb5->cksum_len);
crypto/krb5/krb5_api.c
230
return ci;
crypto/krb5/krb5_api.c
232
crypto_free_aead(ci);
crypto/krb5/krb5_api.c
252
struct crypto_aead *ci = NULL;
crypto/krb5/krb5_api.c
260
ci = krb5_prepare_encryption(krb5, &keys, gfp);
crypto/krb5/krb5_api.c
261
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
262
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
267
return ci;
crypto/krb5/krb5_api.c
281
struct crypto_shash *ci = NULL;
crypto/krb5/krb5_api.c
284
ci = crypto_alloc_shash(krb5->cksum_name, 0, 0);
crypto/krb5/krb5_api.c
285
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
286
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
292
ret = crypto_shash_setkey(ci, Kc->data, Kc->len);
crypto/krb5/krb5_api.c
298
return ci;
crypto/krb5/krb5_api.c
300
crypto_free_shash(ci);
crypto/krb5/krb5_api.c
320
struct crypto_shash *ci = NULL;
crypto/krb5/krb5_api.c
330
ci = krb5_prepare_checksum(krb5, &keys, gfp);
crypto/krb5/krb5_api.c
331
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
332
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
337
return ci;
crypto/krb5/selftest.c
244
struct crypto_aead *ci = NULL;
crypto/krb5/selftest.c
294
ci = crypto_krb5_prepare_encryption(krb5, &K0, test->usage, GFP_KERNEL);
crypto/krb5/selftest.c
296
ci = krb5_prepare_encryption(krb5, &keys, GFP_KERNEL);
crypto/krb5/selftest.c
298
if (IS_ERR(ci)) {
crypto/krb5/selftest.c
299
ret = PTR_ERR(ci);
crypto/krb5/selftest.c
300
ci = NULL;
crypto/krb5/selftest.c
307
ret = crypto_krb5_encrypt(krb5, ci, sg, 1, message_len,
crypto/krb5/selftest.c
333
ret = crypto_krb5_decrypt(krb5, ci, sg, 1, &data_offset, &data_len);
crypto/krb5/selftest.c
372
if (ci)
crypto/krb5/selftest.c
373
crypto_free_aead(ci);
crypto/krb5/selftest.c
383
struct crypto_shash *ci = NULL;
crypto/krb5/selftest.c
397
ci = crypto_krb5_prepare_checksum(krb5, &K0, test->usage, GFP_KERNEL);
crypto/krb5/selftest.c
405
ci = krb5_prepare_checksum(krb5, &Kc, GFP_KERNEL);
crypto/krb5/selftest.c
407
if (IS_ERR(ci)) {
crypto/krb5/selftest.c
408
ret = PTR_ERR(ci);
crypto/krb5/selftest.c
409
ci = NULL;
crypto/krb5/selftest.c
433
ret = crypto_krb5_get_mic(krb5, ci, NULL, sg, 1, 1024,
crypto/krb5/selftest.c
458
ret = crypto_krb5_verify_mic(krb5, ci, NULL, sg, 1, &offset, &len);
crypto/krb5/selftest.c
486
if (ci)
crypto/krb5/selftest.c
487
crypto_free_shash(ci);
drivers/accel/habanalabs/common/device.c
1082
hdev->event_queue.ci,
drivers/accel/habanalabs/common/device.c
1086
atomic_read(&hdev->kernel_queues[cpu_q_id].ci),
drivers/accel/habanalabs/common/device.c
1087
atomic_read(&hdev->kernel_queues[cpu_q_id].ci) & pq_pi_mask,
drivers/accel/habanalabs/common/habanalabs.h
1096
atomic_t ci;
drivers/accel/habanalabs/common/habanalabs.h
1123
u32 ci;
drivers/accel/habanalabs/common/habanalabs.h
1264
u32 ci;
drivers/accel/habanalabs/common/hw_queue.c
1149
atomic_set(&q->ci, 0);
drivers/accel/habanalabs/common/hw_queue.c
26
static inline int queue_ci_get(atomic_t *ci, u32 queue_len)
drivers/accel/habanalabs/common/hw_queue.c
28
return atomic_read(ci) & ((queue_len << 1) - 1);
drivers/accel/habanalabs/common/hw_queue.c
33
int delta = (q->pi - queue_ci_get(&q->ci, queue_len));
drivers/accel/habanalabs/common/hw_queue.c
63
atomic_add(cs->jobs_in_queue_cnt[i], &q->ci);
drivers/accel/habanalabs/common/hw_queue.c
821
atomic_inc(&q->ci);
drivers/accel/habanalabs/common/hw_queue.c
850
atomic_set(&q->ci, 0);
drivers/accel/habanalabs/common/hw_queue.c
880
atomic_set(&q->ci, 0);
drivers/accel/habanalabs/common/hw_queue.c
907
atomic_set(&q->ci, 0);
drivers/accel/habanalabs/common/irq.c
116
atomic_inc(&queue->ci);
drivers/accel/habanalabs/common/irq.c
149
cq_entry = (struct hl_cq_entry *) &cq_base[cq->ci];
drivers/accel/habanalabs/common/irq.c
188
cq->ci = hl_cq_inc_ptr(cq->ci);
drivers/accel/habanalabs/common/irq.c
512
cur_eqe = le32_to_cpu(eq_base[eq->ci].hdr.ctl);
drivers/accel/habanalabs/common/irq.c
531
eq_entry = &eq_base[eq->ci];
drivers/accel/habanalabs/common/irq.c
563
eq->ci = hl_eq_inc_ptr(eq->ci);
drivers/accel/habanalabs/common/irq.c
565
hdev->asic_funcs->update_eq_ci(hdev, eq->ci);
drivers/accel/habanalabs/common/irq.c
608
q->ci = 0;
drivers/accel/habanalabs/common/irq.c
631
q->ci = 0;
drivers/accel/habanalabs/common/irq.c
667
q->ci = 0;
drivers/accel/habanalabs/common/irq.c
690
q->ci = 0;
drivers/accel/habanalabs/common/irq.c
88
atomic_inc(&queue->ci);
drivers/accel/habanalabs/gaudi/gaudi.c
6854
u32 ci, qm_ci_stream_off, queue_len;
drivers/accel/habanalabs/gaudi/gaudi.c
6873
ci = RREG32(pq_ci);
drivers/accel/habanalabs/gaudi/gaudi.c
6876
ci = gaudi_queue_idx_dec(ci, queue_len);
drivers/accel/habanalabs/gaudi/gaudi.c
6884
bd += ci;
drivers/accel/habanalabs/gaudi/gaudi.c
6894
stream, ci, addr[i], len);
drivers/accel/habanalabs/gaudi/gaudi.c
6897
ci = gaudi_queue_idx_dec(ci, queue_len);
drivers/accel/habanalabs/gaudi/gaudi.c
7286
le32_to_cpu(sync_err->pi), le32_to_cpu(sync_err->ci), q->pi, atomic_read(&q->ci));
drivers/accel/habanalabs/gaudi2/gaudi2.c
7303
polling_addr = (u32 *)&cq_base[cq->ci];
drivers/accel/habanalabs/gaudi2/gaudi2.c
7329
cq->ci = hl_cq_inc_ptr(cq->ci);
drivers/accel/habanalabs/gaudi2/gaudi2.c
9873
le32_to_cpu(sync_err->pi), le32_to_cpu(sync_err->ci),
drivers/accel/habanalabs/gaudi2/gaudi2.c
9874
q->pi, atomic_read(&q->ci));
drivers/accel/habanalabs/gaudi2/gaudi2.c
9950
le32_to_cpu(sync_err->pi), le32_to_cpu(sync_err->ci), q->pi, atomic_read(&q->ci));
drivers/accel/habanalabs/goya/goya.c
4472
le32_to_cpu(sync_err->pi), le32_to_cpu(sync_err->ci), q->pi, atomic_read(&q->ci));
drivers/ata/sata_sil24.c
1014
const struct sil24_cerr_info *ci = NULL;
drivers/ata/sata_sil24.c
1058
ci = &sil24_cerr_db[cerr];
drivers/ata/sata_sil24.c
1060
if (ci && ci->desc) {
drivers/ata/sata_sil24.c
1061
err_mask |= ci->err_mask;
drivers/ata/sata_sil24.c
1062
action |= ci->action;
drivers/ata/sata_sil24.c
1065
ata_ehi_push_desc(ehi, "%s", ci->desc);
drivers/base/cacheinfo.c
1004
ci = ci_cacheinfo(cpu);
drivers/base/cacheinfo.c
1012
ci->per_cpu_data_slice_size = llc->size / nr_shared;
drivers/base/cacheinfo.c
997
struct cpu_cacheinfo *ci;
drivers/bcma/driver_pcie2.c
162
struct bcma_chipinfo *ci = &bus->chipinfo;
drivers/bcma/driver_pcie2.c
179
if (ci->id == BCMA_CHIP_ID_BCM4360 && ci->rev > 3)
drivers/bluetooth/btintel_pcie.c
1802
struct ctx_info *ci)
drivers/bluetooth/btintel_pcie.c
1804
ci->version = 0x1;
drivers/bluetooth/btintel_pcie.c
1805
ci->size = sizeof(*ci);
drivers/bluetooth/btintel_pcie.c
1806
ci->config = 0x0000;
drivers/bluetooth/btintel_pcie.c
1807
ci->addr_cr_hia = data->ia.cr_hia_p_addr;
drivers/bluetooth/btintel_pcie.c
1808
ci->addr_tr_tia = data->ia.tr_tia_p_addr;
drivers/bluetooth/btintel_pcie.c
1809
ci->addr_cr_tia = data->ia.cr_tia_p_addr;
drivers/bluetooth/btintel_pcie.c
1810
ci->addr_tr_hia = data->ia.tr_hia_p_addr;
drivers/bluetooth/btintel_pcie.c
1811
ci->num_cr_ia = BTINTEL_PCIE_NUM_QUEUES;
drivers/bluetooth/btintel_pcie.c
1812
ci->num_tr_ia = BTINTEL_PCIE_NUM_QUEUES;
drivers/bluetooth/btintel_pcie.c
1813
ci->addr_urbdq0 = data->txq.urbd0s_p_addr;
drivers/bluetooth/btintel_pcie.c
1814
ci->addr_tfdq = data->txq.tfds_p_addr;
drivers/bluetooth/btintel_pcie.c
1815
ci->num_tfdq = data->txq.count;
drivers/bluetooth/btintel_pcie.c
1816
ci->num_urbdq0 = data->txq.count;
drivers/bluetooth/btintel_pcie.c
1817
ci->tfdq_db_vec = BTINTEL_PCIE_TXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1818
ci->urbdq0_db_vec = BTINTEL_PCIE_TXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1819
ci->rbd_size = BTINTEL_PCIE_RBD_SIZE_4K;
drivers/bluetooth/btintel_pcie.c
1820
ci->addr_frbdq = data->rxq.frbds_p_addr;
drivers/bluetooth/btintel_pcie.c
1821
ci->num_frbdq = data->rxq.count;
drivers/bluetooth/btintel_pcie.c
1822
ci->frbdq_db_vec = BTINTEL_PCIE_RXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1823
ci->addr_urbdq1 = data->rxq.urbd1s_p_addr;
drivers/bluetooth/btintel_pcie.c
1824
ci->num_urbdq1 = data->rxq.count;
drivers/bluetooth/btintel_pcie.c
1825
ci->urbdq_db_vec = BTINTEL_PCIE_RXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1827
ci->dbg_output_mode = 0x01;
drivers/bluetooth/btintel_pcie.c
1828
ci->dbgc_addr = data->dbgc.frag_p_addr;
drivers/bluetooth/btintel_pcie.c
1829
ci->dbgc_size = data->dbgc.frag_size;
drivers/bluetooth/btintel_pcie.c
1830
ci->dbg_preset = 0x00;
drivers/bluetooth/btintel_pcie.c
2062
data->ci = v_addr;
drivers/bluetooth/btintel_pcie.c
2066
btintel_pcie_init_ci(data, data->ci);
drivers/bluetooth/btintel_pcie.h
527
struct ctx_info *ci;
drivers/char/agp/parisc-agp.c
198
unsigned ci; /* coherent index */
drivers/char/agp/parisc-agp.c
202
asm("lci 0(%1), %0" : "=r" (ci) : "r" (phys_to_virt(pa)));
drivers/char/agp/parisc-agp.c
204
pa |= (ci >> PAGE_SHIFT) & 0xff;/* move CI (8 bits) into lowest byte */
drivers/clk/clk-scmi.c
319
const struct scmi_clock_info *ci = sclk->info;
drivers/clk/clk-scmi.c
328
if (atomic_capable && ci->enable_latency <= atomic_threshold_us)
drivers/clk/clk-scmi.c
331
if (!ci->state_ctrl_forbidden)
drivers/clk/clk-scmi.c
334
if (!ci->rate_ctrl_forbidden)
drivers/clk/clk-scmi.c
337
if (!ci->parent_ctrl_forbidden)
drivers/clk/clk-scmi.c
340
if (ci->extended_config) {
drivers/clk/tegra/clk-dfll.c
1406
(td->ci << DFLL_PARAMS_CI_PARAM_SHIFT) |
drivers/clk/tegra/clk-dfll.c
1912
ok &= read_dt_param(td, "nvidia,ci", &td->ci);
drivers/clk/tegra/clk-dfll.c
293
u32 ci;
drivers/cpufreq/cpufreq.c
253
static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
drivers/cpufreq/cpufreq.c
259
if (ci->flags & CPUFREQ_CONST_LOOPS)
drivers/cpufreq/cpufreq.c
264
l_p_j_ref_freq = ci->old;
drivers/cpufreq/cpufreq.c
268
if (val == CPUFREQ_POSTCHANGE && ci->old != ci->new) {
drivers/cpufreq/cpufreq.c
270
ci->new);
drivers/cpufreq/cpufreq.c
272
loops_per_jiffy, ci->new);
drivers/crypto/nx/nx-common-powernv.c
47
unsigned int ci; /* Coprocessor instance, used with icswx */
drivers/crypto/nx/nx-common-powernv.c
952
unsigned int ct, ci;
drivers/crypto/nx/nx-common-powernv.c
966
if (of_property_read_u32(dn, "ibm,842-coprocessor-instance", &ci)) {
drivers/crypto/nx/nx-common-powernv.c
976
coproc->ci = ci;
drivers/crypto/nx/nx-common-powernv.c
979
pr_info("coprocessor found on chip %d, CT %d CI %d\n", chip_id, ct, ci);
drivers/crypto/starfive/jh7110-aes.c
375
u8 *ci;
drivers/crypto/starfive/jh7110-aes.c
380
ci = rctx->adata;
drivers/crypto/starfive/jh7110-aes.c
381
writeb(*ci, cryp->base + STARFIVE_AES_AESDIO0R);
drivers/crypto/starfive/jh7110-aes.c
382
ci++;
drivers/crypto/starfive/jh7110-aes.c
383
writeb(*ci, cryp->base + STARFIVE_AES_AESDIO0R);
drivers/crypto/starfive/jh7110-aes.c
384
ci++;
drivers/crypto/starfive/jh7110-aes.c
386
buffer = (u32 *)ci;
drivers/dma/qcom/qcom_adm.c
38
#define ADM_CI_OFFS(ci) (ADM_CHAN_OFF(ci))
drivers/dma/qcom/qcom_adm.c
46
#define ADM_CI_CONF(ci) (0x390 + (ci) * ADM_CI_MULTI)
drivers/edac/edac_device.h
340
static inline void __edac_device_free_ctl_info(struct edac_device_ctl_info *ci)
drivers/edac/edac_device.h
342
if (ci) {
drivers/edac/edac_device.h
343
kfree(ci->pvt_info);
drivers/edac/edac_device.h
344
kfree(ci->blocks);
drivers/edac/edac_device.h
345
kfree(ci->instances);
drivers/edac/edac_device.h
346
kfree(ci);
drivers/firewire/core-device.c
137
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
140
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
141
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
285
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
311
fw_csr_iterator_init(&ci, directories[i]);
drivers/firewire/core-device.c
312
while (fw_csr_iterator_next(&ci, &key, &val)) {
drivers/firewire/core-device.c
34
void fw_csr_iterator_init(struct fw_csr_iterator *ci, const u32 *p)
drivers/firewire/core-device.c
36
ci->p = p + 1;
drivers/firewire/core-device.c
37
ci->end = ci->p + (p[0] >> 16);
drivers/firewire/core-device.c
41
int fw_csr_iterator_next(struct fw_csr_iterator *ci, int *key, int *value)
drivers/firewire/core-device.c
43
*key = *ci->p >> 24;
drivers/firewire/core-device.c
44
*value = *ci->p & 0xffffff;
drivers/firewire/core-device.c
46
return ci->p++ < ci->end;
drivers/firewire/core-device.c
492
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
497
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
498
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
516
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
52
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
521
fw_csr_iterator_init(&ci, &device->config_rom[ROOT_DIR_OFFSET]);
drivers/firewire/core-device.c
522
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
525
i += units_sprintf(&buf[i], ci.p + value - 1);
drivers/firewire/core-device.c
57
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
58
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
60
return ci.p - 1 + value;
drivers/firewire/core-device.c
68
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
71
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
72
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
75
return ci.p - 1 + value;
drivers/firewire/core-device.c
837
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
842
fw_csr_iterator_init(&ci, &device->config_rom[ROOT_DIR_OFFSET]);
drivers/firewire/core-device.c
843
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
855
unit->directory = ci.p + value - 1;
drivers/firewire/sbp2.c
1007
struct fw_csr_iterator ci;
drivers/firewire/sbp2.c
1010
fw_csr_iterator_init(&ci, directory);
drivers/firewire/sbp2.c
1011
while (fw_csr_iterator_next(&ci, &key, &value))
drivers/firewire/sbp2.c
1021
struct fw_csr_iterator ci;
drivers/firewire/sbp2.c
1024
fw_csr_iterator_init(&ci, directory);
drivers/firewire/sbp2.c
1025
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/sbp2.c
1056
sbp2_get_unit_unique_id(tgt, ci.p - 1 + value);
drivers/firewire/sbp2.c
1061
if (sbp2_scan_logical_unit_dir(tgt, ci.p - 1 + value) < 0)
drivers/firmware/arm_scmi/clock.c
1030
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1032
return ci->clock_config_get(ph, clk_id, NULL_OEM_TYPE, NULL,
drivers/firmware/arm_scmi/clock.c
1041
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1044
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
1051
return ci->clock_config_set(ph, clk_id, CLK_STATE_UNCHANGED,
drivers/firmware/arm_scmi/clock.c
1060
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1063
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
1070
return ci->clock_config_get(ph, clk_id, oem_type, attributes,
drivers/firmware/arm_scmi/clock.c
1076
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1078
return ci->num_clocks;
drivers/firmware/arm_scmi/clock.c
1085
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1087
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
1118
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1123
clk = scmi_clock_domain_lookup(ci, src_id);
drivers/firmware/arm_scmi/clock.c
1197
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1199
if (!ci)
drivers/firmware/arm_scmi/clock.c
1202
return ci->num_clocks;
drivers/firmware/arm_scmi/clock.c
196
scmi_clock_domain_lookup(struct clock_info *ci, u32 clk_id)
drivers/firmware/arm_scmi/clock.c
198
if (clk_id >= ci->num_clocks)
drivers/firmware/arm_scmi/clock.c
201
return CLOCK_INFO(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
206
struct clock_info *ci)
drivers/firmware/arm_scmi/clock.c
221
ci->num_clocks = le16_to_cpu(attr->num_clocks);
drivers/firmware/arm_scmi/clock.c
222
ci->max_async_req = attr->max_async_req;
drivers/firmware/arm_scmi/clock.c
229
ci->notify_rate_changed_cmd = true;
drivers/firmware/arm_scmi/clock.c
234
ci->notify_rate_change_requested_cmd = true;
drivers/firmware/arm_scmi/clock.c
670
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
673
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
684
if (ci->max_async_req &&
drivers/firmware/arm_scmi/clock.c
685
atomic_inc_return(&ci->cur_async_req) < ci->max_async_req)
drivers/firmware/arm_scmi/clock.c
711
if (ci->max_async_req)
drivers/firmware/arm_scmi/clock.c
712
atomic_dec(&ci->cur_async_req);
drivers/firmware/arm_scmi/clock.c
724
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
729
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
767
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
771
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
827
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
830
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
923
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
926
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
933
return ci->clock_config_set(ph, clk_id, CLK_STATE_ENABLE,
drivers/firmware/arm_scmi/clock.c
940
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
943
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
950
return ci->clock_config_set(ph, clk_id, CLK_STATE_DISABLE,
drivers/firmware/arm_scmi/transports/virtio.c
35
#define VIRTIO_SCMI_MAX_PDU_SIZE(ci) \
drivers/firmware/arm_scmi/transports/virtio.c
36
((ci)->max_msg_size + SCMI_MSG_MAX_PROT_OVERHEAD)
drivers/gpu/drm/amd/amdgpu/amdgpu_display.h
38
#define amdgpu_display_add_connector(adev, ci, sd, ct, ib, coi, h, r) (adev)->mode_info.funcs->add_connector((adev), (ci), (sd), (ct), (ib), (coi), (h), (r))
drivers/gpu/drm/i915/gem/i915_gem_context.c
148
const struct i915_engine_class_instance *ci)
drivers/gpu/drm/i915/gem/i915_gem_context.c
160
ci->engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
161
ci->engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
167
idx = ci->engine_instance;
drivers/gpu/drm/i915/gem/i915_gem_context.c
450
struct i915_engine_class_instance ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
452
if (copy_from_user(&ci, &ext->engines[n], sizeof(ci))) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
458
ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
459
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
463
n, ci.engine_class, ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
494
struct i915_engine_class_instance ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
538
if (copy_from_user(&ci, &ext->master, sizeof(ci)))
drivers/gpu/drm/i915/gem/i915_gem_context.c
542
ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
543
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
547
ci.engine_class, ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
562
if (copy_from_user(&ci, &ext->engines[n], sizeof(ci)))
drivers/gpu/drm/i915/gem/i915_gem_context.c
566
ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
567
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
571
n, ci.engine_class, ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
657
struct i915_engine_class_instance ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
660
if (copy_from_user(&ci, &ext->engines[n], sizeof(ci))) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
666
intel_engine_lookup_user(i915, ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
667
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
671
n, ci.engine_class, ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
688
ci.engine_class) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
692
ci.engine_class);
drivers/gpu/drm/i915/gem/i915_gem_context.c
698
prev_engine = ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
768
struct i915_engine_class_instance ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
771
if (copy_from_user(&ci, &user->engines[n], sizeof(ci))) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
778
if (ci.engine_class == (u16)I915_ENGINE_CLASS_INVALID &&
drivers/gpu/drm/i915/gem/i915_gem_context.c
779
ci.engine_instance == (u16)I915_ENGINE_CLASS_INVALID_NONE)
drivers/gpu/drm/i915/gem/i915_gem_context.c
783
ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
784
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
788
n, ci.engine_class, ci.engine_instance);
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
383
int i, ret, pi = 0, ci = 0;
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
437
cursor[ci++] = plane;
drivers/gpu/drm/msm/dp/dp_utils.c
58
u8 ci = 0;
drivers/gpu/drm/msm/dp/dp_utils.c
67
ci = iData ^ x1;
drivers/gpu/drm/msm/dp/dp_utils.c
68
x1 = x0 ^ msm_dp_utils_get_g1_value(ci);
drivers/gpu/drm/msm/dp/dp_utils.c
69
x0 = msm_dp_utils_get_g0_value(ci);
drivers/gpu/drm/radeon/ci_dpm.c
5390
struct _ATOM_PPLIB_CI_CLOCK_INFO ci;
drivers/gpu/drm/radeon/ci_dpm.c
5431
pl->sclk = le16_to_cpu(clock_info->ci.usEngineClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5432
pl->sclk |= clock_info->ci.ucEngineClockHigh << 16;
drivers/gpu/drm/radeon/ci_dpm.c
5433
pl->mclk = le16_to_cpu(clock_info->ci.usMemoryClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5434
pl->mclk |= clock_info->ci.ucMemoryClockHigh << 16;
drivers/gpu/drm/radeon/ci_dpm.c
5439
clock_info->ci.ucPCIEGen);
drivers/gpu/drm/radeon/ci_dpm.c
5442
le16_to_cpu(clock_info->ci.usPCIELane));
drivers/gpu/drm/radeon/ci_dpm.c
5574
sclk = le16_to_cpu(clock_info->ci.usEngineClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5575
sclk |= clock_info->ci.ucEngineClockHigh << 16;
drivers/gpu/drm/radeon/ci_dpm.c
5576
mclk = le16_to_cpu(clock_info->ci.usMemoryClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5577
mclk |= clock_info->ci.ucMemoryClockHigh << 16;
drivers/gpu/drm/radeon/radeon_atombios.c
2033
struct _ATOM_PPLIB_CI_CLOCK_INFO ci;
drivers/gpu/drm/radeon/radeon_atombios.c
2491
sclk = le16_to_cpu(clock_info->ci.usEngineClockLow);
drivers/gpu/drm/radeon/radeon_atombios.c
2492
sclk |= clock_info->ci.ucEngineClockHigh << 16;
drivers/gpu/drm/radeon/radeon_atombios.c
2493
mclk = le16_to_cpu(clock_info->ci.usMemoryClockLow);
drivers/gpu/drm/radeon/radeon_atombios.c
2494
mclk |= clock_info->ci.ucMemoryClockHigh << 16;
drivers/gpu/drm/radeon/radeon_atombios.c
926
ATOM_CONNECTOR_INFO_I2C ci;
drivers/gpu/drm/radeon/radeon_atombios.c
929
ci = supported_devices->info_2d1.asConnInfo[i];
drivers/gpu/drm/radeon/radeon_atombios.c
931
ci = supported_devices->info.asConnInfo[i];
drivers/gpu/drm/radeon/radeon_atombios.c
945
supported_devices_connector_convert[ci.sucConnectorInfo.
drivers/gpu/drm/radeon/radeon_atombios.c
953
dac = ci.sucConnectorInfo.sbfAccess.bfAssociatedDAC;
drivers/gpu/drm/radeon/radeon_atombios.c
956
ci.sucI2cId.ucAccess;
drivers/gpu/drm/vmwgfx/vmwgfx_binding.h
218
const struct vmw_ctx_bindinfo *ci,
drivers/hte/hte-tegra194.c
694
struct hte_clk_info *ci)
drivers/hte/hte-tegra194.c
698
if (!ci)
drivers/hte/hte-tegra194.c
701
ci->hz = hte_dev->prov_data->tsc_clkrate_hz;
drivers/hte/hte-tegra194.c
702
ci->type = CLOCK_MONOTONIC;
drivers/hte/hte.c
764
struct hte_clk_info *ci)
drivers/hte/hte.c
769
if (!desc || !desc->hte_data || !ci) {
drivers/hte/hte.c
782
return chip->ops->get_clk_src_info(chip, ci);
drivers/iio/adc/ad7606.c
1134
struct ad7606_chan_info *ci;
drivers/iio/adc/ad7606.c
1149
ci = &st->chan_info[ch];
drivers/iio/adc/ad7606.c
1150
*vals = (int *)ci->scale_avail;
drivers/iio/adc/ad7606.c
1151
*length = ci->num_scales * 2;
drivers/iio/adc/ad7606.c
1373
struct ad7606_chan_info *ci;
drivers/iio/adc/ad7606.c
1377
ci = &st->chan_info[i];
drivers/iio/adc/ad7606.c
1379
DIV_ROUND_CLOSEST(ci->r_gain,
drivers/iio/adc/ad7606.c
293
struct ad7606_chan_info *ci = &st->chan_info[chan->scan_index];
drivers/iio/adc/ad7606.c
297
ci->range = 0;
drivers/iio/adc/ad7606.c
298
ci->scale_avail = ad7606_16bit_hw_scale_avail;
drivers/iio/adc/ad7606.c
299
ci->num_scales = ARRAY_SIZE(ad7606_16bit_hw_scale_avail);
drivers/iio/adc/ad7606.c
305
ci->range = 2;
drivers/iio/adc/ad7606.c
306
ci->scale_avail = ad7606_16bit_sw_scale_avail;
drivers/iio/adc/ad7606.c
307
ci->num_scales = ARRAY_SIZE(ad7606_16bit_sw_scale_avail);
drivers/iio/adc/ad7606.c
316
struct ad7606_chan_info *ci;
drivers/iio/adc/ad7606.c
360
ci = &st->chan_info[reg - 1];
drivers/iio/adc/ad7606.c
362
ci->r_gain = 0;
drivers/iio/adc/ad7606.c
364
&ci->r_gain);
drivers/iio/adc/ad7606.c
365
if (ret == 0 && ci->r_gain > AD7606_CALIB_GAIN_MAX)
drivers/iio/adc/ad7606.c
378
struct ad7606_chan_info *ci = &st->chan_info[chan->scan_index];
drivers/iio/adc/ad7606.c
383
ci->range = 0;
drivers/iio/adc/ad7606.c
384
ci->scale_avail = ad7606_18bit_hw_scale_avail;
drivers/iio/adc/ad7606.c
385
ci->num_scales = ARRAY_SIZE(ad7606_18bit_hw_scale_avail);
drivers/iio/adc/ad7606.c
395
ci->scale_avail = ad7606c_18bit_differential_bipolar_scale_avail;
drivers/iio/adc/ad7606.c
396
ci->num_scales =
drivers/iio/adc/ad7606.c
399
ci->reg_offset = 8;
drivers/iio/adc/ad7606.c
400
ci->range = 1;
drivers/iio/adc/ad7606.c
410
ci->scale_avail = ad7606c_18bit_single_ended_bipolar_scale_avail;
drivers/iio/adc/ad7606.c
411
ci->num_scales =
drivers/iio/adc/ad7606.c
414
ci->reg_offset = 0;
drivers/iio/adc/ad7606.c
415
ci->range = 3;
drivers/iio/adc/ad7606.c
421
ci->scale_avail = ad7606c_18bit_single_ended_unipolar_scale_avail;
drivers/iio/adc/ad7606.c
422
ci->num_scales =
drivers/iio/adc/ad7606.c
425
ci->reg_offset = 5;
drivers/iio/adc/ad7606.c
426
ci->range = 1;
drivers/iio/adc/ad7606.c
436
struct ad7606_chan_info *ci = &st->chan_info[chan->scan_index];
drivers/iio/adc/ad7606.c
441
ci->range = 0;
drivers/iio/adc/ad7606.c
442
ci->scale_avail = ad7606_16bit_hw_scale_avail;
drivers/iio/adc/ad7606.c
443
ci->num_scales = ARRAY_SIZE(ad7606_16bit_hw_scale_avail);
drivers/iio/adc/ad7606.c
453
ci->scale_avail = ad7606c_16bit_differential_bipolar_scale_avail;
drivers/iio/adc/ad7606.c
454
ci->num_scales =
drivers/iio/adc/ad7606.c
457
ci->reg_offset = 8;
drivers/iio/adc/ad7606.c
458
ci->range = 1;
drivers/iio/adc/ad7606.c
469
ci->scale_avail = ad7606c_16bit_single_ended_bipolar_scale_avail;
drivers/iio/adc/ad7606.c
470
ci->num_scales =
drivers/iio/adc/ad7606.c
473
ci->reg_offset = 0;
drivers/iio/adc/ad7606.c
474
ci->range = 3;
drivers/iio/adc/ad7606.c
480
ci->scale_avail = ad7606c_16bit_single_ended_unipolar_scale_avail;
drivers/iio/adc/ad7606.c
481
ci->num_scales =
drivers/iio/adc/ad7606.c
484
ci->reg_offset = 5;
drivers/iio/adc/ad7606.c
485
ci->range = 1;
drivers/iio/adc/ad7606.c
495
struct ad7606_chan_info *ci = &st->chan_info[chan->scan_index];
drivers/iio/adc/ad7606.c
497
ci->range = 0;
drivers/iio/adc/ad7606.c
498
ci->scale_avail = ad7607_hw_scale_avail;
drivers/iio/adc/ad7606.c
499
ci->num_scales = ARRAY_SIZE(ad7607_hw_scale_avail);
drivers/iio/adc/ad7606.c
507
struct ad7606_chan_info *ci = &st->chan_info[chan->scan_index];
drivers/iio/adc/ad7606.c
509
ci->range = 0;
drivers/iio/adc/ad7606.c
510
ci->scale_avail = ad7606_18bit_hw_scale_avail;
drivers/iio/adc/ad7606.c
511
ci->num_scales = ARRAY_SIZE(ad7606_18bit_hw_scale_avail);
drivers/iio/adc/ad7606.c
519
struct ad7606_chan_info *ci = &st->chan_info[chan->scan_index];
drivers/iio/adc/ad7606.c
521
ci->range = 0;
drivers/iio/adc/ad7606.c
522
ci->scale_avail = ad7609_hw_scale_avail;
drivers/iio/adc/ad7606.c
523
ci->num_scales = ARRAY_SIZE(ad7609_hw_scale_avail);
drivers/iio/adc/ad7606.c
762
struct ad7606_chan_info *ci;
drivers/iio/adc/ad7606.c
777
ci = &st->chan_info[ch];
drivers/iio/adc/ad7606.c
778
*val = ci->scale_avail[ci->range][0];
drivers/iio/adc/ad7606.c
779
*val2 = ci->scale_avail[ci->range][1];
drivers/iio/adc/ad7606.c
814
struct ad7606_chan_info *ci = &st->chan_info[0];
drivers/iio/adc/ad7606.c
815
const unsigned int (*vals)[2] = ci->scale_avail;
drivers/iio/adc/ad7606.c
819
for (i = 0; i < ci->num_scales; i++)
drivers/iio/adc/ad7606.c
920
struct ad7606_chan_info *ci;
drivers/iio/adc/ad7606.c
929
ci = &st->chan_info[ch];
drivers/iio/adc/ad7606.c
930
for (i = 0; i < ci->num_scales; i++) {
drivers/iio/adc/ad7606.c
931
scale_avail_uv[i] = ci->scale_avail[i][0] * MICRO +
drivers/iio/adc/ad7606.c
932
ci->scale_avail[i][1];
drivers/iio/adc/ad7606.c
935
i = find_closest(val, scale_avail_uv, ci->num_scales);
drivers/iio/adc/ad7606.c
939
ret = st->write_scale(indio_dev, ch, i + ci->reg_offset);
drivers/iio/adc/ad7606.c
943
ci->range = i;
drivers/iio/adc/max1363.c
303
const struct max1363_chip_info *ci)
drivers/iio/adc/max1363.c
307
for (i = 0; i < ci->num_modes; i++)
drivers/iio/adc/max1363.c
309
max1363_mode_table[ci->mode_list[i]].
drivers/iio/adc/max1363.c
312
return &max1363_mode_table[ci->mode_list[i]];
drivers/iio/magnetometer/yamaha-yas530.c
1192
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
1205
switch (ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
1396
const struct yas5xx_chip_info *ci;
drivers/iio/magnetometer/yamaha-yas530.c
1443
ci = i2c_get_match_data(i2c);
drivers/iio/magnetometer/yamaha-yas530.c
1444
yas5xx->chip_info = ci;
drivers/iio/magnetometer/yamaha-yas530.c
1450
if (id_check != ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
1453
id_check, ci->product_label);
drivers/iio/magnetometer/yamaha-yas530.c
1457
ret = ci->get_calibration_data(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1461
dev_info(dev, "detected %s %s\n", ci->product_name,
drivers/iio/magnetometer/yamaha-yas530.c
1462
ci->version_names[yas5xx->version]);
drivers/iio/magnetometer/yamaha-yas530.c
1464
ci->dump_calibration(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1466
ret = ci->power_on(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1470
if (ci->measure_offsets) {
drivers/iio/magnetometer/yamaha-yas530.c
1471
ret = ci->measure_offsets(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1479
indio_dev->name = ci->product_label;
drivers/iio/magnetometer/yamaha-yas530.c
1553
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
1570
ret = ci->power_on(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
287
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
318
switch (ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
435
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
445
switch (ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
477
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
483
t_ref = ci->t_ref;
drivers/iio/magnetometer/yamaha-yas530.c
484
min_temp_x10 = ci->min_temp_x10;
drivers/iio/magnetometer/yamaha-yas530.c
504
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
526
t_ref = ci->t_ref;
drivers/iio/magnetometer/yamaha-yas530.c
527
if (ci->devid == YAS532_DEVICE_ID &&
drivers/iio/magnetometer/yamaha-yas530.c
618
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
626
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
drivers/iio/magnetometer/yamaha-yas530.c
650
*val2 = ci->scaling_val2;
drivers/iio/magnetometer/yamaha-yas530.c
661
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
666
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
drivers/iio/magnetometer/yamaha-yas530.c
753
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
764
reg_qty = ci->volatile_reg_qty;
drivers/iio/magnetometer/yamaha-yas530.c
766
if (reg == ci->volatile_reg[i])
drivers/infiniband/core/frmr_pools.c
111
u32 free_in_tail = dst->ci % NUM_HANDLES_PER_PAGE;
drivers/infiniband/core/frmr_pools.c
116
while (free_in_tail && src->ci) {
drivers/infiniband/core/frmr_pools.c
123
if (src->ci > 0) {
drivers/infiniband/core/frmr_pools.c
126
dst->ci += src->ci;
drivers/infiniband/core/frmr_pools.c
128
src->ci = 0;
drivers/infiniband/core/frmr_pools.c
140
total = pool->queue.ci + pool->inactive_queue.ci + pool->in_use;
drivers/infiniband/core/frmr_pools.c
146
to_destroy = min(total - pool->pinned_handles, pool->inactive_queue.ci);
drivers/infiniband/core/frmr_pools.c
160
if (pool->queue.ci > 0) {
drivers/infiniband/core/frmr_pools.c
189
if (pool->queue.ci > 0) {
drivers/infiniband/core/frmr_pools.c
19
u32 tmp = queue->ci % NUM_HANDLES_PER_PAGE;
drivers/infiniband/core/frmr_pools.c
22
if (queue->ci >= queue->num_pages * NUM_HANDLES_PER_PAGE) {
drivers/infiniband/core/frmr_pools.c
34
queue->ci++;
drivers/infiniband/core/frmr_pools.c
40
u32 tmp = (queue->ci - 1) % NUM_HANDLES_PER_PAGE;
drivers/infiniband/core/frmr_pools.c
435
current_total = pool->in_use + pool->queue.ci + pool->inactive_queue.ci;
drivers/infiniband/core/frmr_pools.c
47
queue->ci--;
drivers/infiniband/core/frmr_pools.c
491
if (pool->queue.ci == 0) {
drivers/infiniband/core/frmr_pools.c
492
if (pool->inactive_queue.ci > 0) {
drivers/infiniband/core/frmr_pools.c
565
if (!ret && pool->queue.ci == 1)
drivers/infiniband/core/frmr_pools.c
76
if (queue->ci >= NUM_HANDLES_PER_PAGE)
drivers/infiniband/core/frmr_pools.c
79
*count = queue->ci;
drivers/infiniband/core/frmr_pools.c
81
queue->ci -= *count;
drivers/infiniband/core/frmr_pools.h
31
unsigned long ci;
drivers/infiniband/core/nldev.c
2713
pool->queue.ci + pool->inactive_queue.ci))
drivers/infiniband/hw/efa/efa_com.c
1213
u32 ci;
drivers/infiniband/hw/efa/efa_com.c
1215
ci = eeq->cc & (eeq->depth - 1);
drivers/infiniband/hw/efa/efa_com.c
1217
eqe = &eeq->eqes[ci];
drivers/infiniband/hw/efa/efa_com.c
1230
ci++;
drivers/infiniband/hw/efa/efa_com.c
1233
if (ci == eeq->depth) {
drivers/infiniband/hw/efa/efa_com.c
1234
ci = 0;
drivers/infiniband/hw/efa/efa_com.c
1238
eqe = &eeq->eqes[ci];
drivers/infiniband/hw/efa/efa_com.c
482
u16 ci;
drivers/infiniband/hw/efa/efa_com.c
486
ci = aq->cq.cc & queue_size_mask;
drivers/infiniband/hw/efa/efa_com.c
489
cqe = &aq->cq.entries[ci];
drivers/infiniband/hw/efa/efa_com.c
504
ci++;
drivers/infiniband/hw/efa/efa_com.c
505
if (ci == aq->depth) {
drivers/infiniband/hw/efa/efa_com.c
506
ci = 0;
drivers/infiniband/hw/efa/efa_com.c
510
cqe = &aq->cq.entries[ci];
drivers/infiniband/hw/efa/efa_com.c
887
u32 ci;
drivers/infiniband/hw/efa/efa_com.c
889
ci = aenq->cc & (aenq->depth - 1);
drivers/infiniband/hw/efa/efa_com.c
891
aenq_e = &aenq->entries[ci]; /* Get first entry */
drivers/infiniband/hw/efa/efa_com.c
909
ci++;
drivers/infiniband/hw/efa/efa_com.c
912
if (ci == aenq->depth) {
drivers/infiniband/hw/efa/efa_com.c
913
ci = 0;
drivers/infiniband/hw/efa/efa_com.c
916
aenq_e = &aenq->entries[ci];
drivers/infiniband/hw/erdma/erdma.h
29
u16 ci;
drivers/infiniband/hw/erdma/erdma.h
47
u16 ci;
drivers/infiniband/hw/erdma/erdma.h
63
u32 ci;
drivers/infiniband/hw/erdma/erdma_cmdq.c
12
u64 db_data = FIELD_PREP(ERDMA_CQDB_CI_MASK, cmdq->cq.ci) |
drivers/infiniband/hw/erdma/erdma_cmdq.c
249
__be32 *cqe = get_queue_entry(cmdq->cq.qbuf, cmdq->cq.ci,
drivers/infiniband/hw/erdma/erdma_cmdq.c
254
return owner ^ !!(cmdq->cq.ci & cmdq->cq.depth) ? cqe : NULL;
drivers/infiniband/hw/erdma/erdma_cmdq.c
293
cmdq->cq.ci++;
drivers/infiniband/hw/erdma/erdma_cmdq.c
308
cmdq->sq.ci += cmdq->sq.wqebb_cnt;
drivers/infiniband/hw/erdma/erdma_cmdq.c
342
cmdq->eq.ci++;
drivers/infiniband/hw/erdma/erdma_cq.c
11
__be32 *cqe = get_queue_entry(cq->kern_cq.qbuf, cq->kern_cq.ci,
drivers/infiniband/hw/erdma/erdma_cq.c
142
cq->kern_cq.ci++;
drivers/infiniband/hw/erdma/erdma_cq.c
16
return owner ^ !!(cq->kern_cq.ci & cq->depth) ? cqe : NULL;
drivers/infiniband/hw/erdma/erdma_cq.c
236
prev_cq_ci = cq->kern_cq.ci;
drivers/infiniband/hw/erdma/erdma_cq.c
239
++cq->kern_cq.ci;
drivers/infiniband/hw/erdma/erdma_cq.c
266
cq->kern_cq.ci = prev_cq_ci + nqp_cqe;
drivers/infiniband/hw/erdma/erdma_cq.c
27
FIELD_PREP(ERDMA_CQDB_CI_MASK, cq->kern_cq.ci);
drivers/infiniband/hw/erdma/erdma_eq.c
13
u64 db_data = FIELD_PREP(ERDMA_EQDB_CI_MASK, eq->ci) |
drivers/infiniband/hw/erdma/erdma_eq.c
156
ceq_cb->eq.ci++;
drivers/infiniband/hw/erdma/erdma_eq.c
24
u64 *eqe = get_queue_entry(eq->qbuf, eq->ci, eq->depth, EQE_SHIFT);
drivers/infiniband/hw/erdma/erdma_eq.c
27
return owner ^ !!(eq->ci & eq->depth) ? eqe : NULL;
drivers/infiniband/hw/erdma/erdma_eq.c
48
dev->aeq.ci++;
drivers/infiniband/hw/erdma/erdma_eq.c
99
eq->ci = 0;
drivers/infiniband/hw/erdma/erdma_verbs.h
322
u32 ci;
drivers/infiniband/hw/mthca/mthca_eq.c
173
static inline void tavor_set_eq_ci(struct mthca_dev *dev, struct mthca_eq *eq, u32 ci)
drivers/infiniband/hw/mthca/mthca_eq.c
184
mthca_write64(MTHCA_EQ_DB_SET_CI | eq->eqn, ci & (eq->nent - 1),
drivers/infiniband/hw/mthca/mthca_eq.c
189
static inline void arbel_set_eq_ci(struct mthca_dev *dev, struct mthca_eq *eq, u32 ci)
drivers/infiniband/hw/mthca/mthca_eq.c
193
__raw_writel((__force u32) cpu_to_be32(ci),
drivers/infiniband/hw/mthca/mthca_eq.c
199
static inline void set_eq_ci(struct mthca_dev *dev, struct mthca_eq *eq, u32 ci)
drivers/infiniband/hw/mthca/mthca_eq.c
202
arbel_set_eq_ci(dev, eq, ci);
drivers/infiniband/hw/mthca/mthca_eq.c
204
tavor_set_eq_ci(dev, eq, ci);
drivers/md/dm.c
1463
static void setup_split_accounting(struct clone_info *ci, unsigned int len)
drivers/md/dm.c
1465
struct dm_io *io = ci->io;
drivers/md/dm.c
1467
if (ci->sector_count > len) {
drivers/md/dm.c
1474
io->sector_offset = bio_sectors(ci->bio);
drivers/md/dm.c
1478
static void alloc_multiple_bios(struct bio_list *blist, struct clone_info *ci,
drivers/md/dm.c
1489
mutex_lock(&ci->io->md->table_devices_lock);
drivers/md/dm.c
1491
bio = alloc_tio(ci, ti, bio_nr, len,
drivers/md/dm.c
1499
mutex_unlock(&ci->io->md->table_devices_lock);
drivers/md/dm.c
1508
static unsigned int __send_duplicate_bios(struct clone_info *ci, struct dm_target *ti,
drivers/md/dm.c
1520
setup_split_accounting(ci, *len);
drivers/md/dm.c
1526
alloc_multiple_bios(&blist, ci, ti, num_bios, len);
drivers/md/dm.c
1537
static void __send_empty_flush(struct clone_info *ci)
drivers/md/dm.c
1539
struct dm_table *t = ci->map;
drivers/md/dm.c
1543
if ((ci->io->orig_bio->bi_opf & (REQ_IDLE | REQ_SYNC)) ==
drivers/md/dm.c
1552
bio_init(&flush_bio, ci->io->md->disk->part0, NULL, 0, opf);
drivers/md/dm.c
1554
ci->bio = &flush_bio;
drivers/md/dm.c
1555
ci->sector_count = 0;
drivers/md/dm.c
1556
ci->io->tio.clone.bi_iter.bi_size = 0;
drivers/md/dm.c
1566
atomic_add(ti->num_flush_bios, &ci->io->io_count);
drivers/md/dm.c
1567
bios = __send_duplicate_bios(ci, ti, ti->num_flush_bios,
drivers/md/dm.c
1569
atomic_sub(ti->num_flush_bios - bios, &ci->io->io_count);
drivers/md/dm.c
1589
clone = alloc_tio(ci, NULL, 0, &len, GFP_NOIO);
drivers/md/dm.c
1590
atomic_add(1, &ci->io->io_count);
drivers/md/dm.c
1601
atomic_sub(1, &ci->io->io_count);
drivers/md/dm.c
1603
bio_uninit(ci->bio);
drivers/md/dm.c
1606
static void __send_abnormal_io(struct clone_info *ci, struct dm_target *ti,
drivers/md/dm.c
1612
len = min_t(sector_t, ci->sector_count,
drivers/md/dm.c
1613
__max_io_len(ti, ci->sector, max_granularity, max_sectors));
drivers/md/dm.c
1615
atomic_add(num_bios, &ci->io->io_count);
drivers/md/dm.c
1616
bios = __send_duplicate_bios(ci, ti, num_bios, &len);
drivers/md/dm.c
1621
atomic_sub(num_bios - bios + 1, &ci->io->io_count);
drivers/md/dm.c
1623
ci->sector += len;
drivers/md/dm.c
1624
ci->sector_count -= len;
drivers/md/dm.c
1644
static blk_status_t __process_abnormal_io(struct clone_info *ci,
drivers/md/dm.c
1652
switch (bio_op(ci->bio)) {
drivers/md/dm.c
1680
__send_abnormal_io(ci, ti, num_bios, max_granularity, max_sectors);
drivers/md/dm.c
1730
static blk_status_t __split_and_process_bio(struct clone_info *ci)
drivers/md/dm.c
1736
ti = dm_table_find_target(ci->map, ci->sector);
drivers/md/dm.c
1740
if (unlikely(ci->is_abnormal_io))
drivers/md/dm.c
1741
return __process_abnormal_io(ci, ti);
drivers/md/dm.c
1747
ci->submit_as_polled = !!(ci->bio->bi_opf & REQ_POLLED);
drivers/md/dm.c
1749
len = min_t(sector_t, max_io_len(ti, ci->sector), ci->sector_count);
drivers/md/dm.c
1750
if (ci->bio->bi_opf & REQ_ATOMIC) {
drivers/md/dm.c
1753
if (unlikely(len != ci->sector_count))
drivers/md/dm.c
1757
setup_split_accounting(ci, len);
drivers/md/dm.c
1759
if (unlikely(ci->bio->bi_opf & REQ_NOWAIT)) {
drivers/md/dm.c
1763
clone = alloc_tio(ci, ti, 0, &len, GFP_NOWAIT);
drivers/md/dm.c
1767
clone = alloc_tio(ci, ti, 0, &len, GFP_NOIO);
drivers/md/dm.c
1771
ci->sector += len;
drivers/md/dm.c
1772
ci->sector_count -= len;
drivers/md/dm.c
1777
static void init_clone_info(struct clone_info *ci, struct dm_io *io,
drivers/md/dm.c
1780
ci->map = map;
drivers/md/dm.c
1781
ci->io = io;
drivers/md/dm.c
1782
ci->bio = bio;
drivers/md/dm.c
1783
ci->is_abnormal_io = is_abnormal;
drivers/md/dm.c
1784
ci->submit_as_polled = false;
drivers/md/dm.c
1785
ci->sector = bio->bi_iter.bi_sector;
drivers/md/dm.c
1786
ci->sector_count = bio_sectors(bio);
drivers/md/dm.c
1790
WARN_ON_ONCE(op_is_zone_mgmt(bio_op(bio)) && ci->sector_count))
drivers/md/dm.c
1791
ci->sector_count = 0;
drivers/md/dm.c
1826
static blk_status_t __send_zone_reset_all_emulated(struct clone_info *ci,
drivers/md/dm.c
1830
struct mapped_device *md = ci->io->md;
drivers/md/dm.c
1845
ret = dm_zone_get_reset_bitmap(md, ci->map, ti->begin,
drivers/md/dm.c
1857
atomic_add(nr_zones, &ci->io->io_count);
drivers/md/dm.c
1875
alloc_multiple_bios(&blist, ci, ti, min(nr_reset, 32),
drivers/md/dm.c
1893
atomic_sub(nr_zones - num_bios, &ci->io->io_count);
drivers/md/dm.c
1894
ci->sector_count = 0;
drivers/md/dm.c
1902
static void __send_zone_reset_all_native(struct clone_info *ci,
drivers/md/dm.c
1907
atomic_add(1, &ci->io->io_count);
drivers/md/dm.c
1908
bios = __send_duplicate_bios(ci, ti, 1, NULL);
drivers/md/dm.c
1909
atomic_sub(1 - bios, &ci->io->io_count);
drivers/md/dm.c
1911
ci->sector_count = 0;
drivers/md/dm.c
1914
static blk_status_t __send_zone_reset_all(struct clone_info *ci)
drivers/md/dm.c
1916
struct dm_table *t = ci->map;
drivers/md/dm.c
1923
__send_zone_reset_all_native(ci, ti);
drivers/md/dm.c
1927
sts = __send_zone_reset_all_emulated(ci, ti);
drivers/md/dm.c
1933
atomic_sub(1, &ci->io->io_count);
drivers/md/dm.c
1947
static blk_status_t __send_zone_reset_all(struct clone_info *ci)
drivers/md/dm.c
1959
struct clone_info ci;
drivers/md/dm.c
2011
init_clone_info(&ci, io, map, bio, is_abnormal);
drivers/md/dm.c
2031
__send_empty_flush(&ci);
drivers/md/dm.c
2039
error = __send_zone_reset_all(&ci);
drivers/md/dm.c
2043
error = __split_and_process_bio(&ci);
drivers/md/dm.c
2044
if (error || !ci.sector_count)
drivers/md/dm.c
2050
bio_trim(bio, io->sectors, ci.sector_count);
drivers/md/dm.c
2062
if (error || !ci.submit_as_polled) {
drivers/md/dm.c
613
static struct bio *alloc_tio(struct clone_info *ci, struct dm_target *ti,
drivers/md/dm.c
616
struct mapped_device *md = ci->io->md;
drivers/md/dm.c
620
if (!ci->io->tio.io) {
drivers/md/dm.c
622
tio = &ci->io->tio;
drivers/md/dm.c
626
clone = bio_alloc_clone(NULL, ci->bio, gfp_mask,
drivers/md/dm.c
639
tio->io = ci->io;
drivers/media/dvb-frontends/cxd2099.c
103
status = regmap_raw_write(ci->regmap, 3, buf, n);
drivers/media/dvb-frontends/cxd2099.c
108
static int read_io(struct cxd *ci, u16 address, unsigned int *val)
drivers/media/dvb-frontends/cxd2099.c
113
status = regmap_raw_write(ci->regmap, 2, addr, 2);
drivers/media/dvb-frontends/cxd2099.c
115
status = regmap_read(ci->regmap, 3, val);
drivers/media/dvb-frontends/cxd2099.c
119
static int write_io(struct cxd *ci, u16 address, u8 val)
drivers/media/dvb-frontends/cxd2099.c
124
status = regmap_raw_write(ci->regmap, 2, addr, 2);
drivers/media/dvb-frontends/cxd2099.c
126
status = regmap_write(ci->regmap, 3, val);
drivers/media/dvb-frontends/cxd2099.c
130
static int write_regm(struct cxd *ci, u8 reg, u8 val, u8 mask)
drivers/media/dvb-frontends/cxd2099.c
135
if (ci->lastaddress != reg)
drivers/media/dvb-frontends/cxd2099.c
136
status = regmap_write(ci->regmap, 0, reg);
drivers/media/dvb-frontends/cxd2099.c
138
status = regmap_read(ci->regmap, 1, ®val);
drivers/media/dvb-frontends/cxd2099.c
139
ci->regs[reg] = regval;
drivers/media/dvb-frontends/cxd2099.c
141
ci->lastaddress = reg;
drivers/media/dvb-frontends/cxd2099.c
142
ci->regs[reg] = (ci->regs[reg] & (~mask)) | val;
drivers/media/dvb-frontends/cxd2099.c
144
status = regmap_write(ci->regmap, 1, ci->regs[reg]);
drivers/media/dvb-frontends/cxd2099.c
146
ci->regs[reg] &= 0x7f;
drivers/media/dvb-frontends/cxd2099.c
150
static int write_reg(struct cxd *ci, u8 reg, u8 val)
drivers/media/dvb-frontends/cxd2099.c
152
return write_regm(ci, reg, val, 0xff);
drivers/media/dvb-frontends/cxd2099.c
155
static int write_block(struct cxd *ci, u8 adr, u8 *data, u16 n)
drivers/media/dvb-frontends/cxd2099.c
158
u8 *buf = ci->wbuf;
drivers/media/dvb-frontends/cxd2099.c
160
if (ci->lastaddress != adr)
drivers/media/dvb-frontends/cxd2099.c
161
status = regmap_write(ci->regmap, 0, adr);
drivers/media/dvb-frontends/cxd2099.c
165
ci->lastaddress = adr;
drivers/media/dvb-frontends/cxd2099.c
169
if (ci->cfg.max_i2c && (len + 1 > ci->cfg.max_i2c))
drivers/media/dvb-frontends/cxd2099.c
170
len = ci->cfg.max_i2c - 1;
drivers/media/dvb-frontends/cxd2099.c
172
status = regmap_raw_write(ci->regmap, 1, buf, len);
drivers/media/dvb-frontends/cxd2099.c
181
static void set_mode(struct cxd *ci, int mode)
drivers/media/dvb-frontends/cxd2099.c
183
if (mode == ci->mode)
drivers/media/dvb-frontends/cxd2099.c
188
write_regm(ci, 0x06, 0x00, 0x07);
drivers/media/dvb-frontends/cxd2099.c
191
write_regm(ci, 0x06, 0x02, 0x07);
drivers/media/dvb-frontends/cxd2099.c
196
ci->mode = mode;
drivers/media/dvb-frontends/cxd2099.c
199
static void cam_mode(struct cxd *ci, int mode)
drivers/media/dvb-frontends/cxd2099.c
203
if (mode == ci->cammode)
drivers/media/dvb-frontends/cxd2099.c
208
write_regm(ci, 0x20, 0x80, 0x80);
drivers/media/dvb-frontends/cxd2099.c
211
if (!ci->en.read_data)
drivers/media/dvb-frontends/cxd2099.c
213
ci->write_busy = 0;
drivers/media/dvb-frontends/cxd2099.c
214
dev_info(&ci->client->dev, "enable cam buffer mode\n");
drivers/media/dvb-frontends/cxd2099.c
215
write_reg(ci, 0x0d, 0x00);
drivers/media/dvb-frontends/cxd2099.c
216
write_reg(ci, 0x0e, 0x01);
drivers/media/dvb-frontends/cxd2099.c
217
write_regm(ci, 0x08, 0x40, 0x40);
drivers/media/dvb-frontends/cxd2099.c
218
read_reg(ci, 0x12, &dummy);
drivers/media/dvb-frontends/cxd2099.c
219
write_regm(ci, 0x08, 0x80, 0x80);
drivers/media/dvb-frontends/cxd2099.c
224
ci->cammode = mode;
drivers/media/dvb-frontends/cxd2099.c
227
static int init(struct cxd *ci)
drivers/media/dvb-frontends/cxd2099.c
231
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
232
ci->mode = -1;
drivers/media/dvb-frontends/cxd2099.c
234
status = write_reg(ci, 0x00, 0x00);
drivers/media/dvb-frontends/cxd2099.c
237
status = write_reg(ci, 0x01, 0x00);
drivers/media/dvb-frontends/cxd2099.c
240
status = write_reg(ci, 0x02, 0x10);
drivers/media/dvb-frontends/cxd2099.c
243
status = write_reg(ci, 0x03, 0x00);
drivers/media/dvb-frontends/cxd2099.c
246
status = write_reg(ci, 0x05, 0xFF);
drivers/media/dvb-frontends/cxd2099.c
249
status = write_reg(ci, 0x06, 0x1F);
drivers/media/dvb-frontends/cxd2099.c
252
status = write_reg(ci, 0x07, 0x1F);
drivers/media/dvb-frontends/cxd2099.c
255
status = write_reg(ci, 0x08, 0x28);
drivers/media/dvb-frontends/cxd2099.c
258
status = write_reg(ci, 0x14, 0x20);
drivers/media/dvb-frontends/cxd2099.c
265
status = write_reg(ci, 0x0A, 0xA7);
drivers/media/dvb-frontends/cxd2099.c
269
status = write_reg(ci, 0x0B, 0x33);
drivers/media/dvb-frontends/cxd2099.c
272
status = write_reg(ci, 0x0C, 0x33);
drivers/media/dvb-frontends/cxd2099.c
276
status = write_regm(ci, 0x14, 0x00, 0x0F);
drivers/media/dvb-frontends/cxd2099.c
279
status = write_reg(ci, 0x15, ci->clk_reg_b);
drivers/media/dvb-frontends/cxd2099.c
282
status = write_regm(ci, 0x16, 0x00, 0x0F);
drivers/media/dvb-frontends/cxd2099.c
285
status = write_reg(ci, 0x17, ci->clk_reg_f);
drivers/media/dvb-frontends/cxd2099.c
289
if (ci->cfg.clock_mode == 2) {
drivers/media/dvb-frontends/cxd2099.c
291
u32 reg = ((ci->cfg.bitrate << 13) + 71999) / 72000;
drivers/media/dvb-frontends/cxd2099.c
293
if (ci->cfg.polarity) {
drivers/media/dvb-frontends/cxd2099.c
294
status = write_reg(ci, 0x09, 0x6f);
drivers/media/dvb-frontends/cxd2099.c
298
status = write_reg(ci, 0x09, 0x6d);
drivers/media/dvb-frontends/cxd2099.c
302
status = write_reg(ci, 0x20, 0x08);
drivers/media/dvb-frontends/cxd2099.c
305
status = write_reg(ci, 0x21, (reg >> 8) & 0xff);
drivers/media/dvb-frontends/cxd2099.c
308
status = write_reg(ci, 0x22, reg & 0xff);
drivers/media/dvb-frontends/cxd2099.c
311
} else if (ci->cfg.clock_mode == 1) {
drivers/media/dvb-frontends/cxd2099.c
312
if (ci->cfg.polarity) {
drivers/media/dvb-frontends/cxd2099.c
313
status = write_reg(ci, 0x09, 0x6f); /* D */
drivers/media/dvb-frontends/cxd2099.c
317
status = write_reg(ci, 0x09, 0x6d);
drivers/media/dvb-frontends/cxd2099.c
321
status = write_reg(ci, 0x20, 0x68);
drivers/media/dvb-frontends/cxd2099.c
324
status = write_reg(ci, 0x21, 0x00);
drivers/media/dvb-frontends/cxd2099.c
327
status = write_reg(ci, 0x22, 0x02);
drivers/media/dvb-frontends/cxd2099.c
331
if (ci->cfg.polarity) {
drivers/media/dvb-frontends/cxd2099.c
332
status = write_reg(ci, 0x09, 0x4f); /* C */
drivers/media/dvb-frontends/cxd2099.c
336
status = write_reg(ci, 0x09, 0x4d);
drivers/media/dvb-frontends/cxd2099.c
340
status = write_reg(ci, 0x20, 0x28);
drivers/media/dvb-frontends/cxd2099.c
343
status = write_reg(ci, 0x21, 0x00);
drivers/media/dvb-frontends/cxd2099.c
346
status = write_reg(ci, 0x22, 0x07);
drivers/media/dvb-frontends/cxd2099.c
351
status = write_regm(ci, 0x20, 0x80, 0x80);
drivers/media/dvb-frontends/cxd2099.c
354
status = write_regm(ci, 0x03, 0x02, 0x02);
drivers/media/dvb-frontends/cxd2099.c
357
status = write_reg(ci, 0x01, 0x04);
drivers/media/dvb-frontends/cxd2099.c
360
status = write_reg(ci, 0x00, 0x31);
drivers/media/dvb-frontends/cxd2099.c
365
status = write_regm(ci, 0x09, 0x08, 0x08);
drivers/media/dvb-frontends/cxd2099.c
368
ci->cammode = -1;
drivers/media/dvb-frontends/cxd2099.c
369
cam_mode(ci, 0);
drivers/media/dvb-frontends/cxd2099.c
371
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
379
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
382
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
383
set_mode(ci, 1);
drivers/media/dvb-frontends/cxd2099.c
384
read_pccard(ci, address, &val, 1);
drivers/media/dvb-frontends/cxd2099.c
385
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
392
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
394
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
395
set_mode(ci, 1);
drivers/media/dvb-frontends/cxd2099.c
396
write_pccard(ci, address, &value, 1);
drivers/media/dvb-frontends/cxd2099.c
397
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
404
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
407
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
408
set_mode(ci, 0);
drivers/media/dvb-frontends/cxd2099.c
409
read_io(ci, address, &val);
drivers/media/dvb-frontends/cxd2099.c
410
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
417
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
419
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
420
set_mode(ci, 0);
drivers/media/dvb-frontends/cxd2099.c
421
write_io(ci, address, value);
drivers/media/dvb-frontends/cxd2099.c
422
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
428
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
430
if (ci->cammode)
drivers/media/dvb-frontends/cxd2099.c
431
read_data(ca, slot, ci->rbuf, 0);
drivers/media/dvb-frontends/cxd2099.c
433
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
434
cam_mode(ci, 0);
drivers/media/dvb-frontends/cxd2099.c
435
write_reg(ci, 0x00, 0x21);
drivers/media/dvb-frontends/cxd2099.c
436
write_reg(ci, 0x06, 0x1F);
drivers/media/dvb-frontends/cxd2099.c
437
write_reg(ci, 0x00, 0x31);
drivers/media/dvb-frontends/cxd2099.c
438
write_regm(ci, 0x20, 0x80, 0x80);
drivers/media/dvb-frontends/cxd2099.c
439
write_reg(ci, 0x03, 0x02);
drivers/media/dvb-frontends/cxd2099.c
440
ci->ready = 0;
drivers/media/dvb-frontends/cxd2099.c
441
ci->mode = -1;
drivers/media/dvb-frontends/cxd2099.c
447
if (ci->ready)
drivers/media/dvb-frontends/cxd2099.c
451
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
457
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
459
dev_dbg(&ci->client->dev, "%s\n", __func__);
drivers/media/dvb-frontends/cxd2099.c
460
if (ci->cammode)
drivers/media/dvb-frontends/cxd2099.c
461
read_data(ca, slot, ci->rbuf, 0);
drivers/media/dvb-frontends/cxd2099.c
462
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
463
write_reg(ci, 0x00, 0x21);
drivers/media/dvb-frontends/cxd2099.c
464
write_reg(ci, 0x06, 0x1F);
drivers/media/dvb-frontends/cxd2099.c
467
write_regm(ci, 0x09, 0x08, 0x08);
drivers/media/dvb-frontends/cxd2099.c
468
write_regm(ci, 0x20, 0x80, 0x80); /* Reset CAM Mode */
drivers/media/dvb-frontends/cxd2099.c
469
write_regm(ci, 0x06, 0x07, 0x07); /* Clear IO Mode */
drivers/media/dvb-frontends/cxd2099.c
471
ci->mode = -1;
drivers/media/dvb-frontends/cxd2099.c
472
ci->write_busy = 0;
drivers/media/dvb-frontends/cxd2099.c
473
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
479
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
481
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
482
write_regm(ci, 0x09, 0x00, 0x08);
drivers/media/dvb-frontends/cxd2099.c
483
set_mode(ci, 0);
drivers/media/dvb-frontends/cxd2099.c
484
cam_mode(ci, 1);
drivers/media/dvb-frontends/cxd2099.c
485
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
489
static int campoll(struct cxd *ci)
drivers/media/dvb-frontends/cxd2099.c
493
read_reg(ci, 0x04, &istat);
drivers/media/dvb-frontends/cxd2099.c
496
write_reg(ci, 0x05, istat);
drivers/media/dvb-frontends/cxd2099.c
499
ci->dr = 1;
drivers/media/dvb-frontends/cxd2099.c
501
ci->write_busy = 0;
drivers/media/dvb-frontends/cxd2099.c
506
read_reg(ci, 0x01, &slotstat);
drivers/media/dvb-frontends/cxd2099.c
508
if (!ci->slot_stat) {
drivers/media/dvb-frontends/cxd2099.c
509
ci->slot_stat |=
drivers/media/dvb-frontends/cxd2099.c
511
write_regm(ci, 0x03, 0x08, 0x08);
drivers/media/dvb-frontends/cxd2099.c
515
if (ci->slot_stat) {
drivers/media/dvb-frontends/cxd2099.c
516
ci->slot_stat = 0;
drivers/media/dvb-frontends/cxd2099.c
517
write_regm(ci, 0x03, 0x00, 0x08);
drivers/media/dvb-frontends/cxd2099.c
518
dev_info(&ci->client->dev, "NO CAM\n");
drivers/media/dvb-frontends/cxd2099.c
519
ci->ready = 0;
drivers/media/dvb-frontends/cxd2099.c
523
ci->slot_stat == DVB_CA_EN50221_POLL_CAM_PRESENT) {
drivers/media/dvb-frontends/cxd2099.c
524
ci->ready = 1;
drivers/media/dvb-frontends/cxd2099.c
525
ci->slot_stat |= DVB_CA_EN50221_POLL_CAM_READY;
drivers/media/dvb-frontends/cxd2099.c
53
static int read_block(struct cxd *ci, u8 adr, u8 *data, u16 n)
drivers/media/dvb-frontends/cxd2099.c
533
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
536
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
537
campoll(ci);
drivers/media/dvb-frontends/cxd2099.c
538
read_reg(ci, 0x01, &slotstat);
drivers/media/dvb-frontends/cxd2099.c
539
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
541
return ci->slot_stat;
drivers/media/dvb-frontends/cxd2099.c
546
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
550
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
551
campoll(ci);
drivers/media/dvb-frontends/cxd2099.c
552
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
554
if (!ci->dr)
drivers/media/dvb-frontends/cxd2099.c
557
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
558
read_reg(ci, 0x0f, &msb);
drivers/media/dvb-frontends/cxd2099.c
559
read_reg(ci, 0x10, &lsb);
drivers/media/dvb-frontends/cxd2099.c
563
read_block(ci, 0x12, ci->rbuf, len);
drivers/media/dvb-frontends/cxd2099.c
564
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
567
read_block(ci, 0x12, ebuf, len);
drivers/media/dvb-frontends/cxd2099.c
568
ci->dr = 0;
drivers/media/dvb-frontends/cxd2099.c
569
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
57
if (ci->lastaddress != adr)
drivers/media/dvb-frontends/cxd2099.c
575
struct cxd *ci = ca->data;
drivers/media/dvb-frontends/cxd2099.c
577
if (ci->write_busy)
drivers/media/dvb-frontends/cxd2099.c
579
mutex_lock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
58
status = regmap_write(ci->regmap, 0, adr);
drivers/media/dvb-frontends/cxd2099.c
580
write_reg(ci, 0x0d, ecount >> 8);
drivers/media/dvb-frontends/cxd2099.c
581
write_reg(ci, 0x0e, ecount & 0xff);
drivers/media/dvb-frontends/cxd2099.c
582
write_block(ci, 0x11, ebuf, ecount);
drivers/media/dvb-frontends/cxd2099.c
583
ci->write_busy = 1;
drivers/media/dvb-frontends/cxd2099.c
584
mutex_unlock(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
60
ci->lastaddress = adr;
drivers/media/dvb-frontends/cxd2099.c
603
struct cxd *ci;
drivers/media/dvb-frontends/cxd2099.c
612
ci = kzalloc_obj(*ci);
drivers/media/dvb-frontends/cxd2099.c
613
if (!ci) {
drivers/media/dvb-frontends/cxd2099.c
618
ci->client = client;
drivers/media/dvb-frontends/cxd2099.c
619
memcpy(&ci->cfg, cfg, sizeof(ci->cfg));
drivers/media/dvb-frontends/cxd2099.c
621
ci->regmap = regmap_init_i2c(client, &rm_cfg);
drivers/media/dvb-frontends/cxd2099.c
622
if (IS_ERR(ci->regmap)) {
drivers/media/dvb-frontends/cxd2099.c
623
ret = PTR_ERR(ci->regmap);
drivers/media/dvb-frontends/cxd2099.c
627
ret = regmap_read(ci->regmap, 0x00, &val);
drivers/media/dvb-frontends/cxd2099.c
634
mutex_init(&ci->lock);
drivers/media/dvb-frontends/cxd2099.c
635
ci->lastaddress = 0xff;
drivers/media/dvb-frontends/cxd2099.c
636
ci->clk_reg_b = 0x4a;
drivers/media/dvb-frontends/cxd2099.c
637
ci->clk_reg_f = 0x1b;
drivers/media/dvb-frontends/cxd2099.c
639
ci->en = en_templ;
drivers/media/dvb-frontends/cxd2099.c
640
ci->en.data = ci;
drivers/media/dvb-frontends/cxd2099.c
641
init(ci);
drivers/media/dvb-frontends/cxd2099.c
644
*cfg->en = &ci->en;
drivers/media/dvb-frontends/cxd2099.c
647
ci->en.read_data = NULL;
drivers/media/dvb-frontends/cxd2099.c
648
ci->en.write_data = NULL;
drivers/media/dvb-frontends/cxd2099.c
65
if (ci->cfg.max_i2c && len > ci->cfg.max_i2c)
drivers/media/dvb-frontends/cxd2099.c
653
i2c_set_clientdata(client, ci);
drivers/media/dvb-frontends/cxd2099.c
658
regmap_exit(ci->regmap);
drivers/media/dvb-frontends/cxd2099.c
66
len = ci->cfg.max_i2c;
drivers/media/dvb-frontends/cxd2099.c
660
kfree(ci);
drivers/media/dvb-frontends/cxd2099.c
668
struct cxd *ci = i2c_get_clientdata(client);
drivers/media/dvb-frontends/cxd2099.c
67
status = regmap_raw_read(ci->regmap, 1, data, len);
drivers/media/dvb-frontends/cxd2099.c
670
regmap_exit(ci->regmap);
drivers/media/dvb-frontends/cxd2099.c
671
kfree(ci);
drivers/media/dvb-frontends/cxd2099.c
77
static int read_reg(struct cxd *ci, u8 reg, u8 *val)
drivers/media/dvb-frontends/cxd2099.c
79
return read_block(ci, reg, val, 1);
drivers/media/dvb-frontends/cxd2099.c
82
static int read_pccard(struct cxd *ci, u16 address, u8 *data, u8 n)
drivers/media/dvb-frontends/cxd2099.c
87
status = regmap_raw_write(ci->regmap, 2, addr, 2);
drivers/media/dvb-frontends/cxd2099.c
89
status = regmap_raw_read(ci->regmap, 3, data, n);
drivers/media/dvb-frontends/cxd2099.c
93
static int write_pccard(struct cxd *ci, u16 address, u8 *data, u8 n)
drivers/media/dvb-frontends/cxd2099.c
98
status = regmap_raw_write(ci->regmap, 2, addr, 2);
drivers/media/pci/ddbridge/ddbridge-ci.c
101
ddbwritel(ci->port->dev, CI_POWER_ON | CI_RESET_CAM,
drivers/media/pci/ddbridge/ddbridge-ci.c
102
CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
103
ddbwritel(ci->port->dev, CI_ENABLE | CI_POWER_ON | CI_RESET_CAM,
drivers/media/pci/ddbridge/ddbridge-ci.c
104
CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
106
ddbwritel(ci->port->dev, CI_ENABLE | CI_POWER_ON,
drivers/media/pci/ddbridge/ddbridge-ci.c
107
CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
113
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
115
ddbwritel(ci->port->dev, 0, CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
122
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
123
u32 val = ddbreadl(ci->port->dev, CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
125
ddbwritel(ci->port->dev, val | CI_BYPASS_DISABLE,
drivers/media/pci/ddbridge/ddbridge-ci.c
126
CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
132
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
133
u32 val = ddbreadl(ci->port->dev, CI_CONTROL(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
156
struct ddb_ci *ci;
drivers/media/pci/ddbridge/ddbridge-ci.c
158
ci = kzalloc_obj(*ci);
drivers/media/pci/ddbridge/ddbridge-ci.c
159
if (!ci)
drivers/media/pci/ddbridge/ddbridge-ci.c
161
memcpy(&ci->en, &en_templ, sizeof(en_templ));
drivers/media/pci/ddbridge/ddbridge-ci.c
162
ci->en.data = ci;
drivers/media/pci/ddbridge/ddbridge-ci.c
163
port->en = &ci->en;
drivers/media/pci/ddbridge/ddbridge-ci.c
165
ci->port = port;
drivers/media/pci/ddbridge/ddbridge-ci.c
166
ci->nr = port->nr - 2;
drivers/media/pci/ddbridge/ddbridge-ci.c
171
static int write_creg(struct ddb_ci *ci, u8 data, u8 mask)
drivers/media/pci/ddbridge/ddbridge-ci.c
173
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
174
u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13;
drivers/media/pci/ddbridge/ddbridge-ci.c
176
ci->port->creg = (ci->port->creg & ~mask) | data;
drivers/media/pci/ddbridge/ddbridge-ci.c
177
return i2c_write_reg(i2c, adr, 0x02, ci->port->creg);
drivers/media/pci/ddbridge/ddbridge-ci.c
183
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
184
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
185
u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13;
drivers/media/pci/ddbridge/ddbridge-ci.c
196
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
197
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
198
u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13;
drivers/media/pci/ddbridge/ddbridge-ci.c
20
static int wait_ci_ready(struct ddb_ci *ci)
drivers/media/pci/ddbridge/ddbridge-ci.c
206
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
207
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
208
u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13;
drivers/media/pci/ddbridge/ddbridge-ci.c
219
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
220
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
221
u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13;
drivers/media/pci/ddbridge/ddbridge-ci.c
228
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
230
dev_dbg(ci->port->dev->dev, "%s\n", __func__);
drivers/media/pci/ddbridge/ddbridge-ci.c
231
write_creg(ci, 0x01, 0x01);
drivers/media/pci/ddbridge/ddbridge-ci.c
232
write_creg(ci, 0x04, 0x04);
drivers/media/pci/ddbridge/ddbridge-ci.c
234
write_creg(ci, 0x02, 0x02);
drivers/media/pci/ddbridge/ddbridge-ci.c
235
write_creg(ci, 0x00, 0x04);
drivers/media/pci/ddbridge/ddbridge-ci.c
236
write_creg(ci, 0x18, 0x18);
drivers/media/pci/ddbridge/ddbridge-ci.c
242
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
244
dev_dbg(ci->port->dev->dev, "%s\n", __func__);
drivers/media/pci/ddbridge/ddbridge-ci.c
245
write_creg(ci, 0x10, 0xff);
drivers/media/pci/ddbridge/ddbridge-ci.c
246
write_creg(ci, 0x08, 0x08);
drivers/media/pci/ddbridge/ddbridge-ci.c
252
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
254
dev_dbg(ci->port->dev->dev, "%s\n", __func__);
drivers/media/pci/ddbridge/ddbridge-ci.c
255
write_creg(ci, 0x00, 0x10);
drivers/media/pci/ddbridge/ddbridge-ci.c
26
if (ddbreadl(ci->port->dev,
drivers/media/pci/ddbridge/ddbridge-ci.c
261
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
262
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
263
u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13;
drivers/media/pci/ddbridge/ddbridge-ci.c
27
CI_CONTROL(ci->nr)) & CI_READY)
drivers/media/pci/ddbridge/ddbridge-ci.c
289
struct ddb_ci *ci;
drivers/media/pci/ddbridge/ddbridge-ci.c
291
ci = kzalloc_obj(*ci);
drivers/media/pci/ddbridge/ddbridge-ci.c
292
if (!ci)
drivers/media/pci/ddbridge/ddbridge-ci.c
294
memcpy(&ci->en, &en_xo2_templ, sizeof(en_xo2_templ));
drivers/media/pci/ddbridge/ddbridge-ci.c
295
ci->en.data = ci;
drivers/media/pci/ddbridge/ddbridge-ci.c
296
port->en = &ci->en;
drivers/media/pci/ddbridge/ddbridge-ci.c
298
ci->port = port;
drivers/media/pci/ddbridge/ddbridge-ci.c
299
ci->nr = port->nr - 2;
drivers/media/pci/ddbridge/ddbridge-ci.c
300
ci->port->creg = 0;
drivers/media/pci/ddbridge/ddbridge-ci.c
301
write_creg(ci, 0x10, 0xff);
drivers/media/pci/ddbridge/ddbridge-ci.c
302
write_creg(ci, 0x08, 0x08);
drivers/media/pci/ddbridge/ddbridge-ci.c
39
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
44
ddbwritel(ci->port->dev, CI_READ_CMD | (1 << 16) | address,
drivers/media/pci/ddbridge/ddbridge-ci.c
45
CI_DO_READ_ATTRIBUTES(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
46
wait_ci_ready(ci);
drivers/media/pci/ddbridge/ddbridge-ci.c
47
val = 0xff & ddbreadl(ci->port->dev, CI_BUFFER(ci->nr) + off);
drivers/media/pci/ddbridge/ddbridge-ci.c
54
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
56
ddbwritel(ci->port->dev, CI_WRITE_CMD | (value << 16) | address,
drivers/media/pci/ddbridge/ddbridge-ci.c
57
CI_DO_ATTRIBUTE_RW(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
58
wait_ci_ready(ci);
drivers/media/pci/ddbridge/ddbridge-ci.c
66
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
69
ddbwritel(ci->port->dev, CI_READ_CMD | address,
drivers/media/pci/ddbridge/ddbridge-ci.c
70
CI_DO_IO_RW(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
73
res = ddbreadl(ci->port->dev, CI_READDATA(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
86
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
88
ddbwritel(ci->port->dev, CI_WRITE_CMD | (value << 16) | address,
drivers/media/pci/ddbridge/ddbridge-ci.c
89
CI_DO_IO_RW(ci->nr));
drivers/media/pci/ddbridge/ddbridge-ci.c
90
wait_ci_ready(ci);
drivers/media/pci/ddbridge/ddbridge-ci.c
96
struct ddb_ci *ci = ca->data;
drivers/media/pci/ddbridge/ddbridge-ci.c
98
ddbwritel(ci->port->dev, CI_POWER_ON,
drivers/media/pci/ddbridge/ddbridge-ci.c
99
CI_CONTROL(ci->nr));
drivers/media/pci/netup_unidvb/netup_unidvb.h
120
struct netup_ci_state ci[2];
drivers/media/pci/netup_unidvb/netup_unidvb_ci.c
195
state = &dev->ci[num];
drivers/media/pci/netup_unidvb/netup_unidvb_ci.c
236
state = &dev->ci[num];
drivers/media/pci/ngene/ngene-core.c
1294
dev->ci.en)
drivers/media/pci/ngene/ngene-core.c
1468
if (!dev->ci.en && (io & NGENE_IO_TSOUT))
drivers/media/pci/ngene/ngene-core.c
1490
if (dev->ci.en && (io & NGENE_IO_TSOUT)) {
drivers/media/pci/ngene/ngene-core.c
1491
ret = dvb_ca_en50221_init(adapter, dev->ci.en, 0, 1);
drivers/media/pci/ngene/ngene-core.c
1565
struct ngene_ci *ci = &dev->ci;
drivers/media/pci/ngene/ngene-core.c
1583
cxd_cfg.en = &ci->en;
drivers/media/pci/ngene/ngene-core.c
1590
ci->dev = dev;
drivers/media/pci/ngene/ngene-core.c
1601
struct ngene_ci *ci = &dev->ci;
drivers/media/pci/ngene/ngene-core.c
1603
dvb_ca_en50221_release(ci->en);
drivers/media/pci/ngene/ngene-core.c
1607
ci->en = NULL;
drivers/media/pci/ngene/ngene-core.c
1655
if (dev->ci.en)
drivers/media/pci/ngene/ngene-dvb.c
169
if (dev->ci.en && chan->number == 2) {
drivers/media/pci/ngene/ngene.h
773
struct ngene_ci ci;
drivers/media/usb/dvb-usb-v2/anysee.c
1146
static int anysee_ci_read_attribute_mem(struct dvb_ca_en50221 *ci, int slot,
drivers/media/usb/dvb-usb-v2/anysee.c
1149
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1161
static int anysee_ci_write_attribute_mem(struct dvb_ca_en50221 *ci, int slot,
drivers/media/usb/dvb-usb-v2/anysee.c
1164
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1170
static int anysee_ci_read_cam_control(struct dvb_ca_en50221 *ci, int slot,
drivers/media/usb/dvb-usb-v2/anysee.c
1173
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1185
static int anysee_ci_write_cam_control(struct dvb_ca_en50221 *ci, int slot,
drivers/media/usb/dvb-usb-v2/anysee.c
1188
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1194
static int anysee_ci_slot_reset(struct dvb_ca_en50221 *ci, int slot)
drivers/media/usb/dvb-usb-v2/anysee.c
1196
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1215
static int anysee_ci_slot_shutdown(struct dvb_ca_en50221 *ci, int slot)
drivers/media/usb/dvb-usb-v2/anysee.c
1217
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1233
static int anysee_ci_slot_ts_enable(struct dvb_ca_en50221 *ci, int slot)
drivers/media/usb/dvb-usb-v2/anysee.c
1235
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1240
static int anysee_ci_poll_slot_status(struct dvb_ca_en50221 *ci, int slot,
drivers/media/usb/dvb-usb-v2/anysee.c
1243
struct dvb_usb_device *d = ci->data;
drivers/media/usb/dvb-usb-v2/anysee.c
1266
state->ci.owner = THIS_MODULE;
drivers/media/usb/dvb-usb-v2/anysee.c
1267
state->ci.read_attribute_mem = anysee_ci_read_attribute_mem;
drivers/media/usb/dvb-usb-v2/anysee.c
1268
state->ci.write_attribute_mem = anysee_ci_write_attribute_mem;
drivers/media/usb/dvb-usb-v2/anysee.c
1269
state->ci.read_cam_control = anysee_ci_read_cam_control;
drivers/media/usb/dvb-usb-v2/anysee.c
1270
state->ci.write_cam_control = anysee_ci_write_cam_control;
drivers/media/usb/dvb-usb-v2/anysee.c
1271
state->ci.slot_reset = anysee_ci_slot_reset;
drivers/media/usb/dvb-usb-v2/anysee.c
1272
state->ci.slot_shutdown = anysee_ci_slot_shutdown;
drivers/media/usb/dvb-usb-v2/anysee.c
1273
state->ci.slot_ts_enable = anysee_ci_slot_ts_enable;
drivers/media/usb/dvb-usb-v2/anysee.c
1274
state->ci.poll_slot_status = anysee_ci_poll_slot_status;
drivers/media/usb/dvb-usb-v2/anysee.c
1275
state->ci.data = d;
drivers/media/usb/dvb-usb-v2/anysee.c
1289
ret = dvb_ca_en50221_init(&d->adapter[0].dvb_adap, &state->ci, 0, 1);
drivers/media/usb/dvb-usb-v2/anysee.c
1304
dvb_ca_en50221_release(&state->ci);
drivers/media/usb/dvb-usb-v2/anysee.h
51
struct dvb_ca_en50221 ci;
drivers/mfd/stmpe.c
114
ret = stmpe->ci->write_block(stmpe, reg, length, values);
drivers/mfd/stmpe.c
1366
int stmpe_probe(struct stmpe_client_info *ci, enum stmpe_partnum partnum)
drivers/mfd/stmpe.c
1369
struct device_node *np = ci->dev->of_node;
drivers/mfd/stmpe.c
1375
pdata = devm_kzalloc(ci->dev, sizeof(*pdata), GFP_KERNEL);
drivers/mfd/stmpe.c
1382
ci->irq = -1;
drivers/mfd/stmpe.c
1384
stmpe = devm_kzalloc(ci->dev, sizeof(struct stmpe), GFP_KERNEL);
drivers/mfd/stmpe.c
1400
stmpe->dev = ci->dev;
drivers/mfd/stmpe.c
1401
stmpe->client = ci->client;
drivers/mfd/stmpe.c
1403
stmpe->ci = ci;
drivers/mfd/stmpe.c
1408
stmpe->vcc = devm_regulator_get_optional(ci->dev, "vcc");
drivers/mfd/stmpe.c
1412
dev_warn(ci->dev, "failed to enable VCC supply\n");
drivers/mfd/stmpe.c
1414
stmpe->vio = devm_regulator_get_optional(ci->dev, "vio");
drivers/mfd/stmpe.c
1418
dev_warn(ci->dev, "failed to enable VIO supply\n");
drivers/mfd/stmpe.c
1422
if (ci->init)
drivers/mfd/stmpe.c
1423
ci->init(stmpe);
drivers/mfd/stmpe.c
1425
irq_gpio = devm_gpiod_get_optional(ci->dev, "irq", GPIOD_ASIS);
drivers/mfd/stmpe.c
1437
stmpe->irq = ci->irq;
drivers/mfd/stmpe.c
1466
ret = devm_request_threaded_irq(ci->dev, stmpe->irq, NULL,
drivers/mfd/stmpe.c
55
ret = stmpe->ci->read_byte(stmpe, reg);
drivers/mfd/stmpe.c
70
ret = stmpe->ci->write_byte(stmpe, reg, val);
drivers/mfd/stmpe.c
96
ret = stmpe->ci->read_block(stmpe, reg, length, values);
drivers/mfd/stmpe.h
100
int stmpe_probe(struct stmpe_client_info *ci, enum stmpe_partnum partnum);
drivers/misc/cardreader/rtsx_pcr.c
318
ptr += pcr->ci;
drivers/misc/cardreader/rtsx_pcr.c
319
if (pcr->ci < (HOST_CMDS_BUF_LEN / 4)) {
drivers/misc/cardreader/rtsx_pcr.c
322
pcr->ci++;
drivers/misc/cardreader/rtsx_pcr.c
334
val |= (u32)(pcr->ci * 4) & 0x00FFFFFF;
drivers/misc/cardreader/rtsx_pcr.c
358
val |= (u32)(pcr->ci * 4) & 0x00FFFFFF;
drivers/net/arcnet/com20020-pci.c
125
struct com20020_pci_card_info *ci;
drivers/net/arcnet/com20020-pci.c
144
ci = (struct com20020_pci_card_info *)id->driver_data;
drivers/net/arcnet/com20020-pci.c
145
if (!ci)
drivers/net/arcnet/com20020-pci.c
146
ci = &card_info_2p5mbit;
drivers/net/arcnet/com20020-pci.c
148
priv->ci = ci;
drivers/net/arcnet/com20020-pci.c
149
mm = &ci->misc_map;
drivers/net/arcnet/com20020-pci.c
167
for (i = 0; i < ci->devcount; i++) {
drivers/net/arcnet/com20020-pci.c
168
struct com20020_pci_channel_map *cm = &ci->chan_map_tbl[i];
drivers/net/arcnet/com20020-pci.c
183
arc_printk(D_NORMAL, dev, "%s Controls\n", ci->name);
drivers/net/arcnet/com20020-pci.c
208
lp->card_flags = ci->flags;
drivers/net/arcnet/com20020-pci.c
217
if (!strncmp(ci->name, "EAE PLX-PCI FB2", 15))
drivers/net/arcnet/com20020-pci.c
220
if (ci->flags & ARC_HAS_ROTARY) {
drivers/net/arcnet/com20020-pci.c
222
if (!strncmp(ci->name, "EAE PLX-PCI MA1", 15))
drivers/net/arcnet/com20020-pci.c
224
dev->dev_id = (inb(priv->misc + ci->rotary) >> 4) & dev_id_mask;
drivers/net/arcnet/com20020-pci.c
252
if (ci->flags & ARC_HAS_LED) {
drivers/net/arcnet/com20020-pci.c
72
struct com20020_pci_card_info *ci;
drivers/net/arcnet/com20020-pci.c
77
ci = priv->ci;
drivers/net/arcnet/com20020-pci.c
79
outb(!!value, priv->misc + ci->leds[card->index].green);
drivers/net/arcnet/com20020-pci.c
87
struct com20020_pci_card_info *ci;
drivers/net/arcnet/com20020-pci.c
92
ci = priv->ci;
drivers/net/arcnet/com20020-pci.c
94
outb(!!value, priv->misc + ci->leds[card->index].red);
drivers/net/arcnet/com20020.h
65
struct com20020_pci_card_info *ci;
drivers/net/can/sja1000/plx_pci.c
581
struct plx_pci_card_info *ci;
drivers/net/can/sja1000/plx_pci.c
586
ci = (struct plx_pci_card_info *)ent->driver_data;
drivers/net/can/sja1000/plx_pci.c
594
ci->name, PCI_SLOT(pdev->devfn));
drivers/net/can/sja1000/plx_pci.c
608
addr = pci_iomap(pdev, ci->conf_map.bar, ci->conf_map.size);
drivers/net/can/sja1000/plx_pci.c
612
"(BAR%d)\n", ci->conf_map.bar);
drivers/net/can/sja1000/plx_pci.c
615
card->conf_addr = addr + ci->conf_map.offset;
drivers/net/can/sja1000/plx_pci.c
617
ci->reset_func(pdev);
drivers/net/can/sja1000/plx_pci.c
618
card->reset_func = ci->reset_func;
drivers/net/can/sja1000/plx_pci.c
621
for (i = 0; i < ci->channel_count; i++) {
drivers/net/can/sja1000/plx_pci.c
622
struct plx_pci_channel_map *cm = &ci->chan_map_tbl[i];
drivers/net/can/sja1000/plx_pci.c
654
priv->can.clock.freq = ci->can_clock;
drivers/net/can/sja1000/plx_pci.c
655
priv->ocr = ci->ocr;
drivers/net/can/sja1000/plx_pci.c
656
priv->cdr = ci->cdr;
drivers/net/dsa/realtek/rtl8365mb_main.c
2366
const struct rtl8365mb_chip_info *ci;
drivers/net/dsa/realtek/rtl8365mb_main.c
2370
ci = mb->chip_info;
drivers/net/dsa/realtek/rtl8365mb_main.c
2373
if (ci->jam_table) {
drivers/net/dsa/realtek/rtl8365mb_main.c
2374
for (i = 0; i < ci->jam_size; i++) {
drivers/net/dsa/realtek/rtl8365mb_main.c
2375
ret = regmap_write(priv->map, ci->jam_table[i].reg,
drivers/net/dsa/realtek/rtl8365mb_main.c
2376
ci->jam_table[i].val);
drivers/net/dsa/realtek/rtl8365mb_main.c
2632
const struct rtl8365mb_chip_info *ci = &rtl8365mb_chip_infos[i];
drivers/net/dsa/realtek/rtl8365mb_main.c
2634
if (ci->chip_id == chip_id && ci->chip_ver == chip_ver) {
drivers/net/dsa/realtek/rtl8365mb_main.c
2635
mb->chip_info = ci;
drivers/net/ethernet/amd/pds_core/auxbus.c
22
u16 ci;
drivers/net/ethernet/amd/pds_core/auxbus.c
35
ci = le16_to_cpu(comp.client_reg.client_id);
drivers/net/ethernet/amd/pds_core/auxbus.c
36
if (!ci) {
drivers/net/ethernet/amd/pds_core/auxbus.c
43
__func__, ci, devname);
drivers/net/ethernet/amd/pds_core/auxbus.c
45
return ci;
drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c
133
struct bcma_chipinfo *ci = &bgmac->bcma.core->bus->chipinfo;
drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c
140
if (ci->id == BCMA_CHIP_ID_BCM5356) {
drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c
150
if ((ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg != 10) ||
drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c
151
(ci->id == BCMA_CHIP_ID_BCM4749 && ci->pkg != 10) ||
drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c
152
(ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg != 9)) {
drivers/net/ethernet/broadcom/bgmac-bcma.c
126
struct bcma_chipinfo *ci = &core->bus->chipinfo;
drivers/net/ethernet/broadcom/bgmac-bcma.c
198
!(ci->id == BCMA_CHIP_ID_BCM53573 && core->core_unit == 1)) {
drivers/net/ethernet/broadcom/bgmac-bcma.c
209
if (ci->id == BCMA_CHIP_ID_BCM53573 && phydev &&
drivers/net/ethernet/broadcom/bgmac-bcma.c
228
switch (ci->id) {
drivers/net/ethernet/broadcom/bgmac-bcma.c
243
if ((ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM47186) ||
drivers/net/ethernet/broadcom/bgmac-bcma.c
244
(ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188)) {
drivers/net/ethernet/broadcom/bgmac-bcma.c
248
if (ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM5358)
drivers/net/ethernet/broadcom/bgmac-bcma.c
254
if (ci->pkg == BCMA_PKG_ID_BCM47189)
drivers/net/ethernet/broadcom/bgmac-bcma.c
258
if (ci->pkg == BCMA_PKG_ID_BCM47189)
drivers/net/ethernet/broadcom/bgmac-bcma.c
271
if (ci->pkg == 10) {
drivers/net/ethernet/brocade/bna/bfa_msgq.c
640
int ci;
drivers/net/ethernet/brocade/bna/bfa_msgq.c
643
ci = rspq->consumer_index;
drivers/net/ethernet/brocade/bna/bfa_msgq.c
645
src += (ci * BFI_MSGQ_RSP_ENTRY_SIZE);
drivers/net/ethernet/brocade/bna/bfa_msgq.c
654
BFA_MSGQ_INDX_ADD(ci, 1, rspq->depth);
drivers/net/ethernet/brocade/bna/bfa_msgq.c
656
src += (ci * BFI_MSGQ_RSP_ENTRY_SIZE);
drivers/net/ethernet/brocade/bna/bnad.c
505
u32 ci, vec;
drivers/net/ethernet/brocade/bna/bnad.c
508
for (vec = 0, ci = sop_ci; vec < nvecs; vec++) {
drivers/net/ethernet/brocade/bna/bnad.c
509
unmap = &unmap_q->unmap[ci];
drivers/net/ethernet/brocade/bna/bnad.c
510
BNA_QE_INDX_INC(ci, rcb->q_depth);
drivers/net/ethernet/brocade/bna/bnad.c
526
u32 ci, pi, totlen = 0;
drivers/net/ethernet/brocade/bna/bnad.c
535
ci = rcb->consumer_index;
drivers/net/ethernet/brocade/bna/bnad.c
538
prefetch(page_address(unmap_q->unmap[ci].page) +
drivers/net/ethernet/brocade/bna/bnad.c
539
unmap_q->unmap[ci].page_offset);
drivers/net/ethernet/brocade/bna/bnad.c
545
unmap = &unmap_q->unmap[ci];
drivers/net/ethernet/brocade/bna/bnad.c
546
BNA_QE_INDX_INC(ci, rcb->q_depth);
drivers/net/ethernet/freescale/enetc/enetc.c
1127
static int enetc_bd_ready_count(struct enetc_bdr *tx_ring, int ci)
drivers/net/ethernet/freescale/enetc/enetc.c
1131
return pi >= ci ? pi - ci : tx_ring->bd_count - ci + pi;
drivers/net/ethernet/fungible/funeth/funeth_rx.c
469
static u16 cqe_phase_mismatch(const struct fun_cqe_info *ci, u16 phase)
drivers/net/ethernet/fungible/funeth/funeth_rx.c
471
u16 sf_p = be16_to_cpu(ci->sf_p);
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
612
static int cmdq_cmd_ceq_handler(struct hinic_cmdq *cmdq, u16 ci,
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
627
cmdq_sync_cmd_handler(cmdq, ci, errcode);
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
648
u16 ci;
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
651
while ((hw_wqe = hinic_read_wqe(cmdq->wq, WQE_SCMD_SIZE, &ci))) {
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
667
hw_wqe = hinic_read_wqe(cmdq->wq, WQE_LCMD_SIZE, &ci);
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
671
if (cmdq_cmd_ceq_handler(cmdq, ci, &hw_wqe->cmdq_wqe))
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
962
u32 addr, ci, pi;
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
968
ci = hinic_hwif_read_reg(hwdev->hwif, addr);
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
972
q_id, ci, eq->cons_idx, pi,
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
982
u32 addr, ci, pi;
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
988
ci = hinic_hwif_read_reg(hwdev->hwif, addr);
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
993
q_id, ci, pi, work_busy(&eq->aeq_work.work),
drivers/net/ethernet/huawei/hinic/hinic_rx.c
248
u16 ci;
drivers/net/ethernet/huawei/hinic/hinic_rx.c
250
while ((hw_wqe = hinic_read_wqe(rq->wq, HINIC_RQ_WQE_SIZE, &ci))) {
drivers/net/ethernet/huawei/hinic/hinic_rx.c
254
hinic_rq_get_sge(rq, &hw_wqe->rq_wqe, ci, &sge);
drivers/net/ethernet/huawei/hinic/hinic_rx.c
258
rx_free_skb(rxq, rq->saved_skb[ci], hinic_sge_to_dma(&sge));
drivers/net/ethernet/huawei/hinic/hinic_rx.c
272
unsigned int left_pkt_len, u16 ci)
drivers/net/ethernet/huawei/hinic/hinic_rx.c
282
&skb, &ci);
drivers/net/ethernet/huawei/hinic/hinic_rx.c
286
hinic_rq_get_sge(rxq->rq, rq_wqe, ci, &sge);
drivers/net/ethernet/huawei/hinic/hinic_rx.c
369
u16 ci, num_lro;
drivers/net/ethernet/huawei/hinic/hinic_rx.c
380
&ci);
drivers/net/ethernet/huawei/hinic/hinic_rx.c
387
cqe = rq->cqe[ci];
drivers/net/ethernet/huawei/hinic/hinic_rx.c
389
hinic_rq_get_sge(rxq->rq, rq_wqe, ci, &sge);
drivers/net/ethernet/huawei/hinic/hinic_rx.c
404
HINIC_RX_BUF_SZ, ci);
drivers/net/ethernet/huawei/hinic/hinic_rx.c
407
hinic_rq_put_wqe(rq, ci,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
673
u16 ci;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
675
while ((sq_wqe = hinic_sq_read_wqebb(sq, &skb, &wqe_size, &ci))) {
drivers/net/ethernet/huawei/hinic/hinic_tx.c
676
sq_wqe = hinic_sq_read_wqe(sq, &skb, wqe_size, &ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
133
static struct cmdq_wqe *cmdq_read_wqe(struct hinic3_wq *wq, u16 *ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
138
*ci = wq->cons_idx & wq->idx_mask;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
201
struct cmdq_wqe *wqe, u16 ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
216
cmdq->cmd_infos[ci].cmd_type = HINIC3_CMD_TYPE_NONE;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
222
struct cmdq_wqe *wqe, u16 ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
230
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
254
struct cmdq_wqe *wqe, u16 ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
257
cmdq_update_cmd_status(cmdq, ci, wqe);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
258
if (cmdq->cmd_infos[ci].cmpt_code) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
259
*cmdq->cmd_infos[ci].cmpt_code = CMDQ_DIRECT_SYNC_CMPT_CODE;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
260
cmdq->cmd_infos[ci].cmpt_code = NULL;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
265
if (cmdq->cmd_infos[ci].done) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
266
complete(cmdq->cmd_infos[ci].done);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
267
cmdq->cmd_infos[ci].done = NULL;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
271
cmdq_clear_cmd_buf(&cmdq->cmd_infos[ci], cmdq->hwdev);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
272
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
284
u16 ci;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
290
while ((wqe = cmdq_read_wqe(&cmdq->wq, &ci)) != NULL) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
291
cmd_info = &cmdq->cmd_infos[ci];
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
297
cmdq_type, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
302
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
306
if (cmdq_arm_ceq_handler(cmdq, wqe, ci))
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
325
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
327
cmdq_sync_cmd_handler(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
950
u16 ci;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
953
while (cmdq_read_wqe(&cmdq->wq, &ci)) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
955
cmd_info = &cmdq->cmd_infos[ci];
drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
724
u32 addr, ci, pi, ctrl0, idx;
drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
743
ci = hinic3_hwif_read_reg(hwdev->hwif, addr);
drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
749
q_id, idx, ctrl0, ci, pi, work_busy(&eq->aeq_work),
drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
818
u32 addr, ci, pi;
drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
829
ci = hinic3_hwif_read_reg(hwdev->hwif, addr);
drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
834
q_id, ci, eq->cons_idx, pi,
drivers/net/ethernet/intel/ice/ice_parser.c
821
struct ice_pg_cam_item *ci = item;
drivers/net/ethernet/intel/ice/ice_parser.c
825
ci->idx = idx;
drivers/net/ethernet/intel/ice/ice_parser.c
827
ice_pg_cam_key_init(&ci->key, buf);
drivers/net/ethernet/intel/ice/ice_parser.c
830
ice_pg_cam_action_init(&ci->action, d64);
drivers/net/ethernet/intel/ice/ice_parser.c
833
ice_pg_cam_dump(hw, ci);
drivers/net/ethernet/intel/ice/ice_parser.c
850
struct ice_pg_cam_item *ci = item;
drivers/net/ethernet/intel/ice/ice_parser.c
854
ci->idx = idx;
drivers/net/ethernet/intel/ice/ice_parser.c
857
ice_pg_cam_action_init(&ci->action, d64);
drivers/net/ethernet/intel/ice/ice_parser.c
859
ice_pg_cam_key_init(&ci->key, &buf[ICE_PG_SP_CAM_KEY_IDD]);
drivers/net/ethernet/intel/ice/ice_parser.c
862
ice_pg_cam_dump(hw, ci);
drivers/net/ethernet/intel/ice/ice_parser.c
880
struct ice_pg_nm_cam_item *ci = item;
drivers/net/ethernet/intel/ice/ice_parser.c
884
ci->idx = idx;
drivers/net/ethernet/intel/ice/ice_parser.c
887
ice_pg_nm_cam_key_init(&ci->key, d64);
drivers/net/ethernet/intel/ice/ice_parser.c
890
ice_pg_cam_action_init(&ci->action, d64);
drivers/net/ethernet/intel/ice/ice_parser.c
893
ice_pg_nm_cam_dump(hw, ci);
drivers/net/ethernet/intel/ice/ice_parser.c
913
struct ice_pg_nm_cam_item *ci = item;
drivers/net/ethernet/intel/ice/ice_parser.c
917
ci->idx = idx;
drivers/net/ethernet/intel/ice/ice_parser.c
920
ice_pg_cam_action_init(&ci->action, d64);
drivers/net/ethernet/intel/ice/ice_parser.c
924
ice_pg_nm_cam_key_init(&ci->key, d64);
drivers/net/ethernet/intel/ice/ice_parser.c
927
ice_pg_nm_cam_dump(hw, ci);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
133
octep_write_mbox_data(struct octep_ctrl_mbox_q *q, u32 *pi, u32 ci, void *buf, u32 w_sz)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
140
if (*pi < ci) {
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
164
u32 pi, ci, buf_sz, w_sz;
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
176
ci = readl(q->hw_cons);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
178
if (octep_ctrl_mbox_circq_space(pi, ci, q->sz) < (msg->hdr.s.sz + mbox_hdr_sz)) {
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
183
octep_write_mbox_data(q, &pi, ci, (void *)&msg->hdr, mbox_hdr_sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
188
octep_write_mbox_data(q, &pi, ci, sg->msg, w_sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
198
octep_read_mbox_data(struct octep_ctrl_mbox_q *q, u32 pi, u32 *ci, void *buf, u32 r_sz)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
204
qbuf = (q->hw_q + *ci);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
205
if (*ci < pi) {
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
208
*ci = octep_ctrl_mbox_circq_inc(*ci, r_sz, q->sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
211
cp_sz = min((q->sz - *ci), r_sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
214
*ci = octep_ctrl_mbox_circq_inc(*ci, cp_sz, q->sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
218
qbuf = (q->hw_q + *ci);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
220
*ci = octep_ctrl_mbox_circq_inc(*ci, r_sz, q->sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
228
u32 pi, ci, r_sz, buf_sz, q_depth;
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
238
ci = readl(q->hw_cons);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
240
q_depth = octep_ctrl_mbox_circq_depth(pi, ci, q->sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
246
octep_read_mbox_data(q, pi, &ci, (void *)&msg->hdr, mbox_hdr_sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
251
octep_read_mbox_data(q, pi, &ci, sg->msg, r_sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
254
writel(ci, q->hw_cons);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
64
static u32 octep_ctrl_mbox_circq_space(u32 pi, u32 ci, u32 sz)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
66
return sz - (abs(pi - ci) % sz);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
69
static u32 octep_ctrl_mbox_circq_depth(u32 pi, u32 ci, u32 sz)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
71
return (abs(pi - ci) % sz);
drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h
400
u32 ci;
drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h
402
ci = mlx5_cqwq_ctr2ix(wq, wq->cc - 1);
drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h
406
cq->mcq.cqn, ci, qn,
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
778
u16 wqe_counter, ci;
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
787
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
788
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
801
mlx5_wq_cyc_wqe_dump(&sq->wq, ci, wi->num_wqebbs);
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
832
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
834
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sq->cc);
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
835
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
134
u32 ci = mlx5_cqwq_ctr2ix(wq, cqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
136
u32 ci_top = min_t(u32, wq_sz, ci + n);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
138
for (; ci < ci_top; ci++, n--) {
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
139
struct mlx5_cqe64 *cqe = mlx5_cqwq_get_wqe(wq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
144
if (unlikely(ci == wq_sz)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
146
for (ci = 0; ci < n; ci++) {
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
147
struct mlx5_cqe64 *cqe = mlx5_cqwq_get_wqe(wq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1744
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1746
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1747
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1793
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1795
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1796
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2610
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2612
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2613
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2701
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2704
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2705
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
811
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
813
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
814
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
85
u32 ci = mlx5_cqwq_ctr2ix(wq, cqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
860
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
864
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
865
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
87
memcpy(data, mlx5_cqwq_get_wqe(wq, ci), sizeof(struct mlx5_cqe64));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
878
mlx5_wq_cyc_wqe_dump(&sq->wq, ci, wi->num_wqebbs);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
798
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
807
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
808
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
839
mlx5_wq_cyc_wqe_dump(&sq->wq, ci, wi->num_wqebbs);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
876
u16 ci, sqcc, npkts = 0;
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
882
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
883
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/eq.c
787
u32 ci = eq->cons_index + cc;
drivers/net/ethernet/mellanox/mlx5/core/eq.c
791
eqe = get_eqe(eq, ci & (nent - 1));
drivers/net/ethernet/mellanox/mlx5/core/eq.c
792
eqe = ((eqe->owner & 1) ^ !!(ci & nent)) ? NULL : eqe;
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/debug.c
240
send_queue->completed.ci,
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c
1042
queue->completed.ci = 0;
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c
642
while (comp->ci != comp->pi) {
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c
645
comp->entries[comp->ci].status;
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c
647
comp->entries[comp->ci].user_data;
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c
649
comp->ci = (comp->ci + 1) & comp->mask;
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.h
131
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/wq.h
232
u32 ci = mlx5_cqwq_get_ci(wq);
drivers/net/ethernet/mellanox/mlx5/core/wq.h
233
struct mlx5_cqe64 *cqe = mlx5_cqwq_get_wqe(wq, ci);
drivers/net/ethernet/mellanox/mlx5/core/wq.h
250
u32 ci = mlx5_cqwq_get_ci(wq);
drivers/net/ethernet/mellanox/mlx5/core/wq.h
253
cqe = mlx5_cqwq_get_wqe(wq, ci);
drivers/net/ethernet/realtek/r8169_main.c
2069
const struct rtl_coalesce_info *ci;
drivers/net/ethernet/realtek/r8169_main.c
2072
ci = rtl_coalesce_info_8169;
drivers/net/ethernet/realtek/r8169_main.c
2074
ci = rtl_coalesce_info_8168_8136;
drivers/net/ethernet/realtek/r8169_main.c
2078
return ci;
drivers/net/ethernet/realtek/r8169_main.c
2080
for (; ci->speed; ci++) {
drivers/net/ethernet/realtek/r8169_main.c
2081
if (tp->phydev->speed == ci->speed)
drivers/net/ethernet/realtek/r8169_main.c
2082
return ci;
drivers/net/ethernet/realtek/r8169_main.c
2094
const struct rtl_coalesce_info *ci;
drivers/net/ethernet/realtek/r8169_main.c
2104
ci = rtl_coalesce_info(tp);
drivers/net/ethernet/realtek/r8169_main.c
2105
if (IS_ERR(ci))
drivers/net/ethernet/realtek/r8169_main.c
2106
return PTR_ERR(ci);
drivers/net/ethernet/realtek/r8169_main.c
2108
scale = ci->scale_nsecs[tp->cp_cmd & INTT_MASK];
drivers/net/ethernet/realtek/r8169_main.c
2132
const struct rtl_coalesce_info *ci;
drivers/net/ethernet/realtek/r8169_main.c
2135
ci = rtl_coalesce_info(tp);
drivers/net/ethernet/realtek/r8169_main.c
2136
if (IS_ERR(ci))
drivers/net/ethernet/realtek/r8169_main.c
2137
return PTR_ERR(ci);
drivers/net/ethernet/realtek/r8169_main.c
2140
if (usec <= ci->scale_nsecs[i] * RTL_COALESCE_T_MAX / 1000U) {
drivers/net/ethernet/realtek/r8169_main.c
2142
return ci->scale_nsecs[i];
drivers/net/ppp/ppp_mppe.h
34
#define MPPE_OPTS_TO_CI(opts, ci) \
drivers/net/ppp/ppp_mppe.h
36
u_char *ptr = ci; /* u_char[4] */ \
drivers/net/ppp/ppp_mppe.h
56
#define MPPE_CI_TO_OPTS(ci, opts) \
drivers/net/ppp/ppp_mppe.h
58
u_char *ptr = ci; /* u_char[4] */ \
drivers/net/vxlan/vxlan_core.c
161
struct nda_cacheinfo ci;
drivers/net/vxlan/vxlan_core.c
235
ci.ndm_used = jiffies_to_clock_t(now - READ_ONCE(fdb->used));
drivers/net/vxlan/vxlan_core.c
236
ci.ndm_confirmed = 0;
drivers/net/vxlan/vxlan_core.c
237
ci.ndm_updated = jiffies_to_clock_t(now - READ_ONCE(fdb->updated));
drivers/net/vxlan/vxlan_core.c
238
ci.ndm_refcnt = 0;
drivers/net/vxlan/vxlan_core.c
240
if (nla_put(skb, NDA_CACHEINFO, sizeof(ci), &ci))
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2842
struct wmi_channel *ci;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2850
chans_len = arg->n_channels * (sizeof(*tlv) + sizeof(*ci));
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2878
tlv->len = __cpu_to_le16(sizeof(*ci));
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2879
ci = (void *)tlv->value;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2881
ath10k_wmi_put_wmi_channel(ar, ci, ch);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2884
chans += sizeof(*ci);
drivers/net/wireless/ath/ath10k/wmi.c
7623
struct wmi_channel *ci;
drivers/net/wireless/ath/ath10k/wmi.c
7635
ci = &cmd->chan_info[i];
drivers/net/wireless/ath/ath10k/wmi.c
7637
ath10k_wmi_put_wmi_channel(ar, ci, ch);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1000
if (ci->pub.chip != BRCM_CC_4329_CHIP_ID) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1004
ci->iscoreup = brcmf_chip_sb_iscoreup;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1005
ci->coredisable = brcmf_chip_sb_coredisable;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1006
ci->resetcore = brcmf_chip_sb_resetcore;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1008
core = brcmf_chip_add_core(ci, BCMA_CORE_CHIPCOMMON,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1013
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1014
core = brcmf_chip_add_core(ci, BCMA_CORE_SDIO_DEV,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1019
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1020
core = brcmf_chip_add_core(ci, BCMA_CORE_INTERNAL_MEM,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1025
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1026
core = brcmf_chip_add_core(ci, BCMA_CORE_ARM_CM3,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1031
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1033
core = brcmf_chip_add_core(ci, BCMA_CORE_80211, 0x18001000, 0);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1037
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1039
ci->iscoreup = brcmf_chip_ai_iscoreup;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1040
ci->coredisable = brcmf_chip_ai_coredisable;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1041
ci->resetcore = brcmf_chip_ai_resetcore;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1043
brcmf_chip_dmp_erom_scan(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1050
ret = brcmf_chip_cores_check(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1055
brcmf_chip_set_passive(&ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1060
if (ci->ops->reset) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1061
ci->ops->reset(ci->ctx, &ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1062
brcmf_chip_set_passive(&ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1065
return brcmf_chip_get_raminfo(&ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
241
static void brcmf_chip_sb_corerev(struct brcmf_chip_priv *ci,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
246
regdata = ci->ops->read32(ci->ctx, CORE_SB(core->base, sbidhigh));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
252
struct brcmf_chip_priv *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
256
ci = core->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
258
regdata = ci->ops->read32(ci->ctx, address);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
266
struct brcmf_chip_priv *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
270
ci = core->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
271
regdata = ci->ops->read32(ci->ctx, core->wrapbase + BCMA_IOCTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
274
regdata = ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
283
struct brcmf_chip_priv *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
286
ci = core->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
288
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
292
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
298
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
299
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatelow),
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
302
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
304
SPINWAIT((ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatehigh))
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
307
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatehigh));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
311
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbidlow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
313
val = ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
316
ci->ops->write32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
318
val = ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
321
SPINWAIT((ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
329
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatelow), val);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
330
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
334
val = ci->ops->read32(ci->ctx, CORE_SB(base, sbidlow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
336
val = ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
339
ci->ops->write32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
345
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatelow),
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
353
struct brcmf_chip_priv *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
356
ci = core->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
359
regdata = ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
364
ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
366
ci->ops->read32(ci->ctx, core->wrapbase + BCMA_IOCTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
369
ci->ops->write32(ci->ctx, core->wrapbase + BCMA_RESET_CTL,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
374
SPINWAIT(ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL) !=
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
379
ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
381
ci->ops->read32(ci->ctx, core->wrapbase + BCMA_IOCTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
387
struct brcmf_chip_priv *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
391
ci = core->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
404
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatelow),
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
407
regdata = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
411
regdata = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatehigh));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
413
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatehigh), 0);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
415
regdata = ci->ops->read32(ci->ctx, CORE_SB(base, sbimstate));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
418
ci->ops->write32(ci->ctx, CORE_SB(base, sbimstate), regdata);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
422
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatelow),
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
424
regdata = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
428
ci->ops->write32(ci->ctx, CORE_SB(base, sbtmstatelow),
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
430
regdata = ci->ops->read32(ci->ctx, CORE_SB(base, sbtmstatelow));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
437
struct brcmf_chip_priv *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
442
ci = core->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
446
d11core2 = brcmf_chip_get_d11core(&ci->pub, 1);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
460
while (ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL) &
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
462
ci->ops->write32(ci->ctx, core->wrapbase + BCMA_RESET_CTL, 0);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
471
while (ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
474
ci->ops->write32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
484
ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
486
ci->ops->read32(ci->ctx, core->wrapbase + BCMA_IOCTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
489
ci->ops->write32(ci->ctx, d11priv2->wrapbase + BCMA_IOCTL,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
491
ci->ops->read32(ci->ctx, d11priv2->wrapbase + BCMA_IOCTL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
504
static struct brcmf_core *brcmf_chip_add_core(struct brcmf_chip_priv *ci,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
516
core->chip = ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
519
list_add_tail(&core->list, &ci->cores);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
524
static int brcmf_chip_cores_check(struct brcmf_chip_priv *ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
532
list_for_each_entry(core, &ci->cores, list) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
710
static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
712
switch (ci->pub.chip) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
737
return (ci->pub.chiprev < 9) ? 0x180000 : 0x160000;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
750
brcmf_err("unknown chip: %s\n", ci->pub.name);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
758
struct brcmf_chip_priv *ci = container_of(pub, struct brcmf_chip_priv,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
763
mem = brcmf_chip_get_core(&ci->pub, BCMA_CORE_ARM_CR4);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
766
ci->pub.ramsize = brcmf_chip_tcm_ramsize(mem_core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
767
ci->pub.rambase = brcmf_chip_tcm_rambase(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
768
if (ci->pub.rambase == INVALID_RAMBASE) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
773
mem = brcmf_chip_get_core(&ci->pub, BCMA_CORE_SYS_MEM);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
777
ci->pub.ramsize = brcmf_chip_sysmem_ramsize(mem_core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
778
ci->pub.rambase = brcmf_chip_tcm_rambase(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
779
if (ci->pub.rambase == INVALID_RAMBASE) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
784
mem = brcmf_chip_get_core(&ci->pub,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
792
brcmf_chip_socram_ramsize(mem_core, &ci->pub.ramsize,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
793
&ci->pub.srsize);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
797
ci->pub.rambase, ci->pub.ramsize, ci->pub.ramsize,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
798
ci->pub.srsize, ci->pub.srsize);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
800
if (!ci->pub.ramsize) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
805
if (ci->pub.ramsize > BRCMF_CHIP_MAX_MEMSIZE) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
813
static u32 brcmf_chip_dmp_get_desc(struct brcmf_chip_priv *ci, u32 *eromaddr,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
819
val = ci->ops->read32(ci->ctx, *eromaddr);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
833
static int brcmf_chip_dmp_get_regaddr(struct brcmf_chip_priv *ci, u32 *eromaddr,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
843
val = brcmf_chip_dmp_get_desc(ci, eromaddr, &desc);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
858
val = brcmf_chip_dmp_get_desc(ci, eromaddr, &desc);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
875
brcmf_chip_dmp_get_desc(ci, eromaddr, NULL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
881
szdesc = brcmf_chip_dmp_get_desc(ci, eromaddr, NULL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
884
brcmf_chip_dmp_get_desc(ci, eromaddr, NULL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
905
int brcmf_chip_dmp_erom_scan(struct brcmf_chip_priv *ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
916
eromaddr = ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
917
CORE_CC_REG(ci->pub.enum_base, eromptr));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
920
val = brcmf_chip_dmp_get_desc(ci, &eromaddr, &desc_type);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
934
val = brcmf_chip_dmp_get_desc(ci, &eromaddr, &desc_type);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
950
err = brcmf_chip_dmp_get_regaddr(ci, &eromaddr, &base, &wrap);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
955
core = brcmf_chip_add_core(ci, id, base, wrap);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
970
static int brcmf_chip_recognition(struct brcmf_chip_priv *ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
983
regdata = ci->ops->read32(ci->ctx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
984
CORE_CC_REG(ci->pub.enum_base, chipid));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
990
ci->pub.chip = regdata & CID_ID_MASK;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
991
ci->pub.chiprev = (regdata & CID_REV_MASK) >> CID_REV_SHIFT;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
994
brcmf_chip_name(ci->pub.chip, ci->pub.chiprev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
995
ci->pub.name, sizeof(ci->pub.name));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
997
socitype == SOCI_SB ? "SB" : "AXI", ci->pub.name);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h
86
void brcmf_chip_set_passive(struct brcmf_chip *ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h
87
bool brcmf_chip_set_active(struct brcmf_chip *ci, u32 rstvec);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1509
return devinfo->ci->ramsize - devinfo->ci->srsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1519
brcmf_dbg(PCIE, "dump at 0x%08X: len=%zu\n", devinfo->ci->rambase, len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1520
brcmf_pcie_copy_dev_tomem(devinfo, devinfo->ci->rambase, data, len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1617
devinfo->ci->ramsize = newsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1711
memcpy_toio(devinfo->tcm + devinfo->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1720
brcmf_pcie_write_ram32(devinfo, devinfo->ci->ramsize - 4, 0);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1724
address = devinfo->ci->rambase + devinfo->ci->ramsize -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1754
devinfo->ci->ramsize -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1767
devinfo->ci->ramsize -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1775
if (sharedram_addr < devinfo->ci->rambase ||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1776
sharedram_addr >= devinfo->ci->rambase + devinfo->ci->ramsize) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1886
devinfo->ci = chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2058
switch (devinfo->ci->chip) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2085
core = brcmf_chip_get_core(devinfo->ci, coreid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2167
ret = brcmf_chip_get_raminfo(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2248
fwreq = brcmf_fw_alloc_request(devinfo->ci->chip, devinfo->ci->chiprev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2469
devinfo->ci = brcmf_chip_attach(devinfo, pdev->device,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2471
if (IS_ERR(devinfo->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2472
ret = PTR_ERR(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2473
devinfo->ci = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2477
core = brcmf_chip_get_core(devinfo->ci, BCMA_CORE_PCIE2);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2491
devinfo->ci->chip,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2492
devinfo->ci->chiprev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2572
if (devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2573
brcmf_chip_detach(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2599
if (devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2623
if (devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2624
brcmf_chip_detach(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2695
brcmf_chip_detach(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2696
devinfo->ci = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
344
struct brcmf_chip *ci;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
566
void __iomem *addr = devinfo->tcm + devinfo->ci->rambase + mem_offset;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
576
void __iomem *addr = devinfo->tcm + devinfo->ci->rambase + mem_offset;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
637
core = brcmf_chip_get_core(devinfo->ci, coreid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
676
if (!devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
697
core = brcmf_chip_get_core(devinfo->ci, BCMA_CORE_PCIE2);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
731
if (devinfo->ci->chip == BRCM_CC_43602_CHIP_ID) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
751
if (devinfo->ci->chip == BRCM_CC_43602_CHIP_ID) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
752
core = brcmf_chip_get_core(devinfo->ci, BCMA_CORE_INTERNAL_MEM);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
756
if (!brcmf_chip_set_active(devinfo->ci, resetintr))
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
792
core = brcmf_chip_get_core(devinfo->ci, BCMA_CORE_PCIE2);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
1042
shaddr = bus->ci->rambase + bus->ci->ramsize - 4;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
1043
if (!bus->ci->rambase && brcmf_chip_sr_capable(bus->ci))
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
1044
shaddr -= bus->ci->srsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2458
static bool brcmf_chip_is_ulp(struct brcmf_chip *ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2460
if (ci->chip == CY_CC_43012_CHIP_ID)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2503
bpreq |= brcmf_chip_is_ulp(bus->ci) ?
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3355
err = brcmf_sdiod_ramrw(bus->sdiodev, true, bus->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3359
err, (int)fw->size, bus->ci->rambase);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3360
else if (!brcmf_sdio_verifymemory(bus->sdiodev, bus->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3375
address = bus->ci->ramsize - varsz + bus->ci->rambase;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3415
if (!brcmf_chip_set_active(bus->ci, rstvec)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3429
if (bus->ci->chip == BRCM_CC_43751_CHIP_ID ||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3430
bus->ci->chip == BRCM_CC_43752_CHIP_ID ||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3431
bus->ci->chip == CY_CC_43012_CHIP_ID)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3447
if (brcmf_chip_is_ulp(bus->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3598
return bus->ci->ramsize - bus->ci->srsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3612
brcmf_dbg(INFO, "dump at 0x%08x: size=%zu\n", bus->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3615
address = bus->ci->rambase;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3778
struct brcmf_chip *ci, u32 drivestrength)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3788
if (!(ci->cc_caps & CC_CAP_PMU))
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3791
switch (SDIOD_DRVSTR_KEY(ci->chip, ci->pmurev)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3811
ci->name, drivestrength);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3820
ci->name, ci->chiprev, ci->pmurev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3825
struct brcmf_core *pmu = brcmf_chip_get_pmu(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3986
bus->ci = brcmf_chip_attach(sdiodev, sdiodev->func1->device,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3988
if (IS_ERR(bus->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3990
bus->ci = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3995
bus->sdio_core = brcmf_chip_get_core(bus->ci, BCMA_CORE_SDIO_DEV);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4000
sdiodev->cc_core = brcmf_chip_get_core(bus->ci, BCMA_CORE_CHIPCOMMON);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4006
bus->ci->chip,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4007
bus->ci->chiprev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4047
brcmf_sdio_drivestrengthinit(sdiodev, bus->ci, drivestrength);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4061
reg_addr = CORE_CC_REG(brcmf_chip_get_pmu(bus->ci)->base, pmucontrol);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4255
bpreq |= brcmf_chip_is_ulp(bus->ci) ?
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4362
if (brcmf_chip_sr_capable(bus->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4374
sdiod->bus_if->chip = bus->ci->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4375
sdiod->bus_if->chiprev = bus->ci->chiprev;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
439
struct brcmf_chip *ci; /* Chip info struct */
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4433
fwreq = brcmf_fw_alloc_request(bus->ci->chip, bus->ci->chiprev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4593
if (bus->ci) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4603
brcmf_chip_set_passive(bus->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4607
brcmf_chip_detach(bus->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
722
if (!on && bus->ci->chip == CY_CC_43012_CHIP_ID)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1609
const struct chan_info_2064_lcnphy *ci;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1619
ci = &chan_info_2064_lcnphy[0];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1635
ci = &chan_info_2064_lcnphy[i];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1638
write_radio_reg(pi, RADIO_2064_REG02A, ci->logen_buftune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1640
mod_radio_reg(pi, RADIO_2064_REG030, 0x3, ci->logen_rccr_tx);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1642
mod_radio_reg(pi, RADIO_2064_REG091, 0x3, ci->txrf_mix_tune_ctrl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1644
mod_radio_reg(pi, RADIO_2064_REG038, 0xf, ci->pa_input_tune_g);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1647
(ci->logen_rccr_rx) << 2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1649
mod_radio_reg(pi, RADIO_2064_REG05E, 0xf, ci->pa_rxrf_lna1_freq_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1652
(ci->pa_rxrf_lna2_freq_tune) << 4);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1654
write_radio_reg(pi, RADIO_2064_REG06C, ci->rxrf_rxrf_spare1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1676
fvco3 = (ci->freq * 3);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1691
setCount = f16 * 3 * (ci->freq) / 32 - 1;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20410
const struct chan_info_nphy_2055 *ci)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20413
write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20414
write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20415
write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20416
write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20420
write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20421
write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20422
write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20423
write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20427
write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20428
write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20429
write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20430
write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20435
ci->RF_core1_lgbuf_a_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20437
ci->RF_core1_lgbuf_g_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20438
write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20440
ci->RF_core1_tx_pga_pad_tn);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20445
ci->RF_core1_tx_mx_bgtrim);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20447
ci->RF_core2_lgbuf_a_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20449
ci->RF_core2_lgbuf_g_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20450
write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20455
ci->RF_core2_tx_pga_pad_tn);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20457
ci->RF_core2_tx_mx_bgtrim);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20473
const struct chan_info_nphy_radio205x *ci)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20479
ci->RF_SYN_pll_vcocal1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20481
ci->RF_SYN_pll_vcocal2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20483
ci->RF_SYN_pll_refdiv);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20485
ci->RF_SYN_pll_mmd2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20487
ci->RF_SYN_pll_mmd1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20489
ci->RF_SYN_pll_loopfilter1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20491
ci->RF_SYN_pll_loopfilter2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20493
ci->RF_SYN_pll_loopfilter3);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20495
ci->RF_SYN_pll_loopfilter4);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20497
ci->RF_SYN_pll_loopfilter5);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20499
ci->RF_SYN_reserved_addr27);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20501
ci->RF_SYN_reserved_addr28);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20503
ci->RF_SYN_reserved_addr29);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20505
ci->RF_SYN_logen_VCOBUF1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20507
ci->RF_SYN_logen_MIXER2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20509
ci->RF_SYN_logen_BUF3);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20511
ci->RF_SYN_logen_BUF4);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20515
ci->RF_RX0_lnaa_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20517
ci->RF_RX0_lnag_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20519
ci->RF_TX0_intpaa_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20521
ci->RF_TX0_intpag_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20523
ci->RF_TX0_pada_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20525
ci->RF_TX0_padg_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20527
ci->RF_TX0_pgaa_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20529
ci->RF_TX0_pgag_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20531
ci->RF_TX0_mixa_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20533
ci->RF_TX0_mixg_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20537
ci->RF_RX1_lnaa_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20539
ci->RF_RX1_lnag_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20541
ci->RF_TX1_intpaa_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20543
ci->RF_TX1_intpag_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20545
ci->RF_TX1_pada_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20547
ci->RF_TX1_padg_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20549
ci->RF_TX1_pgaa_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20551
ci->RF_TX1_pgag_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20553
ci->RF_TX1_mixa_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20555
ci->RF_TX1_mixg_boost_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20824
const struct chan_info_nphy_radio2057 *ci,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20881
ci->RF_vcocal_countval0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20883
ci->RF_vcocal_countval1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20885
ci->RF_rfpll_refmaster_sparextalsize);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20887
ci->RF_rfpll_loopfilter_r1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20889
ci->RF_rfpll_loopfilter_c2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20891
ci->RF_rfpll_loopfilter_c1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20892
write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20893
write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20894
write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20895
write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20898
ci->RF_logen_mx2g_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20900
ci->RF_logen_mx5g_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20902
ci->RF_logen_indbuf2g_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20904
ci->RF_logen_indbuf5g_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20908
ci->RF_txmix2g_tune_boost_pu_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20911
ci->RF_pad2g_tune_pus_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20913
ci->RF_pga_boost_tune_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20915
ci->RF_txmix5g_boost_tune_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20917
ci->RF_pad5g_tune_misc_pus_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20919
ci->RF_lna2g_tune_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20921
ci->RF_lna5g_tune_core0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20925
ci->RF_txmix2g_tune_boost_pu_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20928
ci->RF_pad2g_tune_pus_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20930
ci->RF_pga_boost_tune_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20932
ci->RF_txmix5g_boost_tune_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20934
ci->RF_pad5g_tune_misc_pus_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20936
ci->RF_lna2g_tune_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
20938
ci->RF_lna5g_tune_core1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21020
const struct nphy_sfo_cfg *ci)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21051
write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21052
write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21053
write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21055
write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21056
write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
21057
write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h
133
struct iwl_fw_channel_info ci;
drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h
157
struct iwl_fw_channel_info ci;
drivers/net/wireless/intel/iwlwifi/fw/api/tdls.h
82
struct iwl_fw_channel_info ci;
drivers/net/wireless/intel/iwlwifi/mld/phy.c
146
.ci.channel = cpu_to_le32(chandef->chan->hw_value),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
147
.ci.band = iwl_mld_nl80211_band_to_fw(chandef->chan->band),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
148
.ci.width = iwl_mld_nl80211_width_to_fw(chandef->width),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
149
.ci.ctrl_pos = iwl_mld_get_fw_ctrl_pos(chandef),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
169
cmd.ci.ctrl_pos ^ IWL_PHY_CTRL_POS_ABOVE;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2546
struct iwl_fw_channel_info *ci)
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2548
return (u8 *)ci + (iwl_mvm_has_ultra_hb_channel(mvm) ?
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2561
struct iwl_fw_channel_info *ci,
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2566
ci->channel = cpu_to_le32(chan);
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2567
ci->band = band;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2568
ci->width = width;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2569
ci->ctrl_pos = ctrl_pos;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2572
(struct iwl_fw_channel_info_v1 *)ci;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2583
struct iwl_fw_channel_info *ci,
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2588
iwl_mvm_set_chan_info(mvm, ci, chandef->chan->hw_value,
drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c
123
iwl_mvm_chan_info_cmd_tail(mvm, &cmd->ci);
drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c
126
iwl_mvm_set_chan_info_chandef(mvm, &cmd->ci, chandef);
drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c
147
iwl_mvm_set_chan_info_chandef(mvm, &cmd->ci, chandef);
drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
343
iwl_mvm_chan_info_cmd_tail(mvm, &cmd.ci);
drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
395
iwl_mvm_set_chan_info_chandef(mvm, &cmd.ci, chandef);
drivers/net/wwan/iosm/iosm_ipc_protocol.c
253
p_ci = &ipc_protocol->p_ap_shm->ci;
drivers/net/wwan/iosm/iosm_ipc_protocol.h
97
struct ipc_protocol_context_info ci;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
188
irq != ipc_protocol->p_ap_shm->ci.msg_irq_vector)
drivers/parisc/ccio-dma.c
550
register unsigned long ci; /* coherent index */
drivers/parisc/ccio-dma.c
574
asm volatile ("extrd,u %1,15,4,%0" : "=r" (ci) : "r" (pa));
drivers/parisc/ccio-dma.c
576
asm volatile ("depd %1,35,4,%0" : "+r" (pa) : "r" (ci));
drivers/parisc/ccio-dma.c
585
asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (phys_to_virt(pba)));
drivers/parisc/ccio-dma.c
586
asm volatile ("extru %1,19,12,%0" : "+r" (ci) : "r" (ci));
drivers/parisc/ccio-dma.c
587
asm volatile ("depw %1,15,12,%0" : "+r" (pa) : "r" (ci));
drivers/parisc/sba_iommu.c
575
register unsigned ci; /* coherent index */
drivers/parisc/sba_iommu.c
577
asm("lci 0(%1), %0" : "=r" (ci) : "r" (phys_to_virt(pba)));
drivers/parisc/sba_iommu.c
579
pba |= (ci >> PAGE_SHIFT) & 0xff; /* move CI (8 bits) into lowest byte */
drivers/pci/pci-acpi.c
1594
static int pci_acpi_root_prepare_resources(struct acpi_pci_root_info *ci)
drivers/pci/pci-acpi.c
1599
status = acpi_pci_probe_root_resources(ci);
drivers/pci/pci-acpi.c
1600
resource_list_for_each_entry_safe(entry, tmp, &ci->resources) {
drivers/pci/pci-acpi.c
1648
static void pci_acpi_generic_release_info(struct acpi_pci_root_info *ci)
drivers/pci/pci-acpi.c
1652
ri = container_of(ci, struct acpi_pci_generic_root_info, common);
drivers/pci/pci-acpi.c
1654
kfree(ci->ops);
drivers/regulator/mp886x.c
262
rdesc->ops = di->ci->rops;
drivers/regulator/mp886x.c
273
rdesc->ramp_delay_table = di->ci->slew_rates;
drivers/regulator/mp886x.c
274
rdesc->n_ramp_values = ARRAY_SIZE(di->ci->slew_rates);
drivers/regulator/mp886x.c
318
di->ci = i2c_get_match_data(client);
drivers/regulator/mp886x.c
40
const struct mp886x_cfg_info *ci;
drivers/regulator/mp886x.c
49
const struct mp886x_cfg_info *ci = di->ci;
drivers/regulator/mp886x.c
52
for (i = 0; i < ARRAY_SIZE(ci->switch_freq); i++) {
drivers/regulator/mp886x.c
53
if (freq == ci->switch_freq[i]) {
drivers/regulator/mp886x.c
54
regmap_update_bits(regmap, ci->fs_reg,
drivers/regulator/mp886x.c
55
0x3 << ci->fs_shift, i << ci->fs_shift);
drivers/resctrl/mpam_resctrl.c
537
struct cacheinfo *ci;
drivers/resctrl/mpam_resctrl.c
549
ci = get_cpu_cacheinfo_level(raw_smp_processor_id(), class->level);
drivers/resctrl/mpam_resctrl.c
550
if (!ci || ci->size == 0) {
drivers/resctrl/mpam_resctrl.c
557
ci->size < resctrl_rmid_realloc_limit) {
drivers/resctrl/mpam_resctrl.c
558
resctrl_rmid_realloc_limit = ci->size;
drivers/resctrl/mpam_resctrl.c
559
resctrl_rmid_realloc_threshold = ci->size / num_unique_pmg;
drivers/s390/cio/chsc_sch.c
611
struct chsc_conf_info *ci;
drivers/s390/cio/chsc_sch.c
631
ci = kzalloc_obj(*ci);
drivers/s390/cio/chsc_sch.c
632
if (!ci) {
drivers/s390/cio/chsc_sch.c
636
if (copy_from_user(ci, user_ci, sizeof(*ci))) {
drivers/s390/cio/chsc_sch.c
642
sci_area->m = ci->id.m;
drivers/s390/cio/chsc_sch.c
643
sci_area->fmt1 = ci->fmt;
drivers/s390/cio/chsc_sch.c
644
sci_area->cssid = ci->id.cssid;
drivers/s390/cio/chsc_sch.c
645
sci_area->ssid = ci->id.ssid;
drivers/s390/cio/chsc_sch.c
658
memcpy(&ci->scid, &sci_area->response, sci_area->response.length);
drivers/s390/cio/chsc_sch.c
659
if (copy_to_user(user_ci, ci, sizeof(*ci)))
drivers/s390/cio/chsc_sch.c
664
kfree(ci);
drivers/s390/crypto/zcrypt_ccamisc.c
1632
int cca_get_info(u16 cardnr, u16 domain, struct cca_info *ci, u32 xflags)
drivers/s390/crypto/zcrypt_ccamisc.c
1640
memset(ci, 0, sizeof(*ci));
drivers/s390/crypto/zcrypt_ccamisc.c
1647
ci->hwtype = devstat.hwtype;
drivers/s390/crypto/zcrypt_ccamisc.c
1667
memcpy(ci->serial, rarray, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1668
ci->new_asym_mk_state = (char)rarray[4 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1669
ci->cur_asym_mk_state = (char)rarray[5 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1670
ci->old_asym_mk_state = (char)rarray[6 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1671
if (ci->old_asym_mk_state == '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1672
memcpy(ci->old_asym_mkvp, varray + 64, 16);
drivers/s390/crypto/zcrypt_ccamisc.c
1673
if (ci->cur_asym_mk_state == '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1674
memcpy(ci->cur_asym_mkvp, varray + 84, 16);
drivers/s390/crypto/zcrypt_ccamisc.c
1675
if (ci->new_asym_mk_state == '3')
drivers/s390/crypto/zcrypt_ccamisc.c
1676
memcpy(ci->new_asym_mkvp, varray + 104, 16);
drivers/s390/crypto/zcrypt_ccamisc.c
1677
ci->new_aes_mk_state = (char)rarray[7 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1678
ci->cur_aes_mk_state = (char)rarray[8 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1679
ci->old_aes_mk_state = (char)rarray[9 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1680
if (ci->old_aes_mk_state == '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1681
memcpy(&ci->old_aes_mkvp, varray + 172, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1682
if (ci->cur_aes_mk_state == '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1683
memcpy(&ci->cur_aes_mkvp, varray + 184, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1684
if (ci->new_aes_mk_state == '3')
drivers/s390/crypto/zcrypt_ccamisc.c
1685
memcpy(&ci->new_aes_mkvp, varray + 196, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1694
ci->new_apka_mk_state = (char)rarray[10 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1695
ci->cur_apka_mk_state = (char)rarray[11 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1696
ci->old_apka_mk_state = (char)rarray[12 * 8];
drivers/s390/crypto/zcrypt_ccamisc.c
1697
if (ci->old_apka_mk_state == '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1698
memcpy(&ci->old_apka_mkvp, varray + 208, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1699
if (ci->cur_apka_mk_state == '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1700
memcpy(&ci->cur_apka_mkvp, varray + 220, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1701
if (ci->new_apka_mk_state == '3')
drivers/s390/crypto/zcrypt_ccamisc.c
1702
memcpy(&ci->new_apka_mkvp, varray + 232, 8);
drivers/s390/crypto/zcrypt_ccamisc.c
1718
struct cca_info ci;
drivers/s390/crypto/zcrypt_ccamisc.c
1748
if (cca_get_info(card, dom, &ci, xflags))
drivers/s390/crypto/zcrypt_ccamisc.c
1751
if (mktype == AES_MK_SET && ci.cur_aes_mk_state != '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1753
if (mktype == APKA_MK_SET && ci.cur_apka_mk_state != '2')
drivers/s390/crypto/zcrypt_ccamisc.c
1756
if (minhwtype > 0 && minhwtype > ci.hwtype)
drivers/s390/crypto/zcrypt_ccamisc.c
1763
!memcmp(ptr_cur_mkvp, ci.cur_aes_mkvp,
drivers/s390/crypto/zcrypt_ccamisc.c
1764
sizeof(ci.cur_aes_mkvp)))
drivers/s390/crypto/zcrypt_ccamisc.c
1767
ci.old_aes_mk_state == '2' &&
drivers/s390/crypto/zcrypt_ccamisc.c
1768
!memcmp(ptr_old_mkvp, ci.old_aes_mkvp,
drivers/s390/crypto/zcrypt_ccamisc.c
1769
sizeof(ci.old_aes_mkvp)))
drivers/s390/crypto/zcrypt_ccamisc.c
1773
!memcmp(ptr_cur_mkvp, ci.cur_apka_mkvp,
drivers/s390/crypto/zcrypt_ccamisc.c
1774
sizeof(ci.cur_apka_mkvp)))
drivers/s390/crypto/zcrypt_ccamisc.c
1777
ci.old_apka_mk_state == '2' &&
drivers/s390/crypto/zcrypt_ccamisc.c
1778
!memcmp(ptr_old_mkvp, ci.old_apka_mkvp,
drivers/s390/crypto/zcrypt_ccamisc.c
1779
sizeof(ci.old_apka_mkvp)))
drivers/s390/crypto/zcrypt_ccamisc.h
263
int cca_get_info(u16 card, u16 dom, struct cca_info *ci, u32 xflags);
drivers/s390/crypto/zcrypt_cex4.c
125
struct cca_info ci;
drivers/s390/crypto/zcrypt_cex4.c
129
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
133
&ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
135
if (ci.new_aes_mk_state >= '1' && ci.new_aes_mk_state <= '3') {
drivers/s390/crypto/zcrypt_cex4.c
136
MKVP_TO_HEXBUF(ci.new_aes_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
138
new_state[ci.new_aes_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
144
if (ci.cur_aes_mk_state >= '1' && ci.cur_aes_mk_state <= '2') {
drivers/s390/crypto/zcrypt_cex4.c
145
MKVP_TO_HEXBUF(ci.cur_aes_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
147
cao_state[ci.cur_aes_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
153
if (ci.old_aes_mk_state >= '1' && ci.old_aes_mk_state <= '2') {
drivers/s390/crypto/zcrypt_cex4.c
154
MKVP_TO_HEXBUF(ci.old_aes_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
156
cao_state[ci.old_aes_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
162
if (ci.new_apka_mk_state >= '1' && ci.new_apka_mk_state <= '3') {
drivers/s390/crypto/zcrypt_cex4.c
163
MKVP_TO_HEXBUF(ci.new_apka_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
165
new_state[ci.new_apka_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
171
if (ci.cur_apka_mk_state >= '1' && ci.cur_apka_mk_state <= '2') {
drivers/s390/crypto/zcrypt_cex4.c
172
MKVP_TO_HEXBUF(ci.cur_apka_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
174
cao_state[ci.cur_apka_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
180
if (ci.old_apka_mk_state >= '1' && ci.old_apka_mk_state <= '2') {
drivers/s390/crypto/zcrypt_cex4.c
181
MKVP_TO_HEXBUF(ci.old_apka_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
183
cao_state[ci.old_apka_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
189
if (ci.new_asym_mk_state >= '1' && ci.new_asym_mk_state <= '3') {
drivers/s390/crypto/zcrypt_cex4.c
190
MKVP_TO_HEXBUF(ci.new_asym_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
192
new_state[ci.new_asym_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
198
if (ci.cur_asym_mk_state >= '1' && ci.cur_asym_mk_state <= '2') {
drivers/s390/crypto/zcrypt_cex4.c
199
MKVP_TO_HEXBUF(ci.cur_asym_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
201
cao_state[ci.cur_asym_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
207
if (ci.old_asym_mk_state >= '1' && ci.old_asym_mk_state <= '2') {
drivers/s390/crypto/zcrypt_cex4.c
208
MKVP_TO_HEXBUF(ci.old_asym_mkvp, hexbuf);
drivers/s390/crypto/zcrypt_cex4.c
210
cao_state[ci.old_asym_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
239
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
241
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
243
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
245
if (ci.API_ord_nr > 0)
drivers/s390/crypto/zcrypt_cex4.c
246
return sysfs_emit(buf, "%u\n", ci.API_ord_nr);
drivers/s390/crypto/zcrypt_cex4.c
259
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
261
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
263
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
265
if (ci.FW_version > 0)
drivers/s390/crypto/zcrypt_cex4.c
267
(int)(ci.FW_version >> 8),
drivers/s390/crypto/zcrypt_cex4.c
268
(int)(ci.FW_version & 0xFF));
drivers/s390/crypto/zcrypt_cex4.c
281
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
283
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
285
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
287
if (ci.serial[0])
drivers/s390/crypto/zcrypt_cex4.c
288
return sysfs_emit(buf, "%16.16s\n", ci.serial);
drivers/s390/crypto/zcrypt_cex4.c
317
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
320
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
322
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
325
if (ci.op_mode & (1ULL << ep11_op_modes[i].mode_bit)) {
drivers/s390/crypto/zcrypt_cex4.c
84
struct cca_info ci;
drivers/s390/crypto/zcrypt_cex4.c
86
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
88
cca_get_info(ac->id, AUTOSEL_DOM, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
90
return sysfs_emit(buf, "%s\n", ci.serial);
drivers/scsi/be2iscsi/be_main.c
1504
u16 cid, code, ci, cri;
drivers/scsi/be2iscsi/be_main.c
1521
ci = AMAP_GET_BITS(struct amap_i_t_dpdu_cqe,
drivers/scsi/be2iscsi/be_main.c
1528
ci = AMAP_GET_BITS(struct amap_i_t_dpdu_cqe_v2,
drivers/scsi/be2iscsi/be_main.c
1547
pasync_handle = pasync_ctx->async_entry[ci].header;
drivers/scsi/be2iscsi/be_main.c
1554
pasync_handle = pasync_ctx->async_entry[ci].data;
drivers/scsi/be2iscsi/be_main.c
1562
pasync_handle->index != ci) {
drivers/scsi/be2iscsi/be_main.c
1570
phys_addr.u.a64.address, ci);
drivers/scsi/be2iscsi/be_main.c
1586
cid, code, ci, phys_addr.u.a64.address);
drivers/scsi/bfa/bfa.h
170
void (*hw_rspq_ack)(struct bfa_s *bfa, int rspq, u32 ci);
drivers/scsi/bfa/bfa.h
323
void bfa_hwcb_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci);
drivers/scsi/bfa/bfa.h
336
void bfa_hwct_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci);
drivers/scsi/bfa/bfa.h
337
void bfa_hwct2_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci);
drivers/scsi/bfa/bfa_core.c
715
u32 pi, ci;
drivers/scsi/bfa/bfa_core.c
719
ci = bfa_rspq_ci(bfa, qid);
drivers/scsi/bfa/bfa_core.c
722
ret = (ci != pi);
drivers/scsi/bfa/bfa_core.c
724
while (ci != pi) {
drivers/scsi/bfa/bfa_core.c
725
m = bfa_rspq_elem(bfa, qid, ci);
drivers/scsi/bfa/bfa_core.c
729
CQ_INCR(ci, bfa->iocfc.cfg.drvcfg.num_rspq_elems);
drivers/scsi/bfa/bfa_core.c
735
bfa_isr_rspq_ack(bfa, qid, ci);
drivers/scsi/bfa/bfa_hw_cb.c
46
bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq, u32 ci)
drivers/scsi/bfa/bfa_hw_cb.c
51
if (bfa_rspq_ci(bfa, rspq) == ci)
drivers/scsi/bfa/bfa_hw_cb.c
54
bfa_rspq_ci(bfa, rspq) = ci;
drivers/scsi/bfa/bfa_hw_cb.c
55
writel(ci, bfa->iocfc.bfa_regs.rme_q_ci[rspq]);
drivers/scsi/bfa/bfa_hw_cb.c
59
bfa_hwcb_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci)
drivers/scsi/bfa/bfa_hw_cb.c
61
if (bfa_rspq_ci(bfa, rspq) == ci)
drivers/scsi/bfa/bfa_hw_cb.c
64
bfa_rspq_ci(bfa, rspq) = ci;
drivers/scsi/bfa/bfa_hw_cb.c
65
writel(ci, bfa->iocfc.bfa_regs.rme_q_ci[rspq]);
drivers/scsi/bfa/bfa_hw_ct.c
67
bfa_hwct_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci)
drivers/scsi/bfa/bfa_hw_ct.c
74
bfa_rspq_ci(bfa, rspq) = ci;
drivers/scsi/bfa/bfa_hw_ct.c
75
writel(ci, bfa->iocfc.bfa_regs.rme_q_ci[rspq]);
drivers/scsi/bfa/bfa_hw_ct.c
84
bfa_hwct2_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci)
drivers/scsi/bfa/bfa_hw_ct.c
86
bfa_rspq_ci(bfa, rspq) = ci;
drivers/scsi/bfa/bfa_hw_ct.c
87
writel(ci, bfa->iocfc.bfa_regs.rme_q_ci[rspq]);
drivers/scsi/bfa/bfi.h
538
#define BFI_MSGQ_FULL(_q) (((_q->pi + 1) % _q->q_depth) == _q->ci)
drivers/scsi/bfa/bfi.h
539
#define BFI_MSGQ_EMPTY(_q) (_q->pi == _q->ci)
drivers/scsi/bfa/bfi.h
540
#define BFI_MSGQ_UPDATE_CI(_q) (_q->ci = (_q->ci + 1) % _q->q_depth)
drivers/scsi/bfa/bfi.h
544
#define BFI_MSGQ_FREE_CNT(_q) ((_q->ci - _q->pi - 1) & (_q->q_depth - 1))
drivers/scsi/esas2r/esas2r_init.c
1144
struct atto_vda_cfg_init *ci;
drivers/scsi/esas2r/esas2r_init.c
1158
ci = (struct atto_vda_cfg_init *)&rq->vrq->cfg.data.init;
drivers/scsi/esas2r/esas2r_init.c
1159
ci->sgl_page_size = cpu_to_le32(sgl_page_size);
drivers/scsi/esas2r/esas2r_init.c
1161
ci->epoch_time = cpu_to_le32(ktime_get_real_seconds());
drivers/scsi/esas2r/esas2r_init.c
1215
ci = (struct atto_vda_cfg_init *)rq->data_buf;
drivers/scsi/esas2r/esas2r_init.c
1218
le32_to_cpu(ci->num_targets_backend);
drivers/scsi/esas2r/esas2r_init.c
1220
le32_to_cpu(ci->ioctl_tunnel);
drivers/scsi/esas2r/esas2r_ioctl.c
344
union atto_ioctl_csmi *ci,
drivers/scsi/esas2r/esas2r_ioctl.c
365
rq->aux_req_cx = ci;
drivers/scsi/esas2r/esas2r_ioctl.c
396
struct atto_csmi *ci = (struct atto_csmi *)context;
drivers/scsi/esas2r/esas2r_ioctl.c
406
if (ci->control_code == CSMI_CC_GET_DEV_ADDR) {
drivers/scsi/esas2r/esas2r_ioctl.c
407
struct atto_csmi_get_dev_addr *gda = &ci->data.dev_addr;
drivers/scsi/esas2r/esas2r_ioctl.c
412
} else if (ci->control_code == CSMI_CC_TASK_MGT) {
drivers/scsi/esas2r/esas2r_ioctl.c
413
struct atto_csmi_task_mgmt *tm = &ci->data.tsk_mgt;
drivers/scsi/esas2r/esas2r_ioctl.c
429
switch (ci->control_code) {
drivers/scsi/esas2r/esas2r_ioctl.c
517
ci->control_code,
drivers/scsi/esas2r/esas2r_ioctl.c
588
ci->control_code,
drivers/scsi/esas2r/esas2r_ioctl.c
611
struct atto_csmi *ci = (struct atto_csmi *)context;
drivers/scsi/esas2r/esas2r_ioctl.c
615
switch (ci->control_code) {
drivers/scsi/esas2r/esas2r_ioctl.c
644
ci->status = le32_to_cpu(rq->func_rsp.ioctl_rsp.csmi.csmi_status);
drivers/scsi/esas2r/esas2r_ioctl.c
648
static u8 handle_csmi_ioctl(struct esas2r_adapter *a, struct atto_csmi *ci)
drivers/scsi/esas2r/esas2r_ioctl.c
655
bi.ioctl = &ci->data;
drivers/scsi/esas2r/esas2r_ioctl.c
659
bi.context = ci;
drivers/scsi/esas2r/esas2r_ioctl.c
661
bi.done_context = ci;
drivers/scsi/esas2r/esas2r_main.c
1429
struct atto_vda_cfg_init *ci;
drivers/scsi/esas2r/esas2r_main.c
1436
ci = (struct atto_vda_cfg_init *)data;
drivers/scsi/esas2r/esas2r_main.c
1438
ci->date_time.year = le16_to_cpu(ci->date_time.year);
drivers/scsi/esas2r/esas2r_main.c
1439
ci->sgl_page_size = le32_to_cpu(ci->sgl_page_size);
drivers/scsi/esas2r/esas2r_main.c
1440
ci->vda_version = le32_to_cpu(ci->vda_version);
drivers/scsi/esas2r/esas2r_main.c
1441
ci->epoch_time = le32_to_cpu(ci->epoch_time);
drivers/scsi/esas2r/esas2r_main.c
1442
ci->ioctl_tunnel = le32_to_cpu(ci->ioctl_tunnel);
drivers/scsi/esas2r/esas2r_main.c
1443
ci->num_targets_backend = le32_to_cpu(ci->num_targets_backend);
drivers/scsi/lpfc/lpfc_hw.h
2489
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_hw.h
2499
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_hw.h
2610
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_hw.h
2620
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_mbox.c
428
mb->un.varCfgLnk.ci = 1;
drivers/scsi/megaraid/megaraid_sas_base.c
4626
struct MR_PD_LIST *ci;
drivers/scsi/megaraid/megaraid_sas_base.c
4635
ci = instance->pd_list_buf;
drivers/scsi/megaraid/megaraid_sas_base.c
4646
memset(ci, 0, sizeof(*ci));
drivers/scsi/megaraid/megaraid_sas_base.c
4707
pd_addr = ci->addr;
drivers/scsi/megaraid/megaraid_sas_base.c
4710
__func__, le32_to_cpu(ci->count));
drivers/scsi/megaraid/megaraid_sas_base.c
4712
if ((le32_to_cpu(ci->count) >
drivers/scsi/megaraid/megaraid_sas_base.c
4719
for (pd_index = 0; pd_index < le32_to_cpu(ci->count); pd_index++) {
drivers/scsi/megaraid/megaraid_sas_base.c
4761
struct MR_LD_LIST *ci;
drivers/scsi/megaraid/megaraid_sas_base.c
4765
ci = instance->ld_list_buf;
drivers/scsi/megaraid/megaraid_sas_base.c
4777
memset(ci, 0, sizeof(*ci));
drivers/scsi/megaraid/megaraid_sas_base.c
4801
ld_count = le32_to_cpu(ci->ldCount);
drivers/scsi/megaraid/megaraid_sas_base.c
4844
if (ci->ldList[ld_index].state != 0) {
drivers/scsi/megaraid/megaraid_sas_base.c
4845
ids = ci->ldList[ld_index].ref.targetId;
drivers/scsi/megaraid/megaraid_sas_base.c
4846
instance->ld_ids[ids] = ci->ldList[ld_index].ref.targetId;
drivers/scsi/megaraid/megaraid_sas_base.c
4878
struct MR_LD_TARGETID_LIST *ci;
drivers/scsi/megaraid/megaraid_sas_base.c
4882
ci = instance->ld_targetid_list_buf;
drivers/scsi/megaraid/megaraid_sas_base.c
4895
memset(ci, 0, sizeof(*ci));
drivers/scsi/megaraid/megaraid_sas_base.c
4952
tgtid_count = le32_to_cpu(ci->count);
drivers/scsi/megaraid/megaraid_sas_base.c
4963
ids = ci->targetId[ld_index];
drivers/scsi/megaraid/megaraid_sas_base.c
4964
instance->ld_ids[ids] = ci->targetId[ld_index];
drivers/scsi/megaraid/megaraid_sas_base.c
4967
ld_index, ci->targetId[ld_index]);
drivers/scsi/megaraid/megaraid_sas_base.c
5000
struct MR_HOST_DEVICE_LIST *ci;
drivers/scsi/megaraid/megaraid_sas_base.c
5004
ci = instance->host_device_list_buf;
drivers/scsi/megaraid/megaraid_sas_base.c
5018
memset(ci, 0, sizeof(*ci));
drivers/scsi/megaraid/megaraid_sas_base.c
5046
count = le32_to_cpu(ci->count);
drivers/scsi/megaraid/megaraid_sas_base.c
5059
target_id = le16_to_cpu(ci->host_device_list[i].target_id);
drivers/scsi/megaraid/megaraid_sas_base.c
5060
if (ci->host_device_list[i].flags.u.bits.is_sys_pd) {
drivers/scsi/megaraid/megaraid_sas_base.c
5063
ci->host_device_list[i].scsi_type;
drivers/scsi/megaraid/megaraid_sas_base.c
5069
i, target_id, ci->host_device_list[i].scsi_type);
drivers/scsi/megaraid/megaraid_sas_base.c
5186
struct MR_SNAPDUMP_PROPERTIES *ci;
drivers/scsi/megaraid/megaraid_sas_base.c
5189
ci = instance->snapdump_prop;
drivers/scsi/megaraid/megaraid_sas_base.c
5192
if (!ci)
drivers/scsi/megaraid/megaraid_sas_base.c
5204
memset(ci, 0, sizeof(*ci));
drivers/scsi/megaraid/megaraid_sas_base.c
5230
min_t(u8, ci->trigger_min_num_sec_before_ocr,
drivers/scsi/megaraid/megaraid_sas_base.c
5271
struct megasas_ctrl_info *ci;
drivers/scsi/megaraid/megaraid_sas_base.c
5274
ci = instance->ctrl_info_buf;
drivers/scsi/megaraid/megaraid_sas_base.c
5286
memset(ci, 0, sizeof(*ci));
drivers/scsi/megaraid/megaraid_sas_base.c
5315
le32_to_cpus((u32 *)&ci->properties.OnOffProperties);
drivers/scsi/megaraid/megaraid_sas_base.c
5316
le16_to_cpus((u16 *)&ci->properties.on_off_properties2);
drivers/scsi/megaraid/megaraid_sas_base.c
5317
le32_to_cpus((u32 *)&ci->adapterOperations2);
drivers/scsi/megaraid/megaraid_sas_base.c
5318
le32_to_cpus((u32 *)&ci->adapterOperations3);
drivers/scsi/megaraid/megaraid_sas_base.c
5319
le16_to_cpus((u16 *)&ci->adapter_operations4);
drivers/scsi/megaraid/megaraid_sas_base.c
5320
le32_to_cpus((u32 *)&ci->adapter_operations5);
drivers/scsi/megaraid/megaraid_sas_base.c
5329
ci->adapterOperations3.useSeqNumJbodFP;
drivers/scsi/megaraid/megaraid_sas_base.c
5331
ci->adapter_operations4.support_pd_map_target_id;
drivers/scsi/megaraid/megaraid_sas_base.c
5333
ci->adapter_operations4.support_nvme_passthru;
drivers/scsi/megaraid/megaraid_sas_base.c
5335
ci->adapter_operations5.support_pci_lane_margining;
drivers/scsi/megaraid/megaraid_sas_base.c
5336
instance->task_abort_tmo = ci->TaskAbortTO;
drivers/scsi/megaraid/megaraid_sas_base.c
5337
instance->max_reset_tmo = ci->MaxResetTO;
drivers/scsi/megaraid/megaraid_sas_base.c
5340
instance->is_imr = (ci->memory_size ? 0 : 1);
drivers/scsi/megaraid/megaraid_sas_base.c
5343
(ci->properties.on_off_properties2.enable_snap_dump ?
drivers/scsi/megaraid/megaraid_sas_base.c
5347
ci->properties.on_off_properties2.enable_fw_dev_list;
drivers/scsi/megaraid/megaraid_sas_base.c
5352
le16_to_cpu(ci->memory_size));
drivers/scsi/megaraid/megaraid_sas_base.c
5355
ci->properties.OnOffProperties.disableOnlineCtrlReset;
drivers/scsi/megaraid/megaraid_sas_base.c
5357
ci->adapterOperations3.supportSecurityonJBOD;
drivers/scsi/megaraid/megaraid_sas_fusion.c
1399
void *ci;
drivers/scsi/megaraid/megaraid_sas_fusion.c
1422
ci = (void *) fusion->ld_map[(instance->map_id & 1)];
drivers/scsi/megaraid/megaraid_sas_fusion.c
1425
if (!ci) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
1431
memset(ci, 0, fusion->max_map_sz);
drivers/scsi/megaraid/megaraid_sas_fusion.c
1491
struct MR_LD_TARGET_SYNC *ci = NULL;
drivers/scsi/megaraid/megaraid_sas_fusion.c
1520
ci = (struct MR_LD_TARGET_SYNC *)
drivers/scsi/megaraid/megaraid_sas_fusion.c
1522
memset(ci, 0, fusion->max_map_sz);
drivers/scsi/megaraid/megaraid_sas_fusion.c
1526
ld_sync = (struct MR_LD_TARGET_SYNC *)ci;
drivers/scsi/mpi3mr/mpi3mr.h
443
u16 ci;
drivers/scsi/mpi3mr/mpi3mr.h
480
u16 ci;
drivers/scsi/mpi3mr/mpi3mr_fw.c
2241
op_reply_q->ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
2372
op_req_q->ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
4843
mrioc->op_reply_qinfo[i].ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
4852
mrioc->req_qinfo[i].ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
52
u16 pi, ci, max_entries;
drivers/scsi/mpi3mr/mpi3mr_fw.c
56
ci = READ_ONCE(op_req_q->ci);
drivers/scsi/mpi3mr/mpi3mr_fw.c
562
reply_ci = op_reply_q->ci;
drivers/scsi/mpi3mr/mpi3mr_fw.c
578
WRITE_ONCE(op_req_q->ci, le16_to_cpu(reply_desc->request_queue_ci));
drivers/scsi/mpi3mr/mpi3mr_fw.c
59
if ((ci == (pi + 1)) || ((!ci) && (pi == (max_entries - 1))))
drivers/scsi/mpi3mr/mpi3mr_fw.c
618
op_reply_q->ci = reply_ci;
drivers/scsi/pm8001/pm80xx_tracepoints.h
103
__entry->pi, __entry->ci)
drivers/scsi/pm8001/pm80xx_tracepoints.h
79
TP_PROTO(u32 id, u32 opc, u32 htag, u32 qi, u32 pi, u32 ci),
drivers/scsi/pm8001/pm80xx_tracepoints.h
81
TP_ARGS(id, opc, htag, qi, pi, ci),
drivers/scsi/pm8001/pm80xx_tracepoints.h
89
__field(u32, ci)
drivers/scsi/pm8001/pm80xx_tracepoints.h
98
__entry->ci = ci;
drivers/scsi/smartpqi/smartpqi_init.c
3530
unsigned int ci, unsigned int elements_in_queue)
drivers/scsi/smartpqi/smartpqi_init.c
3534
if (pi >= ci)
drivers/scsi/smartpqi/smartpqi_init.c
3535
num_elements_used = pi - ci;
drivers/scsi/smartpqi/smartpqi_init.c
3537
num_elements_used = elements_in_queue - ci + pi;
drivers/scsi/stex.c
1657
const struct st_card_info *ci = NULL;
drivers/scsi/stex.c
1707
ci = &stex_card_info[hba->cardtype];
drivers/scsi/stex.c
1727
sts_offset = scratch_offset = (ci->rq_count+1) * ci->rq_size;
drivers/scsi/stex.c
1729
sts_offset += (ci->sts_count+1) * sizeof(u32);
drivers/scsi/stex.c
1730
cp_offset = sts_offset + (ci->sts_count+1) * sizeof(struct status_msg);
drivers/scsi/stex.c
1760
hba->ccb = kzalloc_objs(struct st_ccb, ci->rq_count);
drivers/scsi/stex.c
1772
hba->rq_count = ci->rq_count;
drivers/scsi/stex.c
1773
hba->rq_size = ci->rq_size;
drivers/scsi/stex.c
1774
hba->sts_count = ci->sts_count;
drivers/scsi/stex.c
1775
hba->alloc_rq = ci->alloc_rq;
drivers/scsi/stex.c
1776
hba->map_sg = ci->map_sg;
drivers/scsi/stex.c
1777
hba->send = ci->send;
drivers/scsi/stex.c
1785
host->can_queue = ci->rq_count;
drivers/scsi/stex.c
1786
host->cmd_per_lun = ci->rq_count;
drivers/scsi/stex.c
1787
host->max_id = ci->max_id;
drivers/scsi/stex.c
1788
host->max_lun = ci->max_lun;
drivers/scsi/stex.c
1789
host->max_channel = ci->max_channel;
drivers/soc/fsl/dpio/qbman-portal.c
356
p->eqcr.ci = qbman_read_register(p, QBMAN_CINH_SWP_EQCR_CI)
drivers/soc/fsl/dpio/qbman-portal.c
661
eqcr_ci = s->eqcr.ci;
drivers/soc/fsl/dpio/qbman-portal.c
663
s->eqcr.ci = qbman_read_register(s, QBMAN_CINH_SWP_EQCR_CI);
drivers/soc/fsl/dpio/qbman-portal.c
664
s->eqcr.ci &= full_mask;
drivers/soc/fsl/dpio/qbman-portal.c
667
eqcr_ci, s->eqcr.ci);
drivers/soc/fsl/dpio/qbman-portal.c
745
eqcr_ci = s->eqcr.ci;
drivers/soc/fsl/dpio/qbman-portal.c
746
s->eqcr.ci = qbman_read_register(s, QBMAN_CINH_SWP_EQCR_CI);
drivers/soc/fsl/dpio/qbman-portal.c
747
s->eqcr.ci &= full_mask;
drivers/soc/fsl/dpio/qbman-portal.c
749
eqcr_ci, s->eqcr.ci);
drivers/soc/fsl/dpio/qbman-portal.c
819
eqcr_ci = s->eqcr.ci;
drivers/soc/fsl/dpio/qbman-portal.c
821
s->eqcr.ci = qbman_read_register(s, QBMAN_CINH_SWP_EQCR_CI);
drivers/soc/fsl/dpio/qbman-portal.c
823
eqcr_ci, s->eqcr.ci);
drivers/soc/fsl/dpio/qbman-portal.c
889
eqcr_ci = s->eqcr.ci;
drivers/soc/fsl/dpio/qbman-portal.c
890
s->eqcr.ci = qbman_read_register(s, QBMAN_CINH_SWP_EQCR_CI);
drivers/soc/fsl/dpio/qbman-portal.c
891
s->eqcr.ci &= full_mask;
drivers/soc/fsl/dpio/qbman-portal.c
893
eqcr_ci, s->eqcr.ci);
drivers/soc/fsl/dpio/qbman-portal.h
154
u32 ci;
drivers/soc/fsl/qbman/bman.c
124
u8 ci, available, ithresh, vbit;
drivers/soc/fsl/qbman/bman.c
181
void __iomem *ci; /* cache-inhibited */
drivers/soc/fsl/qbman/bman.c
193
return ioread32be(p->addr.ci + offset);
drivers/soc/fsl/qbman/bman.c
198
iowrite32be(val, p->addr.ci + offset);
drivers/soc/fsl/qbman/bman.c
337
u8 diff, old_ci = rcr->ci;
drivers/soc/fsl/qbman/bman.c
340
rcr->ci = bm_ce_in(portal, BM_CL_RCR_CI_CENA) & (BM_RCR_SIZE - 1);
drivers/soc/fsl/qbman/bman.c
342
diff = dpaa_cyc_diff(BM_RCR_SIZE, old_ci, rcr->ci);
drivers/soc/fsl/qbman/bman.c
388
rcr->ci = bm_in(portal, BM_REG_RCR_CI_CINH) & (BM_RCR_SIZE - 1);
drivers/soc/fsl/qbman/bman.c
394
- dpaa_cyc_diff(BM_RCR_SIZE, rcr->ci, pi);
drivers/soc/fsl/qbman/bman.c
420
if (i != rcr->ci)
drivers/soc/fsl/qbman/bman.c
422
if (rcr->ci != rcr_ptr2idx(rcr->cursor))
drivers/soc/fsl/qbman/bman.c
540
p->addr.ci = c->addr_virt_ci;
drivers/soc/fsl/qbman/qman.c
1246
p->addr.ci = c->addr_virt_ci;
drivers/soc/fsl/qbman/qman.c
199
u8 ci, available, ithresh, vbit;
drivers/soc/fsl/qbman/qman.c
208
u8 pi, ci, fill, ithresh, vbit;
drivers/soc/fsl/qbman/qman.c
218
u8 pi, ci, fill, ithresh, vbit;
drivers/soc/fsl/qbman/qman.c
345
void __iomem *ci; /* cache-inhibited */
drivers/soc/fsl/qbman/qman.c
365
return ioread32be(p->addr.ci + offset);
drivers/soc/fsl/qbman/qman.c
370
iowrite32be(val, p->addr.ci + offset);
drivers/soc/fsl/qbman/qman.c
431
eqcr->ci = qm_in(portal, QM_REG_EQCR_CI_CINH) & (QM_EQCR_SIZE - 1);
drivers/soc/fsl/qbman/qman.c
438
dpaa_cyc_diff(QM_EQCR_SIZE, eqcr->ci, pi);
drivers/soc/fsl/qbman/qman.c
456
u8 ci = qm_in(portal, QM_REG_EQCR_CI_CINH) & (QM_EQCR_SIZE - 1);
drivers/soc/fsl/qbman/qman.c
461
if (ci != eqcr->ci)
drivers/soc/fsl/qbman/qman.c
463
if (eqcr->ci != eqcr_ptr2idx(eqcr->cursor))
drivers/soc/fsl/qbman/qman.c
491
old_ci = eqcr->ci;
drivers/soc/fsl/qbman/qman.c
492
eqcr->ci = qm_ce_in(portal, QM_CL_EQCR_CI_CENA) &
drivers/soc/fsl/qbman/qman.c
494
diff = dpaa_cyc_diff(QM_EQCR_SIZE, old_ci, eqcr->ci);
drivers/soc/fsl/qbman/qman.c
539
u8 diff, old_ci = eqcr->ci;
drivers/soc/fsl/qbman/qman.c
541
eqcr->ci = qm_ce_in(portal, QM_CL_EQCR_CI_CENA) & (QM_EQCR_SIZE - 1);
drivers/soc/fsl/qbman/qman.c
543
diff = dpaa_cyc_diff(QM_EQCR_SIZE, old_ci, eqcr->ci);
drivers/soc/fsl/qbman/qman.c
616
dqrr->ci = qm_in(portal, QM_REG_DQRR_CI_CINH) & (QM_DQRR_SIZE - 1);
drivers/soc/fsl/qbman/qman.c
617
dqrr->cursor = dqrr->ring + dqrr->ci;
drivers/soc/fsl/qbman/qman.c
618
dqrr->fill = dpaa_cyc_diff(QM_DQRR_SIZE, dqrr->ci, dqrr->pi);
drivers/soc/fsl/qbman/qman.c
648
dqrr->ci != dqrr_ptr2idx(dqrr->cursor))
drivers/soc/fsl/qbman/qman.c
770
mr->ci = qm_in(portal, QM_REG_MR_CI_CINH) & (QM_MR_SIZE - 1);
drivers/soc/fsl/qbman/qman.c
771
mr->cursor = mr->ring + mr->ci;
drivers/soc/fsl/qbman/qman.c
772
mr->fill = dpaa_cyc_diff(QM_MR_SIZE, mr->ci, mr->pi);
drivers/soc/fsl/qbman/qman.c
790
if (mr->ci != mr_ptr2idx(mr->cursor))
drivers/soc/fsl/qbman/qman.c
834
mr->ci = (mr->ci + num) & (QM_MR_SIZE - 1);
drivers/soc/fsl/qbman/qman.c
835
qm_out(portal, QM_REG_MR_CI_CINH, mr->ci);
drivers/soc/fsl/qbman/qman.c
843
mr->ci = mr_ptr2idx(mr->cursor);
drivers/soc/fsl/qbman/qman.c
844
qm_out(portal, QM_REG_MR_CI_CINH, mr->ci);
drivers/staging/media/ipu3/include/uapi/intel-ipu3.h
686
__u32 ci:5;
drivers/target/target_core_alua.c
1550
struct config_item *ci;
drivers/target/target_core_alua.c
1556
ci = &lu_gp->lu_gp_group.cg_item;
drivers/target/target_core_alua.c
1557
if (!strcmp(config_item_name(ci), name)) {
drivers/target/target_core_alua.c
1773
struct config_item *ci;
drivers/target/target_core_alua.c
1780
ci = &tg_pt_gp->tg_pt_gp_group.cg_item;
drivers/target/target_core_alua.c
1781
if (!strcmp(config_item_name(ci), name)) {
drivers/usb/chipidea/ci.h
103
struct ci_hdrc *ci;
drivers/usb/chipidea/ci.h
139
void (*suspend)(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
140
void (*resume)(struct ci_hdrc *ci, bool power_lost);
drivers/usb/chipidea/ci.h
272
static inline struct ci_role_driver *ci_role(struct ci_hdrc *ci)
drivers/usb/chipidea/ci.h
274
BUG_ON(ci->role >= CI_ROLE_END || !ci->roles[ci->role]);
drivers/usb/chipidea/ci.h
275
return ci->roles[ci->role];
drivers/usb/chipidea/ci.h
278
static inline int ci_role_start(struct ci_hdrc *ci, enum ci_role role)
drivers/usb/chipidea/ci.h
285
if (!ci->roles[role])
drivers/usb/chipidea/ci.h
288
ret = ci->roles[role]->start(ci);
drivers/usb/chipidea/ci.h
292
ci->role = role;
drivers/usb/chipidea/ci.h
294
if (ci->usb_phy) {
drivers/usb/chipidea/ci.h
296
usb_phy_set_event(ci->usb_phy, USB_EVENT_ID);
drivers/usb/chipidea/ci.h
299
usb_phy_set_event(ci->usb_phy, USB_EVENT_NONE);
drivers/usb/chipidea/ci.h
305
static inline void ci_role_stop(struct ci_hdrc *ci)
drivers/usb/chipidea/ci.h
307
enum ci_role role = ci->role;
drivers/usb/chipidea/ci.h
312
ci->role = CI_ROLE_END;
drivers/usb/chipidea/ci.h
314
ci->roles[role]->stop(ci);
drivers/usb/chipidea/ci.h
316
if (ci->usb_phy)
drivers/usb/chipidea/ci.h
317
usb_phy_set_event(ci->usb_phy, USB_EVENT_NONE);
drivers/usb/chipidea/ci.h
320
static inline enum usb_role ci_role_to_usb_role(struct ci_hdrc *ci)
drivers/usb/chipidea/ci.h
322
if (ci->role == CI_ROLE_HOST)
drivers/usb/chipidea/ci.h
324
else if (ci->role == CI_ROLE_GADGET && ci->vbus_active)
drivers/usb/chipidea/ci.h
348
static inline u32 hw_read_id_reg(struct ci_hdrc *ci, u32 offset, u32 mask)
drivers/usb/chipidea/ci.h
350
return ioread32(ci->hw_bank.abs + offset) & mask;
drivers/usb/chipidea/ci.h
360
static inline void hw_write_id_reg(struct ci_hdrc *ci, u32 offset,
drivers/usb/chipidea/ci.h
364
data = (ioread32(ci->hw_bank.abs + offset) & ~mask)
drivers/usb/chipidea/ci.h
367
iowrite32(data, ci->hw_bank.abs + offset);
drivers/usb/chipidea/ci.h
378
static inline u32 hw_read(struct ci_hdrc *ci, enum ci_hw_regs reg, u32 mask)
drivers/usb/chipidea/ci.h
380
return ioread32(ci->hw_bank.regmap[reg]) & mask;
drivers/usb/chipidea/ci.h
394
static inline void __hw_write(struct ci_hdrc *ci, u32 val,
drivers/usb/chipidea/ci.h
397
if (ci->imx28_write_fix)
drivers/usb/chipidea/ci.h
410
static inline void hw_write(struct ci_hdrc *ci, enum ci_hw_regs reg,
drivers/usb/chipidea/ci.h
414
data = (ioread32(ci->hw_bank.regmap[reg]) & ~mask)
drivers/usb/chipidea/ci.h
417
__hw_write(ci, data, ci->hw_bank.regmap[reg]);
drivers/usb/chipidea/ci.h
428
static inline u32 hw_test_and_clear(struct ci_hdrc *ci, enum ci_hw_regs reg,
drivers/usb/chipidea/ci.h
431
u32 val = ioread32(ci->hw_bank.regmap[reg]) & mask;
drivers/usb/chipidea/ci.h
433
__hw_write(ci, val, ci->hw_bank.regmap[reg]);
drivers/usb/chipidea/ci.h
446
static inline u32 hw_test_and_write(struct ci_hdrc *ci, enum ci_hw_regs reg,
drivers/usb/chipidea/ci.h
449
u32 val = hw_read(ci, reg, ~0);
drivers/usb/chipidea/ci.h
451
hw_write(ci, reg, mask, data);
drivers/usb/chipidea/ci.h
461
static inline bool ci_otg_is_fsm_mode(struct ci_hdrc *ci)
drivers/usb/chipidea/ci.h
464
struct usb_otg_caps *otg_caps = &ci->platdata->ci_otg_caps;
drivers/usb/chipidea/ci.h
466
return ci->is_otg && ci->roles[CI_ROLE_HOST] &&
drivers/usb/chipidea/ci.h
467
ci->roles[CI_ROLE_GADGET] && (otg_caps->srp_support ||
drivers/usb/chipidea/ci.h
474
int ci_ulpi_init(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
475
void ci_ulpi_exit(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
476
int ci_ulpi_resume(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
478
u32 hw_read_intr_enable(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
480
u32 hw_read_intr_status(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
482
int hw_device_reset(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
484
int hw_port_test_set(struct ci_hdrc *ci, u8 mode);
drivers/usb/chipidea/ci.h
486
u8 hw_port_test_get(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
488
void hw_phymode_configure(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
490
void ci_platform_configure(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
492
void dbg_create_files(struct ci_hdrc *ci);
drivers/usb/chipidea/ci.h
494
void dbg_remove_files(struct ci_hdrc *ci);
drivers/usb/chipidea/ci_hdrc_imx.c
313
static int ci_hdrc_imx_notify_event(struct ci_hdrc *ci, unsigned int event)
drivers/usb/chipidea/ci_hdrc_imx.c
315
struct device *dev = ci->dev->parent;
drivers/usb/chipidea/ci_hdrc_imx.c
338
if (ci->vbus_active)
drivers/usb/chipidea/ci_hdrc_imx.c
342
if (ci->usb_phy)
drivers/usb/chipidea/ci_hdrc_imx.c
343
schedule_work(&ci->usb_phy->chg_work);
drivers/usb/chipidea/ci_hdrc_imx.c
346
if (ci->role == CI_ROLE_GADGET &&
drivers/usb/chipidea/ci_hdrc_imx.c
347
ci->gadget.speed == USB_SPEED_HIGH)
drivers/usb/chipidea/ci_hdrc_imx.c
349
ci->gadget.connected);
drivers/usb/chipidea/ci_hdrc_msm.c
100
ret = phy_power_on(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
102
phy_exit(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
107
hw_write_id_reg(ci, HS_PHY_AHB_MODE, 0xffffffff, 0x8);
drivers/usb/chipidea/ci_hdrc_msm.c
110
hw_write_id_reg(ci, HS_PHY_GENCONFIG,
drivers/usb/chipidea/ci_hdrc_msm.c
114
hw_write_id_reg(ci, HS_PHY_GENCONFIG_2,
drivers/usb/chipidea/ci_hdrc_msm.c
117
if (!IS_ERR(ci->platdata->vbus_extcon.edev) || ci->role_switch) {
drivers/usb/chipidea/ci_hdrc_msm.c
118
hw_write_id_reg(ci, HS_PHY_GENCONFIG_2,
drivers/usb/chipidea/ci_hdrc_msm.c
121
hw_write(ci, OP_USBCMD, HSPHY_SESS_VLD_CTRL,
drivers/usb/chipidea/ci_hdrc_msm.c
128
phy_power_off(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
129
phy_exit(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
139
static int ci_hdrc_msm_mux_phy(struct ci_hdrc_msm *ci,
drivers/usb/chipidea/ci_hdrc_msm.c
162
ci->secondary_phy = !!args.args[1];
drivers/usb/chipidea/ci_hdrc_msm.c
163
if (ci->secondary_phy) {
drivers/usb/chipidea/ci_hdrc_msm.c
164
val = readl_relaxed(ci->base + HS_PHY_SEC_CTRL);
drivers/usb/chipidea/ci_hdrc_msm.c
166
writel_relaxed(val, ci->base + HS_PHY_SEC_CTRL);
drivers/usb/chipidea/ci_hdrc_msm.c
174
struct ci_hdrc_msm *ci;
drivers/usb/chipidea/ci_hdrc_msm.c
183
ci = devm_kzalloc(&pdev->dev, sizeof(*ci), GFP_KERNEL);
drivers/usb/chipidea/ci_hdrc_msm.c
184
if (!ci)
drivers/usb/chipidea/ci_hdrc_msm.c
186
platform_set_drvdata(pdev, ci);
drivers/usb/chipidea/ci_hdrc_msm.c
188
ci->pdata.name = "ci_hdrc_msm";
drivers/usb/chipidea/ci_hdrc_msm.c
189
ci->pdata.capoffset = DEF_CAPOFFSET;
drivers/usb/chipidea/ci_hdrc_msm.c
190
ci->pdata.flags = CI_HDRC_REGS_SHARED | CI_HDRC_DISABLE_STREAMING |
drivers/usb/chipidea/ci_hdrc_msm.c
193
ci->pdata.notify_event = ci_hdrc_msm_notify_event;
drivers/usb/chipidea/ci_hdrc_msm.c
199
ci->core_clk = clk = devm_clk_get(&pdev->dev, "core");
drivers/usb/chipidea/ci_hdrc_msm.c
203
ci->iface_clk = clk = devm_clk_get(&pdev->dev, "iface");
drivers/usb/chipidea/ci_hdrc_msm.c
207
ci->fs_clk = clk = devm_clk_get_optional(&pdev->dev, "fs");
drivers/usb/chipidea/ci_hdrc_msm.c
211
ci->base = devm_platform_ioremap_resource(pdev, 1);
drivers/usb/chipidea/ci_hdrc_msm.c
212
if (IS_ERR(ci->base))
drivers/usb/chipidea/ci_hdrc_msm.c
213
return PTR_ERR(ci->base);
drivers/usb/chipidea/ci_hdrc_msm.c
215
ci->rcdev.owner = THIS_MODULE;
drivers/usb/chipidea/ci_hdrc_msm.c
216
ci->rcdev.ops = &ci_hdrc_msm_reset_ops;
drivers/usb/chipidea/ci_hdrc_msm.c
217
ci->rcdev.of_node = pdev->dev.of_node;
drivers/usb/chipidea/ci_hdrc_msm.c
218
ci->rcdev.nr_resets = 2;
drivers/usb/chipidea/ci_hdrc_msm.c
219
ret = devm_reset_controller_register(&pdev->dev, &ci->rcdev);
drivers/usb/chipidea/ci_hdrc_msm.c
223
ret = clk_prepare_enable(ci->fs_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
231
clk_disable_unprepare(ci->fs_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
233
ret = clk_prepare_enable(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
237
ret = clk_prepare_enable(ci->iface_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
241
ret = ci_hdrc_msm_mux_phy(ci, pdev);
drivers/usb/chipidea/ci_hdrc_msm.c
248
ci->hsic = of_device_is_compatible(phy_node, "qcom,usb-hsic-phy");
drivers/usb/chipidea/ci_hdrc_msm.c
254
pdev->num_resources, &ci->pdata);
drivers/usb/chipidea/ci_hdrc_msm.c
262
ci->ci = plat_ci;
drivers/usb/chipidea/ci_hdrc_msm.c
271
clk_disable_unprepare(ci->iface_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
273
clk_disable_unprepare(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
279
struct ci_hdrc_msm *ci = platform_get_drvdata(pdev);
drivers/usb/chipidea/ci_hdrc_msm.c
282
ci_hdrc_remove_device(ci->ci);
drivers/usb/chipidea/ci_hdrc_msm.c
283
clk_disable_unprepare(ci->iface_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
284
clk_disable_unprepare(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_msm.c
37
struct platform_device *ci;
drivers/usb/chipidea/ci_hdrc_msm.c
79
static int ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
drivers/usb/chipidea/ci_hdrc_msm.c
81
struct device *dev = ci->dev->parent;
drivers/usb/chipidea/ci_hdrc_msm.c
89
hw_phymode_configure(ci);
drivers/usb/chipidea/ci_hdrc_msm.c
96
ret = phy_init(ci->phy);
drivers/usb/chipidea/ci_hdrc_npcm.c
16
struct platform_device *ci;
drivers/usb/chipidea/ci_hdrc_npcm.c
21
static int npcm_udc_notify_event(struct ci_hdrc *ci, unsigned int event)
drivers/usb/chipidea/ci_hdrc_npcm.c
23
struct device *dev = ci->dev->parent;
drivers/usb/chipidea/ci_hdrc_npcm.c
28
hw_write(ci, OP_USBMODE, 0xffffffff, 0x0);
drivers/usb/chipidea/ci_hdrc_npcm.c
41
struct npcm_udc_data *ci;
drivers/usb/chipidea/ci_hdrc_npcm.c
45
ci = devm_kzalloc(&pdev->dev, sizeof(*ci), GFP_KERNEL);
drivers/usb/chipidea/ci_hdrc_npcm.c
46
if (!ci)
drivers/usb/chipidea/ci_hdrc_npcm.c
48
platform_set_drvdata(pdev, ci);
drivers/usb/chipidea/ci_hdrc_npcm.c
50
ci->core_clk = devm_clk_get_optional(dev, NULL);
drivers/usb/chipidea/ci_hdrc_npcm.c
51
if (IS_ERR(ci->core_clk))
drivers/usb/chipidea/ci_hdrc_npcm.c
52
return PTR_ERR(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_npcm.c
54
ret = clk_prepare_enable(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_npcm.c
58
ci->pdata.name = dev_name(dev);
drivers/usb/chipidea/ci_hdrc_npcm.c
59
ci->pdata.capoffset = DEF_CAPOFFSET;
drivers/usb/chipidea/ci_hdrc_npcm.c
60
ci->pdata.flags = CI_HDRC_REQUIRES_ALIGNED_DMA |
drivers/usb/chipidea/ci_hdrc_npcm.c
62
ci->pdata.phy_mode = USBPHY_INTERFACE_MODE_UTMI;
drivers/usb/chipidea/ci_hdrc_npcm.c
63
ci->pdata.notify_event = npcm_udc_notify_event;
drivers/usb/chipidea/ci_hdrc_npcm.c
66
&ci->pdata);
drivers/usb/chipidea/ci_hdrc_npcm.c
79
clk_disable_unprepare(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_npcm.c
85
struct npcm_udc_data *ci = platform_get_drvdata(pdev);
drivers/usb/chipidea/ci_hdrc_npcm.c
88
ci_hdrc_remove_device(ci->ci);
drivers/usb/chipidea/ci_hdrc_npcm.c
89
clk_disable_unprepare(ci->core_clk);
drivers/usb/chipidea/ci_hdrc_pci.c
102
pci_set_drvdata(pdev, ci);
drivers/usb/chipidea/ci_hdrc_pci.c
117
struct ci_hdrc_pci *ci = pci_get_drvdata(pdev);
drivers/usb/chipidea/ci_hdrc_pci.c
119
ci_hdrc_remove_device(ci->ci);
drivers/usb/chipidea/ci_hdrc_pci.c
120
usb_phy_generic_unregister(ci->phy);
drivers/usb/chipidea/ci_hdrc_pci.c
22
struct platform_device *ci;
drivers/usb/chipidea/ci_hdrc_pci.c
58
struct ci_hdrc_pci *ci;
drivers/usb/chipidea/ci_hdrc_pci.c
67
ci = devm_kzalloc(&pdev->dev, sizeof(*ci), GFP_KERNEL);
drivers/usb/chipidea/ci_hdrc_pci.c
68
if (!ci)
drivers/usb/chipidea/ci_hdrc_pci.c
84
ci->phy = usb_phy_generic_register();
drivers/usb/chipidea/ci_hdrc_pci.c
85
if (IS_ERR(ci->phy))
drivers/usb/chipidea/ci_hdrc_pci.c
86
return PTR_ERR(ci->phy);
drivers/usb/chipidea/ci_hdrc_pci.c
95
ci->ci = ci_hdrc_add_device(&pdev->dev, res, nres, platdata);
drivers/usb/chipidea/ci_hdrc_pci.c
96
if (IS_ERR(ci->ci)) {
drivers/usb/chipidea/ci_hdrc_pci.c
98
usb_phy_generic_unregister(ci->phy);
drivers/usb/chipidea/ci_hdrc_pci.c
99
return PTR_ERR(ci->ci);
drivers/usb/chipidea/ci_hdrc_tegra.c
153
static int tegra_usb_notify_event(struct ci_hdrc *ci, unsigned int event)
drivers/usb/chipidea/ci_hdrc_tegra.c
155
struct tegra_usb *usb = dev_get_drvdata(ci->dev->parent);
drivers/usb/chipidea/ci_hdrc_tegra.c
160
if (ci->hcd) {
drivers/usb/chipidea/ci_hdrc_tegra.c
161
ehci = hcd_to_ehci(ci->hcd);
drivers/usb/chipidea/ci_hdrc_tegra.c
235
static int tegra_ehci_hub_control(struct ci_hdrc *ci, u16 typeReq, u16 wValue,
drivers/usb/chipidea/ci_hdrc_tegra.c
239
struct tegra_usb *usb = dev_get_drvdata(ci->dev->parent);
drivers/usb/chipidea/ci_hdrc_tegra.c
240
struct ehci_hcd *ehci = hcd_to_ehci(ci->hcd);
drivers/usb/chipidea/ci_hdrc_tegra.c
260
static void tegra_usb_enter_lpm(struct ci_hdrc *ci, bool enable)
drivers/usb/chipidea/ci_hdrc_tegra.c
272
usb_phy_set_suspend(ci->usb_phy, enable);
drivers/usb/chipidea/core.c
1000
if (role == ci->role) {
drivers/usb/chipidea/core.c
1001
mutex_unlock(&ci->mutex);
drivers/usb/chipidea/core.c
1006
disable_irq(ci->irq);
drivers/usb/chipidea/core.c
1007
ci_role_stop(ci);
drivers/usb/chipidea/core.c
1008
ret = ci_role_start(ci, role);
drivers/usb/chipidea/core.c
1009
if (!ret && ci->role == CI_ROLE_GADGET)
drivers/usb/chipidea/core.c
101
static void hw_alloc_regmap(struct ci_hdrc *ci, bool is_lpm)
drivers/usb/chipidea/core.c
1010
ci_handle_vbus_change(ci);
drivers/usb/chipidea/core.c
1011
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
1013
mutex_unlock(&ci->mutex);
drivers/usb/chipidea/core.c
1023
ATTRIBUTE_GROUPS(ci);
drivers/usb/chipidea/core.c
1029
struct ci_hdrc *ci;
drivers/usb/chipidea/core.c
1044
ci = devm_kzalloc(dev, sizeof(*ci), GFP_KERNEL);
drivers/usb/chipidea/core.c
1045
if (!ci)
drivers/usb/chipidea/core.c
1048
spin_lock_init(&ci->lock);
drivers/usb/chipidea/core.c
1049
mutex_init(&ci->mutex);
drivers/usb/chipidea/core.c
1050
INIT_WORK(&ci->power_lost_work, ci_power_lost_work);
drivers/usb/chipidea/core.c
1052
ci->dev = dev;
drivers/usb/chipidea/core.c
1053
ci->platdata = dev_get_platdata(dev);
drivers/usb/chipidea/core.c
1054
ci->imx28_write_fix = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1056
ci->supports_runtime_pm = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1058
ci->has_portsc_pec_bug = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
106
ci->hw_bank.regmap[i] =
drivers/usb/chipidea/core.c
1060
ci->has_short_pkt_limit = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1062
platform_set_drvdata(pdev, ci);
drivers/usb/chipidea/core.c
1064
ret = hw_device_init(ci, base);
drivers/usb/chipidea/core.c
107
(i <= CAP_LAST ? ci->hw_bank.cap : ci->hw_bank.op) +
drivers/usb/chipidea/core.c
1070
ret = ci_ulpi_init(ci);
drivers/usb/chipidea/core.c
1074
if (ci->platdata->phy) {
drivers/usb/chipidea/core.c
1075
ci->phy = ci->platdata->phy;
drivers/usb/chipidea/core.c
1076
} else if (ci->platdata->usb_phy) {
drivers/usb/chipidea/core.c
1077
ci->usb_phy = ci->platdata->usb_phy;
drivers/usb/chipidea/core.c
1080
ci->phy = devm_phy_get(dev->parent, "usb-phy");
drivers/usb/chipidea/core.c
1082
if (PTR_ERR(ci->phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
1085
} else if (IS_ERR(ci->phy)) {
drivers/usb/chipidea/core.c
1086
ci->phy = NULL;
drivers/usb/chipidea/core.c
1090
if (!ci->phy) {
drivers/usb/chipidea/core.c
1091
ci->usb_phy = devm_usb_get_phy_by_phandle(dev->parent,
drivers/usb/chipidea/core.c
1094
if (PTR_ERR(ci->usb_phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
1097
} else if (IS_ERR(ci->usb_phy)) {
drivers/usb/chipidea/core.c
1098
ci->usb_phy = NULL;
drivers/usb/chipidea/core.c
1103
if (!ci->phy && !ci->usb_phy) {
drivers/usb/chipidea/core.c
1104
ci->usb_phy = devm_usb_get_phy(dev->parent,
drivers/usb/chipidea/core.c
1107
if (PTR_ERR(ci->usb_phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
111
ci->hw_bank.regmap[i] = ci->hw_bank.op +
drivers/usb/chipidea/core.c
1110
} else if (IS_ERR(ci->usb_phy)) {
drivers/usb/chipidea/core.c
1111
ci->usb_phy = NULL;
drivers/usb/chipidea/core.c
1116
if (!ci->phy && !ci->usb_phy) {
drivers/usb/chipidea/core.c
1122
ret = ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
1128
ci->hw_bank.phys = res->start;
drivers/usb/chipidea/core.c
1130
ci->irq = platform_get_irq(pdev, 0);
drivers/usb/chipidea/core.c
1131
if (ci->irq < 0) {
drivers/usb/chipidea/core.c
1132
ret = ci->irq;
drivers/usb/chipidea/core.c
1136
ci_get_otg_capable(ci);
drivers/usb/chipidea/core.c
1138
dr_mode = ci->platdata->dr_mode;
drivers/usb/chipidea/core.c
1141
ret = ci_hdrc_host_init(ci);
drivers/usb/chipidea/core.c
1151
ret = ci_hdrc_gadget_init(ci);
drivers/usb/chipidea/core.c
1160
if (!ci->roles[CI_ROLE_HOST] && !ci->roles[CI_ROLE_GADGET]) {
drivers/usb/chipidea/core.c
1166
if (ci->is_otg && ci->roles[CI_ROLE_GADGET]) {
drivers/usb/chipidea/core.c
1167
ret = ci_hdrc_otg_init(ci);
drivers/usb/chipidea/core.c
1179
ci_role_switch.driver_data = ci;
drivers/usb/chipidea/core.c
1180
ci->role_switch = usb_role_switch_register(dev,
drivers/usb/chipidea/core.c
1182
if (IS_ERR(ci->role_switch)) {
drivers/usb/chipidea/core.c
1183
ret = PTR_ERR(ci->role_switch);
drivers/usb/chipidea/core.c
1188
ci->role = ci_get_role(ci);
drivers/usb/chipidea/core.c
1189
if (!ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/core.c
119
static enum ci_revision ci_get_revision(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1190
ret = ci_role_start(ci, ci->role);
drivers/usb/chipidea/core.c
1193
ci_role(ci)->name);
drivers/usb/chipidea/core.c
1198
if (ci->role == CI_ROLE_GADGET)
drivers/usb/chipidea/core.c
1199
ci_handle_vbus_change(ci);
drivers/usb/chipidea/core.c
1202
ret = devm_request_irq(dev, ci->irq, ci_irq_handler, IRQF_SHARED,
drivers/usb/chipidea/core.c
1203
ci->platdata->name, ci);
drivers/usb/chipidea/core.c
1207
ret = ci_extcon_register(ci);
drivers/usb/chipidea/core.c
121
int ver = hw_read_id_reg(ci, ID_ID, VERSION) >> __ffs(VERSION);
drivers/usb/chipidea/core.c
1211
if (ci->supports_runtime_pm) {
drivers/usb/chipidea/core.c
1215
pm_runtime_mark_last_busy(ci->dev);
drivers/usb/chipidea/core.c
1219
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1220
ci_hdrc_otg_fsm_start(ci);
drivers/usb/chipidea/core.c
1223
dbg_create_files(ci);
drivers/usb/chipidea/core.c
1228
if (ci->role_switch)
drivers/usb/chipidea/core.c
1229
usb_role_switch_unregister(ci->role_switch);
drivers/usb/chipidea/core.c
1231
if (ci->is_otg && ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
1232
ci_hdrc_otg_destroy(ci);
drivers/usb/chipidea/core.c
1234
ci_hdrc_gadget_destroy(ci);
drivers/usb/chipidea/core.c
1236
ci_hdrc_host_destroy(ci);
drivers/usb/chipidea/core.c
1238
ci_usb_phy_exit(ci);
drivers/usb/chipidea/core.c
1240
ci_ulpi_exit(ci);
drivers/usb/chipidea/core.c
1247
struct ci_hdrc *ci = platform_get_drvdata(pdev);
drivers/usb/chipidea/core.c
1249
if (ci->role_switch)
drivers/usb/chipidea/core.c
125
rev = hw_read_id_reg(ci, ID_ID, REVISION)
drivers/usb/chipidea/core.c
1250
usb_role_switch_unregister(ci->role_switch);
drivers/usb/chipidea/core.c
1252
if (ci->supports_runtime_pm) {
drivers/usb/chipidea/core.c
1259
dbg_remove_files(ci);
drivers/usb/chipidea/core.c
1260
ci_role_destroy(ci);
drivers/usb/chipidea/core.c
1261
ci_hdrc_enter_lpm(ci, true);
drivers/usb/chipidea/core.c
1262
ci_usb_phy_exit(ci);
drivers/usb/chipidea/core.c
1263
ci_ulpi_exit(ci);
drivers/usb/chipidea/core.c
1268
static void ci_otg_fsm_suspend_for_srp(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1270
if ((ci->fsm.otg->state == OTG_STATE_A_IDLE) &&
drivers/usb/chipidea/core.c
1271
!hw_read_otgsc(ci, OTGSC_ID)) {
drivers/usb/chipidea/core.c
1272
hw_write(ci, OP_PORTSC, PORTSC_W1C_BITS | PORTSC_PP,
drivers/usb/chipidea/core.c
1274
hw_write(ci, OP_PORTSC, PORTSC_W1C_BITS | PORTSC_WKCN,
drivers/usb/chipidea/core.c
1280
static void ci_otg_fsm_wakeup_by_srp(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1282
if ((ci->fsm.otg->state == OTG_STATE_A_IDLE) &&
drivers/usb/chipidea/core.c
1283
(ci->fsm.a_bus_drop == 1) && (ci->fsm.a_bus_req == 0)) {
drivers/usb/chipidea/core.c
1284
if (!hw_read_otgsc(ci, OTGSC_ID)) {
drivers/usb/chipidea/core.c
1285
ci->fsm.a_srp_det = 1;
drivers/usb/chipidea/core.c
1286
ci->fsm.a_bus_drop = 0;
drivers/usb/chipidea/core.c
1288
ci->fsm.id = 1;
drivers/usb/chipidea/core.c
1290
ci_otg_queue_work(ci);
drivers/usb/chipidea/core.c
1294
static void ci_controller_suspend(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1296
disable_irq(ci->irq);
drivers/usb/chipidea/core.c
1297
ci_hdrc_enter_lpm(ci, true);
drivers/usb/chipidea/core.c
1298
if (ci->platdata->phy_clkgate_delay_us)
drivers/usb/chipidea/core.c
1299
usleep_range(ci->platdata->phy_clkgate_delay_us,
drivers/usb/chipidea/core.c
1300
ci->platdata->phy_clkgate_delay_us + 50);
drivers/usb/chipidea/core.c
1301
usb_phy_set_suspend(ci->usb_phy, 1);
drivers/usb/chipidea/core.c
1302
ci->in_lpm = true;
drivers/usb/chipidea/core.c
1303
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
1312
static void ci_extcon_wakeup_int(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1315
u32 otgsc = hw_read_otgsc(ci, ~0);
drivers/usb/chipidea/core.c
1317
cable_id = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
1318
cable_vbus = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
1320
if ((!IS_ERR(cable_id->edev) || ci->role_switch)
drivers/usb/chipidea/core.c
1321
&& ci->is_otg &&
drivers/usb/chipidea/core.c
1323
ci_irq(ci);
drivers/usb/chipidea/core.c
1325
if ((!IS_ERR(cable_vbus->edev) || ci->role_switch)
drivers/usb/chipidea/core.c
1326
&& ci->is_otg &&
drivers/usb/chipidea/core.c
1328
ci_irq(ci);
drivers/usb/chipidea/core.c
1333
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1338
if (!ci->in_lpm) {
drivers/usb/chipidea/core.c
1343
ci_hdrc_enter_lpm(ci, false);
drivers/usb/chipidea/core.c
1345
ret = ci_ulpi_resume(ci);
drivers/usb/chipidea/core.c
1349
if (ci->usb_phy) {
drivers/usb/chipidea/core.c
1350
usb_phy_set_suspend(ci->usb_phy, 0);
drivers/usb/chipidea/core.c
1351
usb_phy_set_wakeup(ci->usb_phy, false);
drivers/usb/chipidea/core.c
1355
ci->in_lpm = false;
drivers/usb/chipidea/core.c
1356
if (ci->wakeup_int) {
drivers/usb/chipidea/core.c
1357
ci->wakeup_int = false;
drivers/usb/chipidea/core.c
1358
pm_runtime_put_autosuspend(ci->dev);
drivers/usb/chipidea/core.c
1359
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
1360
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1361
ci_otg_fsm_wakeup_by_srp(ci);
drivers/usb/chipidea/core.c
1362
ci_extcon_wakeup_int(ci);
drivers/usb/chipidea/core.c
1371
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1373
if (ci->wq)
drivers/usb/chipidea/core.c
1374
flush_workqueue(ci->wq);
drivers/usb/chipidea/core.c
1381
if (ci->in_lpm)
drivers/usb/chipidea/core.c
1384
if (ci->in_lpm) {
drivers/usb/chipidea/core.c
1390
if (ci->role != CI_ROLE_END && ci_role(ci)->suspend)
drivers/usb/chipidea/core.c
1391
ci_role(ci)->suspend(ci);
drivers/usb/chipidea/core.c
1394
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1395
ci_otg_fsm_suspend_for_srp(ci);
drivers/usb/chipidea/core.c
1397
usb_phy_set_wakeup(ci->usb_phy, true);
drivers/usb/chipidea/core.c
1398
enable_irq_wake(ci->irq);
drivers/usb/chipidea/core.c
1401
ci_controller_suspend(ci);
drivers/usb/chipidea/core.c
1408
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1417
power_lost = !hw_read(ci, OP_ENDPTLISTADDR, ~0);
drivers/usb/chipidea/core.c
142
u32 hw_read_intr_enable(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1420
disable_irq_wake(ci->irq);
drivers/usb/chipidea/core.c
1428
ci_usb_phy_exit(ci);
drivers/usb/chipidea/core.c
1429
ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
1433
if (ci->role != CI_ROLE_END && ci_role(ci)->resume)
drivers/usb/chipidea/core.c
1434
ci_role(ci)->resume(ci, power_lost);
drivers/usb/chipidea/core.c
1437
queue_work(system_freezable_wq, &ci->power_lost_work);
drivers/usb/chipidea/core.c
1439
if (ci->supports_runtime_pm) {
drivers/usb/chipidea/core.c
144
return hw_read(ci, OP_USBINTR, ~0);
drivers/usb/chipidea/core.c
1451
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1455
if (ci->in_lpm) {
drivers/usb/chipidea/core.c
1460
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1461
ci_otg_fsm_suspend_for_srp(ci);
drivers/usb/chipidea/core.c
1463
usb_phy_set_wakeup(ci->usb_phy, true);
drivers/usb/chipidea/core.c
1464
ci_controller_suspend(ci);
drivers/usb/chipidea/core.c
154
u32 hw_read_intr_status(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
156
return hw_read(ci, OP_USBSTS, ~0);
drivers/usb/chipidea/core.c
166
int hw_port_test_set(struct ci_hdrc *ci, u8 mode)
drivers/usb/chipidea/core.c
173
hw_write(ci, OP_PORTSC, PORTSC_PTC, mode << __ffs(PORTSC_PTC));
drivers/usb/chipidea/core.c
184
u8 hw_port_test_get(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
186
return hw_read(ci, OP_PORTSC, PORTSC_PTC) >> __ffs(PORTSC_PTC);
drivers/usb/chipidea/core.c
201
static void ci_hdrc_enter_lpm_common(struct ci_hdrc *ci, bool enable)
drivers/usb/chipidea/core.c
203
enum ci_hw_regs reg = ci->hw_bank.lpm ? OP_DEVLC : OP_PORTSC;
drivers/usb/chipidea/core.c
204
bool lpm = !!(hw_read(ci, reg, PORTSC_PHCD(ci->hw_bank.lpm)));
drivers/usb/chipidea/core.c
207
hw_write(ci, reg, PORTSC_PHCD(ci->hw_bank.lpm),
drivers/usb/chipidea/core.c
208
PORTSC_PHCD(ci->hw_bank.lpm));
drivers/usb/chipidea/core.c
210
hw_write(ci, reg, PORTSC_PHCD(ci->hw_bank.lpm),
drivers/usb/chipidea/core.c
214
static void ci_hdrc_enter_lpm(struct ci_hdrc *ci, bool enable)
drivers/usb/chipidea/core.c
216
return ci->platdata->enter_lpm(ci, enable);
drivers/usb/chipidea/core.c
219
static int hw_device_init(struct ci_hdrc *ci, void __iomem *base)
drivers/usb/chipidea/core.c
224
ci->hw_bank.abs = base;
drivers/usb/chipidea/core.c
226
ci->hw_bank.cap = ci->hw_bank.abs;
drivers/usb/chipidea/core.c
227
ci->hw_bank.cap += ci->platdata->capoffset;
drivers/usb/chipidea/core.c
228
ci->hw_bank.op = ci->hw_bank.cap + (ioread32(ci->hw_bank.cap) & 0xff);
drivers/usb/chipidea/core.c
230
hw_alloc_regmap(ci, false);
drivers/usb/chipidea/core.c
231
reg = hw_read(ci, CAP_HCCPARAMS, HCCPARAMS_LEN) >>
drivers/usb/chipidea/core.c
233
ci->hw_bank.lpm = reg;
drivers/usb/chipidea/core.c
235
hw_alloc_regmap(ci, !!reg);
drivers/usb/chipidea/core.c
236
ci->hw_bank.size = ci->hw_bank.op - ci->hw_bank.abs;
drivers/usb/chipidea/core.c
237
ci->hw_bank.size += OP_LAST;
drivers/usb/chipidea/core.c
238
ci->hw_bank.size /= sizeof(u32);
drivers/usb/chipidea/core.c
240
reg = hw_read(ci, CAP_DCCPARAMS, DCCPARAMS_DEN) >>
drivers/usb/chipidea/core.c
242
ci->hw_ep_max = reg * 2; /* cache hw ENDPT_MAX */
drivers/usb/chipidea/core.c
244
if (ci->hw_ep_max > ENDPT_MAX)
drivers/usb/chipidea/core.c
247
ci_hdrc_enter_lpm(ci, false);
drivers/usb/chipidea/core.c
250
hw_write(ci, OP_USBINTR, 0xffffffff, 0);
drivers/usb/chipidea/core.c
253
hw_write(ci, OP_USBSTS, 0xffffffff, 0xffffffff);
drivers/usb/chipidea/core.c
255
ci->rev = ci_get_revision(ci);
drivers/usb/chipidea/core.c
257
dev_dbg(ci->dev,
drivers/usb/chipidea/core.c
259
ci->rev, ci->hw_bank.lpm, ci->hw_bank.cap, ci->hw_bank.op);
drivers/usb/chipidea/core.c
270
void hw_phymode_configure(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
274
switch (ci->platdata->phy_mode) {
drivers/usb/chipidea/core.c
300
if (ci->hw_bank.lpm) {
drivers/usb/chipidea/core.c
301
hw_write(ci, OP_DEVLC, DEVLC_PTS(7) | DEVLC_PTW, lpm);
drivers/usb/chipidea/core.c
303
hw_write(ci, OP_DEVLC, DEVLC_STS, DEVLC_STS);
drivers/usb/chipidea/core.c
305
hw_write(ci, OP_PORTSC, PORTSC_PTS(7) | PORTSC_PTW, portsc);
drivers/usb/chipidea/core.c
307
hw_write(ci, OP_PORTSC, PORTSC_STS, PORTSC_STS);
drivers/usb/chipidea/core.c
319
static int _ci_usb_phy_init(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
323
if (ci->phy) {
drivers/usb/chipidea/core.c
324
ret = phy_init(ci->phy);
drivers/usb/chipidea/core.c
328
ret = phy_power_on(ci->phy);
drivers/usb/chipidea/core.c
330
phy_exit(ci->phy);
drivers/usb/chipidea/core.c
334
ret = usb_phy_init(ci->usb_phy);
drivers/usb/chipidea/core.c
345
static void ci_usb_phy_exit(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
347
if (ci->platdata->flags & CI_HDRC_OVERRIDE_PHY_CONTROL)
drivers/usb/chipidea/core.c
350
if (ci->phy) {
drivers/usb/chipidea/core.c
351
phy_power_off(ci->phy);
drivers/usb/chipidea/core.c
352
phy_exit(ci->phy);
drivers/usb/chipidea/core.c
354
usb_phy_shutdown(ci->usb_phy);
drivers/usb/chipidea/core.c
364
static int ci_usb_phy_init(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
368
if (ci->platdata->flags & CI_HDRC_OVERRIDE_PHY_CONTROL)
drivers/usb/chipidea/core.c
371
switch (ci->platdata->phy_mode) {
drivers/usb/chipidea/core.c
375
ret = _ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
380
hw_phymode_configure(ci);
drivers/usb/chipidea/core.c
384
hw_phymode_configure(ci);
drivers/usb/chipidea/core.c
385
ret = _ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
390
ret = _ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
404
void ci_platform_configure(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
408
is_device_mode = hw_read(ci, OP_USBMODE, USBMODE_CM) == USBMODE_CM_DC;
drivers/usb/chipidea/core.c
409
is_host_mode = hw_read(ci, OP_USBMODE, USBMODE_CM) == USBMODE_CM_HC;
drivers/usb/chipidea/core.c
412
phy_set_mode(ci->phy, PHY_MODE_USB_DEVICE);
drivers/usb/chipidea/core.c
414
if (ci->platdata->flags & CI_HDRC_DISABLE_DEVICE_STREAMING)
drivers/usb/chipidea/core.c
415
hw_write(ci, OP_USBMODE, USBMODE_CI_SDIS,
drivers/usb/chipidea/core.c
420
phy_set_mode(ci->phy, PHY_MODE_USB_HOST);
drivers/usb/chipidea/core.c
422
if (ci->platdata->flags & CI_HDRC_DISABLE_HOST_STREAMING)
drivers/usb/chipidea/core.c
423
hw_write(ci, OP_USBMODE, USBMODE_CI_SDIS,
drivers/usb/chipidea/core.c
427
if (ci->platdata->flags & CI_HDRC_FORCE_FULLSPEED) {
drivers/usb/chipidea/core.c
428
if (ci->hw_bank.lpm)
drivers/usb/chipidea/core.c
429
hw_write(ci, OP_DEVLC, DEVLC_PFSC, DEVLC_PFSC);
drivers/usb/chipidea/core.c
431
hw_write(ci, OP_PORTSC, PORTSC_PFSC, PORTSC_PFSC);
drivers/usb/chipidea/core.c
434
if (ci->platdata->flags & CI_HDRC_SET_NON_ZERO_TTHA)
drivers/usb/chipidea/core.c
435
hw_write(ci, OP_TTCTRL, TTCTRL_TTHA_MASK, TTCTRL_TTHA);
drivers/usb/chipidea/core.c
437
hw_write(ci, OP_USBCMD, 0xff0000, ci->platdata->itc_setting << 16);
drivers/usb/chipidea/core.c
439
if (ci->platdata->flags & CI_HDRC_OVERRIDE_AHB_BURST)
drivers/usb/chipidea/core.c
440
hw_write_id_reg(ci, ID_SBUSCFG, AHBBRST_MASK,
drivers/usb/chipidea/core.c
441
ci->platdata->ahb_burst_config);
drivers/usb/chipidea/core.c
444
if (!hw_read_id_reg(ci, ID_SBUSCFG, AHBBRST_MASK)) {
drivers/usb/chipidea/core.c
445
if (ci->platdata->flags & CI_HDRC_OVERRIDE_TX_BURST)
drivers/usb/chipidea/core.c
446
hw_write(ci, OP_BURSTSIZE, TX_BURST_MASK,
drivers/usb/chipidea/core.c
447
ci->platdata->tx_burst_size << __ffs(TX_BURST_MASK));
drivers/usb/chipidea/core.c
449
if (ci->platdata->flags & CI_HDRC_OVERRIDE_RX_BURST)
drivers/usb/chipidea/core.c
450
hw_write(ci, OP_BURSTSIZE, RX_BURST_MASK,
drivers/usb/chipidea/core.c
451
ci->platdata->rx_burst_size);
drivers/usb/chipidea/core.c
461
static int hw_controller_reset(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
465
hw_write(ci, OP_USBCMD, USBCMD_RST, USBCMD_RST);
drivers/usb/chipidea/core.c
466
while (hw_read(ci, OP_USBCMD, USBCMD_RST)) {
drivers/usb/chipidea/core.c
481
int hw_device_reset(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
486
hw_write(ci, OP_ENDPTFLUSH, ~0, ~0);
drivers/usb/chipidea/core.c
487
hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
drivers/usb/chipidea/core.c
489
ret = hw_controller_reset(ci);
drivers/usb/chipidea/core.c
491
dev_err(ci->dev, "error resetting controller, ret=%d\n", ret);
drivers/usb/chipidea/core.c
495
if (ci->platdata->notify_event) {
drivers/usb/chipidea/core.c
496
ret = ci->platdata->notify_event(ci,
drivers/usb/chipidea/core.c
503
hw_write(ci, OP_USBMODE, USBMODE_CM, USBMODE_CM_IDLE);
drivers/usb/chipidea/core.c
504
hw_write(ci, OP_USBMODE, USBMODE_CM, USBMODE_CM_DC);
drivers/usb/chipidea/core.c
506
hw_write(ci, OP_USBMODE, USBMODE_SLOM, USBMODE_SLOM);
drivers/usb/chipidea/core.c
508
if (hw_read(ci, OP_USBMODE, USBMODE_CM) != USBMODE_CM_DC) {
drivers/usb/chipidea/core.c
509
dev_err(ci->dev, "cannot enter in %s device mode\n",
drivers/usb/chipidea/core.c
510
ci_role(ci)->name);
drivers/usb/chipidea/core.c
511
dev_err(ci->dev, "lpm = %i\n", ci->hw_bank.lpm);
drivers/usb/chipidea/core.c
515
ci_platform_configure(ci);
drivers/usb/chipidea/core.c
522
struct ci_hdrc *ci = data;
drivers/usb/chipidea/core.c
526
if (ci->in_lpm) {
drivers/usb/chipidea/core.c
531
if (ci->wakeup_int)
drivers/usb/chipidea/core.c
535
ci->wakeup_int = true;
drivers/usb/chipidea/core.c
536
pm_runtime_get(ci->dev);
drivers/usb/chipidea/core.c
540
if (ci->is_otg) {
drivers/usb/chipidea/core.c
541
otgsc = hw_read_otgsc(ci, ~0);
drivers/usb/chipidea/core.c
542
if (ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/core.c
543
ret = ci_otg_fsm_irq(ci);
drivers/usb/chipidea/core.c
553
ci->id_event = true;
drivers/usb/chipidea/core.c
555
hw_write_otgsc(ci, OTGSC_IDIS, OTGSC_IDIS);
drivers/usb/chipidea/core.c
563
ci->b_sess_valid_event = true;
drivers/usb/chipidea/core.c
565
hw_write_otgsc(ci, OTGSC_BSVIS, OTGSC_BSVIS);
drivers/usb/chipidea/core.c
568
if (ci->id_event || ci->b_sess_valid_event) {
drivers/usb/chipidea/core.c
569
ci_otg_queue_work(ci);
drivers/usb/chipidea/core.c
575
if (ci->role != CI_ROLE_END)
drivers/usb/chipidea/core.c
576
ret = ci_role(ci)->irq(ci);
drivers/usb/chipidea/core.c
581
static void ci_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
586
ci_irq_handler(ci->irq, ci);
drivers/usb/chipidea/core.c
594
struct ci_hdrc *ci = cbl->ci;
drivers/usb/chipidea/core.c
599
ci_irq(ci);
drivers/usb/chipidea/core.c
605
struct ci_hdrc *ci = usb_role_switch_get_drvdata(sw);
drivers/usb/chipidea/core.c
609
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/core.c
610
role = ci_role_to_usb_role(ci);
drivers/usb/chipidea/core.c
611
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/core.c
619
struct ci_hdrc *ci = usb_role_switch_get_drvdata(sw);
drivers/usb/chipidea/core.c
622
cable = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
626
cable = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
630
ci_irq(ci);
drivers/usb/chipidea/core.c
634
static enum ci_role ci_get_role(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
638
if (ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET]) {
drivers/usb/chipidea/core.c
639
if (ci->is_otg) {
drivers/usb/chipidea/core.c
640
role = ci_otg_role(ci);
drivers/usb/chipidea/core.c
641
hw_write_otgsc(ci, OTGSC_IDIE, OTGSC_IDIE);
drivers/usb/chipidea/core.c
651
role = ci->roles[CI_ROLE_HOST] ? CI_ROLE_HOST
drivers/usb/chipidea/core.c
807
static int ci_extcon_register(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
812
id = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
813
id->ci = ci;
drivers/usb/chipidea/core.c
815
ret = devm_extcon_register_notifier(ci->dev, id->edev,
drivers/usb/chipidea/core.c
818
dev_err(ci->dev, "register ID failed\n");
drivers/usb/chipidea/core.c
823
vbus = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
824
vbus->ci = ci;
drivers/usb/chipidea/core.c
826
ret = devm_extcon_register_notifier(ci->dev, vbus->edev,
drivers/usb/chipidea/core.c
829
dev_err(ci->dev, "register VBUS failed\n");
drivers/usb/chipidea/core.c
839
struct ci_hdrc *ci = container_of(work, struct ci_hdrc, power_lost_work);
drivers/usb/chipidea/core.c
842
disable_irq_nosync(ci->irq);
drivers/usb/chipidea/core.c
843
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/core.c
844
if (!ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/core.c
845
role = ci_get_role(ci);
drivers/usb/chipidea/core.c
847
if (ci->role != role) {
drivers/usb/chipidea/core.c
848
ci_handle_id_switch(ci);
drivers/usb/chipidea/core.c
850
if (ci->is_otg && hw_read_otgsc(ci, OTGSC_BSV))
drivers/usb/chipidea/core.c
851
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/core.c
854
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/core.c
855
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
928
struct ci_hdrc *ci = platform_get_drvdata(pdev);
drivers/usb/chipidea/core.c
930
if (!ci)
drivers/usb/chipidea/core.c
932
if (ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
934
else if (ci->roles[CI_ROLE_HOST])
drivers/usb/chipidea/core.c
936
else if (ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
943
static inline void ci_role_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
945
ci_hdrc_gadget_destroy(ci);
drivers/usb/chipidea/core.c
946
ci_hdrc_host_destroy(ci);
drivers/usb/chipidea/core.c
947
if (ci->is_otg && ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
948
ci_hdrc_otg_destroy(ci);
drivers/usb/chipidea/core.c
951
static void ci_get_otg_capable(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
953
if (ci->platdata->flags & CI_HDRC_DUAL_ROLE_NOT_OTG)
drivers/usb/chipidea/core.c
954
ci->is_otg = false;
drivers/usb/chipidea/core.c
956
ci->is_otg = (hw_read(ci, CAP_DCCPARAMS,
drivers/usb/chipidea/core.c
959
if (ci->is_otg) {
drivers/usb/chipidea/core.c
960
dev_dbg(ci->dev, "It is OTG capable controller\n");
drivers/usb/chipidea/core.c
962
hw_write_otgsc(ci, OTGSC_INT_EN_BITS | OTGSC_INT_STATUS_BITS,
drivers/usb/chipidea/core.c
970
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
972
if (ci->role != CI_ROLE_END)
drivers/usb/chipidea/core.c
973
return sprintf(buf, "%s\n", ci_role(ci)->name);
drivers/usb/chipidea/core.c
981
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
985
if (!(ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET])) {
drivers/usb/chipidea/core.c
991
if (!strncmp(buf, ci->roles[role]->name,
drivers/usb/chipidea/core.c
992
strlen(ci->roles[role]->name)))
drivers/usb/chipidea/core.c
998
mutex_lock(&ci->mutex);
drivers/usb/chipidea/debug.c
100
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/debug.c
123
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
127
if (ci->role != CI_ROLE_GADGET) {
drivers/usb/chipidea/debug.c
132
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/debug.c
133
for (i = 0; i < ci->hw_ep_max/2; i++) {
drivers/usb/chipidea/debug.c
134
struct ci_hw_ep *hweprx = &ci->ci_hw_ep[i];
drivers/usb/chipidea/debug.c
136
&ci->ci_hw_ep[i + ci->hw_ep_max/2];
drivers/usb/chipidea/debug.c
144
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/debug.c
155
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
161
if (ci->role != CI_ROLE_GADGET) {
drivers/usb/chipidea/debug.c
166
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/debug.c
167
for (i = 0; i < ci->hw_ep_max; i++)
drivers/usb/chipidea/debug.c
168
list_for_each_entry(req, &ci->ci_hw_ep[i].qh.queue, queue) {
drivers/usb/chipidea/debug.c
171
i % (ci->hw_ep_max / 2),
drivers/usb/chipidea/debug.c
173
((i < ci->hw_ep_max/2) ?
drivers/usb/chipidea/debug.c
181
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/debug.c
189
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
192
if (!ci || !ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/debug.c
195
fsm = &ci->fsm;
drivers/usb/chipidea/debug.c
199
usb_otg_state_string(ci->otg.state));
drivers/usb/chipidea/debug.c
252
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
255
if (!ci || ci->in_lpm)
drivers/usb/chipidea/debug.c
259
tmp_reg = hw_read_intr_enable(ci);
drivers/usb/chipidea/debug.c
26
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
262
tmp_reg = hw_read_intr_status(ci);
drivers/usb/chipidea/debug.c
265
tmp_reg = hw_read(ci, OP_USBMODE, ~0);
drivers/usb/chipidea/debug.c
268
tmp_reg = hw_read(ci, OP_USBCMD, ~0);
drivers/usb/chipidea/debug.c
27
struct usb_gadget *gadget = &ci->gadget;
drivers/usb/chipidea/debug.c
271
tmp_reg = hw_read(ci, OP_PORTSC, ~0);
drivers/usb/chipidea/debug.c
274
if (ci->is_otg) {
drivers/usb/chipidea/debug.c
275
tmp_reg = hw_read_otgsc(ci, ~0);
drivers/usb/chipidea/debug.c
289
void dbg_create_files(struct ci_hdrc *ci)
drivers/usb/chipidea/debug.c
293
dir = debugfs_create_dir(dev_name(ci->dev), usb_debug_root);
drivers/usb/chipidea/debug.c
295
debugfs_create_file("device", S_IRUGO, dir, ci, &ci_device_fops);
drivers/usb/chipidea/debug.c
296
debugfs_create_file("port_test", S_IRUGO | S_IWUSR, dir, ci, &ci_port_test_fops);
drivers/usb/chipidea/debug.c
297
debugfs_create_file("qheads", S_IRUGO, dir, ci, &ci_qheads_fops);
drivers/usb/chipidea/debug.c
298
debugfs_create_file("requests", S_IRUGO, dir, ci, &ci_requests_fops);
drivers/usb/chipidea/debug.c
300
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/debug.c
301
debugfs_create_file("otg", S_IRUGO, dir, ci, &ci_otg_fops);
drivers/usb/chipidea/debug.c
303
debugfs_create_file("registers", S_IRUGO, dir, ci, &ci_registers_fops);
drivers/usb/chipidea/debug.c
310
void dbg_remove_files(struct ci_hdrc *ci)
drivers/usb/chipidea/debug.c
312
debugfs_lookup_and_remove(dev_name(ci->dev), usb_debug_root);
drivers/usb/chipidea/debug.c
39
if (!ci->driver)
drivers/usb/chipidea/debug.c
43
(ci->driver->function ? ci->driver->function : ""));
drivers/usb/chipidea/debug.c
44
seq_printf(s, "gadget max speed = %d\n", ci->driver->max_speed);
drivers/usb/chipidea/debug.c
55
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
59
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/debug.c
60
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/debug.c
61
mode = hw_port_test_get(ci);
drivers/usb/chipidea/debug.c
62
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/debug.c
63
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/debug.c
77
struct ci_hdrc *ci = s->private;
drivers/usb/chipidea/debug.c
96
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/debug.c
97
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/debug.c
98
ret = hw_port_test_set(ci, mode);
drivers/usb/chipidea/debug.c
99
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/host.c
104
ci_platform_configure(ci);
drivers/usb/chipidea/host.c
115
static irqreturn_t host_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/host.c
117
return usb_hcd_irq(ci->irq, ci->hcd);
drivers/usb/chipidea/host.c
120
static int host_start(struct ci_hdrc *ci)
drivers/usb/chipidea/host.c
130
hcd = __usb_create_hcd(&ci_ehci_hc_driver, ci->dev->parent,
drivers/usb/chipidea/host.c
131
ci->dev, dev_name(ci->dev), NULL);
drivers/usb/chipidea/host.c
135
dev_set_drvdata(ci->dev, ci);
drivers/usb/chipidea/host.c
136
hcd->rsrc_start = ci->hw_bank.phys;
drivers/usb/chipidea/host.c
137
hcd->rsrc_len = ci->hw_bank.size;
drivers/usb/chipidea/host.c
138
hcd->regs = ci->hw_bank.abs;
drivers/usb/chipidea/host.c
141
hcd->power_budget = ci->platdata->power_budget;
drivers/usb/chipidea/host.c
142
hcd->tpl_support = ci->platdata->tpl_support;
drivers/usb/chipidea/host.c
143
if (ci->phy || ci->usb_phy) {
drivers/usb/chipidea/host.c
145
if (ci->usb_phy)
drivers/usb/chipidea/host.c
146
hcd->usb_phy = ci->usb_phy;
drivers/usb/chipidea/host.c
150
ehci->caps = ci->hw_bank.cap;
drivers/usb/chipidea/host.c
151
ehci->has_hostpc = ci->hw_bank.lpm;
drivers/usb/chipidea/host.c
152
ehci->has_tdi_phy_lpm = ci->hw_bank.lpm;
drivers/usb/chipidea/host.c
153
ehci->imx28_write_fix = ci->imx28_write_fix;
drivers/usb/chipidea/host.c
154
ehci->has_ci_pec_bug = ci->has_portsc_pec_bug;
drivers/usb/chipidea/host.c
159
if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/host.c
160
if (ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON) {
drivers/usb/chipidea/host.c
161
ret = regulator_enable(ci->platdata->reg_vbus);
drivers/usb/chipidea/host.c
163
dev_err(ci->dev,
drivers/usb/chipidea/host.c
169
priv->reg_vbus = ci->platdata->reg_vbus;
drivers/usb/chipidea/host.c
173
if (ci->platdata->pins_host)
drivers/usb/chipidea/host.c
174
pinctrl_select_state(ci->platdata->pctl,
drivers/usb/chipidea/host.c
175
ci->platdata->pins_host);
drivers/usb/chipidea/host.c
177
ci->hcd = hcd;
drivers/usb/chipidea/host.c
181
ci->hcd = NULL;
drivers/usb/chipidea/host.c
184
struct usb_otg *otg = &ci->otg;
drivers/usb/chipidea/host.c
186
if (ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/host.c
191
if (ci->platdata->notify_event &&
drivers/usb/chipidea/host.c
192
(ci->platdata->flags & CI_HDRC_IMX_IS_HSIC))
drivers/usb/chipidea/host.c
193
ci->platdata->notify_event
drivers/usb/chipidea/host.c
194
(ci, CI_HDRC_IMX_HSIC_ACTIVE_EVENT);
drivers/usb/chipidea/host.c
200
if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci) &&
drivers/usb/chipidea/host.c
201
(ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON))
drivers/usb/chipidea/host.c
202
regulator_disable(ci->platdata->reg_vbus);
drivers/usb/chipidea/host.c
209
static void host_stop(struct ci_hdrc *ci)
drivers/usb/chipidea/host.c
211
struct usb_hcd *hcd = ci->hcd;
drivers/usb/chipidea/host.c
214
if (ci->platdata->notify_event)
drivers/usb/chipidea/host.c
215
ci->platdata->notify_event(ci,
drivers/usb/chipidea/host.c
218
ci->role = CI_ROLE_END;
drivers/usb/chipidea/host.c
219
synchronize_irq(ci->irq);
drivers/usb/chipidea/host.c
221
if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci) &&
drivers/usb/chipidea/host.c
222
(ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON))
drivers/usb/chipidea/host.c
223
regulator_disable(ci->platdata->reg_vbus);
drivers/usb/chipidea/host.c
225
ci->hcd = NULL;
drivers/usb/chipidea/host.c
226
ci->otg.host = NULL;
drivers/usb/chipidea/host.c
228
if (ci->platdata->pins_host && ci->platdata->pins_default)
drivers/usb/chipidea/host.c
229
pinctrl_select_state(ci->platdata->pctl,
drivers/usb/chipidea/host.c
230
ci->platdata->pins_default);
drivers/usb/chipidea/host.c
234
void ci_hdrc_host_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/host.c
236
if (ci->role == CI_ROLE_HOST && ci->hcd)
drivers/usb/chipidea/host.c
237
host_stop(ci);
drivers/usb/chipidea/host.c
258
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/host.c
272
if (ci->platdata->hub_control) {
drivers/usb/chipidea/host.c
273
retval = ci->platdata->hub_control(ci, typeReq, wValue, wIndex,
drivers/usb/chipidea/host.c
303
if (ci->platdata->flags & CI_HDRC_IMX_IS_HSIC) {
drivers/usb/chipidea/host.c
304
if (ci->platdata->notify_event)
drivers/usb/chipidea/host.c
305
ci->platdata->notify_event(ci,
drivers/usb/chipidea/host.c
340
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/host.c
376
if (ci->platdata->flags & CI_HDRC_IMX_IS_HSIC) {
drivers/usb/chipidea/host.c
43
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/host.c
463
static void ci_hdrc_host_suspend(struct ci_hdrc *ci)
drivers/usb/chipidea/host.c
465
ehci_suspend(ci->hcd, device_may_wakeup(ci->dev));
drivers/usb/chipidea/host.c
468
static void ci_hdrc_host_resume(struct ci_hdrc *ci, bool power_lost)
drivers/usb/chipidea/host.c
470
ehci_resume(ci->hcd, power_lost);
drivers/usb/chipidea/host.c
474
int ci_hdrc_host_init(struct ci_hdrc *ci)
drivers/usb/chipidea/host.c
478
if (!hw_read(ci, CAP_DCCPARAMS, DCCPARAMS_HC))
drivers/usb/chipidea/host.c
481
rdrv = devm_kzalloc(ci->dev, sizeof(struct ci_role_driver), GFP_KERNEL);
drivers/usb/chipidea/host.c
493
ci->roles[CI_ROLE_HOST] = rdrv;
drivers/usb/chipidea/host.c
495
if (ci->platdata->flags & CI_HDRC_REQUIRES_ALIGNED_DMA) {
drivers/usb/chipidea/host.c
66
if (ci->platdata->flags & CI_HDRC_PHY_VBUS_CONTROL) {
drivers/usb/chipidea/host.c
68
usb_phy_vbus_on(ci->usb_phy);
drivers/usb/chipidea/host.c
70
usb_phy_vbus_off(ci->usb_phy);
drivers/usb/chipidea/host.c
73
if (enable && (ci->platdata->phy_mode == USBPHY_INTERFACE_MODE_HSIC)) {
drivers/usb/chipidea/host.c
78
hw_port_test_set(ci, 5);
drivers/usb/chipidea/host.c
79
hw_port_test_set(ci, 0);
drivers/usb/chipidea/host.c
87
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/host.c
97
if (ci->platdata->notify_event) {
drivers/usb/chipidea/host.c
98
ret = ci->platdata->notify_event(ci,
drivers/usb/chipidea/host.h
13
static inline int ci_hdrc_host_init(struct ci_hdrc *ci)
drivers/usb/chipidea/host.h
18
static inline void ci_hdrc_host_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/host.h
7
int ci_hdrc_host_init(struct ci_hdrc *ci);
drivers/usb/chipidea/host.h
8
void ci_hdrc_host_destroy(struct ci_hdrc *ci);
drivers/usb/chipidea/otg.c
101
cable = &ci->platdata->id_extcon;
drivers/usb/chipidea/otg.c
102
if (!IS_ERR(cable->edev) || ci->role_switch) {
drivers/usb/chipidea/otg.c
115
hw_write(ci, OP_OTGSC, mask | OTGSC_INT_STATUS_BITS, data);
drivers/usb/chipidea/otg.c
122
enum ci_role ci_otg_role(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
124
enum ci_role role = hw_read_otgsc(ci, OTGSC_ID)
drivers/usb/chipidea/otg.c
131
void ci_handle_vbus_change(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
133
if (ci->role != CI_ROLE_GADGET)
drivers/usb/chipidea/otg.c
136
if (!ci->is_otg) {
drivers/usb/chipidea/otg.c
137
if (ci->platdata->flags & CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS)
drivers/usb/chipidea/otg.c
138
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/otg.c
142
if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active)
drivers/usb/chipidea/otg.c
143
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/otg.c
144
else if (!hw_read_otgsc(ci, OTGSC_BSV) && ci->vbus_active)
drivers/usb/chipidea/otg.c
145
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/otg.c
157
static int hw_wait_vbus_lower_bsv(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
162
while (hw_read_otgsc(ci, mask)) {
drivers/usb/chipidea/otg.c
164
dev_err(ci->dev, "timeout waiting for %08x in OTGSC\n",
drivers/usb/chipidea/otg.c
174
void ci_handle_id_switch(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
178
mutex_lock(&ci->mutex);
drivers/usb/chipidea/otg.c
179
role = ci_otg_role(ci);
drivers/usb/chipidea/otg.c
180
if (role != ci->role) {
drivers/usb/chipidea/otg.c
181
dev_dbg(ci->dev, "switching from %s to %s\n",
drivers/usb/chipidea/otg.c
182
ci_role(ci)->name, ci->roles[role]->name);
drivers/usb/chipidea/otg.c
184
if (ci->vbus_active && ci->role == CI_ROLE_GADGET)
drivers/usb/chipidea/otg.c
189
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/otg.c
191
ci_role_stop(ci);
drivers/usb/chipidea/otg.c
193
if (role == CI_ROLE_GADGET && !ci->role_switch &&
drivers/usb/chipidea/otg.c
194
IS_ERR(ci->platdata->vbus_extcon.edev))
drivers/usb/chipidea/otg.c
202
hw_wait_vbus_lower_bsv(ci);
drivers/usb/chipidea/otg.c
204
ci_role_start(ci, role);
drivers/usb/chipidea/otg.c
207
ci_handle_vbus_change(ci);
drivers/usb/chipidea/otg.c
209
mutex_unlock(&ci->mutex);
drivers/usb/chipidea/otg.c
217
struct ci_hdrc *ci = container_of(work, struct ci_hdrc, work);
drivers/usb/chipidea/otg.c
219
if (ci_otg_is_fsm_mode(ci) && !ci_otg_fsm_work(ci)) {
drivers/usb/chipidea/otg.c
220
enable_irq(ci->irq);
drivers/usb/chipidea/otg.c
224
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/otg.c
226
if (ci->id_event) {
drivers/usb/chipidea/otg.c
227
ci->id_event = false;
drivers/usb/chipidea/otg.c
228
ci_handle_id_switch(ci);
drivers/usb/chipidea/otg.c
231
if (ci->b_sess_valid_event) {
drivers/usb/chipidea/otg.c
232
ci->b_sess_valid_event = false;
drivers/usb/chipidea/otg.c
233
ci_handle_vbus_change(ci);
drivers/usb/chipidea/otg.c
236
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/otg.c
238
enable_irq(ci->irq);
drivers/usb/chipidea/otg.c
246
int ci_hdrc_otg_init(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
248
INIT_WORK(&ci->work, ci_otg_work);
drivers/usb/chipidea/otg.c
249
ci->wq = create_freezable_workqueue("ci_otg");
drivers/usb/chipidea/otg.c
250
if (!ci->wq) {
drivers/usb/chipidea/otg.c
251
dev_err(ci->dev, "can't create workqueue\n");
drivers/usb/chipidea/otg.c
255
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/otg.c
256
return ci_hdrc_otg_fsm_init(ci);
drivers/usb/chipidea/otg.c
265
void ci_hdrc_otg_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
267
if (ci->wq)
drivers/usb/chipidea/otg.c
268
destroy_workqueue(ci->wq);
drivers/usb/chipidea/otg.c
271
hw_write_otgsc(ci, OTGSC_INT_EN_BITS | OTGSC_INT_STATUS_BITS,
drivers/usb/chipidea/otg.c
273
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/otg.c
274
ci_hdrc_otg_fsm_remove(ci);
drivers/usb/chipidea/otg.c
29
u32 hw_read_otgsc(struct ci_hdrc *ci, u32 mask)
drivers/usb/chipidea/otg.c
32
u32 val = hw_read(ci, OP_OTGSC, mask);
drivers/usb/chipidea/otg.c
38
cable = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/otg.c
39
if (!IS_ERR(cable->edev) || ci->role_switch) {
drivers/usb/chipidea/otg.c
56
cable = &ci->platdata->id_extcon;
drivers/usb/chipidea/otg.c
57
if (!IS_ERR(cable->edev) || ci->role_switch) {
drivers/usb/chipidea/otg.c
83
void hw_write_otgsc(struct ci_hdrc *ci, u32 mask, u32 data)
drivers/usb/chipidea/otg.c
87
cable = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/otg.c
88
if (!IS_ERR(cable->edev) || ci->role_switch) {
drivers/usb/chipidea/otg.h
11
u32 hw_read_otgsc(struct ci_hdrc *ci, u32 mask);
drivers/usb/chipidea/otg.h
12
void hw_write_otgsc(struct ci_hdrc *ci, u32 mask, u32 data);
drivers/usb/chipidea/otg.h
13
int ci_hdrc_otg_init(struct ci_hdrc *ci);
drivers/usb/chipidea/otg.h
14
void ci_hdrc_otg_destroy(struct ci_hdrc *ci);
drivers/usb/chipidea/otg.h
15
enum ci_role ci_otg_role(struct ci_hdrc *ci);
drivers/usb/chipidea/otg.h
16
void ci_handle_vbus_change(struct ci_hdrc *ci);
drivers/usb/chipidea/otg.h
17
void ci_handle_id_switch(struct ci_hdrc *ci);
drivers/usb/chipidea/otg.h
18
static inline void ci_otg_queue_work(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.h
20
disable_irq_nosync(ci->irq);
drivers/usb/chipidea/otg.h
21
if (queue_work(ci->wq, &ci->work) == false)
drivers/usb/chipidea/otg.h
22
enable_irq(ci->irq);
drivers/usb/chipidea/otg_fsm.c
100
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
105
mutex_lock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
107
ci->fsm.a_bus_drop = 0;
drivers/usb/chipidea/otg_fsm.c
109
ci->fsm.a_bus_drop = 1;
drivers/usb/chipidea/otg_fsm.c
110
ci->fsm.a_bus_req = 0;
drivers/usb/chipidea/otg_fsm.c
113
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
114
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
125
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
129
t = scnprintf(next, size, "%d\n", ci->fsm.b_bus_req);
drivers/usb/chipidea/otg_fsm.c
140
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
145
mutex_lock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
147
ci->fsm.b_bus_req = 0;
drivers/usb/chipidea/otg_fsm.c
149
ci->fsm.b_bus_req = 1;
drivers/usb/chipidea/otg_fsm.c
150
if (ci->fsm.otg->state == OTG_STATE_B_PERIPHERAL) {
drivers/usb/chipidea/otg_fsm.c
151
ci->gadget.host_request_flag = 1;
drivers/usb/chipidea/otg_fsm.c
152
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
157
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
158
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
168
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
173
mutex_lock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
175
ci->fsm.a_clr_err = 1;
drivers/usb/chipidea/otg_fsm.c
177
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
178
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
219
static void ci_otg_add_timer(struct ci_hdrc *ci, enum otg_fsm_timer t)
drivers/usb/chipidea/otg_fsm.c
226
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
229
ci->hr_timeouts[t] = ktime_add(ktime_get(),
drivers/usb/chipidea/otg_fsm.c
231
ci->enabled_otg_timer_bits |= (1 << t);
drivers/usb/chipidea/otg_fsm.c
232
if ((ci->next_otg_timer == NUM_OTG_FSM_TIMERS) ||
drivers/usb/chipidea/otg_fsm.c
233
ktime_after(ci->hr_timeouts[ci->next_otg_timer],
drivers/usb/chipidea/otg_fsm.c
234
ci->hr_timeouts[t])) {
drivers/usb/chipidea/otg_fsm.c
235
ci->next_otg_timer = t;
drivers/usb/chipidea/otg_fsm.c
236
hrtimer_start_range_ns(&ci->otg_fsm_hrtimer,
drivers/usb/chipidea/otg_fsm.c
237
ci->hr_timeouts[t], NSEC_PER_MSEC,
drivers/usb/chipidea/otg_fsm.c
240
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
246
static void ci_otg_del_timer(struct ci_hdrc *ci, enum otg_fsm_timer t)
drivers/usb/chipidea/otg_fsm.c
252
!(ci->enabled_otg_timer_bits & (1 << t)))
drivers/usb/chipidea/otg_fsm.c
255
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
256
ci->enabled_otg_timer_bits &= ~(1 << t);
drivers/usb/chipidea/otg_fsm.c
257
if (ci->next_otg_timer == t) {
drivers/usb/chipidea/otg_fsm.c
258
if (ci->enabled_otg_timer_bits == 0) {
drivers/usb/chipidea/otg_fsm.c
259
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
261
hrtimer_cancel(&ci->otg_fsm_hrtimer);
drivers/usb/chipidea/otg_fsm.c
262
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
263
ci->next_otg_timer = NUM_OTG_FSM_TIMERS;
drivers/usb/chipidea/otg_fsm.c
266
enabled_timer_bits = ci->enabled_otg_timer_bits;
drivers/usb/chipidea/otg_fsm.c
270
ktime_before(ci->hr_timeouts[next_timer],
drivers/usb/chipidea/otg_fsm.c
271
ci->hr_timeouts[cur_timer]))
drivers/usb/chipidea/otg_fsm.c
277
ci->next_otg_timer = next_timer;
drivers/usb/chipidea/otg_fsm.c
278
hrtimer_start_range_ns(&ci->otg_fsm_hrtimer,
drivers/usb/chipidea/otg_fsm.c
279
ci->hr_timeouts[next_timer], NSEC_PER_MSEC,
drivers/usb/chipidea/otg_fsm.c
282
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
286
static int a_wait_vrise_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
288
ci->fsm.a_wait_vrise_tmout = 1;
drivers/usb/chipidea/otg_fsm.c
292
static int a_wait_vfall_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
294
ci->fsm.a_wait_vfall_tmout = 1;
drivers/usb/chipidea/otg_fsm.c
298
static int a_wait_bcon_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
300
ci->fsm.a_wait_bcon_tmout = 1;
drivers/usb/chipidea/otg_fsm.c
304
static int a_aidl_bdis_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
306
ci->fsm.a_aidl_bdis_tmout = 1;
drivers/usb/chipidea/otg_fsm.c
310
static int b_ase0_brst_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
312
ci->fsm.b_ase0_brst_tmout = 1;
drivers/usb/chipidea/otg_fsm.c
316
static int a_bidl_adis_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
318
ci->fsm.a_bidl_adis_tmout = 1;
drivers/usb/chipidea/otg_fsm.c
322
static int b_aidl_bdis_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
324
ci->fsm.a_bus_suspend = 1;
drivers/usb/chipidea/otg_fsm.c
328
static int b_se0_srp_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
330
ci->fsm.b_se0_srp = 1;
drivers/usb/chipidea/otg_fsm.c
334
static int b_srp_fail_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
336
ci->fsm.b_srp_done = 1;
drivers/usb/chipidea/otg_fsm.c
340
static int b_data_pls_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
342
ci->fsm.b_srp_done = 1;
drivers/usb/chipidea/otg_fsm.c
343
ci->fsm.b_bus_req = 0;
drivers/usb/chipidea/otg_fsm.c
344
if (ci->fsm.power_up)
drivers/usb/chipidea/otg_fsm.c
345
ci->fsm.power_up = 0;
drivers/usb/chipidea/otg_fsm.c
346
hw_write_otgsc(ci, OTGSC_HABA, 0);
drivers/usb/chipidea/otg_fsm.c
347
pm_runtime_put(ci->dev);
drivers/usb/chipidea/otg_fsm.c
351
static int b_ssend_srp_tmout(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
353
ci->fsm.b_ssend_srp = 1;
drivers/usb/chipidea/otg_fsm.c
355
if (ci->fsm.otg->state == OTG_STATE_B_IDLE)
drivers/usb/chipidea/otg_fsm.c
36
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
385
struct ci_hdrc *ci = container_of(t, struct ci_hdrc, otg_fsm_hrtimer);
drivers/usb/chipidea/otg_fsm.c
392
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
393
enabled_timer_bits = ci->enabled_otg_timer_bits;
drivers/usb/chipidea/otg_fsm.c
394
ci->next_otg_timer = NUM_OTG_FSM_TIMERS;
drivers/usb/chipidea/otg_fsm.c
398
if (ktime_compare(now, ci->hr_timeouts[cur_timer]) >= 0) {
drivers/usb/chipidea/otg_fsm.c
399
ci->enabled_otg_timer_bits &= ~(1 << cur_timer);
drivers/usb/chipidea/otg_fsm.c
40
t = scnprintf(next, size, "%d\n", ci->fsm.a_bus_req);
drivers/usb/chipidea/otg_fsm.c
401
ret = otg_timer_handlers[cur_timer](ci);
drivers/usb/chipidea/otg_fsm.c
404
ktime_before(ci->hr_timeouts[cur_timer],
drivers/usb/chipidea/otg_fsm.c
405
ci->hr_timeouts[next_timer]))
drivers/usb/chipidea/otg_fsm.c
411
timeout = &ci->hr_timeouts[next_timer];
drivers/usb/chipidea/otg_fsm.c
412
hrtimer_start_range_ns(&ci->otg_fsm_hrtimer, *timeout,
drivers/usb/chipidea/otg_fsm.c
414
ci->next_otg_timer = next_timer;
drivers/usb/chipidea/otg_fsm.c
416
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/otg_fsm.c
419
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
425
static int ci_otg_init_timers(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
427
hrtimer_setup(&ci->otg_fsm_hrtimer, ci_otg_hrtimer_func, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
drivers/usb/chipidea/otg_fsm.c
437
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
440
ci_otg_add_timer(ci, t);
drivers/usb/chipidea/otg_fsm.c
446
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
449
ci_otg_del_timer(ci, t);
drivers/usb/chipidea/otg_fsm.c
460
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
464
hw_write(ci, OP_PORTSC, PORTSC_W1C_BITS | PORTSC_PP,
drivers/usb/chipidea/otg_fsm.c
466
if (ci->platdata->reg_vbus) {
drivers/usb/chipidea/otg_fsm.c
467
ret = regulator_enable(ci->platdata->reg_vbus);
drivers/usb/chipidea/otg_fsm.c
469
dev_err(ci->dev,
drivers/usb/chipidea/otg_fsm.c
476
if (ci->platdata->flags & CI_HDRC_PHY_VBUS_CONTROL)
drivers/usb/chipidea/otg_fsm.c
477
usb_phy_vbus_on(ci->usb_phy);
drivers/usb/chipidea/otg_fsm.c
480
hw_write_otgsc(ci, OTGSC_DPIE, 0);
drivers/usb/chipidea/otg_fsm.c
485
if (ci->platdata->reg_vbus)
drivers/usb/chipidea/otg_fsm.c
486
regulator_disable(ci->platdata->reg_vbus);
drivers/usb/chipidea/otg_fsm.c
488
if (ci->platdata->flags & CI_HDRC_PHY_VBUS_CONTROL)
drivers/usb/chipidea/otg_fsm.c
489
usb_phy_vbus_off(ci->usb_phy);
drivers/usb/chipidea/otg_fsm.c
501
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
504
hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS);
drivers/usb/chipidea/otg_fsm.c
506
hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
drivers/usb/chipidea/otg_fsm.c
51
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
543
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
546
hw_write_otgsc(ci, OTGSC_HADP, OTGSC_HADP);
drivers/usb/chipidea/otg_fsm.c
548
pm_runtime_get(ci->dev);
drivers/usb/chipidea/otg_fsm.c
549
ci_otg_add_timer(ci, B_DATA_PLS);
drivers/usb/chipidea/otg_fsm.c
554
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
557
ci_role_stop(ci);
drivers/usb/chipidea/otg_fsm.c
558
ci_role_start(ci, CI_ROLE_HOST);
drivers/usb/chipidea/otg_fsm.c
56
mutex_lock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
560
ci_role_stop(ci);
drivers/usb/chipidea/otg_fsm.c
561
ci_role_start(ci, CI_ROLE_GADGET);
drivers/usb/chipidea/otg_fsm.c
568
struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm);
drivers/usb/chipidea/otg_fsm.c
571
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/otg_fsm.c
573
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/otg_fsm.c
58
ci->fsm.a_bus_req = 0;
drivers/usb/chipidea/otg_fsm.c
589
int ci_otg_fsm_work(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
595
if (ci->fsm.id && !(ci->driver) &&
drivers/usb/chipidea/otg_fsm.c
596
ci->fsm.otg->state < OTG_STATE_A_IDLE)
drivers/usb/chipidea/otg_fsm.c
599
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/otg_fsm.c
600
if (otg_statemachine(&ci->fsm)) {
drivers/usb/chipidea/otg_fsm.c
601
if (ci->fsm.otg->state == OTG_STATE_A_IDLE) {
drivers/usb/chipidea/otg_fsm.c
61
if (ci->fsm.a_bus_drop) {
drivers/usb/chipidea/otg_fsm.c
610
if ((ci->fsm.id) || (ci->id_event) ||
drivers/usb/chipidea/otg_fsm.c
611
(ci->fsm.power_up)) {
drivers/usb/chipidea/otg_fsm.c
612
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
615
hw_write(ci, OP_PORTSC, PORTSC_W1C_BITS |
drivers/usb/chipidea/otg_fsm.c
617
hw_write_otgsc(ci, OTGSC_DPIS, OTGSC_DPIS);
drivers/usb/chipidea/otg_fsm.c
618
hw_write_otgsc(ci, OTGSC_DPIE, OTGSC_DPIE);
drivers/usb/chipidea/otg_fsm.c
62
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
620
if (ci->id_event)
drivers/usb/chipidea/otg_fsm.c
621
ci->id_event = false;
drivers/usb/chipidea/otg_fsm.c
622
} else if (ci->fsm.otg->state == OTG_STATE_B_IDLE) {
drivers/usb/chipidea/otg_fsm.c
623
if (ci->fsm.b_sess_vld) {
drivers/usb/chipidea/otg_fsm.c
624
ci->fsm.power_up = 0;
drivers/usb/chipidea/otg_fsm.c
629
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
631
} else if (ci->fsm.otg->state == OTG_STATE_A_HOST) {
drivers/usb/chipidea/otg_fsm.c
632
pm_runtime_put_autosuspend(ci->dev);
drivers/usb/chipidea/otg_fsm.c
636
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/otg_fsm.c
644
static void ci_otg_fsm_event(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
647
struct otg_fsm *fsm = &ci->fsm;
drivers/usb/chipidea/otg_fsm.c
649
intr_sts = hw_read_intr_status(ci);
drivers/usb/chipidea/otg_fsm.c
65
ci->fsm.a_bus_req = 1;
drivers/usb/chipidea/otg_fsm.c
650
otg_bsess_vld = hw_read_otgsc(ci, OTGSC_BSV);
drivers/usb/chipidea/otg_fsm.c
651
port_conn = hw_read(ci, OP_PORTSC, PORTSC_CCS);
drivers/usb/chipidea/otg_fsm.c
653
switch (ci->fsm.otg->state) {
drivers/usb/chipidea/otg_fsm.c
658
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
66
if (ci->fsm.otg->state == OTG_STATE_A_PERIPHERAL) {
drivers/usb/chipidea/otg_fsm.c
664
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
669
ci_otg_add_timer(ci, B_AIDL_BDIS);
drivers/usb/chipidea/otg_fsm.c
67
ci->gadget.host_request_flag = 1;
drivers/usb/chipidea/otg_fsm.c
671
ci_otg_del_timer(ci, B_AIDL_BDIS);
drivers/usb/chipidea/otg_fsm.c
68
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
680
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
691
ci_otg_add_timer(ci, A_BIDL_ADIS);
drivers/usb/chipidea/otg_fsm.c
695
ci_otg_del_timer(ci, A_BIDL_ADIS);
drivers/usb/chipidea/otg_fsm.c
699
ci_otg_del_timer(ci, A_BIDL_ADIS);
drivers/usb/chipidea/otg_fsm.c
709
if (ci->driver) {
drivers/usb/chipidea/otg_fsm.c
711
ci->gadget.is_a_peripheral = 1;
drivers/usb/chipidea/otg_fsm.c
713
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
719
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
725
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
73
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
739
irqreturn_t ci_otg_fsm_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
74
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
743
struct otg_fsm *fsm = &ci->fsm;
drivers/usb/chipidea/otg_fsm.c
745
otgsc = hw_read_otgsc(ci, ~0);
drivers/usb/chipidea/otg_fsm.c
751
hw_write_otgsc(ci, OTGSC_DPIS, OTGSC_DPIS);
drivers/usb/chipidea/otg_fsm.c
755
hw_write_otgsc(ci, OTGSC_IDIS, OTGSC_IDIS);
drivers/usb/chipidea/otg_fsm.c
759
ci->id_event = true;
drivers/usb/chipidea/otg_fsm.c
762
hw_write_otgsc(ci, OTGSC_BSVIS, OTGSC_BSVIS);
drivers/usb/chipidea/otg_fsm.c
765
ci_otg_del_timer(ci, B_SSEND_SRP);
drivers/usb/chipidea/otg_fsm.c
766
ci_otg_del_timer(ci, B_SRP_FAIL);
drivers/usb/chipidea/otg_fsm.c
771
ci_otg_add_timer(ci, B_SSEND_SRP);
drivers/usb/chipidea/otg_fsm.c
774
hw_write_otgsc(ci, OTGSC_AVVIS, OTGSC_AVVIS);
drivers/usb/chipidea/otg_fsm.c
782
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
786
ci_otg_fsm_event(ci);
drivers/usb/chipidea/otg_fsm.c
791
void ci_hdrc_otg_fsm_start(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
793
ci_otg_queue_work(ci);
drivers/usb/chipidea/otg_fsm.c
796
int ci_hdrc_otg_fsm_init(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
800
if (ci->phy)
drivers/usb/chipidea/otg_fsm.c
801
ci->otg.phy = ci->phy;
drivers/usb/chipidea/otg_fsm.c
803
ci->otg.usb_phy = ci->usb_phy;
drivers/usb/chipidea/otg_fsm.c
805
ci->otg.gadget = &ci->gadget;
drivers/usb/chipidea/otg_fsm.c
806
ci->fsm.otg = &ci->otg;
drivers/usb/chipidea/otg_fsm.c
807
ci->fsm.power_up = 1;
drivers/usb/chipidea/otg_fsm.c
808
ci->fsm.id = hw_read_otgsc(ci, OTGSC_ID) ? 1 : 0;
drivers/usb/chipidea/otg_fsm.c
809
ci->fsm.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/chipidea/otg_fsm.c
810
ci->fsm.ops = &ci_otg_ops;
drivers/usb/chipidea/otg_fsm.c
811
ci->gadget.hnp_polling_support = 1;
drivers/usb/chipidea/otg_fsm.c
812
ci->fsm.host_req_flag = devm_kzalloc(ci->dev, 1, GFP_KERNEL);
drivers/usb/chipidea/otg_fsm.c
813
if (!ci->fsm.host_req_flag)
drivers/usb/chipidea/otg_fsm.c
816
mutex_init(&ci->fsm.lock);
drivers/usb/chipidea/otg_fsm.c
818
retval = ci_otg_init_timers(ci);
drivers/usb/chipidea/otg_fsm.c
820
dev_err(ci->dev, "Couldn't init OTG timers\n");
drivers/usb/chipidea/otg_fsm.c
823
ci->enabled_otg_timer_bits = 0;
drivers/usb/chipidea/otg_fsm.c
824
ci->next_otg_timer = NUM_OTG_FSM_TIMERS;
drivers/usb/chipidea/otg_fsm.c
826
retval = sysfs_create_group(&ci->dev->kobj, &inputs_attr_group);
drivers/usb/chipidea/otg_fsm.c
828
dev_dbg(ci->dev,
drivers/usb/chipidea/otg_fsm.c
834
hw_write_otgsc(ci, OTGSC_AVVIE, OTGSC_AVVIE);
drivers/usb/chipidea/otg_fsm.c
836
if (ci->fsm.id) {
drivers/usb/chipidea/otg_fsm.c
837
ci->fsm.b_ssend_srp =
drivers/usb/chipidea/otg_fsm.c
838
hw_read_otgsc(ci, OTGSC_BSV) ? 0 : 1;
drivers/usb/chipidea/otg_fsm.c
839
ci->fsm.b_sess_vld =
drivers/usb/chipidea/otg_fsm.c
840
hw_read_otgsc(ci, OTGSC_BSV) ? 1 : 0;
drivers/usb/chipidea/otg_fsm.c
842
hw_write_otgsc(ci, OTGSC_BSVIE, OTGSC_BSVIE);
drivers/usb/chipidea/otg_fsm.c
848
void ci_hdrc_otg_fsm_remove(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.c
85
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/otg_fsm.c
850
sysfs_remove_group(&ci->dev->kobj, &inputs_attr_group);
drivers/usb/chipidea/otg_fsm.c
89
t = scnprintf(next, size, "%d\n", ci->fsm.a_bus_drop);
drivers/usb/chipidea/otg_fsm.h
66
int ci_hdrc_otg_fsm_init(struct ci_hdrc *ci);
drivers/usb/chipidea/otg_fsm.h
67
int ci_otg_fsm_work(struct ci_hdrc *ci);
drivers/usb/chipidea/otg_fsm.h
68
irqreturn_t ci_otg_fsm_irq(struct ci_hdrc *ci);
drivers/usb/chipidea/otg_fsm.h
69
void ci_hdrc_otg_fsm_start(struct ci_hdrc *ci);
drivers/usb/chipidea/otg_fsm.h
70
void ci_hdrc_otg_fsm_remove(struct ci_hdrc *ci);
drivers/usb/chipidea/otg_fsm.h
74
static inline int ci_hdrc_otg_fsm_init(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.h
79
static inline int ci_otg_fsm_work(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.h
84
static inline irqreturn_t ci_otg_fsm_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.h
89
static inline void ci_hdrc_otg_fsm_start(struct ci_hdrc *ci)
drivers/usb/chipidea/otg_fsm.h
94
static inline void ci_hdrc_otg_fsm_remove(struct ci_hdrc *ci)
drivers/usb/chipidea/trace.c
13
void ci_log(struct ci_hdrc *ci, const char *fmt, ...)
drivers/usb/chipidea/trace.c
21
trace_ci_log(ci, &vaf);
drivers/usb/chipidea/trace.h
24
void ci_log(struct ci_hdrc *ci, const char *fmt, ...);
drivers/usb/chipidea/trace.h
27
TP_PROTO(struct ci_hdrc *ci, struct va_format *vaf),
drivers/usb/chipidea/trace.h
28
TP_ARGS(ci, vaf),
drivers/usb/chipidea/trace.h
30
__string(name, dev_name(ci->dev))
drivers/usb/chipidea/udc.c
1001
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1008
usb_ep_fifo_flush(&ci->ep0out->ep);
drivers/usb/chipidea/udc.c
1009
usb_ep_fifo_flush(&ci->ep0in->ep);
drivers/usb/chipidea/udc.c
1016
if (ci->status != NULL) {
drivers/usb/chipidea/udc.c
1017
usb_ep_free_request(&ci->ep0in->ep, ci->status);
drivers/usb/chipidea/udc.c
1018
ci->status = NULL;
drivers/usb/chipidea/udc.c
1021
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1022
ci->gadget.speed = USB_SPEED_UNKNOWN;
drivers/usb/chipidea/udc.c
1023
ci->remote_wakeup = 0;
drivers/usb/chipidea/udc.c
1024
ci->suspended = 0;
drivers/usb/chipidea/udc.c
1025
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1039
static void isr_reset_handler(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
1040
__releases(ci->lock)
drivers/usb/chipidea/udc.c
1041
__acquires(ci->lock)
drivers/usb/chipidea/udc.c
1046
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
1047
if (ci->gadget.speed != USB_SPEED_UNKNOWN)
drivers/usb/chipidea/udc.c
1048
usb_gadget_udc_reset(&ci->gadget, ci->driver);
drivers/usb/chipidea/udc.c
105
static int hw_ep_flush(struct ci_hdrc *ci, int num, int dir)
drivers/usb/chipidea/udc.c
1050
retval = _gadget_stop_activity(&ci->gadget);
drivers/usb/chipidea/udc.c
1054
retval = hw_usb_reset(ci);
drivers/usb/chipidea/udc.c
1059
hw_write(ci, OP_USBSTS, USBi_SLI, USBi_SLI);
drivers/usb/chipidea/udc.c
1060
intr = hw_read(ci, OP_USBINTR, ~0);
drivers/usb/chipidea/udc.c
1061
hw_write(ci, OP_USBINTR, ~0, intr | USBi_SLI);
drivers/usb/chipidea/udc.c
1063
ci->status = usb_ep_alloc_request(&ci->ep0in->ep, GFP_ATOMIC);
drivers/usb/chipidea/udc.c
1064
if (ci->status == NULL)
drivers/usb/chipidea/udc.c
1068
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
1071
dev_err(ci->dev, "error: %i\n", retval);
drivers/usb/chipidea/udc.c
1104
struct ci_hdrc *ci = hwep->ci;
drivers/usb/chipidea/udc.c
111
hw_write(ci, OP_ENDPTFLUSH, ~0, BIT(n));
drivers/usb/chipidea/udc.c
1112
hwep = (ci->ep0_dir == RX) ?
drivers/usb/chipidea/udc.c
1113
ci->ep0out : ci->ep0in;
drivers/usb/chipidea/udc.c
1116
dev_warn(hwep->ci->dev, "endpoint ctrl %X nuked\n",
drivers/usb/chipidea/udc.c
112
while (hw_read(ci, OP_ENDPTFLUSH, BIT(n)))
drivers/usb/chipidea/udc.c
1123
dev_err(hwep->ci->dev, "request length too big for isochronous\n");
drivers/usb/chipidea/udc.c
1127
if (ci->has_short_pkt_limit &&
drivers/usb/chipidea/udc.c
1129
dev_err(hwep->ci->dev, "request length too big (max 16KB)\n");
drivers/usb/chipidea/udc.c
1135
dev_err(hwep->ci->dev, "request already in queue\n");
drivers/usb/chipidea/udc.c
114
} while (hw_read(ci, OP_ENDPTSTAT, BIT(n)));
drivers/usb/chipidea/udc.c
1160
static int isr_get_status_response(struct ci_hdrc *ci,
drivers/usb/chipidea/udc.c
1165
struct ci_hw_ep *hwep = ci->ep0in;
drivers/usb/chipidea/udc.c
1188
*(u16 *)req->buf = (ci->remote_wakeup << 1) |
drivers/usb/chipidea/udc.c
1189
ci->gadget.is_selfpowered;
drivers/usb/chipidea/udc.c
1195
*(u16 *)req->buf = hw_ep_get_halt(ci, num, dir);
drivers/usb/chipidea/udc.c
1225
struct ci_hdrc *ci = req->context;
drivers/usb/chipidea/udc.c
1231
if (ci->setaddr) {
drivers/usb/chipidea/udc.c
1232
hw_usb_set_address(ci, ci->address);
drivers/usb/chipidea/udc.c
1233
ci->setaddr = false;
drivers/usb/chipidea/udc.c
1234
if (ci->address)
drivers/usb/chipidea/udc.c
1235
usb_gadget_set_state(&ci->gadget, USB_STATE_ADDRESS);
drivers/usb/chipidea/udc.c
1238
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1239
if (ci->test_mode)
drivers/usb/chipidea/udc.c
1240
hw_port_test_set(ci, ci->test_mode);
drivers/usb/chipidea/udc.c
1241
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1250
static int isr_setup_status_phase(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
1260
if (WARN_ON_ONCE(!ci->status))
drivers/usb/chipidea/udc.c
1263
hwep = (ci->ep0_dir == TX) ? ci->ep0out : ci->ep0in;
drivers/usb/chipidea/udc.c
1264
ci->status->context = ci;
drivers/usb/chipidea/udc.c
1265
ci->status->complete = isr_setup_status_complete;
drivers/usb/chipidea/udc.c
1267
return _ep_queue(&hwep->ep, ci->status, GFP_ATOMIC);
drivers/usb/chipidea/udc.c
127
static int hw_ep_disable(struct ci_hdrc *ci, int num, int dir)
drivers/usb/chipidea/udc.c
129
hw_write(ci, OP_ENDPTCTRL + num,
drivers/usb/chipidea/udc.c
1295
hweptemp = hwep->ci->ep0in;
drivers/usb/chipidea/udc.c
1307
static int otg_a_alt_hnp_support(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
1309
dev_warn(&ci->gadget.dev,
drivers/usb/chipidea/udc.c
1311
return isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
1320
static void isr_setup_packet_handler(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
1321
__releases(ci->lock)
drivers/usb/chipidea/udc.c
1322
__acquires(ci->lock)
drivers/usb/chipidea/udc.c
1324
struct ci_hw_ep *hwep = &ci->ci_hw_ep[0];
drivers/usb/chipidea/udc.c
1333
_ep_nuke(ci->ep0out);
drivers/usb/chipidea/udc.c
1334
_ep_nuke(ci->ep0in);
drivers/usb/chipidea/udc.c
1338
hw_test_and_set_setup_guard(ci);
drivers/usb/chipidea/udc.c
1340
} while (!hw_test_and_clear_setup_guard(ci));
drivers/usb/chipidea/udc.c
1344
ci->ep0_dir = (type & USB_DIR_IN) ? TX : RX;
drivers/usb/chipidea/udc.c
1357
num += ci->hw_ep_max / 2;
drivers/usb/chipidea/udc.c
1358
if (!ci->ci_hw_ep[num].wedge) {
drivers/usb/chipidea/udc.c
1359
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
1361
&ci->ci_hw_ep[num].ep);
drivers/usb/chipidea/udc.c
1362
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
1366
err = isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
1372
ci->remote_wakeup = 0;
drivers/usb/chipidea/udc.c
1373
err = isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
1387
err = isr_get_status_response(ci, &req);
drivers/usb/chipidea/udc.c
1395
ci->address = (u8)le16_to_cpu(req.wValue);
drivers/usb/chipidea/udc.c
1396
ci->setaddr = true;
drivers/usb/chipidea/udc.c
1397
err = isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
1409
num += ci->hw_ep_max / 2;
drivers/usb/chipidea/udc.c
1411
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
1412
err = _ep_set_halt(&ci->ci_hw_ep[num].ep, 1, false);
drivers/usb/chipidea/udc.c
1413
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
1415
isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
1421
ci->remote_wakeup = 1;
drivers/usb/chipidea/udc.c
1422
err = isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
143
static int hw_ep_enable(struct ci_hdrc *ci, int num, int dir, int type)
drivers/usb/chipidea/udc.c
1432
ci->test_mode = tmode;
drivers/usb/chipidea/udc.c
1434
ci);
drivers/usb/chipidea/udc.c
1441
if (ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/udc.c
1442
ci->gadget.b_hnp_enable = 1;
drivers/usb/chipidea/udc.c
1444
ci);
drivers/usb/chipidea/udc.c
1448
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/udc.c
1449
err = otg_a_alt_hnp_support(ci);
drivers/usb/chipidea/udc.c
1452
if (ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/udc.c
1453
ci->gadget.a_hnp_support = 1;
drivers/usb/chipidea/udc.c
1455
ci);
drivers/usb/chipidea/udc.c
1468
ci->ep0_dir = TX;
drivers/usb/chipidea/udc.c
1470
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
1471
err = ci->driver->setup(&ci->gadget, &req);
drivers/usb/chipidea/udc.c
1472
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
1477
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
1479
dev_err(ci->dev, "error: _ep_set_halt\n");
drivers/usb/chipidea/udc.c
1480
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
1490
static void isr_tr_complete_handler(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
1491
__releases(ci->lock)
drivers/usb/chipidea/udc.c
1492
__acquires(ci->lock)
drivers/usb/chipidea/udc.c
1497
for (i = 0; i < ci->hw_ep_max; i++) {
drivers/usb/chipidea/udc.c
1498
struct ci_hw_ep *hwep = &ci->ci_hw_ep[i];
drivers/usb/chipidea/udc.c
1503
if (hw_test_and_clear_complete(ci, i)) {
drivers/usb/chipidea/udc.c
1507
err = isr_setup_status_phase(ci);
drivers/usb/chipidea/udc.c
1509
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
1511
dev_err(ci->dev,
drivers/usb/chipidea/udc.c
1513
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
1520
hw_test_and_clear(ci, OP_ENDPTSETUPSTAT, BIT(0)))
drivers/usb/chipidea/udc.c
1521
isr_setup_packet_handler(ci);
drivers/usb/chipidea/udc.c
1549
dev_warn(hwep->ci->dev, "enabling a non-empty endpoint!\n");
drivers/usb/chipidea/udc.c
1580
dev_err(hwep->ci->dev, "Set control xfer at non-ep0\n");
drivers/usb/chipidea/udc.c
1589
retval |= hw_ep_enable(hwep->ci, hwep->num, hwep->dir,
drivers/usb/chipidea/udc.c
1613
if (hwep->ci->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/chipidea/udc.c
1623
retval |= hw_ep_disable(hwep->ci, hwep->num, hwep->dir);
drivers/usb/chipidea/udc.c
166
hw_write(ci, OP_ENDPTCTRL + num, mask, data);
drivers/usb/chipidea/udc.c
1672
dev_err(hwep->ci->dev, "freeing queued request\n");
drivers/usb/chipidea/udc.c
1706
if (hwep->ci->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/chipidea/udc.c
1733
if (hwep->ci->gadget.speed != USB_SPEED_UNKNOWN)
drivers/usb/chipidea/udc.c
1734
hw_ep_flush(hwep->ci, hwep->num, hwep->dir);
drivers/usb/chipidea/udc.c
1745
usb_gadget_unmap_request(&hwep->ci->gadget, req, hwep->dir);
drivers/usb/chipidea/udc.c
178
static int hw_ep_get_halt(struct ci_hdrc *ci, int num, int dir)
drivers/usb/chipidea/udc.c
1803
dev_err(hwep->ci->dev, "%02X: -EINVAL\n", _usb_addr(hwep));
drivers/usb/chipidea/udc.c
1808
if (hwep->ci->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/chipidea/udc.c
1813
hw_ep_flush(hwep->ci, hwep->num, hwep->dir);
drivers/usb/chipidea/udc.c
182
return hw_read(ci, OP_ENDPTCTRL + num, mask) ? 1 : 0;
drivers/usb/chipidea/udc.c
1838
static void ci_udc_enable_vbus_irq(struct ci_hdrc *ci, bool enable)
drivers/usb/chipidea/udc.c
1842
if (!ci->is_otg)
drivers/usb/chipidea/udc.c
1849
hw_write_otgsc(ci, OTGSC_BSVIE | OTGSC_BSVIS, reg);
drivers/usb/chipidea/udc.c
1854
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1858
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1859
ret = hw_read(ci, OP_FRINDEX, 0x3fff);
drivers/usb/chipidea/udc.c
1860
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1869
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1872
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/udc.c
1873
hw_device_reset(ci);
drivers/usb/chipidea/udc.c
1874
spin_lock_irq(&ci->lock);
drivers/usb/chipidea/udc.c
1875
if (ci->driver) {
drivers/usb/chipidea/udc.c
1876
hw_device_state(ci, ci->ep0out->qh.dma);
drivers/usb/chipidea/udc.c
1878
spin_unlock_irq(&ci->lock);
drivers/usb/chipidea/udc.c
1881
spin_unlock_irq(&ci->lock);
drivers/usb/chipidea/udc.c
1885
if (ci->driver)
drivers/usb/chipidea/udc.c
1886
ci->driver->disconnect(&ci->gadget);
drivers/usb/chipidea/udc.c
1887
hw_device_state(ci, 0);
drivers/usb/chipidea/udc.c
1888
if (ci->platdata->notify_event)
drivers/usb/chipidea/udc.c
1889
ci->platdata->notify_event(ci,
drivers/usb/chipidea/udc.c
1891
_gadget_stop_activity(&ci->gadget);
drivers/usb/chipidea/udc.c
1892
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/udc.c
1899
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1903
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1904
ci->vbus_active = is_active;
drivers/usb/chipidea/udc.c
1905
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1907
if (ci->usb_phy)
drivers/usb/chipidea/udc.c
1908
usb_phy_set_charger_state(ci->usb_phy, is_active ?
drivers/usb/chipidea/udc.c
1911
if (ci->platdata->notify_event)
drivers/usb/chipidea/udc.c
1912
ret = ci->platdata->notify_event(ci,
drivers/usb/chipidea/udc.c
1915
if (ci->usb_phy) {
drivers/usb/chipidea/udc.c
1917
usb_phy_set_event(ci->usb_phy, USB_EVENT_VBUS);
drivers/usb/chipidea/udc.c
1919
usb_phy_set_event(ci->usb_phy, USB_EVENT_NONE);
drivers/usb/chipidea/udc.c
1922
if (ci->driver)
drivers/usb/chipidea/udc.c
1930
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1934
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1935
if (ci->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/chipidea/udc.c
1936
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1939
if (!ci->remote_wakeup) {
drivers/usb/chipidea/udc.c
194
static int hw_ep_prime(struct ci_hdrc *ci, int num, int dir, int is_ctrl)
drivers/usb/chipidea/udc.c
1943
if (!hw_read(ci, OP_PORTSC, PORTSC_SUSP)) {
drivers/usb/chipidea/udc.c
1947
hw_write(ci, OP_PORTSC, PORTSC_FPR, PORTSC_FPR);
drivers/usb/chipidea/udc.c
1949
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1955
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1957
if (ci->usb_phy)
drivers/usb/chipidea/udc.c
1958
return usb_phy_set_power(ci->usb_phy, ma);
drivers/usb/chipidea/udc.c
1964
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1965
struct ci_hw_ep *hwep = ci->ep0in;
drivers/usb/chipidea/udc.c
1980
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1986
if (ci_otg_is_fsm_mode(ci) || ci->role == CI_ROLE_HOST)
drivers/usb/chipidea/udc.c
1989
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/udc.c
1991
hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS);
drivers/usb/chipidea/udc.c
1993
hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
drivers/usb/chipidea/udc.c
1995
if (ci->platdata->notify_event) {
drivers/usb/chipidea/udc.c
1997
ci->platdata->notify_event(ci, CI_HDRC_CONTROLLER_PULLUP_EVENT);
drivers/usb/chipidea/udc.c
1999
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/udc.c
201
if (is_ctrl && dir == RX && hw_read(ci, OP_ENDPTSETUPSTAT, BIT(num)))
drivers/usb/chipidea/udc.c
2013
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
2017
list_for_each_entry_reverse(ep, &ci->gadget.ep_list, ep_list) {
drivers/usb/chipidea/udc.c
204
hw_write(ci, OP_ENDPTPRIME, ~0, BIT(n));
drivers/usb/chipidea/udc.c
2043
static int init_eps(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2047
memset(ci->ci_hw_ep, 0, sizeof(ci->ci_hw_ep));
drivers/usb/chipidea/udc.c
2049
for (i = 0; i < ci->hw_ep_max/2; i++)
drivers/usb/chipidea/udc.c
2051
int k = i + j * ci->hw_ep_max/2;
drivers/usb/chipidea/udc.c
2052
struct ci_hw_ep *hwep = &ci->ci_hw_ep[k];
drivers/usb/chipidea/udc.c
2057
hwep->ci = ci;
drivers/usb/chipidea/udc.c
2058
hwep->lock = &ci->lock;
drivers/usb/chipidea/udc.c
2059
hwep->td_pool = ci->td_pool;
drivers/usb/chipidea/udc.c
206
while (hw_read(ci, OP_ENDPTPRIME, BIT(n)))
drivers/usb/chipidea/udc.c
208
if (is_ctrl && dir == RX && hw_read(ci, OP_ENDPTSETUPSTAT, BIT(num)))
drivers/usb/chipidea/udc.c
2085
hwep->qh.ptr = dma_pool_zalloc(ci->qh_pool, GFP_KERNEL,
drivers/usb/chipidea/udc.c
2096
ci->ep0out = hwep;
drivers/usb/chipidea/udc.c
2098
ci->ep0in = hwep;
drivers/usb/chipidea/udc.c
2104
list_add_tail(&hwep->ep.ep_list, &ci->gadget.ep_list);
drivers/usb/chipidea/udc.c
2110
static void destroy_eps(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2114
for (i = 0; i < ci->hw_ep_max; i++) {
drivers/usb/chipidea/udc.c
2115
struct ci_hw_ep *hwep = &ci->ci_hw_ep[i];
drivers/usb/chipidea/udc.c
2119
dma_pool_free(ci->qh_pool, hwep->qh.ptr, hwep->qh.dma);
drivers/usb/chipidea/udc.c
2133
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
2139
ci->ep0out->ep.desc = &ctrl_endpt_out_desc;
drivers/usb/chipidea/udc.c
2140
retval = usb_ep_enable(&ci->ep0out->ep);
drivers/usb/chipidea/udc.c
2144
ci->ep0in->ep.desc = &ctrl_endpt_in_desc;
drivers/usb/chipidea/udc.c
2145
retval = usb_ep_enable(&ci->ep0in->ep);
drivers/usb/chipidea/udc.c
2149
ci->driver = driver;
drivers/usb/chipidea/udc.c
2152
if (ci_otg_is_fsm_mode(ci) && ci->fsm.id) {
drivers/usb/chipidea/udc.c
2153
ci_hdrc_otg_fsm_start(ci);
drivers/usb/chipidea/udc.c
2157
if (ci->vbus_active)
drivers/usb/chipidea/udc.c
2160
usb_udc_vbus_handler(&ci->gadget, false);
drivers/usb/chipidea/udc.c
2165
static void ci_udc_stop_for_otg_fsm(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2167
if (!ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/udc.c
2170
mutex_lock(&ci->fsm.lock);
drivers/usb/chipidea/udc.c
2171
if (ci->fsm.otg->state == OTG_STATE_A_PERIPHERAL) {
drivers/usb/chipidea/udc.c
2172
ci->fsm.a_bidl_adis_tmout = 1;
drivers/usb/chipidea/udc.c
2173
ci_hdrc_otg_fsm_start(ci);
drivers/usb/chipidea/udc.c
2174
} else if (ci->fsm.otg->state == OTG_STATE_B_PERIPHERAL) {
drivers/usb/chipidea/udc.c
2175
ci->fsm.protocol = PROTO_UNDEF;
drivers/usb/chipidea/udc.c
2176
ci->fsm.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/chipidea/udc.c
2178
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/udc.c
2186
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
2189
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2190
ci->driver = NULL;
drivers/usb/chipidea/udc.c
2192
if (ci->vbus_active) {
drivers/usb/chipidea/udc.c
2193
hw_device_state(ci, 0);
drivers/usb/chipidea/udc.c
2194
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2195
if (ci->platdata->notify_event)
drivers/usb/chipidea/udc.c
2196
ci->platdata->notify_event(ci,
drivers/usb/chipidea/udc.c
2198
_gadget_stop_activity(&ci->gadget);
drivers/usb/chipidea/udc.c
2199
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2200
pm_runtime_put(ci->dev);
drivers/usb/chipidea/udc.c
2203
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2205
ci_udc_stop_for_otg_fsm(ci);
drivers/usb/chipidea/udc.c
2218
static irqreturn_t udc_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2223
if (ci == NULL)
drivers/usb/chipidea/udc.c
2226
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
2228
if (ci->platdata->flags & CI_HDRC_REGS_SHARED) {
drivers/usb/chipidea/udc.c
2229
if (hw_read(ci, OP_USBMODE, USBMODE_CM) !=
drivers/usb/chipidea/udc.c
2231
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2235
intr = hw_test_and_clear_intr_active(ci);
drivers/usb/chipidea/udc.c
2240
isr_reset_handler(ci);
drivers/usb/chipidea/udc.c
2243
ci->gadget.speed = hw_port_is_high_speed(ci) ?
drivers/usb/chipidea/udc.c
2245
if (ci->usb_phy)
drivers/usb/chipidea/udc.c
2246
usb_phy_set_event(ci->usb_phy,
drivers/usb/chipidea/udc.c
2248
if (ci->suspended) {
drivers/usb/chipidea/udc.c
2249
if (ci->driver->resume) {
drivers/usb/chipidea/udc.c
225
static int hw_ep_set_halt(struct ci_hdrc *ci, int num, int dir, int value)
drivers/usb/chipidea/udc.c
2250
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2251
ci->driver->resume(&ci->gadget);
drivers/usb/chipidea/udc.c
2252
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
2254
ci->suspended = 0;
drivers/usb/chipidea/udc.c
2255
usb_gadget_set_state(&ci->gadget,
drivers/usb/chipidea/udc.c
2256
ci->resume_state);
drivers/usb/chipidea/udc.c
2261
isr_tr_complete_handler(ci);
drivers/usb/chipidea/udc.c
2263
if ((USBi_SLI & intr) && !(ci->suspended)) {
drivers/usb/chipidea/udc.c
2264
ci->suspended = 1;
drivers/usb/chipidea/udc.c
2265
ci->resume_state = ci->gadget.state;
drivers/usb/chipidea/udc.c
2266
if (ci->gadget.speed != USB_SPEED_UNKNOWN &&
drivers/usb/chipidea/udc.c
2267
ci->driver->suspend) {
drivers/usb/chipidea/udc.c
2268
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2269
ci->driver->suspend(&ci->gadget);
drivers/usb/chipidea/udc.c
2270
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
2272
usb_gadget_set_state(&ci->gadget,
drivers/usb/chipidea/udc.c
2279
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2288
static int udc_start(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2290
struct device *dev = ci->dev;
drivers/usb/chipidea/udc.c
2291
struct usb_otg_caps *otg_caps = &ci->platdata->ci_otg_caps;
drivers/usb/chipidea/udc.c
2294
memset(&ci->gadget, 0, sizeof(ci->gadget));
drivers/usb/chipidea/udc.c
2296
ci->gadget.ops = &usb_gadget_ops;
drivers/usb/chipidea/udc.c
2297
ci->gadget.speed = USB_SPEED_UNKNOWN;
drivers/usb/chipidea/udc.c
2298
ci->gadget.max_speed = USB_SPEED_HIGH;
drivers/usb/chipidea/udc.c
2299
ci->gadget.name = ci->platdata->name;
drivers/usb/chipidea/udc.c
2300
ci->gadget.otg_caps = otg_caps;
drivers/usb/chipidea/udc.c
2301
ci->gadget.sg_supported = 1;
drivers/usb/chipidea/udc.c
2302
ci->gadget.irq = ci->irq;
drivers/usb/chipidea/udc.c
2304
if (ci->platdata->flags & CI_HDRC_REQUIRES_ALIGNED_DMA)
drivers/usb/chipidea/udc.c
2305
ci->gadget.quirk_avoids_skb_reserve = 1;
drivers/usb/chipidea/udc.c
2307
if (ci->is_otg && (otg_caps->hnp_support || otg_caps->srp_support ||
drivers/usb/chipidea/udc.c
2309
ci->gadget.is_otg = 1;
drivers/usb/chipidea/udc.c
2311
INIT_LIST_HEAD(&ci->gadget.ep_list);
drivers/usb/chipidea/udc.c
2314
ci->qh_pool = dma_pool_create("ci_hw_qh", dev->parent,
drivers/usb/chipidea/udc.c
2317
if (ci->qh_pool == NULL)
drivers/usb/chipidea/udc.c
2320
ci->td_pool = dma_pool_create("ci_hw_td", dev->parent,
drivers/usb/chipidea/udc.c
2323
if (ci->td_pool == NULL) {
drivers/usb/chipidea/udc.c
2328
retval = init_eps(ci);
drivers/usb/chipidea/udc.c
2332
ci->gadget.ep0 = &ci->ep0in->ep;
drivers/usb/chipidea/udc.c
2334
if (ci->platdata->pins_device)
drivers/usb/chipidea/udc.c
2335
pinctrl_select_state(ci->platdata->pctl,
drivers/usb/chipidea/udc.c
2336
ci->platdata->pins_device);
drivers/usb/chipidea/udc.c
2338
retval = usb_add_gadget_udc(dev, &ci->gadget);
drivers/usb/chipidea/udc.c
2342
ci_udc_enable_vbus_irq(ci, true);
drivers/usb/chipidea/udc.c
2346
destroy_eps(ci);
drivers/usb/chipidea/udc.c
2348
dma_pool_destroy(ci->td_pool);
drivers/usb/chipidea/udc.c
2350
dma_pool_destroy(ci->qh_pool);
drivers/usb/chipidea/udc.c
2358
static void udc_stop(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
236
hw_write(ci, reg, mask_xs|mask_xr,
drivers/usb/chipidea/udc.c
2360
ci_udc_enable_vbus_irq(ci, false);
drivers/usb/chipidea/udc.c
2361
usb_del_gadget_udc(&ci->gadget);
drivers/usb/chipidea/udc.c
2362
ci->vbus_active = 0;
drivers/usb/chipidea/udc.c
2364
destroy_eps(ci);
drivers/usb/chipidea/udc.c
2366
dma_pool_destroy(ci->td_pool);
drivers/usb/chipidea/udc.c
2367
dma_pool_destroy(ci->qh_pool);
drivers/usb/chipidea/udc.c
2369
if (ci->platdata->pins_device && ci->platdata->pins_default)
drivers/usb/chipidea/udc.c
2370
pinctrl_select_state(ci->platdata->pctl,
drivers/usb/chipidea/udc.c
2371
ci->platdata->pins_default);
drivers/usb/chipidea/udc.c
2375
static void udc_suspend(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
238
} while (value != hw_ep_get_halt(ci, num, dir));
drivers/usb/chipidea/udc.c
2382
if (hw_read(ci, OP_ENDPTLISTADDR, ~0) == 0)
drivers/usb/chipidea/udc.c
2383
hw_write(ci, OP_ENDPTLISTADDR, ~0, ~0);
drivers/usb/chipidea/udc.c
2385
if (ci->gadget.connected &&
drivers/usb/chipidea/udc.c
2386
(!ci->suspended || !device_may_wakeup(ci->dev)))
drivers/usb/chipidea/udc.c
2387
usb_gadget_disconnect(&ci->gadget);
drivers/usb/chipidea/udc.c
2390
static void udc_resume(struct ci_hdrc *ci, bool power_lost)
drivers/usb/chipidea/udc.c
2393
ci_udc_enable_vbus_irq(ci, true);
drivers/usb/chipidea/udc.c
2394
if (ci->vbus_active)
drivers/usb/chipidea/udc.c
2395
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/udc.c
2396
} else if (ci->vbus_active && ci->driver &&
drivers/usb/chipidea/udc.c
2397
!ci->gadget.connected) {
drivers/usb/chipidea/udc.c
2398
usb_gadget_connect(&ci->gadget);
drivers/usb/chipidea/udc.c
2402
if (hw_read(ci, OP_ENDPTLISTADDR, ~0) == 0xFFFFFFFF)
drivers/usb/chipidea/udc.c
2403
hw_write(ci, OP_ENDPTLISTADDR, ~0, 0);
drivers/usb/chipidea/udc.c
2413
int ci_hdrc_gadget_init(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2417
if (!hw_read(ci, CAP_DCCPARAMS, DCCPARAMS_DC))
drivers/usb/chipidea/udc.c
2420
rdrv = devm_kzalloc(ci->dev, sizeof(*rdrv), GFP_KERNEL);
drivers/usb/chipidea/udc.c
2433
ci->roles[CI_ROLE_GADGET] = rdrv;
drivers/usb/chipidea/udc.c
2436
hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
drivers/usb/chipidea/udc.c
2445
void ci_hdrc_gadget_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2447
struct device *dev = &ci->gadget.dev;
drivers/usb/chipidea/udc.c
2449
if (ci->roles[CI_ROLE_GADGET] && device_is_registered(dev))
drivers/usb/chipidea/udc.c
2450
udc_stop(ci);
drivers/usb/chipidea/udc.c
249
static int hw_port_is_high_speed(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
251
return ci->hw_bank.lpm ? hw_read(ci, OP_DEVLC, DEVLC_PSPD) :
drivers/usb/chipidea/udc.c
252
hw_read(ci, OP_PORTSC, PORTSC_HSP);
drivers/usb/chipidea/udc.c
263
static int hw_test_and_clear_complete(struct ci_hdrc *ci, int n)
drivers/usb/chipidea/udc.c
265
n = ep_to_bit(ci, n);
drivers/usb/chipidea/udc.c
266
return hw_test_and_clear(ci, OP_ENDPTCOMPLETE, BIT(n));
drivers/usb/chipidea/udc.c
276
static u32 hw_test_and_clear_intr_active(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
278
u32 reg = hw_read_intr_status(ci) & hw_read_intr_enable(ci);
drivers/usb/chipidea/udc.c
280
hw_write(ci, OP_USBSTS, ~0, reg);
drivers/usb/chipidea/udc.c
291
static int hw_test_and_clear_setup_guard(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
293
return hw_test_and_write(ci, OP_USBCMD, USBCMD_SUTW, 0);
drivers/usb/chipidea/udc.c
303
static int hw_test_and_set_setup_guard(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
305
return hw_test_and_write(ci, OP_USBCMD, USBCMD_SUTW, USBCMD_SUTW);
drivers/usb/chipidea/udc.c
316
static void hw_usb_set_address(struct ci_hdrc *ci, u8 value)
drivers/usb/chipidea/udc.c
318
hw_write(ci, OP_DEVICEADDR, DEVICEADDR_USBADR,
drivers/usb/chipidea/udc.c
329
static int hw_usb_reset(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
331
hw_usb_set_address(ci, 0);
drivers/usb/chipidea/udc.c
334
hw_write(ci, OP_ENDPTFLUSH, ~0, ~0);
drivers/usb/chipidea/udc.c
337
hw_write(ci, OP_ENDPTSETUPSTAT, 0, 0);
drivers/usb/chipidea/udc.c
340
hw_write(ci, OP_ENDPTCOMPLETE, 0, 0);
drivers/usb/chipidea/udc.c
343
while (hw_read(ci, OP_ENDPTPRIME, ~0))
drivers/usb/chipidea/udc.c
516
dev_err(hwep->ci->dev, "not supported operation for sg\n");
drivers/usb/chipidea/udc.c
522
dev_err(hwep->ci->dev, "not page aligned sg buffer\n");
drivers/usb/chipidea/udc.c
53
static int reprime_dtd(struct ci_hdrc *ci, struct ci_hw_ep *hwep,
drivers/usb/chipidea/udc.c
67
static inline int ep_to_bit(struct ci_hdrc *ci, int n)
drivers/usb/chipidea/udc.c
673
struct ci_hdrc *ci = hwep->ci;
drivers/usb/chipidea/udc.c
686
ci->has_short_pkt_limit) {
drivers/usb/chipidea/udc.c
687
ret = sglist_get_invalid_entry(ci->dev->parent, hwep->dir,
drivers/usb/chipidea/udc.c
69
int fill = 16 - ci->hw_ep_max / 2;
drivers/usb/chipidea/udc.c
697
ret = usb_gadget_map_request_by_dev(ci->dev->parent,
drivers/usb/chipidea/udc.c
71
if (n >= ci->hw_ep_max / 2)
drivers/usb/chipidea/udc.c
746
if (ci->rev == CI_REVISION_22) {
drivers/usb/chipidea/udc.c
747
if (!hw_read(ci, OP_ENDPTSTAT, BIT(n)))
drivers/usb/chipidea/udc.c
748
reprime_dtd(ci, hwep, prevlastnode);
drivers/usb/chipidea/udc.c
751
if (hw_read(ci, OP_ENDPTPRIME, BIT(n)))
drivers/usb/chipidea/udc.c
754
hw_write(ci, OP_USBCMD, USBCMD_ATDTW, USBCMD_ATDTW);
drivers/usb/chipidea/udc.c
755
tmp_stat = hw_read(ci, OP_ENDPTSTAT, BIT(n));
drivers/usb/chipidea/udc.c
756
} while (!hw_read(ci, OP_USBCMD, USBCMD_ATDTW) && tmp_stat);
drivers/usb/chipidea/udc.c
757
hw_write(ci, OP_USBCMD, USBCMD_ATDTW, 0);
drivers/usb/chipidea/udc.c
783
ret = hw_ep_prime(ci, hwep->num, hwep->dir,
drivers/usb/chipidea/udc.c
802
static int reprime_dtd(struct ci_hdrc *ci, struct ci_hw_ep *hwep,
drivers/usb/chipidea/udc.c
809
return hw_ep_prime(ci, hwep->num, hwep->dir,
drivers/usb/chipidea/udc.c
826
struct ci_hdrc *ci = hwep->ci;
drivers/usb/chipidea/udc.c
84
static int hw_device_state(struct ci_hdrc *ci, u32 dma)
drivers/usb/chipidea/udc.c
840
if (ci->rev == CI_REVISION_24 ||
drivers/usb/chipidea/udc.c
841
ci->rev == CI_REVISION_22 || is_isoc)
drivers/usb/chipidea/udc.c
842
if (!hw_read(ci, OP_ENDPTSTAT, BIT(n)))
drivers/usb/chipidea/udc.c
843
reprime_dtd(ci, hwep, node);
drivers/usb/chipidea/udc.c
87
hw_write(ci, OP_ENDPTLISTADDR, ~0, dma);
drivers/usb/chipidea/udc.c
886
usb_gadget_unmap_request_by_dev(hwep->ci->dev->parent,
drivers/usb/chipidea/udc.c
89
hw_write(ci, OP_USBINTR, ~0,
drivers/usb/chipidea/udc.c
916
hw_ep_flush(hwep->ci, hwep->num, hwep->dir);
drivers/usb/chipidea/udc.c
92
hw_write(ci, OP_USBINTR, ~0, 0);
drivers/usb/chipidea/udc.c
935
usb_gadget_unmap_request_by_dev(hwep->ci->dev->parent,
drivers/usb/chipidea/udc.c
977
retval |= hw_ep_set_halt(hwep->ci, hwep->num, hwep->dir, value);
drivers/usb/chipidea/udc.h
83
int ci_hdrc_gadget_init(struct ci_hdrc *ci);
drivers/usb/chipidea/udc.h
84
void ci_hdrc_gadget_destroy(struct ci_hdrc *ci);
drivers/usb/chipidea/udc.h
88
static inline int ci_hdrc_gadget_init(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.h
93
static inline void ci_hdrc_gadget_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/ulpi.c
102
if (hw_read(ci, OP_ULPI_VIEWPORT, ULPI_SYNC_STATE))
drivers/usb/chipidea/ulpi.c
19
static int ci_ulpi_wait(struct ci_hdrc *ci, u32 mask)
drivers/usb/chipidea/ulpi.c
24
if (!hw_read(ci, OP_ULPI_VIEWPORT, mask))
drivers/usb/chipidea/ulpi.c
35
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/ulpi.c
38
hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP);
drivers/usb/chipidea/ulpi.c
39
ret = ci_ulpi_wait(ci, ULPI_WAKEUP);
drivers/usb/chipidea/ulpi.c
43
hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_RUN | ULPI_ADDR(addr));
drivers/usb/chipidea/ulpi.c
44
ret = ci_ulpi_wait(ci, ULPI_RUN);
drivers/usb/chipidea/ulpi.c
48
return hw_read(ci, OP_ULPI_VIEWPORT, GENMASK(15, 8)) >> 8;
drivers/usb/chipidea/ulpi.c
53
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/ulpi.c
56
hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff, ULPI_WRITE | ULPI_WAKEUP);
drivers/usb/chipidea/ulpi.c
57
ret = ci_ulpi_wait(ci, ULPI_WAKEUP);
drivers/usb/chipidea/ulpi.c
61
hw_write(ci, OP_ULPI_VIEWPORT, 0xffffffff,
drivers/usb/chipidea/ulpi.c
63
return ci_ulpi_wait(ci, ULPI_RUN);
drivers/usb/chipidea/ulpi.c
66
int ci_ulpi_init(struct ci_hdrc *ci)
drivers/usb/chipidea/ulpi.c
68
if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI)
drivers/usb/chipidea/ulpi.c
75
hw_phymode_configure(ci);
drivers/usb/chipidea/ulpi.c
77
ci->ulpi_ops.read = ci_ulpi_read;
drivers/usb/chipidea/ulpi.c
78
ci->ulpi_ops.write = ci_ulpi_write;
drivers/usb/chipidea/ulpi.c
79
ci->ulpi = ulpi_register_interface(ci->dev, &ci->ulpi_ops);
drivers/usb/chipidea/ulpi.c
80
if (IS_ERR(ci->ulpi))
drivers/usb/chipidea/ulpi.c
81
dev_err(ci->dev, "failed to register ULPI interface");
drivers/usb/chipidea/ulpi.c
83
return PTR_ERR_OR_ZERO(ci->ulpi);
drivers/usb/chipidea/ulpi.c
86
void ci_ulpi_exit(struct ci_hdrc *ci)
drivers/usb/chipidea/ulpi.c
88
if (ci->ulpi) {
drivers/usb/chipidea/ulpi.c
89
ulpi_unregister_interface(ci->ulpi);
drivers/usb/chipidea/ulpi.c
90
ci->ulpi = NULL;
drivers/usb/chipidea/ulpi.c
94
int ci_ulpi_resume(struct ci_hdrc *ci)
drivers/usb/chipidea/ulpi.c
98
if (ci->platdata->phy_mode != USBPHY_INTERFACE_MODE_ULPI)
drivers/usb/core/devio.c
1458
struct usbdevfs_connectinfo ci;
drivers/usb/core/devio.c
1460
memset(&ci, 0, sizeof(ci));
drivers/usb/core/devio.c
1461
ci.devnum = ps->dev->devnum;
drivers/usb/core/devio.c
1462
ci.slow = ps->dev->speed == USB_SPEED_LOW;
drivers/usb/core/devio.c
1464
if (copy_to_user(arg, &ci, sizeof(ci)))
drivers/usb/core/devio.c
1472
struct usbdevfs_conninfo_ex ci;
drivers/usb/core/devio.c
1475
if (size < sizeof(ci.size))
drivers/usb/core/devio.c
1478
memset(&ci, 0, sizeof(ci));
drivers/usb/core/devio.c
1479
ci.size = sizeof(ci);
drivers/usb/core/devio.c
1480
ci.busnum = udev->bus->busnum;
drivers/usb/core/devio.c
1481
ci.devnum = udev->devnum;
drivers/usb/core/devio.c
1482
ci.speed = udev->speed;
drivers/usb/core/devio.c
1485
if (++ci.num_ports <= ARRAY_SIZE(ci.ports))
drivers/usb/core/devio.c
1486
ci.ports[ARRAY_SIZE(ci.ports) - ci.num_ports] =
drivers/usb/core/devio.c
1491
if (ci.num_ports < ARRAY_SIZE(ci.ports))
drivers/usb/core/devio.c
1492
memmove(&ci.ports[0],
drivers/usb/core/devio.c
1493
&ci.ports[ARRAY_SIZE(ci.ports) - ci.num_ports],
drivers/usb/core/devio.c
1494
ci.num_ports);
drivers/usb/core/devio.c
1496
if (copy_to_user(arg, &ci, min(sizeof(ci), size)))
drivers/usb/gadget/function/f_fs.c
4305
struct config_item *ci;
drivers/usb/gadget/function/f_fs.c
4328
ci = opts->func_inst.group.cg_item.ci_parent->ci_parent;
drivers/usb/gadget/function/f_fs.c
4332
unregister_gadget_item(ci);
drivers/usb/gadget/function/uvc_configfs.c
2249
struct config_item *ci;
drivers/usb/gadget/function/uvc_configfs.c
2252
list_for_each_entry(ci, &fmt->cg_children, ci_entry) {
drivers/usb/gadget/function/uvc_configfs.c
2255
frm = to_uvcg_frame(ci);
drivers/usb/host/bcma-hcd.c
269
struct bcma_chipinfo *ci = &core->bus->chipinfo;
drivers/usb/host/bcma-hcd.c
274
if (ci->id == BCMA_CHIP_ID_BCM4707 ||
drivers/usb/host/bcma-hcd.c
275
ci->id == BCMA_CHIP_ID_BCM53018)
drivers/usb/storage/uas.c
203
struct uas_cmd_info *ci = scsi_cmd_priv(cmnd);
drivers/usb/storage/uas.c
210
prefix, status, ci->uas_tag,
drivers/usb/storage/uas.c
211
(ci->state & SUBMIT_STATUS_URB) ? " s-st" : "",
drivers/usb/storage/uas.c
212
(ci->state & ALLOC_DATA_IN_URB) ? " a-in" : "",
drivers/usb/storage/uas.c
213
(ci->state & SUBMIT_DATA_IN_URB) ? " s-in" : "",
drivers/usb/storage/uas.c
214
(ci->state & ALLOC_DATA_OUT_URB) ? " a-out" : "",
drivers/usb/storage/uas.c
215
(ci->state & SUBMIT_DATA_OUT_URB) ? " s-out" : "",
drivers/usb/storage/uas.c
216
(ci->state & ALLOC_CMD_URB) ? " a-cmd" : "",
drivers/usb/storage/uas.c
217
(ci->state & SUBMIT_CMD_URB) ? " s-cmd" : "",
drivers/usb/storage/uas.c
218
(ci->state & COMMAND_INFLIGHT) ? " CMD" : "",
drivers/usb/storage/uas.c
219
(ci->state & DATA_IN_URB_INFLIGHT) ? " IN" : "",
drivers/usb/storage/uas.c
220
(ci->state & DATA_OUT_URB_INFLIGHT) ? " OUT" : "",
drivers/usb/storage/uas.c
221
(ci->state & COMMAND_ABORTED) ? " abort" : "",
drivers/usb/storage/uas.c
222
(ci->state & IS_IN_WORK_LIST) ? " work" : "");
drivers/vfio/pci/pds/cmds.c
51
int ci;
drivers/vfio/pci/pds/cmds.c
61
ci = pds_client_register(pdsc, devname);
drivers/vfio/pci/pds/cmds.c
62
if (ci < 0)
drivers/vfio/pci/pds/cmds.c
63
return ci;
drivers/vfio/pci/pds/cmds.c
65
pds_vfio->client_id = ci;
drivers/video/console/newport_con.c
134
int yend, int ci)
drivers/video/console/newport_con.c
144
npregs->set.colori = ci;
drivers/video/console/newport_con.c
149
static inline void newport_clear_lines(int ystart, int yend, int ci)
drivers/video/console/newport_con.c
153
newport_clear_screen(0, ystart, 1280 + 63, yend, ci);
drivers/video/console/newport_con.c
69
int xend, int yend, int ci)
drivers/video/console/newport_con.c
76
npregs->set.colori = ci;
drivers/video/fbdev/matrox/g450_pll.c
302
static void g450_addcache(struct matrox_pll_cache* ci, unsigned int mnp_key, unsigned int mnp_value) {
drivers/video/fbdev/matrox/g450_pll.c
303
if (++ci->valid > ARRAY_SIZE(ci->data)) {
drivers/video/fbdev/matrox/g450_pll.c
304
ci->valid = ARRAY_SIZE(ci->data);
drivers/video/fbdev/matrox/g450_pll.c
306
memmove(ci->data + 1, ci->data, (ci->valid - 1) * sizeof(*ci->data));
drivers/video/fbdev/matrox/g450_pll.c
307
ci->data[0].mnp_key = mnp_key & G450_MNP_FREQBITS;
drivers/video/fbdev/matrox/g450_pll.c
308
ci->data[0].mnp_value = mnp_value;
drivers/video/fbdev/matrox/g450_pll.c
312
struct matrox_pll_cache *ci, unsigned int mnp_key)
drivers/video/fbdev/matrox/g450_pll.c
317
for (i = 0; i < ci->valid; i++) {
drivers/video/fbdev/matrox/g450_pll.c
318
if (ci->data[i].mnp_key == mnp_key) {
drivers/video/fbdev/matrox/g450_pll.c
321
mnp = ci->data[i].mnp_value;
drivers/video/fbdev/matrox/g450_pll.c
323
memmove(ci->data + 1, ci->data, i * sizeof(*ci->data));
drivers/video/fbdev/matrox/g450_pll.c
324
ci->data[0].mnp_key = mnp_key;
drivers/video/fbdev/matrox/g450_pll.c
325
ci->data[0].mnp_value = mnp;
drivers/video/fbdev/matrox/g450_pll.c
339
struct matrox_pll_cache* ci;
drivers/video/fbdev/matrox/g450_pll.c
395
ci = &minfo->cache.pixel;
drivers/video/fbdev/matrox/g450_pll.c
407
ci = &minfo->cache.system;
drivers/video/fbdev/matrox/g450_pll.c
426
ci = &minfo->cache.video;
drivers/video/fbdev/matrox/g450_pll.c
479
mnp = g450_checkcache(minfo, ci, mnparray[0]);
drivers/video/fbdev/matrox/g450_pll.c
484
g450_addcache(ci, mnparray[0], mnp);
fs/ceph/acl.c
23
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/acl.c
25
spin_lock(&ci->i_ceph_lock);
fs/ceph/acl.c
26
if (__ceph_caps_issued_mask_metric(ci, CEPH_CAP_XATTR_SHARED, 0))
fs/ceph/acl.c
30
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
1004
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1009
if (ci->i_wrbuffer_ref > 0) {
fs/ceph/addr.c
102
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
1026
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1027
unsigned int wsize = ci->i_layout.stripe_unit;
fs/ceph/addr.c
103
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/addr.c
105
list_last_entry(&ci->i_cap_snaps,
fs/ceph/addr.c
111
BUG_ON(!ci->i_head_snapc);
fs/ceph/addr.c
112
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/addr.c
113
++ci->i_wrbuffer_ref_head;
fs/ceph/addr.c
115
if (ci->i_wrbuffer_ref == 0)
fs/ceph/addr.c
117
++ci->i_wrbuffer_ref;
fs/ceph/addr.c
121
ci->i_wrbuffer_ref-1, ci->i_wrbuffer_ref_head-1,
fs/ceph/addr.c
122
ci->i_wrbuffer_ref, ci->i_wrbuffer_ref_head,
fs/ceph/addr.c
1226
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1233
ceph_calc_file_object_mapping(&ci->i_layout,
fs/ceph/addr.c
124
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
1435
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1451
&ci->i_layout, vino,
fs/ceph/addr.c
1458
&ci->i_layout, vino,
fs/ceph/addr.c
146
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
162
ceph_put_wrbuffer_cap_refs(ci, 1, snapc);
fs/ceph/addr.c
172
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
173
struct ceph_file_layout *lo = &ci->i_layout;
fs/ceph/addr.c
1814
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1828
if (!snapc || snapc == ci->i_head_snapc)
fs/ceph/addr.c
1861
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1875
r = wait_event_killable(ci->i_cap_wq,
fs/ceph/addr.c
1894
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1897
r = netfs_write_begin(&ci->netfs, file, inode->i_mapping, pos, len, foliop, NULL);
fs/ceph/addr.c
1980
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2009
!ceph_has_inline_data(ci)) {
fs/ceph/addr.c
2019
ceph_put_cap_refs(ci, got);
fs/ceph/addr.c
2072
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2144
err = wait_event_killable(ci->i_cap_wq,
fs/ceph/addr.c
2151
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2152
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/addr.c
2154
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2161
ceph_put_cap_refs_async(ci, got);
fs/ceph/addr.c
2219
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2231
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2232
inline_version = ci->i_inline_version;
fs/ceph/addr.c
2233
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2254
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2255
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/addr.c
2257
list_last_entry(&ci->i_cap_snaps,
fs/ceph/addr.c
2262
if (!ci->i_head_snapc) {
fs/ceph/addr.c
2263
ci->i_head_snapc = ceph_get_snap_context(
fs/ceph/addr.c
2264
ci->i_snap_realm->cached_context);
fs/ceph/addr.c
2266
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/addr.c
2268
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2283
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/addr.c
2299
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/addr.c
2302
snapc, ci->i_truncate_seq,
fs/ceph/addr.c
2303
ci->i_truncate_size, false);
fs/ceph/addr.c
2347
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2348
ci->i_inline_version = CEPH_INLINE_NONE;
fs/ceph/addr.c
2349
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR, &prealloc_cf);
fs/ceph/addr.c
2350
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2392
static int __ceph_pool_perm_get(struct ceph_inode_info *ci,
fs/ceph/addr.c
2395
struct ceph_fs_client *fsc = ceph_inode_to_fs_client(&ci->netfs.inode);
fs/ceph/addr.c
2478
ceph_oid_printf(&rd_req->r_base_oid, "%llx.00000000", ci->i_vino.ino);
fs/ceph/addr.c
2511
wr_req->r_mtime = inode_get_mtime(&ci->netfs.inode);
fs/ceph/addr.c
2570
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2580
if (ci->i_vino.snap != CEPH_NOSNAP) {
fs/ceph/addr.c
2593
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2594
flags = ci->i_ceph_flags;
fs/ceph/addr.c
2595
pool = ci->i_layout.pool_id;
fs/ceph/addr.c
2596
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2610
pool_ns = ceph_try_get_string(ci->i_layout.pool_ns);
fs/ceph/addr.c
2611
ret = __ceph_pool_perm_get(ci, pool, pool_ns);
fs/ceph/addr.c
2616
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2617
if (pool == ci->i_layout.pool_id &&
fs/ceph/addr.c
2618
pool_ns == rcu_dereference_raw(ci->i_layout.pool_ns)) {
fs/ceph/addr.c
2619
set_bit(CEPH_I_POOL_PERM_BIT, &ci->i_ceph_flags);
fs/ceph/addr.c
2621
set_bit(CEPH_I_POOL_RD_BIT, &ci->i_ceph_flags);
fs/ceph/addr.c
2623
set_bit(CEPH_I_POOL_WR_BIT, &ci->i_ceph_flags);
fs/ceph/addr.c
2625
pool = ci->i_layout.pool_id;
fs/ceph/addr.c
2628
flags = ci->i_ceph_flags;
fs/ceph/addr.c
2629
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
285
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
305
req->r_ino1 = ci->i_vino;
fs/ceph/addr.c
343
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
349
ceph_calc_file_object_mapping(&ci->i_layout, subreq->start, subreq->len,
fs/ceph/addr.c
359
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
375
if (ceph_has_inline_data(ci) && ceph_netfs_issue_op_inline(subreq))
fs/ceph/addr.c
386
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout, vino,
fs/ceph/addr.c
388
CEPH_OSD_FLAG_READ, NULL, ci->i_truncate_seq,
fs/ceph/addr.c
389
ci->i_truncate_size, false);
fs/ceph/addr.c
568
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
569
struct fscache_cookie *cookie = ceph_fscache_cookie(ci);
fs/ceph/addr.c
630
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
635
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
636
list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) {
fs/ceph/addr.c
668
if (!snapc && ci->i_wrbuffer_ref_head) {
fs/ceph/addr.c
669
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/addr.c
671
ci->i_wrbuffer_ref_head);
fs/ceph/addr.c
674
ctl->truncate_size = ci->i_truncate_size;
fs/ceph/addr.c
675
ctl->truncate_seq = ci->i_truncate_seq;
fs/ceph/addr.c
680
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
687
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
694
if (snapc != ci->i_head_snapc) {
fs/ceph/addr.c
696
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
697
list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) {
fs/ceph/addr.c
705
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
727
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
786
req = ceph_osdc_new_request(osdc, &ci->i_layout, ceph_vino(inode),
fs/ceph/addr.c
838
ceph_subvolume_metrics_record_io(fsc->mdsc, ci, true, len,
fs/ceph/addr.c
87
struct ceph_inode_info *ci;
fs/ceph/addr.c
875
ceph_put_wrbuffer_cap_refs(ci, 1, snapc);
fs/ceph/addr.c
894
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
911
ceph_set_error_write(ci);
fs/ceph/addr.c
915
ceph_clear_error_write(ci);
fs/ceph/addr.c
924
remove_page = !(ceph_caps_issued(ci) &
fs/ceph/addr.c
985
ceph_subvolume_metrics_record_io(mdsc, ci, true, len,
fs/ceph/addr.c
989
ceph_put_wrbuffer_cap_refs(ci, total_pages, snapc);
fs/ceph/addr.c
99
ci = ceph_inode(inode);
fs/ceph/cache.c
17
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/cache.c
32
WARN_ON_ONCE(ci->netfs.cache);
fs/ceph/cache.c
34
ci->netfs.cache =
fs/ceph/cache.c
36
&ci->i_vino, sizeof(ci->i_vino),
fs/ceph/cache.c
37
&ci->i_version, sizeof(ci->i_version),
fs/ceph/cache.c
39
if (ci->netfs.cache)
fs/ceph/cache.c
43
void ceph_fscache_unregister_inode_cookie(struct ceph_inode_info *ci)
fs/ceph/cache.c
45
fscache_relinquish_cookie(ceph_fscache_cookie(ci), false);
fs/ceph/cache.c
50
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/cache.c
52
fscache_use_cookie(ceph_fscache_cookie(ci), will_modify);
fs/ceph/cache.c
57
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/cache.c
62
fscache_unuse_cookie(ceph_fscache_cookie(ci),
fs/ceph/cache.c
63
&ci->i_version, &i_size);
fs/ceph/cache.c
65
fscache_unuse_cookie(ceph_fscache_cookie(ci), NULL, NULL);
fs/ceph/cache.c
71
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/cache.c
74
fscache_update_cookie(ceph_fscache_cookie(ci), &ci->i_version, &i_size);
fs/ceph/cache.c
79
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/cache.c
81
fscache_invalidate(ceph_fscache_cookie(ci),
fs/ceph/cache.c
82
&ci->i_version, i_size_read(inode),
fs/ceph/cache.h
21
void ceph_fscache_unregister_inode_cookie(struct ceph_inode_info* ci);
fs/ceph/cache.h
29
static inline struct fscache_cookie *ceph_fscache_cookie(struct ceph_inode_info *ci)
fs/ceph/cache.h
31
return netfs_i_cookie(&ci->netfs);
fs/ceph/cache.h
36
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/cache.h
37
struct fscache_cookie *cookie = ceph_fscache_cookie(ci);
fs/ceph/cache.h
74
static inline void ceph_fscache_unregister_inode_cookie(struct ceph_inode_info* ci)
fs/ceph/cache.h
94
static inline struct fscache_cookie *ceph_fscache_cookie(struct ceph_inode_info *ci)
fs/ceph/caps.c
1007
int __ceph_caps_file_wanted(struct ceph_inode_info *ci)
fs/ceph/caps.c
1014
ceph_inode_to_fs_client(&ci->netfs.inode)->mount_options;
fs/ceph/caps.c
1018
if (S_ISDIR(ci->netfs.inode.i_mode)) {
fs/ceph/caps.c
1022
if (ci->i_nr_by_mode[RD_SHIFT] > 0 ||
fs/ceph/caps.c
1023
time_after(ci->i_last_rd, used_cutoff))
fs/ceph/caps.c
1026
if (ci->i_nr_by_mode[WR_SHIFT] > 0 ||
fs/ceph/caps.c
1027
time_after(ci->i_last_wr, used_cutoff)) {
fs/ceph/caps.c
1033
if (want || ci->i_nr_by_mode[PIN_SHIFT] > 0)
fs/ceph/caps.c
1040
if (ci->i_nr_by_mode[RD_SHIFT] > 0) {
fs/ceph/caps.c
1041
if (ci->i_nr_by_mode[RD_SHIFT] >= FMODE_WAIT_BIAS ||
fs/ceph/caps.c
1042
time_after(ci->i_last_rd, used_cutoff))
fs/ceph/caps.c
1044
} else if (time_after(ci->i_last_rd, idle_cutoff)) {
fs/ceph/caps.c
1048
if (ci->i_nr_by_mode[WR_SHIFT] > 0) {
fs/ceph/caps.c
1049
if (ci->i_nr_by_mode[WR_SHIFT] >= FMODE_WAIT_BIAS ||
fs/ceph/caps.c
1050
time_after(ci->i_last_wr, used_cutoff))
fs/ceph/caps.c
1052
} else if (time_after(ci->i_last_wr, idle_cutoff)) {
fs/ceph/caps.c
1058
ci->i_nr_by_mode[LAZY_SHIFT] > 0)
fs/ceph/caps.c
1068
int __ceph_caps_wanted(struct ceph_inode_info *ci)
fs/ceph/caps.c
1070
int w = __ceph_caps_file_wanted(ci) | __ceph_caps_used(ci);
fs/ceph/caps.c
1071
if (S_ISDIR(ci->netfs.inode.i_mode)) {
fs/ceph/caps.c
1086
int __ceph_caps_mds_wanted(struct ceph_inode_info *ci, bool check)
fs/ceph/caps.c
1092
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
1096
if (cap == ci->i_auth_cap)
fs/ceph/caps.c
1106
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
1109
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1110
ret = __ceph_is_any_real_caps(ci);
fs/ceph/caps.c
1111
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1126
struct ceph_inode_info *ci = cap->ci;
fs/ceph/caps.c
1127
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1132
if (!ci) {
fs/ceph/caps.c
1137
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1141
mdsc = ceph_inode_to_fs_client(&ci->netfs.inode)->mdsc;
fs/ceph/caps.c
1144
rb_erase(&cap->ci_node, &ci->i_caps);
fs/ceph/caps.c
1145
if (ci->i_auth_cap == cap)
fs/ceph/caps.c
1146
ci->i_auth_cap = NULL;
fs/ceph/caps.c
1162
cap->ci = NULL;
fs/ceph/caps.c
1179
cap->cap_ino = ci->i_vino.ino;
fs/ceph/caps.c
1186
if (!__ceph_is_any_real_caps(ci)) {
fs/ceph/caps.c
1191
if (ci->i_wr_ref == 0 && ci->i_snap_realm)
fs/ceph/caps.c
1192
ceph_change_snap_realm(&ci->netfs.inode, NULL);
fs/ceph/caps.c
1194
__cap_delay_cancel(mdsc, ci);
fs/ceph/caps.c
1201
struct ceph_inode_info *ci = cap->ci;
fs/ceph/caps.c
1205
if (!ci) {
fs/ceph/caps.c
1210
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1212
fsc = ceph_inode_to_fs_client(&ci->netfs.inode);
fs/ceph/caps.c
1213
WARN_ON_ONCE(ci->i_auth_cap == cap &&
fs/ceph/caps.c
1214
!list_empty(&ci->i_dirty_item) &&
fs/ceph/caps.c
1216
!ceph_inode_is_shutdown(&ci->netfs.inode));
fs/ceph/caps.c
1365
void __ceph_remove_caps(struct ceph_inode_info *ci)
fs/ceph/caps.c
1367
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1373
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1374
p = rb_first(&ci->i_caps);
fs/ceph/caps.c
1380
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1395
struct ceph_inode_info *ci = cap->ci;
fs/ceph/caps.c
1396
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1400
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1412
clear_bit(CEPH_I_FLUSH_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
1427
arg->follows = flushing ? ci->i_head_snapc->seq : 0;
fs/ceph/caps.c
1431
ci->i_reported_size = arg->size;
fs/ceph/caps.c
1432
arg->max_size = ci->i_wanted_max_size;
fs/ceph/caps.c
1433
if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
1435
ci->i_requested_max_size = arg->max_size;
fs/ceph/caps.c
1437
ci->i_requested_max_size = 0;
fs/ceph/caps.c
1441
arg->old_xattr_buf = __ceph_build_xattrs_blob(ci);
fs/ceph/caps.c
1442
arg->xattr_version = ci->i_xattrs.version;
fs/ceph/caps.c
1443
arg->xattr_buf = ceph_buffer_get(ci->i_xattrs.blob);
fs/ceph/caps.c
1452
arg->btime = ci->i_btime;
fs/ceph/caps.c
1463
arg->time_warp_seq = ci->i_time_warp_seq;
fs/ceph/caps.c
1469
arg->inline_data = ci->i_inline_version != CEPH_INLINE_NONE;
fs/ceph/caps.c
1471
!list_empty(&ci->i_cap_snaps)) {
fs/ceph/caps.c
1473
list_for_each_entry_reverse(capsnap, &ci->i_cap_snaps, ci_item) {
fs/ceph/caps.c
1485
if (ci->fscrypt_auth_len &&
fs/ceph/caps.c
1486
WARN_ON_ONCE(ci->fscrypt_auth_len > sizeof(struct ceph_fscrypt_auth))) {
fs/ceph/caps.c
1490
arg->fscrypt_auth_len = ci->fscrypt_auth_len;
fs/ceph/caps.c
1491
memcpy(arg->fscrypt_auth, ci->fscrypt_auth,
fs/ceph/caps.c
1492
min_t(size_t, ci->fscrypt_auth_len,
fs/ceph/caps.c
1521
static void __send_cap(struct cap_msg_args *arg, struct ceph_inode_info *ci)
fs/ceph/caps.c
1524
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1535
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1536
__cap_delay_requeue(arg->session->s_mdsc, ci);
fs/ceph/caps.c
1537
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1546
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
1617
static void __ceph_flush_snaps(struct ceph_inode_info *ci,
fs/ceph/caps.c
1619
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
1620
__acquires(ci->i_ceph_lock)
fs/ceph/caps.c
1622
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1632
list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) {
fs/ceph/caps.c
1651
capsnap->cap_flush.ci = ci;
fs/ceph/caps.c
1656
if (list_empty(&ci->i_flushing_item)) {
fs/ceph/caps.c
1657
list_add_tail(&ci->i_flushing_item,
fs/ceph/caps.c
1663
&ci->i_cap_flush_list);
fs/ceph/caps.c
1670
clear_bit(CEPH_I_FLUSH_SNAPS_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
1673
struct ceph_cap *cap = ci->i_auth_cap;
fs/ceph/caps.c
1684
list_for_each_entry(iter, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
1698
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1714
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1718
void ceph_flush_snaps(struct ceph_inode_info *ci,
fs/ceph/caps.c
1721
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1732
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1733
if (!(ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS)) {
fs/ceph/caps.c
1737
if (!ci->i_auth_cap) {
fs/ceph/caps.c
1742
mds = ci->i_auth_cap->session->s_mds;
fs/ceph/caps.c
1749
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1757
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH)
fs/ceph/caps.c
1758
__kick_flushing_caps(mdsc, session, ci, 0);
fs/ceph/caps.c
1760
__ceph_flush_snaps(ci, session);
fs/ceph/caps.c
1762
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1770
if (!list_empty(&ci->i_snap_flush_item))
fs/ceph/caps.c
1772
list_del_init(&ci->i_snap_flush_item);
fs/ceph/caps.c
1784
int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask,
fs/ceph/caps.c
1788
ceph_sb_to_fs_client(ci->netfs.inode.i_sb)->mdsc;
fs/ceph/caps.c
1789
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1791
int was = ci->i_dirty_caps;
fs/ceph/caps.c
1794
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1796
if (!ci->i_auth_cap) {
fs/ceph/caps.c
1807
ci->i_dirty_caps |= mask;
fs/ceph/caps.c
1809
struct ceph_mds_session *session = ci->i_auth_cap->session;
fs/ceph/caps.c
1811
WARN_ON_ONCE(ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1812
swap(ci->i_prealloc_cap_flush, *pcf);
fs/ceph/caps.c
1814
if (!ci->i_head_snapc) {
fs/ceph/caps.c
1816
ci->i_head_snapc = ceph_get_snap_context(
fs/ceph/caps.c
1817
ci->i_snap_realm->cached_context);
fs/ceph/caps.c
1820
inode, ceph_vinop(inode), ci->i_head_snapc,
fs/ceph/caps.c
1821
ci->i_auth_cap);
fs/ceph/caps.c
1822
BUG_ON(!list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
1824
list_add(&ci->i_dirty_item, &session->s_cap_dirty);
fs/ceph/caps.c
1826
if (ci->i_flushing_caps == 0) {
fs/ceph/caps.c
1831
WARN_ON_ONCE(!ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1833
BUG_ON(list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
1834
if (((was | ci->i_flushing_caps) & CEPH_CAP_FILE_BUFFER) &&
fs/ceph/caps.c
1837
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
1850
cf->ci = NULL;
fs/ceph/caps.c
1890
static bool __detach_cap_flush_from_ci(struct ceph_inode_info *ci,
fs/ceph/caps.c
1896
if (wake && cf->i_list.prev != &ci->i_cap_flush_list) {
fs/ceph/caps.c
1917
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
1921
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1922
BUG_ON(ci->i_dirty_caps == 0);
fs/ceph/caps.c
1923
BUG_ON(list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
1924
BUG_ON(!ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1926
flushing = ci->i_dirty_caps;
fs/ceph/caps.c
1929
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
1930
ceph_cap_string(ci->i_flushing_caps | flushing));
fs/ceph/caps.c
1931
ci->i_flushing_caps |= flushing;
fs/ceph/caps.c
1932
ci->i_dirty_caps = 0;
fs/ceph/caps.c
1935
swap(cf, ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1936
cf->ci = ci;
fs/ceph/caps.c
1941
list_del_init(&ci->i_dirty_item);
fs/ceph/caps.c
1947
if (list_empty(&ci->i_flushing_item)) {
fs/ceph/caps.c
1948
list_add_tail(&ci->i_flushing_item, &session->s_cap_flushing);
fs/ceph/caps.c
1953
list_add_tail(&cf->i_list, &ci->i_cap_flush_list);
fs/ceph/caps.c
1962
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
1963
__acquires(ci->i_ceph_lock)
fs/ceph/caps.c
1966
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
1967
u32 invalidating_gen = ci->i_rdcache_gen;
fs/ceph/caps.c
1969
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1972
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1975
invalidating_gen == ci->i_rdcache_gen) {
fs/ceph/caps.c
1980
ci->i_rdcache_revoking = ci->i_rdcache_gen - 1;
fs/ceph/caps.c
1987
bool __ceph_should_report_size(struct ceph_inode_info *ci)
fs/ceph/caps.c
1989
loff_t size = i_size_read(&ci->netfs.inode);
fs/ceph/caps.c
1991
if (ci->i_flushing_caps & CEPH_CAP_FILE_WR)
fs/ceph/caps.c
1993
if (size >= ci->i_max_size)
fs/ceph/caps.c
1996
if (ci->i_max_size > ci->i_reported_size &&
fs/ceph/caps.c
1997
(size << 1) >= ci->i_max_size + ci->i_reported_size)
fs/ceph/caps.c
2013
void ceph_check_caps(struct ceph_inode_info *ci, int flags)
fs/ceph/caps.c
2015
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2030
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2031
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE) {
fs/ceph/caps.c
2032
set_bit(CEPH_I_ASYNC_CHECK_CAPS_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
2035
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2039
if (ci->i_ceph_flags & CEPH_I_FLUSH)
fs/ceph/caps.c
2043
file_wanted = __ceph_caps_file_wanted(ci);
fs/ceph/caps.c
2046
used = __ceph_caps_used(ci);
fs/ceph/caps.c
2054
issued = __ceph_caps_issued(ci, &implemented);
fs/ceph/caps.c
2066
__ceph_dir_is_complete(ci)) {
fs/ceph/caps.c
2087
if (ci->i_max_size == 0)
fs/ceph/caps.c
2095
ceph_cap_string(used), ceph_cap_string(ci->i_dirty_caps),
fs/ceph/caps.c
2096
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
2111
!(ci->i_wb_ref || ci->i_wrbuffer_ref) && /* no dirty pages... */
fs/ceph/caps.c
2121
ci->i_rdcache_revoking = ci->i_rdcache_gen;
fs/ceph/caps.c
2127
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
2135
((flags & CHECK_CAPS_AUTHONLY) && cap != ci->i_auth_cap))
fs/ceph/caps.c
2143
if (ci->i_auth_cap && cap != ci->i_auth_cap)
fs/ceph/caps.c
2144
cap_used &= ~ci->i_auth_cap->issued;
fs/ceph/caps.c
2172
if (S_ISREG(inode->i_mode) && ci->i_wrbuffer_ref &&
fs/ceph/caps.c
2182
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
2185
if (ci->i_wanted_max_size > ci->i_max_size &&
fs/ceph/caps.c
2186
ci->i_wanted_max_size > ci->i_requested_max_size) {
fs/ceph/caps.c
2192
if (__ceph_should_report_size(ci)) {
fs/ceph/caps.c
2198
if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
2199
if ((flags & CHECK_CAPS_FLUSH) && ci->i_dirty_caps) {
fs/ceph/caps.c
2203
if (ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS) {
fs/ceph/caps.c
2227
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
2228
(ci->i_ceph_flags &
fs/ceph/caps.c
2230
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH)
fs/ceph/caps.c
2231
__kick_flushing_caps(mdsc, session, ci, 0);
fs/ceph/caps.c
2232
if (ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS)
fs/ceph/caps.c
2233
__ceph_flush_snaps(ci, session);
fs/ceph/caps.c
2238
if (cap == ci->i_auth_cap && ci->i_dirty_caps) {
fs/ceph/caps.c
2239
flushing = ci->i_dirty_caps;
fs/ceph/caps.c
2258
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2259
__send_cap(&arg, ci);
fs/ceph/caps.c
2260
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2266
if (__ceph_is_any_real_caps(ci) &&
fs/ceph/caps.c
2267
list_empty(&ci->i_cap_delay_list) &&
fs/ceph/caps.c
2270
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
2273
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2288
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2292
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2294
if (ci->i_dirty_caps && ci->i_auth_cap) {
fs/ceph/caps.c
2295
struct ceph_cap *cap = ci->i_auth_cap;
fs/ceph/caps.c
2300
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2304
if (ci->i_ceph_flags &
fs/ceph/caps.c
2306
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH)
fs/ceph/caps.c
2307
__kick_flushing_caps(mdsc, session, ci, 0);
fs/ceph/caps.c
2308
if (ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS)
fs/ceph/caps.c
2309
__ceph_flush_snaps(ci, session);
fs/ceph/caps.c
2313
flushing = ci->i_dirty_caps;
fs/ceph/caps.c
2318
__ceph_caps_used(ci), __ceph_caps_wanted(ci),
fs/ceph/caps.c
2321
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2323
__send_cap(&arg, ci);
fs/ceph/caps.c
2325
if (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
2327
list_last_entry(&ci->i_cap_flush_list,
fs/ceph/caps.c
2332
flushing = ci->i_flushing_caps;
fs/ceph/caps.c
2333
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2345
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2348
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2349
if (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
2351
list_first_entry(&ci->i_cap_flush_list,
fs/ceph/caps.c
2356
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2367
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2371
spin_lock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2372
if (S_ISDIR(inode->i_mode) && !list_empty(&ci->i_unsafe_dirops)) {
fs/ceph/caps.c
2373
req1 = list_last_entry(&ci->i_unsafe_dirops,
fs/ceph/caps.c
2378
if (!list_empty(&ci->i_unsafe_iops)) {
fs/ceph/caps.c
2379
req2 = list_last_entry(&ci->i_unsafe_iops,
fs/ceph/caps.c
2384
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2408
spin_lock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2410
list_for_each_entry(req, &ci->i_unsafe_dirops,
fs/ceph/caps.c
2422
list_for_each_entry(req, &ci->i_unsafe_iops,
fs/ceph/caps.c
2433
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2436
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2437
if (ci->i_auth_cap) {
fs/ceph/caps.c
2438
s = ci->i_auth_cap->session;
fs/ceph/caps.c
2442
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2483
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2511
err = wait_event_interruptible(ci->i_cap_wq,
fs/ceph/caps.c
2535
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2550
err = wait_event_interruptible(ci->i_cap_wq,
fs/ceph/caps.c
2556
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2557
if (__ceph_caps_dirty(ci))
fs/ceph/caps.c
2558
__cap_delay_requeue_front(mdsc, ci);
fs/ceph/caps.c
2559
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2566
struct ceph_inode_info *ci,
fs/ceph/caps.c
2568
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
2569
__acquires(ci->i_ceph_lock)
fs/ceph/caps.c
2571
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2580
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE)
fs/ceph/caps.c
2583
clear_bit(CEPH_I_KICK_FLUSH_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
2585
list_for_each_entry_reverse(cf, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
2592
list_for_each_entry(cf, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
2596
cap = ci->i_auth_cap;
fs/ceph/caps.c
2614
__ceph_caps_used(ci),
fs/ceph/caps.c
2615
__ceph_caps_wanted(ci),
fs/ceph/caps.c
2618
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2619
__send_cap(&arg, ci);
fs/ceph/caps.c
2629
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2643
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2651
struct ceph_inode_info *ci;
fs/ceph/caps.c
2661
list_for_each_entry(ci, &session->s_cap_flushing, i_flushing_item) {
fs/ceph/caps.c
2662
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2664
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2665
cap = ci->i_auth_cap;
fs/ceph/caps.c
2670
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2681
if ((cap->issued & ci->i_flushing_caps) !=
fs/ceph/caps.c
2682
ci->i_flushing_caps) {
fs/ceph/caps.c
2689
__kick_flushing_caps(mdsc, session, ci,
fs/ceph/caps.c
2692
set_bit(CEPH_I_KICK_FLUSH_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
2695
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2703
struct ceph_inode_info *ci;
fs/ceph/caps.c
2715
list_for_each_entry(ci, &session->s_cap_flushing, i_flushing_item) {
fs/ceph/caps.c
2716
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2718
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2719
cap = ci->i_auth_cap;
fs/ceph/caps.c
2724
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2727
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH) {
fs/ceph/caps.c
2728
__kick_flushing_caps(mdsc, session, ci,
fs/ceph/caps.c
2731
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2736
struct ceph_inode_info *ci)
fs/ceph/caps.c
2739
struct ceph_cap *cap = ci->i_auth_cap;
fs/ceph/caps.c
2740
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2742
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
2746
ceph_cap_string(ci->i_flushing_caps));
fs/ceph/caps.c
2748
if (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
2751
list_move_tail(&ci->i_flushing_item,
fs/ceph/caps.c
2756
__kick_flushing_caps(mdsc, session, ci, oldest_flush_tid);
fs/ceph/caps.c
2765
void ceph_take_cap_refs(struct ceph_inode_info *ci, int got,
fs/ceph/caps.c
2768
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2771
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
2774
ci->i_pin_ref++;
fs/ceph/caps.c
2776
ci->i_rd_ref++;
fs/ceph/caps.c
2778
ci->i_rdcache_ref++;
fs/ceph/caps.c
2780
ci->i_fx_ref++;
fs/ceph/caps.c
2782
if (ci->i_wr_ref == 0 && !ci->i_head_snapc) {
fs/ceph/caps.c
2784
ci->i_head_snapc = ceph_get_snap_context(
fs/ceph/caps.c
2785
ci->i_snap_realm->cached_context);
fs/ceph/caps.c
2787
ci->i_wr_ref++;
fs/ceph/caps.c
2790
if (ci->i_wb_ref == 0)
fs/ceph/caps.c
2792
ci->i_wb_ref++;
fs/ceph/caps.c
2794
ceph_vinop(inode), ci->i_wb_ref-1, ci->i_wb_ref);
fs/ceph/caps.c
2820
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2832
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2835
test_bit(CEPH_I_ERROR_FILELOCK_BIT, &ci->i_ceph_flags)) {
fs/ceph/caps.c
2843
while (ci->i_truncate_pending) {
fs/ceph/caps.c
2844
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2850
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2853
have = __ceph_caps_issued(ci, &implemented);
fs/ceph/caps.c
2856
if (endoff >= 0 && endoff > (loff_t)ci->i_max_size) {
fs/ceph/caps.c
2858
inode, ceph_vinop(inode), endoff, ci->i_max_size);
fs/ceph/caps.c
2859
if (endoff > ci->i_requested_max_size)
fs/ceph/caps.c
2860
ret = ci->i_auth_cap ? -EFBIG : -EUCLEAN;
fs/ceph/caps.c
2867
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/caps.c
2892
!ci->i_head_snapc &&
fs/ceph/caps.c
2904
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2915
ceph_take_cap_refs(ci, *got, true);
fs/ceph/caps.c
2921
if (ci->i_auth_cap &&
fs/ceph/caps.c
2923
struct ceph_mds_session *s = ci->i_auth_cap->session;
fs/ceph/caps.c
2931
ci->i_auth_cap->mds);
fs/ceph/caps.c
2942
mds_wanted = __ceph_caps_mds_wanted(ci, false);
fs/ceph/caps.c
2957
__ceph_touch_fmode(ci, mdsc, flags);
fs/ceph/caps.c
2959
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2980
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2985
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2986
if (endoff >= ci->i_max_size && endoff > ci->i_wanted_max_size) {
fs/ceph/caps.c
2989
ci->i_wanted_max_size = endoff;
fs/ceph/caps.c
2992
if (ci->i_auth_cap &&
fs/ceph/caps.c
2993
(ci->i_auth_cap->issued & CEPH_CAP_FILE_WR) &&
fs/ceph/caps.c
2994
ci->i_wanted_max_size > ci->i_max_size &&
fs/ceph/caps.c
2995
ci->i_wanted_max_size > ci->i_requested_max_size)
fs/ceph/caps.c
2997
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2999
ceph_check_caps(ci, CHECK_CAPS_AUTHONLY);
fs/ceph/caps.c
3046
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3087
ceph_get_fmode(ci, flags, FMODE_WAIT_BIAS);
fs/ceph/caps.c
3088
add_wait_queue(&ci->i_cap_wq, &wait);
fs/ceph/caps.c
3112
remove_wait_queue(&ci->i_cap_wq, &wait);
fs/ceph/caps.c
3113
ceph_put_fmode(ci, flags, FMODE_WAIT_BIAS);
fs/ceph/caps.c
3128
ceph_put_cap_refs(ci, _got);
fs/ceph/caps.c
3152
if (S_ISREG(ci->netfs.inode.i_mode) &&
fs/ceph/caps.c
3153
ceph_has_inline_data(ci) &&
fs/ceph/caps.c
3169
ceph_put_cap_refs(ci, _got);
fs/ceph/caps.c
3202
void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps)
fs/ceph/caps.c
3204
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3205
ceph_take_cap_refs(ci, caps, false);
fs/ceph/caps.c
3206
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3214
static int ceph_try_drop_cap_snap(struct ceph_inode_info *ci,
fs/ceph/caps.c
3217
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
3225
if (!list_is_last(&capsnap->ci_item, &ci->i_cap_snaps))
fs/ceph/caps.c
3226
set_bit(CEPH_I_FLUSH_SNAPS_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
3249
static void __ceph_put_cap_refs(struct ceph_inode_info *ci, int had,
fs/ceph/caps.c
3252
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
3257
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3259
--ci->i_pin_ref;
fs/ceph/caps.c
3261
if (--ci->i_rd_ref == 0)
fs/ceph/caps.c
3264
if (--ci->i_rdcache_ref == 0)
fs/ceph/caps.c
3267
if (--ci->i_fx_ref == 0)
fs/ceph/caps.c
3270
if (--ci->i_wb_ref == 0) {
fs/ceph/caps.c
3277
ceph_vinop(inode), ci->i_wb_ref+1, ci->i_wb_ref);
fs/ceph/caps.c
3280
if (--ci->i_wr_ref == 0) {
fs/ceph/caps.c
3285
WARN_ON_ONCE(ci->i_wb_ref);
fs/ceph/caps.c
3289
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/caps.c
3290
ci->i_dirty_caps == 0 &&
fs/ceph/caps.c
3291
ci->i_flushing_caps == 0) {
fs/ceph/caps.c
3292
BUG_ON(!ci->i_head_snapc);
fs/ceph/caps.c
3293
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
3294
ci->i_head_snapc = NULL;
fs/ceph/caps.c
3297
if (!__ceph_is_any_real_caps(ci) && ci->i_snap_realm)
fs/ceph/caps.c
3301
if (check_flushsnaps && __ceph_have_pending_cap_snap(ci)) {
fs/ceph/caps.c
3303
list_last_entry(&ci->i_cap_snaps,
fs/ceph/caps.c
3308
if (ceph_try_drop_cap_snap(ci, capsnap))
fs/ceph/caps.c
3311
else if (__ceph_finish_cap_snap(ci, capsnap))
fs/ceph/caps.c
3315
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3323
ceph_check_caps(ci, 0);
fs/ceph/caps.c
3325
ceph_flush_snaps(ci, NULL);
fs/ceph/caps.c
3337
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3342
void ceph_put_cap_refs(struct ceph_inode_info *ci, int had)
fs/ceph/caps.c
3344
__ceph_put_cap_refs(ci, had, PUT_CAP_REFS_SYNC);
fs/ceph/caps.c
3347
void ceph_put_cap_refs_async(struct ceph_inode_info *ci, int had)
fs/ceph/caps.c
3349
__ceph_put_cap_refs(ci, had, PUT_CAP_REFS_ASYNC);
fs/ceph/caps.c
3359
void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
fs/ceph/caps.c
3362
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
3370
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3371
ci->i_wrbuffer_ref -= nr;
fs/ceph/caps.c
3372
if (ci->i_wrbuffer_ref == 0) {
fs/ceph/caps.c
3377
if (ci->i_head_snapc == snapc) {
fs/ceph/caps.c
3378
ci->i_wrbuffer_ref_head -= nr;
fs/ceph/caps.c
3379
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/caps.c
3380
ci->i_wr_ref == 0 &&
fs/ceph/caps.c
3381
ci->i_dirty_caps == 0 &&
fs/ceph/caps.c
3382
ci->i_flushing_caps == 0) {
fs/ceph/caps.c
3383
BUG_ON(!ci->i_head_snapc);
fs/ceph/caps.c
3384
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
3385
ci->i_head_snapc = NULL;
fs/ceph/caps.c
3388
inode, ceph_vinop(inode), ci->i_wrbuffer_ref+nr,
fs/ceph/caps.c
3389
ci->i_wrbuffer_ref_head+nr, ci->i_wrbuffer_ref,
fs/ceph/caps.c
3390
ci->i_wrbuffer_ref_head, last ? " LAST" : "");
fs/ceph/caps.c
3392
list_for_each_entry(iter, &ci->i_cap_snaps, ci_item) {
fs/ceph/caps.c
3404
WARN_ON_ONCE(ci->i_auth_cap);
fs/ceph/caps.c
3412
if (ceph_try_drop_cap_snap(ci, capsnap)) {
fs/ceph/caps.c
3415
set_bit(CEPH_I_FLUSH_SNAPS_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
3422
ci->i_wrbuffer_ref+nr, capsnap->dirty_pages + nr,
fs/ceph/caps.c
3423
ci->i_wrbuffer_ref, capsnap->dirty_pages,
fs/ceph/caps.c
3429
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3432
ceph_check_caps(ci, 0);
fs/ceph/caps.c
3434
ceph_flush_snaps(ci, NULL);
fs/ceph/caps.c
3437
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3507
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
3511
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3551
!(ci->i_wrbuffer_ref || ci->i_wb_ref)) {
fs/ceph/caps.c
3555
if (ci->i_rdcache_revoking != ci->i_rdcache_gen) {
fs/ceph/caps.c
3557
ci->i_rdcache_revoking = ci->i_rdcache_gen;
fs/ceph/caps.c
3574
WARN_ON(cap != ci->i_auth_cap);
fs/ceph/caps.c
3584
__check_cap_issue(ci, cap, newcaps);
fs/ceph/caps.c
3599
ci->i_btime = extra_info->btime;
fs/ceph/caps.c
3605
if (ci->fscrypt_auth_len != extra_info->fscrypt_auth_len ||
fs/ceph/caps.c
3606
memcmp(ci->fscrypt_auth, extra_info->fscrypt_auth,
fs/ceph/caps.c
3607
ci->fscrypt_auth_len))
fs/ceph/caps.c
3610
ci->fscrypt_auth_len,
fs/ceph/caps.c
3627
if (version > ci->i_xattrs.version) {
fs/ceph/caps.c
3630
if (ci->i_xattrs.blob)
fs/ceph/caps.c
3631
ceph_buffer_put(ci->i_xattrs.blob);
fs/ceph/caps.c
3632
ci->i_xattrs.blob = ceph_buffer_get(xattr_buf);
fs/ceph/caps.c
3633
ci->i_xattrs.version = version;
fs/ceph/caps.c
3651
ci->i_files = extra_info->nfiles;
fs/ceph/caps.c
3652
ci->i_subdirs = extra_info->nsubdirs;
fs/ceph/caps.c
3657
s64 old_pool = ci->i_layout.pool_id;
fs/ceph/caps.c
3660
ceph_file_layout_from_legacy(&ci->i_layout, &grant->layout);
fs/ceph/caps.c
3661
old_ns = rcu_dereference_protected(ci->i_layout.pool_ns,
fs/ceph/caps.c
3662
lockdep_is_held(&ci->i_ceph_lock));
fs/ceph/caps.c
3663
rcu_assign_pointer(ci->i_layout.pool_ns, extra_info->pool_ns);
fs/ceph/caps.c
3665
if (ci->i_layout.pool_id != old_pool ||
fs/ceph/caps.c
3667
clear_bit(CEPH_I_POOL_PERM_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
3678
if (ci->i_auth_cap == cap && (newcaps & CEPH_CAP_ANY_FILE_WR)) {
fs/ceph/caps.c
3679
if (max_size != ci->i_max_size) {
fs/ceph/caps.c
3680
doutc(cl, "max_size %lld -> %llu\n", ci->i_max_size,
fs/ceph/caps.c
3682
ci->i_max_size = max_size;
fs/ceph/caps.c
3683
if (max_size >= ci->i_wanted_max_size) {
fs/ceph/caps.c
3684
ci->i_wanted_max_size = 0; /* reset */
fs/ceph/caps.c
3685
ci->i_requested_max_size = 0;
fs/ceph/caps.c
3692
wanted = __ceph_caps_wanted(ci);
fs/ceph/caps.c
3693
used = __ceph_caps_used(ci);
fs/ceph/caps.c
3694
dirty = __ceph_caps_dirty(ci);
fs/ceph/caps.c
3729
} else if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
3747
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
3748
__ceph_caps_revoking_other(ci, cap, newcaps))
fs/ceph/caps.c
3763
if (cap == ci->i_auth_cap)
fs/ceph/caps.c
3770
extra_info->inline_version >= ci->i_inline_version) {
fs/ceph/caps.c
3771
ci->i_inline_version = extra_info->inline_version;
fs/ceph/caps.c
3772
if (ci->i_inline_version != CEPH_INLINE_NONE &&
fs/ceph/caps.c
3778
if (ci->i_auth_cap == cap) {
fs/ceph/caps.c
3782
if (ci->i_requested_max_size > max_size ||
fs/ceph/caps.c
3785
ci->i_requested_max_size = 0;
fs/ceph/caps.c
3789
ceph_kick_flushing_inode_caps(session, ci);
fs/ceph/caps.c
3793
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3814
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3818
ceph_check_caps(ci, flags | CHECK_CAPS_AUTHONLY | CHECK_CAPS_NOINVAL);
fs/ceph/caps.c
3820
ceph_check_caps(ci, flags | CHECK_CAPS_NOINVAL);
fs/ceph/caps.c
3831
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
3833
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3850
WRITE_ONCE(ci->i_last_cap_flush_ack, flush_tid);
fs/ceph/caps.c
3852
list_for_each_entry_safe(cf, tmp_cf, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
3866
wake_ci |= __detach_cap_flush_from_ci(ci, cf);
fs/ceph/caps.c
3882
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
3883
ceph_cap_string(ci->i_flushing_caps & ~cleaned));
fs/ceph/caps.c
3888
ci->i_flushing_caps &= ~cleaned;
fs/ceph/caps.c
3895
if (ci->i_flushing_caps == 0) {
fs/ceph/caps.c
3896
if (list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
3897
list_del_init(&ci->i_flushing_item);
fs/ceph/caps.c
3911
if (ci->i_dirty_caps == 0) {
fs/ceph/caps.c
3914
BUG_ON(!list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
3916
if (ci->i_wr_ref == 0 &&
fs/ceph/caps.c
3917
ci->i_wrbuffer_ref_head == 0) {
fs/ceph/caps.c
3918
BUG_ON(!ci->i_head_snapc);
fs/ceph/caps.c
3919
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
3920
ci->i_head_snapc = NULL;
fs/ceph/caps.c
3923
BUG_ON(list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
3929
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3940
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3950
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3955
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
3958
inode, ceph_vinop(inode), ci);
fs/ceph/caps.c
3961
ret = __detach_cap_flush_from_ci(ci, &capsnap->cap_flush);
fs/ceph/caps.c
3966
if (list_empty(&ci->i_cap_flush_list))
fs/ceph/caps.c
3967
list_del_init(&ci->i_flushing_item);
fs/ceph/caps.c
3978
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3980
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
3996
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4005
ceph_vinop(inode), ci, session->s_mds, follows);
fs/ceph/caps.c
4007
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4008
list_for_each_entry(iter, &ci->i_cap_snaps, ci_item) {
fs/ceph/caps.c
4026
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4032
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
4049
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4057
int dirty = __ceph_caps_dirty(ci);
fs/ceph/caps.c
4061
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
4096
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4116
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4117
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4142
tcap = __get_cap_for_mds(ci, target);
fs/ceph/caps.c
4154
if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
4155
ci->i_auth_cap = tcap;
fs/ceph/caps.c
4156
change_auth_cap_ses(ci, tcap->session);
fs/ceph/caps.c
4163
int flag = (cap == ci->i_auth_cap) ? CEPH_CAP_FLAG_AUTH : 0;
fs/ceph/caps.c
4168
if (!list_empty(&ci->i_cap_flush_list) &&
fs/ceph/caps.c
4169
ci->i_auth_cap == tcap) {
fs/ceph/caps.c
4171
list_move_tail(&ci->i_flushing_item,
fs/ceph/caps.c
4180
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4206
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4228
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4257
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4260
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4262
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4273
__ceph_caps_issued(ci, &issued);
fs/ceph/caps.c
4274
issued |= __ceph_caps_dirty(ci);
fs/ceph/caps.c
4279
ocap = peer >= 0 ? __get_cap_for_mds(ci, peer) : NULL;
fs/ceph/caps.c
4357
struct ceph_inode_info *ci;
fs/ceph/caps.c
442
struct ceph_cap *__get_cap_for_mds(struct ceph_inode_info *ci, int mds)
fs/ceph/caps.c
445
struct rb_node *n = ci->i_caps.rb_node;
fs/ceph/caps.c
4499
ci = ceph_inode(inode);
fs/ceph/caps.c
4527
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4538
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4544
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4560
__ceph_caps_issued(ci, &extra_info.issued);
fs/ceph/caps.c
4561
extra_info.issued |= __ceph_caps_dirty(ci);
fs/ceph/caps.c
4574
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4580
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
459
struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci, int mds)
fs/ceph/caps.c
463
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4639
struct ceph_inode_info *ci;
fs/ceph/caps.c
464
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4648
ci = list_first_entry(&mdsc->cap_delay_list,
fs/ceph/caps.c
465
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4651
if (time_before(loop_start, ci->i_hold_caps_max - delay_max)) {
fs/ceph/caps.c
4653
delay = ci->i_hold_caps_max;
fs/ceph/caps.c
4656
if ((ci->i_ceph_flags & CEPH_I_FLUSH) == 0 &&
fs/ceph/caps.c
4657
time_before(jiffies, ci->i_hold_caps_max))
fs/ceph/caps.c
4659
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
4661
inode = igrab(&ci->netfs.inode);
fs/ceph/caps.c
4666
ceph_check_caps(ci, 0);
fs/ceph/caps.c
4692
struct ceph_inode_info *ci;
fs/ceph/caps.c
4698
ci = list_first_entry(&s->s_cap_dirty, struct ceph_inode_info,
fs/ceph/caps.c
4700
inode = &ci->netfs.inode;
fs/ceph/caps.c
4705
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/caps.c
472
static void __insert_cap_node(struct ceph_inode_info *ci,
fs/ceph/caps.c
4740
void __ceph_touch_fmode(struct ceph_inode_info *ci,
fs/ceph/caps.c
4745
ci->i_last_rd = now;
fs/ceph/caps.c
4747
ci->i_last_wr = now;
fs/ceph/caps.c
475
struct rb_node **p = &ci->i_caps.rb_node;
fs/ceph/caps.c
4750
__ceph_is_any_real_caps(ci) &&
fs/ceph/caps.c
4751
list_empty(&ci->i_cap_delay_list))
fs/ceph/caps.c
4752
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
4755
void ceph_get_fmode(struct ceph_inode_info *ci, int fmode, int count)
fs/ceph/caps.c
4757
struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(ci->netfs.inode.i_sb);
fs/ceph/caps.c
4765
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4772
if (i && ci->i_nr_by_mode[i])
fs/ceph/caps.c
4776
ci->i_nr_by_mode[i] += count;
fs/ceph/caps.c
4781
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4789
void ceph_put_fmode(struct ceph_inode_info *ci, int fmode, int count)
fs/ceph/caps.c
4791
struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(ci->netfs.inode.i_sb);
fs/ceph/caps.c
4799
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4802
BUG_ON(ci->i_nr_by_mode[i] < count);
fs/ceph/caps.c
4803
ci->i_nr_by_mode[i] -= count;
fs/ceph/caps.c
4811
if (i && ci->i_nr_by_mode[i])
fs/ceph/caps.c
4817
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4828
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4831
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4833
drop |= ~(__ceph_caps_wanted(ci) | CEPH_CAP_PIN);
fs/ceph/caps.c
4835
if (__ceph_caps_dirty(ci)) {
fs/ceph/caps.c
4842
set_bit(CEPH_I_FLUSH_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
4843
if (!list_empty(&ci->i_cap_delay_list))
fs/ceph/caps.c
4844
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
4845
list_add_tail(&ci->i_cap_delay_list,
fs/ceph/caps.c
4856
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4871
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4878
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4879
used = __ceph_caps_used(ci);
fs/ceph/caps.c
4880
dirty = __ceph_caps_dirty(ci);
fs/ceph/caps.c
4889
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4905
int wanted = __ceph_caps_wanted(ci);
fs/ceph/caps.c
491
rb_insert_color(&new->ci_node, &ci->i_caps);
fs/ceph/caps.c
4917
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
4919
ci->i_requested_max_size = 0;
fs/ceph/caps.c
4943
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
499
struct ceph_inode_info *ci)
fs/ceph/caps.c
501
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
5010
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
5015
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
5018
ci, inode, ceph_vinop(inode));
fs/ceph/caps.c
5020
while (!list_empty(&ci->i_cap_snaps)) {
fs/ceph/caps.c
5021
capsnap = list_first_entry(&ci->i_cap_snaps,
fs/ceph/caps.c
5028
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
5038
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
504
ci->i_hold_caps_max = round_jiffies(jiffies +
fs/ceph/caps.c
5043
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
5046
cap, ci, inode, ceph_vinop(inode));
fs/ceph/caps.c
5048
is_auth = (cap == ci->i_auth_cap);
fs/ceph/caps.c
5056
if (ci->i_wrbuffer_ref > 0)
fs/ceph/caps.c
5063
while (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
5064
cf = list_first_entry(&ci->i_cap_flush_list,
fs/ceph/caps.c
507
ceph_vinop(inode), ci->i_hold_caps_max - jiffies);
fs/ceph/caps.c
5072
if (!list_empty(&ci->i_dirty_item)) {
fs/ceph/caps.c
5075
ceph_cap_string(ci->i_dirty_caps),
fs/ceph/caps.c
5077
ci->i_dirty_caps = 0;
fs/ceph/caps.c
5078
list_del_init(&ci->i_dirty_item);
fs/ceph/caps.c
5081
if (!list_empty(&ci->i_flushing_item)) {
fs/ceph/caps.c
5084
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
5086
ci->i_flushing_caps = 0;
fs/ceph/caps.c
5087
list_del_init(&ci->i_flushing_item);
fs/ceph/caps.c
5096
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/caps.c
5097
ci->i_wr_ref == 0 &&
fs/ceph/caps.c
5098
ci->i_dirty_caps == 0 &&
fs/ceph/caps.c
5099
ci->i_flushing_caps == 0) {
fs/ceph/caps.c
5100
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
5101
ci->i_head_snapc = NULL;
fs/ceph/caps.c
5105
if (atomic_read(&ci->i_filelock_ref) > 0) {
fs/ceph/caps.c
5107
set_bit(CEPH_I_ERROR_FILELOCK_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
5113
if (!ci->i_dirty_caps && ci->i_prealloc_cap_flush) {
fs/ceph/caps.c
5114
cf = ci->i_prealloc_cap_flush;
fs/ceph/caps.c
5115
ci->i_prealloc_cap_flush = NULL;
fs/ceph/caps.c
5120
if (!list_empty(&ci->i_cap_snaps))
fs/ceph/caps.c
519
struct ceph_inode_info *ci)
fs/ceph/caps.c
52
struct ceph_inode_info *ci,
fs/ceph/caps.c
521
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
524
inode, ceph_vinop(inode), ci->i_ceph_flags,
fs/ceph/caps.c
525
ci->i_hold_caps_max);
fs/ceph/caps.c
528
if (!list_empty(&ci->i_cap_delay_list)) {
fs/ceph/caps.c
529
if (ci->i_ceph_flags & CEPH_I_FLUSH)
fs/ceph/caps.c
531
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
533
__cap_set_timeouts(mdsc, ci);
fs/ceph/caps.c
534
list_add_tail(&ci->i_cap_delay_list, &mdsc->cap_delay_list);
fs/ceph/caps.c
546
struct ceph_inode_info *ci)
fs/ceph/caps.c
548
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
552
set_bit(CEPH_I_FLUSH_BIT, &ci->i_ceph_flags);
fs/ceph/caps.c
553
if (!list_empty(&ci->i_cap_delay_list))
fs/ceph/caps.c
554
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
555
list_add(&ci->i_cap_delay_list, &mdsc->cap_delay_list);
fs/ceph/caps.c
565
struct ceph_inode_info *ci)
fs/ceph/caps.c
567
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
570
if (list_empty(&ci->i_cap_delay_list))
fs/ceph/caps.c
573
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
578
static void __check_cap_issue(struct ceph_inode_info *ci, struct ceph_cap *cap,
fs/ceph/caps.c
581
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
584
unsigned had = __ceph_caps_issued(ci, NULL);
fs/ceph/caps.c
586
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
592
if (S_ISREG(ci->netfs.inode.i_mode) &&
fs/ceph/caps.c
595
ci->i_rdcache_gen++;
fs/ceph/caps.c
606
atomic_inc(&ci->i_shared_gen);
fs/ceph/caps.c
607
if (S_ISDIR(ci->netfs.inode.i_mode)) {
fs/ceph/caps.c
609
__ceph_dir_clear_complete(ci);
fs/ceph/caps.c
614
if (S_ISDIR(ci->netfs.inode.i_mode) && (had & CEPH_CAP_DIR_CREATE) &&
fs/ceph/caps.c
616
ceph_put_string(rcu_dereference_raw(ci->i_cached_layout.pool_ns));
fs/ceph/caps.c
617
memset(&ci->i_cached_layout, 0, sizeof(ci->i_cached_layout));
fs/ceph/caps.c
626
void change_auth_cap_ses(struct ceph_inode_info *ci,
fs/ceph/caps.c
629
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
631
if (list_empty(&ci->i_dirty_item) && list_empty(&ci->i_flushing_item))
fs/ceph/caps.c
635
if (!list_empty(&ci->i_dirty_item))
fs/ceph/caps.c
636
list_move(&ci->i_dirty_item, &session->s_cap_dirty);
fs/ceph/caps.c
637
if (!list_empty(&ci->i_flushing_item))
fs/ceph/caps.c
638
list_move_tail(&ci->i_flushing_item, &session->s_cap_flushing);
fs/ceph/caps.c
659
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
665
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
673
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
684
cap->ci = ci;
fs/ceph/caps.c
685
__insert_cap_node(ci, cap);
fs/ceph/caps.c
712
WARN_ON(cap != ci->i_auth_cap);
fs/ceph/caps.c
721
if (!ci->i_snap_realm ||
fs/ceph/caps.c
723
realmino != (u64)-1 && ci->i_snap_realm->ino != realmino)) {
fs/ceph/caps.c
733
__func__, realmino, ci->i_vino.ino,
fs/ceph/caps.c
734
ci->i_snap_realm ? ci->i_snap_realm->ino : 0);
fs/ceph/caps.c
737
__check_cap_issue(ci, cap, issued);
fs/ceph/caps.c
744
actual_wanted = __ceph_caps_wanted(ci);
fs/ceph/caps.c
750
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
754
if (!ci->i_auth_cap ||
fs/ceph/caps.c
755
ceph_seq_cmp(ci->i_auth_cap->mseq, mseq) < 0) {
fs/ceph/caps.c
756
if (ci->i_auth_cap &&
fs/ceph/caps.c
757
ci->i_auth_cap->session != cap->session)
fs/ceph/caps.c
758
change_auth_cap_ses(ci, cap->session);
fs/ceph/caps.c
759
ci->i_auth_cap = cap;
fs/ceph/caps.c
763
WARN_ON(ci->i_auth_cap == cap);
fs/ceph/caps.c
780
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
790
struct inode *inode = &cap->ci->netfs.inode;
fs/ceph/caps.c
813
int __ceph_caps_issued(struct ceph_inode_info *ci, int *implemented)
fs/ceph/caps.c
815
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
817
int have = ci->i_snap_caps;
fs/ceph/caps.c
823
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
838
if (ci->i_auth_cap) {
fs/ceph/caps.c
839
cap = ci->i_auth_cap;
fs/ceph/caps.c
848
int __ceph_caps_issued_other(struct ceph_inode_info *ci, struct ceph_cap *ocap)
fs/ceph/caps.c
850
int have = ci->i_snap_caps;
fs/ceph/caps.c
854
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
871
struct inode *inode = &cap->ci->netfs.inode;
fs/ceph/caps.c
892
int __ceph_caps_issued_mask(struct ceph_inode_info *ci, int mask, int touch)
fs/ceph/caps.c
894
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
898
int have = ci->i_snap_caps;
fs/ceph/caps.c
907
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
933
for (q = rb_first(&ci->i_caps); q != p;
fs/ceph/caps.c
950
int __ceph_caps_issued_mask_metric(struct ceph_inode_info *ci, int mask,
fs/ceph/caps.c
953
struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb);
fs/ceph/caps.c
956
r = __ceph_caps_issued_mask(ci, mask, touch);
fs/ceph/caps.c
967
int __ceph_caps_revoking_other(struct ceph_inode_info *ci,
fs/ceph/caps.c
973
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
982
int __ceph_caps_used(struct ceph_inode_info *ci)
fs/ceph/caps.c
985
if (ci->i_pin_ref)
fs/ceph/caps.c
987
if (ci->i_rd_ref)
fs/ceph/caps.c
989
if (ci->i_rdcache_ref ||
fs/ceph/caps.c
990
(S_ISREG(ci->netfs.inode.i_mode) &&
fs/ceph/caps.c
991
ci->netfs.inode.i_data.nrpages))
fs/ceph/caps.c
993
if (ci->i_wr_ref)
fs/ceph/caps.c
995
if (ci->i_wb_ref || ci->i_wrbuffer_ref)
fs/ceph/caps.c
997
if (ci->i_fx_ref)
fs/ceph/crypto.c
107
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/crypto.c
127
WARN_ON_ONCE(ci->fscrypt_auth);
fs/ceph/crypto.c
128
kfree(ci->fscrypt_auth);
fs/ceph/crypto.c
129
ci->fscrypt_auth_len = ceph_fscrypt_auth_len(as->fscrypt_auth);
fs/ceph/crypto.c
130
ci->fscrypt_auth = kmemdup(as->fscrypt_auth, ci->fscrypt_auth_len,
fs/ceph/crypto.c
132
if (!ci->fscrypt_auth)
fs/ceph/crypto.c
20
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/crypto.c
21
struct ceph_fscrypt_auth *cfa = (struct ceph_fscrypt_auth *)ci->fscrypt_auth;
fs/ceph/crypto.c
25
if (!cfa || (ci->fscrypt_auth_len < (offsetof(struct ceph_fscrypt_auth, cfa_blob) + 1)))
fs/ceph/crypto.c
517
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/crypto.c
528
ceph_calc_file_object_mapping(&ci->i_layout, off, map[0].len,
fs/ceph/crypto.c
72
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/crypto.c
74
return ci->i_rsubdirs + ci->i_rfiles == 1;
fs/ceph/debugfs.c
284
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/debugfs.c
288
spin_lock(&ci->i_ceph_lock);
fs/ceph/debugfs.c
289
cap = __get_cap_for_mds(ci, mds);
fs/ceph/debugfs.c
295
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1306
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/dir.c
1310
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
1311
if ((__ceph_caps_issued(ci, NULL) & want) == want) {
fs/ceph/dir.c
1312
ceph_take_cap_refs(ci, want, false);
fs/ceph/dir.c
1315
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1327
if (atomic_read(&ci->i_shared_gen) != di->lease_shared_gen ||
fs/ceph/dir.c
1336
ceph_put_cap_refs(ci, got);
fs/ceph/dir.c
1349
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/dir.c
1443
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
1446
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1905
struct ceph_inode_info *ci;
fs/ceph/dir.c
1914
ci = ceph_inode(dir);
fs/ceph/dir.c
1916
if (spin_trylock(&ci->i_ceph_lock)) {
fs/ceph/dir.c
1917
if (atomic_read(&ci->i_shared_gen) == di->lease_shared_gen &&
fs/ceph/dir.c
1918
__ceph_caps_issued_mask(ci, CEPH_CAP_FILE_SHARED, 0))
fs/ceph/dir.c
1920
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1936
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/dir.c
1941
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
1942
valid = __ceph_caps_issued_mask(ci, CEPH_CAP_FILE_SHARED, 1);
fs/ceph/dir.c
1944
__ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_RD);
fs/ceph/dir.c
1945
shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/dir.c
1947
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1960
ceph_vinop(dir), (unsigned)atomic_read(&ci->i_shared_gen),
fs/ceph/dir.c
2159
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/dir.c
2180
ci->i_files + ci->i_subdirs,
fs/ceph/dir.c
2181
ci->i_files,
fs/ceph/dir.c
2182
ci->i_subdirs,
fs/ceph/dir.c
2183
ci->i_rfiles + ci->i_rsubdirs,
fs/ceph/dir.c
2184
ci->i_rfiles,
fs/ceph/dir.c
2185
ci->i_rsubdirs,
fs/ceph/dir.c
2186
ci->i_rbytes,
fs/ceph/dir.c
2187
&ci->i_rctime);
fs/ceph/dir.c
321
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/dir.c
363
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
366
__ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_WR);
fs/ceph/dir.c
371
__ceph_dir_is_complete_ordered(ci) &&
fs/ceph/dir.c
372
__ceph_caps_issued_mask_metric(ci, CEPH_CAP_FILE_SHARED, 1)) {
fs/ceph/dir.c
373
int shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/dir.c
375
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
380
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
401
frag = ceph_choose_frag(ci, fpos_hash(ctx->pos),
fs/ceph/dir.c
616
if (atomic64_read(&ci->i_release_count) ==
fs/ceph/dir.c
618
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
620
atomic64_read(&ci->i_ordered_count)) {
fs/ceph/dir.c
632
__ceph_dir_set_complete(ci, dfi->dir_release_count,
fs/ceph/dir.c
634
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
832
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/dir.c
835
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
837
ceph_vinop(dir), ci->i_ceph_flags);
fs/ceph/dir.c
843
__ceph_dir_is_complete(ci) &&
fs/ceph/dir.c
844
__ceph_caps_issued_mask_metric(ci, CEPH_CAP_FILE_SHARED, 1)) {
fs/ceph/dir.c
845
__ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_RD);
fs/ceph/dir.c
846
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
851
di->lease_shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/dir.c
854
spin_unlock(&ci->i_ceph_lock);
fs/ceph/export.c
192
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/export.c
204
if ((inode->i_nlink == 0) && !__ceph_is_file_opened(ci)) {
fs/ceph/file.c
1019
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1027
ceph_put_fmode(ci, dfi->file_info.fmode, 1);
fs/ceph/file.c
1041
ceph_put_fmode(ci, fi->fmode, 1);
fs/ceph/file.c
1047
wake_up_all(&ci->i_cap_wq);
fs/ceph/file.c
1071
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1121
req = ceph_osdc_new_request(osdc, &ci->i_layout,
fs/ceph/file.c
1122
ci->i_vino, read_off, &read_len, 0, 1,
fs/ceph/file.c
1126
NULL, ci->i_truncate_seq,
fs/ceph/file.c
1127
ci->i_truncate_size, false);
fs/ceph/file.c
1317
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1338
ceph_check_caps(ci, CHECK_CAPS_AUTHONLY);
fs/ceph/file.c
1341
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
1342
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/file.c
1344
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
1350
ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR :
fs/ceph/file.c
1459
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1464
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
1465
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/file.c
1467
list_last_entry(&ci->i_cap_snaps,
fs/ceph/file.c
1472
BUG_ON(!ci->i_head_snapc);
fs/ceph/file.c
1473
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/file.c
1475
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
1525
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1580
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/file.c
1585
ci->i_truncate_seq,
fs/ceph/file.c
1586
ci->i_truncate_size,
fs/ceph/file.c
1725
ceph_get_cap_refs(ci, write ? CEPH_CAP_FILE_WR :
fs/ceph/file.c
1765
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1808
ceph_calc_file_object_mapping(&ci->i_layout, write_pos,
fs/ceph/file.c
1828
ci->i_vino.ino, pos, len, write_pos, write_len,
fs/ceph/file.c
1860
req = ceph_osdc_new_request(osdc, &ci->i_layout,
fs/ceph/file.c
1861
ci->i_vino, first ? first_pos : last_pos,
fs/ceph/file.c
1864
NULL, ci->i_truncate_seq,
fs/ceph/file.c
1865
ci->i_truncate_size, false);
fs/ceph/file.c
1905
ci->i_truncate_size,
fs/ceph/file.c
1906
ci->i_truncate_seq);
fs/ceph/file.c
2058
req = ceph_osdc_new_request(osdc, &ci->i_layout,
fs/ceph/file.c
2059
ci->i_vino, write_pos, &write_len,
fs/ceph/file.c
2063
snapc, ci->i_truncate_seq,
fs/ceph/file.c
2064
ci->i_truncate_size, false);
fs/ceph/file.c
2122
ceph_set_error_write(ci);
fs/ceph/file.c
2126
ceph_clear_error_write(ci);
fs/ceph/file.c
2174
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2215
if (!ceph_has_inline_data(ci)) {
fs/ceph/file.c
222
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
224
ceph_inode_to_fs_client(&ci->netfs.inode)->mount_options;
fs/ceph/file.c
2241
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2329
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2340
if (ceph_has_inline_data(ci) ||
fs/ceph/file.c
2361
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2377
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2398
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2456
pool_flags = ceph_pg_pool_flags(osdc->osdmap, ci->i_layout.pool_id);
fs/ceph/file.c
2491
test_bit(CEPH_I_ERROR_WRITE_BIT, &ci->i_ceph_flags)) {
fs/ceph/file.c
2495
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2496
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/file.c
2498
list_last_entry(&ci->i_cap_snaps,
fs/ceph/file.c
2503
BUG_ON(!ci->i_head_snapc);
fs/ceph/file.c
2504
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/file.c
2506
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2537
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2538
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/file.c
254
ceph_get_fmode(ci, fmode, 1);
fs/ceph/file.c
2540
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2544
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/file.c
2550
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2567
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
261
if ((file->f_mode & FMODE_WRITE) && ceph_has_inline_data(ci)) {
fs/ceph/file.c
2634
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2652
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2653
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/file.c
2655
list_last_entry(&ci->i_cap_snaps,
fs/ceph/file.c
2660
BUG_ON(!ci->i_head_snapc);
fs/ceph/file.c
2661
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/file.c
2663
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2665
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/file.c
2691
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2692
s32 stripe_unit = ci->i_layout.stripe_unit;
fs/ceph/file.c
2693
s32 stripe_count = ci->i_layout.stripe_count;
fs/ceph/file.c
2694
s32 object_size = ci->i_layout.object_size;
fs/ceph/file.c
271
ceph_put_fmode(ci, fi->fmode, 1);
fs/ceph/file.c
2739
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
274
wake_up_all(&ci->i_cap_wq);
fs/ceph/file.c
2798
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2799
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/file.c
2801
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2808
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
323
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
327
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
328
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/file.c
329
wanted = __ceph_caps_file_wanted(ci);
fs/ceph/file.c
330
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/file.c
331
if (__ceph_is_any_real_caps(ci) &&
fs/ceph/file.c
332
(!(wanted & CEPH_CAP_ANY_WR) || ci->i_auth_cap) &&
fs/ceph/file.c
334
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
338
ceph_check_caps(ci, 0);
fs/ceph/file.c
341
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
381
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
454
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
455
if (!do_sync && __ceph_is_any_real_caps(ci) &&
fs/ceph/file.c
456
(((fmode & CEPH_FILE_MODE_WR) == 0) || ci->i_auth_cap)) {
fs/ceph/file.c
457
int mds_wanted = __ceph_caps_mds_wanted(ci, true);
fs/ceph/file.c
458
int issued = __ceph_caps_issued(ci, NULL);
fs/ceph/file.c
463
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/file.c
464
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
470
ceph_check_caps(ci, 0);
fs/ceph/file.c
474
(ci->i_snap_caps & wanted) == wanted) {
fs/ceph/file.c
475
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/file.c
476
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
480
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
528
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/file.c
533
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
535
if (!ci->i_auth_cap)
fs/ceph/file.c
539
if (xa_empty(&ci->i_auth_cap->session->s_delegated_inos))
fs/ceph/file.c
542
if (!ceph_file_layout_is_valid(&ci->i_cached_layout))
fs/ceph/file.c
545
if ((__ceph_caps_issued(ci, NULL) & want) != want)
fs/ceph/file.c
549
if (!__ceph_dir_is_complete(ci))
fs/ceph/file.c
552
di->lease_shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/file.c
554
} else if (atomic_read(&ci->i_shared_gen) !=
fs/ceph/file.c
559
ino = ceph_get_deleg_ino(ci->i_auth_cap->session);
fs/ceph/file.c
564
ceph_take_cap_refs(ci, want, false);
fs/ceph/file.c
565
memcpy(lo, &ci->i_cached_layout, sizeof(*lo));
fs/ceph/file.c
567
ceph_try_get_string(ci->i_cached_layout.pool_ns));
fs/ceph/file.c
570
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
577
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/file.c
580
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
581
if (ci->i_auth_cap)
fs/ceph/file.c
582
s = ceph_get_mds_session(ci->i_auth_cap->session);
fs/ceph/file.c
583
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
597
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
600
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
601
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE) {
fs/ceph/file.c
603
clear_and_wake_up_bit(CEPH_I_ASYNC_CREATE_BIT, &ci->i_ceph_flags);
fs/ceph/file.c
606
&ci->i_ceph_flags))
fs/ceph/file.c
609
ceph_kick_flushing_inode_caps(session, ci);
fs/ceph/file.c
610
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
613
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/file.c
683
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/file.c
713
in.cap.realm = cpu_to_le64(ci->i_snap_realm->ino);
fs/ceph/inode.c
1022
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
1040
le64_to_cpu(info->version), ci->i_version);
fs/ceph/inode.c
1088
if (ceph_snap(inode) != CEPH_NOSNAP && !ci->i_snapid_map)
fs/ceph/inode.c
1089
ci->i_snapid_map = ceph_get_snapid_map(mdsc, ceph_snap(inode));
fs/ceph/inode.c
1091
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
1104
if (ci->i_version == 0 ||
fs/ceph/inode.c
1106
le64_to_cpu(info->version) > (ci->i_version & ~1)))
fs/ceph/inode.c
1112
__ceph_caps_issued(ci, &issued);
fs/ceph/inode.c
1113
issued |= __ceph_caps_dirty(ci);
fs/ceph/inode.c
1116
__ceph_update_quota(ci, iinfo->max_bytes, iinfo->max_files);
fs/ceph/inode.c
1121
((inode_state_read_once(inode) & I_NEW) || (ci->fscrypt_auth_len == 0))) {
fs/ceph/inode.c
1122
kfree(ci->fscrypt_auth);
fs/ceph/inode.c
1123
ci->fscrypt_auth_len = iinfo->fscrypt_auth_len;
fs/ceph/inode.c
1124
ci->fscrypt_auth = iinfo->fscrypt_auth;
fs/ceph/inode.c
1140
ceph_decode_timespec64(&ci->i_btime, &iinfo->btime);
fs/ceph/inode.c
1141
ceph_decode_timespec64(&ci->i_snap_btime, &iinfo->snap_btime);
fs/ceph/inode.c
1168
ci->i_files = le64_to_cpu(info->files);
fs/ceph/inode.c
1169
ci->i_subdirs = le64_to_cpu(info->subdirs);
fs/ceph/inode.c
1175
s64 old_pool = ci->i_layout.pool_id;
fs/ceph/inode.c
1178
ceph_file_layout_from_legacy(&ci->i_layout, &info->layout);
fs/ceph/inode.c
1179
old_ns = rcu_dereference_protected(ci->i_layout.pool_ns,
fs/ceph/inode.c
1180
lockdep_is_held(&ci->i_ceph_lock));
fs/ceph/inode.c
1181
rcu_assign_pointer(ci->i_layout.pool_ns, pool_ns);
fs/ceph/inode.c
1183
if (ci->i_layout.pool_id != old_pool || pool_ns != old_ns)
fs/ceph/inode.c
1184
clear_bit(CEPH_I_POOL_PERM_BIT, &ci->i_ceph_flags);
fs/ceph/inode.c
1207
ci->i_max_size != le64_to_cpu(info->max_size)) {
fs/ceph/inode.c
1209
ci->i_max_size, le64_to_cpu(info->max_size));
fs/ceph/inode.c
1210
ci->i_max_size = le64_to_cpu(info->max_size);
fs/ceph/inode.c
1218
ci->i_dir_layout = iinfo->dir_layout;
fs/ceph/inode.c
1219
ci->i_rbytes = le64_to_cpu(info->rbytes);
fs/ceph/inode.c
1220
ci->i_rfiles = le64_to_cpu(info->rfiles);
fs/ceph/inode.c
1221
ci->i_rsubdirs = le64_to_cpu(info->rsubdirs);
fs/ceph/inode.c
1222
ci->i_dir_pin = iinfo->dir_pin;
fs/ceph/inode.c
1223
ci->i_rsnaps = iinfo->rsnaps;
fs/ceph/inode.c
1224
ceph_decode_timespec64(&ci->i_rctime, &info->rctime);
fs/ceph/inode.c
1230
if ((ci->i_xattrs.version == 0 || !(issued & CEPH_CAP_XATTR_EXCL)) &&
fs/ceph/inode.c
1231
le64_to_cpu(info->xattr_version) > ci->i_xattrs.version) {
fs/ceph/inode.c
1232
if (ci->i_xattrs.blob)
fs/ceph/inode.c
1233
old_blob = ci->i_xattrs.blob;
fs/ceph/inode.c
1234
ci->i_xattrs.blob = xattr_blob;
fs/ceph/inode.c
1236
memcpy(ci->i_xattrs.blob->vec.iov_base,
fs/ceph/inode.c
1238
ci->i_xattrs.version = le64_to_cpu(info->xattr_version);
fs/ceph/inode.c
1245
if (le64_to_cpu(info->version) > ci->i_version)
fs/ceph/inode.c
1246
ci->i_version = le64_to_cpu(info->version);
fs/ceph/inode.c
1264
if (!ci->i_symlink) {
fs/ceph/inode.c
1268
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
1304
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
1305
if (!ci->i_symlink)
fs/ceph/inode.c
1306
ci->i_symlink = sym;
fs/ceph/inode.c
1318
inode->i_link = ci->i_symlink;
fs/ceph/inode.c
1345
ci->i_files == 0 && ci->i_subdirs == 0 &&
fs/ceph/inode.c
1348
!__ceph_dir_is_complete(ci)) {
fs/ceph/inode.c
1352
__ceph_dir_set_complete(ci,
fs/ceph/inode.c
1353
atomic64_read(&ci->i_release_count),
fs/ceph/inode.c
1354
atomic64_read(&ci->i_ordered_count));
fs/ceph/inode.c
1361
ci->i_snap_caps |= info_caps;
fs/ceph/inode.c
1366
iinfo->inline_version >= ci->i_inline_version) {
fs/ceph/inode.c
1368
ci->i_inline_version = iinfo->inline_version;
fs/ceph/inode.c
1369
if (ceph_has_inline_data(ci) &&
fs/ceph/inode.c
1378
__ceph_touch_fmode(ci, mdsc, cap_fmode);
fs/ceph/inode.c
1381
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
1390
wake_up_all(&ci->i_cap_wq);
fs/ceph/inode.c
1959
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/inode.c
1988
if (req->r_dir_release_cnt == atomic64_read(&ci->i_release_count) &&
fs/ceph/inode.c
1989
req->r_dir_ordered_cnt == atomic64_read(&ci->i_ordered_count)) {
fs/ceph/inode.c
2005
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2022
last_hash = ceph_str_hash(ci->i_dir_layout.dl_dir_hash,
fs/ceph/inode.c
2056
atomic64_read(&ci->i_release_count);
fs/ceph/inode.c
2058
atomic64_read(&ci->i_ordered_count);
fs/ceph/inode.c
2117
atomic_read(&ci->i_shared_gen)) {
fs/ceph/inode.c
2118
__ceph_dir_clear_ordered(ci);
fs/ceph/inode.c
219
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2203
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2206
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2212
ret = __ceph_should_report_size(ci);
fs/ceph/inode.c
2214
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2223
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2224
set_bit(work_bit, &ci->i_work_mask);
fs/ceph/inode.c
2227
if (queue_work(fsc->inode_wq, &ci->i_work)) {
fs/ceph/inode.c
2229
ceph_vinop(inode), ci->i_work_mask);
fs/ceph/inode.c
2232
inode, ceph_vinop(inode), ci->i_work_mask);
fs/ceph/inode.c
2240
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2246
mutex_lock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2254
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2258
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2260
ceph_vinop(inode), ci->i_rdcache_gen, ci->i_rdcache_revoking);
fs/ceph/inode.c
2261
if (ci->i_rdcache_revoking != ci->i_rdcache_gen) {
fs/ceph/inode.c
2262
if (__ceph_caps_revoking_other(ci, NULL, CEPH_CAP_FILE_CACHE))
fs/ceph/inode.c
2264
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2265
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2268
orig_gen = ci->i_rdcache_gen;
fs/ceph/inode.c
2269
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2276
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2277
if (orig_gen == ci->i_rdcache_gen &&
fs/ceph/inode.c
2278
orig_gen == ci->i_rdcache_revoking) {
fs/ceph/inode.c
2280
ceph_vinop(inode), ci->i_rdcache_gen);
fs/ceph/inode.c
2281
ci->i_rdcache_revoking--;
fs/ceph/inode.c
2285
inode, ceph_vinop(inode), orig_gen, ci->i_rdcache_gen,
fs/ceph/inode.c
2286
ci->i_rdcache_revoking);
fs/ceph/inode.c
2287
if (__ceph_caps_revoking_other(ci, NULL, CEPH_CAP_FILE_CACHE))
fs/ceph/inode.c
2290
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2291
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2294
ceph_check_caps(ci, 0);
fs/ceph/inode.c
2304
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2308
mutex_lock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2310
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2311
if (ci->i_truncate_pending == 0) {
fs/ceph/inode.c
2314
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2315
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2323
if (ci->i_wrbuffer_ref_head < ci->i_wrbuffer_ref) {
fs/ceph/inode.c
2324
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2333
WARN_ON_ONCE(ci->i_rd_ref || ci->i_wr_ref);
fs/ceph/inode.c
2335
to = ci->i_truncate_pagecache_size;
fs/ceph/inode.c
2336
wrbuffer_refs = ci->i_wrbuffer_ref;
fs/ceph/inode.c
2338
ci->i_truncate_pending, to);
fs/ceph/inode.c
2339
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2344
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2345
if (to == ci->i_truncate_pagecache_size) {
fs/ceph/inode.c
2346
ci->i_truncate_pending = 0;
fs/ceph/inode.c
2349
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2353
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2356
ceph_check_caps(ci, 0);
fs/ceph/inode.c
2358
wake_up_all(&ci->i_cap_wq);
fs/ceph/inode.c
2363
struct ceph_inode_info *ci = container_of(work, struct ceph_inode_info,
fs/ceph/inode.c
2365
struct inode *inode = &ci->netfs.inode;
fs/ceph/inode.c
2368
if (test_and_clear_bit(CEPH_I_WORK_WRITEBACK, &ci->i_work_mask)) {
fs/ceph/inode.c
2372
if (test_and_clear_bit(CEPH_I_WORK_INVALIDATE_PAGES, &ci->i_work_mask))
fs/ceph/inode.c
2375
if (test_and_clear_bit(CEPH_I_WORK_VMTRUNCATE, &ci->i_work_mask))
fs/ceph/inode.c
2378
if (test_and_clear_bit(CEPH_I_WORK_CHECK_CAPS, &ci->i_work_mask))
fs/ceph/inode.c
2379
ceph_check_caps(ci, 0);
fs/ceph/inode.c
2381
if (test_and_clear_bit(CEPH_I_WORK_FLUSH_SNAPS, &ci->i_work_mask))
fs/ceph/inode.c
2382
ceph_flush_snaps(ci, NULL);
fs/ceph/inode.c
2391
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2396
return fscrypt_get_symlink(inode, ci->i_symlink, i_size_read(inode),
fs/ceph/inode.c
243
ci->i_rbytes = 0;
fs/ceph/inode.c
244
ci->i_btime = ceph_inode(parent)->i_btime;
fs/ceph/inode.c
2442
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2462
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/inode.c
251
ci->fscrypt_auth = kmemdup(pci->fscrypt_auth,
fs/ceph/inode.c
254
if (ci->fscrypt_auth) {
fs/ceph/inode.c
256
ci->fscrypt_auth_len = pci->fscrypt_auth_len;
fs/ceph/inode.c
2560
ceph_put_cap_refs(ci, got);
fs/ceph/inode.c
2573
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2629
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2630
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/inode.c
2632
if (!ci->i_head_snapc &&
fs/ceph/inode.c
2636
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2638
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2639
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/inode.c
2651
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2656
ceph_vinop(inode), ci->fscrypt_auth_len, len);
fs/ceph/inode.c
2659
WARN_ON_ONCE(ci->fscrypt_auth);
fs/ceph/inode.c
2663
kfree(ci->fscrypt_auth);
fs/ceph/inode.c
2664
ci->fscrypt_auth = (u8 *)cia->fscrypt_auth;
fs/ceph/inode.c
2665
ci->fscrypt_auth_len = len;
fs/ceph/inode.c
2667
ci->fscrypt_auth_len != len ||
fs/ceph/inode.c
2668
memcmp(ci->fscrypt_auth, cia->fscrypt_auth, len)) {
fs/ceph/inode.c
267
ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */
fs/ceph/inode.c
2678
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2740
ci->i_time_warp_seq++;
fs/ceph/inode.c
2783
ci->i_reported_size = attr->ia_size;
fs/ceph/inode.c
2815
ci->i_time_warp_seq++;
fs/ceph/inode.c
2861
inode_dirty_flags = __ceph_mark_dirty_caps(ci, dirtied,
fs/ceph/inode.c
2868
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
301
static struct ceph_inode_frag *__get_or_create_frag(struct ceph_inode_info *ci,
fs/ceph/inode.c
304
struct inode *inode = &ci->netfs.inode;
fs/ceph/inode.c
311
p = &ci->i_fragtree.rb_node;
fs/ceph/inode.c
3152
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
3175
if (ci->i_btime.tv_sec || ci->i_btime.tv_nsec) {
fs/ceph/inode.c
3176
stat->btime = ci->i_btime;
fs/ceph/inode.c
3188
stat->dev = ci->i_snapid_map ? ci->i_snapid_map->dev : 0;
fs/ceph/inode.c
3192
stat->size = ci->i_rbytes;
fs/ceph/inode.c
3212
stat->size = ci->i_files + ci->i_subdirs;
fs/ceph/inode.c
3223
stat->nlink = 1 + 1 + ci->i_subdirs;
fs/ceph/inode.c
3238
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
3243
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
3244
set_bit(CEPH_I_SHUTDOWN_BIT, &ci->i_ceph_flags);
fs/ceph/inode.c
3245
p = rb_first(&ci->i_caps);
fs/ceph/inode.c
3252
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
334
rb_insert_color(&frag->node, &ci->i_fragtree);
fs/ceph/inode.c
343
struct ceph_inode_frag *__ceph_find_frag(struct ceph_inode_info *ci, u32 f)
fs/ceph/inode.c
345
struct rb_node *n = ci->i_fragtree.rb_node;
fs/ceph/inode.c
366
static u32 __ceph_choose_frag(struct ceph_inode_info *ci, u32 v,
fs/ceph/inode.c
369
struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode);
fs/ceph/inode.c
380
frag = __ceph_find_frag(ci, t);
fs/ceph/inode.c
409
u32 ceph_choose_frag(struct ceph_inode_info *ci, u32 v,
fs/ceph/inode.c
413
mutex_lock(&ci->i_fragtree_mutex);
fs/ceph/inode.c
414
ret = __ceph_choose_frag(ci, v, pfrag, found);
fs/ceph/inode.c
415
mutex_unlock(&ci->i_fragtree_mutex);
fs/ceph/inode.c
427
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
437
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
438
if (ci->i_auth_cap)
fs/ceph/inode.c
439
diri_auth = ci->i_auth_cap->mds;
fs/ceph/inode.c
440
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
445
mutex_lock(&ci->i_fragtree_mutex);
fs/ceph/inode.c
448
frag = __ceph_find_frag(ci, id);
fs/ceph/inode.c
455
rb_erase(&frag->node, &ci->i_fragtree);
fs/ceph/inode.c
469
frag = __get_or_create_frag(ci, id);
fs/ceph/inode.c
47
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
488
mutex_unlock(&ci->i_fragtree_mutex);
fs/ceph/inode.c
50
ci->i_vino = *(struct ceph_vino *)data;
fs/ceph/inode.c
51
inode->i_ino = ceph_vino_to_ino_t(ci->i_vino);
fs/ceph/inode.c
514
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
521
mutex_lock(&ci->i_fragtree_mutex);
fs/ceph/inode.c
523
if (nsplits != ci->i_fragtree_nsplits) {
fs/ceph/inode.c
528
if (!__ceph_find_frag(ci, id))
fs/ceph/inode.c
530
} else if (!RB_EMPTY_ROOT(&ci->i_fragtree)) {
fs/ceph/inode.c
531
rb_node = rb_first(&ci->i_fragtree);
fs/ceph/inode.c
538
if (id != __ceph_choose_frag(ci, id, NULL, NULL))
fs/ceph/inode.c
550
rb_node = rb_first(&ci->i_fragtree);
fs/ceph/inode.c
574
rb_erase(&frag->node, &ci->i_fragtree);
fs/ceph/inode.c
576
ci->i_fragtree_nsplits--;
fs/ceph/inode.c
582
frag = __get_or_create_frag(ci, id);
fs/ceph/inode.c
587
ci->i_fragtree_nsplits++;
fs/ceph/inode.c
598
rb_erase(&frag->node, &ci->i_fragtree);
fs/ceph/inode.c
600
ci->i_fragtree_nsplits--;
fs/ceph/inode.c
605
mutex_unlock(&ci->i_fragtree_mutex);
fs/ceph/inode.c
615
struct ceph_inode_info *ci;
fs/ceph/inode.c
618
ci = alloc_inode_sb(sb, ceph_inode_cachep, GFP_NOFS);
fs/ceph/inode.c
619
if (!ci)
fs/ceph/inode.c
622
doutc(fsc->client, "%p\n", &ci->netfs.inode);
fs/ceph/inode.c
625
netfs_inode_init(&ci->netfs, &ceph_netfs_ops, false);
fs/ceph/inode.c
627
spin_lock_init(&ci->i_ceph_lock);
fs/ceph/inode.c
629
ci->i_version = 0;
fs/ceph/inode.c
630
ci->i_inline_version = 0;
fs/ceph/inode.c
631
ci->i_time_warp_seq = 0;
fs/ceph/inode.c
632
ci->i_ceph_flags = 0;
fs/ceph/inode.c
633
atomic64_set(&ci->i_ordered_count, 1);
fs/ceph/inode.c
634
atomic64_set(&ci->i_release_count, 1);
fs/ceph/inode.c
635
atomic64_set(&ci->i_complete_seq[0], 0);
fs/ceph/inode.c
636
atomic64_set(&ci->i_complete_seq[1], 0);
fs/ceph/inode.c
637
ci->i_symlink = NULL;
fs/ceph/inode.c
639
ci->i_max_bytes = 0;
fs/ceph/inode.c
640
ci->i_max_files = 0;
fs/ceph/inode.c
641
ci->i_subvolume_id = CEPH_SUBVOLUME_ID_NONE;
fs/ceph/inode.c
643
memset(&ci->i_dir_layout, 0, sizeof(ci->i_dir_layout));
fs/ceph/inode.c
644
memset(&ci->i_cached_layout, 0, sizeof(ci->i_cached_layout));
fs/ceph/inode.c
645
RCU_INIT_POINTER(ci->i_layout.pool_ns, NULL);
fs/ceph/inode.c
647
ci->i_fragtree = RB_ROOT;
fs/ceph/inode.c
648
mutex_init(&ci->i_fragtree_mutex);
fs/ceph/inode.c
650
ci->i_xattrs.blob = NULL;
fs/ceph/inode.c
651
ci->i_xattrs.prealloc_blob = NULL;
fs/ceph/inode.c
652
ci->i_xattrs.dirty = false;
fs/ceph/inode.c
653
ci->i_xattrs.index = RB_ROOT;
fs/ceph/inode.c
654
ci->i_xattrs.count = 0;
fs/ceph/inode.c
655
ci->i_xattrs.names_size = 0;
fs/ceph/inode.c
656
ci->i_xattrs.vals_size = 0;
fs/ceph/inode.c
657
ci->i_xattrs.version = 0;
fs/ceph/inode.c
658
ci->i_xattrs.index_version = 0;
fs/ceph/inode.c
660
ci->i_caps = RB_ROOT;
fs/ceph/inode.c
661
ci->i_auth_cap = NULL;
fs/ceph/inode.c
662
ci->i_dirty_caps = 0;
fs/ceph/inode.c
663
ci->i_flushing_caps = 0;
fs/ceph/inode.c
664
INIT_LIST_HEAD(&ci->i_dirty_item);
fs/ceph/inode.c
665
INIT_LIST_HEAD(&ci->i_flushing_item);
fs/ceph/inode.c
666
ci->i_prealloc_cap_flush = NULL;
fs/ceph/inode.c
667
INIT_LIST_HEAD(&ci->i_cap_flush_list);
fs/ceph/inode.c
668
init_waitqueue_head(&ci->i_cap_wq);
fs/ceph/inode.c
669
ci->i_hold_caps_max = 0;
fs/ceph/inode.c
670
INIT_LIST_HEAD(&ci->i_cap_delay_list);
fs/ceph/inode.c
671
INIT_LIST_HEAD(&ci->i_cap_snaps);
fs/ceph/inode.c
672
ci->i_head_snapc = NULL;
fs/ceph/inode.c
673
ci->i_snap_caps = 0;
fs/ceph/inode.c
674
ci->i_last_cap_flush_ack = 0;
fs/ceph/inode.c
676
ci->i_last_rd = ci->i_last_wr = jiffies - 3600 * HZ;
fs/ceph/inode.c
678
ci->i_nr_by_mode[i] = 0;
fs/ceph/inode.c
680
mutex_init(&ci->i_truncate_mutex);
fs/ceph/inode.c
681
ci->i_truncate_seq = 0;
fs/ceph/inode.c
682
ci->i_truncate_size = 0;
fs/ceph/inode.c
683
ci->i_truncate_pending = 0;
fs/ceph/inode.c
684
ci->i_truncate_pagecache_size = 0;
fs/ceph/inode.c
686
ci->i_max_size = 0;
fs/ceph/inode.c
687
ci->i_reported_size = 0;
fs/ceph/inode.c
688
ci->i_wanted_max_size = 0;
fs/ceph/inode.c
689
ci->i_requested_max_size = 0;
fs/ceph/inode.c
691
ci->i_pin_ref = 0;
fs/ceph/inode.c
692
ci->i_rd_ref = 0;
fs/ceph/inode.c
693
ci->i_rdcache_ref = 0;
fs/ceph/inode.c
694
ci->i_wr_ref = 0;
fs/ceph/inode.c
695
ci->i_wb_ref = 0;
fs/ceph/inode.c
696
ci->i_fx_ref = 0;
fs/ceph/inode.c
697
ci->i_wrbuffer_ref = 0;
fs/ceph/inode.c
698
ci->i_wrbuffer_ref_head = 0;
fs/ceph/inode.c
699
atomic_set(&ci->i_filelock_ref, 0);
fs/ceph/inode.c
700
atomic_set(&ci->i_shared_gen, 1);
fs/ceph/inode.c
701
ci->i_rdcache_gen = 0;
fs/ceph/inode.c
702
ci->i_rdcache_revoking = 0;
fs/ceph/inode.c
704
INIT_LIST_HEAD(&ci->i_unsafe_dirops);
fs/ceph/inode.c
705
INIT_LIST_HEAD(&ci->i_unsafe_iops);
fs/ceph/inode.c
706
spin_lock_init(&ci->i_unsafe_lock);
fs/ceph/inode.c
708
ci->i_snap_realm = NULL;
fs/ceph/inode.c
709
INIT_LIST_HEAD(&ci->i_snap_realm_item);
fs/ceph/inode.c
710
INIT_LIST_HEAD(&ci->i_snap_flush_item);
fs/ceph/inode.c
712
INIT_WORK(&ci->i_work, ceph_inode_work);
fs/ceph/inode.c
713
ci->i_work_mask = 0;
fs/ceph/inode.c
714
memset(&ci->i_btime, '\0', sizeof(ci->i_btime));
fs/ceph/inode.c
716
ci->i_crypt_info = NULL;
fs/ceph/inode.c
717
ci->fscrypt_auth = NULL;
fs/ceph/inode.c
718
ci->fscrypt_auth_len = 0;
fs/ceph/inode.c
720
return &ci->netfs.inode;
fs/ceph/inode.c
725
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
727
kfree(ci->i_symlink);
fs/ceph/inode.c
729
kfree(ci->fscrypt_auth);
fs/ceph/inode.c
732
kmem_cache_free(ceph_inode_cachep, ci);
fs/ceph/inode.c
737
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
747
ci->i_subvolume_id = CEPH_SUBVOLUME_ID_NONE;
fs/ceph/inode.c
755
ceph_fscache_unregister_inode_cookie(ci);
fs/ceph/inode.c
758
__ceph_remove_caps(ci);
fs/ceph/inode.c
760
if (__ceph_has_quota(ci, QUOTA_GET_ANY))
fs/ceph/inode.c
767
if (ci->i_snap_realm) {
fs/ceph/inode.c
770
ci->i_snap_realm);
fs/ceph/inode.c
773
ceph_put_snapid_map(mdsc, ci->i_snapid_map);
fs/ceph/inode.c
774
ci->i_snap_realm = NULL;
fs/ceph/inode.c
778
while ((n = rb_first(&ci->i_fragtree)) != NULL) {
fs/ceph/inode.c
780
rb_erase(n, &ci->i_fragtree);
fs/ceph/inode.c
783
ci->i_fragtree_nsplits = 0;
fs/ceph/inode.c
785
__ceph_destroy_xattrs(ci);
fs/ceph/inode.c
786
if (ci->i_xattrs.blob)
fs/ceph/inode.c
787
ceph_buffer_put(ci->i_xattrs.blob);
fs/ceph/inode.c
788
if (ci->i_xattrs.prealloc_blob)
fs/ceph/inode.c
789
ceph_buffer_put(ci->i_xattrs.prealloc_blob);
fs/ceph/inode.c
791
ceph_put_string(rcu_dereference_raw(ci->i_layout.pool_ns));
fs/ceph/inode.c
792
ceph_put_string(rcu_dereference_raw(ci->i_cached_layout.pool_ns));
fs/ceph/inode.c
812
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
816
if (ceph_seq_cmp(truncate_seq, ci->i_truncate_seq) > 0 ||
fs/ceph/inode.c
817
(truncate_seq == ci->i_truncate_seq && size > isize)) {
fs/ceph/inode.c
831
ci->i_reported_size = size;
fs/ceph/inode.c
832
if (truncate_seq != ci->i_truncate_seq) {
fs/ceph/inode.c
834
ci->i_truncate_seq, truncate_seq);
fs/ceph/inode.c
835
ci->i_truncate_seq = truncate_seq;
fs/ceph/inode.c
849
__ceph_is_file_opened(ci)) {
fs/ceph/inode.c
850
ci->i_truncate_pending++;
fs/ceph/inode.c
862
if (ceph_seq_cmp(truncate_seq, ci->i_truncate_seq) >= 0) {
fs/ceph/inode.c
864
ci->i_truncate_size, truncate_size,
fs/ceph/inode.c
867
ci->i_truncate_size = truncate_size;
fs/ceph/inode.c
871
ci->i_truncate_pagecache_size, size);
fs/ceph/inode.c
872
ci->i_truncate_pagecache_size = size;
fs/ceph/inode.c
874
ci->i_truncate_pagecache_size = truncate_size;
fs/ceph/inode.c
893
struct ceph_inode_info *ci;
fs/ceph/inode.c
899
ci = ceph_inode(inode);
fs/ceph/inode.c
900
old = READ_ONCE(ci->i_subvolume_id);
fs/ceph/inode.c
911
WRITE_ONCE(ci->i_subvolume_id, subvolume_id);
fs/ceph/inode.c
919
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
930
if (ci->i_version == 0 ||
fs/ceph/inode.c
935
if (ci->i_version == 0 ||
fs/ceph/inode.c
936
ceph_seq_cmp(time_warp_seq, ci->i_time_warp_seq) > 0) {
fs/ceph/inode.c
939
ci->i_time_warp_seq, (int)time_warp_seq);
fs/ceph/inode.c
943
ci->i_time_warp_seq = time_warp_seq;
fs/ceph/inode.c
944
} else if (time_warp_seq == ci->i_time_warp_seq) {
fs/ceph/inode.c
961
if (ceph_seq_cmp(time_warp_seq, ci->i_time_warp_seq) >= 0) {
fs/ceph/inode.c
965
ci->i_time_warp_seq = time_warp_seq;
fs/ceph/inode.c
972
time_warp_seq, ci->i_time_warp_seq);
fs/ceph/io.c
132
static void ceph_block_buffered(struct ceph_inode_info *ci, struct inode *inode)
fs/ceph/io.c
138
spin_lock(&ci->i_ceph_lock);
fs/ceph/io.c
141
is_odirect = READ_ONCE(ci->i_ceph_flags) & CEPH_I_ODIRECT;
fs/ceph/io.c
143
set_bit(CEPH_I_ODIRECT_BIT, &ci->i_ceph_flags);
fs/ceph/io.c
147
spin_unlock(&ci->i_ceph_lock);
fs/ceph/io.c
173
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/io.c
182
spin_lock(&ci->i_ceph_lock);
fs/ceph/io.c
185
is_odirect = READ_ONCE(ci->i_ceph_flags) & CEPH_I_ODIRECT;
fs/ceph/io.c
186
spin_unlock(&ci->i_ceph_lock);
fs/ceph/io.c
196
ceph_block_buffered(ci, inode);
fs/ceph/io.c
22
static void ceph_block_o_direct(struct ceph_inode_info *ci, struct inode *inode)
fs/ceph/io.c
28
spin_lock(&ci->i_ceph_lock);
fs/ceph/io.c
31
is_odirect = READ_ONCE(ci->i_ceph_flags) & CEPH_I_ODIRECT;
fs/ceph/io.c
33
clear_bit(CEPH_I_ODIRECT_BIT, &ci->i_ceph_flags);
fs/ceph/io.c
37
spin_unlock(&ci->i_ceph_lock);
fs/ceph/io.c
61
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/io.c
70
spin_lock(&ci->i_ceph_lock);
fs/ceph/io.c
73
is_odirect = READ_ONCE(ci->i_ceph_flags) & CEPH_I_ODIRECT;
fs/ceph/io.c
74
spin_unlock(&ci->i_ceph_lock);
fs/ceph/io.c
84
ceph_block_o_direct(ci, inode);
fs/ceph/ioctl.c
102
nl.data_pool = ci->i_layout.pool_id;
fs/ceph/ioctl.c
190
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/ioctl.c
20
struct ceph_inode_info *ci = ceph_inode(file_inode(file));
fs/ceph/ioctl.c
205
ceph_calc_file_object_mapping(&ci->i_layout, dl.file_offset, 1,
fs/ceph/ioctl.c
208
dl.object_size = ci->i_layout.object_size;
fs/ceph/ioctl.c
209
dl.block_size = ci->i_layout.stripe_unit;
fs/ceph/ioctl.c
218
oloc.pool = ci->i_layout.pool_id;
fs/ceph/ioctl.c
219
oloc.pool_ns = ceph_try_get_string(ci->i_layout.pool_ns);
fs/ceph/ioctl.c
252
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/ioctl.c
257
spin_lock(&ci->i_ceph_lock);
fs/ceph/ioctl.c
26
l.stripe_unit = ci->i_layout.stripe_unit;
fs/ceph/ioctl.c
260
ci->i_nr_by_mode[ffs(CEPH_FILE_MODE_LAZY)]++;
fs/ceph/ioctl.c
261
__ceph_touch_fmode(ci, mdsc, fi->fmode);
fs/ceph/ioctl.c
265
spin_unlock(&ci->i_ceph_lock);
fs/ceph/ioctl.c
27
l.stripe_count = ci->i_layout.stripe_count;
fs/ceph/ioctl.c
274
ceph_check_caps(ci, 0);
fs/ceph/ioctl.c
28
l.object_size = ci->i_layout.object_size;
fs/ceph/ioctl.c
29
l.data_pool = ci->i_layout.pool_id;
fs/ceph/ioctl.c
311
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/ioctl.c
314
if (ci->i_layout.stripe_count > 1)
fs/ceph/ioctl.c
331
ceph_put_cap_refs(ci, got);
fs/ceph/ioctl.c
71
struct ceph_inode_info *ci = ceph_inode(file_inode(file));
fs/ceph/ioctl.c
90
nl.stripe_count = ci->i_layout.stripe_count;
fs/ceph/ioctl.c
94
nl.stripe_unit = ci->i_layout.stripe_unit;
fs/ceph/ioctl.c
98
nl.object_size = ci->i_layout.object_size;
fs/ceph/locks.c
251
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/locks.c
273
if (test_bit(CEPH_I_ERROR_FILELOCK_BIT, &ci->i_ceph_flags)) {
fs/ceph/locks.c
321
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/locks.c
336
if (test_bit(CEPH_I_ERROR_FILELOCK_BIT, &ci->i_ceph_flags)) {
fs/ceph/locks.c
48
struct ceph_inode_info *ci;
fs/ceph/locks.c
57
ci = ceph_inode(inode);
fs/ceph/locks.c
58
if (atomic_dec_and_test(&ci->i_filelock_ref)) {
fs/ceph/locks.c
60
clear_bit(CEPH_I_ERROR_FILELOCK_BIT, &ci->i_ceph_flags);
fs/ceph/mds_client.c
1243
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/mds_client.c
1247
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1248
list_add_tail(&req->r_unsafe_dir_item, &ci->i_unsafe_dirops);
fs/ceph/mds_client.c
1249
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1278
struct ceph_inode_info *ci = ceph_inode(req->r_unsafe_dir);
fs/ceph/mds_client.c
1279
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1281
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1285
struct ceph_inode_info *ci = ceph_inode(req->r_target_inode);
fs/ceph/mds_client.c
1286
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1288
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1336
struct ceph_inode_info *ci;
fs/ceph/mds_client.c
1414
ci = ceph_inode(inode);
fs/ceph/mds_client.c
1420
ceph_choose_frag(ci, hash, &frag, &found);
fs/ceph/mds_client.c
1457
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1460
cap = ci->i_auth_cap;
fs/ceph/mds_client.c
1461
if (!cap && !RB_EMPTY_ROOT(&ci->i_caps))
fs/ceph/mds_client.c
1462
cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node);
fs/ceph/mds_client.c
1464
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1471
cap == ci->i_auth_cap ? "auth " : "", cap);
fs/ceph/mds_client.c
1472
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1883
inode = igrab(&cap->ci->netfs.inode);
fs/ceph/mds_client.c
1906
if (!cap->ci) {
fs/ceph/mds_client.c
1935
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
1941
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1942
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
1945
cap, ci, &ci->netfs.inode);
fs/ceph/mds_client.c
1949
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1952
wake_up_all(&ci->i_cap_wq);
fs/ceph/mds_client.c
1992
vino = cap->ci->i_vino;
fs/ceph/mds_client.c
2025
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
2029
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2030
ci->i_wanted_max_size = 0;
fs/ceph/mds_client.c
2031
ci->i_requested_max_size = 0;
fs/ceph/mds_client.c
2032
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2036
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2037
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
2041
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2044
wake_up_all(&ci->i_cap_wq);
fs/ceph/mds_client.c
2215
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
2222
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2223
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
2225
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2229
used = __ceph_caps_used(ci);
fs/ceph/mds_client.c
2230
wanted = __ceph_caps_file_wanted(ci);
fs/ceph/mds_client.c
2231
oissued = __ceph_caps_issued_other(ci, cap);
fs/ceph/mds_client.c
2237
if (cap == ci->i_auth_cap) {
fs/ceph/mds_client.c
2238
if (ci->i_dirty_caps || ci->i_flushing_caps ||
fs/ceph/mds_client.c
2239
!list_empty(&ci->i_cap_snaps))
fs/ceph/mds_client.c
2246
if (atomic_read(&ci->i_filelock_ref) > 0)
fs/ceph/mds_client.c
2267
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2285
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2375
e->ci_null = WARN_ON_ONCE(!cf->ci);
fs/ceph/mds_client.c
2377
e->ino = ceph_ino(&cf->ci->netfs.inode);
fs/ceph/mds_client.c
2378
e->snap = ceph_snap(&cf->ci->netfs.inode);
fs/ceph/mds_client.c
2379
e->last_ack = READ_ONCE(cf->ci->i_last_cap_flush_ack);
fs/ceph/mds_client.c
2643
struct ceph_inode_info *ci;
fs/ceph/mds_client.c
2646
ci = list_first_entry(&mdsc->cap_unlink_delay_list,
fs/ceph/mds_client.c
2649
list_del_init(&ci->i_cap_delay_list);
fs/ceph/mds_client.c
2651
inode = igrab(&ci->netfs.inode);
fs/ceph/mds_client.c
2656
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/mds_client.c
2672
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/mds_client.c
2680
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2681
num_entries = ci->i_files + ci->i_subdirs;
fs/ceph/mds_client.c
2682
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3731
struct ceph_inode_info *ci;
fs/ceph/mds_client.c
3752
ci = ceph_inode(d_inode(req->r_dentry));
fs/ceph/mds_client.c
3754
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3755
cap = ci->i_auth_cap;
fs/ceph/mds_client.c
3756
if (test_bit(CEPH_I_ASYNC_CREATE_BIT, &ci->i_ceph_flags) &&
fs/ceph/mds_client.c
3775
change_auth_cap_ses(ci, session);
fs/ceph/mds_client.c
3777
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3871
struct ceph_inode_info *ci = ceph_inode(req->r_parent);
fs/ceph/mds_client.c
3874
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3875
ceph_take_cap_refs(ci, CEPH_CAP_PIN, false);
fs/ceph/mds_client.c
3876
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/mds_client.c
3877
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
4189
struct ceph_inode_info *ci =
fs/ceph/mds_client.c
4191
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
4193
&ci->i_unsafe_iops);
fs/ceph/mds_client.c
4194
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
4825
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
4846
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
4847
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
4849
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
4873
ceph_put_string(rcu_dereference_raw(ci->i_cached_layout.pool_ns));
fs/ceph/mds_client.c
4874
memset(&ci->i_cached_layout, 0, sizeof(ci->i_cached_layout));
fs/ceph/mds_client.c
4881
rec.v2.wanted = cpu_to_le32(__ceph_caps_wanted(ci));
fs/ceph/mds_client.c
4883
rec.v2.snaprealm = cpu_to_le64(ci->i_snap_realm->ino);
fs/ceph/mds_client.c
4887
&ci->i_ceph_flags) ? 0 : 1);
fs/ceph/mds_client.c
4892
rec.v1.wanted = cpu_to_le32(__ceph_caps_wanted(ci));
fs/ceph/mds_client.c
4899
rec.v1.snaprealm = cpu_to_le64(ci->i_snap_realm->ino);
fs/ceph/mds_client.c
4903
if (list_empty(&ci->i_cap_snaps)) {
fs/ceph/mds_client.c
4904
snap_follows = ci->i_head_snapc ? ci->i_head_snapc->seq : 0;
fs/ceph/mds_client.c
4907
list_first_entry(&ci->i_cap_snaps,
fs/ceph/mds_client.c
4911
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
492
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
508
rde->raw_hash = ceph_str_hash(ci->i_dir_layout.dl_dir_hash,
fs/ceph/mds_client.h
722
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.h
724
return wait_on_bit(&ci->i_ceph_flags, CEPH_I_ASYNC_CREATE_BIT,
fs/ceph/quota.c
219
struct ceph_inode_info *ci = NULL;
fs/ceph/quota.c
265
ci = ceph_inode(in);
fs/ceph/quota.c
266
has_quota = __ceph_has_quota(ci, which_quota);
fs/ceph/quota.c
338
struct ceph_inode_info *ci;
fs/ceph/quota.c
381
ci = ceph_inode(in);
fs/ceph/quota.c
382
spin_lock(&ci->i_ceph_lock);
fs/ceph/quota.c
384
max = ci->i_max_files;
fs/ceph/quota.c
385
rvalue = ci->i_rfiles + ci->i_rsubdirs;
fs/ceph/quota.c
387
max = ci->i_max_bytes;
fs/ceph/quota.c
388
rvalue = ci->i_rbytes;
fs/ceph/quota.c
390
spin_unlock(&ci->i_ceph_lock);
fs/ceph/quota.c
49
struct ceph_inode_info *ci;
fs/ceph/quota.c
507
struct ceph_inode_info *ci;
fs/ceph/quota.c
527
ci = ceph_inode(in);
fs/ceph/quota.c
528
spin_lock(&ci->i_ceph_lock);
fs/ceph/quota.c
529
if (ci->i_max_bytes) {
fs/ceph/quota.c
530
total = ci->i_max_bytes >> CEPH_BLOCK_SHIFT;
fs/ceph/quota.c
531
used = ci->i_rbytes >> CEPH_BLOCK_SHIFT;
fs/ceph/quota.c
534
total = ci->i_max_bytes >> CEPH_4K_BLOCK_SHIFT;
fs/ceph/quota.c
535
used = ci->i_rbytes >> CEPH_4K_BLOCK_SHIFT;
fs/ceph/quota.c
547
free = ci->i_max_bytes > ci->i_rbytes ? 1 : 0;
fs/ceph/quota.c
551
spin_unlock(&ci->i_ceph_lock);
fs/ceph/quota.c
69
ci = ceph_inode(inode);
fs/ceph/quota.c
71
spin_lock(&ci->i_ceph_lock);
fs/ceph/quota.c
72
ci->i_rbytes = le64_to_cpu(h->rbytes);
fs/ceph/quota.c
73
ci->i_rfiles = le64_to_cpu(h->rfiles);
fs/ceph/quota.c
74
ci->i_rsubdirs = le64_to_cpu(h->rsubdirs);
fs/ceph/quota.c
75
__ceph_update_quota(ci, le64_to_cpu(h->max_bytes),
fs/ceph/quota.c
77
spin_unlock(&ci->i_ceph_lock);
fs/ceph/snap.c
1090
struct ceph_inode_info *ci;
fs/ceph/snap.c
1094
ci = ceph_inode(inode);
fs/ceph/snap.c
1096
spin_lock(&ci->i_ceph_lock);
fs/ceph/snap.c
1097
if (!ci->i_snap_realm)
fs/ceph/snap.c
1106
if (ci->i_snap_realm->created >
fs/ceph/snap.c
1109
inode, ceph_vinop(inode), ci->i_snap_realm->ino,
fs/ceph/snap.c
1110
ci->i_snap_realm);
fs/ceph/snap.c
1118
spin_unlock(&ci->i_ceph_lock);
fs/ceph/snap.c
1123
spin_unlock(&ci->i_ceph_lock);
fs/ceph/snap.c
530
static void ceph_queue_cap_snap(struct ceph_inode_info *ci,
fs/ceph/snap.c
533
struct inode *inode = &ci->netfs.inode;
fs/ceph/snap.c
540
spin_lock(&ci->i_ceph_lock);
fs/ceph/snap.c
541
used = __ceph_caps_used(ci);
fs/ceph/snap.c
542
dirty = __ceph_caps_dirty(ci);
fs/ceph/snap.c
544
old_snapc = ci->i_head_snapc;
fs/ceph/snap.c
545
new_snapc = ci->i_snap_realm->cached_context;
fs/ceph/snap.c
555
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/snap.c
564
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/snap.c
586
ci->i_wrbuffer_ref_head == 0) {
fs/ceph/snap.c
599
capsnap->issued = __ceph_caps_issued(ci, NULL);
fs/ceph/snap.c
607
old_blob = __ceph_build_xattrs_blob(ci);
fs/ceph/snap.c
609
ceph_buffer_get(ci->i_xattrs.blob);
fs/ceph/snap.c
610
capsnap->xattr_version = ci->i_xattrs.version;
fs/ceph/snap.c
616
capsnap->inline_data = ci->i_inline_version != CEPH_INLINE_NONE;
fs/ceph/snap.c
621
capsnap->dirty_pages = ci->i_wrbuffer_ref_head;
fs/ceph/snap.c
622
ci->i_wrbuffer_ref_head = 0;
fs/ceph/snap.c
624
list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps);
fs/ceph/snap.c
633
__ceph_finish_cap_snap(ci, capsnap);
fs/ceph/snap.c
639
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/snap.c
640
ci->i_wr_ref == 0 &&
fs/ceph/snap.c
641
ci->i_dirty_caps == 0 &&
fs/ceph/snap.c
642
ci->i_flushing_caps == 0) {
fs/ceph/snap.c
643
ci->i_head_snapc = NULL;
fs/ceph/snap.c
645
ci->i_head_snapc = ceph_get_snap_context(new_snapc);
fs/ceph/snap.c
648
spin_unlock(&ci->i_ceph_lock);
fs/ceph/snap.c
662
int __ceph_finish_cap_snap(struct ceph_inode_info *ci,
fs/ceph/snap.c
665
struct inode *inode = &ci->netfs.inode;
fs/ceph/snap.c
674
capsnap->btime = ci->i_btime;
fs/ceph/snap.c
676
capsnap->time_warp_seq = ci->i_time_warp_seq;
fs/ceph/snap.c
677
capsnap->truncate_size = ci->i_truncate_size;
fs/ceph/snap.c
678
capsnap->truncate_seq = ci->i_truncate_seq;
fs/ceph/snap.c
693
if (ci->i_wrbuffer_ref) {
fs/ceph/snap.c
703
set_bit(CEPH_I_FLUSH_SNAPS_BIT, &ci->i_ceph_flags);
fs/ceph/snap.c
710
if (list_empty(&ci->i_snap_flush_item)) {
fs/ceph/snap.c
712
list_add_tail(&ci->i_snap_flush_item, &mdsc->snap_flush_list);
fs/ceph/snap.c
726
struct ceph_inode_info *ci;
fs/ceph/snap.c
733
list_for_each_entry(ci, &realm->inodes_with_caps, i_snap_realm_item) {
fs/ceph/snap.c
734
struct inode *inode = igrab(&ci->netfs.inode);
fs/ceph/snap.c
761
ceph_queue_cap_snap(ci, &capsnap);
fs/ceph/snap.c
945
struct ceph_inode_info *ci;
fs/ceph/snap.c
952
ci = list_first_entry(&mdsc->snap_flush_list,
fs/ceph/snap.c
954
inode = &ci->netfs.inode;
fs/ceph/snap.c
957
ceph_flush_snaps(ci, &session);
fs/ceph/snap.c
979
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/snap.c
981
struct ceph_snap_realm *oldrealm = ci->i_snap_realm;
fs/ceph/snap.c
983
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/snap.c
987
list_del_init(&ci->i_snap_realm_item);
fs/ceph/snap.c
988
if (oldrealm->ino == ci->i_vino.ino)
fs/ceph/snap.c
994
ci->i_snap_realm = realm;
fs/ceph/snap.c
998
list_add(&ci->i_snap_realm_item, &realm->inodes_with_caps);
fs/ceph/snap.c
999
if (realm->ino == ci->i_vino.ino)
fs/ceph/subvolume_metrics.c
371
struct ceph_inode_info *ci,
fs/ceph/subvolume_metrics.c
379
if (!mdsc || !ci || !bytes)
fs/ceph/subvolume_metrics.c
390
subvol_id = READ_ONCE(ci->i_subvolume_id);
fs/ceph/subvolume_metrics.h
84
struct ceph_inode_info *ci,
fs/ceph/super.c
921
struct ceph_inode_info *ci = foo;
fs/ceph/super.c
922
inode_init_once(&ci->netfs.inode);
fs/ceph/super.h
1044
extern int __ceph_finish_cap_snap(struct ceph_inode_info *ci,
fs/ceph/super.h
1061
static inline bool __ceph_have_pending_cap_snap(struct ceph_inode_info *ci)
fs/ceph/super.h
1063
return !list_empty(&ci->i_cap_snaps) &&
fs/ceph/super.h
1064
list_last_entry(&ci->i_cap_snaps, struct ceph_cap_snap,
fs/ceph/super.h
1172
extern struct ceph_buffer *__ceph_build_xattrs_blob(struct ceph_inode_info *ci);
fs/ceph/super.h
1173
extern void __ceph_destroy_xattrs(struct ceph_inode_info *ci);
fs/ceph/super.h
1275
extern void __ceph_remove_caps(struct ceph_inode_info *ci);
fs/ceph/super.h
1288
struct ceph_inode_info *ci);
fs/ceph/super.h
1289
extern struct ceph_cap *__get_cap_for_mds(struct ceph_inode_info *ci,
fs/ceph/super.h
1291
extern struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci,
fs/ceph/super.h
1293
extern void ceph_take_cap_refs(struct ceph_inode_info *ci, int caps,
fs/ceph/super.h
1295
extern void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps);
fs/ceph/super.h
1296
extern void ceph_put_cap_refs(struct ceph_inode_info *ci, int had);
fs/ceph/super.h
1297
extern void ceph_put_cap_refs_async(struct ceph_inode_info *ci, int had);
fs/ceph/super.h
1298
extern void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
fs/ceph/super.h
1306
extern void ceph_flush_snaps(struct ceph_inode_info *ci,
fs/ceph/super.h
1308
extern bool __ceph_should_report_size(struct ceph_inode_info *ci);
fs/ceph/super.h
1309
extern void ceph_check_caps(struct ceph_inode_info *ci, int flags);
fs/ceph/super.h
1328
extern void ceph_get_fmode(struct ceph_inode_info *ci, int mode, int count);
fs/ceph/super.h
1329
extern void ceph_put_fmode(struct ceph_inode_info *ci, int mode, int count);
fs/ceph/super.h
1330
extern void __ceph_touch_fmode(struct ceph_inode_info *ci,
fs/ceph/super.h
1342
static inline bool ceph_has_inline_data(struct ceph_inode_info *ci)
fs/ceph/super.h
1344
if (ci->i_inline_version == CEPH_INLINE_NONE ||
fs/ceph/super.h
1345
ci->i_inline_version == 1) /* initial version, no data */
fs/ceph/super.h
1417
static inline bool __ceph_has_quota(struct ceph_inode_info *ci,
fs/ceph/super.h
1424
has_quota = !!ci->i_max_bytes;
fs/ceph/super.h
1427
has_quota = !!ci->i_max_files;
fs/ceph/super.h
1430
has_quota = !!(ci->i_max_files || ci->i_max_bytes);
fs/ceph/super.h
1437
static inline void __ceph_update_quota(struct ceph_inode_info *ci,
fs/ceph/super.h
1441
had_quota = __ceph_has_quota(ci, QUOTA_GET_ANY);
fs/ceph/super.h
1442
ci->i_max_bytes = max_bytes;
fs/ceph/super.h
1443
ci->i_max_files = max_files;
fs/ceph/super.h
1444
has_quota = __ceph_has_quota(ci, QUOTA_GET_ANY);
fs/ceph/super.h
1447
ceph_adjust_quota_realms_count(&ci->netfs.inode, has_quota);
fs/ceph/super.h
205
struct ceph_inode_info *ci;
fs/ceph/super.h
243
struct ceph_inode_info *ci;
fs/ceph/super.h
626
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/super.h
627
return ci->i_vino.ino == pvino->ino &&
fs/ceph/super.h
628
ci->i_vino.snap == pvino->snap;
fs/ceph/super.h
718
static inline void ceph_set_error_write(struct ceph_inode_info *ci)
fs/ceph/super.h
720
set_bit(CEPH_I_ERROR_WRITE_BIT, &ci->i_ceph_flags);
fs/ceph/super.h
723
static inline void ceph_clear_error_write(struct ceph_inode_info *ci)
fs/ceph/super.h
725
clear_bit(CEPH_I_ERROR_WRITE_BIT, &ci->i_ceph_flags);
fs/ceph/super.h
728
static inline void __ceph_dir_set_complete(struct ceph_inode_info *ci,
fs/ceph/super.h
738
atomic64_set(&ci->i_complete_seq[0], release_count);
fs/ceph/super.h
739
atomic64_set(&ci->i_complete_seq[1], ordered_count);
fs/ceph/super.h
742
static inline void __ceph_dir_clear_complete(struct ceph_inode_info *ci)
fs/ceph/super.h
744
atomic64_inc(&ci->i_release_count);
fs/ceph/super.h
747
static inline void __ceph_dir_clear_ordered(struct ceph_inode_info *ci)
fs/ceph/super.h
749
atomic64_inc(&ci->i_ordered_count);
fs/ceph/super.h
752
static inline bool __ceph_dir_is_complete(struct ceph_inode_info *ci)
fs/ceph/super.h
754
return atomic64_read(&ci->i_complete_seq[0]) ==
fs/ceph/super.h
755
atomic64_read(&ci->i_release_count);
fs/ceph/super.h
758
static inline bool __ceph_dir_is_complete_ordered(struct ceph_inode_info *ci)
fs/ceph/super.h
760
return atomic64_read(&ci->i_complete_seq[0]) ==
fs/ceph/super.h
761
atomic64_read(&ci->i_release_count) &&
fs/ceph/super.h
762
atomic64_read(&ci->i_complete_seq[1]) ==
fs/ceph/super.h
763
atomic64_read(&ci->i_ordered_count);
fs/ceph/super.h
784
extern struct ceph_inode_frag *__ceph_find_frag(struct ceph_inode_info *ci,
fs/ceph/super.h
791
extern u32 ceph_choose_frag(struct ceph_inode_info *ci, u32 v,
fs/ceph/super.h
803
static inline bool __ceph_is_any_real_caps(struct ceph_inode_info *ci)
fs/ceph/super.h
805
return !RB_EMPTY_ROOT(&ci->i_caps);
fs/ceph/super.h
808
extern int __ceph_caps_issued(struct ceph_inode_info *ci, int *implemented);
fs/ceph/super.h
809
extern int __ceph_caps_issued_mask(struct ceph_inode_info *ci, int mask, int t);
fs/ceph/super.h
810
extern int __ceph_caps_issued_mask_metric(struct ceph_inode_info *ci, int mask,
fs/ceph/super.h
812
extern int __ceph_caps_issued_other(struct ceph_inode_info *ci,
fs/ceph/super.h
815
static inline int ceph_caps_issued(struct ceph_inode_info *ci)
fs/ceph/super.h
818
spin_lock(&ci->i_ceph_lock);
fs/ceph/super.h
819
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/super.h
820
spin_unlock(&ci->i_ceph_lock);
fs/ceph/super.h
824
static inline int ceph_caps_issued_mask_metric(struct ceph_inode_info *ci,
fs/ceph/super.h
828
spin_lock(&ci->i_ceph_lock);
fs/ceph/super.h
829
r = __ceph_caps_issued_mask_metric(ci, mask, touch);
fs/ceph/super.h
830
spin_unlock(&ci->i_ceph_lock);
fs/ceph/super.h
834
static inline int __ceph_caps_dirty(struct ceph_inode_info *ci)
fs/ceph/super.h
836
return ci->i_dirty_caps | ci->i_flushing_caps;
fs/ceph/super.h
840
extern int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask,
fs/ceph/super.h
843
extern int __ceph_caps_revoking_other(struct ceph_inode_info *ci,
fs/ceph/super.h
845
extern int __ceph_caps_used(struct ceph_inode_info *ci);
fs/ceph/super.h
847
static inline bool __ceph_is_file_opened(struct ceph_inode_info *ci)
fs/ceph/super.h
849
return ci->i_nr_by_mode[0];
fs/ceph/super.h
851
extern int __ceph_caps_file_wanted(struct ceph_inode_info *ci);
fs/ceph/super.h
852
extern int __ceph_caps_wanted(struct ceph_inode_info *ci);
fs/ceph/super.h
855
extern int __ceph_caps_mds_wanted(struct ceph_inode_info *ci, bool check);
fs/ceph/super.h
868
extern void change_auth_cap_ses(struct ceph_inode_info *ci,
fs/ceph/xattr.c
1010
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1012
ceph_vinop(inode), name, ci->i_xattrs.version,
fs/ceph/xattr.c
1013
ci->i_xattrs.index_version);
fs/ceph/xattr.c
1015
if (ci->i_xattrs.version == 0 ||
fs/ceph/xattr.c
1017
__ceph_caps_issued_mask_metric(ci, CEPH_CAP_XATTR_SHARED, 1))) {
fs/ceph/xattr.c
1018
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1032
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1040
xattr = __get_xattr(ci, name);
fs/ceph/xattr.c
1057
set_bit(CEPH_I_SEC_INITED_BIT, &ci->i_ceph_flags);
fs/ceph/xattr.c
1059
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1067
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/xattr.c
1072
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1074
ceph_vinop(inode), ci->i_xattrs.version,
fs/ceph/xattr.c
1075
ci->i_xattrs.index_version);
fs/ceph/xattr.c
1077
if (ci->i_xattrs.version == 0 ||
fs/ceph/xattr.c
1078
!__ceph_caps_issued_mask_metric(ci, CEPH_CAP_XATTR_SHARED, 1)) {
fs/ceph/xattr.c
1079
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1083
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1091
namelen = ci->i_xattrs.names_size + ci->i_xattrs.count;
fs/ceph/xattr.c
1097
names = __copy_xattr_names(ci, names);
fs/ceph/xattr.c
1102
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1111
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/xattr.c
1164
doutc(cl, "xattr.ver (before): %lld\n", ci->i_xattrs.version);
fs/ceph/xattr.c
1167
doutc(cl, "xattr.ver (after): %lld\n", ci->i_xattrs.version);
fs/ceph/xattr.c
1180
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/xattr.c
1231
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1233
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/xattr.c
1234
required_blob_size = __get_required_blob_size(ci, name_len, val_len);
fs/ceph/xattr.c
1235
if ((ci->i_xattrs.version == 0) || !(issued & CEPH_CAP_XATTR_EXCL) ||
fs/ceph/xattr.c
1238
ci->i_xattrs.version, required_blob_size,
fs/ceph/xattr.c
1243
if (!lock_snap_rwsem && !ci->i_head_snapc) {
fs/ceph/xattr.c
1246
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1248
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1266
required_blob_size = __get_required_blob_size(ci, name_len, val_len);
fs/ceph/xattr.c
1273
if (!ci->i_xattrs.prealloc_blob ||
fs/ceph/xattr.c
1274
required_blob_size > ci->i_xattrs.prealloc_blob->alloc_len) {
fs/ceph/xattr.c
1277
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1284
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1286
if (ci->i_xattrs.prealloc_blob)
fs/ceph/xattr.c
1287
old_blob = ci->i_xattrs.prealloc_blob;
fs/ceph/xattr.c
1288
ci->i_xattrs.prealloc_blob = blob;
fs/ceph/xattr.c
1292
err = __set_xattr(ci, newname, name_len, newval, val_len,
fs/ceph/xattr.c
1296
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_XATTR_EXCL,
fs/ceph/xattr.c
1298
ci->i_xattrs.dirty = true;
fs/ceph/xattr.c
1302
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1312
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1328
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1329
if ((ci->i_max_files || ci->i_max_bytes) &&
fs/ceph/xattr.c
1330
!(ci->i_snap_realm &&
fs/ceph/xattr.c
1331
ci->i_snap_realm->ino == ci->i_vino.ino))
fs/ceph/xattr.c
1333
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1378
struct ceph_inode_info *ci;
fs/ceph/xattr.c
1382
ci = ceph_inode(in);
fs/ceph/xattr.c
1383
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1384
ret = !(ci->i_ceph_flags & CEPH_I_SEC_INITED) &&
fs/ceph/xattr.c
1385
!(ci->i_xattrs.version > 0 &&
fs/ceph/xattr.c
1386
__ceph_caps_issued_mask(ci, CEPH_CAP_XATTR_SHARED, 0));
fs/ceph/xattr.c
1387
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
143
static ssize_t ceph_vxattrcb_layout_stripe_unit(struct ceph_inode_info *ci,
fs/ceph/xattr.c
146
return ceph_fmt_xattr(val, size, "%u", ci->i_layout.stripe_unit);
fs/ceph/xattr.c
149
static ssize_t ceph_vxattrcb_layout_stripe_count(struct ceph_inode_info *ci,
fs/ceph/xattr.c
152
return ceph_fmt_xattr(val, size, "%u", ci->i_layout.stripe_count);
fs/ceph/xattr.c
155
static ssize_t ceph_vxattrcb_layout_object_size(struct ceph_inode_info *ci,
fs/ceph/xattr.c
158
return ceph_fmt_xattr(val, size, "%u", ci->i_layout.object_size);
fs/ceph/xattr.c
161
static ssize_t ceph_vxattrcb_layout_pool(struct ceph_inode_info *ci,
fs/ceph/xattr.c
165
struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb);
fs/ceph/xattr.c
167
s64 pool = ci->i_layout.pool_id;
fs/ceph/xattr.c
18
static int __remove_xattr(struct ceph_inode_info *ci,
fs/ceph/xattr.c
183
static ssize_t ceph_vxattrcb_layout_pool_namespace(struct ceph_inode_info *ci,
fs/ceph/xattr.c
187
struct ceph_string *ns = ceph_try_get_string(ci->i_layout.pool_ns);
fs/ceph/xattr.c
200
static ssize_t ceph_vxattrcb_dir_entries(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
203
return ceph_fmt_xattr(val, size, "%lld", ci->i_files + ci->i_subdirs);
fs/ceph/xattr.c
206
static ssize_t ceph_vxattrcb_dir_files(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
209
return ceph_fmt_xattr(val, size, "%lld", ci->i_files);
fs/ceph/xattr.c
212
static ssize_t ceph_vxattrcb_dir_subdirs(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
215
return ceph_fmt_xattr(val, size, "%lld", ci->i_subdirs);
fs/ceph/xattr.c
218
static ssize_t ceph_vxattrcb_dir_rentries(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
222
ci->i_rfiles + ci->i_rsubdirs);
fs/ceph/xattr.c
225
static ssize_t ceph_vxattrcb_dir_rfiles(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
228
return ceph_fmt_xattr(val, size, "%lld", ci->i_rfiles);
fs/ceph/xattr.c
231
static ssize_t ceph_vxattrcb_dir_rsubdirs(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
234
return ceph_fmt_xattr(val, size, "%lld", ci->i_rsubdirs);
fs/ceph/xattr.c
237
static ssize_t ceph_vxattrcb_dir_rsnaps(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
240
return ceph_fmt_xattr(val, size, "%lld", ci->i_rsnaps);
fs/ceph/xattr.c
243
static ssize_t ceph_vxattrcb_dir_rbytes(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
246
return ceph_fmt_xattr(val, size, "%lld", ci->i_rbytes);
fs/ceph/xattr.c
249
static ssize_t ceph_vxattrcb_dir_rctime(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
252
return ceph_fmt_xattr(val, size, "%ptSp", &ci->i_rctime);
fs/ceph/xattr.c
256
static bool ceph_vxattrcb_dir_pin_exists(struct ceph_inode_info *ci)
fs/ceph/xattr.c
258
return ci->i_dir_pin != -ENODATA;
fs/ceph/xattr.c
261
static ssize_t ceph_vxattrcb_dir_pin(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
264
return ceph_fmt_xattr(val, size, "%d", (int)ci->i_dir_pin);
fs/ceph/xattr.c
268
static bool ceph_vxattrcb_quota_exists(struct ceph_inode_info *ci)
fs/ceph/xattr.c
271
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
272
if ((ci->i_max_files || ci->i_max_bytes) &&
fs/ceph/xattr.c
273
ci->i_vino.snap == CEPH_NOSNAP &&
fs/ceph/xattr.c
274
ci->i_snap_realm &&
fs/ceph/xattr.c
275
ci->i_snap_realm->ino == ci->i_vino.ino)
fs/ceph/xattr.c
277
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
281
static ssize_t ceph_vxattrcb_quota(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
285
ci->i_max_bytes, ci->i_max_files);
fs/ceph/xattr.c
288
static ssize_t ceph_vxattrcb_quota_max_bytes(struct ceph_inode_info *ci,
fs/ceph/xattr.c
291
return ceph_fmt_xattr(val, size, "%llu", ci->i_max_bytes);
fs/ceph/xattr.c
294
static ssize_t ceph_vxattrcb_quota_max_files(struct ceph_inode_info *ci,
fs/ceph/xattr.c
297
return ceph_fmt_xattr(val, size, "%llu", ci->i_max_files);
fs/ceph/xattr.c
301
static bool ceph_vxattrcb_snap_btime_exists(struct ceph_inode_info *ci)
fs/ceph/xattr.c
303
return (ci->i_snap_btime.tv_sec != 0 || ci->i_snap_btime.tv_nsec != 0);
fs/ceph/xattr.c
306
static ssize_t ceph_vxattrcb_snap_btime(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
309
return ceph_fmt_xattr(val, size, "%ptSp", &ci->i_snap_btime);
fs/ceph/xattr.c
312
static ssize_t ceph_vxattrcb_cluster_fsid(struct ceph_inode_info *ci,
fs/ceph/xattr.c
315
struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb);
fs/ceph/xattr.c
320
static ssize_t ceph_vxattrcb_client_id(struct ceph_inode_info *ci,
fs/ceph/xattr.c
323
struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb);
fs/ceph/xattr.c
329
static ssize_t ceph_vxattrcb_caps(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
334
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
335
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/xattr.c
336
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
342
static ssize_t ceph_vxattrcb_auth_mds(struct ceph_inode_info *ci,
fs/ceph/xattr.c
347
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
349
ci->i_auth_cap ? ci->i_auth_cap->session->s_mds : -1);
fs/ceph/xattr.c
350
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
355
static bool ceph_vxattrcb_fscrypt_auth_exists(struct ceph_inode_info *ci)
fs/ceph/xattr.c
357
return ci->fscrypt_auth_len;
fs/ceph/xattr.c
36
ssize_t (*getxattr_cb)(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
360
static ssize_t ceph_vxattrcb_fscrypt_auth(struct ceph_inode_info *ci,
fs/ceph/xattr.c
364
if (size < ci->fscrypt_auth_len)
fs/ceph/xattr.c
366
memcpy(val, ci->fscrypt_auth, ci->fscrypt_auth_len);
fs/ceph/xattr.c
368
return ci->fscrypt_auth_len;
fs/ceph/xattr.c
38
bool (*exists_cb)(struct ceph_inode_info *ci);
fs/ceph/xattr.c
49
static bool ceph_vxattrcb_layout_exists(struct ceph_inode_info *ci)
fs/ceph/xattr.c
51
struct ceph_file_layout *fl = &ci->i_layout;
fs/ceph/xattr.c
566
static int __set_xattr(struct ceph_inode_info *ci,
fs/ceph/xattr.c
57
static ssize_t ceph_vxattrcb_layout(struct ceph_inode_info *ci, char *val,
fs/ceph/xattr.c
572
struct inode *inode = &ci->netfs.inode;
fs/ceph/xattr.c
580
p = &ci->i_xattrs.index.rb_node;
fs/ceph/xattr.c
60
struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb);
fs/ceph/xattr.c
615
__remove_xattr(ci, xattr);
fs/ceph/xattr.c
629
ci->i_xattrs.count++;
fs/ceph/xattr.c
630
doutc(cl, "count=%d\n", ci->i_xattrs.count);
fs/ceph/xattr.c
64
s64 pool = ci->i_layout.pool_id;
fs/ceph/xattr.c
641
ci->i_xattrs.names_size -= xattr->name_len;
fs/ceph/xattr.c
642
ci->i_xattrs.vals_size -= xattr->val_len;
fs/ceph/xattr.c
644
ci->i_xattrs.names_size += name_len;
fs/ceph/xattr.c
645
ci->i_xattrs.vals_size += val_len;
fs/ceph/xattr.c
657
rb_insert_color(&xattr->node, &ci->i_xattrs.index);
fs/ceph/xattr.c
669
static struct ceph_inode_xattr *__get_xattr(struct ceph_inode_info *ci,
fs/ceph/xattr.c
672
struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode);
fs/ceph/xattr.c
679
p = &ci->i_xattrs.index.rb_node;
fs/ceph/xattr.c
71
pool_ns = ceph_try_get_string(ci->i_layout.pool_ns);
fs/ceph/xattr.c
716
static int __remove_xattr(struct ceph_inode_info *ci,
fs/ceph/xattr.c
722
rb_erase(&xattr->node, &ci->i_xattrs.index);
fs/ceph/xattr.c
729
ci->i_xattrs.names_size -= xattr->name_len;
fs/ceph/xattr.c
73
doutc(cl, "%p\n", &ci->netfs.inode);
fs/ceph/xattr.c
730
ci->i_xattrs.vals_size -= xattr->val_len;
fs/ceph/xattr.c
731
ci->i_xattrs.count--;
fs/ceph/xattr.c
737
static char *__copy_xattr_names(struct ceph_inode_info *ci,
fs/ceph/xattr.c
740
struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode);
fs/ceph/xattr.c
744
p = rb_first(&ci->i_xattrs.index);
fs/ceph/xattr.c
745
doutc(cl, "count=%d\n", ci->i_xattrs.count);
fs/ceph/xattr.c
753
xattr->name_len, ci->i_xattrs.names_size);
fs/ceph/xattr.c
762
void __ceph_destroy_xattrs(struct ceph_inode_info *ci)
fs/ceph/xattr.c
764
struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode);
fs/ceph/xattr.c
768
p = rb_first(&ci->i_xattrs.index);
fs/ceph/xattr.c
777
rb_erase(tmp, &ci->i_xattrs.index);
fs/ceph/xattr.c
782
ci->i_xattrs.names_size = 0;
fs/ceph/xattr.c
783
ci->i_xattrs.vals_size = 0;
fs/ceph/xattr.c
784
ci->i_xattrs.index_version = 0;
fs/ceph/xattr.c
785
ci->i_xattrs.count = 0;
fs/ceph/xattr.c
786
ci->i_xattrs.index = RB_ROOT;
fs/ceph/xattr.c
79
ci->i_layout.stripe_unit, ci->i_layout.stripe_count,
fs/ceph/xattr.c
790
__releases(ci->i_ceph_lock)
fs/ceph/xattr.c
791
__acquires(ci->i_ceph_lock)
fs/ceph/xattr.c
799
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/xattr.c
80
ci->i_layout.object_size);
fs/ceph/xattr.c
806
ci->i_xattrs.blob ? (int)ci->i_xattrs.blob->vec.iov_len : 0);
fs/ceph/xattr.c
808
if (ci->i_xattrs.index_version >= ci->i_xattrs.version)
fs/ceph/xattr.c
811
__ceph_destroy_xattrs(ci);
fs/ceph/xattr.c
815
if (ci->i_xattrs.blob && ci->i_xattrs.blob->vec.iov_len > 4) {
fs/ceph/xattr.c
816
p = ci->i_xattrs.blob->vec.iov_base;
fs/ceph/xattr.c
817
end = p + ci->i_xattrs.blob->vec.iov_len;
fs/ceph/xattr.c
819
xattr_version = ci->i_xattrs.version;
fs/ceph/xattr.c
820
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
835
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
836
if (ci->i_xattrs.version != xattr_version) {
fs/ceph/xattr.c
85
ci->i_layout.stripe_unit, ci->i_layout.stripe_count,
fs/ceph/xattr.c
854
err = __set_xattr(ci, name, namelen, val, len,
fs/ceph/xattr.c
86
ci->i_layout.object_size, pool);
fs/ceph/xattr.c
862
ci->i_xattrs.index_version = ci->i_xattrs.version;
fs/ceph/xattr.c
863
ci->i_xattrs.dirty = false;
fs/ceph/xattr.c
867
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
874
ci->i_xattrs.names_size = 0;
fs/ceph/xattr.c
878
static int __get_required_blob_size(struct ceph_inode_info *ci, int name_size,
fs/ceph/xattr.c
881
struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode);
fs/ceph/xattr.c
887
int size = 4 + ci->i_xattrs.count*(4 + 4) +
fs/ceph/xattr.c
888
ci->i_xattrs.names_size +
fs/ceph/xattr.c
889
ci->i_xattrs.vals_size;
fs/ceph/xattr.c
890
doutc(cl, "c=%d names.size=%d vals.size=%d\n", ci->i_xattrs.count,
fs/ceph/xattr.c
891
ci->i_xattrs.names_size, ci->i_xattrs.vals_size);
fs/ceph/xattr.c
905
struct ceph_buffer *__ceph_build_xattrs_blob(struct ceph_inode_info *ci)
fs/ceph/xattr.c
907
struct inode *inode = &ci->netfs.inode;
fs/ceph/xattr.c
915
if (ci->i_xattrs.dirty) {
fs/ceph/xattr.c
916
int need = __get_required_blob_size(ci, 0, 0);
fs/ceph/xattr.c
918
BUG_ON(need > ci->i_xattrs.prealloc_blob->alloc_len);
fs/ceph/xattr.c
920
p = rb_first(&ci->i_xattrs.index);
fs/ceph/xattr.c
921
dest = ci->i_xattrs.prealloc_blob->vec.iov_base;
fs/ceph/xattr.c
923
ceph_encode_32(&dest, ci->i_xattrs.count);
fs/ceph/xattr.c
938
ci->i_xattrs.prealloc_blob->vec.iov_len =
fs/ceph/xattr.c
939
dest - ci->i_xattrs.prealloc_blob->vec.iov_base;
fs/ceph/xattr.c
941
if (ci->i_xattrs.blob)
fs/ceph/xattr.c
942
old_blob = ci->i_xattrs.blob;
fs/ceph/xattr.c
943
ci->i_xattrs.blob = ci->i_xattrs.prealloc_blob;
fs/ceph/xattr.c
944
ci->i_xattrs.prealloc_blob = NULL;
fs/ceph/xattr.c
945
ci->i_xattrs.dirty = false;
fs/ceph/xattr.c
946
ci->i_xattrs.version++;
fs/ceph/xattr.c
973
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/xattr.c
994
if (!(vxattr->exists_cb && !vxattr->exists_cb(ci))) {
fs/ceph/xattr.c
995
err = vxattr->getxattr_cb(ci, value, size);
fs/crypto/bio.c
134
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/bio.c
135
const unsigned int du_bits = ci->ci_data_unit_bits;
fs/crypto/bio.c
185
err = fscrypt_crypt_data_unit(ci, FS_ENCRYPT, du_index,
fs/crypto/crypto.c
102
index = (u32)(ci->ci_hashed_ino + index);
fs/crypto/crypto.c
104
memcpy(iv->nonce, ci->ci_nonce, FSCRYPT_FILE_NONCE_SIZE);
fs/crypto/crypto.c
110
int fscrypt_crypt_data_unit(const struct fscrypt_inode_info *ci,
fs/crypto/crypto.c
115
struct crypto_sync_skcipher *tfm = ci->ci_enc_key.tfm;
fs/crypto/crypto.c
126
fscrypt_generate_iv(&iv, index, ci);
fs/crypto/crypto.c
141
fscrypt_err(ci->ci_inode,
fs/crypto/crypto.c
176
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/crypto.c
177
const unsigned int du_bits = ci->ci_data_unit_bits;
fs/crypto/crypto.c
197
err = fscrypt_crypt_data_unit(ci, FS_ENCRYPT, index,
fs/crypto/crypto.c
259
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/crypto.c
260
const unsigned int du_bits = ci->ci_data_unit_bits;
fs/crypto/crypto.c
276
err = fscrypt_crypt_data_unit(ci, FS_DECRYPT, index, page,
fs/crypto/crypto.c
90
const struct fscrypt_inode_info *ci)
fs/crypto/crypto.c
92
u8 flags = fscrypt_policy_flags(&ci->ci_policy);
fs/crypto/crypto.c
94
memset(iv, 0, ci->ci_mode->ivsize);
fs/crypto/crypto.c
98
WARN_ON_ONCE(ci->ci_inode->i_ino > U32_MAX);
fs/crypto/crypto.c
99
index |= (u64)ci->ci_inode->i_ino << 32;
fs/crypto/fname.c
113
fscrypt_generate_iv(&iv, 0, ci);
fs/crypto/fname.c
141
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/fname.c
142
struct crypto_sync_skcipher *tfm = ci->ci_enc_key.tfm;
fs/crypto/fname.c
148
fscrypt_generate_iv(&iv, 0, ci);
fs/crypto/fname.c
199
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/fname.c
201
return __fscrypt_fname_encrypted_size(&ci->ci_policy, orig_len, max_len,
fs/crypto/fname.c
469
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(dir);
fs/crypto/fname.c
471
WARN_ON_ONCE(!ci->ci_dirhash_key_initialized);
fs/crypto/fname.c
473
return siphash(name->name, name->len, &ci->ci_dirhash_key);
fs/crypto/fname.c
97
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/fname.c
98
struct crypto_sync_skcipher *tfm = ci->ci_enc_key.tfm;
fs/crypto/fscrypt_private.h
343
int fscrypt_crypt_data_unit(const struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
372
const struct fscrypt_inode_info *ci);
fs/crypto/fscrypt_private.h
416
int fscrypt_select_encryption_impl(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
420
fscrypt_using_inline_encryption(const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
422
return ci->ci_inlinecrypt;
fs/crypto/fscrypt_private.h
428
const struct fscrypt_inode_info *ci);
fs/crypto/fscrypt_private.h
443
const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
445
if (fscrypt_using_inline_encryption(ci))
fs/crypto/fscrypt_private.h
452
static inline int fscrypt_select_encryption_impl(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
459
fscrypt_using_inline_encryption(const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
468
const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
491
const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
740
const u8 *raw_key, const struct fscrypt_inode_info *ci);
fs/crypto/fscrypt_private.h
745
int fscrypt_set_per_file_enc_key(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
748
void fscrypt_derive_dirhash_key(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
751
void fscrypt_hash_inode_number(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
786
int fscrypt_setup_v1_file_key(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
790
struct fscrypt_inode_info *ci);
fs/crypto/hooks.c
189
struct fscrypt_inode_info *ci;
fs/crypto/hooks.c
202
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/hooks.c
203
if (ci->ci_policy.version != FSCRYPT_POLICY_V2)
fs/crypto/hooks.c
205
mk = ci->ci_master_key;
fs/crypto/hooks.c
208
fscrypt_derive_dirhash_key(ci, mk);
fs/crypto/inline_crypt.c
100
if (ci->ci_mode->blk_crypto_mode == BLK_ENCRYPTION_MODE_INVALID)
fs/crypto/inline_crypt.c
115
if ((fscrypt_policy_flags(&ci->ci_policy) &
fs/crypto/inline_crypt.c
124
crypto_cfg.crypto_mode = ci->ci_mode->blk_crypto_mode;
fs/crypto/inline_crypt.c
125
crypto_cfg.data_unit_size = 1U << ci->ci_data_unit_bits;
fs/crypto/inline_crypt.c
126
crypto_cfg.dun_bytes = fscrypt_get_dun_bytes(ci);
fs/crypto/inline_crypt.c
136
fscrypt_log_blk_crypto_impl(ci->ci_mode, devs, num_devs, &crypto_cfg);
fs/crypto/inline_crypt.c
138
ci->ci_inlinecrypt = true;
fs/crypto/inline_crypt.c
146
const struct fscrypt_inode_info *ci)
fs/crypto/inline_crypt.c
148
const struct inode *inode = ci->ci_inode;
fs/crypto/inline_crypt.c
150
enum blk_crypto_mode_num crypto_mode = ci->ci_mode->blk_crypto_mode;
fs/crypto/inline_crypt.c
164
crypto_mode, fscrypt_get_dun_bytes(ci),
fs/crypto/inline_crypt.c
165
1U << ci->ci_data_unit_bits);
fs/crypto/inline_crypt.c
247
static void fscrypt_generate_dun(const struct fscrypt_inode_info *ci,
fs/crypto/inline_crypt.c
253
fscrypt_generate_iv(&iv, pos >> ci->ci_data_unit_bits, ci);
fs/crypto/inline_crypt.c
257
for (i = 0; i < ci->ci_mode->ivsize/sizeof(dun[0]); i++)
fs/crypto/inline_crypt.c
280
const struct fscrypt_inode_info *ci;
fs/crypto/inline_crypt.c
285
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/inline_crypt.c
287
fscrypt_generate_dun(ci, pos, dun);
fs/crypto/inline_crypt.c
288
bio_crypt_set_ctx(bio, ci->ci_enc_key.blk_key, dun, gfp_mask);
fs/crypto/inline_crypt.c
317
const struct fscrypt_inode_info *ci;
fs/crypto/inline_crypt.c
324
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/inline_crypt.c
331
if (bc->bc_key != ci->ci_enc_key.blk_key)
fs/crypto/inline_crypt.c
334
fscrypt_generate_dun(ci, pos, next_dun);
fs/crypto/inline_crypt.c
35
static unsigned int fscrypt_get_dun_bytes(const struct fscrypt_inode_info *ci)
fs/crypto/inline_crypt.c
37
const struct super_block *sb = ci->ci_inode->i_sb;
fs/crypto/inline_crypt.c
38
unsigned int flags = fscrypt_policy_flags(&ci->ci_policy);
fs/crypto/inline_crypt.c
404
const struct fscrypt_inode_info *ci;
fs/crypto/inline_crypt.c
413
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/inline_crypt.c
414
if (!(fscrypt_policy_flags(&ci->ci_policy) &
fs/crypto/inline_crypt.c
420
dun = ci->ci_hashed_ino + lblk;
fs/crypto/inline_crypt.c
51
dun_bits = fscrypt_max_file_dun_bits(sb, ci->ci_data_unit_bits);
fs/crypto/inline_crypt.c
85
int fscrypt_select_encryption_impl(struct fscrypt_inode_info *ci,
fs/crypto/inline_crypt.c
88
const struct inode *inode = ci->ci_inode;
fs/crypto/keyring.c
912
struct fscrypt_inode_info *ci;
fs/crypto/keyring.c
918
list_for_each_entry(ci, &mk->mk_decrypted_inodes, ci_master_key_link) {
fs/crypto/keyring.c
919
inode = ci->ci_inode;
fs/crypto/keysetup.c
154
const u8 *raw_key, const struct fscrypt_inode_info *ci)
fs/crypto/keysetup.c
158
if (fscrypt_using_inline_encryption(ci))
fs/crypto/keysetup.c
160
ci->ci_mode->keysize,
fs/crypto/keysetup.c
161
false, ci);
fs/crypto/keysetup.c
163
tfm = fscrypt_allocate_skcipher(ci->ci_mode, raw_key, ci->ci_inode);
fs/crypto/keysetup.c
180
int fscrypt_set_per_file_enc_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
183
ci->ci_owns_key = true;
fs/crypto/keysetup.c
184
return fscrypt_prepare_key(&ci->ci_enc_key, raw_key, ci);
fs/crypto/keysetup.c
196
u8 mode_num, const struct fscrypt_inode_info *ci)
fs/crypto/keysetup.c
209
node->data_unit_bits == ci->ci_data_unit_bits &&
fs/crypto/keysetup.c
210
fscrypt_is_key_prepared(&node->key, ci))
fs/crypto/keysetup.c
216
static int setup_per_mode_enc_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
220
const struct inode *inode = ci->ci_inode;
fs/crypto/keysetup.c
222
struct fscrypt_mode *mode = ci->ci_mode;
fs/crypto/keysetup.c
237
if (!fscrypt_using_inline_encryption(ci)) {
fs/crypto/keysetup.c
239
fscrypt_warn(ci->ci_inode,
fs/crypto/keysetup.c
242
fscrypt_warn(ci->ci_inode,
fs/crypto/keysetup.c
249
prep_key = fscrypt_find_mode_key(mk, hkdf_context, mode_num, ci);
fs/crypto/keysetup.c
251
ci->ci_enc_key = *prep_key;
fs/crypto/keysetup.c
257
prep_key = fscrypt_find_mode_key(mk, hkdf_context, mode_num, ci);
fs/crypto/keysetup.c
259
ci->ci_enc_key = *prep_key;
fs/crypto/keysetup.c
268
new_node->data_unit_bits = ci->ci_data_unit_bits;
fs/crypto/keysetup.c
275
ci);
fs/crypto/keysetup.c
289
err = fscrypt_prepare_key(prep_key, raw_mode_key, ci);
fs/crypto/keysetup.c
297
ci->ci_enc_key = *prep_key;
fs/crypto/keysetup.c
321
void fscrypt_derive_dirhash_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
325
ci->ci_nonce, FSCRYPT_FILE_NONCE_SIZE,
fs/crypto/keysetup.c
326
&ci->ci_dirhash_key);
fs/crypto/keysetup.c
327
ci->ci_dirhash_key_initialized = true;
fs/crypto/keysetup.c
330
void fscrypt_hash_inode_number(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
333
WARN_ON_ONCE(ci->ci_inode->i_ino == 0);
fs/crypto/keysetup.c
336
ci->ci_hashed_ino = (u32)siphash_1u64(ci->ci_inode->i_ino,
fs/crypto/keysetup.c
340
static int fscrypt_setup_iv_ino_lblk_32_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
345
err = setup_per_mode_enc_key(ci, mk, HKDF_CONTEXT_IV_INO_LBLK_32_KEY,
fs/crypto/keysetup.c
370
if (ci->ci_inode->i_ino)
fs/crypto/keysetup.c
371
fscrypt_hash_inode_number(ci, mk);
fs/crypto/keysetup.c
375
static int fscrypt_setup_v2_file_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
382
!(ci->ci_policy.v2.flags & (FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 |
fs/crypto/keysetup.c
384
fscrypt_warn(ci->ci_inode,
fs/crypto/keysetup.c
389
if (ci->ci_policy.v2.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) {
fs/crypto/keysetup.c
398
err = setup_per_mode_enc_key(ci, mk, HKDF_CONTEXT_DIRECT_KEY,
fs/crypto/keysetup.c
400
} else if (ci->ci_policy.v2.flags &
fs/crypto/keysetup.c
409
ci, mk, HKDF_CONTEXT_IV_INO_LBLK_64_KEY, true);
fs/crypto/keysetup.c
410
} else if (ci->ci_policy.v2.flags &
fs/crypto/keysetup.c
412
err = fscrypt_setup_iv_ino_lblk_32_key(ci, mk);
fs/crypto/keysetup.c
418
ci->ci_nonce, FSCRYPT_FILE_NONCE_SIZE,
fs/crypto/keysetup.c
419
derived_key, ci->ci_mode->keysize);
fs/crypto/keysetup.c
420
err = fscrypt_set_per_file_enc_key(ci, derived_key);
fs/crypto/keysetup.c
421
memzero_explicit(derived_key, ci->ci_mode->keysize);
fs/crypto/keysetup.c
428
fscrypt_derive_dirhash_key(ci, mk);
fs/crypto/keysetup.c
451
const struct fscrypt_inode_info *ci)
fs/crypto/keysetup.c
455
if (ci->ci_policy.version == FSCRYPT_POLICY_V1)
fs/crypto/keysetup.c
456
min_keysize = ci->ci_mode->keysize;
fs/crypto/keysetup.c
458
min_keysize = ci->ci_mode->security_strength;
fs/crypto/keysetup.c
482
static int setup_file_encryption_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
486
struct super_block *sb = ci->ci_inode->i_sb;
fs/crypto/keysetup.c
491
err = fscrypt_policy_to_key_spec(&ci->ci_policy, &mk_spec);
fs/crypto/keysetup.c
507
fscrypt_policies_equal(dummy_policy, &ci->ci_policy)) {
fs/crypto/keysetup.c
515
if (ci->ci_policy.version != FSCRYPT_POLICY_V1)
fs/crypto/keysetup.c
518
err = fscrypt_select_encryption_impl(ci, false);
fs/crypto/keysetup.c
528
return fscrypt_setup_v1_file_key_via_subscribed_keyrings(ci);
fs/crypto/keysetup.c
538
if (!fscrypt_valid_master_key_size(mk, ci)) {
fs/crypto/keysetup.c
543
err = fscrypt_select_encryption_impl(ci, mk->mk_secret.is_hw_wrapped);
fs/crypto/keysetup.c
547
switch (ci->ci_policy.version) {
fs/crypto/keysetup.c
557
err = fscrypt_setup_v1_file_key(ci, mk->mk_secret.bytes);
fs/crypto/keysetup.c
560
err = fscrypt_setup_v2_file_key(ci, mk, need_dirhash_key);
fs/crypto/keysetup.c
579
static void put_crypt_info(struct fscrypt_inode_info *ci)
fs/crypto/keysetup.c
583
if (!ci)
fs/crypto/keysetup.c
586
if (ci->ci_direct_key)
fs/crypto/keysetup.c
587
fscrypt_put_direct_key(ci->ci_direct_key);
fs/crypto/keysetup.c
588
else if (ci->ci_owns_key)
fs/crypto/keysetup.c
589
fscrypt_destroy_prepared_key(ci->ci_inode->i_sb,
fs/crypto/keysetup.c
590
&ci->ci_enc_key);
fs/crypto/keysetup.c
592
mk = ci->ci_master_key;
fs/crypto/keysetup.c
601
list_del(&ci->ci_master_key_link);
fs/crypto/keysetup.c
603
fscrypt_put_master_key_activeref(ci->ci_inode->i_sb, mk);
fs/crypto/keysetup.c
605
memzero_explicit(ci, sizeof(*ci));
fs/crypto/keysetup.c
606
kmem_cache_free(fscrypt_inode_info_cachep, ci);
fs/crypto/keysetup.c
848
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info(inode);
fs/crypto/keysetup.c
856
if (!ci || !ci->ci_master_key)
fs/crypto/keysetup.c
877
return !READ_ONCE(ci->ci_master_key->mk_present);
fs/crypto/keysetup_v1.c
130
const struct fscrypt_inode_info *ci)
fs/crypto/keysetup_v1.c
142
memcpy(&hash_key, ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
147
if (memcmp(ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
151
if (ci->ci_inode->i_sb != dk->dk_sb)
fs/crypto/keysetup_v1.c
153
if (ci->ci_mode != dk->dk_mode)
fs/crypto/keysetup_v1.c
155
if (!fscrypt_is_key_prepared(&dk->dk_key, ci))
fs/crypto/keysetup_v1.c
157
if (crypto_memneq(raw_key, dk->dk_raw, ci->ci_mode->keysize))
fs/crypto/keysetup_v1.c
176
fscrypt_get_direct_key(const struct fscrypt_inode_info *ci, const u8 *raw_key)
fs/crypto/keysetup_v1.c
182
dk = find_or_insert_direct_key(NULL, raw_key, ci);
fs/crypto/keysetup_v1.c
190
dk->dk_sb = ci->ci_inode->i_sb;
fs/crypto/keysetup_v1.c
192
dk->dk_mode = ci->ci_mode;
fs/crypto/keysetup_v1.c
193
err = fscrypt_prepare_key(&dk->dk_key, raw_key, ci);
fs/crypto/keysetup_v1.c
196
memcpy(dk->dk_descriptor, ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
198
memcpy(dk->dk_raw, raw_key, ci->ci_mode->keysize);
fs/crypto/keysetup_v1.c
200
return find_or_insert_direct_key(dk, raw_key, ci);
fs/crypto/keysetup_v1.c
208
static int setup_v1_file_key_direct(struct fscrypt_inode_info *ci,
fs/crypto/keysetup_v1.c
213
dk = fscrypt_get_direct_key(ci, raw_master_key);
fs/crypto/keysetup_v1.c
216
ci->ci_direct_key = dk;
fs/crypto/keysetup_v1.c
217
ci->ci_enc_key = dk->dk_key;
fs/crypto/keysetup_v1.c
235
static int setup_v1_file_key_derived(struct fscrypt_inode_info *ci,
fs/crypto/keysetup_v1.c
238
const unsigned int derived_keysize = ci->ci_mode->keysize;
fs/crypto/keysetup_v1.c
248
aes_prepareenckey(&aes, ci->ci_nonce, FSCRYPT_FILE_NONCE_SIZE);
fs/crypto/keysetup_v1.c
252
err = fscrypt_set_per_file_enc_key(ci, derived_key);
fs/crypto/keysetup_v1.c
259
int fscrypt_setup_v1_file_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup_v1.c
262
if (ci->ci_policy.v1.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY)
fs/crypto/keysetup_v1.c
263
return setup_v1_file_key_direct(ci, raw_master_key);
fs/crypto/keysetup_v1.c
265
return setup_v1_file_key_derived(ci, raw_master_key);
fs/crypto/keysetup_v1.c
269
fscrypt_setup_v1_file_key_via_subscribed_keyrings(struct fscrypt_inode_info *ci)
fs/crypto/keysetup_v1.c
271
const struct super_block *sb = ci->ci_inode->i_sb;
fs/crypto/keysetup_v1.c
277
ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
278
ci->ci_mode->keysize, &payload);
fs/crypto/keysetup_v1.c
281
ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
282
ci->ci_mode->keysize, &payload);
fs/crypto/keysetup_v1.c
287
err = fscrypt_setup_v1_file_key(ci, payload->raw);
fs/crypto/policy.c
437
const struct fscrypt_inode_info *ci;
fs/crypto/policy.c
441
ci = fscrypt_get_inode_info(inode);
fs/crypto/policy.c
442
if (ci) {
fs/crypto/policy.c
444
*policy = ci->ci_policy;
fs/crypto/policy.c
749
struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/policy.c
755
if (WARN_ON_ONCE(!ci))
fs/crypto/policy.c
758
return fscrypt_new_context(ctx, &ci->ci_policy, ci->ci_nonce);
fs/crypto/policy.c
774
struct fscrypt_inode_info *ci;
fs/crypto/policy.c
786
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/policy.c
787
if (ci->ci_policy.version == FSCRYPT_POLICY_V2 &&
fs/crypto/policy.c
788
(ci->ci_policy.v2.flags & FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32))
fs/crypto/policy.c
789
fscrypt_hash_inode_number(ci, ci->ci_master_key);
fs/isofs/inode.c
204
const struct qstr *name, int ms, int ci)
fs/isofs/inode.c
218
if (ci) {
fs/nfsd/nfs4recover.c
707
const struct cld_clntinfo __user *ci;
fs/nfsd/nfs4recover.c
709
ci = &cmsg->cm_u.cm_clntinfo;
fs/nfsd/nfs4recover.c
710
if (get_user(namelen, &ci->cc_name.cn_len))
fs/nfsd/nfs4recover.c
716
namecopy = memdup_user(&ci->cc_name.cn_id, namelen);
fs/nfsd/nfs4recover.c
721
if (get_user(princhashlen, &ci->cc_princhash.cp_len))
fs/nfsd/nfs4recover.c
725
&ci->cc_princhash.cp_data,
fs/nilfs2/cpfile.c
556
struct nilfs_cpinfo *ci)
fs/nilfs2/cpfile.c
558
ci->ci_flags = le32_to_cpu(cp->cp_flags);
fs/nilfs2/cpfile.c
559
ci->ci_cno = le64_to_cpu(cp->cp_cno);
fs/nilfs2/cpfile.c
560
ci->ci_create = le64_to_cpu(cp->cp_create);
fs/nilfs2/cpfile.c
561
ci->ci_nblk_inc = le64_to_cpu(cp->cp_nblk_inc);
fs/nilfs2/cpfile.c
562
ci->ci_inodes_count = le64_to_cpu(cp->cp_inodes_count);
fs/nilfs2/cpfile.c
563
ci->ci_blocks_count = le64_to_cpu(cp->cp_blocks_count);
fs/nilfs2/cpfile.c
564
ci->ci_next = le64_to_cpu(cp->cp_snapshot_list.ssl_next);
fs/nilfs2/cpfile.c
572
struct nilfs_cpinfo *ci = buf;
fs/nilfs2/cpfile.c
600
ci);
fs/nilfs2/cpfile.c
601
ci = (void *)ci + cisz;
fs/nilfs2/cpfile.c
611
ci = (void *)ci - cisz;
fs/nilfs2/cpfile.c
612
*cnop = ci->ci_cno + 1;
fs/nilfs2/cpfile.c
627
struct nilfs_cpinfo *ci = buf;
fs/nilfs2/cpfile.c
666
nilfs_cpfile_checkpoint_to_cpinfo(cpfile, cp, ci);
fs/nilfs2/cpfile.c
667
ci = (void *)ci + cisz;
fs/nilfs2/cpfile.c
752
struct nilfs_cpinfo ci;
fs/nilfs2/cpfile.c
756
nci = nilfs_cpfile_do_get_cpinfo(cpfile, &tcno, &ci, sizeof(ci), 1);
fs/nilfs2/cpfile.c
759
else if (nci == 0 || ci.ci_cno != cno)
fs/nilfs2/cpfile.c
761
else if (nilfs_cpinfo_snapshot(&ci))
fs/ocfs2/alloc.c
1813
static int __ocfs2_find_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
1828
ocfs2_error(ocfs2_metadata_cache_get_super(ci),
fs/ocfs2/alloc.c
1830
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/alloc.c
1836
ocfs2_error(ocfs2_metadata_cache_get_super(ci),
fs/ocfs2/alloc.c
1839
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/alloc.c
1862
ocfs2_error(ocfs2_metadata_cache_get_super(ci),
fs/ocfs2/alloc.c
1864
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/alloc.c
1872
ret = ocfs2_read_extent_block(ci, blkno, &bh);
fs/ocfs2/alloc.c
1917
int ocfs2_find_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
1924
return __ocfs2_find_path(ci, path_root_el(path), cpos,
fs/ocfs2/alloc.c
1949
int ocfs2_find_leaf(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
1956
ret = __ocfs2_find_path(ci, root_el, cpos, find_leaf_ins, &bh);
fs/ocfs2/alloc.c
430
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
438
et->et_ci = ci;
fs/ocfs2/alloc.c
453
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
456
__ocfs2_init_extent_tree(et, ci, bh, ocfs2_journal_access_di,
fs/ocfs2/alloc.c
461
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
464
__ocfs2_init_extent_tree(et, ci, bh, ocfs2_journal_access_xb,
fs/ocfs2/alloc.c
469
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
472
__ocfs2_init_extent_tree(et, ci, vb->vb_bh, vb->vb_access, vb,
fs/ocfs2/alloc.c
477
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
480
__ocfs2_init_extent_tree(et, ci, bh, ocfs2_journal_access_dr,
fs/ocfs2/alloc.c
485
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
488
__ocfs2_init_extent_tree(et, ci, bh, ocfs2_journal_access_rb,
fs/ocfs2/alloc.c
721
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
733
return access(handle, ci, path->p_node[idx].bh,
fs/ocfs2/alloc.c
740
int ocfs2_journal_access_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
750
ret = ocfs2_path_bh_journal_access(handle, ci, path, i);
fs/ocfs2/alloc.c
950
int ocfs2_read_extent_block(struct ocfs2_caching_info *ci, u64 eb_blkno,
fs/ocfs2/alloc.c
956
rc = ocfs2_read_block(ci, eb_blkno, &tmp,
fs/ocfs2/alloc.h
223
int ocfs2_find_leaf(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
289
int ocfs2_find_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
295
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
298
int ocfs2_journal_access_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
56
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
59
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
63
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
66
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
69
struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.h
77
int ocfs2_read_extent_block(struct ocfs2_caching_info *ci, u64 eb_blkno,
fs/ocfs2/buffer_head_io.c
189
int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
fs/ocfs2/buffer_head_io.c
197
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/buffer_head_io.c
200
trace_ocfs2_read_blocks_begin(ci, (unsigned long long)block, nr, flags);
fs/ocfs2/buffer_head_io.c
202
BUG_ON(!ci);
fs/ocfs2/buffer_head_io.c
229
ocfs2_metadata_cache_io_lock(ci);
fs/ocfs2/buffer_head_io.c
267
if (!ignore_cache && !ocfs2_buffer_uptodate(ci, bh)) {
fs/ocfs2/buffer_head_io.c
270
(unsigned long long)ocfs2_metadata_cache_owner(ci));
fs/ocfs2/buffer_head_io.c
295
&& ocfs2_buffer_read_ahead(ci, bh))
fs/ocfs2/buffer_head_io.c
317
&& ocfs2_buffer_uptodate(ci, bh)) {
fs/ocfs2/buffer_head_io.c
387
ocfs2_set_buffer_uptodate(ci, bh);
fs/ocfs2/buffer_head_io.c
389
ocfs2_metadata_cache_io_unlock(ci);
fs/ocfs2/buffer_head_io.c
39
struct ocfs2_caching_info *ci)
fs/ocfs2/buffer_head_io.c
43
trace_ocfs2_write_block((unsigned long long)bh->b_blocknr, ci);
fs/ocfs2/buffer_head_io.c
57
ocfs2_metadata_cache_io_lock(ci);
fs/ocfs2/buffer_head_io.c
70
ocfs2_set_buffer_uptodate(ci, bh);
fs/ocfs2/buffer_head_io.c
79
ocfs2_metadata_cache_io_unlock(ci);
fs/ocfs2/buffer_head_io.h
17
struct ocfs2_caching_info *ci);
fs/ocfs2/buffer_head_io.h
28
int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
fs/ocfs2/buffer_head_io.h
39
static inline int ocfs2_read_block(struct ocfs2_caching_info *ci, u64 off,
fs/ocfs2/buffer_head_io.h
52
status = ocfs2_read_blocks(ci, off, 1, bh, 0, validate);
fs/ocfs2/dlmglue.c
4009
static int ocfs2_ci_checkpointed(struct ocfs2_caching_info *ci,
fs/ocfs2/dlmglue.c
4013
int checkpointed = ocfs2_ci_fully_checkpointed(ci);
fs/ocfs2/dlmglue.c
4021
ocfs2_start_checkpoint(OCFS2_SB(ocfs2_metadata_cache_get_super(ci)));
fs/ocfs2/extent_map.c
343
int ocfs2_figure_hole_clusters(struct ocfs2_caching_info *ci,
fs/ocfs2/extent_map.c
365
ret = ocfs2_read_extent_block(ci,
fs/ocfs2/extent_map.h
55
int ocfs2_figure_hole_clusters(struct ocfs2_caching_info *ci,
fs/ocfs2/inode.c
1966
static u64 ocfs2_inode_cache_owner(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1968
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1973
static struct super_block *ocfs2_inode_cache_get_super(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1975
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1980
static void ocfs2_inode_cache_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1983
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1988
static void ocfs2_inode_cache_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1991
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1996
static void ocfs2_inode_cache_io_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1998
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
2003
static void ocfs2_inode_cache_io_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
2005
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.h
162
static inline struct ocfs2_inode_info *cache_info_to_inode(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.h
164
return container_of(ci, struct ocfs2_inode_info, ip_metadata_cache);
fs/ocfs2/journal.c
657
struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
664
OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
666
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/journal.c
671
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/journal.c
705
ocfs2_set_ci_lock_trans(osb->journal, ci);
fs/ocfs2/journal.c
707
ocfs2_metadata_cache_io_lock(ci);
fs/ocfs2/journal.c
724
ocfs2_metadata_cache_io_unlock(ci);
fs/ocfs2/journal.c
733
int ocfs2_journal_access_di(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
736
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
738
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
743
int ocfs2_journal_access_eb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
746
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
748
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
753
int ocfs2_journal_access_rb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
756
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
758
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
763
int ocfs2_journal_access_gd(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
766
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
768
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
773
int ocfs2_journal_access_db(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
776
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
778
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
783
int ocfs2_journal_access_xb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
786
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
788
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
793
int ocfs2_journal_access_dq(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
796
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
798
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
803
int ocfs2_journal_access_dr(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
806
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
808
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
813
int ocfs2_journal_access_dl(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
816
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
818
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
823
int ocfs2_journal_access(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
826
return __ocfs2_journal_access(handle, ci, bh, NULL, type);
fs/ocfs2/journal.h
107
static inline int ocfs2_ci_is_new(struct ocfs2_caching_info *ci)
fs/ocfs2/journal.h
111
OCFS2_SB(ocfs2_metadata_cache_get_super(ci))->journal;
fs/ocfs2/journal.h
114
ret = !(time_after(journal->j_trans_id, ci->ci_created_trans));
fs/ocfs2/journal.h
116
ci->ci_created_trans = 0;
fs/ocfs2/journal.h
134
struct ocfs2_caching_info *ci)
fs/ocfs2/journal.h
137
ci->ci_created_trans = osb->journal->j_trans_id;
fs/ocfs2/journal.h
281
int ocfs2_journal_access_di(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
284
int ocfs2_journal_access_eb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
287
int ocfs2_journal_access_rb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
290
int ocfs2_journal_access_gd(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
293
int ocfs2_journal_access_xb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
296
int ocfs2_journal_access_dq(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
299
int ocfs2_journal_access_db(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
302
int ocfs2_journal_access_dr(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
305
int ocfs2_journal_access_dl(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
308
int ocfs2_journal_access(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
79
struct ocfs2_caching_info *ci)
fs/ocfs2/journal.h
82
ci->ci_last_trans = journal->j_trans_id;
fs/ocfs2/journal.h
91
static inline int ocfs2_ci_fully_checkpointed(struct ocfs2_caching_info *ci)
fs/ocfs2/journal.h
95
OCFS2_SB(ocfs2_metadata_cache_get_super(ci))->journal;
fs/ocfs2/journal.h
98
ret = time_after(journal->j_trans_id, ci->ci_last_trans);
fs/ocfs2/ocfs2.h
516
struct ocfs2_caching_info *ci,
fs/ocfs2/ocfs2.h
82
struct super_block *ocfs2_metadata_cache_get_super(struct ocfs2_caching_info *ci);
fs/ocfs2/ocfs2_trace.h
2684
TP_PROTO(unsigned long long block, void *ci),
fs/ocfs2/ocfs2_trace.h
2685
TP_ARGS(block, ci),
fs/ocfs2/ocfs2_trace.h
2688
__field(void *, ci)
fs/ocfs2/ocfs2_trace.h
2692
__entry->ci = ci;
fs/ocfs2/ocfs2_trace.h
2694
TP_printk("%llu %p", __entry->block, __entry->ci)
fs/ocfs2/ocfs2_trace.h
2698
TP_PROTO(void *ci, unsigned long long block,
fs/ocfs2/ocfs2_trace.h
2700
TP_ARGS(ci, block, nr, flags),
fs/ocfs2/ocfs2_trace.h
2702
__field(void *, ci)
fs/ocfs2/ocfs2_trace.h
2708
__entry->ci = ci;
fs/ocfs2/ocfs2_trace.h
2713
TP_printk("%p %llu %u %d", __entry->ci, __entry->block,
fs/ocfs2/refcounttree.c
1005
ret = ocfs2_find_path(ci, left_path, cpos);
fs/ocfs2/refcounttree.c
1024
ret = ocfs2_find_path(ci, right_path, cpos);
fs/ocfs2/refcounttree.c
1057
static int ocfs2_get_refcount_rec(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1070
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
1075
ocfs2_find_refcount_rec_in_rl(ci, ref_root_bh, cpos, len,
fs/ocfs2/refcounttree.c
1086
ret = ocfs2_find_leaf(ci, el, low_cpos, &eb_bh);
fs/ocfs2/refcounttree.c
1098
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
1115
ret = ocfs2_get_refcount_cpos_end(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1126
ret = ocfs2_read_refcount_block(ci, le64_to_cpu(rec->e_blkno),
fs/ocfs2/refcounttree.c
1133
ocfs2_find_refcount_rec_in_rl(ci, ref_leaf_bh, cpos, len,
fs/ocfs2/refcounttree.c
123
static int ocfs2_read_refcount_block(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1235
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1245
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1253
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
1276
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1285
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
1291
ret = ocfs2_journal_access_rb(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
130
rc = ocfs2_read_block(ci, rb_blkno, &tmp,
fs/ocfs2/refcounttree.c
1312
ocfs2_set_new_buffer_uptodate(ci, new_bh);
fs/ocfs2/refcounttree.c
1314
ret = ocfs2_journal_access_rb(handle, ci, new_bh,
fs/ocfs2/refcounttree.c
140
static u64 ocfs2_refcount_cache_owner(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
142
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
148
ocfs2_refcount_cache_get_super(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
150
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1507
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1516
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
1525
ret = ocfs2_journal_access_rb(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1532
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
155
static void ocfs2_refcount_cache_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1553
ocfs2_set_new_buffer_uptodate(ci, new_bh);
fs/ocfs2/refcounttree.c
1555
ret = ocfs2_journal_access_rb(handle, ci, new_bh,
fs/ocfs2/refcounttree.c
158
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1586
ocfs2_init_refcount_extent_tree(&ref_et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
1603
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1616
ret = ocfs2_expand_inline_ref_root(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1629
ret = ocfs2_new_leaf_refcount_block(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
163
static void ocfs2_refcount_cache_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1645
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
166
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1667
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
1676
ret = ocfs2_find_path(ci, path, old_cpos);
fs/ocfs2/refcounttree.c
1692
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1699
ret = ocfs2_journal_access_eb(handle, ci, path_leaf_bh(path),
fs/ocfs2/refcounttree.c
171
static void ocfs2_refcount_cache_io_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1729
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
173
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1748
ret = ocfs2_expand_refcount_tree(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1755
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1768
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
178
static void ocfs2_refcount_cache_io_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1796
ret = ocfs2_adjust_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
180
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1817
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1874
ret = ocfs2_expand_refcount_tree(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1885
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1899
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1973
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1985
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
1989
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2014
ret = ocfs2_change_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2027
ret = ocfs2_insert_refcount_rec(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2045
ret = ocfs2_split_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2067
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2074
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
2082
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
2086
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
2094
ocfs2_remove_from_cache(ci, ref_leaf_bh);
fs/ocfs2/refcounttree.c
2110
ret = ocfs2_journal_access_rb(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2152
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2158
return __ocfs2_increase_refcount(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2164
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2181
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
2186
ret = ocfs2_change_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2195
ret = ocfs2_split_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2208
ret = ocfs2_remove_refcount_extent(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2220
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2230
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
2234
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
2238
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2254
ret = ocfs2_decrease_refcount_rec(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2368
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2383
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2487
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
3004
struct ocfs2_caching_info *ci = INODE_CACHE(inode);
fs/ocfs2/refcounttree.c
3023
ocfs2_set_new_buffer_uptodate(ci, new_bh);
fs/ocfs2/refcounttree.c
3025
ret = ocfs2_read_block(ci, old_block, &old_bh, NULL);
fs/ocfs2/refcounttree.c
3031
ret = ocfs2_journal_access(handle, ci, new_bh,
fs/ocfs2/refcounttree.c
3117
struct ocfs2_caching_info *ci = context->data_et.et_ci;
fs/ocfs2/refcounttree.c
3118
u64 ino = ocfs2_metadata_cache_owner(ci);
fs/ocfs2/refcounttree.c
67
cache_info_to_refcount(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
69
return container_of(ci, struct ocfs2_refcount_tree, rf_ci);
fs/ocfs2/refcounttree.c
875
static void ocfs2_find_refcount_rec_in_rl(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
957
static int ocfs2_get_refcount_cpos_end(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
966
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
995
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.h
99
struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
102
ci->ci_flags |= OCFS2_CACHE_FL_INLINE;
fs/ocfs2/uptodate.c
103
ci->ci_num_cached = 0;
fs/ocfs2/uptodate.c
106
ci->ci_created_trans = 0;
fs/ocfs2/uptodate.c
107
ci->ci_last_trans = 0;
fs/ocfs2/uptodate.c
111
void ocfs2_metadata_cache_init(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
116
ci->ci_ops = ops;
fs/ocfs2/uptodate.c
117
ocfs2_metadata_cache_reset(ci, 1);
fs/ocfs2/uptodate.c
120
void ocfs2_metadata_cache_exit(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
122
ocfs2_metadata_cache_purge(ci);
fs/ocfs2/uptodate.c
123
ocfs2_metadata_cache_reset(ci, 1);
fs/ocfs2/uptodate.c
155
void ocfs2_metadata_cache_purge(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
160
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
162
ocfs2_metadata_cache_lock(ci);
fs/ocfs2/uptodate.c
163
tree = !(ci->ci_flags & OCFS2_CACHE_FL_INLINE);
fs/ocfs2/uptodate.c
164
to_purge = ci->ci_num_cached;
fs/ocfs2/uptodate.c
167
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
174
root = ci->ci_cache.ci_tree;
fs/ocfs2/uptodate.c
176
ocfs2_metadata_cache_reset(ci, 0);
fs/ocfs2/uptodate.c
177
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
185
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
191
static int ocfs2_search_cache_array(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
196
for (i = 0; i < ci->ci_num_cached; i++) {
fs/ocfs2/uptodate.c
197
if (item == ci->ci_cache.ci_array[i])
fs/ocfs2/uptodate.c
207
ocfs2_search_cache_tree(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
210
struct rb_node * n = ci->ci_cache.ci_tree.rb_node;
fs/ocfs2/uptodate.c
227
static int ocfs2_buffer_cached(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
233
ocfs2_metadata_cache_lock(ci);
fs/ocfs2/uptodate.c
236
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
238
!!(ci->ci_flags & OCFS2_CACHE_FL_INLINE));
fs/ocfs2/uptodate.c
240
if (ci->ci_flags & OCFS2_CACHE_FL_INLINE)
fs/ocfs2/uptodate.c
241
index = ocfs2_search_cache_array(ci, bh->b_blocknr);
fs/ocfs2/uptodate.c
243
item = ocfs2_search_cache_tree(ci, bh->b_blocknr);
fs/ocfs2/uptodate.c
245
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
257
int ocfs2_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
273
return ocfs2_buffer_cached(ci, bh);
fs/ocfs2/uptodate.c
280
int ocfs2_buffer_read_ahead(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
283
return buffer_locked(bh) && ocfs2_buffer_cached(ci, bh);
fs/ocfs2/uptodate.c
287
static void ocfs2_append_cache_array(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
290
BUG_ON(ci->ci_num_cached >= OCFS2_CACHE_INFO_MAX_ARRAY);
fs/ocfs2/uptodate.c
293
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
294
(unsigned long long)block, ci->ci_num_cached);
fs/ocfs2/uptodate.c
296
ci->ci_cache.ci_array[ci->ci_num_cached] = block;
fs/ocfs2/uptodate.c
297
ci->ci_num_cached++;
fs/ocfs2/uptodate.c
303
static void __ocfs2_insert_cache_tree(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
308
struct rb_node **p = &ci->ci_cache.ci_tree.rb_node;
fs/ocfs2/uptodate.c
312
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
313
(unsigned long long)block, ci->ci_num_cached);
fs/ocfs2/uptodate.c
333
rb_insert_color(&new->c_node, &ci->ci_cache.ci_tree);
fs/ocfs2/uptodate.c
334
ci->ci_num_cached++;
fs/ocfs2/uptodate.c
338
static inline int ocfs2_insert_can_use_array(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
340
return (ci->ci_flags & OCFS2_CACHE_FL_INLINE) &&
fs/ocfs2/uptodate.c
341
(ci->ci_num_cached < OCFS2_CACHE_INFO_MAX_ARRAY);
fs/ocfs2/uptodate.c
349
static void ocfs2_expand_cache(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
354
mlog_bug_on_msg(ci->ci_num_cached != OCFS2_CACHE_INFO_MAX_ARRAY,
fs/ocfs2/uptodate.c
356
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
357
ci->ci_num_cached, OCFS2_CACHE_INFO_MAX_ARRAY);
fs/ocfs2/uptodate.c
358
mlog_bug_on_msg(!(ci->ci_flags & OCFS2_CACHE_FL_INLINE),
fs/ocfs2/uptodate.c
360
(unsigned long long)ocfs2_metadata_cache_owner(ci));
fs/ocfs2/uptodate.c
365
tree[i]->c_block = ci->ci_cache.ci_array[i];
fs/ocfs2/uptodate.c
367
ci->ci_flags &= ~OCFS2_CACHE_FL_INLINE;
fs/ocfs2/uptodate.c
368
ci->ci_cache.ci_tree = RB_ROOT;
fs/ocfs2/uptodate.c
370
ci->ci_num_cached = 0;
fs/ocfs2/uptodate.c
373
__ocfs2_insert_cache_tree(ci, tree[i]);
fs/ocfs2/uptodate.c
378
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
379
ci->ci_flags, ci->ci_num_cached);
fs/ocfs2/uptodate.c
384
static void __ocfs2_set_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
394
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
419
ocfs2_metadata_cache_lock(ci);
fs/ocfs2/uptodate.c
420
if (ocfs2_insert_can_use_array(ci)) {
fs/ocfs2/uptodate.c
423
ocfs2_append_cache_array(ci, block);
fs/ocfs2/uptodate.c
424
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
429
ocfs2_expand_cache(ci, tree);
fs/ocfs2/uptodate.c
431
__ocfs2_insert_cache_tree(ci, new);
fs/ocfs2/uptodate.c
432
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
467
void ocfs2_set_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
474
if (ocfs2_buffer_cached(ci, bh))
fs/ocfs2/uptodate.c
478
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
483
ocfs2_metadata_cache_lock(ci);
fs/ocfs2/uptodate.c
484
if (ocfs2_insert_can_use_array(ci)) {
fs/ocfs2/uptodate.c
487
ocfs2_append_cache_array(ci, bh->b_blocknr);
fs/ocfs2/uptodate.c
488
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
493
if (ci->ci_flags & OCFS2_CACHE_FL_INLINE) {
fs/ocfs2/uptodate.c
497
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
499
__ocfs2_set_buffer_uptodate(ci, bh->b_blocknr, expand);
fs/ocfs2/uptodate.c
505
void ocfs2_set_new_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
509
BUG_ON(ocfs2_buffer_cached(ci, bh));
fs/ocfs2/uptodate.c
513
ocfs2_metadata_cache_io_lock(ci);
fs/ocfs2/uptodate.c
514
ocfs2_set_buffer_uptodate(ci, bh);
fs/ocfs2/uptodate.c
515
ocfs2_metadata_cache_io_unlock(ci);
fs/ocfs2/uptodate.c
519
static void ocfs2_remove_metadata_array(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
522
sector_t *array = ci->ci_cache.ci_array;
fs/ocfs2/uptodate.c
526
BUG_ON(index >= ci->ci_num_cached);
fs/ocfs2/uptodate.c
527
BUG_ON(!ci->ci_num_cached);
fs/ocfs2/uptodate.c
530
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
531
index, ci->ci_num_cached);
fs/ocfs2/uptodate.c
533
ci->ci_num_cached--;
fs/ocfs2/uptodate.c
537
if (ci->ci_num_cached && index < ci->ci_num_cached) {
fs/ocfs2/uptodate.c
538
bytes = sizeof(sector_t) * (ci->ci_num_cached - index);
fs/ocfs2/uptodate.c
544
static void ocfs2_remove_metadata_tree(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
548
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
551
rb_erase(&item->c_node, &ci->ci_cache.ci_tree);
fs/ocfs2/uptodate.c
552
ci->ci_num_cached--;
fs/ocfs2/uptodate.c
555
static void ocfs2_remove_block_from_cache(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
56
u64 ocfs2_metadata_cache_owner(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
561
ocfs2_metadata_cache_lock(ci);
fs/ocfs2/uptodate.c
563
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/uptodate.c
564
(unsigned long long) block, ci->ci_num_cached,
fs/ocfs2/uptodate.c
565
ci->ci_flags);
fs/ocfs2/uptodate.c
567
if (ci->ci_flags & OCFS2_CACHE_FL_INLINE) {
fs/ocfs2/uptodate.c
568
index = ocfs2_search_cache_array(ci, block);
fs/ocfs2/uptodate.c
570
ocfs2_remove_metadata_array(ci, index);
fs/ocfs2/uptodate.c
572
item = ocfs2_search_cache_tree(ci, block);
fs/ocfs2/uptodate.c
574
ocfs2_remove_metadata_tree(ci, item);
fs/ocfs2/uptodate.c
576
ocfs2_metadata_cache_unlock(ci);
fs/ocfs2/uptodate.c
58
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
587
void ocfs2_remove_from_cache(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
592
ocfs2_remove_block_from_cache(ci, block);
fs/ocfs2/uptodate.c
596
void ocfs2_remove_xattr_clusters_from_cache(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.c
60
return ci->ci_ops->co_owner(ci);
fs/ocfs2/uptodate.c
600
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/uptodate.c
604
ocfs2_remove_block_from_cache(ci, block);
fs/ocfs2/uptodate.c
63
struct super_block *ocfs2_metadata_cache_get_super(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
65
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
67
return ci->ci_ops->co_get_super(ci);
fs/ocfs2/uptodate.c
70
static void ocfs2_metadata_cache_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
72
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
74
ci->ci_ops->co_cache_lock(ci);
fs/ocfs2/uptodate.c
77
static void ocfs2_metadata_cache_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
79
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
81
ci->ci_ops->co_cache_unlock(ci);
fs/ocfs2/uptodate.c
84
void ocfs2_metadata_cache_io_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
86
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
88
ci->ci_ops->co_io_lock(ci);
fs/ocfs2/uptodate.c
91
void ocfs2_metadata_cache_io_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/uptodate.c
93
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/uptodate.c
95
ci->ci_ops->co_io_unlock(ci);
fs/ocfs2/uptodate.c
99
static void ocfs2_metadata_cache_reset(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
23
u64 (*co_owner)(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
26
struct super_block *(*co_get_super)(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
31
void (*co_cache_lock)(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
32
void (*co_cache_unlock)(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
38
void (*co_io_lock)(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
39
void (*co_io_unlock)(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
45
void ocfs2_metadata_cache_init(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
47
void ocfs2_metadata_cache_purge(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
48
void ocfs2_metadata_cache_exit(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
50
u64 ocfs2_metadata_cache_owner(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
51
void ocfs2_metadata_cache_io_lock(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
52
void ocfs2_metadata_cache_io_unlock(struct ocfs2_caching_info *ci);
fs/ocfs2/uptodate.h
54
int ocfs2_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
56
void ocfs2_set_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
58
void ocfs2_set_new_buffer_uptodate(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
60
void ocfs2_remove_from_cache(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
62
void ocfs2_remove_xattr_clusters_from_cache(struct ocfs2_caching_info *ci,
fs/ocfs2/uptodate.h
65
int ocfs2_buffer_read_ahead(struct ocfs2_caching_info *ci,
fs/resctrl/ctrlmondata.c
685
struct cacheinfo *ci;
fs/resctrl/ctrlmondata.c
723
ci = get_cpu_cacheinfo_level(cpu, RESCTRL_L3_CACHE);
fs/resctrl/ctrlmondata.c
724
if (!ci)
fs/resctrl/ctrlmondata.c
726
rr.ci = ci;
fs/resctrl/ctrlmondata.c
728
&ci->shared_cpu_map, evt, false);
fs/resctrl/internal.h
145
struct cacheinfo *ci;
fs/resctrl/monitor.c
499
if (!cpumask_test_cpu(cpu, &rr->ci->shared_cpu_map))
fs/resctrl/monitor.c
511
if (d->ci_id != rr->ci->id)
fs/resctrl/pseudo_lock.c
228
struct cacheinfo *ci;
fs/resctrl/pseudo_lock.c
244
ci = get_cpu_cacheinfo_level(plr->cpu, scope);
fs/resctrl/pseudo_lock.c
245
if (ci) {
fs/resctrl/pseudo_lock.c
246
plr->line_size = ci->coherency_line_size;
fs/resctrl/rdtgroup.c
1537
struct cacheinfo *ci;
fs/resctrl/rdtgroup.c
1544
ci = get_cpu_cacheinfo_level(cpumask_any(&d->hdr.cpu_mask), r->ctrl_scope);
fs/resctrl/rdtgroup.c
1545
if (ci)
fs/resctrl/rdtgroup.c
1546
size = ci->size / r->cache.cbm_len * num_b;
fs/smb/client/smb2inode.c
52
struct cifsInodeInfo *ci;
fs/smb/client/smb2inode.c
55
ci = CIFS_I(d_inode(dentry));
fs/smb/client/smb2inode.c
56
if (ci->cifsAttrs & ATTR_REPARSE_POINT)
fs/smb/server/oplock.c
1262
int find_same_lease_key(struct ksmbd_conn *conn, struct ksmbd_inode *ci,
fs/smb/server/oplock.c
1289
if (lease->ci == ci)
fs/smb/server/oplock.c
1448
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/oplock.c
1469
opinfo->o_lease = alloc_lease(lctx, ci);
fs/smb/server/oplock.c
1497
ksmbd_inode_has_lease(ci)))) {
fs/smb/server/oplock.c
1506
m_opinfo = same_client_has_lease(ci, work->conn->ClientGUID,
fs/smb/server/oplock.c
1518
prev_opinfo = opinfo_get_list(ci, fp, &prev_op_snapshot);
fs/smb/server/oplock.c
1665
struct ksmbd_inode *ci;
fs/smb/server/oplock.c
1674
ci = fp->f_ci;
fs/smb/server/oplock.c
1677
down_read(&ci->m_lock);
fs/smb/server/oplock.c
1678
list_for_each_entry(brk_op, &ci->m_op_list, op_entry) {
fs/smb/server/oplock.c
171
struct ksmbd_inode *ci)
fs/smb/server/oplock.c
1721
up_read(&ci->m_lock);
fs/smb/server/oplock.c
188
lease->ci = ci;
fs/smb/server/oplock.c
287
static struct oplock_info *opinfo_get_list(struct ksmbd_inode *ci,
fs/smb/server/oplock.c
299
down_read(&ci->m_lock);
fs/smb/server/oplock.c
300
opinfo = list_first_entry_or_null(&ci->m_op_list, struct oplock_info,
fs/smb/server/oplock.c
323
up_read(&ci->m_lock);
fs/smb/server/oplock.c
339
static bool ksmbd_inode_has_lease(struct ksmbd_inode *ci)
fs/smb/server/oplock.c
341
struct oplock_info *opinfo = opinfo_get_list(ci, NULL, NULL);
fs/smb/server/oplock.c
353
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/oplock.c
355
down_write(&ci->m_lock);
fs/smb/server/oplock.c
356
list_add(&opinfo->op_entry, &ci->m_op_list);
fs/smb/server/oplock.c
357
up_write(&ci->m_lock);
fs/smb/server/oplock.c
362
struct ksmbd_inode *ci = opinfo->o_fp->f_ci;
fs/smb/server/oplock.c
367
down_write(&ci->m_lock);
fs/smb/server/oplock.c
369
up_write(&ci->m_lock);
fs/smb/server/oplock.c
655
static struct oplock_info *same_client_has_lease(struct ksmbd_inode *ci,
fs/smb/server/oplock.c
671
down_read(&ci->m_lock);
fs/smb/server/oplock.c
672
list_for_each_entry(opinfo, &ci->m_op_list, op_entry) {
fs/smb/server/oplock.c
690
if ((atomic_read(&ci->op_count) +
fs/smb/server/oplock.c
691
atomic_read(&ci->sop_count)) == 1) {
fs/smb/server/oplock.c
701
} else if ((atomic_read(&ci->op_count) +
fs/smb/server/oplock.c
702
atomic_read(&ci->sop_count)) > 1) {
fs/smb/server/oplock.c
721
up_read(&ci->m_lock);
fs/smb/server/oplock.h
131
int find_same_lease_key(struct ksmbd_conn *conn, struct ksmbd_inode *ci,
fs/smb/server/oplock.h
54
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
1539
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
1562
ci = fp->f_ci;
fs/smb/server/vfs_cache.c
1563
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
1564
list_for_each_entry_rcu(op, &ci->m_op_list, op_entry,
fs/smb/server/vfs_cache.c
1565
lockdep_is_held(&ci->m_lock)) {
fs/smb/server/vfs_cache.c
1572
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
1667
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
1719
ci = fp->f_ci;
fs/smb/server/vfs_cache.c
1720
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
1721
list_for_each_entry_rcu(op, &ci->m_op_list, op_entry,
fs/smb/server/vfs_cache.c
1722
lockdep_is_held(&ci->m_lock)) {
fs/smb/server/vfs_cache.c
1728
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
177
struct ksmbd_inode *ci = NULL, *ret_ci = NULL;
fs/smb/server/vfs_cache.c
179
hlist_for_each_entry(ci, head, m_hash) {
fs/smb/server/vfs_cache.c
180
if (ci->m_de == de) {
fs/smb/server/vfs_cache.c
181
if (atomic_inc_not_zero(&ci->m_count))
fs/smb/server/vfs_cache.c
182
ret_ci = ci;
fs/smb/server/vfs_cache.c
196
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
199
ci = __ksmbd_inode_lookup(d);
fs/smb/server/vfs_cache.c
202
return ci;
fs/smb/server/vfs_cache.c
207
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
211
ci = __ksmbd_inode_lookup(dentry);
fs/smb/server/vfs_cache.c
213
if (!ci)
fs/smb/server/vfs_cache.c
216
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
217
if (ci->m_flags & S_DEL_PENDING)
fs/smb/server/vfs_cache.c
221
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
223
ksmbd_inode_put(ci);
fs/smb/server/vfs_cache.c
229
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
232
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
233
ret = (ci->m_flags & S_DEL_PENDING);
fs/smb/server/vfs_cache.c
234
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
241
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
243
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
244
ci->m_flags |= S_DEL_PENDING;
fs/smb/server/vfs_cache.c
245
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
250
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
252
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
253
ci->m_flags &= ~S_DEL_PENDING;
fs/smb/server/vfs_cache.c
254
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
260
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
266
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
267
list_for_each_entry(prev_fp, &ci->m_fp_list, node) {
fs/smb/server/vfs_cache.c
279
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
287
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
289
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
291
ci->m_flags |= S_DEL_ON_CLS_STREAM;
fs/smb/server/vfs_cache.c
293
ci->m_flags |= S_DEL_ON_CLS;
fs/smb/server/vfs_cache.c
294
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
297
static void ksmbd_inode_hash(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
300
inode_hash(d_inode(ci->m_de)->i_sb, (unsigned long)ci->m_de);
fs/smb/server/vfs_cache.c
302
hlist_add_head(&ci->m_hash, b);
fs/smb/server/vfs_cache.c
305
static void ksmbd_inode_unhash(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
308
hlist_del_init(&ci->m_hash);
fs/smb/server/vfs_cache.c
312
static int ksmbd_inode_init(struct ksmbd_inode *ci, struct ksmbd_file *fp)
fs/smb/server/vfs_cache.c
314
atomic_set(&ci->m_count, 1);
fs/smb/server/vfs_cache.c
315
atomic_set(&ci->op_count, 0);
fs/smb/server/vfs_cache.c
316
atomic_set(&ci->sop_count, 0);
fs/smb/server/vfs_cache.c
317
ci->m_flags = 0;
fs/smb/server/vfs_cache.c
318
ci->m_fattr = 0;
fs/smb/server/vfs_cache.c
319
INIT_LIST_HEAD(&ci->m_fp_list);
fs/smb/server/vfs_cache.c
320
INIT_LIST_HEAD(&ci->m_op_list);
fs/smb/server/vfs_cache.c
321
init_rwsem(&ci->m_lock);
fs/smb/server/vfs_cache.c
322
ci->m_de = fp->filp->f_path.dentry;
fs/smb/server/vfs_cache.c
328
struct ksmbd_inode *ci, *tmpci;
fs/smb/server/vfs_cache.c
332
ci = ksmbd_inode_lookup(fp);
fs/smb/server/vfs_cache.c
334
if (ci)
fs/smb/server/vfs_cache.c
335
return ci;
fs/smb/server/vfs_cache.c
337
ci = kmalloc_obj(struct ksmbd_inode, KSMBD_DEFAULT_GFP);
fs/smb/server/vfs_cache.c
338
if (!ci)
fs/smb/server/vfs_cache.c
341
rc = ksmbd_inode_init(ci, fp);
fs/smb/server/vfs_cache.c
344
kfree(ci);
fs/smb/server/vfs_cache.c
351
ksmbd_inode_hash(ci);
fs/smb/server/vfs_cache.c
353
kfree(ci);
fs/smb/server/vfs_cache.c
354
ci = tmpci;
fs/smb/server/vfs_cache.c
357
return ci;
fs/smb/server/vfs_cache.c
360
static void ksmbd_inode_free(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
362
ksmbd_inode_unhash(ci);
fs/smb/server/vfs_cache.c
363
kfree(ci);
fs/smb/server/vfs_cache.c
366
void ksmbd_inode_put(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
368
if (atomic_dec_and_test(&ci->m_count))
fs/smb/server/vfs_cache.c
369
ksmbd_inode_free(ci);
fs/smb/server/vfs_cache.c
401
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
410
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
411
if (ci->m_flags & S_DEL_ON_CLS_STREAM) {
fs/smb/server/vfs_cache.c
412
ci->m_flags &= ~S_DEL_ON_CLS_STREAM;
fs/smb/server/vfs_cache.c
415
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
432
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
434
if (ci->m_flags & S_DEL_ON_CLS) {
fs/smb/server/vfs_cache.c
435
ci->m_flags &= ~S_DEL_ON_CLS;
fs/smb/server/vfs_cache.c
436
ci->m_flags |= S_DEL_PENDING;
fs/smb/server/vfs_cache.c
438
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
440
if (atomic_dec_and_test(&ci->m_count)) {
fs/smb/server/vfs_cache.c
443
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
444
if (ci->m_flags & S_DEL_PENDING) {
fs/smb/server/vfs_cache.c
445
ci->m_flags &= ~S_DEL_PENDING;
fs/smb/server/vfs_cache.c
448
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
453
ksmbd_inode_free(ci);
fs/smb/server/vfs_cache.c
569
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
574
ci = ksmbd_inode_lookup_lock(dentry);
fs/smb/server/vfs_cache.c
575
if (!ci)
fs/smb/server/vfs_cache.c
578
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
579
if (ci->m_flags & (S_DEL_ON_CLS | S_DEL_ON_CLS_STREAM | S_DEL_PENDING)) {
fs/smb/server/vfs_cache.c
580
list_for_each_entry_safe(fp, tmp, &ci->m_fp_list, node) {
fs/smb/server/vfs_cache.c
600
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
608
ksmbd_inode_put(ci);
fs/smb/server/vfs_cache.c
804
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
807
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
808
list_for_each_entry(lfp, &ci->m_fp_list, node) {
fs/smb/server/vfs_cache.c
818
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
944
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
948
ci = __ksmbd_inode_lookup(dentry);
fs/smb/server/vfs_cache.c
950
if (!ci)
fs/smb/server/vfs_cache.c
953
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
954
list_for_each_entry(lfp, &ci->m_fp_list, node) {
fs/smb/server/vfs_cache.c
957
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
958
ksmbd_inode_put(ci);
fs/smb/server/vfs_cache.c
962
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
963
ksmbd_inode_put(ci);
fs/smb/server/vfs_cache.h
172
void ksmbd_inode_put(struct ksmbd_inode *ci);
fs/ubifs/orphan.c
813
struct check_info *ci = priv;
fs/ubifs/orphan.c
818
if (inum != ci->last_ino) {
fs/ubifs/orphan.c
827
ci->last_ino = inum;
fs/ubifs/orphan.c
828
ci->tot_inos += 1;
fs/ubifs/orphan.c
829
err = ubifs_tnc_read_node(c, zbr, ci->node);
fs/ubifs/orphan.c
834
if (ci->node->nlink == 0)
fs/ubifs/orphan.c
836
if (!dbg_find_check_orphan(&ci->root, inum) &&
fs/ubifs/orphan.c
840
ci->missing += 1;
fs/ubifs/orphan.c
843
ci->leaf_cnt += 1;
fs/ubifs/orphan.c
847
static int dbg_read_orphans(struct check_info *ci, struct ubifs_scan_leb *sleb)
fs/ubifs/orphan.c
862
err = dbg_ins_check_orphan(&ci->root, inum);
fs/ubifs/orphan.c
870
static int dbg_scan_orphans(struct ubifs_info *c, struct check_info *ci)
fs/ubifs/orphan.c
894
err = dbg_read_orphans(ci, sleb);
fs/ubifs/orphan.c
906
struct check_info ci;
fs/ubifs/orphan.c
912
ci.last_ino = 0;
fs/ubifs/orphan.c
913
ci.tot_inos = 0;
fs/ubifs/orphan.c
914
ci.missing = 0;
fs/ubifs/orphan.c
915
ci.leaf_cnt = 0;
fs/ubifs/orphan.c
916
ci.root = RB_ROOT;
fs/ubifs/orphan.c
917
ci.node = kmalloc(UBIFS_MAX_INO_NODE_SZ, GFP_NOFS);
fs/ubifs/orphan.c
918
if (!ci.node) {
fs/ubifs/orphan.c
923
err = dbg_scan_orphans(c, &ci);
fs/ubifs/orphan.c
927
err = dbg_walk_index(c, &dbg_orphan_check, NULL, &ci);
fs/ubifs/orphan.c
933
if (ci.missing) {
fs/ubifs/orphan.c
934
ubifs_err(c, "%lu missing orphan(s)", ci.missing);
fs/ubifs/orphan.c
939
dbg_cmt("last inode number is %lu", ci.last_ino);
fs/ubifs/orphan.c
940
dbg_cmt("total number of inodes is %lu", ci.tot_inos);
fs/ubifs/orphan.c
941
dbg_cmt("total number of leaf nodes is %llu", ci.leaf_cnt);
fs/ubifs/orphan.c
944
dbg_free_check_tree(&ci.root);
fs/ubifs/orphan.c
945
kfree(ci.node);
fs/xfs/libxfs/xfs_ialloc.c
2913
struct xfs_ialloc_count_inodes *ci = priv;
fs/xfs/libxfs/xfs_ialloc.c
2921
ci->count += irec.ir_count;
fs/xfs/libxfs/xfs_ialloc.c
2922
ci->freecount += irec.ir_freecount;
fs/xfs/libxfs/xfs_ialloc.c
2934
struct xfs_ialloc_count_inodes ci = {0};
fs/xfs/libxfs/xfs_ialloc.c
2938
error = xfs_btree_query_all(cur, xfs_ialloc_count_inodes_rec, &ci);
fs/xfs/libxfs/xfs_ialloc.c
2942
*count = ci.count;
fs/xfs/libxfs/xfs_ialloc.c
2943
*freecount = ci.freecount;
include/linux/cacheinfo.h
124
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(cpu);
include/linux/cacheinfo.h
129
for (i = 0; i < ci->num_leaves; i++) {
include/linux/cacheinfo.h
130
if (ci->info_list[i].level == level) {
include/linux/cacheinfo.h
131
if (ci->info_list[i].attributes & CACHE_ID)
include/linux/cacheinfo.h
132
return &ci->info_list[i];
include/linux/cacheinfo.h
146
struct cacheinfo *ci = get_cpu_cacheinfo_level(cpu, level);
include/linux/cacheinfo.h
148
return ci ? ci->id : -1;
include/linux/firewire.h
75
void fw_csr_iterator_init(struct fw_csr_iterator *ci, const u32 *p);
include/linux/firewire.h
76
int fw_csr_iterator_next(struct fw_csr_iterator *ci, int *key, int *value);
include/linux/fscrypt.h
228
struct fscrypt_inode_info *ci = *fscrypt_inode_info_addr(inode);
include/linux/fscrypt.h
230
VFS_WARN_ON_ONCE(ci == NULL);
include/linux/fscrypt.h
231
return ci;
include/linux/habanalabs/cpucp_if.h
58
__le32 ci;
include/linux/hte.h
265
struct hte_clk_info *ci)
include/linux/memcontrol.h
1976
void __memcg1_swapout(struct folio *folio, struct swap_cluster_info *ci);
include/linux/memcontrol.h
1982
struct swap_cluster_info *ci)
include/linux/mfd/stmpe.h
130
struct stmpe_client_info *ci;
include/linux/mlx4/cq.h
153
u32 ci;
include/linux/mlx4/cq.h
156
ci = cq->cons_index & 0xffffff;
include/linux/mlx4/cq.h
158
*cq->arm_db = cpu_to_be32(sn << 28 | cmd | ci);
include/linux/mlx4/cq.h
167
doorbell[1] = cpu_to_be32(ci);
include/linux/mlx5/cq.h
157
u32 ci;
include/linux/mlx5/cq.h
160
ci = cons_index & 0xffffff;
include/linux/mlx5/cq.h
162
*cq->arm_db = cpu_to_be32(sn << 28 | cmd | ci);
include/linux/mlx5/cq.h
169
doorbell[0] = cpu_to_be32(sn << 28 | cmd | ci);
include/linux/rtsx_pci.h
1080
#define rtsx_pci_init_cmd(pcr) ((pcr)->ci = 0)
include/linux/rtsx_pci.h
1201
int ci;
include/linux/usb/chipidea.h
102
void (*enter_lpm)(struct ci_hdrc *ci, bool enable);
include/linux/usb/chipidea.h
29
struct ci_hdrc *ci;
include/linux/usb/chipidea.h
77
int (*notify_event) (struct ci_hdrc *ci, unsigned event);
include/linux/usb/chipidea.h
99
int (*hub_control)(struct ci_hdrc *ci, u16 typeReq, u16 wValue,
kernel/bpf/const_fold.c
268
struct const_arg_info *ci = ci_in[idx];
kernel/bpf/const_fold.c
270
memcpy(ci_out, ci, sizeof(ci_out));
kernel/bpf/const_fold.c
285
struct const_arg_info *ci = ci_in[i];
kernel/bpf/const_fold.c
288
struct const_arg_info *c = &ci[r];
kernel/bpf/const_fold.c
29
static bool ci_is_unvisited(const struct const_arg_info *ci)
kernel/bpf/const_fold.c
31
return ci->state == CONST_ARG_UNVISITED;
kernel/bpf/const_fold.c
34
static bool ci_is_unknown(const struct const_arg_info *ci)
kernel/bpf/const_fold.c
36
return ci->state == CONST_ARG_UNKNOWN;
kernel/bpf/const_fold.c
39
static bool ci_is_const(const struct const_arg_info *ci)
kernel/bpf/const_fold.c
41
return ci->state == CONST_ARG_CONST;
kernel/bpf/const_fold.c
44
static bool ci_is_map_value(const struct const_arg_info *ci)
kernel/bpf/const_fold.c
46
return ci->state == CONST_ARG_MAP_VALUE;
kernel/sched/ext/cid.c
37
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(cpu);
kernel/sched/ext/cid.c
39
if (!ci || !ci->info_list || !ci->num_leaves) {
kernel/sched/ext/cid.c
43
return &ci->info_list[ci->num_leaves - 1].shared_cpu_map;
kernel/sched/topology.c
877
struct cacheinfo *ci;
kernel/sched/topology.c
880
ci = get_cpu_cacheinfo_llc(cpu);
kernel/sched/topology.c
881
if (!ci)
kernel/sched/topology.c
884
hw_weight = cpumask_weight(&ci->shared_cpu_map);
kernel/sched/topology.c
888
return div_u64((u64)ci->size * sd->span_weight, hw_weight);
mm/huge_memory.c
3835
struct swap_cluster_info *ci = NULL;
mm/huge_memory.c
3871
ci = swap_cluster_get_and_lock(folio);
mm/huge_memory.c
3907
if (ci) {
mm/huge_memory.c
3908
__swap_cache_replace_folio(ci, folio, new_folio);
mm/huge_memory.c
3946
if (ci)
mm/huge_memory.c
3947
swap_cluster_unlock(ci);
mm/memcontrol-v1.c
618
void __memcg1_swapout(struct folio *folio, struct swap_cluster_info *ci)
mm/memcontrol-v1.c
651
__swap_cgroup_set(ci, swp_cluster_offset(folio->swap), nr_entries,
mm/memcontrol-v1.c
692
struct swap_cluster_info *ci;
mm/memcontrol-v1.c
720
ci = swap_cluster_get_and_lock(folio);
mm/memcontrol-v1.c
721
id = __swap_cgroup_clear(ci, swp_cluster_offset(folio->swap),
mm/memcontrol-v1.c
723
swap_cluster_unlock(ci);
mm/memcontrol.c
5585
struct swap_cluster_info *ci;
mm/memcontrol.c
5619
ci = swap_cluster_get_and_lock(folio);
mm/memcontrol.c
5620
__swap_cgroup_set(ci, swp_cluster_offset(folio->swap), nr_pages,
mm/memcontrol.c
5622
swap_cluster_unlock(ci);
mm/migrate.c
575
struct swap_cluster_info *ci = NULL;
mm/migrate.c
605
ci = swap_cluster_get_and_lock_irq(folio);
mm/migrate.c
610
if (ci)
mm/migrate.c
611
swap_cluster_unlock_irq(ci);
mm/migrate.c
644
__swap_cache_replace_folio(ci, folio, newfolio);
mm/migrate.c
656
if (ci)
mm/migrate.c
657
swap_cluster_unlock(ci);
mm/page_io.c
209
struct swap_cluster_info *ci;
mm/page_io.c
216
ci = swap_cluster_get_and_lock(folio);
mm/page_io.c
219
__swap_table_set_zero(ci, swp_cluster_offset(entry));
mm/page_io.c
221
swap_cluster_unlock(ci);
mm/page_io.c
232
struct swap_cluster_info *ci;
mm/page_io.c
239
ci = swap_cluster_get_and_lock(folio);
mm/page_io.c
242
__swap_table_clear_zero(ci, swp_cluster_offset(entry));
mm/page_io.c
244
swap_cluster_unlock(ci);
mm/page_io.c
541
struct swap_cluster_info *ci = __swap_entry_to_cluster(entry);
mm/page_io.c
546
is_zero = __swap_table_test_zero(ci, ci_start);
mm/page_io.c
548
if (is_zero != __swap_table_test_zero(ci, ci_start + i))
mm/shmem.c
2077
struct swap_cluster_info *ci;
mm/shmem.c
2110
ci = swap_cluster_get_and_lock_irq(old);
mm/shmem.c
2111
__swap_cache_replace_folio(ci, old, new);
mm/shmem.c
2115
swap_cluster_unlock_irq(ci);
mm/swap.h
125
struct swap_cluster_info *ci = __swap_offset_to_cluster(si, offset);
mm/swap.h
139
spin_lock_irq(&ci->lock);
mm/swap.h
141
spin_lock(&ci->lock);
mm/swap.h
142
return ci;
mm/swap.h
201
static inline void swap_cluster_unlock(struct swap_cluster_info *ci)
mm/swap.h
203
spin_unlock(&ci->lock);
mm/swap.h
206
static inline void swap_cluster_unlock_irq(struct swap_cluster_info *ci)
mm/swap.h
208
spin_unlock_irq(&ci->lock);
mm/swap.h
238
struct swap_cluster_info *ci,
mm/swap.h
311
void __swap_cache_add_folio(struct swap_cluster_info *ci,
mm/swap.h
313
void __swap_cache_del_folio(struct swap_cluster_info *ci,
mm/swap.h
315
void __swap_cache_replace_folio(struct swap_cluster_info *ci,
mm/swap.h
357
static inline void swap_cluster_unlock(struct swap_cluster_info *ci)
mm/swap.h
361
static inline void swap_cluster_unlock_irq(struct swap_cluster_info *ci)
mm/swap.h
460
static inline void __swap_cache_del_folio(struct swap_cluster_info *ci,
mm/swap.h
465
static inline void __swap_cache_replace_folio(struct swap_cluster_info *ci,
mm/swap_state.c
156
static int __swap_cache_add_check(struct swap_cluster_info *ci,
mm/swap_state.c
165
lockdep_assert_held(&ci->lock);
mm/swap_state.c
172
if (unlikely(!ci->table))
mm/swap_state.c
175
old_tb = __swap_table_get(ci, ci_off);
mm/swap_state.c
183
*memcg_id = __swap_cgroup_get(ci, ci_off);
mm/swap_state.c
188
is_zero = __swap_table_test_zero(ci, ci_off);
mm/swap_state.c
192
old_tb = __swap_table_get(ci, ci_off);
mm/swap_state.c
195
is_zero != __swap_table_test_zero(ci, ci_off) ||
mm/swap_state.c
196
(memcg_id && *memcg_id != __swap_cgroup_get(ci, ci_off))))
mm/swap_state.c
203
static void __swap_cache_do_add_folio(struct swap_cluster_info *ci,
mm/swap_state.c
217
old_tb = __swap_table_get(ci, ci_off);
mm/swap_state.c
219
__swap_table_set(ci, ci_off, pfn_to_swp_tb(pfn, __swp_tb_get_flags(old_tb)));
mm/swap_state.c
241
void __swap_cache_add_folio(struct swap_cluster_info *ci,
mm/swap_state.c
246
__swap_cache_do_add_folio(ci, folio, entry);
mm/swap_state.c
251
static void __swap_cache_do_del_folio(struct swap_cluster_info *ci,
mm/swap_state.c
261
VM_WARN_ON_ONCE(__swap_entry_to_cluster(entry) != ci);
mm/swap_state.c
271
old_tb = __swap_table_get(ci, ci_off);
mm/swap_state.c
279
__swap_table_set(ci, ci_off, shadow_to_swp_tb(shadow,
mm/swap_state.c
287
__swap_cluster_free_entries(si, ci, ci_start, nr_pages);
mm/swap_state.c
291
if (!__swp_tb_get_count(__swap_table_get(ci, ci_off)))
mm/swap_state.c
292
__swap_cluster_free_entries(si, ci, ci_off, 1);
mm/swap_state.c
310
void __swap_cache_del_folio(struct swap_cluster_info *ci, struct folio *folio,
mm/swap_state.c
315
__swap_cache_do_del_folio(ci, folio, entry, shadow);
mm/swap_state.c
332
struct swap_cluster_info *ci;
mm/swap_state.c
335
ci = swap_cluster_lock(__swap_entry_to_info(entry), swp_offset(entry));
mm/swap_state.c
336
__swap_cache_del_folio(ci, folio, entry, NULL);
mm/swap_state.c
337
swap_cluster_unlock(ci);
mm/swap_state.c
356
void __swap_cache_replace_folio(struct swap_cluster_info *ci,
mm/swap_state.c
372
old_tb = __swap_table_get(ci, ci_off);
mm/swap_state.c
374
__swap_table_set(ci, ci_off, pfn_to_swp_tb(pfn, __swp_tb_get_flags(old_tb)));
mm/swap_state.c
387
WARN_ON_ONCE(swp_tb_to_folio(__swap_table_get(ci, ci_off)) != old);
mm/swap_state.c
403
static struct folio *__swap_cache_alloc(struct swap_cluster_info *ci,
mm/swap_state.c
420
spin_lock(&ci->lock);
mm/swap_state.c
421
err = __swap_cache_add_check(ci, targ_entry, nr_pages, NULL, NULL);
mm/swap_state.c
422
spin_unlock(&ci->lock);
mm/swap_state.c
443
spin_lock(&ci->lock);
mm/swap_state.c
444
err = __swap_cache_add_check(ci, targ_entry, nr_pages, &shadow, &memcg_id);
mm/swap_state.c
446
spin_unlock(&ci->lock);
mm/swap_state.c
453
__swap_cache_do_add_folio(ci, folio, entry);
mm/swap_state.c
454
spin_unlock(&ci->lock);
mm/swap_state.c
458
spin_lock(&ci->lock);
mm/swap_state.c
459
__swap_cache_do_del_folio(ci, folio, entry, shadow);
mm/swap_state.c
460
spin_unlock(&ci->lock);
mm/swap_state.c
469
spin_lock(&ci->lock);
mm/swap_state.c
470
__swap_cache_do_del_folio(ci, folio, entry, shadow);
mm/swap_state.c
471
spin_unlock(&ci->lock);
mm/swap_state.c
514
struct swap_cluster_info *ci;
mm/swap_state.c
516
ci = __swap_entry_to_cluster(targ_entry);
mm/swap_state.c
524
ret = __swap_cache_alloc(ci, targ_entry, gfp, order,
mm/swap_table.h
219
static inline void __swap_table_set(struct swap_cluster_info *ci,
mm/swap_table.h
222
atomic_long_t *table = rcu_dereference_protected(ci->table, true);
mm/swap_table.h
224
lockdep_assert_held(&ci->lock);
mm/swap_table.h
229
static inline unsigned long __swap_table_xchg(struct swap_cluster_info *ci,
mm/swap_table.h
232
atomic_long_t *table = rcu_dereference_protected(ci->table, true);
mm/swap_table.h
234
lockdep_assert_held(&ci->lock);
mm/swap_table.h
240
static inline unsigned long __swap_table_get(struct swap_cluster_info *ci,
mm/swap_table.h
246
table = rcu_dereference_check(ci->table, lockdep_is_held(&ci->lock));
mm/swap_table.h
251
static inline unsigned long swap_table_get(struct swap_cluster_info *ci,
mm/swap_table.h
260
table = rcu_dereference(ci->table);
mm/swap_table.h
267
static inline void __swap_table_set_zero(struct swap_cluster_info *ci,
mm/swap_table.h
271
unsigned long swp_tb = __swap_table_get(ci, ci_off);
mm/swap_table.h
276
__swap_table_set(ci, ci_off, swp_tb);
mm/swap_table.h
278
lockdep_assert_held(&ci->lock);
mm/swap_table.h
279
__set_bit(ci_off, ci->zero_bitmap);
mm/swap_table.h
283
static inline bool __swap_table_test_zero(struct swap_cluster_info *ci,
mm/swap_table.h
287
unsigned long swp_tb = __swap_table_get(ci, ci_off);
mm/swap_table.h
292
return test_bit(ci_off, ci->zero_bitmap);
mm/swap_table.h
296
static inline void __swap_table_clear_zero(struct swap_cluster_info *ci,
mm/swap_table.h
300
unsigned long swp_tb = __swap_table_get(ci, ci_off);
mm/swap_table.h
304
__swap_table_set(ci, ci_off, swp_tb);
mm/swap_table.h
306
lockdep_assert_held(&ci->lock);
mm/swap_table.h
307
__clear_bit(ci_off, ci->zero_bitmap);
mm/swap_table.h
312
static inline void __swap_cgroup_set(struct swap_cluster_info *ci,
mm/swap_table.h
315
lockdep_assert_held(&ci->lock);
mm/swap_table.h
317
if (WARN_ON_ONCE(!ci->memcg_table))
mm/swap_table.h
320
ci->memcg_table->id[ci_off++] = id;
mm/swap_table.h
324
static inline unsigned short __swap_cgroup_get(struct swap_cluster_info *ci,
mm/swap_table.h
327
lockdep_assert_held(&ci->lock);
mm/swap_table.h
329
if (unlikely(!ci->memcg_table))
mm/swap_table.h
331
return ci->memcg_table->id[ci_off];
mm/swap_table.h
334
static inline unsigned short __swap_cgroup_clear(struct swap_cluster_info *ci,
mm/swap_table.h
338
unsigned short old = __swap_cgroup_get(ci, ci_off);
mm/swap_table.h
343
VM_WARN_ON_ONCE(ci->memcg_table->id[ci_off] != old);
mm/swap_table.h
344
ci->memcg_table->id[ci_off++] = 0;
mm/swap_table.h
350
static inline void __swap_cgroup_set(struct swap_cluster_info *ci,
mm/swap_table.h
355
static inline unsigned short __swap_cgroup_get(struct swap_cluster_info *ci,
mm/swap_table.h
361
static inline unsigned short __swap_cgroup_clear(struct swap_cluster_info *ci,
mm/swapfile.c
1004
relocate_cluster(si, ci);
mm/swapfile.c
1005
swap_cluster_unlock(ci);
mm/swapfile.c
1023
struct swap_cluster_info *ci = isolate_lock_cluster(si, list);
mm/swapfile.c
1026
if (!ci)
mm/swapfile.c
1028
offset = cluster_offset(si, ci);
mm/swapfile.c
1029
found = alloc_swap_scan_cluster(si, ci, folio, offset);
mm/swapfile.c
1041
struct swap_cluster_info *ci;
mm/swapfile.c
1048
while ((ci = isolate_lock_cluster(si, &si->full_clusters))) {
mm/swapfile.c
1049
offset = cluster_offset(si, ci);
mm/swapfile.c
1054
swp_tb = swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
1056
spin_unlock(&ci->lock);
mm/swapfile.c
1059
spin_lock(&ci->lock);
mm/swapfile.c
1069
if (ci->flags == CLUSTER_FLAG_NONE)
mm/swapfile.c
1070
relocate_cluster(si, ci);
mm/swapfile.c
1072
swap_cluster_unlock(ci);
mm/swapfile.c
1095
struct swap_cluster_info *ci;
mm/swapfile.c
1113
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1115
if (cluster_is_usable(ci, order)) {
mm/swapfile.c
1116
if (cluster_is_empty(ci))
mm/swapfile.c
1117
offset = cluster_offset(si, ci);
mm/swapfile.c
1118
found = alloc_swap_scan_cluster(si, ci, folio, offset);
mm/swapfile.c
1120
swap_cluster_unlock(ci);
mm/swapfile.c
1364
struct swap_cluster_info *ci;
mm/swapfile.c
1377
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1378
if (cluster_is_usable(ci, order)) {
mm/swapfile.c
1379
if (cluster_is_empty(ci))
mm/swapfile.c
1380
offset = cluster_offset(si, ci);
mm/swapfile.c
1381
alloc_swap_scan_cluster(si, ci, folio, offset);
mm/swapfile.c
1383
swap_cluster_unlock(ci);
mm/swapfile.c
1458
struct swap_cluster_info *ci,
mm/swapfile.c
1464
table = kzalloc(sizeof(ci->extend_table[0]) * SWAPFILE_CLUSTER, gfp);
mm/swapfile.c
1468
spin_lock(&ci->lock);
mm/swapfile.c
1475
if (!cluster_table_is_alloced(ci))
mm/swapfile.c
1477
count = swp_tb_get_count(__swap_table_get(ci, ci_off));
mm/swapfile.c
1480
if (ci->extend_table)
mm/swapfile.c
1483
ci->extend_table = table;
mm/swapfile.c
1484
spin_unlock(&ci->lock);
mm/swapfile.c
1488
spin_unlock(&ci->lock);
mm/swapfile.c
1497
struct swap_cluster_info *ci;
mm/swapfile.c
1504
ci = __swap_offset_to_cluster(si, offset);
mm/swapfile.c
1505
ret = swap_extend_table_alloc(si, ci, swp_cluster_offset(entry), gfp);
mm/swapfile.c
1511
static void swap_extend_table_try_free(struct swap_cluster_info *ci)
mm/swapfile.c
1516
if (!ci->extend_table)
mm/swapfile.c
1520
if (ci->extend_table[i])
mm/swapfile.c
1525
kfree(ci->extend_table);
mm/swapfile.c
1526
ci->extend_table = NULL;
mm/swapfile.c
1531
static void __swap_cluster_put_entry(struct swap_cluster_info *ci,
mm/swapfile.c
1537
lockdep_assert_held(&ci->lock);
mm/swapfile.c
1538
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
1545
count = ci->extend_table[ci_off];
mm/swapfile.c
1550
ci->extend_table[ci_off] = 0;
mm/swapfile.c
1551
__swap_table_set(ci, ci_off, __swp_tb_mk_count(swp_tb, count));
mm/swapfile.c
1553
ci->extend_table[ci_off] = count;
mm/swapfile.c
1556
__swap_table_set(ci, ci_off, __swp_tb_mk_count(swp_tb, --count));
mm/swapfile.c
1566
swap_extend_table_try_free(ci);
mm/swapfile.c
1586
struct swap_cluster_info *ci;
mm/swapfile.c
1594
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1598
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
1615
__swap_cluster_put_entry(ci, ci_off);
mm/swapfile.c
1617
__swap_cluster_free_entries(si, ci, ci_batch, ci_off - ci_batch);
mm/swapfile.c
1623
__swap_cluster_free_entries(si, ci, ci_batch, ci_off - ci_batch);
mm/swapfile.c
1624
swap_cluster_unlock(ci);
mm/swapfile.c
1639
static int __swap_cluster_dup_entry(struct swap_cluster_info *ci,
mm/swapfile.c
1645
lockdep_assert_held(&ci->lock);
mm/swapfile.c
1646
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
1656
__swap_table_set(ci, ci_off, __swp_tb_mk_count(swp_tb, count + 1));
mm/swapfile.c
1657
VM_WARN_ON_ONCE(ci->extend_table && ci->extend_table[ci_off]);
mm/swapfile.c
1659
if (ci->extend_table) {
mm/swapfile.c
1660
VM_WARN_ON_ONCE(ci->extend_table[ci_off]);
mm/swapfile.c
1661
ci->extend_table[ci_off] = SWP_TB_COUNT_MAX;
mm/swapfile.c
1662
__swap_table_set(ci, ci_off, __swp_tb_mk_count(swp_tb, SWP_TB_COUNT_MAX));
mm/swapfile.c
1667
VM_WARN_ON_ONCE(ci->extend_table[ci_off] >=
mm/swapfile.c
1668
type_max(typeof(ci->extend_table[0])));
mm/swapfile.c
1669
++ci->extend_table[ci_off];
mm/swapfile.c
1693
struct swap_cluster_info *ci;
mm/swapfile.c
1699
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1702
err = __swap_cluster_dup_entry(ci, ci_off);
mm/swapfile.c
1705
spin_unlock(&ci->lock);
mm/swapfile.c
1706
err = swap_extend_table_alloc(si, ci, ci_off, GFP_ATOMIC);
mm/swapfile.c
1707
spin_lock(&ci->lock);
mm/swapfile.c
1714
swap_cluster_unlock(ci);
mm/swapfile.c
1718
__swap_cluster_put_entry(ci, ci_off);
mm/swapfile.c
1719
swap_extend_table_try_free(ci);
mm/swapfile.c
1720
swap_cluster_unlock(ci);
mm/swapfile.c
176
static bool swap_only_has_cache(struct swap_cluster_info *ci,
mm/swapfile.c
184
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
1910
struct swap_cluster_info *ci,
mm/swapfile.c
1916
unsigned long ci_head = cluster_offset(si, ci);
mm/swapfile.c
1919
VM_WARN_ON(ci->count < nr_pages);
mm/swapfile.c
1921
ci->count -= nr_pages;
mm/swapfile.c
1923
old_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
1931
__swap_table_set(ci, ci_off, null_to_swp_tb());
mm/swapfile.c
1933
__swap_table_clear_zero(ci, ci_off);
mm/swapfile.c
1939
id_cur = __swap_cgroup_clear(ci, ci_off, 1);
mm/swapfile.c
1952
swap_cluster_assert_empty(ci, ci_start, nr_pages, false);
mm/swapfile.c
1954
if (!ci->count)
mm/swapfile.c
1955
free_cluster(si, ci);
mm/swapfile.c
1957
partial_free_cluster(si, ci);
mm/swapfile.c
1962
struct swap_cluster_info *ci = __swap_entry_to_cluster(entry);
mm/swapfile.c
1965
return swp_tb_get_count(__swap_table_get(ci, ci_off));
mm/swapfile.c
1976
struct swap_cluster_info *ci;
mm/swapfile.c
1979
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1980
swp_tb = swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
1981
swap_cluster_unlock(ci);
mm/swapfile.c
1993
struct swap_cluster_info *ci;
mm/swapfile.c
2001
ci = swap_cluster_lock(si, swp_offset(entry));
mm/swapfile.c
2002
swp_tb = __swap_table_get(ci, swp_cluster_offset(entry));
mm/swapfile.c
2005
count = ci->extend_table[swp_cluster_offset(entry)];
mm/swapfile.c
2006
swap_cluster_unlock(ci);
mm/swapfile.c
202
struct swap_cluster_info *ci;
mm/swapfile.c
2026
struct swap_cluster_info *ci;
mm/swapfile.c
2033
ci = __swap_entry_to_cluster(entry);
mm/swapfile.c
2042
if (__swp_tb_get_count(__swap_table_get(ci, ci_off))) {
mm/swapfile.c
2155
struct swap_cluster_info *ci;
mm/swapfile.c
2169
ci = swap_cluster_lock(si, pcp_offset);
mm/swapfile.c
2170
if (cluster_is_usable(ci, 0))
mm/swapfile.c
2171
offset = alloc_swap_scan_cluster(si, ci, NULL, pcp_offset);
mm/swapfile.c
2173
swap_cluster_unlock(ci);
mm/swapfile.c
2194
struct swap_cluster_info *ci;
mm/swapfile.c
2197
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
2198
__swap_cluster_put_entry(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
2199
__swap_cluster_free_entries(si, ci, offset % SWAPFILE_CLUSTER, 1);
mm/swapfile.c
2200
swap_cluster_unlock(ci);
mm/swapfile.c
246
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
247
need_reclaim = swap_only_has_cache(ci, offset, nr_pages);
mm/swapfile.c
248
swap_cluster_unlock(ci);
mm/swapfile.c
3010
struct swap_cluster_info *ci;
mm/swapfile.c
3015
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
3016
swap_cluster_unlock(ci);
mm/swapfile.c
3023
struct swap_cluster_info *ci;
mm/swapfile.c
3029
ci = cluster_info + i;
mm/swapfile.c
3031
spin_lock(&ci->lock);
mm/swapfile.c
3032
if (cluster_table_is_alloced(ci)) {
mm/swapfile.c
3033
swap_cluster_assert_empty(ci, 0, SWAPFILE_CLUSTER, true);
mm/swapfile.c
3034
swap_cluster_free_table(ci);
mm/swapfile.c
3036
spin_unlock(&ci->lock);
mm/swapfile.c
3576
struct swap_cluster_info *ci = &cluster_info[i];
mm/swapfile.c
3578
if (ci->count) {
mm/swapfile.c
3579
ci->flags = CLUSTER_FLAG_NONFULL;
mm/swapfile.c
3580
list_add_tail(&ci->list, &si->nonfull_clusters[0]);
mm/swapfile.c
3582
ci->flags = CLUSTER_FLAG_FREE;
mm/swapfile.c
3583
list_add_tail(&ci->list, &si->free_clusters);
mm/swapfile.c
385
static inline bool cluster_table_is_alloced(struct swap_cluster_info *ci)
mm/swapfile.c
387
return rcu_dereference_protected(ci->table, lockdep_is_held(&ci->lock));
mm/swapfile.c
390
static inline bool cluster_is_usable(struct swap_cluster_info *ci, int order)
mm/swapfile.c
392
if (unlikely(ci->flags > CLUSTER_FLAG_USABLE))
mm/swapfile.c
394
if (!cluster_table_is_alloced(ci))
mm/swapfile.c
398
return cluster_is_empty(ci) || order == ci->order;
mm/swapfile.c
402
struct swap_cluster_info *ci)
mm/swapfile.c
404
return ci - si->cluster_info;
mm/swapfile.c
408
struct swap_cluster_info *ci)
mm/swapfile.c
410
return cluster_index(si, ci) * SWAPFILE_CLUSTER;
mm/swapfile.c
421
static void swap_cluster_free_table(struct swap_cluster_info *ci)
mm/swapfile.c
426
kfree(ci->memcg_table);
mm/swapfile.c
427
ci->memcg_table = NULL;
mm/swapfile.c
431
kfree(ci->zero_bitmap);
mm/swapfile.c
432
ci->zero_bitmap = NULL;
mm/swapfile.c
435
table = (struct swap_table *)rcu_access_pointer(ci->table);
mm/swapfile.c
439
rcu_assign_pointer(ci->table, NULL);
mm/swapfile.c
449
static int swap_cluster_alloc_table(struct swap_cluster_info *ci, gfp_t gfp)
mm/swapfile.c
455
VM_WARN_ON_ONCE(ci->flags || !cluster_is_empty(ci));
mm/swapfile.c
456
if (rcu_access_pointer(ci->table))
mm/swapfile.c
469
rcu_assign_pointer(ci->table, table);
mm/swapfile.c
473
VM_WARN_ON_ONCE(ci->memcg_table);
mm/swapfile.c
474
ci->memcg_table = kzalloc_obj(*ci->memcg_table, gfp);
mm/swapfile.c
475
if (!ci->memcg_table) {
mm/swapfile.c
476
swap_cluster_free_table(ci);
mm/swapfile.c
483
VM_WARN_ON_ONCE(ci->zero_bitmap);
mm/swapfile.c
484
ci->zero_bitmap = bitmap_zalloc(SWAPFILE_CLUSTER, gfp);
mm/swapfile.c
485
if (!ci->zero_bitmap) {
mm/swapfile.c
486
swap_cluster_free_table(ci);
mm/swapfile.c
498
static void swap_cluster_assert_empty(struct swap_cluster_info *ci,
mm/swapfile.c
510
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
515
WARN_ON_ONCE(__swap_cgroup_get(ci, ci_off));
mm/swapfile.c
518
WARN_ON_ONCE(bad_slots != (swapoff ? ci->count : 0));
mm/swapfile.c
519
WARN_ON_ONCE(nr == SWAPFILE_CLUSTER && ci->extend_table);
mm/swapfile.c
528
struct swap_cluster_info *ci)
mm/swapfile.c
539
lockdep_assert_held(&ci->lock);
mm/swapfile.c
541
if (!swap_cluster_alloc_table(ci, __GFP_HIGH | __GFP_NOMEMALLOC |
mm/swapfile.c
543
return ci;
mm/swapfile.c
550
spin_unlock(&ci->lock);
mm/swapfile.c
555
ret = swap_cluster_alloc_table(ci, __GFP_HIGH | __GFP_NOMEMALLOC |
mm/swapfile.c
56
struct swap_cluster_info *ci, struct list_head *list,
mm/swapfile.c
569
spin_lock(&ci->lock);
mm/swapfile.c
572
move_cluster(si, ci, &si->free_clusters, CLUSTER_FLAG_FREE);
mm/swapfile.c
573
spin_unlock(&ci->lock);
mm/swapfile.c
576
return ci;
mm/swapfile.c
580
struct swap_cluster_info *ci, struct list_head *list,
mm/swapfile.c
583
VM_WARN_ON(ci->flags == new_flags);
mm/swapfile.c
585
BUILD_BUG_ON(1 << sizeof(ci->flags) * BITS_PER_BYTE < CLUSTER_FLAG_MAX);
mm/swapfile.c
586
lockdep_assert_held(&ci->lock);
mm/swapfile.c
589
if (ci->flags == CLUSTER_FLAG_NONE)
mm/swapfile.c
590
list_add_tail(&ci->list, list);
mm/swapfile.c
592
list_move_tail(&ci->list, list);
mm/swapfile.c
594
ci->flags = new_flags;
mm/swapfile.c
599
struct swap_cluster_info *ci)
mm/swapfile.c
601
VM_BUG_ON(ci->flags == CLUSTER_FLAG_FREE);
mm/swapfile.c
602
move_cluster(si, ci, &si->discard_clusters, CLUSTER_FLAG_DISCARD);
mm/swapfile.c
606
static void __free_cluster(struct swap_info_struct *si, struct swap_cluster_info *ci)
mm/swapfile.c
608
swap_cluster_assert_empty(ci, 0, SWAPFILE_CLUSTER, false);
mm/swapfile.c
609
swap_cluster_free_table(ci);
mm/swapfile.c
610
move_cluster(si, ci, &si->free_clusters, CLUSTER_FLAG_FREE);
mm/swapfile.c
611
ci->order = 0;
mm/swapfile.c
626
struct swap_cluster_info *ci, *found = NULL;
mm/swapfile.c
630
list_for_each_entry(ci, list, list) {
mm/swapfile.c
631
if (!spin_trylock(&ci->lock))
mm/swapfile.c
635
VM_BUG_ON(!ci->flags);
mm/swapfile.c
636
VM_BUG_ON(ci->flags > CLUSTER_FLAG_USABLE &&
mm/swapfile.c
637
ci->flags != CLUSTER_FLAG_FULL);
mm/swapfile.c
639
list_del(&ci->list);
mm/swapfile.c
640
flags = ci->flags;
mm/swapfile.c
641
ci->flags = CLUSTER_FLAG_NONE;
mm/swapfile.c
642
found = ci;
mm/swapfile.c
665
struct swap_cluster_info *ci;
mm/swapfile.c
671
ci = list_first_entry(&si->discard_clusters, struct swap_cluster_info, list);
mm/swapfile.c
677
list_del(&ci->list);
mm/swapfile.c
678
idx = cluster_index(si, ci);
mm/swapfile.c
683
spin_lock(&ci->lock);
mm/swapfile.c
688
ci->flags = CLUSTER_FLAG_NONE;
mm/swapfile.c
689
__free_cluster(si, ci);
mm/swapfile.c
690
spin_unlock(&ci->lock);
mm/swapfile.c
719
static void free_cluster(struct swap_info_struct *si, struct swap_cluster_info *ci)
mm/swapfile.c
721
VM_BUG_ON(ci->count != 0);
mm/swapfile.c
722
VM_BUG_ON(ci->flags == CLUSTER_FLAG_FREE);
mm/swapfile.c
723
lockdep_assert_held(&ci->lock);
mm/swapfile.c
732
swap_cluster_schedule_discard(si, ci);
mm/swapfile.c
736
__free_cluster(si, ci);
mm/swapfile.c
744
struct swap_cluster_info *ci)
mm/swapfile.c
746
VM_BUG_ON(!ci->count || ci->count == SWAPFILE_CLUSTER);
mm/swapfile.c
747
lockdep_assert_held(&ci->lock);
mm/swapfile.c
749
if (ci->flags != CLUSTER_FLAG_NONFULL)
mm/swapfile.c
750
move_cluster(si, ci, &si->nonfull_clusters[ci->order],
mm/swapfile.c
760
struct swap_cluster_info *ci)
mm/swapfile.c
762
lockdep_assert_held(&ci->lock);
mm/swapfile.c
765
if (cluster_is_discard(ci))
mm/swapfile.c
768
if (!ci->count) {
mm/swapfile.c
769
if (ci->flags != CLUSTER_FLAG_FREE)
mm/swapfile.c
770
free_cluster(si, ci);
mm/swapfile.c
771
} else if (ci->count != SWAPFILE_CLUSTER) {
mm/swapfile.c
772
if (ci->flags != CLUSTER_FLAG_FRAG)
mm/swapfile.c
773
move_cluster(si, ci, &si->frag_clusters[ci->order],
mm/swapfile.c
776
if (ci->flags != CLUSTER_FLAG_FULL)
mm/swapfile.c
777
move_cluster(si, ci, &si->full_clusters,
mm/swapfile.c
793
struct swap_cluster_info *ci;
mm/swapfile.c
813
ci = cluster_info + idx;
mm/swapfile.c
815
if (!ci->count && swap_cluster_alloc_table(ci, GFP_KERNEL))
mm/swapfile.c
817
spin_lock(&ci->lock);
mm/swapfile.c
819
if (__swap_table_xchg(ci, ci_off, SWP_TB_BAD) != SWP_TB_NULL) {
mm/swapfile.c
823
ci->count++;
mm/swapfile.c
825
spin_unlock(&ci->lock);
mm/swapfile.c
827
WARN_ON(ci->count > SWAPFILE_CLUSTER);
mm/swapfile.c
828
WARN_ON(ci->flags);
mm/swapfile.c
838
struct swap_cluster_info *ci,
mm/swapfile.c
846
spin_unlock(&ci->lock);
mm/swapfile.c
848
swp_tb = swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
855
spin_lock(&ci->lock);
mm/swapfile.c
861
if (!cluster_is_usable(ci, order)) {
mm/swapfile.c
868
if (cluster_is_empty(ci))
mm/swapfile.c
876
swp_tb = __swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
885
struct swap_cluster_info *ci,
mm/swapfile.c
894
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
912
struct swap_cluster_info *ci,
mm/swapfile.c
919
lockdep_assert_held(&ci->lock);
mm/swapfile.c
936
swap_cluster_assert_empty(ci, ci_off, nr_pages, false);
mm/swapfile.c
937
__swap_cache_add_folio(ci, folio, swp_entry(si->type,
mm/swapfile.c
938
ci_off + cluster_offset(si, ci)));
mm/swapfile.c
942
swap_cluster_assert_empty(ci, ci_off, 1, false);
mm/swapfile.c
944
__swap_table_set(ci, ci_off, __swp_tb_mk_count(shadow_to_swp_tb(NULL, 0), 1));
mm/swapfile.c
955
if (cluster_is_empty(ci))
mm/swapfile.c
956
ci->order = order;
mm/swapfile.c
957
ci->count += nr_pages;
mm/swapfile.c
965
struct swap_cluster_info *ci,
mm/swapfile.c
975
lockdep_assert_held(&ci->lock);
mm/swapfile.c
976
VM_WARN_ON(!cluster_is_usable(ci, order));
mm/swapfile.c
978
if (end < nr_pages || ci->count + nr_pages > SWAPFILE_CLUSTER)
mm/swapfile.c
983
if (!cluster_scan_range(si, ci, offset, nr_pages, &need_reclaim))
mm/swapfile.c
986
ret = cluster_reclaim_range(si, ci, offset, order, &usable);
mm/swapfile.c
989
if (cluster_is_empty(ci))
mm/swapfile.c
995
if (!__swap_cluster_alloc_entries(si, ci, folio, offset % SWAPFILE_CLUSTER))
mm/swapfile.c
999
if (ci->count < SWAPFILE_CLUSTER && offset <= end)
mm/vmscan.c
684
struct swap_cluster_info *ci;
mm/vmscan.c
690
ci = swap_cluster_get_and_lock_irq(folio);
mm/vmscan.c
735
__memcg1_swapout(folio, ci);
mm/vmscan.c
736
__swap_cache_del_folio(ci, folio, swap, shadow);
mm/vmscan.c
737
swap_cluster_unlock_irq(ci);
mm/vmscan.c
775
swap_cluster_unlock_irq(ci);
net/6lowpan/iphc.c
616
struct lowpan_iphc_ctx *ci;
net/6lowpan/iphc.c
661
ci = lowpan_iphc_ctx_get_by_id(dev, LOWPAN_IPHC_CID_SCI(cid));
net/6lowpan/iphc.c
662
if (!ci) {
net/6lowpan/iphc.c
668
err = lowpan_iphc_uncompress_ctx_addr(skb, dev, ci, &hdr.saddr,
net/6lowpan/iphc.c
689
ci = lowpan_iphc_ctx_get_by_id(dev, LOWPAN_IPHC_CID_DCI(cid));
net/6lowpan/iphc.c
690
if (!ci) {
net/6lowpan/iphc.c
697
err = lowpan_uncompress_multicast_ctx_daddr(skb, ci,
net/6lowpan/iphc.c
713
ci = lowpan_iphc_ctx_get_by_id(dev, LOWPAN_IPHC_CID_DCI(cid));
net/6lowpan/iphc.c
714
if (!ci) {
net/6lowpan/iphc.c
721
err = lowpan_iphc_uncompress_ctx_addr(skb, dev, ci, &hdr.daddr,
net/bluetooth/bnep/bnep.h
131
struct bnep_conninfo __user *ci;
net/bluetooth/bnep/bnep.h
142
int bnep_get_conninfo(struct bnep_conninfo *ci);
net/bluetooth/bnep/core.c
709
static void __bnep_copy_ci(struct bnep_conninfo *ci, struct bnep_session *s)
net/bluetooth/bnep/core.c
713
memset(ci, 0, sizeof(*ci));
net/bluetooth/bnep/core.c
714
memcpy(ci->dst, s->eh.h_source, ETH_ALEN);
net/bluetooth/bnep/core.c
715
strcpy(ci->device, s->dev->name);
net/bluetooth/bnep/core.c
716
ci->flags = s->flags & valid_flags;
net/bluetooth/bnep/core.c
717
ci->state = s->state;
net/bluetooth/bnep/core.c
718
ci->role = s->role;
net/bluetooth/bnep/core.c
729
struct bnep_conninfo ci;
net/bluetooth/bnep/core.c
731
__bnep_copy_ci(&ci, s);
net/bluetooth/bnep/core.c
733
if (copy_to_user(req->ci, &ci, sizeof(ci))) {
net/bluetooth/bnep/core.c
741
req->ci++;
net/bluetooth/bnep/core.c
749
int bnep_get_conninfo(struct bnep_conninfo *ci)
net/bluetooth/bnep/core.c
756
s = __bnep_get_session(ci->dst);
net/bluetooth/bnep/core.c
758
__bnep_copy_ci(ci, s);
net/bluetooth/bnep/sock.c
112
if (copy_from_user(&ci, argp, sizeof(ci)))
net/bluetooth/bnep/sock.c
115
err = bnep_get_conninfo(&ci);
net/bluetooth/bnep/sock.c
116
if (!err && copy_to_user(argp, &ci, sizeof(ci)))
net/bluetooth/bnep/sock.c
152
cl.ci = compat_ptr(uci);
net/bluetooth/bnep/sock.c
55
struct bnep_conninfo ci;
net/bluetooth/hci_conn.c
2764
struct hci_conn_info *ci;
net/bluetooth/hci_conn.c
2771
if (!req.conn_num || req.conn_num > (PAGE_SIZE * 2) / sizeof(*ci))
net/bluetooth/hci_conn.c
2774
size = sizeof(req) + req.conn_num * sizeof(*ci);
net/bluetooth/hci_conn.c
2786
ci = cl->conn_info;
net/bluetooth/hci_conn.c
2790
bacpy(&(ci + n)->bdaddr, &c->dst);
net/bluetooth/hci_conn.c
2791
(ci + n)->handle = c->handle;
net/bluetooth/hci_conn.c
2792
(ci + n)->type = c->type;
net/bluetooth/hci_conn.c
2793
(ci + n)->out = c->out;
net/bluetooth/hci_conn.c
2794
(ci + n)->state = c->state;
net/bluetooth/hci_conn.c
2795
(ci + n)->link_mode = get_link_mode(c);
net/bluetooth/hci_conn.c
2803
size = sizeof(req) + n * sizeof(*ci);
net/bluetooth/hci_conn.c
2816
struct hci_conn_info ci;
net/bluetooth/hci_conn.c
2826
bacpy(&ci.bdaddr, &conn->dst);
net/bluetooth/hci_conn.c
2827
ci.handle = conn->handle;
net/bluetooth/hci_conn.c
2828
ci.type = conn->type;
net/bluetooth/hci_conn.c
2829
ci.out = conn->out;
net/bluetooth/hci_conn.c
2830
ci.state = conn->state;
net/bluetooth/hci_conn.c
2831
ci.link_mode = get_link_mode(conn);
net/bluetooth/hci_conn.c
2838
return copy_to_user(ptr, &ci, sizeof(ci)) ? -EFAULT : 0;
net/bluetooth/hidp/core.c
1469
struct hidp_conninfo ci;
net/bluetooth/hidp/core.c
1471
hidp_copy_session(session, &ci);
net/bluetooth/hidp/core.c
1473
if (copy_to_user(req->ci, &ci, sizeof(ci))) {
net/bluetooth/hidp/core.c
1481
req->ci++;
net/bluetooth/hidp/core.c
1489
int hidp_get_conninfo(struct hidp_conninfo *ci)
net/bluetooth/hidp/core.c
1493
session = hidp_session_find(&ci->bdaddr);
net/bluetooth/hidp/core.c
1495
hidp_copy_session(session, ci);
net/bluetooth/hidp/core.c
69
static void hidp_copy_session(struct hidp_session *session, struct hidp_conninfo *ci)
net/bluetooth/hidp/core.c
72
memset(ci, 0, sizeof(*ci));
net/bluetooth/hidp/core.c
73
bacpy(&ci->bdaddr, &session->bdaddr);
net/bluetooth/hidp/core.c
75
ci->flags = session->flags & valid_flags;
net/bluetooth/hidp/core.c
76
ci->state = BT_CONNECTED;
net/bluetooth/hidp/core.c
79
ci->vendor = session->input->id.vendor;
net/bluetooth/hidp/core.c
80
ci->product = session->input->id.product;
net/bluetooth/hidp/core.c
81
ci->version = session->input->id.version;
net/bluetooth/hidp/core.c
83
strscpy(ci->name, session->input->name, 128);
net/bluetooth/hidp/core.c
85
strscpy(ci->name, "HID Boot Device", 128);
net/bluetooth/hidp/core.c
87
ci->vendor = session->hid->vendor;
net/bluetooth/hidp/core.c
88
ci->product = session->hid->product;
net/bluetooth/hidp/core.c
89
ci->version = session->hid->version;
net/bluetooth/hidp/core.c
90
strscpy(ci->name, session->hid->name, 128);
net/bluetooth/hidp/hidp.h
119
struct hidp_conninfo __user *ci;
net/bluetooth/hidp/hidp.h
125
int hidp_get_conninfo(struct hidp_conninfo *ci);
net/bluetooth/hidp/sock.c
110
if (copy_from_user(&ci, argp, sizeof(ci)))
net/bluetooth/hidp/sock.c
113
err = hidp_get_conninfo(&ci);
net/bluetooth/hidp/sock.c
114
if (!err && copy_to_user(argp, &ci, sizeof(ci)))
net/bluetooth/hidp/sock.c
158
cl.ci = compat_ptr(uci);
net/bluetooth/hidp/sock.c
52
struct hidp_conninfo ci;
net/bridge/br_fdb.c
129
ci.ndm_used = jiffies_to_clock_t(now - READ_ONCE(fdb->used));
net/bridge/br_fdb.c
130
ci.ndm_confirmed = 0;
net/bridge/br_fdb.c
131
ci.ndm_updated = jiffies_to_clock_t(now - READ_ONCE(fdb->updated));
net/bridge/br_fdb.c
132
ci.ndm_refcnt = 0;
net/bridge/br_fdb.c
133
if (nla_put(skb, NDA_CACHEINFO, sizeof(ci), &ci))
net/bridge/br_fdb.c
95
struct nda_cacheinfo ci;
net/core/neighbour.c
2648
struct nda_cacheinfo ci;
net/core/neighbour.c
2679
ci.ndm_used = jiffies_to_clock_t(now - neigh->used);
net/core/neighbour.c
2680
ci.ndm_confirmed = jiffies_to_clock_t(now - neigh->confirmed);
net/core/neighbour.c
2681
ci.ndm_updated = jiffies_to_clock_t(now - neigh->updated);
net/core/neighbour.c
2682
ci.ndm_refcnt = refcount_read(&neigh->refcnt) - 1;
net/core/neighbour.c
2685
nla_put(skb, NDA_CACHEINFO, sizeof(ci), &ci))
net/core/rtnetlink.c
1030
struct rta_cacheinfo ci = {
net/core/rtnetlink.c
1038
ci.rta_lastuse = jiffies_delta_to_clock_t(delta);
net/core/rtnetlink.c
1039
ci.rta_used = dst->__use;
net/core/rtnetlink.c
1040
ci.rta_clntref = rcuref_read(&dst->__rcuref);
net/core/rtnetlink.c
1047
ci.rta_expires = (expires > 0) ? clock : -clock;
net/core/rtnetlink.c
1049
return nla_put(skb, RTA_CACHEINFO, sizeof(ci), &ci);
net/ipv4/devinet.c
1696
struct ifa_cacheinfo ci;
net/ipv4/devinet.c
1698
ci.cstamp = cstamp_delta(cstamp);
net/ipv4/devinet.c
1699
ci.tstamp = cstamp_delta(tstamp);
net/ipv4/devinet.c
1700
ci.ifa_prefered = preferred;
net/ipv4/devinet.c
1701
ci.ifa_valid = valid;
net/ipv4/devinet.c
1703
return nla_put(skb, IFA_CACHEINFO, sizeof(ci), &ci);
net/ipv4/devinet.c
867
struct ifa_cacheinfo *ci;
net/ipv4/devinet.c
869
ci = nla_data(tb[IFA_CACHEINFO]);
net/ipv4/devinet.c
870
if (!ci->ifa_valid || ci->ifa_prefered > ci->ifa_valid) {
net/ipv4/devinet.c
875
*valid_lft = ci->ifa_valid;
net/ipv4/devinet.c
876
*prefered_lft = ci->ifa_prefered;
net/ipv4/igmp.c
1468
struct ifa_cacheinfo ci;
net/ipv4/igmp.c
1484
ci.cstamp = (READ_ONCE(im->mca_cstamp) - INITIAL_JIFFIES) * 100UL / HZ;
net/ipv4/igmp.c
1485
ci.tstamp = ci.cstamp;
net/ipv4/igmp.c
1486
ci.ifa_prefered = INFINITY_LIFE_TIME;
net/ipv4/igmp.c
1487
ci.ifa_valid = INFINITY_LIFE_TIME;
net/ipv4/igmp.c
1490
nla_put(skb, IFA_CACHEINFO, sizeof(ci), &ci) < 0) {
net/ipv6/addrconf.c
5034
struct ifa_cacheinfo *ci;
net/ipv6/addrconf.c
5036
ci = nla_data(tb[IFA_CACHEINFO]);
net/ipv6/addrconf.c
5037
cfg.valid_lft = ci->ifa_valid;
net/ipv6/addrconf.c
5038
cfg.preferred_lft = ci->ifa_prefered;
net/ipv6/addrconf.c
5131
struct ifa_cacheinfo ci;
net/ipv6/addrconf.c
5133
ci.cstamp = cstamp_delta(cstamp);
net/ipv6/addrconf.c
5134
ci.tstamp = cstamp_delta(tstamp);
net/ipv6/addrconf.c
5135
ci.ifa_prefered = preferred;
net/ipv6/addrconf.c
5136
ci.ifa_valid = valid;
net/ipv6/addrconf.c
5138
return nla_put(skb, IFA_CACHEINFO, sizeof(ci), &ci);
net/ipv6/addrconf.c
5854
struct ifla_cacheinfo ci;
net/ipv6/addrconf.c
5860
ci.max_reasm_len = IPV6_MAXPLEN;
net/ipv6/addrconf.c
5861
ci.tstamp = cstamp_delta(READ_ONCE(idev->tstamp));
net/ipv6/addrconf.c
5862
ci.reachable_time = jiffies_to_msecs(idev->nd_parms->reachable_time);
net/ipv6/addrconf.c
5863
ci.retrans_time = jiffies_to_msecs(NEIGH_VAR(idev->nd_parms, RETRANS_TIME));
net/ipv6/addrconf.c
5864
if (nla_put(skb, IFLA_INET6_CACHEINFO, sizeof(ci), &ci))
net/ipv6/addrconf.c
6244
struct prefix_cacheinfo ci;
net/ipv6/addrconf.c
6262
ci.preferred_time = ntohl(pinfo->prefered);
net/ipv6/addrconf.c
6263
ci.valid_time = ntohl(pinfo->valid);
net/ipv6/addrconf.c
6264
if (nla_put(skb, PREFIX_CACHEINFO, sizeof(ci), &ci))
net/rxrpc/rxkad.c
100
struct fcrypt_key *ci;
net/rxrpc/rxkad.c
107
ci = kmalloc_obj(*ci);
net/rxrpc/rxkad.c
108
if (!ci) {
net/rxrpc/rxkad.c
112
fcrypt_preparekey(ci, token->kad->session_key);
net/rxrpc/rxkad.c
124
rxkad_prime_packet_security(conn, ci);
net/rxrpc/rxkad.c
126
conn->rxkad.cipher = ci;
net/rxrpc/rxkad.c
130
kfree_sensitive(ci);
net/sched/act_connmark.c
108
struct tcf_connmark_info *ci;
net/sched/act_connmark.c
140
ci = to_connmark(*a);
net/sched/act_connmark.c
147
ci = to_connmark(*a);
net/sched/act_connmark.c
157
nparms->net = rtnl_dereference(ci->parms)->net;
net/sched/act_connmark.c
172
spin_lock_bh(&ci->tcf_lock);
net/sched/act_connmark.c
174
oparms = rcu_replace_pointer(ci->parms, nparms, lockdep_is_held(&ci->tcf_lock));
net/sched/act_connmark.c
175
spin_unlock_bh(&ci->tcf_lock);
net/sched/act_connmark.c
195
const struct tcf_connmark_info *ci = to_connmark(a);
net/sched/act_connmark.c
203
opt.index = ci->tcf_index;
net/sched/act_connmark.c
204
opt.refcnt = refcount_read(&ci->tcf_refcnt) - ref;
net/sched/act_connmark.c
205
opt.bindcnt = atomic_read(&ci->tcf_bindcnt) - bind;
net/sched/act_connmark.c
208
parms = rcu_dereference(ci->parms);
net/sched/act_connmark.c
215
tcf_tm_dump(&t, &ci->tcf_tm);
net/sched/act_connmark.c
231
struct tcf_connmark_info *ci = to_connmark(a);
net/sched/act_connmark.c
234
parms = rcu_dereference_protected(ci->parms, 1);
net/sched/act_ctinfo.c
167
struct tcf_ctinfo *ci;
net/sched/act_ctinfo.c
237
ci = to_ctinfo(*a);
net/sched/act_ctinfo.c
262
spin_lock_bh(&ci->tcf_lock);
net/sched/act_ctinfo.c
264
cp_new = rcu_replace_pointer(ci->params, cp_new,
net/sched/act_ctinfo.c
265
lockdep_is_held(&ci->tcf_lock));
net/sched/act_ctinfo.c
266
spin_unlock_bh(&ci->tcf_lock);
net/sched/act_ctinfo.c
286
const struct tcf_ctinfo *ci = to_ctinfo(a);
net/sched/act_ctinfo.c
290
.index = ci->tcf_index,
net/sched/act_ctinfo.c
291
.refcnt = refcount_read(&ci->tcf_refcnt) - ref,
net/sched/act_ctinfo.c
292
.bindcnt = atomic_read(&ci->tcf_bindcnt) - bind,
net/sched/act_ctinfo.c
297
cp = rcu_dereference(ci->params);
net/sched/act_ctinfo.c
299
tcf_tm_dump(&t, &ci->tcf_tm);
net/sched/act_ctinfo.c
326
atomic64_read(&ci->stats_dscp_set),
net/sched/act_ctinfo.c
331
atomic64_read(&ci->stats_dscp_error),
net/sched/act_ctinfo.c
336
atomic64_read(&ci->stats_cpmark_set),
net/sched/act_ctinfo.c
351
struct tcf_ctinfo *ci = to_ctinfo(a);
net/sched/act_ctinfo.c
354
cp = rcu_dereference_protected(ci->params, 1);
net/tls/tls_main.c
59
#define CHECK_CIPHER_DESC(cipher,ci) \
net/tls/tls_main.c
64
static_assert(sizeof_field(struct ci, iv) == cipher ## _IV_SIZE); \
net/tls/tls_main.c
65
static_assert(sizeof_field(struct ci, key) == cipher ## _KEY_SIZE); \
net/tls/tls_main.c
66
static_assert(sizeof_field(struct ci, salt) == cipher ## _SALT_SIZE); \
net/tls/tls_main.c
67
static_assert(sizeof_field(struct ci, rec_seq) == cipher ## _REC_SEQ_SIZE);
net/tls/tls_main.c
69
#define __CIPHER_DESC(ci) \
net/tls/tls_main.c
70
.iv_offset = offsetof(struct ci, iv), \
net/tls/tls_main.c
71
.key_offset = offsetof(struct ci, key), \
net/tls/tls_main.c
72
.salt_offset = offsetof(struct ci, salt), \
net/tls/tls_main.c
73
.rec_seq_offset = offsetof(struct ci, rec_seq), \
net/tls/tls_main.c
74
.crypto_info = sizeof(struct ci)
net/tls/tls_main.c
76
#define CIPHER_DESC(cipher,ci,algname,_offloadable) [cipher - TLS_CIPHER_MIN] = { \
net/tls/tls_main.c
85
__CIPHER_DESC(ci), \
net/tls/tls_main.c
88
#define CIPHER_DESC_NONCE0(cipher,ci,algname,_offloadable) [cipher - TLS_CIPHER_MIN] = { \
net/tls/tls_main.c
97
__CIPHER_DESC(ci), \
scripts/gendwarfksyms/cache.c
16
struct cache_item *ci;
scripts/gendwarfksyms/cache.c
18
ci = xmalloc(sizeof(*ci));
scripts/gendwarfksyms/cache.c
19
ci->key = key;
scripts/gendwarfksyms/cache.c
20
ci->value = value;
scripts/gendwarfksyms/cache.c
21
hash_add(cache->cache, &ci->hash, hash_32(key));
scripts/gendwarfksyms/cache.c
26
struct cache_item *ci;
scripts/gendwarfksyms/cache.c
28
hash_for_each_possible(cache->cache, ci, hash, hash_32(key)) {
scripts/gendwarfksyms/cache.c
29
if (ci->key == key)
scripts/gendwarfksyms/cache.c
30
return ci->value;
scripts/gendwarfksyms/cache.c
44
struct cache_item *ci;
scripts/gendwarfksyms/cache.c
46
hash_for_each_safe(cache->cache, ci, tmp, hash) {
scripts/gendwarfksyms/cache.c
47
free(ci);
sound/aoa/codecs/onyx.c
854
struct codec_info *ci = &onyx_codec_info;
sound/aoa/codecs/onyx.c
890
ci = onyx->codec_info;
sound/aoa/codecs/onyx.c
891
*ci = onyx_codec_info;
sound/aoa/codecs/onyx.c
892
ci->transfers++;
sound/aoa/codecs/onyx.c
901
ci = onyx->codec_info;
sound/aoa/codecs/onyx.c
904
*ci = onyx_codec_info;
sound/aoa/codecs/onyx.c
905
ci->transfers[1].formats = 0;
sound/aoa/codecs/onyx.c
910
ci, onyx)) {
sound/aoa/soundbus/i2sbus/i2sbus.h
97
struct codec_info *ci, void *data);
sound/aoa/soundbus/i2sbus/pcm.c
1011
module_put(ci->owner);
sound/aoa/soundbus/i2sbus/pcm.c
858
struct codec_info *ci, void *data)
sound/aoa/soundbus/i2sbus/pcm.c
875
if (!ci->transfers || !ci->transfers->formats
sound/aoa/soundbus/i2sbus/pcm.c
876
|| !ci->transfers->rates || !ci->usable)
sound/aoa/soundbus/i2sbus/pcm.c
881
if (ci->bus_factor != 32 && ci->bus_factor != 64)
sound/aoa/soundbus/i2sbus/pcm.c
888
if (cii->codec->sysclock_factor != ci->sysclock_factor) {
sound/aoa/soundbus/i2sbus/pcm.c
893
if (cii->codec->bus_factor != ci->bus_factor) {
sound/aoa/soundbus/i2sbus/pcm.c
900
tmp = ci->transfers;
sound/aoa/soundbus/i2sbus/pcm.c
915
cii->codec = ci;
sound/aoa/soundbus/i2sbus/pcm.c
931
if (!try_module_get(ci->owner)) {
sound/aoa/soundbus/soundbus.h
164
struct codec_info *ci, void *data);
sound/soc/codecs/tas2781-fmwlib.c
2479
struct tasdevice_config_info **ci = rca->cfg_info;
sound/soc/codecs/tas2781-fmwlib.c
2482
if (!ci)
sound/soc/codecs/tas2781-fmwlib.c
2485
if (!ci[i])
sound/soc/codecs/tas2781-fmwlib.c
2487
if (ci[i]->blk_data) {
sound/soc/codecs/tas2781-fmwlib.c
2488
for (j = 0; j < (int)ci[i]->real_nblocks; j++) {
sound/soc/codecs/tas2781-fmwlib.c
2489
if (!ci[i]->blk_data[j])
sound/soc/codecs/tas2781-fmwlib.c
2491
kfree(ci[i]->blk_data[j]->regdata);
sound/soc/codecs/tas2781-fmwlib.c
2492
kfree(ci[i]->blk_data[j]);
sound/soc/codecs/tas2781-fmwlib.c
2494
kfree(ci[i]->blk_data);
sound/soc/codecs/tas2781-fmwlib.c
2496
kfree(ci[i]);
sound/soc/codecs/tas2781-fmwlib.c
2498
kfree(ci);
sound/soc/renesas/rcar/core.c
2060
int ci;
sound/soc/renesas/rcar/core.c
2097
ci = 0;
sound/soc/renesas/rcar/core.c
2102
priv->daidrv + ci, nr);
sound/soc/renesas/rcar/core.c
2108
ci += nr;
tools/lib/subcmd/help.c
100
while (ci < cmds->cnt) {
tools/lib/subcmd/help.c
101
if (ci != cj) {
tools/lib/subcmd/help.c
102
cmds->names[cj] = cmds->names[ci];
tools/lib/subcmd/help.c
103
cmds->names[ci] = NULL;
tools/lib/subcmd/help.c
105
ci++;
tools/lib/subcmd/help.c
108
for (ci = cj; ci < cmds->cnt; ci++)
tools/lib/subcmd/help.c
109
assert(cmds->names[ci] == NULL);
tools/lib/subcmd/help.c
75
size_t ci, cj, ei;
tools/lib/subcmd/help.c
81
ci = cj = ei = 0;
tools/lib/subcmd/help.c
82
while (ci < cmds->cnt && ei < excludes->cnt) {
tools/lib/subcmd/help.c
83
cmp = strcmp(cmds->names[ci]->name, excludes->names[ei]->name);
tools/lib/subcmd/help.c
85
if (ci == cj) {
tools/lib/subcmd/help.c
86
ci++;
tools/lib/subcmd/help.c
89
cmds->names[cj++] = cmds->names[ci];
tools/lib/subcmd/help.c
90
cmds->names[ci++] = NULL;
tools/lib/subcmd/help.c
93
zfree(&cmds->names[ci]);
tools/lib/subcmd/help.c
94
ci++;