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
65
struct acpi_device *device = ci->bridge;
arch/loongarch/pci/acpi.c
67
status = acpi_pci_probe_root_resources(ci);
arch/loongarch/pci/acpi.c
69
resource_list_for_each_entry_safe(entry, tmp, &ci->resources) {
arch/loongarch/pci/acpi.c
71
entry->offset = ci->root->mcfg_addr & GENMASK_ULL(63, 40);
arch/loongarch/pci/acpi.c
79
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
531
struct cacheinfo *ci;
arch/x86/kernel/cpu/resctrl/core.c
542
ci = get_cpu_cacheinfo_level(cpu, RESCTRL_L3_CACHE);
arch/x86/kernel/cpu/resctrl/core.c
543
if (!ci) {
arch/x86/kernel/cpu/resctrl/core.c
548
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
165
struct crypto_aead *ci = NULL;
crypto/krb5/krb5_api.c
168
ci = crypto_alloc_aead(krb5->encrypt_name, 0, 0);
crypto/krb5/krb5_api.c
169
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
170
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
176
ret = crypto_aead_setkey(ci, keys->data, keys->len);
crypto/krb5/krb5_api.c
182
ret = crypto_aead_setauthsize(ci, krb5->cksum_len);
crypto/krb5/krb5_api.c
188
return ci;
crypto/krb5/krb5_api.c
190
crypto_free_aead(ci);
crypto/krb5/krb5_api.c
210
struct crypto_aead *ci = NULL;
crypto/krb5/krb5_api.c
218
ci = krb5_prepare_encryption(krb5, &keys, gfp);
crypto/krb5/krb5_api.c
219
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
220
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
225
return ci;
crypto/krb5/krb5_api.c
239
struct crypto_shash *ci = NULL;
crypto/krb5/krb5_api.c
242
ci = crypto_alloc_shash(krb5->cksum_name, 0, 0);
crypto/krb5/krb5_api.c
243
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
244
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
250
ret = crypto_shash_setkey(ci, Kc->data, Kc->len);
crypto/krb5/krb5_api.c
256
return ci;
crypto/krb5/krb5_api.c
258
crypto_free_shash(ci);
crypto/krb5/krb5_api.c
278
struct crypto_shash *ci = NULL;
crypto/krb5/krb5_api.c
288
ci = krb5_prepare_checksum(krb5, &keys, gfp);
crypto/krb5/krb5_api.c
289
if (IS_ERR(ci)) {
crypto/krb5/krb5_api.c
290
ret = PTR_ERR(ci);
crypto/krb5/krb5_api.c
295
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
1011
const struct sil24_cerr_info *ci = NULL;
drivers/ata/sata_sil24.c
1055
ci = &sil24_cerr_db[cerr];
drivers/ata/sata_sil24.c
1057
if (ci && ci->desc) {
drivers/ata/sata_sil24.c
1058
err_mask |= ci->err_mask;
drivers/ata/sata_sil24.c
1059
action |= ci->action;
drivers/ata/sata_sil24.c
1062
ata_ehi_push_desc(ehi, "%s", ci->desc);
drivers/atm/atmtcp.c
159
struct atm_cirange ci;
drivers/atm/atmtcp.c
165
if (copy_from_user(&ci, arg,sizeof(ci))) return -EFAULT;
drivers/atm/atmtcp.c
166
if (ci.vpi_bits == ATM_CI_MAX) ci.vpi_bits = MAX_VPI_BITS;
drivers/atm/atmtcp.c
167
if (ci.vci_bits == ATM_CI_MAX) ci.vci_bits = MAX_VCI_BITS;
drivers/atm/atmtcp.c
168
if (ci.vpi_bits > MAX_VPI_BITS || ci.vpi_bits < 0 ||
drivers/atm/atmtcp.c
169
ci.vci_bits > MAX_VCI_BITS || ci.vci_bits < 0) return -EINVAL;
drivers/atm/atmtcp.c
178
if ((vcc->vpi >> ci.vpi_bits) ||
drivers/atm/atmtcp.c
179
(vcc->vci >> ci.vci_bits)) {
drivers/atm/atmtcp.c
186
dev->ci_range = ci;
drivers/atm/eni.c
2020
struct atm_cirange ci;
drivers/atm/eni.c
2022
if (copy_from_user(&ci, arg,sizeof(struct atm_cirange)))
drivers/atm/eni.c
2024
if ((ci.vpi_bits == 0 || ci.vpi_bits == ATM_CI_MAX) &&
drivers/atm/eni.c
2025
(ci.vci_bits == NR_VCI_LD || ci.vpi_bits == ATM_CI_MAX))
drivers/base/cacheinfo.c
978
struct cpu_cacheinfo *ci;
drivers/base/cacheinfo.c
985
ci = ci_cacheinfo(cpu);
drivers/base/cacheinfo.c
993
ci->per_cpu_data_slice_size = llc->size / nr_shared;
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
1621
struct ctx_info *ci)
drivers/bluetooth/btintel_pcie.c
1623
ci->version = 0x1;
drivers/bluetooth/btintel_pcie.c
1624
ci->size = sizeof(*ci);
drivers/bluetooth/btintel_pcie.c
1625
ci->config = 0x0000;
drivers/bluetooth/btintel_pcie.c
1626
ci->addr_cr_hia = data->ia.cr_hia_p_addr;
drivers/bluetooth/btintel_pcie.c
1627
ci->addr_tr_tia = data->ia.tr_tia_p_addr;
drivers/bluetooth/btintel_pcie.c
1628
ci->addr_cr_tia = data->ia.cr_tia_p_addr;
drivers/bluetooth/btintel_pcie.c
1629
ci->addr_tr_hia = data->ia.tr_hia_p_addr;
drivers/bluetooth/btintel_pcie.c
1630
ci->num_cr_ia = BTINTEL_PCIE_NUM_QUEUES;
drivers/bluetooth/btintel_pcie.c
1631
ci->num_tr_ia = BTINTEL_PCIE_NUM_QUEUES;
drivers/bluetooth/btintel_pcie.c
1632
ci->addr_urbdq0 = data->txq.urbd0s_p_addr;
drivers/bluetooth/btintel_pcie.c
1633
ci->addr_tfdq = data->txq.tfds_p_addr;
drivers/bluetooth/btintel_pcie.c
1634
ci->num_tfdq = data->txq.count;
drivers/bluetooth/btintel_pcie.c
1635
ci->num_urbdq0 = data->txq.count;
drivers/bluetooth/btintel_pcie.c
1636
ci->tfdq_db_vec = BTINTEL_PCIE_TXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1637
ci->urbdq0_db_vec = BTINTEL_PCIE_TXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1638
ci->rbd_size = BTINTEL_PCIE_RBD_SIZE_4K;
drivers/bluetooth/btintel_pcie.c
1639
ci->addr_frbdq = data->rxq.frbds_p_addr;
drivers/bluetooth/btintel_pcie.c
1640
ci->num_frbdq = data->rxq.count;
drivers/bluetooth/btintel_pcie.c
1641
ci->frbdq_db_vec = BTINTEL_PCIE_RXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1642
ci->addr_urbdq1 = data->rxq.urbd1s_p_addr;
drivers/bluetooth/btintel_pcie.c
1643
ci->num_urbdq1 = data->rxq.count;
drivers/bluetooth/btintel_pcie.c
1644
ci->urbdq_db_vec = BTINTEL_PCIE_RXQ_NUM;
drivers/bluetooth/btintel_pcie.c
1646
ci->dbg_output_mode = 0x01;
drivers/bluetooth/btintel_pcie.c
1647
ci->dbgc_addr = data->dbgc.frag_p_addr;
drivers/bluetooth/btintel_pcie.c
1648
ci->dbgc_size = data->dbgc.frag_size;
drivers/bluetooth/btintel_pcie.c
1649
ci->dbg_preset = 0x00;
drivers/bluetooth/btintel_pcie.c
1871
data->ci = v_addr;
drivers/bluetooth/btintel_pcie.c
1875
btintel_pcie_init_ci(data, data->ci);
drivers/bluetooth/btintel_pcie.h
512
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
351
const struct scmi_clock_info *ci = sclk->info;
drivers/clk/clk-scmi.c
360
if (atomic_capable && ci->enable_latency <= atomic_threshold_us)
drivers/clk/clk-scmi.c
363
if (!ci->state_ctrl_forbidden)
drivers/clk/clk-scmi.c
366
if (!ci->rate_ctrl_forbidden)
drivers/clk/clk-scmi.c
369
if (!ci->parent_ctrl_forbidden)
drivers/clk/clk-scmi.c
372
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
280
static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci)
drivers/cpufreq/cpufreq.c
286
if (ci->flags & CPUFREQ_CONST_LOOPS)
drivers/cpufreq/cpufreq.c
291
l_p_j_ref_freq = ci->old;
drivers/cpufreq/cpufreq.c
295
if (val == CPUFREQ_POSTCHANGE && ci->old != ci->new) {
drivers/cpufreq/cpufreq.c
297
ci->new);
drivers/cpufreq/cpufreq.c
299
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
138
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
141
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
142
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
286
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
312
fw_csr_iterator_init(&ci, directories[i]);
drivers/firewire/core-device.c
313
while (fw_csr_iterator_next(&ci, &key, &val)) {
drivers/firewire/core-device.c
35
void fw_csr_iterator_init(struct fw_csr_iterator *ci, const u32 *p)
drivers/firewire/core-device.c
37
ci->p = p + 1;
drivers/firewire/core-device.c
38
ci->end = ci->p + (p[0] >> 16);
drivers/firewire/core-device.c
42
int fw_csr_iterator_next(struct fw_csr_iterator *ci, int *key, int *value)
drivers/firewire/core-device.c
44
*key = *ci->p >> 24;
drivers/firewire/core-device.c
45
*value = *ci->p & 0xffffff;
drivers/firewire/core-device.c
47
return ci->p++ < ci->end;
drivers/firewire/core-device.c
493
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
498
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
499
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
517
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
522
fw_csr_iterator_init(&ci, &device->config_rom[ROOT_DIR_OFFSET]);
drivers/firewire/core-device.c
523
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
526
i += units_sprintf(&buf[i], ci.p + value - 1);
drivers/firewire/core-device.c
53
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
58
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
59
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
61
return ci.p - 1 + value;
drivers/firewire/core-device.c
69
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
72
fw_csr_iterator_init(&ci, directory);
drivers/firewire/core-device.c
73
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
76
return ci.p - 1 + value;
drivers/firewire/core-device.c
838
struct fw_csr_iterator ci;
drivers/firewire/core-device.c
843
fw_csr_iterator_init(&ci, &device->config_rom[ROOT_DIR_OFFSET]);
drivers/firewire/core-device.c
844
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/core-device.c
856
unit->directory = ci.p + value - 1;
drivers/firewire/sbp2.c
1008
struct fw_csr_iterator ci;
drivers/firewire/sbp2.c
1011
fw_csr_iterator_init(&ci, directory);
drivers/firewire/sbp2.c
1012
while (fw_csr_iterator_next(&ci, &key, &value))
drivers/firewire/sbp2.c
1022
struct fw_csr_iterator ci;
drivers/firewire/sbp2.c
1025
fw_csr_iterator_init(&ci, directory);
drivers/firewire/sbp2.c
1026
while (fw_csr_iterator_next(&ci, &key, &value)) {
drivers/firewire/sbp2.c
1057
sbp2_get_unit_unique_id(tgt, ci.p - 1 + value);
drivers/firewire/sbp2.c
1062
if (sbp2_scan_logical_unit_dir(tgt, ci.p - 1 + value) < 0)
drivers/firmware/arm_scmi/clock.c
1032
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
1034
if (!ci)
drivers/firmware/arm_scmi/clock.c
1037
return ci->num_clocks;
drivers/firmware/arm_scmi/clock.c
182
scmi_clock_domain_lookup(struct clock_info *ci, u32 clk_id)
drivers/firmware/arm_scmi/clock.c
184
if (clk_id >= ci->num_clocks)
drivers/firmware/arm_scmi/clock.c
187
return ci->clk + clk_id;
drivers/firmware/arm_scmi/clock.c
192
struct clock_info *ci)
drivers/firmware/arm_scmi/clock.c
207
ci->num_clocks = le16_to_cpu(attr->num_clocks);
drivers/firmware/arm_scmi/clock.c
208
ci->max_async_req = attr->max_async_req;
drivers/firmware/arm_scmi/clock.c
215
ci->notify_rate_changed_cmd = true;
drivers/firmware/arm_scmi/clock.c
220
ci->notify_rate_change_requested_cmd = true;
drivers/firmware/arm_scmi/clock.c
579
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
582
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
593
if (ci->max_async_req &&
drivers/firmware/arm_scmi/clock.c
594
atomic_inc_return(&ci->cur_async_req) < ci->max_async_req)
drivers/firmware/arm_scmi/clock.c
620
if (ci->max_async_req)
drivers/firmware/arm_scmi/clock.c
621
atomic_dec(&ci->cur_async_req);
drivers/firmware/arm_scmi/clock.c
664
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
667
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
760
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
763
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
770
return ci->clock_config_set(ph, clk_id, CLK_STATE_ENABLE,
drivers/firmware/arm_scmi/clock.c
777
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
780
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
787
return ci->clock_config_set(ph, clk_id, CLK_STATE_DISABLE,
drivers/firmware/arm_scmi/clock.c
867
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
869
return ci->clock_config_get(ph, clk_id, NULL_OEM_TYPE, NULL,
drivers/firmware/arm_scmi/clock.c
878
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
881
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
888
return ci->clock_config_set(ph, clk_id, CLK_STATE_UNCHANGED,
drivers/firmware/arm_scmi/clock.c
897
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
900
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
907
return ci->clock_config_get(ph, clk_id, oem_type, attributes,
drivers/firmware/arm_scmi/clock.c
913
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
915
return ci->num_clocks;
drivers/firmware/arm_scmi/clock.c
922
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
924
clk = scmi_clock_domain_lookup(ci, clk_id);
drivers/firmware/arm_scmi/clock.c
953
struct clock_info *ci = ph->get_priv(ph);
drivers/firmware/arm_scmi/clock.c
958
clk = scmi_clock_domain_lookup(ci, src_id);
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
656
struct i915_engine_class_instance ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
659
if (copy_from_user(&ci, &ext->engines[n], sizeof(ci))) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
665
intel_engine_lookup_user(i915, ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
666
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
670
n, ci.engine_class, ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
687
ci.engine_class) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
691
ci.engine_class);
drivers/gpu/drm/i915/gem/i915_gem_context.c
697
prev_engine = ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
767
struct i915_engine_class_instance ci;
drivers/gpu/drm/i915/gem/i915_gem_context.c
770
if (copy_from_user(&ci, &user->engines[n], sizeof(ci))) {
drivers/gpu/drm/i915/gem/i915_gem_context.c
777
if (ci.engine_class == (u16)I915_ENGINE_CLASS_INVALID &&
drivers/gpu/drm/i915/gem/i915_gem_context.c
778
ci.engine_instance == (u16)I915_ENGINE_CLASS_INVALID_NONE)
drivers/gpu/drm/i915/gem/i915_gem_context.c
782
ci.engine_class,
drivers/gpu/drm/i915/gem/i915_gem_context.c
783
ci.engine_instance);
drivers/gpu/drm/i915/gem/i915_gem_context.c
787
n, ci.engine_class, ci.engine_instance);
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
380
int i, ret, pi = 0, ci = 0;
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
434
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
5387
struct _ATOM_PPLIB_CI_CLOCK_INFO ci;
drivers/gpu/drm/radeon/ci_dpm.c
5428
pl->sclk = le16_to_cpu(clock_info->ci.usEngineClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5429
pl->sclk |= clock_info->ci.ucEngineClockHigh << 16;
drivers/gpu/drm/radeon/ci_dpm.c
5430
pl->mclk = le16_to_cpu(clock_info->ci.usMemoryClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5431
pl->mclk |= clock_info->ci.ucMemoryClockHigh << 16;
drivers/gpu/drm/radeon/ci_dpm.c
5436
clock_info->ci.ucPCIEGen);
drivers/gpu/drm/radeon/ci_dpm.c
5439
le16_to_cpu(clock_info->ci.usPCIELane));
drivers/gpu/drm/radeon/ci_dpm.c
5571
sclk = le16_to_cpu(clock_info->ci.usEngineClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5572
sclk |= clock_info->ci.ucEngineClockHigh << 16;
drivers/gpu/drm/radeon/ci_dpm.c
5573
mclk = le16_to_cpu(clock_info->ci.usMemoryClockLow);
drivers/gpu/drm/radeon/ci_dpm.c
5574
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
575
struct hte_clk_info *ci)
drivers/hte/hte-tegra194.c
579
if (!ci)
drivers/hte/hte-tegra194.c
582
ci->hz = HTE_TS_CLK_RATE_HZ;
drivers/hte/hte-tegra194.c
583
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
306
const struct max1363_chip_info *ci)
drivers/iio/adc/max1363.c
310
for (i = 0; i < ci->num_modes; i++)
drivers/iio/adc/max1363.c
312
max1363_mode_table[ci->mode_list[i]].
drivers/iio/adc/max1363.c
315
return &max1363_mode_table[ci->mode_list[i]];
drivers/iio/magnetometer/yamaha-yas530.c
1191
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
1204
switch (ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
1392
const struct yas5xx_chip_info *ci;
drivers/iio/magnetometer/yamaha-yas530.c
1436
ci = i2c_get_match_data(i2c);
drivers/iio/magnetometer/yamaha-yas530.c
1437
yas5xx->chip_info = ci;
drivers/iio/magnetometer/yamaha-yas530.c
1443
if (id_check != ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
1450
ret = ci->get_calibration_data(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1454
dev_info(dev, "detected %s %s\n", ci->product_name,
drivers/iio/magnetometer/yamaha-yas530.c
1455
ci->version_names[yas5xx->version]);
drivers/iio/magnetometer/yamaha-yas530.c
1457
ci->dump_calibration(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1459
ret = ci->power_on(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1463
if (ci->measure_offsets) {
drivers/iio/magnetometer/yamaha-yas530.c
1464
ret = ci->measure_offsets(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
1546
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
1563
ret = ci->power_on(yas5xx);
drivers/iio/magnetometer/yamaha-yas530.c
286
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
317
switch (ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
434
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
444
switch (ci->devid) {
drivers/iio/magnetometer/yamaha-yas530.c
476
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
482
t_ref = ci->t_ref;
drivers/iio/magnetometer/yamaha-yas530.c
483
min_temp_x10 = ci->min_temp_x10;
drivers/iio/magnetometer/yamaha-yas530.c
503
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
525
t_ref = ci->t_ref;
drivers/iio/magnetometer/yamaha-yas530.c
526
if (ci->devid == YAS532_DEVICE_ID &&
drivers/iio/magnetometer/yamaha-yas530.c
617
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
625
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
drivers/iio/magnetometer/yamaha-yas530.c
649
*val2 = ci->scaling_val2;
drivers/iio/magnetometer/yamaha-yas530.c
660
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
665
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
drivers/iio/magnetometer/yamaha-yas530.c
752
const struct yas5xx_chip_info *ci = yas5xx->chip_info;
drivers/iio/magnetometer/yamaha-yas530.c
763
reg_qty = ci->volatile_reg_qty;
drivers/iio/magnetometer/yamaha-yas530.c
765
if (reg == ci->volatile_reg[i])
drivers/infiniband/hw/efa/efa_com.c
1177
u32 ci;
drivers/infiniband/hw/efa/efa_com.c
1179
ci = eeq->cc & (eeq->depth - 1);
drivers/infiniband/hw/efa/efa_com.c
1181
eqe = &eeq->eqes[ci];
drivers/infiniband/hw/efa/efa_com.c
1194
ci++;
drivers/infiniband/hw/efa/efa_com.c
1197
if (ci == eeq->depth) {
drivers/infiniband/hw/efa/efa_com.c
1198
ci = 0;
drivers/infiniband/hw/efa/efa_com.c
1202
eqe = &eeq->eqes[ci];
drivers/infiniband/hw/efa/efa_com.c
446
u16 ci;
drivers/infiniband/hw/efa/efa_com.c
450
ci = aq->cq.cc & queue_size_mask;
drivers/infiniband/hw/efa/efa_com.c
453
cqe = &aq->cq.entries[ci];
drivers/infiniband/hw/efa/efa_com.c
468
ci++;
drivers/infiniband/hw/efa/efa_com.c
469
if (ci == aq->depth) {
drivers/infiniband/hw/efa/efa_com.c
470
ci = 0;
drivers/infiniband/hw/efa/efa_com.c
474
cqe = &aq->cq.entries[ci];
drivers/infiniband/hw/efa/efa_com.c
851
u32 ci;
drivers/infiniband/hw/efa/efa_com.c
853
ci = aenq->cc & (aenq->depth - 1);
drivers/infiniband/hw/efa/efa_com.c
855
aenq_e = &aenq->entries[ci]; /* Get first entry */
drivers/infiniband/hw/efa/efa_com.c
873
ci++;
drivers/infiniband/hw/efa/efa_com.c
876
if (ci == aenq->depth) {
drivers/infiniband/hw/efa/efa_com.c
877
ci = 0;
drivers/infiniband/hw/efa/efa_com.c
880
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/mlx5/mlx5_ib.h
799
unsigned long ci;
drivers/infiniband/hw/mlx5/mr.c
153
unsigned long tmp = ent->mkeys_queue.ci % NUM_MKEYS_PER_PAGE;
drivers/infiniband/hw/mlx5/mr.c
157
if (ent->mkeys_queue.ci >=
drivers/infiniband/hw/mlx5/mr.c
170
ent->mkeys_queue.ci++;
drivers/infiniband/hw/mlx5/mr.c
176
unsigned long tmp = (ent->mkeys_queue.ci - 1) % NUM_MKEYS_PER_PAGE;
drivers/infiniband/hw/mlx5/mr.c
185
ent->mkeys_queue.ci--;
drivers/infiniband/hw/mlx5/mr.c
342
if (!ent->mkeys_queue.ci)
drivers/infiniband/hw/mlx5/mr.c
361
if (target == ent->pending + ent->mkeys_queue.ci)
drivers/infiniband/hw/mlx5/mr.c
363
if (target > ent->pending + ent->mkeys_queue.ci) {
drivers/infiniband/hw/mlx5/mr.c
364
u32 todo = target - (ent->pending + ent->mkeys_queue.ci);
drivers/infiniband/hw/mlx5/mr.c
428
ent->mkeys_queue.ci + ent->in_use);
drivers/infiniband/hw/mlx5/mr.c
497
ret = ent->mkeys_queue.ci < ent->limit;
drivers/infiniband/hw/mlx5/mr.c
519
if (ent->mkeys_queue.ci < ent->limit) {
drivers/infiniband/hw/mlx5/mr.c
523
ent->mkeys_queue.ci + ent->pending < 2 * ent->limit) {
drivers/infiniband/hw/mlx5/mr.c
529
} else if (ent->mkeys_queue.ci == 2 * ent->limit) {
drivers/infiniband/hw/mlx5/mr.c
531
} else if (ent->mkeys_queue.ci > 2 * ent->limit) {
drivers/infiniband/hw/mlx5/mr.c
547
while (ent->mkeys_queue.ci) {
drivers/infiniband/hw/mlx5/mr.c
568
ent->mkeys_queue.ci + ent->pending < 2 * ent->limit &&
drivers/infiniband/hw/mlx5/mr.c
590
} else if (ent->mkeys_queue.ci > 2 * ent->limit) {
drivers/infiniband/hw/mlx5/mr.c
751
if (!ent->mkeys_queue.ci) {
drivers/infiniband/hw/mlx5/mr.c
843
debugfs_create_ulong("cur", 0400, dir, &ent->mkeys_queue.ci);
drivers/infiniband/hw/mlx5/mr.c
883
WARN_ON(ent->mkeys_queue.ci || ent->mkeys_queue.num_pages > 1);
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/isdn/hardware/mISDN/hfcmulti.c
4491
int pt, ci, i = 0;
drivers/isdn/hardware/mISDN/hfcmulti.c
4495
ci = dch->slot;
drivers/isdn/hardware/mISDN/hfcmulti.c
4496
pt = hc->chan[ci].port;
drivers/isdn/hardware/mISDN/hfcmulti.c
4515
hc->chan[ci].dch = NULL;
drivers/isdn/hardware/mISDN/hfcmulti.c
4557
~(1 << hc->chan[ci].port);
drivers/isdn/hardware/mISDN/hfcmulti.c
4561
if (hc->chan[ci - 2].bch) {
drivers/isdn/hardware/mISDN/hfcmulti.c
4565
__func__, hc->chan[ci - 2].port + 1,
drivers/isdn/hardware/mISDN/hfcmulti.c
4566
ci - 2);
drivers/isdn/hardware/mISDN/hfcmulti.c
4567
pb = hc->chan[ci - 2].bch;
drivers/isdn/hardware/mISDN/hfcmulti.c
4568
hc->chan[ci - 2].bch = NULL;
drivers/isdn/hardware/mISDN/hfcmulti.c
4572
kfree(hc->chan[ci - 2].coeff);
drivers/isdn/hardware/mISDN/hfcmulti.c
4575
if (hc->chan[ci - 1].bch) {
drivers/isdn/hardware/mISDN/hfcmulti.c
4579
__func__, hc->chan[ci - 1].port + 1,
drivers/isdn/hardware/mISDN/hfcmulti.c
4580
ci - 1);
drivers/isdn/hardware/mISDN/hfcmulti.c
4581
pb = hc->chan[ci - 1].bch;
drivers/isdn/hardware/mISDN/hfcmulti.c
4582
hc->chan[ci - 1].bch = NULL;
drivers/isdn/hardware/mISDN/hfcmulti.c
4586
kfree(hc->chan[ci - 1].coeff);
drivers/isdn/hardware/mISDN/hfcmulti.c
4595
pt+1, ci);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1061
const struct inf_cinfo *ci = inf_card_info;
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1063
while (ci->typ != INF_NONE) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1064
if (ci->typ == typ)
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1065
return ci;
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1066
ci++;
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1088
card->ci = get_card_info(ent->driver_data);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1089
if (!card->ci) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1097
card->ci->full, pci_name(pdev));
drivers/isdn/hardware/mISDN/mISDNinfineon.c
1119
sc->ci = card->ci + i;
drivers/isdn/hardware/mISDN/mISDNinfineon.c
393
switch (hw->ci->typ) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
437
switch (hw->ci->typ) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
490
switch (hw->ci->typ) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
598
if (!hw->ci->irqfunc)
drivers/isdn/hardware/mISDN/mISDNinfineon.c
600
ret = request_irq(hw->irq, hw->ci->irqfunc, IRQF_SHARED, hw->name, hw);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
658
if (hw->ci->cfg_mode) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
659
hw->cfg.start = pci_resource_start(hw->pdev, hw->ci->cfg_bar);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
660
hw->cfg.size = pci_resource_len(hw->pdev, hw->ci->cfg_bar);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
661
if (hw->ci->cfg_mode == AM_MEMIO) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
676
hw->cfg.mode = hw->ci->cfg_mode;
drivers/isdn/hardware/mISDN/mISDNinfineon.c
677
if (hw->ci->cfg_mode == AM_MEMIO) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
685
(ulong)hw->cfg.size, hw->ci->cfg_mode);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
688
if (hw->ci->addr_mode) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
689
hw->addr.start = pci_resource_start(hw->pdev, hw->ci->addr_bar);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
690
hw->addr.size = pci_resource_len(hw->pdev, hw->ci->addr_bar);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
691
if (hw->ci->addr_mode == AM_MEMIO) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
706
hw->addr.mode = hw->ci->addr_mode;
drivers/isdn/hardware/mISDN/mISDNinfineon.c
707
if (hw->ci->addr_mode == AM_MEMIO) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
715
(ulong)hw->addr.size, hw->ci->addr_mode);
drivers/isdn/hardware/mISDN/mISDNinfineon.c
719
switch (hw->ci->typ) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
873
switch (card->ci->typ) {
drivers/isdn/hardware/mISDN/mISDNinfineon.c
900
snprintf(card->name, MISDN_MAX_IDLEN - 1, "%s.%d", card->ci->name,
drivers/isdn/hardware/mISDN/mISDNinfineon.c
95
const struct inf_cinfo *ci;
drivers/md/dm.c
1454
static void setup_split_accounting(struct clone_info *ci, unsigned int len)
drivers/md/dm.c
1456
struct dm_io *io = ci->io;
drivers/md/dm.c
1458
if (ci->sector_count > len) {
drivers/md/dm.c
1465
io->sector_offset = bio_sectors(ci->bio);
drivers/md/dm.c
1469
static void alloc_multiple_bios(struct bio_list *blist, struct clone_info *ci,
drivers/md/dm.c
1480
mutex_lock(&ci->io->md->table_devices_lock);
drivers/md/dm.c
1482
bio = alloc_tio(ci, ti, bio_nr, len,
drivers/md/dm.c
1490
mutex_unlock(&ci->io->md->table_devices_lock);
drivers/md/dm.c
1499
static unsigned int __send_duplicate_bios(struct clone_info *ci, struct dm_target *ti,
drivers/md/dm.c
1511
setup_split_accounting(ci, *len);
drivers/md/dm.c
1517
alloc_multiple_bios(&blist, ci, ti, num_bios, len);
drivers/md/dm.c
1528
static void __send_empty_flush(struct clone_info *ci)
drivers/md/dm.c
1530
struct dm_table *t = ci->map;
drivers/md/dm.c
1534
if ((ci->io->orig_bio->bi_opf & (REQ_IDLE | REQ_SYNC)) ==
drivers/md/dm.c
1543
bio_init(&flush_bio, ci->io->md->disk->part0, NULL, 0, opf);
drivers/md/dm.c
1545
ci->bio = &flush_bio;
drivers/md/dm.c
1546
ci->sector_count = 0;
drivers/md/dm.c
1547
ci->io->tio.clone.bi_iter.bi_size = 0;
drivers/md/dm.c
1557
atomic_add(ti->num_flush_bios, &ci->io->io_count);
drivers/md/dm.c
1558
bios = __send_duplicate_bios(ci, ti, ti->num_flush_bios,
drivers/md/dm.c
1560
atomic_sub(ti->num_flush_bios - bios, &ci->io->io_count);
drivers/md/dm.c
1580
clone = alloc_tio(ci, NULL, 0, &len, GFP_NOIO);
drivers/md/dm.c
1581
atomic_add(1, &ci->io->io_count);
drivers/md/dm.c
1592
atomic_sub(1, &ci->io->io_count);
drivers/md/dm.c
1594
bio_uninit(ci->bio);
drivers/md/dm.c
1597
static void __send_abnormal_io(struct clone_info *ci, struct dm_target *ti,
drivers/md/dm.c
1603
len = min_t(sector_t, ci->sector_count,
drivers/md/dm.c
1604
__max_io_len(ti, ci->sector, max_granularity, max_sectors));
drivers/md/dm.c
1606
atomic_add(num_bios, &ci->io->io_count);
drivers/md/dm.c
1607
bios = __send_duplicate_bios(ci, ti, num_bios, &len);
drivers/md/dm.c
1612
atomic_sub(num_bios - bios + 1, &ci->io->io_count);
drivers/md/dm.c
1614
ci->sector += len;
drivers/md/dm.c
1615
ci->sector_count -= len;
drivers/md/dm.c
1635
static blk_status_t __process_abnormal_io(struct clone_info *ci,
drivers/md/dm.c
1643
switch (bio_op(ci->bio)) {
drivers/md/dm.c
1671
__send_abnormal_io(ci, ti, num_bios, max_granularity, max_sectors);
drivers/md/dm.c
1721
static blk_status_t __split_and_process_bio(struct clone_info *ci)
drivers/md/dm.c
1727
ti = dm_table_find_target(ci->map, ci->sector);
drivers/md/dm.c
1731
if (unlikely(ci->is_abnormal_io))
drivers/md/dm.c
1732
return __process_abnormal_io(ci, ti);
drivers/md/dm.c
1738
ci->submit_as_polled = !!(ci->bio->bi_opf & REQ_POLLED);
drivers/md/dm.c
1740
len = min_t(sector_t, max_io_len(ti, ci->sector), ci->sector_count);
drivers/md/dm.c
1741
if (ci->bio->bi_opf & REQ_ATOMIC) {
drivers/md/dm.c
1744
if (unlikely(len != ci->sector_count))
drivers/md/dm.c
1748
setup_split_accounting(ci, len);
drivers/md/dm.c
1750
if (unlikely(ci->bio->bi_opf & REQ_NOWAIT)) {
drivers/md/dm.c
1754
clone = alloc_tio(ci, ti, 0, &len, GFP_NOWAIT);
drivers/md/dm.c
1758
clone = alloc_tio(ci, ti, 0, &len, GFP_NOIO);
drivers/md/dm.c
1762
ci->sector += len;
drivers/md/dm.c
1763
ci->sector_count -= len;
drivers/md/dm.c
1768
static void init_clone_info(struct clone_info *ci, struct dm_io *io,
drivers/md/dm.c
1771
ci->map = map;
drivers/md/dm.c
1772
ci->io = io;
drivers/md/dm.c
1773
ci->bio = bio;
drivers/md/dm.c
1774
ci->is_abnormal_io = is_abnormal;
drivers/md/dm.c
1775
ci->submit_as_polled = false;
drivers/md/dm.c
1776
ci->sector = bio->bi_iter.bi_sector;
drivers/md/dm.c
1777
ci->sector_count = bio_sectors(bio);
drivers/md/dm.c
1781
WARN_ON_ONCE(op_is_zone_mgmt(bio_op(bio)) && ci->sector_count))
drivers/md/dm.c
1782
ci->sector_count = 0;
drivers/md/dm.c
1817
static blk_status_t __send_zone_reset_all_emulated(struct clone_info *ci,
drivers/md/dm.c
1821
struct mapped_device *md = ci->io->md;
drivers/md/dm.c
1836
ret = dm_zone_get_reset_bitmap(md, ci->map, ti->begin,
drivers/md/dm.c
1848
atomic_add(nr_zones, &ci->io->io_count);
drivers/md/dm.c
1866
alloc_multiple_bios(&blist, ci, ti, min(nr_reset, 32),
drivers/md/dm.c
1884
atomic_sub(nr_zones - num_bios, &ci->io->io_count);
drivers/md/dm.c
1885
ci->sector_count = 0;
drivers/md/dm.c
1893
static void __send_zone_reset_all_native(struct clone_info *ci,
drivers/md/dm.c
1898
atomic_add(1, &ci->io->io_count);
drivers/md/dm.c
1899
bios = __send_duplicate_bios(ci, ti, 1, NULL);
drivers/md/dm.c
1900
atomic_sub(1 - bios, &ci->io->io_count);
drivers/md/dm.c
1902
ci->sector_count = 0;
drivers/md/dm.c
1905
static blk_status_t __send_zone_reset_all(struct clone_info *ci)
drivers/md/dm.c
1907
struct dm_table *t = ci->map;
drivers/md/dm.c
1914
__send_zone_reset_all_native(ci, ti);
drivers/md/dm.c
1918
sts = __send_zone_reset_all_emulated(ci, ti);
drivers/md/dm.c
1924
atomic_sub(1, &ci->io->io_count);
drivers/md/dm.c
1938
static blk_status_t __send_zone_reset_all(struct clone_info *ci)
drivers/md/dm.c
1950
struct clone_info ci;
drivers/md/dm.c
2002
init_clone_info(&ci, io, map, bio, is_abnormal);
drivers/md/dm.c
2022
__send_empty_flush(&ci);
drivers/md/dm.c
2030
error = __send_zone_reset_all(&ci);
drivers/md/dm.c
2034
error = __split_and_process_bio(&ci);
drivers/md/dm.c
2035
if (error || !ci.sector_count)
drivers/md/dm.c
2041
bio_trim(bio, io->sectors, ci.sector_count);
drivers/md/dm.c
2053
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
143
ci = (struct com20020_pci_card_info *)id->driver_data;
drivers/net/arcnet/com20020-pci.c
144
if (!ci)
drivers/net/arcnet/com20020-pci.c
145
ci = &card_info_2p5mbit;
drivers/net/arcnet/com20020-pci.c
147
priv->ci = ci;
drivers/net/arcnet/com20020-pci.c
148
mm = &ci->misc_map;
drivers/net/arcnet/com20020-pci.c
166
for (i = 0; i < ci->devcount; i++) {
drivers/net/arcnet/com20020-pci.c
167
struct com20020_pci_channel_map *cm = &ci->chan_map_tbl[i];
drivers/net/arcnet/com20020-pci.c
182
arc_printk(D_NORMAL, dev, "%s Controls\n", ci->name);
drivers/net/arcnet/com20020-pci.c
207
lp->card_flags = ci->flags;
drivers/net/arcnet/com20020-pci.c
216
if (!strncmp(ci->name, "EAE PLX-PCI FB2", 15))
drivers/net/arcnet/com20020-pci.c
219
if (ci->flags & ARC_HAS_ROTARY) {
drivers/net/arcnet/com20020-pci.c
221
if (!strncmp(ci->name, "EAE PLX-PCI MA1", 15))
drivers/net/arcnet/com20020-pci.c
223
dev->dev_id = (inb(priv->misc + ci->rotary) >> 4) & dev_id_mask;
drivers/net/arcnet/com20020-pci.c
251
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
616
struct plx_pci_card_info *ci;
drivers/net/can/sja1000/plx_pci.c
621
ci = (struct plx_pci_card_info *)ent->driver_data;
drivers/net/can/sja1000/plx_pci.c
629
ci->name, PCI_SLOT(pdev->devfn));
drivers/net/can/sja1000/plx_pci.c
643
addr = pci_iomap(pdev, ci->conf_map.bar, ci->conf_map.size);
drivers/net/can/sja1000/plx_pci.c
647
"(BAR%d)\n", ci->conf_map.bar);
drivers/net/can/sja1000/plx_pci.c
650
card->conf_addr = addr + ci->conf_map.offset;
drivers/net/can/sja1000/plx_pci.c
652
ci->reset_func(pdev);
drivers/net/can/sja1000/plx_pci.c
653
card->reset_func = ci->reset_func;
drivers/net/can/sja1000/plx_pci.c
656
for (i = 0; i < ci->channel_count; i++) {
drivers/net/can/sja1000/plx_pci.c
657
struct plx_pci_channel_map *cm = &ci->chan_map_tbl[i];
drivers/net/can/sja1000/plx_pci.c
689
priv->can.clock.freq = ci->can_clock;
drivers/net/can/sja1000/plx_pci.c
690
priv->ocr = ci->ocr;
drivers/net/can/sja1000/plx_pci.c
691
priv->cdr = ci->cdr;
drivers/net/dsa/realtek/rtl8365mb.c
1898
const struct rtl8365mb_chip_info *ci;
drivers/net/dsa/realtek/rtl8365mb.c
1902
ci = mb->chip_info;
drivers/net/dsa/realtek/rtl8365mb.c
1905
if (ci->jam_table) {
drivers/net/dsa/realtek/rtl8365mb.c
1906
for (i = 0; i < ci->jam_size; i++) {
drivers/net/dsa/realtek/rtl8365mb.c
1907
ret = regmap_write(priv->map, ci->jam_table[i].reg,
drivers/net/dsa/realtek/rtl8365mb.c
1908
ci->jam_table[i].val);
drivers/net/dsa/realtek/rtl8365mb.c
2086
const struct rtl8365mb_chip_info *ci = &rtl8365mb_chip_infos[i];
drivers/net/dsa/realtek/rtl8365mb.c
2088
if (ci->chip_id == chip_id && ci->chip_ver == chip_ver) {
drivers/net/dsa/realtek/rtl8365mb.c
2089
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
109
static struct cmdq_wqe *cmdq_read_wqe(struct hinic3_wq *wq, u16 *ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
114
*ci = wq->cons_idx & wq->idx_mask;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
172
struct cmdq_wqe *wqe, u16 ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
187
cmdq->cmd_infos[ci].cmd_type = HINIC3_CMD_TYPE_NONE;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
211
struct cmdq_wqe *wqe, u16 ci)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
214
cmdq_update_cmd_status(cmdq, ci, wqe);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
215
if (cmdq->cmd_infos[ci].cmpt_code) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
216
*cmdq->cmd_infos[ci].cmpt_code = CMDQ_DIRECT_SYNC_CMPT_CODE;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
217
cmdq->cmd_infos[ci].cmpt_code = NULL;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
222
if (cmdq->cmd_infos[ci].done) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
223
complete(cmdq->cmd_infos[ci].done);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
224
cmdq->cmd_infos[ci].done = NULL;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
228
cmdq_clear_cmd_buf(&cmdq->cmd_infos[ci], cmdq->hwdev);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
229
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
241
u16 ci;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
247
while ((wqe = cmdq_read_wqe(&cmdq->wq, &ci)) != NULL) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
248
cmd_info = &cmdq->cmd_infos[ci];
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
254
cmdq_type, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
258
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
276
clear_wqe_complete_bit(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
278
cmdq_sync_cmd_handler(cmdq, wqe, ci);
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
782
u16 ci;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
785
while (cmdq_read_wqe(&cmdq->wq, &ci)) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
787
cmd_info = &cmdq->cmd_infos[ci];
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
771
u16 wqe_counter, ci;
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
780
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
781
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
794
mlx5_wq_cyc_wqe_dump(&sq->wq, ci, wi->num_wqebbs);
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
825
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
827
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sq->cc);
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c
828
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
1701
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1703
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1704
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1750
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1752
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
1753
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2550
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2552
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2553
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2641
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2644
ci = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
2645
wi = get_frag(rq, ci);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
768
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
770
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
771
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
817
u16 ci;
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
821
ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc);
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
822
wi = &sq->db.wqe_info[ci];
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
835
mlx5_wq_cyc_wqe_dump(&sq->wq, ci, wi->num_wqebbs);
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
87
memcpy(data, mlx5_cqwq_get_wqe(wq, ci), sizeof(struct mlx5_cqe64));
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
2064
const struct rtl_coalesce_info *ci;
drivers/net/ethernet/realtek/r8169_main.c
2067
ci = rtl_coalesce_info_8169;
drivers/net/ethernet/realtek/r8169_main.c
2069
ci = rtl_coalesce_info_8168_8136;
drivers/net/ethernet/realtek/r8169_main.c
2073
return ci;
drivers/net/ethernet/realtek/r8169_main.c
2075
for (; ci->speed; ci++) {
drivers/net/ethernet/realtek/r8169_main.c
2076
if (tp->phydev->speed == ci->speed)
drivers/net/ethernet/realtek/r8169_main.c
2077
return ci;
drivers/net/ethernet/realtek/r8169_main.c
2089
const struct rtl_coalesce_info *ci;
drivers/net/ethernet/realtek/r8169_main.c
2099
ci = rtl_coalesce_info(tp);
drivers/net/ethernet/realtek/r8169_main.c
2100
if (IS_ERR(ci))
drivers/net/ethernet/realtek/r8169_main.c
2101
return PTR_ERR(ci);
drivers/net/ethernet/realtek/r8169_main.c
2103
scale = ci->scale_nsecs[tp->cp_cmd & INTT_MASK];
drivers/net/ethernet/realtek/r8169_main.c
2127
const struct rtl_coalesce_info *ci;
drivers/net/ethernet/realtek/r8169_main.c
2130
ci = rtl_coalesce_info(tp);
drivers/net/ethernet/realtek/r8169_main.c
2131
if (IS_ERR(ci))
drivers/net/ethernet/realtek/r8169_main.c
2132
return PTR_ERR(ci);
drivers/net/ethernet/realtek/r8169_main.c
2135
if (usec <= ci->scale_nsecs[i] * RTL_COALESCE_T_MAX / 1000U) {
drivers/net/ethernet/realtek/r8169_main.c
2137
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
162
struct nda_cacheinfo ci;
drivers/net/vxlan/vxlan_core.c
236
ci.ndm_used = jiffies_to_clock_t(now - READ_ONCE(fdb->used));
drivers/net/vxlan/vxlan_core.c
237
ci.ndm_confirmed = 0;
drivers/net/vxlan/vxlan_core.c
238
ci.ndm_updated = jiffies_to_clock_t(now - READ_ONCE(fdb->updated));
drivers/net/vxlan/vxlan_core.c
239
ci.ndm_refcnt = 0;
drivers/net/vxlan/vxlan_core.c
241
if (nla_put(skb, NDA_CACHEINFO, sizeof(ci), &ci))
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2838
struct wmi_channel *ci;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2846
chans_len = arg->n_channels * (sizeof(*tlv) + sizeof(*ci));
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2874
tlv->len = __cpu_to_le16(sizeof(*ci));
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2875
ci = (void *)tlv->value;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2877
ath10k_wmi_put_wmi_channel(ar, ci, ch);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
2880
chans += sizeof(*ci);
drivers/net/wireless/ath/ath10k/wmi.c
7624
struct wmi_channel *ci;
drivers/net/wireless/ath/ath10k/wmi.c
7636
ci = &cmd->chan_info[i];
drivers/net/wireless/ath/ath10k/wmi.c
7638
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
1010
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1011
core = brcmf_chip_add_core(ci, BCMA_CORE_SDIO_DEV,
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_INTERNAL_MEM,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1016
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1017
core = brcmf_chip_add_core(ci, BCMA_CORE_ARM_CM3,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1019
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1021
core = brcmf_chip_add_core(ci, BCMA_CORE_80211, 0x18001000, 0);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1022
brcmf_chip_sb_corerev(ci, core);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1024
ci->iscoreup = brcmf_chip_ai_iscoreup;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1025
ci->coredisable = brcmf_chip_ai_coredisable;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1026
ci->resetcore = brcmf_chip_ai_resetcore;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1028
brcmf_chip_dmp_erom_scan(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1035
ret = brcmf_chip_cores_check(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1040
brcmf_chip_set_passive(&ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1045
if (ci->ops->reset) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1046
ci->ops->reset(ci->ctx, &ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1047
brcmf_chip_set_passive(&ci->pub);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
1050
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
1505
return devinfo->ci->ramsize - devinfo->ci->srsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1515
brcmf_dbg(PCIE, "dump at 0x%08X: len=%zu\n", devinfo->ci->rambase, len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1516
brcmf_pcie_copy_dev_tomem(devinfo, devinfo->ci->rambase, data, len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1613
devinfo->ci->ramsize = newsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1707
memcpy_toio(devinfo->tcm + devinfo->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1716
brcmf_pcie_write_ram32(devinfo, devinfo->ci->ramsize - 4, 0);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1720
address = devinfo->ci->rambase + devinfo->ci->ramsize -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1750
devinfo->ci->ramsize -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1763
devinfo->ci->ramsize -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1771
if (sharedram_addr < devinfo->ci->rambase ||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1772
sharedram_addr >= devinfo->ci->rambase + devinfo->ci->ramsize) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
1882
devinfo->ci = chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2054
switch (devinfo->ci->chip) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2081
core = brcmf_chip_get_core(devinfo->ci, coreid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2163
ret = brcmf_chip_get_raminfo(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2244
fwreq = brcmf_fw_alloc_request(devinfo->ci->chip, devinfo->ci->chiprev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2465
devinfo->ci = brcmf_chip_attach(devinfo, pdev->device,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2467
if (IS_ERR(devinfo->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2468
ret = PTR_ERR(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2469
devinfo->ci = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2473
core = brcmf_chip_get_core(devinfo->ci, BCMA_CORE_PCIE2);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2487
devinfo->ci->chip,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2488
devinfo->ci->chiprev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2567
if (devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2568
brcmf_chip_detach(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2594
if (devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2613
if (devinfo->ci)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2614
brcmf_chip_detach(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2685
brcmf_chip_detach(devinfo->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2686
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
2502
bpreq |= brcmf_chip_is_ulp(bus->ci) ?
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3354
err = brcmf_sdiod_ramrw(bus->sdiodev, true, bus->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3358
err, (int)fw->size, bus->ci->rambase);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3359
else if (!brcmf_sdio_verifymemory(bus->sdiodev, bus->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3374
address = bus->ci->ramsize - varsz + bus->ci->rambase;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3414
if (!brcmf_chip_set_active(bus->ci, rstvec)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3428
if (bus->ci->chip == BRCM_CC_43751_CHIP_ID ||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3429
bus->ci->chip == BRCM_CC_43752_CHIP_ID ||
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3430
bus->ci->chip == CY_CC_43012_CHIP_ID)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3446
if (brcmf_chip_is_ulp(bus->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3597
return bus->ci->ramsize - bus->ci->srsize;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3611
brcmf_dbg(INFO, "dump at 0x%08x: size=%zu\n", bus->ci->rambase,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3614
address = bus->ci->rambase;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3777
struct brcmf_chip *ci, u32 drivestrength)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3787
if (!(ci->cc_caps & CC_CAP_PMU))
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3790
switch (SDIOD_DRVSTR_KEY(ci->chip, ci->pmurev)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3810
ci->name, drivestrength);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3819
ci->name, ci->chiprev, ci->pmurev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3824
struct brcmf_core *pmu = brcmf_chip_get_pmu(ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3985
bus->ci = brcmf_chip_attach(sdiodev, sdiodev->func1->device,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3987
if (IS_ERR(bus->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3989
bus->ci = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3994
bus->sdio_core = brcmf_chip_get_core(bus->ci, BCMA_CORE_SDIO_DEV);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
3999
sdiodev->cc_core = brcmf_chip_get_core(bus->ci, BCMA_CORE_CHIPCOMMON);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4005
bus->ci->chip,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4006
bus->ci->chiprev);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4046
brcmf_sdio_drivestrengthinit(sdiodev, bus->ci, drivestrength);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4060
reg_addr = CORE_CC_REG(brcmf_chip_get_pmu(bus->ci)->base, pmucontrol);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4254
bpreq |= brcmf_chip_is_ulp(bus->ci) ?
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4361
if (brcmf_chip_sr_capable(bus->ci)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4373
sdiod->bus_if->chip = bus->ci->chip;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4374
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
4432
fwreq = brcmf_fw_alloc_request(bus->ci->chip, bus->ci->chiprev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4585
if (bus->ci) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4595
brcmf_chip_set_passive(bus->ci);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4599
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
1620
ci = &chan_info_2064_lcnphy[0];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1642
ci = &chan_info_2064_lcnphy[i];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1645
write_radio_reg(pi, RADIO_2064_REG02A, ci->logen_buftune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1647
mod_radio_reg(pi, RADIO_2064_REG030, 0x3, ci->logen_rccr_tx);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1649
mod_radio_reg(pi, RADIO_2064_REG091, 0x3, ci->txrf_mix_tune_ctrl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1651
mod_radio_reg(pi, RADIO_2064_REG038, 0xf, ci->pa_input_tune_g);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1654
(ci->logen_rccr_rx) << 2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1656
mod_radio_reg(pi, RADIO_2064_REG05E, 0xf, ci->pa_rxrf_lna1_freq_tune);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1659
(ci->pa_rxrf_lna2_freq_tune) << 4);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1661
write_radio_reg(pi, RADIO_2064_REG06C, ci->rxrf_rxrf_spare1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1683
fvco3 = (ci->freq * 3);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
1698
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
140
.ci.channel = cpu_to_le32(chandef->chan->hw_value),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
141
.ci.band = iwl_mld_nl80211_band_to_fw(chandef->chan->band),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
142
.ci.width = iwl_mld_nl80211_width_to_fw(chandef->width),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
143
.ci.ctrl_pos = iwl_mld_get_fw_ctrl_pos(chandef),
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2550
struct iwl_fw_channel_info *ci)
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2552
return (u8 *)ci + (iwl_mvm_has_ultra_hb_channel(mvm) ?
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2565
struct iwl_fw_channel_info *ci,
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2570
ci->channel = cpu_to_le32(chan);
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2571
ci->band = band;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2572
ci->width = width;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2573
ci->ctrl_pos = ctrl_pos;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2576
(struct iwl_fw_channel_info_v1 *)ci;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2587
struct iwl_fw_channel_info *ci,
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2592
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/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
1762
if (cur_mkvp && cur_mkvp == ci.cur_aes_mkvp)
drivers/s390/crypto/zcrypt_ccamisc.c
1764
if (old_mkvp && ci.old_aes_mk_state == '2' &&
drivers/s390/crypto/zcrypt_ccamisc.c
1765
old_mkvp == ci.old_aes_mkvp)
drivers/s390/crypto/zcrypt_ccamisc.c
1768
if (cur_mkvp && cur_mkvp == ci.cur_apka_mkvp)
drivers/s390/crypto/zcrypt_ccamisc.c
1770
if (old_mkvp && ci.old_apka_mk_state == '2' &&
drivers/s390/crypto/zcrypt_ccamisc.c
1771
old_mkvp == 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
115
struct cca_info ci;
drivers/s390/crypto/zcrypt_cex4.c
118
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
122
&ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
124
if (ci.new_aes_mk_state >= '1' && ci.new_aes_mk_state <= '3')
drivers/s390/crypto/zcrypt_cex4.c
126
new_state[ci.new_aes_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
127
ci.new_aes_mkvp);
drivers/s390/crypto/zcrypt_cex4.c
131
if (ci.cur_aes_mk_state >= '1' && ci.cur_aes_mk_state <= '2')
drivers/s390/crypto/zcrypt_cex4.c
133
cao_state[ci.cur_aes_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
134
ci.cur_aes_mkvp);
drivers/s390/crypto/zcrypt_cex4.c
138
if (ci.old_aes_mk_state >= '1' && ci.old_aes_mk_state <= '2')
drivers/s390/crypto/zcrypt_cex4.c
140
cao_state[ci.old_aes_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
141
ci.old_aes_mkvp);
drivers/s390/crypto/zcrypt_cex4.c
145
if (ci.new_apka_mk_state >= '1' && ci.new_apka_mk_state <= '3')
drivers/s390/crypto/zcrypt_cex4.c
147
new_state[ci.new_apka_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
148
ci.new_apka_mkvp);
drivers/s390/crypto/zcrypt_cex4.c
152
if (ci.cur_apka_mk_state >= '1' && ci.cur_apka_mk_state <= '2')
drivers/s390/crypto/zcrypt_cex4.c
154
cao_state[ci.cur_apka_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
155
ci.cur_apka_mkvp);
drivers/s390/crypto/zcrypt_cex4.c
159
if (ci.old_apka_mk_state >= '1' && ci.old_apka_mk_state <= '2')
drivers/s390/crypto/zcrypt_cex4.c
161
cao_state[ci.old_apka_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
162
ci.old_apka_mkvp);
drivers/s390/crypto/zcrypt_cex4.c
166
if (ci.new_asym_mk_state >= '1' && ci.new_asym_mk_state <= '3')
drivers/s390/crypto/zcrypt_cex4.c
168
new_state[ci.new_asym_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
169
*((u64 *)(ci.new_asym_mkvp)),
drivers/s390/crypto/zcrypt_cex4.c
170
*((u64 *)(ci.new_asym_mkvp + sizeof(u64))));
drivers/s390/crypto/zcrypt_cex4.c
174
if (ci.cur_asym_mk_state >= '1' && ci.cur_asym_mk_state <= '2')
drivers/s390/crypto/zcrypt_cex4.c
176
cao_state[ci.cur_asym_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
177
*((u64 *)(ci.cur_asym_mkvp)),
drivers/s390/crypto/zcrypt_cex4.c
178
*((u64 *)(ci.cur_asym_mkvp + sizeof(u64))));
drivers/s390/crypto/zcrypt_cex4.c
182
if (ci.old_asym_mk_state >= '1' && ci.old_asym_mk_state <= '2')
drivers/s390/crypto/zcrypt_cex4.c
184
cao_state[ci.old_asym_mk_state - '1'],
drivers/s390/crypto/zcrypt_cex4.c
185
*((u64 *)(ci.old_asym_mkvp)),
drivers/s390/crypto/zcrypt_cex4.c
186
*((u64 *)(ci.old_asym_mkvp + sizeof(u64))));
drivers/s390/crypto/zcrypt_cex4.c
213
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
215
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
217
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
219
if (ci.API_ord_nr > 0)
drivers/s390/crypto/zcrypt_cex4.c
220
return sysfs_emit(buf, "%u\n", ci.API_ord_nr);
drivers/s390/crypto/zcrypt_cex4.c
233
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
235
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
237
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
239
if (ci.FW_version > 0)
drivers/s390/crypto/zcrypt_cex4.c
241
(int)(ci.FW_version >> 8),
drivers/s390/crypto/zcrypt_cex4.c
242
(int)(ci.FW_version & 0xFF));
drivers/s390/crypto/zcrypt_cex4.c
255
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
257
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
259
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
261
if (ci.serial[0])
drivers/s390/crypto/zcrypt_cex4.c
262
return sysfs_emit(buf, "%16.16s\n", ci.serial);
drivers/s390/crypto/zcrypt_cex4.c
291
struct ep11_card_info ci;
drivers/s390/crypto/zcrypt_cex4.c
294
memset(&ci, 0, sizeof(ci));
drivers/s390/crypto/zcrypt_cex4.c
296
ep11_get_card_info(ac->id, &ci, 0);
drivers/s390/crypto/zcrypt_cex4.c
299
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
2488
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_hw.h
2498
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_hw.h
2609
uint32_t ci:1;
drivers/scsi/lpfc/lpfc_hw.h
2619
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
433
u16 ci;
drivers/scsi/mpi3mr/mpi3mr.h
466
u16 ci;
drivers/scsi/mpi3mr/mpi3mr_fw.c
2240
op_reply_q->ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
2371
op_req_q->ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
4822
mrioc->op_reply_qinfo[i].ci = 0;
drivers/scsi/mpi3mr/mpi3mr_fw.c
4831
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
1004
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1008
if (!(ci->roles[CI_ROLE_HOST] && ci->roles[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
1014
if (!strncmp(buf, ci->roles[role]->name,
drivers/usb/chipidea/core.c
1015
strlen(ci->roles[role]->name)))
drivers/usb/chipidea/core.c
1021
mutex_lock(&ci->mutex);
drivers/usb/chipidea/core.c
1023
if (role == ci->role) {
drivers/usb/chipidea/core.c
1024
mutex_unlock(&ci->mutex);
drivers/usb/chipidea/core.c
1029
disable_irq(ci->irq);
drivers/usb/chipidea/core.c
1030
ci_role_stop(ci);
drivers/usb/chipidea/core.c
1031
ret = ci_role_start(ci, role);
drivers/usb/chipidea/core.c
1032
if (!ret && ci->role == CI_ROLE_GADGET)
drivers/usb/chipidea/core.c
1033
ci_handle_vbus_change(ci);
drivers/usb/chipidea/core.c
1034
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
1036
mutex_unlock(&ci->mutex);
drivers/usb/chipidea/core.c
1046
ATTRIBUTE_GROUPS(ci);
drivers/usb/chipidea/core.c
1051
struct ci_hdrc *ci;
drivers/usb/chipidea/core.c
106
ci->hw_bank.regmap[i] =
drivers/usb/chipidea/core.c
1066
ci = devm_kzalloc(dev, sizeof(*ci), GFP_KERNEL);
drivers/usb/chipidea/core.c
1067
if (!ci)
drivers/usb/chipidea/core.c
107
(i <= CAP_LAST ? ci->hw_bank.cap : ci->hw_bank.op) +
drivers/usb/chipidea/core.c
1070
spin_lock_init(&ci->lock);
drivers/usb/chipidea/core.c
1071
mutex_init(&ci->mutex);
drivers/usb/chipidea/core.c
1072
INIT_WORK(&ci->power_lost_work, ci_power_lost_work);
drivers/usb/chipidea/core.c
1074
ci->dev = dev;
drivers/usb/chipidea/core.c
1075
ci->platdata = dev_get_platdata(dev);
drivers/usb/chipidea/core.c
1076
ci->imx28_write_fix = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1078
ci->supports_runtime_pm = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1080
ci->has_portsc_pec_bug = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1082
ci->has_short_pkt_limit = !!(ci->platdata->flags &
drivers/usb/chipidea/core.c
1084
platform_set_drvdata(pdev, ci);
drivers/usb/chipidea/core.c
1086
ret = hw_device_init(ci, base);
drivers/usb/chipidea/core.c
1092
ret = ci_ulpi_init(ci);
drivers/usb/chipidea/core.c
1096
if (ci->platdata->phy) {
drivers/usb/chipidea/core.c
1097
ci->phy = ci->platdata->phy;
drivers/usb/chipidea/core.c
1098
} else if (ci->platdata->usb_phy) {
drivers/usb/chipidea/core.c
1099
ci->usb_phy = ci->platdata->usb_phy;
drivers/usb/chipidea/core.c
1102
ci->phy = devm_phy_get(dev->parent, "usb-phy");
drivers/usb/chipidea/core.c
1104
if (PTR_ERR(ci->phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
1107
} else if (IS_ERR(ci->phy)) {
drivers/usb/chipidea/core.c
1108
ci->phy = NULL;
drivers/usb/chipidea/core.c
111
ci->hw_bank.regmap[i] = ci->hw_bank.op +
drivers/usb/chipidea/core.c
1112
if (!ci->phy) {
drivers/usb/chipidea/core.c
1113
ci->usb_phy = devm_usb_get_phy_by_phandle(dev->parent,
drivers/usb/chipidea/core.c
1116
if (PTR_ERR(ci->usb_phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
1119
} else if (IS_ERR(ci->usb_phy)) {
drivers/usb/chipidea/core.c
1120
ci->usb_phy = NULL;
drivers/usb/chipidea/core.c
1125
if (!ci->phy && !ci->usb_phy) {
drivers/usb/chipidea/core.c
1126
ci->usb_phy = devm_usb_get_phy(dev->parent,
drivers/usb/chipidea/core.c
1129
if (PTR_ERR(ci->usb_phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
1132
} else if (IS_ERR(ci->usb_phy)) {
drivers/usb/chipidea/core.c
1133
ci->usb_phy = NULL;
drivers/usb/chipidea/core.c
1138
if (!ci->phy && !ci->usb_phy) {
drivers/usb/chipidea/core.c
1144
ret = ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
1150
ci->hw_bank.phys = res->start;
drivers/usb/chipidea/core.c
1152
ci->irq = platform_get_irq(pdev, 0);
drivers/usb/chipidea/core.c
1153
if (ci->irq < 0) {
drivers/usb/chipidea/core.c
1154
ret = ci->irq;
drivers/usb/chipidea/core.c
1158
ci_get_otg_capable(ci);
drivers/usb/chipidea/core.c
1160
dr_mode = ci->platdata->dr_mode;
drivers/usb/chipidea/core.c
1163
ret = ci_hdrc_host_init(ci);
drivers/usb/chipidea/core.c
1173
ret = ci_hdrc_gadget_init(ci);
drivers/usb/chipidea/core.c
1182
if (!ci->roles[CI_ROLE_HOST] && !ci->roles[CI_ROLE_GADGET]) {
drivers/usb/chipidea/core.c
1188
if (ci->is_otg && ci->roles[CI_ROLE_GADGET]) {
drivers/usb/chipidea/core.c
1189
ret = ci_hdrc_otg_init(ci);
drivers/usb/chipidea/core.c
119
static enum ci_revision ci_get_revision(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1197
ci_role_switch.driver_data = ci;
drivers/usb/chipidea/core.c
1198
ci->role_switch = usb_role_switch_register(dev,
drivers/usb/chipidea/core.c
1200
if (IS_ERR(ci->role_switch)) {
drivers/usb/chipidea/core.c
1201
ret = PTR_ERR(ci->role_switch);
drivers/usb/chipidea/core.c
1206
ci->role = ci_get_role(ci);
drivers/usb/chipidea/core.c
1207
if (!ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/core.c
1209
if (ci->role == CI_ROLE_GADGET) {
drivers/usb/chipidea/core.c
121
int ver = hw_read_id_reg(ci, ID_ID, VERSION) >> __ffs(VERSION);
drivers/usb/chipidea/core.c
1211
hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
drivers/usb/chipidea/core.c
1212
ci_handle_vbus_change(ci);
drivers/usb/chipidea/core.c
1215
ret = ci_role_start(ci, ci->role);
drivers/usb/chipidea/core.c
1218
ci_role(ci)->name);
drivers/usb/chipidea/core.c
1223
ret = devm_request_irq(dev, ci->irq, ci_irq_handler, IRQF_SHARED,
drivers/usb/chipidea/core.c
1224
ci->platdata->name, ci);
drivers/usb/chipidea/core.c
1228
ret = ci_extcon_register(ci);
drivers/usb/chipidea/core.c
1232
if (ci->supports_runtime_pm) {
drivers/usb/chipidea/core.c
1236
pm_runtime_mark_last_busy(ci->dev);
drivers/usb/chipidea/core.c
1240
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1241
ci_hdrc_otg_fsm_start(ci);
drivers/usb/chipidea/core.c
1244
dbg_create_files(ci);
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->is_otg && ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
1253
ci_hdrc_otg_destroy(ci);
drivers/usb/chipidea/core.c
1255
ci_hdrc_gadget_destroy(ci);
drivers/usb/chipidea/core.c
1257
ci_hdrc_host_destroy(ci);
drivers/usb/chipidea/core.c
1259
ci_usb_phy_exit(ci);
drivers/usb/chipidea/core.c
1261
ci_ulpi_exit(ci);
drivers/usb/chipidea/core.c
1268
struct ci_hdrc *ci = platform_get_drvdata(pdev);
drivers/usb/chipidea/core.c
1270
if (ci->role_switch)
drivers/usb/chipidea/core.c
1271
usb_role_switch_unregister(ci->role_switch);
drivers/usb/chipidea/core.c
1273
if (ci->supports_runtime_pm) {
drivers/usb/chipidea/core.c
1279
dbg_remove_files(ci);
drivers/usb/chipidea/core.c
1280
ci_role_destroy(ci);
drivers/usb/chipidea/core.c
1281
ci_hdrc_enter_lpm(ci, true);
drivers/usb/chipidea/core.c
1282
ci_usb_phy_exit(ci);
drivers/usb/chipidea/core.c
1283
ci_ulpi_exit(ci);
drivers/usb/chipidea/core.c
1288
static void ci_otg_fsm_suspend_for_srp(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1290
if ((ci->fsm.otg->state == OTG_STATE_A_IDLE) &&
drivers/usb/chipidea/core.c
1291
!hw_read_otgsc(ci, OTGSC_ID)) {
drivers/usb/chipidea/core.c
1292
hw_write(ci, OP_PORTSC, PORTSC_W1C_BITS | PORTSC_PP,
drivers/usb/chipidea/core.c
1294
hw_write(ci, OP_PORTSC, PORTSC_W1C_BITS | PORTSC_WKCN,
drivers/usb/chipidea/core.c
1300
static void ci_otg_fsm_wakeup_by_srp(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1302
if ((ci->fsm.otg->state == OTG_STATE_A_IDLE) &&
drivers/usb/chipidea/core.c
1303
(ci->fsm.a_bus_drop == 1) && (ci->fsm.a_bus_req == 0)) {
drivers/usb/chipidea/core.c
1304
if (!hw_read_otgsc(ci, OTGSC_ID)) {
drivers/usb/chipidea/core.c
1305
ci->fsm.a_srp_det = 1;
drivers/usb/chipidea/core.c
1306
ci->fsm.a_bus_drop = 0;
drivers/usb/chipidea/core.c
1308
ci->fsm.id = 1;
drivers/usb/chipidea/core.c
1310
ci_otg_queue_work(ci);
drivers/usb/chipidea/core.c
1314
static void ci_controller_suspend(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1316
disable_irq(ci->irq);
drivers/usb/chipidea/core.c
1317
ci_hdrc_enter_lpm(ci, true);
drivers/usb/chipidea/core.c
1318
if (ci->platdata->phy_clkgate_delay_us)
drivers/usb/chipidea/core.c
1319
usleep_range(ci->platdata->phy_clkgate_delay_us,
drivers/usb/chipidea/core.c
1320
ci->platdata->phy_clkgate_delay_us + 50);
drivers/usb/chipidea/core.c
1321
usb_phy_set_suspend(ci->usb_phy, 1);
drivers/usb/chipidea/core.c
1322
ci->in_lpm = true;
drivers/usb/chipidea/core.c
1323
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
1332
static void ci_extcon_wakeup_int(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1335
u32 otgsc = hw_read_otgsc(ci, ~0);
drivers/usb/chipidea/core.c
1337
cable_id = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
1338
cable_vbus = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
1340
if ((!IS_ERR(cable_id->edev) || ci->role_switch)
drivers/usb/chipidea/core.c
1341
&& ci->is_otg &&
drivers/usb/chipidea/core.c
1343
ci_irq(ci);
drivers/usb/chipidea/core.c
1345
if ((!IS_ERR(cable_vbus->edev) || ci->role_switch)
drivers/usb/chipidea/core.c
1346
&& ci->is_otg &&
drivers/usb/chipidea/core.c
1348
ci_irq(ci);
drivers/usb/chipidea/core.c
1353
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1358
if (!ci->in_lpm) {
drivers/usb/chipidea/core.c
1363
ci_hdrc_enter_lpm(ci, false);
drivers/usb/chipidea/core.c
1365
ret = ci_ulpi_resume(ci);
drivers/usb/chipidea/core.c
1369
if (ci->usb_phy) {
drivers/usb/chipidea/core.c
1370
usb_phy_set_suspend(ci->usb_phy, 0);
drivers/usb/chipidea/core.c
1371
usb_phy_set_wakeup(ci->usb_phy, false);
drivers/usb/chipidea/core.c
1375
ci->in_lpm = false;
drivers/usb/chipidea/core.c
1376
if (ci->wakeup_int) {
drivers/usb/chipidea/core.c
1377
ci->wakeup_int = false;
drivers/usb/chipidea/core.c
1378
pm_runtime_put_autosuspend(ci->dev);
drivers/usb/chipidea/core.c
1379
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
1380
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1381
ci_otg_fsm_wakeup_by_srp(ci);
drivers/usb/chipidea/core.c
1382
ci_extcon_wakeup_int(ci);
drivers/usb/chipidea/core.c
1391
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1393
if (ci->wq)
drivers/usb/chipidea/core.c
1394
flush_workqueue(ci->wq);
drivers/usb/chipidea/core.c
1401
if (ci->in_lpm)
drivers/usb/chipidea/core.c
1404
if (ci->in_lpm) {
drivers/usb/chipidea/core.c
1410
if (ci->role != CI_ROLE_END && ci_role(ci)->suspend)
drivers/usb/chipidea/core.c
1411
ci_role(ci)->suspend(ci);
drivers/usb/chipidea/core.c
1414
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1415
ci_otg_fsm_suspend_for_srp(ci);
drivers/usb/chipidea/core.c
1417
usb_phy_set_wakeup(ci->usb_phy, true);
drivers/usb/chipidea/core.c
1418
enable_irq_wake(ci->irq);
drivers/usb/chipidea/core.c
142
u32 hw_read_intr_enable(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
1421
ci_controller_suspend(ci);
drivers/usb/chipidea/core.c
1428
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1437
power_lost = !hw_read(ci, OP_ENDPTLISTADDR, ~0);
drivers/usb/chipidea/core.c
144
return hw_read(ci, OP_USBINTR, ~0);
drivers/usb/chipidea/core.c
1440
disable_irq_wake(ci->irq);
drivers/usb/chipidea/core.c
1448
ci_usb_phy_exit(ci);
drivers/usb/chipidea/core.c
1449
ci_usb_phy_init(ci);
drivers/usb/chipidea/core.c
1453
if (ci->role != CI_ROLE_END && ci_role(ci)->resume)
drivers/usb/chipidea/core.c
1454
ci_role(ci)->resume(ci, power_lost);
drivers/usb/chipidea/core.c
1457
queue_work(system_freezable_wq, &ci->power_lost_work);
drivers/usb/chipidea/core.c
1459
if (ci->supports_runtime_pm) {
drivers/usb/chipidea/core.c
1471
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
1475
if (ci->in_lpm) {
drivers/usb/chipidea/core.c
1480
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/core.c
1481
ci_otg_fsm_suspend_for_srp(ci);
drivers/usb/chipidea/core.c
1483
usb_phy_set_wakeup(ci->usb_phy, true);
drivers/usb/chipidea/core.c
1484
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
if (ci->is_otg && (otgsc & OTGSC_IDIE) && (otgsc & OTGSC_IDIS)) {
drivers/usb/chipidea/core.c
554
ci->id_event = true;
drivers/usb/chipidea/core.c
556
hw_write_otgsc(ci, OTGSC_IDIS, OTGSC_IDIS);
drivers/usb/chipidea/core.c
557
ci_otg_queue_work(ci);
drivers/usb/chipidea/core.c
565
if (ci->is_otg && (otgsc & OTGSC_BSVIE) && (otgsc & OTGSC_BSVIS)) {
drivers/usb/chipidea/core.c
566
ci->b_sess_valid_event = true;
drivers/usb/chipidea/core.c
568
hw_write_otgsc(ci, OTGSC_BSVIS, OTGSC_BSVIS);
drivers/usb/chipidea/core.c
569
ci_otg_queue_work(ci);
drivers/usb/chipidea/core.c
574
if (ci->role != CI_ROLE_END)
drivers/usb/chipidea/core.c
575
ret = ci_role(ci)->irq(ci);
drivers/usb/chipidea/core.c
580
static void ci_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
585
ci_irq_handler(ci->irq, ci);
drivers/usb/chipidea/core.c
593
struct ci_hdrc *ci = cbl->ci;
drivers/usb/chipidea/core.c
598
ci_irq(ci);
drivers/usb/chipidea/core.c
604
struct ci_hdrc *ci = usb_role_switch_get_drvdata(sw);
drivers/usb/chipidea/core.c
608
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/core.c
609
role = ci_role_to_usb_role(ci);
drivers/usb/chipidea/core.c
610
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/core.c
618
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
625
cable = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
629
cable = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
632
cable = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
636
cable = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
639
cable = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
644
ci_irq(ci);
drivers/usb/chipidea/core.c
648
static enum ci_role ci_get_role(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
652
if (ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET]) {
drivers/usb/chipidea/core.c
653
if (ci->is_otg) {
drivers/usb/chipidea/core.c
654
role = ci_otg_role(ci);
drivers/usb/chipidea/core.c
655
hw_write_otgsc(ci, OTGSC_IDIE, OTGSC_IDIE);
drivers/usb/chipidea/core.c
665
role = ci->roles[CI_ROLE_HOST] ? CI_ROLE_HOST
drivers/usb/chipidea/core.c
830
static int ci_extcon_register(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
835
id = &ci->platdata->id_extcon;
drivers/usb/chipidea/core.c
836
id->ci = ci;
drivers/usb/chipidea/core.c
838
ret = devm_extcon_register_notifier(ci->dev, id->edev,
drivers/usb/chipidea/core.c
841
dev_err(ci->dev, "register ID failed\n");
drivers/usb/chipidea/core.c
846
vbus = &ci->platdata->vbus_extcon;
drivers/usb/chipidea/core.c
847
vbus->ci = ci;
drivers/usb/chipidea/core.c
849
ret = devm_extcon_register_notifier(ci->dev, vbus->edev,
drivers/usb/chipidea/core.c
852
dev_err(ci->dev, "register VBUS failed\n");
drivers/usb/chipidea/core.c
862
struct ci_hdrc *ci = container_of(work, struct ci_hdrc, power_lost_work);
drivers/usb/chipidea/core.c
865
disable_irq_nosync(ci->irq);
drivers/usb/chipidea/core.c
866
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/core.c
867
if (!ci_otg_is_fsm_mode(ci)) {
drivers/usb/chipidea/core.c
868
role = ci_get_role(ci);
drivers/usb/chipidea/core.c
870
if (ci->role != role) {
drivers/usb/chipidea/core.c
871
ci_handle_id_switch(ci);
drivers/usb/chipidea/core.c
873
if (ci->is_otg && hw_read_otgsc(ci, OTGSC_BSV))
drivers/usb/chipidea/core.c
874
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/core.c
877
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/core.c
878
enable_irq(ci->irq);
drivers/usb/chipidea/core.c
951
struct ci_hdrc *ci = platform_get_drvdata(pdev);
drivers/usb/chipidea/core.c
953
if (!ci)
drivers/usb/chipidea/core.c
955
if (ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
957
else if (ci->roles[CI_ROLE_HOST])
drivers/usb/chipidea/core.c
959
else if (ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
966
static inline void ci_role_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
968
ci_hdrc_gadget_destroy(ci);
drivers/usb/chipidea/core.c
969
ci_hdrc_host_destroy(ci);
drivers/usb/chipidea/core.c
970
if (ci->is_otg && ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/core.c
971
ci_hdrc_otg_destroy(ci);
drivers/usb/chipidea/core.c
974
static void ci_get_otg_capable(struct ci_hdrc *ci)
drivers/usb/chipidea/core.c
976
if (ci->platdata->flags & CI_HDRC_DUAL_ROLE_NOT_OTG)
drivers/usb/chipidea/core.c
977
ci->is_otg = false;
drivers/usb/chipidea/core.c
979
ci->is_otg = (hw_read(ci, CAP_DCCPARAMS,
drivers/usb/chipidea/core.c
982
if (ci->is_otg) {
drivers/usb/chipidea/core.c
983
dev_dbg(ci->dev, "It is OTG capable controller\n");
drivers/usb/chipidea/core.c
985
hw_write_otgsc(ci, OTGSC_INT_EN_BITS | OTGSC_INT_STATUS_BITS,
drivers/usb/chipidea/core.c
993
struct ci_hdrc *ci = dev_get_drvdata(dev);
drivers/usb/chipidea/core.c
995
if (ci->role != CI_ROLE_END)
drivers/usb/chipidea/core.c
996
return sprintf(buf, "%s\n", ci_role(ci)->name);
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->is_otg) {
drivers/usb/chipidea/otg.c
134
if (ci->platdata->flags & CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS)
drivers/usb/chipidea/otg.c
135
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/otg.c
139
if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active)
drivers/usb/chipidea/otg.c
140
usb_gadget_vbus_connect(&ci->gadget);
drivers/usb/chipidea/otg.c
141
else if (!hw_read_otgsc(ci, OTGSC_BSV) && ci->vbus_active)
drivers/usb/chipidea/otg.c
142
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/otg.c
154
static int hw_wait_vbus_lower_bsv(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
159
while (hw_read_otgsc(ci, mask)) {
drivers/usb/chipidea/otg.c
161
dev_err(ci->dev, "timeout waiting for %08x in OTGSC\n",
drivers/usb/chipidea/otg.c
171
void ci_handle_id_switch(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
175
mutex_lock(&ci->mutex);
drivers/usb/chipidea/otg.c
176
role = ci_otg_role(ci);
drivers/usb/chipidea/otg.c
177
if (role != ci->role) {
drivers/usb/chipidea/otg.c
178
dev_dbg(ci->dev, "switching from %s to %s\n",
drivers/usb/chipidea/otg.c
179
ci_role(ci)->name, ci->roles[role]->name);
drivers/usb/chipidea/otg.c
181
if (ci->vbus_active && ci->role == CI_ROLE_GADGET)
drivers/usb/chipidea/otg.c
186
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/otg.c
188
ci_role_stop(ci);
drivers/usb/chipidea/otg.c
191
IS_ERR(ci->platdata->vbus_extcon.edev))
drivers/usb/chipidea/otg.c
199
hw_wait_vbus_lower_bsv(ci);
drivers/usb/chipidea/otg.c
201
ci_role_start(ci, role);
drivers/usb/chipidea/otg.c
204
ci_handle_vbus_change(ci);
drivers/usb/chipidea/otg.c
206
mutex_unlock(&ci->mutex);
drivers/usb/chipidea/otg.c
214
struct ci_hdrc *ci = container_of(work, struct ci_hdrc, work);
drivers/usb/chipidea/otg.c
216
if (ci_otg_is_fsm_mode(ci) && !ci_otg_fsm_work(ci)) {
drivers/usb/chipidea/otg.c
217
enable_irq(ci->irq);
drivers/usb/chipidea/otg.c
221
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/otg.c
223
if (ci->id_event) {
drivers/usb/chipidea/otg.c
224
ci->id_event = false;
drivers/usb/chipidea/otg.c
225
ci_handle_id_switch(ci);
drivers/usb/chipidea/otg.c
228
if (ci->b_sess_valid_event) {
drivers/usb/chipidea/otg.c
229
ci->b_sess_valid_event = false;
drivers/usb/chipidea/otg.c
230
ci_handle_vbus_change(ci);
drivers/usb/chipidea/otg.c
233
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/otg.c
235
enable_irq(ci->irq);
drivers/usb/chipidea/otg.c
243
int ci_hdrc_otg_init(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
245
INIT_WORK(&ci->work, ci_otg_work);
drivers/usb/chipidea/otg.c
246
ci->wq = create_freezable_workqueue("ci_otg");
drivers/usb/chipidea/otg.c
247
if (!ci->wq) {
drivers/usb/chipidea/otg.c
248
dev_err(ci->dev, "can't create workqueue\n");
drivers/usb/chipidea/otg.c
252
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/otg.c
253
return ci_hdrc_otg_fsm_init(ci);
drivers/usb/chipidea/otg.c
262
void ci_hdrc_otg_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/otg.c
264
if (ci->wq)
drivers/usb/chipidea/otg.c
265
destroy_workqueue(ci->wq);
drivers/usb/chipidea/otg.c
268
hw_write_otgsc(ci, OTGSC_INT_EN_BITS | OTGSC_INT_STATUS_BITS,
drivers/usb/chipidea/otg.c
270
if (ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/otg.c
271
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
1840
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1844
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1845
ret = hw_read(ci, OP_FRINDEX, 0x3fff);
drivers/usb/chipidea/udc.c
1846
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1855
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1858
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/udc.c
1859
hw_device_reset(ci);
drivers/usb/chipidea/udc.c
1860
spin_lock_irq(&ci->lock);
drivers/usb/chipidea/udc.c
1861
if (ci->driver) {
drivers/usb/chipidea/udc.c
1862
hw_device_state(ci, ci->ep0out->qh.dma);
drivers/usb/chipidea/udc.c
1864
spin_unlock_irq(&ci->lock);
drivers/usb/chipidea/udc.c
1867
spin_unlock_irq(&ci->lock);
drivers/usb/chipidea/udc.c
1871
if (ci->driver)
drivers/usb/chipidea/udc.c
1872
ci->driver->disconnect(&ci->gadget);
drivers/usb/chipidea/udc.c
1873
hw_device_state(ci, 0);
drivers/usb/chipidea/udc.c
1874
if (ci->platdata->notify_event)
drivers/usb/chipidea/udc.c
1875
ci->platdata->notify_event(ci,
drivers/usb/chipidea/udc.c
1877
_gadget_stop_activity(&ci->gadget);
drivers/usb/chipidea/udc.c
1878
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/udc.c
1885
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1889
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1890
ci->vbus_active = is_active;
drivers/usb/chipidea/udc.c
1891
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1893
if (ci->usb_phy)
drivers/usb/chipidea/udc.c
1894
usb_phy_set_charger_state(ci->usb_phy, is_active ?
drivers/usb/chipidea/udc.c
1897
if (ci->platdata->notify_event)
drivers/usb/chipidea/udc.c
1898
ret = ci->platdata->notify_event(ci,
drivers/usb/chipidea/udc.c
1901
if (ci->usb_phy) {
drivers/usb/chipidea/udc.c
1903
usb_phy_set_event(ci->usb_phy, USB_EVENT_VBUS);
drivers/usb/chipidea/udc.c
1905
usb_phy_set_event(ci->usb_phy, USB_EVENT_NONE);
drivers/usb/chipidea/udc.c
1908
if (ci->driver)
drivers/usb/chipidea/udc.c
1916
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1920
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1921
if (ci->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/chipidea/udc.c
1922
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
1925
if (!ci->remote_wakeup) {
drivers/usb/chipidea/udc.c
1929
if (!hw_read(ci, OP_PORTSC, PORTSC_SUSP)) {
drivers/usb/chipidea/udc.c
1933
hw_write(ci, OP_PORTSC, PORTSC_FPR, PORTSC_FPR);
drivers/usb/chipidea/udc.c
1935
spin_unlock_irqrestore(&ci->lock, flags);
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
1941
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1943
if (ci->usb_phy)
drivers/usb/chipidea/udc.c
1944
return usb_phy_set_power(ci->usb_phy, ma);
drivers/usb/chipidea/udc.c
1950
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1951
struct ci_hw_ep *hwep = ci->ep0in;
drivers/usb/chipidea/udc.c
1966
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
1972
if (ci_otg_is_fsm_mode(ci) || ci->role == CI_ROLE_HOST)
drivers/usb/chipidea/udc.c
1975
pm_runtime_get_sync(ci->dev);
drivers/usb/chipidea/udc.c
1977
hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS);
drivers/usb/chipidea/udc.c
1979
hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
drivers/usb/chipidea/udc.c
1981
if (ci->platdata->notify_event) {
drivers/usb/chipidea/udc.c
1983
ci->platdata->notify_event(ci, CI_HDRC_CONTROLLER_PULLUP_EVENT);
drivers/usb/chipidea/udc.c
1985
pm_runtime_put_sync(ci->dev);
drivers/usb/chipidea/udc.c
1999
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
2003
list_for_each_entry_reverse(ep, &ci->gadget.ep_list, ep_list) {
drivers/usb/chipidea/udc.c
201
if (is_ctrl && dir == RX && hw_read(ci, OP_ENDPTSETUPSTAT, BIT(num)))
drivers/usb/chipidea/udc.c
2029
static int init_eps(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2033
for (i = 0; i < ci->hw_ep_max/2; i++)
drivers/usb/chipidea/udc.c
2035
int k = i + j * ci->hw_ep_max/2;
drivers/usb/chipidea/udc.c
2036
struct ci_hw_ep *hwep = &ci->ci_hw_ep[k];
drivers/usb/chipidea/udc.c
204
hw_write(ci, OP_ENDPTPRIME, ~0, BIT(n));
drivers/usb/chipidea/udc.c
2041
hwep->ci = ci;
drivers/usb/chipidea/udc.c
2042
hwep->lock = &ci->lock;
drivers/usb/chipidea/udc.c
2043
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
2069
hwep->qh.ptr = dma_pool_zalloc(ci->qh_pool, GFP_KERNEL,
drivers/usb/chipidea/udc.c
208
if (is_ctrl && dir == RX && hw_read(ci, OP_ENDPTSETUPSTAT, BIT(num)))
drivers/usb/chipidea/udc.c
2080
ci->ep0out = hwep;
drivers/usb/chipidea/udc.c
2082
ci->ep0in = hwep;
drivers/usb/chipidea/udc.c
2088
list_add_tail(&hwep->ep.ep_list, &ci->gadget.ep_list);
drivers/usb/chipidea/udc.c
2094
static void destroy_eps(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2098
for (i = 0; i < ci->hw_ep_max; i++) {
drivers/usb/chipidea/udc.c
2099
struct ci_hw_ep *hwep = &ci->ci_hw_ep[i];
drivers/usb/chipidea/udc.c
2103
dma_pool_free(ci->qh_pool, hwep->qh.ptr, hwep->qh.dma);
drivers/usb/chipidea/udc.c
2117
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
2123
ci->ep0out->ep.desc = &ctrl_endpt_out_desc;
drivers/usb/chipidea/udc.c
2124
retval = usb_ep_enable(&ci->ep0out->ep);
drivers/usb/chipidea/udc.c
2128
ci->ep0in->ep.desc = &ctrl_endpt_in_desc;
drivers/usb/chipidea/udc.c
2129
retval = usb_ep_enable(&ci->ep0in->ep);
drivers/usb/chipidea/udc.c
2133
ci->driver = driver;
drivers/usb/chipidea/udc.c
2136
if (ci_otg_is_fsm_mode(ci) && ci->fsm.id) {
drivers/usb/chipidea/udc.c
2137
ci_hdrc_otg_fsm_start(ci);
drivers/usb/chipidea/udc.c
2141
if (ci->vbus_active)
drivers/usb/chipidea/udc.c
2144
usb_udc_vbus_handler(&ci->gadget, false);
drivers/usb/chipidea/udc.c
2149
static void ci_udc_stop_for_otg_fsm(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2151
if (!ci_otg_is_fsm_mode(ci))
drivers/usb/chipidea/udc.c
2154
mutex_lock(&ci->fsm.lock);
drivers/usb/chipidea/udc.c
2155
if (ci->fsm.otg->state == OTG_STATE_A_PERIPHERAL) {
drivers/usb/chipidea/udc.c
2156
ci->fsm.a_bidl_adis_tmout = 1;
drivers/usb/chipidea/udc.c
2157
ci_hdrc_otg_fsm_start(ci);
drivers/usb/chipidea/udc.c
2158
} else if (ci->fsm.otg->state == OTG_STATE_B_PERIPHERAL) {
drivers/usb/chipidea/udc.c
2159
ci->fsm.protocol = PROTO_UNDEF;
drivers/usb/chipidea/udc.c
2160
ci->fsm.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/chipidea/udc.c
2162
mutex_unlock(&ci->fsm.lock);
drivers/usb/chipidea/udc.c
2170
struct ci_hdrc *ci = container_of(gadget, struct ci_hdrc, gadget);
drivers/usb/chipidea/udc.c
2173
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2174
ci->driver = NULL;
drivers/usb/chipidea/udc.c
2176
if (ci->vbus_active) {
drivers/usb/chipidea/udc.c
2177
hw_device_state(ci, 0);
drivers/usb/chipidea/udc.c
2178
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2179
if (ci->platdata->notify_event)
drivers/usb/chipidea/udc.c
2180
ci->platdata->notify_event(ci,
drivers/usb/chipidea/udc.c
2182
_gadget_stop_activity(&ci->gadget);
drivers/usb/chipidea/udc.c
2183
spin_lock_irqsave(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2184
pm_runtime_put(ci->dev);
drivers/usb/chipidea/udc.c
2187
spin_unlock_irqrestore(&ci->lock, flags);
drivers/usb/chipidea/udc.c
2189
ci_udc_stop_for_otg_fsm(ci);
drivers/usb/chipidea/udc.c
2202
static irqreturn_t udc_irq(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2207
if (ci == NULL)
drivers/usb/chipidea/udc.c
2210
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
2212
if (ci->platdata->flags & CI_HDRC_REGS_SHARED) {
drivers/usb/chipidea/udc.c
2213
if (hw_read(ci, OP_USBMODE, USBMODE_CM) !=
drivers/usb/chipidea/udc.c
2215
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2219
intr = hw_test_and_clear_intr_active(ci);
drivers/usb/chipidea/udc.c
2224
isr_reset_handler(ci);
drivers/usb/chipidea/udc.c
2227
ci->gadget.speed = hw_port_is_high_speed(ci) ?
drivers/usb/chipidea/udc.c
2229
if (ci->usb_phy)
drivers/usb/chipidea/udc.c
2230
usb_phy_set_event(ci->usb_phy,
drivers/usb/chipidea/udc.c
2232
if (ci->suspended) {
drivers/usb/chipidea/udc.c
2233
if (ci->driver->resume) {
drivers/usb/chipidea/udc.c
2234
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2235
ci->driver->resume(&ci->gadget);
drivers/usb/chipidea/udc.c
2236
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
2238
ci->suspended = 0;
drivers/usb/chipidea/udc.c
2239
usb_gadget_set_state(&ci->gadget,
drivers/usb/chipidea/udc.c
2240
ci->resume_state);
drivers/usb/chipidea/udc.c
2245
isr_tr_complete_handler(ci);
drivers/usb/chipidea/udc.c
2247
if ((USBi_SLI & intr) && !(ci->suspended)) {
drivers/usb/chipidea/udc.c
2248
ci->suspended = 1;
drivers/usb/chipidea/udc.c
2249
ci->resume_state = ci->gadget.state;
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
if (ci->gadget.speed != USB_SPEED_UNKNOWN &&
drivers/usb/chipidea/udc.c
2251
ci->driver->suspend) {
drivers/usb/chipidea/udc.c
2252
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2253
ci->driver->suspend(&ci->gadget);
drivers/usb/chipidea/udc.c
2254
spin_lock(&ci->lock);
drivers/usb/chipidea/udc.c
2256
usb_gadget_set_state(&ci->gadget,
drivers/usb/chipidea/udc.c
2263
spin_unlock(&ci->lock);
drivers/usb/chipidea/udc.c
2272
static int udc_start(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2274
struct device *dev = ci->dev;
drivers/usb/chipidea/udc.c
2275
struct usb_otg_caps *otg_caps = &ci->platdata->ci_otg_caps;
drivers/usb/chipidea/udc.c
2278
ci->gadget.ops = &usb_gadget_ops;
drivers/usb/chipidea/udc.c
2279
ci->gadget.speed = USB_SPEED_UNKNOWN;
drivers/usb/chipidea/udc.c
2280
ci->gadget.max_speed = USB_SPEED_HIGH;
drivers/usb/chipidea/udc.c
2281
ci->gadget.name = ci->platdata->name;
drivers/usb/chipidea/udc.c
2282
ci->gadget.otg_caps = otg_caps;
drivers/usb/chipidea/udc.c
2283
ci->gadget.sg_supported = 1;
drivers/usb/chipidea/udc.c
2284
ci->gadget.irq = ci->irq;
drivers/usb/chipidea/udc.c
2286
if (ci->platdata->flags & CI_HDRC_REQUIRES_ALIGNED_DMA)
drivers/usb/chipidea/udc.c
2287
ci->gadget.quirk_avoids_skb_reserve = 1;
drivers/usb/chipidea/udc.c
2289
if (ci->is_otg && (otg_caps->hnp_support || otg_caps->srp_support ||
drivers/usb/chipidea/udc.c
2291
ci->gadget.is_otg = 1;
drivers/usb/chipidea/udc.c
2293
INIT_LIST_HEAD(&ci->gadget.ep_list);
drivers/usb/chipidea/udc.c
2296
ci->qh_pool = dma_pool_create("ci_hw_qh", dev->parent,
drivers/usb/chipidea/udc.c
2299
if (ci->qh_pool == NULL)
drivers/usb/chipidea/udc.c
2302
ci->td_pool = dma_pool_create("ci_hw_td", dev->parent,
drivers/usb/chipidea/udc.c
2305
if (ci->td_pool == NULL) {
drivers/usb/chipidea/udc.c
2310
retval = init_eps(ci);
drivers/usb/chipidea/udc.c
2314
ci->gadget.ep0 = &ci->ep0in->ep;
drivers/usb/chipidea/udc.c
2316
retval = usb_add_gadget_udc(dev, &ci->gadget);
drivers/usb/chipidea/udc.c
2323
destroy_eps(ci);
drivers/usb/chipidea/udc.c
2325
dma_pool_destroy(ci->td_pool);
drivers/usb/chipidea/udc.c
2327
dma_pool_destroy(ci->qh_pool);
drivers/usb/chipidea/udc.c
2336
void ci_hdrc_gadget_destroy(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2338
if (!ci->roles[CI_ROLE_GADGET])
drivers/usb/chipidea/udc.c
2341
usb_del_gadget_udc(&ci->gadget);
drivers/usb/chipidea/udc.c
2343
destroy_eps(ci);
drivers/usb/chipidea/udc.c
2345
dma_pool_destroy(ci->td_pool);
drivers/usb/chipidea/udc.c
2346
dma_pool_destroy(ci->qh_pool);
drivers/usb/chipidea/udc.c
2349
static int udc_id_switch_for_device(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2351
if (ci->platdata->pins_device)
drivers/usb/chipidea/udc.c
2352
pinctrl_select_state(ci->platdata->pctl,
drivers/usb/chipidea/udc.c
2353
ci->platdata->pins_device);
drivers/usb/chipidea/udc.c
2355
if (ci->is_otg)
drivers/usb/chipidea/udc.c
2357
hw_write_otgsc(ci, OTGSC_BSVIS | OTGSC_BSVIE,
drivers/usb/chipidea/udc.c
236
hw_write(ci, reg, mask_xs|mask_xr,
drivers/usb/chipidea/udc.c
2363
static void udc_id_switch_for_host(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2369
if (ci->is_otg)
drivers/usb/chipidea/udc.c
2370
hw_write_otgsc(ci, OTGSC_BSVIE | OTGSC_BSVIS, OTGSC_BSVIS);
drivers/usb/chipidea/udc.c
2372
ci->vbus_active = 0;
drivers/usb/chipidea/udc.c
2374
if (ci->platdata->pins_device && ci->platdata->pins_default)
drivers/usb/chipidea/udc.c
2375
pinctrl_select_state(ci->platdata->pctl,
drivers/usb/chipidea/udc.c
2376
ci->platdata->pins_default);
drivers/usb/chipidea/udc.c
238
} while (value != hw_ep_get_halt(ci, num, dir));
drivers/usb/chipidea/udc.c
2380
static void udc_suspend(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2387
if (hw_read(ci, OP_ENDPTLISTADDR, ~0) == 0)
drivers/usb/chipidea/udc.c
2388
hw_write(ci, OP_ENDPTLISTADDR, ~0, ~0);
drivers/usb/chipidea/udc.c
2390
if (ci->gadget.connected &&
drivers/usb/chipidea/udc.c
2391
(!ci->suspended || !device_may_wakeup(ci->dev)))
drivers/usb/chipidea/udc.c
2392
usb_gadget_disconnect(&ci->gadget);
drivers/usb/chipidea/udc.c
2395
static void udc_resume(struct ci_hdrc *ci, bool power_lost)
drivers/usb/chipidea/udc.c
2398
if (ci->is_otg)
drivers/usb/chipidea/udc.c
2399
hw_write_otgsc(ci, OTGSC_BSVIS | OTGSC_BSVIE,
drivers/usb/chipidea/udc.c
2401
if (ci->vbus_active)
drivers/usb/chipidea/udc.c
2402
usb_gadget_vbus_disconnect(&ci->gadget);
drivers/usb/chipidea/udc.c
2403
} else if (ci->vbus_active && ci->driver &&
drivers/usb/chipidea/udc.c
2404
!ci->gadget.connected) {
drivers/usb/chipidea/udc.c
2405
usb_gadget_connect(&ci->gadget);
drivers/usb/chipidea/udc.c
2409
if (hw_read(ci, OP_ENDPTLISTADDR, ~0) == 0xFFFFFFFF)
drivers/usb/chipidea/udc.c
2410
hw_write(ci, OP_ENDPTLISTADDR, ~0, 0);
drivers/usb/chipidea/udc.c
2420
int ci_hdrc_gadget_init(struct ci_hdrc *ci)
drivers/usb/chipidea/udc.c
2425
if (!hw_read(ci, CAP_DCCPARAMS, DCCPARAMS_DC))
drivers/usb/chipidea/udc.c
2428
rdrv = devm_kzalloc(ci->dev, sizeof(*rdrv), GFP_KERNEL);
drivers/usb/chipidea/udc.c
2441
ret = udc_start(ci);
drivers/usb/chipidea/udc.c
2443
ci->roles[CI_ROLE_GADGET] = rdrv;
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
4284
struct config_item *ci;
drivers/usb/gadget/function/f_fs.c
4307
ci = opts->func_inst.group.cg_item.ci_parent->ci_parent;
drivers/usb/gadget/function/f_fs.c
4311
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
1003
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1004
unsigned int wsize = ci->i_layout.stripe_unit;
fs/ceph/addr.c
101
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
102
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/addr.c
104
list_last_entry(&ci->i_cap_snaps,
fs/ceph/addr.c
110
BUG_ON(!ci->i_head_snapc);
fs/ceph/addr.c
111
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/addr.c
112
++ci->i_wrbuffer_ref_head;
fs/ceph/addr.c
114
if (ci->i_wrbuffer_ref == 0)
fs/ceph/addr.c
116
++ci->i_wrbuffer_ref;
fs/ceph/addr.c
120
ci->i_wrbuffer_ref-1, ci->i_wrbuffer_ref_head-1,
fs/ceph/addr.c
1203
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
121
ci->i_wrbuffer_ref, ci->i_wrbuffer_ref_head,
fs/ceph/addr.c
1210
ceph_calc_file_object_mapping(&ci->i_layout,
fs/ceph/addr.c
123
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
1406
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1422
&ci->i_layout, vino,
fs/ceph/addr.c
1429
&ci->i_layout, vino,
fs/ceph/addr.c
145
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
161
ceph_put_wrbuffer_cap_refs(ci, 1, snapc);
fs/ceph/addr.c
171
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
172
struct ceph_file_layout *lo = &ci->i_layout;
fs/ceph/addr.c
1785
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1799
if (!snapc || snapc == ci->i_head_snapc)
fs/ceph/addr.c
1832
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1846
r = wait_event_killable(ci->i_cap_wq,
fs/ceph/addr.c
1865
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1868
r = netfs_write_begin(&ci->netfs, file, inode->i_mapping, pos, len, foliop, NULL);
fs/ceph/addr.c
1951
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
1980
!ceph_has_inline_data(ci)) {
fs/ceph/addr.c
1990
ceph_put_cap_refs(ci, got);
fs/ceph/addr.c
2043
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2115
err = wait_event_killable(ci->i_cap_wq,
fs/ceph/addr.c
2122
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2123
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/addr.c
2125
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2132
ceph_put_cap_refs_async(ci, got);
fs/ceph/addr.c
2190
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2202
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2203
inline_version = ci->i_inline_version;
fs/ceph/addr.c
2204
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2225
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2226
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/addr.c
2228
list_last_entry(&ci->i_cap_snaps,
fs/ceph/addr.c
2233
if (!ci->i_head_snapc) {
fs/ceph/addr.c
2234
ci->i_head_snapc = ceph_get_snap_context(
fs/ceph/addr.c
2235
ci->i_snap_realm->cached_context);
fs/ceph/addr.c
2237
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/addr.c
2239
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2254
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/addr.c
2270
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/addr.c
2273
snapc, ci->i_truncate_seq,
fs/ceph/addr.c
2274
ci->i_truncate_size, false);
fs/ceph/addr.c
2318
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2319
ci->i_inline_version = CEPH_INLINE_NONE;
fs/ceph/addr.c
2320
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR, &prealloc_cf);
fs/ceph/addr.c
2321
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2363
static int __ceph_pool_perm_get(struct ceph_inode_info *ci,
fs/ceph/addr.c
2366
struct ceph_fs_client *fsc = ceph_inode_to_fs_client(&ci->netfs.inode);
fs/ceph/addr.c
2449
ceph_oid_printf(&rd_req->r_base_oid, "%llx.00000000", ci->i_vino.ino);
fs/ceph/addr.c
2482
wr_req->r_mtime = inode_get_mtime(&ci->netfs.inode);
fs/ceph/addr.c
2541
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
2550
if (ci->i_vino.snap != CEPH_NOSNAP) {
fs/ceph/addr.c
2563
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2564
flags = ci->i_ceph_flags;
fs/ceph/addr.c
2565
pool = ci->i_layout.pool_id;
fs/ceph/addr.c
2566
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
2580
pool_ns = ceph_try_get_string(ci->i_layout.pool_ns);
fs/ceph/addr.c
2581
ret = __ceph_pool_perm_get(ci, pool, pool_ns);
fs/ceph/addr.c
2592
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
2593
if (pool == ci->i_layout.pool_id &&
fs/ceph/addr.c
2594
pool_ns == rcu_dereference_raw(ci->i_layout.pool_ns)) {
fs/ceph/addr.c
2595
ci->i_ceph_flags |= flags;
fs/ceph/addr.c
2597
pool = ci->i_layout.pool_id;
fs/ceph/addr.c
2598
flags = ci->i_ceph_flags;
fs/ceph/addr.c
2600
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
280
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
300
req->r_ino1 = ci->i_vino;
fs/ceph/addr.c
338
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
344
ceph_calc_file_object_mapping(&ci->i_layout, subreq->start, subreq->len,
fs/ceph/addr.c
354
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
370
if (ceph_has_inline_data(ci) && ceph_netfs_issue_op_inline(subreq))
fs/ceph/addr.c
381
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout, vino,
fs/ceph/addr.c
383
CEPH_OSD_FLAG_READ, NULL, ci->i_truncate_seq,
fs/ceph/addr.c
384
ci->i_truncate_size, false);
fs/ceph/addr.c
563
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
564
struct fscache_cookie *cookie = ceph_fscache_cookie(ci);
fs/ceph/addr.c
625
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
630
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
631
list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) {
fs/ceph/addr.c
663
if (!snapc && ci->i_wrbuffer_ref_head) {
fs/ceph/addr.c
664
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/addr.c
666
ci->i_wrbuffer_ref_head);
fs/ceph/addr.c
669
ctl->truncate_size = ci->i_truncate_size;
fs/ceph/addr.c
670
ctl->truncate_seq = ci->i_truncate_seq;
fs/ceph/addr.c
675
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
682
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
689
if (snapc != ci->i_head_snapc) {
fs/ceph/addr.c
691
spin_lock(&ci->i_ceph_lock);
fs/ceph/addr.c
692
list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) {
fs/ceph/addr.c
700
spin_unlock(&ci->i_ceph_lock);
fs/ceph/addr.c
722
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
781
req = ceph_osdc_new_request(osdc, &ci->i_layout, ceph_vino(inode),
fs/ceph/addr.c
857
ceph_put_wrbuffer_cap_refs(ci, 1, snapc);
fs/ceph/addr.c
86
struct ceph_inode_info *ci;
fs/ceph/addr.c
876
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
893
ceph_set_error_write(ci);
fs/ceph/addr.c
897
ceph_clear_error_write(ci);
fs/ceph/addr.c
906
remove_page = !(ceph_caps_issued(ci) &
fs/ceph/addr.c
966
ceph_put_wrbuffer_cap_refs(ci, total_pages, snapc);
fs/ceph/addr.c
98
ci = ceph_inode(inode);
fs/ceph/addr.c
981
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/addr.c
986
if (ci->i_wrbuffer_ref > 0) {
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
ci->i_ceph_flags &= ~CEPH_I_FLUSH;
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
1655
if (list_empty(&ci->i_flushing_item)) {
fs/ceph/caps.c
1656
list_add_tail(&ci->i_flushing_item,
fs/ceph/caps.c
1662
&ci->i_cap_flush_list);
fs/ceph/caps.c
1669
ci->i_ceph_flags &= ~CEPH_I_FLUSH_SNAPS;
fs/ceph/caps.c
1672
struct ceph_cap *cap = ci->i_auth_cap;
fs/ceph/caps.c
1683
list_for_each_entry(iter, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
1697
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1713
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1717
void ceph_flush_snaps(struct ceph_inode_info *ci,
fs/ceph/caps.c
1720
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1731
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1732
if (!(ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS)) {
fs/ceph/caps.c
1736
if (!ci->i_auth_cap) {
fs/ceph/caps.c
1741
mds = ci->i_auth_cap->session->s_mds;
fs/ceph/caps.c
1748
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1756
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH)
fs/ceph/caps.c
1757
__kick_flushing_caps(mdsc, session, ci, 0);
fs/ceph/caps.c
1759
__ceph_flush_snaps(ci, session);
fs/ceph/caps.c
1761
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1769
if (!list_empty(&ci->i_snap_flush_item))
fs/ceph/caps.c
1771
list_del_init(&ci->i_snap_flush_item);
fs/ceph/caps.c
1783
int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask,
fs/ceph/caps.c
1787
ceph_sb_to_fs_client(ci->netfs.inode.i_sb)->mdsc;
fs/ceph/caps.c
1788
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
1790
int was = ci->i_dirty_caps;
fs/ceph/caps.c
1793
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1795
if (!ci->i_auth_cap) {
fs/ceph/caps.c
1806
ci->i_dirty_caps |= mask;
fs/ceph/caps.c
1808
struct ceph_mds_session *session = ci->i_auth_cap->session;
fs/ceph/caps.c
1810
WARN_ON_ONCE(ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1811
swap(ci->i_prealloc_cap_flush, *pcf);
fs/ceph/caps.c
1813
if (!ci->i_head_snapc) {
fs/ceph/caps.c
1815
ci->i_head_snapc = ceph_get_snap_context(
fs/ceph/caps.c
1816
ci->i_snap_realm->cached_context);
fs/ceph/caps.c
1819
inode, ceph_vinop(inode), ci->i_head_snapc,
fs/ceph/caps.c
1820
ci->i_auth_cap);
fs/ceph/caps.c
1821
BUG_ON(!list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
1823
list_add(&ci->i_dirty_item, &session->s_cap_dirty);
fs/ceph/caps.c
1825
if (ci->i_flushing_caps == 0) {
fs/ceph/caps.c
1830
WARN_ON_ONCE(!ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1832
BUG_ON(list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
1833
if (((was | ci->i_flushing_caps) & CEPH_CAP_FILE_BUFFER) &&
fs/ceph/caps.c
1836
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
1888
static bool __detach_cap_flush_from_ci(struct ceph_inode_info *ci,
fs/ceph/caps.c
1894
if (wake && cf->i_list.prev != &ci->i_cap_flush_list) {
fs/ceph/caps.c
1915
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
1919
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
1920
BUG_ON(ci->i_dirty_caps == 0);
fs/ceph/caps.c
1921
BUG_ON(list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
1922
BUG_ON(!ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1924
flushing = ci->i_dirty_caps;
fs/ceph/caps.c
1927
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
1928
ceph_cap_string(ci->i_flushing_caps | flushing));
fs/ceph/caps.c
1929
ci->i_flushing_caps |= flushing;
fs/ceph/caps.c
1930
ci->i_dirty_caps = 0;
fs/ceph/caps.c
1933
swap(cf, ci->i_prealloc_cap_flush);
fs/ceph/caps.c
1938
list_del_init(&ci->i_dirty_item);
fs/ceph/caps.c
1944
if (list_empty(&ci->i_flushing_item)) {
fs/ceph/caps.c
1945
list_add_tail(&ci->i_flushing_item, &session->s_cap_flushing);
fs/ceph/caps.c
1950
list_add_tail(&cf->i_list, &ci->i_cap_flush_list);
fs/ceph/caps.c
1959
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
1960
__acquires(ci->i_ceph_lock)
fs/ceph/caps.c
1963
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
1964
u32 invalidating_gen = ci->i_rdcache_gen;
fs/ceph/caps.c
1966
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
1969
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
1972
invalidating_gen == ci->i_rdcache_gen) {
fs/ceph/caps.c
1977
ci->i_rdcache_revoking = ci->i_rdcache_gen - 1;
fs/ceph/caps.c
1984
bool __ceph_should_report_size(struct ceph_inode_info *ci)
fs/ceph/caps.c
1986
loff_t size = i_size_read(&ci->netfs.inode);
fs/ceph/caps.c
1988
if (ci->i_flushing_caps & CEPH_CAP_FILE_WR)
fs/ceph/caps.c
1990
if (size >= ci->i_max_size)
fs/ceph/caps.c
1993
if (ci->i_max_size > ci->i_reported_size &&
fs/ceph/caps.c
1994
(size << 1) >= ci->i_max_size + ci->i_reported_size)
fs/ceph/caps.c
2010
void ceph_check_caps(struct ceph_inode_info *ci, int flags)
fs/ceph/caps.c
2012
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2027
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2028
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE) {
fs/ceph/caps.c
2029
ci->i_ceph_flags |= CEPH_I_ASYNC_CHECK_CAPS;
fs/ceph/caps.c
2032
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2036
if (ci->i_ceph_flags & CEPH_I_FLUSH)
fs/ceph/caps.c
2040
file_wanted = __ceph_caps_file_wanted(ci);
fs/ceph/caps.c
2043
used = __ceph_caps_used(ci);
fs/ceph/caps.c
2051
issued = __ceph_caps_issued(ci, &implemented);
fs/ceph/caps.c
2063
__ceph_dir_is_complete(ci)) {
fs/ceph/caps.c
2084
if (ci->i_max_size == 0)
fs/ceph/caps.c
2092
ceph_cap_string(used), ceph_cap_string(ci->i_dirty_caps),
fs/ceph/caps.c
2093
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
2108
!(ci->i_wb_ref || ci->i_wrbuffer_ref) && /* no dirty pages... */
fs/ceph/caps.c
2118
ci->i_rdcache_revoking = ci->i_rdcache_gen;
fs/ceph/caps.c
2124
for (p = rb_first(&ci->i_caps); p; p = rb_next(p)) {
fs/ceph/caps.c
2132
((flags & CHECK_CAPS_AUTHONLY) && cap != ci->i_auth_cap))
fs/ceph/caps.c
2140
if (ci->i_auth_cap && cap != ci->i_auth_cap)
fs/ceph/caps.c
2141
cap_used &= ~ci->i_auth_cap->issued;
fs/ceph/caps.c
2169
if (S_ISREG(inode->i_mode) && ci->i_wrbuffer_ref &&
fs/ceph/caps.c
2179
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
2182
if (ci->i_wanted_max_size > ci->i_max_size &&
fs/ceph/caps.c
2183
ci->i_wanted_max_size > ci->i_requested_max_size) {
fs/ceph/caps.c
2189
if (__ceph_should_report_size(ci)) {
fs/ceph/caps.c
2195
if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
2196
if ((flags & CHECK_CAPS_FLUSH) && ci->i_dirty_caps) {
fs/ceph/caps.c
2200
if (ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS) {
fs/ceph/caps.c
2224
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
2225
(ci->i_ceph_flags &
fs/ceph/caps.c
2227
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH)
fs/ceph/caps.c
2228
__kick_flushing_caps(mdsc, session, ci, 0);
fs/ceph/caps.c
2229
if (ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS)
fs/ceph/caps.c
2230
__ceph_flush_snaps(ci, session);
fs/ceph/caps.c
2235
if (cap == ci->i_auth_cap && ci->i_dirty_caps) {
fs/ceph/caps.c
2236
flushing = ci->i_dirty_caps;
fs/ceph/caps.c
2255
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2256
__send_cap(&arg, ci);
fs/ceph/caps.c
2257
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2263
if (__ceph_is_any_real_caps(ci) &&
fs/ceph/caps.c
2264
list_empty(&ci->i_cap_delay_list) &&
fs/ceph/caps.c
2267
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
2270
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2285
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2289
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2291
if (ci->i_dirty_caps && ci->i_auth_cap) {
fs/ceph/caps.c
2292
struct ceph_cap *cap = ci->i_auth_cap;
fs/ceph/caps.c
2297
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2301
if (ci->i_ceph_flags &
fs/ceph/caps.c
2303
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH)
fs/ceph/caps.c
2304
__kick_flushing_caps(mdsc, session, ci, 0);
fs/ceph/caps.c
2305
if (ci->i_ceph_flags & CEPH_I_FLUSH_SNAPS)
fs/ceph/caps.c
2306
__ceph_flush_snaps(ci, session);
fs/ceph/caps.c
2310
flushing = ci->i_dirty_caps;
fs/ceph/caps.c
2315
__ceph_caps_used(ci), __ceph_caps_wanted(ci),
fs/ceph/caps.c
2318
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2320
__send_cap(&arg, ci);
fs/ceph/caps.c
2322
if (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
2324
list_last_entry(&ci->i_cap_flush_list,
fs/ceph/caps.c
2329
flushing = ci->i_flushing_caps;
fs/ceph/caps.c
2330
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2342
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2345
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2346
if (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
2348
list_first_entry(&ci->i_cap_flush_list,
fs/ceph/caps.c
2353
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2364
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2368
spin_lock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2369
if (S_ISDIR(inode->i_mode) && !list_empty(&ci->i_unsafe_dirops)) {
fs/ceph/caps.c
2370
req1 = list_last_entry(&ci->i_unsafe_dirops,
fs/ceph/caps.c
2375
if (!list_empty(&ci->i_unsafe_iops)) {
fs/ceph/caps.c
2376
req2 = list_last_entry(&ci->i_unsafe_iops,
fs/ceph/caps.c
2381
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2405
spin_lock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2407
list_for_each_entry(req, &ci->i_unsafe_dirops,
fs/ceph/caps.c
2419
list_for_each_entry(req, &ci->i_unsafe_iops,
fs/ceph/caps.c
2430
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/caps.c
2433
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2434
if (ci->i_auth_cap) {
fs/ceph/caps.c
2435
s = ci->i_auth_cap->session;
fs/ceph/caps.c
2439
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2480
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2508
err = wait_event_interruptible(ci->i_cap_wq,
fs/ceph/caps.c
2532
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2547
err = wait_event_interruptible(ci->i_cap_wq,
fs/ceph/caps.c
2553
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2554
if (__ceph_caps_dirty(ci))
fs/ceph/caps.c
2555
__cap_delay_requeue_front(mdsc, ci);
fs/ceph/caps.c
2556
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2563
struct ceph_inode_info *ci,
fs/ceph/caps.c
2565
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
2566
__acquires(ci->i_ceph_lock)
fs/ceph/caps.c
2568
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2577
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE)
fs/ceph/caps.c
2580
ci->i_ceph_flags &= ~CEPH_I_KICK_FLUSH;
fs/ceph/caps.c
2582
list_for_each_entry_reverse(cf, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
2589
list_for_each_entry(cf, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
2593
cap = ci->i_auth_cap;
fs/ceph/caps.c
2611
__ceph_caps_used(ci),
fs/ceph/caps.c
2612
__ceph_caps_wanted(ci),
fs/ceph/caps.c
2615
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2616
__send_cap(&arg, ci);
fs/ceph/caps.c
2626
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2640
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2648
struct ceph_inode_info *ci;
fs/ceph/caps.c
2658
list_for_each_entry(ci, &session->s_cap_flushing, i_flushing_item) {
fs/ceph/caps.c
2659
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2661
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2662
cap = ci->i_auth_cap;
fs/ceph/caps.c
2667
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2678
if ((cap->issued & ci->i_flushing_caps) !=
fs/ceph/caps.c
2679
ci->i_flushing_caps) {
fs/ceph/caps.c
2686
__kick_flushing_caps(mdsc, session, ci,
fs/ceph/caps.c
2689
ci->i_ceph_flags |= CEPH_I_KICK_FLUSH;
fs/ceph/caps.c
2692
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2700
struct ceph_inode_info *ci;
fs/ceph/caps.c
2712
list_for_each_entry(ci, &session->s_cap_flushing, i_flushing_item) {
fs/ceph/caps.c
2713
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2715
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2716
cap = ci->i_auth_cap;
fs/ceph/caps.c
2721
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2724
if (ci->i_ceph_flags & CEPH_I_KICK_FLUSH) {
fs/ceph/caps.c
2725
__kick_flushing_caps(mdsc, session, ci,
fs/ceph/caps.c
2728
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2733
struct ceph_inode_info *ci)
fs/ceph/caps.c
2736
struct ceph_cap *cap = ci->i_auth_cap;
fs/ceph/caps.c
2737
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2739
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
2743
ceph_cap_string(ci->i_flushing_caps));
fs/ceph/caps.c
2745
if (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
2748
list_move_tail(&ci->i_flushing_item,
fs/ceph/caps.c
2753
__kick_flushing_caps(mdsc, session, ci, oldest_flush_tid);
fs/ceph/caps.c
2762
void ceph_take_cap_refs(struct ceph_inode_info *ci, int got,
fs/ceph/caps.c
2765
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
2768
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
2771
ci->i_pin_ref++;
fs/ceph/caps.c
2773
ci->i_rd_ref++;
fs/ceph/caps.c
2775
ci->i_rdcache_ref++;
fs/ceph/caps.c
2777
ci->i_fx_ref++;
fs/ceph/caps.c
2779
if (ci->i_wr_ref == 0 && !ci->i_head_snapc) {
fs/ceph/caps.c
2781
ci->i_head_snapc = ceph_get_snap_context(
fs/ceph/caps.c
2782
ci->i_snap_realm->cached_context);
fs/ceph/caps.c
2784
ci->i_wr_ref++;
fs/ceph/caps.c
2787
if (ci->i_wb_ref == 0)
fs/ceph/caps.c
2789
ci->i_wb_ref++;
fs/ceph/caps.c
2791
ceph_vinop(inode), ci->i_wb_ref-1, ci->i_wb_ref);
fs/ceph/caps.c
2817
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2829
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2832
(ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK)) {
fs/ceph/caps.c
2840
while (ci->i_truncate_pending) {
fs/ceph/caps.c
2841
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2847
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2850
have = __ceph_caps_issued(ci, &implemented);
fs/ceph/caps.c
2853
if (endoff >= 0 && endoff > (loff_t)ci->i_max_size) {
fs/ceph/caps.c
2855
inode, ceph_vinop(inode), endoff, ci->i_max_size);
fs/ceph/caps.c
2856
if (endoff > ci->i_requested_max_size)
fs/ceph/caps.c
2857
ret = ci->i_auth_cap ? -EFBIG : -EUCLEAN;
fs/ceph/caps.c
2864
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/caps.c
2889
!ci->i_head_snapc &&
fs/ceph/caps.c
2901
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2912
ceph_take_cap_refs(ci, *got, true);
fs/ceph/caps.c
2918
if (ci->i_auth_cap &&
fs/ceph/caps.c
2920
struct ceph_mds_session *s = ci->i_auth_cap->session;
fs/ceph/caps.c
2928
ci->i_auth_cap->mds);
fs/ceph/caps.c
2939
mds_wanted = __ceph_caps_mds_wanted(ci, false);
fs/ceph/caps.c
2954
__ceph_touch_fmode(ci, mdsc, flags);
fs/ceph/caps.c
2956
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2977
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
2982
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
2983
if (endoff >= ci->i_max_size && endoff > ci->i_wanted_max_size) {
fs/ceph/caps.c
2986
ci->i_wanted_max_size = endoff;
fs/ceph/caps.c
2989
if (ci->i_auth_cap &&
fs/ceph/caps.c
2990
(ci->i_auth_cap->issued & CEPH_CAP_FILE_WR) &&
fs/ceph/caps.c
2991
ci->i_wanted_max_size > ci->i_max_size &&
fs/ceph/caps.c
2992
ci->i_wanted_max_size > ci->i_requested_max_size)
fs/ceph/caps.c
2994
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
2996
ceph_check_caps(ci, CHECK_CAPS_AUTHONLY);
fs/ceph/caps.c
3043
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3084
ceph_get_fmode(ci, flags, FMODE_WAIT_BIAS);
fs/ceph/caps.c
3085
add_wait_queue(&ci->i_cap_wq, &wait);
fs/ceph/caps.c
3097
remove_wait_queue(&ci->i_cap_wq, &wait);
fs/ceph/caps.c
3098
ceph_put_fmode(ci, flags, FMODE_WAIT_BIAS);
fs/ceph/caps.c
3113
ceph_put_cap_refs(ci, _got);
fs/ceph/caps.c
3136
if (S_ISREG(ci->netfs.inode.i_mode) &&
fs/ceph/caps.c
3137
ceph_has_inline_data(ci) &&
fs/ceph/caps.c
3153
ceph_put_cap_refs(ci, _got);
fs/ceph/caps.c
3186
void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps)
fs/ceph/caps.c
3188
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3189
ceph_take_cap_refs(ci, caps, false);
fs/ceph/caps.c
3190
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3198
static int ceph_try_drop_cap_snap(struct ceph_inode_info *ci,
fs/ceph/caps.c
3201
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
3209
if (!list_is_last(&capsnap->ci_item, &ci->i_cap_snaps))
fs/ceph/caps.c
3210
ci->i_ceph_flags |= CEPH_I_FLUSH_SNAPS;
fs/ceph/caps.c
3233
static void __ceph_put_cap_refs(struct ceph_inode_info *ci, int had,
fs/ceph/caps.c
3236
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
3241
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3243
--ci->i_pin_ref;
fs/ceph/caps.c
3245
if (--ci->i_rd_ref == 0)
fs/ceph/caps.c
3248
if (--ci->i_rdcache_ref == 0)
fs/ceph/caps.c
3251
if (--ci->i_fx_ref == 0)
fs/ceph/caps.c
3254
if (--ci->i_wb_ref == 0) {
fs/ceph/caps.c
3261
ceph_vinop(inode), ci->i_wb_ref+1, ci->i_wb_ref);
fs/ceph/caps.c
3264
if (--ci->i_wr_ref == 0) {
fs/ceph/caps.c
3269
WARN_ON_ONCE(ci->i_wb_ref);
fs/ceph/caps.c
3273
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/caps.c
3274
ci->i_dirty_caps == 0 &&
fs/ceph/caps.c
3275
ci->i_flushing_caps == 0) {
fs/ceph/caps.c
3276
BUG_ON(!ci->i_head_snapc);
fs/ceph/caps.c
3277
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
3278
ci->i_head_snapc = NULL;
fs/ceph/caps.c
3281
if (!__ceph_is_any_real_caps(ci) && ci->i_snap_realm)
fs/ceph/caps.c
3285
if (check_flushsnaps && __ceph_have_pending_cap_snap(ci)) {
fs/ceph/caps.c
3287
list_last_entry(&ci->i_cap_snaps,
fs/ceph/caps.c
3292
if (ceph_try_drop_cap_snap(ci, capsnap))
fs/ceph/caps.c
3295
else if (__ceph_finish_cap_snap(ci, capsnap))
fs/ceph/caps.c
3299
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3307
ceph_check_caps(ci, 0);
fs/ceph/caps.c
3309
ceph_flush_snaps(ci, NULL);
fs/ceph/caps.c
3321
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3326
void ceph_put_cap_refs(struct ceph_inode_info *ci, int had)
fs/ceph/caps.c
3328
__ceph_put_cap_refs(ci, had, PUT_CAP_REFS_SYNC);
fs/ceph/caps.c
3331
void ceph_put_cap_refs_async(struct ceph_inode_info *ci, int had)
fs/ceph/caps.c
3333
__ceph_put_cap_refs(ci, had, PUT_CAP_REFS_ASYNC);
fs/ceph/caps.c
3343
void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
fs/ceph/caps.c
3346
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
3354
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3355
ci->i_wrbuffer_ref -= nr;
fs/ceph/caps.c
3356
if (ci->i_wrbuffer_ref == 0) {
fs/ceph/caps.c
3361
if (ci->i_head_snapc == snapc) {
fs/ceph/caps.c
3362
ci->i_wrbuffer_ref_head -= nr;
fs/ceph/caps.c
3363
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/caps.c
3364
ci->i_wr_ref == 0 &&
fs/ceph/caps.c
3365
ci->i_dirty_caps == 0 &&
fs/ceph/caps.c
3366
ci->i_flushing_caps == 0) {
fs/ceph/caps.c
3367
BUG_ON(!ci->i_head_snapc);
fs/ceph/caps.c
3368
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
3369
ci->i_head_snapc = NULL;
fs/ceph/caps.c
3372
inode, ceph_vinop(inode), ci->i_wrbuffer_ref+nr,
fs/ceph/caps.c
3373
ci->i_wrbuffer_ref_head+nr, ci->i_wrbuffer_ref,
fs/ceph/caps.c
3374
ci->i_wrbuffer_ref_head, last ? " LAST" : "");
fs/ceph/caps.c
3376
list_for_each_entry(iter, &ci->i_cap_snaps, ci_item) {
fs/ceph/caps.c
3388
WARN_ON_ONCE(ci->i_auth_cap);
fs/ceph/caps.c
3396
if (ceph_try_drop_cap_snap(ci, capsnap)) {
fs/ceph/caps.c
3399
ci->i_ceph_flags |= CEPH_I_FLUSH_SNAPS;
fs/ceph/caps.c
3406
ci->i_wrbuffer_ref+nr, capsnap->dirty_pages + nr,
fs/ceph/caps.c
3407
ci->i_wrbuffer_ref, capsnap->dirty_pages,
fs/ceph/caps.c
3413
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3416
ceph_check_caps(ci, 0);
fs/ceph/caps.c
3418
ceph_flush_snaps(ci, NULL);
fs/ceph/caps.c
3421
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3491
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
3495
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3535
!(ci->i_wrbuffer_ref || ci->i_wb_ref)) {
fs/ceph/caps.c
3539
if (ci->i_rdcache_revoking != ci->i_rdcache_gen) {
fs/ceph/caps.c
3541
ci->i_rdcache_revoking = ci->i_rdcache_gen;
fs/ceph/caps.c
3558
WARN_ON(cap != ci->i_auth_cap);
fs/ceph/caps.c
3568
__check_cap_issue(ci, cap, newcaps);
fs/ceph/caps.c
3583
ci->i_btime = extra_info->btime;
fs/ceph/caps.c
3589
if (ci->fscrypt_auth_len != extra_info->fscrypt_auth_len ||
fs/ceph/caps.c
3590
memcmp(ci->fscrypt_auth, extra_info->fscrypt_auth,
fs/ceph/caps.c
3591
ci->fscrypt_auth_len))
fs/ceph/caps.c
3594
ci->fscrypt_auth_len,
fs/ceph/caps.c
3611
if (version > ci->i_xattrs.version) {
fs/ceph/caps.c
3614
if (ci->i_xattrs.blob)
fs/ceph/caps.c
3615
ceph_buffer_put(ci->i_xattrs.blob);
fs/ceph/caps.c
3616
ci->i_xattrs.blob = ceph_buffer_get(xattr_buf);
fs/ceph/caps.c
3617
ci->i_xattrs.version = version;
fs/ceph/caps.c
3635
ci->i_files = extra_info->nfiles;
fs/ceph/caps.c
3636
ci->i_subdirs = extra_info->nsubdirs;
fs/ceph/caps.c
3641
s64 old_pool = ci->i_layout.pool_id;
fs/ceph/caps.c
3644
ceph_file_layout_from_legacy(&ci->i_layout, &grant->layout);
fs/ceph/caps.c
3645
old_ns = rcu_dereference_protected(ci->i_layout.pool_ns,
fs/ceph/caps.c
3646
lockdep_is_held(&ci->i_ceph_lock));
fs/ceph/caps.c
3647
rcu_assign_pointer(ci->i_layout.pool_ns, extra_info->pool_ns);
fs/ceph/caps.c
3649
if (ci->i_layout.pool_id != old_pool ||
fs/ceph/caps.c
3651
ci->i_ceph_flags &= ~CEPH_I_POOL_PERM;
fs/ceph/caps.c
3662
if (ci->i_auth_cap == cap && (newcaps & CEPH_CAP_ANY_FILE_WR)) {
fs/ceph/caps.c
3663
if (max_size != ci->i_max_size) {
fs/ceph/caps.c
3664
doutc(cl, "max_size %lld -> %llu\n", ci->i_max_size,
fs/ceph/caps.c
3666
ci->i_max_size = max_size;
fs/ceph/caps.c
3667
if (max_size >= ci->i_wanted_max_size) {
fs/ceph/caps.c
3668
ci->i_wanted_max_size = 0; /* reset */
fs/ceph/caps.c
3669
ci->i_requested_max_size = 0;
fs/ceph/caps.c
3676
wanted = __ceph_caps_wanted(ci);
fs/ceph/caps.c
3677
used = __ceph_caps_used(ci);
fs/ceph/caps.c
3678
dirty = __ceph_caps_dirty(ci);
fs/ceph/caps.c
3713
} else if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
3731
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
3732
__ceph_caps_revoking_other(ci, cap, newcaps))
fs/ceph/caps.c
3747
if (cap == ci->i_auth_cap)
fs/ceph/caps.c
3754
extra_info->inline_version >= ci->i_inline_version) {
fs/ceph/caps.c
3755
ci->i_inline_version = extra_info->inline_version;
fs/ceph/caps.c
3756
if (ci->i_inline_version != CEPH_INLINE_NONE &&
fs/ceph/caps.c
3762
if (ci->i_auth_cap == cap) {
fs/ceph/caps.c
3766
if (ci->i_requested_max_size > max_size ||
fs/ceph/caps.c
3769
ci->i_requested_max_size = 0;
fs/ceph/caps.c
3773
ceph_kick_flushing_inode_caps(session, ci);
fs/ceph/caps.c
3777
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3798
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3802
ceph_check_caps(ci, flags | CHECK_CAPS_AUTHONLY | CHECK_CAPS_NOINVAL);
fs/ceph/caps.c
3804
ceph_check_caps(ci, flags | CHECK_CAPS_NOINVAL);
fs/ceph/caps.c
3815
__releases(ci->i_ceph_lock)
fs/ceph/caps.c
3817
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3829
list_for_each_entry_safe(cf, tmp_cf, &ci->i_cap_flush_list, i_list) {
fs/ceph/caps.c
3843
wake_ci |= __detach_cap_flush_from_ci(ci, cf);
fs/ceph/caps.c
3859
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
3860
ceph_cap_string(ci->i_flushing_caps & ~cleaned));
fs/ceph/caps.c
3865
ci->i_flushing_caps &= ~cleaned;
fs/ceph/caps.c
3872
if (ci->i_flushing_caps == 0) {
fs/ceph/caps.c
3873
if (list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
3874
list_del_init(&ci->i_flushing_item);
fs/ceph/caps.c
3888
if (ci->i_dirty_caps == 0) {
fs/ceph/caps.c
3891
BUG_ON(!list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
3893
if (ci->i_wr_ref == 0 &&
fs/ceph/caps.c
3894
ci->i_wrbuffer_ref_head == 0) {
fs/ceph/caps.c
3895
BUG_ON(!ci->i_head_snapc);
fs/ceph/caps.c
3896
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
3897
ci->i_head_snapc = NULL;
fs/ceph/caps.c
3900
BUG_ON(list_empty(&ci->i_dirty_item));
fs/ceph/caps.c
3906
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
3917
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
3927
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3932
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
3935
inode, ceph_vinop(inode), ci);
fs/ceph/caps.c
3938
ret = __detach_cap_flush_from_ci(ci, &capsnap->cap_flush);
fs/ceph/caps.c
3943
if (list_empty(&ci->i_cap_flush_list))
fs/ceph/caps.c
3944
list_del_init(&ci->i_flushing_item);
fs/ceph/caps.c
3955
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3957
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
3973
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
3982
ceph_vinop(inode), ci, session->s_mds, follows);
fs/ceph/caps.c
3984
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
3985
list_for_each_entry(iter, &ci->i_cap_snaps, ci_item) {
fs/ceph/caps.c
4003
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4009
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
4026
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4034
int dirty = __ceph_caps_dirty(ci);
fs/ceph/caps.c
4038
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
4073
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4093
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4094
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4119
tcap = __get_cap_for_mds(ci, target);
fs/ceph/caps.c
4131
if (cap == ci->i_auth_cap) {
fs/ceph/caps.c
4132
ci->i_auth_cap = tcap;
fs/ceph/caps.c
4133
change_auth_cap_ses(ci, tcap->session);
fs/ceph/caps.c
4140
int flag = (cap == ci->i_auth_cap) ? CEPH_CAP_FLAG_AUTH : 0;
fs/ceph/caps.c
4145
if (!list_empty(&ci->i_cap_flush_list) &&
fs/ceph/caps.c
4146
ci->i_auth_cap == tcap) {
fs/ceph/caps.c
4148
list_move_tail(&ci->i_flushing_item,
fs/ceph/caps.c
4157
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4183
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4205
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4234
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4237
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4239
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4250
__ceph_caps_issued(ci, &issued);
fs/ceph/caps.c
4251
issued |= __ceph_caps_dirty(ci);
fs/ceph/caps.c
4256
ocap = peer >= 0 ? __get_cap_for_mds(ci, peer) : NULL;
fs/ceph/caps.c
4334
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
4475
ci = ceph_inode(inode);
fs/ceph/caps.c
4503
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4514
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4520
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4536
__ceph_caps_issued(ci, &extra_info.issued);
fs/ceph/caps.c
4537
extra_info.issued |= __ceph_caps_dirty(ci);
fs/ceph/caps.c
4550
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4556
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
4615
struct ceph_inode_info *ci;
fs/ceph/caps.c
4624
ci = list_first_entry(&mdsc->cap_delay_list,
fs/ceph/caps.c
4627
if (time_before(loop_start, ci->i_hold_caps_max - delay_max)) {
fs/ceph/caps.c
4629
delay = ci->i_hold_caps_max;
fs/ceph/caps.c
463
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4632
if ((ci->i_ceph_flags & CEPH_I_FLUSH) == 0 &&
fs/ceph/caps.c
4633
time_before(jiffies, ci->i_hold_caps_max))
fs/ceph/caps.c
4635
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
4637
inode = igrab(&ci->netfs.inode);
fs/ceph/caps.c
464
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4642
ceph_check_caps(ci, 0);
fs/ceph/caps.c
465
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4668
struct ceph_inode_info *ci;
fs/ceph/caps.c
4674
ci = list_first_entry(&s->s_cap_dirty, struct ceph_inode_info,
fs/ceph/caps.c
4676
inode = &ci->netfs.inode;
fs/ceph/caps.c
4681
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/caps.c
4716
void __ceph_touch_fmode(struct ceph_inode_info *ci,
fs/ceph/caps.c
472
static void __insert_cap_node(struct ceph_inode_info *ci,
fs/ceph/caps.c
4721
ci->i_last_rd = now;
fs/ceph/caps.c
4723
ci->i_last_wr = now;
fs/ceph/caps.c
4726
__ceph_is_any_real_caps(ci) &&
fs/ceph/caps.c
4727
list_empty(&ci->i_cap_delay_list))
fs/ceph/caps.c
4728
__cap_delay_requeue(mdsc, ci);
fs/ceph/caps.c
4731
void ceph_get_fmode(struct ceph_inode_info *ci, int fmode, int count)
fs/ceph/caps.c
4733
struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(ci->netfs.inode.i_sb);
fs/ceph/caps.c
4741
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4748
if (i && ci->i_nr_by_mode[i])
fs/ceph/caps.c
475
struct rb_node **p = &ci->i_caps.rb_node;
fs/ceph/caps.c
4752
ci->i_nr_by_mode[i] += count;
fs/ceph/caps.c
4757
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4765
void ceph_put_fmode(struct ceph_inode_info *ci, int fmode, int count)
fs/ceph/caps.c
4767
struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(ci->netfs.inode.i_sb);
fs/ceph/caps.c
4775
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4778
BUG_ON(ci->i_nr_by_mode[i] < count);
fs/ceph/caps.c
4779
ci->i_nr_by_mode[i] -= count;
fs/ceph/caps.c
4787
if (i && ci->i_nr_by_mode[i])
fs/ceph/caps.c
4793
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4804
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4807
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4809
drop |= ~(__ceph_caps_wanted(ci) | CEPH_CAP_PIN);
fs/ceph/caps.c
4811
if (__ceph_caps_dirty(ci)) {
fs/ceph/caps.c
4818
ci->i_ceph_flags |= CEPH_I_FLUSH;
fs/ceph/caps.c
4819
if (!list_empty(&ci->i_cap_delay_list))
fs/ceph/caps.c
4820
list_del_init(&ci->i_cap_delay_list);
fs/ceph/caps.c
4821
list_add_tail(&ci->i_cap_delay_list,
fs/ceph/caps.c
4832
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4847
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
4854
spin_lock(&ci->i_ceph_lock);
fs/ceph/caps.c
4855
used = __ceph_caps_used(ci);
fs/ceph/caps.c
4856
dirty = __ceph_caps_dirty(ci);
fs/ceph/caps.c
4865
cap = __get_cap_for_mds(ci, mds);
fs/ceph/caps.c
4881
int wanted = __ceph_caps_wanted(ci);
fs/ceph/caps.c
4893
if (cap == ci->i_auth_cap &&
fs/ceph/caps.c
4895
ci->i_requested_max_size = 0;
fs/ceph/caps.c
491
rb_insert_color(&new->ci_node, &ci->i_caps);
fs/ceph/caps.c
4919
spin_unlock(&ci->i_ceph_lock);
fs/ceph/caps.c
4986
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
499
struct ceph_inode_info *ci)
fs/ceph/caps.c
4991
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
4994
ci, inode, ceph_vinop(inode));
fs/ceph/caps.c
4996
while (!list_empty(&ci->i_cap_snaps)) {
fs/ceph/caps.c
4997
capsnap = list_first_entry(&ci->i_cap_snaps,
fs/ceph/caps.c
5004
wake_up_all(&ci->i_cap_wq);
fs/ceph/caps.c
501
struct inode *inode = &ci->netfs.inode;
fs/ceph/caps.c
5014
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/caps.c
5019
lockdep_assert_held(&ci->i_ceph_lock);
fs/ceph/caps.c
5022
cap, ci, inode, ceph_vinop(inode));
fs/ceph/caps.c
5024
is_auth = (cap == ci->i_auth_cap);
fs/ceph/caps.c
5032
if (ci->i_wrbuffer_ref > 0)
fs/ceph/caps.c
5039
while (!list_empty(&ci->i_cap_flush_list)) {
fs/ceph/caps.c
504
ci->i_hold_caps_max = round_jiffies(jiffies +
fs/ceph/caps.c
5040
cf = list_first_entry(&ci->i_cap_flush_list,
fs/ceph/caps.c
5048
if (!list_empty(&ci->i_dirty_item)) {
fs/ceph/caps.c
5051
ceph_cap_string(ci->i_dirty_caps),
fs/ceph/caps.c
5053
ci->i_dirty_caps = 0;
fs/ceph/caps.c
5054
list_del_init(&ci->i_dirty_item);
fs/ceph/caps.c
5057
if (!list_empty(&ci->i_flushing_item)) {
fs/ceph/caps.c
5060
ceph_cap_string(ci->i_flushing_caps),
fs/ceph/caps.c
5062
ci->i_flushing_caps = 0;
fs/ceph/caps.c
5063
list_del_init(&ci->i_flushing_item);
fs/ceph/caps.c
507
ceph_vinop(inode), ci->i_hold_caps_max - jiffies);
fs/ceph/caps.c
5072
if (ci->i_wrbuffer_ref_head == 0 &&
fs/ceph/caps.c
5073
ci->i_wr_ref == 0 &&
fs/ceph/caps.c
5074
ci->i_dirty_caps == 0 &&
fs/ceph/caps.c
5075
ci->i_flushing_caps == 0) {
fs/ceph/caps.c
5076
ceph_put_snap_context(ci->i_head_snapc);
fs/ceph/caps.c
5077
ci->i_head_snapc = NULL;
fs/ceph/caps.c
5081
if (atomic_read(&ci->i_filelock_ref) > 0) {
fs/ceph/caps.c
5083
ci->i_ceph_flags |= CEPH_I_ERROR_FILELOCK;
fs/ceph/caps.c
5089
if (!ci->i_dirty_caps && ci->i_prealloc_cap_flush) {
fs/ceph/caps.c
5090
cf = ci->i_prealloc_cap_flush;
fs/ceph/caps.c
5091
ci->i_prealloc_cap_flush = NULL;
fs/ceph/caps.c
5096
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
ci->i_ceph_flags |= CEPH_I_FLUSH;
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
251
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/debugfs.c
255
spin_lock(&ci->i_ceph_lock);
fs/ceph/debugfs.c
256
cap = __get_cap_for_mds(ci, mds);
fs/ceph/debugfs.c
262
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1299
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/dir.c
1303
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
1304
if ((__ceph_caps_issued(ci, NULL) & want) == want) {
fs/ceph/dir.c
1305
ceph_take_cap_refs(ci, want, false);
fs/ceph/dir.c
1308
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1320
if (atomic_read(&ci->i_shared_gen) != di->lease_shared_gen ||
fs/ceph/dir.c
1329
ceph_put_cap_refs(ci, got);
fs/ceph/dir.c
1342
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/dir.c
1436
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
1439
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1898
struct ceph_inode_info *ci;
fs/ceph/dir.c
1907
ci = ceph_inode(dir);
fs/ceph/dir.c
1909
if (spin_trylock(&ci->i_ceph_lock)) {
fs/ceph/dir.c
1910
if (atomic_read(&ci->i_shared_gen) == di->lease_shared_gen &&
fs/ceph/dir.c
1911
__ceph_caps_issued_mask(ci, CEPH_CAP_FILE_SHARED, 0))
fs/ceph/dir.c
1913
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1929
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/dir.c
1934
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
1935
valid = __ceph_caps_issued_mask(ci, CEPH_CAP_FILE_SHARED, 1);
fs/ceph/dir.c
1937
__ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_RD);
fs/ceph/dir.c
1938
shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/dir.c
1940
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
1953
ceph_vinop(dir), (unsigned)atomic_read(&ci->i_shared_gen),
fs/ceph/dir.c
2152
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/dir.c
2173
ci->i_files + ci->i_subdirs,
fs/ceph/dir.c
2174
ci->i_files,
fs/ceph/dir.c
2175
ci->i_subdirs,
fs/ceph/dir.c
2176
ci->i_rfiles + ci->i_rsubdirs,
fs/ceph/dir.c
2177
ci->i_rfiles,
fs/ceph/dir.c
2178
ci->i_rsubdirs,
fs/ceph/dir.c
2179
ci->i_rbytes,
fs/ceph/dir.c
2180
&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
611
if (atomic64_read(&ci->i_release_count) ==
fs/ceph/dir.c
613
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
615
atomic64_read(&ci->i_ordered_count)) {
fs/ceph/dir.c
627
__ceph_dir_set_complete(ci, dfi->dir_release_count,
fs/ceph/dir.c
629
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
826
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/dir.c
829
spin_lock(&ci->i_ceph_lock);
fs/ceph/dir.c
831
ceph_vinop(dir), ci->i_ceph_flags);
fs/ceph/dir.c
837
__ceph_dir_is_complete(ci) &&
fs/ceph/dir.c
838
__ceph_caps_issued_mask_metric(ci, CEPH_CAP_FILE_SHARED, 1)) {
fs/ceph/dir.c
839
__ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_RD);
fs/ceph/dir.c
840
spin_unlock(&ci->i_ceph_lock);
fs/ceph/dir.c
844
di->lease_shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/dir.c
847
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
1002
ceph_put_fmode(ci, dfi->file_info.fmode, 1);
fs/ceph/file.c
1016
ceph_put_fmode(ci, fi->fmode, 1);
fs/ceph/file.c
1022
wake_up_all(&ci->i_cap_wq);
fs/ceph/file.c
1046
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1096
req = ceph_osdc_new_request(osdc, &ci->i_layout,
fs/ceph/file.c
1097
ci->i_vino, read_off, &read_len, 0, 1,
fs/ceph/file.c
1101
NULL, ci->i_truncate_seq,
fs/ceph/file.c
1102
ci->i_truncate_size, false);
fs/ceph/file.c
1283
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1304
ceph_check_caps(ci, CHECK_CAPS_AUTHONLY);
fs/ceph/file.c
1307
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
1308
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/file.c
1310
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
1316
ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR :
fs/ceph/file.c
1414
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1419
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
1420
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/file.c
1422
list_last_entry(&ci->i_cap_snaps,
fs/ceph/file.c
1427
BUG_ON(!ci->i_head_snapc);
fs/ceph/file.c
1428
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/file.c
1430
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
1480
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1535
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/file.c
1540
ci->i_truncate_seq,
fs/ceph/file.c
1541
ci->i_truncate_size,
fs/ceph/file.c
1669
ceph_get_cap_refs(ci, write ? CEPH_CAP_FILE_WR :
fs/ceph/file.c
1709
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
1752
ceph_calc_file_object_mapping(&ci->i_layout, write_pos,
fs/ceph/file.c
1772
ci->i_vino.ino, pos, len, write_pos, write_len,
fs/ceph/file.c
1804
req = ceph_osdc_new_request(osdc, &ci->i_layout,
fs/ceph/file.c
1805
ci->i_vino, first ? first_pos : last_pos,
fs/ceph/file.c
1808
NULL, ci->i_truncate_seq,
fs/ceph/file.c
1809
ci->i_truncate_size, false);
fs/ceph/file.c
1849
ci->i_truncate_size,
fs/ceph/file.c
1850
ci->i_truncate_seq);
fs/ceph/file.c
1997
req = ceph_osdc_new_request(osdc, &ci->i_layout,
fs/ceph/file.c
1998
ci->i_vino, write_pos, &write_len,
fs/ceph/file.c
2002
snapc, ci->i_truncate_seq,
fs/ceph/file.c
2003
ci->i_truncate_size, false);
fs/ceph/file.c
203
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
205
ceph_inode_to_fs_client(&ci->netfs.inode)->mount_options;
fs/ceph/file.c
2056
ceph_set_error_write(ci);
fs/ceph/file.c
2060
ceph_clear_error_write(ci);
fs/ceph/file.c
2108
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2149
if (!ceph_has_inline_data(ci)) {
fs/ceph/file.c
2175
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2263
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2274
if (ceph_has_inline_data(ci) ||
fs/ceph/file.c
2295
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2311
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2332
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
235
ceph_get_fmode(ci, fmode, 1);
fs/ceph/file.c
2390
pool_flags = ceph_pg_pool_flags(osdc->osdmap, ci->i_layout.pool_id);
fs/ceph/file.c
242
if ((file->f_mode & FMODE_WRITE) && ceph_has_inline_data(ci)) {
fs/ceph/file.c
2425
(ci->i_ceph_flags & CEPH_I_ERROR_WRITE)) {
fs/ceph/file.c
2429
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2430
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/file.c
2432
list_last_entry(&ci->i_cap_snaps,
fs/ceph/file.c
2437
BUG_ON(!ci->i_head_snapc);
fs/ceph/file.c
2438
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/file.c
2440
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2471
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2472
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/file.c
2474
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2478
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/file.c
2484
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
2501
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
252
ceph_put_fmode(ci, fi->fmode, 1);
fs/ceph/file.c
255
wake_up_all(&ci->i_cap_wq);
fs/ceph/file.c
2568
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2586
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2587
if (__ceph_have_pending_cap_snap(ci)) {
fs/ceph/file.c
2589
list_last_entry(&ci->i_cap_snaps,
fs/ceph/file.c
2594
BUG_ON(!ci->i_head_snapc);
fs/ceph/file.c
2595
snapc = ceph_get_snap_context(ci->i_head_snapc);
fs/ceph/file.c
2597
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2599
req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout,
fs/ceph/file.c
2625
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2626
s32 stripe_unit = ci->i_layout.stripe_unit;
fs/ceph/file.c
2627
s32 stripe_count = ci->i_layout.stripe_count;
fs/ceph/file.c
2628
s32 object_size = ci->i_layout.object_size;
fs/ceph/file.c
2673
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
2732
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
2733
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_FILE_WR,
fs/ceph/file.c
2735
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
2742
ceph_put_cap_refs(ci, got);
fs/ceph/file.c
304
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
308
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
309
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/file.c
310
wanted = __ceph_caps_file_wanted(ci);
fs/ceph/file.c
311
if (__ceph_is_any_real_caps(ci) &&
fs/ceph/file.c
312
(!(wanted & CEPH_CAP_ANY_WR) || ci->i_auth_cap)) {
fs/ceph/file.c
313
int issued = __ceph_caps_issued(ci, NULL);
fs/ceph/file.c
314
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
318
ceph_check_caps(ci, 0);
fs/ceph/file.c
321
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
361
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
434
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
435
if (!do_sync && __ceph_is_any_real_caps(ci) &&
fs/ceph/file.c
436
(((fmode & CEPH_FILE_MODE_WR) == 0) || ci->i_auth_cap)) {
fs/ceph/file.c
437
int mds_wanted = __ceph_caps_mds_wanted(ci, true);
fs/ceph/file.c
438
int issued = __ceph_caps_issued(ci, NULL);
fs/ceph/file.c
443
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/file.c
444
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
450
ceph_check_caps(ci, 0);
fs/ceph/file.c
454
(ci->i_snap_caps & wanted) == wanted) {
fs/ceph/file.c
455
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/file.c
456
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
460
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
508
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/file.c
513
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
515
if (!ci->i_auth_cap)
fs/ceph/file.c
519
if (xa_empty(&ci->i_auth_cap->session->s_delegated_inos))
fs/ceph/file.c
522
if (!ceph_file_layout_is_valid(&ci->i_cached_layout))
fs/ceph/file.c
525
if ((__ceph_caps_issued(ci, NULL) & want) != want)
fs/ceph/file.c
529
if (!__ceph_dir_is_complete(ci))
fs/ceph/file.c
532
di->lease_shared_gen = atomic_read(&ci->i_shared_gen);
fs/ceph/file.c
534
} else if (atomic_read(&ci->i_shared_gen) !=
fs/ceph/file.c
539
ino = ceph_get_deleg_ino(ci->i_auth_cap->session);
fs/ceph/file.c
544
ceph_take_cap_refs(ci, want, false);
fs/ceph/file.c
545
memcpy(lo, &ci->i_cached_layout, sizeof(*lo));
fs/ceph/file.c
547
ceph_try_get_string(ci->i_cached_layout.pool_ns));
fs/ceph/file.c
550
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
557
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/file.c
560
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
561
if (ci->i_auth_cap)
fs/ceph/file.c
562
s = ceph_get_mds_session(ci->i_auth_cap->session);
fs/ceph/file.c
563
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
577
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/file.c
580
spin_lock(&ci->i_ceph_lock);
fs/ceph/file.c
581
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE) {
fs/ceph/file.c
582
clear_and_wake_up_bit(CEPH_ASYNC_CREATE_BIT, &ci->i_ceph_flags);
fs/ceph/file.c
584
if (ci->i_ceph_flags & CEPH_I_ASYNC_CHECK_CAPS) {
fs/ceph/file.c
585
ci->i_ceph_flags &= ~CEPH_I_ASYNC_CHECK_CAPS;
fs/ceph/file.c
589
ceph_kick_flushing_inode_caps(session, ci);
fs/ceph/file.c
590
spin_unlock(&ci->i_ceph_lock);
fs/ceph/file.c
593
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/file.c
663
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/file.c
693
in.cap.realm = cpu_to_le64(ci->i_snap_realm->ino);
fs/ceph/file.c
994
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
1002
le64_to_cpu(info->version), ci->i_version);
fs/ceph/inode.c
1050
if (ceph_snap(inode) != CEPH_NOSNAP && !ci->i_snapid_map)
fs/ceph/inode.c
1051
ci->i_snapid_map = ceph_get_snapid_map(mdsc, ceph_snap(inode));
fs/ceph/inode.c
1053
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
1066
if (ci->i_version == 0 ||
fs/ceph/inode.c
1068
le64_to_cpu(info->version) > (ci->i_version & ~1)))
fs/ceph/inode.c
1074
__ceph_caps_issued(ci, &issued);
fs/ceph/inode.c
1075
issued |= __ceph_caps_dirty(ci);
fs/ceph/inode.c
1078
__ceph_update_quota(ci, iinfo->max_bytes, iinfo->max_files);
fs/ceph/inode.c
1082
((inode_state_read_once(inode) & I_NEW) || (ci->fscrypt_auth_len == 0))) {
fs/ceph/inode.c
1083
kfree(ci->fscrypt_auth);
fs/ceph/inode.c
1084
ci->fscrypt_auth_len = iinfo->fscrypt_auth_len;
fs/ceph/inode.c
1085
ci->fscrypt_auth = iinfo->fscrypt_auth;
fs/ceph/inode.c
1101
ceph_decode_timespec64(&ci->i_btime, &iinfo->btime);
fs/ceph/inode.c
1102
ceph_decode_timespec64(&ci->i_snap_btime, &iinfo->snap_btime);
fs/ceph/inode.c
1129
ci->i_files = le64_to_cpu(info->files);
fs/ceph/inode.c
1130
ci->i_subdirs = le64_to_cpu(info->subdirs);
fs/ceph/inode.c
1136
s64 old_pool = ci->i_layout.pool_id;
fs/ceph/inode.c
1139
ceph_file_layout_from_legacy(&ci->i_layout, &info->layout);
fs/ceph/inode.c
1140
old_ns = rcu_dereference_protected(ci->i_layout.pool_ns,
fs/ceph/inode.c
1141
lockdep_is_held(&ci->i_ceph_lock));
fs/ceph/inode.c
1142
rcu_assign_pointer(ci->i_layout.pool_ns, pool_ns);
fs/ceph/inode.c
1144
if (ci->i_layout.pool_id != old_pool || pool_ns != old_ns)
fs/ceph/inode.c
1145
ci->i_ceph_flags &= ~CEPH_I_POOL_PERM;
fs/ceph/inode.c
1168
ci->i_max_size != le64_to_cpu(info->max_size)) {
fs/ceph/inode.c
1170
ci->i_max_size, le64_to_cpu(info->max_size));
fs/ceph/inode.c
1171
ci->i_max_size = le64_to_cpu(info->max_size);
fs/ceph/inode.c
1179
ci->i_dir_layout = iinfo->dir_layout;
fs/ceph/inode.c
1180
ci->i_rbytes = le64_to_cpu(info->rbytes);
fs/ceph/inode.c
1181
ci->i_rfiles = le64_to_cpu(info->rfiles);
fs/ceph/inode.c
1182
ci->i_rsubdirs = le64_to_cpu(info->rsubdirs);
fs/ceph/inode.c
1183
ci->i_dir_pin = iinfo->dir_pin;
fs/ceph/inode.c
1184
ci->i_rsnaps = iinfo->rsnaps;
fs/ceph/inode.c
1185
ceph_decode_timespec64(&ci->i_rctime, &info->rctime);
fs/ceph/inode.c
1191
if ((ci->i_xattrs.version == 0 || !(issued & CEPH_CAP_XATTR_EXCL)) &&
fs/ceph/inode.c
1192
le64_to_cpu(info->xattr_version) > ci->i_xattrs.version) {
fs/ceph/inode.c
1193
if (ci->i_xattrs.blob)
fs/ceph/inode.c
1194
old_blob = ci->i_xattrs.blob;
fs/ceph/inode.c
1195
ci->i_xattrs.blob = xattr_blob;
fs/ceph/inode.c
1197
memcpy(ci->i_xattrs.blob->vec.iov_base,
fs/ceph/inode.c
1199
ci->i_xattrs.version = le64_to_cpu(info->xattr_version);
fs/ceph/inode.c
1206
if (le64_to_cpu(info->version) > ci->i_version)
fs/ceph/inode.c
1207
ci->i_version = le64_to_cpu(info->version);
fs/ceph/inode.c
1225
if (!ci->i_symlink) {
fs/ceph/inode.c
1229
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
1265
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
1266
if (!ci->i_symlink)
fs/ceph/inode.c
1267
ci->i_symlink = sym;
fs/ceph/inode.c
1279
inode->i_link = ci->i_symlink;
fs/ceph/inode.c
1306
ci->i_files == 0 && ci->i_subdirs == 0 &&
fs/ceph/inode.c
1309
!__ceph_dir_is_complete(ci)) {
fs/ceph/inode.c
1313
__ceph_dir_set_complete(ci,
fs/ceph/inode.c
1314
atomic64_read(&ci->i_release_count),
fs/ceph/inode.c
1315
atomic64_read(&ci->i_ordered_count));
fs/ceph/inode.c
1322
ci->i_snap_caps |= info_caps;
fs/ceph/inode.c
1327
iinfo->inline_version >= ci->i_inline_version) {
fs/ceph/inode.c
1329
ci->i_inline_version = iinfo->inline_version;
fs/ceph/inode.c
1330
if (ceph_has_inline_data(ci) &&
fs/ceph/inode.c
1339
__ceph_touch_fmode(ci, mdsc, cap_fmode);
fs/ceph/inode.c
1342
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
1351
wake_up_all(&ci->i_cap_wq);
fs/ceph/inode.c
1917
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/inode.c
1946
if (req->r_dir_release_cnt == atomic64_read(&ci->i_release_count) &&
fs/ceph/inode.c
1947
req->r_dir_ordered_cnt == atomic64_read(&ci->i_ordered_count)) {
fs/ceph/inode.c
1963
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
1980
last_hash = ceph_str_hash(ci->i_dir_layout.dl_dir_hash,
fs/ceph/inode.c
2014
atomic64_read(&ci->i_release_count);
fs/ceph/inode.c
2016
atomic64_read(&ci->i_ordered_count);
fs/ceph/inode.c
2075
atomic_read(&ci->i_shared_gen)) {
fs/ceph/inode.c
2076
__ceph_dir_clear_ordered(ci);
fs/ceph/inode.c
2161
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2164
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2170
ret = __ceph_should_report_size(ci);
fs/ceph/inode.c
2172
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2181
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2182
set_bit(work_bit, &ci->i_work_mask);
fs/ceph/inode.c
2185
if (queue_work(fsc->inode_wq, &ci->i_work)) {
fs/ceph/inode.c
2187
ceph_vinop(inode), ci->i_work_mask);
fs/ceph/inode.c
219
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2190
inode, ceph_vinop(inode), ci->i_work_mask);
fs/ceph/inode.c
2198
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2204
mutex_lock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2212
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2216
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2218
ceph_vinop(inode), ci->i_rdcache_gen, ci->i_rdcache_revoking);
fs/ceph/inode.c
2219
if (ci->i_rdcache_revoking != ci->i_rdcache_gen) {
fs/ceph/inode.c
2220
if (__ceph_caps_revoking_other(ci, NULL, CEPH_CAP_FILE_CACHE))
fs/ceph/inode.c
2222
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2223
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2226
orig_gen = ci->i_rdcache_gen;
fs/ceph/inode.c
2227
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2234
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2235
if (orig_gen == ci->i_rdcache_gen &&
fs/ceph/inode.c
2236
orig_gen == ci->i_rdcache_revoking) {
fs/ceph/inode.c
2238
ceph_vinop(inode), ci->i_rdcache_gen);
fs/ceph/inode.c
2239
ci->i_rdcache_revoking--;
fs/ceph/inode.c
2243
inode, ceph_vinop(inode), orig_gen, ci->i_rdcache_gen,
fs/ceph/inode.c
2244
ci->i_rdcache_revoking);
fs/ceph/inode.c
2245
if (__ceph_caps_revoking_other(ci, NULL, CEPH_CAP_FILE_CACHE))
fs/ceph/inode.c
2248
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2249
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2252
ceph_check_caps(ci, 0);
fs/ceph/inode.c
2262
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2266
mutex_lock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2268
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2269
if (ci->i_truncate_pending == 0) {
fs/ceph/inode.c
2272
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2273
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2281
if (ci->i_wrbuffer_ref_head < ci->i_wrbuffer_ref) {
fs/ceph/inode.c
2282
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2291
WARN_ON_ONCE(ci->i_rd_ref || ci->i_wr_ref);
fs/ceph/inode.c
2293
to = ci->i_truncate_pagecache_size;
fs/ceph/inode.c
2294
wrbuffer_refs = ci->i_wrbuffer_ref;
fs/ceph/inode.c
2296
ci->i_truncate_pending, to);
fs/ceph/inode.c
2297
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2302
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2303
if (to == ci->i_truncate_pagecache_size) {
fs/ceph/inode.c
2304
ci->i_truncate_pending = 0;
fs/ceph/inode.c
2307
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2311
mutex_unlock(&ci->i_truncate_mutex);
fs/ceph/inode.c
2314
ceph_check_caps(ci, 0);
fs/ceph/inode.c
2316
wake_up_all(&ci->i_cap_wq);
fs/ceph/inode.c
2321
struct ceph_inode_info *ci = container_of(work, struct ceph_inode_info,
fs/ceph/inode.c
2323
struct inode *inode = &ci->netfs.inode;
fs/ceph/inode.c
2326
if (test_and_clear_bit(CEPH_I_WORK_WRITEBACK, &ci->i_work_mask)) {
fs/ceph/inode.c
2330
if (test_and_clear_bit(CEPH_I_WORK_INVALIDATE_PAGES, &ci->i_work_mask))
fs/ceph/inode.c
2333
if (test_and_clear_bit(CEPH_I_WORK_VMTRUNCATE, &ci->i_work_mask))
fs/ceph/inode.c
2336
if (test_and_clear_bit(CEPH_I_WORK_CHECK_CAPS, &ci->i_work_mask))
fs/ceph/inode.c
2337
ceph_check_caps(ci, 0);
fs/ceph/inode.c
2339
if (test_and_clear_bit(CEPH_I_WORK_FLUSH_SNAPS, &ci->i_work_mask))
fs/ceph/inode.c
2340
ceph_flush_snaps(ci, NULL);
fs/ceph/inode.c
2349
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2354
return fscrypt_get_symlink(inode, ci->i_symlink, i_size_read(inode),
fs/ceph/inode.c
2400
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
2420
issued = __ceph_caps_issued(ci, NULL);
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
251
ci->fscrypt_auth = kmemdup(pci->fscrypt_auth,
fs/ceph/inode.c
2518
ceph_put_cap_refs(ci, got);
fs/ceph/inode.c
2531
struct ceph_inode_info *ci = ceph_inode(inode);
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
2587
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2588
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/inode.c
2590
if (!ci->i_head_snapc &&
fs/ceph/inode.c
2594
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2596
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
2597
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/inode.c
2609
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
2614
ceph_vinop(inode), ci->fscrypt_auth_len, len);
fs/ceph/inode.c
2617
WARN_ON_ONCE(ci->fscrypt_auth);
fs/ceph/inode.c
2621
kfree(ci->fscrypt_auth);
fs/ceph/inode.c
2622
ci->fscrypt_auth = (u8 *)cia->fscrypt_auth;
fs/ceph/inode.c
2623
ci->fscrypt_auth_len = len;
fs/ceph/inode.c
2625
ci->fscrypt_auth_len != len ||
fs/ceph/inode.c
2626
memcmp(ci->fscrypt_auth, cia->fscrypt_auth, len)) {
fs/ceph/inode.c
2636
spin_unlock(&ci->i_ceph_lock);
fs/ceph/inode.c
267
ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */
fs/ceph/inode.c
2698
ci->i_time_warp_seq++;
fs/ceph/inode.c
2741
ci->i_reported_size = attr->ia_size;
fs/ceph/inode.c
2773
ci->i_time_warp_seq++;
fs/ceph/inode.c
2819
inode_dirty_flags = __ceph_mark_dirty_caps(ci, dirtied,
fs/ceph/inode.c
2826
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
3110
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
3133
if (ci->i_btime.tv_sec || ci->i_btime.tv_nsec) {
fs/ceph/inode.c
3134
stat->btime = ci->i_btime;
fs/ceph/inode.c
3146
stat->dev = ci->i_snapid_map ? ci->i_snapid_map->dev : 0;
fs/ceph/inode.c
3150
stat->size = ci->i_rbytes;
fs/ceph/inode.c
3170
stat->size = ci->i_files + ci->i_subdirs;
fs/ceph/inode.c
3181
stat->nlink = 1 + 1 + ci->i_subdirs;
fs/ceph/inode.c
3196
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
3201
spin_lock(&ci->i_ceph_lock);
fs/ceph/inode.c
3202
ci->i_ceph_flags |= CEPH_I_SHUTDOWN;
fs/ceph/inode.c
3203
p = rb_first(&ci->i_caps);
fs/ceph/inode.c
3210
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
642
memset(&ci->i_dir_layout, 0, sizeof(ci->i_dir_layout));
fs/ceph/inode.c
643
memset(&ci->i_cached_layout, 0, sizeof(ci->i_cached_layout));
fs/ceph/inode.c
644
RCU_INIT_POINTER(ci->i_layout.pool_ns, NULL);
fs/ceph/inode.c
646
ci->i_fragtree = RB_ROOT;
fs/ceph/inode.c
647
mutex_init(&ci->i_fragtree_mutex);
fs/ceph/inode.c
649
ci->i_xattrs.blob = NULL;
fs/ceph/inode.c
650
ci->i_xattrs.prealloc_blob = NULL;
fs/ceph/inode.c
651
ci->i_xattrs.dirty = false;
fs/ceph/inode.c
652
ci->i_xattrs.index = RB_ROOT;
fs/ceph/inode.c
653
ci->i_xattrs.count = 0;
fs/ceph/inode.c
654
ci->i_xattrs.names_size = 0;
fs/ceph/inode.c
655
ci->i_xattrs.vals_size = 0;
fs/ceph/inode.c
656
ci->i_xattrs.version = 0;
fs/ceph/inode.c
657
ci->i_xattrs.index_version = 0;
fs/ceph/inode.c
659
ci->i_caps = RB_ROOT;
fs/ceph/inode.c
660
ci->i_auth_cap = NULL;
fs/ceph/inode.c
661
ci->i_dirty_caps = 0;
fs/ceph/inode.c
662
ci->i_flushing_caps = 0;
fs/ceph/inode.c
663
INIT_LIST_HEAD(&ci->i_dirty_item);
fs/ceph/inode.c
664
INIT_LIST_HEAD(&ci->i_flushing_item);
fs/ceph/inode.c
665
ci->i_prealloc_cap_flush = NULL;
fs/ceph/inode.c
666
INIT_LIST_HEAD(&ci->i_cap_flush_list);
fs/ceph/inode.c
667
init_waitqueue_head(&ci->i_cap_wq);
fs/ceph/inode.c
668
ci->i_hold_caps_max = 0;
fs/ceph/inode.c
669
INIT_LIST_HEAD(&ci->i_cap_delay_list);
fs/ceph/inode.c
670
INIT_LIST_HEAD(&ci->i_cap_snaps);
fs/ceph/inode.c
671
ci->i_head_snapc = NULL;
fs/ceph/inode.c
672
ci->i_snap_caps = 0;
fs/ceph/inode.c
674
ci->i_last_rd = ci->i_last_wr = jiffies - 3600 * HZ;
fs/ceph/inode.c
676
ci->i_nr_by_mode[i] = 0;
fs/ceph/inode.c
678
mutex_init(&ci->i_truncate_mutex);
fs/ceph/inode.c
679
ci->i_truncate_seq = 0;
fs/ceph/inode.c
680
ci->i_truncate_size = 0;
fs/ceph/inode.c
681
ci->i_truncate_pending = 0;
fs/ceph/inode.c
682
ci->i_truncate_pagecache_size = 0;
fs/ceph/inode.c
684
ci->i_max_size = 0;
fs/ceph/inode.c
685
ci->i_reported_size = 0;
fs/ceph/inode.c
686
ci->i_wanted_max_size = 0;
fs/ceph/inode.c
687
ci->i_requested_max_size = 0;
fs/ceph/inode.c
689
ci->i_pin_ref = 0;
fs/ceph/inode.c
690
ci->i_rd_ref = 0;
fs/ceph/inode.c
691
ci->i_rdcache_ref = 0;
fs/ceph/inode.c
692
ci->i_wr_ref = 0;
fs/ceph/inode.c
693
ci->i_wb_ref = 0;
fs/ceph/inode.c
694
ci->i_fx_ref = 0;
fs/ceph/inode.c
695
ci->i_wrbuffer_ref = 0;
fs/ceph/inode.c
696
ci->i_wrbuffer_ref_head = 0;
fs/ceph/inode.c
697
atomic_set(&ci->i_filelock_ref, 0);
fs/ceph/inode.c
698
atomic_set(&ci->i_shared_gen, 1);
fs/ceph/inode.c
699
ci->i_rdcache_gen = 0;
fs/ceph/inode.c
700
ci->i_rdcache_revoking = 0;
fs/ceph/inode.c
702
INIT_LIST_HEAD(&ci->i_unsafe_dirops);
fs/ceph/inode.c
703
INIT_LIST_HEAD(&ci->i_unsafe_iops);
fs/ceph/inode.c
704
spin_lock_init(&ci->i_unsafe_lock);
fs/ceph/inode.c
706
ci->i_snap_realm = NULL;
fs/ceph/inode.c
707
INIT_LIST_HEAD(&ci->i_snap_realm_item);
fs/ceph/inode.c
708
INIT_LIST_HEAD(&ci->i_snap_flush_item);
fs/ceph/inode.c
710
INIT_WORK(&ci->i_work, ceph_inode_work);
fs/ceph/inode.c
711
ci->i_work_mask = 0;
fs/ceph/inode.c
712
memset(&ci->i_btime, '\0', sizeof(ci->i_btime));
fs/ceph/inode.c
714
ci->i_crypt_info = NULL;
fs/ceph/inode.c
715
ci->fscrypt_auth = NULL;
fs/ceph/inode.c
716
ci->fscrypt_auth_len = 0;
fs/ceph/inode.c
718
return &ci->netfs.inode;
fs/ceph/inode.c
723
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
725
kfree(ci->i_symlink);
fs/ceph/inode.c
727
kfree(ci->fscrypt_auth);
fs/ceph/inode.c
730
kmem_cache_free(ceph_inode_cachep, ci);
fs/ceph/inode.c
735
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
751
ceph_fscache_unregister_inode_cookie(ci);
fs/ceph/inode.c
754
__ceph_remove_caps(ci);
fs/ceph/inode.c
756
if (__ceph_has_quota(ci, QUOTA_GET_ANY))
fs/ceph/inode.c
763
if (ci->i_snap_realm) {
fs/ceph/inode.c
766
ci->i_snap_realm);
fs/ceph/inode.c
769
ceph_put_snapid_map(mdsc, ci->i_snapid_map);
fs/ceph/inode.c
770
ci->i_snap_realm = NULL;
fs/ceph/inode.c
774
while ((n = rb_first(&ci->i_fragtree)) != NULL) {
fs/ceph/inode.c
776
rb_erase(n, &ci->i_fragtree);
fs/ceph/inode.c
779
ci->i_fragtree_nsplits = 0;
fs/ceph/inode.c
781
__ceph_destroy_xattrs(ci);
fs/ceph/inode.c
782
if (ci->i_xattrs.blob)
fs/ceph/inode.c
783
ceph_buffer_put(ci->i_xattrs.blob);
fs/ceph/inode.c
784
if (ci->i_xattrs.prealloc_blob)
fs/ceph/inode.c
785
ceph_buffer_put(ci->i_xattrs.prealloc_blob);
fs/ceph/inode.c
787
ceph_put_string(rcu_dereference_raw(ci->i_layout.pool_ns));
fs/ceph/inode.c
788
ceph_put_string(rcu_dereference_raw(ci->i_cached_layout.pool_ns));
fs/ceph/inode.c
808
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
812
if (ceph_seq_cmp(truncate_seq, ci->i_truncate_seq) > 0 ||
fs/ceph/inode.c
813
(truncate_seq == ci->i_truncate_seq && size > isize)) {
fs/ceph/inode.c
827
ci->i_reported_size = size;
fs/ceph/inode.c
828
if (truncate_seq != ci->i_truncate_seq) {
fs/ceph/inode.c
830
ci->i_truncate_seq, truncate_seq);
fs/ceph/inode.c
831
ci->i_truncate_seq = truncate_seq;
fs/ceph/inode.c
845
__ceph_is_file_opened(ci)) {
fs/ceph/inode.c
846
ci->i_truncate_pending++;
fs/ceph/inode.c
858
if (ceph_seq_cmp(truncate_seq, ci->i_truncate_seq) >= 0) {
fs/ceph/inode.c
860
ci->i_truncate_size, truncate_size,
fs/ceph/inode.c
863
ci->i_truncate_size = truncate_size;
fs/ceph/inode.c
867
ci->i_truncate_pagecache_size, size);
fs/ceph/inode.c
868
ci->i_truncate_pagecache_size = size;
fs/ceph/inode.c
870
ci->i_truncate_pagecache_size = truncate_size;
fs/ceph/inode.c
881
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/inode.c
892
if (ci->i_version == 0 ||
fs/ceph/inode.c
897
if (ci->i_version == 0 ||
fs/ceph/inode.c
898
ceph_seq_cmp(time_warp_seq, ci->i_time_warp_seq) > 0) {
fs/ceph/inode.c
901
ci->i_time_warp_seq, (int)time_warp_seq);
fs/ceph/inode.c
905
ci->i_time_warp_seq = time_warp_seq;
fs/ceph/inode.c
906
} else if (time_warp_seq == ci->i_time_warp_seq) {
fs/ceph/inode.c
923
if (ceph_seq_cmp(time_warp_seq, ci->i_time_warp_seq) >= 0) {
fs/ceph/inode.c
927
ci->i_time_warp_seq = time_warp_seq;
fs/ceph/inode.c
934
time_warp_seq, ci->i_time_warp_seq);
fs/ceph/inode.c
984
struct ceph_inode_info *ci = ceph_inode(inode);
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
184
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/ioctl.c
199
ceph_calc_file_object_mapping(&ci->i_layout, dl.file_offset, 1,
fs/ceph/ioctl.c
20
struct ceph_inode_info *ci = ceph_inode(file_inode(file));
fs/ceph/ioctl.c
202
dl.object_size = ci->i_layout.object_size;
fs/ceph/ioctl.c
203
dl.block_size = ci->i_layout.stripe_unit;
fs/ceph/ioctl.c
212
oloc.pool = ci->i_layout.pool_id;
fs/ceph/ioctl.c
213
oloc.pool_ns = ceph_try_get_string(ci->i_layout.pool_ns);
fs/ceph/ioctl.c
246
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/ioctl.c
251
spin_lock(&ci->i_ceph_lock);
fs/ceph/ioctl.c
254
ci->i_nr_by_mode[ffs(CEPH_FILE_MODE_LAZY)]++;
fs/ceph/ioctl.c
255
__ceph_touch_fmode(ci, mdsc, fi->fmode);
fs/ceph/ioctl.c
259
spin_unlock(&ci->i_ceph_lock);
fs/ceph/ioctl.c
26
l.stripe_unit = ci->i_layout.stripe_unit;
fs/ceph/ioctl.c
268
ceph_check_caps(ci, 0);
fs/ceph/ioctl.c
27
l.stripe_count = ci->i_layout.stripe_count;
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
305
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/ioctl.c
308
if (ci->i_layout.stripe_count > 1)
fs/ceph/ioctl.c
325
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
87
nl.stripe_count = ci->i_layout.stripe_count;
fs/ceph/ioctl.c
91
nl.stripe_unit = ci->i_layout.stripe_unit;
fs/ceph/ioctl.c
95
nl.object_size = ci->i_layout.object_size;
fs/ceph/ioctl.c
99
nl.data_pool = ci->i_layout.pool_id;
fs/ceph/locks.c
253
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/locks.c
274
spin_lock(&ci->i_ceph_lock);
fs/ceph/locks.c
275
if (ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) {
fs/ceph/locks.c
278
spin_unlock(&ci->i_ceph_lock);
fs/ceph/locks.c
320
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/locks.c
334
spin_lock(&ci->i_ceph_lock);
fs/ceph/locks.c
335
if (ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) {
fs/ceph/locks.c
338
spin_unlock(&ci->i_ceph_lock);
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
spin_lock(&ci->i_ceph_lock);
fs/ceph/locks.c
61
ci->i_ceph_flags &= ~CEPH_I_ERROR_FILELOCK;
fs/ceph/locks.c
62
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1196
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/mds_client.c
1200
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1201
list_add_tail(&req->r_unsafe_dir_item, &ci->i_unsafe_dirops);
fs/ceph/mds_client.c
1202
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1231
struct ceph_inode_info *ci = ceph_inode(req->r_unsafe_dir);
fs/ceph/mds_client.c
1232
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1234
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1238
struct ceph_inode_info *ci = ceph_inode(req->r_target_inode);
fs/ceph/mds_client.c
1239
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1241
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
1289
struct ceph_inode_info *ci;
fs/ceph/mds_client.c
1367
ci = ceph_inode(inode);
fs/ceph/mds_client.c
1373
ceph_choose_frag(ci, hash, &frag, &found);
fs/ceph/mds_client.c
1410
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1413
cap = ci->i_auth_cap;
fs/ceph/mds_client.c
1414
if (!cap && !RB_EMPTY_ROOT(&ci->i_caps))
fs/ceph/mds_client.c
1415
cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node);
fs/ceph/mds_client.c
1417
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1424
cap == ci->i_auth_cap ? "auth " : "", cap);
fs/ceph/mds_client.c
1425
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1836
inode = igrab(&cap->ci->netfs.inode);
fs/ceph/mds_client.c
1859
if (!cap->ci) {
fs/ceph/mds_client.c
1888
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
1894
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1895
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
1898
cap, ci, &ci->netfs.inode);
fs/ceph/mds_client.c
1902
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1905
wake_up_all(&ci->i_cap_wq);
fs/ceph/mds_client.c
1945
vino = cap->ci->i_vino;
fs/ceph/mds_client.c
1978
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
1982
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1983
ci->i_wanted_max_size = 0;
fs/ceph/mds_client.c
1984
ci->i_requested_max_size = 0;
fs/ceph/mds_client.c
1985
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1989
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1990
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
1994
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
1997
wake_up_all(&ci->i_cap_wq);
fs/ceph/mds_client.c
2168
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
2175
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2176
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
2178
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2182
used = __ceph_caps_used(ci);
fs/ceph/mds_client.c
2183
wanted = __ceph_caps_file_wanted(ci);
fs/ceph/mds_client.c
2184
oissued = __ceph_caps_issued_other(ci, cap);
fs/ceph/mds_client.c
2190
if (cap == ci->i_auth_cap) {
fs/ceph/mds_client.c
2191
if (ci->i_dirty_caps || ci->i_flushing_caps ||
fs/ceph/mds_client.c
2192
!list_empty(&ci->i_cap_snaps))
fs/ceph/mds_client.c
2199
if (atomic_read(&ci->i_filelock_ref) > 0)
fs/ceph/mds_client.c
2220
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2238
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2503
struct ceph_inode_info *ci;
fs/ceph/mds_client.c
2506
ci = list_first_entry(&mdsc->cap_unlink_delay_list,
fs/ceph/mds_client.c
2509
list_del_init(&ci->i_cap_delay_list);
fs/ceph/mds_client.c
2511
inode = igrab(&ci->netfs.inode);
fs/ceph/mds_client.c
2516
ceph_check_caps(ci, CHECK_CAPS_FLUSH);
fs/ceph/mds_client.c
2532
struct ceph_inode_info *ci = ceph_inode(dir);
fs/ceph/mds_client.c
2540
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
2541
num_entries = ci->i_files + ci->i_subdirs;
fs/ceph/mds_client.c
2542
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3591
struct ceph_inode_info *ci;
fs/ceph/mds_client.c
3612
ci = ceph_inode(d_inode(req->r_dentry));
fs/ceph/mds_client.c
3614
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3615
cap = ci->i_auth_cap;
fs/ceph/mds_client.c
3616
if (ci->i_ceph_flags & CEPH_I_ASYNC_CREATE && mds != cap->mds) {
fs/ceph/mds_client.c
3634
change_auth_cap_ses(ci, session);
fs/ceph/mds_client.c
3636
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3714
struct ceph_inode_info *ci = ceph_inode(req->r_parent);
fs/ceph/mds_client.c
3717
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
3718
ceph_take_cap_refs(ci, CEPH_CAP_PIN, false);
fs/ceph/mds_client.c
3719
__ceph_touch_fmode(ci, mdsc, fmode);
fs/ceph/mds_client.c
3720
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
4021
struct ceph_inode_info *ci =
fs/ceph/mds_client.c
4023
spin_lock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
4025
&ci->i_unsafe_iops);
fs/ceph/mds_client.c
4026
spin_unlock(&ci->i_unsafe_lock);
fs/ceph/mds_client.c
447
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
463
rde->raw_hash = ceph_str_hash(ci->i_dir_layout.dl_dir_hash,
fs/ceph/mds_client.c
4643
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.c
4664
spin_lock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
4665
cap = __get_cap_for_mds(ci, mds);
fs/ceph/mds_client.c
4667
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.c
4683
ceph_put_string(rcu_dereference_raw(ci->i_cached_layout.pool_ns));
fs/ceph/mds_client.c
4684
memset(&ci->i_cached_layout, 0, sizeof(ci->i_cached_layout));
fs/ceph/mds_client.c
4691
rec.v2.wanted = cpu_to_le32(__ceph_caps_wanted(ci));
fs/ceph/mds_client.c
4693
rec.v2.snaprealm = cpu_to_le64(ci->i_snap_realm->ino);
fs/ceph/mds_client.c
4696
((ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) ? 0 : 1);
fs/ceph/mds_client.c
4701
rec.v1.wanted = cpu_to_le32(__ceph_caps_wanted(ci));
fs/ceph/mds_client.c
4708
rec.v1.snaprealm = cpu_to_le64(ci->i_snap_realm->ino);
fs/ceph/mds_client.c
4712
if (list_empty(&ci->i_cap_snaps)) {
fs/ceph/mds_client.c
4713
snap_follows = ci->i_head_snapc ? ci->i_head_snapc->seq : 0;
fs/ceph/mds_client.c
4716
list_first_entry(&ci->i_cap_snaps,
fs/ceph/mds_client.c
4720
spin_unlock(&ci->i_ceph_lock);
fs/ceph/mds_client.h
659
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/mds_client.h
661
return wait_on_bit(&ci->i_ceph_flags, CEPH_ASYNC_CREATE_BIT,
fs/ceph/quota.c
219
struct ceph_inode_info *ci = NULL;
fs/ceph/quota.c
258
ci = ceph_inode(in);
fs/ceph/quota.c
259
has_quota = __ceph_has_quota(ci, which_quota);
fs/ceph/quota.c
331
struct ceph_inode_info *ci;
fs/ceph/quota.c
367
ci = ceph_inode(in);
fs/ceph/quota.c
368
spin_lock(&ci->i_ceph_lock);
fs/ceph/quota.c
370
max = ci->i_max_files;
fs/ceph/quota.c
371
rvalue = ci->i_rfiles + ci->i_rsubdirs;
fs/ceph/quota.c
373
max = ci->i_max_bytes;
fs/ceph/quota.c
374
rvalue = ci->i_rbytes;
fs/ceph/quota.c
376
spin_unlock(&ci->i_ceph_lock);
fs/ceph/quota.c
49
struct ceph_inode_info *ci;
fs/ceph/quota.c
493
struct ceph_inode_info *ci;
fs/ceph/quota.c
510
ci = ceph_inode(in);
fs/ceph/quota.c
511
spin_lock(&ci->i_ceph_lock);
fs/ceph/quota.c
512
if (ci->i_max_bytes) {
fs/ceph/quota.c
513
total = ci->i_max_bytes >> CEPH_BLOCK_SHIFT;
fs/ceph/quota.c
514
used = ci->i_rbytes >> CEPH_BLOCK_SHIFT;
fs/ceph/quota.c
517
total = ci->i_max_bytes >> CEPH_4K_BLOCK_SHIFT;
fs/ceph/quota.c
518
used = ci->i_rbytes >> CEPH_4K_BLOCK_SHIFT;
fs/ceph/quota.c
530
free = ci->i_max_bytes > ci->i_rbytes ? 1 : 0;
fs/ceph/quota.c
534
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
ci->i_ceph_flags |= CEPH_I_FLUSH_SNAPS;
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/super.c
920
struct ceph_inode_info *ci = foo;
fs/ceph/super.c
921
inode_init_once(&ci->netfs.inode);
fs/ceph/super.h
1026
extern int __ceph_finish_cap_snap(struct ceph_inode_info *ci,
fs/ceph/super.h
1043
static inline bool __ceph_have_pending_cap_snap(struct ceph_inode_info *ci)
fs/ceph/super.h
1045
return !list_empty(&ci->i_cap_snaps) &&
fs/ceph/super.h
1046
list_last_entry(&ci->i_cap_snaps, struct ceph_cap_snap,
fs/ceph/super.h
1153
extern struct ceph_buffer *__ceph_build_xattrs_blob(struct ceph_inode_info *ci);
fs/ceph/super.h
1154
extern void __ceph_destroy_xattrs(struct ceph_inode_info *ci);
fs/ceph/super.h
1256
extern void __ceph_remove_caps(struct ceph_inode_info *ci);
fs/ceph/super.h
1269
struct ceph_inode_info *ci);
fs/ceph/super.h
1270
extern struct ceph_cap *__get_cap_for_mds(struct ceph_inode_info *ci,
fs/ceph/super.h
1272
extern struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci,
fs/ceph/super.h
1274
extern void ceph_take_cap_refs(struct ceph_inode_info *ci, int caps,
fs/ceph/super.h
1276
extern void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps);
fs/ceph/super.h
1277
extern void ceph_put_cap_refs(struct ceph_inode_info *ci, int had);
fs/ceph/super.h
1278
extern void ceph_put_cap_refs_async(struct ceph_inode_info *ci, int had);
fs/ceph/super.h
1279
extern void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
fs/ceph/super.h
1287
extern void ceph_flush_snaps(struct ceph_inode_info *ci,
fs/ceph/super.h
1289
extern bool __ceph_should_report_size(struct ceph_inode_info *ci);
fs/ceph/super.h
1290
extern void ceph_check_caps(struct ceph_inode_info *ci, int flags);
fs/ceph/super.h
1309
extern void ceph_get_fmode(struct ceph_inode_info *ci, int mode, int count);
fs/ceph/super.h
1310
extern void ceph_put_fmode(struct ceph_inode_info *ci, int mode, int count);
fs/ceph/super.h
1311
extern void __ceph_touch_fmode(struct ceph_inode_info *ci,
fs/ceph/super.h
1323
static inline bool ceph_has_inline_data(struct ceph_inode_info *ci)
fs/ceph/super.h
1325
if (ci->i_inline_version == CEPH_INLINE_NONE ||
fs/ceph/super.h
1326
ci->i_inline_version == 1) /* initial version, no data */
fs/ceph/super.h
1398
static inline bool __ceph_has_quota(struct ceph_inode_info *ci,
fs/ceph/super.h
1405
has_quota = !!ci->i_max_bytes;
fs/ceph/super.h
1408
has_quota = !!ci->i_max_files;
fs/ceph/super.h
1411
has_quota = !!(ci->i_max_files || ci->i_max_bytes);
fs/ceph/super.h
1418
static inline void __ceph_update_quota(struct ceph_inode_info *ci,
fs/ceph/super.h
1422
had_quota = __ceph_has_quota(ci, QUOTA_GET_ANY);
fs/ceph/super.h
1423
ci->i_max_bytes = max_bytes;
fs/ceph/super.h
1424
ci->i_max_files = max_files;
fs/ceph/super.h
1425
has_quota = __ceph_has_quota(ci, QUOTA_GET_ANY);
fs/ceph/super.h
1428
ceph_adjust_quota_realms_count(&ci->netfs.inode, has_quota);
fs/ceph/super.h
203
struct ceph_inode_info *ci;
fs/ceph/super.h
609
struct ceph_inode_info *ci = ceph_inode(inode);
fs/ceph/super.h
610
return ci->i_vino.ino == pvino->ino &&
fs/ceph/super.h
611
ci->i_vino.snap == pvino->snap;
fs/ceph/super.h
692
static inline void ceph_set_error_write(struct ceph_inode_info *ci)
fs/ceph/super.h
694
if (!(READ_ONCE(ci->i_ceph_flags) & CEPH_I_ERROR_WRITE)) {
fs/ceph/super.h
695
spin_lock(&ci->i_ceph_lock);
fs/ceph/super.h
696
ci->i_ceph_flags |= CEPH_I_ERROR_WRITE;
fs/ceph/super.h
697
spin_unlock(&ci->i_ceph_lock);
fs/ceph/super.h
701
static inline void ceph_clear_error_write(struct ceph_inode_info *ci)
fs/ceph/super.h
703
if (READ_ONCE(ci->i_ceph_flags) & CEPH_I_ERROR_WRITE) {
fs/ceph/super.h
704
spin_lock(&ci->i_ceph_lock);
fs/ceph/super.h
705
ci->i_ceph_flags &= ~CEPH_I_ERROR_WRITE;
fs/ceph/super.h
706
spin_unlock(&ci->i_ceph_lock);
fs/ceph/super.h
710
static inline void __ceph_dir_set_complete(struct ceph_inode_info *ci,
fs/ceph/super.h
720
atomic64_set(&ci->i_complete_seq[0], release_count);
fs/ceph/super.h
721
atomic64_set(&ci->i_complete_seq[1], ordered_count);
fs/ceph/super.h
724
static inline void __ceph_dir_clear_complete(struct ceph_inode_info *ci)
fs/ceph/super.h
726
atomic64_inc(&ci->i_release_count);
fs/ceph/super.h
729
static inline void __ceph_dir_clear_ordered(struct ceph_inode_info *ci)
fs/ceph/super.h
731
atomic64_inc(&ci->i_ordered_count);
fs/ceph/super.h
734
static inline bool __ceph_dir_is_complete(struct ceph_inode_info *ci)
fs/ceph/super.h
736
return atomic64_read(&ci->i_complete_seq[0]) ==
fs/ceph/super.h
737
atomic64_read(&ci->i_release_count);
fs/ceph/super.h
740
static inline bool __ceph_dir_is_complete_ordered(struct ceph_inode_info *ci)
fs/ceph/super.h
742
return atomic64_read(&ci->i_complete_seq[0]) ==
fs/ceph/super.h
743
atomic64_read(&ci->i_release_count) &&
fs/ceph/super.h
744
atomic64_read(&ci->i_complete_seq[1]) ==
fs/ceph/super.h
745
atomic64_read(&ci->i_ordered_count);
fs/ceph/super.h
766
extern struct ceph_inode_frag *__ceph_find_frag(struct ceph_inode_info *ci,
fs/ceph/super.h
773
extern u32 ceph_choose_frag(struct ceph_inode_info *ci, u32 v,
fs/ceph/super.h
785
static inline bool __ceph_is_any_real_caps(struct ceph_inode_info *ci)
fs/ceph/super.h
787
return !RB_EMPTY_ROOT(&ci->i_caps);
fs/ceph/super.h
790
extern int __ceph_caps_issued(struct ceph_inode_info *ci, int *implemented);
fs/ceph/super.h
791
extern int __ceph_caps_issued_mask(struct ceph_inode_info *ci, int mask, int t);
fs/ceph/super.h
792
extern int __ceph_caps_issued_mask_metric(struct ceph_inode_info *ci, int mask,
fs/ceph/super.h
794
extern int __ceph_caps_issued_other(struct ceph_inode_info *ci,
fs/ceph/super.h
797
static inline int ceph_caps_issued(struct ceph_inode_info *ci)
fs/ceph/super.h
800
spin_lock(&ci->i_ceph_lock);
fs/ceph/super.h
801
issued = __ceph_caps_issued(ci, NULL);
fs/ceph/super.h
802
spin_unlock(&ci->i_ceph_lock);
fs/ceph/super.h
806
static inline int ceph_caps_issued_mask_metric(struct ceph_inode_info *ci,
fs/ceph/super.h
810
spin_lock(&ci->i_ceph_lock);
fs/ceph/super.h
811
r = __ceph_caps_issued_mask_metric(ci, mask, touch);
fs/ceph/super.h
812
spin_unlock(&ci->i_ceph_lock);
fs/ceph/super.h
816
static inline int __ceph_caps_dirty(struct ceph_inode_info *ci)
fs/ceph/super.h
818
return ci->i_dirty_caps | ci->i_flushing_caps;
fs/ceph/super.h
822
extern int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask,
fs/ceph/super.h
825
extern int __ceph_caps_revoking_other(struct ceph_inode_info *ci,
fs/ceph/super.h
827
extern int __ceph_caps_used(struct ceph_inode_info *ci);
fs/ceph/super.h
829
static inline bool __ceph_is_file_opened(struct ceph_inode_info *ci)
fs/ceph/super.h
831
return ci->i_nr_by_mode[0];
fs/ceph/super.h
833
extern int __ceph_caps_file_wanted(struct ceph_inode_info *ci);
fs/ceph/super.h
834
extern int __ceph_caps_wanted(struct ceph_inode_info *ci);
fs/ceph/super.h
837
extern int __ceph_caps_mds_wanted(struct ceph_inode_info *ci, bool check);
fs/ceph/super.h
850
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
ci->i_ceph_flags |= CEPH_I_SEC_INITED;
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
1257
if (!ci->i_xattrs.prealloc_blob ||
fs/ceph/xattr.c
1258
required_blob_size > ci->i_xattrs.prealloc_blob->alloc_len) {
fs/ceph/xattr.c
1261
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1268
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1270
if (ci->i_xattrs.prealloc_blob)
fs/ceph/xattr.c
1271
old_blob = ci->i_xattrs.prealloc_blob;
fs/ceph/xattr.c
1272
ci->i_xattrs.prealloc_blob = blob;
fs/ceph/xattr.c
1276
err = __set_xattr(ci, newname, name_len, newval, val_len,
fs/ceph/xattr.c
1280
dirty = __ceph_mark_dirty_caps(ci, CEPH_CAP_XATTR_EXCL,
fs/ceph/xattr.c
1282
ci->i_xattrs.dirty = true;
fs/ceph/xattr.c
1286
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1296
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1311
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1312
if ((ci->i_max_files || ci->i_max_bytes) &&
fs/ceph/xattr.c
1313
!(ci->i_snap_realm &&
fs/ceph/xattr.c
1314
ci->i_snap_realm->ino == ci->i_vino.ino))
fs/ceph/xattr.c
1316
spin_unlock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1361
struct ceph_inode_info *ci;
fs/ceph/xattr.c
1365
ci = ceph_inode(in);
fs/ceph/xattr.c
1366
spin_lock(&ci->i_ceph_lock);
fs/ceph/xattr.c
1367
ret = !(ci->i_ceph_flags & CEPH_I_SEC_INITED) &&
fs/ceph/xattr.c
1368
!(ci->i_xattrs.version > 0 &&
fs/ceph/xattr.c
1369
__ceph_caps_issued_mask(ci, CEPH_CAP_XATTR_SHARED, 0));
fs/ceph/xattr.c
1370
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
137
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/bio.c
138
const unsigned int du_bits = ci->ci_data_unit_bits;
fs/crypto/bio.c
189
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
337
int fscrypt_crypt_data_unit(const struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
366
const struct fscrypt_inode_info *ci);
fs/crypto/fscrypt_private.h
410
int fscrypt_select_encryption_impl(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
414
fscrypt_using_inline_encryption(const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
416
return ci->ci_inlinecrypt;
fs/crypto/fscrypt_private.h
422
const struct fscrypt_inode_info *ci);
fs/crypto/fscrypt_private.h
437
const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
447
if (fscrypt_using_inline_encryption(ci))
fs/crypto/fscrypt_private.h
454
static inline int fscrypt_select_encryption_impl(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
461
fscrypt_using_inline_encryption(const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
470
const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
493
const struct fscrypt_inode_info *ci)
fs/crypto/fscrypt_private.h
721
const u8 *raw_key, const struct fscrypt_inode_info *ci);
fs/crypto/fscrypt_private.h
726
int fscrypt_set_per_file_enc_key(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
729
void fscrypt_derive_dirhash_key(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
732
void fscrypt_hash_inode_number(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
767
int fscrypt_setup_v1_file_key(struct fscrypt_inode_info *ci,
fs/crypto/fscrypt_private.h
771
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
108
if (ci->ci_mode->blk_crypto_mode == BLK_ENCRYPTION_MODE_INVALID)
fs/crypto/inline_crypt.c
123
if ((fscrypt_policy_flags(&ci->ci_policy) &
fs/crypto/inline_crypt.c
132
crypto_cfg.crypto_mode = ci->ci_mode->blk_crypto_mode;
fs/crypto/inline_crypt.c
133
crypto_cfg.data_unit_size = 1U << ci->ci_data_unit_bits;
fs/crypto/inline_crypt.c
134
crypto_cfg.dun_bytes = fscrypt_get_dun_bytes(ci);
fs/crypto/inline_crypt.c
147
fscrypt_log_blk_crypto_impl(ci->ci_mode, devs, num_devs, &crypto_cfg);
fs/crypto/inline_crypt.c
149
ci->ci_inlinecrypt = true;
fs/crypto/inline_crypt.c
159
const struct fscrypt_inode_info *ci)
fs/crypto/inline_crypt.c
161
const struct inode *inode = ci->ci_inode;
fs/crypto/inline_crypt.c
163
enum blk_crypto_mode_num crypto_mode = ci->ci_mode->blk_crypto_mode;
fs/crypto/inline_crypt.c
177
crypto_mode, fscrypt_get_dun_bytes(ci),
fs/crypto/inline_crypt.c
178
1U << ci->ci_data_unit_bits);
fs/crypto/inline_crypt.c
270
static void fscrypt_generate_dun(const struct fscrypt_inode_info *ci,
fs/crypto/inline_crypt.c
274
u64 index = lblk_num << ci->ci_data_units_per_block_bits;
fs/crypto/inline_crypt.c
278
fscrypt_generate_iv(&iv, index, ci);
fs/crypto/inline_crypt.c
282
for (i = 0; i < ci->ci_mode->ivsize/sizeof(dun[0]); i++)
fs/crypto/inline_crypt.c
305
const struct fscrypt_inode_info *ci;
fs/crypto/inline_crypt.c
310
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/inline_crypt.c
312
fscrypt_generate_dun(ci, first_lblk, dun);
fs/crypto/inline_crypt.c
313
bio_crypt_set_ctx(bio, ci->ci_enc_key.blk_key, dun, gfp_mask);
fs/crypto/inline_crypt.c
387
const struct fscrypt_inode_info *ci;
fs/crypto/inline_crypt.c
394
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/inline_crypt.c
401
if (bc->bc_key != ci->ci_enc_key.blk_key)
fs/crypto/inline_crypt.c
404
fscrypt_generate_dun(ci, next_lblk, next_dun);
fs/crypto/inline_crypt.c
43
static unsigned int fscrypt_get_dun_bytes(const struct fscrypt_inode_info *ci)
fs/crypto/inline_crypt.c
45
const struct super_block *sb = ci->ci_inode->i_sb;
fs/crypto/inline_crypt.c
46
unsigned int flags = fscrypt_policy_flags(&ci->ci_policy);
fs/crypto/inline_crypt.c
497
const struct fscrypt_inode_info *ci;
fs/crypto/inline_crypt.c
506
ci = fscrypt_get_inode_info_raw(inode);
fs/crypto/inline_crypt.c
507
if (!(fscrypt_policy_flags(&ci->ci_policy) &
fs/crypto/inline_crypt.c
513
dun = ci->ci_hashed_ino + lblk;
fs/crypto/inline_crypt.c
59
dun_bits = fscrypt_max_file_dun_bits(sb, ci->ci_data_unit_bits);
fs/crypto/inline_crypt.c
93
int fscrypt_select_encryption_impl(struct fscrypt_inode_info *ci,
fs/crypto/inline_crypt.c
96
const struct inode *inode = ci->ci_inode;
fs/crypto/keyring.c
939
struct fscrypt_inode_info *ci;
fs/crypto/keyring.c
945
list_for_each_entry(ci, &mk->mk_decrypted_inodes, ci_master_key_link) {
fs/crypto/keyring.c
946
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
186
int fscrypt_set_per_file_enc_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
189
ci->ci_owns_key = true;
fs/crypto/keysetup.c
190
return fscrypt_prepare_key(&ci->ci_enc_key, raw_key, ci);
fs/crypto/keysetup.c
193
static int setup_per_mode_enc_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
198
const struct inode *inode = ci->ci_inode;
fs/crypto/keysetup.c
200
struct fscrypt_mode *mode = ci->ci_mode;
fs/crypto/keysetup.c
214
if (!fscrypt_using_inline_encryption(ci)) {
fs/crypto/keysetup.c
216
fscrypt_warn(ci->ci_inode,
fs/crypto/keysetup.c
219
fscrypt_warn(ci->ci_inode,
fs/crypto/keysetup.c
227
if (fscrypt_is_key_prepared(prep_key, ci)) {
fs/crypto/keysetup.c
228
ci->ci_enc_key = *prep_key;
fs/crypto/keysetup.c
234
if (fscrypt_is_key_prepared(prep_key, ci))
fs/crypto/keysetup.c
241
ci);
fs/crypto/keysetup.c
258
err = fscrypt_prepare_key(prep_key, mode_key, ci);
fs/crypto/keysetup.c
263
ci->ci_enc_key = *prep_key;
fs/crypto/keysetup.c
290
void fscrypt_derive_dirhash_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
294
ci->ci_nonce, FSCRYPT_FILE_NONCE_SIZE,
fs/crypto/keysetup.c
295
&ci->ci_dirhash_key);
fs/crypto/keysetup.c
296
ci->ci_dirhash_key_initialized = true;
fs/crypto/keysetup.c
299
void fscrypt_hash_inode_number(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
302
WARN_ON_ONCE(ci->ci_inode->i_ino == 0);
fs/crypto/keysetup.c
305
ci->ci_hashed_ino = (u32)siphash_1u64(ci->ci_inode->i_ino,
fs/crypto/keysetup.c
309
static int fscrypt_setup_iv_ino_lblk_32_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
314
err = setup_per_mode_enc_key(ci, mk, mk->mk_iv_ino_lblk_32_keys,
fs/crypto/keysetup.c
339
if (ci->ci_inode->i_ino)
fs/crypto/keysetup.c
340
fscrypt_hash_inode_number(ci, mk);
fs/crypto/keysetup.c
344
static int fscrypt_setup_v2_file_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
351
!(ci->ci_policy.v2.flags & (FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 |
fs/crypto/keysetup.c
353
fscrypt_warn(ci->ci_inode,
fs/crypto/keysetup.c
358
if (ci->ci_policy.v2.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) {
fs/crypto/keysetup.c
367
err = setup_per_mode_enc_key(ci, mk, mk->mk_direct_keys,
fs/crypto/keysetup.c
369
} else if (ci->ci_policy.v2.flags &
fs/crypto/keysetup.c
377
err = setup_per_mode_enc_key(ci, mk, mk->mk_iv_ino_lblk_64_keys,
fs/crypto/keysetup.c
380
} else if (ci->ci_policy.v2.flags &
fs/crypto/keysetup.c
382
err = fscrypt_setup_iv_ino_lblk_32_key(ci, mk);
fs/crypto/keysetup.c
388
ci->ci_nonce, FSCRYPT_FILE_NONCE_SIZE,
fs/crypto/keysetup.c
389
derived_key, ci->ci_mode->keysize);
fs/crypto/keysetup.c
390
err = fscrypt_set_per_file_enc_key(ci, derived_key);
fs/crypto/keysetup.c
391
memzero_explicit(derived_key, ci->ci_mode->keysize);
fs/crypto/keysetup.c
398
fscrypt_derive_dirhash_key(ci, mk);
fs/crypto/keysetup.c
421
const struct fscrypt_inode_info *ci)
fs/crypto/keysetup.c
425
if (ci->ci_policy.version == FSCRYPT_POLICY_V1)
fs/crypto/keysetup.c
426
min_keysize = ci->ci_mode->keysize;
fs/crypto/keysetup.c
428
min_keysize = ci->ci_mode->security_strength;
fs/crypto/keysetup.c
452
static int setup_file_encryption_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup.c
456
struct super_block *sb = ci->ci_inode->i_sb;
fs/crypto/keysetup.c
461
err = fscrypt_policy_to_key_spec(&ci->ci_policy, &mk_spec);
fs/crypto/keysetup.c
477
fscrypt_policies_equal(dummy_policy, &ci->ci_policy)) {
fs/crypto/keysetup.c
485
if (ci->ci_policy.version != FSCRYPT_POLICY_V1)
fs/crypto/keysetup.c
488
err = fscrypt_select_encryption_impl(ci, false);
fs/crypto/keysetup.c
498
return fscrypt_setup_v1_file_key_via_subscribed_keyrings(ci);
fs/crypto/keysetup.c
508
if (!fscrypt_valid_master_key_size(mk, ci)) {
fs/crypto/keysetup.c
513
err = fscrypt_select_encryption_impl(ci, mk->mk_secret.is_hw_wrapped);
fs/crypto/keysetup.c
517
switch (ci->ci_policy.version) {
fs/crypto/keysetup.c
527
err = fscrypt_setup_v1_file_key(ci, mk->mk_secret.bytes);
fs/crypto/keysetup.c
530
err = fscrypt_setup_v2_file_key(ci, mk, need_dirhash_key);
fs/crypto/keysetup.c
549
static void put_crypt_info(struct fscrypt_inode_info *ci)
fs/crypto/keysetup.c
553
if (!ci)
fs/crypto/keysetup.c
556
if (ci->ci_direct_key)
fs/crypto/keysetup.c
557
fscrypt_put_direct_key(ci->ci_direct_key);
fs/crypto/keysetup.c
558
else if (ci->ci_owns_key)
fs/crypto/keysetup.c
559
fscrypt_destroy_prepared_key(ci->ci_inode->i_sb,
fs/crypto/keysetup.c
560
&ci->ci_enc_key);
fs/crypto/keysetup.c
562
mk = ci->ci_master_key;
fs/crypto/keysetup.c
571
list_del(&ci->ci_master_key_link);
fs/crypto/keysetup.c
573
fscrypt_put_master_key_activeref(ci->ci_inode->i_sb, mk);
fs/crypto/keysetup.c
575
memzero_explicit(ci, sizeof(*ci));
fs/crypto/keysetup.c
576
kmem_cache_free(fscrypt_inode_info_cachep, ci);
fs/crypto/keysetup.c
820
const struct fscrypt_inode_info *ci = fscrypt_get_inode_info(inode);
fs/crypto/keysetup.c
828
if (!ci || !ci->ci_master_key)
fs/crypto/keysetup.c
849
return !READ_ONCE(ci->ci_master_key->mk_present);
fs/crypto/keysetup_v1.c
173
const struct fscrypt_inode_info *ci)
fs/crypto/keysetup_v1.c
185
memcpy(&hash_key, ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
190
if (memcmp(ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
193
if (ci->ci_mode != dk->dk_mode)
fs/crypto/keysetup_v1.c
195
if (!fscrypt_is_key_prepared(&dk->dk_key, ci))
fs/crypto/keysetup_v1.c
197
if (crypto_memneq(raw_key, dk->dk_raw, ci->ci_mode->keysize))
fs/crypto/keysetup_v1.c
213
fscrypt_get_direct_key(const struct fscrypt_inode_info *ci, const u8 *raw_key)
fs/crypto/keysetup_v1.c
219
dk = find_or_insert_direct_key(NULL, raw_key, ci);
fs/crypto/keysetup_v1.c
227
dk->dk_sb = ci->ci_inode->i_sb;
fs/crypto/keysetup_v1.c
229
dk->dk_mode = ci->ci_mode;
fs/crypto/keysetup_v1.c
230
err = fscrypt_prepare_key(&dk->dk_key, raw_key, ci);
fs/crypto/keysetup_v1.c
233
memcpy(dk->dk_descriptor, ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
235
memcpy(dk->dk_raw, raw_key, ci->ci_mode->keysize);
fs/crypto/keysetup_v1.c
237
return find_or_insert_direct_key(dk, raw_key, ci);
fs/crypto/keysetup_v1.c
245
static int setup_v1_file_key_direct(struct fscrypt_inode_info *ci,
fs/crypto/keysetup_v1.c
250
dk = fscrypt_get_direct_key(ci, raw_master_key);
fs/crypto/keysetup_v1.c
253
ci->ci_direct_key = dk;
fs/crypto/keysetup_v1.c
254
ci->ci_enc_key = dk->dk_key;
fs/crypto/keysetup_v1.c
259
static int setup_v1_file_key_derived(struct fscrypt_inode_info *ci,
fs/crypto/keysetup_v1.c
269
derived_key = kmalloc(ci->ci_mode->keysize, GFP_KERNEL);
fs/crypto/keysetup_v1.c
273
err = derive_key_aes(raw_master_key, ci->ci_nonce,
fs/crypto/keysetup_v1.c
274
derived_key, ci->ci_mode->keysize);
fs/crypto/keysetup_v1.c
278
err = fscrypt_set_per_file_enc_key(ci, derived_key);
fs/crypto/keysetup_v1.c
284
int fscrypt_setup_v1_file_key(struct fscrypt_inode_info *ci,
fs/crypto/keysetup_v1.c
287
if (ci->ci_policy.v1.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY)
fs/crypto/keysetup_v1.c
288
return setup_v1_file_key_direct(ci, raw_master_key);
fs/crypto/keysetup_v1.c
290
return setup_v1_file_key_derived(ci, raw_master_key);
fs/crypto/keysetup_v1.c
294
fscrypt_setup_v1_file_key_via_subscribed_keyrings(struct fscrypt_inode_info *ci)
fs/crypto/keysetup_v1.c
296
const struct super_block *sb = ci->ci_inode->i_sb;
fs/crypto/keysetup_v1.c
302
ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
303
ci->ci_mode->keysize, &payload);
fs/crypto/keysetup_v1.c
306
ci->ci_policy.v1.master_key_descriptor,
fs/crypto/keysetup_v1.c
307
ci->ci_mode->keysize, &payload);
fs/crypto/keysetup_v1.c
312
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
709
const struct cld_clntinfo __user *ci;
fs/nfsd/nfs4recover.c
711
ci = &cmsg->cm_u.cm_clntinfo;
fs/nfsd/nfs4recover.c
712
if (get_user(namelen, &ci->cc_name.cn_len))
fs/nfsd/nfs4recover.c
718
namecopy = memdup_user(&ci->cc_name.cn_id, namelen);
fs/nfsd/nfs4recover.c
723
get_user(princhashlen, &ci->cc_princhash.cp_len);
fs/nfsd/nfs4recover.c
726
&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
1792
static int __ocfs2_find_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
1807
ocfs2_error(ocfs2_metadata_cache_get_super(ci),
fs/ocfs2/alloc.c
1809
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/alloc.c
1815
ocfs2_error(ocfs2_metadata_cache_get_super(ci),
fs/ocfs2/alloc.c
1818
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/alloc.c
1841
ocfs2_error(ocfs2_metadata_cache_get_super(ci),
fs/ocfs2/alloc.c
1843
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/alloc.c
1851
ret = ocfs2_read_extent_block(ci, blkno, &bh);
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
1908
int ocfs2_find_path(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
1915
return __ocfs2_find_path(ci, path_root_el(path), cpos,
fs/ocfs2/alloc.c
1940
int ocfs2_find_leaf(struct ocfs2_caching_info *ci,
fs/ocfs2/alloc.c
1947
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
929
int ocfs2_read_extent_block(struct ocfs2_caching_info *ci, u64 eb_blkno,
fs/ocfs2/alloc.c
935
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
193
int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
fs/ocfs2/buffer_head_io.c
201
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/buffer_head_io.c
204
trace_ocfs2_read_blocks_begin(ci, (unsigned long long)block, nr, flags);
fs/ocfs2/buffer_head_io.c
206
BUG_ON(!ci);
fs/ocfs2/buffer_head_io.c
233
ocfs2_metadata_cache_io_lock(ci);
fs/ocfs2/buffer_head_io.c
271
if (!ignore_cache && !ocfs2_buffer_uptodate(ci, bh)) {
fs/ocfs2/buffer_head_io.c
274
(unsigned long long)ocfs2_metadata_cache_owner(ci));
fs/ocfs2/buffer_head_io.c
299
&& ocfs2_buffer_read_ahead(ci, bh))
fs/ocfs2/buffer_head_io.c
321
&& ocfs2_buffer_uptodate(ci, bh)) {
fs/ocfs2/buffer_head_io.c
39
struct ocfs2_caching_info *ci)
fs/ocfs2/buffer_head_io.c
392
ocfs2_set_buffer_uptodate(ci, bh);
fs/ocfs2/buffer_head_io.c
394
ocfs2_metadata_cache_io_unlock(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
72
ocfs2_set_buffer_uptodate(ci, bh);
fs/ocfs2/buffer_head_io.c
81
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
3993
static int ocfs2_ci_checkpointed(struct ocfs2_caching_info *ci,
fs/ocfs2/dlmglue.c
3997
int checkpointed = ocfs2_ci_fully_checkpointed(ci);
fs/ocfs2/dlmglue.c
4005
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
1763
static u64 ocfs2_inode_cache_owner(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1765
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1770
static struct super_block *ocfs2_inode_cache_get_super(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1772
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1777
static void ocfs2_inode_cache_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1780
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1785
static void ocfs2_inode_cache_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1788
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1793
static void ocfs2_inode_cache_io_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1795
struct ocfs2_inode_info *oi = cache_info_to_inode(ci);
fs/ocfs2/inode.c
1800
static void ocfs2_inode_cache_io_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/inode.c
1802
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
653
struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
660
OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
662
BUG_ON(!ci || !ci->ci_ops);
fs/ocfs2/journal.c
667
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/journal.c
701
ocfs2_set_ci_lock_trans(osb->journal, ci);
fs/ocfs2/journal.c
703
ocfs2_metadata_cache_io_lock(ci);
fs/ocfs2/journal.c
720
ocfs2_metadata_cache_io_unlock(ci);
fs/ocfs2/journal.c
729
int ocfs2_journal_access_di(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
732
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
734
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
739
int ocfs2_journal_access_eb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
742
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
744
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
749
int ocfs2_journal_access_rb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
752
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
754
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
759
int ocfs2_journal_access_gd(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
762
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
764
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
769
int ocfs2_journal_access_db(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
772
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
774
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
779
int ocfs2_journal_access_xb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
782
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
784
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
789
int ocfs2_journal_access_dq(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
792
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
794
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
799
int ocfs2_journal_access_dr(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
802
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
804
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
809
int ocfs2_journal_access_dl(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
812
struct ocfs2_super *osb = OCFS2_SB(ocfs2_metadata_cache_get_super(ci));
fs/ocfs2/journal.c
814
return __ocfs2_journal_access(handle, ci, bh,
fs/ocfs2/journal.c
819
int ocfs2_journal_access(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.c
822
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
278
int ocfs2_journal_access_di(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
281
int ocfs2_journal_access_eb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
284
int ocfs2_journal_access_rb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
287
int ocfs2_journal_access_gd(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
290
int ocfs2_journal_access_xb(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
293
int ocfs2_journal_access_dq(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
296
int ocfs2_journal_access_db(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
299
int ocfs2_journal_access_dr(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
302
int ocfs2_journal_access_dl(handle_t *handle, struct ocfs2_caching_info *ci,
fs/ocfs2/journal.h
305
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
518
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
2686
TP_PROTO(unsigned long long block, void *ci),
fs/ocfs2/ocfs2_trace.h
2687
TP_ARGS(block, ci),
fs/ocfs2/ocfs2_trace.h
2690
__field(void *, ci)
fs/ocfs2/ocfs2_trace.h
2694
__entry->ci = ci;
fs/ocfs2/ocfs2_trace.h
2696
TP_printk("%llu %p", __entry->block, __entry->ci)
fs/ocfs2/ocfs2_trace.h
2700
TP_PROTO(void *ci, unsigned long long block,
fs/ocfs2/ocfs2_trace.h
2702
TP_ARGS(ci, block, nr, flags),
fs/ocfs2/ocfs2_trace.h
2704
__field(void *, ci)
fs/ocfs2/ocfs2_trace.h
2710
__entry->ci = ci;
fs/ocfs2/ocfs2_trace.h
2715
TP_printk("%p %llu %u %d", __entry->ci, __entry->block,
fs/ocfs2/refcounttree.c
1006
ret = ocfs2_find_path(ci, left_path, cpos);
fs/ocfs2/refcounttree.c
1025
ret = ocfs2_find_path(ci, right_path, cpos);
fs/ocfs2/refcounttree.c
1058
static int ocfs2_get_refcount_rec(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1071
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
1076
ocfs2_find_refcount_rec_in_rl(ci, ref_root_bh, cpos, len,
fs/ocfs2/refcounttree.c
1087
ret = ocfs2_find_leaf(ci, el, low_cpos, &eb_bh);
fs/ocfs2/refcounttree.c
1099
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
1116
ret = ocfs2_get_refcount_cpos_end(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1127
ret = ocfs2_read_refcount_block(ci, le64_to_cpu(rec->e_blkno),
fs/ocfs2/refcounttree.c
1134
ocfs2_find_refcount_rec_in_rl(ci, ref_leaf_bh, cpos, len,
fs/ocfs2/refcounttree.c
1236
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
124
static int ocfs2_read_refcount_block(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1246
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1254
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
1277
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1286
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
1292
ret = ocfs2_journal_access_rb(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
131
rc = ocfs2_read_block(ci, rb_blkno, &tmp,
fs/ocfs2/refcounttree.c
1313
ocfs2_set_new_buffer_uptodate(ci, new_bh);
fs/ocfs2/refcounttree.c
1315
ret = ocfs2_journal_access_rb(handle, ci, new_bh,
fs/ocfs2/refcounttree.c
141
static u64 ocfs2_refcount_cache_owner(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
143
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
149
ocfs2_refcount_cache_get_super(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1508
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
151
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1517
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
1526
ret = ocfs2_journal_access_rb(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1533
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1554
ocfs2_set_new_buffer_uptodate(ci, new_bh);
fs/ocfs2/refcounttree.c
1556
ret = ocfs2_journal_access_rb(handle, ci, new_bh,
fs/ocfs2/refcounttree.c
156
static void ocfs2_refcount_cache_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1587
ocfs2_init_refcount_extent_tree(&ref_et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
159
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1604
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1617
ret = ocfs2_expand_inline_ref_root(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1630
ret = ocfs2_new_leaf_refcount_block(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
164
static void ocfs2_refcount_cache_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1646
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1668
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
167
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1677
ret = ocfs2_find_path(ci, path, old_cpos);
fs/ocfs2/refcounttree.c
1693
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1700
ret = ocfs2_journal_access_eb(handle, ci, path_leaf_bh(path),
fs/ocfs2/refcounttree.c
172
static void ocfs2_refcount_cache_io_lock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1730
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
174
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1749
ret = ocfs2_expand_refcount_tree(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1756
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1769
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
179
static void ocfs2_refcount_cache_io_unlock(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
1797
ret = ocfs2_adjust_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
181
struct ocfs2_refcount_tree *rf = cache_info_to_refcount(ci);
fs/ocfs2/refcounttree.c
1818
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1875
ret = ocfs2_expand_refcount_tree(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1886
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
1900
ret = ocfs2_journal_access_rb(handle, ci, ref_leaf_bh,
fs/ocfs2/refcounttree.c
1974
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
1986
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
1990
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2015
ret = ocfs2_change_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2028
ret = ocfs2_insert_refcount_rec(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2046
ret = ocfs2_split_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2068
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2075
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
2083
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
2087
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
2095
ocfs2_remove_from_cache(ci, ref_leaf_bh);
fs/ocfs2/refcounttree.c
2111
ret = ocfs2_journal_access_rb(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2148
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2154
return __ocfs2_increase_refcount(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2160
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2177
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
2182
ret = ocfs2_change_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2191
ret = ocfs2_split_refcount_rec(handle, ci,
fs/ocfs2/refcounttree.c
2204
ret = ocfs2_remove_refcount_extent(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2216
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2226
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
2230
(unsigned long long)ocfs2_metadata_cache_owner(ci),
fs/ocfs2/refcounttree.c
2234
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2250
ret = ocfs2_decrease_refcount_rec(handle, ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2364
struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
2379
ret = ocfs2_get_refcount_rec(ci, ref_root_bh,
fs/ocfs2/refcounttree.c
2483
ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
fs/ocfs2/refcounttree.c
3000
struct ocfs2_caching_info *ci = INODE_CACHE(inode);
fs/ocfs2/refcounttree.c
3019
ocfs2_set_new_buffer_uptodate(ci, new_bh);
fs/ocfs2/refcounttree.c
3021
ret = ocfs2_read_block(ci, old_block, &old_bh, NULL);
fs/ocfs2/refcounttree.c
3027
ret = ocfs2_journal_access(handle, ci, new_bh,
fs/ocfs2/refcounttree.c
3113
struct ocfs2_caching_info *ci = context->data_et.et_ci;
fs/ocfs2/refcounttree.c
3114
u64 ino = ocfs2_metadata_cache_owner(ci);
fs/ocfs2/refcounttree.c
68
cache_info_to_refcount(struct ocfs2_caching_info *ci)
fs/ocfs2/refcounttree.c
70
return container_of(ci, struct ocfs2_refcount_tree, rf_ci);
fs/ocfs2/refcounttree.c
876
static void ocfs2_find_refcount_rec_in_rl(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
958
static int ocfs2_get_refcount_cpos_end(struct ocfs2_caching_info *ci,
fs/ocfs2/refcounttree.c
967
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
fs/ocfs2/refcounttree.c
996
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
492
if (!cpumask_test_cpu(cpu, &rr->ci->shared_cpu_map))
fs/resctrl/monitor.c
504
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
1527
struct cacheinfo *ci;
fs/resctrl/rdtgroup.c
1534
ci = get_cpu_cacheinfo_level(cpumask_any(&d->hdr.cpu_mask), r->ctrl_scope);
fs/resctrl/rdtgroup.c
1535
if (ci)
fs/resctrl/rdtgroup.c
1536
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
1016
if (opinfo->o_fp->f_ci == ci)
fs/smb/server/oplock.c
1192
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/oplock.c
1232
m_opinfo = same_client_has_lease(ci, sess->ClientGUID,
fs/smb/server/oplock.c
1242
prev_opinfo = opinfo_get_list(ci);
fs/smb/server/oplock.c
1366
struct ksmbd_inode *ci;
fs/smb/server/oplock.c
1373
ci = fp->f_ci;
fs/smb/server/oplock.c
1376
down_read(&ci->m_lock);
fs/smb/server/oplock.c
1377
list_for_each_entry(brk_op, &ci->m_op_list, op_entry) {
fs/smb/server/oplock.c
1419
up_read(&ci->m_lock);
fs/smb/server/oplock.c
165
static struct oplock_info *opinfo_get_list(struct ksmbd_inode *ci)
fs/smb/server/oplock.c
169
down_read(&ci->m_lock);
fs/smb/server/oplock.c
170
opinfo = list_first_entry_or_null(&ci->m_op_list, struct oplock_info,
fs/smb/server/oplock.c
183
up_read(&ci->m_lock);
fs/smb/server/oplock.c
201
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/oplock.c
203
down_write(&ci->m_lock);
fs/smb/server/oplock.c
204
list_add(&opinfo->op_entry, &ci->m_op_list);
fs/smb/server/oplock.c
205
up_write(&ci->m_lock);
fs/smb/server/oplock.c
210
struct ksmbd_inode *ci = opinfo->o_fp->f_ci;
fs/smb/server/oplock.c
217
down_write(&ci->m_lock);
fs/smb/server/oplock.c
219
up_write(&ci->m_lock);
fs/smb/server/oplock.c
506
static struct oplock_info *same_client_has_lease(struct ksmbd_inode *ci,
fs/smb/server/oplock.c
522
down_read(&ci->m_lock);
fs/smb/server/oplock.c
523
list_for_each_entry(opinfo, &ci->m_op_list, op_entry) {
fs/smb/server/oplock.c
536
if ((atomic_read(&ci->op_count) +
fs/smb/server/oplock.c
537
atomic_read(&ci->sop_count)) == 1) {
fs/smb/server/oplock.c
547
} else if ((atomic_read(&ci->op_count) +
fs/smb/server/oplock.c
548
atomic_read(&ci->sop_count)) > 1) {
fs/smb/server/oplock.c
564
up_read(&ci->m_lock);
fs/smb/server/oplock.c
985
int find_same_lease_key(struct ksmbd_session *sess, struct ksmbd_inode *ci,
fs/smb/server/oplock.h
119
int find_same_lease_key(struct ksmbd_session *sess, struct ksmbd_inode *ci,
fs/smb/server/vfs_cache.c
1003
ci = fp->f_ci;
fs/smb/server/vfs_cache.c
1004
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
1005
list_for_each_entry_rcu(op, &ci->m_op_list, op_entry) {
fs/smb/server/vfs_cache.c
1012
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
1091
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
1107
ci = fp->f_ci;
fs/smb/server/vfs_cache.c
1108
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
1109
list_for_each_entry_rcu(op, &ci->m_op_list, op_entry) {
fs/smb/server/vfs_cache.c
1115
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
173
struct ksmbd_inode *ci = NULL, *ret_ci = NULL;
fs/smb/server/vfs_cache.c
175
hlist_for_each_entry(ci, head, m_hash) {
fs/smb/server/vfs_cache.c
176
if (ci->m_de == de) {
fs/smb/server/vfs_cache.c
177
if (atomic_inc_not_zero(&ci->m_count))
fs/smb/server/vfs_cache.c
178
ret_ci = ci;
fs/smb/server/vfs_cache.c
192
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
195
ci = __ksmbd_inode_lookup(d);
fs/smb/server/vfs_cache.c
198
return ci;
fs/smb/server/vfs_cache.c
203
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
207
ci = __ksmbd_inode_lookup(dentry);
fs/smb/server/vfs_cache.c
209
if (!ci)
fs/smb/server/vfs_cache.c
212
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
213
if (ci->m_flags & (S_DEL_PENDING | S_DEL_ON_CLS))
fs/smb/server/vfs_cache.c
217
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
219
atomic_dec(&ci->m_count);
fs/smb/server/vfs_cache.c
225
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
228
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
229
ret = (ci->m_flags & (S_DEL_PENDING | S_DEL_ON_CLS));
fs/smb/server/vfs_cache.c
230
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
237
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
239
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
240
ci->m_flags |= S_DEL_PENDING;
fs/smb/server/vfs_cache.c
241
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
246
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
248
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
249
ci->m_flags &= ~S_DEL_PENDING;
fs/smb/server/vfs_cache.c
250
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
256
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
258
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
260
ci->m_flags |= S_DEL_ON_CLS_STREAM;
fs/smb/server/vfs_cache.c
262
ci->m_flags |= S_DEL_ON_CLS;
fs/smb/server/vfs_cache.c
263
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
266
static void ksmbd_inode_hash(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
269
inode_hash(d_inode(ci->m_de)->i_sb, (unsigned long)ci->m_de);
fs/smb/server/vfs_cache.c
271
hlist_add_head(&ci->m_hash, b);
fs/smb/server/vfs_cache.c
274
static void ksmbd_inode_unhash(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
277
hlist_del_init(&ci->m_hash);
fs/smb/server/vfs_cache.c
281
static int ksmbd_inode_init(struct ksmbd_inode *ci, struct ksmbd_file *fp)
fs/smb/server/vfs_cache.c
283
atomic_set(&ci->m_count, 1);
fs/smb/server/vfs_cache.c
284
atomic_set(&ci->op_count, 0);
fs/smb/server/vfs_cache.c
285
atomic_set(&ci->sop_count, 0);
fs/smb/server/vfs_cache.c
286
ci->m_flags = 0;
fs/smb/server/vfs_cache.c
287
ci->m_fattr = 0;
fs/smb/server/vfs_cache.c
288
INIT_LIST_HEAD(&ci->m_fp_list);
fs/smb/server/vfs_cache.c
289
INIT_LIST_HEAD(&ci->m_op_list);
fs/smb/server/vfs_cache.c
290
init_rwsem(&ci->m_lock);
fs/smb/server/vfs_cache.c
291
ci->m_de = fp->filp->f_path.dentry;
fs/smb/server/vfs_cache.c
297
struct ksmbd_inode *ci, *tmpci;
fs/smb/server/vfs_cache.c
301
ci = ksmbd_inode_lookup(fp);
fs/smb/server/vfs_cache.c
303
if (ci)
fs/smb/server/vfs_cache.c
304
return ci;
fs/smb/server/vfs_cache.c
306
ci = kmalloc_obj(struct ksmbd_inode, KSMBD_DEFAULT_GFP);
fs/smb/server/vfs_cache.c
307
if (!ci)
fs/smb/server/vfs_cache.c
310
rc = ksmbd_inode_init(ci, fp);
fs/smb/server/vfs_cache.c
313
kfree(ci);
fs/smb/server/vfs_cache.c
320
ksmbd_inode_hash(ci);
fs/smb/server/vfs_cache.c
322
kfree(ci);
fs/smb/server/vfs_cache.c
323
ci = tmpci;
fs/smb/server/vfs_cache.c
326
return ci;
fs/smb/server/vfs_cache.c
329
static void ksmbd_inode_free(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
331
ksmbd_inode_unhash(ci);
fs/smb/server/vfs_cache.c
332
kfree(ci);
fs/smb/server/vfs_cache.c
335
void ksmbd_inode_put(struct ksmbd_inode *ci)
fs/smb/server/vfs_cache.c
337
if (atomic_dec_and_test(&ci->m_count))
fs/smb/server/vfs_cache.c
338
ksmbd_inode_free(ci);
fs/smb/server/vfs_cache.c
370
struct ksmbd_inode *ci = fp->f_ci;
fs/smb/server/vfs_cache.c
379
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
380
if (ci->m_flags & S_DEL_ON_CLS_STREAM) {
fs/smb/server/vfs_cache.c
381
ci->m_flags &= ~S_DEL_ON_CLS_STREAM;
fs/smb/server/vfs_cache.c
384
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
397
if (atomic_dec_and_test(&ci->m_count)) {
fs/smb/server/vfs_cache.c
400
down_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
401
if (ci->m_flags & (S_DEL_ON_CLS | S_DEL_PENDING)) {
fs/smb/server/vfs_cache.c
402
ci->m_flags &= ~(S_DEL_ON_CLS | S_DEL_PENDING);
fs/smb/server/vfs_cache.c
405
up_write(&ci->m_lock);
fs/smb/server/vfs_cache.c
410
ksmbd_inode_free(ci);
fs/smb/server/vfs_cache.c
664
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.c
668
ci = __ksmbd_inode_lookup(dentry);
fs/smb/server/vfs_cache.c
670
if (!ci)
fs/smb/server/vfs_cache.c
673
down_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
674
list_for_each_entry(lfp, &ci->m_fp_list, node) {
fs/smb/server/vfs_cache.c
676
atomic_dec(&ci->m_count);
fs/smb/server/vfs_cache.c
678
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
682
atomic_dec(&ci->m_count);
fs/smb/server/vfs_cache.c
683
up_read(&ci->m_lock);
fs/smb/server/vfs_cache.c
995
struct ksmbd_inode *ci;
fs/smb/server/vfs_cache.h
151
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
2929
struct xfs_ialloc_count_inodes *ci = priv;
fs/xfs/libxfs/xfs_ialloc.c
2937
ci->count += irec.ir_count;
fs/xfs/libxfs/xfs_ialloc.c
2938
ci->freecount += irec.ir_freecount;
fs/xfs/libxfs/xfs_ialloc.c
2950
struct xfs_ialloc_count_inodes ci = {0};
fs/xfs/libxfs/xfs_ialloc.c
2954
error = xfs_btree_query_all(cur, xfs_ialloc_count_inodes_rec, &ci);
fs/xfs/libxfs/xfs_ialloc.c
2958
*count = ci.count;
fs/xfs/libxfs/xfs_ialloc.c
2959
*freecount = ci.freecount;
include/linux/cacheinfo.h
123
struct cpu_cacheinfo *ci = get_cpu_cacheinfo(cpu);
include/linux/cacheinfo.h
128
for (i = 0; i < ci->num_leaves; i++) {
include/linux/cacheinfo.h
129
if (ci->info_list[i].level == level) {
include/linux/cacheinfo.h
130
if (ci->info_list[i].attributes & CACHE_ID)
include/linux/cacheinfo.h
131
return &ci->info_list[i];
include/linux/cacheinfo.h
145
struct cacheinfo *ci = get_cpu_cacheinfo_level(cpu, level);
include/linux/cacheinfo.h
147
return ci ? ci->id : -1;
include/linux/firewire.h
74
void fw_csr_iterator_init(struct fw_csr_iterator *ci, const u32 *p);
include/linux/firewire.h
75
int fw_csr_iterator_next(struct fw_csr_iterator *ci, int *key, int *value);
include/linux/fscrypt.h
226
struct fscrypt_inode_info *ci = *fscrypt_inode_info_addr(inode);
include/linux/fscrypt.h
228
VFS_WARN_ON_ONCE(ci == NULL);
include/linux/fscrypt.h
229
return ci;
include/linux/habanalabs/cpucp_if.h
58
__le32 ci;
include/linux/hte.h
265
struct hte_clk_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,
mm/huge_memory.c
3795
struct swap_cluster_info *ci = NULL;
mm/huge_memory.c
3838
ci = swap_cluster_get_and_lock(folio);
mm/huge_memory.c
3874
if (ci) {
mm/huge_memory.c
3875
__swap_cache_replace_folio(ci, folio, new_folio);
mm/huge_memory.c
3913
if (ci)
mm/huge_memory.c
3914
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/shmem.c
2132
struct swap_cluster_info *ci;
mm/shmem.c
2165
ci = swap_cluster_get_and_lock_irq(old);
mm/shmem.c
2166
__swap_cache_replace_folio(ci, old, new);
mm/shmem.c
2170
swap_cluster_unlock_irq(ci);
mm/swap.h
100
struct swap_cluster_info *ci = __swap_offset_to_cluster(si, offset);
mm/swap.h
114
spin_lock_irq(&ci->lock);
mm/swap.h
116
spin_lock(&ci->lock);
mm/swap.h
117
return ci;
mm/swap.h
176
static inline void swap_cluster_unlock(struct swap_cluster_info *ci)
mm/swap.h
178
spin_unlock(&ci->lock);
mm/swap.h
181
static inline void swap_cluster_unlock_irq(struct swap_cluster_info *ci)
mm/swap.h
183
spin_unlock_irq(&ci->lock);
mm/swap.h
210
struct swap_cluster_info *ci,
mm/swap.h
283
void __swap_cache_add_folio(struct swap_cluster_info *ci,
mm/swap.h
285
void __swap_cache_del_folio(struct swap_cluster_info *ci,
mm/swap.h
287
void __swap_cache_replace_folio(struct swap_cluster_info *ci,
mm/swap.h
372
static inline void swap_cluster_unlock(struct swap_cluster_info *ci)
mm/swap.h
376
static inline void swap_cluster_unlock_irq(struct swap_cluster_info *ci)
mm/swap.h
468
static inline void __swap_cache_del_folio(struct swap_cluster_info *ci,
mm/swap.h
473
static inline void __swap_cache_replace_folio(struct swap_cluster_info *ci,
mm/swap_state.c
140
void __swap_cache_add_folio(struct swap_cluster_info *ci,
mm/swap_state.c
156
VM_WARN_ON_ONCE(swp_tb_is_folio(__swap_table_get(ci, ci_off)));
mm/swap_state.c
157
__swap_table_set(ci, ci_off, new_tb);
mm/swap_state.c
185
struct swap_cluster_info *ci;
mm/swap_state.c
194
ci = swap_cluster_lock(si, swp_offset(entry));
mm/swap_state.c
195
if (unlikely(!ci->table)) {
mm/swap_state.c
200
old_tb = __swap_table_get(ci, ci_off);
mm/swap_state.c
213
__swap_cache_add_folio(ci, folio, entry);
mm/swap_state.c
214
swap_cluster_unlock(ci);
mm/swap_state.c
220
swap_cluster_unlock(ci);
mm/swap_state.c
237
void __swap_cache_del_folio(struct swap_cluster_info *ci, struct folio *folio,
mm/swap_state.c
246
VM_WARN_ON_ONCE(__swap_entry_to_cluster(entry) != ci);
mm/swap_state.c
258
old_tb = __swap_table_xchg(ci, ci_off, new_tb);
mm/swap_state.c
274
swap_entries_free(si, ci, swp_offset(entry), nr_pages);
mm/swap_state.c
278
swap_entries_free(si, ci, swp_offset(entry), 1);
mm/swap_state.c
296
struct swap_cluster_info *ci;
mm/swap_state.c
299
ci = swap_cluster_lock(__swap_entry_to_info(entry), swp_offset(entry));
mm/swap_state.c
300
__swap_cache_del_folio(ci, folio, entry, NULL);
mm/swap_state.c
301
swap_cluster_unlock(ci);
mm/swap_state.c
320
void __swap_cache_replace_folio(struct swap_cluster_info *ci,
mm/swap_state.c
336
old_tb = __swap_table_xchg(ci, ci_off, new_tb);
mm/swap_state.c
350
WARN_ON_ONCE(swp_tb_to_folio(__swap_table_get(ci, ci_off)) != old);
mm/swap_state.c
364
struct swap_cluster_info *ci = __swap_entry_to_cluster(entry);
mm/swap_state.c
370
old = __swap_table_xchg(ci, ci_off, null_to_swp_tb());
mm/swap_table.h
100
lockdep_assert_held(&ci->lock);
mm/swap_table.h
106
static inline unsigned long __swap_table_get(struct swap_cluster_info *ci,
mm/swap_table.h
112
table = rcu_dereference_check(ci->table, lockdep_is_held(&ci->lock));
mm/swap_table.h
117
static inline unsigned long swap_table_get(struct swap_cluster_info *ci,
mm/swap_table.h
124
table = rcu_dereference(ci->table);
mm/swap_table.h
85
static inline void __swap_table_set(struct swap_cluster_info *ci,
mm/swap_table.h
88
atomic_long_t *table = rcu_dereference_protected(ci->table, true);
mm/swap_table.h
90
lockdep_assert_held(&ci->lock);
mm/swap_table.h
95
static inline unsigned long __swap_table_xchg(struct swap_cluster_info *ci,
mm/swap_table.h
98
atomic_long_t *table = rcu_dereference_protected(ci->table, true);
mm/swapfile.c
1005
swp_tb_is_folio(swap_table_get(ci, offset % SWAPFILE_CLUSTER))) {
mm/swapfile.c
1006
spin_unlock(&ci->lock);
mm/swapfile.c
1009
spin_lock(&ci->lock);
mm/swapfile.c
1019
if (ci->flags == CLUSTER_FLAG_NONE)
mm/swapfile.c
1020
relocate_cluster(si, ci);
mm/swapfile.c
1022
swap_cluster_unlock(ci);
mm/swapfile.c
1044
struct swap_cluster_info *ci;
mm/swapfile.c
1062
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1064
if (cluster_is_usable(ci, order)) {
mm/swapfile.c
1065
if (cluster_is_empty(ci))
mm/swapfile.c
1066
offset = cluster_offset(si, ci);
mm/swapfile.c
1067
found = alloc_swap_scan_cluster(si, ci, folio, offset);
mm/swapfile.c
1069
swap_cluster_unlock(ci);
mm/swapfile.c
1321
struct swap_cluster_info *ci;
mm/swapfile.c
1334
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1335
if (cluster_is_usable(ci, order)) {
mm/swapfile.c
1336
if (cluster_is_empty(ci))
mm/swapfile.c
1337
offset = cluster_offset(si, ci);
mm/swapfile.c
1338
alloc_swap_scan_cluster(si, ci, folio, offset);
mm/swapfile.c
1340
swap_cluster_unlock(ci);
mm/swapfile.c
1432
struct swap_cluster_info *ci;
mm/swapfile.c
1438
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1440
swp_tb = __swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
1459
swap_put_entry_locked(si, ci, offset);
mm/swapfile.c
1461
swap_entries_free(si, ci, batch_start, offset - batch_start);
mm/swapfile.c
1467
swap_entries_free(si, ci, batch_start, offset - batch_start);
mm/swapfile.c
1468
swap_cluster_unlock(ci);
mm/swapfile.c
1602
struct swap_cluster_info *ci,
mm/swapfile.c
1619
if (!count && !swp_tb_is_folio(__swap_table_get(ci, offset % SWAPFILE_CLUSTER)))
mm/swapfile.c
1620
swap_entries_free(si, ci, offset, 1);
mm/swapfile.c
1693
struct swap_cluster_info *ci,
mm/swapfile.c
1701
VM_BUG_ON(ci != __swap_offset_to_cluster(si, offset + nr_pages - 1));
mm/swapfile.c
1702
VM_BUG_ON(cluster_is_empty(ci));
mm/swapfile.c
1703
VM_BUG_ON(ci->count < nr_pages);
mm/swapfile.c
1705
ci->count -= nr_pages;
mm/swapfile.c
1713
swap_cluster_assert_table_empty(ci, offset, nr_pages);
mm/swapfile.c
1715
if (!ci->count)
mm/swapfile.c
1716
free_cluster(si, ci);
mm/swapfile.c
1718
partial_free_cluster(si, ci);
mm/swapfile.c
1737
struct swap_cluster_info *ci;
mm/swapfile.c
1740
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1742
swap_cluster_unlock(ci);
mm/swapfile.c
1755
struct swap_cluster_info *ci;
mm/swapfile.c
1766
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
178
struct swap_cluster_info *ci,
mm/swapfile.c
1789
swap_cluster_unlock(ci);
mm/swapfile.c
1797
struct swap_cluster_info *ci;
mm/swapfile.c
1805
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1818
swap_cluster_unlock(ci);
mm/swapfile.c
187
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
1959
struct swap_cluster_info *ci;
mm/swapfile.c
1966
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
1967
swap_put_entry_locked(si, ci, offset);
mm/swapfile.c
1968
swap_cluster_unlock(ci);
mm/swapfile.c
206
struct swap_cluster_info *ci;
mm/swapfile.c
250
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
251
need_reclaim = swap_only_has_cache(si, ci, offset, nr_pages);
mm/swapfile.c
252
swap_cluster_unlock(ci);
mm/swapfile.c
2716
struct swap_cluster_info *ci;
mm/swapfile.c
2721
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
2722
swap_cluster_unlock(ci);
mm/swapfile.c
2729
struct swap_cluster_info *ci;
mm/swapfile.c
2735
ci = cluster_info + i;
mm/swapfile.c
2737
spin_lock(&ci->lock);
mm/swapfile.c
2738
if (rcu_dereference_protected(ci->table, true)) {
mm/swapfile.c
2739
ci->count = 0;
mm/swapfile.c
2740
swap_cluster_free_table(ci);
mm/swapfile.c
2742
spin_unlock(&ci->lock);
mm/swapfile.c
3311
struct swap_cluster_info *ci = &cluster_info[i];
mm/swapfile.c
3313
if (ci->count) {
mm/swapfile.c
3314
ci->flags = CLUSTER_FLAG_NONFULL;
mm/swapfile.c
3315
list_add_tail(&ci->list, &si->nonfull_clusters[0]);
mm/swapfile.c
3317
ci->flags = CLUSTER_FLAG_FREE;
mm/swapfile.c
3318
list_add_tail(&ci->list, &si->free_clusters);
mm/swapfile.c
3600
struct swap_cluster_info *ci,
mm/swapfile.c
3620
!swp_tb_is_folio(__swap_table_get(ci, offset % SWAPFILE_CLUSTER))))
mm/swapfile.c
3650
struct swap_cluster_info *ci;
mm/swapfile.c
3660
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
3661
err = swap_dup_entries(si, ci, offset, usage, nr);
mm/swapfile.c
3662
swap_cluster_unlock(ci);
mm/swapfile.c
3704
struct swap_cluster_info *ci;
mm/swapfile.c
3729
ci = swap_cluster_lock(si, offset);
mm/swapfile.c
3789
swap_cluster_unlock(ci);
mm/swapfile.c
389
static inline bool cluster_table_is_alloced(struct swap_cluster_info *ci)
mm/swapfile.c
391
return rcu_dereference_protected(ci->table, lockdep_is_held(&ci->lock));
mm/swapfile.c
394
static inline bool cluster_is_usable(struct swap_cluster_info *ci, int order)
mm/swapfile.c
396
if (unlikely(ci->flags > CLUSTER_FLAG_USABLE))
mm/swapfile.c
398
if (!cluster_table_is_alloced(ci))
mm/swapfile.c
402
return cluster_is_empty(ci) || order == ci->order;
mm/swapfile.c
406
struct swap_cluster_info *ci)
mm/swapfile.c
408
return ci - si->cluster_info;
mm/swapfile.c
412
struct swap_cluster_info *ci)
mm/swapfile.c
414
return cluster_index(si, ci) * SWAPFILE_CLUSTER;
mm/swapfile.c
449
static void swap_cluster_free_table(struct swap_cluster_info *ci)
mm/swapfile.c
455
lockdep_assert_held(&ci->lock);
mm/swapfile.c
456
VM_WARN_ON_ONCE(!cluster_is_empty(ci));
mm/swapfile.c
458
VM_WARN_ON_ONCE(!swp_tb_is_null(__swap_table_get(ci, ci_off)));
mm/swapfile.c
459
table = (void *)rcu_dereference_protected(ci->table, true);
mm/swapfile.c
460
rcu_assign_pointer(ci->table, NULL);
mm/swapfile.c
471
struct swap_cluster_info *ci)
mm/swapfile.c
479
lockdep_assert_held(&ci->lock);
mm/swapfile.c
483
VM_WARN_ON_ONCE(ci->flags || !cluster_is_empty(ci));
mm/swapfile.c
487
rcu_assign_pointer(ci->table, table);
mm/swapfile.c
488
return ci;
mm/swapfile.c
496
spin_unlock(&ci->lock);
mm/swapfile.c
514
spin_lock(&ci->lock);
mm/swapfile.c
517
if (WARN_ON_ONCE(cluster_table_is_alloced(ci))) {
mm/swapfile.c
520
return ci;
mm/swapfile.c
524
move_cluster(si, ci, &si->free_clusters, CLUSTER_FLAG_FREE);
mm/swapfile.c
525
spin_unlock(&ci->lock);
mm/swapfile.c
529
rcu_assign_pointer(ci->table, table);
mm/swapfile.c
530
return ci;
mm/swapfile.c
534
struct swap_cluster_info *ci, struct list_head *list,
mm/swapfile.c
537
VM_WARN_ON(ci->flags == new_flags);
mm/swapfile.c
539
BUILD_BUG_ON(1 << sizeof(ci->flags) * BITS_PER_BYTE < CLUSTER_FLAG_MAX);
mm/swapfile.c
540
lockdep_assert_held(&ci->lock);
mm/swapfile.c
543
if (ci->flags == CLUSTER_FLAG_NONE)
mm/swapfile.c
544
list_add_tail(&ci->list, list);
mm/swapfile.c
546
list_move_tail(&ci->list, list);
mm/swapfile.c
548
ci->flags = new_flags;
mm/swapfile.c
553
struct swap_cluster_info *ci)
mm/swapfile.c
555
VM_BUG_ON(ci->flags == CLUSTER_FLAG_FREE);
mm/swapfile.c
556
move_cluster(si, ci, &si->discard_clusters, CLUSTER_FLAG_DISCARD);
mm/swapfile.c
560
static void __free_cluster(struct swap_info_struct *si, struct swap_cluster_info *ci)
mm/swapfile.c
562
swap_cluster_free_table(ci);
mm/swapfile.c
563
move_cluster(si, ci, &si->free_clusters, CLUSTER_FLAG_FREE);
mm/swapfile.c
564
ci->order = 0;
mm/swapfile.c
579
struct swap_cluster_info *ci, *found = NULL;
mm/swapfile.c
582
list_for_each_entry(ci, list, list) {
mm/swapfile.c
583
if (!spin_trylock(&ci->lock))
mm/swapfile.c
587
VM_BUG_ON(!ci->flags);
mm/swapfile.c
588
VM_BUG_ON(ci->flags > CLUSTER_FLAG_USABLE &&
mm/swapfile.c
589
ci->flags != CLUSTER_FLAG_FULL);
mm/swapfile.c
591
list_del(&ci->list);
mm/swapfile.c
592
ci->flags = CLUSTER_FLAG_NONE;
mm/swapfile.c
593
found = ci;
mm/swapfile.c
61
struct swap_cluster_info *ci,
mm/swapfile.c
616
struct swap_cluster_info *ci;
mm/swapfile.c
622
ci = list_first_entry(&si->discard_clusters, struct swap_cluster_info, list);
mm/swapfile.c
628
list_del(&ci->list);
mm/swapfile.c
629
idx = cluster_index(si, ci);
mm/swapfile.c
634
spin_lock(&ci->lock);
mm/swapfile.c
639
ci->flags = CLUSTER_FLAG_NONE;
mm/swapfile.c
640
__free_cluster(si, ci);
mm/swapfile.c
641
spin_unlock(&ci->lock);
mm/swapfile.c
65
struct swap_cluster_info *ci, struct list_head *list,
mm/swapfile.c
670
static void free_cluster(struct swap_info_struct *si, struct swap_cluster_info *ci)
mm/swapfile.c
672
VM_BUG_ON(ci->count != 0);
mm/swapfile.c
673
VM_BUG_ON(ci->flags == CLUSTER_FLAG_FREE);
mm/swapfile.c
674
lockdep_assert_held(&ci->lock);
mm/swapfile.c
683
swap_cluster_schedule_discard(si, ci);
mm/swapfile.c
687
__free_cluster(si, ci);
mm/swapfile.c
695
struct swap_cluster_info *ci)
mm/swapfile.c
697
VM_BUG_ON(!ci->count || ci->count == SWAPFILE_CLUSTER);
mm/swapfile.c
698
lockdep_assert_held(&ci->lock);
mm/swapfile.c
700
if (ci->flags != CLUSTER_FLAG_NONFULL)
mm/swapfile.c
701
move_cluster(si, ci, &si->nonfull_clusters[ci->order],
mm/swapfile.c
711
struct swap_cluster_info *ci)
mm/swapfile.c
713
lockdep_assert_held(&ci->lock);
mm/swapfile.c
716
if (cluster_is_discard(ci))
mm/swapfile.c
719
if (!ci->count) {
mm/swapfile.c
720
if (ci->flags != CLUSTER_FLAG_FREE)
mm/swapfile.c
721
free_cluster(si, ci);
mm/swapfile.c
722
} else if (ci->count != SWAPFILE_CLUSTER) {
mm/swapfile.c
723
if (ci->flags != CLUSTER_FLAG_FRAG)
mm/swapfile.c
724
move_cluster(si, ci, &si->frag_clusters[ci->order],
mm/swapfile.c
727
if (ci->flags != CLUSTER_FLAG_FULL)
mm/swapfile.c
728
move_cluster(si, ci, &si->full_clusters,
mm/swapfile.c
743
struct swap_cluster_info *ci;
mm/swapfile.c
745
ci = cluster_info + idx;
mm/swapfile.c
746
if (!ci->table) {
mm/swapfile.c
750
rcu_assign_pointer(ci->table, table);
mm/swapfile.c
753
ci->count++;
mm/swapfile.c
755
WARN_ON(ci->count > SWAPFILE_CLUSTER);
mm/swapfile.c
756
WARN_ON(ci->flags);
mm/swapfile.c
766
struct swap_cluster_info *ci,
mm/swapfile.c
775
spin_unlock(&ci->lock);
mm/swapfile.c
779
swp_tb = swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
785
spin_lock(&ci->lock);
mm/swapfile.c
791
if (!cluster_is_usable(ci, order)) {
mm/swapfile.c
798
if (cluster_is_empty(ci))
mm/swapfile.c
806
swp_tb = __swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
815
struct swap_cluster_info *ci,
mm/swapfile.c
823
if (cluster_is_empty(ci))
mm/swapfile.c
829
swp_tb = __swap_table_get(ci, offset % SWAPFILE_CLUSTER);
mm/swapfile.c
848
static void swap_cluster_assert_table_empty(struct swap_cluster_info *ci,
mm/swapfile.c
857
swp_tb = __swap_table_get(ci, ci_off);
mm/swapfile.c
864
struct swap_cluster_info *ci,
mm/swapfile.c
871
lockdep_assert_held(&ci->lock);
mm/swapfile.c
888
__swap_cache_add_folio(ci, folio, swp_entry(si->type, offset));
mm/swapfile.c
894
swap_cluster_assert_table_empty(ci, offset, 1);
mm/swapfile.c
905
if (cluster_is_empty(ci))
mm/swapfile.c
906
ci->order = order;
mm/swapfile.c
907
ci->count += nr_pages;
mm/swapfile.c
915
struct swap_cluster_info *ci,
mm/swapfile.c
925
lockdep_assert_held(&ci->lock);
mm/swapfile.c
926
VM_WARN_ON(!cluster_is_usable(ci, order));
mm/swapfile.c
928
if (end < nr_pages || ci->count + nr_pages > SWAPFILE_CLUSTER)
mm/swapfile.c
933
if (!cluster_scan_range(si, ci, offset, nr_pages, &need_reclaim))
mm/swapfile.c
936
ret = cluster_reclaim_range(si, ci, offset, order, &usable);
mm/swapfile.c
939
if (cluster_is_empty(ci))
mm/swapfile.c
945
if (!cluster_alloc_range(si, ci, folio, offset))
mm/swapfile.c
949
if (ci->count < SWAPFILE_CLUSTER && offset <= end)
mm/swapfile.c
954
relocate_cluster(si, ci);
mm/swapfile.c
955
swap_cluster_unlock(ci);
mm/swapfile.c
973
struct swap_cluster_info *ci = isolate_lock_cluster(si, list);
mm/swapfile.c
976
if (!ci)
mm/swapfile.c
978
offset = cluster_offset(si, ci);
mm/swapfile.c
979
found = alloc_swap_scan_cluster(si, ci, folio, offset);
mm/swapfile.c
991
struct swap_cluster_info *ci;
mm/swapfile.c
998
while ((ci = isolate_lock_cluster(si, &si->full_clusters))) {
mm/swapfile.c
999
offset = cluster_offset(si, ci);
mm/vmscan.c
711
struct swap_cluster_info *ci;
mm/vmscan.c
717
ci = swap_cluster_get_and_lock_irq(folio);
mm/vmscan.c
763
__swap_cache_del_folio(ci, folio, swap, shadow);
mm/vmscan.c
764
swap_cluster_unlock_irq(ci);
mm/vmscan.c
802
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
675
static void __bnep_copy_ci(struct bnep_conninfo *ci, struct bnep_session *s)
net/bluetooth/bnep/core.c
679
memset(ci, 0, sizeof(*ci));
net/bluetooth/bnep/core.c
680
memcpy(ci->dst, s->eh.h_source, ETH_ALEN);
net/bluetooth/bnep/core.c
681
strcpy(ci->device, s->dev->name);
net/bluetooth/bnep/core.c
682
ci->flags = s->flags & valid_flags;
net/bluetooth/bnep/core.c
683
ci->state = s->state;
net/bluetooth/bnep/core.c
684
ci->role = s->role;
net/bluetooth/bnep/core.c
695
struct bnep_conninfo ci;
net/bluetooth/bnep/core.c
697
__bnep_copy_ci(&ci, s);
net/bluetooth/bnep/core.c
699
if (copy_to_user(req->ci, &ci, sizeof(ci))) {
net/bluetooth/bnep/core.c
707
req->ci++;
net/bluetooth/bnep/core.c
715
int bnep_get_conninfo(struct bnep_conninfo *ci)
net/bluetooth/bnep/core.c
722
s = __bnep_get_session(ci->dst);
net/bluetooth/bnep/core.c
724
__bnep_copy_ci(ci, s);
net/bluetooth/bnep/sock.c
115
if (copy_from_user(&ci, argp, sizeof(ci)))
net/bluetooth/bnep/sock.c
118
err = bnep_get_conninfo(&ci);
net/bluetooth/bnep/sock.c
119
if (!err && copy_to_user(argp, &ci, sizeof(ci)))
net/bluetooth/bnep/sock.c
155
cl.ci = compat_ptr(uci);
net/bluetooth/bnep/sock.c
58
struct bnep_conninfo ci;
net/bluetooth/cmtp/cmtp.h
58
struct cmtp_conninfo __user *ci;
net/bluetooth/cmtp/cmtp.h
64
int cmtp_get_conninfo(struct cmtp_conninfo *ci);
net/bluetooth/cmtp/core.c
462
struct cmtp_conninfo ci;
net/bluetooth/cmtp/core.c
464
__cmtp_copy_session(session, &ci);
net/bluetooth/cmtp/core.c
466
if (copy_to_user(req->ci, &ci, sizeof(ci))) {
net/bluetooth/cmtp/core.c
474
req->ci++;
net/bluetooth/cmtp/core.c
482
int cmtp_get_conninfo(struct cmtp_conninfo *ci)
net/bluetooth/cmtp/core.c
489
session = __cmtp_get_session(&ci->bdaddr);
net/bluetooth/cmtp/core.c
491
__cmtp_copy_session(session, ci);
net/bluetooth/cmtp/core.c
76
static void __cmtp_copy_session(struct cmtp_session *session, struct cmtp_conninfo *ci)
net/bluetooth/cmtp/core.c
79
memset(ci, 0, sizeof(*ci));
net/bluetooth/cmtp/core.c
80
bacpy(&ci->bdaddr, &session->bdaddr);
net/bluetooth/cmtp/core.c
82
ci->flags = session->flags & valid_flags;
net/bluetooth/cmtp/core.c
83
ci->state = session->state;
net/bluetooth/cmtp/core.c
85
ci->num = session->num;
net/bluetooth/cmtp/sock.c
126
if (copy_from_user(&ci, argp, sizeof(ci)))
net/bluetooth/cmtp/sock.c
129
err = cmtp_get_conninfo(&ci);
net/bluetooth/cmtp/sock.c
130
if (!err && copy_to_user(argp, &ci, sizeof(ci)))
net/bluetooth/cmtp/sock.c
157
cl.ci = compat_ptr(uci);
net/bluetooth/cmtp/sock.c
71
struct cmtp_conninfo ci;
net/bluetooth/hci_conn.c
2681
struct hci_conn_info *ci;
net/bluetooth/hci_conn.c
2688
if (!req.conn_num || req.conn_num > (PAGE_SIZE * 2) / sizeof(*ci))
net/bluetooth/hci_conn.c
2691
size = sizeof(req) + req.conn_num * sizeof(*ci);
net/bluetooth/hci_conn.c
2703
ci = cl->conn_info;
net/bluetooth/hci_conn.c
2707
bacpy(&(ci + n)->bdaddr, &c->dst);
net/bluetooth/hci_conn.c
2708
(ci + n)->handle = c->handle;
net/bluetooth/hci_conn.c
2709
(ci + n)->type = c->type;
net/bluetooth/hci_conn.c
2710
(ci + n)->out = c->out;
net/bluetooth/hci_conn.c
2711
(ci + n)->state = c->state;
net/bluetooth/hci_conn.c
2712
(ci + n)->link_mode = get_link_mode(c);
net/bluetooth/hci_conn.c
2720
size = sizeof(req) + n * sizeof(*ci);
net/bluetooth/hci_conn.c
2733
struct hci_conn_info ci;
net/bluetooth/hci_conn.c
2743
bacpy(&ci.bdaddr, &conn->dst);
net/bluetooth/hci_conn.c
2744
ci.handle = conn->handle;
net/bluetooth/hci_conn.c
2745
ci.type = conn->type;
net/bluetooth/hci_conn.c
2746
ci.out = conn->out;
net/bluetooth/hci_conn.c
2747
ci.state = conn->state;
net/bluetooth/hci_conn.c
2748
ci.link_mode = get_link_mode(conn);
net/bluetooth/hci_conn.c
2755
return copy_to_user(ptr, &ci, sizeof(ci)) ? -EFAULT : 0;
net/bluetooth/hidp/core.c
1438
struct hidp_conninfo ci;
net/bluetooth/hidp/core.c
1440
hidp_copy_session(session, &ci);
net/bluetooth/hidp/core.c
1442
if (copy_to_user(req->ci, &ci, sizeof(ci))) {
net/bluetooth/hidp/core.c
1450
req->ci++;
net/bluetooth/hidp/core.c
1458
int hidp_get_conninfo(struct hidp_conninfo *ci)
net/bluetooth/hidp/core.c
1462
session = hidp_session_find(&ci->bdaddr);
net/bluetooth/hidp/core.c
1464
hidp_copy_session(session, ci);
net/bluetooth/hidp/core.c
72
static void hidp_copy_session(struct hidp_session *session, struct hidp_conninfo *ci)
net/bluetooth/hidp/core.c
75
memset(ci, 0, sizeof(*ci));
net/bluetooth/hidp/core.c
76
bacpy(&ci->bdaddr, &session->bdaddr);
net/bluetooth/hidp/core.c
78
ci->flags = session->flags & valid_flags;
net/bluetooth/hidp/core.c
79
ci->state = BT_CONNECTED;
net/bluetooth/hidp/core.c
82
ci->vendor = session->input->id.vendor;
net/bluetooth/hidp/core.c
83
ci->product = session->input->id.product;
net/bluetooth/hidp/core.c
84
ci->version = session->input->id.version;
net/bluetooth/hidp/core.c
86
strscpy(ci->name, session->input->name, 128);
net/bluetooth/hidp/core.c
88
strscpy(ci->name, "HID Boot Device", 128);
net/bluetooth/hidp/core.c
90
ci->vendor = session->hid->vendor;
net/bluetooth/hidp/core.c
91
ci->product = session->hid->product;
net/bluetooth/hidp/core.c
92
ci->version = session->hid->version;
net/bluetooth/hidp/core.c
93
strscpy(ci->name, session->hid->name, 128);
net/bluetooth/hidp/hidp.h
122
struct hidp_conninfo __user *ci;
net/bluetooth/hidp/hidp.h
128
int hidp_get_conninfo(struct hidp_conninfo *ci);
net/bluetooth/hidp/sock.c
113
if (copy_from_user(&ci, argp, sizeof(ci)))
net/bluetooth/hidp/sock.c
116
err = hidp_get_conninfo(&ci);
net/bluetooth/hidp/sock.c
117
if (!err && copy_to_user(argp, &ci, sizeof(ci)))
net/bluetooth/hidp/sock.c
161
cl.ci = compat_ptr(uci);
net/bluetooth/hidp/sock.c
55
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
2656
struct nda_cacheinfo ci;
net/core/neighbour.c
2687
ci.ndm_used = jiffies_to_clock_t(now - neigh->used);
net/core/neighbour.c
2688
ci.ndm_confirmed = jiffies_to_clock_t(now - neigh->confirmed);
net/core/neighbour.c
2689
ci.ndm_updated = jiffies_to_clock_t(now - neigh->updated);
net/core/neighbour.c
2690
ci.ndm_refcnt = refcount_read(&neigh->refcnt) - 1;
net/core/neighbour.c
2693
nla_put(skb, NDA_CACHEINFO, sizeof(ci), &ci))
net/core/rtnetlink.c
1031
struct rta_cacheinfo ci = {
net/core/rtnetlink.c
1039
ci.rta_lastuse = jiffies_delta_to_clock_t(delta);
net/core/rtnetlink.c
1040
ci.rta_used = dst->__use;
net/core/rtnetlink.c
1041
ci.rta_clntref = rcuref_read(&dst->__rcuref);
net/core/rtnetlink.c
1048
ci.rta_expires = (expires > 0) ? clock : -clock;
net/core/rtnetlink.c
1050
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
1440
struct ifa_cacheinfo ci;
net/ipv4/igmp.c
1456
ci.cstamp = (READ_ONCE(im->mca_cstamp) - INITIAL_JIFFIES) * 100UL / HZ;
net/ipv4/igmp.c
1457
ci.tstamp = ci.cstamp;
net/ipv4/igmp.c
1458
ci.ifa_prefered = INFINITY_LIFE_TIME;
net/ipv4/igmp.c
1459
ci.ifa_valid = INFINITY_LIFE_TIME;
net/ipv4/igmp.c
1462
nla_put(skb, IFA_CACHEINFO, sizeof(ci), &ci) < 0) {
net/ipv6/addrconf.c
5003
struct ifa_cacheinfo *ci;
net/ipv6/addrconf.c
5005
ci = nla_data(tb[IFA_CACHEINFO]);
net/ipv6/addrconf.c
5006
cfg.valid_lft = ci->ifa_valid;
net/ipv6/addrconf.c
5007
cfg.preferred_lft = ci->ifa_prefered;
net/ipv6/addrconf.c
5100
struct ifa_cacheinfo ci;
net/ipv6/addrconf.c
5102
ci.cstamp = cstamp_delta(cstamp);
net/ipv6/addrconf.c
5103
ci.tstamp = cstamp_delta(tstamp);
net/ipv6/addrconf.c
5104
ci.ifa_prefered = preferred;
net/ipv6/addrconf.c
5105
ci.ifa_valid = valid;
net/ipv6/addrconf.c
5107
return nla_put(skb, IFA_CACHEINFO, sizeof(ci), &ci);
net/ipv6/addrconf.c
5823
struct ifla_cacheinfo ci;
net/ipv6/addrconf.c
5829
ci.max_reasm_len = IPV6_MAXPLEN;
net/ipv6/addrconf.c
5830
ci.tstamp = cstamp_delta(READ_ONCE(idev->tstamp));
net/ipv6/addrconf.c
5831
ci.reachable_time = jiffies_to_msecs(idev->nd_parms->reachable_time);
net/ipv6/addrconf.c
5832
ci.retrans_time = jiffies_to_msecs(NEIGH_VAR(idev->nd_parms, RETRANS_TIME));
net/ipv6/addrconf.c
5833
if (nla_put(skb, IFLA_INET6_CACHEINFO, sizeof(ci), &ci))
net/ipv6/addrconf.c
6213
struct prefix_cacheinfo ci;
net/ipv6/addrconf.c
6231
ci.preferred_time = ntohl(pinfo->prefered);
net/ipv6/addrconf.c
6232
ci.valid_time = ntohl(pinfo->valid);
net/ipv6/addrconf.c
6233
if (nla_put(skb, PREFIX_CACHEINFO, sizeof(ci), &ci))
net/rxrpc/rxkad.c
103
struct crypto_sync_skcipher *ci;
net/rxrpc/rxkad.c
110
ci = crypto_alloc_sync_skcipher("pcbc(fcrypt)", 0, 0);
net/rxrpc/rxkad.c
111
if (IS_ERR(ci)) {
net/rxrpc/rxkad.c
113
ret = PTR_ERR(ci);
net/rxrpc/rxkad.c
117
if (crypto_sync_skcipher_setkey(ci, token->kad->session_key,
net/rxrpc/rxkad.c
131
ret = rxkad_prime_packet_security(conn, ci);
net/rxrpc/rxkad.c
135
conn->rxkad.cipher = ci;
net/rxrpc/rxkad.c
139
crypto_free_sync_skcipher(ci);
net/rxrpc/rxkad.c
192
struct crypto_sync_skcipher *ci)
net/rxrpc/rxkad.c
210
req = skcipher_request_alloc(&ci->base, GFP_NOFS);
net/rxrpc/rxkad.c
225
skcipher_request_set_sync_tfm(req, ci);
net/rxrpc/rxkad.c
43
struct crypto_sync_skcipher *ci);
net/rxrpc/rxkad.c
61
struct crypto_skcipher *ci;
net/rxrpc/rxkad.c
68
ci = crypto_alloc_skcipher("pcbc(des)", 0, CRYPTO_ALG_ASYNC);
net/rxrpc/rxkad.c
69
if (IS_ERR(ci)) {
net/rxrpc/rxkad.c
70
_leave(" = %ld", PTR_ERR(ci));
net/rxrpc/rxkad.c
71
return PTR_ERR(ci);
net/rxrpc/rxkad.c
74
if (crypto_skcipher_setkey(ci, prep->data, 8) < 0)
net/rxrpc/rxkad.c
77
prep->payload.data[0] = 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
61
#define CHECK_CIPHER_DESC(cipher,ci) \
net/tls/tls_main.c
66
static_assert(sizeof_field(struct ci, iv) == cipher ## _IV_SIZE); \
net/tls/tls_main.c
67
static_assert(sizeof_field(struct ci, key) == cipher ## _KEY_SIZE); \
net/tls/tls_main.c
68
static_assert(sizeof_field(struct ci, salt) == cipher ## _SALT_SIZE); \
net/tls/tls_main.c
69
static_assert(sizeof_field(struct ci, rec_seq) == cipher ## _REC_SEQ_SIZE);
net/tls/tls_main.c
71
#define __CIPHER_DESC(ci) \
net/tls/tls_main.c
72
.iv_offset = offsetof(struct ci, iv), \
net/tls/tls_main.c
73
.key_offset = offsetof(struct ci, key), \
net/tls/tls_main.c
74
.salt_offset = offsetof(struct ci, salt), \
net/tls/tls_main.c
75
.rec_seq_offset = offsetof(struct ci, rec_seq), \
net/tls/tls_main.c
76
.crypto_info = sizeof(struct ci)
net/tls/tls_main.c
78
#define CIPHER_DESC(cipher,ci,algname,_offloadable) [cipher - TLS_CIPHER_MIN] = { \
net/tls/tls_main.c
87
__CIPHER_DESC(ci), \
net/tls/tls_main.c
90
#define CIPHER_DESC_NONCE0(cipher,ci,algname,_offloadable) [cipher - TLS_CIPHER_MIN] = { \
net/tls/tls_main.c
99
__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
825
struct codec_info *ci = &onyx_codec_info;
sound/aoa/codecs/onyx.c
861
ci = onyx->codec_info;
sound/aoa/codecs/onyx.c
862
*ci = onyx_codec_info;
sound/aoa/codecs/onyx.c
863
ci->transfers++;
sound/aoa/codecs/onyx.c
872
ci = onyx->codec_info;
sound/aoa/codecs/onyx.c
875
*ci = onyx_codec_info;
sound/aoa/codecs/onyx.c
876
ci->transfers[1].formats = 0;
sound/aoa/codecs/onyx.c
881
ci, onyx)) {
sound/aoa/soundbus/i2sbus/i2sbus.h
97
struct codec_info *ci, void *data);
sound/aoa/soundbus/i2sbus/pcm.c
831
struct codec_info *ci, void *data)
sound/aoa/soundbus/i2sbus/pcm.c
848
if (!ci->transfers || !ci->transfers->formats
sound/aoa/soundbus/i2sbus/pcm.c
849
|| !ci->transfers->rates || !ci->usable)
sound/aoa/soundbus/i2sbus/pcm.c
854
if (ci->bus_factor != 32 && ci->bus_factor != 64)
sound/aoa/soundbus/i2sbus/pcm.c
861
if (cii->codec->sysclock_factor != ci->sysclock_factor) {
sound/aoa/soundbus/i2sbus/pcm.c
866
if (cii->codec->bus_factor != ci->bus_factor) {
sound/aoa/soundbus/i2sbus/pcm.c
873
tmp = ci->transfers;
sound/aoa/soundbus/i2sbus/pcm.c
888
cii->codec = ci;
sound/aoa/soundbus/i2sbus/pcm.c
904
if (!try_module_get(ci->owner)) {
sound/aoa/soundbus/i2sbus/pcm.c
984
module_put(ci->owner);
sound/aoa/soundbus/soundbus.h
164
struct codec_info *ci, void *data);
sound/soc/codecs/tas2781-fmwlib.c
2427
struct tasdevice_config_info **ci = rca->cfg_info;
sound/soc/codecs/tas2781-fmwlib.c
2430
if (!ci)
sound/soc/codecs/tas2781-fmwlib.c
2433
if (!ci[i])
sound/soc/codecs/tas2781-fmwlib.c
2435
if (ci[i]->blk_data) {
sound/soc/codecs/tas2781-fmwlib.c
2436
for (j = 0; j < (int)ci[i]->real_nblocks; j++) {
sound/soc/codecs/tas2781-fmwlib.c
2437
if (!ci[i]->blk_data[j])
sound/soc/codecs/tas2781-fmwlib.c
2439
kfree(ci[i]->blk_data[j]->regdata);
sound/soc/codecs/tas2781-fmwlib.c
2440
kfree(ci[i]->blk_data[j]);
sound/soc/codecs/tas2781-fmwlib.c
2442
kfree(ci[i]->blk_data);
sound/soc/codecs/tas2781-fmwlib.c
2444
kfree(ci[i]);
sound/soc/codecs/tas2781-fmwlib.c
2446
kfree(ci);
sound/soc/renesas/rcar/core.c
1939
int ci;
sound/soc/renesas/rcar/core.c
1976
ci = 0;
sound/soc/renesas/rcar/core.c
1981
priv->daidrv + ci, nr);
sound/soc/renesas/rcar/core.c
1987
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++;