arch/arm/include/asm/tls.h
10
.macro switch_tls_none, base, tp, tpuser, tmp1, tmp2
arch/arm/include/asm/tls.h
13
.macro switch_tls_v6k, base, tp, tpuser, tmp1, tmp2
arch/arm/include/asm/tls.h
20
.macro switch_tls_v6, base, tp, tpuser, tmp1, tmp2
arch/arm/include/asm/tls.h
41
.macro switch_tls_software, base, tp, tpuser, tmp1, tmp2
arch/arm64/kernel/patching.c
181
u32 *tp = addr;
arch/arm64/kernel/patching.c
185
if ((uintptr_t)tp & 0x3)
arch/arm64/kernel/patching.c
188
ret = aarch64_insn_write(tp, insn);
arch/arm64/kernel/patching.c
190
caches_clean_inval_pou((uintptr_t)tp,
arch/arm64/kernel/patching.c
191
(uintptr_t)tp + AARCH64_INSN_SIZE);
arch/loongarch/include/asm/gpr-num.h
14
.equ .L__gpr_num_$tp, 2
arch/loongarch/include/asm/stackframe.h
186
cfi_st tp, PT_R2, \docfi
arch/loongarch/include/asm/stackframe.h
201
LONG_L tp, t1, 0
arch/loongarch/include/asm/stackframe.h
259
cfi_ld tp, PT_R2, \docfi
arch/loongarch/kernel/inst.c
225
u32 *tp = addr;
arch/loongarch/kernel/inst.c
227
ret = larch_insn_write(tp, insn);
arch/loongarch/kernel/inst.c
229
flush_icache_range((unsigned long)tp,
arch/loongarch/kernel/inst.c
230
(unsigned long)tp + LOONGARCH_INSN_SIZE);
arch/m68k/include/asm/syscalls.h
14
asmlinkage int sys_set_thread_area(unsigned long tp);
arch/m68k/kernel/sys_m68k.c
574
asmlinkage int sys_set_thread_area(unsigned long tp)
arch/m68k/kernel/sys_m68k.c
576
current_thread_info()->tp_value = tp;
arch/mips/include/asm/octeon/cvmx-pciercx-defs.h
138
__BITFIELD_FIELD(uint32_t tp:1,
arch/nios2/kernel/process.c
155
unsigned char *tp;
arch/nios2/kernel/process.c
193
tp = ((unsigned char *) fp->ea) - 0x20;
arch/nios2/kernel/process.c
194
for (sp = (unsigned long *) tp, i = 0; (i < 0x40); i += 4) {
arch/nios2/kernel/process.c
196
pr_emerg("\n%08x: ", (int) (tp + i));
arch/nios2/kernel/process.c
202
tp = ((unsigned char *) fp) - 0x40;
arch/nios2/kernel/process.c
203
for (sp = (unsigned long *) tp, i = 0; (i < 0xc0); i += 4) {
arch/nios2/kernel/process.c
205
pr_emerg("\n%08x: ", (int) (tp + i));
arch/nios2/kernel/process.c
212
tp = (unsigned char *) (fp->sp - 0x10);
arch/nios2/kernel/process.c
213
for (sp = (unsigned long *) tp, i = 0; (i < 0x80); i += 4) {
arch/nios2/kernel/process.c
215
pr_emerg("\n%08x: ", (int) (tp + i));
arch/openrisc/kernel/patching.c
73
u32 *tp = addr;
arch/openrisc/kernel/patching.c
76
if ((uintptr_t) tp & 0x3)
arch/openrisc/kernel/patching.c
79
ret = __patch_insn_write(tp, insn);
arch/riscv/include/asm/asm.h
94
lw \tmp, TASK_TI_CPU_NUM(tp)
arch/riscv/include/asm/assembler.h
40
REG_L tp, (SUSPEND_CONTEXT_REGS + PT_TP)(a0)
arch/riscv/include/asm/compat.h
117
regs->tp = (unsigned long) cregs->tp;
arch/riscv/include/asm/compat.h
43
compat_ulong_t tp;
arch/riscv/include/asm/compat.h
80
cregs->tp = (compat_ulong_t) regs->tp;
arch/riscv/include/asm/kvm_host.h
113
unsigned long tp;
arch/riscv/include/asm/ptrace.h
20
unsigned long tp;
arch/riscv/include/asm/scs.h
22
REG_L gp, TASK_TI_SCS_SP(tp)
arch/riscv/include/asm/scs.h
27
beq \prev, tp, _skip_scs
arch/riscv/include/asm/scs.h
34
REG_S gp, TASK_TI_SCS_SP(tp)
arch/riscv/include/uapi/asm/ptrace.h
30
unsigned long tp;
arch/riscv/kernel/asm-offsets.c
112
OFFSET(PT_TP, pt_regs, tp);
arch/riscv/kernel/asm-offsets.c
144
OFFSET(KVM_ARCH_GUEST_TP, kvm_vcpu_arch, guest_context.tp);
arch/riscv/kernel/asm-offsets.c
181
OFFSET(KVM_ARCH_HOST_TP, kvm_vcpu_arch, host_context.tp);
arch/riscv/kernel/kgdb.c
173
{DBG_REG_TP, GDB_SIZEOF_REG, offsetof(struct pt_regs, tp)},
arch/riscv/kernel/process.c
279
childregs->tp = tls;
arch/riscv/kernel/process.c
79
regs->gp, regs->tp, regs->t0);
arch/riscv/kernel/ptrace.c
454
REG_OFFSET_NAME(tp),
arch/sparc/include/asm/vio.h
494
struct vio_msg_tag *tp);
arch/sparc/kernel/kstack.h
11
static inline bool kstack_valid(struct thread_info *tp, unsigned long sp)
arch/sparc/kernel/kstack.h
13
unsigned long base = (unsigned long) tp;
arch/sparc/kernel/kstack.h
23
if (hardirq_stack[tp->cpu]) {
arch/sparc/kernel/kstack.h
24
base = (unsigned long) hardirq_stack[tp->cpu];
arch/sparc/kernel/kstack.h
28
base = (unsigned long) softirq_stack[tp->cpu];
arch/sparc/kernel/kstack.h
37
static inline bool kstack_is_trap_frame(struct thread_info *tp, struct pt_regs *regs)
arch/sparc/kernel/kstack.h
39
unsigned long base = (unsigned long) tp;
arch/sparc/kernel/kstack.h
46
if (hardirq_stack[tp->cpu]) {
arch/sparc/kernel/kstack.h
47
base = (unsigned long) hardirq_stack[tp->cpu];
arch/sparc/kernel/kstack.h
51
base = (unsigned long) softirq_stack[tp->cpu];
arch/sparc/kernel/process_64.c
191
static void __global_reg_self(struct thread_info *tp, struct pt_regs *regs,
arch/sparc/kernel/process_64.c
210
if (kstack_valid(tp, (unsigned long) rw)) {
arch/sparc/kernel/process_64.c
214
if (kstack_valid(tp, (unsigned long) rw))
arch/sparc/kernel/process_64.c
221
rp->thread = tp;
arch/sparc/kernel/process_64.c
241
struct thread_info *tp = current_thread_info();
arch/sparc/kernel/process_64.c
247
regs = tp->kregs;
arch/sparc/kernel/process_64.c
256
__global_reg_self(tp, regs, this_cpu);
arch/sparc/kernel/process_64.c
270
tp = gp->thread;
arch/sparc/kernel/process_64.c
274
((tp && tp->task) ? tp->task->comm : "NULL"),
arch/sparc/kernel/process_64.c
275
((tp && tp->task) ? tp->task->pid : -1));
arch/sparc/kernel/process_64.c
675
struct thread_info *tp;
arch/sparc/kernel/process_64.c
680
tp = task_thread_info(task);
arch/sparc/kernel/process_64.c
685
if (!kstack_valid(tp, fp))
arch/sparc/kernel/smp_64.c
886
struct trap_per_cpu *tp = &trap_block[raw_smp_processor_id()];
arch/sparc/kernel/smp_64.c
895
if (tp->pgd_paddr == __pa(mm->pgd))
arch/sparc/kernel/stacktrace.c
13
static void __save_stack_trace(struct thread_info *tp,
arch/sparc/kernel/stacktrace.c
23
if (tp == current_thread_info()) {
arch/sparc/kernel/stacktrace.c
27
ksp = tp->ksp;
arch/sparc/kernel/stacktrace.c
32
t = tp->task;
arch/sparc/kernel/stacktrace.c
39
if (!kstack_valid(tp, fp))
arch/sparc/kernel/stacktrace.c
45
if (kstack_is_trap_frame(tp, regs)) {
arch/sparc/kernel/stacktrace.c
85
struct thread_info *tp = task_thread_info(tsk);
arch/sparc/kernel/stacktrace.c
87
__save_stack_trace(tp, trace, true);
arch/sparc/kernel/traps_64.c
2453
struct thread_info *tp;
arch/sparc/kernel/traps_64.c
2462
tp = task_thread_info(tsk);
arch/sparc/kernel/traps_64.c
2467
ksp = tp->ksp;
arch/sparc/kernel/traps_64.c
2469
if (tp == current_thread_info())
arch/sparc/kernel/traps_64.c
2480
if (!kstack_valid(tp, fp))
arch/sparc/kernel/traps_64.c
2485
if (kstack_is_trap_frame(tp, regs)) {
arch/sparc/kernel/traps_64.c
2538
struct thread_info *tp = current_thread_info();
arch/sparc/kernel/traps_64.c
2547
kstack_valid(tp, (unsigned long) rw)) {
arch/sparc/kernel/viohs.c
685
int vio_validate_sid(struct vio_driver_state *vio, struct vio_msg_tag *tp)
arch/sparc/kernel/viohs.c
692
if (tp->type == VIO_TYPE_CTRL &&
arch/sparc/kernel/viohs.c
693
tp->stype == VIO_SUBTYPE_INFO &&
arch/sparc/kernel/viohs.c
694
tp->stype_env == VIO_VER_INFO)
arch/sparc/kernel/viohs.c
711
if (sid == tp->sid)
arch/sparc/kernel/viohs.c
714
tp->sid, vio->_peer_sid, vio->_local_sid);
arch/sparc/kernel/windows.c
115
struct thread_info *tp = current_thread_info();
arch/sparc/kernel/windows.c
119
for(window = 0; window < tp->w_saved; window++) {
arch/sparc/kernel/windows.c
120
unsigned long sp = tp->rwbuf_stkptrs[window];
arch/sparc/kernel/windows.c
123
copy_to_user((char __user *) sp, &tp->reg_window[window],
arch/sparc/kernel/windows.c
129
tp->w_saved = 0;
arch/sparc/kernel/windows.c
42
static inline void shift_window_buffer(int first_win, int last_win, struct thread_info *tp)
arch/sparc/kernel/windows.c
47
tp->rwbuf_stkptrs[i] = tp->rwbuf_stkptrs[i+1];
arch/sparc/kernel/windows.c
48
memcpy(&tp->reg_window[i], &tp->reg_window[i+1], sizeof(struct reg_window32));
arch/sparc/kernel/windows.c
63
struct thread_info *tp = current_thread_info();
arch/sparc/kernel/windows.c
67
if(!tp->w_saved)
arch/sparc/kernel/windows.c
71
for(window = tp->w_saved - 1; window >= 0; window--) {
arch/sparc/kernel/windows.c
72
unsigned long sp = tp->rwbuf_stkptrs[window];
arch/sparc/kernel/windows.c
75
if (copy_to_user((char __user *) sp, &tp->reg_window[window],
arch/sparc/kernel/windows.c
79
shift_window_buffer(window, tp->w_saved - 1, tp);
arch/sparc/kernel/windows.c
80
tp->w_saved--;
arch/sparc/mm/init_64.c
2925
struct tsb_config *tp;
arch/sparc/mm/init_64.c
2940
tp = &mm->context.tsb_block[MM_TSB_HUGE];
arch/sparc/mm/init_64.c
2941
if (likely(tp->tsb == NULL))
arch/sparc/mm/tsb.c
590
static void tsb_destroy_one(struct tsb_config *tp)
arch/sparc/mm/tsb.c
594
if (!tp->tsb)
arch/sparc/mm/tsb.c
596
cache_index = tp->tsb_reg_val & 0x7UL;
arch/sparc/mm/tsb.c
597
kmem_cache_free(tsb_caches[cache_index], tp->tsb);
arch/sparc/mm/tsb.c
598
tp->tsb = NULL;
arch/sparc/mm/tsb.c
599
tp->tsb_reg_val = 0UL;
arch/um/drivers/pty.c
101
*tp = 'p';
arch/um/drivers/pty.c
96
char *tp = &line[strlen("/dev/")];
arch/um/drivers/pty.c
99
*tp = 't';
arch/x86/events/intel/pt.c
1006
struct topa_page *tp;
arch/x86/events/intel/pt.c
1040
tp = topa_to_page(topa);
arch/x86/events/intel/pt.c
1053
return &tp->table[idx];
arch/x86/events/intel/pt.c
1061
return &tp->table[idx];
arch/x86/events/intel/pt.c
1078
struct topa_page *tp;
arch/x86/events/intel/pt.c
1081
tp = (struct topa_page *)table;
arch/x86/events/intel/pt.c
1082
if (tp->table != te)
arch/x86/events/intel/pt.c
1085
topa = &tp->topa;
arch/x86/events/intel/pt.c
1091
tp = topa_to_page(topa);
arch/x86/events/intel/pt.c
1093
return &tp->table[topa->last - 1];
arch/x86/events/intel/pt.c
683
struct topa_page *tp;
arch/x86/events/intel/pt.c
690
tp = page_address(p);
arch/x86/events/intel/pt.c
691
tp->topa.last = 0;
arch/x86/events/intel/pt.c
698
TOPA_ENTRY(&tp->topa, 1)->base = page_to_phys(p) >> TOPA_SHIFT;
arch/x86/events/intel/pt.c
699
TOPA_ENTRY(&tp->topa, 1)->end = 1;
arch/x86/events/intel/pt.c
702
return &tp->topa;
arch/x86/events/intel/pt.c
818
struct topa_page *tp = topa_to_page(topa);
arch/x86/events/intel/pt.c
821
pr_debug("# table @%p, off %llx size %zx\n", tp->table,
arch/x86/events/intel/pt.c
825
&tp->table[i],
arch/x86/events/intel/pt.c
826
(unsigned long)tp->table[i].base << TOPA_SHIFT,
arch/x86/events/intel/pt.c
827
sizes(tp->table[i].size),
arch/x86/events/intel/pt.c
828
tp->table[i].end ? 'E' : ' ',
arch/x86/events/intel/pt.c
829
tp->table[i].intr ? 'I' : ' ',
arch/x86/events/intel/pt.c
830
tp->table[i].stop ? 'S' : ' ',
arch/x86/events/intel/pt.c
831
*(u64 *)&tp->table[i]);
arch/x86/events/intel/pt.c
833
tp->table[i].stop) ||
arch/x86/events/intel/pt.c
834
tp->table[i].end)
arch/x86/events/intel/pt.c
987
struct topa_page *tp;
arch/x86/events/intel/pt.c
991
tp = phys_to_virt(pt->output_base);
arch/x86/events/intel/pt.c
992
buf->cur = &tp->topa;
arch/x86/events/intel/uncore_snbep.c
4221
static int upi_fill_topology(struct pci_dev *dev, struct intel_uncore_topology *tp,
arch/x86/events/intel/uncore_snbep.c
4226
struct uncore_upi_topology *upi = tp->upi;
arch/x86/events/intel/uncore_snbep.c
4228
tp->pmu_idx = pmu_idx;
arch/x86/kernel/apic/x2apic_uv_x.c
1457
static void __init free_1_to_1_table(unsigned short **tp, char *tname, int min, int max, int max2)
arch/x86/kernel/apic/x2apic_uv_x.c
1460
unsigned short *table = *tp;
arch/x86/kernel/apic/x2apic_uv_x.c
1471
*tp = NULL;
arch/x86/xen/time.c
516
struct timespec64 tp;
arch/x86/xen/time.c
541
xen_read_wallclock(&tp);
arch/x86/xen/time.c
542
do_settimeofday64(&tp);
arch/xtensa/kernel/signal.c
347
unsigned long sp, ra, tp, ps;
arch/xtensa/kernel/signal.c
415
tp = regs->threadptr;
arch/xtensa/kernel/signal.c
433
regs->threadptr = tp;
arch/xtensa/platforms/iss/network.c
161
char *dev_name = lp->tp.info.tuntap.dev_name;
arch/xtensa/platforms/iss/network.c
184
lp->tp.info.tuntap.fd = fd;
arch/xtensa/platforms/iss/network.c
190
simc_close(lp->tp.info.tuntap.fd);
arch/xtensa/platforms/iss/network.c
191
lp->tp.info.tuntap.fd = -1;
arch/xtensa/platforms/iss/network.c
196
return simc_read(lp->tp.info.tuntap.fd,
arch/xtensa/platforms/iss/network.c
202
return simc_write(lp->tp.info.tuntap.fd, (*skb)->data, (*skb)->len);
arch/xtensa/platforms/iss/network.c
212
return simc_poll(lp->tp.info.tuntap.fd);
arch/xtensa/platforms/iss/network.c
258
strscpy(lp->tp.info.tuntap.dev_name, dev_name,
arch/xtensa/platforms/iss/network.c
259
sizeof(lp->tp.info.tuntap.dev_name));
arch/xtensa/platforms/iss/network.c
265
lp->tp.info.tuntap.fd = -1;
arch/xtensa/platforms/iss/network.c
266
lp->tp.net_ops = &tuntap_ops;
arch/xtensa/platforms/iss/network.c
281
if (lp->tp.net_ops->poll(lp) == 0)
arch/xtensa/platforms/iss/network.c
300
pkt_len = lp->tp.net_ops->read(lp, &skb);
arch/xtensa/platforms/iss/network.c
305
skb->protocol = lp->tp.net_ops->protocol(skb);
arch/xtensa/platforms/iss/network.c
354
err = lp->tp.net_ops->open(lp);
arch/xtensa/platforms/iss/network.c
380
lp->tp.net_ops->close(lp);
arch/xtensa/platforms/iss/network.c
392
len = lp->tp.net_ops->write(lp, &skb);
arch/xtensa/platforms/iss/network.c
88
} tp;
drivers/ata/pata_cmd64x.c
127
struct ata_timing tp;
drivers/ata/pata_cmd64x.c
128
ata_timing_compute(pair, pair->pio_mode, &tp, T, 0);
drivers/ata/pata_cmd64x.c
129
ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP);
drivers/block/drbd/drbd_debugfs.c
388
struct tcp_sock *tp = tcp_sk(connection->data.socket->sk);
drivers/block/drbd/drbd_debugfs.c
389
int answ = tp->rcv_nxt - tp->copied_seq;
drivers/block/drbd/drbd_debugfs.c
392
answ = tp->write_seq - tp->snd_una;
drivers/block/drbd/drbd_nl.c
4155
struct timeout_parms tp;
drivers/block/drbd/drbd_nl.c
4164
tp.timeout_type =
drivers/block/drbd/drbd_nl.c
4169
err = timeout_parms_to_skb(adm_ctx->reply_skb, &tp);
drivers/block/drbd/drbd_receiver.c
2174
int ret = 0, tp;
drivers/block/drbd/drbd_receiver.c
2192
tp = rcu_dereference(peer_device->connection->net_conf)->two_primaries;
drivers/block/drbd/drbd_receiver.c
2195
if (!tp)
drivers/block/drbd/drbd_receiver.c
2385
int err, tp;
drivers/block/drbd/drbd_receiver.c
2454
tp = nc->two_primaries;
drivers/block/drbd/drbd_receiver.c
2480
if (tp) {
drivers/gpu/drm/amd/amdgpu/atombios_dp.c
516
amdgpu_atombios_dp_set_tp(struct amdgpu_atombios_dp_link_train_info *dp_info, int tp)
drivers/gpu/drm/amd/amdgpu/atombios_dp.c
521
switch (tp) {
drivers/gpu/drm/amd/amdgpu/atombios_dp.c
535
drm_dp_dpcd_writeb(dp_info->aux, DP_TRAINING_PATTERN_SET, tp);
drivers/gpu/drm/drm_syncobj.c
1329
ktime_t t, *tp = NULL;
drivers/gpu/drm/drm_syncobj.c
1354
tp = &t;
drivers/gpu/drm/drm_syncobj.c
1358
args, NULL, syncobjs, false, tp);
drivers/gpu/drm/drm_syncobj.c
1372
ktime_t t, *tp = NULL;
drivers/gpu/drm/drm_syncobj.c
1398
tp = &t;
drivers/gpu/drm/drm_syncobj.c
1402
NULL, args, syncobjs, true, tp);
drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.c
240
nv50_gr_prop_trap(struct nv50_gr *gr, u32 ustatus_addr, u32 ustatus, u32 tp)
drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.c
258
tp, e14, e10 | ((e18 >> 24) & 0x1f));
drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.c
263
tp, e14, e10 | ((e18 >> 7) & 0x1f));
drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.c
267
tp, e14, e10);
drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.c
275
tp, ustatus, msg, e14, e10);
drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.c
278
tp, e0c, e18, e1c, e20, e24);
drivers/gpu/drm/radeon/atombios_dp.c
560
static void radeon_dp_set_tp(struct radeon_dp_link_train_info *dp_info, int tp)
drivers/gpu/drm/radeon/atombios_dp.c
566
switch (tp) {
drivers/gpu/drm/radeon/atombios_dp.c
579
switch (tp) {
drivers/gpu/drm/radeon/atombios_dp.c
592
drm_dp_dpcd_writeb(dp_info->aux, DP_TRAINING_PATTERN_SET, tp);
drivers/gpu/drm/radeon/trinity_dpm.c
837
u32 tp = RREG32_SMC(PM_TP);
drivers/gpu/drm/radeon/trinity_dpm.c
843
val = (p + tp - 1) / tp;
drivers/gpu/drm/radeon/trinity_dpm.c
980
u32 tp = RREG32_SMC(PM_TP);
drivers/gpu/drm/radeon/trinity_dpm.c
987
ni = (p + tp - 1) / tp;
drivers/hid/hid-asus.c
1188
if (drvdata->tp)
drivers/hid/hid-asus.c
1222
drvdata->tp = &asus_i2c_tp;
drivers/hid/hid-asus.c
1235
drvdata->tp = &asus_t100ha_tp;
drivers/hid/hid-asus.c
1237
drvdata->tp = &asus_t200ta_tp;
drivers/hid/hid-asus.c
1239
drvdata->tp = &asus_t100ta_tp;
drivers/hid/hid-asus.c
1249
drvdata->tp = &asus_t100chi_tp;
drivers/hid/hid-asus.c
1260
drvdata->tp = &medion_e1239t_tp;
drivers/hid/hid-asus.c
1326
if (drvdata->tp)
drivers/hid/hid-asus.c
1331
if (drvdata->tp) {
drivers/hid/hid-asus.c
137
const struct asus_touchpad_info *tp;
drivers/hid/hid-asus.c
221
y = drvdat->tp->max_y - ((data[0] & CONTACT_Y_MSB_MASK) << 8 | data[2]);
drivers/hid/hid-asus.c
226
if (drvdat->tp->contact_size < 5)
drivers/hid/hid-asus.c
248
if (drvdat->tp->contact_size < 5)
drivers/hid/hid-asus.c
277
if (size != drvdat->tp->report_size)
drivers/hid/hid-asus.c
280
for (i = 0; i < drvdat->tp->max_contacts; i++) {
drivers/hid/hid-asus.c
283
if (drvdat->tp->contact_size >= 5)
drivers/hid/hid-asus.c
292
contactData += drvdat->tp->contact_size;
drivers/hid/hid-asus.c
311
if (!drvdat->tp &&
drivers/hid/hid-asus.c
396
if (drvdata->tp && data[0] == INPUT_REPORT_ID)
drivers/hid/hid-asus.c
954
if (drvdata->tp && (drvdata->quirks & QUIRK_MEDION_E1239T)) {
drivers/hid/hid-asus.c
968
if (drvdata->tp) {
drivers/hid/hid-asus.c
972
drvdata->tp->max_x, 0, 0);
drivers/hid/hid-asus.c
974
drvdata->tp->max_y, 0, 0);
drivers/hid/hid-asus.c
975
input_abs_set_res(input, ABS_MT_POSITION_X, drvdata->tp->res_x);
drivers/hid/hid-asus.c
976
input_abs_set_res(input, ABS_MT_POSITION_Y, drvdata->tp->res_y);
drivers/hid/hid-asus.c
978
if (drvdata->tp->contact_size >= 5) {
drivers/hid/hid-asus.c
990
ret = input_mt_init_slots(input, drvdata->tp->max_contacts,
drivers/iio/industrialio-core.c
324
struct timespec64 tp;
drivers/iio/industrialio-core.c
336
ktime_get_coarse_ts64(&tp);
drivers/iio/industrialio-core.c
337
return timespec64_to_ns(&tp);
drivers/infiniband/hw/erdma/erdma_qp.c
59
struct tcp_sock *tp;
drivers/infiniband/hw/erdma/erdma_qp.c
80
tp = tcp_sk(qp->cep->sock->sk);
drivers/infiniband/hw/erdma/erdma_qp.c
95
req.send_nxt = tp->snd_nxt;
drivers/infiniband/hw/erdma/erdma_qp.c
99
req.recv_nxt = tp->rcv_nxt;
drivers/infiniband/sw/siw/siw_qp_tx.c
676
struct tcp_sock *tp = tcp_sk(s->sk);
drivers/infiniband/sw/siw/siw_qp_tx.c
678
if (tp->gso_segs) {
drivers/infiniband/sw/siw/siw_qp_tx.c
680
c_tx->tcp_seglen = tp->mss_cache * tp->gso_segs;
drivers/infiniband/sw/siw/siw_qp_tx.c
683
tp->mss_cache *
drivers/infiniband/sw/siw/siw_qp_tx.c
684
min_t(u16, c_tx->gso_seg_limit, tp->gso_segs);
drivers/infiniband/sw/siw/siw_qp_tx.c
686
c_tx->tcp_seglen = tp->mss_cache;
drivers/infiniband/ulp/ipoib/ipoib_main.c
731
struct ipoib_path *path, *tp;
drivers/infiniband/ulp/ipoib/ipoib_main.c
735
list_for_each_entry_safe(path, tp, &priv->path_list, list) {
drivers/infiniband/ulp/ipoib/ipoib_main.c
757
struct ipoib_path *path, *tp;
drivers/infiniband/ulp/ipoib/ipoib_main.c
769
list_for_each_entry_safe(path, tp, &remove_list, list) {
drivers/input/keyboard/applespi.c
1494
struct touchpad_protocol *tp;
drivers/input/keyboard/applespi.c
1497
tp = &message->touchpad;
drivers/input/keyboard/applespi.c
1498
tp_len = struct_size(tp, fingers, tp->number_of_fingers);
drivers/input/keyboard/applespi.c
1504
tp->number_of_fingers, tp_len);
drivers/input/keyboard/applespi.c
1508
if (tp->number_of_fingers > MAX_FINGERS) {
drivers/input/keyboard/applespi.c
1511
tp->number_of_fingers,
drivers/input/keyboard/applespi.c
1513
tp->number_of_fingers = MAX_FINGERS;
drivers/input/keyboard/applespi.c
1516
report_tp_state(applespi, tp);
drivers/input/mouse/trackpoint.c
109
struct trackpoint_data *tp = psmouse->private;
drivers/input/mouse/trackpoint.c
111
u8 value = *(u8 *)((void *)tp + attr->field_offset);
drivers/input/mouse/trackpoint.c
122
struct trackpoint_data *tp = psmouse->private;
drivers/input/mouse/trackpoint.c
124
u8 *field = (void *)tp + attr->field_offset;
drivers/input/mouse/trackpoint.c
151
struct trackpoint_data *tp = psmouse->private;
drivers/input/mouse/trackpoint.c
153
bool *field = (void *)tp + attr->field_offset;
drivers/input/mouse/trackpoint.c
209
struct trackpoint_data *tp = psmouse->private;
drivers/input/mouse/trackpoint.c
211
return tp->variant_id == TP_VARIANT_IBM ||
drivers/input/mouse/trackpoint.c
307
struct trackpoint_data *tp = psmouse->private;
drivers/input/mouse/trackpoint.c
309
if (!in_power_on_state && tp->variant_id == TP_VARIANT_IBM) {
drivers/input/mouse/trackpoint.c
329
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, sensitivity);
drivers/input/mouse/trackpoint.c
330
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, inertia);
drivers/input/mouse/trackpoint.c
331
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, speed);
drivers/input/mouse/trackpoint.c
332
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, reach);
drivers/input/mouse/trackpoint.c
333
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, draghys);
drivers/input/mouse/trackpoint.c
334
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, mindrag);
drivers/input/mouse/trackpoint.c
335
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, thresh);
drivers/input/mouse/trackpoint.c
336
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, upthresh);
drivers/input/mouse/trackpoint.c
337
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, ztime);
drivers/input/mouse/trackpoint.c
338
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, jenks);
drivers/input/mouse/trackpoint.c
339
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, drift_time);
drivers/input/mouse/trackpoint.c
342
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, press_to_select);
drivers/input/mouse/trackpoint.c
343
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, skipback);
drivers/input/mouse/trackpoint.c
344
TRACKPOINT_UPDATE(in_power_on_state, psmouse, tp, ext_dev);
drivers/input/mouse/trackpoint.c
349
static void trackpoint_defaults(struct trackpoint_data *tp)
drivers/input/mouse/trackpoint.c
351
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, sensitivity);
drivers/input/mouse/trackpoint.c
352
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, speed);
drivers/input/mouse/trackpoint.c
353
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, reach);
drivers/input/mouse/trackpoint.c
354
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, draghys);
drivers/input/mouse/trackpoint.c
355
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, mindrag);
drivers/input/mouse/trackpoint.c
356
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, thresh);
drivers/input/mouse/trackpoint.c
357
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, upthresh);
drivers/input/mouse/trackpoint.c
358
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, ztime);
drivers/input/mouse/trackpoint.c
359
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, jenks);
drivers/input/mouse/trackpoint.c
360
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, drift_time);
drivers/input/mouse/trackpoint.c
361
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, inertia);
drivers/input/mouse/trackpoint.c
364
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, press_to_select);
drivers/input/mouse/trackpoint.c
365
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, skipback);
drivers/input/mouse/trackpoint.c
366
TRACKPOINT_SET_POWER_ON_DEFAULT(tp, ext_dev);
drivers/input/mouse/trackpoint.c
380
struct trackpoint_data *tp = psmouse->private;
drivers/input/mouse/trackpoint.c
388
was_reset = tp->variant_id == TP_VARIANT_IBM &&
drivers/input/mouse/trackpoint.c
439
struct trackpoint_data *tp;
drivers/input/mouse/trackpoint.c
452
tp = kzalloc_obj(*tp);
drivers/input/mouse/trackpoint.c
453
if (!tp)
drivers/input/mouse/trackpoint.c
456
trackpoint_defaults(tp);
drivers/input/mouse/trackpoint.c
457
tp->variant_id = variant_id;
drivers/input/mouse/trackpoint.c
458
tp->firmware_id = firmware_id;
drivers/input/mouse/trackpoint.c
460
psmouse->private = tp;
drivers/leds/led-triggers.c
484
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
drivers/leds/led-triggers.c
504
*tp = trig;
drivers/media/test-drivers/vivid/vivid-radio-common.c
77
rds->tp = dev->radio_tx_rds_tp->cur.val;
drivers/media/test-drivers/vivid/vivid-radio-common.c
92
v4l2_ctrl_s_ctrl(dev->radio_rx_rds_tp, rds->tp);
drivers/media/test-drivers/vivid/vivid-rds-gen.c
144
rds->tp = true;
drivers/media/test-drivers/vivid/vivid-rds-gen.c
57
data[1].msb = (rds->pty >> 3) | (rds->tp << 2);
drivers/media/test-drivers/vivid/vivid-rds-gen.h
32
bool tp;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1762
int tp = -1;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1764
tp = tuner[unit_number];
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1766
if (tp < 0) return -EINVAL;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1767
hdw->tuner_type = tp;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1776
int tp = 0;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1778
tp = video_std[unit_number];
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1779
if (tp) return tp;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1788
int tp = 0;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1790
tp = tolerance[unit_number];
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
1792
return tp;
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
2792
static const char *get_ctrl_typename(enum pvr2_ctl_type tp)
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
2794
switch (tp) {
drivers/media/usb/pvrusb2/pvrusb2-sysfs.c
89
enum pvr2_ctl_type tp;
drivers/media/usb/pvrusb2/pvrusb2-sysfs.c
91
tp = pvr2_ctrl_get_type(cip->cptr);
drivers/media/usb/pvrusb2/pvrusb2-sysfs.c
92
switch (tp) {
drivers/mfd/si476x-cmd.c
935
report->tp = 0x20 & resp[3];
drivers/misc/mei/platform-vsc.c
105
vsc_tp_intr_disable(hw->tp);
drivers/misc/mei/platform-vsc.c
118
vsc_tp_intr_synchronize(hw->tp);
drivers/misc/mei/platform-vsc.c
148
vsc_tp_intr_enable(hw->tp);
drivers/misc/mei/platform-vsc.c
257
vsc_tp_reset(hw->tp);
drivers/misc/mei/platform-vsc.c
262
return vsc_tp_init(hw->tp, mei_dev->parent);
drivers/misc/mei/platform-vsc.c
309
while (vsc_tp_need_read(hw->tp)) {
drivers/misc/mei/platform-vsc.c
339
struct vsc_tp *tp;
drivers/misc/mei/platform-vsc.c
342
tp = *(struct vsc_tp **)dev_get_platdata(dev);
drivers/misc/mei/platform-vsc.c
343
if (!tp)
drivers/misc/mei/platform-vsc.c
357
hw->tp = tp;
drivers/misc/mei/platform-vsc.c
361
vsc_tp_register_event_cb(tp, mei_vsc_event_cb, mei_dev);
drivers/misc/mei/platform-vsc.c
380
vsc_tp_register_event_cb(tp, NULL, NULL);
drivers/misc/mei/platform-vsc.c
398
vsc_tp_register_event_cb(hw->tp, NULL, NULL);
drivers/misc/mei/platform-vsc.c
42
struct vsc_tp *tp;
drivers/misc/mei/platform-vsc.c
66
return vsc_tp_xfer(hw->tp, VSC_TP_CMD_READ, &ts, sizeof(ts),
drivers/misc/mei/platform-vsc.c
74
return vsc_tp_xfer(hw->tp, VSC_TP_CMD_WRITE, buf, len, &status,
drivers/misc/mei/platform-vsc.c
98
vsc_tp_intr_enable(hw->tp);
drivers/misc/mei/vsc-fw-loader.c
221
struct vsc_tp *tp;
drivers/misc/mei/vsc-fw-loader.c
319
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, ack, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
327
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, ack, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
357
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, ack, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
365
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, ack, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
592
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, ack, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
609
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, NULL, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
626
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, NULL, VSC_ROM_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
659
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, NULL, VSC_FW_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
678
ret = vsc_tp_rom_xfer(fw_loader->tp, cmd, NULL, VSC_FW_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
692
ret = vsc_tp_rom_xfer(fw_loader->tp, fw_loader->tx_buf,
drivers/misc/mei/vsc-fw-loader.c
708
return vsc_tp_rom_xfer(fw_loader->tp, cmd, NULL, VSC_FW_PKG_SIZE);
drivers/misc/mei/vsc-fw-loader.c
717
int vsc_tp_init(struct vsc_tp *tp, struct device *dev)
drivers/misc/mei/vsc-fw-loader.c
739
fw_loader->tp = tp;
drivers/misc/mei/vsc-tp.c
104
struct vsc_tp *tp = data;
drivers/misc/mei/vsc-tp.c
106
atomic_inc(&tp->assert_cnt);
drivers/misc/mei/vsc-tp.c
108
wake_up(&tp->xfer_wait);
drivers/misc/mei/vsc-tp.c
110
schedule_work(&tp->event_work);
drivers/misc/mei/vsc-tp.c
117
struct vsc_tp *tp = container_of(work, struct vsc_tp, event_work);
drivers/misc/mei/vsc-tp.c
119
guard(mutex)(&tp->event_notify_mutex);
drivers/misc/mei/vsc-tp.c
121
if (tp->event_notify)
drivers/misc/mei/vsc-tp.c
122
tp->event_notify(tp->event_notify_context);
drivers/misc/mei/vsc-tp.c
126
static int vsc_tp_wakeup_request(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
130
gpiod_set_value_cansleep(tp->wakeupfw, 0);
drivers/misc/mei/vsc-tp.c
132
ret = wait_event_timeout(tp->xfer_wait,
drivers/misc/mei/vsc-tp.c
133
atomic_read(&tp->assert_cnt),
drivers/misc/mei/vsc-tp.c
141
tp->wakeuphost);
drivers/misc/mei/vsc-tp.c
144
static void vsc_tp_wakeup_release(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
146
atomic_dec_if_positive(&tp->assert_cnt);
drivers/misc/mei/vsc-tp.c
148
gpiod_set_value_cansleep(tp->wakeupfw, 1);
drivers/misc/mei/vsc-tp.c
151
static int vsc_tp_dev_xfer(struct vsc_tp *tp, void *obuf, void *ibuf, size_t len)
drivers/misc/mei/vsc-tp.c
162
return spi_sync_locked(tp->spi, &msg);
drivers/misc/mei/vsc-tp.c
165
static int vsc_tp_xfer_helper(struct vsc_tp *tp, struct vsc_tp_packet *pkt,
drivers/misc/mei/vsc-tp.c
170
u8 *src, *crc_src, *rx_buf = (u8 *)tp->rx_buf;
drivers/misc/mei/vsc-tp.c
178
ret = vsc_tp_dev_xfer(tp, pkt, rx_buf, next_xfer_len);
drivers/misc/mei/vsc-tp.c
253
if (~recv_crc != crc || le32_to_cpu(ack.seq) != tp->seq) {
drivers/misc/mei/vsc-tp.c
254
dev_err(&tp->spi->dev, "recv crc or seq error\n");
drivers/misc/mei/vsc-tp.c
260
dev_err(&tp->spi->dev, "recv cmd ack error\n");
drivers/misc/mei/vsc-tp.c
278
int vsc_tp_xfer(struct vsc_tp *tp, u8 cmd, const void *obuf, size_t olen,
drivers/misc/mei/vsc-tp.c
281
struct vsc_tp_packet *pkt = tp->tx_buf;
drivers/misc/mei/vsc-tp.c
288
guard(mutex)(&tp->mutex);
drivers/misc/mei/vsc-tp.c
293
pkt->hdr.seq = cpu_to_le32(++tp->seq);
drivers/misc/mei/vsc-tp.c
299
ret = vsc_tp_wakeup_request(tp);
drivers/misc/mei/vsc-tp.c
301
dev_err(&tp->spi->dev, "wakeup firmware failed ret: %d\n", ret);
drivers/misc/mei/vsc-tp.c
303
ret = vsc_tp_xfer_helper(tp, pkt, ibuf, ilen);
drivers/misc/mei/vsc-tp.c
305
vsc_tp_wakeup_release(tp);
drivers/misc/mei/vsc-tp.c
319
int vsc_tp_rom_xfer(struct vsc_tp *tp, const void *obuf, void *ibuf, size_t len)
drivers/misc/mei/vsc-tp.c
327
guard(mutex)(&tp->mutex);
drivers/misc/mei/vsc-tp.c
330
cpu_to_be32_array((__be32 *)tp->tx_buf, obuf, words);
drivers/misc/mei/vsc-tp.c
335
tp->wakeuphost);
drivers/misc/mei/vsc-tp.c
337
dev_err(&tp->spi->dev, "wait rom failed ret: %d\n", ret);
drivers/misc/mei/vsc-tp.c
341
ret = vsc_tp_dev_xfer(tp, tp->tx_buf, ibuf ? tp->rx_buf : NULL, len);
drivers/misc/mei/vsc-tp.c
346
be32_to_cpu_array(ibuf, (__be32 *)tp->rx_buf, words);
drivers/misc/mei/vsc-tp.c
355
void vsc_tp_reset(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
357
disable_irq(tp->spi->irq);
drivers/misc/mei/vsc-tp.c
360
gpiod_set_value_cansleep(tp->resetfw, 0);
drivers/misc/mei/vsc-tp.c
362
gpiod_set_value_cansleep(tp->resetfw, 1);
drivers/misc/mei/vsc-tp.c
371
gpiod_set_value_cansleep(tp->wakeupfw, 1);
drivers/misc/mei/vsc-tp.c
373
atomic_set(&tp->assert_cnt, 0);
drivers/misc/mei/vsc-tp.c
382
bool vsc_tp_need_read(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
384
if (!atomic_read(&tp->assert_cnt))
drivers/misc/mei/vsc-tp.c
386
if (!gpiod_get_value_cansleep(tp->wakeuphost))
drivers/misc/mei/vsc-tp.c
388
if (!gpiod_get_value_cansleep(tp->wakeupfw))
drivers/misc/mei/vsc-tp.c
402
int vsc_tp_register_event_cb(struct vsc_tp *tp, vsc_tp_event_cb_t event_cb,
drivers/misc/mei/vsc-tp.c
405
guard(mutex)(&tp->event_notify_mutex);
drivers/misc/mei/vsc-tp.c
407
tp->event_notify = event_cb;
drivers/misc/mei/vsc-tp.c
408
tp->event_notify_context = context;
drivers/misc/mei/vsc-tp.c
418
void vsc_tp_intr_synchronize(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
420
synchronize_irq(tp->spi->irq);
drivers/misc/mei/vsc-tp.c
428
void vsc_tp_intr_enable(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
430
enable_irq(tp->spi->irq);
drivers/misc/mei/vsc-tp.c
438
void vsc_tp_intr_disable(struct vsc_tp *tp)
drivers/misc/mei/vsc-tp.c
440
disable_irq(tp->spi->irq);
drivers/misc/mei/vsc-tp.c
455
struct vsc_tp *tp;
drivers/misc/mei/vsc-tp.c
458
.data = &tp,
drivers/misc/mei/vsc-tp.c
459
.size_data = sizeof(tp),
drivers/misc/mei/vsc-tp.c
467
tp = devm_kzalloc(dev, sizeof(*tp), GFP_KERNEL);
drivers/misc/mei/vsc-tp.c
468
if (!tp)
drivers/misc/mei/vsc-tp.c
471
tp->tx_buf = devm_kzalloc(dev, sizeof(*tp->tx_buf), GFP_KERNEL);
drivers/misc/mei/vsc-tp.c
472
if (!tp->tx_buf)
drivers/misc/mei/vsc-tp.c
475
tp->rx_buf = devm_kzalloc(dev, sizeof(*tp->rx_buf), GFP_KERNEL);
drivers/misc/mei/vsc-tp.c
476
if (!tp->rx_buf)
drivers/misc/mei/vsc-tp.c
483
tp->wakeuphost = devm_gpiod_get(dev, "wakeuphostint", GPIOD_IN);
drivers/misc/mei/vsc-tp.c
484
if (IS_ERR(tp->wakeuphost))
drivers/misc/mei/vsc-tp.c
485
return PTR_ERR(tp->wakeuphost);
drivers/misc/mei/vsc-tp.c
487
tp->resetfw = devm_gpiod_get(dev, "resetfw", GPIOD_OUT_HIGH);
drivers/misc/mei/vsc-tp.c
488
if (IS_ERR(tp->resetfw))
drivers/misc/mei/vsc-tp.c
489
return PTR_ERR(tp->resetfw);
drivers/misc/mei/vsc-tp.c
491
tp->wakeupfw = devm_gpiod_get(dev, "wakeupfw", GPIOD_OUT_HIGH);
drivers/misc/mei/vsc-tp.c
492
if (IS_ERR(tp->wakeupfw))
drivers/misc/mei/vsc-tp.c
493
return PTR_ERR(tp->wakeupfw);
drivers/misc/mei/vsc-tp.c
495
atomic_set(&tp->assert_cnt, 0);
drivers/misc/mei/vsc-tp.c
496
init_waitqueue_head(&tp->xfer_wait);
drivers/misc/mei/vsc-tp.c
497
tp->spi = spi;
drivers/misc/mei/vsc-tp.c
502
dev_name(dev), tp);
drivers/misc/mei/vsc-tp.c
506
mutex_init(&tp->mutex);
drivers/misc/mei/vsc-tp.c
507
mutex_init(&tp->event_notify_mutex);
drivers/misc/mei/vsc-tp.c
508
INIT_WORK(&tp->event_work, vsc_tp_event_work);
drivers/misc/mei/vsc-tp.c
525
tp->pdev = pdev;
drivers/misc/mei/vsc-tp.c
526
spi_set_drvdata(spi, tp);
drivers/misc/mei/vsc-tp.c
531
free_irq(spi->irq, tp);
drivers/misc/mei/vsc-tp.c
533
cancel_work_sync(&tp->event_work);
drivers/misc/mei/vsc-tp.c
534
mutex_destroy(&tp->event_notify_mutex);
drivers/misc/mei/vsc-tp.c
535
mutex_destroy(&tp->mutex);
drivers/misc/mei/vsc-tp.c
543
struct vsc_tp *tp = spi_get_drvdata(spi);
drivers/misc/mei/vsc-tp.c
545
platform_device_unregister(tp->pdev);
drivers/misc/mei/vsc-tp.c
547
free_irq(spi->irq, tp);
drivers/misc/mei/vsc-tp.c
549
cancel_work_sync(&tp->event_work);
drivers/misc/mei/vsc-tp.c
550
mutex_destroy(&tp->event_notify_mutex);
drivers/misc/mei/vsc-tp.c
551
mutex_destroy(&tp->mutex);
drivers/misc/mei/vsc-tp.h
31
int vsc_tp_rom_xfer(struct vsc_tp *tp, const void *obuf, void *ibuf,
drivers/misc/mei/vsc-tp.h
34
int vsc_tp_xfer(struct vsc_tp *tp, u8 cmd, const void *obuf, size_t olen,
drivers/misc/mei/vsc-tp.h
37
int vsc_tp_register_event_cb(struct vsc_tp *tp, vsc_tp_event_cb_t event_cb,
drivers/misc/mei/vsc-tp.h
40
void vsc_tp_intr_enable(struct vsc_tp *tp);
drivers/misc/mei/vsc-tp.h
41
void vsc_tp_intr_disable(struct vsc_tp *tp);
drivers/misc/mei/vsc-tp.h
42
void vsc_tp_intr_synchronize(struct vsc_tp *tp);
drivers/misc/mei/vsc-tp.h
44
void vsc_tp_reset(struct vsc_tp *tp);
drivers/misc/mei/vsc-tp.h
46
bool vsc_tp_need_read(struct vsc_tp *tp);
drivers/misc/mei/vsc-tp.h
48
int vsc_tp_init(struct vsc_tp *tp, struct device *dev);
drivers/mmc/host/sdhci-of-esdhc.c
1423
struct device_node *np, *tp;
drivers/mmc/host/sdhci-of-esdhc.c
1468
tp = of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc");
drivers/mmc/host/sdhci-of-esdhc.c
1469
if (tp) {
drivers/mmc/host/sdhci-of-esdhc.c
1470
of_node_put(tp);
drivers/mtd/mtdswap.c
193
struct mtdswap_tree *tp;
drivers/mtd/mtdswap.c
196
tp = container_of(eb->root, struct mtdswap_tree, root);
drivers/mtd/mtdswap.c
197
oldidx = tp - &d->trees[0];
drivers/mtd/ubi/vmt.c
73
const char *tp;
drivers/mtd/ubi/vmt.c
76
tp = "dynamic";
drivers/mtd/ubi/vmt.c
78
tp = "static";
drivers/mtd/ubi/vmt.c
79
ret = sprintf(buf, "%s\n", tp);
drivers/net/can/sja1000/sja1000_platform.c
103
spin_lock_init(&tp->io_lock);
drivers/net/can/sja1000/sja1000_platform.c
73
struct technologic_priv *tp = priv->priv;
drivers/net/can/sja1000/sja1000_platform.c
77
spin_lock_irqsave(&tp->io_lock, flags);
drivers/net/can/sja1000/sja1000_platform.c
80
spin_unlock_irqrestore(&tp->io_lock, flags);
drivers/net/can/sja1000/sja1000_platform.c
88
struct technologic_priv *tp = priv->priv;
drivers/net/can/sja1000/sja1000_platform.c
91
spin_lock_irqsave(&tp->io_lock, flags);
drivers/net/can/sja1000/sja1000_platform.c
94
spin_unlock_irqrestore(&tp->io_lock, flags);
drivers/net/can/sja1000/sja1000_platform.c
99
struct technologic_priv *tp = priv->priv;
drivers/net/dsa/yt921x.c
1788
if ((use_dport && match.mask->tp.dst) ||
drivers/net/dsa/yt921x.c
1789
(use_sport && match.mask->tp.src)) {
drivers/net/dsa/yt921x.c
1795
if (match.mask->tp.dst) {
drivers/net/dsa/yt921x.c
1801
if (match.mask->tp.src) {
drivers/net/ethernet/3com/typhoon.c
1016
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
1022
switch (tp->xcvr_select) {
drivers/net/ethernet/3com/typhoon.c
1044
if (tp->capabilities & TYPHOON_FIBER) {
drivers/net/ethernet/3com/typhoon.c
1057
typhoon_do_get_stats(tp);
drivers/net/ethernet/3com/typhoon.c
1058
cmd->base.speed = tp->speed;
drivers/net/ethernet/3com/typhoon.c
1059
cmd->base.duplex = tp->duplex;
drivers/net/ethernet/3com/typhoon.c
1061
if (tp->xcvr_select == TYPHOON_XCVR_AUTONEG)
drivers/net/ethernet/3com/typhoon.c
1078
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
1108
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1112
tp->xcvr_select = xcvr;
drivers/net/ethernet/3com/typhoon.c
1114
tp->speed = 0xff; /* invalid */
drivers/net/ethernet/3com/typhoon.c
1115
tp->duplex = 0xff; /* invalid */
drivers/net/ethernet/3com/typhoon.c
1117
tp->speed = speed;
drivers/net/ethernet/3com/typhoon.c
1118
tp->duplex = cmd->base.duplex;
drivers/net/ethernet/3com/typhoon.c
1128
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
1132
if (tp->wol_events & TYPHOON_WAKE_LINK_EVENT)
drivers/net/ethernet/3com/typhoon.c
1134
if (tp->wol_events & TYPHOON_WAKE_MAGIC_PKT)
drivers/net/ethernet/3com/typhoon.c
1142
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
1147
tp->wol_events = 0;
drivers/net/ethernet/3com/typhoon.c
1149
tp->wol_events |= TYPHOON_WAKE_LINK_EVENT;
drivers/net/ethernet/3com/typhoon.c
1151
tp->wol_events |= TYPHOON_WAKE_MAGIC_PKT;
drivers/net/ethernet/3com/typhoon.c
1200
typhoon_init_interface(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1202
struct typhoon_interface *iface = &tp->shared->iface;
drivers/net/ethernet/3com/typhoon.c
1205
memset(tp->shared, 0, sizeof(struct typhoon_shared));
drivers/net/ethernet/3com/typhoon.c
1209
shared_dma = tp->shared_dma + shared_offset(indexes);
drivers/net/ethernet/3com/typhoon.c
1212
shared_dma = tp->shared_dma + shared_offset(txLo);
drivers/net/ethernet/3com/typhoon.c
1216
shared_dma = tp->shared_dma + shared_offset(txHi);
drivers/net/ethernet/3com/typhoon.c
1220
shared_dma = tp->shared_dma + shared_offset(rxBuff);
drivers/net/ethernet/3com/typhoon.c
1225
shared_dma = tp->shared_dma + shared_offset(rxLo);
drivers/net/ethernet/3com/typhoon.c
1229
shared_dma = tp->shared_dma + shared_offset(rxHi);
drivers/net/ethernet/3com/typhoon.c
1233
shared_dma = tp->shared_dma + shared_offset(cmd);
drivers/net/ethernet/3com/typhoon.c
1237
shared_dma = tp->shared_dma + shared_offset(resp);
drivers/net/ethernet/3com/typhoon.c
1241
shared_dma = tp->shared_dma + shared_offset(zeroWord);
drivers/net/ethernet/3com/typhoon.c
1244
tp->indexes = &tp->shared->indexes;
drivers/net/ethernet/3com/typhoon.c
1245
tp->txLoRing.ringBase = (u8 *) tp->shared->txLo;
drivers/net/ethernet/3com/typhoon.c
1246
tp->txHiRing.ringBase = (u8 *) tp->shared->txHi;
drivers/net/ethernet/3com/typhoon.c
1247
tp->rxLoRing.ringBase = (u8 *) tp->shared->rxLo;
drivers/net/ethernet/3com/typhoon.c
1248
tp->rxHiRing.ringBase = (u8 *) tp->shared->rxHi;
drivers/net/ethernet/3com/typhoon.c
1249
tp->rxBuffRing.ringBase = (u8 *) tp->shared->rxBuff;
drivers/net/ethernet/3com/typhoon.c
1250
tp->cmdRing.ringBase = (u8 *) tp->shared->cmd;
drivers/net/ethernet/3com/typhoon.c
1251
tp->respRing.ringBase = (u8 *) tp->shared->resp;
drivers/net/ethernet/3com/typhoon.c
1253
tp->txLoRing.writeRegister = TYPHOON_REG_TX_LO_READY;
drivers/net/ethernet/3com/typhoon.c
1254
tp->txHiRing.writeRegister = TYPHOON_REG_TX_HI_READY;
drivers/net/ethernet/3com/typhoon.c
1256
tp->txlo_dma_addr = le32_to_cpu(iface->txLoAddr);
drivers/net/ethernet/3com/typhoon.c
1257
tp->card_state = Sleeping;
drivers/net/ethernet/3com/typhoon.c
1259
tp->offload = TYPHOON_OFFLOAD_IP_CHKSUM | TYPHOON_OFFLOAD_TCP_CHKSUM;
drivers/net/ethernet/3com/typhoon.c
1260
tp->offload |= TYPHOON_OFFLOAD_UDP_CHKSUM | TSO_OFFLOAD_ON;
drivers/net/ethernet/3com/typhoon.c
1261
tp->offload |= TYPHOON_OFFLOAD_VLAN;
drivers/net/ethernet/3com/typhoon.c
1263
spin_lock_init(&tp->command_lock);
drivers/net/ethernet/3com/typhoon.c
1270
typhoon_init_rings(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1272
memset(tp->indexes, 0, sizeof(struct typhoon_indexes));
drivers/net/ethernet/3com/typhoon.c
1274
tp->txLoRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1275
tp->txHiRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1276
tp->rxLoRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1277
tp->rxHiRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1278
tp->rxBuffRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1279
tp->cmdRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1280
tp->respRing.lastWrite = 0;
drivers/net/ethernet/3com/typhoon.c
1282
tp->txLoRing.lastRead = 0;
drivers/net/ethernet/3com/typhoon.c
1283
tp->txHiRing.lastRead = 0;
drivers/net/ethernet/3com/typhoon.c
1289
typhoon_request_firmware(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1302
err = request_firmware(&typhoon_fw, FIRMWARE_NAME, &tp->pdev->dev);
drivers/net/ethernet/3com/typhoon.c
1304
netdev_err(tp->dev, "Failed to load firmware \"%s\"\n",
drivers/net/ethernet/3com/typhoon.c
1340
netdev_err(tp->dev, "Invalid firmware image\n");
drivers/net/ethernet/3com/typhoon.c
1347
typhoon_download_firmware(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1349
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1350
struct pci_dev *pdev = tp->pdev;
drivers/net/ethernet/3com/typhoon.c
1377
netdev_err(tp->dev, "no DMA mem for firmware\n");
drivers/net/ethernet/3com/typhoon.c
1390
netdev_err(tp->dev, "card ready timeout\n");
drivers/net/ethernet/3com/typhoon.c
1430
netdev_err(tp->dev, "segment ready timeout\n");
drivers/net/ethernet/3com/typhoon.c
1462
netdev_err(tp->dev, "final segment ready timeout\n");
drivers/net/ethernet/3com/typhoon.c
1469
netdev_err(tp->dev, "boot ready timeout, status 0x%0x\n",
drivers/net/ethernet/3com/typhoon.c
1487
typhoon_boot_3XP(struct typhoon *tp, u32 initial_status)
drivers/net/ethernet/3com/typhoon.c
1489
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1492
netdev_err(tp->dev, "boot ready timeout\n");
drivers/net/ethernet/3com/typhoon.c
1497
iowrite32(tp->shared_dma, ioaddr + TYPHOON_REG_BOOT_RECORD_ADDR_LO);
drivers/net/ethernet/3com/typhoon.c
1503
netdev_err(tp->dev, "boot finish timeout (status 0x%x)\n",
drivers/net/ethernet/3com/typhoon.c
1523
typhoon_clean_tx(struct typhoon *tp, struct transmit_ring *txRing,
drivers/net/ethernet/3com/typhoon.c
1547
dma_unmap_single(&tp->pdev->dev, skb_dma, dma_len,
drivers/net/ethernet/3com/typhoon.c
1559
typhoon_tx_complete(struct typhoon *tp, struct transmit_ring *txRing,
drivers/net/ethernet/3com/typhoon.c
1566
lastRead = typhoon_clean_tx(tp, txRing, index);
drivers/net/ethernet/3com/typhoon.c
1567
if (netif_queue_stopped(tp->dev) && typhoon_num_free(txRing->lastWrite,
drivers/net/ethernet/3com/typhoon.c
1569
netif_wake_queue(tp->dev);
drivers/net/ethernet/3com/typhoon.c
1576
typhoon_recycle_rx_skb(struct typhoon *tp, u32 idx)
drivers/net/ethernet/3com/typhoon.c
1578
struct typhoon_indexes *indexes = tp->indexes;
drivers/net/ethernet/3com/typhoon.c
1579
struct rxbuff_ent *rxb = &tp->rxbuffers[idx];
drivers/net/ethernet/3com/typhoon.c
1580
struct basic_ring *ring = &tp->rxBuffRing;
drivers/net/ethernet/3com/typhoon.c
1603
typhoon_alloc_rx_skb(struct typhoon *tp, u32 idx)
drivers/net/ethernet/3com/typhoon.c
1605
struct typhoon_indexes *indexes = tp->indexes;
drivers/net/ethernet/3com/typhoon.c
1606
struct rxbuff_ent *rxb = &tp->rxbuffers[idx];
drivers/net/ethernet/3com/typhoon.c
1607
struct basic_ring *ring = &tp->rxBuffRing;
drivers/net/ethernet/3com/typhoon.c
1618
skb = netdev_alloc_skb(tp->dev, PKT_BUF_SZ);
drivers/net/ethernet/3com/typhoon.c
1629
dma_addr = dma_map_single(&tp->pdev->dev, skb->data, PKT_BUF_SZ,
drivers/net/ethernet/3com/typhoon.c
1649
typhoon_rx(struct typhoon *tp, struct basic_ring *rxRing, volatile __le32 * ready,
drivers/net/ethernet/3com/typhoon.c
1669
rxb = &tp->rxbuffers[idx];
drivers/net/ethernet/3com/typhoon.c
1676
typhoon_recycle_rx_skb(tp, idx);
drivers/net/ethernet/3com/typhoon.c
1683
(new_skb = netdev_alloc_skb(tp->dev, pkt_len + 2)) != NULL) {
drivers/net/ethernet/3com/typhoon.c
1685
dma_sync_single_for_cpu(&tp->pdev->dev, dma_addr,
drivers/net/ethernet/3com/typhoon.c
1688
dma_sync_single_for_device(&tp->pdev->dev, dma_addr,
drivers/net/ethernet/3com/typhoon.c
1692
typhoon_recycle_rx_skb(tp, idx);
drivers/net/ethernet/3com/typhoon.c
1696
dma_unmap_single(&tp->pdev->dev, dma_addr, PKT_BUF_SZ,
drivers/net/ethernet/3com/typhoon.c
1698
typhoon_alloc_rx_skb(tp, idx);
drivers/net/ethernet/3com/typhoon.c
1700
new_skb->protocol = eth_type_trans(new_skb, tp->dev);
drivers/net/ethernet/3com/typhoon.c
1725
typhoon_fill_free_ring(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1730
struct rxbuff_ent *rxb = &tp->rxbuffers[i];
drivers/net/ethernet/3com/typhoon.c
1733
if (typhoon_alloc_rx_skb(tp, i) < 0)
drivers/net/ethernet/3com/typhoon.c
1741
struct typhoon *tp = container_of(napi, struct typhoon, napi);
drivers/net/ethernet/3com/typhoon.c
1742
struct typhoon_indexes *indexes = tp->indexes;
drivers/net/ethernet/3com/typhoon.c
1746
if (!tp->awaiting_resp && indexes->respReady != indexes->respCleared)
drivers/net/ethernet/3com/typhoon.c
1747
typhoon_process_response(tp, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1749
if (le32_to_cpu(indexes->txLoCleared) != tp->txLoRing.lastRead)
drivers/net/ethernet/3com/typhoon.c
1750
typhoon_tx_complete(tp, &tp->txLoRing, &indexes->txLoCleared);
drivers/net/ethernet/3com/typhoon.c
1755
work_done += typhoon_rx(tp, &tp->rxHiRing, &indexes->rxHiReady,
drivers/net/ethernet/3com/typhoon.c
1760
work_done += typhoon_rx(tp, &tp->rxLoRing, &indexes->rxLoReady,
drivers/net/ethernet/3com/typhoon.c
1764
if (le32_to_cpu(indexes->rxBuffCleared) == tp->rxBuffRing.lastWrite) {
drivers/net/ethernet/3com/typhoon.c
1766
typhoon_fill_free_ring(tp);
drivers/net/ethernet/3com/typhoon.c
1772
tp->ioaddr + TYPHOON_REG_INTR_MASK);
drivers/net/ethernet/3com/typhoon.c
1773
typhoon_post_pci_writes(tp->ioaddr);
drivers/net/ethernet/3com/typhoon.c
1783
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
1784
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1793
if (napi_schedule_prep(&tp->napi)) {
drivers/net/ethernet/3com/typhoon.c
1796
__napi_schedule(&tp->napi);
drivers/net/ethernet/3com/typhoon.c
1804
typhoon_free_rx_rings(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1809
struct rxbuff_ent *rxb = &tp->rxbuffers[i];
drivers/net/ethernet/3com/typhoon.c
1811
dma_unmap_single(&tp->pdev->dev, rxb->dma_addr,
drivers/net/ethernet/3com/typhoon.c
1820
typhoon_sleep_early(struct typhoon *tp, __le16 events)
drivers/net/ethernet/3com/typhoon.c
1822
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1828
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1830
netdev_err(tp->dev, "typhoon_sleep(): wake events cmd err %d\n",
drivers/net/ethernet/3com/typhoon.c
1836
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1838
netdev_err(tp->dev, "typhoon_sleep(): sleep cmd err %d\n", err);
drivers/net/ethernet/3com/typhoon.c
1848
netif_carrier_off(tp->dev);
drivers/net/ethernet/3com/typhoon.c
1854
typhoon_sleep(struct typhoon *tp, pci_power_t state, __le16 events)
drivers/net/ethernet/3com/typhoon.c
1858
err = typhoon_sleep_early(tp, events);
drivers/net/ethernet/3com/typhoon.c
1863
pci_enable_wake(tp->pdev, state, 1);
drivers/net/ethernet/3com/typhoon.c
1864
pci_disable_device(tp->pdev);
drivers/net/ethernet/3com/typhoon.c
1865
return pci_set_power_state(tp->pdev, state);
drivers/net/ethernet/3com/typhoon.c
1869
typhoon_wakeup(struct typhoon *tp, int wait_type)
drivers/net/ethernet/3com/typhoon.c
1871
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1879
(tp->capabilities & TYPHOON_WAKEUP_NEEDS_RESET))
drivers/net/ethernet/3com/typhoon.c
1886
typhoon_start_runtime(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
1888
struct net_device *dev = tp->dev;
drivers/net/ethernet/3com/typhoon.c
1889
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1893
typhoon_init_rings(tp);
drivers/net/ethernet/3com/typhoon.c
1894
typhoon_fill_free_ring(tp);
drivers/net/ethernet/3com/typhoon.c
1896
err = typhoon_download_firmware(tp);
drivers/net/ethernet/3com/typhoon.c
1898
netdev_err(tp->dev, "cannot load runtime on 3XP\n");
drivers/net/ethernet/3com/typhoon.c
1902
if (typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_BOOT) < 0) {
drivers/net/ethernet/3com/typhoon.c
1903
netdev_err(tp->dev, "cannot boot 3XP\n");
drivers/net/ethernet/3com/typhoon.c
1910
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1917
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1926
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1931
xp_cmd.parm1 = tp->xcvr_select;
drivers/net/ethernet/3com/typhoon.c
1932
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1938
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1943
xp_cmd.parm2 = tp->offload;
drivers/net/ethernet/3com/typhoon.c
1944
xp_cmd.parm3 = tp->offload;
drivers/net/ethernet/3com/typhoon.c
1945
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1952
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1957
err = typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
1961
tp->card_state = Running;
drivers/net/ethernet/3com/typhoon.c
1972
typhoon_free_rx_rings(tp);
drivers/net/ethernet/3com/typhoon.c
1973
typhoon_init_rings(tp);
drivers/net/ethernet/3com/typhoon.c
1978
typhoon_stop_runtime(struct typhoon *tp, int wait_type)
drivers/net/ethernet/3com/typhoon.c
1980
struct typhoon_indexes *indexes = tp->indexes;
drivers/net/ethernet/3com/typhoon.c
1981
struct transmit_ring *txLo = &tp->txLoRing;
drivers/net/ethernet/3com/typhoon.c
1982
void __iomem *ioaddr = tp->ioaddr;
drivers/net/ethernet/3com/typhoon.c
1993
typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
2005
netdev_err(tp->dev, "halt timed out waiting for Tx to complete\n");
drivers/net/ethernet/3com/typhoon.c
2008
typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
2013
tp->card_state = Sleeping;
drivers/net/ethernet/3com/typhoon.c
2015
typhoon_do_get_stats(tp);
drivers/net/ethernet/3com/typhoon.c
2016
memcpy(&tp->stats_saved, &tp->dev->stats, sizeof(struct net_device_stats));
drivers/net/ethernet/3com/typhoon.c
2019
typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
2022
netdev_err(tp->dev, "timed out waiting for 3XP to halt\n");
drivers/net/ethernet/3com/typhoon.c
2025
netdev_err(tp->dev, "unable to reset 3XP\n");
drivers/net/ethernet/3com/typhoon.c
2032
typhoon_clean_tx(tp, &tp->txLoRing, &indexes->txLoCleared);
drivers/net/ethernet/3com/typhoon.c
2041
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2043
if (typhoon_reset(tp->ioaddr, WaitNoSleep) < 0) {
drivers/net/ethernet/3com/typhoon.c
2049
typhoon_clean_tx(tp, &tp->txLoRing, &tp->indexes->txLoCleared);
drivers/net/ethernet/3com/typhoon.c
2050
typhoon_free_rx_rings(tp);
drivers/net/ethernet/3com/typhoon.c
2052
if (typhoon_start_runtime(tp) < 0) {
drivers/net/ethernet/3com/typhoon.c
2062
typhoon_reset(tp->ioaddr, NoWait);
drivers/net/ethernet/3com/typhoon.c
2069
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2072
err = typhoon_request_firmware(tp);
drivers/net/ethernet/3com/typhoon.c
2076
pci_set_power_state(tp->pdev, PCI_D0);
drivers/net/ethernet/3com/typhoon.c
2077
pci_restore_state(tp->pdev);
drivers/net/ethernet/3com/typhoon.c
2079
err = typhoon_wakeup(tp, WaitSleep);
drivers/net/ethernet/3com/typhoon.c
2090
napi_enable(&tp->napi);
drivers/net/ethernet/3com/typhoon.c
2092
err = typhoon_start_runtime(tp);
drivers/net/ethernet/3com/typhoon.c
2094
napi_disable(&tp->napi);
drivers/net/ethernet/3com/typhoon.c
2105
if (typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST) < 0) {
drivers/net/ethernet/3com/typhoon.c
2107
typhoon_reset(tp->ioaddr, NoWait);
drivers/net/ethernet/3com/typhoon.c
2111
if (typhoon_sleep(tp, PCI_D3hot, 0) < 0)
drivers/net/ethernet/3com/typhoon.c
2121
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2124
napi_disable(&tp->napi);
drivers/net/ethernet/3com/typhoon.c
2126
if (typhoon_stop_runtime(tp, WaitSleep) < 0)
drivers/net/ethernet/3com/typhoon.c
2132
typhoon_free_rx_rings(tp);
drivers/net/ethernet/3com/typhoon.c
2133
typhoon_init_rings(tp);
drivers/net/ethernet/3com/typhoon.c
2135
if (typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST) < 0)
drivers/net/ethernet/3com/typhoon.c
2138
if (typhoon_sleep(tp, PCI_D3hot, 0) < 0)
drivers/net/ethernet/3com/typhoon.c
2148
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2155
if (typhoon_wakeup(tp, WaitNoSleep) < 0) {
drivers/net/ethernet/3com/typhoon.c
2160
if (typhoon_start_runtime(tp) < 0) {
drivers/net/ethernet/3com/typhoon.c
2169
typhoon_reset(tp->ioaddr, NoWait);
drivers/net/ethernet/3com/typhoon.c
2178
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2187
if (tp->wol_events & TYPHOON_WAKE_MAGIC_PKT)
drivers/net/ethernet/3com/typhoon.c
2192
if (typhoon_stop_runtime(tp, WaitNoSleep) < 0) {
drivers/net/ethernet/3com/typhoon.c
2197
typhoon_free_rx_rings(tp);
drivers/net/ethernet/3com/typhoon.c
2198
typhoon_init_rings(tp);
drivers/net/ethernet/3com/typhoon.c
2200
if (typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST) < 0) {
drivers/net/ethernet/3com/typhoon.c
2208
if (typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL) < 0) {
drivers/net/ethernet/3com/typhoon.c
2215
if (typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL) < 0) {
drivers/net/ethernet/3com/typhoon.c
2220
if (typhoon_sleep_early(tp, tp->wol_events) < 0) {
drivers/net/ethernet/3com/typhoon.c
2314
struct typhoon *tp;
drivers/net/ethernet/3com/typhoon.c
2325
dev = alloc_etherdev(sizeof(*tp));
drivers/net/ethernet/3com/typhoon.c
2403
tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2404
tp->shared = shared;
drivers/net/ethernet/3com/typhoon.c
2405
tp->shared_dma = shared_dma;
drivers/net/ethernet/3com/typhoon.c
2406
tp->pdev = pdev;
drivers/net/ethernet/3com/typhoon.c
2407
tp->tx_pdev = pdev;
drivers/net/ethernet/3com/typhoon.c
2408
tp->ioaddr = ioaddr;
drivers/net/ethernet/3com/typhoon.c
2409
tp->tx_ioaddr = ioaddr;
drivers/net/ethernet/3com/typhoon.c
2410
tp->dev = dev;
drivers/net/ethernet/3com/typhoon.c
2432
typhoon_init_interface(tp);
drivers/net/ethernet/3com/typhoon.c
2433
typhoon_init_rings(tp);
drivers/net/ethernet/3com/typhoon.c
2435
err = typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST);
drivers/net/ethernet/3com/typhoon.c
2442
err = typhoon_issue_command(tp, 1, &xp_cmd, 1, xp_resp);
drivers/net/ethernet/3com/typhoon.c
2462
err = typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp);
drivers/net/ethernet/3com/typhoon.c
2468
tp->capabilities = typhoon_card_info[card_id].capabilities;
drivers/net/ethernet/3com/typhoon.c
2469
tp->xcvr_select = TYPHOON_XCVR_AUTONEG;
drivers/net/ethernet/3com/typhoon.c
2478
tp->capabilities |= TYPHOON_WAKEUP_NEEDS_RESET;
drivers/net/ethernet/3com/typhoon.c
2480
err = typhoon_sleep(tp, PCI_D3hot, 0);
drivers/net/ethernet/3com/typhoon.c
2488
netif_napi_add_weight(dev, &tp->napi, typhoon_poll, 16);
drivers/net/ethernet/3com/typhoon.c
2570
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
2575
typhoon_reset(tp->ioaddr, NoWait);
drivers/net/ethernet/3com/typhoon.c
2576
pci_iounmap(pdev, tp->ioaddr);
drivers/net/ethernet/3com/typhoon.c
2578
tp->shared, tp->shared_dma);
drivers/net/ethernet/3com/typhoon.c
475
typhoon_hello(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
477
struct basic_ring *ring = &tp->cmdRing;
drivers/net/ethernet/3com/typhoon.c
484
if (spin_trylock(&tp->command_lock)) {
drivers/net/ethernet/3com/typhoon.c
490
iowrite32(ring->lastWrite, tp->ioaddr + TYPHOON_REG_CMD_READY);
drivers/net/ethernet/3com/typhoon.c
491
spin_unlock(&tp->command_lock);
drivers/net/ethernet/3com/typhoon.c
496
typhoon_process_response(struct typhoon *tp, int resp_size,
drivers/net/ethernet/3com/typhoon.c
499
struct typhoon_indexes *indexes = tp->indexes;
drivers/net/ethernet/3com/typhoon.c
501
u8 *base = tp->respRing.ringBase;
drivers/net/ethernet/3com/typhoon.c
532
typhoon_media_status(tp->dev, resp);
drivers/net/ethernet/3com/typhoon.c
534
typhoon_hello(tp);
drivers/net/ethernet/3com/typhoon.c
536
netdev_err(tp->dev,
drivers/net/ethernet/3com/typhoon.c
566
typhoon_num_free_cmd(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
568
int lastWrite = tp->cmdRing.lastWrite;
drivers/net/ethernet/3com/typhoon.c
569
int cmdCleared = le32_to_cpu(tp->indexes->cmdCleared);
drivers/net/ethernet/3com/typhoon.c
575
typhoon_num_free_resp(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
577
int respReady = le32_to_cpu(tp->indexes->respReady);
drivers/net/ethernet/3com/typhoon.c
578
int respCleared = le32_to_cpu(tp->indexes->respCleared);
drivers/net/ethernet/3com/typhoon.c
591
typhoon_issue_command(struct typhoon *tp, int num_cmd, struct cmd_desc *cmd,
drivers/net/ethernet/3com/typhoon.c
594
struct typhoon_indexes *indexes = tp->indexes;
drivers/net/ethernet/3com/typhoon.c
595
struct basic_ring *ring = &tp->cmdRing;
drivers/net/ethernet/3com/typhoon.c
602
spin_lock(&tp->command_lock);
drivers/net/ethernet/3com/typhoon.c
604
freeCmd = typhoon_num_free_cmd(tp);
drivers/net/ethernet/3com/typhoon.c
605
freeResp = typhoon_num_free_resp(tp);
drivers/net/ethernet/3com/typhoon.c
608
netdev_err(tp->dev, "no descs for cmd, had (needed) %d (%d) cmd, %d (%d) resp\n",
drivers/net/ethernet/3com/typhoon.c
618
tp->awaiting_resp = 1;
drivers/net/ethernet/3com/typhoon.c
644
iowrite32(ring->lastWrite, tp->ioaddr + TYPHOON_REG_CMD_READY);
drivers/net/ethernet/3com/typhoon.c
645
typhoon_post_pci_writes(tp->ioaddr);
drivers/net/ethernet/3com/typhoon.c
669
got_resp = typhoon_process_response(tp, num_resp,
drivers/net/ethernet/3com/typhoon.c
686
if (tp->awaiting_resp) {
drivers/net/ethernet/3com/typhoon.c
687
tp->awaiting_resp = 0;
drivers/net/ethernet/3com/typhoon.c
698
iowrite32(1, tp->ioaddr + TYPHOON_REG_SELF_INTERRUPT);
drivers/net/ethernet/3com/typhoon.c
701
spin_unlock(&tp->command_lock);
drivers/net/ethernet/3com/typhoon.c
729
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
741
txRing = &tp->txLoRing;
drivers/net/ethernet/3com/typhoon.c
798
typhoon_tso_fill(skb, txRing, tp->txlo_dma_addr);
drivers/net/ethernet/3com/typhoon.c
808
skb_dma = dma_map_single(&tp->tx_pdev->dev, skb->data,
drivers/net/ethernet/3com/typhoon.c
819
skb_dma = dma_map_single(&tp->tx_pdev->dev, skb->data, len,
drivers/net/ethernet/3com/typhoon.c
837
skb_dma = dma_map_single(&tp->tx_pdev->dev, frag_addr,
drivers/net/ethernet/3com/typhoon.c
850
iowrite32(txRing->lastWrite, tp->tx_ioaddr + txRing->writeRegister);
drivers/net/ethernet/3com/typhoon.c
876
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
902
typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
909
typhoon_issue_command(tp, 1, &xp_cmd, 0, NULL);
drivers/net/ethernet/3com/typhoon.c
913
typhoon_do_get_stats(struct typhoon *tp)
drivers/net/ethernet/3com/typhoon.c
915
struct net_device_stats *stats = &tp->dev->stats;
drivers/net/ethernet/3com/typhoon.c
916
struct net_device_stats *saved = &tp->stats_saved;
drivers/net/ethernet/3com/typhoon.c
923
err = typhoon_issue_command(tp, 1, &xp_cmd, 7, xp_resp);
drivers/net/ethernet/3com/typhoon.c
956
tp->speed = (s->linkStatus & TYPHOON_LINK_100MBPS) ?
drivers/net/ethernet/3com/typhoon.c
958
tp->duplex = (s->linkStatus & TYPHOON_LINK_FULL_DUPLEX) ?
drivers/net/ethernet/3com/typhoon.c
967
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
968
struct net_device_stats *stats = &tp->dev->stats;
drivers/net/ethernet/3com/typhoon.c
969
struct net_device_stats *saved = &tp->stats_saved;
drivers/net/ethernet/3com/typhoon.c
972
if (tp->card_state == Sleeping)
drivers/net/ethernet/3com/typhoon.c
975
if (typhoon_do_get_stats(tp) < 0) {
drivers/net/ethernet/3com/typhoon.c
986
struct typhoon *tp = netdev_priv(dev);
drivers/net/ethernet/3com/typhoon.c
987
struct pci_dev *pci_dev = tp->pdev;
drivers/net/ethernet/3com/typhoon.c
992
if (tp->card_state == Sleeping) {
drivers/net/ethernet/3com/typhoon.c
997
if (typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp) < 0) {
drivers/net/ethernet/8390/mac8390.c
161
static void word_memcpy_tocard(unsigned long tp, const void *fp, int count);
drivers/net/ethernet/8390/mac8390.c
162
static void word_memcpy_fromcard(void *tp, unsigned long fp, int count);
drivers/net/ethernet/8390/mac8390.c
824
static void word_memcpy_tocard(unsigned long tp, const void *fp, int count)
drivers/net/ethernet/8390/mac8390.c
826
volatile unsigned short *to = (void *)tp;
drivers/net/ethernet/8390/mac8390.c
836
static void word_memcpy_fromcard(void *tp, unsigned long fp, int count)
drivers/net/ethernet/8390/mac8390.c
838
unsigned short *to = tp;
drivers/net/ethernet/amd/declance.c
330
unsigned short *tp;
drivers/net/ethernet/amd/declance.c
340
tp = to;
drivers/net/ethernet/amd/declance.c
344
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
345
tp++;
drivers/net/ethernet/amd/declance.c
349
rtp = (unsigned char *)tp;
drivers/net/ethernet/amd/declance.c
359
tp = to;
drivers/net/ethernet/amd/declance.c
362
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
363
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
364
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
365
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
366
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
367
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
368
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
369
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
370
tp += 8;
drivers/net/ethernet/amd/declance.c
377
rtp = (unsigned char *)tp;
drivers/net/ethernet/amd/declance.c
389
unsigned short *tp;
drivers/net/ethernet/amd/declance.c
399
tp = to;
drivers/net/ethernet/amd/declance.c
402
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
408
rtp = (unsigned char *)tp;
drivers/net/ethernet/amd/declance.c
420
tp = to;
drivers/net/ethernet/amd/declance.c
423
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
424
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
425
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
426
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
427
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
428
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
429
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
430
*tp++ = *fp++;
drivers/net/ethernet/amd/declance.c
438
rtp = (unsigned char *)tp;
drivers/net/ethernet/broadcom/tg3.c
10000
if (tg3_asic_rev(tp) == ASIC_REV_57780) {
drivers/net/ethernet/broadcom/tg3.c
10015
if (tg3_flag(tp, L1PLLPD_EN)) {
drivers/net/ethernet/broadcom/tg3.c
10029
if (tg3_flag(tp, 57765_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
1003
(tp->misc_host_ctrl | MISC_HOST_CTRL_MASK_PCI_INT));
drivers/net/ethernet/broadcom/tg3.c
10030
if (tg3_chip_rev_id(tp) == CHIPREV_ID_57765_A0) {
drivers/net/ethernet/broadcom/tg3.c
1004
for (i = 0; i < tp->irq_max; i++)
drivers/net/ethernet/broadcom/tg3.c
10045
if (tg3_chip_rev(tp) != CHIPREV_57765_AX) {
drivers/net/ethernet/broadcom/tg3.c
1005
tw32_mailbox_f(tp->napi[i].int_mbox, 0x00000001);
drivers/net/ethernet/broadcom/tg3.c
10079
if (!tg3_flag(tp, CPMU_PRESENT)) {
drivers/net/ethernet/broadcom/tg3.c
1008
static void tg3_enable_ints(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
10080
if (!tg3_flag(tp, PCI_EXPRESS))
drivers/net/ethernet/broadcom/tg3.c
10081
tp->pci_clock_ctrl |= CLOCK_CTRL_DELAY_PCI_GRANT;
drivers/net/ethernet/broadcom/tg3.c
10082
tw32_f(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl);
drivers/net/ethernet/broadcom/tg3.c
10085
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5704_A0 &&
drivers/net/ethernet/broadcom/tg3.c
10086
tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
10092
if (tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
10103
if (tg3_chip_rev(tp) == CHIPREV_5704_BX) {
drivers/net/ethernet/broadcom/tg3.c
10115
err = tg3_init_rings(tp);
drivers/net/ethernet/broadcom/tg3.c
10119
if (tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
1012
tp->irq_sync = 0;
drivers/net/ethernet/broadcom/tg3.c
10122
if (tg3_chip_rev_id(tp) == CHIPREV_ID_57765_A0)
drivers/net/ethernet/broadcom/tg3.c
10124
if (!tg3_flag(tp, 57765_CLASS) &&
drivers/net/ethernet/broadcom/tg3.c
10125
tg3_asic_rev(tp) != ASIC_REV_5717 &&
drivers/net/ethernet/broadcom/tg3.c
10126
tg3_asic_rev(tp) != ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
10128
tw32(TG3PCI_DMA_RW_CTRL, val | tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
10129
} else if (tg3_asic_rev(tp) != ASIC_REV_5784 &&
drivers/net/ethernet/broadcom/tg3.c
10130
tg3_asic_rev(tp) != ASIC_REV_5761) {
drivers/net/ethernet/broadcom/tg3.c
10134
tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
10137
tp->grc_mode &= ~(GRC_MODE_HOST_SENDBDS |
drivers/net/ethernet/broadcom/tg3.c
10141
tp->grc_mode |= GRC_MODE_HOST_SENDBDS;
drivers/net/ethernet/broadcom/tg3.c
10149
tp->grc_mode |= GRC_MODE_NO_TX_PHDR_CSUM;
drivers/net/ethernet/broadcom/tg3.c
10152
if (tp->rxptpctl)
drivers/net/ethernet/broadcom/tg3.c
10154
tp->rxptpctl | TG3_RX_PTP_CTL_HWTS_INTERLOCK);
drivers/net/ethernet/broadcom/tg3.c
10156
if (tg3_flag(tp, PTP_CAPABLE))
drivers/net/ethernet/broadcom/tg3.c
10159
tw32(GRC_MODE, tp->grc_mode | val);
drivers/net/ethernet/broadcom/tg3.c
1016
(tp->misc_host_ctrl & ~MISC_HOST_CTRL_MASK_PCI_INT));
drivers/net/ethernet/broadcom/tg3.c
10165
if (tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
drivers/net/ethernet/broadcom/tg3.c
10166
tp->pdev->subsystem_device == TG3PCI_SUBDEVICE_ID_DELL_5762) {
drivers/net/ethernet/broadcom/tg3.c
10178
if (tg3_flag(tp, 5750_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
1018
tp->coal_now = tp->coalesce_mode | HOSTCC_MODE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
10180
} else if (tg3_asic_rev(tp) != ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
10182
if (tg3_asic_rev(tp) == ASIC_REV_5704)
drivers/net/ethernet/broadcom/tg3.c
10188
} else if (tg3_flag(tp, TSO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
1019
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
10191
fw_len = tp->fw_len;
drivers/net/ethernet/broadcom/tg3.c
10199
if (tp->dev->mtu <= ETH_DATA_LEN) {
drivers/net/ethernet/broadcom/tg3.c
1020
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
10201
tp->bufmgr_config.mbuf_read_dma_low_water);
drivers/net/ethernet/broadcom/tg3.c
10203
tp->bufmgr_config.mbuf_mac_rx_low_water);
drivers/net/ethernet/broadcom/tg3.c
10205
tp->bufmgr_config.mbuf_high_water);
drivers/net/ethernet/broadcom/tg3.c
10208
tp->bufmgr_config.mbuf_read_dma_low_water_jumbo);
drivers/net/ethernet/broadcom/tg3.c
10210
tp->bufmgr_config.mbuf_mac_rx_low_water_jumbo);
drivers/net/ethernet/broadcom/tg3.c
10212
tp->bufmgr_config.mbuf_high_water_jumbo);
drivers/net/ethernet/broadcom/tg3.c
10215
tp->bufmgr_config.dma_low_water);
drivers/net/ethernet/broadcom/tg3.c
10217
tp->bufmgr_config.dma_high_water);
drivers/net/ethernet/broadcom/tg3.c
10220
if (tg3_asic_rev(tp) == ASIC_REV_5719)
drivers/net/ethernet/broadcom/tg3.c
10222
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
10223
tg3_asic_rev(tp) == ASIC_REV_5762 ||
drivers/net/ethernet/broadcom/tg3.c
10224
tg3_chip_rev_id(tp) == CHIPREV_ID_5719_A0 ||
drivers/net/ethernet/broadcom/tg3.c
10225
tg3_chip_rev_id(tp) == CHIPREV_ID_5720_A0)
drivers/net/ethernet/broadcom/tg3.c
1023
if (tg3_flag(tp, 1SHOT_MSI))
drivers/net/ethernet/broadcom/tg3.c
10234
netdev_err(tp->dev, "%s cannot enable BUFMGR\n", __func__);
drivers/net/ethernet/broadcom/tg3.c
10238
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5906_A1)
drivers/net/ethernet/broadcom/tg3.c
10241
tg3_setup_rxbd_thresholds(tp);
drivers/net/ethernet/broadcom/tg3.c
1026
tp->coal_now |= tnapi->coal_now;
drivers/net/ethernet/broadcom/tg3.c
10264
if (!tg3_flag(tp, 5717_PLUS))
drivers/net/ethernet/broadcom/tg3.c
10269
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
10276
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5719_A0 ||
drivers/net/ethernet/broadcom/tg3.c
10277
(tg3_flag(tp, JUMBO_CAPABLE) && !tg3_flag(tp, 5780_CLASS))) {
drivers/net/ethernet/broadcom/tg3.c
10279
if (tg3_flag(tp, JUMBO_RING_ENABLE)) {
drivers/net/ethernet/broadcom/tg3.c
10284
val = TG3_RX_JMB_RING_SIZE(tp) <<
drivers/net/ethernet/broadcom/tg3.c
10288
if (!tg3_flag(tp, USE_JUMBO_BDFLAG) ||
drivers/net/ethernet/broadcom/tg3.c
10289
tg3_flag(tp, 57765_CLASS) ||
drivers/net/ethernet/broadcom/tg3.c
10290
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
10298
if (tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
10299
val = TG3_RX_STD_RING_SIZE(tp);
drivers/net/ethernet/broadcom/tg3.c
1030
if (!tg3_flag(tp, TAGGED_STATUS) &&
drivers/net/ethernet/broadcom/tg3.c
10309
tpr->rx_std_prod_idx = tp->rx_pending;
drivers/net/ethernet/broadcom/tg3.c
1031
(tp->napi[0].hw_status->status & SD_STATUS_UPDATED))
drivers/net/ethernet/broadcom/tg3.c
10313
tg3_flag(tp, JUMBO_RING_ENABLE) ? tp->rx_jumbo_pending : 0;
drivers/net/ethernet/broadcom/tg3.c
10316
tg3_rings_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
10319
__tg3_set_mac_addr(tp, false);
drivers/net/ethernet/broadcom/tg3.c
1032
tw32(GRC_LOCAL_CTRL, tp->grc_local_ctrl | GRC_LCLCTRL_SETINT);
drivers/net/ethernet/broadcom/tg3.c
10323
tp->dev->mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN);
drivers/net/ethernet/broadcom/tg3.c
10332
if (tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
10333
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
1034
tw32(HOSTCC_MODE, tp->coal_now);
drivers/net/ethernet/broadcom/tg3.c
10353
if (tg3_asic_rev(tp) == ASIC_REV_5717)
drivers/net/ethernet/broadcom/tg3.c
10356
if (tg3_asic_rev(tp) == ASIC_REV_5784 ||
drivers/net/ethernet/broadcom/tg3.c
10357
tg3_asic_rev(tp) == ASIC_REV_5785 ||
drivers/net/ethernet/broadcom/tg3.c
10358
tg3_asic_rev(tp) == ASIC_REV_57780)
drivers/net/ethernet/broadcom/tg3.c
1036
tp->coal_now &= ~(tp->napi[0].coal_now | tp->napi[1].coal_now);
drivers/net/ethernet/broadcom/tg3.c
10363
if (tg3_asic_rev(tp) == ASIC_REV_5705 &&
drivers/net/ethernet/broadcom/tg3.c
10364
tg3_chip_rev_id(tp) != CHIPREV_ID_5705_A0) {
drivers/net/ethernet/broadcom/tg3.c
10365
if (tg3_flag(tp, TSO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
10368
!tg3_flag(tp, IS_5788)) {
drivers/net/ethernet/broadcom/tg3.c
10373
if (tg3_flag(tp, PCI_EXPRESS))
drivers/net/ethernet/broadcom/tg3.c
10376
if (tg3_asic_rev(tp) == ASIC_REV_57766) {
drivers/net/ethernet/broadcom/tg3.c
10377
tp->dma_limit = 0;
drivers/net/ethernet/broadcom/tg3.c
10378
if (tp->dev->mtu <= ETH_DATA_LEN) {
drivers/net/ethernet/broadcom/tg3.c
10380
tp->dma_limit = TG3_TX_BD_DMA_MAX_2K;
drivers/net/ethernet/broadcom/tg3.c
10384
if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
10385
tg3_flag(tp, HW_TSO_2) ||
drivers/net/ethernet/broadcom/tg3.c
10386
tg3_flag(tp, HW_TSO_3))
drivers/net/ethernet/broadcom/tg3.c
10389
if (tg3_flag(tp, 57765_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
10390
tg3_asic_rev(tp) == ASIC_REV_5785 ||
drivers/net/ethernet/broadcom/tg3.c
10391
tg3_asic_rev(tp) == ASIC_REV_57780)
drivers/net/ethernet/broadcom/tg3.c
10394
if (tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
10395
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
10398
if (tg3_asic_rev(tp) == ASIC_REV_5761 ||
drivers/net/ethernet/broadcom/tg3.c
10399
tg3_asic_rev(tp) == ASIC_REV_5784 ||
drivers/net/ethernet/broadcom/tg3.c
10400
tg3_asic_rev(tp) == ASIC_REV_5785 ||
drivers/net/ethernet/broadcom/tg3.c
10401
tg3_asic_rev(tp) == ASIC_REV_57780 ||
drivers/net/ethernet/broadcom/tg3.c
10402
tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
10405
if (tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
1041
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
10411
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5719_A0 ||
drivers/net/ethernet/broadcom/tg3.c
10412
tg3_asic_rev(tp) == ASIC_REV_5762) {
drivers/net/ethernet/broadcom/tg3.c
10423
if (tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
10424
tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
10425
tg3_asic_rev(tp) == ASIC_REV_5762) {
drivers/net/ethernet/broadcom/tg3.c
10428
if (tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
10440
if (tg3_flag(tp, 5750_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
10445
tg3_flag(tp, TSO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
1046
if (!(tg3_flag(tp, USE_LINKCHG_REG) || tg3_flag(tp, POLL_SERDES))) {
drivers/net/ethernet/broadcom/tg3.c
10466
__tg3_set_coalesce(tp, &tp->coal);
drivers/net/ethernet/broadcom/tg3.c
10468
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
10474
((u64) tp->stats_mapping >> 32));
drivers/net/ethernet/broadcom/tg3.c
10476
((u64) tp->stats_mapping & 0xffffffff));
drivers/net/ethernet/broadcom/tg3.c
10485
tg3_write_mem(tp, i, 0);
drivers/net/ethernet/broadcom/tg3.c
10490
tw32(HOSTCC_MODE, HOSTCC_MODE_ENABLE | tp->coalesce_mode);
drivers/net/ethernet/broadcom/tg3.c
10494
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
10497
if (tp->phy_flags & TG3_PHYFLG_MII_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
10498
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
10504
tp->mac_mode |= MAC_MODE_TXSTAT_ENABLE | MAC_MODE_RXSTAT_ENABLE |
drivers/net/ethernet/broadcom/tg3.c
10507
if (tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
10508
tp->mac_mode |= MAC_MODE_APE_TX_EN | MAC_MODE_APE_RX_EN;
drivers/net/ethernet/broadcom/tg3.c
10509
if (!tg3_flag(tp, 5705_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
10510
!(tp->phy_flags & TG3_PHYFLG_PHY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
10511
tg3_asic_rev(tp) != ASIC_REV_5700)
drivers/net/ethernet/broadcom/tg3.c
10512
tp->mac_mode |= MAC_MODE_LINK_POLARITY;
drivers/net/ethernet/broadcom/tg3.c
10513
tw32_f(MAC_MODE, tp->mac_mode | MAC_MODE_RXSTAT_CLEAR | MAC_MODE_TXSTAT_CLEAR);
drivers/net/ethernet/broadcom/tg3.c
10522
if (!tg3_flag(tp, IS_NIC)) {
drivers/net/ethernet/broadcom/tg3.c
10529
if (tg3_asic_rev(tp) == ASIC_REV_5752)
drivers/net/ethernet/broadcom/tg3.c
10533
if (tg3_asic_rev(tp) == ASIC_REV_5755)
drivers/net/ethernet/broadcom/tg3.c
10536
tp->grc_local_ctrl &= ~gpio_mask;
drivers/net/ethernet/broadcom/tg3.c
10537
tp->grc_local_ctrl |= tr32(GRC_LOCAL_CTRL) & gpio_mask;
drivers/net/ethernet/broadcom/tg3.c
10540
if (tg3_flag(tp, EEPROM_WRITE_PROT))
drivers/net/ethernet/broadcom/tg3.c
10541
tp->grc_local_ctrl |= (GRC_LCLCTRL_GPIO_OE1 |
drivers/net/ethernet/broadcom/tg3.c
10544
tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl);
drivers/net/ethernet/broadcom/tg3.c
10547
if (tg3_flag(tp, USING_MSIX)) {
drivers/net/ethernet/broadcom/tg3.c
10550
if (tp->irq_cnt > 1)
drivers/net/ethernet/broadcom/tg3.c
10552
if (!tg3_flag(tp, 1SHOT_MSI))
drivers/net/ethernet/broadcom/tg3.c
10557
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
10568
if (tg3_asic_rev(tp) == ASIC_REV_5705 &&
drivers/net/ethernet/broadcom/tg3.c
10569
tg3_chip_rev_id(tp) != CHIPREV_ID_5705_A0) {
drivers/net/ethernet/broadcom/tg3.c
10570
if (tg3_flag(tp, TSO_CAPABLE) &&
drivers/net/ethernet/broadcom/tg3.c
10571
(tg3_chip_rev_id(tp) == CHIPREV_ID_5705_A1 ||
drivers/net/ethernet/broadcom/tg3.c
10572
tg3_chip_rev_id(tp) == CHIPREV_ID_5705_A2)) {
drivers/net/ethernet/broadcom/tg3.c
10575
!tg3_flag(tp, IS_5788)) {
drivers/net/ethernet/broadcom/tg3.c
10581
if (tg3_flag(tp, 5755_PLUS))
drivers/net/ethernet/broadcom/tg3.c
10584
if (tg3_asic_rev(tp) == ASIC_REV_5785)
drivers/net/ethernet/broadcom/tg3.c
10590
if (tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
10593
pci_read_config_word(tp->pdev, tp->pcix_cap + PCI_X_CMD,
drivers/net/ethernet/broadcom/tg3.c
10595
if (tg3_asic_rev(tp) == ASIC_REV_5703) {
drivers/net/ethernet/broadcom/tg3.c
10598
} else if (tg3_asic_rev(tp) == ASIC_REV_5704) {
drivers/net/ethernet/broadcom/tg3.c
10602
pci_write_config_word(tp->pdev, tp->pcix_cap + PCI_X_CMD,
drivers/net/ethernet/broadcom/tg3.c
10609
if (tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
10610
tg3_asic_rev(tp) == ASIC_REV_5720) {
drivers/net/ethernet/broadcom/tg3.c
10612
if (tr32(TG3_RDMA_LENGTH + (i << 2)) > TG3_MAX_MTU(tp))
drivers/net/ethernet/broadcom/tg3.c
10617
val |= tg3_lso_rd_dma_workaround_bit(tp);
drivers/net/ethernet/broadcom/tg3.c
10619
tg3_flag_set(tp, 5719_5720_RDMA_BUG);
drivers/net/ethernet/broadcom/tg3.c
10624
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
10627
if (tg3_asic_rev(tp) == ASIC_REV_5761)
drivers/net/ethernet/broadcom/tg3.c
10636
if (tg3_flag(tp, LRG_PROD_RING_CAP))
drivers/net/ethernet/broadcom/tg3.c
10640
if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
10641
tg3_flag(tp, HW_TSO_2) ||
drivers/net/ethernet/broadcom/tg3.c
10642
tg3_flag(tp, HW_TSO_3))
drivers/net/ethernet/broadcom/tg3.c
10645
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
10650
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0) {
drivers/net/ethernet/broadcom/tg3.c
10651
err = tg3_load_5701_a0_firmware_fix(tp);
drivers/net/ethernet/broadcom/tg3.c
10656
if (tg3_asic_rev(tp) == ASIC_REV_57766) {
drivers/net/ethernet/broadcom/tg3.c
10660
tg3_load_57766_firmware(tp);
drivers/net/ethernet/broadcom/tg3.c
10663
if (tg3_flag(tp, TSO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
10664
err = tg3_load_tso_firmware(tp);
drivers/net/ethernet/broadcom/tg3.c
10669
tp->tx_mode = TX_MODE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
10671
if (tg3_flag(tp, 5755_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
10672
tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
10673
tp->tx_mode |= TX_MODE_MBUF_LOCKUP_FIX;
drivers/net/ethernet/broadcom/tg3.c
10675
if (tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
10676
tg3_asic_rev(tp) == ASIC_REV_5762) {
drivers/net/ethernet/broadcom/tg3.c
10678
tp->tx_mode &= ~val;
drivers/net/ethernet/broadcom/tg3.c
10679
tp->tx_mode |= tr32(MAC_TX_MODE) & val;
drivers/net/ethernet/broadcom/tg3.c
10682
tw32_f(MAC_TX_MODE, tp->tx_mode);
drivers/net/ethernet/broadcom/tg3.c
10685
if (tg3_flag(tp, ENABLE_RSS)) {
drivers/net/ethernet/broadcom/tg3.c
10688
tg3_rss_write_indir_tbl(tp);
drivers/net/ethernet/broadcom/tg3.c
10696
tp->rx_mode = RX_MODE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
10697
if (tg3_flag(tp, 5755_PLUS))
drivers/net/ethernet/broadcom/tg3.c
10698
tp->rx_mode |= RX_MODE_IPV6_CSUM_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
1070
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
10700
if (tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
10701
tp->rx_mode |= RX_MODE_IPV4_FRAG_FIX;
drivers/net/ethernet/broadcom/tg3.c
10703
if (tg3_flag(tp, ENABLE_RSS))
drivers/net/ethernet/broadcom/tg3.c
10704
tp->rx_mode |= RX_MODE_RSS_ENABLE |
drivers/net/ethernet/broadcom/tg3.c
10711
tw32_f(MAC_RX_MODE, tp->rx_mode);
drivers/net/ethernet/broadcom/tg3.c
10714
tw32(MAC_LED_CTRL, tp->led_ctrl);
drivers/net/ethernet/broadcom/tg3.c
10717
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
10721
tw32_f(MAC_RX_MODE, tp->rx_mode);
drivers/net/ethernet/broadcom/tg3.c
10724
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
10725
if ((tg3_asic_rev(tp) == ASIC_REV_5704) &&
drivers/net/ethernet/broadcom/tg3.c
10726
!(tp->phy_flags & TG3_PHYFLG_SERDES_PREEMPHASIS)) {
drivers/net/ethernet/broadcom/tg3.c
10734
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5703_A1)
drivers/net/ethernet/broadcom/tg3.c
10741
if (tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
10747
if (tg3_asic_rev(tp) == ASIC_REV_5704 &&
drivers/net/ethernet/broadcom/tg3.c
10748
(tp->phy_flags & TG3_PHYFLG_PHY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
10750
tg3_flag_set(tp, HW_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
10753
if ((tp->phy_flags & TG3_PHYFLG_MII_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
10754
tg3_asic_rev(tp) == ASIC_REV_5714) {
drivers/net/ethernet/broadcom/tg3.c
10759
tp->grc_local_ctrl &= ~GRC_LCLCTRL_USE_EXT_SIG_DETECT;
drivers/net/ethernet/broadcom/tg3.c
10760
tp->grc_local_ctrl |= GRC_LCLCTRL_USE_SIG_DETECT;
drivers/net/ethernet/broadcom/tg3.c
10761
tw32(GRC_LOCAL_CTRL, tp->grc_local_ctrl);
drivers/net/ethernet/broadcom/tg3.c
10764
if (!tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
10765
if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)
drivers/net/ethernet/broadcom/tg3.c
10766
tp->phy_flags &= ~TG3_PHYFLG_IS_LOW_POWER;
drivers/net/ethernet/broadcom/tg3.c
10768
err = tg3_setup_phy(tp, false);
drivers/net/ethernet/broadcom/tg3.c
10772
if (!(tp->phy_flags & TG3_PHYFLG_PHY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
10773
!(tp->phy_flags & TG3_PHYFLG_IS_FET)) {
drivers/net/ethernet/broadcom/tg3.c
10777
if (!tg3_readphy(tp, MII_TG3_TEST1, &tmp)) {
drivers/net/ethernet/broadcom/tg3.c
10778
tg3_writephy(tp, MII_TG3_TEST1,
drivers/net/ethernet/broadcom/tg3.c
1078
if (!tg3_flag(tp, TAGGED_STATUS) && tg3_has_work(tnapi))
drivers/net/ethernet/broadcom/tg3.c
10780
tg3_readphy(tp, MII_TG3_RXR_COUNTERS, &tmp);
drivers/net/ethernet/broadcom/tg3.c
10785
__tg3_set_rx_mode(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
1079
tw32(HOSTCC_MODE, tp->coalesce_mode |
drivers/net/ethernet/broadcom/tg3.c
10793
if (tg3_flag(tp, 5705_PLUS) && !tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
10797
if (tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
1083
static void tg3_switch_clocks(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
10847
if (tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
10849
tg3_ape_write32(tp, TG3_APE_HOST_HEARTBEAT_INT_MS,
drivers/net/ethernet/broadcom/tg3.c
10852
tg3_write_sig_post_reset(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
10860
static int tg3_init_hw(struct tg3 *tp, bool reset_phy)
drivers/net/ethernet/broadcom/tg3.c
10866
tg3_enable_register_access(tp);
drivers/net/ethernet/broadcom/tg3.c
10867
tg3_poll_fw(tp);
drivers/net/ethernet/broadcom/tg3.c
10869
tg3_switch_clocks(tp);
drivers/net/ethernet/broadcom/tg3.c
10873
return tg3_reset_hw(tp, reset_phy);
drivers/net/ethernet/broadcom/tg3.c
10877
static void tg3_sd_scan_scratchpad(struct tg3 *tp, struct tg3_ocir *ocir)
drivers/net/ethernet/broadcom/tg3.c
1088
if (tg3_flag(tp, CPMU_PRESENT) || tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
10883
tg3_ape_scratchpad_read(tp, (u32 *) ocir, off, len);
drivers/net/ethernet/broadcom/tg3.c
10896
struct tg3 *tp = dev_get_drvdata(dev);
drivers/net/ethernet/broadcom/tg3.c
10899
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
10900
tg3_ape_scratchpad_read(tp, &temperature, attr->index,
drivers/net/ethernet/broadcom/tg3.c
10902
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
10922
static void tg3_hwmon_close(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
10924
if (tp->hwmon_dev) {
drivers/net/ethernet/broadcom/tg3.c
10925
hwmon_device_unregister(tp->hwmon_dev);
drivers/net/ethernet/broadcom/tg3.c
10926
tp->hwmon_dev = NULL;
drivers/net/ethernet/broadcom/tg3.c
10930
static void tg3_hwmon_open(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
10934
struct pci_dev *pdev = tp->pdev;
drivers/net/ethernet/broadcom/tg3.c
10937
tg3_sd_scan_scratchpad(tp, ocirs);
drivers/net/ethernet/broadcom/tg3.c
10950
tp->hwmon_dev = hwmon_device_register_with_groups(&pdev->dev, "tg3",
drivers/net/ethernet/broadcom/tg3.c
10951
tp, tg3_groups);
drivers/net/ethernet/broadcom/tg3.c
10952
if (IS_ERR(tp->hwmon_dev)) {
drivers/net/ethernet/broadcom/tg3.c
10953
tp->hwmon_dev = NULL;
drivers/net/ethernet/broadcom/tg3.c
10958
static inline void tg3_hwmon_close(struct tg3 *tp) { }
drivers/net/ethernet/broadcom/tg3.c
10959
static inline void tg3_hwmon_open(struct tg3 *tp) { }
drivers/net/ethernet/broadcom/tg3.c
1097
tp->pci_clock_ctrl = clock_ctrl;
drivers/net/ethernet/broadcom/tg3.c
10970
static void tg3_periodic_fetch_stats(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
10972
struct tg3_hw_stats *sp = tp->hw_stats;
drivers/net/ethernet/broadcom/tg3.c
10974
if (!tp->link_up)
drivers/net/ethernet/broadcom/tg3.c
1099
if (tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
10990
if (unlikely(tg3_flag(tp, 5719_5720_RDMA_BUG) &&
drivers/net/ethernet/broadcom/tg3.c
10996
val &= ~tg3_lso_rd_dma_workaround_bit(tp);
drivers/net/ethernet/broadcom/tg3.c
10998
tg3_flag_clear(tp, 5719_5720_RDMA_BUG);
drivers/net/ethernet/broadcom/tg3.c
11017
if (tg3_asic_rev(tp) != ASIC_REV_5717 &&
drivers/net/ethernet/broadcom/tg3.c
11018
tg3_asic_rev(tp) != ASIC_REV_5762 &&
drivers/net/ethernet/broadcom/tg3.c
11019
tg3_chip_rev_id(tp) != CHIPREV_ID_5719_A0 &&
drivers/net/ethernet/broadcom/tg3.c
11020
tg3_chip_rev_id(tp) != CHIPREV_ID_5720_A0) {
drivers/net/ethernet/broadcom/tg3.c
11036
static void tg3_chk_missed_msi(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11040
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
11041
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
11061
struct tg3 *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/broadcom/tg3.c
11063
spin_lock(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
11065
if (tp->irq_sync || tg3_flag(tp, RESET_TASK_PENDING)) {
drivers/net/ethernet/broadcom/tg3.c
11066
spin_unlock(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
11070
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
11071
tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
11072
tg3_chk_missed_msi(tp);
drivers/net/ethernet/broadcom/tg3.c
11074
if (tg3_flag(tp, FLUSH_POSTED_WRITES)) {
drivers/net/ethernet/broadcom/tg3.c
11079
if (!tg3_flag(tp, TAGGED_STATUS)) {
drivers/net/ethernet/broadcom/tg3.c
11084
if (tp->napi[0].hw_status->status & SD_STATUS_UPDATED) {
drivers/net/ethernet/broadcom/tg3.c
11086
tp->grc_local_ctrl | GRC_LCLCTRL_SETINT);
drivers/net/ethernet/broadcom/tg3.c
11088
tw32(HOSTCC_MODE, tp->coalesce_mode |
drivers/net/ethernet/broadcom/tg3.c
11093
spin_unlock(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
11094
tg3_reset_task_schedule(tp);
drivers/net/ethernet/broadcom/tg3.c
11100
if (!--tp->timer_counter) {
drivers/net/ethernet/broadcom/tg3.c
11101
if (tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
11102
tg3_periodic_fetch_stats(tp);
drivers/net/ethernet/broadcom/tg3.c
11104
if (tp->setlpicnt && !--tp->setlpicnt)
drivers/net/ethernet/broadcom/tg3.c
11105
tg3_phy_eee_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
11107
if (tg3_flag(tp, USE_LINKCHG_REG)) {
drivers/net/ethernet/broadcom/tg3.c
11114
if (tp->phy_flags & TG3_PHYFLG_USE_MI_INTERRUPT) {
drivers/net/ethernet/broadcom/tg3.c
11121
tg3_setup_phy(tp, false);
drivers/net/ethernet/broadcom/tg3.c
11122
} else if (tg3_flag(tp, POLL_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
11126
if (tp->link_up &&
drivers/net/ethernet/broadcom/tg3.c
11130
if (!tp->link_up &&
drivers/net/ethernet/broadcom/tg3.c
11136
if (!tp->serdes_counter) {
drivers/net/ethernet/broadcom/tg3.c
11138
(tp->mac_mode &
drivers/net/ethernet/broadcom/tg3.c
11141
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
11144
tg3_setup_phy(tp, false);
drivers/net/ethernet/broadcom/tg3.c
11146
} else if ((tp->phy_flags & TG3_PHYFLG_MII_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
11147
tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
11148
tg3_serdes_parallel_detect(tp);
drivers/net/ethernet/broadcom/tg3.c
11149
} else if (tg3_flag(tp, POLL_CPMU_LINK)) {
drivers/net/ethernet/broadcom/tg3.c
11154
if (link_up != tp->link_up)
drivers/net/ethernet/broadcom/tg3.c
11155
tg3_setup_phy(tp, false);
drivers/net/ethernet/broadcom/tg3.c
11158
tp->timer_counter = tp->timer_multiplier;
drivers/net/ethernet/broadcom/tg3.c
11178
if (!--tp->asf_counter) {
drivers/net/ethernet/broadcom/tg3.c
11179
if (tg3_flag(tp, ENABLE_ASF) && !tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
1118
static int __tg3_readphy(struct tg3 *tp, unsigned int phy_addr, int reg,
drivers/net/ethernet/broadcom/tg3.c
11180
tg3_wait_for_event_ack(tp);
drivers/net/ethernet/broadcom/tg3.c
11182
tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX,
drivers/net/ethernet/broadcom/tg3.c
11184
tg3_write_mem(tp, NIC_SRAM_FW_CMD_LEN_MBOX, 4);
drivers/net/ethernet/broadcom/tg3.c
11185
tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX,
drivers/net/ethernet/broadcom/tg3.c
11188
tg3_generate_fw_event(tp);
drivers/net/ethernet/broadcom/tg3.c
11190
tp->asf_counter = tp->asf_multiplier;
drivers/net/ethernet/broadcom/tg3.c
11194
tg3_send_ape_heartbeat(tp, TG3_APE_HB_INTERVAL);
drivers/net/ethernet/broadcom/tg3.c
11196
spin_unlock(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
11199
tp->timer.expires = jiffies + tp->timer_offset;
drivers/net/ethernet/broadcom/tg3.c
11200
add_timer(&tp->timer);
drivers/net/ethernet/broadcom/tg3.c
11203
static void tg3_timer_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11205
if (tg3_flag(tp, TAGGED_STATUS) &&
drivers/net/ethernet/broadcom/tg3.c
11206
tg3_asic_rev(tp) != ASIC_REV_5717 &&
drivers/net/ethernet/broadcom/tg3.c
11207
!tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
11208
tp->timer_offset = HZ;
drivers/net/ethernet/broadcom/tg3.c
11210
tp->timer_offset = HZ / 10;
drivers/net/ethernet/broadcom/tg3.c
11212
BUG_ON(tp->timer_offset > HZ);
drivers/net/ethernet/broadcom/tg3.c
11214
tp->timer_multiplier = (HZ / tp->timer_offset);
drivers/net/ethernet/broadcom/tg3.c
11215
tp->asf_multiplier = (HZ / tp->timer_offset) *
drivers/net/ethernet/broadcom/tg3.c
11218
timer_setup(&tp->timer, tg3_timer, 0);
drivers/net/ethernet/broadcom/tg3.c
11221
static void tg3_timer_start(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11223
tp->asf_counter = tp->asf_multiplier;
drivers/net/ethernet/broadcom/tg3.c
11224
tp->timer_counter = tp->timer_multiplier;
drivers/net/ethernet/broadcom/tg3.c
11226
tp->timer.expires = jiffies + tp->timer_offset;
drivers/net/ethernet/broadcom/tg3.c
11227
add_timer(&tp->timer);
drivers/net/ethernet/broadcom/tg3.c
11230
static void tg3_timer_stop(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11232
timer_delete_sync(&tp->timer);
drivers/net/ethernet/broadcom/tg3.c
11238
static int tg3_restart_hw(struct tg3 *tp, bool reset_phy)
drivers/net/ethernet/broadcom/tg3.c
11239
__releases(tp->lock)
drivers/net/ethernet/broadcom/tg3.c
11240
__acquires(tp->lock)
drivers/net/ethernet/broadcom/tg3.c
11241
__releases(tp->dev->lock)
drivers/net/ethernet/broadcom/tg3.c
11242
__acquires(tp->dev->lock)
drivers/net/ethernet/broadcom/tg3.c
11246
err = tg3_init_hw(tp, reset_phy);
drivers/net/ethernet/broadcom/tg3.c
11248
netdev_err(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
1125
if ((tp->mi_mode & MAC_MI_MODE_AUTO_POLL) != 0) {
drivers/net/ethernet/broadcom/tg3.c
11250
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
11251
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11252
tg3_timer_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11253
tp->irq_sync = 0;
drivers/net/ethernet/broadcom/tg3.c
11254
tg3_napi_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
11255
netdev_unlock(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
11256
dev_close(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
11257
netdev_lock(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
11258
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11265
struct tg3 *tp = container_of(work, struct tg3, reset_task);
drivers/net/ethernet/broadcom/tg3.c
11269
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
1127
(tp->mi_mode & ~MAC_MI_MODE_AUTO_POLL));
drivers/net/ethernet/broadcom/tg3.c
11271
if (tp->pcierr_recovery || !netif_running(tp->dev) ||
drivers/net/ethernet/broadcom/tg3.c
11272
tp->pdev->error_state != pci_channel_io_normal) {
drivers/net/ethernet/broadcom/tg3.c
11273
tg3_flag_clear(tp, RESET_TASK_PENDING);
drivers/net/ethernet/broadcom/tg3.c
11274
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11279
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11281
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11283
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11285
netdev_lock(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
11286
tg3_full_lock(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
11288
if (tg3_flag(tp, TX_RECOVERY_PENDING)) {
drivers/net/ethernet/broadcom/tg3.c
11289
tp->write32_tx_mbox = tg3_write32_tx_mbox;
drivers/net/ethernet/broadcom/tg3.c
11290
tp->write32_rx_mbox = tg3_write_flush_reg32;
drivers/net/ethernet/broadcom/tg3.c
11291
tg3_flag_set(tp, MBOX_WRITE_REORDER);
drivers/net/ethernet/broadcom/tg3.c
11292
tg3_flag_clear(tp, TX_RECOVERY_PENDING);
drivers/net/ethernet/broadcom/tg3.c
11295
tg3_halt(tp, RESET_KIND_SHUTDOWN, 0);
drivers/net/ethernet/broadcom/tg3.c
11296
err = tg3_init_hw(tp, true);
drivers/net/ethernet/broadcom/tg3.c
11298
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11299
tp->irq_sync = 0;
drivers/net/ethernet/broadcom/tg3.c
11300
tg3_napi_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
11304
tg3_flag_clear(tp, RESET_TASK_PENDING);
drivers/net/ethernet/broadcom/tg3.c
11305
netdev_unlock(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
11306
dev_close(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
1131
tg3_ape_lock(tp, tp->phy_ape_lock);
drivers/net/ethernet/broadcom/tg3.c
11310
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
11311
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11312
netdev_unlock(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
11313
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
11314
tg3_flag_clear(tp, RESET_TASK_PENDING);
drivers/net/ethernet/broadcom/tg3.c
11319
static int tg3_request_irq(struct tg3 *tp, int irq_num)
drivers/net/ethernet/broadcom/tg3.c
11324
struct tg3_napi *tnapi = &tp->napi[irq_num];
drivers/net/ethernet/broadcom/tg3.c
11326
if (tp->irq_cnt == 1)
drivers/net/ethernet/broadcom/tg3.c
11327
name = tp->dev->name;
drivers/net/ethernet/broadcom/tg3.c
11332
"%s-txrx-%d", tp->dev->name, irq_num);
drivers/net/ethernet/broadcom/tg3.c
11335
"%s-tx-%d", tp->dev->name, irq_num);
drivers/net/ethernet/broadcom/tg3.c
11338
"%s-rx-%d", tp->dev->name, irq_num);
drivers/net/ethernet/broadcom/tg3.c
11341
"%s-%d", tp->dev->name, irq_num);
drivers/net/ethernet/broadcom/tg3.c
11344
if (tg3_flag(tp, USING_MSI) || tg3_flag(tp, USING_MSIX)) {
drivers/net/ethernet/broadcom/tg3.c
11346
if (tg3_flag(tp, 1SHOT_MSI))
drivers/net/ethernet/broadcom/tg3.c
11351
if (tg3_flag(tp, TAGGED_STATUS))
drivers/net/ethernet/broadcom/tg3.c
11359
static int tg3_test_interrupt(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11361
struct tg3_napi *tnapi = &tp->napi[0];
drivers/net/ethernet/broadcom/tg3.c
11362
struct net_device *dev = tp->dev;
drivers/net/ethernet/broadcom/tg3.c
11369
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
11377
if (tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
11388
tg3_enable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
11390
tw32_f(HOSTCC_MODE, tp->coalesce_mode | HOSTCC_MODE_ENABLE |
drivers/net/ethernet/broadcom/tg3.c
11405
if (tg3_flag(tp, 57765_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
11412
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
11416
err = tg3_request_irq(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11423
if (tg3_flag(tp, 57765_PLUS) && tg3_flag(tp, 1SHOT_MSI)) {
drivers/net/ethernet/broadcom/tg3.c
11436
static int tg3_test_msi(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11441
if (!tg3_flag(tp, USING_MSI))
drivers/net/ethernet/broadcom/tg3.c
11447
pci_read_config_word(tp->pdev, PCI_COMMAND, &pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
11448
pci_write_config_word(tp->pdev, PCI_COMMAND,
drivers/net/ethernet/broadcom/tg3.c
11451
err = tg3_test_interrupt(tp);
drivers/net/ethernet/broadcom/tg3.c
11453
pci_write_config_word(tp->pdev, PCI_COMMAND, pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
11463
netdev_warn(tp->dev, "No interrupt was generated using MSI. Switching "
drivers/net/ethernet/broadcom/tg3.c
11467
free_irq(tp->napi[0].irq_vec, &tp->napi[0]);
drivers/net/ethernet/broadcom/tg3.c
11469
pci_disable_msi(tp->pdev);
drivers/net/ethernet/broadcom/tg3.c
11471
tg3_flag_clear(tp, USING_MSI);
drivers/net/ethernet/broadcom/tg3.c
11472
tp->napi[0].irq_vec = tp->pdev->irq;
drivers/net/ethernet/broadcom/tg3.c
11474
err = tg3_request_irq(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11481
tg3_full_lock(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
11483
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
11484
err = tg3_init_hw(tp, true);
drivers/net/ethernet/broadcom/tg3.c
11486
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11489
free_irq(tp->napi[0].irq_vec, &tp->napi[0]);
drivers/net/ethernet/broadcom/tg3.c
11494
static int tg3_request_firmware(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11498
if (request_firmware(&tp->fw, tp->fw_needed, &tp->pdev->dev)) {
drivers/net/ethernet/broadcom/tg3.c
11499
netdev_err(tp->dev, "Failed to load firmware \"%s\"\n",
drivers/net/ethernet/broadcom/tg3.c
11500
tp->fw_needed);
drivers/net/ethernet/broadcom/tg3.c
11504
fw_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
drivers/net/ethernet/broadcom/tg3.c
11511
tp->fw_len = be32_to_cpu(fw_hdr->len); /* includes bss */
drivers/net/ethernet/broadcom/tg3.c
11512
if (tp->fw_len < (tp->fw->size - TG3_FW_HDR_LEN)) {
drivers/net/ethernet/broadcom/tg3.c
11513
netdev_err(tp->dev, "bogus length %d in \"%s\"\n",
drivers/net/ethernet/broadcom/tg3.c
11514
tp->fw_len, tp->fw_needed);
drivers/net/ethernet/broadcom/tg3.c
11515
release_firmware(tp->fw);
drivers/net/ethernet/broadcom/tg3.c
11516
tp->fw = NULL;
drivers/net/ethernet/broadcom/tg3.c
11521
tp->fw_needed = NULL;
drivers/net/ethernet/broadcom/tg3.c
11525
static u32 tg3_irq_count(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11527
u32 irq_cnt = max(tp->rxq_cnt, tp->txq_cnt);
drivers/net/ethernet/broadcom/tg3.c
11535
irq_cnt = min_t(unsigned, irq_cnt + 1, tp->irq_max);
drivers/net/ethernet/broadcom/tg3.c
11541
static bool tg3_enable_msix(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11546
tp->txq_cnt = tp->txq_req;
drivers/net/ethernet/broadcom/tg3.c
11547
tp->rxq_cnt = tp->rxq_req;
drivers/net/ethernet/broadcom/tg3.c
11548
if (!tp->rxq_cnt)
drivers/net/ethernet/broadcom/tg3.c
11549
tp->rxq_cnt = netif_get_num_default_rss_queues();
drivers/net/ethernet/broadcom/tg3.c
11550
if (tp->rxq_cnt > tp->rxq_max)
drivers/net/ethernet/broadcom/tg3.c
11551
tp->rxq_cnt = tp->rxq_max;
drivers/net/ethernet/broadcom/tg3.c
11557
if (!tp->txq_req)
drivers/net/ethernet/broadcom/tg3.c
11558
tp->txq_cnt = 1;
drivers/net/ethernet/broadcom/tg3.c
11560
tp->irq_cnt = tg3_irq_count(tp);
drivers/net/ethernet/broadcom/tg3.c
11562
for (i = 0; i < tp->irq_max; i++) {
drivers/net/ethernet/broadcom/tg3.c
11567
rc = pci_enable_msix_range(tp->pdev, msix_ent, 1, tp->irq_cnt);
drivers/net/ethernet/broadcom/tg3.c
11570
} else if (rc < tp->irq_cnt) {
drivers/net/ethernet/broadcom/tg3.c
11571
netdev_notice(tp->dev, "Requested %d MSI-X vectors, received %d\n",
drivers/net/ethernet/broadcom/tg3.c
11572
tp->irq_cnt, rc);
drivers/net/ethernet/broadcom/tg3.c
11573
tp->irq_cnt = rc;
drivers/net/ethernet/broadcom/tg3.c
11574
tp->rxq_cnt = max(rc - 1, 1);
drivers/net/ethernet/broadcom/tg3.c
11575
if (tp->txq_cnt)
drivers/net/ethernet/broadcom/tg3.c
11576
tp->txq_cnt = min(tp->rxq_cnt, tp->txq_max);
drivers/net/ethernet/broadcom/tg3.c
11579
for (i = 0; i < tp->irq_max; i++)
drivers/net/ethernet/broadcom/tg3.c
11580
tp->napi[i].irq_vec = msix_ent[i].vector;
drivers/net/ethernet/broadcom/tg3.c
11582
if (netif_set_real_num_rx_queues(tp->dev, tp->rxq_cnt)) {
drivers/net/ethernet/broadcom/tg3.c
11583
pci_disable_msix(tp->pdev);
drivers/net/ethernet/broadcom/tg3.c
11587
if (tp->irq_cnt == 1)
drivers/net/ethernet/broadcom/tg3.c
11590
tg3_flag_set(tp, ENABLE_RSS);
drivers/net/ethernet/broadcom/tg3.c
11592
if (tp->txq_cnt > 1)
drivers/net/ethernet/broadcom/tg3.c
11593
tg3_flag_set(tp, ENABLE_TSS);
drivers/net/ethernet/broadcom/tg3.c
11595
netif_set_real_num_tx_queues(tp->dev, tp->txq_cnt);
drivers/net/ethernet/broadcom/tg3.c
11600
static void tg3_ints_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11602
if ((tg3_flag(tp, SUPPORT_MSI) || tg3_flag(tp, SUPPORT_MSIX)) &&
drivers/net/ethernet/broadcom/tg3.c
11603
!tg3_flag(tp, TAGGED_STATUS)) {
drivers/net/ethernet/broadcom/tg3.c
11607
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
11612
if (tg3_flag(tp, SUPPORT_MSIX) && tg3_enable_msix(tp))
drivers/net/ethernet/broadcom/tg3.c
11613
tg3_flag_set(tp, USING_MSIX);
drivers/net/ethernet/broadcom/tg3.c
11614
else if (tg3_flag(tp, SUPPORT_MSI) && pci_enable_msi(tp->pdev) == 0)
drivers/net/ethernet/broadcom/tg3.c
11615
tg3_flag_set(tp, USING_MSI);
drivers/net/ethernet/broadcom/tg3.c
11617
if (tg3_flag(tp, USING_MSI) || tg3_flag(tp, USING_MSIX)) {
drivers/net/ethernet/broadcom/tg3.c
11619
if (tg3_flag(tp, USING_MSIX) && tp->irq_cnt > 1)
drivers/net/ethernet/broadcom/tg3.c
1162
if ((tp->mi_mode & MAC_MI_MODE_AUTO_POLL) != 0) {
drivers/net/ethernet/broadcom/tg3.c
11621
if (!tg3_flag(tp, 1SHOT_MSI))
drivers/net/ethernet/broadcom/tg3.c
11626
if (!tg3_flag(tp, USING_MSIX)) {
drivers/net/ethernet/broadcom/tg3.c
11627
tp->irq_cnt = 1;
drivers/net/ethernet/broadcom/tg3.c
11628
tp->napi[0].irq_vec = tp->pdev->irq;
drivers/net/ethernet/broadcom/tg3.c
1163
tw32_f(MAC_MI_MODE, tp->mi_mode);
drivers/net/ethernet/broadcom/tg3.c
11631
if (tp->irq_cnt == 1) {
drivers/net/ethernet/broadcom/tg3.c
11632
tp->txq_cnt = 1;
drivers/net/ethernet/broadcom/tg3.c
11633
tp->rxq_cnt = 1;
drivers/net/ethernet/broadcom/tg3.c
11634
netif_set_real_num_tx_queues(tp->dev, 1);
drivers/net/ethernet/broadcom/tg3.c
11635
netif_set_real_num_rx_queues(tp->dev, 1);
drivers/net/ethernet/broadcom/tg3.c
11639
static void tg3_ints_fini(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11641
if (tg3_flag(tp, USING_MSIX))
drivers/net/ethernet/broadcom/tg3.c
11642
pci_disable_msix(tp->pdev);
drivers/net/ethernet/broadcom/tg3.c
11643
else if (tg3_flag(tp, USING_MSI))
drivers/net/ethernet/broadcom/tg3.c
11644
pci_disable_msi(tp->pdev);
drivers/net/ethernet/broadcom/tg3.c
11645
tg3_flag_clear(tp, USING_MSI);
drivers/net/ethernet/broadcom/tg3.c
11646
tg3_flag_clear(tp, USING_MSIX);
drivers/net/ethernet/broadcom/tg3.c
11647
tg3_flag_clear(tp, ENABLE_RSS);
drivers/net/ethernet/broadcom/tg3.c
11648
tg3_flag_clear(tp, ENABLE_TSS);
drivers/net/ethernet/broadcom/tg3.c
11651
static int tg3_start(struct tg3 *tp, bool reset_phy, bool test_irq,
drivers/net/ethernet/broadcom/tg3.c
11654
struct net_device *dev = tp->dev;
drivers/net/ethernet/broadcom/tg3.c
11661
tg3_ints_init(tp);
drivers/net/ethernet/broadcom/tg3.c
11663
tg3_rss_check_indir_tbl(tp);
drivers/net/ethernet/broadcom/tg3.c
11668
err = tg3_alloc_consistent(tp);
drivers/net/ethernet/broadcom/tg3.c
1167
tg3_ape_unlock(tp, tp->phy_ape_lock);
drivers/net/ethernet/broadcom/tg3.c
11673
tg3_napi_init(tp);
drivers/net/ethernet/broadcom/tg3.c
11675
tg3_napi_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
11678
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
11679
err = tg3_request_irq(tp, i);
drivers/net/ethernet/broadcom/tg3.c
11682
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
11690
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11693
tg3_ape_driver_state_change(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
11695
err = tg3_init_hw(tp, reset_phy);
drivers/net/ethernet/broadcom/tg3.c
11697
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
11698
tg3_free_rings(tp);
drivers/net/ethernet/broadcom/tg3.c
11701
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11706
if (test_irq && tg3_flag(tp, USING_MSI)) {
drivers/net/ethernet/broadcom/tg3.c
11707
err = tg3_test_msi(tp);
drivers/net/ethernet/broadcom/tg3.c
11710
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11711
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
11712
tg3_free_rings(tp);
drivers/net/ethernet/broadcom/tg3.c
11713
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11718
if (!tg3_flag(tp, 57765_PLUS) && tg3_flag(tp, USING_MSI)) {
drivers/net/ethernet/broadcom/tg3.c
1172
static int tg3_readphy(struct tg3 *tp, int reg, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
11726
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
11728
tg3_hwmon_open(tp);
drivers/net/ethernet/broadcom/tg3.c
11730
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11732
tg3_timer_start(tp);
drivers/net/ethernet/broadcom/tg3.c
11733
tg3_flag_set(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
11734
tg3_enable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
11736
tg3_ptp_resume(tp);
drivers/net/ethernet/broadcom/tg3.c
11738
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
1174
return __tg3_readphy(tp, tp->phy_addr, reg, val);
drivers/net/ethernet/broadcom/tg3.c
11752
for (i = tp->irq_cnt - 1; i >= 0; i--) {
drivers/net/ethernet/broadcom/tg3.c
11753
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
11758
tg3_napi_disable(tp);
drivers/net/ethernet/broadcom/tg3.c
11759
tg3_napi_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
11760
tg3_free_consistent(tp);
drivers/net/ethernet/broadcom/tg3.c
11763
tg3_ints_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
11768
static void tg3_stop(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
1177
static int __tg3_writephy(struct tg3 *tp, unsigned int phy_addr, int reg,
drivers/net/ethernet/broadcom/tg3.c
11772
tg3_reset_task_cancel(tp);
drivers/net/ethernet/broadcom/tg3.c
11773
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11775
tg3_timer_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11777
tg3_hwmon_close(tp);
drivers/net/ethernet/broadcom/tg3.c
11779
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11781
tg3_full_lock(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
11783
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
11785
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
11786
tg3_free_rings(tp);
drivers/net/ethernet/broadcom/tg3.c
11787
tg3_flag_clear(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
11789
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11791
for (i = tp->irq_cnt - 1; i >= 0; i--) {
drivers/net/ethernet/broadcom/tg3.c
11792
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
11796
tg3_ints_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
11798
tg3_napi_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
11800
tg3_free_consistent(tp);
drivers/net/ethernet/broadcom/tg3.c
11805
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
11808
if (tp->pcierr_recovery) {
drivers/net/ethernet/broadcom/tg3.c
11814
if (tp->fw_needed) {
drivers/net/ethernet/broadcom/tg3.c
11815
err = tg3_request_firmware(tp);
drivers/net/ethernet/broadcom/tg3.c
11816
if (tg3_asic_rev(tp) == ASIC_REV_57766) {
drivers/net/ethernet/broadcom/tg3.c
11818
netdev_warn(tp->dev, "EEE capability disabled\n");
drivers/net/ethernet/broadcom/tg3.c
11819
tp->phy_flags &= ~TG3_PHYFLG_EEE_CAP;
drivers/net/ethernet/broadcom/tg3.c
11820
} else if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP)) {
drivers/net/ethernet/broadcom/tg3.c
11821
netdev_warn(tp->dev, "EEE capability restored\n");
drivers/net/ethernet/broadcom/tg3.c
11822
tp->phy_flags |= TG3_PHYFLG_EEE_CAP;
drivers/net/ethernet/broadcom/tg3.c
11824
} else if (tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0) {
drivers/net/ethernet/broadcom/tg3.c
11828
netdev_warn(tp->dev, "TSO capability disabled\n");
drivers/net/ethernet/broadcom/tg3.c
11829
tg3_flag_clear(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
11830
} else if (!tg3_flag(tp, TSO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
11831
netdev_notice(tp->dev, "TSO capability restored\n");
drivers/net/ethernet/broadcom/tg3.c
11832
tg3_flag_set(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
11836
tg3_carrier_off(tp);
drivers/net/ethernet/broadcom/tg3.c
11838
err = tg3_power_up(tp);
drivers/net/ethernet/broadcom/tg3.c
1184
if ((tp->phy_flags & TG3_PHYFLG_IS_FET) &&
drivers/net/ethernet/broadcom/tg3.c
11842
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
11844
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
11845
tg3_flag_clear(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
11847
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
11849
err = tg3_start(tp,
drivers/net/ethernet/broadcom/tg3.c
11850
!(tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN),
drivers/net/ethernet/broadcom/tg3.c
11853
tg3_frob_aux_power(tp, false);
drivers/net/ethernet/broadcom/tg3.c
11854
pci_set_power_state(tp->pdev, PCI_D3hot);
drivers/net/ethernet/broadcom/tg3.c
11862
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
11864
if (tp->pcierr_recovery) {
drivers/net/ethernet/broadcom/tg3.c
11870
tg3_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
11872
if (pci_device_is_present(tp->pdev)) {
drivers/net/ethernet/broadcom/tg3.c
11873
tg3_power_down_prepare(tp);
drivers/net/ethernet/broadcom/tg3.c
11875
tg3_carrier_off(tp);
drivers/net/ethernet/broadcom/tg3.c
1188
if ((tp->mi_mode & MAC_MI_MODE_AUTO_POLL) != 0) {
drivers/net/ethernet/broadcom/tg3.c
11885
static u64 tg3_calc_crc_errors(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
11887
struct tg3_hw_stats *hw_stats = tp->hw_stats;
drivers/net/ethernet/broadcom/tg3.c
11889
if (!(tp->phy_flags & TG3_PHYFLG_PHY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
11890
(tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
11891
tg3_asic_rev(tp) == ASIC_REV_5701)) {
drivers/net/ethernet/broadcom/tg3.c
11894
if (!tg3_readphy(tp, MII_TG3_TEST1, &val)) {
drivers/net/ethernet/broadcom/tg3.c
11895
tg3_writephy(tp, MII_TG3_TEST1,
drivers/net/ethernet/broadcom/tg3.c
11897
tg3_readphy(tp, MII_TG3_RXR_COUNTERS, &val);
drivers/net/ethernet/broadcom/tg3.c
1190
(tp->mi_mode & ~MAC_MI_MODE_AUTO_POLL));
drivers/net/ethernet/broadcom/tg3.c
11901
tp->phy_crc_errors += val;
drivers/net/ethernet/broadcom/tg3.c
11903
return tp->phy_crc_errors;
drivers/net/ethernet/broadcom/tg3.c
11913
static void tg3_get_estats(struct tg3 *tp, struct tg3_ethtool_stats *estats)
drivers/net/ethernet/broadcom/tg3.c
11915
struct tg3_ethtool_stats *old_estats = &tp->estats_prev;
drivers/net/ethernet/broadcom/tg3.c
11916
struct tg3_hw_stats *hw_stats = tp->hw_stats;
drivers/net/ethernet/broadcom/tg3.c
1194
tg3_ape_lock(tp, tp->phy_ape_lock);
drivers/net/ethernet/broadcom/tg3.c
11997
static void tg3_get_nstats(struct tg3 *tp, struct rtnl_link_stats64 *stats)
drivers/net/ethernet/broadcom/tg3.c
11999
struct rtnl_link_stats64 *old_stats = &tp->net_stats_prev;
drivers/net/ethernet/broadcom/tg3.c
12000
struct tg3_hw_stats *hw_stats = tp->hw_stats;
drivers/net/ethernet/broadcom/tg3.c
12045
tg3_calc_crc_errors(tp);
drivers/net/ethernet/broadcom/tg3.c
12061
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
12062
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
12080
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12086
if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)
drivers/net/ethernet/broadcom/tg3.c
12089
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
12091
tg3_dump_legacy_regs(tp, (u32 *)_p);
drivers/net/ethernet/broadcom/tg3.c
12093
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
12098
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12100
return tp->nvram_size;
drivers/net/ethernet/broadcom/tg3.c
12105
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12111
if (tg3_flag(tp, NO_NVRAM))
drivers/net/ethernet/broadcom/tg3.c
12121
if (tg3_flag(tp, CPMU_PRESENT)) {
drivers/net/ethernet/broadcom/tg3.c
12131
tg3_override_clk(tp);
drivers/net/ethernet/broadcom/tg3.c
12141
ret = tg3_nvram_read_be32(tp, offset-b_offset, &val);
drivers/net/ethernet/broadcom/tg3.c
12153
ret = tg3_nvram_read_be32(tp, offset + i, &val);
drivers/net/ethernet/broadcom/tg3.c
12177
ret = tg3_nvram_read_be32(tp, b_offset, &val);
drivers/net/ethernet/broadcom/tg3.c
12187
tg3_restore_clk(tp);
drivers/net/ethernet/broadcom/tg3.c
12196
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12202
if (tg3_flag(tp, NO_NVRAM) ||
drivers/net/ethernet/broadcom/tg3.c
1221
if ((tp->mi_mode & MAC_MI_MODE_AUTO_POLL) != 0) {
drivers/net/ethernet/broadcom/tg3.c
12211
ret = tg3_nvram_read_be32(tp, offset-b_offset, &start);
drivers/net/ethernet/broadcom/tg3.c
1222
tw32_f(MAC_MI_MODE, tp->mi_mode);
drivers/net/ethernet/broadcom/tg3.c
12225
ret = tg3_nvram_read_be32(tp, offset+len-4, &end);
drivers/net/ethernet/broadcom/tg3.c
12242
ret = tg3_nvram_write_block(tp, offset, len, buf);
drivers/net/ethernet/broadcom/tg3.c
12253
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12256
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
12258
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
drivers/net/ethernet/broadcom/tg3.c
1226
tg3_ape_unlock(tp, tp->phy_ape_lock);
drivers/net/ethernet/broadcom/tg3.c
12260
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
12268
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY))
drivers/net/ethernet/broadcom/tg3.c
12272
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
12286
advertising = tp->link_config.advertising;
drivers/net/ethernet/broadcom/tg3.c
12287
if (tg3_flag(tp, PAUSE_AUTONEG)) {
drivers/net/ethernet/broadcom/tg3.c
12288
if (tp->link_config.flowctrl & FLOW_CTRL_RX) {
drivers/net/ethernet/broadcom/tg3.c
12289
if (tp->link_config.flowctrl & FLOW_CTRL_TX) {
drivers/net/ethernet/broadcom/tg3.c
12295
} else if (tp->link_config.flowctrl & FLOW_CTRL_TX) {
drivers/net/ethernet/broadcom/tg3.c
12303
cmd->base.speed = tp->link_config.active_speed;
drivers/net/ethernet/broadcom/tg3.c
12304
cmd->base.duplex = tp->link_config.active_duplex;
drivers/net/ethernet/broadcom/tg3.c
12307
tp->link_config.rmt_adv);
drivers/net/ethernet/broadcom/tg3.c
12309
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
1231
static int tg3_writephy(struct tg3 *tp, int reg, u32 val)
drivers/net/ethernet/broadcom/tg3.c
12310
if (tp->phy_flags & TG3_PHYFLG_MDIX_STATE)
drivers/net/ethernet/broadcom/tg3.c
12320
cmd->base.phy_address = tp->phy_addr;
drivers/net/ethernet/broadcom/tg3.c
12321
cmd->base.autoneg = tp->link_config.autoneg;
drivers/net/ethernet/broadcom/tg3.c
12328
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
1233
return __tg3_writephy(tp, tp->phy_addr, reg, val);
drivers/net/ethernet/broadcom/tg3.c
12332
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
12334
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
drivers/net/ethernet/broadcom/tg3.c
12336
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
12357
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY))
drivers/net/ethernet/broadcom/tg3.c
1236
static int tg3_phy_cl45_write(struct tg3 *tp, u32 devad, u32 addr, u32 val)
drivers/net/ethernet/broadcom/tg3.c
12361
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES))
drivers/net/ethernet/broadcom/tg3.c
12382
if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
12395
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
12397
tp->link_config.autoneg = cmd->base.autoneg;
drivers/net/ethernet/broadcom/tg3.c
12399
tp->link_config.advertising = (advertising |
drivers/net/ethernet/broadcom/tg3.c
1240
err = tg3_writephy(tp, MII_TG3_MMD_CTRL, devad);
drivers/net/ethernet/broadcom/tg3.c
12401
tp->link_config.speed = SPEED_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
12402
tp->link_config.duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
12404
tp->link_config.advertising = 0;
drivers/net/ethernet/broadcom/tg3.c
12405
tp->link_config.speed = speed;
drivers/net/ethernet/broadcom/tg3.c
12406
tp->link_config.duplex = cmd->base.duplex;
drivers/net/ethernet/broadcom/tg3.c
12409
tp->phy_flags |= TG3_PHYFLG_USER_CONFIGURED;
drivers/net/ethernet/broadcom/tg3.c
12411
tg3_warn_mgmt_link_flap(tp);
drivers/net/ethernet/broadcom/tg3.c
12414
tg3_setup_phy(tp, true);
drivers/net/ethernet/broadcom/tg3.c
12416
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
12423
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12426
strscpy(info->fw_version, tp->fw_ver, sizeof(info->fw_version));
drivers/net/ethernet/broadcom/tg3.c
12427
strscpy(info->bus_info, pci_name(tp->pdev), sizeof(info->bus_info));
drivers/net/ethernet/broadcom/tg3.c
12432
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12434
if (tg3_flag(tp, WOL_CAP) && device_can_wakeup(&tp->pdev->dev))
drivers/net/ethernet/broadcom/tg3.c
12439
if (tg3_flag(tp, WOL_ENABLE) && device_can_wakeup(&tp->pdev->dev))
drivers/net/ethernet/broadcom/tg3.c
1244
err = tg3_writephy(tp, MII_TG3_MMD_ADDRESS, addr);
drivers/net/ethernet/broadcom/tg3.c
12446
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12447
struct device *dp = &tp->pdev->dev;
drivers/net/ethernet/broadcom/tg3.c
12452
!(tg3_flag(tp, WOL_CAP) && device_can_wakeup(dp)))
drivers/net/ethernet/broadcom/tg3.c
12458
tg3_flag_set(tp, WOL_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
12460
tg3_flag_clear(tp, WOL_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
12467
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12468
return tp->msg_enable;
drivers/net/ethernet/broadcom/tg3.c
12473
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12474
tp->msg_enable = value;
drivers/net/ethernet/broadcom/tg3.c
12479
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
1248
err = tg3_writephy(tp, MII_TG3_MMD_CTRL,
drivers/net/ethernet/broadcom/tg3.c
12485
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
12488
tg3_warn_mgmt_link_flap(tp);
drivers/net/ethernet/broadcom/tg3.c
12490
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
12491
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
drivers/net/ethernet/broadcom/tg3.c
12493
r = phy_start_aneg(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
drivers/net/ethernet/broadcom/tg3.c
12497
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
12499
tg3_readphy(tp, MII_BMCR, &bmcr);
drivers/net/ethernet/broadcom/tg3.c
12500
if (!tg3_readphy(tp, MII_BMCR, &bmcr) &&
drivers/net/ethernet/broadcom/tg3.c
12502
(tp->phy_flags & TG3_PHYFLG_PARALLEL_DETECT))) {
drivers/net/ethernet/broadcom/tg3.c
12503
tg3_writephy(tp, MII_BMCR, bmcr | BMCR_ANRESTART |
drivers/net/ethernet/broadcom/tg3.c
12507
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
12518
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12520
ering->rx_max_pending = tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
12521
if (tg3_flag(tp, JUMBO_RING_ENABLE))
drivers/net/ethernet/broadcom/tg3.c
12522
ering->rx_jumbo_max_pending = tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
12528
ering->rx_pending = tp->rx_pending;
drivers/net/ethernet/broadcom/tg3.c
12529
if (tg3_flag(tp, JUMBO_RING_ENABLE))
drivers/net/ethernet/broadcom/tg3.c
1253
err = tg3_writephy(tp, MII_TG3_MMD_ADDRESS, val);
drivers/net/ethernet/broadcom/tg3.c
12530
ering->rx_jumbo_pending = tp->rx_jumbo_pending;
drivers/net/ethernet/broadcom/tg3.c
12534
ering->tx_pending = tp->napi[0].tx_pending;
drivers/net/ethernet/broadcom/tg3.c
12542
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12546
if ((ering->rx_pending > tp->rx_std_ring_mask) ||
drivers/net/ethernet/broadcom/tg3.c
12547
(ering->rx_jumbo_pending > tp->rx_jmb_ring_mask) ||
drivers/net/ethernet/broadcom/tg3.c
12550
(tg3_flag(tp, TSO_BUG) &&
drivers/net/ethernet/broadcom/tg3.c
12555
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
12556
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
12561
tg3_full_lock(tp, irq_sync);
drivers/net/ethernet/broadcom/tg3.c
12563
tp->rx_pending = ering->rx_pending;
drivers/net/ethernet/broadcom/tg3.c
12565
if (tg3_flag(tp, MAX_RXPEND_64) &&
drivers/net/ethernet/broadcom/tg3.c
12566
tp->rx_pending > 63)
drivers/net/ethernet/broadcom/tg3.c
12567
tp->rx_pending = 63;
drivers/net/ethernet/broadcom/tg3.c
12569
if (tg3_flag(tp, JUMBO_RING_ENABLE))
drivers/net/ethernet/broadcom/tg3.c
12570
tp->rx_jumbo_pending = ering->rx_jumbo_pending;
drivers/net/ethernet/broadcom/tg3.c
12572
for (i = 0; i < tp->irq_max; i++)
drivers/net/ethernet/broadcom/tg3.c
12573
tp->napi[i].tx_pending = ering->tx_pending;
drivers/net/ethernet/broadcom/tg3.c
12576
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
12578
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
12579
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
12580
tg3_asic_rev(tp) == ASIC_REV_5720)
drivers/net/ethernet/broadcom/tg3.c
12583
err = tg3_restart_hw(tp, reset_phy);
drivers/net/ethernet/broadcom/tg3.c
12585
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
12588
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
1259
static int tg3_phy_cl45_read(struct tg3 *tp, u32 devad, u32 addr, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
12592
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
12599
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12601
epause->autoneg = !!tg3_flag(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
12603
if (tp->link_config.flowctrl & FLOW_CTRL_RX)
drivers/net/ethernet/broadcom/tg3.c
12608
if (tp->link_config.flowctrl & FLOW_CTRL_TX)
drivers/net/ethernet/broadcom/tg3.c
12616
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12620
if (tp->link_config.autoneg == AUTONEG_ENABLE)
drivers/net/ethernet/broadcom/tg3.c
12621
tg3_warn_mgmt_link_flap(tp);
drivers/net/ethernet/broadcom/tg3.c
12623
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
12626
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
1263
err = tg3_writephy(tp, MII_TG3_MMD_CTRL, devad);
drivers/net/ethernet/broadcom/tg3.c
12631
tp->link_config.flowctrl = 0;
drivers/net/ethernet/broadcom/tg3.c
12634
tp->link_config.flowctrl |= FLOW_CTRL_RX;
drivers/net/ethernet/broadcom/tg3.c
12637
tp->link_config.flowctrl |= FLOW_CTRL_TX;
drivers/net/ethernet/broadcom/tg3.c
12640
tp->link_config.flowctrl |= FLOW_CTRL_TX;
drivers/net/ethernet/broadcom/tg3.c
12644
tg3_flag_set(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
12646
tg3_flag_clear(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
12648
if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
drivers/net/ethernet/broadcom/tg3.c
12661
tg3_setup_flow_control(tp, 0, 0);
drivers/net/ethernet/broadcom/tg3.c
12667
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
1267
err = tg3_writephy(tp, MII_TG3_MMD_ADDRESS, addr);
drivers/net/ethernet/broadcom/tg3.c
12672
tg3_full_lock(tp, irq_sync);
drivers/net/ethernet/broadcom/tg3.c
12675
tg3_flag_set(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
12677
tg3_flag_clear(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
12679
tp->link_config.flowctrl |= FLOW_CTRL_RX;
drivers/net/ethernet/broadcom/tg3.c
12681
tp->link_config.flowctrl &= ~FLOW_CTRL_RX;
drivers/net/ethernet/broadcom/tg3.c
12683
tp->link_config.flowctrl |= FLOW_CTRL_TX;
drivers/net/ethernet/broadcom/tg3.c
12685
tp->link_config.flowctrl &= ~FLOW_CTRL_TX;
drivers/net/ethernet/broadcom/tg3.c
12688
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
12690
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
12691
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
12692
tg3_asic_rev(tp) == ASIC_REV_5720)
drivers/net/ethernet/broadcom/tg3.c
12695
err = tg3_restart_hw(tp, reset_phy);
drivers/net/ethernet/broadcom/tg3.c
12697
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
12700
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
12704
tp->phy_flags |= TG3_PHYFLG_USER_CONFIGURED;
drivers/net/ethernet/broadcom/tg3.c
1271
err = tg3_writephy(tp, MII_TG3_MMD_CTRL,
drivers/net/ethernet/broadcom/tg3.c
12723
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12725
if (!tg3_flag(tp, SUPPORT_MSIX))
drivers/net/ethernet/broadcom/tg3.c
12728
if (netif_running(tp->dev))
drivers/net/ethernet/broadcom/tg3.c
12729
return tp->rxq_cnt;
drivers/net/ethernet/broadcom/tg3.c
12731
return min_t(u32, netif_get_num_default_rss_queues(), tp->rxq_max);
drivers/net/ethernet/broadcom/tg3.c
12737
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12739
if (tg3_flag(tp, SUPPORT_MSIX))
drivers/net/ethernet/broadcom/tg3.c
12747
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12755
rxfh->indir[i] = tp->rss_ind_tbl[i];
drivers/net/ethernet/broadcom/tg3.c
1276
err = tg3_readphy(tp, MII_TG3_MMD_ADDRESS, val);
drivers/net/ethernet/broadcom/tg3.c
12763
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12778
tp->rss_ind_tbl[i] = rxfh->indir[i];
drivers/net/ethernet/broadcom/tg3.c
12780
if (!netif_running(dev) || !tg3_flag(tp, ENABLE_RSS))
drivers/net/ethernet/broadcom/tg3.c
12786
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
12787
tg3_rss_write_indir_tbl(tp);
drivers/net/ethernet/broadcom/tg3.c
12788
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
12796
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12799
channel->max_rx = tp->rxq_max;
drivers/net/ethernet/broadcom/tg3.c
12800
channel->max_tx = tp->txq_max;
drivers/net/ethernet/broadcom/tg3.c
12803
channel->rx_count = tp->rxq_cnt;
drivers/net/ethernet/broadcom/tg3.c
12804
channel->tx_count = tp->txq_cnt;
drivers/net/ethernet/broadcom/tg3.c
12806
if (tp->rxq_req)
drivers/net/ethernet/broadcom/tg3.c
12807
channel->rx_count = tp->rxq_req;
drivers/net/ethernet/broadcom/tg3.c
12809
channel->rx_count = min(deflt_qs, tp->rxq_max);
drivers/net/ethernet/broadcom/tg3.c
12811
if (tp->txq_req)
drivers/net/ethernet/broadcom/tg3.c
12812
channel->tx_count = tp->txq_req;
drivers/net/ethernet/broadcom/tg3.c
12814
channel->tx_count = min(deflt_qs, tp->txq_max);
drivers/net/ethernet/broadcom/tg3.c
1282
static int tg3_phydsp_read(struct tg3 *tp, u32 reg, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
12821
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12823
if (!tg3_flag(tp, SUPPORT_MSIX))
drivers/net/ethernet/broadcom/tg3.c
12826
if (channel->rx_count > tp->rxq_max ||
drivers/net/ethernet/broadcom/tg3.c
12827
channel->tx_count > tp->txq_max)
drivers/net/ethernet/broadcom/tg3.c
12830
tp->rxq_req = channel->rx_count;
drivers/net/ethernet/broadcom/tg3.c
12831
tp->txq_req = channel->tx_count;
drivers/net/ethernet/broadcom/tg3.c
12836
tg3_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
12838
tg3_carrier_off(tp);
drivers/net/ethernet/broadcom/tg3.c
12840
tg3_start(tp, true, false, false);
drivers/net/ethernet/broadcom/tg3.c
1286
err = tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
drivers/net/ethernet/broadcom/tg3.c
12863
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
1288
err = tg3_readphy(tp, MII_TG3_DSP_RW_PORT, val);
drivers/net/ethernet/broadcom/tg3.c
12885
tw32(MAC_LED_CTRL, tp->led_ctrl);
drivers/net/ethernet/broadcom/tg3.c
12895
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
12897
if (tp->hw_stats)
drivers/net/ethernet/broadcom/tg3.c
12898
tg3_get_estats(tp, (struct tg3_ethtool_stats *)tmp_stats);
drivers/net/ethernet/broadcom/tg3.c
12903
static __be32 *tg3_vpd_readblock(struct tg3 *tp, unsigned int *vpdlen)
drivers/net/ethernet/broadcom/tg3.c
12910
if (tg3_flag(tp, NO_NVRAM) || tg3_nvram_read(tp, 0, &magic))
drivers/net/ethernet/broadcom/tg3.c
12917
if (tg3_nvram_read(tp, offset, &val))
drivers/net/ethernet/broadcom/tg3.c
12927
if (tg3_nvram_read(tp, offset + 4, &offset))
drivers/net/ethernet/broadcom/tg3.c
1293
static int tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
drivers/net/ethernet/broadcom/tg3.c
12930
offset = tg3_nvram_logical_addr(tp, offset);
drivers/net/ethernet/broadcom/tg3.c
12947
if (tg3_nvram_read_be32(tp, offset + i, &buf[i/4]))
drivers/net/ethernet/broadcom/tg3.c
12952
buf = pci_vpd_alloc(tp->pdev, vpdlen);
drivers/net/ethernet/broadcom/tg3.c
1297
err = tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
drivers/net/ethernet/broadcom/tg3.c
12974
static int tg3_test_nvram(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
12981
if (tg3_flag(tp, NO_NVRAM))
drivers/net/ethernet/broadcom/tg3.c
12984
if (tg3_nvram_read(tp, 0, &magic) != 0)
drivers/net/ethernet/broadcom/tg3.c
1299
err = tg3_writephy(tp, MII_TG3_DSP_RW_PORT, val);
drivers/net/ethernet/broadcom/tg3.c
13027
err = tg3_nvram_read_be32(tp, i, &buf[j]);
drivers/net/ethernet/broadcom/tg3.c
1304
static int tg3_phy_auxctl_read(struct tg3 *tp, int reg, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
1308
err = tg3_writephy(tp, MII_TG3_AUX_CTRL,
drivers/net/ethernet/broadcom/tg3.c
131
#define TG3_MAX_MTU(tp) \
drivers/net/ethernet/broadcom/tg3.c
1312
err = tg3_readphy(tp, MII_TG3_AUX_CTRL, val);
drivers/net/ethernet/broadcom/tg3.c
13122
buf = tg3_vpd_readblock(tp, &len);
drivers/net/ethernet/broadcom/tg3.c
13138
static int tg3_test_link(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
13142
if (!netif_running(tp->dev))
drivers/net/ethernet/broadcom/tg3.c
13145
if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
13151
if (tp->link_up)
drivers/net/ethernet/broadcom/tg3.c
13162
static int tg3_test_registers(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
1317
static int tg3_phy_auxctl_write(struct tg3 *tp, int reg, u32 set)
drivers/net/ethernet/broadcom/tg3.c
132
(tg3_flag(tp, JUMBO_CAPABLE) ? 9000 : 1500)
drivers/net/ethernet/broadcom/tg3.c
1322
return tg3_writephy(tp, MII_TG3_AUX_CTRL, set | reg);
drivers/net/ethernet/broadcom/tg3.c
1325
static int tg3_phy_toggle_auxctl_smdsp(struct tg3 *tp, bool enable)
drivers/net/ethernet/broadcom/tg3.c
1330
err = tg3_phy_auxctl_read(tp, MII_TG3_AUXCTL_SHDWSEL_AUXCTL, &val);
drivers/net/ethernet/broadcom/tg3.c
13312
if (tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
13314
if (tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
13325
if (tg3_flag(tp, IS_5788) &&
drivers/net/ethernet/broadcom/tg3.c
13375
if (netif_msg_hw(tp))
drivers/net/ethernet/broadcom/tg3.c
13376
netdev_err(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
13382
static int tg3_do_mem_test(struct tg3 *tp, u32 offset, u32 len)
drivers/net/ethernet/broadcom/tg3.c
13392
tg3_write_mem(tp, offset + j, test_pattern[i]);
drivers/net/ethernet/broadcom/tg3.c
13393
tg3_read_mem(tp, offset + j, &val);
drivers/net/ethernet/broadcom/tg3.c
1340
err = tg3_phy_auxctl_write((tp), MII_TG3_AUXCTL_SHDWSEL_AUXCTL,
drivers/net/ethernet/broadcom/tg3.c
13401
static int tg3_test_memory(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
13448
if (tg3_flag(tp, 5717_PLUS))
drivers/net/ethernet/broadcom/tg3.c
13450
else if (tg3_flag(tp, 57765_CLASS) ||
drivers/net/ethernet/broadcom/tg3.c
13451
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
13453
else if (tg3_flag(tp, 5755_PLUS))
drivers/net/ethernet/broadcom/tg3.c
13455
else if (tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
13457
else if (tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
1346
static int tg3_phy_shdw_write(struct tg3 *tp, int reg, u32 val)
drivers/net/ethernet/broadcom/tg3.c
13463
err = tg3_do_mem_test(tp, mem_tbl[i].offset, mem_tbl[i].len);
drivers/net/ethernet/broadcom/tg3.c
1348
return tg3_writephy(tp, MII_TG3_MISC_SHDW,
drivers/net/ethernet/broadcom/tg3.c
13494
static int tg3_run_loopback(struct tg3 *tp, u32 pktsz, bool tso_loopback)
drivers/net/ethernet/broadcom/tg3.c
13505
struct tg3_rx_prodring_set *tpr = &tp->napi[0].prodring;
drivers/net/ethernet/broadcom/tg3.c
13507
tnapi = &tp->napi[0];
drivers/net/ethernet/broadcom/tg3.c
13508
rnapi = &tp->napi[0];
drivers/net/ethernet/broadcom/tg3.c
13509
if (tp->irq_cnt > 1) {
drivers/net/ethernet/broadcom/tg3.c
13510
if (tg3_flag(tp, ENABLE_RSS))
drivers/net/ethernet/broadcom/tg3.c
13511
rnapi = &tp->napi[1];
drivers/net/ethernet/broadcom/tg3.c
13512
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
13513
tnapi = &tp->napi[1];
drivers/net/ethernet/broadcom/tg3.c
1352
static int tg3_bmcr_reset(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
13520
skb = netdev_alloc_skb(tp->dev, tx_len);
drivers/net/ethernet/broadcom/tg3.c
13525
memcpy(tx_data, tp->dev->dev_addr, ETH_ALEN);
drivers/net/ethernet/broadcom/tg3.c
13549
if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
13550
tg3_flag(tp, HW_TSO_2) ||
drivers/net/ethernet/broadcom/tg3.c
13551
tg3_flag(tp, HW_TSO_3)) {
drivers/net/ethernet/broadcom/tg3.c
13559
if (tg3_flag(tp, HW_TSO_3)) {
drivers/net/ethernet/broadcom/tg3.c
13564
} else if (tg3_flag(tp, HW_TSO_2))
drivers/net/ethernet/broadcom/tg3.c
13566
else if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
13567
tg3_asic_rev(tp) == ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
13578
if (tg3_flag(tp, USE_JUMBO_BDFLAG) &&
drivers/net/ethernet/broadcom/tg3.c
13586
map = dma_map_single(&tp->pdev->dev, skb->data, tx_len, DMA_TO_DEVICE);
drivers/net/ethernet/broadcom/tg3.c
13587
if (dma_mapping_error(&tp->pdev->dev, map)) {
drivers/net/ethernet/broadcom/tg3.c
13596
tw32_f(HOSTCC_MODE, tp->coalesce_mode | HOSTCC_MODE_ENABLE |
drivers/net/ethernet/broadcom/tg3.c
1361
err = tg3_writephy(tp, MII_BMCR, phy_control);
drivers/net/ethernet/broadcom/tg3.c
13623
tw32_f(HOSTCC_MODE, tp->coalesce_mode | HOSTCC_MODE_ENABLE |
drivers/net/ethernet/broadcom/tg3.c
1367
err = tg3_readphy(tp, MII_BMCR, &phy_control);
drivers/net/ethernet/broadcom/tg3.c
13685
dma_sync_single_for_cpu(&tp->pdev->dev, map, rx_len,
drivers/net/ethernet/broadcom/tg3.c
13688
rx_data += TG3_RX_OFFSET(tp);
drivers/net/ethernet/broadcom/tg3.c
13710
static int tg3_test_loopback(struct tg3 *tp, u64 *data, bool do_extlpbk)
drivers/net/ethernet/broadcom/tg3.c
13716
if (tp->dma_limit)
drivers/net/ethernet/broadcom/tg3.c
13717
jmb_pkt_sz = tp->dma_limit - ETH_HLEN;
drivers/net/ethernet/broadcom/tg3.c
13719
eee_cap = tp->phy_flags & TG3_PHYFLG_EEE_CAP;
drivers/net/ethernet/broadcom/tg3.c
13720
tp->phy_flags &= ~TG3_PHYFLG_EEE_CAP;
drivers/net/ethernet/broadcom/tg3.c
13722
if (!netif_running(tp->dev)) {
drivers/net/ethernet/broadcom/tg3.c
13730
err = tg3_reset_hw(tp, true);
drivers/net/ethernet/broadcom/tg3.c
13739
if (tg3_flag(tp, ENABLE_RSS)) {
drivers/net/ethernet/broadcom/tg3.c
13753
if (tg3_asic_rev(tp) != ASIC_REV_5780 &&
drivers/net/ethernet/broadcom/tg3.c
13754
!tg3_flag(tp, CPMU_PRESENT)) {
drivers/net/ethernet/broadcom/tg3.c
13755
tg3_mac_loopback(tp, true);
drivers/net/ethernet/broadcom/tg3.c
13757
if (tg3_run_loopback(tp, ETH_FRAME_LEN, false))
drivers/net/ethernet/broadcom/tg3.c
13760
if (tg3_flag(tp, JUMBO_RING_ENABLE) &&
drivers/net/ethernet/broadcom/tg3.c
13761
tg3_run_loopback(tp, jmb_pkt_sz + ETH_HLEN, false))
drivers/net/ethernet/broadcom/tg3.c
13764
tg3_mac_loopback(tp, false);
drivers/net/ethernet/broadcom/tg3.c
13767
if (!(tp->phy_flags & TG3_PHYFLG_PHY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
13768
!tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
13771
tg3_phy_lpbk_set(tp, 0, false);
drivers/net/ethernet/broadcom/tg3.c
13780
if (tg3_run_loopback(tp, ETH_FRAME_LEN, false))
drivers/net/ethernet/broadcom/tg3.c
13782
if (tg3_flag(tp, TSO_CAPABLE) &&
drivers/net/ethernet/broadcom/tg3.c
13783
tg3_run_loopback(tp, ETH_FRAME_LEN, true))
drivers/net/ethernet/broadcom/tg3.c
13785
if (tg3_flag(tp, JUMBO_RING_ENABLE) &&
drivers/net/ethernet/broadcom/tg3.c
13786
tg3_run_loopback(tp, jmb_pkt_sz + ETH_HLEN, false))
drivers/net/ethernet/broadcom/tg3.c
13790
tg3_phy_lpbk_set(tp, 0, true);
drivers/net/ethernet/broadcom/tg3.c
13798
if (tg3_run_loopback(tp, ETH_FRAME_LEN, false))
drivers/net/ethernet/broadcom/tg3.c
138
#define TG3_RX_STD_RING_SIZE(tp) \
drivers/net/ethernet/broadcom/tg3.c
13801
if (tg3_flag(tp, TSO_CAPABLE) &&
drivers/net/ethernet/broadcom/tg3.c
13802
tg3_run_loopback(tp, ETH_FRAME_LEN, true))
drivers/net/ethernet/broadcom/tg3.c
13805
if (tg3_flag(tp, JUMBO_RING_ENABLE) &&
drivers/net/ethernet/broadcom/tg3.c
13806
tg3_run_loopback(tp, jmb_pkt_sz + ETH_HLEN, false))
drivers/net/ethernet/broadcom/tg3.c
13812
if (tp->phy_flags & TG3_PHYFLG_ENABLE_APD)
drivers/net/ethernet/broadcom/tg3.c
13813
tg3_phy_toggle_apd(tp, true);
drivers/net/ethernet/broadcom/tg3.c
13820
tp->phy_flags |= eee_cap;
drivers/net/ethernet/broadcom/tg3.c
13828
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
13831
if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
drivers/net/ethernet/broadcom/tg3.c
13832
if (tg3_power_up(tp)) {
drivers/net/ethernet/broadcom/tg3.c
13837
tg3_ape_driver_state_change(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
13842
if (tg3_test_nvram(tp) != 0) {
drivers/net/ethernet/broadcom/tg3.c
13846
if (!doextlpbk && tg3_test_link(tp)) {
drivers/net/ethernet/broadcom/tg3.c
1385
struct tg3 *tp = bp->priv;
drivers/net/ethernet/broadcom/tg3.c
13854
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
13855
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
13859
tg3_full_lock(tp, irq_sync);
drivers/net/ethernet/broadcom/tg3.c
13860
tg3_halt(tp, RESET_KIND_SUSPEND, 1);
drivers/net/ethernet/broadcom/tg3.c
13861
err = tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
13862
tg3_halt_cpu(tp, RX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
13863
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
13864
tg3_halt_cpu(tp, TX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
13866
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
13868
if (tp->phy_flags & TG3_PHYFLG_MII_SERDES)
drivers/net/ethernet/broadcom/tg3.c
13869
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
13871
if (tg3_test_registers(tp) != 0) {
drivers/net/ethernet/broadcom/tg3.c
13876
if (tg3_test_memory(tp) != 0) {
drivers/net/ethernet/broadcom/tg3.c
1388
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
13884
if (tg3_test_loopback(tp, data, doextlpbk))
drivers/net/ethernet/broadcom/tg3.c
13887
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
13889
if (tg3_test_interrupt(tp) != 0) {
drivers/net/ethernet/broadcom/tg3.c
13895
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
13897
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
13899
tg3_flag_set(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
139
(tg3_flag(tp, LRG_PROD_RING_CAP) ? \
drivers/net/ethernet/broadcom/tg3.c
1390
if (__tg3_readphy(tp, mii_id, reg, &val))
drivers/net/ethernet/broadcom/tg3.c
13900
err2 = tg3_restart_hw(tp, true);
drivers/net/ethernet/broadcom/tg3.c
13902
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
13905
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
13909
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
13911
if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)
drivers/net/ethernet/broadcom/tg3.c
13912
tg3_power_down_prepare(tp);
drivers/net/ethernet/broadcom/tg3.c
13920
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
13922
if (!tg3_flag(tp, PTP_CAPABLE))
drivers/net/ethernet/broadcom/tg3.c
1393
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
13931
tp->rxptpctl = 0;
drivers/net/ethernet/broadcom/tg3.c
13934
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V1_EN |
drivers/net/ethernet/broadcom/tg3.c
13938
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V1_EN |
drivers/net/ethernet/broadcom/tg3.c
13942
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V1_EN |
drivers/net/ethernet/broadcom/tg3.c
13946
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_EN |
drivers/net/ethernet/broadcom/tg3.c
13950
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_L2_EN |
drivers/net/ethernet/broadcom/tg3.c
13954
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_L4_EN |
drivers/net/ethernet/broadcom/tg3.c
13958
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_EN |
drivers/net/ethernet/broadcom/tg3.c
13962
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_L2_EN |
drivers/net/ethernet/broadcom/tg3.c
13966
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_L4_EN |
drivers/net/ethernet/broadcom/tg3.c
13970
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_EN |
drivers/net/ethernet/broadcom/tg3.c
13974
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_L2_EN |
drivers/net/ethernet/broadcom/tg3.c
13978
tp->rxptpctl = TG3_RX_PTP_CTL_RX_PTP_V2_L4_EN |
drivers/net/ethernet/broadcom/tg3.c
13985
if (netif_running(dev) && tp->rxptpctl)
drivers/net/ethernet/broadcom/tg3.c
13987
tp->rxptpctl | TG3_RX_PTP_CTL_HWTS_INTERLOCK);
drivers/net/ethernet/broadcom/tg3.c
13990
tg3_flag_set(tp, TX_TSTAMP_EN);
drivers/net/ethernet/broadcom/tg3.c
13992
tg3_flag_clear(tp, TX_TSTAMP_EN);
drivers/net/ethernet/broadcom/tg3.c
1400
struct tg3 *tp = bp->priv;
drivers/net/ethernet/broadcom/tg3.c
14000
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14002
if (!tg3_flag(tp, PTP_CAPABLE))
drivers/net/ethernet/broadcom/tg3.c
14006
stmpconf->tx_type = tg3_flag(tp, TX_TSTAMP_EN) ?
drivers/net/ethernet/broadcom/tg3.c
14009
switch (tp->rxptpctl) {
drivers/net/ethernet/broadcom/tg3.c
1403
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
1405
if (__tg3_writephy(tp, mii_id, reg, val))
drivers/net/ethernet/broadcom/tg3.c
14060
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14063
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
14065
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
drivers/net/ethernet/broadcom/tg3.c
14067
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
14073
data->phy_id = tp->phy_addr;
drivers/net/ethernet/broadcom/tg3.c
14079
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
1408
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14085
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14086
err = __tg3_readphy(tp, data->phy_id & 0x1f,
drivers/net/ethernet/broadcom/tg3.c
14088
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14096
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
14102
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14103
err = __tg3_writephy(tp, data->phy_id & 0x1f,
drivers/net/ethernet/broadcom/tg3.c
14105
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14121
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14123
memcpy(ec, &tp->coal, sizeof(*ec));
drivers/net/ethernet/broadcom/tg3.c
1413
static void tg3_mdio_config_5785(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14132
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14136
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
14158
tp->coal.rx_coalesce_usecs = ec->rx_coalesce_usecs;
drivers/net/ethernet/broadcom/tg3.c
14159
tp->coal.tx_coalesce_usecs = ec->tx_coalesce_usecs;
drivers/net/ethernet/broadcom/tg3.c
14160
tp->coal.rx_max_coalesced_frames = ec->rx_max_coalesced_frames;
drivers/net/ethernet/broadcom/tg3.c
14161
tp->coal.tx_max_coalesced_frames = ec->tx_max_coalesced_frames;
drivers/net/ethernet/broadcom/tg3.c
14162
tp->coal.rx_coalesce_usecs_irq = ec->rx_coalesce_usecs_irq;
drivers/net/ethernet/broadcom/tg3.c
14163
tp->coal.tx_coalesce_usecs_irq = ec->tx_coalesce_usecs_irq;
drivers/net/ethernet/broadcom/tg3.c
14164
tp->coal.rx_max_coalesced_frames_irq = ec->rx_max_coalesced_frames_irq;
drivers/net/ethernet/broadcom/tg3.c
14165
tp->coal.tx_max_coalesced_frames_irq = ec->tx_max_coalesced_frames_irq;
drivers/net/ethernet/broadcom/tg3.c
14166
tp->coal.stats_block_coalesce_usecs = ec->stats_block_coalesce_usecs;
drivers/net/ethernet/broadcom/tg3.c
14169
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
14170
__tg3_set_coalesce(tp, &tp->coal);
drivers/net/ethernet/broadcom/tg3.c
14171
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
14178
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
1418
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
14180
if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP)) {
drivers/net/ethernet/broadcom/tg3.c
14181
netdev_warn(tp->dev, "Board does not support EEE!\n");
drivers/net/ethernet/broadcom/tg3.c
14185
if (!linkmode_equal(edata->advertised, tp->eee.advertised)) {
drivers/net/ethernet/broadcom/tg3.c
14186
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
14192
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
14198
tp->eee.eee_enabled = edata->eee_enabled;
drivers/net/ethernet/broadcom/tg3.c
14199
tp->eee.tx_lpi_enabled = edata->tx_lpi_enabled;
drivers/net/ethernet/broadcom/tg3.c
142
#define TG3_RX_JMB_RING_SIZE(tp) \
drivers/net/ethernet/broadcom/tg3.c
14200
tp->eee.tx_lpi_timer = edata->tx_lpi_timer;
drivers/net/ethernet/broadcom/tg3.c
14202
tp->phy_flags |= TG3_PHYFLG_USER_CONFIGURED;
drivers/net/ethernet/broadcom/tg3.c
14203
tg3_warn_mgmt_link_flap(tp);
drivers/net/ethernet/broadcom/tg3.c
14205
if (netif_running(tp->dev)) {
drivers/net/ethernet/broadcom/tg3.c
14206
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
14207
tg3_setup_eee(tp);
drivers/net/ethernet/broadcom/tg3.c
14208
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
14209
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
14217
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14219
if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP)) {
drivers/net/ethernet/broadcom/tg3.c
14220
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
14225
*edata = tp->eee;
drivers/net/ethernet/broadcom/tg3.c
14274
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14276
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14277
if (!tp->hw_stats || !tg3_flag(tp, INIT_COMPLETE)) {
drivers/net/ethernet/broadcom/tg3.c
14278
*stats = tp->net_stats_prev;
drivers/net/ethernet/broadcom/tg3.c
14279
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14283
tg3_get_nstats(tp, stats);
drivers/net/ethernet/broadcom/tg3.c
14284
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
14289
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14294
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
14296
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
14299
static inline void tg3_set_mtu(struct net_device *dev, struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
143
(tg3_flag(tp, LRG_PROD_RING_CAP) ? \
drivers/net/ethernet/broadcom/tg3.c
14305
if (tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
14307
tg3_flag_clear(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
14309
tg3_flag_set(tp, JUMBO_RING_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
14312
if (tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
14313
tg3_flag_set(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
14316
tg3_flag_clear(tp, JUMBO_RING_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
14322
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
14330
tg3_set_mtu(dev, tp, new_mtu);
drivers/net/ethernet/broadcom/tg3.c
14334
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
14336
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
14338
tg3_set_mtu(dev, tp, new_mtu);
drivers/net/ethernet/broadcom/tg3.c
14341
tg3_full_lock(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
14343
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
14348
if (tg3_asic_rev(tp) == ASIC_REV_57766 ||
drivers/net/ethernet/broadcom/tg3.c
14349
tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
14350
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
14351
tg3_asic_rev(tp) == ASIC_REV_5720)
drivers/net/ethernet/broadcom/tg3.c
14354
err = tg3_restart_hw(tp, reset_phy);
drivers/net/ethernet/broadcom/tg3.c
14357
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
14359
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
14363
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
14388
static void tg3_get_eeprom_size(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14392
tp->nvram_size = EEPROM_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14394
if (tg3_nvram_read(tp, 0, &magic) != 0)
drivers/net/ethernet/broadcom/tg3.c
14409
while (cursize < tp->nvram_size) {
drivers/net/ethernet/broadcom/tg3.c
14410
if (tg3_nvram_read(tp, cursize, &val) != 0)
drivers/net/ethernet/broadcom/tg3.c
14419
tp->nvram_size = cursize;
drivers/net/ethernet/broadcom/tg3.c
14422
static void tg3_get_nvram_size(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14426
if (tg3_flag(tp, NO_NVRAM) || tg3_nvram_read(tp, 0, &val) != 0)
drivers/net/ethernet/broadcom/tg3.c
14431
tg3_get_eeprom_size(tp);
drivers/net/ethernet/broadcom/tg3.c
14435
if (tg3_nvram_read(tp, 0xf0, &val) == 0) {
drivers/net/ethernet/broadcom/tg3.c
14448
tp->nvram_size = swab16((u16)(val & 0x0000ffff)) * 1024;
drivers/net/ethernet/broadcom/tg3.c
14452
tp->nvram_size = TG3_NVRAM_SIZE_512KB;
drivers/net/ethernet/broadcom/tg3.c
14455
static void tg3_get_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14461
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14467
if (tg3_asic_rev(tp) == ASIC_REV_5750 ||
drivers/net/ethernet/broadcom/tg3.c
14468
tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
14471
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14472
tp->nvram_pagesize = ATMEL_AT45DB0X1B_PAGE_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14473
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14476
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14477
tp->nvram_pagesize = ATMEL_AT25F512_PAGE_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14480
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14481
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14482
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14485
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14486
tp->nvram_pagesize = ST_M45PEX0_PAGE_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14487
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
1449
if (!tg3_flag(tp, RGMII_INBAND_DISABLE))
drivers/net/ethernet/broadcom/tg3.c
14490
tp->nvram_jedecnum = JEDEC_SAIFUN;
drivers/net/ethernet/broadcom/tg3.c
14491
tp->nvram_pagesize = SAIFUN_SA25F0XX_PAGE_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14495
tp->nvram_jedecnum = JEDEC_SST;
drivers/net/ethernet/broadcom/tg3.c
14496
tp->nvram_pagesize = SST_25VF0X0_PAGE_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14500
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14501
tp->nvram_pagesize = ATMEL_AT45DB0X1B_PAGE_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14502
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14506
static void tg3_nvram_get_pagesize(struct tg3 *tp, u32 nvmcfg1)
drivers/net/ethernet/broadcom/tg3.c
14510
tp->nvram_pagesize = 256;
drivers/net/ethernet/broadcom/tg3.c
14513
tp->nvram_pagesize = 512;
drivers/net/ethernet/broadcom/tg3.c
14516
tp->nvram_pagesize = 1024;
drivers/net/ethernet/broadcom/tg3.c
14519
tp->nvram_pagesize = 2048;
drivers/net/ethernet/broadcom/tg3.c
14522
tp->nvram_pagesize = 4096;
drivers/net/ethernet/broadcom/tg3.c
14525
tp->nvram_pagesize = 264;
drivers/net/ethernet/broadcom/tg3.c
14528
tp->nvram_pagesize = 528;
drivers/net/ethernet/broadcom/tg3.c
14533
static void tg3_get_5752_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14541
tg3_flag_set(tp, PROTECTED_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
14546
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14547
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14550
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14551
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14552
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14557
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14558
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14559
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14563
if (tg3_flag(tp, FLASH)) {
drivers/net/ethernet/broadcom/tg3.c
14564
tg3_nvram_get_pagesize(tp, nvcfg1);
drivers/net/ethernet/broadcom/tg3.c
14567
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14574
static void tg3_get_5755_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14582
tg3_flag_set(tp, PROTECTED_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
14592
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14593
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14594
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14595
tp->nvram_pagesize = 264;
drivers/net/ethernet/broadcom/tg3.c
14598
tp->nvram_size = (protect ? 0x3e200 :
drivers/net/ethernet/broadcom/tg3.c
14601
tp->nvram_size = (protect ? 0x1f200 :
drivers/net/ethernet/broadcom/tg3.c
14604
tp->nvram_size = (protect ? 0x1f200 :
drivers/net/ethernet/broadcom/tg3.c
14610
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14611
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14612
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14613
tp->nvram_pagesize = 256;
drivers/net/ethernet/broadcom/tg3.c
14615
tp->nvram_size = (protect ?
drivers/net/ethernet/broadcom/tg3.c
14619
tp->nvram_size = (protect ?
drivers/net/ethernet/broadcom/tg3.c
1462
if (!tg3_flag(tp, RGMII_INBAND_DISABLE)) {
drivers/net/ethernet/broadcom/tg3.c
14623
tp->nvram_size = (protect ?
drivers/net/ethernet/broadcom/tg3.c
1463
if (tg3_flag(tp, RGMII_EXT_IBND_RX_EN))
drivers/net/ethernet/broadcom/tg3.c
14630
static void tg3_get_5787_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14641
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14642
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14643
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
1465
if (tg3_flag(tp, RGMII_EXT_IBND_TX_EN))
drivers/net/ethernet/broadcom/tg3.c
14652
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14653
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14654
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14655
tp->nvram_pagesize = 264;
drivers/net/ethernet/broadcom/tg3.c
14660
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14661
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14662
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14663
tp->nvram_pagesize = 256;
drivers/net/ethernet/broadcom/tg3.c
14668
static void tg3_get_5761_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14676
tg3_flag_set(tp, PROTECTED_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
14690
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14691
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14692
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14693
tg3_flag_set(tp, NO_NVRAM_ADDR_TRANS);
drivers/net/ethernet/broadcom/tg3.c
14694
tp->nvram_pagesize = 256;
drivers/net/ethernet/broadcom/tg3.c
14704
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14705
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14706
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14707
tp->nvram_pagesize = 256;
drivers/net/ethernet/broadcom/tg3.c
14712
tp->nvram_size = tr32(NVRAM_ADDR_LOCKOUT);
drivers/net/ethernet/broadcom/tg3.c
14719
tp->nvram_size = TG3_NVRAM_SIZE_2MB;
drivers/net/ethernet/broadcom/tg3.c
14725
tp->nvram_size = TG3_NVRAM_SIZE_1MB;
drivers/net/ethernet/broadcom/tg3.c
14731
tp->nvram_size = TG3_NVRAM_SIZE_512KB;
drivers/net/ethernet/broadcom/tg3.c
14737
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
14743
static void tg3_get_5906_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14745
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14746
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14747
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14750
static void tg3_get_57780_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14759
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14760
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14761
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14773
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14774
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14775
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14781
tp->nvram_size = TG3_NVRAM_SIZE_128KB;
drivers/net/ethernet/broadcom/tg3.c
14785
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
14789
tp->nvram_size = TG3_NVRAM_SIZE_512KB;
drivers/net/ethernet/broadcom/tg3.c
14796
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14797
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14798
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
1480
if (!tg3_flag(tp, RGMII_INBAND_DISABLE)) {
drivers/net/ethernet/broadcom/tg3.c
14802
tp->nvram_size = TG3_NVRAM_SIZE_128KB;
drivers/net/ethernet/broadcom/tg3.c
14805
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
14808
tp->nvram_size = TG3_NVRAM_SIZE_512KB;
drivers/net/ethernet/broadcom/tg3.c
1481
if (tg3_flag(tp, RGMII_EXT_IBND_RX_EN))
drivers/net/ethernet/broadcom/tg3.c
14813
tg3_flag_set(tp, NO_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
14817
tg3_nvram_get_pagesize(tp, nvcfg1);
drivers/net/ethernet/broadcom/tg3.c
14818
if (tp->nvram_pagesize != 264 && tp->nvram_pagesize != 528)
drivers/net/ethernet/broadcom/tg3.c
14819
tg3_flag_set(tp, NO_NVRAM_ADDR_TRANS);
drivers/net/ethernet/broadcom/tg3.c
14823
static void tg3_get_5717_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14832
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14833
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14834
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14846
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14847
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14848
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14856
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
14859
tp->nvram_size = TG3_NVRAM_SIZE_128KB;
drivers/net/ethernet/broadcom/tg3.c
1486
if (tg3_flag(tp, RGMII_EXT_IBND_TX_EN))
drivers/net/ethernet/broadcom/tg3.c
14873
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
14874
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14875
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14884
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
14887
tp->nvram_size = TG3_NVRAM_SIZE_128KB;
drivers/net/ethernet/broadcom/tg3.c
14892
tg3_flag_set(tp, NO_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
14896
tg3_nvram_get_pagesize(tp, nvcfg1);
drivers/net/ethernet/broadcom/tg3.c
14897
if (tp->nvram_pagesize != 264 && tp->nvram_pagesize != 528)
drivers/net/ethernet/broadcom/tg3.c
14898
tg3_flag_set(tp, NO_NVRAM_ADDR_TRANS);
drivers/net/ethernet/broadcom/tg3.c
14901
static void tg3_get_5720_nvram_info(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14908
if (tg3_asic_rev(tp) == ASIC_REV_5762) {
drivers/net/ethernet/broadcom/tg3.c
14910
tg3_flag_set(tp, NO_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
14920
tp->nvram_pagesize = 4096;
drivers/net/ethernet/broadcom/tg3.c
14921
tp->nvram_jedecnum = JEDEC_MACRONIX;
drivers/net/ethernet/broadcom/tg3.c
14922
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14923
tg3_flag_set(tp, NO_NVRAM_ADDR_TRANS);
drivers/net/ethernet/broadcom/tg3.c
14924
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14926
tp->nvram_size =
drivers/net/ethernet/broadcom/tg3.c
1494
static void tg3_mdio_start(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
14950
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14951
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14956
tp->nvram_pagesize = ATMEL_AT24C512_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
14958
tp->nvram_pagesize = ATMEL_AT24C02_CHIP_SIZE;
drivers/net/ethernet/broadcom/tg3.c
1496
tp->mi_mode &= ~MAC_MI_MODE_AUTO_POLL;
drivers/net/ethernet/broadcom/tg3.c
1497
tw32_f(MAC_MI_MODE, tp->mi_mode);
drivers/net/ethernet/broadcom/tg3.c
14972
tp->nvram_jedecnum = JEDEC_ATMEL;
drivers/net/ethernet/broadcom/tg3.c
14973
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
14974
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
14980
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
14985
tp->nvram_size = TG3_NVRAM_SIZE_512KB;
drivers/net/ethernet/broadcom/tg3.c
14989
tp->nvram_size = TG3_NVRAM_SIZE_1MB;
drivers/net/ethernet/broadcom/tg3.c
14992
if (tg3_asic_rev(tp) != ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
14993
tp->nvram_size = TG3_NVRAM_SIZE_128KB;
drivers/net/ethernet/broadcom/tg3.c
1500
if (tg3_flag(tp, MDIOBUS_INITED) &&
drivers/net/ethernet/broadcom/tg3.c
1501
tg3_asic_rev(tp) == ASIC_REV_5785)
drivers/net/ethernet/broadcom/tg3.c
15015
tp->nvram_jedecnum = JEDEC_ST;
drivers/net/ethernet/broadcom/tg3.c
15016
tg3_flag_set(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
15017
tg3_flag_set(tp, FLASH);
drivers/net/ethernet/broadcom/tg3.c
1502
tg3_mdio_config_5785(tp);
drivers/net/ethernet/broadcom/tg3.c
15024
tp->nvram_size = TG3_NVRAM_SIZE_256KB;
drivers/net/ethernet/broadcom/tg3.c
15030
tp->nvram_size = TG3_NVRAM_SIZE_512KB;
drivers/net/ethernet/broadcom/tg3.c
15036
tp->nvram_size = TG3_NVRAM_SIZE_1MB;
drivers/net/ethernet/broadcom/tg3.c
15039
if (tg3_asic_rev(tp) != ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
15040
tp->nvram_size = TG3_NVRAM_SIZE_128KB;
drivers/net/ethernet/broadcom/tg3.c
15045
tg3_flag_set(tp, NO_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
15049
tg3_nvram_get_pagesize(tp, nvcfg1);
drivers/net/ethernet/broadcom/tg3.c
1505
static int tg3_mdio_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15050
if (tp->nvram_pagesize != 264 && tp->nvram_pagesize != 528)
drivers/net/ethernet/broadcom/tg3.c
15051
tg3_flag_set(tp, NO_NVRAM_ADDR_TRANS);
drivers/net/ethernet/broadcom/tg3.c
15053
if (tg3_asic_rev(tp) == ASIC_REV_5762) {
drivers/net/ethernet/broadcom/tg3.c
15056
if (tg3_nvram_read(tp, 0, &val))
drivers/net/ethernet/broadcom/tg3.c
15061
tg3_flag_set(tp, NO_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
15066
static void tg3_nvram_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15068
if (tg3_flag(tp, IS_SSB_CORE)) {
drivers/net/ethernet/broadcom/tg3.c
15070
tg3_flag_clear(tp, NVRAM);
drivers/net/ethernet/broadcom/tg3.c
15071
tg3_flag_clear(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
15072
tg3_flag_set(tp, NO_NVRAM);
drivers/net/ethernet/broadcom/tg3.c
15088
if (tg3_asic_rev(tp) != ASIC_REV_5700 &&
drivers/net/ethernet/broadcom/tg3.c
15089
tg3_asic_rev(tp) != ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
15090
tg3_flag_set(tp, NVRAM);
drivers/net/ethernet/broadcom/tg3.c
15092
if (tg3_nvram_lock(tp)) {
drivers/net/ethernet/broadcom/tg3.c
15093
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
15098
tg3_enable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
15100
tp->nvram_size = 0;
drivers/net/ethernet/broadcom/tg3.c
15102
if (tg3_asic_rev(tp) == ASIC_REV_5752)
drivers/net/ethernet/broadcom/tg3.c
15103
tg3_get_5752_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15104
else if (tg3_asic_rev(tp) == ASIC_REV_5755)
drivers/net/ethernet/broadcom/tg3.c
15105
tg3_get_5755_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15106
else if (tg3_asic_rev(tp) == ASIC_REV_5787 ||
drivers/net/ethernet/broadcom/tg3.c
15107
tg3_asic_rev(tp) == ASIC_REV_5784 ||
drivers/net/ethernet/broadcom/tg3.c
15108
tg3_asic_rev(tp) == ASIC_REV_5785)
drivers/net/ethernet/broadcom/tg3.c
15109
tg3_get_5787_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
1511
if (tg3_flag(tp, 5717_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
15110
else if (tg3_asic_rev(tp) == ASIC_REV_5761)
drivers/net/ethernet/broadcom/tg3.c
15111
tg3_get_5761_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15112
else if (tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
15113
tg3_get_5906_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15114
else if (tg3_asic_rev(tp) == ASIC_REV_57780 ||
drivers/net/ethernet/broadcom/tg3.c
15115
tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
15116
tg3_get_57780_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15117
else if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
15118
tg3_asic_rev(tp) == ASIC_REV_5719)
drivers/net/ethernet/broadcom/tg3.c
15119
tg3_get_5717_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15120
else if (tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
15121
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
15122
tg3_get_5720_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15124
tg3_get_nvram_info(tp);
drivers/net/ethernet/broadcom/tg3.c
15126
if (tp->nvram_size == 0)
drivers/net/ethernet/broadcom/tg3.c
15127
tg3_get_nvram_size(tp);
drivers/net/ethernet/broadcom/tg3.c
15129
tg3_disable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
15130
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
15133
tg3_flag_clear(tp, NVRAM);
drivers/net/ethernet/broadcom/tg3.c
15134
tg3_flag_clear(tp, NVRAM_BUFFERED);
drivers/net/ethernet/broadcom/tg3.c
15136
tg3_get_eeprom_size(tp);
drivers/net/ethernet/broadcom/tg3.c
1514
tp->phy_addr = tp->pci_fn + 1;
drivers/net/ethernet/broadcom/tg3.c
1516
if (tg3_chip_rev_id(tp) != CHIPREV_ID_5717_A0)
drivers/net/ethernet/broadcom/tg3.c
15209
static struct subsys_tbl_ent *tg3_lookup_by_subsys(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15215
tp->pdev->subsystem_vendor) &&
drivers/net/ethernet/broadcom/tg3.c
15217
tp->pdev->subsystem_device))
drivers/net/ethernet/broadcom/tg3.c
1522
tp->phy_addr += 7;
drivers/net/ethernet/broadcom/tg3.c
15223
static void tg3_get_eeprom_hw_cfg(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15227
tp->phy_id = TG3_PHY_ID_INVALID;
drivers/net/ethernet/broadcom/tg3.c
15228
tp->led_ctrl = LED_CTRL_MODE_PHY_1;
drivers/net/ethernet/broadcom/tg3.c
1523
} else if (tg3_flag(tp, IS_SSB_CORE) && tg3_flag(tp, ROBOSWITCH)) {
drivers/net/ethernet/broadcom/tg3.c
15231
tg3_flag_set(tp, EEPROM_WRITE_PROT);
drivers/net/ethernet/broadcom/tg3.c
15232
tg3_flag_set(tp, WOL_CAP);
drivers/net/ethernet/broadcom/tg3.c
15234
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
15236
tg3_flag_clear(tp, EEPROM_WRITE_PROT);
drivers/net/ethernet/broadcom/tg3.c
15237
tg3_flag_set(tp, IS_NIC);
drivers/net/ethernet/broadcom/tg3.c
15241
tg3_flag_set(tp, ASPM_WORKAROUND);
drivers/net/ethernet/broadcom/tg3.c
15244
tg3_flag_set(tp, WOL_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
15245
device_set_wakeup_enable(&tp->pdev->dev, true);
drivers/net/ethernet/broadcom/tg3.c
15250
tg3_read_mem(tp, NIC_SRAM_DATA_SIG, &val);
drivers/net/ethernet/broadcom/tg3.c
15257
tg3_read_mem(tp, NIC_SRAM_DATA_CFG, &nic_cfg);
drivers/net/ethernet/broadcom/tg3.c
15258
tp->nic_sram_data_cfg = nic_cfg;
drivers/net/ethernet/broadcom/tg3.c
1526
addr = ssb_gige_get_phyaddr(tp->pdev);
drivers/net/ethernet/broadcom/tg3.c
15260
tg3_read_mem(tp, NIC_SRAM_DATA_VER, &ver);
drivers/net/ethernet/broadcom/tg3.c
15262
if (tg3_asic_rev(tp) != ASIC_REV_5700 &&
drivers/net/ethernet/broadcom/tg3.c
15263
tg3_asic_rev(tp) != ASIC_REV_5701 &&
drivers/net/ethernet/broadcom/tg3.c
15264
tg3_asic_rev(tp) != ASIC_REV_5703 &&
drivers/net/ethernet/broadcom/tg3.c
15266
tg3_read_mem(tp, NIC_SRAM_DATA_CFG_2, &cfg2);
drivers/net/ethernet/broadcom/tg3.c
15268
if (tg3_asic_rev(tp) == ASIC_REV_5785)
drivers/net/ethernet/broadcom/tg3.c
15269
tg3_read_mem(tp, NIC_SRAM_DATA_CFG_4, &cfg4);
drivers/net/ethernet/broadcom/tg3.c
15271
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
15272
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
15273
tg3_asic_rev(tp) == ASIC_REV_5720)
drivers/net/ethernet/broadcom/tg3.c
15274
tg3_read_mem(tp, NIC_SRAM_DATA_CFG_5, &cfg5);
drivers/net/ethernet/broadcom/tg3.c
15280
tg3_read_mem(tp, NIC_SRAM_DATA_PHY_ID, &nic_phy_id);
drivers/net/ethernet/broadcom/tg3.c
1529
tp->phy_addr = addr;
drivers/net/ethernet/broadcom/tg3.c
15291
tp->phy_id = eeprom_phy_id;
drivers/net/ethernet/broadcom/tg3.c
15293
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
15294
tp->phy_flags |= TG3_PHYFLG_PHY_SERDES;
drivers/net/ethernet/broadcom/tg3.c
15296
tp->phy_flags |= TG3_PHYFLG_MII_SERDES;
drivers/net/ethernet/broadcom/tg3.c
15299
if (tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
15308
tp->led_ctrl = LED_CTRL_MODE_PHY_1;
drivers/net/ethernet/broadcom/tg3.c
1531
tp->phy_addr = TG3_PHY_MII_ADDR;
drivers/net/ethernet/broadcom/tg3.c
15312
tp->led_ctrl = LED_CTRL_MODE_PHY_2;
drivers/net/ethernet/broadcom/tg3.c
15316
tp->led_ctrl = LED_CTRL_MODE_MAC;
drivers/net/ethernet/broadcom/tg3.c
15321
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
15322
tg3_asic_rev(tp) == ASIC_REV_5701)
drivers/net/ethernet/broadcom/tg3.c
15323
tp->led_ctrl = LED_CTRL_MODE_PHY_1;
drivers/net/ethernet/broadcom/tg3.c
15328
tp->led_ctrl = LED_CTRL_MODE_SHARED;
drivers/net/ethernet/broadcom/tg3.c
15329
if (tg3_chip_rev_id(tp) != CHIPREV_ID_5750_A0 &&
drivers/net/ethernet/broadcom/tg3.c
1533
tg3_mdio_start(tp);
drivers/net/ethernet/broadcom/tg3.c
15330
tg3_chip_rev_id(tp) != CHIPREV_ID_5750_A1)
drivers/net/ethernet/broadcom/tg3.c
15331
tp->led_ctrl |= (LED_CTRL_MODE_PHY_1 |
drivers/net/ethernet/broadcom/tg3.c
15334
if (tg3_flag(tp, 5717_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
15335
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
15336
tp->led_ctrl |= LED_CTRL_BLINK_RATE_OVERRIDE |
drivers/net/ethernet/broadcom/tg3.c
15342
tp->led_ctrl = LED_CTRL_MODE_SHASTA_MAC;
drivers/net/ethernet/broadcom/tg3.c
15346
tp->led_ctrl = LED_CTRL_MODE_COMBO;
drivers/net/ethernet/broadcom/tg3.c
15347
if (tg3_chip_rev_id(tp) != CHIPREV_ID_5750_A0)
drivers/net/ethernet/broadcom/tg3.c
15348
tp->led_ctrl |= (LED_CTRL_MODE_PHY_1 |
drivers/net/ethernet/broadcom/tg3.c
1535
if (!tg3_flag(tp, USE_PHYLIB) || tg3_flag(tp, MDIOBUS_INITED))
drivers/net/ethernet/broadcom/tg3.c
15354
if ((tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
15355
tg3_asic_rev(tp) == ASIC_REV_5701) &&
drivers/net/ethernet/broadcom/tg3.c
15356
tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL)
drivers/net/ethernet/broadcom/tg3.c
15357
tp->led_ctrl = LED_CTRL_MODE_PHY_2;
drivers/net/ethernet/broadcom/tg3.c
15359
if (tg3_chip_rev(tp) == CHIPREV_5784_AX)
drivers/net/ethernet/broadcom/tg3.c
15360
tp->led_ctrl = LED_CTRL_MODE_PHY_1;
drivers/net/ethernet/broadcom/tg3.c
15363
tg3_flag_set(tp, EEPROM_WRITE_PROT);
drivers/net/ethernet/broadcom/tg3.c
15364
if ((tp->pdev->subsystem_vendor ==
drivers/net/ethernet/broadcom/tg3.c
15366
(tp->pdev->subsystem_device == 0x205a ||
drivers/net/ethernet/broadcom/tg3.c
15367
tp->pdev->subsystem_device == 0x2063))
drivers/net/ethernet/broadcom/tg3.c
15368
tg3_flag_clear(tp, EEPROM_WRITE_PROT);
drivers/net/ethernet/broadcom/tg3.c
15370
tg3_flag_clear(tp, EEPROM_WRITE_PROT);
drivers/net/ethernet/broadcom/tg3.c
15371
tg3_flag_set(tp, IS_NIC);
drivers/net/ethernet/broadcom/tg3.c
15375
tg3_flag_set(tp, ENABLE_ASF);
drivers/net/ethernet/broadcom/tg3.c
15376
if (tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
15377
tg3_flag_set(tp, ASF_NEW_HANDSHAKE);
drivers/net/ethernet/broadcom/tg3.c
1538
tp->mdio_bus = mdiobus_alloc();
drivers/net/ethernet/broadcom/tg3.c
15381
tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
15382
tg3_flag_set(tp, ENABLE_APE);
drivers/net/ethernet/broadcom/tg3.c
15384
if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES &&
drivers/net/ethernet/broadcom/tg3.c
15386
tg3_flag_clear(tp, WOL_CAP);
drivers/net/ethernet/broadcom/tg3.c
15388
if (tg3_flag(tp, WOL_CAP) &&
drivers/net/ethernet/broadcom/tg3.c
1539
if (tp->mdio_bus == NULL)
drivers/net/ethernet/broadcom/tg3.c
15390
tg3_flag_set(tp, WOL_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
15391
device_set_wakeup_enable(&tp->pdev->dev, true);
drivers/net/ethernet/broadcom/tg3.c
15395
tp->phy_flags |= TG3_PHYFLG_CAPACITIVE_COUPLING;
drivers/net/ethernet/broadcom/tg3.c
15400
tp->phy_flags |= TG3_PHYFLG_SERDES_PREEMPHASIS;
drivers/net/ethernet/broadcom/tg3.c
15402
if ((tg3_flag(tp, 57765_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
15403
(tg3_asic_rev(tp) == ASIC_REV_5784 &&
drivers/net/ethernet/broadcom/tg3.c
15404
tg3_chip_rev(tp) != CHIPREV_5784_AX)) &&
drivers/net/ethernet/broadcom/tg3.c
15406
tp->phy_flags |= TG3_PHYFLG_ENABLE_APD;
drivers/net/ethernet/broadcom/tg3.c
15408
if (tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
15411
tg3_read_mem(tp, NIC_SRAM_DATA_CFG_3, &cfg3);
drivers/net/ethernet/broadcom/tg3.c
15412
if (tg3_asic_rev(tp) != ASIC_REV_5785 &&
drivers/net/ethernet/broadcom/tg3.c
15413
!tg3_flag(tp, 57765_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
15415
tg3_flag_set(tp, ASPM_WORKAROUND);
drivers/net/ethernet/broadcom/tg3.c
15417
tp->phy_flags |= TG3_PHYFLG_KEEP_LINK_ON_PWRDN;
drivers/net/ethernet/broadcom/tg3.c
15419
tp->phy_flags |= TG3_PHYFLG_1G_ON_VAUX_OK;
drivers/net/ethernet/broadcom/tg3.c
1542
tp->mdio_bus->name = "tg3 mdio bus";
drivers/net/ethernet/broadcom/tg3.c
15423
tg3_flag_set(tp, RGMII_INBAND_DISABLE);
drivers/net/ethernet/broadcom/tg3.c
15425
tg3_flag_set(tp, RGMII_EXT_IBND_RX_EN);
drivers/net/ethernet/broadcom/tg3.c
15427
tg3_flag_set(tp, RGMII_EXT_IBND_TX_EN);
drivers/net/ethernet/broadcom/tg3.c
1543
snprintf(tp->mdio_bus->id, MII_BUS_ID_SIZE, "%x", pci_dev_id(tp->pdev));
drivers/net/ethernet/broadcom/tg3.c
15430
tp->phy_flags |= TG3_PHYFLG_DISABLE_1G_HD_ADV;
drivers/net/ethernet/broadcom/tg3.c
15433
if (tg3_flag(tp, WOL_CAP))
drivers/net/ethernet/broadcom/tg3.c
15434
device_set_wakeup_enable(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
15435
tg3_flag(tp, WOL_ENABLE));
drivers/net/ethernet/broadcom/tg3.c
15437
device_set_wakeup_capable(&tp->pdev->dev, false);
drivers/net/ethernet/broadcom/tg3.c
1544
tp->mdio_bus->priv = tp;
drivers/net/ethernet/broadcom/tg3.c
15440
static int tg3_ape_otp_read(struct tg3 *tp, u32 offset, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
15445
err = tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
15449
tg3_ape_write32(tp, TG3_APE_OTP_ADDR, off | APE_OTP_ADDR_CPU_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
1545
tp->mdio_bus->parent = &tp->pdev->dev;
drivers/net/ethernet/broadcom/tg3.c
15450
tg3_ape_write32(tp, TG3_APE_OTP_CTRL, APE_OTP_CTRL_PROG_EN |
drivers/net/ethernet/broadcom/tg3.c
15452
tg3_ape_read32(tp, TG3_APE_OTP_CTRL);
drivers/net/ethernet/broadcom/tg3.c
15456
val2 = tg3_ape_read32(tp, TG3_APE_OTP_STATUS);
drivers/net/ethernet/broadcom/tg3.c
15458
*val = tg3_ape_read32(tp, TG3_APE_OTP_RD_DATA);
drivers/net/ethernet/broadcom/tg3.c
1546
tp->mdio_bus->read = &tg3_mdio_read;
drivers/net/ethernet/broadcom/tg3.c
15464
tg3_ape_write32(tp, TG3_APE_OTP_CTRL, 0);
drivers/net/ethernet/broadcom/tg3.c
15466
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
1547
tp->mdio_bus->write = &tg3_mdio_write;
drivers/net/ethernet/broadcom/tg3.c
15473
static int tg3_issue_otp_command(struct tg3 *tp, u32 cmd)
drivers/net/ethernet/broadcom/tg3.c
1548
tp->mdio_bus->phy_mask = ~(1 << tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
15496
static u32 tg3_read_otp_phycfg(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15502
if (tg3_issue_otp_command(tp, OTP_CTRL_OTP_CMD_INIT))
drivers/net/ethernet/broadcom/tg3.c
15507
if (tg3_issue_otp_command(tp, OTP_CTRL_OTP_CMD_READ))
drivers/net/ethernet/broadcom/tg3.c
15514
if (tg3_issue_otp_command(tp, OTP_CTRL_OTP_CMD_READ))
drivers/net/ethernet/broadcom/tg3.c
15522
static void tg3_phy_init_link_config(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15526
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
15527
if (!(tp->phy_flags & TG3_PHYFLG_DISABLE_1G_HD_ADV))
drivers/net/ethernet/broadcom/tg3.c
15532
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES))
drivers/net/ethernet/broadcom/tg3.c
15541
tp->link_config.advertising = adv;
drivers/net/ethernet/broadcom/tg3.c
15542
tp->link_config.speed = SPEED_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
15543
tp->link_config.duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
15544
tp->link_config.autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
15545
tp->link_config.active_speed = SPEED_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
15546
tp->link_config.active_duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
15548
tp->old_link = -1;
drivers/net/ethernet/broadcom/tg3.c
1555
if (tg3_readphy(tp, MII_BMCR, ®) || (reg & BMCR_PDOWN))
drivers/net/ethernet/broadcom/tg3.c
15551
static int tg3_phy_probe(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15558
tg3_flag_set(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
15559
tp->link_config.flowctrl = FLOW_CTRL_TX | FLOW_CTRL_RX;
drivers/net/ethernet/broadcom/tg3.c
1556
tg3_bmcr_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
15561
if (tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
15562
switch (tp->pci_fn) {
drivers/net/ethernet/broadcom/tg3.c
15564
tp->phy_ape_lock = TG3_APE_LOCK_PHY0;
drivers/net/ethernet/broadcom/tg3.c
15567
tp->phy_ape_lock = TG3_APE_LOCK_PHY1;
drivers/net/ethernet/broadcom/tg3.c
15570
tp->phy_ape_lock = TG3_APE_LOCK_PHY2;
drivers/net/ethernet/broadcom/tg3.c
15573
tp->phy_ape_lock = TG3_APE_LOCK_PHY3;
drivers/net/ethernet/broadcom/tg3.c
15578
if (!tg3_flag(tp, ENABLE_ASF) &&
drivers/net/ethernet/broadcom/tg3.c
15579
!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
1558
i = mdiobus_register(tp->mdio_bus);
drivers/net/ethernet/broadcom/tg3.c
15580
!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY))
drivers/net/ethernet/broadcom/tg3.c
15581
tp->phy_flags &= ~(TG3_PHYFLG_1G_ON_VAUX_OK |
drivers/net/ethernet/broadcom/tg3.c
15584
if (tg3_flag(tp, USE_PHYLIB))
drivers/net/ethernet/broadcom/tg3.c
15585
return tg3_phy_init(tp);
drivers/net/ethernet/broadcom/tg3.c
15591
if (tg3_flag(tp, ENABLE_ASF) || tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
15599
err |= tg3_readphy(tp, MII_PHYSID1, &hw_phy_id_1);
drivers/net/ethernet/broadcom/tg3.c
1560
dev_warn(&tp->pdev->dev, "mdiobus_reg failed (0x%x)\n", i);
drivers/net/ethernet/broadcom/tg3.c
15600
err |= tg3_readphy(tp, MII_PHYSID2, &hw_phy_id_2);
drivers/net/ethernet/broadcom/tg3.c
1561
mdiobus_free(tp->mdio_bus);
drivers/net/ethernet/broadcom/tg3.c
15610
tp->phy_id = hw_phy_id;
drivers/net/ethernet/broadcom/tg3.c
15612
tp->phy_flags |= TG3_PHYFLG_PHY_SERDES;
drivers/net/ethernet/broadcom/tg3.c
15614
tp->phy_flags &= ~TG3_PHYFLG_PHY_SERDES;
drivers/net/ethernet/broadcom/tg3.c
15616
if (tp->phy_id != TG3_PHY_ID_INVALID) {
drivers/net/ethernet/broadcom/tg3.c
15626
p = tg3_lookup_by_subsys(tp);
drivers/net/ethernet/broadcom/tg3.c
15628
tp->phy_id = p->phy_id;
drivers/net/ethernet/broadcom/tg3.c
15629
} else if (!tg3_flag(tp, IS_SSB_CORE)) {
drivers/net/ethernet/broadcom/tg3.c
15640
if (!tp->phy_id ||
drivers/net/ethernet/broadcom/tg3.c
15641
tp->phy_id == TG3_PHY_ID_BCM8002)
drivers/net/ethernet/broadcom/tg3.c
15642
tp->phy_flags |= TG3_PHYFLG_PHY_SERDES;
drivers/net/ethernet/broadcom/tg3.c
15646
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
15647
(tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
15648
tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
15649
tg3_asic_rev(tp) == ASIC_REV_57766 ||
drivers/net/ethernet/broadcom/tg3.c
1565
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
15650
tg3_asic_rev(tp) == ASIC_REV_5762 ||
drivers/net/ethernet/broadcom/tg3.c
15651
(tg3_asic_rev(tp) == ASIC_REV_5717 &&
drivers/net/ethernet/broadcom/tg3.c
15652
tg3_chip_rev_id(tp) != CHIPREV_ID_5717_A0) ||
drivers/net/ethernet/broadcom/tg3.c
15653
(tg3_asic_rev(tp) == ASIC_REV_57765 &&
drivers/net/ethernet/broadcom/tg3.c
15654
tg3_chip_rev_id(tp) != CHIPREV_ID_57765_A0))) {
drivers/net/ethernet/broadcom/tg3.c
15655
tp->phy_flags |= TG3_PHYFLG_EEE_CAP;
drivers/net/ethernet/broadcom/tg3.c
15657
linkmode_zero(tp->eee.supported);
drivers/net/ethernet/broadcom/tg3.c
15659
tp->eee.supported);
drivers/net/ethernet/broadcom/tg3.c
15661
tp->eee.supported);
drivers/net/ethernet/broadcom/tg3.c
15662
linkmode_copy(tp->eee.advertised, tp->eee.supported);
drivers/net/ethernet/broadcom/tg3.c
15664
tp->eee.eee_enabled = 1;
drivers/net/ethernet/broadcom/tg3.c
15665
tp->eee.tx_lpi_enabled = 1;
drivers/net/ethernet/broadcom/tg3.c
15666
tp->eee.tx_lpi_timer = TG3_CPMU_DBTMR1_LNKIDLE_2047US;
drivers/net/ethernet/broadcom/tg3.c
15669
tg3_phy_init_link_config(tp);
drivers/net/ethernet/broadcom/tg3.c
15671
if (!(tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN) &&
drivers/net/ethernet/broadcom/tg3.c
15672
!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
15673
!tg3_flag(tp, ENABLE_APE) &&
drivers/net/ethernet/broadcom/tg3.c
15674
!tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
15677
tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
15678
if (!tg3_readphy(tp, MII_BMSR, &bmsr) &&
drivers/net/ethernet/broadcom/tg3.c
1568
dev_warn(&tp->pdev->dev, "No PHY devices\n");
drivers/net/ethernet/broadcom/tg3.c
15682
err = tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
15686
tg3_phy_set_wirespeed(tp);
drivers/net/ethernet/broadcom/tg3.c
15688
if (!tg3_phy_copper_an_config_ok(tp, &dummy)) {
drivers/net/ethernet/broadcom/tg3.c
15689
tg3_phy_autoneg_cfg(tp, tp->link_config.advertising,
drivers/net/ethernet/broadcom/tg3.c
1569
mdiobus_unregister(tp->mdio_bus);
drivers/net/ethernet/broadcom/tg3.c
15690
tp->link_config.flowctrl);
drivers/net/ethernet/broadcom/tg3.c
15692
tg3_writephy(tp, MII_BMCR,
drivers/net/ethernet/broadcom/tg3.c
15698
if ((tp->phy_id & TG3_PHY_ID_MASK) == TG3_PHY_ID_BCM5401) {
drivers/net/ethernet/broadcom/tg3.c
15699
err = tg3_init_5401phy_dsp(tp);
drivers/net/ethernet/broadcom/tg3.c
157
#define TG3_RX_STD_RING_BYTES(tp) \
drivers/net/ethernet/broadcom/tg3.c
1570
mdiobus_free(tp->mdio_bus);
drivers/net/ethernet/broadcom/tg3.c
15703
err = tg3_init_5401phy_dsp(tp);
drivers/net/ethernet/broadcom/tg3.c
15709
static void tg3_read_vpd(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15715
vpd_data = (u8 *)tg3_vpd_readblock(tp, &vpdlen);
drivers/net/ethernet/broadcom/tg3.c
15732
memset(tp->fw_ver, 0, sizeof(tp->fw_ver));
drivers/net/ethernet/broadcom/tg3.c
15733
snprintf(tp->fw_ver, sizeof(tp->fw_ver), "%.*s bc ", len, vpd_data + i);
drivers/net/ethernet/broadcom/tg3.c
15744
memcpy(tp->board_part_number, &vpd_data[i], len);
drivers/net/ethernet/broadcom/tg3.c
15748
if (tp->board_part_number[0])
drivers/net/ethernet/broadcom/tg3.c
15752
if (tg3_asic_rev(tp) == ASIC_REV_5717) {
drivers/net/ethernet/broadcom/tg3.c
15753
if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717 ||
drivers/net/ethernet/broadcom/tg3.c
15754
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717_C)
drivers/net/ethernet/broadcom/tg3.c
15755
strcpy(tp->board_part_number, "BCM5717");
drivers/net/ethernet/broadcom/tg3.c
15756
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_5718)
drivers/net/ethernet/broadcom/tg3.c
15757
strcpy(tp->board_part_number, "BCM5718");
drivers/net/ethernet/broadcom/tg3.c
15760
} else if (tg3_asic_rev(tp) == ASIC_REV_57780) {
drivers/net/ethernet/broadcom/tg3.c
15761
if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57780)
drivers/net/ethernet/broadcom/tg3.c
15762
strcpy(tp->board_part_number, "BCM57780");
drivers/net/ethernet/broadcom/tg3.c
15763
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57760)
drivers/net/ethernet/broadcom/tg3.c
15764
strcpy(tp->board_part_number, "BCM57760");
drivers/net/ethernet/broadcom/tg3.c
15765
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57790)
drivers/net/ethernet/broadcom/tg3.c
15766
strcpy(tp->board_part_number, "BCM57790");
drivers/net/ethernet/broadcom/tg3.c
15767
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57788)
drivers/net/ethernet/broadcom/tg3.c
15768
strcpy(tp->board_part_number, "BCM57788");
drivers/net/ethernet/broadcom/tg3.c
15771
} else if (tg3_asic_rev(tp) == ASIC_REV_57765) {
drivers/net/ethernet/broadcom/tg3.c
15772
if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57761)
drivers/net/ethernet/broadcom/tg3.c
15773
strcpy(tp->board_part_number, "BCM57761");
drivers/net/ethernet/broadcom/tg3.c
15774
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57765)
drivers/net/ethernet/broadcom/tg3.c
15775
strcpy(tp->board_part_number, "BCM57765");
drivers/net/ethernet/broadcom/tg3.c
15776
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57781)
drivers/net/ethernet/broadcom/tg3.c
15777
strcpy(tp->board_part_number, "BCM57781");
drivers/net/ethernet/broadcom/tg3.c
15778
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57785)
drivers/net/ethernet/broadcom/tg3.c
15779
strcpy(tp->board_part_number, "BCM57785");
drivers/net/ethernet/broadcom/tg3.c
15780
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57791)
drivers/net/ethernet/broadcom/tg3.c
15781
strcpy(tp->board_part_number, "BCM57791");
drivers/net/ethernet/broadcom/tg3.c
15782
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57795)
drivers/net/ethernet/broadcom/tg3.c
15783
strcpy(tp->board_part_number, "BCM57795");
drivers/net/ethernet/broadcom/tg3.c
15786
} else if (tg3_asic_rev(tp) == ASIC_REV_57766) {
drivers/net/ethernet/broadcom/tg3.c
15787
if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57762)
drivers/net/ethernet/broadcom/tg3.c
15788
strcpy(tp->board_part_number, "BCM57762");
drivers/net/ethernet/broadcom/tg3.c
15789
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57766)
drivers/net/ethernet/broadcom/tg3.c
15790
strcpy(tp->board_part_number, "BCM57766");
drivers/net/ethernet/broadcom/tg3.c
15791
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57782)
drivers/net/ethernet/broadcom/tg3.c
15792
strcpy(tp->board_part_number, "BCM57782");
drivers/net/ethernet/broadcom/tg3.c
15793
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57786)
drivers/net/ethernet/broadcom/tg3.c
15794
strcpy(tp->board_part_number, "BCM57786");
drivers/net/ethernet/broadcom/tg3.c
15797
} else if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
15798
strcpy(tp->board_part_number, "BCM95906");
drivers/net/ethernet/broadcom/tg3.c
158
(sizeof(struct tg3_rx_buffer_desc) * TG3_RX_STD_RING_SIZE(tp))
drivers/net/ethernet/broadcom/tg3.c
15801
strcpy(tp->board_part_number, "none");
drivers/net/ethernet/broadcom/tg3.c
15805
static int tg3_fw_img_is_valid(struct tg3 *tp, u32 offset)
drivers/net/ethernet/broadcom/tg3.c
15809
if (tg3_nvram_read(tp, offset, &val) ||
drivers/net/ethernet/broadcom/tg3.c
15811
tg3_nvram_read(tp, offset + 4, &val) ||
drivers/net/ethernet/broadcom/tg3.c
15818
static void tg3_read_bc_ver(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15824
if (tg3_nvram_read(tp, 0xc, &offset) ||
drivers/net/ethernet/broadcom/tg3.c
15825
tg3_nvram_read(tp, 0x4, &start))
drivers/net/ethernet/broadcom/tg3.c
15828
offset = tg3_nvram_logical_addr(tp, offset);
drivers/net/ethernet/broadcom/tg3.c
15830
if (tg3_nvram_read(tp, offset, &val))
drivers/net/ethernet/broadcom/tg3.c
15834
if (tg3_nvram_read(tp, offset + 4, &val))
drivers/net/ethernet/broadcom/tg3.c
15841
dst_off = strlen(tp->fw_ver);
drivers/net/ethernet/broadcom/tg3.c
15845
tg3_nvram_read(tp, offset + 8, &ver_offset))
drivers/net/ethernet/broadcom/tg3.c
15851
if (tg3_nvram_read_be32(tp, offset + i, &v))
drivers/net/ethernet/broadcom/tg3.c
15854
memcpy(tp->fw_ver + dst_off + i, &v, sizeof(v));
drivers/net/ethernet/broadcom/tg3.c
15859
if (tg3_nvram_read(tp, TG3_NVM_PTREV_BCVER, &ver_offset))
drivers/net/ethernet/broadcom/tg3.c
15865
snprintf(&tp->fw_ver[dst_off], TG3_VER_SIZE - dst_off,
drivers/net/ethernet/broadcom/tg3.c
15870
static void tg3_read_hwsb_ver(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15875
if (tg3_nvram_read(tp, TG3_NVM_HWSB_CFG1, &val))
drivers/net/ethernet/broadcom/tg3.c
15883
snprintf(&tp->fw_ver[0], 32, "sb v%d.%02d", major, minor);
drivers/net/ethernet/broadcom/tg3.c
15886
static void tg3_read_sb_ver(struct tg3 *tp, u32 val)
drivers/net/ethernet/broadcom/tg3.c
15890
strncat(tp->fw_ver, "sb", TG3_VER_SIZE - strlen(tp->fw_ver) - 1);
drivers/net/ethernet/broadcom/tg3.c
159
#define TG3_RX_JMB_RING_BYTES(tp) \
drivers/net/ethernet/broadcom/tg3.c
15918
if (tg3_nvram_read(tp, offset, &val))
drivers/net/ethernet/broadcom/tg3.c
1593
tp->phy_flags |= TG3_PHYFLG_IS_FET;
drivers/net/ethernet/broadcom/tg3.c
15930
offset = strlen(tp->fw_ver);
drivers/net/ethernet/broadcom/tg3.c
15931
snprintf(&tp->fw_ver[offset], TG3_VER_SIZE - offset,
drivers/net/ethernet/broadcom/tg3.c
15935
offset = strlen(tp->fw_ver);
drivers/net/ethernet/broadcom/tg3.c
15937
tp->fw_ver[offset] = 'a' + build - 1;
drivers/net/ethernet/broadcom/tg3.c
15941
static void tg3_read_mgmtfw_ver(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15949
if (tg3_nvram_read(tp, offset, &val))
drivers/net/ethernet/broadcom/tg3.c
15959
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
15961
else if (tg3_nvram_read(tp, offset - 4, &start))
drivers/net/ethernet/broadcom/tg3.c
15964
if (tg3_nvram_read(tp, offset + 4, &offset) ||
drivers/net/ethernet/broadcom/tg3.c
15965
!tg3_fw_img_is_valid(tp, offset) ||
drivers/net/ethernet/broadcom/tg3.c
15966
tg3_nvram_read(tp, offset + 8, &val))
drivers/net/ethernet/broadcom/tg3.c
1597
tg3_flag_set(tp, MDIOBUS_INITED);
drivers/net/ethernet/broadcom/tg3.c
15971
vlen = strlen(tp->fw_ver);
drivers/net/ethernet/broadcom/tg3.c
15973
tp->fw_ver[vlen++] = ',';
drivers/net/ethernet/broadcom/tg3.c
15974
tp->fw_ver[vlen++] = ' ';
drivers/net/ethernet/broadcom/tg3.c
15978
if (tg3_nvram_read_be32(tp, offset, &v))
drivers/net/ethernet/broadcom/tg3.c
15984
memcpy(&tp->fw_ver[vlen], &v, TG3_VER_SIZE - vlen);
drivers/net/ethernet/broadcom/tg3.c
15988
memcpy(&tp->fw_ver[vlen], &v, sizeof(v));
drivers/net/ethernet/broadcom/tg3.c
1599
if (tg3_asic_rev(tp) == ASIC_REV_5785)
drivers/net/ethernet/broadcom/tg3.c
15993
static void tg3_probe_ncsi(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
15997
apedata = tg3_ape_read32(tp, TG3_APE_SEG_SIG);
drivers/net/ethernet/broadcom/tg3.c
160
(sizeof(struct tg3_ext_rx_buffer_desc) * TG3_RX_JMB_RING_SIZE(tp))
drivers/net/ethernet/broadcom/tg3.c
1600
tg3_mdio_config_5785(tp);
drivers/net/ethernet/broadcom/tg3.c
16001
apedata = tg3_ape_read32(tp, TG3_APE_FW_STATUS);
drivers/net/ethernet/broadcom/tg3.c
16005
if (tg3_ape_read32(tp, TG3_APE_FW_FEATURES) & TG3_APE_FW_FEATURE_NCSI)
drivers/net/ethernet/broadcom/tg3.c
16006
tg3_flag_set(tp, APE_HAS_NCSI);
drivers/net/ethernet/broadcom/tg3.c
16009
static void tg3_read_dash_ver(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16015
apedata = tg3_ape_read32(tp, TG3_APE_FW_VERSION);
drivers/net/ethernet/broadcom/tg3.c
16017
if (tg3_flag(tp, APE_HAS_NCSI))
drivers/net/ethernet/broadcom/tg3.c
16019
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_5725)
drivers/net/ethernet/broadcom/tg3.c
16024
vlen = strlen(tp->fw_ver);
drivers/net/ethernet/broadcom/tg3.c
16026
snprintf(&tp->fw_ver[vlen], TG3_VER_SIZE - vlen, " %s v%d.%d.%d.%d",
drivers/net/ethernet/broadcom/tg3.c
16034
static void tg3_read_otp_ver(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16038
if (tg3_asic_rev(tp) != ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
16041
if (!tg3_ape_otp_read(tp, OTP_ADDRESS_MAGIC0, &val) &&
drivers/net/ethernet/broadcom/tg3.c
16042
!tg3_ape_otp_read(tp, OTP_ADDRESS_MAGIC0 + 4, &val2) &&
drivers/net/ethernet/broadcom/tg3.c
1605
static void tg3_mdio_fini(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16054
vlen = strlen(tp->fw_ver);
drivers/net/ethernet/broadcom/tg3.c
16055
snprintf(&tp->fw_ver[vlen], TG3_VER_SIZE - vlen, " .%02d", ver);
drivers/net/ethernet/broadcom/tg3.c
16059
static void tg3_read_fw_ver(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16064
if (tp->fw_ver[0] != 0)
drivers/net/ethernet/broadcom/tg3.c
16067
if (tg3_flag(tp, NO_NVRAM)) {
drivers/net/ethernet/broadcom/tg3.c
16068
strcat(tp->fw_ver, "sb");
drivers/net/ethernet/broadcom/tg3.c
16069
tg3_read_otp_ver(tp);
drivers/net/ethernet/broadcom/tg3.c
1607
if (tg3_flag(tp, MDIOBUS_INITED)) {
drivers/net/ethernet/broadcom/tg3.c
16073
if (tg3_nvram_read(tp, 0, &val))
drivers/net/ethernet/broadcom/tg3.c
16077
tg3_read_bc_ver(tp);
drivers/net/ethernet/broadcom/tg3.c
16079
tg3_read_sb_ver(tp, val);
drivers/net/ethernet/broadcom/tg3.c
1608
tg3_flag_clear(tp, MDIOBUS_INITED);
drivers/net/ethernet/broadcom/tg3.c
16081
tg3_read_hwsb_ver(tp);
drivers/net/ethernet/broadcom/tg3.c
16083
if (tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
16084
if (tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
16085
tg3_probe_ncsi(tp);
drivers/net/ethernet/broadcom/tg3.c
16087
tg3_read_dash_ver(tp);
drivers/net/ethernet/broadcom/tg3.c
16089
tg3_read_mgmtfw_ver(tp);
drivers/net/ethernet/broadcom/tg3.c
1609
mdiobus_unregister(tp->mdio_bus);
drivers/net/ethernet/broadcom/tg3.c
16093
tp->fw_ver[TG3_VER_SIZE - 1] = 0;
drivers/net/ethernet/broadcom/tg3.c
16096
static inline u32 tg3_rx_ret_ring_size(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16098
if (tg3_flag(tp, LRG_PROD_RING_CAP))
drivers/net/ethernet/broadcom/tg3.c
161
#define TG3_RX_RCB_RING_BYTES(tp) \
drivers/net/ethernet/broadcom/tg3.c
1610
mdiobus_free(tp->mdio_bus);
drivers/net/ethernet/broadcom/tg3.c
16100
else if (tg3_flag(tp, JUMBO_CAPABLE) && !tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
16113
static struct pci_dev *tg3_find_peer(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16116
unsigned int func, devnr = tp->pdev->devfn & ~7;
drivers/net/ethernet/broadcom/tg3.c
16119
peer = pci_get_slot(tp->pdev->bus, devnr | func);
drivers/net/ethernet/broadcom/tg3.c
16120
if (peer && peer != tp->pdev)
drivers/net/ethernet/broadcom/tg3.c
16128
peer = tp->pdev;
drivers/net/ethernet/broadcom/tg3.c
16141
static void tg3_detect_asic_rev(struct tg3 *tp, u32 misc_ctrl_reg)
drivers/net/ethernet/broadcom/tg3.c
16143
tp->pci_chip_rev_id = misc_ctrl_reg >> MISC_HOST_CTRL_CHIPREV_SHIFT;
drivers/net/ethernet/broadcom/tg3.c
16144
if (tg3_asic_rev(tp) == ASIC_REV_USE_PROD_ID_REG) {
drivers/net/ethernet/broadcom/tg3.c
1615
static inline void tg3_generate_fw_event(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16150
tg3_flag_set(tp, CPMU_PRESENT);
drivers/net/ethernet/broadcom/tg3.c
16152
if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717 ||
drivers/net/ethernet/broadcom/tg3.c
16153
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717_C ||
drivers/net/ethernet/broadcom/tg3.c
16154
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5718 ||
drivers/net/ethernet/broadcom/tg3.c
16155
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5719 ||
drivers/net/ethernet/broadcom/tg3.c
16156
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5720 ||
drivers/net/ethernet/broadcom/tg3.c
16157
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57767 ||
drivers/net/ethernet/broadcom/tg3.c
16158
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57764 ||
drivers/net/ethernet/broadcom/tg3.c
16159
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5762 ||
drivers/net/ethernet/broadcom/tg3.c
16160
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5725 ||
drivers/net/ethernet/broadcom/tg3.c
16161
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727 ||
drivers/net/ethernet/broadcom/tg3.c
16162
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57787)
drivers/net/ethernet/broadcom/tg3.c
16164
else if (tp->pdev->device == TG3PCI_DEVICE_TIGON3_57781 ||
drivers/net/ethernet/broadcom/tg3.c
16165
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57785 ||
drivers/net/ethernet/broadcom/tg3.c
16166
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57761 ||
drivers/net/ethernet/broadcom/tg3.c
16167
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57765 ||
drivers/net/ethernet/broadcom/tg3.c
16168
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57791 ||
drivers/net/ethernet/broadcom/tg3.c
16169
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57795 ||
drivers/net/ethernet/broadcom/tg3.c
16170
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57762 ||
drivers/net/ethernet/broadcom/tg3.c
16171
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57766 ||
drivers/net/ethernet/broadcom/tg3.c
16172
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57782 ||
drivers/net/ethernet/broadcom/tg3.c
16173
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57786)
drivers/net/ethernet/broadcom/tg3.c
16178
pci_read_config_dword(tp->pdev, reg, &tp->pci_chip_rev_id);
drivers/net/ethernet/broadcom/tg3.c
16184
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5752_A0_HW)
drivers/net/ethernet/broadcom/tg3.c
16185
tp->pci_chip_rev_id = CHIPREV_ID_5752_A0;
drivers/net/ethernet/broadcom/tg3.c
16187
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5717_C0)
drivers/net/ethernet/broadcom/tg3.c
16188
tp->pci_chip_rev_id = CHIPREV_ID_5720_A0;
drivers/net/ethernet/broadcom/tg3.c
16190
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
16191
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
16192
tg3_asic_rev(tp) == ASIC_REV_5720)
drivers/net/ethernet/broadcom/tg3.c
16193
tg3_flag_set(tp, 5717_PLUS);
drivers/net/ethernet/broadcom/tg3.c
16195
if (tg3_asic_rev(tp) == ASIC_REV_57765 ||
drivers/net/ethernet/broadcom/tg3.c
16196
tg3_asic_rev(tp) == ASIC_REV_57766)
drivers/net/ethernet/broadcom/tg3.c
16197
tg3_flag_set(tp, 57765_CLASS);
drivers/net/ethernet/broadcom/tg3.c
16199
if (tg3_flag(tp, 57765_CLASS) || tg3_flag(tp, 5717_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
162
(sizeof(struct tg3_rx_buffer_desc) * (tp->rx_ret_ring_mask + 1))
drivers/net/ethernet/broadcom/tg3.c
16200
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
16201
tg3_flag_set(tp, 57765_PLUS);
drivers/net/ethernet/broadcom/tg3.c
16204
if (tg3_asic_rev(tp) == ASIC_REV_5755 ||
drivers/net/ethernet/broadcom/tg3.c
16205
tg3_asic_rev(tp) == ASIC_REV_5787 ||
drivers/net/ethernet/broadcom/tg3.c
16206
tg3_asic_rev(tp) == ASIC_REV_5784 ||
drivers/net/ethernet/broadcom/tg3.c
16207
tg3_asic_rev(tp) == ASIC_REV_5761 ||
drivers/net/ethernet/broadcom/tg3.c
16208
tg3_asic_rev(tp) == ASIC_REV_5785 ||
drivers/net/ethernet/broadcom/tg3.c
16209
tg3_asic_rev(tp) == ASIC_REV_57780 ||
drivers/net/ethernet/broadcom/tg3.c
16210
tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
16211
tg3_flag_set(tp, 5755_PLUS);
drivers/net/ethernet/broadcom/tg3.c
16213
if (tg3_asic_rev(tp) == ASIC_REV_5780 ||
drivers/net/ethernet/broadcom/tg3.c
16214
tg3_asic_rev(tp) == ASIC_REV_5714)
drivers/net/ethernet/broadcom/tg3.c
16215
tg3_flag_set(tp, 5780_CLASS);
drivers/net/ethernet/broadcom/tg3.c
16217
if (tg3_asic_rev(tp) == ASIC_REV_5750 ||
drivers/net/ethernet/broadcom/tg3.c
16218
tg3_asic_rev(tp) == ASIC_REV_5752 ||
drivers/net/ethernet/broadcom/tg3.c
16219
tg3_asic_rev(tp) == ASIC_REV_5906 ||
drivers/net/ethernet/broadcom/tg3.c
16220
tg3_flag(tp, 5755_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
16221
tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
16222
tg3_flag_set(tp, 5750_PLUS);
drivers/net/ethernet/broadcom/tg3.c
16224
if (tg3_asic_rev(tp) == ASIC_REV_5705 ||
drivers/net/ethernet/broadcom/tg3.c
16225
tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
16226
tg3_flag_set(tp, 5705_PLUS);
drivers/net/ethernet/broadcom/tg3.c
16229
static bool tg3_10_100_only_device(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
1623
tp->last_event_jiffies = jiffies;
drivers/net/ethernet/broadcom/tg3.c
16234
if ((tg3_asic_rev(tp) == ASIC_REV_5703 &&
drivers/net/ethernet/broadcom/tg3.c
16236
(tp->phy_flags & TG3_PHYFLG_IS_FET))
drivers/net/ethernet/broadcom/tg3.c
16240
if (tg3_asic_rev(tp) == ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
16251
static int tg3_get_invariants(struct tg3 *tp, const struct pci_device_id *ent)
drivers/net/ethernet/broadcom/tg3.c
16266
pci_read_config_word(tp->pdev, PCI_COMMAND, &pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
16268
pci_write_config_word(tp->pdev, PCI_COMMAND, pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
16275
pci_read_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL,
drivers/net/ethernet/broadcom/tg3.c
16277
tp->misc_host_ctrl |= (misc_ctrl_reg &
drivers/net/ethernet/broadcom/tg3.c
16279
pci_write_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL,
drivers/net/ethernet/broadcom/tg3.c
16280
tp->misc_host_ctrl);
drivers/net/ethernet/broadcom/tg3.c
16282
tg3_detect_asic_rev(tp, misc_ctrl_reg);
drivers/net/ethernet/broadcom/tg3.c
1629
static void tg3_wait_for_event_ack(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16301
if ((tg3_chip_rev_id(tp) == CHIPREV_ID_5703_A1) ||
drivers/net/ethernet/broadcom/tg3.c
16302
(tg3_chip_rev_id(tp) == CHIPREV_ID_5703_A2)) {
drivers/net/ethernet/broadcom/tg3.c
16334
tp->pdev->bus->number)) {
drivers/net/ethernet/broadcom/tg3.c
16335
tg3_flag_set(tp, ICH_WORKAROUND);
drivers/net/ethernet/broadcom/tg3.c
16342
if (tg3_asic_rev(tp) == ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
1636
time_remain = (long)(tp->last_event_jiffies + 1 +
drivers/net/ethernet/broadcom/tg3.c
16364
tp->pdev->bus->number) &&
drivers/net/ethernet/broadcom/tg3.c
16366
tp->pdev->bus->number)) {
drivers/net/ethernet/broadcom/tg3.c
16367
tg3_flag_set(tp, 5701_DMA_BUG);
drivers/net/ethernet/broadcom/tg3.c
16380
if (tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
16381
tg3_flag_set(tp, 40BIT_DMA_BUG);
drivers/net/ethernet/broadcom/tg3.c
16382
tp->msi_cap = tp->pdev->msi_cap;
drivers/net/ethernet/broadcom/tg3.c
16392
tp->pdev->bus->number) &&
drivers/net/ethernet/broadcom/tg3.c
16394
tp->pdev->bus->number)) {
drivers/net/ethernet/broadcom/tg3.c
16395
tg3_flag_set(tp, 40BIT_DMA_BUG);
drivers/net/ethernet/broadcom/tg3.c
16402
if (tg3_asic_rev(tp) == ASIC_REV_5704 ||
drivers/net/ethernet/broadcom/tg3.c
16403
tg3_asic_rev(tp) == ASIC_REV_5714)
drivers/net/ethernet/broadcom/tg3.c
16404
tp->pdev_peer = tg3_find_peer(tp);
drivers/net/ethernet/broadcom/tg3.c
16407
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5719_A0)
drivers/net/ethernet/broadcom/tg3.c
16409
else if (tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
16410
tg3_flag_set(tp, HW_TSO_3);
drivers/net/ethernet/broadcom/tg3.c
16411
else if (tg3_flag(tp, 5755_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
16412
tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
16413
tg3_flag_set(tp, HW_TSO_2);
drivers/net/ethernet/broadcom/tg3.c
16414
else if (tg3_flag(tp, 5750_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
16415
tg3_flag_set(tp, HW_TSO_1);
drivers/net/ethernet/broadcom/tg3.c
16416
tg3_flag_set(tp, TSO_BUG);
drivers/net/ethernet/broadcom/tg3.c
16417
if (tg3_asic_rev(tp) == ASIC_REV_5750 &&
drivers/net/ethernet/broadcom/tg3.c
16418
tg3_chip_rev_id(tp) >= CHIPREV_ID_5750_C2)
drivers/net/ethernet/broadcom/tg3.c
16419
tg3_flag_clear(tp, TSO_BUG);
drivers/net/ethernet/broadcom/tg3.c
16420
} else if (tg3_asic_rev(tp) != ASIC_REV_5700 &&
drivers/net/ethernet/broadcom/tg3.c
16421
tg3_asic_rev(tp) != ASIC_REV_5701 &&
drivers/net/ethernet/broadcom/tg3.c
16422
tg3_chip_rev_id(tp) != CHIPREV_ID_5705_A0) {
drivers/net/ethernet/broadcom/tg3.c
16423
tg3_flag_set(tp, FW_TSO);
drivers/net/ethernet/broadcom/tg3.c
16424
tg3_flag_set(tp, TSO_BUG);
drivers/net/ethernet/broadcom/tg3.c
16425
if (tg3_asic_rev(tp) == ASIC_REV_5705)
drivers/net/ethernet/broadcom/tg3.c
16426
tp->fw_needed = FIRMWARE_TG3TSO5;
drivers/net/ethernet/broadcom/tg3.c
16428
tp->fw_needed = FIRMWARE_TG3TSO;
drivers/net/ethernet/broadcom/tg3.c
16432
if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
16433
tg3_flag(tp, HW_TSO_2) ||
drivers/net/ethernet/broadcom/tg3.c
16434
tg3_flag(tp, HW_TSO_3) ||
drivers/net/ethernet/broadcom/tg3.c
16435
tg3_flag(tp, FW_TSO)) {
drivers/net/ethernet/broadcom/tg3.c
16440
tg3_flag_set(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
16442
tg3_flag_clear(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
16443
tg3_flag_clear(tp, TSO_BUG);
drivers/net/ethernet/broadcom/tg3.c
16444
tp->fw_needed = NULL;
drivers/net/ethernet/broadcom/tg3.c
16447
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0)
drivers/net/ethernet/broadcom/tg3.c
16448
tp->fw_needed = FIRMWARE_TG3;
drivers/net/ethernet/broadcom/tg3.c
16450
if (tg3_asic_rev(tp) == ASIC_REV_57766)
drivers/net/ethernet/broadcom/tg3.c
16451
tp->fw_needed = FIRMWARE_TG357766;
drivers/net/ethernet/broadcom/tg3.c
16453
tp->irq_max = 1;
drivers/net/ethernet/broadcom/tg3.c
16455
if (tg3_flag(tp, 5750_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
16456
tg3_flag_set(tp, SUPPORT_MSI);
drivers/net/ethernet/broadcom/tg3.c
16457
if (tg3_chip_rev(tp) == CHIPREV_5750_AX ||
drivers/net/ethernet/broadcom/tg3.c
16458
tg3_chip_rev(tp) == CHIPREV_5750_BX ||
drivers/net/ethernet/broadcom/tg3.c
16459
(tg3_asic_rev(tp) == ASIC_REV_5714 &&
drivers/net/ethernet/broadcom/tg3.c
16460
tg3_chip_rev_id(tp) <= CHIPREV_ID_5714_A2 &&
drivers/net/ethernet/broadcom/tg3.c
16461
tp->pdev_peer == tp->pdev))
drivers/net/ethernet/broadcom/tg3.c
16462
tg3_flag_clear(tp, SUPPORT_MSI);
drivers/net/ethernet/broadcom/tg3.c
16464
if (tg3_flag(tp, 5755_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
16465
tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
16466
tg3_flag_set(tp, 1SHOT_MSI);
drivers/net/ethernet/broadcom/tg3.c
16469
if (tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
16470
tg3_flag_set(tp, SUPPORT_MSIX);
drivers/net/ethernet/broadcom/tg3.c
16471
tp->irq_max = TG3_IRQ_MAX_VECS;
drivers/net/ethernet/broadcom/tg3.c
16475
tp->txq_max = 1;
drivers/net/ethernet/broadcom/tg3.c
16476
tp->rxq_max = 1;
drivers/net/ethernet/broadcom/tg3.c
16477
if (tp->irq_max > 1) {
drivers/net/ethernet/broadcom/tg3.c
16478
tp->rxq_max = TG3_RSS_MAX_NUM_QS;
drivers/net/ethernet/broadcom/tg3.c
16479
tg3_rss_init_dflt_indir_tbl(tp, TG3_RSS_MAX_NUM_QS);
drivers/net/ethernet/broadcom/tg3.c
16481
if (tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
16482
tg3_asic_rev(tp) == ASIC_REV_5720)
drivers/net/ethernet/broadcom/tg3.c
16483
tp->txq_max = tp->irq_max - 1;
drivers/net/ethernet/broadcom/tg3.c
16486
if (tg3_flag(tp, 5755_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
16487
tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
16488
tg3_flag_set(tp, SHORT_DMA_BUG);
drivers/net/ethernet/broadcom/tg3.c
16490
if (tg3_asic_rev(tp) == ASIC_REV_5719)
drivers/net/ethernet/broadcom/tg3.c
16491
tp->dma_limit = TG3_TX_BD_DMA_MAX_4K;
drivers/net/ethernet/broadcom/tg3.c
16493
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
16494
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
16495
tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
16496
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
16497
tg3_flag_set(tp, LRG_PROD_RING_CAP);
drivers/net/ethernet/broadcom/tg3.c
16499
if (tg3_flag(tp, 57765_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
16500
tg3_chip_rev_id(tp) != CHIPREV_ID_5719_A0)
drivers/net/ethernet/broadcom/tg3.c
16501
tg3_flag_set(tp, USE_JUMBO_BDFLAG);
drivers/net/ethernet/broadcom/tg3.c
16503
if (!tg3_flag(tp, 5705_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
16504
tg3_flag(tp, 5780_CLASS) ||
drivers/net/ethernet/broadcom/tg3.c
16505
tg3_flag(tp, USE_JUMBO_BDFLAG))
drivers/net/ethernet/broadcom/tg3.c
16506
tg3_flag_set(tp, JUMBO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
16508
pci_read_config_dword(tp->pdev, TG3PCI_PCISTATE,
drivers/net/ethernet/broadcom/tg3.c
1651
if (pci_channel_offline(tp->pdev))
drivers/net/ethernet/broadcom/tg3.c
16511
if (pci_is_pcie(tp->pdev)) {
drivers/net/ethernet/broadcom/tg3.c
16514
tg3_flag_set(tp, PCI_EXPRESS);
drivers/net/ethernet/broadcom/tg3.c
16516
pcie_capability_read_word(tp->pdev, PCI_EXP_LNKCTL, &lnkctl);
drivers/net/ethernet/broadcom/tg3.c
16518
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
16519
tg3_flag_clear(tp, HW_TSO_2);
drivers/net/ethernet/broadcom/tg3.c
16520
tg3_flag_clear(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
16522
if (tg3_asic_rev(tp) == ASIC_REV_5784 ||
drivers/net/ethernet/broadcom/tg3.c
16523
tg3_asic_rev(tp) == ASIC_REV_5761 ||
drivers/net/ethernet/broadcom/tg3.c
16524
tg3_chip_rev_id(tp) == CHIPREV_ID_57780_A0 ||
drivers/net/ethernet/broadcom/tg3.c
16525
tg3_chip_rev_id(tp) == CHIPREV_ID_57780_A1)
drivers/net/ethernet/broadcom/tg3.c
16526
tg3_flag_set(tp, CLKREQ_BUG);
drivers/net/ethernet/broadcom/tg3.c
16527
} else if (tg3_chip_rev_id(tp) == CHIPREV_ID_5717_A0) {
drivers/net/ethernet/broadcom/tg3.c
16528
tg3_flag_set(tp, L1PLLPD_EN);
drivers/net/ethernet/broadcom/tg3.c
16530
} else if (tg3_asic_rev(tp) == ASIC_REV_5785) {
drivers/net/ethernet/broadcom/tg3.c
16535
tg3_flag_set(tp, PCI_EXPRESS);
drivers/net/ethernet/broadcom/tg3.c
16536
} else if (!tg3_flag(tp, 5705_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
16537
tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
16538
tp->pcix_cap = pci_find_capability(tp->pdev, PCI_CAP_ID_PCIX);
drivers/net/ethernet/broadcom/tg3.c
16539
if (!tp->pcix_cap) {
drivers/net/ethernet/broadcom/tg3.c
16540
dev_err(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
16546
tg3_flag_set(tp, PCIX_MODE);
drivers/net/ethernet/broadcom/tg3.c
16556
!tg3_flag(tp, PCI_EXPRESS))
drivers/net/ethernet/broadcom/tg3.c
16557
tg3_flag_set(tp, MBOX_WRITE_REORDER);
drivers/net/ethernet/broadcom/tg3.c
16559
pci_read_config_byte(tp->pdev, PCI_CACHE_LINE_SIZE,
drivers/net/ethernet/broadcom/tg3.c
16560
&tp->pci_cacheline_sz);
drivers/net/ethernet/broadcom/tg3.c
16561
pci_read_config_byte(tp->pdev, PCI_LATENCY_TIMER,
drivers/net/ethernet/broadcom/tg3.c
16562
&tp->pci_lat_timer);
drivers/net/ethernet/broadcom/tg3.c
16563
if (tg3_asic_rev(tp) == ASIC_REV_5703 &&
drivers/net/ethernet/broadcom/tg3.c
16564
tp->pci_lat_timer < 64) {
drivers/net/ethernet/broadcom/tg3.c
16565
tp->pci_lat_timer = 64;
drivers/net/ethernet/broadcom/tg3.c
16566
pci_write_config_byte(tp->pdev, PCI_LATENCY_TIMER,
drivers/net/ethernet/broadcom/tg3.c
16567
tp->pci_lat_timer);
drivers/net/ethernet/broadcom/tg3.c
16573
if (tg3_chip_rev(tp) == CHIPREV_5700_BX) {
drivers/net/ethernet/broadcom/tg3.c
16577
tg3_flag_set(tp, TXD_MBOX_HWBUG);
drivers/net/ethernet/broadcom/tg3.c
16584
if (tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
16587
tg3_flag_set(tp, PCIX_TARGET_HWBUG);
drivers/net/ethernet/broadcom/tg3.c
1659
static void tg3_phy_gather_ump_data(struct tg3 *tp, u32 *data)
drivers/net/ethernet/broadcom/tg3.c
16593
pci_read_config_dword(tp->pdev,
drivers/net/ethernet/broadcom/tg3.c
16594
tp->pdev->pm_cap + PCI_PM_CTRL,
drivers/net/ethernet/broadcom/tg3.c
16598
pci_write_config_dword(tp->pdev,
drivers/net/ethernet/broadcom/tg3.c
16599
tp->pdev->pm_cap + PCI_PM_CTRL,
drivers/net/ethernet/broadcom/tg3.c
16603
pci_read_config_word(tp->pdev, PCI_COMMAND, &pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
16605
pci_write_config_word(tp->pdev, PCI_COMMAND, pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
16610
tg3_flag_set(tp, PCI_HIGH_SPEED);
drivers/net/ethernet/broadcom/tg3.c
16612
tg3_flag_set(tp, PCI_32BIT);
drivers/net/ethernet/broadcom/tg3.c
16615
if ((tg3_chip_rev_id(tp) == CHIPREV_ID_5704_A0) &&
drivers/net/ethernet/broadcom/tg3.c
16618
pci_write_config_dword(tp->pdev, TG3PCI_PCISTATE, pci_state_reg);
drivers/net/ethernet/broadcom/tg3.c
16622
tp->read32 = tg3_read32;
drivers/net/ethernet/broadcom/tg3.c
16623
tp->write32 = tg3_write32;
drivers/net/ethernet/broadcom/tg3.c
16624
tp->read32_mbox = tg3_read32;
drivers/net/ethernet/broadcom/tg3.c
16625
tp->write32_mbox = tg3_write32;
drivers/net/ethernet/broadcom/tg3.c
16626
tp->write32_tx_mbox = tg3_write32;
drivers/net/ethernet/broadcom/tg3.c
16627
tp->write32_rx_mbox = tg3_write32;
drivers/net/ethernet/broadcom/tg3.c
16630
if (tg3_flag(tp, PCIX_TARGET_HWBUG))
drivers/net/ethernet/broadcom/tg3.c
16631
tp->write32 = tg3_write_indirect_reg32;
drivers/net/ethernet/broadcom/tg3.c
16632
else if (tg3_asic_rev(tp) == ASIC_REV_5701 ||
drivers/net/ethernet/broadcom/tg3.c
16633
(tg3_flag(tp, PCI_EXPRESS) &&
drivers/net/ethernet/broadcom/tg3.c
16634
tg3_chip_rev_id(tp) == CHIPREV_ID_5750_A0)) {
drivers/net/ethernet/broadcom/tg3.c
1664
if (!tg3_readphy(tp, MII_BMCR, ®))
drivers/net/ethernet/broadcom/tg3.c
16642
tp->write32 = tg3_write_flush_reg32;
drivers/net/ethernet/broadcom/tg3.c
16645
if (tg3_flag(tp, TXD_MBOX_HWBUG) || tg3_flag(tp, MBOX_WRITE_REORDER)) {
drivers/net/ethernet/broadcom/tg3.c
16646
tp->write32_tx_mbox = tg3_write32_tx_mbox;
drivers/net/ethernet/broadcom/tg3.c
16647
if (tg3_flag(tp, MBOX_WRITE_REORDER))
drivers/net/ethernet/broadcom/tg3.c
16648
tp->write32_rx_mbox = tg3_write_flush_reg32;
drivers/net/ethernet/broadcom/tg3.c
16651
if (tg3_flag(tp, ICH_WORKAROUND)) {
drivers/net/ethernet/broadcom/tg3.c
16652
tp->read32 = tg3_read_indirect_reg32;
drivers/net/ethernet/broadcom/tg3.c
16653
tp->write32 = tg3_write_indirect_reg32;
drivers/net/ethernet/broadcom/tg3.c
16654
tp->read32_mbox = tg3_read_indirect_mbox;
drivers/net/ethernet/broadcom/tg3.c
16655
tp->write32_mbox = tg3_write_indirect_mbox;
drivers/net/ethernet/broadcom/tg3.c
16656
tp->write32_tx_mbox = tg3_write_indirect_mbox;
drivers/net/ethernet/broadcom/tg3.c
16657
tp->write32_rx_mbox = tg3_write_indirect_mbox;
drivers/net/ethernet/broadcom/tg3.c
16659
iounmap(tp->regs);
drivers/net/ethernet/broadcom/tg3.c
1666
if (!tg3_readphy(tp, MII_BMSR, ®))
drivers/net/ethernet/broadcom/tg3.c
16660
tp->regs = NULL;
drivers/net/ethernet/broadcom/tg3.c
16662
pci_read_config_word(tp->pdev, PCI_COMMAND, &pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
16664
pci_write_config_word(tp->pdev, PCI_COMMAND, pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
16666
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
16667
tp->read32_mbox = tg3_read32_mbox_5906;
drivers/net/ethernet/broadcom/tg3.c
16668
tp->write32_mbox = tg3_write32_mbox_5906;
drivers/net/ethernet/broadcom/tg3.c
16669
tp->write32_tx_mbox = tg3_write32_mbox_5906;
drivers/net/ethernet/broadcom/tg3.c
16670
tp->write32_rx_mbox = tg3_write32_mbox_5906;
drivers/net/ethernet/broadcom/tg3.c
16673
if (tp->write32 == tg3_write_indirect_reg32 ||
drivers/net/ethernet/broadcom/tg3.c
16674
(tg3_flag(tp, PCIX_MODE) &&
drivers/net/ethernet/broadcom/tg3.c
16675
(tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
16676
tg3_asic_rev(tp) == ASIC_REV_5701)))
drivers/net/ethernet/broadcom/tg3.c
16677
tg3_flag_set(tp, SRAM_USE_CONFIG);
drivers/net/ethernet/broadcom/tg3.c
16687
tp->pci_fn = PCI_FUNC(tp->pdev->devfn) & 3;
drivers/net/ethernet/broadcom/tg3.c
16688
if (tg3_asic_rev(tp) == ASIC_REV_5704 ||
drivers/net/ethernet/broadcom/tg3.c
16689
tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
16690
if (tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
16691
pci_read_config_dword(tp->pdev,
drivers/net/ethernet/broadcom/tg3.c
16692
tp->pcix_cap + PCI_X_STATUS,
drivers/net/ethernet/broadcom/tg3.c
16694
tp->pci_fn = val & 0x7;
drivers/net/ethernet/broadcom/tg3.c
16696
} else if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
16697
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
16698
tg3_asic_rev(tp) == ASIC_REV_5720) {
drivers/net/ethernet/broadcom/tg3.c
16699
tg3_read_mem(tp, NIC_SRAM_CPMU_STATUS, &val);
drivers/net/ethernet/broadcom/tg3.c
16703
if (tg3_asic_rev(tp) == ASIC_REV_5717)
drivers/net/ethernet/broadcom/tg3.c
16704
tp->pci_fn = (val & TG3_CPMU_STATUS_FMSK_5717) ? 1 : 0;
drivers/net/ethernet/broadcom/tg3.c
16706
tp->pci_fn = (val & TG3_CPMU_STATUS_FMSK_5719) >>
drivers/net/ethernet/broadcom/tg3.c
1671
if (!tg3_readphy(tp, MII_ADVERTISE, ®))
drivers/net/ethernet/broadcom/tg3.c
16710
if (tg3_flag(tp, FLUSH_POSTED_WRITES)) {
drivers/net/ethernet/broadcom/tg3.c
16711
tp->write32_tx_mbox = tg3_write_flush_reg32;
drivers/net/ethernet/broadcom/tg3.c
16712
tp->write32_rx_mbox = tg3_write_flush_reg32;
drivers/net/ethernet/broadcom/tg3.c
16723
tg3_get_eeprom_hw_cfg(tp);
drivers/net/ethernet/broadcom/tg3.c
16725
if (tg3_flag(tp, FW_TSO) && tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
16726
tg3_flag_clear(tp, TSO_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
16727
tg3_flag_clear(tp, TSO_BUG);
drivers/net/ethernet/broadcom/tg3.c
16728
tp->fw_needed = NULL;
drivers/net/ethernet/broadcom/tg3.c
1673
if (!tg3_readphy(tp, MII_LPA, ®))
drivers/net/ethernet/broadcom/tg3.c
16731
if (tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
16738
pci_write_config_dword(tp->pdev, TG3PCI_PCISTATE,
drivers/net/ethernet/broadcom/tg3.c
16741
tg3_ape_lock_init(tp);
drivers/net/ethernet/broadcom/tg3.c
16742
tp->ape_hb_interval =
drivers/net/ethernet/broadcom/tg3.c
16751
tp->grc_local_ctrl = GRC_LCLCTRL_INT_ON_ATTN | GRC_LCLCTRL_AUTO_SEEPROM;
drivers/net/ethernet/broadcom/tg3.c
16752
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
16753
tg3_flag(tp, EEPROM_WRITE_PROT))
drivers/net/ethernet/broadcom/tg3.c
16754
tp->grc_local_ctrl |= (GRC_LCLCTRL_GPIO_OE1 |
drivers/net/ethernet/broadcom/tg3.c
16759
else if (tg3_asic_rev(tp) == ASIC_REV_5752)
drivers/net/ethernet/broadcom/tg3.c
16760
tp->grc_local_ctrl |= GRC_LCLCTRL_GPIO_OE3;
drivers/net/ethernet/broadcom/tg3.c
16762
if (tg3_asic_rev(tp) == ASIC_REV_5755 ||
drivers/net/ethernet/broadcom/tg3.c
16763
tg3_asic_rev(tp) == ASIC_REV_57780 ||
drivers/net/ethernet/broadcom/tg3.c
16764
tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
16765
tp->grc_local_ctrl |= GRC_LCLCTRL_GPIO_UART_SEL;
drivers/net/ethernet/broadcom/tg3.c
16767
if (tp->pdev->device == PCI_DEVICE_ID_TIGON3_5761 ||
drivers/net/ethernet/broadcom/tg3.c
16768
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5761S) {
drivers/net/ethernet/broadcom/tg3.c
16770
tp->grc_local_ctrl |= GRC_LCLCTRL_GPIO_UART_SEL;
drivers/net/ethernet/broadcom/tg3.c
16771
if (tg3_flag(tp, IS_NIC))
drivers/net/ethernet/broadcom/tg3.c
16773
tp->grc_local_ctrl |= GRC_LCLCTRL_GPIO_OE0 |
drivers/net/ethernet/broadcom/tg3.c
16777
if (tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
16778
tp->grc_local_ctrl |=
drivers/net/ethernet/broadcom/tg3.c
1678
if (!(tp->phy_flags & TG3_PHYFLG_MII_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
16782
tg3_pwrsrc_switch_to_vmain(tp);
drivers/net/ethernet/broadcom/tg3.c
16787
if (tp->dev->mtu > ETH_DATA_LEN && !tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
16788
tg3_flag_set(tp, JUMBO_RING_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
1679
if (!tg3_readphy(tp, MII_CTRL1000, ®))
drivers/net/ethernet/broadcom/tg3.c
16791
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
16792
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0 ||
drivers/net/ethernet/broadcom/tg3.c
16793
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B0 ||
drivers/net/ethernet/broadcom/tg3.c
16794
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B2) {
drivers/net/ethernet/broadcom/tg3.c
16795
tg3_flag_clear(tp, WOL_SPEED_100MB);
drivers/net/ethernet/broadcom/tg3.c
16797
tg3_flag_set(tp, WOL_SPEED_100MB);
drivers/net/ethernet/broadcom/tg3.c
16800
if (tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
16801
tp->phy_flags |= TG3_PHYFLG_IS_FET;
drivers/net/ethernet/broadcom/tg3.c
16804
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
16805
(tg3_asic_rev(tp) == ASIC_REV_5705 &&
drivers/net/ethernet/broadcom/tg3.c
16806
(tg3_chip_rev_id(tp) != CHIPREV_ID_5705_A0) &&
drivers/net/ethernet/broadcom/tg3.c
16807
(tg3_chip_rev_id(tp) != CHIPREV_ID_5705_A1)) ||
drivers/net/ethernet/broadcom/tg3.c
16808
(tp->phy_flags & TG3_PHYFLG_IS_FET) ||
drivers/net/ethernet/broadcom/tg3.c
16809
(tp->phy_flags & TG3_PHYFLG_ANY_SERDES))
drivers/net/ethernet/broadcom/tg3.c
1681
if (!tg3_readphy(tp, MII_STAT1000, ®))
drivers/net/ethernet/broadcom/tg3.c
16810
tp->phy_flags |= TG3_PHYFLG_NO_ETH_WIRE_SPEED;
drivers/net/ethernet/broadcom/tg3.c
16812
if (tg3_chip_rev(tp) == CHIPREV_5703_AX ||
drivers/net/ethernet/broadcom/tg3.c
16813
tg3_chip_rev(tp) == CHIPREV_5704_AX)
drivers/net/ethernet/broadcom/tg3.c
16814
tp->phy_flags |= TG3_PHYFLG_ADC_BUG;
drivers/net/ethernet/broadcom/tg3.c
16815
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5704_A0)
drivers/net/ethernet/broadcom/tg3.c
16816
tp->phy_flags |= TG3_PHYFLG_5704_A0_BUG;
drivers/net/ethernet/broadcom/tg3.c
16818
if (tg3_flag(tp, 5705_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
16819
!(tp->phy_flags & TG3_PHYFLG_IS_FET) &&
drivers/net/ethernet/broadcom/tg3.c
16820
tg3_asic_rev(tp) != ASIC_REV_5785 &&
drivers/net/ethernet/broadcom/tg3.c
16821
tg3_asic_rev(tp) != ASIC_REV_57780 &&
drivers/net/ethernet/broadcom/tg3.c
16822
!tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
16823
if (tg3_asic_rev(tp) == ASIC_REV_5755 ||
drivers/net/ethernet/broadcom/tg3.c
16824
tg3_asic_rev(tp) == ASIC_REV_5787 ||
drivers/net/ethernet/broadcom/tg3.c
16825
tg3_asic_rev(tp) == ASIC_REV_5784 ||
drivers/net/ethernet/broadcom/tg3.c
16826
tg3_asic_rev(tp) == ASIC_REV_5761) {
drivers/net/ethernet/broadcom/tg3.c
16827
if (tp->pdev->device != PCI_DEVICE_ID_TIGON3_5756 &&
drivers/net/ethernet/broadcom/tg3.c
16828
tp->pdev->device != PCI_DEVICE_ID_TIGON3_5722)
drivers/net/ethernet/broadcom/tg3.c
16829
tp->phy_flags |= TG3_PHYFLG_JITTER_BUG;
drivers/net/ethernet/broadcom/tg3.c
16830
if (tp->pdev->device == PCI_DEVICE_ID_TIGON3_5755M)
drivers/net/ethernet/broadcom/tg3.c
16831
tp->phy_flags |= TG3_PHYFLG_ADJUST_TRIM;
drivers/net/ethernet/broadcom/tg3.c
16833
tp->phy_flags |= TG3_PHYFLG_BER_BUG;
drivers/net/ethernet/broadcom/tg3.c
16836
if (tg3_asic_rev(tp) == ASIC_REV_5784 &&
drivers/net/ethernet/broadcom/tg3.c
16837
tg3_chip_rev(tp) != CHIPREV_5784_AX) {
drivers/net/ethernet/broadcom/tg3.c
16838
tp->phy_otp = tg3_read_otp_phycfg(tp);
drivers/net/ethernet/broadcom/tg3.c
16839
if (tp->phy_otp == 0)
drivers/net/ethernet/broadcom/tg3.c
16840
tp->phy_otp = TG3_OTP_DEFAULT;
drivers/net/ethernet/broadcom/tg3.c
16843
if (tg3_flag(tp, CPMU_PRESENT))
drivers/net/ethernet/broadcom/tg3.c
16844
tp->mi_mode = MAC_MI_MODE_500KHZ_CONST;
drivers/net/ethernet/broadcom/tg3.c
16846
tp->mi_mode = MAC_MI_MODE_BASE;
drivers/net/ethernet/broadcom/tg3.c
16848
tp->coalesce_mode = 0;
drivers/net/ethernet/broadcom/tg3.c
16849
if (tg3_chip_rev(tp) != CHIPREV_5700_AX &&
drivers/net/ethernet/broadcom/tg3.c
16850
tg3_chip_rev(tp) != CHIPREV_5700_BX)
drivers/net/ethernet/broadcom/tg3.c
16851
tp->coalesce_mode |= HOSTCC_MODE_32BYTE;
drivers/net/ethernet/broadcom/tg3.c
16854
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
16855
tg3_asic_rev(tp) == ASIC_REV_5762 ||
drivers/net/ethernet/broadcom/tg3.c
16856
tg3_chip_rev_id(tp) == CHIPREV_ID_5719_A0 ||
drivers/net/ethernet/broadcom/tg3.c
16857
tg3_chip_rev_id(tp) == CHIPREV_ID_5720_A0) {
drivers/net/ethernet/broadcom/tg3.c
16858
tp->coalesce_mode |= HOSTCC_MODE_ATTN;
drivers/net/ethernet/broadcom/tg3.c
16859
tp->grc_mode |= GRC_MODE_IRQ_ON_FLOW_ATTN;
drivers/net/ethernet/broadcom/tg3.c
1686
if (!tg3_readphy(tp, MII_PHYADDR, ®))
drivers/net/ethernet/broadcom/tg3.c
16862
if (tg3_asic_rev(tp) == ASIC_REV_5785 ||
drivers/net/ethernet/broadcom/tg3.c
16863
tg3_asic_rev(tp) == ASIC_REV_57780)
drivers/net/ethernet/broadcom/tg3.c
16864
tg3_flag_set(tp, USE_PHYLIB);
drivers/net/ethernet/broadcom/tg3.c
16866
err = tg3_mdio_init(tp);
drivers/net/ethernet/broadcom/tg3.c
16872
if (tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
16873
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
16882
tw32(GRC_MODE, val | tp->grc_mode);
drivers/net/ethernet/broadcom/tg3.c
16884
tg3_switch_clocks(tp);
drivers/net/ethernet/broadcom/tg3.c
16892
pci_read_config_dword(tp->pdev, TG3PCI_PCISTATE,
drivers/net/ethernet/broadcom/tg3.c
16895
!tg3_flag(tp, PCIX_TARGET_HWBUG)) {
drivers/net/ethernet/broadcom/tg3.c
16896
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0 ||
drivers/net/ethernet/broadcom/tg3.c
16897
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B0 ||
drivers/net/ethernet/broadcom/tg3.c
16898
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B2 ||
drivers/net/ethernet/broadcom/tg3.c
16899
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B5) {
drivers/net/ethernet/broadcom/tg3.c
16906
sram_base = tp->regs + NIC_SRAM_WIN_BASE + NIC_SRAM_STATS_BLK;
drivers/net/ethernet/broadcom/tg3.c
16912
tg3_flag_set(tp, PCIX_TARGET_HWBUG);
drivers/net/ethernet/broadcom/tg3.c
16917
tg3_nvram_init(tp);
drivers/net/ethernet/broadcom/tg3.c
16920
if (tg3_asic_rev(tp) == ASIC_REV_57766 &&
drivers/net/ethernet/broadcom/tg3.c
16921
!tg3_flag(tp, NO_NVRAM))
drivers/net/ethernet/broadcom/tg3.c
16922
tp->fw_needed = NULL;
drivers/net/ethernet/broadcom/tg3.c
16927
if (tg3_asic_rev(tp) == ASIC_REV_5705 &&
drivers/net/ethernet/broadcom/tg3.c
16930
tg3_flag_set(tp, IS_5788);
drivers/net/ethernet/broadcom/tg3.c
16932
if (!tg3_flag(tp, IS_5788) &&
drivers/net/ethernet/broadcom/tg3.c
16933
tg3_asic_rev(tp) != ASIC_REV_5700)
drivers/net/ethernet/broadcom/tg3.c
16934
tg3_flag_set(tp, TAGGED_STATUS);
drivers/net/ethernet/broadcom/tg3.c
16935
if (tg3_flag(tp, TAGGED_STATUS)) {
drivers/net/ethernet/broadcom/tg3.c
16936
tp->coalesce_mode |= (HOSTCC_MODE_CLRTICK_RXBD |
drivers/net/ethernet/broadcom/tg3.c
16939
tp->misc_host_ctrl |= MISC_HOST_CTRL_TAGGED_STATUS;
drivers/net/ethernet/broadcom/tg3.c
1694
static void tg3_ump_link_report(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
16940
pci_write_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL,
drivers/net/ethernet/broadcom/tg3.c
16941
tp->misc_host_ctrl);
drivers/net/ethernet/broadcom/tg3.c
16945
if (tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
16946
tp->mac_mode = MAC_MODE_APE_TX_EN | MAC_MODE_APE_RX_EN;
drivers/net/ethernet/broadcom/tg3.c
16948
tp->mac_mode = 0;
drivers/net/ethernet/broadcom/tg3.c
16950
if (tg3_10_100_only_device(tp, ent))
drivers/net/ethernet/broadcom/tg3.c
16951
tp->phy_flags |= TG3_PHYFLG_10_100_ONLY;
drivers/net/ethernet/broadcom/tg3.c
16953
err = tg3_phy_probe(tp);
drivers/net/ethernet/broadcom/tg3.c
16955
dev_err(&tp->pdev->dev, "phy probe failed, err %d\n", err);
drivers/net/ethernet/broadcom/tg3.c
16957
tg3_mdio_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
16960
tg3_read_vpd(tp);
drivers/net/ethernet/broadcom/tg3.c
16961
tg3_read_fw_ver(tp);
drivers/net/ethernet/broadcom/tg3.c
16963
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
16964
tp->phy_flags &= ~TG3_PHYFLG_USE_MI_INTERRUPT;
drivers/net/ethernet/broadcom/tg3.c
16966
if (tg3_asic_rev(tp) == ASIC_REV_5700)
drivers/net/ethernet/broadcom/tg3.c
16967
tp->phy_flags |= TG3_PHYFLG_USE_MI_INTERRUPT;
drivers/net/ethernet/broadcom/tg3.c
16969
tp->phy_flags &= ~TG3_PHYFLG_USE_MI_INTERRUPT;
drivers/net/ethernet/broadcom/tg3.c
16976
if (tg3_asic_rev(tp) == ASIC_REV_5700)
drivers/net/ethernet/broadcom/tg3.c
16977
tg3_flag_set(tp, USE_LINKCHG_REG);
drivers/net/ethernet/broadcom/tg3.c
16979
tg3_flag_clear(tp, USE_LINKCHG_REG);
drivers/net/ethernet/broadcom/tg3.c
1698
if (!tg3_flag(tp, 5780_CLASS) || !tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
16985
if (tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
drivers/net/ethernet/broadcom/tg3.c
16986
tg3_asic_rev(tp) == ASIC_REV_5701 &&
drivers/net/ethernet/broadcom/tg3.c
16987
!(tp->phy_flags & TG3_PHYFLG_PHY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
16988
tp->phy_flags |= TG3_PHYFLG_USE_MI_INTERRUPT;
drivers/net/ethernet/broadcom/tg3.c
16989
tg3_flag_set(tp, USE_LINKCHG_REG);
drivers/net/ethernet/broadcom/tg3.c
16993
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
16994
tg3_flag_set(tp, POLL_SERDES);
drivers/net/ethernet/broadcom/tg3.c
16996
tg3_flag_clear(tp, POLL_SERDES);
drivers/net/ethernet/broadcom/tg3.c
16998
if (tg3_flag(tp, ENABLE_APE) && tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
16999
tg3_flag_set(tp, POLL_CPMU_LINK);
drivers/net/ethernet/broadcom/tg3.c
17001
tp->rx_offset = NET_SKB_PAD + NET_IP_ALIGN;
drivers/net/ethernet/broadcom/tg3.c
17002
tp->rx_copy_thresh = TG3_RX_COPY_THRESHOLD;
drivers/net/ethernet/broadcom/tg3.c
17003
if (tg3_asic_rev(tp) == ASIC_REV_5701 &&
drivers/net/ethernet/broadcom/tg3.c
17004
tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
17005
tp->rx_offset = NET_SKB_PAD;
drivers/net/ethernet/broadcom/tg3.c
17007
tp->rx_copy_thresh = ~(u16)0;
drivers/net/ethernet/broadcom/tg3.c
1701
tg3_phy_gather_ump_data(tp, data);
drivers/net/ethernet/broadcom/tg3.c
17011
tp->rx_std_ring_mask = TG3_RX_STD_RING_SIZE(tp) - 1;
drivers/net/ethernet/broadcom/tg3.c
17012
tp->rx_jmb_ring_mask = TG3_RX_JMB_RING_SIZE(tp) - 1;
drivers/net/ethernet/broadcom/tg3.c
17013
tp->rx_ret_ring_mask = tg3_rx_ret_ring_size(tp) - 1;
drivers/net/ethernet/broadcom/tg3.c
17015
tp->rx_std_max_post = tp->rx_std_ring_mask + 1;
drivers/net/ethernet/broadcom/tg3.c
17020
if (tg3_asic_rev(tp) == ASIC_REV_5750 ||
drivers/net/ethernet/broadcom/tg3.c
17021
tg3_asic_rev(tp) == ASIC_REV_5752 ||
drivers/net/ethernet/broadcom/tg3.c
17022
tg3_asic_rev(tp) == ASIC_REV_5755)
drivers/net/ethernet/broadcom/tg3.c
17023
tp->rx_std_max_post = 8;
drivers/net/ethernet/broadcom/tg3.c
17025
if (tg3_flag(tp, ASPM_WORKAROUND))
drivers/net/ethernet/broadcom/tg3.c
17026
tp->pwrmgmt_thresh = tr32(PCIE_PWR_MGMT_THRESH) &
drivers/net/ethernet/broadcom/tg3.c
1703
tg3_wait_for_event_ack(tp);
drivers/net/ethernet/broadcom/tg3.c
17039
static int tg3_get_device_address(struct tg3 *tp, u8 *addr)
drivers/net/ethernet/broadcom/tg3.c
17045
if (!eth_platform_get_mac_address(&tp->pdev->dev, addr))
drivers/net/ethernet/broadcom/tg3.c
17048
if (tg3_flag(tp, IS_SSB_CORE)) {
drivers/net/ethernet/broadcom/tg3.c
17049
err = ssb_gige_get_macaddr(tp->pdev, addr);
drivers/net/ethernet/broadcom/tg3.c
1705
tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_LINK_UPDATE);
drivers/net/ethernet/broadcom/tg3.c
17055
if (tg3_asic_rev(tp) == ASIC_REV_5704 ||
drivers/net/ethernet/broadcom/tg3.c
17056
tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
17059
if (tg3_nvram_lock(tp))
drivers/net/ethernet/broadcom/tg3.c
1706
tg3_write_mem(tp, NIC_SRAM_FW_CMD_LEN_MBOX, 14);
drivers/net/ethernet/broadcom/tg3.c
17062
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
17063
} else if (tg3_flag(tp, 5717_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
17064
if (tp->pci_fn & 1)
drivers/net/ethernet/broadcom/tg3.c
17066
if (tp->pci_fn > 1)
drivers/net/ethernet/broadcom/tg3.c
17068
} else if (tg3_asic_rev(tp) == ASIC_REV_5906)
drivers/net/ethernet/broadcom/tg3.c
1707
tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX + 0x0, data[0]);
drivers/net/ethernet/broadcom/tg3.c
17072
tg3_read_mem(tp, NIC_SRAM_MAC_ADDR_HIGH_MBOX, &hi);
drivers/net/ethernet/broadcom/tg3.c
17077
tg3_read_mem(tp, NIC_SRAM_MAC_ADDR_LOW_MBOX, &lo);
drivers/net/ethernet/broadcom/tg3.c
1708
tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX + 0x4, data[1]);
drivers/net/ethernet/broadcom/tg3.c
1709
tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX + 0x8, data[2]);
drivers/net/ethernet/broadcom/tg3.c
17090
if (!tg3_flag(tp, NO_NVRAM) &&
drivers/net/ethernet/broadcom/tg3.c
17091
!tg3_nvram_read_be32(tp, mac_offset + 0, &be_hi) &&
drivers/net/ethernet/broadcom/tg3.c
17092
!tg3_nvram_read_be32(tp, mac_offset + 4, &be_lo)) {
drivers/net/ethernet/broadcom/tg3.c
1710
tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX + 0xc, data[3]);
drivers/net/ethernet/broadcom/tg3.c
17114
return device_get_mac_address(&tp->pdev->dev, addr);
drivers/net/ethernet/broadcom/tg3.c
1712
tg3_generate_fw_event(tp);
drivers/net/ethernet/broadcom/tg3.c
17122
static u32 tg3_calc_dma_bndry(struct tg3 *tp, u32 val)
drivers/net/ethernet/broadcom/tg3.c
17128
pci_read_config_byte(tp->pdev, PCI_CACHE_LINE_SIZE, &byte);
drivers/net/ethernet/broadcom/tg3.c
17137
if (tg3_asic_rev(tp) != ASIC_REV_5700 &&
drivers/net/ethernet/broadcom/tg3.c
17138
tg3_asic_rev(tp) != ASIC_REV_5701 &&
drivers/net/ethernet/broadcom/tg3.c
17139
!tg3_flag(tp, PCI_EXPRESS))
drivers/net/ethernet/broadcom/tg3.c
17152
if (tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
1716
static void tg3_stop_fw(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
17171
if (tg3_flag(tp, PCIX_MODE) && !tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
1718
if (tg3_flag(tp, ENABLE_ASF) && !tg3_flag(tp, ENABLE_APE)) {
drivers/net/ethernet/broadcom/tg3.c
17196
} else if (tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
1720
tg3_wait_for_event_ack(tp);
drivers/net/ethernet/broadcom/tg3.c
1722
tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_PAUSE_FW);
drivers/net/ethernet/broadcom/tg3.c
1724
tg3_generate_fw_event(tp);
drivers/net/ethernet/broadcom/tg3.c
17263
static int tg3_do_test_dma(struct tg3 *tp, u32 *buf, dma_addr_t buf_dma,
drivers/net/ethernet/broadcom/tg3.c
1727
tg3_wait_for_event_ack(tp);
drivers/net/ethernet/broadcom/tg3.c
17314
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_BASE_ADDR,
drivers/net/ethernet/broadcom/tg3.c
17316
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_DATA, val);
drivers/net/ethernet/broadcom/tg3.c
17318
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_BASE_ADDR, 0);
drivers/net/ethernet/broadcom/tg3.c
1732
static void tg3_write_sig_pre_reset(struct tg3 *tp, int kind)
drivers/net/ethernet/broadcom/tg3.c
1734
tg3_write_mem(tp, NIC_SRAM_FIRMWARE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17351
static int tg3_test_dma(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
17357
buf = dma_alloc_coherent(&tp->pdev->dev, TEST_BUFFER_SIZE,
drivers/net/ethernet/broadcom/tg3.c
17364
tp->dma_rwctrl = ((0x7 << DMA_RWCTRL_PCI_WRITE_CMD_SHIFT) |
drivers/net/ethernet/broadcom/tg3.c
17367
tp->dma_rwctrl = tg3_calc_dma_bndry(tp, tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
17369
if (tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
1737
if (tg3_flag(tp, ASF_NEW_HANDSHAKE)) {
drivers/net/ethernet/broadcom/tg3.c
17372
if (tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
17374
tp->dma_rwctrl |= 0x00180000;
drivers/net/ethernet/broadcom/tg3.c
17375
} else if (!tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
17376
if (tg3_asic_rev(tp) == ASIC_REV_5705 ||
drivers/net/ethernet/broadcom/tg3.c
17377
tg3_asic_rev(tp) == ASIC_REV_5750)
drivers/net/ethernet/broadcom/tg3.c
17378
tp->dma_rwctrl |= 0x003f0000;
drivers/net/ethernet/broadcom/tg3.c
17380
tp->dma_rwctrl |= 0x003f000f;
drivers/net/ethernet/broadcom/tg3.c
17382
if (tg3_asic_rev(tp) == ASIC_REV_5703 ||
drivers/net/ethernet/broadcom/tg3.c
17383
tg3_asic_rev(tp) == ASIC_REV_5704) {
drivers/net/ethernet/broadcom/tg3.c
17391
if (tg3_flag(tp, 40BIT_DMA_BUG) &&
drivers/net/ethernet/broadcom/tg3.c
17392
tg3_asic_rev(tp) == ASIC_REV_5704)
drivers/net/ethernet/broadcom/tg3.c
17393
tp->dma_rwctrl |= 0x8000;
drivers/net/ethernet/broadcom/tg3.c
17395
tp->dma_rwctrl |= DMA_RWCTRL_ONE_DMA;
drivers/net/ethernet/broadcom/tg3.c
17397
if (tg3_asic_rev(tp) == ASIC_REV_5703)
drivers/net/ethernet/broadcom/tg3.c
1740
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17400
tp->dma_rwctrl |=
drivers/net/ethernet/broadcom/tg3.c
17404
} else if (tg3_asic_rev(tp) == ASIC_REV_5780) {
drivers/net/ethernet/broadcom/tg3.c
17406
tp->dma_rwctrl |= 0x00144000;
drivers/net/ethernet/broadcom/tg3.c
17407
} else if (tg3_asic_rev(tp) == ASIC_REV_5714) {
drivers/net/ethernet/broadcom/tg3.c
17409
tp->dma_rwctrl |= 0x00148000;
drivers/net/ethernet/broadcom/tg3.c
17411
tp->dma_rwctrl |= 0x001b000f;
drivers/net/ethernet/broadcom/tg3.c
17414
if (tg3_flag(tp, ONE_DMA_AT_ONCE))
drivers/net/ethernet/broadcom/tg3.c
17415
tp->dma_rwctrl |= DMA_RWCTRL_ONE_DMA;
drivers/net/ethernet/broadcom/tg3.c
17417
if (tg3_asic_rev(tp) == ASIC_REV_5703 ||
drivers/net/ethernet/broadcom/tg3.c
17418
tg3_asic_rev(tp) == ASIC_REV_5704)
drivers/net/ethernet/broadcom/tg3.c
17419
tp->dma_rwctrl &= 0xfffffff0;
drivers/net/ethernet/broadcom/tg3.c
17421
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
17422
tg3_asic_rev(tp) == ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
17424
tp->dma_rwctrl |= DMA_RWCTRL_USE_MEM_READ_MULT;
drivers/net/ethernet/broadcom/tg3.c
17436
tp->dma_rwctrl |= DMA_RWCTRL_ASSERT_ALL_BE;
drivers/net/ethernet/broadcom/tg3.c
17439
tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
17442
if (tg3_asic_rev(tp) != ASIC_REV_5700 &&
drivers/net/ethernet/broadcom/tg3.c
17443
tg3_asic_rev(tp) != ASIC_REV_5701)
drivers/net/ethernet/broadcom/tg3.c
17449
saved_dma_rwctrl = tp->dma_rwctrl;
drivers/net/ethernet/broadcom/tg3.c
1745
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17450
tp->dma_rwctrl &= ~DMA_RWCTRL_WRITE_BNDRY_MASK;
drivers/net/ethernet/broadcom/tg3.c
17451
tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
17460
ret = tg3_do_test_dma(tp, buf, buf_dma, TEST_BUFFER_SIZE, true);
drivers/net/ethernet/broadcom/tg3.c
17462
dev_err(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
17469
ret = tg3_do_test_dma(tp, buf, buf_dma, TEST_BUFFER_SIZE, false);
drivers/net/ethernet/broadcom/tg3.c
17471
dev_err(&tp->pdev->dev, "%s: Buffer read failed. "
drivers/net/ethernet/broadcom/tg3.c
17481
if ((tp->dma_rwctrl & DMA_RWCTRL_WRITE_BNDRY_MASK) !=
drivers/net/ethernet/broadcom/tg3.c
17483
tp->dma_rwctrl &= ~DMA_RWCTRL_WRITE_BNDRY_MASK;
drivers/net/ethernet/broadcom/tg3.c
17484
tp->dma_rwctrl |= DMA_RWCTRL_WRITE_BNDRY_16;
drivers/net/ethernet/broadcom/tg3.c
17485
tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
17488
dev_err(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
1750
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17502
if ((tp->dma_rwctrl & DMA_RWCTRL_WRITE_BNDRY_MASK) !=
drivers/net/ethernet/broadcom/tg3.c
17509
tp->dma_rwctrl &= ~DMA_RWCTRL_WRITE_BNDRY_MASK;
drivers/net/ethernet/broadcom/tg3.c
17510
tp->dma_rwctrl |= DMA_RWCTRL_WRITE_BNDRY_16;
drivers/net/ethernet/broadcom/tg3.c
17513
tp->dma_rwctrl = saved_dma_rwctrl;
drivers/net/ethernet/broadcom/tg3.c
17516
tw32(TG3PCI_DMA_RW_CTRL, tp->dma_rwctrl);
drivers/net/ethernet/broadcom/tg3.c
17520
dma_free_coherent(&tp->pdev->dev, TEST_BUFFER_SIZE, buf, buf_dma);
drivers/net/ethernet/broadcom/tg3.c
17525
static void tg3_init_bufmgr_config(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
17527
if (tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
17528
tp->bufmgr_config.mbuf_read_dma_low_water =
drivers/net/ethernet/broadcom/tg3.c
17530
tp->bufmgr_config.mbuf_mac_rx_low_water =
drivers/net/ethernet/broadcom/tg3.c
17532
tp->bufmgr_config.mbuf_high_water =
drivers/net/ethernet/broadcom/tg3.c
17535
tp->bufmgr_config.mbuf_read_dma_low_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17537
tp->bufmgr_config.mbuf_mac_rx_low_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17539
tp->bufmgr_config.mbuf_high_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17541
} else if (tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
17542
tp->bufmgr_config.mbuf_read_dma_low_water =
drivers/net/ethernet/broadcom/tg3.c
17544
tp->bufmgr_config.mbuf_mac_rx_low_water =
drivers/net/ethernet/broadcom/tg3.c
17546
tp->bufmgr_config.mbuf_high_water =
drivers/net/ethernet/broadcom/tg3.c
17548
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
17549
tp->bufmgr_config.mbuf_mac_rx_low_water =
drivers/net/ethernet/broadcom/tg3.c
17551
tp->bufmgr_config.mbuf_high_water =
drivers/net/ethernet/broadcom/tg3.c
17555
tp->bufmgr_config.mbuf_read_dma_low_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17557
tp->bufmgr_config.mbuf_mac_rx_low_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17559
tp->bufmgr_config.mbuf_high_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17562
tp->bufmgr_config.mbuf_read_dma_low_water =
drivers/net/ethernet/broadcom/tg3.c
17564
tp->bufmgr_config.mbuf_mac_rx_low_water =
drivers/net/ethernet/broadcom/tg3.c
17566
tp->bufmgr_config.mbuf_high_water =
drivers/net/ethernet/broadcom/tg3.c
17569
tp->bufmgr_config.mbuf_read_dma_low_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17571
tp->bufmgr_config.mbuf_mac_rx_low_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17573
tp->bufmgr_config.mbuf_high_water_jumbo =
drivers/net/ethernet/broadcom/tg3.c
17577
tp->bufmgr_config.dma_low_water = DEFAULT_DMA_LOW_WATER;
drivers/net/ethernet/broadcom/tg3.c
17578
tp->bufmgr_config.dma_high_water = DEFAULT_DMA_HIGH_WATER;
drivers/net/ethernet/broadcom/tg3.c
17581
static char *tg3_phy_string(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
17583
switch (tp->phy_id & TG3_PHY_ID_MASK) {
drivers/net/ethernet/broadcom/tg3.c
1761
static void tg3_write_sig_post_reset(struct tg3 *tp, int kind)
drivers/net/ethernet/broadcom/tg3.c
17613
static char *tg3_bus_string(struct tg3 *tp, char *str)
drivers/net/ethernet/broadcom/tg3.c
17615
if (tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
17618
} else if (tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
1763
if (tg3_flag(tp, ASF_NEW_HANDSHAKE)) {
drivers/net/ethernet/broadcom/tg3.c
17637
if (tg3_flag(tp, PCI_HIGH_SPEED))
drivers/net/ethernet/broadcom/tg3.c
17642
if (tg3_flag(tp, PCI_32BIT))
drivers/net/ethernet/broadcom/tg3.c
17649
static void tg3_init_coal(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
17651
struct ethtool_coalesce *ec = &tp->coal;
drivers/net/ethernet/broadcom/tg3.c
1766
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17665
if (tp->coalesce_mode & (HOSTCC_MODE_CLRTICK_RXBD |
drivers/net/ethernet/broadcom/tg3.c
17673
if (tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
17684
struct tg3 *tp;
drivers/net/ethernet/broadcom/tg3.c
177
#define TG3_RX_STD_BUFF_RING_SIZE(tp) \
drivers/net/ethernet/broadcom/tg3.c
17706
dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS);
drivers/net/ethernet/broadcom/tg3.c
1771
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17714
tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
17715
tp->pdev = pdev;
drivers/net/ethernet/broadcom/tg3.c
17716
tp->dev = dev;
drivers/net/ethernet/broadcom/tg3.c
17717
tp->rx_mode = TG3_DEF_RX_MODE;
drivers/net/ethernet/broadcom/tg3.c
17718
tp->tx_mode = TG3_DEF_TX_MODE;
drivers/net/ethernet/broadcom/tg3.c
17719
tp->irq_sync = 1;
drivers/net/ethernet/broadcom/tg3.c
17720
tp->pcierr_recovery = false;
drivers/net/ethernet/broadcom/tg3.c
17723
tp->msg_enable = tg3_debug;
drivers/net/ethernet/broadcom/tg3.c
17725
tp->msg_enable = TG3_DEF_MSG_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
17728
tg3_flag_set(tp, IS_SSB_CORE);
drivers/net/ethernet/broadcom/tg3.c
17730
tg3_flag_set(tp, FLUSH_POSTED_WRITES);
drivers/net/ethernet/broadcom/tg3.c
17732
tg3_flag_set(tp, ONE_DMA_AT_ONCE);
drivers/net/ethernet/broadcom/tg3.c
17734
tg3_flag_set(tp, USE_PHYLIB);
drivers/net/ethernet/broadcom/tg3.c
17735
tg3_flag_set(tp, ROBOSWITCH);
drivers/net/ethernet/broadcom/tg3.c
17738
tg3_flag_set(tp, RGMII_MODE);
drivers/net/ethernet/broadcom/tg3.c
17745
tp->misc_host_ctrl =
drivers/net/ethernet/broadcom/tg3.c
17757
tp->grc_mode = (GRC_MODE_WSWAP_DATA | GRC_MODE_BSWAP_DATA |
drivers/net/ethernet/broadcom/tg3.c
17760
tp->grc_mode |= GRC_MODE_BSWAP_NONFRM_DATA;
drivers/net/ethernet/broadcom/tg3.c
17762
spin_lock_init(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
17763
spin_lock_init(&tp->indirect_lock);
drivers/net/ethernet/broadcom/tg3.c
17764
INIT_WORK(&tp->reset_task, tg3_reset_task);
drivers/net/ethernet/broadcom/tg3.c
17766
tp->regs = pci_ioremap_bar(pdev, BAR_0);
drivers/net/ethernet/broadcom/tg3.c
17767
if (!tp->regs) {
drivers/net/ethernet/broadcom/tg3.c
17773
if (tp->pdev->device == PCI_DEVICE_ID_TIGON3_5761 ||
drivers/net/ethernet/broadcom/tg3.c
17774
tp->pdev->device == PCI_DEVICE_ID_TIGON3_5761E ||
drivers/net/ethernet/broadcom/tg3.c
17775
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5761S ||
drivers/net/ethernet/broadcom/tg3.c
17776
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5761SE ||
drivers/net/ethernet/broadcom/tg3.c
17777
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717 ||
drivers/net/ethernet/broadcom/tg3.c
17778
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717_C ||
drivers/net/ethernet/broadcom/tg3.c
17779
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5718 ||
drivers/net/ethernet/broadcom/tg3.c
17780
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5719 ||
drivers/net/ethernet/broadcom/tg3.c
17781
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5720 ||
drivers/net/ethernet/broadcom/tg3.c
17782
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57767 ||
drivers/net/ethernet/broadcom/tg3.c
17783
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57764 ||
drivers/net/ethernet/broadcom/tg3.c
17784
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5762 ||
drivers/net/ethernet/broadcom/tg3.c
17785
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5725 ||
drivers/net/ethernet/broadcom/tg3.c
17786
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727 ||
drivers/net/ethernet/broadcom/tg3.c
17787
tp->pdev->device == TG3PCI_DEVICE_TIGON3_57787) {
drivers/net/ethernet/broadcom/tg3.c
17788
tg3_flag_set(tp, ENABLE_APE);
drivers/net/ethernet/broadcom/tg3.c
17789
tp->aperegs = pci_ioremap_bar(pdev, BAR_2);
drivers/net/ethernet/broadcom/tg3.c
17790
if (!tp->aperegs) {
drivers/net/ethernet/broadcom/tg3.c
17798
tp->rx_pending = TG3_DEF_RX_RING_PENDING;
drivers/net/ethernet/broadcom/tg3.c
17799
tp->rx_jumbo_pending = TG3_DEF_RX_JUMBO_RING_PENDING;
drivers/net/ethernet/broadcom/tg3.c
178
(sizeof(struct ring_info) * TG3_RX_STD_RING_SIZE(tp))
drivers/net/ethernet/broadcom/tg3.c
17806
err = tg3_get_invariants(tp, ent);
drivers/net/ethernet/broadcom/tg3.c
17819
if (tg3_flag(tp, IS_5788))
drivers/net/ethernet/broadcom/tg3.c
1782
static void tg3_write_sig_legacy(struct tg3 *tp, int kind)
drivers/net/ethernet/broadcom/tg3.c
17821
else if (tg3_flag(tp, 40BIT_DMA_BUG)) {
drivers/net/ethernet/broadcom/tg3.c
17829
if (tg3_asic_rev(tp) == ASIC_REV_57766)
drivers/net/ethernet/broadcom/tg3.c
1784
if (tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
17855
tg3_init_bufmgr_config(tp);
drivers/net/ethernet/broadcom/tg3.c
17860
if (tg3_chip_rev_id(tp) != CHIPREV_ID_5700_B0) {
drivers/net/ethernet/broadcom/tg3.c
17863
if (tg3_flag(tp, 5755_PLUS))
drivers/net/ethernet/broadcom/tg3.c
1787
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17871
if ((tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
17872
tg3_flag(tp, HW_TSO_2) ||
drivers/net/ethernet/broadcom/tg3.c
17873
tg3_flag(tp, HW_TSO_3)) &&
drivers/net/ethernet/broadcom/tg3.c
17876
if (tg3_flag(tp, HW_TSO_2) || tg3_flag(tp, HW_TSO_3)) {
drivers/net/ethernet/broadcom/tg3.c
17879
if (tg3_flag(tp, HW_TSO_3) ||
drivers/net/ethernet/broadcom/tg3.c
17880
tg3_asic_rev(tp) == ASIC_REV_5761 ||
drivers/net/ethernet/broadcom/tg3.c
17881
(tg3_asic_rev(tp) == ASIC_REV_5784 &&
drivers/net/ethernet/broadcom/tg3.c
17882
tg3_chip_rev(tp) != CHIPREV_5784_AX) ||
drivers/net/ethernet/broadcom/tg3.c
17883
tg3_asic_rev(tp) == ASIC_REV_5785 ||
drivers/net/ethernet/broadcom/tg3.c
17884
tg3_asic_rev(tp) == ASIC_REV_57780)
drivers/net/ethernet/broadcom/tg3.c
17897
if (tg3_asic_rev(tp) != ASIC_REV_5780 &&
drivers/net/ethernet/broadcom/tg3.c
17898
!tg3_flag(tp, CPMU_PRESENT))
drivers/net/ethernet/broadcom/tg3.c
17907
dev->max_mtu = TG3_MAX_MTU(tp);
drivers/net/ethernet/broadcom/tg3.c
17909
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5705_A1 &&
drivers/net/ethernet/broadcom/tg3.c
17910
!tg3_flag(tp, TSO_CAPABLE) &&
drivers/net/ethernet/broadcom/tg3.c
17912
tg3_flag_set(tp, MAX_RXPEND_64);
drivers/net/ethernet/broadcom/tg3.c
17913
tp->rx_pending = 63;
drivers/net/ethernet/broadcom/tg3.c
17916
err = tg3_get_device_address(tp, addr);
drivers/net/ethernet/broadcom/tg3.c
1792
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17927
for (i = 0; i < tp->irq_max; i++) {
drivers/net/ethernet/broadcom/tg3.c
17928
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
17930
tnapi->tp = tp;
drivers/net/ethernet/broadcom/tg3.c
17944
if (!tg3_flag(tp, SUPPORT_MSIX))
drivers/net/ethernet/broadcom/tg3.c
1797
tg3_write_mem(tp, NIC_SRAM_FW_DRV_STATE_MBOX,
drivers/net/ethernet/broadcom/tg3.c
17972
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
17974
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
17975
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
17978
err = tg3_test_dma(tp);
drivers/net/ethernet/broadcom/tg3.c
17984
tg3_init_coal(tp);
drivers/net/ethernet/broadcom/tg3.c
17988
if (tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
17989
tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
17990
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
17991
tg3_flag_set(tp, PTP_CAPABLE);
drivers/net/ethernet/broadcom/tg3.c
17993
tg3_timer_init(tp);
drivers/net/ethernet/broadcom/tg3.c
17995
tg3_carrier_off(tp);
drivers/net/ethernet/broadcom/tg3.c
180
#define TG3_RX_JMB_BUFF_RING_SIZE(tp) \
drivers/net/ethernet/broadcom/tg3.c
18003
if (tg3_flag(tp, PTP_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
18004
tg3_ptp_init(tp);
drivers/net/ethernet/broadcom/tg3.c
18005
tp->ptp_clock = ptp_clock_register(&tp->ptp_info,
drivers/net/ethernet/broadcom/tg3.c
18006
&tp->pdev->dev);
drivers/net/ethernet/broadcom/tg3.c
18007
if (IS_ERR(tp->ptp_clock))
drivers/net/ethernet/broadcom/tg3.c
18008
tp->ptp_clock = NULL;
drivers/net/ethernet/broadcom/tg3.c
18012
tp->board_part_number,
drivers/net/ethernet/broadcom/tg3.c
18013
tg3_chip_rev_id(tp),
drivers/net/ethernet/broadcom/tg3.c
18014
tg3_bus_string(tp, str),
drivers/net/ethernet/broadcom/tg3.c
18017
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED)) {
drivers/net/ethernet/broadcom/tg3.c
18020
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
drivers/net/ethernet/broadcom/tg3.c
18022
else if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
18029
tg3_phy_string(tp), ethtype,
drivers/net/ethernet/broadcom/tg3.c
18030
(tp->phy_flags & TG3_PHYFLG_NO_ETH_WIRE_SPEED) == 0,
drivers/net/ethernet/broadcom/tg3.c
18031
(tp->phy_flags & TG3_PHYFLG_EEE_CAP) != 0);
drivers/net/ethernet/broadcom/tg3.c
18036
tg3_flag(tp, USE_LINKCHG_REG) != 0,
drivers/net/ethernet/broadcom/tg3.c
18037
(tp->phy_flags & TG3_PHYFLG_USE_MI_INTERRUPT) != 0,
drivers/net/ethernet/broadcom/tg3.c
18038
tg3_flag(tp, ENABLE_ASF) != 0,
drivers/net/ethernet/broadcom/tg3.c
18039
tg3_flag(tp, TSO_CAPABLE) != 0);
drivers/net/ethernet/broadcom/tg3.c
18041
tp->dma_rwctrl,
drivers/net/ethernet/broadcom/tg3.c
18050
if (tp->aperegs) {
drivers/net/ethernet/broadcom/tg3.c
18051
iounmap(tp->aperegs);
drivers/net/ethernet/broadcom/tg3.c
18052
tp->aperegs = NULL;
drivers/net/ethernet/broadcom/tg3.c
18056
if (tp->regs) {
drivers/net/ethernet/broadcom/tg3.c
18057
iounmap(tp->regs);
drivers/net/ethernet/broadcom/tg3.c
18058
tp->regs = NULL;
drivers/net/ethernet/broadcom/tg3.c
1807
static int tg3_poll_fw(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
18078
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
18080
tg3_ptp_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
18082
release_firmware(tp->fw);
drivers/net/ethernet/broadcom/tg3.c
18084
tg3_reset_task_cancel(tp);
drivers/net/ethernet/broadcom/tg3.c
18086
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
18087
tg3_phy_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
18088
tg3_mdio_fini(tp);
drivers/net/ethernet/broadcom/tg3.c
18092
if (tp->aperegs) {
drivers/net/ethernet/broadcom/tg3.c
18093
iounmap(tp->aperegs);
drivers/net/ethernet/broadcom/tg3.c
18094
tp->aperegs = NULL;
drivers/net/ethernet/broadcom/tg3.c
18096
if (tp->regs) {
drivers/net/ethernet/broadcom/tg3.c
18097
iounmap(tp->regs);
drivers/net/ethernet/broadcom/tg3.c
18098
tp->regs = NULL;
drivers/net/ethernet/broadcom/tg3.c
181
(sizeof(struct ring_info) * TG3_RX_JMB_RING_SIZE(tp))
drivers/net/ethernet/broadcom/tg3.c
18110
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
18117
tg3_reset_task_cancel(tp);
drivers/net/ethernet/broadcom/tg3.c
18118
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
18119
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
1812
if (tg3_flag(tp, NO_FWARE_REPORTED))
drivers/net/ethernet/broadcom/tg3.c
18121
tg3_timer_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
18123
tg3_full_lock(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
18124
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
18125
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
18129
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
18130
tg3_halt(tp, RESET_KIND_SHUTDOWN, 1);
drivers/net/ethernet/broadcom/tg3.c
18131
tg3_flag_clear(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
18132
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
18134
tg3_power_down_prepare(tp);
drivers/net/ethernet/broadcom/tg3.c
18144
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
1815
if (tg3_flag(tp, IS_SSB_CORE)) {
drivers/net/ethernet/broadcom/tg3.c
18155
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
18157
tg3_ape_driver_state_change(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
18159
tg3_flag_set(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
18160
err = tg3_restart_hw(tp,
drivers/net/ethernet/broadcom/tg3.c
18161
!(tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN));
drivers/net/ethernet/broadcom/tg3.c
18165
tg3_timer_start(tp);
drivers/net/ethernet/broadcom/tg3.c
18167
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
18170
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
18174
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
1820
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
18231
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
18233
tg3_reset_task_cancel(tp);
drivers/net/ethernet/broadcom/tg3.c
18243
tg3_power_down(tp);
drivers/net/ethernet/broadcom/tg3.c
1825
if (pci_channel_offline(tp->pdev))
drivers/net/ethernet/broadcom/tg3.c
18275
struct tg3 *tp = netdev_priv(netdev);
drivers/net/ethernet/broadcom/tg3.c
18281
tg3_reset_task_cancel(tp);
drivers/net/ethernet/broadcom/tg3.c
18286
if (!netdev || tp->pcierr_recovery || !netif_running(netdev))
drivers/net/ethernet/broadcom/tg3.c
18291
tp->pcierr_recovery = true;
drivers/net/ethernet/broadcom/tg3.c
18293
tg3_phy_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
18295
tg3_netif_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
18297
tg3_timer_stop(tp);
drivers/net/ethernet/broadcom/tg3.c
18302
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
18303
tg3_halt(tp, RESET_KIND_SHUTDOWN, 0);
drivers/net/ethernet/broadcom/tg3.c
18304
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
18310
tg3_napi_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
18336
struct tg3 *tp = netdev_priv(netdev);
drivers/net/ethernet/broadcom/tg3.c
1835
tg3_read_mem(tp, NIC_SRAM_FIRMWARE_MBOX, &val);
drivers/net/ethernet/broadcom/tg3.c
18356
err = tg3_power_up(tp);
drivers/net/ethernet/broadcom/tg3.c
18365
tg3_napi_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
1838
if (pci_channel_offline(tp->pdev)) {
drivers/net/ethernet/broadcom/tg3.c
18384
struct tg3 *tp = netdev_priv(netdev);
drivers/net/ethernet/broadcom/tg3.c
1839
if (!tg3_flag(tp, NO_FWARE_REPORTED)) {
drivers/net/ethernet/broadcom/tg3.c
18393
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
18394
tg3_ape_driver_state_change(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
18395
tg3_flag_set(tp, INIT_COMPLETE);
drivers/net/ethernet/broadcom/tg3.c
18396
err = tg3_restart_hw(tp, true);
drivers/net/ethernet/broadcom/tg3.c
18398
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
1840
tg3_flag_set(tp, NO_FWARE_REPORTED);
drivers/net/ethernet/broadcom/tg3.c
18406
tg3_timer_start(tp);
drivers/net/ethernet/broadcom/tg3.c
18408
tg3_netif_start(tp);
drivers/net/ethernet/broadcom/tg3.c
1841
netdev_info(tp->dev, "No firmware running\n");
drivers/net/ethernet/broadcom/tg3.c
18410
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
18413
tg3_phy_start(tp);
drivers/net/ethernet/broadcom/tg3.c
18416
tp->pcierr_recovery = false;
drivers/net/ethernet/broadcom/tg3.c
1855
if (i >= 100000 && !tg3_flag(tp, NO_FWARE_REPORTED)) {
drivers/net/ethernet/broadcom/tg3.c
1856
tg3_flag_set(tp, NO_FWARE_REPORTED);
drivers/net/ethernet/broadcom/tg3.c
1858
netdev_info(tp->dev, "No firmware running\n");
drivers/net/ethernet/broadcom/tg3.c
1861
if (tg3_chip_rev_id(tp) == CHIPREV_ID_57765_A0) {
drivers/net/ethernet/broadcom/tg3.c
1871
static void tg3_link_report(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
1873
if (!netif_carrier_ok(tp->dev)) {
drivers/net/ethernet/broadcom/tg3.c
1874
netif_info(tp, link, tp->dev, "Link is down\n");
drivers/net/ethernet/broadcom/tg3.c
1875
tg3_ump_link_report(tp);
drivers/net/ethernet/broadcom/tg3.c
1876
} else if (netif_msg_link(tp)) {
drivers/net/ethernet/broadcom/tg3.c
1877
netdev_info(tp->dev, "Link is up at %d Mbps, %s duplex\n",
drivers/net/ethernet/broadcom/tg3.c
1878
(tp->link_config.active_speed == SPEED_1000 ?
drivers/net/ethernet/broadcom/tg3.c
1880
(tp->link_config.active_speed == SPEED_100 ?
drivers/net/ethernet/broadcom/tg3.c
1882
(tp->link_config.active_duplex == DUPLEX_FULL ?
drivers/net/ethernet/broadcom/tg3.c
1885
netdev_info(tp->dev, "Flow control is %s for TX and %s for RX\n",
drivers/net/ethernet/broadcom/tg3.c
1886
(tp->link_config.active_flowctrl & FLOW_CTRL_TX) ?
drivers/net/ethernet/broadcom/tg3.c
1888
(tp->link_config.active_flowctrl & FLOW_CTRL_RX) ?
drivers/net/ethernet/broadcom/tg3.c
1891
if (tp->phy_flags & TG3_PHYFLG_EEE_CAP)
drivers/net/ethernet/broadcom/tg3.c
1892
netdev_info(tp->dev, "EEE is %s\n",
drivers/net/ethernet/broadcom/tg3.c
1893
tp->setlpicnt ? "enabled" : "disabled");
drivers/net/ethernet/broadcom/tg3.c
1895
tg3_ump_link_report(tp);
drivers/net/ethernet/broadcom/tg3.c
1898
tp->link_up = netif_carrier_ok(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
196
#define TG3_RX_COPY_THRESH(tp) TG3_RX_COPY_THRESHOLD
drivers/net/ethernet/broadcom/tg3.c
1961
static void tg3_setup_flow_control(struct tg3 *tp, u32 lcladv, u32 rmtadv)
drivers/net/ethernet/broadcom/tg3.c
1965
u32 old_rx_mode = tp->rx_mode;
drivers/net/ethernet/broadcom/tg3.c
1966
u32 old_tx_mode = tp->tx_mode;
drivers/net/ethernet/broadcom/tg3.c
1968
if (tg3_flag(tp, USE_PHYLIB))
drivers/net/ethernet/broadcom/tg3.c
1969
autoneg = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr)->autoneg;
drivers/net/ethernet/broadcom/tg3.c
1971
autoneg = tp->link_config.autoneg;
drivers/net/ethernet/broadcom/tg3.c
1973
if (autoneg == AUTONEG_ENABLE && tg3_flag(tp, PAUSE_AUTONEG)) {
drivers/net/ethernet/broadcom/tg3.c
1974
if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
1979
flowctrl = tp->link_config.flowctrl;
drivers/net/ethernet/broadcom/tg3.c
198
#define TG3_RX_COPY_THRESH(tp) ((tp)->rx_copy_thresh)
drivers/net/ethernet/broadcom/tg3.c
1981
tp->link_config.active_flowctrl = flowctrl;
drivers/net/ethernet/broadcom/tg3.c
1984
tp->rx_mode |= RX_MODE_FLOW_CTRL_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
1986
tp->rx_mode &= ~RX_MODE_FLOW_CTRL_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
1988
if (old_rx_mode != tp->rx_mode)
drivers/net/ethernet/broadcom/tg3.c
1989
tw32_f(MAC_RX_MODE, tp->rx_mode);
drivers/net/ethernet/broadcom/tg3.c
1992
tp->tx_mode |= TX_MODE_FLOW_CTRL_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
1994
tp->tx_mode &= ~TX_MODE_FLOW_CTRL_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
1996
if (old_tx_mode != tp->tx_mode)
drivers/net/ethernet/broadcom/tg3.c
1997
tw32_f(MAC_TX_MODE, tp->tx_mode);
drivers/net/ethernet/broadcom/tg3.c
2004
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
2005
struct phy_device *phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
2007
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
2009
mac_mode = tp->mac_mode & ~(MAC_MODE_PORT_MODE_MASK |
drivers/net/ethernet/broadcom/tg3.c
2012
oldflowctrl = tp->link_config.active_flowctrl;
drivers/net/ethernet/broadcom/tg3.c
202
#define TG3_RX_OFFSET(tp) ((tp)->rx_offset)
drivers/net/ethernet/broadcom/tg3.c
2021
tg3_asic_rev(tp) != ASIC_REV_5785)
drivers/net/ethernet/broadcom/tg3.c
2030
tp->link_config.flowctrl);
drivers/net/ethernet/broadcom/tg3.c
2038
tg3_setup_flow_control(tp, lcl_adv, rmt_adv);
drivers/net/ethernet/broadcom/tg3.c
204
#define TG3_RX_OFFSET(tp) (NET_SKB_PAD)
drivers/net/ethernet/broadcom/tg3.c
2042
if (mac_mode != tp->mac_mode) {
drivers/net/ethernet/broadcom/tg3.c
2043
tp->mac_mode = mac_mode;
drivers/net/ethernet/broadcom/tg3.c
2044
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
2048
if (tg3_asic_rev(tp) == ASIC_REV_5785) {
drivers/net/ethernet/broadcom/tg3.c
2068
if (phydev->link != tp->old_link ||
drivers/net/ethernet/broadcom/tg3.c
2069
phydev->speed != tp->link_config.active_speed ||
drivers/net/ethernet/broadcom/tg3.c
2070
phydev->duplex != tp->link_config.active_duplex ||
drivers/net/ethernet/broadcom/tg3.c
2071
oldflowctrl != tp->link_config.active_flowctrl)
drivers/net/ethernet/broadcom/tg3.c
2074
tp->old_link = phydev->link;
drivers/net/ethernet/broadcom/tg3.c
2075
tp->link_config.active_speed = phydev->speed;
drivers/net/ethernet/broadcom/tg3.c
2076
tp->link_config.active_duplex = phydev->duplex;
drivers/net/ethernet/broadcom/tg3.c
2078
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
2081
tg3_link_report(tp);
drivers/net/ethernet/broadcom/tg3.c
2084
static int tg3_phy_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2088
if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED)
drivers/net/ethernet/broadcom/tg3.c
2092
tg3_bmcr_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
2094
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
2097
phydev = phy_connect(tp->dev, phydev_name(phydev),
drivers/net/ethernet/broadcom/tg3.c
2100
dev_err(&tp->pdev->dev, "Could not attach to PHY\n");
drivers/net/ethernet/broadcom/tg3.c
2108
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
2119
phy_disconnect(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
drivers/net/ethernet/broadcom/tg3.c
2123
tp->phy_flags |= TG3_PHYFLG_IS_CONNECTED;
drivers/net/ethernet/broadcom/tg3.c
2130
static void tg3_phy_start(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2134
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
drivers/net/ethernet/broadcom/tg3.c
2137
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
2139
if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
drivers/net/ethernet/broadcom/tg3.c
214
#define TG3_MAX_UCAST_ADDR(tp) (tg3_flag((tp), ENABLE_ASF) ? 2 : 3)
drivers/net/ethernet/broadcom/tg3.c
2140
tp->phy_flags &= ~TG3_PHYFLG_IS_LOW_POWER;
drivers/net/ethernet/broadcom/tg3.c
2141
phydev->speed = tp->link_config.speed;
drivers/net/ethernet/broadcom/tg3.c
2142
phydev->duplex = tp->link_config.duplex;
drivers/net/ethernet/broadcom/tg3.c
2143
phydev->autoneg = tp->link_config.autoneg;
drivers/net/ethernet/broadcom/tg3.c
2145
phydev->advertising, tp->link_config.advertising);
drivers/net/ethernet/broadcom/tg3.c
215
#define TG3_UCAST_ADDR_IDX(tp) (tg3_flag((tp), ENABLE_ASF) ? 2 : 1)
drivers/net/ethernet/broadcom/tg3.c
2153
static void tg3_phy_stop(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2155
if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
drivers/net/ethernet/broadcom/tg3.c
2158
phy_stop(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
drivers/net/ethernet/broadcom/tg3.c
2161
static void tg3_phy_fini(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2163
if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
drivers/net/ethernet/broadcom/tg3.c
2164
phy_disconnect(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
drivers/net/ethernet/broadcom/tg3.c
2165
tp->phy_flags &= ~TG3_PHYFLG_IS_CONNECTED;
drivers/net/ethernet/broadcom/tg3.c
2169
static int tg3_phy_set_extloopbk(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2174
if (tp->phy_flags & TG3_PHYFLG_IS_FET)
drivers/net/ethernet/broadcom/tg3.c
2177
if ((tp->phy_id & TG3_PHY_ID_MASK) == TG3_PHY_ID_BCM5401) {
drivers/net/ethernet/broadcom/tg3.c
2179
err = tg3_phy_auxctl_write(tp,
drivers/net/ethernet/broadcom/tg3.c
2186
err = tg3_phy_auxctl_read(tp,
drivers/net/ethernet/broadcom/tg3.c
2192
err = tg3_phy_auxctl_write(tp,
drivers/net/ethernet/broadcom/tg3.c
2199
static void tg3_phy_fet_toggle_apd(struct tg3 *tp, bool enable)
drivers/net/ethernet/broadcom/tg3.c
2203
if (!tg3_readphy(tp, MII_TG3_FET_TEST, &phytest)) {
drivers/net/ethernet/broadcom/tg3.c
2206
tg3_writephy(tp, MII_TG3_FET_TEST,
drivers/net/ethernet/broadcom/tg3.c
2208
if (!tg3_readphy(tp, MII_TG3_FET_SHDW_AUXSTAT2, &phy)) {
drivers/net/ethernet/broadcom/tg3.c
2213
tg3_writephy(tp, MII_TG3_FET_SHDW_AUXSTAT2, phy);
drivers/net/ethernet/broadcom/tg3.c
2215
tg3_writephy(tp, MII_TG3_FET_TEST, phytest);
drivers/net/ethernet/broadcom/tg3.c
2219
static void tg3_phy_toggle_apd(struct tg3 *tp, bool enable)
drivers/net/ethernet/broadcom/tg3.c
2223
if (!tg3_flag(tp, 5705_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
2224
(tg3_flag(tp, 5717_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
2225
(tp->phy_flags & TG3_PHYFLG_MII_SERDES)))
drivers/net/ethernet/broadcom/tg3.c
2228
if (tp->phy_flags & TG3_PHYFLG_IS_FET) {
drivers/net/ethernet/broadcom/tg3.c
2229
tg3_phy_fet_toggle_apd(tp, enable);
drivers/net/ethernet/broadcom/tg3.c
2237
if (tg3_asic_rev(tp) != ASIC_REV_5784 || !enable)
drivers/net/ethernet/broadcom/tg3.c
2240
tg3_phy_shdw_write(tp, MII_TG3_MISC_SHDW_SCR5_SEL, reg);
drivers/net/ethernet/broadcom/tg3.c
2247
tg3_phy_shdw_write(tp, MII_TG3_MISC_SHDW_APD_SEL, reg);
drivers/net/ethernet/broadcom/tg3.c
2250
static void tg3_phy_toggle_automdix(struct tg3 *tp, bool enable)
drivers/net/ethernet/broadcom/tg3.c
2254
if (!tg3_flag(tp, 5705_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
2255
(tp->phy_flags & TG3_PHYFLG_ANY_SERDES))
drivers/net/ethernet/broadcom/tg3.c
2258
if (tp->phy_flags & TG3_PHYFLG_IS_FET) {
drivers/net/ethernet/broadcom/tg3.c
2261
if (!tg3_readphy(tp, MII_TG3_FET_TEST, &ephy)) {
drivers/net/ethernet/broadcom/tg3.c
2264
tg3_writephy(tp, MII_TG3_FET_TEST,
drivers/net/ethernet/broadcom/tg3.c
2266
if (!tg3_readphy(tp, reg, &phy)) {
drivers/net/ethernet/broadcom/tg3.c
2271
tg3_writephy(tp, reg, phy);
drivers/net/ethernet/broadcom/tg3.c
2273
tg3_writephy(tp, MII_TG3_FET_TEST, ephy);
drivers/net/ethernet/broadcom/tg3.c
2278
ret = tg3_phy_auxctl_read(tp,
drivers/net/ethernet/broadcom/tg3.c
2285
tg3_phy_auxctl_write(tp,
drivers/net/ethernet/broadcom/tg3.c
2291
static void tg3_phy_set_wirespeed(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2296
if (tp->phy_flags & TG3_PHYFLG_NO_ETH_WIRE_SPEED)
drivers/net/ethernet/broadcom/tg3.c
2299
ret = tg3_phy_auxctl_read(tp, MII_TG3_AUXCTL_SHDWSEL_MISC, &val);
drivers/net/ethernet/broadcom/tg3.c
2301
tg3_phy_auxctl_write(tp, MII_TG3_AUXCTL_SHDWSEL_MISC,
drivers/net/ethernet/broadcom/tg3.c
2305
static void tg3_phy_apply_otp(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2309
if (!tp->phy_otp)
drivers/net/ethernet/broadcom/tg3.c
2312
otp = tp->phy_otp;
drivers/net/ethernet/broadcom/tg3.c
2314
if (tg3_phy_toggle_auxctl_smdsp(tp, true))
drivers/net/ethernet/broadcom/tg3.c
2319
tg3_phydsp_write(tp, MII_TG3_DSP_TAP1, phy);
drivers/net/ethernet/broadcom/tg3.c
2323
tg3_phydsp_write(tp, MII_TG3_DSP_AADJ1CH0, phy);
drivers/net/ethernet/broadcom/tg3.c
2327
tg3_phydsp_write(tp, MII_TG3_DSP_AADJ1CH3, phy);
drivers/net/ethernet/broadcom/tg3.c
2330
tg3_phydsp_write(tp, MII_TG3_DSP_EXP75, phy);
drivers/net/ethernet/broadcom/tg3.c
2333
tg3_phydsp_write(tp, MII_TG3_DSP_EXP96, phy);
drivers/net/ethernet/broadcom/tg3.c
2337
tg3_phydsp_write(tp, MII_TG3_DSP_EXP97, phy);
drivers/net/ethernet/broadcom/tg3.c
2339
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2342
static void tg3_eee_pull_config(struct tg3 *tp, struct ethtool_keee *eee)
drivers/net/ethernet/broadcom/tg3.c
2345
struct ethtool_keee *dest = &tp->eee;
drivers/net/ethernet/broadcom/tg3.c
2347
if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP))
drivers/net/ethernet/broadcom/tg3.c
2353
if (tg3_phy_cl45_read(tp, MDIO_MMD_AN, TG3_CL45_D7_EEERES_STAT, &val))
drivers/net/ethernet/broadcom/tg3.c
2364
if (tg3_phy_cl45_read(tp, MDIO_MMD_AN, MDIO_AN_EEE_LPABLE, &val))
drivers/net/ethernet/broadcom/tg3.c
2369
if (tg3_phy_cl45_read(tp, MDIO_MMD_AN, MDIO_AN_EEE_ADV, &val))
drivers/net/ethernet/broadcom/tg3.c
2382
static void tg3_phy_eee_adjust(struct tg3 *tp, bool current_link_up)
drivers/net/ethernet/broadcom/tg3.c
2386
if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP))
drivers/net/ethernet/broadcom/tg3.c
2389
tp->setlpicnt = 0;
drivers/net/ethernet/broadcom/tg3.c
2391
if (tp->link_config.autoneg == AUTONEG_ENABLE &&
drivers/net/ethernet/broadcom/tg3.c
2393
tp->link_config.active_duplex == DUPLEX_FULL &&
drivers/net/ethernet/broadcom/tg3.c
2394
(tp->link_config.active_speed == SPEED_100 ||
drivers/net/ethernet/broadcom/tg3.c
2395
tp->link_config.active_speed == SPEED_1000)) {
drivers/net/ethernet/broadcom/tg3.c
2398
if (tp->link_config.active_speed == SPEED_1000)
drivers/net/ethernet/broadcom/tg3.c
2405
tg3_eee_pull_config(tp, NULL);
drivers/net/ethernet/broadcom/tg3.c
2406
if (tp->eee.eee_active)
drivers/net/ethernet/broadcom/tg3.c
2407
tp->setlpicnt = 2;
drivers/net/ethernet/broadcom/tg3.c
2410
if (!tp->setlpicnt) {
drivers/net/ethernet/broadcom/tg3.c
2412
!tg3_phy_toggle_auxctl_smdsp(tp, true)) {
drivers/net/ethernet/broadcom/tg3.c
2413
tg3_phydsp_write(tp, MII_TG3_DSP_TAP26, 0x0000);
drivers/net/ethernet/broadcom/tg3.c
2414
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2422
static void tg3_phy_eee_enable(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2426
if (tp->link_config.active_speed == SPEED_1000 &&
drivers/net/ethernet/broadcom/tg3.c
2427
(tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
2428
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
2429
tg3_flag(tp, 57765_CLASS)) &&
drivers/net/ethernet/broadcom/tg3.c
2430
!tg3_phy_toggle_auxctl_smdsp(tp, true)) {
drivers/net/ethernet/broadcom/tg3.c
2433
tg3_phydsp_write(tp, MII_TG3_DSP_TAP26, val);
drivers/net/ethernet/broadcom/tg3.c
2434
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2441
static int tg3_wait_macro_done(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2448
if (!tg3_readphy(tp, MII_TG3_DSP_CONTROL, &tmp32)) {
drivers/net/ethernet/broadcom/tg3.c
2459
static int tg3_phy_write_and_check_testpat(struct tg3 *tp, int *resetp)
drivers/net/ethernet/broadcom/tg3.c
2472
tg3_writephy(tp, MII_TG3_DSP_ADDRESS,
drivers/net/ethernet/broadcom/tg3.c
2474
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0002);
drivers/net/ethernet/broadcom/tg3.c
2477
tg3_writephy(tp, MII_TG3_DSP_RW_PORT,
drivers/net/ethernet/broadcom/tg3.c
2480
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0202);
drivers/net/ethernet/broadcom/tg3.c
2481
if (tg3_wait_macro_done(tp)) {
drivers/net/ethernet/broadcom/tg3.c
2486
tg3_writephy(tp, MII_TG3_DSP_ADDRESS,
drivers/net/ethernet/broadcom/tg3.c
2488
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0082);
drivers/net/ethernet/broadcom/tg3.c
2489
if (tg3_wait_macro_done(tp)) {
drivers/net/ethernet/broadcom/tg3.c
2494
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0802);
drivers/net/ethernet/broadcom/tg3.c
2495
if (tg3_wait_macro_done(tp)) {
drivers/net/ethernet/broadcom/tg3.c
2503
if (tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &low) ||
drivers/net/ethernet/broadcom/tg3.c
2504
tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &high) ||
drivers/net/ethernet/broadcom/tg3.c
2505
tg3_wait_macro_done(tp)) {
drivers/net/ethernet/broadcom/tg3.c
2513
tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x000b);
drivers/net/ethernet/broadcom/tg3.c
2514
tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x4001);
drivers/net/ethernet/broadcom/tg3.c
2515
tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x4005);
drivers/net/ethernet/broadcom/tg3.c
2525
static int tg3_phy_reset_chanpat(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2532
tg3_writephy(tp, MII_TG3_DSP_ADDRESS,
drivers/net/ethernet/broadcom/tg3.c
2534
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0002);
drivers/net/ethernet/broadcom/tg3.c
2536
tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x000);
drivers/net/ethernet/broadcom/tg3.c
2537
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0202);
drivers/net/ethernet/broadcom/tg3.c
2538
if (tg3_wait_macro_done(tp))
drivers/net/ethernet/broadcom/tg3.c
2545
static int tg3_phy_reset_5703_4_5(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2554
err = tg3_bmcr_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
2561
if (tg3_readphy(tp, MII_TG3_EXT_CTRL, ®32))
drivers/net/ethernet/broadcom/tg3.c
2565
tg3_writephy(tp, MII_TG3_EXT_CTRL, reg32);
drivers/net/ethernet/broadcom/tg3.c
2568
tg3_writephy(tp, MII_BMCR,
drivers/net/ethernet/broadcom/tg3.c
2572
if (tg3_readphy(tp, MII_CTRL1000, &phy9_orig))
drivers/net/ethernet/broadcom/tg3.c
2575
tg3_writephy(tp, MII_CTRL1000,
drivers/net/ethernet/broadcom/tg3.c
2578
err = tg3_phy_toggle_auxctl_smdsp(tp, true);
drivers/net/ethernet/broadcom/tg3.c
2583
tg3_phydsp_write(tp, 0x8005, 0x0800);
drivers/net/ethernet/broadcom/tg3.c
2585
err = tg3_phy_write_and_check_testpat(tp, &do_phy_reset);
drivers/net/ethernet/broadcom/tg3.c
2590
err = tg3_phy_reset_chanpat(tp);
drivers/net/ethernet/broadcom/tg3.c
2594
tg3_phydsp_write(tp, 0x8005, 0x0000);
drivers/net/ethernet/broadcom/tg3.c
2596
tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x8200);
drivers/net/ethernet/broadcom/tg3.c
2597
tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0000);
drivers/net/ethernet/broadcom/tg3.c
2599
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2601
tg3_writephy(tp, MII_CTRL1000, phy9_orig);
drivers/net/ethernet/broadcom/tg3.c
2603
err = tg3_readphy(tp, MII_TG3_EXT_CTRL, ®32);
drivers/net/ethernet/broadcom/tg3.c
2608
tg3_writephy(tp, MII_TG3_EXT_CTRL, reg32);
drivers/net/ethernet/broadcom/tg3.c
2613
static void tg3_carrier_off(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2615
netif_carrier_off(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
2616
tp->link_up = false;
drivers/net/ethernet/broadcom/tg3.c
2619
static void tg3_warn_mgmt_link_flap(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2621
if (tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
2622
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
2629
static int tg3_phy_reset(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2634
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
2639
err = tg3_readphy(tp, MII_BMSR, &val);
drivers/net/ethernet/broadcom/tg3.c
2640
err |= tg3_readphy(tp, MII_BMSR, &val);
drivers/net/ethernet/broadcom/tg3.c
2644
if (netif_running(tp->dev) && tp->link_up) {
drivers/net/ethernet/broadcom/tg3.c
2645
netif_carrier_off(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
2646
tg3_link_report(tp);
drivers/net/ethernet/broadcom/tg3.c
2649
if (tg3_asic_rev(tp) == ASIC_REV_5703 ||
drivers/net/ethernet/broadcom/tg3.c
2650
tg3_asic_rev(tp) == ASIC_REV_5704 ||
drivers/net/ethernet/broadcom/tg3.c
2651
tg3_asic_rev(tp) == ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
2652
err = tg3_phy_reset_5703_4_5(tp);
drivers/net/ethernet/broadcom/tg3.c
2659
if (tg3_asic_rev(tp) == ASIC_REV_5784 &&
drivers/net/ethernet/broadcom/tg3.c
2660
tg3_chip_rev(tp) != CHIPREV_5784_AX) {
drivers/net/ethernet/broadcom/tg3.c
2667
err = tg3_bmcr_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
2673
tg3_phydsp_write(tp, MII_TG3_DSP_EXP8, val);
drivers/net/ethernet/broadcom/tg3.c
2678
if (tg3_chip_rev(tp) == CHIPREV_5784_AX ||
drivers/net/ethernet/broadcom/tg3.c
2679
tg3_chip_rev(tp) == CHIPREV_5761_AX) {
drivers/net/ethernet/broadcom/tg3.c
2689
if (tg3_flag(tp, 5717_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
2690
(tp->phy_flags & TG3_PHYFLG_MII_SERDES))
drivers/net/ethernet/broadcom/tg3.c
2693
tg3_phy_apply_otp(tp);
drivers/net/ethernet/broadcom/tg3.c
2695
if (tp->phy_flags & TG3_PHYFLG_ENABLE_APD)
drivers/net/ethernet/broadcom/tg3.c
2696
tg3_phy_toggle_apd(tp, true);
drivers/net/ethernet/broadcom/tg3.c
2698
tg3_phy_toggle_apd(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2701
if ((tp->phy_flags & TG3_PHYFLG_ADC_BUG) &&
drivers/net/ethernet/broadcom/tg3.c
2702
!tg3_phy_toggle_auxctl_smdsp(tp, true)) {
drivers/net/ethernet/broadcom/tg3.c
2703
tg3_phydsp_write(tp, 0x201f, 0x2aaa);
drivers/net/ethernet/broadcom/tg3.c
2704
tg3_phydsp_write(tp, 0x000a, 0x0323);
drivers/net/ethernet/broadcom/tg3.c
2705
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2708
if (tp->phy_flags & TG3_PHYFLG_5704_A0_BUG) {
drivers/net/ethernet/broadcom/tg3.c
2709
tg3_writephy(tp, MII_TG3_MISC_SHDW, 0x8d68);
drivers/net/ethernet/broadcom/tg3.c
2710
tg3_writephy(tp, MII_TG3_MISC_SHDW, 0x8d68);
drivers/net/ethernet/broadcom/tg3.c
2713
if (tp->phy_flags & TG3_PHYFLG_BER_BUG) {
drivers/net/ethernet/broadcom/tg3.c
2714
if (!tg3_phy_toggle_auxctl_smdsp(tp, true)) {
drivers/net/ethernet/broadcom/tg3.c
2715
tg3_phydsp_write(tp, 0x000a, 0x310b);
drivers/net/ethernet/broadcom/tg3.c
2716
tg3_phydsp_write(tp, 0x201f, 0x9506);
drivers/net/ethernet/broadcom/tg3.c
2717
tg3_phydsp_write(tp, 0x401f, 0x14e2);
drivers/net/ethernet/broadcom/tg3.c
2718
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2720
} else if (tp->phy_flags & TG3_PHYFLG_JITTER_BUG) {
drivers/net/ethernet/broadcom/tg3.c
2721
if (!tg3_phy_toggle_auxctl_smdsp(tp, true)) {
drivers/net/ethernet/broadcom/tg3.c
2722
tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x000a);
drivers/net/ethernet/broadcom/tg3.c
2723
if (tp->phy_flags & TG3_PHYFLG_ADJUST_TRIM) {
drivers/net/ethernet/broadcom/tg3.c
2724
tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x110b);
drivers/net/ethernet/broadcom/tg3.c
2725
tg3_writephy(tp, MII_TG3_TEST1,
drivers/net/ethernet/broadcom/tg3.c
2728
tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x010b);
drivers/net/ethernet/broadcom/tg3.c
2730
tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
2736
if ((tp->phy_id & TG3_PHY_ID_MASK) == TG3_PHY_ID_BCM5401) {
drivers/net/ethernet/broadcom/tg3.c
2738
tg3_phy_auxctl_write(tp, MII_TG3_AUXCTL_SHDWSEL_AUXCTL, 0x4c20);
drivers/net/ethernet/broadcom/tg3.c
2739
} else if (tg3_flag(tp, JUMBO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
2741
err = tg3_phy_auxctl_read(tp,
drivers/net/ethernet/broadcom/tg3.c
2744
tg3_phy_auxctl_write(tp, MII_TG3_AUXCTL_SHDWSEL_AUXCTL,
drivers/net/ethernet/broadcom/tg3.c
2751
if (tg3_flag(tp, JUMBO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
2752
if (!tg3_readphy(tp, MII_TG3_EXT_CTRL, &val))
drivers/net/ethernet/broadcom/tg3.c
2753
tg3_writephy(tp, MII_TG3_EXT_CTRL,
drivers/net/ethernet/broadcom/tg3.c
2757
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
2759
tg3_writephy(tp, MII_TG3_FET_PTEST, 0x12);
drivers/net/ethernet/broadcom/tg3.c
2762
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5762_A0)
drivers/net/ethernet/broadcom/tg3.c
2763
tg3_phydsp_write(tp, 0xffb, 0x4000);
drivers/net/ethernet/broadcom/tg3.c
2765
tg3_phy_toggle_automdix(tp, true);
drivers/net/ethernet/broadcom/tg3.c
2766
tg3_phy_set_wirespeed(tp);
drivers/net/ethernet/broadcom/tg3.c
2786
static inline u32 tg3_set_function_status(struct tg3 *tp, u32 newstat)
drivers/net/ethernet/broadcom/tg3.c
2790
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
2791
tg3_asic_rev(tp) == ASIC_REV_5719)
drivers/net/ethernet/broadcom/tg3.c
2792
status = tg3_ape_read32(tp, TG3_APE_GPIO_MSG);
drivers/net/ethernet/broadcom/tg3.c
2796
shift = TG3_APE_GPIO_MSG_SHIFT + 4 * tp->pci_fn;
drivers/net/ethernet/broadcom/tg3.c
2800
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
2801
tg3_asic_rev(tp) == ASIC_REV_5719)
drivers/net/ethernet/broadcom/tg3.c
2802
tg3_ape_write32(tp, TG3_APE_GPIO_MSG, status);
drivers/net/ethernet/broadcom/tg3.c
2809
static inline int tg3_pwrsrc_switch_to_vmain(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2811
if (!tg3_flag(tp, IS_NIC))
drivers/net/ethernet/broadcom/tg3.c
2814
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
2815
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
2816
tg3_asic_rev(tp) == ASIC_REV_5720) {
drivers/net/ethernet/broadcom/tg3.c
2817
if (tg3_ape_lock(tp, TG3_APE_LOCK_GPIO))
drivers/net/ethernet/broadcom/tg3.c
2820
tg3_set_function_status(tp, TG3_GPIO_MSG_DRVR_PRES);
drivers/net/ethernet/broadcom/tg3.c
2822
tw32_wait_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl,
drivers/net/ethernet/broadcom/tg3.c
2825
tg3_ape_unlock(tp, TG3_APE_LOCK_GPIO);
drivers/net/ethernet/broadcom/tg3.c
2827
tw32_wait_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl,
drivers/net/ethernet/broadcom/tg3.c
2834
static void tg3_pwrsrc_die_with_vmain(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2838
if (!tg3_flag(tp, IS_NIC) ||
drivers/net/ethernet/broadcom/tg3.c
2839
tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
2840
tg3_asic_rev(tp) == ASIC_REV_5701)
drivers/net/ethernet/broadcom/tg3.c
2843
grc_local_ctrl = tp->grc_local_ctrl | GRC_LCLCTRL_GPIO_OE1;
drivers/net/ethernet/broadcom/tg3.c
2858
static void tg3_pwrsrc_switch_to_vaux(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
2860
if (!tg3_flag(tp, IS_NIC))
drivers/net/ethernet/broadcom/tg3.c
2863
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
2864
tg3_asic_rev(tp) == ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
2865
tw32_wait_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl |
drivers/net/ethernet/broadcom/tg3.c
2872
} else if (tp->pdev->device == PCI_DEVICE_ID_TIGON3_5761 ||
drivers/net/ethernet/broadcom/tg3.c
2873
tp->pdev->device == TG3PCI_DEVICE_TIGON3_5761S) {
drivers/net/ethernet/broadcom/tg3.c
2880
tp->grc_local_ctrl;
drivers/net/ethernet/broadcom/tg3.c
2896
if (tg3_asic_rev(tp) == ASIC_REV_5714) {
drivers/net/ethernet/broadcom/tg3.c
2898
tw32_wait_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl |
drivers/net/ethernet/broadcom/tg3.c
2904
no_gpio2 = tp->nic_sram_data_cfg &
drivers/net/ethernet/broadcom/tg3.c
2917
tp->grc_local_ctrl | grc_local_ctrl,
drivers/net/ethernet/broadcom/tg3.c
2923
tp->grc_local_ctrl | grc_local_ctrl,
drivers/net/ethernet/broadcom/tg3.c
2929
tp->grc_local_ctrl | grc_local_ctrl,
drivers/net/ethernet/broadcom/tg3.c
2935
static void tg3_frob_aux_power_5717(struct tg3 *tp, bool wol_enable)
drivers/net/ethernet/broadcom/tg3.c
2940
if (tg3_ape_lock(tp, TG3_APE_LOCK_GPIO))
drivers/net/ethernet/broadcom/tg3.c
2943
if (tg3_flag(tp, ENABLE_ASF) || tg3_flag(tp, ENABLE_APE) || wol_enable)
drivers/net/ethernet/broadcom/tg3.c
2946
msg = tg3_set_function_status(tp, msg);
drivers/net/ethernet/broadcom/tg3.c
2952
tg3_pwrsrc_switch_to_vaux(tp);
drivers/net/ethernet/broadcom/tg3.c
2954
tg3_pwrsrc_die_with_vmain(tp);
drivers/net/ethernet/broadcom/tg3.c
2957
tg3_ape_unlock(tp, TG3_APE_LOCK_GPIO);
drivers/net/ethernet/broadcom/tg3.c
2960
static void tg3_frob_aux_power(struct tg3 *tp, bool include_wol)
drivers/net/ethernet/broadcom/tg3.c
2965
if (!tg3_flag(tp, IS_NIC) || tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
2968
if (tg3_asic_rev(tp) == ASIC_REV_5717 ||
drivers/net/ethernet/broadcom/tg3.c
2969
tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
2970
tg3_asic_rev(tp) == ASIC_REV_5720) {
drivers/net/ethernet/broadcom/tg3.c
2971
tg3_frob_aux_power_5717(tp, include_wol ?
drivers/net/ethernet/broadcom/tg3.c
2972
tg3_flag(tp, WOL_ENABLE) != 0 : 0);
drivers/net/ethernet/broadcom/tg3.c
2976
if (tp->pdev_peer && tp->pdev_peer != tp->pdev) {
drivers/net/ethernet/broadcom/tg3.c
2979
dev_peer = pci_get_drvdata(tp->pdev_peer);
drivers/net/ethernet/broadcom/tg3.c
2994
if ((include_wol && tg3_flag(tp, WOL_ENABLE)) ||
drivers/net/ethernet/broadcom/tg3.c
2995
tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
2999
tg3_pwrsrc_switch_to_vaux(tp);
drivers/net/ethernet/broadcom/tg3.c
3001
tg3_pwrsrc_die_with_vmain(tp);
drivers/net/ethernet/broadcom/tg3.c
3004
static int tg3_5700_link_polarity(struct tg3 *tp, u32 speed)
drivers/net/ethernet/broadcom/tg3.c
3006
if (tp->led_ctrl == LED_CTRL_MODE_PHY_2)
drivers/net/ethernet/broadcom/tg3.c
3008
else if ((tp->phy_id & TG3_PHY_ID_MASK) == TG3_PHY_ID_BCM5411) {
drivers/net/ethernet/broadcom/tg3.c
3017
static bool tg3_phy_power_bug(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3019
switch (tg3_asic_rev(tp)) {
drivers/net/ethernet/broadcom/tg3.c
3024
if (tp->phy_flags & TG3_PHYFLG_MII_SERDES)
drivers/net/ethernet/broadcom/tg3.c
3028
if (!tp->pci_fn)
drivers/net/ethernet/broadcom/tg3.c
3033
if ((tp->phy_flags & TG3_PHYFLG_PHY_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
3034
!tp->pci_fn)
drivers/net/ethernet/broadcom/tg3.c
3042
static bool tg3_phy_led_bug(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3044
switch (tg3_asic_rev(tp)) {
drivers/net/ethernet/broadcom/tg3.c
3047
if ((tp->phy_flags & TG3_PHYFLG_MII_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
3048
!tp->pci_fn)
drivers/net/ethernet/broadcom/tg3.c
3056
static void tg3_power_down_phy(struct tg3 *tp, bool do_low_power)
drivers/net/ethernet/broadcom/tg3.c
3060
if (tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN)
drivers/net/ethernet/broadcom/tg3.c
3063
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
3064
if (tg3_asic_rev(tp) == ASIC_REV_5704) {
drivers/net/ethernet/broadcom/tg3.c
3076
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
3077
tg3_bmcr_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
3082
} else if (tp->phy_flags & TG3_PHYFLG_IS_FET) {
drivers/net/ethernet/broadcom/tg3.c
3084
if (!tg3_readphy(tp, MII_TG3_FET_TEST, &phytest)) {
drivers/net/ethernet/broadcom/tg3.c
3087
tg3_writephy(tp, MII_ADVERTISE, 0);
drivers/net/ethernet/broadcom/tg3.c
3088
tg3_writephy(tp, MII_BMCR,
drivers/net/ethernet/broadcom/tg3.c
3091
tg3_writephy(tp, MII_TG3_FET_TEST,
drivers/net/ethernet/broadcom/tg3.c
3093
if (!tg3_readphy(tp, MII_TG3_FET_SHDW_AUXMODE4, &phy)) {
drivers/net/ethernet/broadcom/tg3.c
3095
tg3_writephy(tp,
drivers/net/ethernet/broadcom/tg3.c
3099
tg3_writephy(tp, MII_TG3_FET_TEST, phytest);
drivers/net/ethernet/broadcom/tg3.c
3103
if (!tg3_phy_led_bug(tp))
drivers/net/ethernet/broadcom/tg3.c
3104
tg3_writephy(tp, MII_TG3_EXT_CTRL,
drivers/net/ethernet/broadcom/tg3.c
3110
tg3_phy_auxctl_write(tp, MII_TG3_AUXCTL_SHDWSEL_PWRCTL, val);
drivers/net/ethernet/broadcom/tg3.c
3116
if (tg3_phy_power_bug(tp))
drivers/net/ethernet/broadcom/tg3.c
3119
if (tg3_chip_rev(tp) == CHIPREV_5784_AX ||
drivers/net/ethernet/broadcom/tg3.c
3120
tg3_chip_rev(tp) == CHIPREV_5761_AX) {
drivers/net/ethernet/broadcom/tg3.c
3127
tg3_writephy(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/ethernet/broadcom/tg3.c
3131
static int tg3_nvram_lock(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3133
if (tg3_flag(tp, NVRAM)) {
drivers/net/ethernet/broadcom/tg3.c
3136
if (tp->nvram_lock_cnt == 0) {
drivers/net/ethernet/broadcom/tg3.c
3148
tp->nvram_lock_cnt++;
drivers/net/ethernet/broadcom/tg3.c
3154
static void tg3_nvram_unlock(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3156
if (tg3_flag(tp, NVRAM)) {
drivers/net/ethernet/broadcom/tg3.c
3157
if (tp->nvram_lock_cnt > 0)
drivers/net/ethernet/broadcom/tg3.c
3158
tp->nvram_lock_cnt--;
drivers/net/ethernet/broadcom/tg3.c
3159
if (tp->nvram_lock_cnt == 0)
drivers/net/ethernet/broadcom/tg3.c
3165
static void tg3_enable_nvram_access(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3167
if (tg3_flag(tp, 5750_PLUS) && !tg3_flag(tp, PROTECTED_NVRAM)) {
drivers/net/ethernet/broadcom/tg3.c
3175
static void tg3_disable_nvram_access(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3177
if (tg3_flag(tp, 5750_PLUS) && !tg3_flag(tp, PROTECTED_NVRAM)) {
drivers/net/ethernet/broadcom/tg3.c
3184
static int tg3_nvram_read_using_eeprom(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
3226
static int tg3_nvram_exec_cmd(struct tg3 *tp, u32 nvram_cmd)
drivers/net/ethernet/broadcom/tg3.c
3245
static u32 tg3_nvram_phys_addr(struct tg3 *tp, u32 addr)
drivers/net/ethernet/broadcom/tg3.c
3247
if (tg3_flag(tp, NVRAM) &&
drivers/net/ethernet/broadcom/tg3.c
3248
tg3_flag(tp, NVRAM_BUFFERED) &&
drivers/net/ethernet/broadcom/tg3.c
3249
tg3_flag(tp, FLASH) &&
drivers/net/ethernet/broadcom/tg3.c
3250
!tg3_flag(tp, NO_NVRAM_ADDR_TRANS) &&
drivers/net/ethernet/broadcom/tg3.c
3251
(tp->nvram_jedecnum == JEDEC_ATMEL))
drivers/net/ethernet/broadcom/tg3.c
3253
addr = ((addr / tp->nvram_pagesize) <<
drivers/net/ethernet/broadcom/tg3.c
3255
(addr % tp->nvram_pagesize);
drivers/net/ethernet/broadcom/tg3.c
3260
static u32 tg3_nvram_logical_addr(struct tg3 *tp, u32 addr)
drivers/net/ethernet/broadcom/tg3.c
3262
if (tg3_flag(tp, NVRAM) &&
drivers/net/ethernet/broadcom/tg3.c
3263
tg3_flag(tp, NVRAM_BUFFERED) &&
drivers/net/ethernet/broadcom/tg3.c
3264
tg3_flag(tp, FLASH) &&
drivers/net/ethernet/broadcom/tg3.c
3265
!tg3_flag(tp, NO_NVRAM_ADDR_TRANS) &&
drivers/net/ethernet/broadcom/tg3.c
3266
(tp->nvram_jedecnum == JEDEC_ATMEL))
drivers/net/ethernet/broadcom/tg3.c
3269
tp->nvram_pagesize) +
drivers/net/ethernet/broadcom/tg3.c
3281
static int tg3_nvram_read(struct tg3 *tp, u32 offset, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
3285
if (!tg3_flag(tp, NVRAM))
drivers/net/ethernet/broadcom/tg3.c
3286
return tg3_nvram_read_using_eeprom(tp, offset, val);
drivers/net/ethernet/broadcom/tg3.c
3288
offset = tg3_nvram_phys_addr(tp, offset);
drivers/net/ethernet/broadcom/tg3.c
3293
ret = tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
3297
tg3_enable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
3300
ret = tg3_nvram_exec_cmd(tp, NVRAM_CMD_RD | NVRAM_CMD_GO |
drivers/net/ethernet/broadcom/tg3.c
3306
tg3_disable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
3308
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
3314
static int tg3_nvram_read_be32(struct tg3 *tp, u32 offset, __be32 *val)
drivers/net/ethernet/broadcom/tg3.c
3317
int res = tg3_nvram_read(tp, offset, &v);
drivers/net/ethernet/broadcom/tg3.c
3323
static int tg3_nvram_write_block_using_eeprom(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
3373
static int tg3_nvram_write_block_unbuffered(struct tg3 *tp, u32 offset, u32 len,
drivers/net/ethernet/broadcom/tg3.c
3377
u32 pagesize = tp->nvram_pagesize;
drivers/net/ethernet/broadcom/tg3.c
3393
ret = tg3_nvram_read_be32(tp, phy_addr + j,
drivers/net/ethernet/broadcom/tg3.c
3412
tg3_enable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
3420
if (tg3_nvram_exec_cmd(tp, nvram_cmd))
drivers/net/ethernet/broadcom/tg3.c
3429
if (tg3_nvram_exec_cmd(tp, nvram_cmd))
drivers/net/ethernet/broadcom/tg3.c
3435
if (tg3_nvram_exec_cmd(tp, nvram_cmd))
drivers/net/ethernet/broadcom/tg3.c
3455
ret = tg3_nvram_exec_cmd(tp, nvram_cmd);
drivers/net/ethernet/broadcom/tg3.c
3464
tg3_nvram_exec_cmd(tp, nvram_cmd);
drivers/net/ethernet/broadcom/tg3.c
3472
static int tg3_nvram_write_block_buffered(struct tg3 *tp, u32 offset, u32 len,
drivers/net/ethernet/broadcom/tg3.c
3484
page_off = offset % tp->nvram_pagesize;
drivers/net/ethernet/broadcom/tg3.c
3486
phy_addr = tg3_nvram_phys_addr(tp, offset);
drivers/net/ethernet/broadcom/tg3.c
3492
if (page_off == (tp->nvram_pagesize - 4))
drivers/net/ethernet/broadcom/tg3.c
3499
!tg3_flag(tp, FLASH) ||
drivers/net/ethernet/broadcom/tg3.c
3500
!tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
3503
if (tg3_asic_rev(tp) != ASIC_REV_5752 &&
drivers/net/ethernet/broadcom/tg3.c
3504
!tg3_flag(tp, 5755_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
3505
(tp->nvram_jedecnum == JEDEC_ST) &&
drivers/net/ethernet/broadcom/tg3.c
3510
ret = tg3_nvram_exec_cmd(tp, cmd);
drivers/net/ethernet/broadcom/tg3.c
3514
if (!tg3_flag(tp, FLASH)) {
drivers/net/ethernet/broadcom/tg3.c
3519
ret = tg3_nvram_exec_cmd(tp, nvram_cmd);
drivers/net/ethernet/broadcom/tg3.c
3527
static int tg3_nvram_write_block(struct tg3 *tp, u32 offset, u32 len, u8 *buf)
drivers/net/ethernet/broadcom/tg3.c
3531
if (tg3_flag(tp, EEPROM_WRITE_PROT)) {
drivers/net/ethernet/broadcom/tg3.c
3532
tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl &
drivers/net/ethernet/broadcom/tg3.c
3537
if (!tg3_flag(tp, NVRAM)) {
drivers/net/ethernet/broadcom/tg3.c
3538
ret = tg3_nvram_write_block_using_eeprom(tp, offset, len, buf);
drivers/net/ethernet/broadcom/tg3.c
3542
ret = tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
3546
tg3_enable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
3547
if (tg3_flag(tp, 5750_PLUS) && !tg3_flag(tp, PROTECTED_NVRAM))
drivers/net/ethernet/broadcom/tg3.c
3553
if (tg3_flag(tp, NVRAM_BUFFERED) || !tg3_flag(tp, FLASH)) {
drivers/net/ethernet/broadcom/tg3.c
3554
ret = tg3_nvram_write_block_buffered(tp, offset, len,
drivers/net/ethernet/broadcom/tg3.c
3557
ret = tg3_nvram_write_block_unbuffered(tp, offset, len,
drivers/net/ethernet/broadcom/tg3.c
3564
tg3_disable_nvram_access(tp);
drivers/net/ethernet/broadcom/tg3.c
3565
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
3568
if (tg3_flag(tp, EEPROM_WRITE_PROT)) {
drivers/net/ethernet/broadcom/tg3.c
3569
tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl);
drivers/net/ethernet/broadcom/tg3.c
3582
static int tg3_pause_cpu(struct tg3 *tp, u32 cpu_base)
drivers/net/ethernet/broadcom/tg3.c
3592
if (pci_channel_offline(tp->pdev))
drivers/net/ethernet/broadcom/tg3.c
3600
static int tg3_rxcpu_pause(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3602
int rc = tg3_pause_cpu(tp, RX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
3612
static int tg3_txcpu_pause(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3614
return tg3_pause_cpu(tp, TX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
3618
static void tg3_resume_cpu(struct tg3 *tp, u32 cpu_base)
drivers/net/ethernet/broadcom/tg3.c
3625
static void tg3_rxcpu_resume(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3627
tg3_resume_cpu(tp, RX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
3631
static int tg3_halt_cpu(struct tg3 *tp, u32 cpu_base)
drivers/net/ethernet/broadcom/tg3.c
3635
BUG_ON(cpu_base == TX_CPU_BASE && tg3_flag(tp, 5705_PLUS));
drivers/net/ethernet/broadcom/tg3.c
3637
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
3644
rc = tg3_rxcpu_pause(tp);
drivers/net/ethernet/broadcom/tg3.c
3650
if (tg3_flag(tp, IS_SSB_CORE))
drivers/net/ethernet/broadcom/tg3.c
3653
rc = tg3_txcpu_pause(tp);
drivers/net/ethernet/broadcom/tg3.c
3657
netdev_err(tp->dev, "%s timed out, %s CPU\n",
drivers/net/ethernet/broadcom/tg3.c
3663
if (tg3_flag(tp, NVRAM))
drivers/net/ethernet/broadcom/tg3.c
3668
static int tg3_fw_data_len(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
3687
if (tp->fw_len == 0xffffffff)
drivers/net/ethernet/broadcom/tg3.c
3690
fw_len = tp->fw->size;
drivers/net/ethernet/broadcom/tg3.c
3696
static int tg3_load_firmware_cpu(struct tg3 *tp, u32 cpu_base,
drivers/net/ethernet/broadcom/tg3.c
3702
int total_len = tp->fw->size;
drivers/net/ethernet/broadcom/tg3.c
3704
if (cpu_base == TX_CPU_BASE && tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
3705
netdev_err(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
3711
if (tg3_flag(tp, 5705_PLUS) && tg3_asic_rev(tp) != ASIC_REV_57766)
drivers/net/ethernet/broadcom/tg3.c
3716
if (tg3_asic_rev(tp) != ASIC_REV_57766) {
drivers/net/ethernet/broadcom/tg3.c
3720
int lock_err = tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
3721
err = tg3_halt_cpu(tp, cpu_base);
drivers/net/ethernet/broadcom/tg3.c
3723
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
3728
write_op(tp, cpu_scratch_base + i, 0);
drivers/net/ethernet/broadcom/tg3.c
3742
for (i = 0; i < tg3_fw_data_len(tp, fw_hdr); i++)
drivers/net/ethernet/broadcom/tg3.c
3743
write_op(tp, cpu_scratch_base +
drivers/net/ethernet/broadcom/tg3.c
3762
static int tg3_pause_cpu_and_set_pc(struct tg3 *tp, u32 cpu_base, u32 pc)
drivers/net/ethernet/broadcom/tg3.c
3783
static int tg3_load_5701_a0_firmware_fix(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3788
fw_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
drivers/net/ethernet/broadcom/tg3.c
3796
err = tg3_load_firmware_cpu(tp, RX_CPU_BASE,
drivers/net/ethernet/broadcom/tg3.c
3802
err = tg3_load_firmware_cpu(tp, TX_CPU_BASE,
drivers/net/ethernet/broadcom/tg3.c
3809
err = tg3_pause_cpu_and_set_pc(tp, RX_CPU_BASE,
drivers/net/ethernet/broadcom/tg3.c
3812
netdev_err(tp->dev, "%s fails to set RX CPU PC, is %08x "
drivers/net/ethernet/broadcom/tg3.c
3819
tg3_rxcpu_resume(tp);
drivers/net/ethernet/broadcom/tg3.c
3824
static int tg3_validate_rxcpu_state(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3841
netdev_err(tp->dev, "Boot code not ready for service patches\n");
drivers/net/ethernet/broadcom/tg3.c
3845
val = tg3_read_indirect_reg32(tp, TG3_57766_FW_HANDSHAKE);
drivers/net/ethernet/broadcom/tg3.c
3847
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
3856
static void tg3_load_57766_firmware(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3860
if (!tg3_flag(tp, NO_NVRAM))
drivers/net/ethernet/broadcom/tg3.c
3863
if (tg3_validate_rxcpu_state(tp))
drivers/net/ethernet/broadcom/tg3.c
3866
if (!tp->fw)
drivers/net/ethernet/broadcom/tg3.c
3883
fw_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
drivers/net/ethernet/broadcom/tg3.c
3887
if (tg3_rxcpu_pause(tp))
drivers/net/ethernet/broadcom/tg3.c
3891
tg3_load_firmware_cpu(tp, 0, TG3_57766_FW_BASE_ADDR, 0, fw_hdr);
drivers/net/ethernet/broadcom/tg3.c
3893
tg3_rxcpu_resume(tp);
drivers/net/ethernet/broadcom/tg3.c
3897
static int tg3_load_tso_firmware(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
3903
if (!tg3_flag(tp, FW_TSO))
drivers/net/ethernet/broadcom/tg3.c
3906
fw_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
drivers/net/ethernet/broadcom/tg3.c
3914
cpu_scratch_size = tp->fw_len;
drivers/net/ethernet/broadcom/tg3.c
3916
if (tg3_asic_rev(tp) == ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
3925
err = tg3_load_firmware_cpu(tp, cpu_base,
drivers/net/ethernet/broadcom/tg3.c
3932
err = tg3_pause_cpu_and_set_pc(tp, cpu_base,
drivers/net/ethernet/broadcom/tg3.c
3935
netdev_err(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
3942
tg3_resume_cpu(tp, cpu_base);
drivers/net/ethernet/broadcom/tg3.c
3947
static void __tg3_set_one_mac_addr(struct tg3 *tp, const u8 *mac_addr,
drivers/net/ethernet/broadcom/tg3.c
3967
static void __tg3_set_mac_addr(struct tg3 *tp, bool skip_mac_1)
drivers/net/ethernet/broadcom/tg3.c
3975
__tg3_set_one_mac_addr(tp, tp->dev->dev_addr, i);
drivers/net/ethernet/broadcom/tg3.c
3978
if (tg3_asic_rev(tp) == ASIC_REV_5703 ||
drivers/net/ethernet/broadcom/tg3.c
3979
tg3_asic_rev(tp) == ASIC_REV_5704) {
drivers/net/ethernet/broadcom/tg3.c
3981
__tg3_set_one_mac_addr(tp, tp->dev->dev_addr, i);
drivers/net/ethernet/broadcom/tg3.c
3984
addr_high = (tp->dev->dev_addr[0] +
drivers/net/ethernet/broadcom/tg3.c
3985
tp->dev->dev_addr[1] +
drivers/net/ethernet/broadcom/tg3.c
3986
tp->dev->dev_addr[2] +
drivers/net/ethernet/broadcom/tg3.c
3987
tp->dev->dev_addr[3] +
drivers/net/ethernet/broadcom/tg3.c
3988
tp->dev->dev_addr[4] +
drivers/net/ethernet/broadcom/tg3.c
3989
tp->dev->dev_addr[5]) &
drivers/net/ethernet/broadcom/tg3.c
3994
static void tg3_enable_register_access(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4000
pci_write_config_dword(tp->pdev,
drivers/net/ethernet/broadcom/tg3.c
4001
TG3PCI_MISC_HOST_CTRL, tp->misc_host_ctrl);
drivers/net/ethernet/broadcom/tg3.c
4004
static int tg3_power_up(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4008
tg3_enable_register_access(tp);
drivers/net/ethernet/broadcom/tg3.c
4010
err = pci_set_power_state(tp->pdev, PCI_D0);
drivers/net/ethernet/broadcom/tg3.c
4013
tg3_pwrsrc_switch_to_vmain(tp);
drivers/net/ethernet/broadcom/tg3.c
4015
netdev_err(tp->dev, "Transition to D0 failed\n");
drivers/net/ethernet/broadcom/tg3.c
4023
static void tg3_power_down_prepare(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4028
tg3_enable_register_access(tp);
drivers/net/ethernet/broadcom/tg3.c
4031
if (tg3_flag(tp, CLKREQ_BUG))
drivers/net/ethernet/broadcom/tg3.c
4032
pcie_capability_set_word(tp->pdev, PCI_EXP_LNKCTL,
drivers/net/ethernet/broadcom/tg3.c
4039
device_should_wake = device_may_wakeup(&tp->pdev->dev) &&
drivers/net/ethernet/broadcom/tg3.c
4040
tg3_flag(tp, WOL_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
4042
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
4044
if ((tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) &&
drivers/net/ethernet/broadcom/tg3.c
4045
!(tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
drivers/net/ethernet/broadcom/tg3.c
4050
phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
drivers/net/ethernet/broadcom/tg3.c
4052
tp->phy_flags |= TG3_PHYFLG_IS_LOW_POWER;
drivers/net/ethernet/broadcom/tg3.c
4054
tp->link_config.speed = phydev->speed;
drivers/net/ethernet/broadcom/tg3.c
4055
tp->link_config.duplex = phydev->duplex;
drivers/net/ethernet/broadcom/tg3.c
4056
tp->link_config.autoneg = phydev->autoneg;
drivers/net/ethernet/broadcom/tg3.c
4058
&tp->link_config.advertising,
drivers/net/ethernet/broadcom/tg3.c
4069
if (tg3_flag(tp, ENABLE_ASF) || device_should_wake) {
drivers/net/ethernet/broadcom/tg3.c
4070
if (tg3_flag(tp, WOL_SPEED_100MB)) {
drivers/net/ethernet/broadcom/tg3.c
4098
if (!(tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER))
drivers/net/ethernet/broadcom/tg3.c
4099
tp->phy_flags |= TG3_PHYFLG_IS_LOW_POWER;
drivers/net/ethernet/broadcom/tg3.c
4101
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES))
drivers/net/ethernet/broadcom/tg3.c
4102
tg3_setup_phy(tp, false);
drivers/net/ethernet/broadcom/tg3.c
4105
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
4110
} else if (!tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
4115
tg3_read_mem(tp, NIC_SRAM_FW_ASF_STATUS_MBOX, &val);
drivers/net/ethernet/broadcom/tg3.c
4121
if (tg3_flag(tp, WOL_CAP))
drivers/net/ethernet/broadcom/tg3.c
4122
tg3_write_mem(tp, NIC_SRAM_WOL_MBOX, WOL_SIGNATURE |
drivers/net/ethernet/broadcom/tg3.c
4130
if (!(tp->phy_flags & TG3_PHYFLG_PHY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
4132
!(tp->phy_flags & TG3_PHYFLG_IS_FET)) {
drivers/net/ethernet/broadcom/tg3.c
4133
tg3_phy_auxctl_write(tp,
drivers/net/ethernet/broadcom/tg3.c
4141
if (tp->phy_flags & TG3_PHYFLG_MII_SERDES)
drivers/net/ethernet/broadcom/tg3.c
4143
else if (tp->phy_flags &
drivers/net/ethernet/broadcom/tg3.c
4145
if (tp->link_config.active_speed == SPEED_1000)
drivers/net/ethernet/broadcom/tg3.c
4152
mac_mode |= tp->mac_mode & MAC_MODE_LINK_POLARITY;
drivers/net/ethernet/broadcom/tg3.c
4153
if (tg3_asic_rev(tp) == ASIC_REV_5700) {
drivers/net/ethernet/broadcom/tg3.c
4154
u32 speed = tg3_flag(tp, WOL_SPEED_100MB) ?
drivers/net/ethernet/broadcom/tg3.c
4156
if (tg3_5700_link_polarity(tp, speed))
drivers/net/ethernet/broadcom/tg3.c
4165
if (!tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
4166
tw32(MAC_LED_CTRL, tp->led_ctrl);
drivers/net/ethernet/broadcom/tg3.c
4169
if ((tg3_flag(tp, 5705_PLUS) && !tg3_flag(tp, 5780_CLASS)) &&
drivers/net/ethernet/broadcom/tg3.c
4170
(tg3_flag(tp, ENABLE_ASF) || tg3_flag(tp, ENABLE_APE)))
drivers/net/ethernet/broadcom/tg3.c
4173
if (tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
4185
if (!tg3_flag(tp, WOL_SPEED_100MB) &&
drivers/net/ethernet/broadcom/tg3.c
4186
(tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
4187
tg3_asic_rev(tp) == ASIC_REV_5701)) {
drivers/net/ethernet/broadcom/tg3.c
4190
base_val = tp->pci_clock_ctrl;
drivers/net/ethernet/broadcom/tg3.c
4196
} else if (tg3_flag(tp, 5780_CLASS) ||
drivers/net/ethernet/broadcom/tg3.c
4197
tg3_flag(tp, CPMU_PRESENT) ||
drivers/net/ethernet/broadcom/tg3.c
4198
tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
4200
} else if (!(tg3_flag(tp, 5750_PLUS) && tg3_flag(tp, ENABLE_ASF))) {
drivers/net/ethernet/broadcom/tg3.c
4203
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
4204
tg3_asic_rev(tp) == ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
4209
} else if (tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
4217
tw32_wait_f(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl | newbits1,
drivers/net/ethernet/broadcom/tg3.c
4220
tw32_wait_f(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl | newbits2,
drivers/net/ethernet/broadcom/tg3.c
4223
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
4226
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
4227
tg3_asic_rev(tp) == ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
4236
tp->pci_clock_ctrl | newbits3, 40);
drivers/net/ethernet/broadcom/tg3.c
4240
if (!(device_should_wake) && !tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
4241
tg3_power_down_phy(tp, do_low_power);
drivers/net/ethernet/broadcom/tg3.c
4243
tg3_frob_aux_power(tp, true);
drivers/net/ethernet/broadcom/tg3.c
4246
if ((!tg3_flag(tp, IS_SSB_CORE)) &&
drivers/net/ethernet/broadcom/tg3.c
4247
((tg3_chip_rev(tp) == CHIPREV_5750_AX) ||
drivers/net/ethernet/broadcom/tg3.c
4248
(tg3_chip_rev(tp) == CHIPREV_5750_BX))) {
drivers/net/ethernet/broadcom/tg3.c
4253
if (!tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
4256
err = tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
4257
tg3_halt_cpu(tp, RX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
4259
tg3_nvram_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
4263
tg3_write_sig_post_reset(tp, RESET_KIND_SHUTDOWN);
drivers/net/ethernet/broadcom/tg3.c
4265
tg3_ape_driver_state_change(tp, RESET_KIND_SHUTDOWN);
drivers/net/ethernet/broadcom/tg3.c
4270
static void tg3_power_down(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4272
pci_wake_from_d3(tp->pdev, tg3_flag(tp, WOL_ENABLE));
drivers/net/ethernet/broadcom/tg3.c
4273
pci_set_power_state(tp->pdev, PCI_D3hot);
drivers/net/ethernet/broadcom/tg3.c
4276
static void tg3_aux_stat_to_speed_duplex(struct tg3 *tp, u32 val, u32 *speed, u8 *duplex)
drivers/net/ethernet/broadcom/tg3.c
4310
if (tp->phy_flags & TG3_PHYFLG_IS_FET) {
drivers/net/ethernet/broadcom/tg3.c
4323
static int tg3_phy_autoneg_cfg(struct tg3 *tp, u32 advertise, u32 flowctrl)
drivers/net/ethernet/broadcom/tg3.c
4332
err = tg3_writephy(tp, MII_ADVERTISE, new_adv);
drivers/net/ethernet/broadcom/tg3.c
4336
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
4339
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0 ||
drivers/net/ethernet/broadcom/tg3.c
4340
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B0)
drivers/net/ethernet/broadcom/tg3.c
4343
err = tg3_writephy(tp, MII_CTRL1000, new_adv);
drivers/net/ethernet/broadcom/tg3.c
4348
if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP))
drivers/net/ethernet/broadcom/tg3.c
4354
err = tg3_phy_toggle_auxctl_smdsp(tp, true);
drivers/net/ethernet/broadcom/tg3.c
4358
if (!tp->eee.eee_enabled)
drivers/net/ethernet/broadcom/tg3.c
4363
mii_eee_cap1_mod_linkmode_t(tp->eee.advertised, val);
drivers/net/ethernet/broadcom/tg3.c
4364
err = tg3_phy_cl45_write(tp, MDIO_MMD_AN, MDIO_AN_EEE_ADV, val);
drivers/net/ethernet/broadcom/tg3.c
4368
switch (tg3_asic_rev(tp)) {
drivers/net/ethernet/broadcom/tg3.c
4378
tg3_phydsp_write(tp, MII_TG3_DSP_TAP26, val);
drivers/net/ethernet/broadcom/tg3.c
4382
if (!tg3_phydsp_read(tp, MII_TG3_DSP_CH34TP2, &val))
drivers/net/ethernet/broadcom/tg3.c
4383
tg3_phydsp_write(tp, MII_TG3_DSP_CH34TP2, val |
drivers/net/ethernet/broadcom/tg3.c
4387
err2 = tg3_phy_toggle_auxctl_smdsp(tp, false);
drivers/net/ethernet/broadcom/tg3.c
4396
static void tg3_phy_copper_begin(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4398
if (tp->link_config.autoneg == AUTONEG_ENABLE ||
drivers/net/ethernet/broadcom/tg3.c
4399
(tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
drivers/net/ethernet/broadcom/tg3.c
4402
if ((tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) &&
drivers/net/ethernet/broadcom/tg3.c
4403
!(tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN)) {
drivers/net/ethernet/broadcom/tg3.c
4406
if (tg3_flag(tp, WOL_SPEED_100MB))
drivers/net/ethernet/broadcom/tg3.c
4409
if (tp->phy_flags & TG3_PHYFLG_1G_ON_VAUX_OK) {
drivers/net/ethernet/broadcom/tg3.c
4410
if (!(tp->phy_flags &
drivers/net/ethernet/broadcom/tg3.c
4418
adv = tp->link_config.advertising;
drivers/net/ethernet/broadcom/tg3.c
4419
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
drivers/net/ethernet/broadcom/tg3.c
4423
fc = tp->link_config.flowctrl;
drivers/net/ethernet/broadcom/tg3.c
4426
tg3_phy_autoneg_cfg(tp, adv, fc);
drivers/net/ethernet/broadcom/tg3.c
4428
if ((tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) &&
drivers/net/ethernet/broadcom/tg3.c
4429
(tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN)) {
drivers/net/ethernet/broadcom/tg3.c
4437
tg3_writephy(tp, MII_BMCR,
drivers/net/ethernet/broadcom/tg3.c
4443
tp->link_config.active_speed = tp->link_config.speed;
drivers/net/ethernet/broadcom/tg3.c
4444
tp->link_config.active_duplex = tp->link_config.duplex;
drivers/net/ethernet/broadcom/tg3.c
4446
if (tg3_asic_rev(tp) == ASIC_REV_5714) {
drivers/net/ethernet/broadcom/tg3.c
4451
tg3_writephy(tp, MII_ADVERTISE, ADVERTISE_ALL);
drivers/net/ethernet/broadcom/tg3.c
4455
switch (tp->link_config.speed) {
drivers/net/ethernet/broadcom/tg3.c
4469
if (tp->link_config.duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/tg3.c
4472
if (!tg3_readphy(tp, MII_BMCR, &orig_bmcr) &&
drivers/net/ethernet/broadcom/tg3.c
4474
tg3_writephy(tp, MII_BMCR, BMCR_LOOPBACK);
drivers/net/ethernet/broadcom/tg3.c
4479
if (tg3_readphy(tp, MII_BMSR, &tmp) ||
drivers/net/ethernet/broadcom/tg3.c
4480
tg3_readphy(tp, MII_BMSR, &tmp))
drivers/net/ethernet/broadcom/tg3.c
4487
tg3_writephy(tp, MII_BMCR, bmcr);
drivers/net/ethernet/broadcom/tg3.c
4493
static int tg3_phy_pull_config(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4498
err = tg3_readphy(tp, MII_BMCR, &val);
drivers/net/ethernet/broadcom/tg3.c
4503
tp->link_config.autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/broadcom/tg3.c
4504
tp->link_config.advertising = 0;
drivers/net/ethernet/broadcom/tg3.c
4505
tg3_flag_clear(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
4511
if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
4514
tp->link_config.speed = SPEED_10;
drivers/net/ethernet/broadcom/tg3.c
4517
if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
4520
tp->link_config.speed = SPEED_100;
drivers/net/ethernet/broadcom/tg3.c
4523
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
4524
tp->link_config.speed = SPEED_1000;
drivers/net/ethernet/broadcom/tg3.c
4533
tp->link_config.duplex = DUPLEX_FULL;
drivers/net/ethernet/broadcom/tg3.c
4535
tp->link_config.duplex = DUPLEX_HALF;
drivers/net/ethernet/broadcom/tg3.c
4537
tp->link_config.flowctrl = FLOW_CTRL_RX | FLOW_CTRL_TX;
drivers/net/ethernet/broadcom/tg3.c
4543
tp->link_config.autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
4544
tp->link_config.advertising = ADVERTISED_Autoneg;
drivers/net/ethernet/broadcom/tg3.c
4545
tg3_flag_set(tp, PAUSE_AUTONEG);
drivers/net/ethernet/broadcom/tg3.c
4547
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
4550
err = tg3_readphy(tp, MII_ADVERTISE, &val);
drivers/net/ethernet/broadcom/tg3.c
4555
tp->link_config.advertising |= adv | ADVERTISED_TP;
drivers/net/ethernet/broadcom/tg3.c
4557
tp->link_config.flowctrl = tg3_decode_flowctrl_1000T(val);
drivers/net/ethernet/broadcom/tg3.c
4559
tp->link_config.advertising |= ADVERTISED_FIBRE;
drivers/net/ethernet/broadcom/tg3.c
4562
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
4565
if (!(tp->phy_flags & TG3_PHYFLG_ANY_SERDES)) {
drivers/net/ethernet/broadcom/tg3.c
4566
err = tg3_readphy(tp, MII_CTRL1000, &val);
drivers/net/ethernet/broadcom/tg3.c
4572
err = tg3_readphy(tp, MII_ADVERTISE, &val);
drivers/net/ethernet/broadcom/tg3.c
4577
tp->link_config.flowctrl = adv;
drivers/net/ethernet/broadcom/tg3.c
4583
tp->link_config.advertising |= adv;
drivers/net/ethernet/broadcom/tg3.c
4590
static int tg3_init_5401phy_dsp(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4596
err = tg3_phy_auxctl_write(tp, MII_TG3_AUXCTL_SHDWSEL_AUXCTL, 0x4c20);
drivers/net/ethernet/broadcom/tg3.c
4598
err |= tg3_phydsp_write(tp, 0x0012, 0x1804);
drivers/net/ethernet/broadcom/tg3.c
4599
err |= tg3_phydsp_write(tp, 0x0013, 0x1204);
drivers/net/ethernet/broadcom/tg3.c
4600
err |= tg3_phydsp_write(tp, 0x8006, 0x0132);
drivers/net/ethernet/broadcom/tg3.c
4601
err |= tg3_phydsp_write(tp, 0x8006, 0x0232);
drivers/net/ethernet/broadcom/tg3.c
4602
err |= tg3_phydsp_write(tp, 0x201f, 0x0a20);
drivers/net/ethernet/broadcom/tg3.c
4609
static bool tg3_phy_eee_config_ok(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4613
if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP))
drivers/net/ethernet/broadcom/tg3.c
4616
tg3_eee_pull_config(tp, &eee);
drivers/net/ethernet/broadcom/tg3.c
4618
if (tp->eee.eee_enabled) {
drivers/net/ethernet/broadcom/tg3.c
4619
if (!linkmode_equal(tp->eee.advertised, eee.advertised) ||
drivers/net/ethernet/broadcom/tg3.c
4620
tp->eee.tx_lpi_timer != eee.tx_lpi_timer ||
drivers/net/ethernet/broadcom/tg3.c
4621
tp->eee.tx_lpi_enabled != eee.tx_lpi_enabled)
drivers/net/ethernet/broadcom/tg3.c
4632
static bool tg3_phy_copper_an_config_ok(struct tg3 *tp, u32 *lcladv)
drivers/net/ethernet/broadcom/tg3.c
4636
advertising = tp->link_config.advertising;
drivers/net/ethernet/broadcom/tg3.c
4640
if (tp->link_config.active_duplex == DUPLEX_FULL) {
drivers/net/ethernet/broadcom/tg3.c
4641
tgtadv |= mii_advertise_flowctrl(tp->link_config.flowctrl);
drivers/net/ethernet/broadcom/tg3.c
4645
if (tg3_readphy(tp, MII_ADVERTISE, lcladv))
drivers/net/ethernet/broadcom/tg3.c
4651
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
4656
if (tg3_readphy(tp, MII_CTRL1000, &tg3_ctrl))
drivers/net/ethernet/broadcom/tg3.c
4660
(tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0 ||
drivers/net/ethernet/broadcom/tg3.c
4661
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B0)) {
drivers/net/ethernet/broadcom/tg3.c
4676
static bool tg3_phy_copper_fetch_rmtadv(struct tg3 *tp, u32 *rmtadv)
drivers/net/ethernet/broadcom/tg3.c
4680
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
drivers/net/ethernet/broadcom/tg3.c
4683
if (tg3_readphy(tp, MII_STAT1000, &val))
drivers/net/ethernet/broadcom/tg3.c
4689
if (tg3_readphy(tp, MII_LPA, rmtadv))
drivers/net/ethernet/broadcom/tg3.c
4693
tp->link_config.rmt_adv = lpeth;
drivers/net/ethernet/broadcom/tg3.c
4698
static bool tg3_test_and_report_link_chg(struct tg3 *tp, bool curr_link_up)
drivers/net/ethernet/broadcom/tg3.c
4700
if (curr_link_up != tp->link_up) {
drivers/net/ethernet/broadcom/tg3.c
4702
netif_carrier_on(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
4704
netif_carrier_off(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
4705
if (tp->phy_flags & TG3_PHYFLG_MII_SERDES)
drivers/net/ethernet/broadcom/tg3.c
4706
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
4709
tg3_link_report(tp);
drivers/net/ethernet/broadcom/tg3.c
471
static void tg3_write32(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
4716
static void tg3_clear_mac_status(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
4728
static void tg3_setup_eee(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
473
writel(val, tp->regs + off);
drivers/net/ethernet/broadcom/tg3.c
4734
if (tg3_chip_rev_id(tp) == CHIPREV_ID_57765_A0)
drivers/net/ethernet/broadcom/tg3.c
4743
(tp->eee.tx_lpi_enabled ? TG3_CPMU_EEEMD_LPI_IN_TX : 0) |
drivers/net/ethernet/broadcom/tg3.c
4747
if (tg3_asic_rev(tp) != ASIC_REV_5717)
drivers/net/ethernet/broadcom/tg3.c
4750
if (tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
4753
tw32_f(TG3_CPMU_EEE_MODE, tp->eee.eee_enabled ? val : 0);
drivers/net/ethernet/broadcom/tg3.c
4757
(tp->eee.tx_lpi_timer & 0xffff));
drivers/net/ethernet/broadcom/tg3.c
476
static u32 tg3_read32(struct tg3 *tp, u32 off)
drivers/net/ethernet/broadcom/tg3.c
4764
static int tg3_setup_copper_phy(struct tg3 *tp, bool force_reset)
drivers/net/ethernet/broadcom/tg3.c
4773
tg3_clear_mac_status(tp);
drivers/net/ethernet/broadcom/tg3.c
4775
if ((tp->mi_mode & MAC_MI_MODE_AUTO_POLL) != 0) {
drivers/net/ethernet/broadcom/tg3.c
4777
(tp->mi_mode & ~MAC_MI_MODE_AUTO_POLL));
drivers/net/ethernet/broadcom/tg3.c
478
return readl(tp->regs + off);
drivers/net/ethernet/broadcom/tg3.c
4781
tg3_phy_auxctl_write(tp, MII_TG3_AUXCTL_SHDWSEL_PWRCTL, 0);
drivers/net/ethernet/broadcom/tg3.c
4786
if ((tg3_asic_rev(tp) == ASIC_REV_5703 ||
drivers/net/ethernet/broadcom/tg3.c
4787
tg3_asic_rev(tp) == ASIC_REV_5704 ||
drivers/net/ethernet/broadcom/tg3.c
4788
tg3_asic_rev(tp) == ASIC_REV_5705) &&
drivers/net/ethernet/broadcom/tg3.c
4789
tp->link_up) {
drivers/net/ethernet/broadcom/tg3.c
4790
tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
4791
if (!tg3_readphy(tp, MII_BMSR, &bmsr) &&
drivers/net/ethernet/broadcom/tg3.c
4796
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
4798
if ((tp->phy_id & TG3_PHY_ID_MASK) == TG3_PHY_ID_BCM5401) {
drivers/net/ethernet/broadcom/tg3.c
4799
tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
4800
if (tg3_readphy(tp, MII_BMSR, &bmsr) ||
drivers/net/ethernet/broadcom/tg3.c
4801
!tg3_flag(tp, INIT_COMPLETE))
drivers/net/ethernet/broadcom/tg3.c
4805
err = tg3_init_5401phy_dsp(tp);
drivers/net/ethernet/broadcom/tg3.c
4809
tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
481
static void tg3_ape_write32(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
4812
if (!tg3_readphy(tp, MII_BMSR, &bmsr) &&
drivers/net/ethernet/broadcom/tg3.c
4819
if ((tp->phy_id & TG3_PHY_ID_REV_MASK) ==
drivers/net/ethernet/broadcom/tg3.c
4822
tp->link_config.active_speed == SPEED_1000) {
drivers/net/ethernet/broadcom/tg3.c
4823
err = tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
4825
err = tg3_init_5401phy_dsp(tp);
drivers/net/ethernet/broadcom/tg3.c
483
writel(val, tp->aperegs + off);
drivers/net/ethernet/broadcom/tg3.c
4830
} else if (tg3_chip_rev_id(tp) == CHIPREV_ID_5701_A0 ||
drivers/net/ethernet/broadcom/tg3.c
4831
tg3_chip_rev_id(tp) == CHIPREV_ID_5701_B0) {
drivers/net/ethernet/broadcom/tg3.c
4833
tg3_writephy(tp, 0x15, 0x0a75);
drivers/net/ethernet/broadcom/tg3.c
4834
tg3_writephy(tp, MII_TG3_MISC_SHDW, 0x8c68);
drivers/net/ethernet/broadcom/tg3.c
4835
tg3_writephy(tp, MII_TG3_MISC_SHDW, 0x8d68);
drivers/net/ethernet/broadcom/tg3.c
4836
tg3_writephy(tp, MII_TG3_MISC_SHDW, 0x8c68);
drivers/net/ethernet/broadcom/tg3.c
4840
tg3_readphy(tp, MII_TG3_ISTAT, &val);
drivers/net/ethernet/broadcom/tg3.c
4841
tg3_readphy(tp, MII_TG3_ISTAT, &val);
drivers/net/ethernet/broadcom/tg3.c
4843
if (tp->phy_flags & TG3_PHYFLG_USE_MI_INTERRUPT)
drivers/net/ethernet/broadcom/tg3.c
4844
tg3_writephy(tp, MII_TG3_IMASK, ~MII_TG3_INT_LINKCHG);
drivers/net/ethernet/broadcom/tg3.c
4845
else if (!(tp->phy_flags & TG3_PHYFLG_IS_FET))
drivers/net/ethernet/broadcom/tg3.c
4846
tg3_writephy(tp, MII_TG3_IMASK, ~0);
drivers/net/ethernet/broadcom/tg3.c
4848
if (tg3_asic_rev(tp) == ASIC_REV_5700 ||
drivers/net/ethernet/broadcom/tg3.c
4849
tg3_asic_rev(tp) == ASIC_REV_5701) {
drivers/net/ethernet/broadcom/tg3.c
4850
if (tp->led_ctrl == LED_CTRL_MODE_PHY_1)
drivers/net/ethernet/broadcom/tg3.c
4851
tg3_writephy(tp, MII_TG3_EXT_CTRL,
drivers/net/ethernet/broadcom/tg3.c
4854
tg3_writephy(tp, MII_TG3_EXT_CTRL, 0);
drivers/net/ethernet/broadcom/tg3.c
486
static u32 tg3_ape_read32(struct tg3 *tp, u32 off)
drivers/net/ethernet/broadcom/tg3.c
4860
tp->phy_flags &= ~TG3_PHYFLG_MDIX_STATE;
drivers/net/ethernet/broadcom/tg3.c
4861
tp->link_config.rmt_adv = 0;
drivers/net/ethernet/broadcom/tg3.c
4863
if (tp->phy_flags & TG3_PHYFLG_CAPACITIVE_COUPLING) {
drivers/net/ethernet/broadcom/tg3.c
4864
err = tg3_phy_auxctl_read(tp,
drivers/net/ethernet/broadcom/tg3.c
4868
tg3_phy_auxctl_write(tp,
drivers/net/ethernet/broadcom/tg3.c
4877
tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
4878
if (!tg3_readphy(tp, MII_BMSR, &bmsr) &&
drivers/net/ethernet/broadcom/tg3.c
488
return readl(tp->aperegs + off);
drivers/net/ethernet/broadcom/tg3.c
4887
tg3_readphy(tp, MII_TG3_AUX_STAT, &aux_stat);
drivers/net/ethernet/broadcom/tg3.c
4890
if (!tg3_readphy(tp, MII_TG3_AUX_STAT, &aux_stat) &&
drivers/net/ethernet/broadcom/tg3.c
4895
tg3_aux_stat_to_speed_duplex(tp, aux_stat,
drivers/net/ethernet/broadcom/tg3.c
4901
tg3_readphy(tp, MII_BMCR, &bmcr);
drivers/net/ethernet/broadcom/tg3.c
4902
if (tg3_readphy(tp, MII_BMCR, &bmcr))
drivers/net/ethernet/broadcom/tg3.c
491
static void tg3_write_indirect_reg32(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
4912
tp->link_config.active_speed = current_speed;
drivers/net/ethernet/broadcom/tg3.c
4913
tp->link_config.active_duplex = current_duplex;
drivers/net/ethernet/broadcom/tg3.c
4915
if (tp->link_config.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/broadcom/tg3.c
4916
bool eee_config_ok = tg3_phy_eee_config_ok(tp);
drivers/net/ethernet/broadcom/tg3.c
4920
tg3_phy_copper_an_config_ok(tp, &lcl_adv) &&
drivers/net/ethernet/broadcom/tg3.c
4921
tg3_phy_copper_fetch_rmtadv(tp, &rmt_adv))
drivers/net/ethernet/broadcom/tg3.c
4929
(tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN) &&
drivers/net/ethernet/broadcom/tg3.c
4931
tg3_setup_eee(tp);
drivers/net/ethernet/broadcom/tg3.c
4932
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
4936
tp->link_config.speed == current_speed &&
drivers/net/ethernet/broadcom/tg3.c
4937
tp->link_config.duplex == current_duplex) {
drivers/net/ethernet/broadcom/tg3.c
4943
tp->link_config.active_duplex == DUPLEX_FULL) {
drivers/net/ethernet/broadcom/tg3.c
4946
if (tp->phy_flags & TG3_PHYFLG_IS_FET) {
drivers/net/ethernet/broadcom/tg3.c
495
spin_lock_irqsave(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
4954
if (!tg3_readphy(tp, reg, &val) && (val & bit))
drivers/net/ethernet/broadcom/tg3.c
4955
tp->phy_flags |= TG3_PHYFLG_MDIX_STATE;
drivers/net/ethernet/broadcom/tg3.c
4957
tg3_setup_flow_control(tp, lcl_adv, rmt_adv);
drivers/net/ethernet/broadcom/tg3.c
496
pci_write_config_dword(tp->pdev, TG3PCI_REG_BASE_ADDR, off);
drivers/net/ethernet/broadcom/tg3.c
4962
if (!current_link_up || (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
drivers/net/ethernet/broadcom/tg3.c
4963
tg3_phy_copper_begin(tp);
drivers/net/ethernet/broadcom/tg3.c
4965
if (tg3_flag(tp, ROBOSWITCH)) {
drivers/net/ethernet/broadcom/tg3.c
497
pci_write_config_dword(tp->pdev, TG3PCI_REG_DATA, val);
drivers/net/ethernet/broadcom/tg3.c
4970
tp->link_config.active_speed = current_speed;
drivers/net/ethernet/broadcom/tg3.c
4971
tp->link_config.active_duplex = current_duplex;
drivers/net/ethernet/broadcom/tg3.c
4974
tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
4975
if ((!tg3_readphy(tp, MII_BMSR, &bmsr) && (bmsr & BMSR_LSTATUS)) ||
drivers/net/ethernet/broadcom/tg3.c
4976
(tp->mac_mode & MAC_MODE_PORT_INT_LPBACK))
drivers/net/ethernet/broadcom/tg3.c
498
spin_unlock_irqrestore(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
4980
tp->mac_mode &= ~MAC_MODE_PORT_MODE_MASK;
drivers/net/ethernet/broadcom/tg3.c
4982
if (tp->link_config.active_speed == SPEED_100 ||
drivers/net/ethernet/broadcom/tg3.c
4983
tp->link_config.active_speed == SPEED_10)
drivers/net/ethernet/broadcom/tg3.c
4984
tp->mac_mode |= MAC_MODE_PORT_MODE_MII;
drivers/net/ethernet/broadcom/tg3.c
4986
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
4987
} else if (tp->phy_flags & TG3_PHYFLG_IS_FET)
drivers/net/ethernet/broadcom/tg3.c
4988
tp->mac_mode |= MAC_MODE_PORT_MODE_MII;
drivers/net/ethernet/broadcom/tg3.c
4990
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
4995
if (tg3_flag(tp, RGMII_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
4999
if (tp->link_config.active_speed == SPEED_10)
drivers/net/ethernet/broadcom/tg3.c
5001
else if (tp->link_config.active_speed == SPEED_100)
drivers/net/ethernet/broadcom/tg3.c
5004
else if (tp->link_config.active_speed == SPEED_1000)
drivers/net/ethernet/broadcom/tg3.c
501
static void tg3_write_flush_reg32(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
5012
tp->mac_mode &= ~MAC_MODE_HALF_DUPLEX;
drivers/net/ethernet/broadcom/tg3.c
5013
if (tp->link_config.active_duplex == DUPLEX_HALF)
drivers/net/ethernet/broadcom/tg3.c
5014
tp->mac_mode |= MAC_MODE_HALF_DUPLEX;
drivers/net/ethernet/broadcom/tg3.c
5016
if (tg3_asic_rev(tp) == ASIC_REV_5700) {
drivers/net/ethernet/broadcom/tg3.c
5018
tg3_5700_link_polarity(tp, tp->link_config.active_speed))
drivers/net/ethernet/broadcom/tg3.c
5019
tp->mac_mode |= MAC_MODE_LINK_POLARITY;
drivers/net/ethernet/broadcom/tg3.c
5021
tp->mac_mode &= ~MAC_MODE_LINK_POLARITY;
drivers/net/ethernet/broadcom/tg3.c
5027
if ((tp->phy_id & TG3_PHY_ID_MASK) == TG3_PHY_ID_BCM5411 &&
drivers/net/ethernet/broadcom/tg3.c
5028
tg3_chip_rev_id(tp) == CHIPREV_ID_5700_ALTIMA) {
drivers/net/ethernet/broadcom/tg3.c
5029
tp->mi_mode |= MAC_MI_MODE_AUTO_POLL;
drivers/net/ethernet/broadcom/tg3.c
503
writel(val, tp->regs + off);
drivers/net/ethernet/broadcom/tg3.c
5030
tw32_f(MAC_MI_MODE, tp->mi_mode);
drivers/net/ethernet/broadcom/tg3.c
5034
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5037
tg3_phy_eee_adjust(tp, current_link_up);
drivers/net/ethernet/broadcom/tg3.c
5039
if (tg3_flag(tp, USE_LINKCHG_REG)) {
drivers/net/ethernet/broadcom/tg3.c
504
readl(tp->regs + off);
drivers/net/ethernet/broadcom/tg3.c
5047
if (tg3_asic_rev(tp) == ASIC_REV_5700 &&
drivers/net/ethernet/broadcom/tg3.c
5049
tp->link_config.active_speed == SPEED_1000 &&
drivers/net/ethernet/broadcom/tg3.c
5050
(tg3_flag(tp, PCIX_MODE) || tg3_flag(tp, PCI_HIGH_SPEED))) {
drivers/net/ethernet/broadcom/tg3.c
5056
tg3_write_mem(tp,
drivers/net/ethernet/broadcom/tg3.c
5062
if (tg3_flag(tp, CLKREQ_BUG)) {
drivers/net/ethernet/broadcom/tg3.c
5063
if (tp->link_config.active_speed == SPEED_100 ||
drivers/net/ethernet/broadcom/tg3.c
5064
tp->link_config.active_speed == SPEED_10)
drivers/net/ethernet/broadcom/tg3.c
5065
pcie_capability_clear_word(tp->pdev, PCI_EXP_LNKCTL,
drivers/net/ethernet/broadcom/tg3.c
5068
pcie_capability_set_word(tp->pdev, PCI_EXP_LNKCTL,
drivers/net/ethernet/broadcom/tg3.c
507
static u32 tg3_read_indirect_reg32(struct tg3 *tp, u32 off)
drivers/net/ethernet/broadcom/tg3.c
5072
tg3_test_and_report_link_chg(tp, current_link_up);
drivers/net/ethernet/broadcom/tg3.c
512
spin_lock_irqsave(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
513
pci_write_config_dword(tp->pdev, TG3PCI_REG_BASE_ADDR, off);
drivers/net/ethernet/broadcom/tg3.c
514
pci_read_config_dword(tp->pdev, TG3PCI_REG_DATA, &val);
drivers/net/ethernet/broadcom/tg3.c
5141
static int tg3_fiber_aneg_smachine(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
515
spin_unlock_irqrestore(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
519
static void tg3_write_indirect_mbox(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
5221
tp->mac_mode |= MAC_MODE_SEND_CONFIGS;
drivers/net/ethernet/broadcom/tg3.c
5222
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
524
pci_write_config_dword(tp->pdev, TG3PCI_RCV_RET_RING_CON_IDX +
drivers/net/ethernet/broadcom/tg3.c
5244
flowctrl = tg3_advert_flowctrl_1000X(tp->link_config.flowctrl);
drivers/net/ethernet/broadcom/tg3.c
5250
tp->mac_mode |= MAC_MODE_SEND_CONFIGS;
drivers/net/ethernet/broadcom/tg3.c
5251
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5265
tp->mac_mode |= MAC_MODE_SEND_CONFIGS;
drivers/net/ethernet/broadcom/tg3.c
5266
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
529
pci_write_config_dword(tp->pdev, TG3PCI_STD_RING_PROD_IDX +
drivers/net/ethernet/broadcom/tg3.c
534
spin_lock_irqsave(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
535
pci_write_config_dword(tp->pdev, TG3PCI_REG_BASE_ADDR, off + 0x5600);
drivers/net/ethernet/broadcom/tg3.c
5351
tp->mac_mode &= ~MAC_MODE_SEND_CONFIGS;
drivers/net/ethernet/broadcom/tg3.c
5352
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
536
pci_write_config_dword(tp->pdev, TG3PCI_REG_DATA, val);
drivers/net/ethernet/broadcom/tg3.c
537
spin_unlock_irqrestore(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
5393
static int fiber_autoneg(struct tg3 *tp, u32 *txflags, u32 *rxflags)
drivers/net/ethernet/broadcom/tg3.c
5403
tmp = tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK;
drivers/net/ethernet/broadcom/tg3.c
5407
tw32_f(MAC_MODE, tp->mac_mode | MAC_MODE_SEND_CONFIGS);
drivers/net/ethernet/broadcom/tg3.c
5416
status = tg3_fiber_aneg_smachine(tp, &aninfo);
drivers/net/ethernet/broadcom/tg3.c
5423
tp->mac_mode &= ~MAC_MODE_SEND_CONFIGS;
drivers/net/ethernet/broadcom/tg3.c
5424
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5438
static void tg3_init_bcm8002(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
544
pci_write_config_dword(tp->pdev, TG3PCI_MISC_LOCAL_CTRL,
drivers/net/ethernet/broadcom/tg3.c
5444
if (tg3_flag(tp, INIT_COMPLETE) &&
drivers/net/ethernet/broadcom/tg3.c
5449
tg3_writephy(tp, 0x16, 0x8007);
drivers/net/ethernet/broadcom/tg3.c
545
tp->grc_local_ctrl|GRC_LCLCTRL_CLEARINT);
drivers/net/ethernet/broadcom/tg3.c
5452
tg3_writephy(tp, MII_BMCR, BMCR_RESET);
drivers/net/ethernet/broadcom/tg3.c
5460
tg3_writephy(tp, 0x10, 0x8411);
drivers/net/ethernet/broadcom/tg3.c
5463
tg3_writephy(tp, 0x11, 0x0a10);
drivers/net/ethernet/broadcom/tg3.c
5465
tg3_writephy(tp, 0x18, 0x00a0);
drivers/net/ethernet/broadcom/tg3.c
5466
tg3_writephy(tp, 0x16, 0x41ff);
drivers/net/ethernet/broadcom/tg3.c
5469
tg3_writephy(tp, 0x13, 0x0400);
drivers/net/ethernet/broadcom/tg3.c
5471
tg3_writephy(tp, 0x13, 0x0000);
drivers/net/ethernet/broadcom/tg3.c
5473
tg3_writephy(tp, 0x11, 0x0a50);
drivers/net/ethernet/broadcom/tg3.c
5475
tg3_writephy(tp, 0x11, 0x0a10);
drivers/net/ethernet/broadcom/tg3.c
5485
tg3_writephy(tp, 0x10, 0x8011);
drivers/net/ethernet/broadcom/tg3.c
5488
static bool tg3_setup_fiber_hw_autoneg(struct tg3 *tp, u32 mac_status)
drivers/net/ethernet/broadcom/tg3.c
549
static u32 tg3_read_indirect_mbox(struct tg3 *tp, u32 off)
drivers/net/ethernet/broadcom/tg3.c
5501
if (tg3_chip_rev_id(tp) != CHIPREV_ID_5704_A0 &&
drivers/net/ethernet/broadcom/tg3.c
5502
tg3_chip_rev_id(tp) != CHIPREV_ID_5704_A1) {
drivers/net/ethernet/broadcom/tg3.c
5514
if (tp->link_config.autoneg != AUTONEG_ENABLE) {
drivers/net/ethernet/broadcom/tg3.c
5529
tg3_setup_flow_control(tp, 0, 0);
drivers/net/ethernet/broadcom/tg3.c
5538
flowctrl = tg3_advert_flowctrl_1000X(tp->link_config.flowctrl);
drivers/net/ethernet/broadcom/tg3.c
554
spin_lock_irqsave(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
5545
if ((tp->phy_flags & TG3_PHYFLG_PARALLEL_DETECT) &&
drivers/net/ethernet/broadcom/tg3.c
5546
tp->serdes_counter &&
drivers/net/ethernet/broadcom/tg3.c
555
pci_write_config_dword(tp->pdev, TG3PCI_REG_BASE_ADDR, off + 0x5600);
drivers/net/ethernet/broadcom/tg3.c
5550
tp->serdes_counter--;
drivers/net/ethernet/broadcom/tg3.c
556
pci_read_config_dword(tp->pdev, TG3PCI_REG_DATA, &val);
drivers/net/ethernet/broadcom/tg3.c
5561
tp->serdes_counter = SERDES_AN_TIMEOUT_5704S;
drivers/net/ethernet/broadcom/tg3.c
5562
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
557
spin_unlock_irqrestore(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
5582
tp->link_config.rmt_adv =
drivers/net/ethernet/broadcom/tg3.c
5585
tg3_setup_flow_control(tp, local_adv, remote_adv);
drivers/net/ethernet/broadcom/tg3.c
5587
tp->serdes_counter = 0;
drivers/net/ethernet/broadcom/tg3.c
5588
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
5590
if (tp->serdes_counter)
drivers/net/ethernet/broadcom/tg3.c
5591
tp->serdes_counter--;
drivers/net/ethernet/broadcom/tg3.c
5613
tg3_setup_flow_control(tp, 0, 0);
drivers/net/ethernet/broadcom/tg3.c
5615
tp->phy_flags |=
drivers/net/ethernet/broadcom/tg3.c
5617
tp->serdes_counter =
drivers/net/ethernet/broadcom/tg3.c
5624
tp->serdes_counter = SERDES_AN_TIMEOUT_5704S;
drivers/net/ethernet/broadcom/tg3.c
5625
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
5632
static bool tg3_setup_fiber_by_hand(struct tg3 *tp, u32 mac_status)
drivers/net/ethernet/broadcom/tg3.c
5639
if (tp->link_config.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/broadcom/tg3.c
5643
if (fiber_autoneg(tp, &txflags, &rxflags)) {
drivers/net/ethernet/broadcom/tg3.c
5656
tp->link_config.rmt_adv =
drivers/net/ethernet/broadcom/tg3.c
5659
tg3_setup_flow_control(tp, local_adv, remote_adv);
drivers/net/ethernet/broadcom/tg3.c
566
static void _tw32_flush(struct tg3 *tp, u32 off, u32 val, u32 usec_wait)
drivers/net/ethernet/broadcom/tg3.c
568
if (tg3_flag(tp, PCIX_TARGET_HWBUG) || tg3_flag(tp, ICH_WORKAROUND))
drivers/net/ethernet/broadcom/tg3.c
5681
tg3_setup_flow_control(tp, 0, 0);
drivers/net/ethernet/broadcom/tg3.c
5686
tw32_f(MAC_MODE, (tp->mac_mode | MAC_MODE_SEND_CONFIGS));
drivers/net/ethernet/broadcom/tg3.c
5689
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5697
static int tg3_setup_fiber_phy(struct tg3 *tp, bool force_reset)
drivers/net/ethernet/broadcom/tg3.c
570
tp->write32(tp, off, val);
drivers/net/ethernet/broadcom/tg3.c
5706
orig_pause_cfg = tp->link_config.active_flowctrl;
drivers/net/ethernet/broadcom/tg3.c
5707
orig_active_speed = tp->link_config.active_speed;
drivers/net/ethernet/broadcom/tg3.c
5708
orig_active_duplex = tp->link_config.active_duplex;
drivers/net/ethernet/broadcom/tg3.c
5710
if (!tg3_flag(tp, HW_AUTONEG) &&
drivers/net/ethernet/broadcom/tg3.c
5711
tp->link_up &&
drivers/net/ethernet/broadcom/tg3.c
5712
tg3_flag(tp, INIT_COMPLETE)) {
drivers/net/ethernet/broadcom/tg3.c
5728
tp->mac_mode &= ~(MAC_MODE_PORT_MODE_MASK | MAC_MODE_HALF_DUPLEX);
drivers/net/ethernet/broadcom/tg3.c
5729
tp->mac_mode |= MAC_MODE_PORT_MODE_TBI;
drivers/net/ethernet/broadcom/tg3.c
573
tg3_write32(tp, off, val);
drivers/net/ethernet/broadcom/tg3.c
5730
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5733
if (tp->phy_id == TG3_PHY_ID_BCM8002)
drivers/net/ethernet/broadcom/tg3.c
5734
tg3_init_bcm8002(tp);
drivers/net/ethernet/broadcom/tg3.c
5740
tp->link_config.rmt_adv = 0;
drivers/net/ethernet/broadcom/tg3.c
5743
if (tg3_flag(tp, HW_AUTONEG))
drivers/net/ethernet/broadcom/tg3.c
5744
current_link_up = tg3_setup_fiber_hw_autoneg(tp, mac_status);
drivers/net/ethernet/broadcom/tg3.c
5746
current_link_up = tg3_setup_fiber_by_hand(tp, mac_status);
drivers/net/ethernet/broadcom/tg3.c
5748
tp->napi[0].hw_status->status =
drivers/net/ethernet/broadcom/tg3.c
5750
(tp->napi[0].hw_status->status & ~SD_STATUS_LINK_CHG));
drivers/net/ethernet/broadcom/tg3.c
576
tp->read32(tp, off);
drivers/net/ethernet/broadcom/tg3.c
5765
if (tp->link_config.autoneg == AUTONEG_ENABLE &&
drivers/net/ethernet/broadcom/tg3.c
5766
tp->serdes_counter == 0) {
drivers/net/ethernet/broadcom/tg3.c
5767
tw32_f(MAC_MODE, (tp->mac_mode |
drivers/net/ethernet/broadcom/tg3.c
5770
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5775
tp->link_config.active_speed = SPEED_1000;
drivers/net/ethernet/broadcom/tg3.c
5776
tp->link_config.active_duplex = DUPLEX_FULL;
drivers/net/ethernet/broadcom/tg3.c
5777
tw32(MAC_LED_CTRL, (tp->led_ctrl |
drivers/net/ethernet/broadcom/tg3.c
5781
tp->link_config.active_speed = SPEED_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
5782
tp->link_config.active_duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/broadcom/tg3.c
5783
tw32(MAC_LED_CTRL, (tp->led_ctrl |
drivers/net/ethernet/broadcom/tg3.c
5788
if (!tg3_test_and_report_link_chg(tp, current_link_up)) {
drivers/net/ethernet/broadcom/tg3.c
5789
u32 now_pause_cfg = tp->link_config.active_flowctrl;
drivers/net/ethernet/broadcom/tg3.c
5791
orig_active_speed != tp->link_config.active_speed ||
drivers/net/ethernet/broadcom/tg3.c
5792
orig_active_duplex != tp->link_config.active_duplex)
drivers/net/ethernet/broadcom/tg3.c
5793
tg3_link_report(tp);
drivers/net/ethernet/broadcom/tg3.c
5799
static int tg3_setup_fiber_mii_phy(struct tg3 *tp, bool force_reset)
drivers/net/ethernet/broadcom/tg3.c
5808
if ((tg3_asic_rev(tp) == ASIC_REV_5719 ||
drivers/net/ethernet/broadcom/tg3.c
5809
tg3_asic_rev(tp) == ASIC_REV_5720) &&
drivers/net/ethernet/broadcom/tg3.c
5810
!tg3_readphy(tp, SERDES_TG3_1000X_STATUS, &sgsr) &&
drivers/net/ethernet/broadcom/tg3.c
5814
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
5816
tp->mac_mode &= ~MAC_MODE_PORT_MODE_MASK;
drivers/net/ethernet/broadcom/tg3.c
5819
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
5824
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
5827
tp->mac_mode |= MAC_MODE_PORT_MODE_MII;
drivers/net/ethernet/broadcom/tg3.c
5830
tp->mac_mode |= MAC_MODE_PORT_MODE_MII;
drivers/net/ethernet/broadcom/tg3.c
5839
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
5842
tg3_clear_mac_status(tp);
drivers/net/ethernet/broadcom/tg3.c
5847
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
5848
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
585
static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
5851
tg3_clear_mac_status(tp);
drivers/net/ethernet/broadcom/tg3.c
5854
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
5856
tp->link_config.rmt_adv = 0;
drivers/net/ethernet/broadcom/tg3.c
5858
err |= tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
5859
err |= tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
5860
if (tg3_asic_rev(tp) == ASIC_REV_5714) {
drivers/net/ethernet/broadcom/tg3.c
5867
err |= tg3_readphy(tp, MII_BMCR, &bmcr);
drivers/net/ethernet/broadcom/tg3.c
5869
if ((tp->link_config.autoneg == AUTONEG_ENABLE) && !force_reset &&
drivers/net/ethernet/broadcom/tg3.c
587
tp->write32_mbox(tp, off, val);
drivers/net/ethernet/broadcom/tg3.c
5870
(tp->phy_flags & TG3_PHYFLG_PARALLEL_DETECT)) {
drivers/net/ethernet/broadcom/tg3.c
5872
} else if (tp->link_config.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/broadcom/tg3.c
5875
err |= tg3_readphy(tp, MII_ADVERTISE, &adv);
drivers/net/ethernet/broadcom/tg3.c
588
if (tg3_flag(tp, FLUSH_POSTED_WRITES) ||
drivers/net/ethernet/broadcom/tg3.c
5881
newadv |= tg3_advert_flowctrl_1000X(tp->link_config.flowctrl);
drivers/net/ethernet/broadcom/tg3.c
5882
newadv |= ethtool_adv_to_mii_adv_x(tp->link_config.advertising);
drivers/net/ethernet/broadcom/tg3.c
5885
tg3_writephy(tp, MII_ADVERTISE, newadv);
drivers/net/ethernet/broadcom/tg3.c
5887
tg3_writephy(tp, MII_BMCR, bmcr);
drivers/net/ethernet/broadcom/tg3.c
589
(!tg3_flag(tp, MBOX_WRITE_REORDER) &&
drivers/net/ethernet/broadcom/tg3.c
5890
tp->serdes_counter = SERDES_AN_TIMEOUT_5714S;
drivers/net/ethernet/broadcom/tg3.c
5891
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
590
!tg3_flag(tp, ICH_WORKAROUND)))
drivers/net/ethernet/broadcom/tg3.c
5901
if (tp->link_config.duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/tg3.c
591
tp->read32_mbox(tp, off);
drivers/net/ethernet/broadcom/tg3.c
5911
if (tp->link_up) {
drivers/net/ethernet/broadcom/tg3.c
5914
err |= tg3_readphy(tp, MII_ADVERTISE, &adv);
drivers/net/ethernet/broadcom/tg3.c
5918
tg3_writephy(tp, MII_ADVERTISE, adv);
drivers/net/ethernet/broadcom/tg3.c
5919
tg3_writephy(tp, MII_BMCR, bmcr |
drivers/net/ethernet/broadcom/tg3.c
5923
tg3_carrier_off(tp);
drivers/net/ethernet/broadcom/tg3.c
5925
tg3_writephy(tp, MII_BMCR, new_bmcr);
drivers/net/ethernet/broadcom/tg3.c
5927
err |= tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
5928
err |= tg3_readphy(tp, MII_BMSR, &bmsr);
drivers/net/ethernet/broadcom/tg3.c
5929
if (tg3_asic_rev(tp) == ASIC_REV_5714) {
drivers/net/ethernet/broadcom/tg3.c
5935
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
594
static void tg3_write32_tx_mbox(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
5950
err |= tg3_readphy(tp, MII_ADVERTISE, &local_adv);
drivers/net/ethernet/broadcom/tg3.c
5951
err |= tg3_readphy(tp, MII_LPA, &remote_adv);
drivers/net/ethernet/broadcom/tg3.c
596
void __iomem *mbox = tp->regs + off;
drivers/net/ethernet/broadcom/tg3.c
5960
tp->link_config.rmt_adv =
drivers/net/ethernet/broadcom/tg3.c
5962
} else if (!tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
5972
tg3_setup_flow_control(tp, local_adv, remote_adv);
drivers/net/ethernet/broadcom/tg3.c
5974
tp->mac_mode &= ~MAC_MODE_HALF_DUPLEX;
drivers/net/ethernet/broadcom/tg3.c
5975
if (tp->link_config.active_duplex == DUPLEX_HALF)
drivers/net/ethernet/broadcom/tg3.c
5976
tp->mac_mode |= MAC_MODE_HALF_DUPLEX;
drivers/net/ethernet/broadcom/tg3.c
5978
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
598
if (tg3_flag(tp, TXD_MBOX_HWBUG))
drivers/net/ethernet/broadcom/tg3.c
5983
tp->link_config.active_speed = current_speed;
drivers/net/ethernet/broadcom/tg3.c
5984
tp->link_config.active_duplex = current_duplex;
drivers/net/ethernet/broadcom/tg3.c
5986
tg3_test_and_report_link_chg(tp, current_link_up);
drivers/net/ethernet/broadcom/tg3.c
5990
static void tg3_serdes_parallel_detect(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
5992
if (tp->serdes_counter) {
drivers/net/ethernet/broadcom/tg3.c
5994
tp->serdes_counter--;
drivers/net/ethernet/broadcom/tg3.c
5998
if (!tp->link_up &&
drivers/net/ethernet/broadcom/tg3.c
5999
(tp->link_config.autoneg == AUTONEG_ENABLE)) {
drivers/net/ethernet/broadcom/tg3.c
600
if (tg3_flag(tp, MBOX_WRITE_REORDER) ||
drivers/net/ethernet/broadcom/tg3.c
6002
tg3_readphy(tp, MII_BMCR, &bmcr);
drivers/net/ethernet/broadcom/tg3.c
6007
tg3_writephy(tp, MII_TG3_MISC_SHDW, 0x7c00);
drivers/net/ethernet/broadcom/tg3.c
6008
tg3_readphy(tp, MII_TG3_MISC_SHDW, &phy1);
drivers/net/ethernet/broadcom/tg3.c
601
tg3_flag(tp, FLUSH_POSTED_WRITES))
drivers/net/ethernet/broadcom/tg3.c
6011
tg3_writephy(tp, MII_TG3_DSP_ADDRESS,
drivers/net/ethernet/broadcom/tg3.c
6013
tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &phy2);
drivers/net/ethernet/broadcom/tg3.c
6014
tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &phy2);
drivers/net/ethernet/broadcom/tg3.c
6024
tg3_writephy(tp, MII_BMCR, bmcr);
drivers/net/ethernet/broadcom/tg3.c
6025
tp->phy_flags |= TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
6028
} else if (tp->link_up &&
drivers/net/ethernet/broadcom/tg3.c
6029
(tp->link_config.autoneg == AUTONEG_ENABLE) &&
drivers/net/ethernet/broadcom/tg3.c
6030
(tp->phy_flags & TG3_PHYFLG_PARALLEL_DETECT)) {
drivers/net/ethernet/broadcom/tg3.c
6034
tg3_writephy(tp, MII_TG3_DSP_ADDRESS,
drivers/net/ethernet/broadcom/tg3.c
6036
tg3_readphy(tp, MII_TG3_DSP_RW_PORT, &phy2);
drivers/net/ethernet/broadcom/tg3.c
6041
tg3_readphy(tp, MII_BMCR, &bmcr);
drivers/net/ethernet/broadcom/tg3.c
6042
tg3_writephy(tp, MII_BMCR, bmcr | BMCR_ANENABLE);
drivers/net/ethernet/broadcom/tg3.c
6044
tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT;
drivers/net/ethernet/broadcom/tg3.c
605
static u32 tg3_read32_mbox_5906(struct tg3 *tp, u32 off)
drivers/net/ethernet/broadcom/tg3.c
6050
static int tg3_setup_phy(struct tg3 *tp, bool force_reset)
drivers/net/ethernet/broadcom/tg3.c
6055
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)
drivers/net/ethernet/broadcom/tg3.c
6056
err = tg3_setup_fiber_phy(tp, force_reset);
drivers/net/ethernet/broadcom/tg3.c
6057
else if (tp->phy_flags & TG3_PHYFLG_MII_SERDES)
drivers/net/ethernet/broadcom/tg3.c
6058
err = tg3_setup_fiber_mii_phy(tp, force_reset);
drivers/net/ethernet/broadcom/tg3.c
6060
err = tg3_setup_copper_phy(tp, force_reset);
drivers/net/ethernet/broadcom/tg3.c
6062
if (tg3_chip_rev(tp) == CHIPREV_5784_AX) {
drivers/net/ethernet/broadcom/tg3.c
607
return readl(tp->regs + off + GRCMBOX_BASE);
drivers/net/ethernet/broadcom/tg3.c
6080
if (tg3_asic_rev(tp) == ASIC_REV_5720 ||
drivers/net/ethernet/broadcom/tg3.c
6081
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
6086
if (tp->link_config.active_speed == SPEED_1000 &&
drivers/net/ethernet/broadcom/tg3.c
6087
tp->link_config.active_duplex == DUPLEX_HALF)
drivers/net/ethernet/broadcom/tg3.c
6094
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
6095
if (tp->link_up) {
drivers/net/ethernet/broadcom/tg3.c
6097
tp->coal.stats_block_coalesce_usecs);
drivers/net/ethernet/broadcom/tg3.c
610
static void tg3_write32_mbox_5906(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
6103
if (tg3_flag(tp, ASPM_WORKAROUND)) {
drivers/net/ethernet/broadcom/tg3.c
6105
if (!tp->link_up)
drivers/net/ethernet/broadcom/tg3.c
6107
tp->pwrmgmt_thresh;
drivers/net/ethernet/broadcom/tg3.c
6117
static u64 tg3_refclk_read(struct tg3 *tp, struct ptp_system_timestamp *sts)
drivers/net/ethernet/broadcom/tg3.c
612
writel(val, tp->regs + off + GRCMBOX_BASE);
drivers/net/ethernet/broadcom/tg3.c
6130
static void tg3_refclk_write(struct tg3 *tp, u64 newval)
drivers/net/ethernet/broadcom/tg3.c
6140
static inline void tg3_full_lock(struct tg3 *tp, int irq_sync);
drivers/net/ethernet/broadcom/tg3.c
6141
static inline void tg3_full_unlock(struct tg3 *tp);
drivers/net/ethernet/broadcom/tg3.c
6144
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
6148
if (tg3_flag(tp, PTP_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
615
#define tw32_mailbox(reg, val) tp->write32_mbox(tp, reg, val)
drivers/net/ethernet/broadcom/tg3.c
6154
if (tp->ptp_clock)
drivers/net/ethernet/broadcom/tg3.c
6155
info->phc_index = ptp_clock_index(tp->ptp_clock);
drivers/net/ethernet/broadcom/tg3.c
616
#define tw32_mailbox_f(reg, val) tw32_mailbox_flush(tp, (reg), (val))
drivers/net/ethernet/broadcom/tg3.c
6168
struct tg3 *tp = container_of(ptp, struct tg3, ptp_info);
drivers/net/ethernet/broadcom/tg3.c
617
#define tw32_rx_mbox(reg, val) tp->write32_rx_mbox(tp, reg, val)
drivers/net/ethernet/broadcom/tg3.c
6179
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
618
#define tw32_tx_mbox(reg, val) tp->write32_tx_mbox(tp, reg, val)
drivers/net/ethernet/broadcom/tg3.c
6189
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
619
#define tr32_mailbox(reg) tp->read32_mbox(tp, reg)
drivers/net/ethernet/broadcom/tg3.c
6196
struct tg3 *tp = container_of(ptp, struct tg3, ptp_info);
drivers/net/ethernet/broadcom/tg3.c
6198
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
6199
tp->ptp_adjust += delta;
drivers/net/ethernet/broadcom/tg3.c
6200
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
6209
struct tg3 *tp = container_of(ptp, struct tg3, ptp_info);
drivers/net/ethernet/broadcom/tg3.c
621
#define tw32(reg, val) tp->write32(tp, reg, val)
drivers/net/ethernet/broadcom/tg3.c
6211
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
6212
ns = tg3_refclk_read(tp, sts);
drivers/net/ethernet/broadcom/tg3.c
6213
ns += tp->ptp_adjust;
drivers/net/ethernet/broadcom/tg3.c
6214
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
622
#define tw32_f(reg, val) _tw32_flush(tp, (reg), (val), 0)
drivers/net/ethernet/broadcom/tg3.c
6225
struct tg3 *tp = container_of(ptp, struct tg3, ptp_info);
drivers/net/ethernet/broadcom/tg3.c
6229
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
623
#define tw32_wait_f(reg, val, us) _tw32_flush(tp, (reg), (val), (us))
drivers/net/ethernet/broadcom/tg3.c
6230
tg3_refclk_write(tp, ns);
drivers/net/ethernet/broadcom/tg3.c
6231
tp->ptp_adjust = 0;
drivers/net/ethernet/broadcom/tg3.c
6232
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
624
#define tr32(reg) tp->read32(tp, reg)
drivers/net/ethernet/broadcom/tg3.c
6240
struct tg3 *tp = container_of(ptp, struct tg3, ptp_info);
drivers/net/ethernet/broadcom/tg3.c
6253
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
626
static void tg3_write_mem(struct tg3 *tp, u32 off, u32 val)
drivers/net/ethernet/broadcom/tg3.c
6264
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
6271
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
6290
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
630
if (tg3_asic_rev(tp) == ASIC_REV_5906 &&
drivers/net/ethernet/broadcom/tg3.c
6300
static void tg3_hwclock_to_timestamp(struct tg3 *tp, u64 hwclock,
drivers/net/ethernet/broadcom/tg3.c
6305
tp->ptp_adjust);
drivers/net/ethernet/broadcom/tg3.c
6308
static void tg3_read_tx_tstamp(struct tg3 *tp, u64 *hwclock)
drivers/net/ethernet/broadcom/tg3.c
6316
struct tg3 *tp = container_of(ptp, struct tg3, ptp_info);
drivers/net/ethernet/broadcom/tg3.c
6320
if (tp->ptp_txts_retrycnt > 2)
drivers/net/ethernet/broadcom/tg3.c
6323
tg3_read_tx_tstamp(tp, &hwclock);
drivers/net/ethernet/broadcom/tg3.c
6325
if (hwclock != tp->pre_tx_ts) {
drivers/net/ethernet/broadcom/tg3.c
6326
tg3_hwclock_to_timestamp(tp, hwclock, ×tamp);
drivers/net/ethernet/broadcom/tg3.c
6327
skb_tstamp_tx(tp->tx_tstamp_skb, ×tamp);
drivers/net/ethernet/broadcom/tg3.c
6330
tp->ptp_txts_retrycnt++;
drivers/net/ethernet/broadcom/tg3.c
6333
dev_consume_skb_any(tp->tx_tstamp_skb);
drivers/net/ethernet/broadcom/tg3.c
6334
tp->tx_tstamp_skb = NULL;
drivers/net/ethernet/broadcom/tg3.c
6335
tp->ptp_txts_retrycnt = 0;
drivers/net/ethernet/broadcom/tg3.c
6336
tp->pre_tx_ts = 0;
drivers/net/ethernet/broadcom/tg3.c
634
spin_lock_irqsave(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
635
if (tg3_flag(tp, SRAM_USE_CONFIG)) {
drivers/net/ethernet/broadcom/tg3.c
6358
static void tg3_ptp_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
636
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_BASE_ADDR, off);
drivers/net/ethernet/broadcom/tg3.c
6360
if (!tg3_flag(tp, PTP_CAPABLE))
drivers/net/ethernet/broadcom/tg3.c
6364
tg3_refclk_write(tp, ktime_to_ns(ktime_get_real()));
drivers/net/ethernet/broadcom/tg3.c
6365
tp->ptp_adjust = 0;
drivers/net/ethernet/broadcom/tg3.c
6366
tp->ptp_info = tg3_ptp_caps;
drivers/net/ethernet/broadcom/tg3.c
637
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_DATA, val);
drivers/net/ethernet/broadcom/tg3.c
6370
static void tg3_ptp_resume(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
6372
if (!tg3_flag(tp, PTP_CAPABLE))
drivers/net/ethernet/broadcom/tg3.c
6375
tg3_refclk_write(tp, ktime_to_ns(ktime_get_real()) + tp->ptp_adjust);
drivers/net/ethernet/broadcom/tg3.c
6376
tp->ptp_adjust = 0;
drivers/net/ethernet/broadcom/tg3.c
6379
static void tg3_ptp_fini(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
6381
if (!tg3_flag(tp, PTP_CAPABLE) || !tp->ptp_clock)
drivers/net/ethernet/broadcom/tg3.c
6384
ptp_clock_unregister(tp->ptp_clock);
drivers/net/ethernet/broadcom/tg3.c
6385
tp->ptp_clock = NULL;
drivers/net/ethernet/broadcom/tg3.c
6386
tp->ptp_adjust = 0;
drivers/net/ethernet/broadcom/tg3.c
6387
dev_consume_skb_any(tp->tx_tstamp_skb);
drivers/net/ethernet/broadcom/tg3.c
6388
tp->tx_tstamp_skb = NULL;
drivers/net/ethernet/broadcom/tg3.c
6391
static inline int tg3_irq_sync(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
6393
return tp->irq_sync;
drivers/net/ethernet/broadcom/tg3.c
6396
static inline void tg3_rd32_loop(struct tg3 *tp, u32 *dst, u32 off, u32 len)
drivers/net/ethernet/broadcom/tg3.c
640
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_BASE_ADDR, 0);
drivers/net/ethernet/broadcom/tg3.c
6405
static void tg3_dump_legacy_regs(struct tg3 *tp, u32 *regs)
drivers/net/ethernet/broadcom/tg3.c
6407
tg3_rd32_loop(tp, regs, TG3PCI_VENDOR, 0xb0);
drivers/net/ethernet/broadcom/tg3.c
6408
tg3_rd32_loop(tp, regs, MAILBOX_INTERRUPT_0, 0x200);
drivers/net/ethernet/broadcom/tg3.c
6409
tg3_rd32_loop(tp, regs, MAC_MODE, 0x4f0);
drivers/net/ethernet/broadcom/tg3.c
6410
tg3_rd32_loop(tp, regs, SNDDATAI_MODE, 0xe0);
drivers/net/ethernet/broadcom/tg3.c
6411
tg3_rd32_loop(tp, regs, SNDDATAC_MODE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6412
tg3_rd32_loop(tp, regs, SNDBDS_MODE, 0x80);
drivers/net/ethernet/broadcom/tg3.c
6413
tg3_rd32_loop(tp, regs, SNDBDI_MODE, 0x48);
drivers/net/ethernet/broadcom/tg3.c
6414
tg3_rd32_loop(tp, regs, SNDBDC_MODE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6415
tg3_rd32_loop(tp, regs, RCVLPC_MODE, 0x20);
drivers/net/ethernet/broadcom/tg3.c
6416
tg3_rd32_loop(tp, regs, RCVLPC_SELLST_BASE, 0x15c);
drivers/net/ethernet/broadcom/tg3.c
6417
tg3_rd32_loop(tp, regs, RCVDBDI_MODE, 0x0c);
drivers/net/ethernet/broadcom/tg3.c
6418
tg3_rd32_loop(tp, regs, RCVDBDI_JUMBO_BD, 0x3c);
drivers/net/ethernet/broadcom/tg3.c
6419
tg3_rd32_loop(tp, regs, RCVDBDI_BD_PROD_IDX_0, 0x44);
drivers/net/ethernet/broadcom/tg3.c
6420
tg3_rd32_loop(tp, regs, RCVDCC_MODE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6421
tg3_rd32_loop(tp, regs, RCVBDI_MODE, 0x20);
drivers/net/ethernet/broadcom/tg3.c
6422
tg3_rd32_loop(tp, regs, RCVCC_MODE, 0x14);
drivers/net/ethernet/broadcom/tg3.c
6423
tg3_rd32_loop(tp, regs, RCVLSC_MODE, 0x08);
drivers/net/ethernet/broadcom/tg3.c
6424
tg3_rd32_loop(tp, regs, MBFREE_MODE, 0x08);
drivers/net/ethernet/broadcom/tg3.c
6425
tg3_rd32_loop(tp, regs, HOSTCC_MODE, 0x100);
drivers/net/ethernet/broadcom/tg3.c
6427
if (tg3_flag(tp, SUPPORT_MSIX))
drivers/net/ethernet/broadcom/tg3.c
6428
tg3_rd32_loop(tp, regs, HOSTCC_RXCOL_TICKS_VEC1, 0x180);
drivers/net/ethernet/broadcom/tg3.c
6430
tg3_rd32_loop(tp, regs, MEMARB_MODE, 0x10);
drivers/net/ethernet/broadcom/tg3.c
6431
tg3_rd32_loop(tp, regs, BUFMGR_MODE, 0x58);
drivers/net/ethernet/broadcom/tg3.c
6432
tg3_rd32_loop(tp, regs, RDMAC_MODE, 0x08);
drivers/net/ethernet/broadcom/tg3.c
6433
tg3_rd32_loop(tp, regs, WDMAC_MODE, 0x08);
drivers/net/ethernet/broadcom/tg3.c
6434
tg3_rd32_loop(tp, regs, RX_CPU_MODE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6435
tg3_rd32_loop(tp, regs, RX_CPU_STATE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6436
tg3_rd32_loop(tp, regs, RX_CPU_PGMCTR, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6437
tg3_rd32_loop(tp, regs, RX_CPU_HWBKPT, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6439
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
6440
tg3_rd32_loop(tp, regs, TX_CPU_MODE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6441
tg3_rd32_loop(tp, regs, TX_CPU_STATE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6442
tg3_rd32_loop(tp, regs, TX_CPU_PGMCTR, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6445
tg3_rd32_loop(tp, regs, GRCMBOX_INTERRUPT_0, 0x110);
drivers/net/ethernet/broadcom/tg3.c
6446
tg3_rd32_loop(tp, regs, FTQ_RESET, 0x120);
drivers/net/ethernet/broadcom/tg3.c
6447
tg3_rd32_loop(tp, regs, MSGINT_MODE, 0x0c);
drivers/net/ethernet/broadcom/tg3.c
6448
tg3_rd32_loop(tp, regs, DMAC_MODE, 0x04);
drivers/net/ethernet/broadcom/tg3.c
6449
tg3_rd32_loop(tp, regs, GRC_MODE, 0x4c);
drivers/net/ethernet/broadcom/tg3.c
6451
if (tg3_flag(tp, NVRAM))
drivers/net/ethernet/broadcom/tg3.c
6452
tg3_rd32_loop(tp, regs, NVRAM_CMD, 0x24);
drivers/net/ethernet/broadcom/tg3.c
6455
static void tg3_dump_state(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
6463
if (tp->pdev->error_state != pci_channel_io_normal) {
drivers/net/ethernet/broadcom/tg3.c
6464
netdev_err(tp->dev, "PCI channel ERROR!\n");
drivers/net/ethernet/broadcom/tg3.c
6472
if (tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
6477
tg3_dump_legacy_regs(tp, regs);
drivers/net/ethernet/broadcom/tg3.c
648
spin_unlock_irqrestore(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
6484
netdev_err(tp->dev, "0x%08x: 0x%08x, 0x%08x, 0x%08x, 0x%08x\n",
drivers/net/ethernet/broadcom/tg3.c
6491
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
6492
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
6495
netdev_err(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
6506
netdev_err(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
651
static void tg3_read_mem(struct tg3 *tp, u32 off, u32 *val)
drivers/net/ethernet/broadcom/tg3.c
6525
static void tg3_tx_recover(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
6527
BUG_ON(tg3_flag(tp, MBOX_WRITE_REORDER) ||
drivers/net/ethernet/broadcom/tg3.c
6528
tp->write32_tx_mbox == tg3_write_indirect_mbox);
drivers/net/ethernet/broadcom/tg3.c
6530
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
6536
tg3_flag_set(tp, TX_RECOVERY_PENDING);
drivers/net/ethernet/broadcom/tg3.c
655
if (tg3_asic_rev(tp) == ASIC_REV_5906 &&
drivers/net/ethernet/broadcom/tg3.c
6553
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
6557
int index = tnapi - tp->napi;
drivers/net/ethernet/broadcom/tg3.c
6560
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
6563
txq = netdev_get_tx_queue(tp->dev, index);
drivers/net/ethernet/broadcom/tg3.c
6572
tg3_tx_recover(tp);
drivers/net/ethernet/broadcom/tg3.c
6580
tg3_read_tx_tstamp(tp, &hwclock);
drivers/net/ethernet/broadcom/tg3.c
6581
if (hwclock != tp->pre_tx_ts) {
drivers/net/ethernet/broadcom/tg3.c
6582
tg3_hwclock_to_timestamp(tp, hwclock, ×tamp);
drivers/net/ethernet/broadcom/tg3.c
6584
tp->pre_tx_ts = 0;
drivers/net/ethernet/broadcom/tg3.c
6586
tp->tx_tstamp_skb = skb;
drivers/net/ethernet/broadcom/tg3.c
6591
dma_unmap_single(&tp->pdev->dev, dma_unmap_addr(ri, mapping),
drivers/net/ethernet/broadcom/tg3.c
6609
dma_unmap_page(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
661
spin_lock_irqsave(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
662
if (tg3_flag(tp, SRAM_USE_CONFIG)) {
drivers/net/ethernet/broadcom/tg3.c
6629
ptp_schedule_worker(tp->ptp_clock, 0);
drivers/net/ethernet/broadcom/tg3.c
663
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_BASE_ADDR, off);
drivers/net/ethernet/broadcom/tg3.c
6632
tg3_tx_recover(tp);
drivers/net/ethernet/broadcom/tg3.c
664
pci_read_config_dword(tp->pdev, TG3PCI_MEM_WIN_DATA, val);
drivers/net/ethernet/broadcom/tg3.c
6666
static void tg3_rx_data_free(struct tg3 *tp, struct ring_info *ri, u32 map_sz)
drivers/net/ethernet/broadcom/tg3.c
6668
unsigned int skb_size = SKB_DATA_ALIGN(map_sz + TG3_RX_OFFSET(tp)) +
drivers/net/ethernet/broadcom/tg3.c
667
pci_write_config_dword(tp->pdev, TG3PCI_MEM_WIN_BASE_ADDR, 0);
drivers/net/ethernet/broadcom/tg3.c
6674
dma_unmap_single(&tp->pdev->dev, dma_unmap_addr(ri, mapping), map_sz,
drivers/net/ethernet/broadcom/tg3.c
6692
static int tg3_alloc_rx_data(struct tg3 *tp, struct tg3_rx_prodring_set *tpr,
drivers/net/ethernet/broadcom/tg3.c
6704
dest_idx = dest_idx_unmasked & tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
6707
data_size = tp->rx_pkt_map_sz;
drivers/net/ethernet/broadcom/tg3.c
6711
dest_idx = dest_idx_unmasked & tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
6727
skb_size = SKB_DATA_ALIGN(data_size + TG3_RX_OFFSET(tp)) +
drivers/net/ethernet/broadcom/tg3.c
6739
mapping = dma_map_single(&tp->pdev->dev, data + TG3_RX_OFFSET(tp),
drivers/net/ethernet/broadcom/tg3.c
6741
if (unlikely(dma_mapping_error(&tp->pdev->dev, mapping))) {
drivers/net/ethernet/broadcom/tg3.c
675
spin_unlock_irqrestore(&tp->indirect_lock, flags);
drivers/net/ethernet/broadcom/tg3.c
6764
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
6767
struct tg3_rx_prodring_set *spr = &tp->napi[0].prodring;
drivers/net/ethernet/broadcom/tg3.c
6772
dest_idx = dest_idx_unmasked & tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
678
static void tg3_ape_lock_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
6780
dest_idx = dest_idx_unmasked & tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
683
if (tg3_asic_rev(tp) == ASIC_REV_5761)
drivers/net/ethernet/broadcom/tg3.c
6831
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
6862
ri = &tp->napi[0].prodring.rx_std_buffers[desc_idx];
drivers/net/ethernet/broadcom/tg3.c
6868
ri = &tp->napi[0].prodring.rx_jmb_buffers[desc_idx];
drivers/net/ethernet/broadcom/tg3.c
6887
prefetch(data + TG3_RX_OFFSET(tp));
drivers/net/ethernet/broadcom/tg3.c
6899
if (len > TG3_RX_COPY_THRESH(tp)) {
drivers/net/ethernet/broadcom/tg3.c
6903
skb_size = tg3_alloc_rx_data(tp, tpr, opaque_key,
drivers/net/ethernet/broadcom/tg3.c
6908
dma_unmap_single(&tp->pdev->dev, dma_addr, skb_size,
drivers/net/ethernet/broadcom/tg3.c
6926
skb_reserve(skb, TG3_RX_OFFSET(tp));
drivers/net/ethernet/broadcom/tg3.c
6931
skb = netdev_alloc_skb(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
6937
dma_sync_single_for_cpu(&tp->pdev->dev, dma_addr, len,
drivers/net/ethernet/broadcom/tg3.c
6940
data + TG3_RX_OFFSET(tp),
drivers/net/ethernet/broadcom/tg3.c
6942
dma_sync_single_for_device(&tp->pdev->dev, dma_addr,
drivers/net/ethernet/broadcom/tg3.c
6948
tg3_hwclock_to_timestamp(tp, tstamp,
drivers/net/ethernet/broadcom/tg3.c
6951
if ((tp->dev->features & NETIF_F_RXCSUM) &&
drivers/net/ethernet/broadcom/tg3.c
6959
skb->protocol = eth_type_trans(skb, tp->dev);
drivers/net/ethernet/broadcom/tg3.c
6961
if (len > (tp->dev->mtu + ETH_HLEN) &&
drivers/net/ethernet/broadcom/tg3.c
6969
!(tp->rx_mode & RX_MODE_KEEP_VLAN_TAG))
drivers/net/ethernet/broadcom/tg3.c
698
if (!tp->pci_fn)
drivers/net/ethernet/broadcom/tg3.c
6981
if (unlikely(rx_std_posted >= tp->rx_std_max_post)) {
drivers/net/ethernet/broadcom/tg3.c
6983
tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
6991
sw_idx &= tp->rx_ret_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
7005
if (!tg3_flag(tp, ENABLE_RSS)) {
drivers/net/ethernet/broadcom/tg3.c
701
bit = 1 << tp->pci_fn;
drivers/net/ethernet/broadcom/tg3.c
7011
tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
7017
tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
7027
tpr->rx_std_prod_idx = std_prod_idx & tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
7028
tpr->rx_jmb_prod_idx = jmb_prod_idx & tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
703
tg3_ape_write32(tp, regbase + 4 * i, bit);
drivers/net/ethernet/broadcom/tg3.c
7030
if (tnapi != &tp->napi[1]) {
drivers/net/ethernet/broadcom/tg3.c
7031
tp->rx_refill = true;
drivers/net/ethernet/broadcom/tg3.c
7032
napi_schedule(&tp->napi[1].napi);
drivers/net/ethernet/broadcom/tg3.c
7039
static void tg3_poll_link(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7042
if (!(tg3_flag(tp, USE_LINKCHG_REG) || tg3_flag(tp, POLL_SERDES))) {
drivers/net/ethernet/broadcom/tg3.c
7043
struct tg3_hw_status *sblk = tp->napi[0].hw_status;
drivers/net/ethernet/broadcom/tg3.c
7048
spin_lock(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
7049
if (tg3_flag(tp, USE_PHYLIB)) {
drivers/net/ethernet/broadcom/tg3.c
7057
tg3_setup_phy(tp, false);
drivers/net/ethernet/broadcom/tg3.c
7058
spin_unlock(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
7063
static int tg3_rx_prodring_xfer(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
708
static int tg3_ape_lock(struct tg3 *tp, int locknum)
drivers/net/ethernet/broadcom/tg3.c
7084
cpycnt = tp->rx_std_ring_mask + 1 -
drivers/net/ethernet/broadcom/tg3.c
7088
tp->rx_std_ring_mask + 1 - dpr->rx_std_prod_idx);
drivers/net/ethernet/broadcom/tg3.c
7123
tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
7125
tp->rx_std_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
714
if (!tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
7142
cpycnt = tp->rx_jmb_ring_mask + 1 -
drivers/net/ethernet/broadcom/tg3.c
7146
tp->rx_jmb_ring_mask + 1 - dpr->rx_jmb_prod_idx);
drivers/net/ethernet/broadcom/tg3.c
7181
tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
7183
tp->rx_jmb_ring_mask;
drivers/net/ethernet/broadcom/tg3.c
719
if (tg3_asic_rev(tp) == ASIC_REV_5761)
drivers/net/ethernet/broadcom/tg3.c
7191
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7196
if (unlikely(tg3_flag(tp, TX_RECOVERY_PENDING)))
drivers/net/ethernet/broadcom/tg3.c
7210
if (tg3_flag(tp, ENABLE_RSS) && tnapi == &tp->napi[1]) {
drivers/net/ethernet/broadcom/tg3.c
7211
struct tg3_rx_prodring_set *dpr = &tp->napi[0].prodring;
drivers/net/ethernet/broadcom/tg3.c
7216
tp->rx_refill = false;
drivers/net/ethernet/broadcom/tg3.c
7217
for (i = 1; i <= tp->rxq_cnt; i++)
drivers/net/ethernet/broadcom/tg3.c
7218
err |= tg3_rx_prodring_xfer(tp, dpr,
drivers/net/ethernet/broadcom/tg3.c
7219
&tp->napi[i].prodring);
drivers/net/ethernet/broadcom/tg3.c
7232
tw32_f(HOSTCC_MODE, tp->coal_now);
drivers/net/ethernet/broadcom/tg3.c
7238
static inline void tg3_reset_task_schedule(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
724
if (!tp->pci_fn)
drivers/net/ethernet/broadcom/tg3.c
7240
if (!test_and_set_bit(TG3_FLAG_RESET_TASK_PENDING, tp->tg3_flags))
drivers/net/ethernet/broadcom/tg3.c
7241
schedule_work(&tp->reset_task);
drivers/net/ethernet/broadcom/tg3.c
7244
static inline void tg3_reset_task_cancel(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7246
if (test_and_clear_bit(TG3_FLAG_RESET_TASK_PENDING, tp->tg3_flags))
drivers/net/ethernet/broadcom/tg3.c
7247
cancel_work_sync(&tp->reset_task);
drivers/net/ethernet/broadcom/tg3.c
7248
tg3_flag_clear(tp, TX_RECOVERY_PENDING);
drivers/net/ethernet/broadcom/tg3.c
7254
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7261
if (unlikely(tg3_flag(tp, TX_RECOVERY_PENDING)))
drivers/net/ethernet/broadcom/tg3.c
727
bit = 1 << tp->pci_fn;
drivers/net/ethernet/broadcom/tg3.c
7282
if (tnapi == &tp->napi[1] && tp->rx_refill)
drivers/net/ethernet/broadcom/tg3.c
7292
if (unlikely(tnapi == &tp->napi[1] && tp->rx_refill)) {
drivers/net/ethernet/broadcom/tg3.c
7293
tw32(HOSTCC_MODE, tp->coalesce_mode |
drivers/net/ethernet/broadcom/tg3.c
7301
tg3_send_ape_heartbeat(tp, TG3_APE_HB_INTERVAL << 1);
drivers/net/ethernet/broadcom/tg3.c
7307
tg3_reset_task_schedule(tp);
drivers/net/ethernet/broadcom/tg3.c
7311
static void tg3_process_error(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7316
if (tg3_flag(tp, ERROR_PROCESSED))
drivers/net/ethernet/broadcom/tg3.c
7322
netdev_err(tp->dev, "FLOW Attention error. Resetting chip.\n");
drivers/net/ethernet/broadcom/tg3.c
7327
netdev_err(tp->dev, "MSI Status error. Resetting chip.\n");
drivers/net/ethernet/broadcom/tg3.c
7332
netdev_err(tp->dev, "DMA Status error. Resetting chip.\n");
drivers/net/ethernet/broadcom/tg3.c
7339
tg3_dump_state(tp);
drivers/net/ethernet/broadcom/tg3.c
7341
tg3_flag_set(tp, ERROR_PROCESSED);
drivers/net/ethernet/broadcom/tg3.c
7342
tg3_reset_task_schedule(tp);
drivers/net/ethernet/broadcom/tg3.c
7348
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7354
tg3_process_error(tp);
drivers/net/ethernet/broadcom/tg3.c
7356
tg3_poll_link(tp);
drivers/net/ethernet/broadcom/tg3.c
7360
if (unlikely(tg3_flag(tp, TX_RECOVERY_PENDING)))
drivers/net/ethernet/broadcom/tg3.c
7366
if (tg3_flag(tp, TAGGED_STATUS)) {
drivers/net/ethernet/broadcom/tg3.c
7384
tg3_send_ape_heartbeat(tp, TG3_APE_HB_INTERVAL << 1);
drivers/net/ethernet/broadcom/tg3.c
739
if (tg3_asic_rev(tp) == ASIC_REV_5761) {
drivers/net/ethernet/broadcom/tg3.c
7390
tg3_reset_task_schedule(tp);
drivers/net/ethernet/broadcom/tg3.c
7394
static void tg3_napi_disable(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7396
int txq_idx = tp->txq_cnt - 1;
drivers/net/ethernet/broadcom/tg3.c
7397
int rxq_idx = tp->rxq_cnt - 1;
drivers/net/ethernet/broadcom/tg3.c
7401
for (i = tp->irq_cnt - 1; i >= 0; i--) {
drivers/net/ethernet/broadcom/tg3.c
7402
tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
7404
netif_queue_set_napi(tp->dev, txq_idx,
drivers/net/ethernet/broadcom/tg3.c
7409
netif_queue_set_napi(tp->dev, rxq_idx,
drivers/net/ethernet/broadcom/tg3.c
7417
static void tg3_napi_enable(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7423
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
7424
tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
7427
netif_queue_set_napi(tp->dev, txq_idx,
drivers/net/ethernet/broadcom/tg3.c
7433
netif_queue_set_napi(tp->dev, rxq_idx,
drivers/net/ethernet/broadcom/tg3.c
7441
static void tg3_napi_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7445
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
7446
netif_napi_add_locked(tp->dev, &tp->napi[i].napi,
drivers/net/ethernet/broadcom/tg3.c
7448
netif_napi_set_irq_locked(&tp->napi[i].napi,
drivers/net/ethernet/broadcom/tg3.c
7449
tp->napi[i].irq_vec);
drivers/net/ethernet/broadcom/tg3.c
7453
static void tg3_napi_fini(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7457
for (i = 0; i < tp->irq_cnt; i++)
drivers/net/ethernet/broadcom/tg3.c
7458
netif_napi_del(&tp->napi[i].napi);
drivers/net/ethernet/broadcom/tg3.c
7461
static inline void tg3_netif_stop(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7463
netif_trans_update(tp->dev); /* prevent tx timeout */
drivers/net/ethernet/broadcom/tg3.c
7464
tg3_napi_disable(tp);
drivers/net/ethernet/broadcom/tg3.c
7465
netif_carrier_off(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
7466
netif_tx_disable(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
7470
static inline void tg3_netif_start(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7472
tg3_ptp_resume(tp);
drivers/net/ethernet/broadcom/tg3.c
7478
netif_tx_wake_all_queues(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
7480
if (tp->link_up)
drivers/net/ethernet/broadcom/tg3.c
7481
netif_carrier_on(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
7483
tg3_napi_enable(tp);
drivers/net/ethernet/broadcom/tg3.c
7484
tp->napi[0].hw_status->status |= SD_STATUS_UPDATED;
drivers/net/ethernet/broadcom/tg3.c
7485
tg3_enable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
7488
static void tg3_irq_quiesce(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7489
__releases(tp->lock)
drivers/net/ethernet/broadcom/tg3.c
749
tg3_ape_write32(tp, req + off, bit);
drivers/net/ethernet/broadcom/tg3.c
7490
__acquires(tp->lock)
drivers/net/ethernet/broadcom/tg3.c
7494
BUG_ON(tp->irq_sync);
drivers/net/ethernet/broadcom/tg3.c
7496
tp->irq_sync = 1;
drivers/net/ethernet/broadcom/tg3.c
7499
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
7501
for (i = 0; i < tp->irq_cnt; i++)
drivers/net/ethernet/broadcom/tg3.c
7502
synchronize_irq(tp->napi[i].irq_vec);
drivers/net/ethernet/broadcom/tg3.c
7504
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
7512
static inline void tg3_full_lock(struct tg3 *tp, int irq_sync)
drivers/net/ethernet/broadcom/tg3.c
7514
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
7516
tg3_irq_quiesce(tp);
drivers/net/ethernet/broadcom/tg3.c
7519
static inline void tg3_full_unlock(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
7521
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
753
status = tg3_ape_read32(tp, gnt + off);
drivers/net/ethernet/broadcom/tg3.c
7530
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7536
if (likely(!tg3_irq_sync(tp)))
drivers/net/ethernet/broadcom/tg3.c
7549
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
756
if (pci_channel_offline(tp->pdev))
drivers/net/ethernet/broadcom/tg3.c
7562
if (likely(!tg3_irq_sync(tp)))
drivers/net/ethernet/broadcom/tg3.c
7571
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7581
if (tg3_flag(tp, CHIP_RESETTING) ||
drivers/net/ethernet/broadcom/tg3.c
7600
if (tg3_irq_sync(tp))
drivers/net/ethernet/broadcom/tg3.c
7620
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7630
if (tg3_flag(tp, CHIP_RESETTING) ||
drivers/net/ethernet/broadcom/tg3.c
764
tg3_ape_write32(tp, gnt + off, bit);
drivers/net/ethernet/broadcom/tg3.c
7658
if (tg3_irq_sync(tp))
drivers/net/ethernet/broadcom/tg3.c
7673
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7678
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
7688
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
7690
if (tg3_irq_sync(tp))
drivers/net/ethernet/broadcom/tg3.c
7693
for (i = 0; i < tp->irq_cnt; i++)
drivers/net/ethernet/broadcom/tg3.c
7694
tg3_interrupt(tp->napi[i].irq_vec, &tp->napi[i]);
drivers/net/ethernet/broadcom/tg3.c
7700
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
7702
if (netif_msg_tx_err(tp)) {
drivers/net/ethernet/broadcom/tg3.c
7704
tg3_dump_state(tp);
drivers/net/ethernet/broadcom/tg3.c
7707
tg3_reset_task_schedule(tp);
drivers/net/ethernet/broadcom/tg3.c
771
static void tg3_ape_unlock(struct tg3 *tp, int locknum)
drivers/net/ethernet/broadcom/tg3.c
7721
static inline int tg3_4g_tso_overflow_test(struct tg3 *tp, dma_addr_t mapping,
drivers/net/ethernet/broadcom/tg3.c
7724
if (tg3_asic_rev(tp) == ASIC_REV_5762 && mss) {
drivers/net/ethernet/broadcom/tg3.c
7733
static inline int tg3_40bit_overflow_test(struct tg3 *tp, dma_addr_t mapping,
drivers/net/ethernet/broadcom/tg3.c
7737
if (tg3_flag(tp, 40BIT_DMA_BUG))
drivers/net/ethernet/broadcom/tg3.c
775
if (!tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
7759
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7762
if (tg3_flag(tp, SHORT_DMA_BUG) && len <= 8)
drivers/net/ethernet/broadcom/tg3.c
7768
if (tg3_4g_tso_overflow_test(tp, map, len, mss))
drivers/net/ethernet/broadcom/tg3.c
7771
if (tg3_40bit_overflow_test(tp, map, len))
drivers/net/ethernet/broadcom/tg3.c
7774
if (tp->dma_limit) {
drivers/net/ethernet/broadcom/tg3.c
7777
while (len > tp->dma_limit && *budget) {
drivers/net/ethernet/broadcom/tg3.c
7778
u32 frag_len = tp->dma_limit;
drivers/net/ethernet/broadcom/tg3.c
7779
len -= tp->dma_limit;
drivers/net/ethernet/broadcom/tg3.c
7783
len += tp->dma_limit / 2;
drivers/net/ethernet/broadcom/tg3.c
7784
frag_len = tp->dma_limit / 2;
drivers/net/ethernet/broadcom/tg3.c
780
if (tg3_asic_rev(tp) == ASIC_REV_5761)
drivers/net/ethernet/broadcom/tg3.c
7827
dma_unmap_single(&tnapi->tp->pdev->dev, dma_unmap_addr(txb, mapping),
drivers/net/ethernet/broadcom/tg3.c
7842
dma_unmap_page(&tnapi->tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
785
if (!tp->pci_fn)
drivers/net/ethernet/broadcom/tg3.c
7860
struct tg3 *tp = tnapi->tp;
drivers/net/ethernet/broadcom/tg3.c
7865
if (tg3_asic_rev(tp) != ASIC_REV_5701)
drivers/net/ethernet/broadcom/tg3.c
7879
new_addr = dma_map_single(&tp->pdev->dev, new_skb->data,
drivers/net/ethernet/broadcom/tg3.c
788
bit = 1 << tp->pci_fn;
drivers/net/ethernet/broadcom/tg3.c
7882
if (dma_mapping_error(&tp->pdev->dev, new_addr)) {
drivers/net/ethernet/broadcom/tg3.c
7922
static int tg3_tso_bug(struct tg3 *tp, struct tg3_napi *tnapi,
drivers/net/ethernet/broadcom/tg3.c
7944
segs = skb_gso_segment(skb, tp->dev->features &
drivers/net/ethernet/broadcom/tg3.c
7953
__tg3_start_xmit(seg, tp->dev);
drivers/net/ethernet/broadcom/tg3.c
7965
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
7979
tnapi = &tp->napi[skb_get_queue_mapping(skb)];
drivers/net/ethernet/broadcom/tg3.c
7980
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
800
if (tg3_asic_rev(tp) == ASIC_REV_5761)
drivers/net/ethernet/broadcom/tg3.c
8022
return tg3_tso_bug(tp, tnapi, txq, skb);
drivers/net/ethernet/broadcom/tg3.c
8028
tg3_flag(tp, TSO_BUG)) {
drivers/net/ethernet/broadcom/tg3.c
8030
return tg3_tso_bug(tp, tnapi, txq, skb);
drivers/net/ethernet/broadcom/tg3.c
8045
if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
8046
tg3_flag(tp, HW_TSO_2) ||
drivers/net/ethernet/broadcom/tg3.c
8047
tg3_flag(tp, HW_TSO_3)) {
drivers/net/ethernet/broadcom/tg3.c
805
tg3_ape_write32(tp, gnt + 4 * locknum, bit);
drivers/net/ethernet/broadcom/tg3.c
8055
if (tg3_flag(tp, HW_TSO_3)) {
drivers/net/ethernet/broadcom/tg3.c
8060
} else if (tg3_flag(tp, HW_TSO_2))
drivers/net/ethernet/broadcom/tg3.c
8062
else if (tg3_flag(tp, HW_TSO_1) ||
drivers/net/ethernet/broadcom/tg3.c
8063
tg3_asic_rev(tp) == ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
808
static int tg3_ape_event_lock(struct tg3 *tp, u32 timeout_us)
drivers/net/ethernet/broadcom/tg3.c
8091
if (tg3_flag(tp, USE_JUMBO_BDFLAG) &&
drivers/net/ethernet/broadcom/tg3.c
8101
tg3_flag(tp, TX_TSTAMP_EN)) {
drivers/net/ethernet/broadcom/tg3.c
8102
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
8103
if (!tp->pre_tx_ts) {
drivers/net/ethernet/broadcom/tg3.c
8106
tg3_read_tx_tstamp(tp, &tp->pre_tx_ts);
drivers/net/ethernet/broadcom/tg3.c
8108
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
8113
mapping = dma_map_single(&tp->pdev->dev, skb->data, len,
drivers/net/ethernet/broadcom/tg3.c
8115
if (dma_mapping_error(&tp->pdev->dev, mapping))
drivers/net/ethernet/broadcom/tg3.c
8124
if (tg3_flag(tp, 5701_DMA_BUG))
drivers/net/ethernet/broadcom/tg3.c
813
if (tg3_ape_lock(tp, TG3_APE_LOCK_MEM))
drivers/net/ethernet/broadcom/tg3.c
8134
if (!tg3_flag(tp, HW_TSO_1) &&
drivers/net/ethernet/broadcom/tg3.c
8135
!tg3_flag(tp, HW_TSO_2) &&
drivers/net/ethernet/broadcom/tg3.c
8136
!tg3_flag(tp, HW_TSO_3))
drivers/net/ethernet/broadcom/tg3.c
8147
mapping = skb_frag_dma_map(&tp->pdev->dev, frag, 0,
drivers/net/ethernet/broadcom/tg3.c
8153
if (dma_mapping_error(&tp->pdev->dev, mapping))
drivers/net/ethernet/broadcom/tg3.c
816
apedata = tg3_ape_read32(tp, TG3_APE_EVENT_STATUS);
drivers/net/ethernet/broadcom/tg3.c
8179
return tg3_tso_bug(tp, tnapi, txq, skb);
drivers/net/ethernet/broadcom/tg3.c
820
tg3_ape_unlock(tp, TG3_APE_LOCK_MEM);
drivers/net/ethernet/broadcom/tg3.c
8246
struct tg3 *tp;
drivers/net/ethernet/broadcom/tg3.c
8248
tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
8249
tnapi = &tp->napi[skb_queue_mapping];
drivers/net/ethernet/broadcom/tg3.c
8251
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
8260
static void tg3_mac_loopback(struct tg3 *tp, bool enable)
drivers/net/ethernet/broadcom/tg3.c
8263
tp->mac_mode &= ~(MAC_MODE_HALF_DUPLEX |
drivers/net/ethernet/broadcom/tg3.c
8266
tp->mac_mode |= MAC_MODE_PORT_INT_LPBACK;
drivers/net/ethernet/broadcom/tg3.c
8268
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
8269
tp->mac_mode |= MAC_MODE_LINK_POLARITY;
drivers/net/ethernet/broadcom/tg3.c
8271
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
drivers/net/ethernet/broadcom/tg3.c
8272
tp->mac_mode |= MAC_MODE_PORT_MODE_MII;
drivers/net/ethernet/broadcom/tg3.c
8274
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
8276
tp->mac_mode &= ~MAC_MODE_PORT_INT_LPBACK;
drivers/net/ethernet/broadcom/tg3.c
8278
if (tg3_flag(tp, 5705_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
8279
(tp->phy_flags & TG3_PHYFLG_PHY_SERDES) ||
drivers/net/ethernet/broadcom/tg3.c
8280
tg3_asic_rev(tp) == ASIC_REV_5700)
drivers/net/ethernet/broadcom/tg3.c
8281
tp->mac_mode &= ~MAC_MODE_LINK_POLARITY;
drivers/net/ethernet/broadcom/tg3.c
8284
tw32(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
8288
static int tg3_phy_lpbk_set(struct tg3 *tp, u32 speed, bool extlpbk)
drivers/net/ethernet/broadcom/tg3.c
8292
tg3_phy_toggle_apd(tp, false);
drivers/net/ethernet/broadcom/tg3.c
8293
tg3_phy_toggle_automdix(tp, false);
drivers/net/ethernet/broadcom/tg3.c
8295
if (extlpbk && tg3_phy_set_extloopbk(tp))
drivers/net/ethernet/broadcom/tg3.c
830
static int tg3_ape_wait_for_event(struct tg3 *tp, u32 timeout_us)
drivers/net/ethernet/broadcom/tg3.c
8307
if (tp->phy_flags & TG3_PHYFLG_IS_FET) {
drivers/net/ethernet/broadcom/tg3.c
8317
if (!(tp->phy_flags & TG3_PHYFLG_IS_FET)) {
drivers/net/ethernet/broadcom/tg3.c
8318
tg3_readphy(tp, MII_CTRL1000, &val);
drivers/net/ethernet/broadcom/tg3.c
8321
tg3_writephy(tp, MII_CTRL1000, val);
drivers/net/ethernet/broadcom/tg3.c
8325
tg3_writephy(tp, MII_TG3_FET_PTEST, ptest);
drivers/net/ethernet/broadcom/tg3.c
8330
tg3_writephy(tp, MII_BMCR, bmcr);
drivers/net/ethernet/broadcom/tg3.c
8333
if (tp->phy_flags & TG3_PHYFLG_IS_FET)
drivers/net/ethernet/broadcom/tg3.c
8334
tg3_readphy(tp, MII_BMCR, &bmcr);
drivers/net/ethernet/broadcom/tg3.c
8338
if ((tp->phy_flags & TG3_PHYFLG_IS_FET) &&
drivers/net/ethernet/broadcom/tg3.c
8339
tg3_asic_rev(tp) == ASIC_REV_5785) {
drivers/net/ethernet/broadcom/tg3.c
8340
tg3_writephy(tp, MII_TG3_FET_PTEST, ptest |
drivers/net/ethernet/broadcom/tg3.c
8345
tg3_readphy(tp, MII_TG3_FET_PTEST, &val);
drivers/net/ethernet/broadcom/tg3.c
8349
if ((tp->phy_flags & TG3_PHYFLG_MII_SERDES) &&
drivers/net/ethernet/broadcom/tg3.c
835
apedata = tg3_ape_read32(tp, TG3_APE_EVENT_STATUS);
drivers/net/ethernet/broadcom/tg3.c
8350
tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
8353
tw32_f(MAC_RX_MODE, tp->rx_mode);
drivers/net/ethernet/broadcom/tg3.c
8356
mac_mode = tp->mac_mode &
drivers/net/ethernet/broadcom/tg3.c
8363
if (tg3_asic_rev(tp) == ASIC_REV_5700) {
drivers/net/ethernet/broadcom/tg3.c
8364
u32 masked_phy_id = tp->phy_id & TG3_PHY_ID_MASK;
drivers/net/ethernet/broadcom/tg3.c
8371
tg3_writephy(tp, MII_TG3_EXT_CTRL,
drivers/net/ethernet/broadcom/tg3.c
8383
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
8386
if (tp->mac_mode & MAC_MODE_PORT_INT_LPBACK)
drivers/net/ethernet/broadcom/tg3.c
8389
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
8390
tg3_mac_loopback(tp, true);
drivers/net/ethernet/broadcom/tg3.c
8391
netif_carrier_on(tp->dev);
drivers/net/ethernet/broadcom/tg3.c
8392
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
8395
if (!(tp->mac_mode & MAC_MODE_PORT_INT_LPBACK))
drivers/net/ethernet/broadcom/tg3.c
8398
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
8399
tg3_mac_loopback(tp, false);
drivers/net/ethernet/broadcom/tg3.c
8401
tg3_setup_phy(tp, true);
drivers/net/ethernet/broadcom/tg3.c
8402
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
8410
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
8412
if (dev->mtu > ETH_DATA_LEN && tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
8428
static void tg3_rx_prodring_free(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
8433
if (tpr != &tp->napi[0].prodring) {
drivers/net/ethernet/broadcom/tg3.c
8435
i = (i + 1) & tp->rx_std_ring_mask)
drivers/net/ethernet/broadcom/tg3.c
8436
tg3_rx_data_free(tp, &tpr->rx_std_buffers[i],
drivers/net/ethernet/broadcom/tg3.c
8437
tp->rx_pkt_map_sz);
drivers/net/ethernet/broadcom/tg3.c
8439
if (tg3_flag(tp, JUMBO_CAPABLE)) {
drivers/net/ethernet/broadcom/tg3.c
8442
i = (i + 1) & tp->rx_jmb_ring_mask) {
drivers/net/ethernet/broadcom/tg3.c
8443
tg3_rx_data_free(tp, &tpr->rx_jmb_buffers[i],
drivers/net/ethernet/broadcom/tg3.c
8451
for (i = 0; i <= tp->rx_std_ring_mask; i++)
drivers/net/ethernet/broadcom/tg3.c
8452
tg3_rx_data_free(tp, &tpr->rx_std_buffers[i],
drivers/net/ethernet/broadcom/tg3.c
8453
tp->rx_pkt_map_sz);
drivers/net/ethernet/broadcom/tg3.c
8455
if (tg3_flag(tp, JUMBO_CAPABLE) && !tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
8456
for (i = 0; i <= tp->rx_jmb_ring_mask; i++)
drivers/net/ethernet/broadcom/tg3.c
8457
tg3_rx_data_free(tp, &tpr->rx_jmb_buffers[i],
drivers/net/ethernet/broadcom/tg3.c
846
static int tg3_ape_scratchpad_read(struct tg3 *tp, u32 *data, u32 base_off,
drivers/net/ethernet/broadcom/tg3.c
8469
static int tg3_rx_prodring_alloc(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
8479
if (tpr != &tp->napi[0].prodring) {
drivers/net/ethernet/broadcom/tg3.c
8481
TG3_RX_STD_BUFF_RING_SIZE(tp));
drivers/net/ethernet/broadcom/tg3.c
8484
TG3_RX_JMB_BUFF_RING_SIZE(tp));
drivers/net/ethernet/broadcom/tg3.c
8489
memset(tpr->rx_std, 0, TG3_RX_STD_RING_BYTES(tp));
drivers/net/ethernet/broadcom/tg3.c
8492
if (tg3_flag(tp, 5780_CLASS) &&
drivers/net/ethernet/broadcom/tg3.c
8493
tp->dev->mtu > ETH_DATA_LEN)
drivers/net/ethernet/broadcom/tg3.c
8495
tp->rx_pkt_map_sz = TG3_RX_DMA_TO_MAP_SZ(rx_pkt_dma_sz);
drivers/net/ethernet/broadcom/tg3.c
8501
for (i = 0; i <= tp->rx_std_ring_mask; i++) {
drivers/net/ethernet/broadcom/tg3.c
8512
for (i = 0; i < tp->rx_pending; i++) {
drivers/net/ethernet/broadcom/tg3.c
8515
if (tg3_alloc_rx_data(tp, tpr, RXD_OPAQUE_RING_STD, i,
drivers/net/ethernet/broadcom/tg3.c
8517
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
852
if (!tg3_flag(tp, APE_HAS_NCSI))
drivers/net/ethernet/broadcom/tg3.c
8520
"successfully\n", i, tp->rx_pending);
drivers/net/ethernet/broadcom/tg3.c
8523
tp->rx_pending = i;
drivers/net/ethernet/broadcom/tg3.c
8528
if (!tg3_flag(tp, JUMBO_CAPABLE) || tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
8531
memset(tpr->rx_jmb, 0, TG3_RX_JMB_RING_BYTES(tp));
drivers/net/ethernet/broadcom/tg3.c
8533
if (!tg3_flag(tp, JUMBO_RING_ENABLE))
drivers/net/ethernet/broadcom/tg3.c
8536
for (i = 0; i <= tp->rx_jmb_ring_mask; i++) {
drivers/net/ethernet/broadcom/tg3.c
8547
for (i = 0; i < tp->rx_jumbo_pending; i++) {
drivers/net/ethernet/broadcom/tg3.c
855
apedata = tg3_ape_read32(tp, TG3_APE_SEG_SIG);
drivers/net/ethernet/broadcom/tg3.c
8550
if (tg3_alloc_rx_data(tp, tpr, RXD_OPAQUE_RING_JUMBO, i,
drivers/net/ethernet/broadcom/tg3.c
8552
netdev_warn(tp->dev,
drivers/net/ethernet/broadcom/tg3.c
8555
"successfully\n", i, tp->rx_jumbo_pending);
drivers/net/ethernet/broadcom/tg3.c
8558
tp->rx_jumbo_pending = i;
drivers/net/ethernet/broadcom/tg3.c
8567
tg3_rx_prodring_free(tp, tpr);
drivers/net/ethernet/broadcom/tg3.c
8571
static void tg3_rx_prodring_fini(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
8579
dma_free_coherent(&tp->pdev->dev, TG3_RX_STD_RING_BYTES(tp),
drivers/net/ethernet/broadcom/tg3.c
8584
dma_free_coherent(&tp->pdev->dev, TG3_RX_JMB_RING_BYTES(tp),
drivers/net/ethernet/broadcom/tg3.c
859
apedata = tg3_ape_read32(tp, TG3_APE_FW_STATUS);
drivers/net/ethernet/broadcom/tg3.c
8590
static int tg3_rx_prodring_init(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
8593
tpr->rx_std_buffers = kzalloc(TG3_RX_STD_BUFF_RING_SIZE(tp),
drivers/net/ethernet/broadcom/tg3.c
8598
tpr->rx_std = dma_alloc_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8599
TG3_RX_STD_RING_BYTES(tp),
drivers/net/ethernet/broadcom/tg3.c
8605
if (tg3_flag(tp, JUMBO_CAPABLE) && !tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
8606
tpr->rx_jmb_buffers = kzalloc(TG3_RX_JMB_BUFF_RING_SIZE(tp),
drivers/net/ethernet/broadcom/tg3.c
8611
tpr->rx_jmb = dma_alloc_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8612
TG3_RX_JMB_RING_BYTES(tp),
drivers/net/ethernet/broadcom/tg3.c
8622
tg3_rx_prodring_fini(tp, tpr);
drivers/net/ethernet/broadcom/tg3.c
863
bufoff = tg3_ape_read32(tp, TG3_APE_SEG_MSG_BUF_OFF) +
drivers/net/ethernet/broadcom/tg3.c
8633
static void tg3_free_rings(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8637
for (j = 0; j < tp->irq_cnt; j++) {
drivers/net/ethernet/broadcom/tg3.c
8638
struct tg3_napi *tnapi = &tp->napi[j];
drivers/net/ethernet/broadcom/tg3.c
8640
tg3_rx_prodring_free(tp, &tnapi->prodring);
drivers/net/ethernet/broadcom/tg3.c
8656
netdev_tx_reset_queue(netdev_get_tx_queue(tp->dev, j));
drivers/net/ethernet/broadcom/tg3.c
866
maxlen = tg3_ape_read32(tp, TG3_APE_SEG_MSG_BUF_LEN);
drivers/net/ethernet/broadcom/tg3.c
8667
static int tg3_init_rings(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8672
tg3_free_rings(tp);
drivers/net/ethernet/broadcom/tg3.c
8674
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
8675
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
8690
memset(tnapi->rx_rcb, 0, TG3_RX_RCB_RING_BYTES(tp));
drivers/net/ethernet/broadcom/tg3.c
8693
tg3_rx_prodring_alloc(tp, &tnapi->prodring)) {
drivers/net/ethernet/broadcom/tg3.c
8694
tg3_free_rings(tp);
drivers/net/ethernet/broadcom/tg3.c
8702
static void tg3_mem_tx_release(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8706
for (i = 0; i < tp->irq_max; i++) {
drivers/net/ethernet/broadcom/tg3.c
8707
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
8710
dma_free_coherent(&tp->pdev->dev, TG3_TX_RING_BYTES,
drivers/net/ethernet/broadcom/tg3.c
8720
static int tg3_mem_tx_acquire(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8723
struct tg3_napi *tnapi = &tp->napi[0];
drivers/net/ethernet/broadcom/tg3.c
8728
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
8731
for (i = 0; i < tp->txq_cnt; i++, tnapi++) {
drivers/net/ethernet/broadcom/tg3.c
8737
tnapi->tx_ring = dma_alloc_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8748
tg3_mem_tx_release(tp);
drivers/net/ethernet/broadcom/tg3.c
875
apedata = tg3_ape_read32(tp, TG3_APE_FW_STATUS);
drivers/net/ethernet/broadcom/tg3.c
8752
static void tg3_mem_rx_release(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8756
for (i = 0; i < tp->irq_max; i++) {
drivers/net/ethernet/broadcom/tg3.c
8757
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
8759
tg3_rx_prodring_fini(tp, &tnapi->prodring);
drivers/net/ethernet/broadcom/tg3.c
8764
dma_free_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8765
TG3_RX_RCB_RING_BYTES(tp),
drivers/net/ethernet/broadcom/tg3.c
8772
static int tg3_mem_rx_acquire(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8776
limit = tp->rxq_cnt;
drivers/net/ethernet/broadcom/tg3.c
8781
if (tg3_flag(tp, ENABLE_RSS))
drivers/net/ethernet/broadcom/tg3.c
8785
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
8787
if (tg3_rx_prodring_init(tp, &tnapi->prodring))
drivers/net/ethernet/broadcom/tg3.c
8794
if (!i && tg3_flag(tp, ENABLE_RSS))
drivers/net/ethernet/broadcom/tg3.c
8797
tnapi->rx_rcb = dma_alloc_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8798
TG3_RX_RCB_RING_BYTES(tp),
drivers/net/ethernet/broadcom/tg3.c
880
err = tg3_ape_event_lock(tp, 1000);
drivers/net/ethernet/broadcom/tg3.c
8808
tg3_mem_rx_release(tp);
drivers/net/ethernet/broadcom/tg3.c
8816
static void tg3_free_consistent(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8820
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
8821
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
8824
dma_free_coherent(&tp->pdev->dev, TG3_HW_STATUS_SIZE,
drivers/net/ethernet/broadcom/tg3.c
8831
tg3_mem_rx_release(tp);
drivers/net/ethernet/broadcom/tg3.c
8832
tg3_mem_tx_release(tp);
drivers/net/ethernet/broadcom/tg3.c
8838
if (tp->hw_stats) {
drivers/net/ethernet/broadcom/tg3.c
8839
dma_free_coherent(&tp->pdev->dev, sizeof(struct tg3_hw_stats),
drivers/net/ethernet/broadcom/tg3.c
8840
tp->hw_stats, tp->stats_mapping);
drivers/net/ethernet/broadcom/tg3.c
8841
tp->hw_stats = NULL;
drivers/net/ethernet/broadcom/tg3.c
8849
static int tg3_alloc_consistent(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
8853
tp->hw_stats = dma_alloc_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8855
&tp->stats_mapping, GFP_KERNEL);
drivers/net/ethernet/broadcom/tg3.c
8856
if (!tp->hw_stats)
drivers/net/ethernet/broadcom/tg3.c
8859
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
8860
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
8863
tnapi->hw_status = dma_alloc_coherent(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
887
tg3_ape_write32(tp, TG3_APE_EVENT_STATUS, apedata);
drivers/net/ethernet/broadcom/tg3.c
8872
if (tg3_flag(tp, ENABLE_RSS)) {
drivers/net/ethernet/broadcom/tg3.c
889
tg3_ape_write32(tp, bufoff, base_off);
drivers/net/ethernet/broadcom/tg3.c
890
tg3_ape_write32(tp, bufoff + sizeof(u32), length);
drivers/net/ethernet/broadcom/tg3.c
8901
if (tg3_mem_tx_acquire(tp) || tg3_mem_rx_acquire(tp))
drivers/net/ethernet/broadcom/tg3.c
8907
tg3_free_consistent(tp);
drivers/net/ethernet/broadcom/tg3.c
8916
static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit, bool silent)
drivers/net/ethernet/broadcom/tg3.c
892
tg3_ape_unlock(tp, TG3_APE_LOCK_MEM);
drivers/net/ethernet/broadcom/tg3.c
8921
if (tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
893
tg3_ape_write32(tp, TG3_APE_EVENT, APE_EVENT_1);
drivers/net/ethernet/broadcom/tg3.c
8943
if (pci_channel_offline(tp->pdev)) {
drivers/net/ethernet/broadcom/tg3.c
8944
dev_err(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8958
dev_err(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
8968
static int tg3_abort_hw(struct tg3 *tp, bool silent)
drivers/net/ethernet/broadcom/tg3.c
897
if (tg3_ape_wait_for_event(tp, 30000))
drivers/net/ethernet/broadcom/tg3.c
8972
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
8974
if (pci_channel_offline(tp->pdev)) {
drivers/net/ethernet/broadcom/tg3.c
8975
tp->rx_mode &= ~(RX_MODE_ENABLE | TX_MODE_ENABLE);
drivers/net/ethernet/broadcom/tg3.c
8976
tp->mac_mode &= ~MAC_MODE_TDE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
8981
tp->rx_mode &= ~RX_MODE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
8982
tw32_f(MAC_RX_MODE, tp->rx_mode);
drivers/net/ethernet/broadcom/tg3.c
8985
err = tg3_stop_block(tp, RCVBDI_MODE, RCVBDI_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8986
err |= tg3_stop_block(tp, RCVLPC_MODE, RCVLPC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8987
err |= tg3_stop_block(tp, RCVLSC_MODE, RCVLSC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8988
err |= tg3_stop_block(tp, RCVDBDI_MODE, RCVDBDI_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8989
err |= tg3_stop_block(tp, RCVDCC_MODE, RCVDCC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8990
err |= tg3_stop_block(tp, RCVCC_MODE, RCVCC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8992
err |= tg3_stop_block(tp, SNDBDS_MODE, SNDBDS_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8993
err |= tg3_stop_block(tp, SNDBDI_MODE, SNDBDI_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8994
err |= tg3_stop_block(tp, SNDDATAI_MODE, SNDDATAI_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8995
err |= tg3_stop_block(tp, RDMAC_MODE, RDMAC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8996
err |= tg3_stop_block(tp, SNDDATAC_MODE, SNDDATAC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8997
err |= tg3_stop_block(tp, DMAC_MODE, DMAC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
8998
err |= tg3_stop_block(tp, SNDBDC_MODE, SNDBDC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
9000
tp->mac_mode &= ~MAC_MODE_TDE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
9001
tw32_f(MAC_MODE, tp->mac_mode);
drivers/net/ethernet/broadcom/tg3.c
9004
tp->tx_mode &= ~TX_MODE_ENABLE;
drivers/net/ethernet/broadcom/tg3.c
9005
tw32_f(MAC_TX_MODE, tp->tx_mode);
drivers/net/ethernet/broadcom/tg3.c
901
u32 val = tg3_ape_read32(tp, msgoff + i);
drivers/net/ethernet/broadcom/tg3.c
9013
dev_err(&tp->pdev->dev,
drivers/net/ethernet/broadcom/tg3.c
9019
err |= tg3_stop_block(tp, HOSTCC_MODE, HOSTCC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
9020
err |= tg3_stop_block(tp, WDMAC_MODE, WDMAC_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
9021
err |= tg3_stop_block(tp, MBFREE_MODE, MBFREE_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
9026
err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
9027
err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE, silent);
drivers/net/ethernet/broadcom/tg3.c
9030
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
9031
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
9040
static void tg3_save_pci_state(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9042
pci_read_config_word(tp->pdev, PCI_COMMAND, &tp->pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
9046
static void tg3_restore_pci_state(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9051
pci_write_config_dword(tp->pdev, TG3PCI_MISC_HOST_CTRL,
drivers/net/ethernet/broadcom/tg3.c
9052
tp->misc_host_ctrl);
drivers/net/ethernet/broadcom/tg3.c
9056
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5704_A0 &&
drivers/net/ethernet/broadcom/tg3.c
9057
tg3_flag(tp, PCIX_MODE))
drivers/net/ethernet/broadcom/tg3.c
9060
if (tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
9064
pci_write_config_dword(tp->pdev, TG3PCI_PCISTATE, val);
drivers/net/ethernet/broadcom/tg3.c
9066
pci_write_config_word(tp->pdev, PCI_COMMAND, tp->pci_cmd);
drivers/net/ethernet/broadcom/tg3.c
9068
if (!tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
9069
pci_write_config_byte(tp->pdev, PCI_CACHE_LINE_SIZE,
drivers/net/ethernet/broadcom/tg3.c
9070
tp->pci_cacheline_sz);
drivers/net/ethernet/broadcom/tg3.c
9071
pci_write_config_byte(tp->pdev, PCI_LATENCY_TIMER,
drivers/net/ethernet/broadcom/tg3.c
9072
tp->pci_lat_timer);
drivers/net/ethernet/broadcom/tg3.c
9076
if (tg3_flag(tp, PCIX_MODE)) {
drivers/net/ethernet/broadcom/tg3.c
9079
pci_read_config_word(tp->pdev, tp->pcix_cap + PCI_X_CMD,
drivers/net/ethernet/broadcom/tg3.c
9082
pci_write_config_word(tp->pdev, tp->pcix_cap + PCI_X_CMD,
drivers/net/ethernet/broadcom/tg3.c
9086
if (tg3_flag(tp, 5780_CLASS)) {
drivers/net/ethernet/broadcom/tg3.c
9091
if (tg3_flag(tp, USING_MSI)) {
drivers/net/ethernet/broadcom/tg3.c
9094
pci_read_config_word(tp->pdev,
drivers/net/ethernet/broadcom/tg3.c
9095
tp->msi_cap + PCI_MSI_FLAGS,
drivers/net/ethernet/broadcom/tg3.c
9097
pci_write_config_word(tp->pdev,
drivers/net/ethernet/broadcom/tg3.c
9098
tp->msi_cap + PCI_MSI_FLAGS,
drivers/net/ethernet/broadcom/tg3.c
9106
static void tg3_override_clk(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
911
static int tg3_ape_send_event(struct tg3 *tp, u32 event)
drivers/net/ethernet/broadcom/tg3.c
9110
switch (tg3_asic_rev(tp)) {
drivers/net/ethernet/broadcom/tg3.c
9127
static void tg3_restore_clk(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9131
switch (tg3_asic_rev(tp)) {
drivers/net/ethernet/broadcom/tg3.c
9150
static int tg3_chip_reset(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9151
__releases(tp->lock)
drivers/net/ethernet/broadcom/tg3.c
9152
__acquires(tp->lock)
drivers/net/ethernet/broadcom/tg3.c
9158
if (!pci_device_is_present(tp->pdev))
drivers/net/ethernet/broadcom/tg3.c
916
apedata = tg3_ape_read32(tp, TG3_APE_SEG_SIG);
drivers/net/ethernet/broadcom/tg3.c
9161
tg3_nvram_lock(tp);
drivers/net/ethernet/broadcom/tg3.c
9163
tg3_ape_lock(tp, TG3_APE_LOCK_GRC);
drivers/net/ethernet/broadcom/tg3.c
9168
tp->nvram_lock_cnt = 0;
drivers/net/ethernet/broadcom/tg3.c
9174
tg3_save_pci_state(tp);
drivers/net/ethernet/broadcom/tg3.c
9176
if (tg3_asic_rev(tp) == ASIC_REV_5752 ||
drivers/net/ethernet/broadcom/tg3.c
9177
tg3_flag(tp, 5755_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9186
write_op = tp->write32;
drivers/net/ethernet/broadcom/tg3.c
9188
tp->write32 = tg3_write32;
drivers/net/ethernet/broadcom/tg3.c
9196
tg3_flag_set(tp, CHIP_RESETTING);
drivers/net/ethernet/broadcom/tg3.c
9197
for (i = 0; i < tp->irq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
9198
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
920
apedata = tg3_ape_read32(tp, TG3_APE_FW_STATUS);
drivers/net/ethernet/broadcom/tg3.c
9208
tg3_full_unlock(tp);
drivers/net/ethernet/broadcom/tg3.c
9210
for (i = 0; i < tp->irq_cnt; i++)
drivers/net/ethernet/broadcom/tg3.c
9211
synchronize_irq(tp->napi[i].irq_vec);
drivers/net/ethernet/broadcom/tg3.c
9213
tg3_full_lock(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
9215
if (tg3_asic_rev(tp) == ASIC_REV_57780) {
drivers/net/ethernet/broadcom/tg3.c
9223
if (tg3_flag(tp, PCI_EXPRESS)) {
drivers/net/ethernet/broadcom/tg3.c
9225
if (tg3_asic_rev(tp) != ASIC_REV_5785 &&
drivers/net/ethernet/broadcom/tg3.c
9226
!tg3_flag(tp, 57765_PLUS) &&
drivers/net/ethernet/broadcom/tg3.c
9231
if (tg3_chip_rev_id(tp) != CHIPREV_ID_5750_A0) {
drivers/net/ethernet/broadcom/tg3.c
9237
if (tg3_asic_rev(tp) == ASIC_REV_5906) {
drivers/net/ethernet/broadcom/tg3.c
9248
tg3_override_clk(tp);
drivers/net/ethernet/broadcom/tg3.c
925
err = tg3_ape_event_lock(tp, 20000);
drivers/net/ethernet/broadcom/tg3.c
9251
if (tg3_flag(tp, 5705_PLUS) && !tg3_flag(tp, CPMU_PRESENT))
drivers/net/ethernet/broadcom/tg3.c
9257
tp->write32 = write_op;
drivers/net/ethernet/broadcom/tg3.c
9280
pci_read_config_dword(tp->pdev, PCI_COMMAND, &val);
drivers/net/ethernet/broadcom/tg3.c
9284
if (tg3_flag(tp, PCI_EXPRESS) && pci_is_pcie(tp->pdev)) {
drivers/net/ethernet/broadcom/tg3.c
9287
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5750_A0) {
drivers/net/ethernet/broadcom/tg3.c
929
tg3_ape_write32(tp, TG3_APE_EVENT_STATUS,
drivers/net/ethernet/broadcom/tg3.c
9295
pci_read_config_dword(tp->pdev, 0xc4, &cfg_val);
drivers/net/ethernet/broadcom/tg3.c
9296
pci_write_config_dword(tp->pdev, 0xc4,
drivers/net/ethernet/broadcom/tg3.c
93
#define tg3_flag(tp, flag) \
drivers/net/ethernet/broadcom/tg3.c
9306
if (!tg3_flag(tp, CPMU_PRESENT))
drivers/net/ethernet/broadcom/tg3.c
9308
pcie_capability_clear_word(tp->pdev, PCI_EXP_DEVCTL, val16);
drivers/net/ethernet/broadcom/tg3.c
9311
pcie_capability_write_word(tp->pdev, PCI_EXP_DEVSTA,
drivers/net/ethernet/broadcom/tg3.c
9318
tg3_restore_pci_state(tp);
drivers/net/ethernet/broadcom/tg3.c
932
tg3_ape_unlock(tp, TG3_APE_LOCK_MEM);
drivers/net/ethernet/broadcom/tg3.c
9320
tg3_flag_clear(tp, CHIP_RESETTING);
drivers/net/ethernet/broadcom/tg3.c
9321
tg3_flag_clear(tp, ERROR_PROCESSED);
drivers/net/ethernet/broadcom/tg3.c
9324
if (tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
9328
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5750_A3) {
drivers/net/ethernet/broadcom/tg3.c
9329
tg3_stop_fw(tp);
drivers/net/ethernet/broadcom/tg3.c
933
tg3_ape_write32(tp, TG3_APE_EVENT, APE_EVENT_1);
drivers/net/ethernet/broadcom/tg3.c
9333
if (tg3_flag(tp, IS_SSB_CORE)) {
drivers/net/ethernet/broadcom/tg3.c
9339
tg3_stop_fw(tp);
drivers/net/ethernet/broadcom/tg3.c
9340
tg3_halt_cpu(tp, RX_CPU_BASE);
drivers/net/ethernet/broadcom/tg3.c
9343
err = tg3_poll_fw(tp);
drivers/net/ethernet/broadcom/tg3.c
9347
tw32(GRC_MODE, tp->grc_mode);
drivers/net/ethernet/broadcom/tg3.c
9349
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5705_A0) {
drivers/net/ethernet/broadcom/tg3.c
9355
if ((tp->nic_sram_data_cfg & NIC_SRAM_DATA_CFG_MINI_PCI) != 0 &&
drivers/net/ethernet/broadcom/tg3.c
9356
tg3_asic_rev(tp) == ASIC_REV_5705) {
drivers/net/ethernet/broadcom/tg3.c
9357
tp->pci_clock_ctrl |= CLOCK_CTRL_CLKRUN_OENABLE;
drivers/net/ethernet/broadcom/tg3.c
9358
if (tg3_chip_rev_id(tp) == CHIPREV_ID_5705_A0)
drivers/net/ethernet/broadcom/tg3.c
9359
tp->pci_clock_ctrl |= CLOCK_CTRL_FORCE_CLKRUN;
drivers/net/ethernet/broadcom/tg3.c
9360
tw32(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl);
drivers/net/ethernet/broadcom/tg3.c
9363
if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
9364
tp->mac_mode = MAC_MODE_PORT_MODE_TBI;
drivers/net/ethernet/broadcom/tg3.c
9365
val = tp->mac_mode;
drivers/net/ethernet/broadcom/tg3.c
9366
} else if (tp->phy_flags & TG3_PHYFLG_MII_SERDES) {
drivers/net/ethernet/broadcom/tg3.c
9367
tp->mac_mode = MAC_MODE_PORT_MODE_GMII;
drivers/net/ethernet/broadcom/tg3.c
9368
val = tp->mac_mode;
drivers/net/ethernet/broadcom/tg3.c
9375
tg3_ape_unlock(tp, TG3_APE_LOCK_GRC);
drivers/net/ethernet/broadcom/tg3.c
9377
tg3_mdio_start(tp);
drivers/net/ethernet/broadcom/tg3.c
9379
if (tg3_flag(tp, PCI_EXPRESS) &&
drivers/net/ethernet/broadcom/tg3.c
938
static void tg3_ape_driver_state_change(struct tg3 *tp, int kind)
drivers/net/ethernet/broadcom/tg3.c
9380
tg3_chip_rev_id(tp) != CHIPREV_ID_5750_A0 &&
drivers/net/ethernet/broadcom/tg3.c
9381
tg3_asic_rev(tp) != ASIC_REV_5785 &&
drivers/net/ethernet/broadcom/tg3.c
9382
!tg3_flag(tp, 57765_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
9388
tg3_restore_clk(tp);
drivers/net/ethernet/broadcom/tg3.c
9393
if (tg3_asic_rev(tp) == ASIC_REV_5762) {
drivers/net/ethernet/broadcom/tg3.c
94
_tg3_flag(TG3_FLAG_##flag, (tp)->tg3_flags)
drivers/net/ethernet/broadcom/tg3.c
9400
tg3_flag_clear(tp, ENABLE_ASF);
drivers/net/ethernet/broadcom/tg3.c
9401
tp->phy_flags &= ~(TG3_PHYFLG_1G_ON_VAUX_OK |
drivers/net/ethernet/broadcom/tg3.c
9404
tg3_flag_clear(tp, ASF_NEW_HANDSHAKE);
drivers/net/ethernet/broadcom/tg3.c
9405
tg3_read_mem(tp, NIC_SRAM_DATA_SIG, &val);
drivers/net/ethernet/broadcom/tg3.c
9409
tg3_read_mem(tp, NIC_SRAM_DATA_CFG, &nic_cfg);
drivers/net/ethernet/broadcom/tg3.c
9411
tg3_flag_set(tp, ENABLE_ASF);
drivers/net/ethernet/broadcom/tg3.c
9412
tp->last_event_jiffies = jiffies;
drivers/net/ethernet/broadcom/tg3.c
9413
if (tg3_flag(tp, 5750_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9414
tg3_flag_set(tp, ASF_NEW_HANDSHAKE);
drivers/net/ethernet/broadcom/tg3.c
9416
tg3_read_mem(tp, NIC_SRAM_DATA_CFG_3, &nic_cfg);
drivers/net/ethernet/broadcom/tg3.c
9418
tp->phy_flags |= TG3_PHYFLG_1G_ON_VAUX_OK;
drivers/net/ethernet/broadcom/tg3.c
9420
tp->phy_flags |= TG3_PHYFLG_KEEP_LINK_ON_PWRDN;
drivers/net/ethernet/broadcom/tg3.c
943
if (!tg3_flag(tp, ENABLE_APE))
drivers/net/ethernet/broadcom/tg3.c
9432
static int tg3_halt(struct tg3 *tp, int kind, bool silent)
drivers/net/ethernet/broadcom/tg3.c
9436
tg3_stop_fw(tp);
drivers/net/ethernet/broadcom/tg3.c
9438
tg3_write_sig_pre_reset(tp, kind);
drivers/net/ethernet/broadcom/tg3.c
9440
tg3_abort_hw(tp, silent);
drivers/net/ethernet/broadcom/tg3.c
9441
err = tg3_chip_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
9443
__tg3_set_mac_addr(tp, false);
drivers/net/ethernet/broadcom/tg3.c
9445
tg3_write_sig_legacy(tp, kind);
drivers/net/ethernet/broadcom/tg3.c
9446
tg3_write_sig_post_reset(tp, kind);
drivers/net/ethernet/broadcom/tg3.c
9448
if (tp->hw_stats) {
drivers/net/ethernet/broadcom/tg3.c
9450
tg3_get_nstats(tp, &tp->net_stats_prev);
drivers/net/ethernet/broadcom/tg3.c
9451
tg3_get_estats(tp, &tp->estats_prev);
drivers/net/ethernet/broadcom/tg3.c
9454
memset(tp->hw_stats, 0, sizeof(struct tg3_hw_stats));
drivers/net/ethernet/broadcom/tg3.c
9457
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
9469
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
948
tg3_ape_write32(tp, TG3_APE_HOST_HEARTBEAT_COUNT, tp->ape_hb++);
drivers/net/ethernet/broadcom/tg3.c
9482
if (tg3_flag(tp, ENABLE_ASF)) {
drivers/net/ethernet/broadcom/tg3.c
949
tg3_ape_write32(tp, TG3_APE_HOST_SEG_SIG,
drivers/net/ethernet/broadcom/tg3.c
9495
spin_lock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
9496
__tg3_set_mac_addr(tp, skip_mac_1);
drivers/net/ethernet/broadcom/tg3.c
9498
spin_unlock_bh(&tp->lock);
drivers/net/ethernet/broadcom/tg3.c
95
#define tg3_flag_set(tp, flag) \
drivers/net/ethernet/broadcom/tg3.c
9504
static void tg3_set_bdinfo(struct tg3 *tp, u32 bdinfo_addr,
drivers/net/ethernet/broadcom/tg3.c
9508
tg3_write_mem(tp,
drivers/net/ethernet/broadcom/tg3.c
951
tg3_ape_write32(tp, TG3_APE_HOST_SEG_LEN,
drivers/net/ethernet/broadcom/tg3.c
9511
tg3_write_mem(tp,
drivers/net/ethernet/broadcom/tg3.c
9514
tg3_write_mem(tp,
drivers/net/ethernet/broadcom/tg3.c
9518
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9519
tg3_write_mem(tp,
drivers/net/ethernet/broadcom/tg3.c
9525
static void tg3_coal_tx_init(struct tg3 *tp, struct ethtool_coalesce *ec)
drivers/net/ethernet/broadcom/tg3.c
9529
if (!tg3_flag(tp, ENABLE_TSS)) {
drivers/net/ethernet/broadcom/tg3.c
953
apedata = tg3_ape_read32(tp, TG3_APE_HOST_INIT_COUNT);
drivers/net/ethernet/broadcom/tg3.c
9538
for (; i < tp->txq_cnt; i++) {
drivers/net/ethernet/broadcom/tg3.c
954
tg3_ape_write32(tp, TG3_APE_HOST_INIT_COUNT, ++apedata);
drivers/net/ethernet/broadcom/tg3.c
955
tg3_ape_write32(tp, TG3_APE_HOST_DRIVER_ID,
drivers/net/ethernet/broadcom/tg3.c
9550
for (; i < tp->irq_max - 1; i++) {
drivers/net/ethernet/broadcom/tg3.c
9557
static void tg3_coal_rx_init(struct tg3 *tp, struct ethtool_coalesce *ec)
drivers/net/ethernet/broadcom/tg3.c
9560
u32 limit = tp->rxq_cnt;
drivers/net/ethernet/broadcom/tg3.c
9562
if (!tg3_flag(tp, ENABLE_RSS)) {
drivers/net/ethernet/broadcom/tg3.c
957
tg3_ape_write32(tp, TG3_APE_HOST_BEHAVIOR,
drivers/net/ethernet/broadcom/tg3.c
9584
for (; i < tp->irq_max - 1; i++) {
drivers/net/ethernet/broadcom/tg3.c
959
tg3_ape_write32(tp, TG3_APE_HOST_DRVR_STATE,
drivers/net/ethernet/broadcom/tg3.c
9591
static void __tg3_set_coalesce(struct tg3 *tp, struct ethtool_coalesce *ec)
drivers/net/ethernet/broadcom/tg3.c
9593
tg3_coal_tx_init(tp, ec);
drivers/net/ethernet/broadcom/tg3.c
9594
tg3_coal_rx_init(tp, ec);
drivers/net/ethernet/broadcom/tg3.c
9596
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
96
_tg3_flag_set(TG3_FLAG_##flag, (tp)->tg3_flags)
drivers/net/ethernet/broadcom/tg3.c
9602
if (!tp->link_up)
drivers/net/ethernet/broadcom/tg3.c
9610
static void tg3_tx_rcbs_disable(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9615
if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9617
else if (tg3_flag(tp, 5717_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9619
else if (tg3_flag(tp, 57765_CLASS) ||
drivers/net/ethernet/broadcom/tg3.c
9620
tg3_asic_rev(tp) == ASIC_REV_5762)
drivers/net/ethernet/broadcom/tg3.c
9627
tg3_write_mem(tp, txrcb + TG3_BDINFO_MAXLEN_FLAGS,
drivers/net/ethernet/broadcom/tg3.c
9632
static void tg3_tx_rcbs_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9637
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
9640
for (; i < tp->irq_max; i++, txrcb += TG3_BDINFO_SIZE) {
drivers/net/ethernet/broadcom/tg3.c
9641
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
9646
tg3_set_bdinfo(tp, txrcb, tnapi->tx_desc_mapping,
drivers/net/ethernet/broadcom/tg3.c
965
if (device_may_wakeup(&tp->pdev->dev) &&
drivers/net/ethernet/broadcom/tg3.c
9653
static void tg3_rx_ret_rcbs_disable(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9658
if (tg3_flag(tp, 5717_PLUS))
drivers/net/ethernet/broadcom/tg3.c
966
tg3_flag(tp, WOL_ENABLE)) {
drivers/net/ethernet/broadcom/tg3.c
9660
else if (!tg3_flag(tp, 5705_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9662
else if (tg3_asic_rev(tp) == ASIC_REV_5755 ||
drivers/net/ethernet/broadcom/tg3.c
9663
tg3_asic_rev(tp) == ASIC_REV_5762 ||
drivers/net/ethernet/broadcom/tg3.c
9664
tg3_flag(tp, 57765_CLASS))
drivers/net/ethernet/broadcom/tg3.c
967
tg3_ape_write32(tp, TG3_APE_HOST_WOL_SPEED,
drivers/net/ethernet/broadcom/tg3.c
9671
tg3_write_mem(tp, rxrcb + TG3_BDINFO_MAXLEN_FLAGS,
drivers/net/ethernet/broadcom/tg3.c
9676
static void tg3_rx_ret_rcbs_init(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9681
if (tg3_flag(tp, ENABLE_RSS))
drivers/net/ethernet/broadcom/tg3.c
9684
for (; i < tp->irq_max; i++, rxrcb += TG3_BDINFO_SIZE) {
drivers/net/ethernet/broadcom/tg3.c
9685
struct tg3_napi *tnapi = &tp->napi[i];
drivers/net/ethernet/broadcom/tg3.c
9690
tg3_set_bdinfo(tp, rxrcb, tnapi->rx_rcb_mapping,
drivers/net/ethernet/broadcom/tg3.c
9691
(tp->rx_ret_ring_mask + 1) <<
drivers/net/ethernet/broadcom/tg3.c
9697
static void tg3_rings_reset(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
97
#define tg3_flag_clear(tp, flag) \
drivers/net/ethernet/broadcom/tg3.c
9701
struct tg3_napi *tnapi = &tp->napi[0];
drivers/net/ethernet/broadcom/tg3.c
9703
tg3_tx_rcbs_disable(tp);
drivers/net/ethernet/broadcom/tg3.c
9705
tg3_rx_ret_rcbs_disable(tp);
drivers/net/ethernet/broadcom/tg3.c
9708
tw32_mailbox_f(tp->napi[0].int_mbox, 1);
drivers/net/ethernet/broadcom/tg3.c
9709
tp->napi[0].chk_msi_cnt = 0;
drivers/net/ethernet/broadcom/tg3.c
9710
tp->napi[0].last_rx_cons = 0;
drivers/net/ethernet/broadcom/tg3.c
9711
tp->napi[0].last_tx_cons = 0;
drivers/net/ethernet/broadcom/tg3.c
9714
if (tg3_flag(tp, SUPPORT_MSIX)) {
drivers/net/ethernet/broadcom/tg3.c
9715
for (i = 1; i < tp->irq_max; i++) {
drivers/net/ethernet/broadcom/tg3.c
9716
tp->napi[i].tx_prod = 0;
drivers/net/ethernet/broadcom/tg3.c
9717
tp->napi[i].tx_cons = 0;
drivers/net/ethernet/broadcom/tg3.c
9718
if (tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
9719
tw32_mailbox(tp->napi[i].prodmbox, 0);
drivers/net/ethernet/broadcom/tg3.c
9720
tw32_rx_mbox(tp->napi[i].consmbox, 0);
drivers/net/ethernet/broadcom/tg3.c
9721
tw32_mailbox_f(tp->napi[i].int_mbox, 1);
drivers/net/ethernet/broadcom/tg3.c
9722
tp->napi[i].chk_msi_cnt = 0;
drivers/net/ethernet/broadcom/tg3.c
9723
tp->napi[i].last_rx_cons = 0;
drivers/net/ethernet/broadcom/tg3.c
9724
tp->napi[i].last_tx_cons = 0;
drivers/net/ethernet/broadcom/tg3.c
9726
if (!tg3_flag(tp, ENABLE_TSS))
drivers/net/ethernet/broadcom/tg3.c
9727
tw32_mailbox(tp->napi[0].prodmbox, 0);
drivers/net/ethernet/broadcom/tg3.c
9729
tp->napi[0].tx_prod = 0;
drivers/net/ethernet/broadcom/tg3.c
973
tg3_ape_write32(tp, TG3_APE_HOST_DRVR_STATE, apedata);
drivers/net/ethernet/broadcom/tg3.c
9730
tp->napi[0].tx_cons = 0;
drivers/net/ethernet/broadcom/tg3.c
9731
tw32_mailbox(tp->napi[0].prodmbox, 0);
drivers/net/ethernet/broadcom/tg3.c
9732
tw32_rx_mbox(tp->napi[0].consmbox, 0);
drivers/net/ethernet/broadcom/tg3.c
9736
if (!tg3_flag(tp, 5705_PLUS)) {
drivers/net/ethernet/broadcom/tg3.c
9753
for (i = 1, tnapi++; i < tp->irq_cnt; i++, tnapi++) {
drivers/net/ethernet/broadcom/tg3.c
9763
tg3_tx_rcbs_init(tp);
drivers/net/ethernet/broadcom/tg3.c
9764
tg3_rx_ret_rcbs_init(tp);
drivers/net/ethernet/broadcom/tg3.c
9767
static void tg3_setup_rxbd_thresholds(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9771
if (!tg3_flag(tp, 5750_PLUS) ||
drivers/net/ethernet/broadcom/tg3.c
9772
tg3_flag(tp, 5780_CLASS) ||
drivers/net/ethernet/broadcom/tg3.c
9773
tg3_asic_rev(tp) == ASIC_REV_5750 ||
drivers/net/ethernet/broadcom/tg3.c
9774
tg3_asic_rev(tp) == ASIC_REV_5752 ||
drivers/net/ethernet/broadcom/tg3.c
9775
tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9777
else if (tg3_asic_rev(tp) == ASIC_REV_5755 ||
drivers/net/ethernet/broadcom/tg3.c
9778
tg3_asic_rev(tp) == ASIC_REV_5787)
drivers/net/ethernet/broadcom/tg3.c
9783
nic_rep_thresh = min(bdcache_maxcnt / 2, tp->rx_std_max_post);
drivers/net/ethernet/broadcom/tg3.c
9784
host_rep_thresh = max_t(u32, tp->rx_pending / 8, 1);
drivers/net/ethernet/broadcom/tg3.c
9789
if (tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9792
if (!tg3_flag(tp, JUMBO_CAPABLE) || tg3_flag(tp, 5780_CLASS))
drivers/net/ethernet/broadcom/tg3.c
9797
host_rep_thresh = max_t(u32, tp->rx_jumbo_pending / 8, 1);
drivers/net/ethernet/broadcom/tg3.c
98
_tg3_flag_clear(TG3_FLAG_##flag, (tp)->tg3_flags)
drivers/net/ethernet/broadcom/tg3.c
9802
if (tg3_flag(tp, 57765_PLUS))
drivers/net/ethernet/broadcom/tg3.c
9811
static void tg3_set_multi(struct tg3 *tp, unsigned int accept_all)
drivers/net/ethernet/broadcom/tg3.c
9822
struct tg3 *tp = netdev_priv(dev);
drivers/net/ethernet/broadcom/tg3.c
9825
rx_mode = tp->rx_mode & ~(RX_MODE_PROMISC |
drivers/net/ethernet/broadcom/tg3.c
983
tg3_ape_send_event(tp, event);
drivers/net/ethernet/broadcom/tg3.c
9832
if (!tg3_flag(tp, ENABLE_ASF))
drivers/net/ethernet/broadcom/tg3.c
9841
tg3_set_multi(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
9844
tg3_set_multi(tp, 0);
drivers/net/ethernet/broadcom/tg3.c
986
static void tg3_send_ape_heartbeat(struct tg3 *tp,
drivers/net/ethernet/broadcom/tg3.c
9867
if (netdev_uc_count(dev) > TG3_MAX_UCAST_ADDR(tp)) {
drivers/net/ethernet/broadcom/tg3.c
9875
__tg3_set_one_mac_addr(tp, ha->addr,
drivers/net/ethernet/broadcom/tg3.c
9876
i + TG3_UCAST_ADDR_IDX(tp));
drivers/net/ethernet/broadcom/tg3.c
9881
if (rx_mode != tp->rx_mode) {
drivers/net/ethernet/broadcom/tg3.c
9882
tp->rx_mode = rx_mode;
drivers/net/ethernet/broadcom/tg3.c
9888
static void tg3_rss_init_dflt_indir_tbl(struct tg3 *tp, u32 qcnt)
drivers/net/ethernet/broadcom/tg3.c
9893
tp->rss_ind_tbl[i] = ethtool_rxfh_indir_default(i, qcnt);
drivers/net/ethernet/broadcom/tg3.c
9896
static void tg3_rss_check_indir_tbl(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
990
if (!tg3_flag(tp, ENABLE_APE) ||
drivers/net/ethernet/broadcom/tg3.c
9900
if (!tg3_flag(tp, SUPPORT_MSIX))
drivers/net/ethernet/broadcom/tg3.c
9903
if (tp->rxq_cnt == 1) {
drivers/net/ethernet/broadcom/tg3.c
9904
memset(&tp->rss_ind_tbl[0], 0, sizeof(tp->rss_ind_tbl));
drivers/net/ethernet/broadcom/tg3.c
991
time_before(jiffies, tp->ape_hb_jiffies + interval))
drivers/net/ethernet/broadcom/tg3.c
9910
if (tp->rss_ind_tbl[i] >= tp->rxq_cnt)
drivers/net/ethernet/broadcom/tg3.c
9915
tg3_rss_init_dflt_indir_tbl(tp, tp->rxq_cnt);
drivers/net/ethernet/broadcom/tg3.c
9918
static void tg3_rss_write_indir_tbl(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9924
u32 val = tp->rss_ind_tbl[i];
drivers/net/ethernet/broadcom/tg3.c
9928
val |= tp->rss_ind_tbl[i];
drivers/net/ethernet/broadcom/tg3.c
9935
static inline u32 tg3_lso_rd_dma_workaround_bit(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.c
9937
if (tg3_asic_rev(tp) == ASIC_REV_5719)
drivers/net/ethernet/broadcom/tg3.c
994
tg3_ape_write32(tp, TG3_APE_HOST_HEARTBEAT_COUNT, tp->ape_hb++);
drivers/net/ethernet/broadcom/tg3.c
9944
static int tg3_reset_hw(struct tg3 *tp, bool reset_phy)
drivers/net/ethernet/broadcom/tg3.c
9948
struct tg3_rx_prodring_set *tpr = &tp->napi[0].prodring;
drivers/net/ethernet/broadcom/tg3.c
995
tp->ape_hb_jiffies = jiffies;
drivers/net/ethernet/broadcom/tg3.c
9950
tg3_disable_ints(tp);
drivers/net/ethernet/broadcom/tg3.c
9952
tg3_stop_fw(tp);
drivers/net/ethernet/broadcom/tg3.c
9954
tg3_write_sig_pre_reset(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
9956
if (tg3_flag(tp, INIT_COMPLETE))
drivers/net/ethernet/broadcom/tg3.c
9957
tg3_abort_hw(tp, 1);
drivers/net/ethernet/broadcom/tg3.c
9959
if ((tp->phy_flags & TG3_PHYFLG_KEEP_LINK_ON_PWRDN) &&
drivers/net/ethernet/broadcom/tg3.c
9960
!(tp->phy_flags & TG3_PHYFLG_USER_CONFIGURED)) {
drivers/net/ethernet/broadcom/tg3.c
9961
tg3_phy_pull_config(tp);
drivers/net/ethernet/broadcom/tg3.c
9962
tg3_eee_pull_config(tp, NULL);
drivers/net/ethernet/broadcom/tg3.c
9963
tp->phy_flags |= TG3_PHYFLG_USER_CONFIGURED;
drivers/net/ethernet/broadcom/tg3.c
9967
if (tp->phy_flags & TG3_PHYFLG_EEE_CAP)
drivers/net/ethernet/broadcom/tg3.c
9968
tg3_setup_eee(tp);
drivers/net/ethernet/broadcom/tg3.c
9971
tg3_phy_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
9973
err = tg3_chip_reset(tp);
drivers/net/ethernet/broadcom/tg3.c
9977
tg3_write_sig_legacy(tp, RESET_KIND_INIT);
drivers/net/ethernet/broadcom/tg3.c
9979
if (tg3_chip_rev(tp) == CHIPREV_5784_AX) {
drivers/net/ethernet/broadcom/tg3.c
998
static void tg3_disable_ints(struct tg3 *tp)
drivers/net/ethernet/broadcom/tg3.h
2513
#define TG3_APE_HB_INTERVAL (tp->ape_hb_interval)
drivers/net/ethernet/broadcom/tg3.h
3006
struct tg3 *tp;
drivers/net/ethernet/broadcom/tg3.h
3445
#define tg3_chip_rev_id(tp) \
drivers/net/ethernet/broadcom/tg3.h
3446
((tp)->pci_chip_rev_id)
drivers/net/ethernet/broadcom/tg3.h
3447
#define tg3_asic_rev(tp) \
drivers/net/ethernet/broadcom/tg3.h
3448
((tp)->pci_chip_rev_id >> 12)
drivers/net/ethernet/broadcom/tg3.h
3449
#define tg3_chip_rev(tp) \
drivers/net/ethernet/broadcom/tg3.h
3450
((tp)->pci_chip_rev_id >> 8)
drivers/net/ethernet/chelsio/cxgb/common.h
182
struct tp_params tp;
drivers/net/ethernet/chelsio/cxgb/common.h
237
struct petp *tp;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
190
t1_tp_set_ip_checksum_offload(adapter->tp, 1); /* for TSO only */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
191
t1_tp_set_tcp_checksum_offload(adapter->tp, 1);
drivers/net/ethernet/chelsio/cxgb/subr.c
1041
if (adapter->tp)
drivers/net/ethernet/chelsio/cxgb/subr.c
1042
t1_tp_destroy(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
1089
adapter->tp = t1_tp_create(adapter, &adapter->params.tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
1090
if (!adapter->tp) {
drivers/net/ethernet/chelsio/cxgb/subr.c
765
t1_tp_intr_enable(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
797
t1_tp_intr_disable(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
823
t1_tp_intr_clear(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
861
t1_tp_intr_handler(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
996
if (t1_tp_reset(adapter->tp, &adapter->params.tp, bi->clock_core))
drivers/net/ethernet/chelsio/cxgb/tp.c
101
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
105
writel(0, tp->adapter->regs + A_TP_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
107
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
111
void t1_tp_intr_clear(struct petp *tp)
drivers/net/ethernet/chelsio/cxgb/tp.c
114
if (!t1_is_asic(tp->adapter)) {
drivers/net/ethernet/chelsio/cxgb/tp.c
116
tp->adapter->regs + FPGA_TP_ADDR_INTERRUPT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
117
writel(FPGA_PCIX_INTERRUPT_TP, tp->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
121
writel(0xffffffff, tp->adapter->regs + A_TP_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
122
writel(F_PL_INTR_TP, tp->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
125
int t1_tp_intr_handler(struct petp *tp)
drivers/net/ethernet/chelsio/cxgb/tp.c
131
if (!t1_is_asic(tp->adapter))
drivers/net/ethernet/chelsio/cxgb/tp.c
135
cause = readl(tp->adapter->regs + A_TP_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
136
writel(cause, tp->adapter->regs + A_TP_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
140
static void set_csum_offload(struct petp *tp, u32 csum_bit, int enable)
drivers/net/ethernet/chelsio/cxgb/tp.c
142
u32 val = readl(tp->adapter->regs + A_TP_GLOBAL_CONFIG);
drivers/net/ethernet/chelsio/cxgb/tp.c
148
writel(val, tp->adapter->regs + A_TP_GLOBAL_CONFIG);
drivers/net/ethernet/chelsio/cxgb/tp.c
151
void t1_tp_set_ip_checksum_offload(struct petp *tp, int enable)
drivers/net/ethernet/chelsio/cxgb/tp.c
153
set_csum_offload(tp, F_IP_CSUM, enable);
drivers/net/ethernet/chelsio/cxgb/tp.c
156
void t1_tp_set_tcp_checksum_offload(struct petp *tp, int enable)
drivers/net/ethernet/chelsio/cxgb/tp.c
158
set_csum_offload(tp, F_TCP_CSUM, enable);
drivers/net/ethernet/chelsio/cxgb/tp.c
165
int t1_tp_reset(struct petp *tp, struct tp_params *p, unsigned int tp_clk)
drivers/net/ethernet/chelsio/cxgb/tp.c
167
adapter_t *adapter = tp->adapter;
drivers/net/ethernet/chelsio/cxgb/tp.c
54
void t1_tp_destroy(struct petp *tp)
drivers/net/ethernet/chelsio/cxgb/tp.c
56
kfree(tp);
drivers/net/ethernet/chelsio/cxgb/tp.c
61
struct petp *tp = kzalloc_obj(*tp);
drivers/net/ethernet/chelsio/cxgb/tp.c
63
if (!tp)
drivers/net/ethernet/chelsio/cxgb/tp.c
66
tp->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/tp.c
68
return tp;
drivers/net/ethernet/chelsio/cxgb/tp.c
71
void t1_tp_intr_enable(struct petp *tp)
drivers/net/ethernet/chelsio/cxgb/tp.c
73
u32 tp_intr = readl(tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
76
if (!t1_is_asic(tp->adapter)) {
drivers/net/ethernet/chelsio/cxgb/tp.c
79
tp->adapter->regs + FPGA_TP_ADDR_INTERRUPT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
81
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
86
writel(0, tp->adapter->regs + A_TP_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
88
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
92
void t1_tp_intr_disable(struct petp *tp)
drivers/net/ethernet/chelsio/cxgb/tp.c
94
u32 tp_intr = readl(tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
97
if (!t1_is_asic(tp->adapter)) {
drivers/net/ethernet/chelsio/cxgb/tp.c
99
writel(0, tp->adapter->regs + FPGA_TP_ADDR_INTERRUPT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.h
61
void t1_tp_destroy(struct petp *tp);
drivers/net/ethernet/chelsio/cxgb/tp.h
63
void t1_tp_intr_disable(struct petp *tp);
drivers/net/ethernet/chelsio/cxgb/tp.h
64
void t1_tp_intr_enable(struct petp *tp);
drivers/net/ethernet/chelsio/cxgb/tp.h
65
void t1_tp_intr_clear(struct petp *tp);
drivers/net/ethernet/chelsio/cxgb/tp.h
66
int t1_tp_intr_handler(struct petp *tp);
drivers/net/ethernet/chelsio/cxgb/tp.h
68
void t1_tp_set_tcp_checksum_offload(struct petp *tp, int enable);
drivers/net/ethernet/chelsio/cxgb/tp.h
69
void t1_tp_set_ip_checksum_offload(struct petp *tp, int enable);
drivers/net/ethernet/chelsio/cxgb/tp.h
70
int t1_tp_reset(struct petp *tp, struct tp_params *p, unsigned int tp_clk);
drivers/net/ethernet/chelsio/cxgb3/common.h
385
struct tp_params tp;
drivers/net/ethernet/chelsio/cxgb3/common.h
729
const struct trace_params *tp, int filter_index,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2393
struct tp_params *p = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2409
struct tp_params *p = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2502
const struct trace_params *tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2513
tp = (const struct trace_params *)&t.sip;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2515
t3_config_trace_filter(adapter, tp, 0,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2519
t3_config_trace_filter(adapter, tp, 1,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
230
val = min(adapter->params.tp.tx_pg_size,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
248
val = min(adapter->params.tp.rx_pg_size,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
382
struct tp_params *tp = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
451
rx_page_info->page_size = tp->rx_pg_size;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
452
rx_page_info->num = tp->rx_num_pgs;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2932
const struct trace_params *tp, int filter_index,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2937
key[0] = tp->sport | (tp->sip << 16);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2938
key[1] = (tp->sip >> 16) | (tp->dport << 16);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2939
key[2] = tp->dip;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2940
key[3] = tp->proto | (tp->vlan << 8) | (tp->intf << 20);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2942
mask[0] = tp->sport_mask | (tp->sip_mask << 16);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2943
mask[1] = (tp->sip_mask >> 16) | (tp->dport_mask << 16);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2944
mask[2] = tp->dip_mask;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2945
mask[3] = tp->proto_mask | (tp->vlan_mask << 8) | (tp->intf_mask << 20);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3320
partition_mem(adapter, &adapter->params.tp);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3335
if (tp_init(adapter, &adapter->params.tp))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3343
ulp_config(adapter, &adapter->params.tp);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3628
struct tp_params *p = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1703
return (ticks << adap->params.tp.dack_re) / core_ticks_per_usec(adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2056
int t4_set_trace_filter(struct adapter *adapter, const struct trace_params *tp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2058
void t4_get_trace_filter(struct adapter *adapter, struct trace_params *tp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
438
struct tp_params tp;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1329
struct trace_params tp;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1333
t4_get_trace_filter(adap, &tp, trcidx, &enabled);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1339
if (tp.skip_ofst * 8 >= TRACE_LEN) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1343
if (tp.port < 8) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1344
i = adap->chan_map[tp.port & 3];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1351
adap->port[i]->name, tp.port < 4 ? "Rx" : "Tx");
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1354
tp.port - 8);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1355
seq_printf(seq, "snap length: %u, min length: %u\n", tp.snap_len,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1356
tp.min_len);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1358
tp.invert ? "do not " : "");
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1360
if (tp.skip_ofst) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1362
for (i = 0; i < tp.skip_ofst * 2; i += 2)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1363
seq_printf(seq, "%08x%08x", tp.data[i], tp.data[i + 1]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1365
for (i = 0; i < tp.skip_ofst * 2; i += 2)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1366
seq_printf(seq, "%08x%08x", tp.mask[i], tp.mask[i + 1]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1371
for (i = tp.skip_ofst * 2; i < TRACE_LEN / 4; i += 2)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1372
seq_printf(seq, "%08x%08x", tp.data[i], tp.data[i + 1]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1374
for (i = tp.skip_ofst * 2; i < TRACE_LEN / 4; i += 2)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1375
seq_printf(seq, "%08x%08x", tp.mask[i], tp.mask[i + 1]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1376
seq_printf(seq, "@%u\n", (tp.skip_ofst + tp.skip_len) * 8);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1416
struct trace_params tp;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1453
memset(&tp, 0, sizeof(tp));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1454
tp.port = TRC_PORT_NONE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1500
tp.snap_len = j;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1508
tp.min_len = j;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1512
tp.invert = !tp.invert;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1515
if (!strncmp(word, "loopback", 8) && tp.port == TRC_PORT_NONE) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1518
tp.port = word[8] - '0' + 8;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1521
if (!strncmp(word, "tx", 2) && tp.port == TRC_PORT_NONE) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1524
tp.port = word[2] - '0' + 4;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1525
if (adap->chan_map[tp.port & 3] >= MAX_NPORTS)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1529
if (!strncmp(word, "rx", 2) && tp.port == TRC_PORT_NONE) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1532
tp.port = word[2] - '0';
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1533
if (adap->chan_map[tp.port] >= MAX_NPORTS)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1542
if (tp.skip_len) /* too many splits */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1544
tp.skip_ofst = i / 16;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1547
data = &tp.data[i / 8];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1548
mask = &tp.mask[i / 8];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1585
if (j < tp.skip_ofst) /* overlaps earlier pattern */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1587
if (j - tp.skip_ofst > 31) /* skip too big */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1589
tp.skip_len = j - tp.skip_ofst;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1598
if (tp.port == TRC_PORT_NONE)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1602
i = t4_set_trace_filter(adap, &tp, trcidx, enable);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
680
adap->params.tp.la_mask = val << 16;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
682
adap->params.tp.la_mask);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1154
struct tp_params *tp = &adap->params.tp;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1155
u64 hash_filter_mask = tp->hash_filter_mask;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1195
if (tp->fcoe_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1196
ntuple_mask |= (u64)fs->mask.fcoe << tp->fcoe_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1198
if (tp->port_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1199
ntuple_mask |= (u64)fs->mask.iport << tp->port_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1201
if (tp->vnic_shift >= 0) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1202
if ((adap->params.tp.ingress_config & VNIC_F))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1203
ntuple_mask |= (u64)fs->mask.pfvf_vld << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1206
tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1209
if (tp->vlan_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1210
ntuple_mask |= (u64)fs->mask.ivlan << tp->vlan_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1212
if (tp->tos_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1213
ntuple_mask |= (u64)fs->mask.tos << tp->tos_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1215
if (tp->protocol_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1216
ntuple_mask |= (u64)fs->mask.proto << tp->protocol_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1218
if (tp->ethertype_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1219
ntuple_mask |= (u64)fs->mask.ethtype << tp->ethertype_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1221
if (tp->macmatch_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1222
ntuple_mask |= (u64)fs->mask.macidx << tp->macmatch_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1224
if (tp->matchtype_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1225
ntuple_mask |= (u64)fs->mask.matchtype << tp->matchtype_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1227
if (tp->frag_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1228
ntuple_mask |= (u64)fs->mask.frag << tp->frag_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1240
struct tp_params *tp = &adap->params.tp;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1246
if (tp->vlan_shift >= 0 && fs->mask.ivlan)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1248
fs->val.ivlan) << tp->vlan_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1250
if (tp->port_shift >= 0 && fs->mask.iport)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1251
ntuple |= (u64)fs->val.iport << tp->port_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1253
if (tp->protocol_shift >= 0) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1255
ntuple |= (u64)IPPROTO_TCP << tp->protocol_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1257
ntuple |= (u64)fs->val.proto << tp->protocol_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1260
if (tp->tos_shift >= 0 && fs->mask.tos)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1261
ntuple |= (u64)(fs->val.tos) << tp->tos_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1263
if (tp->vnic_shift >= 0) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1264
if ((adap->params.tp.ingress_config & USE_ENC_IDX_F) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1267
(fs->val.ovlan)) << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1268
else if ((adap->params.tp.ingress_config & VNIC_F) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1272
(fs->val.vf)) << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1275
(fs->val.ovlan)) << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1278
if (tp->macmatch_shift >= 0 && fs->mask.macidx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1279
ntuple |= (u64)(fs->val.macidx) << tp->macmatch_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1281
if (tp->ethertype_shift >= 0 && fs->mask.ethtype)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1282
ntuple |= (u64)(fs->val.ethtype) << tp->ethertype_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1284
if (tp->matchtype_shift >= 0 && fs->mask.matchtype)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1285
ntuple |= (u64)(fs->val.matchtype) << tp->matchtype_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1287
if (tp->frag_shift >= 0 && fs->mask.frag)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1288
ntuple |= (u64)(fs->val.frag) << tp->frag_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1290
if (tp->fcoe_shift >= 0 && fs->mask.fcoe)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1291
ntuple |= (u64)(fs->val.fcoe) << tp->fcoe_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1436
iconf = adapter->params.tp.ingress_config;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1683
iconf = adapter->params.tp.ingress_config;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
255
iconf = adapter->params.tp.ingress_config;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
256
fconf = fs->hash ? adapter->params.tp.filter_mask :
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
257
adapter->params.tp.vlan_pri_map;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2944
if (adap->params.tp.vlan_pri_map & PORT_F) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2950
if (adap->params.tp.vlan_pri_map & PROTOCOL_F) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4223
adap->params.tp.tx_modq_map = 0xE4;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4225
TX_MOD_QUEUE_REQ_MAP_V(adap->params.tp.tx_modq_map));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
616
lld->filt_mode = adap->params.tp.vlan_pri_map;
drivers/net/ethernet/chelsio/cxgb4/l2t.c
478
struct tp_params *tp = &adap->params.tp;
drivers/net/ethernet/chelsio/cxgb4/l2t.c
484
if (tp->vlan_shift >= 0 && l2t->vlan != VLAN_NONE)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
485
ntuple |= (u64)(FT_VLAN_VLD_F | l2t->vlan) << tp->vlan_shift;
drivers/net/ethernet/chelsio/cxgb4/l2t.c
487
if (tp->port_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
488
ntuple |= (u64)l2t->lport << tp->port_shift;
drivers/net/ethernet/chelsio/cxgb4/l2t.c
490
if (tp->protocol_shift >= 0)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
491
ntuple |= (u64)IPPROTO_TCP << tp->protocol_shift;
drivers/net/ethernet/chelsio/cxgb4/l2t.c
493
if (tp->vnic_shift >= 0 && (tp->ingress_config & VNIC_F)) {
drivers/net/ethernet/chelsio/cxgb4/l2t.c
498
FT_VNID_ID_VLD_V(pi->vivld)) << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/sched.c
498
struct ch_sched_params tp;
drivers/net/ethernet/chelsio/cxgb4/sched.c
500
memcpy(&tp, p, sizeof(tp));
drivers/net/ethernet/chelsio/cxgb4/sched.c
502
tp.u.params.class = SCHED_CLS_NONE;
drivers/net/ethernet/chelsio/cxgb4/sched.c
513
if ((info.type == tp.type) &&
drivers/net/ethernet/chelsio/cxgb4/sched.c
514
(!memcmp(&info.u.params, &tp.u.params,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3692
if (q->adap->params.tp.rx_pkt_encap) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
3778
if (q->adap->params.tp.rx_pkt_encap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10003
val |= adap->params.tp.la_mask;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10017
cfg | adap->params.tp.la_mask);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5939
int t4_set_trace_filter(struct adapter *adap, const struct trace_params *tp,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5956
if (tp->snap_len > ((10 * 1024 / 4) - (2 * 8)))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5963
if (tp->snap_len > 9600 || idx)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5967
if (tp->port > (is_t4(adap->params.chip) ? 11 : 19) || tp->invert > 1 ||
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5968
tp->skip_len > TFLENGTH_M || tp->skip_ofst > TFOFFSET_M ||
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5969
tp->min_len > TFMINPKTSIZE_M)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5980
t4_write_reg(adap, data_reg, tp->data[i]);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5981
t4_write_reg(adap, mask_reg, ~tp->mask[i]);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5984
TFCAPTUREMAX_V(tp->snap_len) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5985
TFMINPKTSIZE_V(tp->min_len));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5987
TFOFFSET_V(tp->skip_ofst) | TFLENGTH_V(tp->skip_len) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5989
TFPORT_V(tp->port) | TFEN_F | TFINVERTMATCH_V(tp->invert) :
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5990
T5_TFPORT_V(tp->port) | T5_TFEN_F |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5991
T5_TFINVERTMATCH_V(tp->invert)));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6005
void t4_get_trace_filter(struct adapter *adap, struct trace_params *tp, int idx,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6017
tp->port = TFPORT_G(ctla);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6018
tp->invert = !!(ctla & TFINVERTMATCH_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6021
tp->port = T5_TFPORT_G(ctla);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6022
tp->invert = !!(ctla & T5_TFINVERTMATCH_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6024
tp->snap_len = TFCAPTUREMAX_G(ctlb);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6025
tp->min_len = TFMINPKTSIZE_G(ctlb);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6026
tp->skip_ofst = TFOFFSET_G(ctla);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6027
tp->skip_len = TFLENGTH_G(ctla);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6034
tp->mask[i] = ~t4_read_reg(adap, mask_reg);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6035
tp->data[i] = t4_read_reg(adap, data_reg) & tp->mask[i];
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9408
adap->params.tp.tre = TIMERRESOLUTION_G(v);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9409
adap->params.tp.dack_re = DELAYEDACKRESOLUTION_G(v);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9413
adap->params.tp.tx_modq[chan] = chan;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9430
adap->params.tp.vlan_pri_map =
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9432
adap->params.tp.filter_mask =
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9443
t4_tp_pio_read(adap, &adap->params.tp.vlan_pri_map, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9453
adap->params.tp.filter_mask = adap->params.tp.vlan_pri_map;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9456
t4_tp_pio_read(adap, &adap->params.tp.ingress_config, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9464
adap->params.tp.rx_pkt_encap = (v & CRXPKTENC_F) ? 1 : 0;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9471
adap->params.tp.fcoe_shift = t4_filter_field_shift(adap, FCOE_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9472
adap->params.tp.port_shift = t4_filter_field_shift(adap, PORT_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9473
adap->params.tp.vnic_shift = t4_filter_field_shift(adap, VNIC_ID_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9474
adap->params.tp.vlan_shift = t4_filter_field_shift(adap, VLAN_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9475
adap->params.tp.tos_shift = t4_filter_field_shift(adap, TOS_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9476
adap->params.tp.protocol_shift = t4_filter_field_shift(adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9478
adap->params.tp.ethertype_shift = t4_filter_field_shift(adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9480
adap->params.tp.macmatch_shift = t4_filter_field_shift(adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9482
adap->params.tp.matchtype_shift = t4_filter_field_shift(adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9484
adap->params.tp.frag_shift = t4_filter_field_shift(adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9490
if ((adap->params.tp.ingress_config & VNIC_F) == 0)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9491
adap->params.tp.vnic_shift = -1;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9494
adap->params.tp.hash_filter_mask = v;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9496
adap->params.tp.hash_filter_mask |= ((u64)v << 32);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9511
unsigned int filter_mode = adap->params.tp.vlan_pri_map;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9991
adap->params.tp.la_mask | (cfg ^ DBGLAENABLE_F));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
212
TX_QUEUE_V(tx_info->adap->params.tp.tx_modq[tx_info->tx_chan]);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
263
TX_QUEUE_V(tx_info->adap->params.tp.tx_modq[tx_info->tx_chan]);
drivers/net/ethernet/dec/tulip/21142.c
107
mod_timer(&tp->timer, RUN_AT(next_tick));
drivers/net/ethernet/dec/tulip/21142.c
113
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/21142.c
114
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/21142.c
115
int csr14 = ((tp->sym_advertise & 0x0780) << 9) |
drivers/net/ethernet/dec/tulip/21142.c
116
((tp->sym_advertise & 0x0020) << 1) | 0xffbf;
drivers/net/ethernet/dec/tulip/21142.c
119
tp->nway = tp->mediasense = 1;
drivers/net/ethernet/dec/tulip/21142.c
120
tp->nwayset = tp->lpar = 0;
drivers/net/ethernet/dec/tulip/21142.c
127
tp->csr6 = 0x82420000 | (tp->sym_advertise & 0x0040 ? FullDuplex : 0);
drivers/net/ethernet/dec/tulip/21142.c
128
iowrite32(tp->csr6, ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/21142.c
129
if (tp->mtable && tp->mtable->csr15dir) {
drivers/net/ethernet/dec/tulip/21142.c
130
iowrite32(tp->mtable->csr15dir, ioaddr + CSR15);
drivers/net/ethernet/dec/tulip/21142.c
131
iowrite32(tp->mtable->csr15val, ioaddr + CSR15);
drivers/net/ethernet/dec/tulip/21142.c
141
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/21142.c
142
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/21142.c
155
if (tp->nway && !tp->nwayset && (csr12 & 0x7000) == 0x5000) {
drivers/net/ethernet/dec/tulip/21142.c
157
int negotiated = tp->sym_advertise & (csr12 >> 16);
drivers/net/ethernet/dec/tulip/21142.c
158
tp->lpar = csr12 >> 16;
drivers/net/ethernet/dec/tulip/21142.c
159
tp->nwayset = 1;
drivers/net/ethernet/dec/tulip/21142.c
167
tp->nwayset = 0;
drivers/net/ethernet/dec/tulip/21142.c
168
if ((csr12 & 2) == 0 && (tp->sym_advertise & 0x0180))
drivers/net/ethernet/dec/tulip/21142.c
171
tp->full_duplex = (tulip_media_cap[dev->if_port] & MediaAlwaysFD) ? 1:0;
drivers/net/ethernet/dec/tulip/21142.c
174
if (tp->nwayset)
drivers/net/ethernet/dec/tulip/21142.c
178
tp->sym_advertise, tp->lpar,
drivers/net/ethernet/dec/tulip/21142.c
186
if (tp->mtable) {
drivers/net/ethernet/dec/tulip/21142.c
188
for (i = 0; i < tp->mtable->leafcount; i++)
drivers/net/ethernet/dec/tulip/21142.c
189
if (tp->mtable->mleaf[i].media == dev->if_port) {
drivers/net/ethernet/dec/tulip/21142.c
190
int startup = ! ((tp->chip_id == DC21143 && (tp->revision == 48 || tp->revision == 65)));
drivers/net/ethernet/dec/tulip/21142.c
191
tp->cur_index = i;
drivers/net/ethernet/dec/tulip/21142.c
198
tp->csr6 = (dev->if_port & 1 ? 0x838E0000 : 0x82420000) | (tp->csr6 & 0x20ff);
drivers/net/ethernet/dec/tulip/21142.c
199
if (tp->full_duplex)
drivers/net/ethernet/dec/tulip/21142.c
200
tp->csr6 |= 0x0200;
drivers/net/ethernet/dec/tulip/21142.c
204
iowrite32(tp->csr6 | RxOn, ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/21142.c
209
tulip_start_rxtx(tp);
drivers/net/ethernet/dec/tulip/21142.c
212
tp->csr6, ioread32(ioaddr + CSR6),
drivers/net/ethernet/dec/tulip/21142.c
214
} else if ((tp->nwayset && (csr5 & 0x08000000) &&
drivers/net/ethernet/dec/tulip/21142.c
217
(tp->nway && (csr5 & (TPLnkFail)))) {
drivers/net/ethernet/dec/tulip/21142.c
219
timer_delete_sync(&tp->timer);
drivers/net/ethernet/dec/tulip/21142.c
221
tp->timer.expires = RUN_AT(3*HZ);
drivers/net/ethernet/dec/tulip/21142.c
222
add_timer(&tp->timer);
drivers/net/ethernet/dec/tulip/21142.c
228
if ((csr12 & 2) && ! tp->medialock) {
drivers/net/ethernet/dec/tulip/21142.c
229
timer_delete_sync(&tp->timer);
drivers/net/ethernet/dec/tulip/21142.c
231
tp->timer.expires = RUN_AT(3*HZ);
drivers/net/ethernet/dec/tulip/21142.c
232
add_timer(&tp->timer);
drivers/net/ethernet/dec/tulip/21142.c
242
} else if (tp->nwayset) {
drivers/net/ethernet/dec/tulip/21142.c
245
medianame[dev->if_port], tp->csr6);
drivers/net/ethernet/dec/tulip/21142.c
250
tp->csr6 = 0x838E0000 | (tp->csr6 & 0x20ff);
drivers/net/ethernet/dec/tulip/21142.c
253
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/21142.c
30
struct tulip_private *tp =
drivers/net/ethernet/dec/tulip/21142.c
32
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/21142.c
33
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/21142.c
53
} else if (tp->nwayset) {
drivers/net/ethernet/dec/tulip/21142.c
59
} else if (tp->medialock) {
drivers/net/ethernet/dec/tulip/21142.c
95
if (new_csr6 != (tp->csr6 & ~0x00D5)) {
drivers/net/ethernet/dec/tulip/21142.c
96
tp->csr6 &= 0x00D5;
drivers/net/ethernet/dec/tulip/21142.c
97
tp->csr6 |= new_csr6;
drivers/net/ethernet/dec/tulip/21142.c
99
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/eeprom.c
104
static void tulip_build_fake_mediatable(struct tulip_private *tp)
drivers/net/ethernet/dec/tulip/eeprom.c
107
if (tp->flags & NEEDS_FAKE_MEDIA_TABLE) {
drivers/net/ethernet/dec/tulip/eeprom.c
120
tp->mtable = devm_kmalloc(&tp->pdev->dev, sizeof(struct mediatable) +
drivers/net/ethernet/dec/tulip/eeprom.c
123
if (tp->mtable == NULL)
drivers/net/ethernet/dec/tulip/eeprom.c
126
tp->mtable->defaultmedia = 0x800;
drivers/net/ethernet/dec/tulip/eeprom.c
127
tp->mtable->leafcount = 1;
drivers/net/ethernet/dec/tulip/eeprom.c
128
tp->mtable->csr12dir = 0x3f; /* inputs on bit7 for hsc-pci, bit6 for pci-fx */
drivers/net/ethernet/dec/tulip/eeprom.c
129
tp->mtable->has_nonmii = 0;
drivers/net/ethernet/dec/tulip/eeprom.c
130
tp->mtable->has_reset = 0;
drivers/net/ethernet/dec/tulip/eeprom.c
131
tp->mtable->has_mii = 1;
drivers/net/ethernet/dec/tulip/eeprom.c
132
tp->mtable->csr15dir = tp->mtable->csr15val = 0;
drivers/net/ethernet/dec/tulip/eeprom.c
133
tp->mtable->mleaf[0].type = 1;
drivers/net/ethernet/dec/tulip/eeprom.c
134
tp->mtable->mleaf[0].media = 11;
drivers/net/ethernet/dec/tulip/eeprom.c
135
tp->mtable->mleaf[0].leafdata = &leafdata[0];
drivers/net/ethernet/dec/tulip/eeprom.c
136
tp->flags |= HAS_PHY_IRQ;
drivers/net/ethernet/dec/tulip/eeprom.c
137
tp->csr12_shadow = -1;
drivers/net/ethernet/dec/tulip/eeprom.c
154
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/eeprom.c
155
unsigned char *ee_data = tp->eeprom;
drivers/net/ethernet/dec/tulip/eeprom.c
158
tp->mtable = NULL;
drivers/net/ethernet/dec/tulip/eeprom.c
170
tp->mtable = last_mediatable;
drivers/net/ethernet/dec/tulip/eeprom.c
206
tulip_build_fake_mediatable(tp);
drivers/net/ethernet/dec/tulip/eeprom.c
215
if (tp->flags & CSR12_IN_SROM)
drivers/net/ethernet/dec/tulip/eeprom.c
227
mtable = devm_kmalloc(&tp->pdev->dev, struct_size(mtable, mleaf, count),
drivers/net/ethernet/dec/tulip/eeprom.c
231
last_mediatable = tp->mtable = mtable;
drivers/net/ethernet/dec/tulip/eeprom.c
257
} else if (tp->chip_id == DM910X && p[1] == 0x80) {
drivers/net/ethernet/dec/tulip/eeprom.c
277
if (tp->chip_id == DM910X && leaf->media == 1)
drivers/net/ethernet/dec/tulip/eeprom.c
317
tp->sym_advertise = new_advertise;
drivers/net/ethernet/dec/tulip/eeprom.c
344
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/eeprom.c
345
void __iomem *ee_addr = tp->base_addr + CSR9;
drivers/net/ethernet/dec/tulip/eeprom.c
379
return (tp->flags & HAS_SWAPPED_SEEPROM) ? swab16(retval) : retval;
drivers/net/ethernet/dec/tulip/interrupt.c
107
struct tulip_private *tp = timer_container_of(tp, t, oom_timer);
drivers/net/ethernet/dec/tulip/interrupt.c
109
napi_schedule(&tp->napi);
drivers/net/ethernet/dec/tulip/interrupt.c
114
struct tulip_private *tp = container_of(napi, struct tulip_private, napi);
drivers/net/ethernet/dec/tulip/interrupt.c
115
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/interrupt.c
116
int entry = tp->cur_rx % RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/interrupt.c
132
entry, tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
135
if (ioread32(tp->base_addr + CSR5) == 0xffffffff) {
drivers/net/ethernet/dec/tulip/interrupt.c
140
iowrite32((RxIntr | RxNoBuf), tp->base_addr + CSR5);
drivers/net/ethernet/dec/tulip/interrupt.c
144
while ( ! (tp->rx_ring[entry].status & cpu_to_le32(DescOwned))) {
drivers/net/ethernet/dec/tulip/interrupt.c
145
s32 status = le32_to_cpu(tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
148
if (tp->dirty_rx + RX_RING_SIZE == tp->cur_rx)
drivers/net/ethernet/dec/tulip/interrupt.c
213
dma_sync_single_for_cpu(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
214
tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
218
skb_copy_to_linear_data(skb, tp->rx_buffers[entry].skb->data,
drivers/net/ethernet/dec/tulip/interrupt.c
223
tp->rx_buffers[entry].skb->data,
drivers/net/ethernet/dec/tulip/interrupt.c
226
dma_sync_single_for_device(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
227
tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
231
char *temp = skb_put(skb = tp->rx_buffers[entry].skb,
drivers/net/ethernet/dec/tulip/interrupt.c
235
if (tp->rx_buffers[entry].mapping !=
drivers/net/ethernet/dec/tulip/interrupt.c
236
le32_to_cpu(tp->rx_ring[entry].buffer1)) {
drivers/net/ethernet/dec/tulip/interrupt.c
239
le32_to_cpu(tp->rx_ring[entry].buffer1),
drivers/net/ethernet/dec/tulip/interrupt.c
240
(unsigned long long)tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
245
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
246
tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
250
tp->rx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/interrupt.c
251
tp->rx_buffers[entry].mapping = 0;
drivers/net/ethernet/dec/tulip/interrupt.c
264
entry = (++tp->cur_rx) % RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/interrupt.c
265
if (tp->cur_rx - tp->dirty_rx > RX_RING_SIZE/4)
drivers/net/ethernet/dec/tulip/interrupt.c
280
} while ((ioread32(tp->base_addr + CSR5) & RxIntr));
drivers/net/ethernet/dec/tulip/interrupt.c
301
if( tp->flags & HAS_INTR_MITIGATION) {
drivers/net/ethernet/dec/tulip/interrupt.c
303
if( ! tp->mit_on ) {
drivers/net/ethernet/dec/tulip/interrupt.c
304
tp->mit_on = 1;
drivers/net/ethernet/dec/tulip/interrupt.c
305
iowrite32(mit_table[MIT_TABLE], tp->base_addr + CSR11);
drivers/net/ethernet/dec/tulip/interrupt.c
309
if( tp->mit_on ) {
drivers/net/ethernet/dec/tulip/interrupt.c
310
tp->mit_on = 0;
drivers/net/ethernet/dec/tulip/interrupt.c
311
iowrite32(0, tp->base_addr + CSR11);
drivers/net/ethernet/dec/tulip/interrupt.c
321
if (tp->rx_buffers[tp->dirty_rx % RX_RING_SIZE].skb == NULL)
drivers/net/ethernet/dec/tulip/interrupt.c
327
iowrite32(tulip_tbl[tp->chip_id].valid_intrs, tp->base_addr+CSR7);
drivers/net/ethernet/dec/tulip/interrupt.c
343
if (tp->cur_rx - tp->dirty_rx > RX_RING_SIZE/2 ||
drivers/net/ethernet/dec/tulip/interrupt.c
344
tp->rx_buffers[tp->dirty_rx % RX_RING_SIZE].skb == NULL)
drivers/net/ethernet/dec/tulip/interrupt.c
347
if (tp->rx_buffers[tp->dirty_rx % RX_RING_SIZE].skb == NULL)
drivers/net/ethernet/dec/tulip/interrupt.c
355
mod_timer(&tp->oom_timer, jiffies+1);
drivers/net/ethernet/dec/tulip/interrupt.c
371
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/interrupt.c
372
int entry = tp->cur_rx % RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/interrupt.c
373
int rx_work_limit = tp->dirty_rx + RX_RING_SIZE - tp->cur_rx;
drivers/net/ethernet/dec/tulip/interrupt.c
378
entry, tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
380
while ( ! (tp->rx_ring[entry].status & cpu_to_le32(DescOwned))) {
drivers/net/ethernet/dec/tulip/interrupt.c
381
s32 status = le32_to_cpu(tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
443
dma_sync_single_for_cpu(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
444
tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
448
skb_copy_to_linear_data(skb, tp->rx_buffers[entry].skb->data,
drivers/net/ethernet/dec/tulip/interrupt.c
453
tp->rx_buffers[entry].skb->data,
drivers/net/ethernet/dec/tulip/interrupt.c
456
dma_sync_single_for_device(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
457
tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
461
char *temp = skb_put(skb = tp->rx_buffers[entry].skb,
drivers/net/ethernet/dec/tulip/interrupt.c
465
if (tp->rx_buffers[entry].mapping !=
drivers/net/ethernet/dec/tulip/interrupt.c
466
le32_to_cpu(tp->rx_ring[entry].buffer1)) {
drivers/net/ethernet/dec/tulip/interrupt.c
469
le32_to_cpu(tp->rx_ring[entry].buffer1),
drivers/net/ethernet/dec/tulip/interrupt.c
470
(long long)tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
475
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
476
tp->rx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
479
tp->rx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/interrupt.c
480
tp->rx_buffers[entry].mapping = 0;
drivers/net/ethernet/dec/tulip/interrupt.c
490
entry = (++tp->cur_rx) % RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/interrupt.c
499
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/interrupt.c
500
int csr12 = ioread32(tp->base_addr + CSR12) & 0xff;
drivers/net/ethernet/dec/tulip/interrupt.c
502
if (csr12 != tp->csr12_shadow) {
drivers/net/ethernet/dec/tulip/interrupt.c
504
iowrite32(csr12 | 0x02, tp->base_addr + CSR12);
drivers/net/ethernet/dec/tulip/interrupt.c
505
tp->csr12_shadow = csr12;
drivers/net/ethernet/dec/tulip/interrupt.c
507
spin_lock(&tp->lock);
drivers/net/ethernet/dec/tulip/interrupt.c
509
spin_unlock(&tp->lock);
drivers/net/ethernet/dec/tulip/interrupt.c
511
iowrite32(csr12 & ~0x02, tp->base_addr + CSR12);
drivers/net/ethernet/dec/tulip/interrupt.c
525
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/interrupt.c
526
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/interrupt.c
546
if (tp->flags & HAS_PHY_IRQ)
drivers/net/ethernet/dec/tulip/interrupt.c
552
tp->nir++;
drivers/net/ethernet/dec/tulip/interrupt.c
561
iowrite32(tulip_tbl[tp->chip_id].valid_intrs&~RxPollInt, ioaddr + CSR7);
drivers/net/ethernet/dec/tulip/interrupt.c
562
napi_schedule(&tp->napi);
drivers/net/ethernet/dec/tulip/interrupt.c
593
spin_lock(&tp->lock);
drivers/net/ethernet/dec/tulip/interrupt.c
595
for (dirty_tx = tp->dirty_tx; tp->cur_tx - dirty_tx > 0;
drivers/net/ethernet/dec/tulip/interrupt.c
598
int status = le32_to_cpu(tp->tx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
604
if (tp->tx_buffers[entry].skb == NULL) {
drivers/net/ethernet/dec/tulip/interrupt.c
606
if (tp->tx_buffers[entry].mapping)
drivers/net/ethernet/dec/tulip/interrupt.c
607
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
608
tp->tx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
609
sizeof(tp->setup_frame),
drivers/net/ethernet/dec/tulip/interrupt.c
61
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/interrupt.c
630
if ((status & 0x0080) && tp->full_duplex == 0)
drivers/net/ethernet/dec/tulip/interrupt.c
634
tp->tx_buffers[entry].skb->len;
drivers/net/ethernet/dec/tulip/interrupt.c
639
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/interrupt.c
640
tp->tx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/interrupt.c
641
tp->tx_buffers[entry].skb->len,
drivers/net/ethernet/dec/tulip/interrupt.c
645
dev_kfree_skb_irq(tp->tx_buffers[entry].skb);
drivers/net/ethernet/dec/tulip/interrupt.c
646
tp->tx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/interrupt.c
647
tp->tx_buffers[entry].mapping = 0;
drivers/net/ethernet/dec/tulip/interrupt.c
652
if (tp->cur_tx - dirty_tx > TX_RING_SIZE) {
drivers/net/ethernet/dec/tulip/interrupt.c
655
dirty_tx, tp->cur_tx);
drivers/net/ethernet/dec/tulip/interrupt.c
66
for (; tp->cur_rx - tp->dirty_rx > 0; tp->dirty_rx++) {
drivers/net/ethernet/dec/tulip/interrupt.c
660
if (tp->cur_tx - dirty_tx < TX_RING_SIZE - 2)
drivers/net/ethernet/dec/tulip/interrupt.c
663
tp->dirty_tx = dirty_tx;
drivers/net/ethernet/dec/tulip/interrupt.c
669
tp->csr6);
drivers/net/ethernet/dec/tulip/interrupt.c
67
entry = tp->dirty_rx % RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/interrupt.c
670
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/interrupt.c
672
spin_unlock(&tp->lock);
drivers/net/ethernet/dec/tulip/interrupt.c
68
if (tp->rx_buffers[entry].skb == NULL) {
drivers/net/ethernet/dec/tulip/interrupt.c
682
if ((tp->csr6 & 0xC000) != 0xC000)
drivers/net/ethernet/dec/tulip/interrupt.c
683
tp->csr6 += 0x4000; /* Bump up the Tx threshold */
drivers/net/ethernet/dec/tulip/interrupt.c
685
tp->csr6 |= 0x00200000; /* Store-n-forward. */
drivers/net/ethernet/dec/tulip/interrupt.c
687
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/interrupt.c
691
if (tp->flags & COMET_MAC_ADDR) {
drivers/net/ethernet/dec/tulip/interrupt.c
692
iowrite32(tp->mc_filter[0], ioaddr + 0xAC);
drivers/net/ethernet/dec/tulip/interrupt.c
693
iowrite32(tp->mc_filter[1], ioaddr + 0xB0);
drivers/net/ethernet/dec/tulip/interrupt.c
699
tulip_start_rxtx(tp);
drivers/net/ethernet/dec/tulip/interrupt.c
706
if (tp->link_change)
drivers/net/ethernet/dec/tulip/interrupt.c
707
(tp->link_change)(dev, csr5);
drivers/net/ethernet/dec/tulip/interrupt.c
72
skb = tp->rx_buffers[entry].skb =
drivers/net/ethernet/dec/tulip/interrupt.c
723
tp->nir, error);
drivers/net/ethernet/dec/tulip/interrupt.c
735
iowrite32(tulip_tbl[tp->chip_id].valid_intrs, ioaddr + CSR7);
drivers/net/ethernet/dec/tulip/interrupt.c
736
tp->ttimer = 0;
drivers/net/ethernet/dec/tulip/interrupt.c
742
csr5, tp->nir, tx, rx, oi);
drivers/net/ethernet/dec/tulip/interrupt.c
746
if (tp->flags & HAS_INTR_MITIGATION) {
drivers/net/ethernet/dec/tulip/interrupt.c
750
} else if (tp->chip_id == LC82C168) {
drivers/net/ethernet/dec/tulip/interrupt.c
753
mod_timer(&tp->timer, RUN_AT(HZ/50));
drivers/net/ethernet/dec/tulip/interrupt.c
77
mapping = dma_map_single(&tp->pdev->dev, skb->data,
drivers/net/ethernet/dec/tulip/interrupt.c
788
entry = tp->dirty_rx % RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/interrupt.c
789
if (tp->rx_buffers[entry].skb == NULL) {
drivers/net/ethernet/dec/tulip/interrupt.c
79
if (dma_mapping_error(&tp->pdev->dev, mapping)) {
drivers/net/ethernet/dec/tulip/interrupt.c
793
tp->nir, tp->cur_rx, tp->ttimer, rx);
drivers/net/ethernet/dec/tulip/interrupt.c
794
if (tp->chip_id == LC82C168) {
drivers/net/ethernet/dec/tulip/interrupt.c
796
mod_timer(&tp->timer, RUN_AT(HZ/50));
drivers/net/ethernet/dec/tulip/interrupt.c
798
if (tp->ttimer == 0 || (ioread32(ioaddr + CSR11) & 0xffff) == 0) {
drivers/net/ethernet/dec/tulip/interrupt.c
802
tp->nir);
drivers/net/ethernet/dec/tulip/interrupt.c
803
iowrite32(tulip_tbl[tp->chip_id].valid_intrs | TimerInt,
drivers/net/ethernet/dec/tulip/interrupt.c
807
tp->ttimer = 1;
drivers/net/ethernet/dec/tulip/interrupt.c
81
tp->rx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/interrupt.c
85
tp->rx_buffers[entry].mapping = mapping;
drivers/net/ethernet/dec/tulip/interrupt.c
87
tp->rx_ring[entry].buffer1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/interrupt.c
90
tp->rx_ring[entry].status = cpu_to_le32(DescOwned);
drivers/net/ethernet/dec/tulip/interrupt.c
92
if(tp->chip_id == LC82C168) {
drivers/net/ethernet/dec/tulip/interrupt.c
93
if(((ioread32(tp->base_addr + CSR5)>>17)&0x07) == 4) {
drivers/net/ethernet/dec/tulip/interrupt.c
97
iowrite32(0x01, tp->base_addr + CSR2);
drivers/net/ethernet/dec/tulip/media.c
105
spin_unlock_irqrestore(&tp->mii_lock, flags);
drivers/net/ethernet/dec/tulip/media.c
111
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/media.c
114
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/media.c
121
if (tp->chip_id == COMET && phy_id == 30) {
drivers/net/ethernet/dec/tulip/media.c
127
spin_lock_irqsave(&tp->mii_lock, flags);
drivers/net/ethernet/dec/tulip/media.c
128
if (tp->chip_id == LC82C168) {
drivers/net/ethernet/dec/tulip/media.c
135
spin_unlock_irqrestore(&tp->mii_lock, flags);
drivers/net/ethernet/dec/tulip/media.c
162
spin_unlock_irqrestore(&tp->mii_lock, flags);
drivers/net/ethernet/dec/tulip/media.c
169
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/media.c
170
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/media.c
171
struct mediatable *mtable = tp->mtable;
drivers/net/ethernet/dec/tulip/media.c
176
struct medialeaf *mleaf = &mtable->mleaf[tp->cur_index];
drivers/net/ethernet/dec/tulip/media.c
197
tp->full_duplex = 1;
drivers/net/ethernet/dec/tulip/media.c
309
tp->advertising[phy_num] = tmp_info | 1;
drivers/net/ethernet/dec/tulip/media.c
311
if (tp->mii_advertise == 0)
drivers/net/ethernet/dec/tulip/media.c
312
tp->mii_advertise = tp->advertising[phy_num];
drivers/net/ethernet/dec/tulip/media.c
315
tp->mii_advertise,
drivers/net/ethernet/dec/tulip/media.c
316
tp->phys[phy_num]);
drivers/net/ethernet/dec/tulip/media.c
317
tulip_mdio_write(dev, tp->phys[phy_num], 4, tp->mii_advertise);
drivers/net/ethernet/dec/tulip/media.c
344
} else if (tp->chip_id == LC82C168) {
drivers/net/ethernet/dec/tulip/media.c
345
if (startup && ! tp->medialock)
drivers/net/ethernet/dec/tulip/media.c
346
dev->if_port = tp->mii_cnt ? 11 : 0;
drivers/net/ethernet/dec/tulip/media.c
351
if (tp->mii_cnt) {
drivers/net/ethernet/dec/tulip/media.c
372
if (tp->default_port == 0)
drivers/net/ethernet/dec/tulip/media.c
373
dev->if_port = tp->mii_cnt ? 11 : 3;
drivers/net/ethernet/dec/tulip/media.c
386
tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0);
drivers/net/ethernet/dec/tulip/media.c
399
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/media.c
402
bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR);
drivers/net/ethernet/dec/tulip/media.c
403
lpa = tulip_mdio_read(dev, tp->phys[0], MII_LPA);
drivers/net/ethernet/dec/tulip/media.c
410
int new_bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR);
drivers/net/ethernet/dec/tulip/media.c
419
negotiated = lpa & tp->advertising[0];
drivers/net/ethernet/dec/tulip/media.c
420
tp->full_duplex = mii_duplex(tp->full_duplex_lock, negotiated);
drivers/net/ethernet/dec/tulip/media.c
422
new_csr6 = tp->csr6;
drivers/net/ethernet/dec/tulip/media.c
426
if (tp->full_duplex) new_csr6 |= FullDuplex;
drivers/net/ethernet/dec/tulip/media.c
429
if (new_csr6 != tp->csr6) {
drivers/net/ethernet/dec/tulip/media.c
430
tp->csr6 = new_csr6;
drivers/net/ethernet/dec/tulip/media.c
431
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/media.c
436
tp->full_duplex ? "full" : "half",
drivers/net/ethernet/dec/tulip/media.c
437
tp->phys[0], lpa);
drivers/net/ethernet/dec/tulip/media.c
446
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/media.c
455
for (phyn = 1; phyn <= 32 && phy_idx < ARRAY_SIZE(tp->phys); phyn++) {
drivers/net/ethernet/dec/tulip/media.c
479
if (tp->mii_advertise) {
drivers/net/ethernet/dec/tulip/media.c
480
tp->advertising[phy_idx] =
drivers/net/ethernet/dec/tulip/media.c
481
to_advert = tp->mii_advertise;
drivers/net/ethernet/dec/tulip/media.c
482
} else if (tp->advertising[phy_idx]) {
drivers/net/ethernet/dec/tulip/media.c
483
to_advert = tp->advertising[phy_idx];
drivers/net/ethernet/dec/tulip/media.c
485
tp->advertising[phy_idx] =
drivers/net/ethernet/dec/tulip/media.c
486
tp->mii_advertise =
drivers/net/ethernet/dec/tulip/media.c
49
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/media.c
490
tp->phys[phy_idx++] = phy;
drivers/net/ethernet/dec/tulip/media.c
503
if (tp->default_port == 0) {
drivers/net/ethernet/dec/tulip/media.c
522
if (tp->full_duplex)
drivers/net/ethernet/dec/tulip/media.c
524
if (tulip_media_cap[tp->default_port] & MediaIs100)
drivers/net/ethernet/dec/tulip/media.c
53
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/media.c
541
tp->mii_cnt = phy_idx;
drivers/net/ethernet/dec/tulip/media.c
542
if (tp->mtable && tp->mtable->has_mii && phy_idx == 0) {
drivers/net/ethernet/dec/tulip/media.c
545
tp->phys[0] = 1;
drivers/net/ethernet/dec/tulip/media.c
60
if (tp->chip_id == COMET && phy_id == 30) {
drivers/net/ethernet/dec/tulip/media.c
66
spin_lock_irqsave(&tp->mii_lock, flags);
drivers/net/ethernet/dec/tulip/media.c
67
if (tp->chip_id == LC82C168) {
drivers/net/ethernet/dec/tulip/media.c
76
spin_unlock_irqrestore(&tp->mii_lock, flags);
drivers/net/ethernet/dec/tulip/pnic.c
104
spin_lock_irq(&tp->lock);
drivers/net/ethernet/dec/tulip/pnic.c
107
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/dec/tulip/pnic.c
110
int new_csr6 = tp->csr6 & ~0x40C40200;
drivers/net/ethernet/dec/tulip/pnic.c
120
tp->nwayset = 0;
drivers/net/ethernet/dec/tulip/pnic.c
132
if (tp->medialock) {
drivers/net/ethernet/dec/tulip/pnic.c
133
} else if (tp->nwayset && (dev->if_port & 1)) {
drivers/net/ethernet/dec/tulip/pnic.c
146
if (tp->csr6 != new_csr6) {
drivers/net/ethernet/dec/tulip/pnic.c
147
tp->csr6 = new_csr6;
drivers/net/ethernet/dec/tulip/pnic.c
149
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/pnic.c
155
tp->full_duplex ? "full" : "half",
drivers/net/ethernet/dec/tulip/pnic.c
161
mod_timer(&tp->timer, RUN_AT(next_tick));
drivers/net/ethernet/dec/tulip/pnic.c
168
iowrite32(tulip_tbl[tp->chip_id].valid_intrs, ioaddr + CSR7);
drivers/net/ethernet/dec/tulip/pnic.c
21
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/pnic.c
22
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/pnic.c
31
tp->nwayset = 1;
drivers/net/ethernet/dec/tulip/pnic.c
37
tp->full_duplex = 1;
drivers/net/ethernet/dec/tulip/pnic.c
43
if (tp->csr6 != new_csr6) {
drivers/net/ethernet/dec/tulip/pnic.c
44
tp->csr6 = new_csr6;
drivers/net/ethernet/dec/tulip/pnic.c
46
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/pnic.c
54
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/pnic.c
55
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/pnic.c
68
if (! tp->nwayset || time_after(jiffies, dev_trans_start(dev) + 1*HZ)) {
drivers/net/ethernet/dec/tulip/pnic.c
69
tp->csr6 = 0x00420000 | (tp->csr6 & 0x0000fdff);
drivers/net/ethernet/dec/tulip/pnic.c
70
iowrite32(tp->csr6, ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/pnic.c
77
spin_lock(&tp->lock);
drivers/net/ethernet/dec/tulip/pnic.c
79
spin_unlock(&tp->lock);
drivers/net/ethernet/dec/tulip/pnic.c
89
struct tulip_private *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/dec/tulip/pnic.c
90
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/pnic.c
91
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/pnic2.c
111
if (tp->sym_advertise & 0x0100) csr14 |= 0x00020000;
drivers/net/ethernet/dec/tulip/pnic2.c
114
if (tp->sym_advertise & 0x0080) csr14 |= 0x00010000;
drivers/net/ethernet/dec/tulip/pnic2.c
117
if (tp->sym_advertise & 0x0020) csr14 |= 0x00000040;
drivers/net/ethernet/dec/tulip/pnic2.c
130
tp->nway = tp->mediasense = 1;
drivers/net/ethernet/dec/tulip/pnic2.c
131
tp->nwayset = tp->lpar = 0;
drivers/net/ethernet/dec/tulip/pnic2.c
135
tp->csr6 = ioread32(ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/pnic2.c
137
netdev_dbg(dev, "On Entry to Nway, csr6=%08x\n", tp->csr6);
drivers/net/ethernet/dec/tulip/pnic2.c
142
tp->csr6 = tp->csr6 & 0xfe3bd1fd;
drivers/net/ethernet/dec/tulip/pnic2.c
146
if (tp->sym_advertise & 0x0040) tp->csr6 |= 0x00000200;
drivers/net/ethernet/dec/tulip/pnic2.c
152
tp->csr6 |= 0x01000000;
drivers/net/ethernet/dec/tulip/pnic2.c
154
iowrite32(tp->csr6, ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/pnic2.c
172
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/pnic2.c
173
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/pnic2.c
187
if (tp->nway && !tp->nwayset) {
drivers/net/ethernet/dec/tulip/pnic2.c
204
int negotiated = ((csr12 >> 16) & 0x01E0) & tp->sym_advertise;
drivers/net/ethernet/dec/tulip/pnic2.c
205
tp->lpar = (csr12 >> 16);
drivers/net/ethernet/dec/tulip/pnic2.c
206
tp->nwayset = 1;
drivers/net/ethernet/dec/tulip/pnic2.c
216
csr12, tp->sym_advertise);
drivers/net/ethernet/dec/tulip/pnic2.c
217
tp->nwayset = 0;
drivers/net/ethernet/dec/tulip/pnic2.c
219
if ((csr12 & 2) == 0 && (tp->sym_advertise & 0x0180))
drivers/net/ethernet/dec/tulip/pnic2.c
224
tp->full_duplex = 0;
drivers/net/ethernet/dec/tulip/pnic2.c
226
tp->full_duplex = 1;
drivers/net/ethernet/dec/tulip/pnic2.c
229
if (tp->nwayset)
drivers/net/ethernet/dec/tulip/pnic2.c
233
tp->sym_advertise, tp->lpar,
drivers/net/ethernet/dec/tulip/pnic2.c
253
tp->csr6 = (ioread32(ioaddr + CSR6) & 0xfe3bd1fd);
drivers/net/ethernet/dec/tulip/pnic2.c
261
if (dev->if_port & 1) tp->csr6 |= 0x01840000;
drivers/net/ethernet/dec/tulip/pnic2.c
262
else tp->csr6 |= 0x00400000;
drivers/net/ethernet/dec/tulip/pnic2.c
265
if (tp->full_duplex) tp->csr6 |= 0x00000200;
drivers/net/ethernet/dec/tulip/pnic2.c
271
tp->csr6,
drivers/net/ethernet/dec/tulip/pnic2.c
278
tulip_start_rxtx(tp);
drivers/net/ethernet/dec/tulip/pnic2.c
301
tp->nway = 0;
drivers/net/ethernet/dec/tulip/pnic2.c
302
tp->nwayset = 1;
drivers/net/ethernet/dec/tulip/pnic2.c
307
tp->csr6 = (ioread32(ioaddr + CSR6) & 0xfe3bd1fd);
drivers/net/ethernet/dec/tulip/pnic2.c
308
tp->csr6 |= 0x00400000;
drivers/net/ethernet/dec/tulip/pnic2.c
310
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/pnic2.c
317
if ((tp->nwayset && (csr5 & 0x08000000) &&
drivers/net/ethernet/dec/tulip/pnic2.c
319
(csr12 & 2) == 2) || (tp->nway && (csr5 & (TPLnkFail)))) {
drivers/net/ethernet/dec/tulip/pnic2.c
326
timer_delete_sync(&tp->timer);
drivers/net/ethernet/dec/tulip/pnic2.c
328
tp->timer.expires = RUN_AT(3*HZ);
drivers/net/ethernet/dec/tulip/pnic2.c
329
add_timer(&tp->timer);
drivers/net/ethernet/dec/tulip/pnic2.c
346
tp->nway = 0;
drivers/net/ethernet/dec/tulip/pnic2.c
347
tp->nwayset = 1;
drivers/net/ethernet/dec/tulip/pnic2.c
350
if ((csr12 & 2) && ! tp->medialock) {
drivers/net/ethernet/dec/tulip/pnic2.c
351
timer_delete_sync(&tp->timer);
drivers/net/ethernet/dec/tulip/pnic2.c
353
tp->timer.expires = RUN_AT(3*HZ);
drivers/net/ethernet/dec/tulip/pnic2.c
354
add_timer(&tp->timer);
drivers/net/ethernet/dec/tulip/pnic2.c
370
tp->nway = 0;
drivers/net/ethernet/dec/tulip/pnic2.c
371
tp->nwayset = 1;
drivers/net/ethernet/dec/tulip/pnic2.c
374
if ((csr12 & 4) && ! tp->medialock) {
drivers/net/ethernet/dec/tulip/pnic2.c
375
timer_delete_sync(&tp->timer);
drivers/net/ethernet/dec/tulip/pnic2.c
377
tp->timer.expires = RUN_AT(3*HZ);
drivers/net/ethernet/dec/tulip/pnic2.c
378
add_timer(&tp->timer);
drivers/net/ethernet/dec/tulip/pnic2.c
398
tp->csr6 = (ioread32(ioaddr + CSR6) & 0xfe3bd1fd);
drivers/net/ethernet/dec/tulip/pnic2.c
399
tp->csr6 |= 0x00400000;
drivers/net/ethernet/dec/tulip/pnic2.c
401
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/pnic2.c
81
struct tulip_private *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/dec/tulip/pnic2.c
82
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/pnic2.c
83
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/pnic2.c
91
mod_timer(&tp->timer, RUN_AT(next_tick));
drivers/net/ethernet/dec/tulip/pnic2.c
98
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/pnic2.c
99
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/timer.c
100
medianame[tp->mtable->mleaf[tp->cur_index].media]);
drivers/net/ethernet/dec/tulip/timer.c
103
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/timer.c
126
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/timer.c
127
if (tp->timeout_recovery) {
drivers/net/ethernet/dec/tulip/timer.c
128
tulip_tx_timeout_complete(tp, ioaddr);
drivers/net/ethernet/dec/tulip/timer.c
129
tp->timeout_recovery = 0;
drivers/net/ethernet/dec/tulip/timer.c
131
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/timer.c
136
mod_timer(&tp->timer, RUN_AT(next_tick));
drivers/net/ethernet/dec/tulip/timer.c
142
struct tulip_private *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/dec/tulip/timer.c
143
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/timer.c
144
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/timer.c
152
mod_timer(&tp->timer, RUN_AT(next_tick));
drivers/net/ethernet/dec/tulip/timer.c
159
struct tulip_private *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/dec/tulip/timer.c
160
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/timer.c
165
tulip_mdio_read(dev, tp->phys[0], 1),
drivers/net/ethernet/dec/tulip/timer.c
166
tulip_mdio_read(dev, tp->phys[0], 5));
drivers/net/ethernet/dec/tulip/timer.c
174
mod_timer(&tp->timer, RUN_AT(next_tick));
drivers/net/ethernet/dec/tulip/timer.c
19
struct tulip_private *tp =
drivers/net/ethernet/dec/tulip/timer.c
21
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/timer.c
22
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/timer.c
34
switch (tp->chip_id) {
drivers/net/ethernet/dec/tulip/timer.c
43
if (tp->mtable == NULL) { /* No EEPROM info, use generic code. */
drivers/net/ethernet/dec/tulip/timer.c
53
mleaf = &tp->mtable->mleaf[tp->cur_index];
drivers/net/ethernet/dec/tulip/timer.c
87
if (tp->medialock)
drivers/net/ethernet/dec/tulip/timer.c
90
if (--tp->cur_index < 0) {
drivers/net/ethernet/dec/tulip/timer.c
92
tp->cur_index = tp->mtable->leafcount - 1;
drivers/net/ethernet/dec/tulip/timer.c
94
dev->if_port = tp->mtable->mleaf[tp->cur_index].media;
drivers/net/ethernet/dec/tulip/tulip.h
521
static inline void tulip_start_rxtx(struct tulip_private *tp)
drivers/net/ethernet/dec/tulip/tulip.h
523
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip.h
524
iowrite32(tp->csr6 | RxTx, ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/tulip.h
529
static inline void tulip_stop_rxtx(struct tulip_private *tp)
drivers/net/ethernet/dec/tulip/tulip.h
531
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip.h
546
netdev_dbg(tp->dev, "tulip_stop_rxtx() failed (CSR5 0x%x CSR6 0x%x)\n",
drivers/net/ethernet/dec/tulip/tulip.h
552
static inline void tulip_restart_rxtx(struct tulip_private *tp)
drivers/net/ethernet/dec/tulip/tulip.h
554
tulip_stop_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip.h
556
tulip_start_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip.h
559
static inline void tulip_tx_timeout_complete(struct tulip_private *tp, void __iomem *ioaddr)
drivers/net/ethernet/dec/tulip/tulip.h
562
tulip_restart_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip.h
566
tp->dev->stats.tx_errors++;
drivers/net/ethernet/dec/tulip/tulip_core.c
1001
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1019
setup_frm = &tp->setup_frame[13*6];
drivers/net/ethernet/dec/tulip/tulip_core.c
1030
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1044
setup_frm = &tp->setup_frame[15*6];
drivers/net/ethernet/dec/tulip/tulip_core.c
1056
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1057
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
1062
tp->csr6 &= ~0x00D5;
drivers/net/ethernet/dec/tulip/tulip_core.c
1064
tp->csr6 |= AcceptAllMulticast | AcceptAllPhys;
drivers/net/ethernet/dec/tulip/tulip_core.c
1069
tp->csr6 |= AcceptAllMulticast;
drivers/net/ethernet/dec/tulip/tulip_core.c
1071
} else if (tp->flags & MC_HASH_ONLY) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1077
tp->csr6 |= AcceptAllMulticast;
drivers/net/ethernet/dec/tulip/tulip_core.c
1083
if (tp->flags & COMET_MAC_ADDR)
drivers/net/ethernet/dec/tulip/tulip_core.c
1098
if (mc_filter[0] == tp->mc_filter[0] &&
drivers/net/ethernet/dec/tulip/tulip_core.c
1099
mc_filter[1] == tp->mc_filter[1])
drivers/net/ethernet/dec/tulip/tulip_core.c
1101
else if (tp->flags & IS_ASIX) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1106
} else if (tp->flags & COMET_MAC_ADDR) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1110
tp->mc_filter[0] = mc_filter[0];
drivers/net/ethernet/dec/tulip/tulip_core.c
1111
tp->mc_filter[1] = mc_filter[1];
drivers/net/ethernet/dec/tulip/tulip_core.c
1121
build_setup_frame_hash(tp->setup_frame, dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1124
build_setup_frame_perfect(tp->setup_frame, dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1127
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
1129
if (tp->cur_tx - tp->dirty_tx > TX_RING_SIZE - 2) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1137
entry = tp->cur_tx++ % TX_RING_SIZE;
drivers/net/ethernet/dec/tulip/tulip_core.c
1141
tp->tx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
1142
tp->tx_buffers[entry].mapping = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1143
tp->tx_ring[entry].length =
drivers/net/ethernet/dec/tulip/tulip_core.c
1145
tp->tx_ring[entry].buffer1 = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1148
entry = tp->cur_tx++ % TX_RING_SIZE;
drivers/net/ethernet/dec/tulip/tulip_core.c
1152
tp->tx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
1153
tp->tx_buffers[entry].mapping =
drivers/net/ethernet/dec/tulip/tulip_core.c
1154
dma_map_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/tulip_core.c
1155
tp->setup_frame,
drivers/net/ethernet/dec/tulip/tulip_core.c
1156
sizeof(tp->setup_frame),
drivers/net/ethernet/dec/tulip/tulip_core.c
1161
tp->tx_ring[entry].length = cpu_to_le32(tx_flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
1162
tp->tx_ring[entry].buffer1 =
drivers/net/ethernet/dec/tulip/tulip_core.c
1163
cpu_to_le32(tp->tx_buffers[entry].mapping);
drivers/net/ethernet/dec/tulip/tulip_core.c
1164
tp->tx_ring[entry].status = cpu_to_le32(DescOwned);
drivers/net/ethernet/dec/tulip/tulip_core.c
1166
tp->tx_ring[dummy].status = cpu_to_le32(DescOwned);
drivers/net/ethernet/dec/tulip/tulip_core.c
1167
if (tp->cur_tx - tp->dirty_tx >= TX_RING_SIZE - 2)
drivers/net/ethernet/dec/tulip/tulip_core.c
117
struct tulip_private *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/dec/tulip/tulip_core.c
1174
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
118
struct net_device *dev = tp->dev;
drivers/net/ethernet/dec/tulip/tulip_core.c
1182
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1190
tp->csr0 = csr0 = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
121
schedule_work(&tp->media_work);
drivers/net/ethernet/dec/tulip/tulip_core.c
1248
tp->csr0 = csr0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1289
struct tulip_private *tp;
drivers/net/ethernet/dec/tulip/tulip_core.c
1399
dev = devm_alloc_etherdev(&pdev->dev, sizeof(*tp));
drivers/net/ethernet/dec/tulip/tulip_core.c
1426
tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1427
tp->dev = dev;
drivers/net/ethernet/dec/tulip/tulip_core.c
1429
tp->rx_ring = dmam_alloc_coherent(&pdev->dev,
drivers/net/ethernet/dec/tulip/tulip_core.c
1432
&tp->rx_ring_dma, GFP_KERNEL);
drivers/net/ethernet/dec/tulip/tulip_core.c
1433
if (!tp->rx_ring)
drivers/net/ethernet/dec/tulip/tulip_core.c
1435
tp->tx_ring = (struct tulip_tx_desc *)(tp->rx_ring + RX_RING_SIZE);
drivers/net/ethernet/dec/tulip/tulip_core.c
1436
tp->tx_ring_dma = tp->rx_ring_dma + sizeof(struct tulip_rx_desc) * RX_RING_SIZE;
drivers/net/ethernet/dec/tulip/tulip_core.c
1438
tp->chip_id = chip_idx;
drivers/net/ethernet/dec/tulip/tulip_core.c
1439
tp->flags = tulip_tbl[chip_idx].flags;
drivers/net/ethernet/dec/tulip/tulip_core.c
1441
tp->wolinfo.supported = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1442
tp->wolinfo.wolopts = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1448
tp->flags |= COMET_PM;
drivers/net/ethernet/dec/tulip/tulip_core.c
1449
tp->wolinfo.supported = WAKE_PHY | WAKE_MAGIC;
drivers/net/ethernet/dec/tulip/tulip_core.c
1454
tp->pdev = pdev;
drivers/net/ethernet/dec/tulip/tulip_core.c
1455
tp->base_addr = ioaddr;
drivers/net/ethernet/dec/tulip/tulip_core.c
1456
tp->revision = pdev->revision;
drivers/net/ethernet/dec/tulip/tulip_core.c
1457
tp->csr0 = csr0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1458
spin_lock_init(&tp->lock);
drivers/net/ethernet/dec/tulip/tulip_core.c
1459
spin_lock_init(&tp->mii_lock);
drivers/net/ethernet/dec/tulip/tulip_core.c
1460
timer_setup(&tp->timer, tulip_tbl[tp->chip_id].media_timer, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
1462
INIT_WORK(&tp->media_work, tulip_tbl[tp->chip_id].media_task);
drivers/net/ethernet/dec/tulip/tulip_core.c
1465
(tp->flags & HAS_PCI_MWI))
drivers/net/ethernet/dec/tulip/tulip_core.c
1469
tulip_stop_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip_core.c
1484
tp->flags |= HAS_SWAPPED_SEEPROM | NEEDS_FAKE_MEDIA_TABLE;
drivers/net/ethernet/dec/tulip/tulip_core.c
1497
ee_data = tp->eeprom;
drivers/net/ethernet/dec/tulip/tulip_core.c
1498
memset(ee_data, 0, sizeof(tp->eeprom));
drivers/net/ethernet/dec/tulip/tulip_core.c
1524
if (ee_max_addr > sizeof(tp->eeprom))
drivers/net/ethernet/dec/tulip/tulip_core.c
1525
ee_max_addr = sizeof(tp->eeprom);
drivers/net/ethernet/dec/tulip/tulip_core.c
1633
tp->default_port = options[board_idx] & MEDIA_MASK;
drivers/net/ethernet/dec/tulip/tulip_core.c
1635
tp->full_duplex = 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
1640
tp->default_port = dev->mem_start & MEDIA_MASK;
drivers/net/ethernet/dec/tulip/tulip_core.c
1641
if (tp->default_port) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1643
board_idx, medianame[tp->default_port & MEDIA_MASK]);
drivers/net/ethernet/dec/tulip/tulip_core.c
1644
tp->medialock = 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
1645
if (tulip_media_cap[tp->default_port] & MediaAlwaysFD)
drivers/net/ethernet/dec/tulip/tulip_core.c
1646
tp->full_duplex = 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
1648
if (tp->full_duplex)
drivers/net/ethernet/dec/tulip/tulip_core.c
1649
tp->full_duplex_lock = 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
1651
if (tulip_media_cap[tp->default_port] & MediaIsMII) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1655
tp->mii_advertise = media2advert[tp->default_port - 9];
drivers/net/ethernet/dec/tulip/tulip_core.c
1656
tp->mii_advertise |= (tp->flags & HAS_8023X); /* Matching bits! */
drivers/net/ethernet/dec/tulip/tulip_core.c
1659
if (tp->flags & HAS_MEDIA_TABLE) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1665
if ((tp->flags & ALWAYS_CHECK_MII) ||
drivers/net/ethernet/dec/tulip/tulip_core.c
1666
(tp->mtable && tp->mtable->has_mii) ||
drivers/net/ethernet/dec/tulip/tulip_core.c
1667
( ! tp->mtable && (tp->flags & HAS_MII))) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1668
if (tp->mtable && tp->mtable->has_mii) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1669
for (i = 0; i < tp->mtable->leafcount; i++)
drivers/net/ethernet/dec/tulip/tulip_core.c
1670
if (tp->mtable->mleaf[i].media == 11) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1671
tp->cur_index = i;
drivers/net/ethernet/dec/tulip/tulip_core.c
1672
tp->saved_if_port = dev->if_port;
drivers/net/ethernet/dec/tulip/tulip_core.c
1674
dev->if_port = tp->saved_if_port;
drivers/net/ethernet/dec/tulip/tulip_core.c
1689
netif_napi_add_weight(dev, &tp->napi, tulip_poll, 16);
drivers/net/ethernet/dec/tulip/tulip_core.c
1710
if (tp->chip_id == PNIC2)
drivers/net/ethernet/dec/tulip/tulip_core.c
1711
tp->link_change = pnic2_lnk_change;
drivers/net/ethernet/dec/tulip/tulip_core.c
1712
else if (tp->flags & HAS_NWAY)
drivers/net/ethernet/dec/tulip/tulip_core.c
1713
tp->link_change = t21142_lnk_change;
drivers/net/ethernet/dec/tulip/tulip_core.c
1714
else if (tp->flags & HAS_PNICNWAY)
drivers/net/ethernet/dec/tulip/tulip_core.c
1715
tp->link_change = pnic_lnk_change;
drivers/net/ethernet/dec/tulip/tulip_core.c
1722
if (tp->mtable)
drivers/net/ethernet/dec/tulip/tulip_core.c
1723
iowrite32(tp->mtable->csr12dir | 0x100, ioaddr + CSR12);
drivers/net/ethernet/dec/tulip/tulip_core.c
1726
if (tp->mii_cnt || tulip_media_cap[dev->if_port] & MediaIsMII) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1740
if ( ! tp->mii_cnt) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1741
tp->nway = 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
1742
tp->nwayset = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
1767
tulip_set_power_state (tp, 0, 1);
drivers/net/ethernet/dec/tulip/tulip_core.c
1777
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1778
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
1780
if (tp->flags & COMET_PM) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1804
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1816
free_irq(tp->pdev->irq, dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1819
tulip_set_wolopts(to_pci_dev(dev_d), tp->wolinfo.wolopts);
drivers/net/ethernet/dec/tulip/tulip_core.c
1820
device_set_wakeup_enable(dev_d, !!tp->wolinfo.wolopts);
drivers/net/ethernet/dec/tulip/tulip_core.c
1829
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1830
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
1847
if (tp->flags & COMET_PM) {
drivers/net/ethernet/dec/tulip/tulip_core.c
1885
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
1886
const int irq = tp->pdev->irq;
drivers/net/ethernet/dec/tulip/tulip_core.c
264
static void tulip_set_power_state (struct tulip_private *tp,
drivers/net/ethernet/dec/tulip/tulip_core.c
267
if (tp->flags & HAS_ACPI) {
drivers/net/ethernet/dec/tulip/tulip_core.c
269
pci_read_config_dword (tp->pdev, CFDD, &tmp);
drivers/net/ethernet/dec/tulip/tulip_core.c
276
pci_write_config_dword (tp->pdev, CFDD, newtmp);
drivers/net/ethernet/dec/tulip/tulip_core.c
284
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
285
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
291
napi_enable(&tp->napi);
drivers/net/ethernet/dec/tulip/tulip_core.c
295
tulip_set_power_state (tp, 0, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
298
pci_enable_wake(tp->pdev, PCI_D3hot, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
299
pci_enable_wake(tp->pdev, PCI_D3cold, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
300
tulip_set_wolopts(tp->pdev, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
303
if (tp->mii_cnt || (tp->mtable && tp->mtable->has_mii))
drivers/net/ethernet/dec/tulip/tulip_core.c
308
pci_read_config_dword(tp->pdev, PCI_COMMAND, ®); /* flush write */
drivers/net/ethernet/dec/tulip/tulip_core.c
314
iowrite32(tp->csr0, ioaddr + CSR0);
drivers/net/ethernet/dec/tulip/tulip_core.c
315
pci_read_config_dword(tp->pdev, PCI_COMMAND, ®); /* flush write */
drivers/net/ethernet/dec/tulip/tulip_core.c
319
netdev_dbg(dev, "tulip_up(), irq==%d\n", tp->pdev->irq);
drivers/net/ethernet/dec/tulip/tulip_core.c
321
iowrite32(tp->rx_ring_dma, ioaddr + CSR3);
drivers/net/ethernet/dec/tulip/tulip_core.c
322
iowrite32(tp->tx_ring_dma, ioaddr + CSR4);
drivers/net/ethernet/dec/tulip/tulip_core.c
323
tp->cur_rx = tp->cur_tx = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
324
tp->dirty_rx = tp->dirty_tx = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
326
if (tp->flags & MC_HASH_ONLY) {
drivers/net/ethernet/dec/tulip/tulip_core.c
329
if (tp->chip_id == AX88140) {
drivers/net/ethernet/dec/tulip/tulip_core.c
334
} else if (tp->flags & COMET_MAC_ADDR) {
drivers/net/ethernet/dec/tulip/tulip_core.c
343
u16 *setup_frm = &tp->setup_frame[15*6];
drivers/net/ethernet/dec/tulip/tulip_core.c
347
memset(tp->setup_frame, 0xff, sizeof(tp->setup_frame));
drivers/net/ethernet/dec/tulip/tulip_core.c
353
mapping = dma_map_single(&tp->pdev->dev, tp->setup_frame,
drivers/net/ethernet/dec/tulip/tulip_core.c
354
sizeof(tp->setup_frame),
drivers/net/ethernet/dec/tulip/tulip_core.c
356
tp->tx_buffers[tp->cur_tx].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
357
tp->tx_buffers[tp->cur_tx].mapping = mapping;
drivers/net/ethernet/dec/tulip/tulip_core.c
360
tp->tx_ring[tp->cur_tx].length = cpu_to_le32(0x08000000 | 192);
drivers/net/ethernet/dec/tulip/tulip_core.c
361
tp->tx_ring[tp->cur_tx].buffer1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/tulip_core.c
362
tp->tx_ring[tp->cur_tx].status = cpu_to_le32(DescOwned);
drivers/net/ethernet/dec/tulip/tulip_core.c
364
tp->cur_tx++;
drivers/net/ethernet/dec/tulip/tulip_core.c
367
tp->saved_if_port = dev->if_port;
drivers/net/ethernet/dec/tulip/tulip_core.c
369
dev->if_port = tp->default_port;
drivers/net/ethernet/dec/tulip/tulip_core.c
373
if (tp->mtable == NULL)
drivers/net/ethernet/dec/tulip/tulip_core.c
378
for (i = 0; i < tp->mtable->leafcount; i++)
drivers/net/ethernet/dec/tulip/tulip_core.c
379
if (tp->mtable->mleaf[i].media == looking_for) {
drivers/net/ethernet/dec/tulip/tulip_core.c
386
if ((tp->mtable->defaultmedia & 0x0800) == 0) {
drivers/net/ethernet/dec/tulip/tulip_core.c
387
int looking_for = tp->mtable->defaultmedia & MEDIA_MASK;
drivers/net/ethernet/dec/tulip/tulip_core.c
388
for (i = 0; i < tp->mtable->leafcount; i++)
drivers/net/ethernet/dec/tulip/tulip_core.c
389
if (tp->mtable->mleaf[i].media == looking_for) {
drivers/net/ethernet/dec/tulip/tulip_core.c
397
for (i = tp->mtable->leafcount - 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
398
(tulip_media_cap[tp->mtable->mleaf[i].media] & MediaAlwaysFD) && i > 0; i--)
drivers/net/ethernet/dec/tulip/tulip_core.c
402
tp->csr6 = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
403
tp->cur_index = i;
drivers/net/ethernet/dec/tulip/tulip_core.c
404
tp->nwayset = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
407
if (tp->chip_id == DC21143 &&
drivers/net/ethernet/dec/tulip/tulip_core.c
415
} else if (tp->chip_id == DC21142) {
drivers/net/ethernet/dec/tulip/tulip_core.c
416
if (tp->mii_cnt) {
drivers/net/ethernet/dec/tulip/tulip_core.c
421
tp->phys[0],
drivers/net/ethernet/dec/tulip/tulip_core.c
422
tulip_mdio_read(dev, tp->phys[0], 1));
drivers/net/ethernet/dec/tulip/tulip_core.c
424
tp->csr6 = csr6_mask_hdcap;
drivers/net/ethernet/dec/tulip/tulip_core.c
430
} else if (tp->chip_id == PNIC2) {
drivers/net/ethernet/dec/tulip/tulip_core.c
432
tp->sym_advertise = 0x01E0;
drivers/net/ethernet/dec/tulip/tulip_core.c
437
} else if (tp->chip_id == LC82C168 && ! tp->medialock) {
drivers/net/ethernet/dec/tulip/tulip_core.c
438
if (tp->mii_cnt) {
drivers/net/ethernet/dec/tulip/tulip_core.c
440
tp->csr6 = 0x814C0000 | (tp->full_duplex ? 0x0200 : 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
447
tp->csr6 = 0x00420000;
drivers/net/ethernet/dec/tulip/tulip_core.c
452
} else if ((tp->chip_id == MX98713 || tp->chip_id == COMPEX9881) &&
drivers/net/ethernet/dec/tulip/tulip_core.c
453
! tp->medialock) {
drivers/net/ethernet/dec/tulip/tulip_core.c
455
tp->csr6 = 0x01880000 | (tp->full_duplex ? 0x0200 : 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
457
} else if (tp->chip_id == MX98715 || tp->chip_id == MX98725) {
drivers/net/ethernet/dec/tulip/tulip_core.c
460
tp->csr6 = 0x01a80200;
drivers/net/ethernet/dec/tulip/tulip_core.c
463
} else if (tp->chip_id == COMET || tp->chip_id == CONEXANT) {
drivers/net/ethernet/dec/tulip/tulip_core.c
466
dev->if_port = tp->mii_cnt ? 11 : 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
467
tp->csr6 = 0x00040000;
drivers/net/ethernet/dec/tulip/tulip_core.c
468
} else if (tp->chip_id == AX88140) {
drivers/net/ethernet/dec/tulip/tulip_core.c
469
tp->csr6 = tp->mii_cnt ? 0x00040100 : 0x00000100;
drivers/net/ethernet/dec/tulip/tulip_core.c
474
tulip_stop_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip_core.c
477
iowrite32(tp->csr6 | TxOn, ioaddr + CSR6);
drivers/net/ethernet/dec/tulip/tulip_core.c
480
iowrite32(tulip_tbl[tp->chip_id].valid_intrs, ioaddr + CSR5);
drivers/net/ethernet/dec/tulip/tulip_core.c
481
iowrite32(tulip_tbl[tp->chip_id].valid_intrs, ioaddr + CSR7);
drivers/net/ethernet/dec/tulip/tulip_core.c
482
tulip_start_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip_core.c
494
tp->timer.expires = RUN_AT(next_tick);
drivers/net/ethernet/dec/tulip/tulip_core.c
495
add_timer(&tp->timer);
drivers/net/ethernet/dec/tulip/tulip_core.c
497
timer_setup(&tp->oom_timer, oom_timer, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
504
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
509
retval = request_irq(tp->pdev->irq, tulip_interrupt, IRQF_SHARED,
drivers/net/ethernet/dec/tulip/tulip_core.c
528
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
529
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
532
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
539
} else if (tp->chip_id == DC21140 || tp->chip_id == DC21142 ||
drivers/net/ethernet/dec/tulip/tulip_core.c
540
tp->chip_id == MX98713 || tp->chip_id == COMPEX9881 ||
drivers/net/ethernet/dec/tulip/tulip_core.c
541
tp->chip_id == DM910X) {
drivers/net/ethernet/dec/tulip/tulip_core.c
547
tp->timeout_recovery = 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
548
schedule_work(&tp->media_work);
drivers/net/ethernet/dec/tulip/tulip_core.c
550
} else if (tp->chip_id == PNIC2) {
drivers/net/ethernet/dec/tulip/tulip_core.c
568
u8 *buf = (u8 *)(tp->rx_ring[i].buffer1);
drivers/net/ethernet/dec/tulip/tulip_core.c
573
(unsigned int)tp->rx_ring[i].status,
drivers/net/ethernet/dec/tulip/tulip_core.c
574
(unsigned int)tp->rx_ring[i].length,
drivers/net/ethernet/dec/tulip/tulip_core.c
575
(unsigned int)tp->rx_ring[i].buffer1,
drivers/net/ethernet/dec/tulip/tulip_core.c
576
(unsigned int)tp->rx_ring[i].buffer2,
drivers/net/ethernet/dec/tulip/tulip_core.c
583
printk(KERN_DEBUG " Rx ring %p: ", tp->rx_ring);
drivers/net/ethernet/dec/tulip/tulip_core.c
585
pr_cont(" %08x", (unsigned int)tp->rx_ring[i].status);
drivers/net/ethernet/dec/tulip/tulip_core.c
586
printk(KERN_DEBUG " Tx ring %p: ", tp->tx_ring);
drivers/net/ethernet/dec/tulip/tulip_core.c
588
pr_cont(" %08x", (unsigned int)tp->tx_ring[i].status);
drivers/net/ethernet/dec/tulip/tulip_core.c
593
tulip_tx_timeout_complete(tp, ioaddr);
drivers/net/ethernet/dec/tulip/tulip_core.c
596
spin_unlock_irqrestore (&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
605
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
608
tp->susp_rx = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
609
tp->ttimer = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
610
tp->nir = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
613
tp->rx_ring[i].status = 0x00000000;
drivers/net/ethernet/dec/tulip/tulip_core.c
614
tp->rx_ring[i].length = cpu_to_le32(PKT_BUF_SZ);
drivers/net/ethernet/dec/tulip/tulip_core.c
615
tp->rx_ring[i].buffer2 = cpu_to_le32(tp->rx_ring_dma + sizeof(struct tulip_rx_desc) * (i + 1));
drivers/net/ethernet/dec/tulip/tulip_core.c
616
tp->rx_buffers[i].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
617
tp->rx_buffers[i].mapping = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
620
tp->rx_ring[i-1].length = cpu_to_le32(PKT_BUF_SZ | DESC_RING_WRAP);
drivers/net/ethernet/dec/tulip/tulip_core.c
621
tp->rx_ring[i-1].buffer2 = cpu_to_le32(tp->rx_ring_dma);
drivers/net/ethernet/dec/tulip/tulip_core.c
630
tp->rx_buffers[i].skb = skb;
drivers/net/ethernet/dec/tulip/tulip_core.c
633
mapping = dma_map_single(&tp->pdev->dev, skb->data,
drivers/net/ethernet/dec/tulip/tulip_core.c
635
tp->rx_buffers[i].mapping = mapping;
drivers/net/ethernet/dec/tulip/tulip_core.c
636
tp->rx_ring[i].status = cpu_to_le32(DescOwned); /* Owned by Tulip chip */
drivers/net/ethernet/dec/tulip/tulip_core.c
637
tp->rx_ring[i].buffer1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/tulip_core.c
639
tp->dirty_rx = (unsigned int)(i - RX_RING_SIZE);
drivers/net/ethernet/dec/tulip/tulip_core.c
644
tp->tx_buffers[i].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
645
tp->tx_buffers[i].mapping = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
646
tp->tx_ring[i].status = 0x00000000;
drivers/net/ethernet/dec/tulip/tulip_core.c
647
tp->tx_ring[i].buffer2 = cpu_to_le32(tp->tx_ring_dma + sizeof(struct tulip_tx_desc) * (i + 1));
drivers/net/ethernet/dec/tulip/tulip_core.c
649
tp->tx_ring[i-1].buffer2 = cpu_to_le32(tp->tx_ring_dma);
drivers/net/ethernet/dec/tulip/tulip_core.c
655
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
661
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
664
entry = tp->cur_tx % TX_RING_SIZE;
drivers/net/ethernet/dec/tulip/tulip_core.c
666
tp->tx_buffers[entry].skb = skb;
drivers/net/ethernet/dec/tulip/tulip_core.c
667
mapping = dma_map_single(&tp->pdev->dev, skb->data, skb->len,
drivers/net/ethernet/dec/tulip/tulip_core.c
669
tp->tx_buffers[entry].mapping = mapping;
drivers/net/ethernet/dec/tulip/tulip_core.c
670
tp->tx_ring[entry].buffer1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/tulip_core.c
672
if (tp->cur_tx - tp->dirty_tx < TX_RING_SIZE/2) {/* Typical path */
drivers/net/ethernet/dec/tulip/tulip_core.c
674
} else if (tp->cur_tx - tp->dirty_tx == TX_RING_SIZE/2) {
drivers/net/ethernet/dec/tulip/tulip_core.c
676
} else if (tp->cur_tx - tp->dirty_tx < TX_RING_SIZE - 2) {
drivers/net/ethernet/dec/tulip/tulip_core.c
685
tp->tx_ring[entry].length = cpu_to_le32(skb->len | flag);
drivers/net/ethernet/dec/tulip/tulip_core.c
688
tp->tx_ring[entry].status = cpu_to_le32(DescOwned);
drivers/net/ethernet/dec/tulip/tulip_core.c
691
tp->cur_tx++;
drivers/net/ethernet/dec/tulip/tulip_core.c
694
iowrite32(0, tp->base_addr + CSR1);
drivers/net/ethernet/dec/tulip/tulip_core.c
696
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
701
static void tulip_clean_tx_ring(struct tulip_private *tp)
drivers/net/ethernet/dec/tulip/tulip_core.c
705
for (dirty_tx = tp->dirty_tx ; tp->cur_tx - dirty_tx > 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
708
int status = le32_to_cpu(tp->tx_ring[entry].status);
drivers/net/ethernet/dec/tulip/tulip_core.c
711
tp->dev->stats.tx_errors++; /* It wasn't Txed */
drivers/net/ethernet/dec/tulip/tulip_core.c
712
tp->tx_ring[entry].status = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
716
if (tp->tx_buffers[entry].skb == NULL) {
drivers/net/ethernet/dec/tulip/tulip_core.c
718
if (tp->tx_buffers[entry].mapping)
drivers/net/ethernet/dec/tulip/tulip_core.c
719
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/tulip_core.c
720
tp->tx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/tulip_core.c
721
sizeof(tp->setup_frame),
drivers/net/ethernet/dec/tulip/tulip_core.c
726
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/tulip_core.c
727
tp->tx_buffers[entry].mapping,
drivers/net/ethernet/dec/tulip/tulip_core.c
728
tp->tx_buffers[entry].skb->len,
drivers/net/ethernet/dec/tulip/tulip_core.c
732
dev_kfree_skb_irq(tp->tx_buffers[entry].skb);
drivers/net/ethernet/dec/tulip/tulip_core.c
733
tp->tx_buffers[entry].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
734
tp->tx_buffers[entry].mapping = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
740
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
741
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
744
cancel_work_sync(&tp->media_work);
drivers/net/ethernet/dec/tulip/tulip_core.c
747
napi_disable(&tp->napi);
drivers/net/ethernet/dec/tulip/tulip_core.c
750
timer_delete_sync(&tp->timer);
drivers/net/ethernet/dec/tulip/tulip_core.c
752
timer_delete_sync(&tp->oom_timer);
drivers/net/ethernet/dec/tulip/tulip_core.c
754
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
760
tulip_stop_rxtx(tp);
drivers/net/ethernet/dec/tulip/tulip_core.c
766
tulip_clean_tx_ring(tp);
drivers/net/ethernet/dec/tulip/tulip_core.c
771
spin_unlock_irqrestore (&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
773
timer_setup(&tp->timer, tulip_tbl[tp->chip_id].media_timer, 0);
drivers/net/ethernet/dec/tulip/tulip_core.c
775
dev->if_port = tp->saved_if_port;
drivers/net/ethernet/dec/tulip/tulip_core.c
778
tulip_set_power_state (tp, 0, 1);
drivers/net/ethernet/dec/tulip/tulip_core.c
783
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
788
struct sk_buff *skb = tp->rx_buffers[i].skb;
drivers/net/ethernet/dec/tulip/tulip_core.c
789
dma_addr_t mapping = tp->rx_buffers[i].mapping;
drivers/net/ethernet/dec/tulip/tulip_core.c
791
tp->rx_buffers[i].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
792
tp->rx_buffers[i].mapping = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
794
tp->rx_ring[i].status = 0; /* Not owned by Tulip chip. */
drivers/net/ethernet/dec/tulip/tulip_core.c
795
tp->rx_ring[i].length = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
797
tp->rx_ring[i].buffer1 = cpu_to_le32(0xBADF00D0);
drivers/net/ethernet/dec/tulip/tulip_core.c
799
dma_unmap_single(&tp->pdev->dev, mapping, PKT_BUF_SZ,
drivers/net/ethernet/dec/tulip/tulip_core.c
806
struct sk_buff *skb = tp->tx_buffers[i].skb;
drivers/net/ethernet/dec/tulip/tulip_core.c
809
dma_unmap_single(&tp->pdev->dev,
drivers/net/ethernet/dec/tulip/tulip_core.c
810
tp->tx_buffers[i].mapping, skb->len,
drivers/net/ethernet/dec/tulip/tulip_core.c
814
tp->tx_buffers[i].skb = NULL;
drivers/net/ethernet/dec/tulip/tulip_core.c
815
tp->tx_buffers[i].mapping = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
821
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
822
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
832
free_irq (tp->pdev->irq, dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
841
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
842
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
847
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
851
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/dec/tulip/tulip_core.c
869
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
871
if (wolinfo->wolopts & (~tp->wolinfo.supported))
drivers/net/ethernet/dec/tulip/tulip_core.c
874
tp->wolinfo.wolopts = wolinfo->wolopts;
drivers/net/ethernet/dec/tulip/tulip_core.c
875
device_set_wakeup_enable(&tp->pdev->dev, tp->wolinfo.wolopts);
drivers/net/ethernet/dec/tulip/tulip_core.c
882
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
884
wolinfo->supported = tp->wolinfo.supported;
drivers/net/ethernet/dec/tulip/tulip_core.c
885
wolinfo->wolopts = tp->wolinfo.wolopts;
drivers/net/ethernet/dec/tulip/tulip_core.c
899
struct tulip_private *tp = netdev_priv(dev);
drivers/net/ethernet/dec/tulip/tulip_core.c
900
void __iomem *ioaddr = tp->base_addr;
drivers/net/ethernet/dec/tulip/tulip_core.c
903
int phy = tp->phys[phy_idx] & 0x1f;
drivers/net/ethernet/dec/tulip/tulip_core.c
908
if (tp->mii_cnt)
drivers/net/ethernet/dec/tulip/tulip_core.c
910
else if (tp->flags & HAS_NWAY)
drivers/net/ethernet/dec/tulip/tulip_core.c
912
else if (tp->chip_id == COMET)
drivers/net/ethernet/dec/tulip/tulip_core.c
919
if (data->phy_id == 32 && (tp->flags & HAS_NWAY)) {
drivers/net/ethernet/dec/tulip/tulip_core.c
925
(dev->if_port == 5 && tp->nwayset))
drivers/net/ethernet/dec/tulip/tulip_core.c
945
case 5: data->val_out = tp->lpar; break;
drivers/net/ethernet/dec/tulip/tulip_core.c
960
tp->full_duplex_lock = (value & 0x9000) ? 0 : 1;
drivers/net/ethernet/dec/tulip/tulip_core.c
961
if (tp->full_duplex_lock)
drivers/net/ethernet/dec/tulip/tulip_core.c
962
tp->full_duplex = (value & 0x0100) ? 1 : 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
965
tp->advertising[phy_idx] =
drivers/net/ethernet/dec/tulip/tulip_core.c
966
tp->mii_advertise = data->val_in;
drivers/net/ethernet/dec/tulip/tulip_core.c
970
if (data->phy_id == 32 && (tp->flags & HAS_NWAY)) {
drivers/net/ethernet/dec/tulip/tulip_core.c
974
if (tp->chip_id == PNIC2) {
drivers/net/ethernet/dec/tulip/tulip_core.c
981
tp->sym_advertise = value;
drivers/net/ethernet/intel/libie/rx.c
23
#define LIBIE_RX_PT(oip, ofrag, tun, tp, tefr, iprot, pl) { \
drivers/net/ethernet/intel/libie/rx.c
27
.tunnel_end_prot = LIBETH_RX_PT_TUNNEL_END_##tp, \
drivers/net/ethernet/marvell/sky2.c
1053
u32 tp = space - space/4;
drivers/net/ethernet/marvell/sky2.c
1059
sky2_write32(hw, RB_ADDR(q, RB_RX_UTHP), tp);
drivers/net/ethernet/marvell/sky2.c
1062
tp = space - 8192/8;
drivers/net/ethernet/marvell/sky2.c
1063
sky2_write32(hw, RB_ADDR(q, RB_RX_UTPP), tp);
drivers/net/ethernet/mellanox/mlxsw/reg.h
10035
bool tp)
drivers/net/ethernet/mellanox/mlxsw/reg.h
10039
mlxsw_reg_mpat_eth_rspan_tp_set(payload, tp);
drivers/net/ethernet/microsoft/mana/mana_en.c
173
static void mana_add_sge(struct mana_tx_package *tp, struct mana_skb_head *ash,
drivers/net/ethernet/microsoft/mana/mana_en.c
179
tp->wqe_req.sgl[sg_i].address = da;
drivers/net/ethernet/microsoft/mana/mana_en.c
180
tp->wqe_req.sgl[sg_i].mem_key = gpa_mkey;
drivers/net/ethernet/microsoft/mana/mana_en.c
181
tp->wqe_req.sgl[sg_i].size = sge_len;
drivers/net/ethernet/microsoft/mana/mana_en.c
185
struct mana_tx_package *tp, int gso_hs)
drivers/net/ethernet/microsoft/mana/mana_en.c
213
mana_add_sge(tp, ash, 0, da, sge0_len, gd->gpa_mkey);
drivers/net/ethernet/microsoft/mana/mana_en.c
222
mana_add_sge(tp, ash, sg_i, da, sge1_len, gd->gpa_mkey);
drivers/net/ethernet/microsoft/mana/mana_en.c
235
mana_add_sge(tp, ash, sg_i, da, skb_frag_size(frag),
drivers/net/ethernet/realtek/8139too.c
1006
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1009
tp->drv_flags = board_info[ent->driver_data].hw_flags;
drivers/net/ethernet/realtek/8139too.c
1010
tp->mmio_addr = ioaddr;
drivers/net/ethernet/realtek/8139too.c
1011
tp->msg_enable =
drivers/net/ethernet/realtek/8139too.c
1013
spin_lock_init (&tp->lock);
drivers/net/ethernet/realtek/8139too.c
1014
spin_lock_init (&tp->rx_lock);
drivers/net/ethernet/realtek/8139too.c
1015
INIT_DELAYED_WORK(&tp->thread, rtl8139_thread);
drivers/net/ethernet/realtek/8139too.c
1016
tp->mii.dev = dev;
drivers/net/ethernet/realtek/8139too.c
1017
tp->mii.mdio_read = mdio_read;
drivers/net/ethernet/realtek/8139too.c
1018
tp->mii.mdio_write = mdio_write;
drivers/net/ethernet/realtek/8139too.c
1019
tp->mii.phy_id_mask = 0x3f;
drivers/net/ethernet/realtek/8139too.c
1020
tp->mii.reg_num_mask = 0x1f;
drivers/net/ethernet/realtek/8139too.c
1035
rtl_chip_info[tp->chipset].name);
drivers/net/ethernet/realtek/8139too.c
1041
if (tp->drv_flags & HAS_MII_XCVR) {
drivers/net/ethernet/realtek/8139too.c
1043
for (phy = 0; phy < 32 && phy_idx < sizeof(tp->phys); phy++) {
drivers/net/ethernet/realtek/8139too.c
1047
tp->phys[phy_idx++] = phy;
drivers/net/ethernet/realtek/8139too.c
1054
tp->phys[0] = 32;
drivers/net/ethernet/realtek/8139too.c
1058
tp->phys[0] = 32;
drivers/net/ethernet/realtek/8139too.c
1059
tp->mii.phy_id = tp->phys[0];
drivers/net/ethernet/realtek/8139too.c
1064
tp->mii.full_duplex = (option & 0x210) ? 1 : 0;
drivers/net/ethernet/realtek/8139too.c
1065
tp->default_port = option & 0xFF;
drivers/net/ethernet/realtek/8139too.c
1066
if (tp->default_port)
drivers/net/ethernet/realtek/8139too.c
1067
tp->mii.force_media = 1;
drivers/net/ethernet/realtek/8139too.c
1070
tp->mii.full_duplex = full_duplex[board_idx];
drivers/net/ethernet/realtek/8139too.c
1071
if (tp->mii.full_duplex) {
drivers/net/ethernet/realtek/8139too.c
1075
tp->mii.force_media = 1;
drivers/net/ethernet/realtek/8139too.c
1077
if (tp->default_port) {
drivers/net/ethernet/realtek/8139too.c
1081
mdio_write(dev, tp->phys[0], 0,
drivers/net/ethernet/realtek/8139too.c
1087
if (rtl_chip_info[tp->chipset].flags & HasHltClk)
drivers/net/ethernet/realtek/8139too.c
1102
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1106
cancel_delayed_work_sync(&tp->thread);
drivers/net/ethernet/realtek/8139too.c
1220
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1223
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1229
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1263
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1265
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1271
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1306
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1307
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1308
const int irq = tp->pci_dev->irq;
drivers/net/ethernet/realtek/8139too.c
1315
tp->tx_bufs = dma_alloc_coherent(&tp->pci_dev->dev, TX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
1316
&tp->tx_bufs_dma, GFP_KERNEL);
drivers/net/ethernet/realtek/8139too.c
1317
tp->rx_ring = dma_alloc_coherent(&tp->pci_dev->dev, RX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
1318
&tp->rx_ring_dma, GFP_KERNEL);
drivers/net/ethernet/realtek/8139too.c
1319
if (tp->tx_bufs == NULL || tp->rx_ring == NULL) {
drivers/net/ethernet/realtek/8139too.c
1322
if (tp->tx_bufs)
drivers/net/ethernet/realtek/8139too.c
1323
dma_free_coherent(&tp->pci_dev->dev, TX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
1324
tp->tx_bufs, tp->tx_bufs_dma);
drivers/net/ethernet/realtek/8139too.c
1325
if (tp->rx_ring)
drivers/net/ethernet/realtek/8139too.c
1326
dma_free_coherent(&tp->pci_dev->dev, RX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
1327
tp->rx_ring, tp->rx_ring_dma);
drivers/net/ethernet/realtek/8139too.c
1333
napi_enable(&tp->napi);
drivers/net/ethernet/realtek/8139too.c
1335
tp->mii.full_duplex = tp->mii.force_media;
drivers/net/ethernet/realtek/8139too.c
1336
tp->tx_flag = (TX_FIFO_THRESH << 11) & 0x003f0000;
drivers/net/ethernet/realtek/8139too.c
1342
netif_dbg(tp, ifup, dev,
drivers/net/ethernet/realtek/8139too.c
1345
(unsigned long long)pci_resource_start (tp->pci_dev, 1),
drivers/net/ethernet/realtek/8139too.c
1347
tp->mii.full_duplex ? "full" : "half");
drivers/net/ethernet/realtek/8139too.c
1349
rtl8139_start_thread(tp);
drivers/net/ethernet/realtek/8139too.c
1357
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1359
if (tp->phys[0] >= 0) {
drivers/net/ethernet/realtek/8139too.c
1360
mii_check_media(&tp->mii, netif_msg_link(tp), init_media);
drivers/net/ethernet/realtek/8139too.c
1367
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1368
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1373
if (rtl_chip_info[tp->chipset].flags & HasHltClk)
drivers/net/ethernet/realtek/8139too.c
1384
tp->cur_rx = 0;
drivers/net/ethernet/realtek/8139too.c
1387
RTL_W32_F (RxBuf, tp->rx_ring_dma);
drivers/net/ethernet/realtek/8139too.c
1392
tp->rx_config = rtl8139_rx_config | AcceptBroadcast | AcceptMyPhys;
drivers/net/ethernet/realtek/8139too.c
1393
RTL_W32 (RxConfig, tp->rx_config);
drivers/net/ethernet/realtek/8139too.c
1398
if (tp->chipset >= CH_8139B) {
drivers/net/ethernet/realtek/8139too.c
1412
RTL_W32_F (TxAddr0 + (i * 4), tp->tx_bufs_dma + (tp->tx_buf[i] - tp->tx_bufs));
drivers/net/ethernet/realtek/8139too.c
1434
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1437
tp->cur_rx = 0;
drivers/net/ethernet/realtek/8139too.c
1438
tp->cur_tx = 0;
drivers/net/ethernet/realtek/8139too.c
1439
tp->dirty_tx = 0;
drivers/net/ethernet/realtek/8139too.c
1442
tp->tx_buf[i] = &tp->tx_bufs[i * TX_BUF_SIZE];
drivers/net/ethernet/realtek/8139too.c
1451
struct rtl8139_private *tp) {}
drivers/net/ethernet/realtek/8139too.c
1467
struct rtl8139_private *tp)
drivers/net/ethernet/realtek/8139too.c
1470
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1476
switch (tp->twistie) {
drivers/net/ethernet/realtek/8139too.c
1481
tp->twistie = 2; /* Change to state 2. */
drivers/net/ethernet/realtek/8139too.c
1489
tp->twistie = 0; /* Bail from future actions. */
drivers/net/ethernet/realtek/8139too.c
1496
tp->twist_row = 3;
drivers/net/ethernet/realtek/8139too.c
1498
tp->twist_row = 2;
drivers/net/ethernet/realtek/8139too.c
1500
tp->twist_row = 1;
drivers/net/ethernet/realtek/8139too.c
1502
tp->twist_row = 0;
drivers/net/ethernet/realtek/8139too.c
1503
tp->twist_col = 0;
drivers/net/ethernet/realtek/8139too.c
1504
tp->twistie = 3; /* Change to state 2. */
drivers/net/ethernet/realtek/8139too.c
1509
if (tp->twist_col == 0)
drivers/net/ethernet/realtek/8139too.c
1511
RTL_W32 (PARA7c, param[(int) tp->twist_row]
drivers/net/ethernet/realtek/8139too.c
1512
[(int) tp->twist_col]);
drivers/net/ethernet/realtek/8139too.c
1514
if (++tp->twist_col >= 4) {
drivers/net/ethernet/realtek/8139too.c
1517
tp->twistie =
drivers/net/ethernet/realtek/8139too.c
1518
(tp->twist_row == 3) ? 4 : 0;
drivers/net/ethernet/realtek/8139too.c
1525
tp->twistie = 0;
drivers/net/ethernet/realtek/8139too.c
1529
tp->twistie = 5;
drivers/net/ethernet/realtek/8139too.c
1539
tp->twist_row = 2;
drivers/net/ethernet/realtek/8139too.c
1540
tp->twist_col = 0;
drivers/net/ethernet/realtek/8139too.c
1541
tp->twistie = 3;
drivers/net/ethernet/realtek/8139too.c
1553
struct rtl8139_private *tp,
drivers/net/ethernet/realtek/8139too.c
1558
mii_lpa = mdio_read (dev, tp->phys[0], MII_LPA);
drivers/net/ethernet/realtek/8139too.c
1560
if (!tp->mii.force_media && mii_lpa != 0xffff) {
drivers/net/ethernet/realtek/8139too.c
1563
if (tp->mii.full_duplex != duplex) {
drivers/net/ethernet/realtek/8139too.c
1564
tp->mii.full_duplex = duplex;
drivers/net/ethernet/realtek/8139too.c
1568
tp->mii.full_duplex ? "full" : "half",
drivers/net/ethernet/realtek/8139too.c
1569
tp->phys[0], mii_lpa);
drivers/net/ethernet/realtek/8139too.c
1575
RTL_W8 (Config1, tp->mii.full_duplex ? 0x60 : 0x20);
drivers/net/ethernet/realtek/8139too.c
1583
rtl8139_tune_twister (dev, tp);
drivers/net/ethernet/realtek/8139too.c
1595
struct rtl8139_private *tp =
drivers/net/ethernet/realtek/8139too.c
1597
struct net_device *dev = tp->mii.dev;
drivers/net/ethernet/realtek/8139too.c
1605
if (tp->watchdog_fired) {
drivers/net/ethernet/realtek/8139too.c
1606
tp->watchdog_fired = 0;
drivers/net/ethernet/realtek/8139too.c
1609
rtl8139_thread_iter(dev, tp, tp->mmio_addr);
drivers/net/ethernet/realtek/8139too.c
1611
if (tp->have_thread)
drivers/net/ethernet/realtek/8139too.c
1612
schedule_delayed_work(&tp->thread, thr_delay);
drivers/net/ethernet/realtek/8139too.c
1617
static void rtl8139_start_thread(struct rtl8139_private *tp)
drivers/net/ethernet/realtek/8139too.c
1619
tp->twistie = 0;
drivers/net/ethernet/realtek/8139too.c
1620
if (tp->chipset == CH_8139_K)
drivers/net/ethernet/realtek/8139too.c
1621
tp->twistie = 1;
drivers/net/ethernet/realtek/8139too.c
1622
else if (tp->drv_flags & HAS_LNK_CHNG)
drivers/net/ethernet/realtek/8139too.c
1625
tp->have_thread = 1;
drivers/net/ethernet/realtek/8139too.c
1626
tp->watchdog_fired = 0;
drivers/net/ethernet/realtek/8139too.c
1628
schedule_delayed_work(&tp->thread, next_tick);
drivers/net/ethernet/realtek/8139too.c
1631
static inline void rtl8139_tx_clear (struct rtl8139_private *tp)
drivers/net/ethernet/realtek/8139too.c
1633
tp->cur_tx = 0;
drivers/net/ethernet/realtek/8139too.c
1634
tp->dirty_tx = 0;
drivers/net/ethernet/realtek/8139too.c
1641
struct rtl8139_private *tp =
drivers/net/ethernet/realtek/8139too.c
1643
struct net_device *dev = tp->mii.dev;
drivers/net/ethernet/realtek/8139too.c
1644
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1648
napi_disable(&tp->napi);
drivers/net/ethernet/realtek/8139too.c
1657
tp->cur_tx, tp->dirty_tx);
drivers/net/ethernet/realtek/8139too.c
1661
i == tp->dirty_tx % NUM_TX_DESC ?
drivers/net/ethernet/realtek/8139too.c
1664
tp->xstats.tx_timeouts++;
drivers/net/ethernet/realtek/8139too.c
1672
spin_lock_bh(&tp->rx_lock);
drivers/net/ethernet/realtek/8139too.c
1677
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
1678
rtl8139_tx_clear (tp);
drivers/net/ethernet/realtek/8139too.c
1679
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
1682
napi_enable_locked(&tp->napi);
drivers/net/ethernet/realtek/8139too.c
1686
spin_unlock_bh(&tp->rx_lock);
drivers/net/ethernet/realtek/8139too.c
1692
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1694
tp->watchdog_fired = 1;
drivers/net/ethernet/realtek/8139too.c
1695
if (!tp->have_thread) {
drivers/net/ethernet/realtek/8139too.c
1696
INIT_DELAYED_WORK(&tp->thread, rtl8139_thread);
drivers/net/ethernet/realtek/8139too.c
1697
schedule_delayed_work(&tp->thread, next_tick);
drivers/net/ethernet/realtek/8139too.c
1704
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
1705
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1711
entry = tp->cur_tx % NUM_TX_DESC;
drivers/net/ethernet/realtek/8139too.c
1716
memset(tp->tx_buf[entry], 0, ETH_ZLEN);
drivers/net/ethernet/realtek/8139too.c
1717
skb_copy_and_csum_dev(skb, tp->tx_buf[entry]);
drivers/net/ethernet/realtek/8139too.c
1725
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
1733
tp->tx_flag | max(len, (unsigned int)ETH_ZLEN));
drivers/net/ethernet/realtek/8139too.c
1735
tp->cur_tx++;
drivers/net/ethernet/realtek/8139too.c
1737
if ((tp->cur_tx - NUM_TX_DESC) == tp->dirty_tx)
drivers/net/ethernet/realtek/8139too.c
1739
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
1741
netif_dbg(tp, tx_queued, dev, "Queued Tx packet size %u to slot %d\n",
drivers/net/ethernet/realtek/8139too.c
1749
struct rtl8139_private *tp,
drivers/net/ethernet/realtek/8139too.c
1757
dirty_tx = tp->dirty_tx;
drivers/net/ethernet/realtek/8139too.c
1758
tx_left = tp->cur_tx - dirty_tx;
drivers/net/ethernet/realtek/8139too.c
1771
netif_dbg(tp, tx_err, dev, "Transmit error, Tx status %08x\n",
drivers/net/ethernet/realtek/8139too.c
1787
if (tp->tx_flag < 0x00300000)
drivers/net/ethernet/realtek/8139too.c
1788
tp->tx_flag += 0x00020000;
drivers/net/ethernet/realtek/8139too.c
1792
u64_stats_update_begin(&tp->tx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
1793
tp->tx_stats.packets++;
drivers/net/ethernet/realtek/8139too.c
1794
tp->tx_stats.bytes += txstatus & 0x7ff;
drivers/net/ethernet/realtek/8139too.c
1795
u64_stats_update_end(&tp->tx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
1803
if (tp->cur_tx - dirty_tx > NUM_TX_DESC) {
drivers/net/ethernet/realtek/8139too.c
1805
dirty_tx, tp->cur_tx);
drivers/net/ethernet/realtek/8139too.c
1811
if (tp->dirty_tx != dirty_tx) {
drivers/net/ethernet/realtek/8139too.c
1812
tp->dirty_tx = dirty_tx;
drivers/net/ethernet/realtek/8139too.c
1821
struct rtl8139_private *tp, void __iomem *ioaddr)
drivers/net/ethernet/realtek/8139too.c
1828
netif_dbg(tp, rx_err, dev, "Ethernet frame had errors, status %08x\n",
drivers/net/ethernet/realtek/8139too.c
1844
tp->xstats.rx_lost_in_ring++;
drivers/net/ethernet/realtek/8139too.c
1851
RTL_W32 (RxConfig, tp->rx_config);
drivers/net/ethernet/realtek/8139too.c
1852
tp->cur_rx = 0;
drivers/net/ethernet/realtek/8139too.c
1884
tp->rx_config = rtl8139_rx_config | AcceptBroadcast | AcceptMyPhys;
drivers/net/ethernet/realtek/8139too.c
1885
RTL_W32 (RxConfig, tp->rx_config);
drivers/net/ethernet/realtek/8139too.c
1886
tp->cur_rx = 0;
drivers/net/ethernet/realtek/8139too.c
1894
RTL_W32_F (RxBuf, tp->rx_ring_dma);
drivers/net/ethernet/realtek/8139too.c
1915
static void rtl8139_isr_ack(struct rtl8139_private *tp)
drivers/net/ethernet/realtek/8139too.c
1917
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1925
tp->dev->stats.rx_errors++;
drivers/net/ethernet/realtek/8139too.c
1927
tp->dev->stats.rx_fifo_errors++;
drivers/net/ethernet/realtek/8139too.c
1933
static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp,
drivers/net/ethernet/realtek/8139too.c
1936
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
1938
unsigned char *rx_ring = tp->rx_ring;
drivers/net/ethernet/realtek/8139too.c
1939
unsigned int cur_rx = tp->cur_rx;
drivers/net/ethernet/realtek/8139too.c
1963
netif_dbg(tp, rx_status, dev, "%s() status %04x, size %04x, cur %04x\n",
drivers/net/ethernet/realtek/8139too.c
1976
if (!tp->fifo_copy_timeout)
drivers/net/ethernet/realtek/8139too.c
1977
tp->fifo_copy_timeout = jiffies + 2;
drivers/net/ethernet/realtek/8139too.c
1978
else if (time_after(jiffies, tp->fifo_copy_timeout)) {
drivers/net/ethernet/realtek/8139too.c
1983
netif_dbg(tp, intr, dev, "fifo copy in progress\n");
drivers/net/ethernet/realtek/8139too.c
1984
tp->xstats.early_rx++;
drivers/net/ethernet/realtek/8139too.c
1989
tp->fifo_copy_timeout = 0;
drivers/net/ethernet/realtek/8139too.c
2017
rtl8139_rx_err (rx_status, dev, tp, ioaddr);
drivers/net/ethernet/realtek/8139too.c
2026
skb = napi_alloc_skb(&tp->napi, pkt_size);
drivers/net/ethernet/realtek/8139too.c
2037
u64_stats_update_begin(&tp->rx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
2038
tp->rx_stats.packets++;
drivers/net/ethernet/realtek/8139too.c
2039
tp->rx_stats.bytes += pkt_size;
drivers/net/ethernet/realtek/8139too.c
2040
u64_stats_update_end(&tp->rx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
2051
rtl8139_isr_ack(tp);
drivers/net/ethernet/realtek/8139too.c
2055
rtl8139_isr_ack(tp);
drivers/net/ethernet/realtek/8139too.c
2061
tp->cur_rx = cur_rx;
drivers/net/ethernet/realtek/8139too.c
2067
if (tp->fifo_copy_timeout)
drivers/net/ethernet/realtek/8139too.c
2076
struct rtl8139_private *tp,
drivers/net/ethernet/realtek/8139too.c
2083
assert (tp != NULL);
drivers/net/ethernet/realtek/8139too.c
2091
(tp->drv_flags & HAS_LNK_CHNG)) {
drivers/net/ethernet/realtek/8139too.c
2105
pci_read_config_word (tp->pci_dev, PCI_STATUS, &pci_cmd_status);
drivers/net/ethernet/realtek/8139too.c
2106
pci_write_config_word (tp->pci_dev, PCI_STATUS, pci_cmd_status);
drivers/net/ethernet/realtek/8139too.c
2114
struct rtl8139_private *tp = container_of(napi, struct rtl8139_private, napi);
drivers/net/ethernet/realtek/8139too.c
2115
struct net_device *dev = tp->dev;
drivers/net/ethernet/realtek/8139too.c
2116
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2119
spin_lock(&tp->rx_lock);
drivers/net/ethernet/realtek/8139too.c
2122
work_done += rtl8139_rx(dev, tp, budget);
drivers/net/ethernet/realtek/8139too.c
2127
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2130
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2132
spin_unlock(&tp->rx_lock);
drivers/net/ethernet/realtek/8139too.c
2142
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2143
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2148
spin_lock (&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2179
if (napi_schedule_prep(&tp->napi)) {
drivers/net/ethernet/realtek/8139too.c
2181
__napi_schedule(&tp->napi);
drivers/net/ethernet/realtek/8139too.c
2187
rtl8139_weird_interrupt (dev, tp, ioaddr,
drivers/net/ethernet/realtek/8139too.c
2191
rtl8139_tx_interrupt (dev, tp, ioaddr);
drivers/net/ethernet/realtek/8139too.c
2196
spin_unlock (&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2210
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2211
const int irq = tp->pci_dev->irq;
drivers/net/ethernet/realtek/8139too.c
2221
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2222
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2230
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2237
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2244
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2245
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2249
napi_disable(&tp->napi);
drivers/net/ethernet/realtek/8139too.c
2251
netif_dbg(tp, ifdown, dev, "Shutting down ethercard, status was 0x%04x\n",
drivers/net/ethernet/realtek/8139too.c
2254
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2266
spin_unlock_irqrestore (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2268
free_irq(tp->pci_dev->irq, dev);
drivers/net/ethernet/realtek/8139too.c
2270
rtl8139_tx_clear (tp);
drivers/net/ethernet/realtek/8139too.c
2272
dma_free_coherent(&tp->pci_dev->dev, RX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
2273
tp->rx_ring, tp->rx_ring_dma);
drivers/net/ethernet/realtek/8139too.c
2274
dma_free_coherent(&tp->pci_dev->dev, TX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
2275
tp->tx_bufs, tp->tx_bufs_dma);
drivers/net/ethernet/realtek/8139too.c
2276
tp->rx_ring = NULL;
drivers/net/ethernet/realtek/8139too.c
2277
tp->tx_bufs = NULL;
drivers/net/ethernet/realtek/8139too.c
2282
if (rtl_chip_info[tp->chipset].flags & HasHltClk)
drivers/net/ethernet/realtek/8139too.c
2294
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2295
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2297
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2298
if (rtl_chip_info[tp->chipset].flags & HasLWake) {
drivers/net/ethernet/realtek/8139too.c
2319
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2328
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2329
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2333
support = ((rtl_chip_info[tp->chipset].flags & HasLWake)
drivers/net/ethernet/realtek/8139too.c
2340
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2361
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2368
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2370
strscpy(info->bus_info, pci_name(tp->pci_dev), sizeof(info->bus_info));
drivers/net/ethernet/realtek/8139too.c
2376
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2377
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2378
mii_ethtool_get_link_ksettings(&tp->mii, cmd);
drivers/net/ethernet/realtek/8139too.c
2379
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2386
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2388
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2389
rc = mii_ethtool_set_link_ksettings(&tp->mii, cmd);
drivers/net/ethernet/realtek/8139too.c
2390
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2396
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2397
return mii_nway_restart(&tp->mii);
drivers/net/ethernet/realtek/8139too.c
2402
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2403
return mii_link_ok(&tp->mii);
drivers/net/ethernet/realtek/8139too.c
2408
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2409
return tp->msg_enable;
drivers/net/ethernet/realtek/8139too.c
2414
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2415
tp->msg_enable = datum;
drivers/net/ethernet/realtek/8139too.c
2420
struct rtl8139_private *tp;
drivers/net/ethernet/realtek/8139too.c
2424
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2425
return tp->regs_len;
drivers/net/ethernet/realtek/8139too.c
2430
struct rtl8139_private *tp;
drivers/net/ethernet/realtek/8139too.c
2435
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2439
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2440
memcpy_fromio(regbuf, tp->mmio_addr, regs->len);
drivers/net/ethernet/realtek/8139too.c
2441
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2456
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2458
data[0] = tp->xstats.early_rx;
drivers/net/ethernet/realtek/8139too.c
2459
data[1] = tp->xstats.tx_buf_mapped;
drivers/net/ethernet/realtek/8139too.c
2460
data[2] = tp->xstats.tx_timeouts;
drivers/net/ethernet/realtek/8139too.c
2461
data[3] = tp->xstats.rx_lost_in_ring;
drivers/net/ethernet/realtek/8139too.c
2488
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2494
spin_lock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2495
rc = generic_mii_ioctl(&tp->mii, if_mii(rq), cmd, NULL);
drivers/net/ethernet/realtek/8139too.c
2496
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/realtek/8139too.c
2505
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2506
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2511
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2514
spin_unlock_irqrestore (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2520
start = u64_stats_fetch_begin(&tp->rx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
2521
stats->rx_packets = tp->rx_stats.packets;
drivers/net/ethernet/realtek/8139too.c
2522
stats->rx_bytes = tp->rx_stats.bytes;
drivers/net/ethernet/realtek/8139too.c
2523
} while (u64_stats_fetch_retry(&tp->rx_stats.syncp, start));
drivers/net/ethernet/realtek/8139too.c
2526
start = u64_stats_fetch_begin(&tp->tx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
2527
stats->tx_packets = tp->tx_stats.packets;
drivers/net/ethernet/realtek/8139too.c
2528
stats->tx_bytes = tp->tx_stats.bytes;
drivers/net/ethernet/realtek/8139too.c
2529
} while (u64_stats_fetch_retry(&tp->tx_stats.syncp, start));
drivers/net/ethernet/realtek/8139too.c
2537
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2538
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2574
if (tp->rx_config != tmp) {
drivers/net/ethernet/realtek/8139too.c
2576
tp->rx_config = tmp;
drivers/net/ethernet/realtek/8139too.c
2585
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2587
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2589
spin_unlock_irqrestore (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2595
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
2596
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
2604
spin_lock_irqsave (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
2614
spin_unlock_irqrestore (&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
639
static void rtl8139_start_thread(struct rtl8139_private *tp);
drivers/net/ethernet/realtek/8139too.c
715
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
719
assert (tp->pci_dev != NULL);
drivers/net/ethernet/realtek/8139too.c
720
pdev = tp->pci_dev;
drivers/net/ethernet/realtek/8139too.c
722
if (tp->mmio_addr)
drivers/net/ethernet/realtek/8139too.c
723
pci_iounmap (pdev, tp->mmio_addr);
drivers/net/ethernet/realtek/8139too.c
754
struct rtl8139_private *tp;
drivers/net/ethernet/realtek/8139too.c
771
dev = alloc_etherdev (sizeof (*tp));
drivers/net/ethernet/realtek/8139too.c
777
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
778
tp->pci_dev = pdev;
drivers/net/ethernet/realtek/8139too.c
792
u64_stats_init(&tp->rx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
793
u64_stats_init(&tp->tx_stats.syncp);
drivers/net/ethernet/realtek/8139too.c
826
tp->regs_len = io_len;
drivers/net/ethernet/realtek/8139too.c
827
tp->mmio_addr = ioaddr;
drivers/net/ethernet/realtek/8139too.c
843
tp->chipset = i;
drivers/net/ethernet/realtek/8139too.c
851
tp->chipset = 0;
drivers/net/ethernet/realtek/8139too.c
857
if (tp->chipset >= CH_8139B) {
drivers/net/ethernet/realtek/8139too.c
860
if ((rtl_chip_info[tp->chipset].flags & HasLWake) &&
drivers/net/ethernet/realtek/8139too.c
869
if (rtl_chip_info[tp->chipset].flags & HasLWake) {
drivers/net/ethernet/realtek/8139too.c
897
struct rtl8139_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
900
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
905
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
908
int rx_mode = tp->rx_config;
drivers/net/ethernet/realtek/8139too.c
913
tp->rx_config = rtl8139_rx_config | rx_mode;
drivers/net/ethernet/realtek/8139too.c
914
RTL_W32_F(RxConfig, tp->rx_config);
drivers/net/ethernet/realtek/8139too.c
917
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/realtek/8139too.c
942
struct rtl8139_private *tp;
drivers/net/ethernet/realtek/8139too.c
974
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/8139too.c
975
tp->dev = dev;
drivers/net/ethernet/realtek/8139too.c
977
ioaddr = tp->mmio_addr;
drivers/net/ethernet/realtek/8139too.c
989
netif_napi_add(dev, &tp->napi, rtl8139_poll);
drivers/net/ethernet/realtek/r8169.h
83
void r8169_apply_firmware(struct rtl8169_private *tp);
drivers/net/ethernet/realtek/r8169.h
84
u16 rtl8168h_2_get_adc_bias_ioffset(struct rtl8169_private *tp);
drivers/net/ethernet/realtek/r8169.h
85
u8 rtl8168d_efuse_read(struct rtl8169_private *tp, int reg_addr);
drivers/net/ethernet/realtek/r8169.h
86
void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,
drivers/net/ethernet/realtek/r8169.h
89
void r8169_get_led_name(struct rtl8169_private *tp, int idx,
drivers/net/ethernet/realtek/r8169.h
91
int rtl8168_get_led_mode(struct rtl8169_private *tp);
drivers/net/ethernet/realtek/r8169.h
92
int rtl8168_led_mod_ctrl(struct rtl8169_private *tp, u16 mask, u16 val);
drivers/net/ethernet/realtek/r8169.h
94
int rtl8125_get_led_mode(struct rtl8169_private *tp, int index);
drivers/net/ethernet/realtek/r8169.h
95
int rtl8125_set_led_mode(struct rtl8169_private *tp, int index, u16 mode);
drivers/net/ethernet/realtek/r8169_firmware.c
140
void rtl_fw_write_firmware(struct rtl8169_private *tp, struct rtl_fw *rtl_fw)
drivers/net/ethernet/realtek/r8169_firmware.c
156
predata = fw_read(tp, regno);
drivers/net/ethernet/realtek/r8169_firmware.c
182
fw_write(tp, regno, data);
drivers/net/ethernet/realtek/r8169_firmware.c
197
fw_write(tp, regno, predata);
drivers/net/ethernet/realtek/r8169_firmware.h
15
typedef void (*rtl_fw_write_t)(struct rtl8169_private *tp, int reg, int val);
drivers/net/ethernet/realtek/r8169_firmware.h
16
typedef int (*rtl_fw_read_t)(struct rtl8169_private *tp, int reg);
drivers/net/ethernet/realtek/r8169_firmware.h
39
void rtl_fw_write_firmware(struct rtl8169_private *tp, struct rtl_fw *rtl_fw);
drivers/net/ethernet/realtek/r8169_leds.c
102
rtl8168_led_mod_ctrl(tp, RTL8168_LED_CTRL_OPTION2, 0);
drivers/net/ethernet/realtek/r8169_leds.c
132
struct rtl8169_private *tp = netdev_priv(ndev);
drivers/net/ethernet/realtek/r8169_leds.c
139
r8169_get_led_name(tp, index, led_name, LED_MAX_NAME_SIZE);
drivers/net/ethernet/realtek/r8169_leds.c
171
struct rtl8169_private *tp = netdev_priv(ldev->ndev);
drivers/net/ethernet/realtek/r8169_leds.c
175
rtl8125_set_led_mode(tp, ldev->index, 0);
drivers/net/ethernet/realtek/r8169_leds.c
186
struct rtl8169_private *tp = netdev_priv(ldev->ndev);
drivers/net/ethernet/realtek/r8169_leds.c
200
return rtl8125_set_led_mode(tp, ldev->index, mode);
drivers/net/ethernet/realtek/r8169_leds.c
207
struct rtl8169_private *tp = netdev_priv(ldev->ndev);
drivers/net/ethernet/realtek/r8169_leds.c
210
mode = rtl8125_get_led_mode(tp, ldev->index);
drivers/net/ethernet/realtek/r8169_leds.c
231
struct rtl8169_private *tp = netdev_priv(ndev);
drivers/net/ethernet/realtek/r8169_leds.c
238
r8169_get_led_name(tp, index, led_name, LED_MAX_NAME_SIZE);
drivers/net/ethernet/realtek/r8169_leds.c
57
struct rtl8169_private *tp = netdev_priv(ldev->ndev);
drivers/net/ethernet/realtek/r8169_leds.c
62
rtl8168_led_mod_ctrl(tp, 0x000f << shift, 0);
drivers/net/ethernet/realtek/r8169_leds.c
73
struct rtl8169_private *tp = netdev_priv(ldev->ndev);
drivers/net/ethernet/realtek/r8169_leds.c
86
return rtl8168_led_mod_ctrl(tp, 0x000f << shift, mode << shift);
drivers/net/ethernet/realtek/r8169_leds.c
93
struct rtl8169_private *tp = netdev_priv(ldev->ndev);
drivers/net/ethernet/realtek/r8169_leds.c
97
mode = rtl8168_get_led_mode(tp);
drivers/net/ethernet/realtek/r8169_main.c
1001
int rtl8125_get_led_mode(struct rtl8169_private *tp, int index)
drivers/net/ethernet/realtek/r8169_main.c
1004
struct device *dev = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
1011
ret = RTL_R16(tp, reg);
drivers/net/ethernet/realtek/r8169_main.c
1018
void r8169_get_led_name(struct rtl8169_private *tp, int idx,
drivers/net/ethernet/realtek/r8169_main.c
1021
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
1040
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
drivers/net/ethernet/realtek/r8169_main.c
1043
if (type == ERIAR_OOB && tp->mac_version == RTL_GIGA_MAC_VER_52)
drivers/net/ethernet/realtek/r8169_main.c
1049
return RTL_R32(tp, ERIAR) & ERIAR_FLAG;
drivers/net/ethernet/realtek/r8169_main.c
1052
static void _rtl_eri_write(struct rtl8169_private *tp, int addr, u32 mask,
drivers/net/ethernet/realtek/r8169_main.c
1060
RTL_W32(tp, ERIDR, val);
drivers/net/ethernet/realtek/r8169_main.c
1061
r8168fp_adjust_ocp_cmd(tp, &cmd, type);
drivers/net/ethernet/realtek/r8169_main.c
1062
RTL_W32(tp, ERIAR, cmd);
drivers/net/ethernet/realtek/r8169_main.c
1064
rtl_loop_wait_low(tp, &rtl_eriar_cond, 100, 100);
drivers/net/ethernet/realtek/r8169_main.c
1067
static void rtl_eri_write(struct rtl8169_private *tp, int addr, u32 mask,
drivers/net/ethernet/realtek/r8169_main.c
1070
_rtl_eri_write(tp, addr, mask, val, ERIAR_EXGMAC);
drivers/net/ethernet/realtek/r8169_main.c
1073
static u32 _rtl_eri_read(struct rtl8169_private *tp, int addr, int type)
drivers/net/ethernet/realtek/r8169_main.c
1077
r8168fp_adjust_ocp_cmd(tp, &cmd, type);
drivers/net/ethernet/realtek/r8169_main.c
1078
RTL_W32(tp, ERIAR, cmd);
drivers/net/ethernet/realtek/r8169_main.c
1080
return rtl_loop_wait_high(tp, &rtl_eriar_cond, 100, 100) ?
drivers/net/ethernet/realtek/r8169_main.c
1081
RTL_R32(tp, ERIDR) : ~0;
drivers/net/ethernet/realtek/r8169_main.c
1084
static u32 rtl_eri_read(struct rtl8169_private *tp, int addr)
drivers/net/ethernet/realtek/r8169_main.c
1086
return _rtl_eri_read(tp, addr, ERIAR_EXGMAC);
drivers/net/ethernet/realtek/r8169_main.c
1089
static void rtl_w0w1_eri(struct rtl8169_private *tp, int addr, u32 p, u32 m)
drivers/net/ethernet/realtek/r8169_main.c
1091
u32 val = rtl_eri_read(tp, addr);
drivers/net/ethernet/realtek/r8169_main.c
1093
rtl_eri_write(tp, addr, ERIAR_MASK_1111, (val & ~m) | p);
drivers/net/ethernet/realtek/r8169_main.c
1096
static void rtl_eri_set_bits(struct rtl8169_private *tp, int addr, u32 p)
drivers/net/ethernet/realtek/r8169_main.c
1098
rtl_w0w1_eri(tp, addr, p, 0);
drivers/net/ethernet/realtek/r8169_main.c
1101
static void rtl_eri_clear_bits(struct rtl8169_private *tp, int addr, u32 m)
drivers/net/ethernet/realtek/r8169_main.c
1103
rtl_w0w1_eri(tp, addr, 0, m);
drivers/net/ethernet/realtek/r8169_main.c
1113
return RTL_R32(tp, GPHY_OCP) & OCPAR_FLAG;
drivers/net/ethernet/realtek/r8169_main.c
1116
static void r8168_phy_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
drivers/net/ethernet/realtek/r8169_main.c
1121
RTL_W32(tp, GPHY_OCP, OCPAR_FLAG | (reg << 15) | data);
drivers/net/ethernet/realtek/r8169_main.c
1123
rtl_loop_wait_low(tp, &rtl_ocp_gphy_cond, 25, 10);
drivers/net/ethernet/realtek/r8169_main.c
1126
static int r8168_phy_ocp_read(struct rtl8169_private *tp, u32 reg)
drivers/net/ethernet/realtek/r8169_main.c
1132
if (tp->sfp_mode && reg == (OCP_STD_PHY_BASE + 2 * MII_PHYSID2))
drivers/net/ethernet/realtek/r8169_main.c
1135
RTL_W32(tp, GPHY_OCP, reg << 15);
drivers/net/ethernet/realtek/r8169_main.c
1137
return rtl_loop_wait_high(tp, &rtl_ocp_gphy_cond, 25, 10) ?
drivers/net/ethernet/realtek/r8169_main.c
1138
(RTL_R32(tp, GPHY_OCP) & 0xffff) : -ETIMEDOUT;
drivers/net/ethernet/realtek/r8169_main.c
1141
static void __r8168_mac_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
drivers/net/ethernet/realtek/r8169_main.c
1146
RTL_W32(tp, OCPDR, OCPAR_FLAG | (reg << 15) | data);
drivers/net/ethernet/realtek/r8169_main.c
1149
static void r8168_mac_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
drivers/net/ethernet/realtek/r8169_main.c
1153
raw_spin_lock_irqsave(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
1154
__r8168_mac_ocp_write(tp, reg, data);
drivers/net/ethernet/realtek/r8169_main.c
1155
raw_spin_unlock_irqrestore(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
1158
static u16 __r8168_mac_ocp_read(struct rtl8169_private *tp, u32 reg)
drivers/net/ethernet/realtek/r8169_main.c
1163
RTL_W32(tp, OCPDR, reg << 15);
drivers/net/ethernet/realtek/r8169_main.c
1165
return RTL_R32(tp, OCPDR);
drivers/net/ethernet/realtek/r8169_main.c
1168
static u16 r8168_mac_ocp_read(struct rtl8169_private *tp, u32 reg)
drivers/net/ethernet/realtek/r8169_main.c
1173
raw_spin_lock_irqsave(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
1174
val = __r8168_mac_ocp_read(tp, reg);
drivers/net/ethernet/realtek/r8169_main.c
1175
raw_spin_unlock_irqrestore(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
1180
static void r8168_mac_ocp_modify(struct rtl8169_private *tp, u32 reg, u16 mask,
drivers/net/ethernet/realtek/r8169_main.c
1186
raw_spin_lock_irqsave(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
1187
data = __r8168_mac_ocp_read(tp, reg);
drivers/net/ethernet/realtek/r8169_main.c
1188
__r8168_mac_ocp_write(tp, reg, (data & ~mask) | set);
drivers/net/ethernet/realtek/r8169_main.c
1189
raw_spin_unlock_irqrestore(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
1192
static void r8127_sfp_sds_phy_reset(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1194
RTL_W8(tp, 0x2350, RTL_R8(tp, 0x2350) & ~BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
1197
RTL_W16(tp, 0x233a, 0x801f);
drivers/net/ethernet/realtek/r8169_main.c
1198
RTL_W8(tp, 0x2350, RTL_R8(tp, 0x2350) | BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
1202
static void r8127_sfp_init_10g(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1206
r8127_sfp_sds_phy_reset(tp);
drivers/net/ethernet/realtek/r8169_main.c
1208
RTL_W16(tp, 0x233a, 0x801a);
drivers/net/ethernet/realtek/r8169_main.c
1209
RTL_W16(tp, 0x233e, (RTL_R16(tp, 0x233e) & ~0x3003) | 0x1000);
drivers/net/ethernet/realtek/r8169_main.c
1211
r8168_phy_ocp_write(tp, 0xc40a, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
1212
r8168_phy_ocp_write(tp, 0xc466, 0x0003);
drivers/net/ethernet/realtek/r8169_main.c
1213
r8168_phy_ocp_write(tp, 0xc808, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
1214
r8168_phy_ocp_write(tp, 0xc80a, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
1216
val = r8168_phy_ocp_read(tp, 0xc804);
drivers/net/ethernet/realtek/r8169_main.c
1217
r8168_phy_ocp_write(tp, 0xc804, (val & ~0x000f) | 0x000c);
drivers/net/ethernet/realtek/r8169_main.c
1220
static void rtl_sfp_init(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1222
if (tp->mac_version == RTL_GIGA_MAC_VER_80)
drivers/net/ethernet/realtek/r8169_main.c
1223
r8127_sfp_init_10g(tp);
drivers/net/ethernet/realtek/r8169_main.c
1226
static void rtl_sfp_reset(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1228
if (tp->mac_version == RTL_GIGA_MAC_VER_80)
drivers/net/ethernet/realtek/r8169_main.c
1229
r8127_sfp_sds_phy_reset(tp);
drivers/net/ethernet/realtek/r8169_main.c
1235
static void rtl8168g_phy_suspend_quirk(struct rtl8169_private *tp, int value)
drivers/net/ethernet/realtek/r8169_main.c
1237
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
1240
rtl_eri_set_bits(tp, 0x1a8, 0xfc000000);
drivers/net/ethernet/realtek/r8169_main.c
1242
rtl_eri_clear_bits(tp, 0x1a8, 0xfc000000);
drivers/net/ethernet/realtek/r8169_main.c
1249
static void r8168g_mdio_write(struct rtl8169_private *tp, int reg, int value)
drivers/net/ethernet/realtek/r8169_main.c
1252
tp->ocp_base = value ? value << 4 : OCP_STD_PHY_BASE;
drivers/net/ethernet/realtek/r8169_main.c
1256
if (tp->ocp_base != OCP_STD_PHY_BASE)
drivers/net/ethernet/realtek/r8169_main.c
1259
if (tp->ocp_base == OCP_STD_PHY_BASE && reg == MII_BMCR)
drivers/net/ethernet/realtek/r8169_main.c
1260
rtl8168g_phy_suspend_quirk(tp, value);
drivers/net/ethernet/realtek/r8169_main.c
1262
r8168_phy_ocp_write(tp, tp->ocp_base + reg * 2, value);
drivers/net/ethernet/realtek/r8169_main.c
1265
static int r8168g_mdio_read(struct rtl8169_private *tp, int reg)
drivers/net/ethernet/realtek/r8169_main.c
1268
return tp->ocp_base == OCP_STD_PHY_BASE ? 0 : tp->ocp_base >> 4;
drivers/net/ethernet/realtek/r8169_main.c
1270
if (tp->ocp_base != OCP_STD_PHY_BASE)
drivers/net/ethernet/realtek/r8169_main.c
1273
return r8168_phy_ocp_read(tp, tp->ocp_base + reg * 2);
drivers/net/ethernet/realtek/r8169_main.c
1276
static void mac_mcu_write(struct rtl8169_private *tp, int reg, int value)
drivers/net/ethernet/realtek/r8169_main.c
1279
tp->ocp_base = value << 4;
drivers/net/ethernet/realtek/r8169_main.c
1283
r8168_mac_ocp_write(tp, tp->ocp_base + reg, value);
drivers/net/ethernet/realtek/r8169_main.c
1286
static int mac_mcu_read(struct rtl8169_private *tp, int reg)
drivers/net/ethernet/realtek/r8169_main.c
1288
return r8168_mac_ocp_read(tp, tp->ocp_base + reg);
drivers/net/ethernet/realtek/r8169_main.c
1293
return RTL_R32(tp, PHYAR) & 0x80000000;
drivers/net/ethernet/realtek/r8169_main.c
1296
static void r8169_mdio_write(struct rtl8169_private *tp, int reg, int value)
drivers/net/ethernet/realtek/r8169_main.c
1298
RTL_W32(tp, PHYAR, 0x80000000 | (reg & 0x1f) << 16 | (value & 0xffff));
drivers/net/ethernet/realtek/r8169_main.c
1300
rtl_loop_wait_low(tp, &rtl_phyar_cond, 25, 20);
drivers/net/ethernet/realtek/r8169_main.c
1308
static int r8169_mdio_read(struct rtl8169_private *tp, int reg)
drivers/net/ethernet/realtek/r8169_main.c
1312
RTL_W32(tp, PHYAR, 0x0 | (reg & 0x1f) << 16);
drivers/net/ethernet/realtek/r8169_main.c
1314
value = rtl_loop_wait_high(tp, &rtl_phyar_cond, 25, 20) ?
drivers/net/ethernet/realtek/r8169_main.c
1315
RTL_R32(tp, PHYAR) & 0xffff : -ETIMEDOUT;
drivers/net/ethernet/realtek/r8169_main.c
1328
return RTL_R32(tp, OCPAR) & OCPAR_FLAG;
drivers/net/ethernet/realtek/r8169_main.c
1333
static void r8168dp_2_mdio_start(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1335
RTL_W32(tp, 0xd0, RTL_R32(tp, 0xd0) & ~R8168DP_1_MDIO_ACCESS_BIT);
drivers/net/ethernet/realtek/r8169_main.c
1338
static void r8168dp_2_mdio_stop(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1340
RTL_W32(tp, 0xd0, RTL_R32(tp, 0xd0) | R8168DP_1_MDIO_ACCESS_BIT);
drivers/net/ethernet/realtek/r8169_main.c
1343
static void r8168dp_2_mdio_write(struct rtl8169_private *tp, int reg, int value)
drivers/net/ethernet/realtek/r8169_main.c
1345
r8168dp_2_mdio_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
1347
r8169_mdio_write(tp, reg, value);
drivers/net/ethernet/realtek/r8169_main.c
1349
r8168dp_2_mdio_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
1352
static int r8168dp_2_mdio_read(struct rtl8169_private *tp, int reg)
drivers/net/ethernet/realtek/r8169_main.c
1360
r8168dp_2_mdio_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
1362
value = r8169_mdio_read(tp, reg);
drivers/net/ethernet/realtek/r8169_main.c
1364
r8168dp_2_mdio_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
1369
static void rtl_writephy(struct rtl8169_private *tp, int location, int val)
drivers/net/ethernet/realtek/r8169_main.c
1371
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
1374
r8168dp_2_mdio_write(tp, location, val);
drivers/net/ethernet/realtek/r8169_main.c
1377
r8168g_mdio_write(tp, location, val);
drivers/net/ethernet/realtek/r8169_main.c
1380
r8169_mdio_write(tp, location, val);
drivers/net/ethernet/realtek/r8169_main.c
1385
static int rtl_readphy(struct rtl8169_private *tp, int location)
drivers/net/ethernet/realtek/r8169_main.c
1387
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
1390
return r8168dp_2_mdio_read(tp, location);
drivers/net/ethernet/realtek/r8169_main.c
1392
return r8168g_mdio_read(tp, location);
drivers/net/ethernet/realtek/r8169_main.c
1394
return r8169_mdio_read(tp, location);
drivers/net/ethernet/realtek/r8169_main.c
1400
return RTL_R32(tp, EPHYAR) & EPHYAR_FLAG;
drivers/net/ethernet/realtek/r8169_main.c
1403
static void rtl_ephy_write(struct rtl8169_private *tp, int reg_addr, int value)
drivers/net/ethernet/realtek/r8169_main.c
1405
RTL_W32(tp, EPHYAR, EPHYAR_WRITE_CMD | (value & EPHYAR_DATA_MASK) |
drivers/net/ethernet/realtek/r8169_main.c
1408
rtl_loop_wait_low(tp, &rtl_ephyar_cond, 10, 100);
drivers/net/ethernet/realtek/r8169_main.c
1413
static u16 rtl_ephy_read(struct rtl8169_private *tp, int reg_addr)
drivers/net/ethernet/realtek/r8169_main.c
1415
RTL_W32(tp, EPHYAR, (reg_addr & EPHYAR_REG_MASK) << EPHYAR_REG_SHIFT);
drivers/net/ethernet/realtek/r8169_main.c
1417
return rtl_loop_wait_high(tp, &rtl_ephyar_cond, 10, 100) ?
drivers/net/ethernet/realtek/r8169_main.c
1418
RTL_R32(tp, EPHYAR) & EPHYAR_DATA_MASK : ~0;
drivers/net/ethernet/realtek/r8169_main.c
1421
static u32 r8168dp_ocp_read(struct rtl8169_private *tp, u16 reg)
drivers/net/ethernet/realtek/r8169_main.c
1423
RTL_W32(tp, OCPAR, 0x0fu << 12 | (reg & 0x0fff));
drivers/net/ethernet/realtek/r8169_main.c
1424
return rtl_loop_wait_high(tp, &rtl_ocpar_cond, 100, 20) ?
drivers/net/ethernet/realtek/r8169_main.c
1425
RTL_R32(tp, OCPDR) : ~0;
drivers/net/ethernet/realtek/r8169_main.c
1428
static u32 r8168ep_ocp_read(struct rtl8169_private *tp, u16 reg)
drivers/net/ethernet/realtek/r8169_main.c
1430
return _rtl_eri_read(tp, reg, ERIAR_OOB);
drivers/net/ethernet/realtek/r8169_main.c
1433
static void r8168dp_ocp_write(struct rtl8169_private *tp, u8 mask, u16 reg,
drivers/net/ethernet/realtek/r8169_main.c
1436
RTL_W32(tp, OCPDR, data);
drivers/net/ethernet/realtek/r8169_main.c
1437
RTL_W32(tp, OCPAR, OCPAR_FLAG | ((u32)mask & 0x0f) << 12 | (reg & 0x0fff));
drivers/net/ethernet/realtek/r8169_main.c
1438
rtl_loop_wait_low(tp, &rtl_ocpar_cond, 100, 20);
drivers/net/ethernet/realtek/r8169_main.c
1441
static void r8168ep_ocp_write(struct rtl8169_private *tp, u8 mask, u16 reg,
drivers/net/ethernet/realtek/r8169_main.c
1444
_rtl_eri_write(tp, reg, ((u32)mask & 0x0f) << ERIAR_MASK_SHIFT,
drivers/net/ethernet/realtek/r8169_main.c
1448
static void r8168dp_oob_notify(struct rtl8169_private *tp, u8 cmd)
drivers/net/ethernet/realtek/r8169_main.c
1450
rtl_eri_write(tp, 0xe8, ERIAR_MASK_0001, cmd);
drivers/net/ethernet/realtek/r8169_main.c
1452
r8168dp_ocp_write(tp, 0x1, 0x30, 0x00000001);
drivers/net/ethernet/realtek/r8169_main.c
1459
static u16 rtl8168_get_ocp_reg(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1461
return (tp->mac_version == RTL_GIGA_MAC_VER_31) ? 0xb8 : 0x10;
drivers/net/ethernet/realtek/r8169_main.c
1468
reg = rtl8168_get_ocp_reg(tp);
drivers/net/ethernet/realtek/r8169_main.c
1470
return r8168dp_ocp_read(tp, reg) & 0x00000800;
drivers/net/ethernet/realtek/r8169_main.c
1475
return r8168ep_ocp_read(tp, 0x124) & 0x00000001;
drivers/net/ethernet/realtek/r8169_main.c
1480
return RTL_R8(tp, IBISR0) & 0x20;
drivers/net/ethernet/realtek/r8169_main.c
1483
static void rtl8168ep_stop_cmac(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1485
RTL_W8(tp, IBCR2, RTL_R8(tp, IBCR2) & ~0x01);
drivers/net/ethernet/realtek/r8169_main.c
1486
rtl_loop_wait_high(tp, &rtl_ocp_tx_cond, 50000, 2000);
drivers/net/ethernet/realtek/r8169_main.c
1487
RTL_W8(tp, IBISR0, RTL_R8(tp, IBISR0) | 0x20);
drivers/net/ethernet/realtek/r8169_main.c
1488
RTL_W8(tp, IBCR0, RTL_R8(tp, IBCR0) & ~0x01);
drivers/net/ethernet/realtek/r8169_main.c
1491
static void rtl8168dp_driver_start(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1493
r8168dp_oob_notify(tp, OOB_CMD_DRIVER_START);
drivers/net/ethernet/realtek/r8169_main.c
1494
if (tp->dash_enabled)
drivers/net/ethernet/realtek/r8169_main.c
1495
rtl_loop_wait_high(tp, &rtl_dp_ocp_read_cond, 10000, 10);
drivers/net/ethernet/realtek/r8169_main.c
1498
static void rtl8168ep_driver_start(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1500
r8168ep_ocp_write(tp, 0x01, 0x180, OOB_CMD_DRIVER_START);
drivers/net/ethernet/realtek/r8169_main.c
1501
r8168ep_ocp_write(tp, 0x01, 0x30, r8168ep_ocp_read(tp, 0x30) | 0x01);
drivers/net/ethernet/realtek/r8169_main.c
1502
if (tp->dash_enabled)
drivers/net/ethernet/realtek/r8169_main.c
1503
rtl_loop_wait_high(tp, &rtl_ep_ocp_read_cond, 10000, 30);
drivers/net/ethernet/realtek/r8169_main.c
1506
static void rtl8125bp_driver_start(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1508
r8168ep_ocp_write(tp, 0x01, 0x14, OOB_CMD_DRIVER_START);
drivers/net/ethernet/realtek/r8169_main.c
1509
r8168ep_ocp_write(tp, 0x01, 0x18, 0x00);
drivers/net/ethernet/realtek/r8169_main.c
1510
r8168ep_ocp_write(tp, 0x01, 0x10, 0x01);
drivers/net/ethernet/realtek/r8169_main.c
1513
static void rtl8168_driver_start(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1515
if (tp->dash_type == RTL_DASH_DP)
drivers/net/ethernet/realtek/r8169_main.c
1516
rtl8168dp_driver_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
1517
else if (tp->dash_type == RTL_DASH_25_BP)
drivers/net/ethernet/realtek/r8169_main.c
1518
rtl8125bp_driver_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
1520
rtl8168ep_driver_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
1523
static void rtl8168dp_driver_stop(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1525
r8168dp_oob_notify(tp, OOB_CMD_DRIVER_STOP);
drivers/net/ethernet/realtek/r8169_main.c
1526
if (tp->dash_enabled)
drivers/net/ethernet/realtek/r8169_main.c
1527
rtl_loop_wait_low(tp, &rtl_dp_ocp_read_cond, 10000, 10);
drivers/net/ethernet/realtek/r8169_main.c
1530
static void rtl8168ep_driver_stop(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1532
rtl8168ep_stop_cmac(tp);
drivers/net/ethernet/realtek/r8169_main.c
1533
r8168ep_ocp_write(tp, 0x01, 0x180, OOB_CMD_DRIVER_STOP);
drivers/net/ethernet/realtek/r8169_main.c
1534
r8168ep_ocp_write(tp, 0x01, 0x30, r8168ep_ocp_read(tp, 0x30) | 0x01);
drivers/net/ethernet/realtek/r8169_main.c
1535
if (tp->dash_enabled)
drivers/net/ethernet/realtek/r8169_main.c
1536
rtl_loop_wait_low(tp, &rtl_ep_ocp_read_cond, 10000, 10);
drivers/net/ethernet/realtek/r8169_main.c
1539
static void rtl8125bp_driver_stop(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1541
r8168ep_ocp_write(tp, 0x01, 0x14, OOB_CMD_DRIVER_STOP);
drivers/net/ethernet/realtek/r8169_main.c
1542
r8168ep_ocp_write(tp, 0x01, 0x18, 0x00);
drivers/net/ethernet/realtek/r8169_main.c
1543
r8168ep_ocp_write(tp, 0x01, 0x10, 0x01);
drivers/net/ethernet/realtek/r8169_main.c
1546
static void rtl8168_driver_stop(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1548
if (tp->dash_type == RTL_DASH_DP)
drivers/net/ethernet/realtek/r8169_main.c
1549
rtl8168dp_driver_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
1550
else if (tp->dash_type == RTL_DASH_25_BP)
drivers/net/ethernet/realtek/r8169_main.c
1551
rtl8125bp_driver_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
1553
rtl8168ep_driver_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
1556
static bool r8168dp_check_dash(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1558
u16 reg = rtl8168_get_ocp_reg(tp);
drivers/net/ethernet/realtek/r8169_main.c
1560
return r8168dp_ocp_read(tp, reg) & BIT(15);
drivers/net/ethernet/realtek/r8169_main.c
1563
static bool r8168ep_check_dash(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1565
return r8168ep_ocp_read(tp, 0x128) & BIT(0);
drivers/net/ethernet/realtek/r8169_main.c
1568
static bool rtl_dash_is_enabled(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1570
switch (tp->dash_type) {
drivers/net/ethernet/realtek/r8169_main.c
1572
return r8168dp_check_dash(tp);
drivers/net/ethernet/realtek/r8169_main.c
1575
return r8168ep_check_dash(tp);
drivers/net/ethernet/realtek/r8169_main.c
1581
static enum rtl_dash_type rtl_get_dash_type(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1583
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
1592
return (tp->pci_dev->revision == 0x04)
drivers/net/ethernet/realtek/r8169_main.c
1600
static void rtl_set_d3_pll_down(struct rtl8169_private *tp, bool enable)
drivers/net/ethernet/realtek/r8169_main.c
1602
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
1609
r8169_mod_reg8_cond(tp, PMCH, D3_NO_PLL_DOWN, true);
drivers/net/ethernet/realtek/r8169_main.c
1612
r8169_mod_reg8_cond(tp, PMCH, D3HOT_NO_PLL_DOWN, true);
drivers/net/ethernet/realtek/r8169_main.c
1613
r8169_mod_reg8_cond(tp, PMCH, D3COLD_NO_PLL_DOWN, !enable);
drivers/net/ethernet/realtek/r8169_main.c
1618
static void rtl_reset_packet_filter(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1620
rtl_eri_clear_bits(tp, 0xdc, BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
1621
rtl_eri_set_bits(tp, 0xdc, BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
1626
return RTL_R32(tp, EFUSEAR) & EFUSEAR_FLAG;
drivers/net/ethernet/realtek/r8169_main.c
1629
u8 rtl8168d_efuse_read(struct rtl8169_private *tp, int reg_addr)
drivers/net/ethernet/realtek/r8169_main.c
1631
RTL_W32(tp, EFUSEAR, (reg_addr & EFUSEAR_REG_MASK) << EFUSEAR_REG_SHIFT);
drivers/net/ethernet/realtek/r8169_main.c
1633
return rtl_loop_wait_high(tp, &rtl_efusear_cond, 100, 300) ?
drivers/net/ethernet/realtek/r8169_main.c
1634
RTL_R32(tp, EFUSEAR) & EFUSEAR_DATA_MASK : ~0;
drivers/net/ethernet/realtek/r8169_main.c
1637
static u32 rtl_get_events(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1639
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
1640
return RTL_R32(tp, IntrStatus_8125);
drivers/net/ethernet/realtek/r8169_main.c
1642
return RTL_R16(tp, IntrStatus);
drivers/net/ethernet/realtek/r8169_main.c
1645
static void rtl_ack_events(struct rtl8169_private *tp, u32 bits)
drivers/net/ethernet/realtek/r8169_main.c
1647
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
1648
RTL_W32(tp, IntrStatus_8125, bits);
drivers/net/ethernet/realtek/r8169_main.c
1650
RTL_W16(tp, IntrStatus, bits);
drivers/net/ethernet/realtek/r8169_main.c
1653
static void rtl_irq_disable(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1655
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
1656
RTL_W32(tp, IntrMask_8125, 0);
drivers/net/ethernet/realtek/r8169_main.c
1658
RTL_W16(tp, IntrMask, 0);
drivers/net/ethernet/realtek/r8169_main.c
1661
static void rtl_irq_enable(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1663
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
1664
RTL_W32(tp, IntrMask_8125, tp->irq_mask);
drivers/net/ethernet/realtek/r8169_main.c
1666
RTL_W16(tp, IntrMask, tp->irq_mask);
drivers/net/ethernet/realtek/r8169_main.c
1669
static void rtl8169_irq_mask_and_ack(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1671
rtl_irq_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
1672
rtl_ack_events(tp, 0xffffffff);
drivers/net/ethernet/realtek/r8169_main.c
1673
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
1676
static void rtl_link_chg_patch(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1678
struct phy_device *phydev = tp->phydev;
drivers/net/ethernet/realtek/r8169_main.c
1680
if (tp->mac_version == RTL_GIGA_MAC_VER_34 ||
drivers/net/ethernet/realtek/r8169_main.c
1681
tp->mac_version == RTL_GIGA_MAC_VER_38) {
drivers/net/ethernet/realtek/r8169_main.c
1683
rtl_eri_write(tp, 0x1bc, ERIAR_MASK_1111, 0x00000011);
drivers/net/ethernet/realtek/r8169_main.c
1684
rtl_eri_write(tp, 0x1dc, ERIAR_MASK_1111, 0x00000005);
drivers/net/ethernet/realtek/r8169_main.c
1686
rtl_eri_write(tp, 0x1bc, ERIAR_MASK_1111, 0x0000001f);
drivers/net/ethernet/realtek/r8169_main.c
1687
rtl_eri_write(tp, 0x1dc, ERIAR_MASK_1111, 0x00000005);
drivers/net/ethernet/realtek/r8169_main.c
1689
rtl_eri_write(tp, 0x1bc, ERIAR_MASK_1111, 0x0000001f);
drivers/net/ethernet/realtek/r8169_main.c
1690
rtl_eri_write(tp, 0x1dc, ERIAR_MASK_1111, 0x0000003f);
drivers/net/ethernet/realtek/r8169_main.c
1692
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
1693
} else if (tp->mac_version == RTL_GIGA_MAC_VER_35 ||
drivers/net/ethernet/realtek/r8169_main.c
1694
tp->mac_version == RTL_GIGA_MAC_VER_36) {
drivers/net/ethernet/realtek/r8169_main.c
1696
rtl_eri_write(tp, 0x1bc, ERIAR_MASK_1111, 0x00000011);
drivers/net/ethernet/realtek/r8169_main.c
1697
rtl_eri_write(tp, 0x1dc, ERIAR_MASK_1111, 0x00000005);
drivers/net/ethernet/realtek/r8169_main.c
1699
rtl_eri_write(tp, 0x1bc, ERIAR_MASK_1111, 0x0000001f);
drivers/net/ethernet/realtek/r8169_main.c
1700
rtl_eri_write(tp, 0x1dc, ERIAR_MASK_1111, 0x0000003f);
drivers/net/ethernet/realtek/r8169_main.c
1702
} else if (tp->mac_version == RTL_GIGA_MAC_VER_37) {
drivers/net/ethernet/realtek/r8169_main.c
1704
rtl_eri_write(tp, 0x1d0, ERIAR_MASK_0011, 0x4d02);
drivers/net/ethernet/realtek/r8169_main.c
1705
rtl_eri_write(tp, 0x1dc, ERIAR_MASK_0011, 0x0060a);
drivers/net/ethernet/realtek/r8169_main.c
1707
rtl_eri_write(tp, 0x1d0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
1716
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1719
wol->wolopts = tp->saved_wolopts;
drivers/net/ethernet/realtek/r8169_main.c
1722
static void __rtl8169_set_wol(struct rtl8169_private *tp, u32 wolopts)
drivers/net/ethernet/realtek/r8169_main.c
1724
rtl_unlock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
1726
if (rtl_is_8168evl_up(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
1728
rtl_eri_set_bits(tp, 0x0dc, MagicPacket_v2);
drivers/net/ethernet/realtek/r8169_main.c
1730
rtl_eri_clear_bits(tp, 0x0dc, MagicPacket_v2);
drivers/net/ethernet/realtek/r8169_main.c
1731
} else if (rtl_is_8125(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
1733
r8168_mac_ocp_modify(tp, 0xc0b6, 0, BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
1735
r8168_mac_ocp_modify(tp, 0xc0b6, BIT(0), 0);
drivers/net/ethernet/realtek/r8169_main.c
1737
r8169_mod_reg8_cond(tp, Config3, MagicPacket,
drivers/net/ethernet/realtek/r8169_main.c
1741
r8169_mod_reg8_cond(tp, Config3, LinkUp, wolopts & WAKE_PHY);
drivers/net/ethernet/realtek/r8169_main.c
1742
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
1743
r8168_mac_ocp_modify(tp, 0xe0c6, 0x3f,
drivers/net/ethernet/realtek/r8169_main.c
1745
r8169_mod_reg8_cond(tp, Config5, UWF, wolopts & WAKE_UCAST);
drivers/net/ethernet/realtek/r8169_main.c
1746
r8169_mod_reg8_cond(tp, Config5, BWF, wolopts & WAKE_BCAST);
drivers/net/ethernet/realtek/r8169_main.c
1747
r8169_mod_reg8_cond(tp, Config5, MWF, wolopts & WAKE_MCAST);
drivers/net/ethernet/realtek/r8169_main.c
1748
r8169_mod_reg8_cond(tp, Config5, LanWake, wolopts);
drivers/net/ethernet/realtek/r8169_main.c
1750
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
1752
r8169_mod_reg8_cond(tp, Config1, PMEnable, wolopts);
drivers/net/ethernet/realtek/r8169_main.c
1757
r8169_mod_reg8_cond(tp, Config2, PME_SIGNAL, wolopts);
drivers/net/ethernet/realtek/r8169_main.c
1763
rtl_lock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
1765
device_set_wakeup_enable(tp_to_dev(tp), wolopts);
drivers/net/ethernet/realtek/r8169_main.c
1767
if (!tp->dash_enabled) {
drivers/net/ethernet/realtek/r8169_main.c
1768
rtl_set_d3_pll_down(tp, !wolopts);
drivers/net/ethernet/realtek/r8169_main.c
1769
tp->dev->ethtool->wol_enabled = wolopts ? 1 : 0;
drivers/net/ethernet/realtek/r8169_main.c
1775
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1780
tp->saved_wolopts = wol->wolopts;
drivers/net/ethernet/realtek/r8169_main.c
1781
__rtl8169_set_wol(tp, tp->saved_wolopts);
drivers/net/ethernet/realtek/r8169_main.c
1789
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1790
struct rtl_fw *rtl_fw = tp->rtl_fw;
drivers/net/ethernet/realtek/r8169_main.c
1793
strscpy(info->bus_info, pci_name(tp->pci_dev));
drivers/net/ethernet/realtek/r8169_main.c
1807
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1813
tp->mac_version > RTL_GIGA_MAC_VER_06)
drivers/net/ethernet/realtek/r8169_main.c
1819
static void rtl_set_rx_config_features(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
1822
u32 rx_config = RTL_R32(tp, RxConfig);
drivers/net/ethernet/realtek/r8169_main.c
1829
if (rtl_is_8125(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
1836
RTL_W32(tp, RxConfig, rx_config);
drivers/net/ethernet/realtek/r8169_main.c
1842
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1844
rtl_set_rx_config_features(tp, features);
drivers/net/ethernet/realtek/r8169_main.c
1847
tp->cp_cmd |= RxChkSum;
drivers/net/ethernet/realtek/r8169_main.c
1849
tp->cp_cmd &= ~RxChkSum;
drivers/net/ethernet/realtek/r8169_main.c
1851
if (!rtl_is_8125(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
1853
tp->cp_cmd |= RxVlan;
drivers/net/ethernet/realtek/r8169_main.c
1855
tp->cp_cmd &= ~RxVlan;
drivers/net/ethernet/realtek/r8169_main.c
1858
RTL_W16(tp, CPlusCmd, tp->cp_cmd);
drivers/net/ethernet/realtek/r8169_main.c
1859
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
1881
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1882
u32 __iomem *data = tp->mmio_addr;
drivers/net/ethernet/realtek/r8169_main.c
1918
return RTL_R32(tp, CounterAddrLow) & (CounterReset | CounterDump);
drivers/net/ethernet/realtek/r8169_main.c
1921
static void rtl8169_do_counters(struct rtl8169_private *tp, u32 counter_cmd)
drivers/net/ethernet/realtek/r8169_main.c
1923
u32 cmd = lower_32_bits(tp->counters_phys_addr);
drivers/net/ethernet/realtek/r8169_main.c
1925
RTL_W32(tp, CounterAddrHigh, upper_32_bits(tp->counters_phys_addr));
drivers/net/ethernet/realtek/r8169_main.c
1926
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
1927
RTL_W32(tp, CounterAddrLow, cmd);
drivers/net/ethernet/realtek/r8169_main.c
1928
RTL_W32(tp, CounterAddrLow, cmd | counter_cmd);
drivers/net/ethernet/realtek/r8169_main.c
1930
rtl_loop_wait_low(tp, &rtl_counters_cond, 10, 1000);
drivers/net/ethernet/realtek/r8169_main.c
1933
static void rtl8169_update_counters(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1935
u8 val = RTL_R8(tp, ChipCmd);
drivers/net/ethernet/realtek/r8169_main.c
1942
rtl8169_do_counters(tp, CounterDump);
drivers/net/ethernet/realtek/r8169_main.c
1945
static void rtl8169_init_counter_offsets(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
1947
struct rtl8169_counters *counters = tp->counters;
drivers/net/ethernet/realtek/r8169_main.c
1964
if (tp->tc_offset.inited)
drivers/net/ethernet/realtek/r8169_main.c
1967
if (tp->mac_version >= RTL_GIGA_MAC_VER_19) {
drivers/net/ethernet/realtek/r8169_main.c
1968
rtl8169_do_counters(tp, CounterReset);
drivers/net/ethernet/realtek/r8169_main.c
1970
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
1971
tp->tc_offset.tx_errors = counters->tx_errors;
drivers/net/ethernet/realtek/r8169_main.c
1972
tp->tc_offset.tx_multi_collision = counters->tx_multi_collision;
drivers/net/ethernet/realtek/r8169_main.c
1973
tp->tc_offset.tx_aborted = counters->tx_aborted;
drivers/net/ethernet/realtek/r8169_main.c
1974
tp->tc_offset.rx_missed = counters->rx_missed;
drivers/net/ethernet/realtek/r8169_main.c
1977
tp->tc_offset.inited = true;
drivers/net/ethernet/realtek/r8169_main.c
1983
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
1986
counters = tp->counters;
drivers/net/ethernet/realtek/r8169_main.c
1987
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
2067
rtl_coalesce_info(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2071
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
drivers/net/ethernet/realtek/r8169_main.c
2077
if (tp->phydev->speed == SPEED_UNKNOWN)
drivers/net/ethernet/realtek/r8169_main.c
2081
if (tp->phydev->speed == ci->speed)
drivers/net/ethernet/realtek/r8169_main.c
2093
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2098
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
2104
ci = rtl_coalesce_info(tp);
drivers/net/ethernet/realtek/r8169_main.c
2108
scale = ci->scale_nsecs[tp->cp_cmd & INTT_MASK];
drivers/net/ethernet/realtek/r8169_main.c
2110
intrmit = RTL_R16(tp, IntrMitigate);
drivers/net/ethernet/realtek/r8169_main.c
2129
static int rtl_coalesce_choose_scale(struct rtl8169_private *tp, u32 usec,
drivers/net/ethernet/realtek/r8169_main.c
2135
ci = rtl_coalesce_info(tp);
drivers/net/ethernet/realtek/r8169_main.c
2154
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2161
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
2168
scale = rtl_coalesce_choose_scale(tp, coal_usec_max, &cp01);
drivers/net/ethernet/realtek/r8169_main.c
2200
RTL_W16(tp, IntrMitigate, w);
drivers/net/ethernet/realtek/r8169_main.c
2203
if (rtl_is_8168evl_up(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
2206
tp->cp_cmd |= PktCntrDisable;
drivers/net/ethernet/realtek/r8169_main.c
2208
tp->cp_cmd &= ~PktCntrDisable;
drivers/net/ethernet/realtek/r8169_main.c
2211
tp->cp_cmd = (tp->cp_cmd & ~INTT_MASK) | cp01;
drivers/net/ethernet/realtek/r8169_main.c
2212
RTL_W16(tp, CPlusCmd, tp->cp_cmd);
drivers/net/ethernet/realtek/r8169_main.c
2213
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
2218
static void rtl_set_eee_txidle_timer(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2220
unsigned int timer_val = READ_ONCE(tp->dev->mtu) + ETH_HLEN + 0x20;
drivers/net/ethernet/realtek/r8169_main.c
2222
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
2225
tp->tx_lpi_timer = timer_val;
drivers/net/ethernet/realtek/r8169_main.c
2226
r8168_mac_ocp_write(tp, 0xe048, timer_val);
drivers/net/ethernet/realtek/r8169_main.c
2229
tp->tx_lpi_timer = timer_val;
drivers/net/ethernet/realtek/r8169_main.c
2230
RTL_W16(tp, EEE_TXIDLE_TIMER_8125, timer_val);
drivers/net/ethernet/realtek/r8169_main.c
2237
static unsigned int r8169_get_tx_lpi_timer_us(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2239
unsigned int speed = tp->phydev->speed;
drivers/net/ethernet/realtek/r8169_main.c
2240
unsigned int timer = tp->tx_lpi_timer;
drivers/net/ethernet/realtek/r8169_main.c
2251
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2254
if (!rtl_supports_eee(tp))
drivers/net/ethernet/realtek/r8169_main.c
2257
ret = phy_ethtool_get_eee(tp->phydev, data);
drivers/net/ethernet/realtek/r8169_main.c
2261
data->tx_lpi_timer = r8169_get_tx_lpi_timer_us(tp);
drivers/net/ethernet/realtek/r8169_main.c
2268
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2270
if (!rtl_supports_eee(tp))
drivers/net/ethernet/realtek/r8169_main.c
2273
return phy_ethtool_set_eee(tp->phydev, data);
drivers/net/ethernet/realtek/r8169_main.c
2290
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2292
if (!rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
2295
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
2296
pause_stats->tx_pause_frames = le32_to_cpu(tp->counters->tx_pause_on);
drivers/net/ethernet/realtek/r8169_main.c
2297
pause_stats->rx_pause_frames = le32_to_cpu(tp->counters->rx_pause_on);
drivers/net/ethernet/realtek/r8169_main.c
2303
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2306
phy_get_pause(tp->phydev, &tx_pause, &rx_pause);
drivers/net/ethernet/realtek/r8169_main.c
2308
data->autoneg = tp->phydev->autoneg;
drivers/net/ethernet/realtek/r8169_main.c
2316
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2321
phy_set_asym_pause(tp->phydev, data->rx_pause, data->tx_pause);
drivers/net/ethernet/realtek/r8169_main.c
2329
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2331
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
2334
le64_to_cpu(tp->counters->tx_packets);
drivers/net/ethernet/realtek/r8169_main.c
2336
le32_to_cpu(tp->counters->tx_one_collision);
drivers/net/ethernet/realtek/r8169_main.c
2338
le32_to_cpu(tp->counters->tx_multi_collision);
drivers/net/ethernet/realtek/r8169_main.c
2340
le64_to_cpu(tp->counters->rx_packets);
drivers/net/ethernet/realtek/r8169_main.c
2342
le16_to_cpu(tp->counters->align_errors);
drivers/net/ethernet/realtek/r8169_main.c
2344
le64_to_cpu(tp->counters->tx_errors);
drivers/net/ethernet/realtek/r8169_main.c
2346
le64_to_cpu(tp->counters->rx_broadcast);
drivers/net/ethernet/realtek/r8169_main.c
2348
le32_to_cpu(tp->counters->rx_multicast);
drivers/net/ethernet/realtek/r8169_main.c
2350
if (!rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
2354
le32_to_cpu(tp->counters->align_errors32);
drivers/net/ethernet/realtek/r8169_main.c
2356
le64_to_cpu(tp->counters->tx_octets);
drivers/net/ethernet/realtek/r8169_main.c
2358
le32_to_cpu(tp->counters->tx_late_collision);
drivers/net/ethernet/realtek/r8169_main.c
2360
le32_to_cpu(tp->counters->tx_aborted32);
drivers/net/ethernet/realtek/r8169_main.c
2362
le64_to_cpu(tp->counters->rx_octets);
drivers/net/ethernet/realtek/r8169_main.c
2364
le32_to_cpu(tp->counters->rx_mac_error);
drivers/net/ethernet/realtek/r8169_main.c
2366
le64_to_cpu(tp->counters->tx_multicast64);
drivers/net/ethernet/realtek/r8169_main.c
2368
le64_to_cpu(tp->counters->tx_broadcast64);
drivers/net/ethernet/realtek/r8169_main.c
2370
le64_to_cpu(tp->counters->rx_multicast64);
drivers/net/ethernet/realtek/r8169_main.c
2372
le32_to_cpu(tp->counters->rx_frame_too_long);
drivers/net/ethernet/realtek/r8169_main.c
2378
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2380
if (!rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
2383
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
2386
le32_to_cpu(tp->counters->rx_unknown_opcode);
drivers/net/ethernet/realtek/r8169_main.c
2392
struct rtl8169_private *tp = netdev_priv(ndev);
drivers/net/ethernet/realtek/r8169_main.c
2393
struct phy_device *phydev = tp->phydev;
drivers/net/ethernet/realtek/r8169_main.c
2397
if (!tp->sfp_mode)
drivers/net/ethernet/realtek/r8169_main.c
2412
rtl_sfp_init(tp);
drivers/net/ethernet/realtek/r8169_main.c
2482
static void rtl_release_firmware(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2484
if (tp->rtl_fw) {
drivers/net/ethernet/realtek/r8169_main.c
2485
rtl_fw_release_firmware(tp->rtl_fw);
drivers/net/ethernet/realtek/r8169_main.c
2486
kfree(tp->rtl_fw);
drivers/net/ethernet/realtek/r8169_main.c
2487
tp->rtl_fw = NULL;
drivers/net/ethernet/realtek/r8169_main.c
2491
void r8169_apply_firmware(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2496
if (tp->rtl_fw) {
drivers/net/ethernet/realtek/r8169_main.c
2497
rtl_fw_write_firmware(tp, tp->rtl_fw);
drivers/net/ethernet/realtek/r8169_main.c
2499
tp->ocp_base = OCP_STD_PHY_BASE;
drivers/net/ethernet/realtek/r8169_main.c
2502
phy_read_poll_timeout(tp->phydev, MII_BMCR, val,
drivers/net/ethernet/realtek/r8169_main.c
2508
static void rtl_rar_exgmac_set(struct rtl8169_private *tp, const u8 *addr)
drivers/net/ethernet/realtek/r8169_main.c
2510
rtl_eri_write(tp, 0xe0, ERIAR_MASK_1111, get_unaligned_le32(addr));
drivers/net/ethernet/realtek/r8169_main.c
2511
rtl_eri_write(tp, 0xe4, ERIAR_MASK_1111, get_unaligned_le16(addr + 4));
drivers/net/ethernet/realtek/r8169_main.c
2512
rtl_eri_write(tp, 0xf0, ERIAR_MASK_1111, get_unaligned_le16(addr) << 16);
drivers/net/ethernet/realtek/r8169_main.c
2513
rtl_eri_write(tp, 0xf4, ERIAR_MASK_1111, get_unaligned_le32(addr + 2));
drivers/net/ethernet/realtek/r8169_main.c
2516
u16 rtl8168h_2_get_adc_bias_ioffset(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2520
r8168_mac_ocp_write(tp, 0xdd02, 0x807d);
drivers/net/ethernet/realtek/r8169_main.c
2521
data1 = r8168_mac_ocp_read(tp, 0xdd02);
drivers/net/ethernet/realtek/r8169_main.c
2522
data2 = r8168_mac_ocp_read(tp, 0xdd00);
drivers/net/ethernet/realtek/r8169_main.c
2532
static void rtl_schedule_task(struct rtl8169_private *tp, enum rtl_flag flag)
drivers/net/ethernet/realtek/r8169_main.c
2534
set_bit(flag, tp->wk.flags);
drivers/net/ethernet/realtek/r8169_main.c
2535
if (!schedule_work(&tp->wk.work))
drivers/net/ethernet/realtek/r8169_main.c
2536
clear_bit(flag, tp->wk.flags);
drivers/net/ethernet/realtek/r8169_main.c
2539
static void rtl8169_init_phy(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2541
r8169_hw_phy_config(tp, tp->phydev, tp->mac_version);
drivers/net/ethernet/realtek/r8169_main.c
2543
if (tp->mac_version <= RTL_GIGA_MAC_VER_06) {
drivers/net/ethernet/realtek/r8169_main.c
2544
pci_write_config_byte(tp->pci_dev, PCI_LATENCY_TIMER, 0x40);
drivers/net/ethernet/realtek/r8169_main.c
2545
pci_write_config_byte(tp->pci_dev, PCI_CACHE_LINE_SIZE, 0x08);
drivers/net/ethernet/realtek/r8169_main.c
2547
RTL_W8(tp, 0x82, 0x01);
drivers/net/ethernet/realtek/r8169_main.c
2550
if (tp->mac_version == RTL_GIGA_MAC_VER_05 &&
drivers/net/ethernet/realtek/r8169_main.c
2551
tp->pci_dev->subsystem_vendor == PCI_VENDOR_ID_GIGABYTE &&
drivers/net/ethernet/realtek/r8169_main.c
2552
tp->pci_dev->subsystem_device == 0xe000)
drivers/net/ethernet/realtek/r8169_main.c
2553
phy_write_paged(tp->phydev, 0x0001, 0x10, 0xf01b);
drivers/net/ethernet/realtek/r8169_main.c
2555
if (tp->sfp_mode)
drivers/net/ethernet/realtek/r8169_main.c
2556
rtl_sfp_init(tp);
drivers/net/ethernet/realtek/r8169_main.c
2559
phy_speed_up(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
2561
genphy_soft_reset(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
2564
static void rtl_rar_set(struct rtl8169_private *tp, const u8 *addr)
drivers/net/ethernet/realtek/r8169_main.c
2566
rtl_unlock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
2568
RTL_W32(tp, MAC4, get_unaligned_le16(addr + 4));
drivers/net/ethernet/realtek/r8169_main.c
2569
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
2571
RTL_W32(tp, MAC0, get_unaligned_le32(addr));
drivers/net/ethernet/realtek/r8169_main.c
2572
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
2574
if (tp->mac_version == RTL_GIGA_MAC_VER_34)
drivers/net/ethernet/realtek/r8169_main.c
2575
rtl_rar_exgmac_set(tp, addr);
drivers/net/ethernet/realtek/r8169_main.c
2577
rtl_lock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
2582
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2589
rtl_rar_set(tp, dev->dev_addr);
drivers/net/ethernet/realtek/r8169_main.c
2594
static void rtl_init_rxcfg(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2596
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
2599
RTL_W32(tp, RxConfig, RX_FIFO_THRESH | RX_DMA_BURST);
drivers/net/ethernet/realtek/r8169_main.c
2604
RTL_W32(tp, RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST);
drivers/net/ethernet/realtek/r8169_main.c
2607
RTL_W32(tp, RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST | RX_EARLY_OFF);
drivers/net/ethernet/realtek/r8169_main.c
2610
RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST);
drivers/net/ethernet/realtek/r8169_main.c
2613
RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST |
drivers/net/ethernet/realtek/r8169_main.c
2617
RTL_W32(tp, RxConfig, RX128_INT_EN | RX_DMA_BURST);
drivers/net/ethernet/realtek/r8169_main.c
2622
static void rtl8169_init_ring_indexes(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2624
tp->dirty_tx = tp->cur_tx = tp->cur_rx = 0;
drivers/net/ethernet/realtek/r8169_main.c
2627
static void rtl_jumbo_config(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2629
bool jumbo = tp->dev->mtu > ETH_DATA_LEN;
drivers/net/ethernet/realtek/r8169_main.c
2632
if (jumbo && tp->mac_version >= RTL_GIGA_MAC_VER_17 &&
drivers/net/ethernet/realtek/r8169_main.c
2633
tp->mac_version <= RTL_GIGA_MAC_VER_26)
drivers/net/ethernet/realtek/r8169_main.c
2636
rtl_unlock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
2637
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
2639
r8169_mod_reg8_cond(tp, Config4, BIT(0), jumbo);
drivers/net/ethernet/realtek/r8169_main.c
2642
r8169_mod_reg8_cond(tp, Config3, Jumbo_En0, jumbo);
drivers/net/ethernet/realtek/r8169_main.c
2643
r8169_mod_reg8_cond(tp, Config4, Jumbo_En1, jumbo);
drivers/net/ethernet/realtek/r8169_main.c
2646
r8169_mod_reg8_cond(tp, Config3, Jumbo_En0, jumbo);
drivers/net/ethernet/realtek/r8169_main.c
2649
RTL_W8(tp, MaxTxPacketSize, jumbo ? 0x24 : 0x3f);
drivers/net/ethernet/realtek/r8169_main.c
2650
r8169_mod_reg8_cond(tp, Config3, Jumbo_En0, jumbo);
drivers/net/ethernet/realtek/r8169_main.c
2651
r8169_mod_reg8_cond(tp, Config4, BIT(0), jumbo);
drivers/net/ethernet/realtek/r8169_main.c
2656
rtl_lock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
2658
if (pci_is_pcie(tp->pci_dev) && tp->supports_gmii)
drivers/net/ethernet/realtek/r8169_main.c
2659
pcie_set_readrq(tp->pci_dev, readrq);
drivers/net/ethernet/realtek/r8169_main.c
2664
tp->phydev->advertising);
drivers/net/ethernet/realtek/r8169_main.c
2666
tp->phydev->advertising);
drivers/net/ethernet/realtek/r8169_main.c
2667
phy_start_aneg(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
2673
return RTL_R8(tp, ChipCmd) & CmdReset;
drivers/net/ethernet/realtek/r8169_main.c
2676
static void rtl_hw_reset(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2678
RTL_W8(tp, ChipCmd, CmdReset);
drivers/net/ethernet/realtek/r8169_main.c
2680
rtl_loop_wait_low(tp, &rtl_chipcmd_cond, 100, 100);
drivers/net/ethernet/realtek/r8169_main.c
2683
static void rtl_request_firmware(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2688
if (tp->rtl_fw || !tp->fw_name)
drivers/net/ethernet/realtek/r8169_main.c
2699
rtl_fw->fw_name = tp->fw_name;
drivers/net/ethernet/realtek/r8169_main.c
2700
rtl_fw->dev = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
2705
tp->rtl_fw = rtl_fw;
drivers/net/ethernet/realtek/r8169_main.c
2708
static void rtl_rx_close(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2710
RTL_W32(tp, RxConfig, RTL_R32(tp, RxConfig) & ~RX_CONFIG_ACCEPT_MASK);
drivers/net/ethernet/realtek/r8169_main.c
2715
return RTL_R8(tp, TxPoll) & NPQ;
drivers/net/ethernet/realtek/r8169_main.c
2720
return RTL_R32(tp, TxConfig) & TXCFG_EMPTY;
drivers/net/ethernet/realtek/r8169_main.c
2725
return (RTL_R8(tp, MCU) & RXTX_EMPTY) == RXTX_EMPTY;
drivers/net/ethernet/realtek/r8169_main.c
2731
return (RTL_R16(tp, IntrMitigate) & 0x0103) == 0x0103;
drivers/net/ethernet/realtek/r8169_main.c
2734
static void rtl_wait_txrx_fifo_empty(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2736
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
2738
rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 42);
drivers/net/ethernet/realtek/r8169_main.c
2739
rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
drivers/net/ethernet/realtek/r8169_main.c
2742
rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
drivers/net/ethernet/realtek/r8169_main.c
2745
RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
drivers/net/ethernet/realtek/r8169_main.c
2746
rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
drivers/net/ethernet/realtek/r8169_main.c
2747
rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond_2, 100, 42);
drivers/net/ethernet/realtek/r8169_main.c
2754
static void rtl_disable_rxdvgate(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2756
RTL_W32(tp, MISC, RTL_R32(tp, MISC) & ~RXDV_GATED_EN);
drivers/net/ethernet/realtek/r8169_main.c
2759
static void rtl_enable_rxdvgate(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2761
RTL_W32(tp, MISC, RTL_R32(tp, MISC) | RXDV_GATED_EN);
drivers/net/ethernet/realtek/r8169_main.c
2763
rtl_wait_txrx_fifo_empty(tp);
drivers/net/ethernet/realtek/r8169_main.c
2766
static void rtl_wol_enable_rx(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2768
if (tp->mac_version >= RTL_GIGA_MAC_VER_25)
drivers/net/ethernet/realtek/r8169_main.c
2769
RTL_W32(tp, RxConfig, RTL_R32(tp, RxConfig) |
drivers/net/ethernet/realtek/r8169_main.c
2772
if (tp->mac_version >= RTL_GIGA_MAC_VER_40)
drivers/net/ethernet/realtek/r8169_main.c
2773
rtl_disable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
2776
static void rtl_prepare_power_down(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2778
if (tp->mac_version == RTL_GIGA_MAC_VER_32 ||
drivers/net/ethernet/realtek/r8169_main.c
2779
tp->mac_version == RTL_GIGA_MAC_VER_33)
drivers/net/ethernet/realtek/r8169_main.c
2780
rtl_ephy_write(tp, 0x19, 0xff64);
drivers/net/ethernet/realtek/r8169_main.c
2782
if (device_may_wakeup(tp_to_dev(tp))) {
drivers/net/ethernet/realtek/r8169_main.c
2783
phy_speed_down(tp->phydev, false);
drivers/net/ethernet/realtek/r8169_main.c
2784
rtl_wol_enable_rx(tp);
drivers/net/ethernet/realtek/r8169_main.c
2788
static void rtl_set_tx_config_registers(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2793
if (rtl_is_8168evl_up(tp))
drivers/net/ethernet/realtek/r8169_main.c
2796
RTL_W32(tp, TxConfig, val);
drivers/net/ethernet/realtek/r8169_main.c
2799
static void rtl_set_rx_max_size(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2802
RTL_W16(tp, RxMaxSize, R8169_RX_BUF_SIZE + 1);
drivers/net/ethernet/realtek/r8169_main.c
2805
static void rtl_set_rx_tx_desc_registers(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2812
RTL_W32(tp, TxDescStartAddrHigh, ((u64) tp->TxPhyAddr) >> 32);
drivers/net/ethernet/realtek/r8169_main.c
2813
RTL_W32(tp, TxDescStartAddrLow, ((u64) tp->TxPhyAddr) & DMA_BIT_MASK(32));
drivers/net/ethernet/realtek/r8169_main.c
2814
RTL_W32(tp, RxDescAddrHigh, ((u64) tp->RxPhyAddr) >> 32);
drivers/net/ethernet/realtek/r8169_main.c
2815
RTL_W32(tp, RxDescAddrLow, ((u64) tp->RxPhyAddr) & DMA_BIT_MASK(32));
drivers/net/ethernet/realtek/r8169_main.c
2818
static void rtl8169_set_magic_reg(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2822
if (tp->mac_version == RTL_GIGA_MAC_VER_05)
drivers/net/ethernet/realtek/r8169_main.c
2824
else if (tp->mac_version == RTL_GIGA_MAC_VER_06)
drivers/net/ethernet/realtek/r8169_main.c
2829
if (RTL_R8(tp, Config2) & PCI_Clock_66MHz)
drivers/net/ethernet/realtek/r8169_main.c
2832
RTL_W32(tp, 0x7c, val);
drivers/net/ethernet/realtek/r8169_main.c
2840
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
2848
tp->mac_version == RTL_GIGA_MAC_VER_35) {
drivers/net/ethernet/realtek/r8169_main.c
2861
if (tp->mac_version > RTL_GIGA_MAC_VER_06) {
drivers/net/ethernet/realtek/r8169_main.c
2868
RTL_W32(tp, MAR0 + 4, mc_filter[1]);
drivers/net/ethernet/realtek/r8169_main.c
2869
RTL_W32(tp, MAR0 + 0, mc_filter[0]);
drivers/net/ethernet/realtek/r8169_main.c
2871
tmp = RTL_R32(tp, RxConfig);
drivers/net/ethernet/realtek/r8169_main.c
2872
RTL_W32(tp, RxConfig, (tmp & ~RX_CONFIG_ACCEPT_OK_MASK) | rx_mode);
drivers/net/ethernet/realtek/r8169_main.c
2877
return RTL_R32(tp, CSIAR) & CSIAR_FLAG;
drivers/net/ethernet/realtek/r8169_main.c
2880
static void rtl_csi_write(struct rtl8169_private *tp, int addr, int value)
drivers/net/ethernet/realtek/r8169_main.c
2882
u32 func = PCI_FUNC(tp->pci_dev->devfn);
drivers/net/ethernet/realtek/r8169_main.c
2884
RTL_W32(tp, CSIDR, value);
drivers/net/ethernet/realtek/r8169_main.c
2885
RTL_W32(tp, CSIAR, CSIAR_WRITE_CMD | (addr & CSIAR_ADDR_MASK) |
drivers/net/ethernet/realtek/r8169_main.c
2888
rtl_loop_wait_low(tp, &rtl_csiar_cond, 10, 100);
drivers/net/ethernet/realtek/r8169_main.c
2891
static u32 rtl_csi_read(struct rtl8169_private *tp, int addr)
drivers/net/ethernet/realtek/r8169_main.c
2893
u32 func = PCI_FUNC(tp->pci_dev->devfn);
drivers/net/ethernet/realtek/r8169_main.c
2895
RTL_W32(tp, CSIAR, (addr & CSIAR_ADDR_MASK) | func << 16 |
drivers/net/ethernet/realtek/r8169_main.c
2898
return rtl_loop_wait_high(tp, &rtl_csiar_cond, 10, 100) ?
drivers/net/ethernet/realtek/r8169_main.c
2899
RTL_R32(tp, CSIDR) : ~0;
drivers/net/ethernet/realtek/r8169_main.c
2902
static void rtl_csi_mod(struct rtl8169_private *tp, int addr,
drivers/net/ethernet/realtek/r8169_main.c
2909
netdev_notice_once(tp->dev,
drivers/net/ethernet/realtek/r8169_main.c
2912
val = rtl_csi_read(tp, addr);
drivers/net/ethernet/realtek/r8169_main.c
2913
rtl_csi_write(tp, addr, (val & ~mask) | set);
drivers/net/ethernet/realtek/r8169_main.c
2916
static void rtl_disable_zrxdc_timeout(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2918
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
2935
rtl_csi_mod(tp, RTL_GEN3_RELATED_OFF, RTL_GEN3_ZRXDC_NONCOMPL, 0);
drivers/net/ethernet/realtek/r8169_main.c
2938
static void rtl_set_aspm_entry_latency(struct rtl8169_private *tp, u8 val)
drivers/net/ethernet/realtek/r8169_main.c
2940
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
2952
rtl_csi_mod(tp, 0x070c, 0xff000000, val << 24);
drivers/net/ethernet/realtek/r8169_main.c
2955
static void rtl_set_def_aspm_entry_latency(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2958
rtl_set_aspm_entry_latency(tp, 0x27);
drivers/net/ethernet/realtek/r8169_main.c
2967
static void __rtl_ephy_init(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
2973
w = (rtl_ephy_read(tp, e->offset) & ~e->mask) | e->bits;
drivers/net/ethernet/realtek/r8169_main.c
2974
rtl_ephy_write(tp, e->offset, w);
drivers/net/ethernet/realtek/r8169_main.c
2979
#define rtl_ephy_init(tp, a) __rtl_ephy_init(tp, a, ARRAY_SIZE(a))
drivers/net/ethernet/realtek/r8169_main.c
2981
static void rtl_disable_clock_request(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2983
pcie_capability_clear_word(tp->pci_dev, PCI_EXP_LNKCTL,
drivers/net/ethernet/realtek/r8169_main.c
2987
static void rtl_enable_clock_request(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2989
pcie_capability_set_word(tp->pci_dev, PCI_EXP_LNKCTL,
drivers/net/ethernet/realtek/r8169_main.c
2993
static void rtl_pcie_state_l2l3_disable(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
2996
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Rdy_to_L23);
drivers/net/ethernet/realtek/r8169_main.c
2999
static void rtl_enable_exit_l1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3009
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3011
rtl_eri_set_bits(tp, 0xd4, 0x1f00);
drivers/net/ethernet/realtek/r8169_main.c
3014
rtl_eri_set_bits(tp, 0xd4, 0x0c00);
drivers/net/ethernet/realtek/r8169_main.c
3017
r8168_mac_ocp_modify(tp, 0xc0ac, 0, 0x1f80);
drivers/net/ethernet/realtek/r8169_main.c
3024
static void rtl_disable_exit_l1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3026
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3028
rtl_eri_clear_bits(tp, 0xd4, 0x1f00);
drivers/net/ethernet/realtek/r8169_main.c
3031
r8168_mac_ocp_modify(tp, 0xc0ac, 0x1f80, 0);
drivers/net/ethernet/realtek/r8169_main.c
3038
static void rtl_enable_ltr(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3040
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3042
r8168_mac_ocp_write(tp, 0xcdd0, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3043
r8168_mac_ocp_modify(tp, LTR_SNOOP, 0x0000, LTR_SNOOP_EN);
drivers/net/ethernet/realtek/r8169_main.c
3044
r8168_mac_ocp_modify(tp, ALDPS_LTR, 0x0000, ALDPS_LTR_EN);
drivers/net/ethernet/realtek/r8169_main.c
3045
r8168_mac_ocp_write(tp, 0xcdd2, 0x8c09);
drivers/net/ethernet/realtek/r8169_main.c
3046
r8168_mac_ocp_write(tp, 0xcdd8, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3047
r8168_mac_ocp_write(tp, 0xcdd4, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3048
r8168_mac_ocp_write(tp, 0xcdda, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3049
r8168_mac_ocp_write(tp, 0xcdd6, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3050
r8168_mac_ocp_write(tp, 0xcddc, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3051
r8168_mac_ocp_write(tp, 0xcde8, 0x887a);
drivers/net/ethernet/realtek/r8169_main.c
3052
r8168_mac_ocp_write(tp, 0xcdea, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3053
r8168_mac_ocp_write(tp, 0xcdec, 0x8c09);
drivers/net/ethernet/realtek/r8169_main.c
3054
r8168_mac_ocp_write(tp, 0xcdee, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3055
r8168_mac_ocp_write(tp, 0xcdf0, 0x8a62);
drivers/net/ethernet/realtek/r8169_main.c
3056
r8168_mac_ocp_write(tp, 0xcdf2, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3057
r8168_mac_ocp_write(tp, 0xcdf4, 0x883e);
drivers/net/ethernet/realtek/r8169_main.c
3058
r8168_mac_ocp_write(tp, 0xcdf6, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3059
r8168_mac_ocp_write(tp, 0xcdf8, 0x8849);
drivers/net/ethernet/realtek/r8169_main.c
3060
r8168_mac_ocp_write(tp, 0xcdfa, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3061
r8168_mac_ocp_modify(tp, LTR_OBFF_LOCK, 0x0000, LINK_SPEED_CHANGE_EN);
drivers/net/ethernet/realtek/r8169_main.c
3064
r8168_mac_ocp_write(tp, 0xcdd0, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3065
r8168_mac_ocp_modify(tp, LTR_SNOOP, 0x0000, LTR_SNOOP_EN);
drivers/net/ethernet/realtek/r8169_main.c
3066
r8168_mac_ocp_modify(tp, ALDPS_LTR, 0x0000, ALDPS_LTR_EN);
drivers/net/ethernet/realtek/r8169_main.c
3067
r8168_mac_ocp_write(tp, 0xcdd2, 0x8c09);
drivers/net/ethernet/realtek/r8169_main.c
3068
r8168_mac_ocp_write(tp, 0xcdd8, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3069
r8168_mac_ocp_write(tp, 0xcdd4, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3070
r8168_mac_ocp_write(tp, 0xcdda, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3071
r8168_mac_ocp_write(tp, 0xcdd6, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3072
r8168_mac_ocp_write(tp, 0xcddc, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3073
r8168_mac_ocp_write(tp, 0xcde8, 0x887a);
drivers/net/ethernet/realtek/r8169_main.c
3074
r8168_mac_ocp_write(tp, 0xcdea, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3075
r8168_mac_ocp_write(tp, 0xcdec, 0x8c09);
drivers/net/ethernet/realtek/r8169_main.c
3076
r8168_mac_ocp_write(tp, 0xcdee, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3077
r8168_mac_ocp_write(tp, 0xcdf0, 0x8a62);
drivers/net/ethernet/realtek/r8169_main.c
3078
r8168_mac_ocp_write(tp, 0xcdf2, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3079
r8168_mac_ocp_write(tp, 0xcdf4, 0x883e);
drivers/net/ethernet/realtek/r8169_main.c
3080
r8168_mac_ocp_write(tp, 0xcdf6, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3081
r8168_mac_ocp_modify(tp, LTR_OBFF_LOCK, 0x0000, LINK_SPEED_CHANGE_EN);
drivers/net/ethernet/realtek/r8169_main.c
3084
r8168_mac_ocp_write(tp, 0xcdd0, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3085
r8168_mac_ocp_modify(tp, LTR_SNOOP, 0x0000, LTR_SNOOP_EN);
drivers/net/ethernet/realtek/r8169_main.c
3086
r8168_mac_ocp_modify(tp, ALDPS_LTR, 0x0000, ALDPS_LTR_EN);
drivers/net/ethernet/realtek/r8169_main.c
3087
r8168_mac_ocp_write(tp, 0xcdd2, 0x889c);
drivers/net/ethernet/realtek/r8169_main.c
3088
r8168_mac_ocp_write(tp, 0xcdd8, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3089
r8168_mac_ocp_write(tp, 0xcdd4, 0x8c30);
drivers/net/ethernet/realtek/r8169_main.c
3090
r8168_mac_ocp_write(tp, 0xcdda, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3091
r8168_mac_ocp_write(tp, 0xcdd6, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3092
r8168_mac_ocp_write(tp, 0xcddc, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3093
r8168_mac_ocp_write(tp, 0xcde8, 0x883e);
drivers/net/ethernet/realtek/r8169_main.c
3094
r8168_mac_ocp_write(tp, 0xcdea, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3095
r8168_mac_ocp_write(tp, 0xcdec, 0x889c);
drivers/net/ethernet/realtek/r8169_main.c
3096
r8168_mac_ocp_write(tp, 0xcdee, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3097
r8168_mac_ocp_write(tp, 0xcdf0, 0x8C09);
drivers/net/ethernet/realtek/r8169_main.c
3098
r8168_mac_ocp_write(tp, 0xcdf2, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3099
r8168_mac_ocp_modify(tp, LTR_OBFF_LOCK, 0x0000, LINK_SPEED_CHANGE_EN);
drivers/net/ethernet/realtek/r8169_main.c
3103
r8168_mac_ocp_modify(tp, ALDPS_LTR, 0x0000, ALDPS_LTR_EN);
drivers/net/ethernet/realtek/r8169_main.c
3104
RTL_W8(tp, COMBO_LTR_EXTEND, RTL_R8(tp, COMBO_LTR_EXTEND) | COMBO_LTR_EXTEND_EN);
drivers/net/ethernet/realtek/r8169_main.c
3107
r8168_mac_ocp_modify(tp, LTR_SNOOP, 0x0000, LTR_SNOOP_EN);
drivers/net/ethernet/realtek/r8169_main.c
3108
r8168_mac_ocp_write(tp, 0xe02c, 0x1880);
drivers/net/ethernet/realtek/r8169_main.c
3109
r8168_mac_ocp_write(tp, 0xe02e, 0x4880);
drivers/net/ethernet/realtek/r8169_main.c
3110
r8168_mac_ocp_write(tp, 0xcdd8, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3111
r8168_mac_ocp_write(tp, 0xcdda, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3112
r8168_mac_ocp_write(tp, 0xcddc, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3113
r8168_mac_ocp_write(tp, 0xcdd2, 0x883c);
drivers/net/ethernet/realtek/r8169_main.c
3114
r8168_mac_ocp_write(tp, 0xcdd4, 0x8c12);
drivers/net/ethernet/realtek/r8169_main.c
3115
r8168_mac_ocp_write(tp, 0xcdd6, 0x9003);
drivers/net/ethernet/realtek/r8169_main.c
3121
r8168_mac_ocp_modify(tp, LTR_OBFF_LOCK, 0x0003, LTR_OBFF_LOCK_EN);
drivers/net/ethernet/realtek/r8169_main.c
3124
static void rtl_hw_aspm_clkreq_enable(struct rtl8169_private *tp, bool enable)
drivers/net/ethernet/realtek/r8169_main.c
3128
if (tp->mac_version < RTL_GIGA_MAC_VER_32)
drivers/net/ethernet/realtek/r8169_main.c
3132
if (enable && tp->aspm_manageable) {
drivers/net/ethernet/realtek/r8169_main.c
3136
if (tp->mac_version == RTL_GIGA_MAC_VER_42 ||
drivers/net/ethernet/realtek/r8169_main.c
3137
tp->mac_version == RTL_GIGA_MAC_VER_43)
drivers/net/ethernet/realtek/r8169_main.c
3140
rtl_mod_config5(tp, 0, ASPM_en);
drivers/net/ethernet/realtek/r8169_main.c
3141
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3144
val8 = RTL_R8(tp, INT_CFG0_8125) | INT_CFG0_CLKREQEN;
drivers/net/ethernet/realtek/r8169_main.c
3145
RTL_W8(tp, INT_CFG0_8125, val8);
drivers/net/ethernet/realtek/r8169_main.c
3148
rtl_mod_config2(tp, 0, ClkReqEn);
drivers/net/ethernet/realtek/r8169_main.c
3152
rtl_enable_ltr(tp);
drivers/net/ethernet/realtek/r8169_main.c
3153
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3157
r8168_mac_ocp_modify(tp, 0xe094, 0xff00, 0);
drivers/net/ethernet/realtek/r8169_main.c
3159
r8168_mac_ocp_modify(tp, 0xe092, 0x00ff, BIT(2));
drivers/net/ethernet/realtek/r8169_main.c
3165
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3168
r8168_mac_ocp_modify(tp, 0xe092, 0x00ff, 0);
drivers/net/ethernet/realtek/r8169_main.c
3174
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
3177
val8 = RTL_R8(tp, INT_CFG0_8125) & ~INT_CFG0_CLKREQEN;
drivers/net/ethernet/realtek/r8169_main.c
3178
RTL_W8(tp, INT_CFG0_8125, val8);
drivers/net/ethernet/realtek/r8169_main.c
3181
rtl_mod_config2(tp, ClkReqEn, 0);
drivers/net/ethernet/realtek/r8169_main.c
3184
rtl_mod_config5(tp, ASPM_en, 0);
drivers/net/ethernet/realtek/r8169_main.c
3188
static void rtl_set_fifo_size(struct rtl8169_private *tp, u16 rx_stat,
drivers/net/ethernet/realtek/r8169_main.c
3194
rtl_eri_write(tp, 0xc8, ERIAR_MASK_1111, (rx_stat << 16) | rx_dyn);
drivers/net/ethernet/realtek/r8169_main.c
3195
rtl_eri_write(tp, 0xe8, ERIAR_MASK_1111, (tx_stat << 16) | tx_dyn);
drivers/net/ethernet/realtek/r8169_main.c
3198
static void rtl8168g_set_pause_thresholds(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
3202
rtl_eri_write(tp, 0xcc, ERIAR_MASK_0001, low);
drivers/net/ethernet/realtek/r8169_main.c
3203
rtl_eri_write(tp, 0xd0, ERIAR_MASK_0001, high);
drivers/net/ethernet/realtek/r8169_main.c
3206
static void rtl_hw_start_8168b(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3208
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3211
static void __rtl_hw_start_8168cp(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3213
RTL_W8(tp, Config1, RTL_R8(tp, Config1) | Speed_down);
drivers/net/ethernet/realtek/r8169_main.c
3215
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3217
rtl_disable_clock_request(tp);
drivers/net/ethernet/realtek/r8169_main.c
3220
static void rtl_hw_start_8168cp_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3230
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3232
rtl_ephy_init(tp, e_info_8168cp);
drivers/net/ethernet/realtek/r8169_main.c
3234
__rtl_hw_start_8168cp(tp);
drivers/net/ethernet/realtek/r8169_main.c
3237
static void rtl_hw_start_8168cp_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3239
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3241
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3244
static void rtl_hw_start_8168cp_3(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3246
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3248
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3251
RTL_W8(tp, DBG_REG, 0x20);
drivers/net/ethernet/realtek/r8169_main.c
3254
static void rtl_hw_start_8168c_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3262
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3264
RTL_W8(tp, DBG_REG, 0x06 | FIX_NAK_1 | FIX_NAK_2);
drivers/net/ethernet/realtek/r8169_main.c
3266
rtl_ephy_init(tp, e_info_8168c_1);
drivers/net/ethernet/realtek/r8169_main.c
3268
__rtl_hw_start_8168cp(tp);
drivers/net/ethernet/realtek/r8169_main.c
3271
static void rtl_hw_start_8168c_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3278
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3280
rtl_ephy_init(tp, e_info_8168c_2);
drivers/net/ethernet/realtek/r8169_main.c
3282
__rtl_hw_start_8168cp(tp);
drivers/net/ethernet/realtek/r8169_main.c
3285
static void rtl_hw_start_8168c_4(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3287
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3289
__rtl_hw_start_8168cp(tp);
drivers/net/ethernet/realtek/r8169_main.c
3292
static void rtl_hw_start_8168d(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3294
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3296
rtl_disable_clock_request(tp);
drivers/net/ethernet/realtek/r8169_main.c
3299
static void rtl_hw_start_8168d_4(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3308
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3310
rtl_ephy_init(tp, e_info_8168d_4);
drivers/net/ethernet/realtek/r8169_main.c
3312
rtl_enable_clock_request(tp);
drivers/net/ethernet/realtek/r8169_main.c
3315
static void rtl_hw_start_8168e_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3333
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3335
rtl_ephy_init(tp, e_info_8168e_1);
drivers/net/ethernet/realtek/r8169_main.c
3337
rtl_disable_clock_request(tp);
drivers/net/ethernet/realtek/r8169_main.c
3340
RTL_W32(tp, MISC, RTL_R32(tp, MISC) | TXPLA_RST);
drivers/net/ethernet/realtek/r8169_main.c
3341
RTL_W32(tp, MISC, RTL_R32(tp, MISC) & ~TXPLA_RST);
drivers/net/ethernet/realtek/r8169_main.c
3343
rtl_mod_config5(tp, Spi_en, 0);
drivers/net/ethernet/realtek/r8169_main.c
3346
static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3355
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3357
rtl_ephy_init(tp, e_info_8168e_2);
drivers/net/ethernet/realtek/r8169_main.c
3359
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3360
rtl_eri_write(tp, 0xb8, ERIAR_MASK_1111, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3361
rtl_set_fifo_size(tp, 0x10, 0x10, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3362
rtl_eri_set_bits(tp, 0x1d0, BIT(1));
drivers/net/ethernet/realtek/r8169_main.c
3363
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3364
rtl_eri_set_bits(tp, 0x1b0, BIT(4));
drivers/net/ethernet/realtek/r8169_main.c
3365
rtl_eri_write(tp, 0xcc, ERIAR_MASK_1111, 0x00000050);
drivers/net/ethernet/realtek/r8169_main.c
3366
rtl_eri_write(tp, 0xd0, ERIAR_MASK_1111, 0x07ff0060);
drivers/net/ethernet/realtek/r8169_main.c
3368
rtl_disable_clock_request(tp);
drivers/net/ethernet/realtek/r8169_main.c
3370
RTL_W8(tp, MCU, RTL_R8(tp, MCU) & ~NOW_IS_OOB);
drivers/net/ethernet/realtek/r8169_main.c
3372
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) | PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3373
RTL_W32(tp, MISC, RTL_R32(tp, MISC) | PWM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3374
rtl_mod_config5(tp, Spi_en, 0);
drivers/net/ethernet/realtek/r8169_main.c
3377
static void rtl_hw_start_8168f(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3379
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3381
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3382
rtl_eri_write(tp, 0xb8, ERIAR_MASK_1111, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3383
rtl_set_fifo_size(tp, 0x10, 0x10, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3384
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3385
rtl_eri_set_bits(tp, 0x1b0, BIT(4));
drivers/net/ethernet/realtek/r8169_main.c
3386
rtl_eri_set_bits(tp, 0x1d0, BIT(4) | BIT(1));
drivers/net/ethernet/realtek/r8169_main.c
3387
rtl_eri_write(tp, 0xcc, ERIAR_MASK_1111, 0x00000050);
drivers/net/ethernet/realtek/r8169_main.c
3388
rtl_eri_write(tp, 0xd0, ERIAR_MASK_1111, 0x00000060);
drivers/net/ethernet/realtek/r8169_main.c
3390
rtl_disable_clock_request(tp);
drivers/net/ethernet/realtek/r8169_main.c
3392
RTL_W8(tp, MCU, RTL_R8(tp, MCU) & ~NOW_IS_OOB);
drivers/net/ethernet/realtek/r8169_main.c
3393
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) | PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3394
RTL_W32(tp, MISC, RTL_R32(tp, MISC) | PWM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3395
rtl_mod_config5(tp, Spi_en, 0);
drivers/net/ethernet/realtek/r8169_main.c
3398
static void rtl_hw_start_8168f_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3409
rtl_hw_start_8168f(tp);
drivers/net/ethernet/realtek/r8169_main.c
3411
rtl_ephy_init(tp, e_info_8168f_1);
drivers/net/ethernet/realtek/r8169_main.c
3414
static void rtl_hw_start_8411(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3424
rtl_hw_start_8168f(tp);
drivers/net/ethernet/realtek/r8169_main.c
3425
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3427
rtl_ephy_init(tp, e_info_8168f_1);
drivers/net/ethernet/realtek/r8169_main.c
3430
static void rtl_hw_start_8168g(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3432
rtl_set_fifo_size(tp, 0x08, 0x10, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3433
rtl8168g_set_pause_thresholds(tp, 0x38, 0x48);
drivers/net/ethernet/realtek/r8169_main.c
3435
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3437
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3438
rtl_eri_write(tp, 0x2f8, ERIAR_MASK_0011, 0x1d8f);
drivers/net/ethernet/realtek/r8169_main.c
3440
rtl_disable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
3442
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3443
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3445
rtl_w0w1_eri(tp, 0x2fc, 0x01, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3446
rtl_eri_clear_bits(tp, 0x1b0, BIT(12));
drivers/net/ethernet/realtek/r8169_main.c
3448
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3451
static void rtl_hw_start_8168g_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3460
rtl_hw_start_8168g(tp);
drivers/net/ethernet/realtek/r8169_main.c
3461
rtl_ephy_init(tp, e_info_8168g_1);
drivers/net/ethernet/realtek/r8169_main.c
3464
static void rtl_hw_start_8168g_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3478
rtl_hw_start_8168g(tp);
drivers/net/ethernet/realtek/r8169_main.c
3479
rtl_ephy_init(tp, e_info_8168g_2);
drivers/net/ethernet/realtek/r8169_main.c
3482
static void rtl8411b_fix_phy_down(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3503
raw_spin_lock_irqsave(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
3505
__r8168_mac_ocp_write(tp, 0xf800 + 2 * i, fix_data[i]);
drivers/net/ethernet/realtek/r8169_main.c
3506
raw_spin_unlock_irqrestore(&tp->mac_ocp_lock, flags);
drivers/net/ethernet/realtek/r8169_main.c
3509
static void rtl_hw_start_8411_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3524
rtl_hw_start_8168g(tp);
drivers/net/ethernet/realtek/r8169_main.c
3526
rtl_ephy_init(tp, e_info_8411_2);
drivers/net/ethernet/realtek/r8169_main.c
3531
r8168_mac_ocp_write(tp, 0xFC28, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3532
r8168_mac_ocp_write(tp, 0xFC2A, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3533
r8168_mac_ocp_write(tp, 0xFC2C, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3534
r8168_mac_ocp_write(tp, 0xFC2E, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3535
r8168_mac_ocp_write(tp, 0xFC30, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3536
r8168_mac_ocp_write(tp, 0xFC32, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3537
r8168_mac_ocp_write(tp, 0xFC34, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3538
r8168_mac_ocp_write(tp, 0xFC36, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3540
r8168_mac_ocp_write(tp, 0xFC26, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3542
rtl8411b_fix_phy_down(tp);
drivers/net/ethernet/realtek/r8169_main.c
3544
r8168_mac_ocp_write(tp, 0xFC26, 0x8000);
drivers/net/ethernet/realtek/r8169_main.c
3546
r8168_mac_ocp_write(tp, 0xFC2A, 0x0743);
drivers/net/ethernet/realtek/r8169_main.c
3547
r8168_mac_ocp_write(tp, 0xFC2C, 0x0801);
drivers/net/ethernet/realtek/r8169_main.c
3548
r8168_mac_ocp_write(tp, 0xFC2E, 0x0BE9);
drivers/net/ethernet/realtek/r8169_main.c
3549
r8168_mac_ocp_write(tp, 0xFC30, 0x02FD);
drivers/net/ethernet/realtek/r8169_main.c
3550
r8168_mac_ocp_write(tp, 0xFC32, 0x0C25);
drivers/net/ethernet/realtek/r8169_main.c
3551
r8168_mac_ocp_write(tp, 0xFC34, 0x00A9);
drivers/net/ethernet/realtek/r8169_main.c
3552
r8168_mac_ocp_write(tp, 0xFC36, 0x012D);
drivers/net/ethernet/realtek/r8169_main.c
3555
static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3567
rtl_ephy_init(tp, e_info_8168h_1);
drivers/net/ethernet/realtek/r8169_main.c
3569
rtl_set_fifo_size(tp, 0x08, 0x10, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3570
rtl8168g_set_pause_thresholds(tp, 0x38, 0x48);
drivers/net/ethernet/realtek/r8169_main.c
3572
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3574
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3576
rtl_eri_set_bits(tp, 0xdc, 0x001c);
drivers/net/ethernet/realtek/r8169_main.c
3578
rtl_eri_write(tp, 0x5f0, ERIAR_MASK_0011, 0x4f87);
drivers/net/ethernet/realtek/r8169_main.c
3580
rtl_disable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
3582
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3583
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3585
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3586
RTL_W8(tp, MISC_1, RTL_R8(tp, MISC_1) & ~PFM_D3COLD_EN);
drivers/net/ethernet/realtek/r8169_main.c
3588
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~TX_10M_PS_EN);
drivers/net/ethernet/realtek/r8169_main.c
3590
rtl_eri_clear_bits(tp, 0x1b0, BIT(12));
drivers/net/ethernet/realtek/r8169_main.c
3592
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3594
rg_saw_cnt = phy_read_paged(tp->phydev, 0x0c42, 0x13) & 0x3fff;
drivers/net/ethernet/realtek/r8169_main.c
3600
r8168_mac_ocp_modify(tp, 0xd412, 0x0fff, sw_cnt_1ms_ini);
drivers/net/ethernet/realtek/r8169_main.c
3603
r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3604
r8168_mac_ocp_modify(tp, 0xe052, 0x6000, 0x8008);
drivers/net/ethernet/realtek/r8169_main.c
3605
r8168_mac_ocp_modify(tp, 0xe0d6, 0x01ff, 0x017f);
drivers/net/ethernet/realtek/r8169_main.c
3606
r8168_mac_ocp_modify(tp, 0xd420, 0x0fff, 0x047f);
drivers/net/ethernet/realtek/r8169_main.c
3608
r8168_mac_ocp_write(tp, 0xe63e, 0x0001);
drivers/net/ethernet/realtek/r8169_main.c
3609
r8168_mac_ocp_write(tp, 0xe63e, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3610
r8168_mac_ocp_write(tp, 0xc094, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3611
r8168_mac_ocp_write(tp, 0xc09e, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3614
static void rtl_hw_start_8168ep(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3616
rtl8168ep_stop_cmac(tp);
drivers/net/ethernet/realtek/r8169_main.c
3618
rtl_set_fifo_size(tp, 0x08, 0x10, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3619
rtl8168g_set_pause_thresholds(tp, 0x2f, 0x5f);
drivers/net/ethernet/realtek/r8169_main.c
3621
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3623
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3625
rtl_eri_write(tp, 0x5f0, ERIAR_MASK_0011, 0x4f87);
drivers/net/ethernet/realtek/r8169_main.c
3627
rtl_disable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
3629
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3630
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3632
rtl_w0w1_eri(tp, 0x2fc, 0x01, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3634
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~TX_10M_PS_EN);
drivers/net/ethernet/realtek/r8169_main.c
3636
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3639
static void rtl_hw_start_8168ep_3(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3648
rtl_ephy_init(tp, e_info_8168ep_3);
drivers/net/ethernet/realtek/r8169_main.c
3650
rtl_hw_start_8168ep(tp);
drivers/net/ethernet/realtek/r8169_main.c
3652
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3653
RTL_W8(tp, MISC_1, RTL_R8(tp, MISC_1) & ~PFM_D3COLD_EN);
drivers/net/ethernet/realtek/r8169_main.c
3655
r8168_mac_ocp_modify(tp, 0xd3e2, 0x0fff, 0x0271);
drivers/net/ethernet/realtek/r8169_main.c
3656
r8168_mac_ocp_modify(tp, 0xd3e4, 0x00ff, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3657
r8168_mac_ocp_modify(tp, 0xe860, 0x0000, 0x0080);
drivers/net/ethernet/realtek/r8169_main.c
3660
static void rtl_hw_start_8117(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3668
rtl8168ep_stop_cmac(tp);
drivers/net/ethernet/realtek/r8169_main.c
3669
rtl_ephy_init(tp, e_info_8117);
drivers/net/ethernet/realtek/r8169_main.c
3671
rtl_set_fifo_size(tp, 0x08, 0x10, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3672
rtl8168g_set_pause_thresholds(tp, 0x2f, 0x5f);
drivers/net/ethernet/realtek/r8169_main.c
3674
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3676
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3678
rtl_eri_set_bits(tp, 0xd4, 0x0010);
drivers/net/ethernet/realtek/r8169_main.c
3680
rtl_eri_write(tp, 0x5f0, ERIAR_MASK_0011, 0x4f87);
drivers/net/ethernet/realtek/r8169_main.c
3682
rtl_disable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
3684
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3685
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3687
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3688
RTL_W8(tp, MISC_1, RTL_R8(tp, MISC_1) & ~PFM_D3COLD_EN);
drivers/net/ethernet/realtek/r8169_main.c
3690
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~TX_10M_PS_EN);
drivers/net/ethernet/realtek/r8169_main.c
3692
rtl_eri_clear_bits(tp, 0x1b0, BIT(12));
drivers/net/ethernet/realtek/r8169_main.c
3694
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3696
rg_saw_cnt = phy_read_paged(tp->phydev, 0x0c42, 0x13) & 0x3fff;
drivers/net/ethernet/realtek/r8169_main.c
3701
r8168_mac_ocp_modify(tp, 0xd412, 0x0fff, sw_cnt_1ms_ini);
drivers/net/ethernet/realtek/r8169_main.c
3704
r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3705
r8168_mac_ocp_write(tp, 0xea80, 0x0003);
drivers/net/ethernet/realtek/r8169_main.c
3706
r8168_mac_ocp_modify(tp, 0xe052, 0x0000, 0x0009);
drivers/net/ethernet/realtek/r8169_main.c
3707
r8168_mac_ocp_modify(tp, 0xd420, 0x0fff, 0x047f);
drivers/net/ethernet/realtek/r8169_main.c
3709
r8168_mac_ocp_write(tp, 0xe63e, 0x0001);
drivers/net/ethernet/realtek/r8169_main.c
3710
r8168_mac_ocp_write(tp, 0xe63e, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3711
r8168_mac_ocp_write(tp, 0xc094, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3712
r8168_mac_ocp_write(tp, 0xc09e, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3715
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_main.c
3718
static void rtl_hw_start_8102e_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3732
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3734
RTL_W8(tp, DBG_REG, FIX_NAK_1);
drivers/net/ethernet/realtek/r8169_main.c
3736
RTL_W8(tp, Config1,
drivers/net/ethernet/realtek/r8169_main.c
3738
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3740
cfg1 = RTL_R8(tp, Config1);
drivers/net/ethernet/realtek/r8169_main.c
3742
RTL_W8(tp, Config1, cfg1 & ~LEDS0);
drivers/net/ethernet/realtek/r8169_main.c
3744
rtl_ephy_init(tp, e_info_8102e_1);
drivers/net/ethernet/realtek/r8169_main.c
3747
static void rtl_hw_start_8102e_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3749
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3751
RTL_W8(tp, Config1, MEMMAP | IOMAP | VPD | PMEnable);
drivers/net/ethernet/realtek/r8169_main.c
3752
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3755
static void rtl_hw_start_8102e_3(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3757
rtl_hw_start_8102e_2(tp);
drivers/net/ethernet/realtek/r8169_main.c
3759
rtl_ephy_write(tp, 0x03, 0xc2f9);
drivers/net/ethernet/realtek/r8169_main.c
3762
static void rtl_hw_start_8401(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3771
rtl_ephy_init(tp, e_info_8401);
drivers/net/ethernet/realtek/r8169_main.c
3772
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Beacon_en);
drivers/net/ethernet/realtek/r8169_main.c
3775
static void rtl_hw_start_8105e_1(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3789
RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) | 0x002800);
drivers/net/ethernet/realtek/r8169_main.c
3792
RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) & ~0x010000);
drivers/net/ethernet/realtek/r8169_main.c
3794
RTL_W8(tp, MCU, RTL_R8(tp, MCU) | EN_NDP | EN_OOB_RESET);
drivers/net/ethernet/realtek/r8169_main.c
3795
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) | PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3797
rtl_ephy_init(tp, e_info_8105e_1);
drivers/net/ethernet/realtek/r8169_main.c
3799
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3802
static void rtl_hw_start_8105e_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3804
rtl_hw_start_8105e_1(tp);
drivers/net/ethernet/realtek/r8169_main.c
3805
rtl_ephy_write(tp, 0x1e, rtl_ephy_read(tp, 0x1e) | 0x8000);
drivers/net/ethernet/realtek/r8169_main.c
3808
static void rtl_hw_start_8402(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3815
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3818
RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) | 0x002800);
drivers/net/ethernet/realtek/r8169_main.c
3820
RTL_W8(tp, MCU, RTL_R8(tp, MCU) & ~NOW_IS_OOB);
drivers/net/ethernet/realtek/r8169_main.c
3822
rtl_ephy_init(tp, e_info_8402);
drivers/net/ethernet/realtek/r8169_main.c
3824
rtl_set_fifo_size(tp, 0x00, 0x00, 0x02, 0x06);
drivers/net/ethernet/realtek/r8169_main.c
3825
rtl_reset_packet_filter(tp);
drivers/net/ethernet/realtek/r8169_main.c
3826
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3827
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3828
rtl_w0w1_eri(tp, 0x0d4, 0x0e00, 0xff00);
drivers/net/ethernet/realtek/r8169_main.c
3831
rtl_eri_write(tp, 0x1b0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3833
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3836
static void rtl_hw_start_8106(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3839
RTL_W32(tp, FuncEvent, RTL_R32(tp, FuncEvent) | 0x002800);
drivers/net/ethernet/realtek/r8169_main.c
3841
RTL_W32(tp, MISC, (RTL_R32(tp, MISC) | DISABLE_LAN_EN) & ~EARLY_TALLY_EN);
drivers/net/ethernet/realtek/r8169_main.c
3842
RTL_W8(tp, MCU, RTL_R8(tp, MCU) | EN_NDP | EN_OOB_RESET);
drivers/net/ethernet/realtek/r8169_main.c
3843
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN);
drivers/net/ethernet/realtek/r8169_main.c
3846
rtl_set_aspm_entry_latency(tp, 0x2f);
drivers/net/ethernet/realtek/r8169_main.c
3848
rtl_eri_write(tp, 0x1d0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3851
rtl_eri_write(tp, 0x1b0, ERIAR_MASK_0011, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3853
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3858
return r8168_mac_ocp_read(tp, 0xe00e) & BIT(13);
drivers/net/ethernet/realtek/r8169_main.c
3861
static void rtl_hw_start_8125_common(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3863
rtl_pcie_state_l2l3_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
3865
RTL_W16(tp, 0x382, 0x221b);
drivers/net/ethernet/realtek/r8169_main.c
3866
RTL_W32(tp, RSS_CTRL_8125, 0);
drivers/net/ethernet/realtek/r8169_main.c
3867
RTL_W16(tp, Q_NUM_CTRL_8125, 0);
drivers/net/ethernet/realtek/r8169_main.c
3870
r8168_mac_ocp_modify(tp, 0xd40a, 0x0010, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3872
RTL_W8(tp, Config1, RTL_R8(tp, Config1) & ~0x10);
drivers/net/ethernet/realtek/r8169_main.c
3874
r8168_mac_ocp_write(tp, 0xc140, 0xffff);
drivers/net/ethernet/realtek/r8169_main.c
3875
r8168_mac_ocp_write(tp, 0xc142, 0xffff);
drivers/net/ethernet/realtek/r8169_main.c
3877
r8168_mac_ocp_modify(tp, 0xd3e2, 0x0fff, 0x03a9);
drivers/net/ethernet/realtek/r8169_main.c
3878
r8168_mac_ocp_modify(tp, 0xd3e4, 0x00ff, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3879
r8168_mac_ocp_modify(tp, 0xe860, 0x0000, 0x0080);
drivers/net/ethernet/realtek/r8169_main.c
3882
r8168_mac_ocp_modify(tp, 0xeb58, 0x0001, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3884
if (tp->mac_version == RTL_GIGA_MAC_VER_70 ||
drivers/net/ethernet/realtek/r8169_main.c
3885
tp->mac_version == RTL_GIGA_MAC_VER_80)
drivers/net/ethernet/realtek/r8169_main.c
3886
RTL_W8(tp, 0xD8, RTL_R8(tp, 0xD8) & ~0x02);
drivers/net/ethernet/realtek/r8169_main.c
3888
if (tp->mac_version == RTL_GIGA_MAC_VER_80)
drivers/net/ethernet/realtek/r8169_main.c
3889
r8168_mac_ocp_modify(tp, 0xe614, 0x0f00, 0x0f00);
drivers/net/ethernet/realtek/r8169_main.c
3890
else if (tp->mac_version == RTL_GIGA_MAC_VER_70)
drivers/net/ethernet/realtek/r8169_main.c
3891
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0400);
drivers/net/ethernet/realtek/r8169_main.c
3892
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
drivers/net/ethernet/realtek/r8169_main.c
3893
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
drivers/net/ethernet/realtek/r8169_main.c
3895
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0300);
drivers/net/ethernet/realtek/r8169_main.c
3897
if (tp->mac_version == RTL_GIGA_MAC_VER_63)
drivers/net/ethernet/realtek/r8169_main.c
3898
r8168_mac_ocp_modify(tp, 0xe63e, 0x0c30, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3900
r8168_mac_ocp_modify(tp, 0xe63e, 0x0c30, 0x0020);
drivers/net/ethernet/realtek/r8169_main.c
3902
r8168_mac_ocp_modify(tp, 0xc0b4, 0x0000, 0x000c);
drivers/net/ethernet/realtek/r8169_main.c
3903
r8168_mac_ocp_modify(tp, 0xeb6a, 0x00ff, 0x0033);
drivers/net/ethernet/realtek/r8169_main.c
3904
r8168_mac_ocp_modify(tp, 0xeb50, 0x03e0, 0x0040);
drivers/net/ethernet/realtek/r8169_main.c
3905
r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3906
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3907
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
drivers/net/ethernet/realtek/r8169_main.c
3908
if (tp->mac_version == RTL_GIGA_MAC_VER_70 ||
drivers/net/ethernet/realtek/r8169_main.c
3909
tp->mac_version == RTL_GIGA_MAC_VER_80)
drivers/net/ethernet/realtek/r8169_main.c
3910
r8168_mac_ocp_modify(tp, 0xea1c, 0x0300, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3912
r8168_mac_ocp_modify(tp, 0xea1c, 0x0004, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3913
r8168_mac_ocp_modify(tp, 0xe0c0, 0x4f0f, 0x4403);
drivers/net/ethernet/realtek/r8169_main.c
3914
r8168_mac_ocp_modify(tp, 0xe052, 0x0080, 0x0068);
drivers/net/ethernet/realtek/r8169_main.c
3915
r8168_mac_ocp_modify(tp, 0xd430, 0x0fff, 0x047f);
drivers/net/ethernet/realtek/r8169_main.c
3917
r8168_mac_ocp_modify(tp, 0xea1c, 0x0004, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3918
r8168_mac_ocp_modify(tp, 0xeb54, 0x0000, 0x0001);
drivers/net/ethernet/realtek/r8169_main.c
3920
r8168_mac_ocp_modify(tp, 0xeb54, 0x0001, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
3921
RTL_W16(tp, 0x1880, RTL_R16(tp, 0x1880) & ~0x0030);
drivers/net/ethernet/realtek/r8169_main.c
3923
r8168_mac_ocp_write(tp, 0xe098, 0xc302);
drivers/net/ethernet/realtek/r8169_main.c
3925
rtl_loop_wait_low(tp, &rtl_mac_ocp_e00e_cond, 1000, 10);
drivers/net/ethernet/realtek/r8169_main.c
3927
rtl_disable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
3930
static void rtl_hw_start_8125a_2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3948
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3949
rtl_ephy_init(tp, e_info_8125a_2);
drivers/net/ethernet/realtek/r8169_main.c
3950
rtl_hw_start_8125_common(tp);
drivers/net/ethernet/realtek/r8169_main.c
3953
static void rtl_hw_start_8125b(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3964
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3965
rtl_ephy_init(tp, e_info_8125b);
drivers/net/ethernet/realtek/r8169_main.c
3966
rtl_hw_start_8125_common(tp);
drivers/net/ethernet/realtek/r8169_main.c
3969
static void rtl_hw_start_8125d(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3971
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3972
rtl_hw_start_8125_common(tp);
drivers/net/ethernet/realtek/r8169_main.c
3975
static void rtl_hw_start_8126a(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3977
rtl_disable_zrxdc_timeout(tp);
drivers/net/ethernet/realtek/r8169_main.c
3978
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3979
rtl_hw_start_8125_common(tp);
drivers/net/ethernet/realtek/r8169_main.c
3982
static void rtl_hw_start_8127a(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
3984
rtl_set_def_aspm_entry_latency(tp);
drivers/net/ethernet/realtek/r8169_main.c
3985
rtl_hw_start_8125_common(tp);
drivers/net/ethernet/realtek/r8169_main.c
3988
static void rtl_hw_config(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4035
if (hw_configs[tp->mac_version])
drivers/net/ethernet/realtek/r8169_main.c
4036
hw_configs[tp->mac_version](tp);
drivers/net/ethernet/realtek/r8169_main.c
4039
static void rtl_hw_start_8125(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4043
RTL_W8(tp, INT_CFG0_8125, 0x00);
drivers/net/ethernet/realtek/r8169_main.c
4046
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
4053
RTL_W32(tp, i, 0);
drivers/net/ethernet/realtek/r8169_main.c
4054
if (tp->mac_version == RTL_GIGA_MAC_VER_80)
drivers/net/ethernet/realtek/r8169_main.c
4055
RTL_W16(tp, INT_CFG1_8125, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
4060
RTL_W32(tp, i, 0);
drivers/net/ethernet/realtek/r8169_main.c
4061
RTL_W16(tp, INT_CFG1_8125, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
4068
r8168_mac_ocp_modify(tp, 0xea84, 0, BIT(1) | BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
4070
rtl_hw_config(tp);
drivers/net/ethernet/realtek/r8169_main.c
4073
static void rtl_hw_start_8168(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4075
if (rtl_is_8168evl_up(tp))
drivers/net/ethernet/realtek/r8169_main.c
4076
RTL_W8(tp, MaxTxPacketSize, EarlySize);
drivers/net/ethernet/realtek/r8169_main.c
4078
RTL_W8(tp, MaxTxPacketSize, TxPacketMax);
drivers/net/ethernet/realtek/r8169_main.c
4080
rtl_hw_config(tp);
drivers/net/ethernet/realtek/r8169_main.c
4083
RTL_W16(tp, IntrMitigate, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
4086
static void rtl_hw_start_8169(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4088
RTL_W8(tp, EarlyTxThres, NoEarlyTx);
drivers/net/ethernet/realtek/r8169_main.c
4090
tp->cp_cmd |= PCIMulRW;
drivers/net/ethernet/realtek/r8169_main.c
4092
if (tp->mac_version == RTL_GIGA_MAC_VER_02 ||
drivers/net/ethernet/realtek/r8169_main.c
4093
tp->mac_version == RTL_GIGA_MAC_VER_03)
drivers/net/ethernet/realtek/r8169_main.c
4094
tp->cp_cmd |= EnAnaPLL;
drivers/net/ethernet/realtek/r8169_main.c
4096
RTL_W16(tp, CPlusCmd, tp->cp_cmd);
drivers/net/ethernet/realtek/r8169_main.c
4098
rtl8169_set_magic_reg(tp);
drivers/net/ethernet/realtek/r8169_main.c
4101
RTL_W16(tp, IntrMitigate, 0x0000);
drivers/net/ethernet/realtek/r8169_main.c
4104
static void rtl_hw_start(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4106
rtl_unlock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
4108
rtl_hw_aspm_clkreq_enable(tp, false);
drivers/net/ethernet/realtek/r8169_main.c
4109
RTL_W16(tp, CPlusCmd, tp->cp_cmd);
drivers/net/ethernet/realtek/r8169_main.c
4111
rtl_set_eee_txidle_timer(tp);
drivers/net/ethernet/realtek/r8169_main.c
4113
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
drivers/net/ethernet/realtek/r8169_main.c
4114
rtl_hw_start_8169(tp);
drivers/net/ethernet/realtek/r8169_main.c
4115
else if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
4116
rtl_hw_start_8125(tp);
drivers/net/ethernet/realtek/r8169_main.c
4118
rtl_hw_start_8168(tp);
drivers/net/ethernet/realtek/r8169_main.c
4120
rtl_enable_exit_l1(tp);
drivers/net/ethernet/realtek/r8169_main.c
4121
rtl_hw_aspm_clkreq_enable(tp, true);
drivers/net/ethernet/realtek/r8169_main.c
4122
rtl_set_rx_max_size(tp);
drivers/net/ethernet/realtek/r8169_main.c
4123
rtl_set_rx_tx_desc_registers(tp);
drivers/net/ethernet/realtek/r8169_main.c
4124
rtl_lock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
4126
rtl_jumbo_config(tp);
drivers/net/ethernet/realtek/r8169_main.c
4129
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
4131
RTL_W8(tp, ChipCmd, CmdTxEnb | CmdRxEnb);
drivers/net/ethernet/realtek/r8169_main.c
4132
rtl_init_rxcfg(tp);
drivers/net/ethernet/realtek/r8169_main.c
4133
rtl_set_tx_config_registers(tp);
drivers/net/ethernet/realtek/r8169_main.c
4134
rtl_set_rx_config_features(tp, tp->dev->features);
drivers/net/ethernet/realtek/r8169_main.c
4135
rtl_set_rx_mode(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
4136
rtl_irq_enable(tp);
drivers/net/ethernet/realtek/r8169_main.c
4141
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
4145
rtl_jumbo_config(tp);
drivers/net/ethernet/realtek/r8169_main.c
4146
rtl_set_eee_txidle_timer(tp);
drivers/net/ethernet/realtek/r8169_main.c
4161
static struct page *rtl8169_alloc_rx_data(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
4164
struct device *d = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
4175
netdev_err(tp->dev, "Failed to map RX DMA!\n");
drivers/net/ethernet/realtek/r8169_main.c
4186
static void rtl8169_rx_clear(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4190
for (i = 0; i < NUM_RX_DESC && tp->Rx_databuff[i]; i++) {
drivers/net/ethernet/realtek/r8169_main.c
4191
dma_unmap_page(tp_to_dev(tp),
drivers/net/ethernet/realtek/r8169_main.c
4192
le64_to_cpu(tp->RxDescArray[i].addr),
drivers/net/ethernet/realtek/r8169_main.c
4194
__free_pages(tp->Rx_databuff[i], get_order(R8169_RX_BUF_SIZE));
drivers/net/ethernet/realtek/r8169_main.c
4195
tp->Rx_databuff[i] = NULL;
drivers/net/ethernet/realtek/r8169_main.c
4196
tp->RxDescArray[i].addr = 0;
drivers/net/ethernet/realtek/r8169_main.c
4197
tp->RxDescArray[i].opts1 = 0;
drivers/net/ethernet/realtek/r8169_main.c
4201
static int rtl8169_rx_fill(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4208
data = rtl8169_alloc_rx_data(tp, tp->RxDescArray + i);
drivers/net/ethernet/realtek/r8169_main.c
4210
rtl8169_rx_clear(tp);
drivers/net/ethernet/realtek/r8169_main.c
4213
tp->Rx_databuff[i] = data;
drivers/net/ethernet/realtek/r8169_main.c
4217
tp->RxDescArray[NUM_RX_DESC - 1].opts1 |= cpu_to_le32(RingEnd);
drivers/net/ethernet/realtek/r8169_main.c
4222
static int rtl8169_init_ring(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4224
rtl8169_init_ring_indexes(tp);
drivers/net/ethernet/realtek/r8169_main.c
4226
memset(tp->tx_skb, 0, sizeof(tp->tx_skb));
drivers/net/ethernet/realtek/r8169_main.c
4227
memset(tp->Rx_databuff, 0, sizeof(tp->Rx_databuff));
drivers/net/ethernet/realtek/r8169_main.c
4229
return rtl8169_rx_fill(tp);
drivers/net/ethernet/realtek/r8169_main.c
4232
static void rtl8169_unmap_tx_skb(struct rtl8169_private *tp, unsigned int entry)
drivers/net/ethernet/realtek/r8169_main.c
4234
struct ring_info *tx_skb = tp->tx_skb + entry;
drivers/net/ethernet/realtek/r8169_main.c
4235
struct TxDesc *desc = tp->TxDescArray + entry;
drivers/net/ethernet/realtek/r8169_main.c
4237
dma_unmap_single(tp_to_dev(tp), le64_to_cpu(desc->addr), tx_skb->len,
drivers/net/ethernet/realtek/r8169_main.c
4243
static void rtl8169_tx_clear_range(struct rtl8169_private *tp, u32 start,
drivers/net/ethernet/realtek/r8169_main.c
4250
struct ring_info *tx_skb = tp->tx_skb + entry;
drivers/net/ethernet/realtek/r8169_main.c
4256
rtl8169_unmap_tx_skb(tp, entry);
drivers/net/ethernet/realtek/r8169_main.c
4263
static void rtl8169_tx_clear(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4265
rtl8169_tx_clear_range(tp, tp->dirty_tx, NUM_TX_DESC);
drivers/net/ethernet/realtek/r8169_main.c
4266
netdev_reset_queue(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
4269
static void rtl8169_cleanup(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4271
napi_disable(&tp->napi);
drivers/net/ethernet/realtek/r8169_main.c
4277
rtl8169_irq_mask_and_ack(tp);
drivers/net/ethernet/realtek/r8169_main.c
4279
rtl_rx_close(tp);
drivers/net/ethernet/realtek/r8169_main.c
4281
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
4284
rtl_loop_wait_low(tp, &rtl_npq_cond, 20, 2000);
drivers/net/ethernet/realtek/r8169_main.c
4287
RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
drivers/net/ethernet/realtek/r8169_main.c
4288
rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 666);
drivers/net/ethernet/realtek/r8169_main.c
4291
rtl_enable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
4295
RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
drivers/net/ethernet/realtek/r8169_main.c
4300
rtl_hw_reset(tp);
drivers/net/ethernet/realtek/r8169_main.c
4302
rtl8169_tx_clear(tp);
drivers/net/ethernet/realtek/r8169_main.c
4303
rtl8169_init_ring_indexes(tp);
drivers/net/ethernet/realtek/r8169_main.c
4306
static void rtl_reset_work(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4310
netif_stop_queue(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
4312
rtl8169_cleanup(tp);
drivers/net/ethernet/realtek/r8169_main.c
4315
rtl8169_mark_to_asic(tp->RxDescArray + i);
drivers/net/ethernet/realtek/r8169_main.c
4317
napi_enable(&tp->napi);
drivers/net/ethernet/realtek/r8169_main.c
4318
rtl_hw_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
4323
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
4325
rtl_schedule_task(tp, RTL_FLAG_TASK_TX_TIMEOUT);
drivers/net/ethernet/realtek/r8169_main.c
4328
static int rtl8169_tx_map(struct rtl8169_private *tp, const u32 *opts, u32 len,
drivers/net/ethernet/realtek/r8169_main.c
4331
struct TxDesc *txd = tp->TxDescArray + entry;
drivers/net/ethernet/realtek/r8169_main.c
4332
struct device *d = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
4341
netdev_err(tp->dev, "Failed to map TX data!\n");
drivers/net/ethernet/realtek/r8169_main.c
4355
tp->tx_skb[entry].len = len;
drivers/net/ethernet/realtek/r8169_main.c
4360
static int rtl8169_xmit_frags(struct rtl8169_private *tp, struct sk_buff *skb,
drivers/net/ethernet/realtek/r8169_main.c
4373
if (unlikely(rtl8169_tx_map(tp, opts, len, addr, entry, true)))
drivers/net/ethernet/realtek/r8169_main.c
4380
rtl8169_tx_clear_range(tp, tp->cur_tx + 1, cur_frag);
drivers/net/ethernet/realtek/r8169_main.c
4405
static unsigned int rtl8125_quirk_udp_padto(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
4432
static unsigned int rtl_quirk_packet_padto(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
4437
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
4439
padto = rtl8125_quirk_udp_padto(tp, skb);
drivers/net/ethernet/realtek/r8169_main.c
4445
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
4476
static bool rtl8169_tso_csum_v2(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
4525
unsigned int padto = rtl_quirk_packet_padto(tp, skb);
drivers/net/ethernet/realtek/r8169_main.c
4534
static unsigned int rtl_tx_slots_avail(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4536
return READ_ONCE(tp->dirty_tx) + NUM_TX_DESC - READ_ONCE(tp->cur_tx);
drivers/net/ethernet/realtek/r8169_main.c
4540
static bool rtl_chip_supports_csum_v2(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4542
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
4551
static void rtl8169_doorbell(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4553
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
4554
RTL_W16(tp, TxPoll_8125, BIT(0));
drivers/net/ethernet/realtek/r8169_main.c
4556
RTL_W8(tp, TxPoll, NPQ);
drivers/net/ethernet/realtek/r8169_main.c
4562
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
4563
unsigned int entry = tp->cur_tx % NUM_TX_DESC;
drivers/net/ethernet/realtek/r8169_main.c
4569
if (unlikely(!rtl_tx_slots_avail(tp))) {
drivers/net/ethernet/realtek/r8169_main.c
4579
if (!rtl_chip_supports_csum_v2(tp))
drivers/net/ethernet/realtek/r8169_main.c
4581
else if (!rtl8169_tso_csum_v2(tp, skb, opts))
drivers/net/ethernet/realtek/r8169_main.c
4584
if (unlikely(rtl8169_tx_map(tp, opts, skb_headlen(skb), skb->data,
drivers/net/ethernet/realtek/r8169_main.c
4588
txd_first = tp->TxDescArray + entry;
drivers/net/ethernet/realtek/r8169_main.c
4592
if (rtl8169_xmit_frags(tp, skb, opts, entry))
drivers/net/ethernet/realtek/r8169_main.c
4597
txd_last = tp->TxDescArray + entry;
drivers/net/ethernet/realtek/r8169_main.c
4599
tp->tx_skb[entry].skb = skb;
drivers/net/ethernet/realtek/r8169_main.c
4613
WRITE_ONCE(tp->cur_tx, tp->cur_tx + frags + 1);
drivers/net/ethernet/realtek/r8169_main.c
4615
stop_queue = !netif_subqueue_maybe_stop(dev, 0, rtl_tx_slots_avail(tp),
drivers/net/ethernet/realtek/r8169_main.c
4619
rtl8169_doorbell(tp);
drivers/net/ethernet/realtek/r8169_main.c
4624
rtl8169_unmap_tx_skb(tp, entry);
drivers/net/ethernet/realtek/r8169_main.c
4666
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
4669
if (tp->mac_version == RTL_GIGA_MAC_VER_34)
drivers/net/ethernet/realtek/r8169_main.c
4673
rtl_chip_supports_csum_v2(tp))
drivers/net/ethernet/realtek/r8169_main.c
4680
if (rtl_quirk_packet_padto(tp, skb))
drivers/net/ethernet/realtek/r8169_main.c
4684
rtl_chip_supports_csum_v2(tp))
drivers/net/ethernet/realtek/r8169_main.c
4693
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
4694
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
4706
rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING);
drivers/net/ethernet/realtek/r8169_main.c
4709
static void rtl_tx(struct net_device *dev, struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
4715
dirty_tx = tp->dirty_tx;
drivers/net/ethernet/realtek/r8169_main.c
4717
while (READ_ONCE(tp->cur_tx) != dirty_tx) {
drivers/net/ethernet/realtek/r8169_main.c
4721
status = le32_to_cpu(READ_ONCE(tp->TxDescArray[entry].opts1));
drivers/net/ethernet/realtek/r8169_main.c
4725
skb = tp->tx_skb[entry].skb;
drivers/net/ethernet/realtek/r8169_main.c
4726
rtl8169_unmap_tx_skb(tp, entry);
drivers/net/ethernet/realtek/r8169_main.c
4736
if (tp->dirty_tx != dirty_tx) {
drivers/net/ethernet/realtek/r8169_main.c
4738
WRITE_ONCE(tp->dirty_tx, dirty_tx);
drivers/net/ethernet/realtek/r8169_main.c
4741
rtl_tx_slots_avail(tp),
drivers/net/ethernet/realtek/r8169_main.c
4751
if (READ_ONCE(tp->cur_tx) != dirty_tx && skb)
drivers/net/ethernet/realtek/r8169_main.c
4752
rtl8169_doorbell(tp);
drivers/net/ethernet/realtek/r8169_main.c
4771
static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, int budget)
drivers/net/ethernet/realtek/r8169_main.c
4773
struct device *d = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
4776
for (count = 0; count < budget; count++, tp->cur_rx++) {
drivers/net/ethernet/realtek/r8169_main.c
4777
unsigned int pkt_size, entry = tp->cur_rx % NUM_RX_DESC;
drivers/net/ethernet/realtek/r8169_main.c
4778
struct RxDesc *desc = tp->RxDescArray + entry;
drivers/net/ethernet/realtek/r8169_main.c
4823
skb = napi_alloc_skb(&tp->napi, pkt_size);
drivers/net/ethernet/realtek/r8169_main.c
4830
rx_buf = page_address(tp->Rx_databuff[entry]);
drivers/net/ethernet/realtek/r8169_main.c
4847
napi_gro_receive(&tp->napi, skb);
drivers/net/ethernet/realtek/r8169_main.c
4859
struct rtl8169_private *tp = dev_instance;
drivers/net/ethernet/realtek/r8169_main.c
4860
u32 status = rtl_get_events(tp);
drivers/net/ethernet/realtek/r8169_main.c
4862
if ((status & 0xffff) == 0xffff || !(status & tp->irq_mask))
drivers/net/ethernet/realtek/r8169_main.c
4867
tp->mac_version <= RTL_GIGA_MAC_VER_06)) {
drivers/net/ethernet/realtek/r8169_main.c
4868
rtl8169_pcierr_interrupt(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
4873
phy_mac_interrupt(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
4875
rtl_irq_disable(tp);
drivers/net/ethernet/realtek/r8169_main.c
4876
napi_schedule(&tp->napi);
drivers/net/ethernet/realtek/r8169_main.c
4878
rtl_ack_events(tp, status);
drivers/net/ethernet/realtek/r8169_main.c
4885
struct rtl8169_private *tp =
drivers/net/ethernet/realtek/r8169_main.c
4889
if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) {
drivers/net/ethernet/realtek/r8169_main.c
4891
if (RTL_R32(tp, TxConfig) == ~0) {
drivers/net/ethernet/realtek/r8169_main.c
4892
ret = pci_reset_bus(tp->pci_dev);
drivers/net/ethernet/realtek/r8169_main.c
4894
netdev_err(tp->dev, "Can't reset secondary PCI bus, detach NIC\n");
drivers/net/ethernet/realtek/r8169_main.c
4895
netif_device_detach(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
4901
ret = pci_disable_link_state(tp->pci_dev, PCIE_LINK_STATE_L1 |
drivers/net/ethernet/realtek/r8169_main.c
4904
netdev_warn_once(tp->dev, "ASPM disabled on Tx timeout\n");
drivers/net/ethernet/realtek/r8169_main.c
4908
if (test_and_clear_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags)) {
drivers/net/ethernet/realtek/r8169_main.c
4910
rtl_reset_work(tp);
drivers/net/ethernet/realtek/r8169_main.c
4911
netif_wake_queue(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
4917
struct rtl8169_private *tp = container_of(napi, struct rtl8169_private, napi);
drivers/net/ethernet/realtek/r8169_main.c
4918
struct net_device *dev = tp->dev;
drivers/net/ethernet/realtek/r8169_main.c
4921
rtl_tx(dev, tp, budget);
drivers/net/ethernet/realtek/r8169_main.c
4923
work_done = rtl_rx(dev, tp, budget);
drivers/net/ethernet/realtek/r8169_main.c
4926
rtl_irq_enable(tp);
drivers/net/ethernet/realtek/r8169_main.c
4931
static void rtl_enable_tx_lpi(struct rtl8169_private *tp, bool enable)
drivers/net/ethernet/realtek/r8169_main.c
4933
if (!rtl_supports_eee(tp))
drivers/net/ethernet/realtek/r8169_main.c
4936
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
4939
if (tp->mac_version != RTL_GIGA_MAC_VER_38)
drivers/net/ethernet/realtek/r8169_main.c
4940
RTL_W8(tp, EEE_LED, RTL_R8(tp, EEE_LED) & ~0x07);
drivers/net/ethernet/realtek/r8169_main.c
4942
rtl_eri_set_bits(tp, 0x1b0, 0x0003);
drivers/net/ethernet/realtek/r8169_main.c
4944
rtl_eri_clear_bits(tp, 0x1b0, 0x0003);
drivers/net/ethernet/realtek/r8169_main.c
4948
r8168_mac_ocp_modify(tp, 0xe040, 0, 0x0003);
drivers/net/ethernet/realtek/r8169_main.c
4949
r8168_mac_ocp_modify(tp, 0xeb62, 0, 0x0006);
drivers/net/ethernet/realtek/r8169_main.c
4951
r8168_mac_ocp_modify(tp, 0xe040, 0x0003, 0);
drivers/net/ethernet/realtek/r8169_main.c
4952
r8168_mac_ocp_modify(tp, 0xeb62, 0x0006, 0);
drivers/net/ethernet/realtek/r8169_main.c
4957
r8168_mac_ocp_modify(tp, 0xe040, 0, 0x0003);
drivers/net/ethernet/realtek/r8169_main.c
4959
r8168_mac_ocp_modify(tp, 0xe040, 0x0003, 0);
drivers/net/ethernet/realtek/r8169_main.c
4968
struct rtl8169_private *tp = netdev_priv(ndev);
drivers/net/ethernet/realtek/r8169_main.c
4969
struct device *d = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
4972
rtl_link_chg_patch(tp);
drivers/net/ethernet/realtek/r8169_main.c
4973
rtl_enable_tx_lpi(tp, tp->phydev->enable_tx_lpi);
drivers/net/ethernet/realtek/r8169_main.c
4979
phy_print_status(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
4982
static int r8169_phy_connect(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
4984
struct phy_device *phydev = tp->phydev;
drivers/net/ethernet/realtek/r8169_main.c
4988
phy_mode = tp->supports_gmii ? PHY_INTERFACE_MODE_GMII :
drivers/net/ethernet/realtek/r8169_main.c
4991
ret = phy_connect_direct(tp->dev, phydev, r8169_phylink_handler,
drivers/net/ethernet/realtek/r8169_main.c
4996
if (!tp->supports_gmii)
drivers/net/ethernet/realtek/r8169_main.c
5004
static void rtl8169_down(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5006
disable_work_sync(&tp->wk.work);
drivers/net/ethernet/realtek/r8169_main.c
5008
bitmap_zero(tp->wk.flags, RTL_FLAG_MAX);
drivers/net/ethernet/realtek/r8169_main.c
5010
phy_stop(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5013
if (tp->sfp_mode)
drivers/net/ethernet/realtek/r8169_main.c
5014
rtl_sfp_reset(tp);
drivers/net/ethernet/realtek/r8169_main.c
5016
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
5018
pci_clear_master(tp->pci_dev);
drivers/net/ethernet/realtek/r8169_main.c
5019
rtl_pci_commit(tp);
drivers/net/ethernet/realtek/r8169_main.c
5021
rtl8169_cleanup(tp);
drivers/net/ethernet/realtek/r8169_main.c
5022
rtl_disable_exit_l1(tp);
drivers/net/ethernet/realtek/r8169_main.c
5023
rtl_prepare_power_down(tp);
drivers/net/ethernet/realtek/r8169_main.c
5025
if (tp->dash_type != RTL_DASH_NONE && !tp->saved_wolopts)
drivers/net/ethernet/realtek/r8169_main.c
5026
rtl8168_driver_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
5029
static void rtl8169_up(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5031
if (tp->dash_type != RTL_DASH_NONE)
drivers/net/ethernet/realtek/r8169_main.c
5032
rtl8168_driver_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
5034
pci_set_master(tp->pci_dev);
drivers/net/ethernet/realtek/r8169_main.c
5035
phy_init_hw(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5036
phy_resume(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5037
rtl8169_init_phy(tp);
drivers/net/ethernet/realtek/r8169_main.c
5038
napi_enable(&tp->napi);
drivers/net/ethernet/realtek/r8169_main.c
5039
enable_work(&tp->wk.work);
drivers/net/ethernet/realtek/r8169_main.c
5040
rtl_reset_work(tp);
drivers/net/ethernet/realtek/r8169_main.c
5042
phy_start(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5047
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
5048
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
5053
rtl8169_down(tp);
drivers/net/ethernet/realtek/r8169_main.c
5054
rtl8169_rx_clear(tp);
drivers/net/ethernet/realtek/r8169_main.c
5056
free_irq(tp->irq, tp);
drivers/net/ethernet/realtek/r8169_main.c
5058
phy_disconnect(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5060
dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
drivers/net/ethernet/realtek/r8169_main.c
5061
tp->RxPhyAddr);
drivers/net/ethernet/realtek/r8169_main.c
5062
dma_free_coherent(&pdev->dev, R8169_TX_RING_BYTES, tp->TxDescArray,
drivers/net/ethernet/realtek/r8169_main.c
5063
tp->TxPhyAddr);
drivers/net/ethernet/realtek/r8169_main.c
5064
tp->TxDescArray = NULL;
drivers/net/ethernet/realtek/r8169_main.c
5065
tp->RxDescArray = NULL;
drivers/net/ethernet/realtek/r8169_main.c
5075
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
5077
rtl8169_interrupt(tp->irq, tp);
drivers/net/ethernet/realtek/r8169_main.c
5083
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
5084
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
5094
tp->TxDescArray = dma_alloc_coherent(&pdev->dev, R8169_TX_RING_BYTES,
drivers/net/ethernet/realtek/r8169_main.c
5095
&tp->TxPhyAddr, GFP_KERNEL);
drivers/net/ethernet/realtek/r8169_main.c
5096
if (!tp->TxDescArray)
drivers/net/ethernet/realtek/r8169_main.c
5099
tp->RxDescArray = dma_alloc_coherent(&pdev->dev, R8169_RX_RING_BYTES,
drivers/net/ethernet/realtek/r8169_main.c
5100
&tp->RxPhyAddr, GFP_KERNEL);
drivers/net/ethernet/realtek/r8169_main.c
5101
if (!tp->RxDescArray)
drivers/net/ethernet/realtek/r8169_main.c
5104
retval = rtl8169_init_ring(tp);
drivers/net/ethernet/realtek/r8169_main.c
5108
rtl_request_firmware(tp);
drivers/net/ethernet/realtek/r8169_main.c
5111
retval = request_irq(tp->irq, rtl8169_interrupt, irqflags, dev->name, tp);
drivers/net/ethernet/realtek/r8169_main.c
5115
retval = r8169_phy_connect(tp);
drivers/net/ethernet/realtek/r8169_main.c
5119
rtl8169_up(tp);
drivers/net/ethernet/realtek/r8169_main.c
5120
rtl8169_init_counter_offsets(tp);
drivers/net/ethernet/realtek/r8169_main.c
5128
free_irq(tp->irq, tp);
drivers/net/ethernet/realtek/r8169_main.c
5130
rtl_release_firmware(tp);
drivers/net/ethernet/realtek/r8169_main.c
5131
rtl8169_rx_clear(tp);
drivers/net/ethernet/realtek/r8169_main.c
5133
dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
drivers/net/ethernet/realtek/r8169_main.c
5134
tp->RxPhyAddr);
drivers/net/ethernet/realtek/r8169_main.c
5135
tp->RxDescArray = NULL;
drivers/net/ethernet/realtek/r8169_main.c
5137
dma_free_coherent(&pdev->dev, R8169_TX_RING_BYTES, tp->TxDescArray,
drivers/net/ethernet/realtek/r8169_main.c
5138
tp->TxPhyAddr);
drivers/net/ethernet/realtek/r8169_main.c
5139
tp->TxDescArray = NULL;
drivers/net/ethernet/realtek/r8169_main.c
5146
struct rtl8169_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
5147
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
5148
struct rtl8169_counters *counters = tp->counters;
drivers/net/ethernet/realtek/r8169_main.c
5160
rtl8169_update_counters(tp);
drivers/net/ethernet/realtek/r8169_main.c
5167
le64_to_cpu(tp->tc_offset.tx_errors);
drivers/net/ethernet/realtek/r8169_main.c
5169
le32_to_cpu(tp->tc_offset.tx_multi_collision);
drivers/net/ethernet/realtek/r8169_main.c
5171
le16_to_cpu(tp->tc_offset.tx_aborted);
drivers/net/ethernet/realtek/r8169_main.c
5173
le16_to_cpu(tp->tc_offset.rx_missed);
drivers/net/ethernet/realtek/r8169_main.c
5178
static void rtl8169_net_suspend(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5180
netif_device_detach(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
5182
if (netif_running(tp->dev))
drivers/net/ethernet/realtek/r8169_main.c
5183
rtl8169_down(tp);
drivers/net/ethernet/realtek/r8169_main.c
5188
struct rtl8169_private *tp = dev_get_drvdata(dev);
drivers/net/ethernet/realtek/r8169_main.c
5190
rtl_rar_set(tp, tp->dev->dev_addr);
drivers/net/ethernet/realtek/r8169_main.c
5191
__rtl8169_set_wol(tp, tp->saved_wolopts);
drivers/net/ethernet/realtek/r8169_main.c
5193
if (tp->TxDescArray)
drivers/net/ethernet/realtek/r8169_main.c
5194
rtl8169_up(tp);
drivers/net/ethernet/realtek/r8169_main.c
5196
netif_device_attach(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
5203
struct rtl8169_private *tp = dev_get_drvdata(device);
drivers/net/ethernet/realtek/r8169_main.c
5206
rtl8169_net_suspend(tp);
drivers/net/ethernet/realtek/r8169_main.c
5207
if (!device_may_wakeup(tp_to_dev(tp)))
drivers/net/ethernet/realtek/r8169_main.c
5208
clk_disable_unprepare(tp->clk);
drivers/net/ethernet/realtek/r8169_main.c
5216
struct rtl8169_private *tp = dev_get_drvdata(device);
drivers/net/ethernet/realtek/r8169_main.c
5218
if (!device_may_wakeup(tp_to_dev(tp)))
drivers/net/ethernet/realtek/r8169_main.c
5219
clk_prepare_enable(tp->clk);
drivers/net/ethernet/realtek/r8169_main.c
5222
rtl_init_rxcfg(tp);
drivers/net/ethernet/realtek/r8169_main.c
5229
struct rtl8169_private *tp = dev_get_drvdata(device);
drivers/net/ethernet/realtek/r8169_main.c
5231
if (!tp->TxDescArray) {
drivers/net/ethernet/realtek/r8169_main.c
5232
netif_device_detach(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
5237
__rtl8169_set_wol(tp, WAKE_PHY);
drivers/net/ethernet/realtek/r8169_main.c
5238
rtl8169_net_suspend(tp);
drivers/net/ethernet/realtek/r8169_main.c
5246
struct rtl8169_private *tp = dev_get_drvdata(device);
drivers/net/ethernet/realtek/r8169_main.c
5248
if (tp->dash_enabled)
drivers/net/ethernet/realtek/r8169_main.c
5251
if (!netif_running(tp->dev) || !netif_carrier_ok(tp->dev))
drivers/net/ethernet/realtek/r8169_main.c
5265
struct rtl8169_private *tp = pci_get_drvdata(pdev);
drivers/net/ethernet/realtek/r8169_main.c
5268
rtl8169_net_suspend(tp);
drivers/net/ethernet/realtek/r8169_main.c
5272
rtl_rar_set(tp, tp->dev->perm_addr);
drivers/net/ethernet/realtek/r8169_main.c
5274
if (system_state == SYSTEM_POWER_OFF && !tp->dash_enabled)
drivers/net/ethernet/realtek/r8169_main.c
5280
struct rtl8169_private *tp = pci_get_drvdata(pdev);
drivers/net/ethernet/realtek/r8169_main.c
5285
disable_work_sync(&tp->wk.work);
drivers/net/ethernet/realtek/r8169_main.c
5288
r8169_remove_leds(tp->leds);
drivers/net/ethernet/realtek/r8169_main.c
5290
unregister_netdev(tp->dev);
drivers/net/ethernet/realtek/r8169_main.c
5292
if (tp->dash_type != RTL_DASH_NONE)
drivers/net/ethernet/realtek/r8169_main.c
5293
rtl8168_driver_stop(tp);
drivers/net/ethernet/realtek/r8169_main.c
5295
rtl_release_firmware(tp);
drivers/net/ethernet/realtek/r8169_main.c
5298
rtl_rar_set(tp, tp->dev->perm_addr);
drivers/net/ethernet/realtek/r8169_main.c
5321
static void rtl_set_irq_mask(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5323
tp->irq_mask = RxOK | RxErr | TxOK | TxErr | LinkChg;
drivers/net/ethernet/realtek/r8169_main.c
5325
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
drivers/net/ethernet/realtek/r8169_main.c
5326
tp->irq_mask |= SYSErr | RxFIFOOver;
drivers/net/ethernet/realtek/r8169_main.c
5329
static int rtl_alloc_irq(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5333
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
5335
rtl_unlock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
5336
RTL_W8(tp, Config2, RTL_R8(tp, Config2) & ~MSIEnable);
drivers/net/ethernet/realtek/r8169_main.c
5337
rtl_lock_config_regs(tp);
drivers/net/ethernet/realtek/r8169_main.c
5347
return pci_alloc_irq_vectors(tp->pci_dev, 1, 1, flags);
drivers/net/ethernet/realtek/r8169_main.c
5350
static void rtl_read_mac_address(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
5354
if (rtl_is_8168evl_up(tp) && tp->mac_version != RTL_GIGA_MAC_VER_34) {
drivers/net/ethernet/realtek/r8169_main.c
5357
value = rtl_eri_read(tp, 0xe0);
drivers/net/ethernet/realtek/r8169_main.c
5359
value = rtl_eri_read(tp, 0xe4);
drivers/net/ethernet/realtek/r8169_main.c
5361
} else if (rtl_is_8125(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
5362
rtl_read_mac_from_reg(tp, mac_addr, MAC0_BKP);
drivers/net/ethernet/realtek/r8169_main.c
5368
return RTL_R8(tp, MCU) & LINK_LIST_RDY;
drivers/net/ethernet/realtek/r8169_main.c
5371
static void r8168g_wait_ll_share_fifo_ready(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5373
rtl_loop_wait_high(tp, &rtl_link_list_ready_cond, 100, 42);
drivers/net/ethernet/realtek/r8169_main.c
5378
struct rtl8169_private *tp = mii_bus->priv;
drivers/net/ethernet/realtek/r8169_main.c
5383
return rtl_readphy(tp, phyreg);
drivers/net/ethernet/realtek/r8169_main.c
5389
struct rtl8169_private *tp = mii_bus->priv;
drivers/net/ethernet/realtek/r8169_main.c
5394
rtl_writephy(tp, phyreg, val);
drivers/net/ethernet/realtek/r8169_main.c
5402
struct rtl8169_private *tp = mii_bus->priv;
drivers/net/ethernet/realtek/r8169_main.c
5408
return r8168_phy_ocp_read(tp, regnum);
drivers/net/ethernet/realtek/r8169_main.c
5416
struct rtl8169_private *tp = mii_bus->priv;
drivers/net/ethernet/realtek/r8169_main.c
5421
r8168_phy_ocp_write(tp, regnum, val);
drivers/net/ethernet/realtek/r8169_main.c
5426
static int r8169_mdio_register(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5428
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/realtek/r8169_main.c
5437
if (tp->mac_version == RTL_GIGA_MAC_VER_25 ||
drivers/net/ethernet/realtek/r8169_main.c
5438
tp->mac_version == RTL_GIGA_MAC_VER_26)
drivers/net/ethernet/realtek/r8169_main.c
5439
r8169_mdio_write(tp, 0x1f, 0);
drivers/net/ethernet/realtek/r8169_main.c
5446
new_bus->priv = tp;
drivers/net/ethernet/realtek/r8169_main.c
5456
if (tp->mac_version >= RTL_GIGA_MAC_VER_40) {
drivers/net/ethernet/realtek/r8169_main.c
5465
tp->phydev = mdiobus_get_phy(new_bus, 0);
drivers/net/ethernet/realtek/r8169_main.c
5466
if (!tp->phydev) {
drivers/net/ethernet/realtek/r8169_main.c
5468
} else if (!tp->phydev->drv) {
drivers/net/ethernet/realtek/r8169_main.c
5473
tp->phydev->phy_id);
drivers/net/ethernet/realtek/r8169_main.c
5477
tp->phydev->mac_managed_pm = true;
drivers/net/ethernet/realtek/r8169_main.c
5478
if (rtl_supports_eee(tp))
drivers/net/ethernet/realtek/r8169_main.c
5479
phy_support_eee(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5480
phy_support_asym_pause(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5483
if (tp->mac_version == RTL_GIGA_MAC_VER_61)
drivers/net/ethernet/realtek/r8169_main.c
5484
phy_disable_eee_mode(tp->phydev,
drivers/net/ethernet/realtek/r8169_main.c
5488
phy_suspend(tp->phydev);
drivers/net/ethernet/realtek/r8169_main.c
5493
static void rtl_hw_init_8168g(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5495
rtl_enable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
5497
RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) & ~(CmdTxEnb | CmdRxEnb));
drivers/net/ethernet/realtek/r8169_main.c
5499
RTL_W8(tp, MCU, RTL_R8(tp, MCU) & ~NOW_IS_OOB);
drivers/net/ethernet/realtek/r8169_main.c
5501
r8168_mac_ocp_modify(tp, 0xe8de, BIT(14), 0);
drivers/net/ethernet/realtek/r8169_main.c
5502
r8168g_wait_ll_share_fifo_ready(tp);
drivers/net/ethernet/realtek/r8169_main.c
5504
r8168_mac_ocp_modify(tp, 0xe8de, 0, BIT(15));
drivers/net/ethernet/realtek/r8169_main.c
5505
r8168g_wait_ll_share_fifo_ready(tp);
drivers/net/ethernet/realtek/r8169_main.c
5508
static void rtl_hw_init_8125(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5510
rtl_enable_rxdvgate(tp);
drivers/net/ethernet/realtek/r8169_main.c
5512
RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) & ~(CmdTxEnb | CmdRxEnb));
drivers/net/ethernet/realtek/r8169_main.c
5514
RTL_W8(tp, MCU, RTL_R8(tp, MCU) & ~NOW_IS_OOB);
drivers/net/ethernet/realtek/r8169_main.c
5516
r8168_mac_ocp_modify(tp, 0xe8de, BIT(14), 0);
drivers/net/ethernet/realtek/r8169_main.c
5517
r8168g_wait_ll_share_fifo_ready(tp);
drivers/net/ethernet/realtek/r8169_main.c
5519
r8168_mac_ocp_write(tp, 0xc0aa, 0x07d0);
drivers/net/ethernet/realtek/r8169_main.c
5520
r8168_mac_ocp_write(tp, 0xc0a6, 0x0150);
drivers/net/ethernet/realtek/r8169_main.c
5521
r8168_mac_ocp_write(tp, 0xc01e, 0x5555);
drivers/net/ethernet/realtek/r8169_main.c
5522
r8168g_wait_ll_share_fifo_ready(tp);
drivers/net/ethernet/realtek/r8169_main.c
5525
static void rtl_hw_initialize(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5527
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
5529
rtl8168ep_stop_cmac(tp);
drivers/net/ethernet/realtek/r8169_main.c
5532
rtl_hw_init_8168g(tp);
drivers/net/ethernet/realtek/r8169_main.c
5535
rtl_hw_init_8125(tp);
drivers/net/ethernet/realtek/r8169_main.c
5542
static int rtl_jumbo_max(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5545
if (!tp->supports_gmii)
drivers/net/ethernet/realtek/r8169_main.c
5548
switch (tp->mac_version) {
drivers/net/ethernet/realtek/r8169_main.c
5566
static void rtl_init_mac_address(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5569
struct net_device *dev = tp->dev;
drivers/net/ethernet/realtek/r8169_main.c
5572
rc = eth_platform_get_mac_address(tp_to_dev(tp), mac_addr);
drivers/net/ethernet/realtek/r8169_main.c
5576
rtl_read_mac_address(tp, mac_addr);
drivers/net/ethernet/realtek/r8169_main.c
5580
rtl_read_mac_from_reg(tp, mac_addr, MAC0);
drivers/net/ethernet/realtek/r8169_main.c
5586
dev_warn(tp_to_dev(tp), "can't read MAC address, setting random one\n");
drivers/net/ethernet/realtek/r8169_main.c
5589
rtl_rar_set(tp, mac_addr);
drivers/net/ethernet/realtek/r8169_main.c
5593
static bool rtl_aspm_is_safe(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
5595
if (tp->mac_version >= RTL_GIGA_MAC_VER_46 &&
drivers/net/ethernet/realtek/r8169_main.c
5596
r8168_mac_ocp_read(tp, 0xc0b2) & 0xf)
drivers/net/ethernet/realtek/r8169_main.c
5606
struct rtl8169_private *tp;
drivers/net/ethernet/realtek/r8169_main.c
5612
dev = devm_alloc_etherdev(&pdev->dev, sizeof (*tp));
drivers/net/ethernet/realtek/r8169_main.c
5618
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/r8169_main.c
5619
tp->dev = dev;
drivers/net/ethernet/realtek/r8169_main.c
5620
tp->pci_dev = pdev;
drivers/net/ethernet/realtek/r8169_main.c
5621
tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
drivers/net/ethernet/realtek/r8169_main.c
5622
tp->ocp_base = OCP_STD_PHY_BASE;
drivers/net/ethernet/realtek/r8169_main.c
5624
raw_spin_lock_init(&tp->mac_ocp_lock);
drivers/net/ethernet/realtek/r8169_main.c
5625
mutex_init(&tp->led_lock);
drivers/net/ethernet/realtek/r8169_main.c
5628
tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
drivers/net/ethernet/realtek/r8169_main.c
5629
if (IS_ERR(tp->clk))
drivers/net/ethernet/realtek/r8169_main.c
5630
return dev_err_probe(&pdev->dev, PTR_ERR(tp->clk), "failed to get ether_clk\n");
drivers/net/ethernet/realtek/r8169_main.c
5645
tp->mmio_addr = pcim_iomap_region(pdev, region, KBUILD_MODNAME);
drivers/net/ethernet/realtek/r8169_main.c
5646
if (IS_ERR(tp->mmio_addr))
drivers/net/ethernet/realtek/r8169_main.c
5647
return dev_err_probe(&pdev->dev, PTR_ERR(tp->mmio_addr),
drivers/net/ethernet/realtek/r8169_main.c
5650
txconfig = RTL_R32(tp, TxConfig);
drivers/net/ethernet/realtek/r8169_main.c
5657
chip = rtl8169_get_chip_version(xid, tp->supports_gmii);
drivers/net/ethernet/realtek/r8169_main.c
5661
xid = RTL_R32(tp, TX_CONFIG_V2);
drivers/net/ethernet/realtek/r8169_main.c
5668
tp->mac_version = chip->mac_version;
drivers/net/ethernet/realtek/r8169_main.c
5669
tp->fw_name = chip->fw_name;
drivers/net/ethernet/realtek/r8169_main.c
5674
if (rtl_aspm_is_safe(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
5680
tp->aspm_manageable = !rc;
drivers/net/ethernet/realtek/r8169_main.c
5682
if (rtl_is_8125(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
5683
u16 data = r8168_mac_ocp_read(tp, 0xd006);
drivers/net/ethernet/realtek/r8169_main.c
5686
tp->sfp_mode = true;
drivers/net/ethernet/realtek/r8169_main.c
5689
tp->dash_type = rtl_get_dash_type(tp);
drivers/net/ethernet/realtek/r8169_main.c
5690
tp->dash_enabled = rtl_dash_is_enabled(tp);
drivers/net/ethernet/realtek/r8169_main.c
5692
tp->cp_cmd = RTL_R16(tp, CPlusCmd) & CPCMD_MASK;
drivers/net/ethernet/realtek/r8169_main.c
5694
if (sizeof(dma_addr_t) > 4 && tp->mac_version >= RTL_GIGA_MAC_VER_18 &&
drivers/net/ethernet/realtek/r8169_main.c
5698
rtl_init_rxcfg(tp);
drivers/net/ethernet/realtek/r8169_main.c
5700
rtl8169_irq_mask_and_ack(tp);
drivers/net/ethernet/realtek/r8169_main.c
5702
rtl_hw_initialize(tp);
drivers/net/ethernet/realtek/r8169_main.c
5704
rtl_hw_reset(tp);
drivers/net/ethernet/realtek/r8169_main.c
5706
rc = rtl_alloc_irq(tp);
drivers/net/ethernet/realtek/r8169_main.c
5710
tp->irq = pci_irq_vector(pdev, 0);
drivers/net/ethernet/realtek/r8169_main.c
5712
INIT_WORK(&tp->wk.work, rtl_task);
drivers/net/ethernet/realtek/r8169_main.c
5713
disable_work(&tp->wk.work);
drivers/net/ethernet/realtek/r8169_main.c
5715
rtl_init_mac_address(tp);
drivers/net/ethernet/realtek/r8169_main.c
5719
netif_napi_add(dev, &tp->napi, rtl8169_poll);
drivers/net/ethernet/realtek/r8169_main.c
5730
if (tp->mac_version == RTL_GIGA_MAC_VER_05)
drivers/net/ethernet/realtek/r8169_main.c
5734
if (rtl_chip_supports_csum_v2(tp))
drivers/net/ethernet/realtek/r8169_main.c
5739
if (rtl_chip_supports_csum_v2(tp)) {
drivers/net/ethernet/realtek/r8169_main.c
5756
if (tp->mac_version >= RTL_GIGA_MAC_VER_46 &&
drivers/net/ethernet/realtek/r8169_main.c
5757
tp->mac_version != RTL_GIGA_MAC_VER_61)
drivers/net/ethernet/realtek/r8169_main.c
5770
if (!tp->dash_enabled) {
drivers/net/ethernet/realtek/r8169_main.c
5771
rtl_set_d3_pll_down(tp, true);
drivers/net/ethernet/realtek/r8169_main.c
5773
rtl_set_d3_pll_down(tp, false);
drivers/net/ethernet/realtek/r8169_main.c
5777
jumbo_max = rtl_jumbo_max(tp);
drivers/net/ethernet/realtek/r8169_main.c
5781
rtl_set_irq_mask(tp);
drivers/net/ethernet/realtek/r8169_main.c
5783
tp->counters = dmam_alloc_coherent (&pdev->dev, sizeof(*tp->counters),
drivers/net/ethernet/realtek/r8169_main.c
5784
&tp->counters_phys_addr,
drivers/net/ethernet/realtek/r8169_main.c
5786
if (!tp->counters)
drivers/net/ethernet/realtek/r8169_main.c
5789
pci_set_drvdata(pdev, tp);
drivers/net/ethernet/realtek/r8169_main.c
5791
rc = r8169_mdio_register(tp);
drivers/net/ethernet/realtek/r8169_main.c
5800
if (rtl_is_8125(tp))
drivers/net/ethernet/realtek/r8169_main.c
5801
tp->leds = rtl8125_init_leds(dev);
drivers/net/ethernet/realtek/r8169_main.c
5802
else if (tp->mac_version > RTL_GIGA_MAC_VER_06)
drivers/net/ethernet/realtek/r8169_main.c
5803
tp->leds = rtl8168_init_leds(dev);
drivers/net/ethernet/realtek/r8169_main.c
5807
chip->name, dev->dev_addr, ext_xid_str, xid, tp->irq);
drivers/net/ethernet/realtek/r8169_main.c
5811
jumbo_max, tp->mac_version <= RTL_GIGA_MAC_VER_06 ?
drivers/net/ethernet/realtek/r8169_main.c
5814
if (tp->dash_type != RTL_DASH_NONE) {
drivers/net/ethernet/realtek/r8169_main.c
5816
tp->dash_enabled ? "enabled" : "disabled");
drivers/net/ethernet/realtek/r8169_main.c
5817
rtl8168_driver_start(tp);
drivers/net/ethernet/realtek/r8169_main.c
779
typedef void (*rtl_generic_fct)(struct rtl8169_private *tp);
drivers/net/ethernet/realtek/r8169_main.c
815
static inline struct device *tp_to_dev(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
817
return &tp->pci_dev->dev;
drivers/net/ethernet/realtek/r8169_main.c
820
static void rtl_lock_config_regs(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
822
RTL_W8(tp, Cfg9346, Cfg9346_Lock);
drivers/net/ethernet/realtek/r8169_main.c
825
static void rtl_unlock_config_regs(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
827
RTL_W8(tp, Cfg9346, Cfg9346_Unlock);
drivers/net/ethernet/realtek/r8169_main.c
830
static void rtl_pci_commit(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
833
RTL_R8(tp, ChipCmd);
drivers/net/ethernet/realtek/r8169_main.c
836
static void rtl_mod_config2(struct rtl8169_private *tp, u8 clear, u8 set)
drivers/net/ethernet/realtek/r8169_main.c
840
val = RTL_R8(tp, Config2);
drivers/net/ethernet/realtek/r8169_main.c
841
RTL_W8(tp, Config2, (val & ~clear) | set);
drivers/net/ethernet/realtek/r8169_main.c
844
static void rtl_mod_config5(struct rtl8169_private *tp, u8 clear, u8 set)
drivers/net/ethernet/realtek/r8169_main.c
848
val = RTL_R8(tp, Config5);
drivers/net/ethernet/realtek/r8169_main.c
849
RTL_W8(tp, Config5, (val & ~clear) | set);
drivers/net/ethernet/realtek/r8169_main.c
852
static void r8169_mod_reg8_cond(struct rtl8169_private *tp, int reg,
drivers/net/ethernet/realtek/r8169_main.c
857
old_val = RTL_R8(tp, reg);
drivers/net/ethernet/realtek/r8169_main.c
86
#define RTL_W8(tp, reg, val8) writeb((val8), tp->mmio_addr + (reg))
drivers/net/ethernet/realtek/r8169_main.c
863
RTL_W8(tp, reg, val);
drivers/net/ethernet/realtek/r8169_main.c
866
static bool rtl_is_8125(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
868
return tp->mac_version >= RTL_GIGA_MAC_VER_61;
drivers/net/ethernet/realtek/r8169_main.c
87
#define RTL_W16(tp, reg, val16) writew((val16), tp->mmio_addr + (reg))
drivers/net/ethernet/realtek/r8169_main.c
871
static bool rtl_is_8168evl_up(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
873
return tp->mac_version >= RTL_GIGA_MAC_VER_34 &&
drivers/net/ethernet/realtek/r8169_main.c
874
tp->mac_version != RTL_GIGA_MAC_VER_39 &&
drivers/net/ethernet/realtek/r8169_main.c
875
tp->mac_version <= RTL_GIGA_MAC_VER_52;
drivers/net/ethernet/realtek/r8169_main.c
878
static bool rtl_supports_eee(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
88
#define RTL_W32(tp, reg, val32) writel((val32), tp->mmio_addr + (reg))
drivers/net/ethernet/realtek/r8169_main.c
880
return tp->mac_version >= RTL_GIGA_MAC_VER_34 &&
drivers/net/ethernet/realtek/r8169_main.c
881
tp->mac_version != RTL_GIGA_MAC_VER_37 &&
drivers/net/ethernet/realtek/r8169_main.c
882
tp->mac_version != RTL_GIGA_MAC_VER_39;
drivers/net/ethernet/realtek/r8169_main.c
885
static void rtl_read_mac_from_reg(struct rtl8169_private *tp, u8 *mac, int reg)
drivers/net/ethernet/realtek/r8169_main.c
89
#define RTL_R8(tp, reg) readb(tp->mmio_addr + (reg))
drivers/net/ethernet/realtek/r8169_main.c
890
mac[i] = RTL_R8(tp, reg + i);
drivers/net/ethernet/realtek/r8169_main.c
898
static bool rtl_loop_wait(struct rtl8169_private *tp, const struct rtl_cond *c,
drivers/net/ethernet/realtek/r8169_main.c
90
#define RTL_R16(tp, reg) readw(tp->mmio_addr + (reg))
drivers/net/ethernet/realtek/r8169_main.c
904
if (c->check(tp) == high)
drivers/net/ethernet/realtek/r8169_main.c
91
#define RTL_R32(tp, reg) readl(tp->mmio_addr + (reg))
drivers/net/ethernet/realtek/r8169_main.c
910
netdev_err(tp->dev, "%s == %d (loop: %d, delay: %lu).\n",
drivers/net/ethernet/realtek/r8169_main.c
915
static bool rtl_loop_wait_high(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
919
return rtl_loop_wait(tp, c, d, n, true);
drivers/net/ethernet/realtek/r8169_main.c
922
static bool rtl_loop_wait_low(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_main.c
926
return rtl_loop_wait(tp, c, d, n, false);
drivers/net/ethernet/realtek/r8169_main.c
937
static bool name ## _check(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
939
int rtl8168_led_mod_ctrl(struct rtl8169_private *tp, u16 mask, u16 val)
drivers/net/ethernet/realtek/r8169_main.c
941
struct device *dev = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
948
mutex_lock(&tp->led_lock);
drivers/net/ethernet/realtek/r8169_main.c
949
RTL_W16(tp, LED_CTRL, (RTL_R16(tp, LED_CTRL) & ~mask) | val);
drivers/net/ethernet/realtek/r8169_main.c
950
mutex_unlock(&tp->led_lock);
drivers/net/ethernet/realtek/r8169_main.c
957
int rtl8168_get_led_mode(struct rtl8169_private *tp)
drivers/net/ethernet/realtek/r8169_main.c
959
struct device *dev = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
966
ret = RTL_R16(tp, LED_CTRL);
drivers/net/ethernet/realtek/r8169_main.c
980
int rtl8125_set_led_mode(struct rtl8169_private *tp, int index, u16 mode)
drivers/net/ethernet/realtek/r8169_main.c
983
struct device *dev = tp_to_dev(tp);
drivers/net/ethernet/realtek/r8169_main.c
991
mutex_lock(&tp->led_lock);
drivers/net/ethernet/realtek/r8169_main.c
992
val = RTL_R16(tp, reg) & ~LEDSEL_MASK_8125;
drivers/net/ethernet/realtek/r8169_main.c
993
RTL_W16(tp, reg, val | mode);
drivers/net/ethernet/realtek/r8169_main.c
994
mutex_unlock(&tp->led_lock);
drivers/net/ethernet/realtek/r8169_phy_config.c
1001
static void rtl8125a_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1046
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
1063
static void rtl8125b_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1066
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
1098
static void rtl8125d_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1101
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
1108
static void rtl8125cp_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1111
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
1130
static void rtl8125bp_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1133
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
1148
static void rtl8126a_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1151
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
1158
static void rtl8127a_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1161
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
117
static void rtl8169s_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
1323
void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,
drivers/net/ethernet/realtek/r8169_phy_config.c
1379
phy_configs[ver](tp, phydev);
drivers/net/ethernet/realtek/r8169_phy_config.c
185
static void rtl8169sb_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
191
static void rtl8169scd_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
20
typedef void (*rtl_phy_cfg_fct)(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
237
static void rtl8169sce_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
291
static void rtl8168bef_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
297
static void rtl8168cp_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
304
static void rtl8168cp_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
312
static void rtl8168c_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
341
static void rtl8168c_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
369
static void rtl8168c_3_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
432
static void rtl8168d_apply_firmware_cond(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
446
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
472
static void rtl8168d_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
485
if (rtl8168d_efuse_read(tp, 0x01) == 0xb1) {
drivers/net/ethernet/realtek/r8169_phy_config.c
503
rtl8168d_apply_firmware_cond(tp, phydev, 0xbf00);
drivers/net/ethernet/realtek/r8169_phy_config.c
506
static void rtl8168d_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
511
if (rtl8168d_efuse_read(tp, 0x01) == 0xb1) {
drivers/net/ethernet/realtek/r8169_phy_config.c
527
rtl8168d_apply_firmware_cond(tp, phydev, 0xb300);
drivers/net/ethernet/realtek/r8169_phy_config.c
530
static void rtl8168d_4_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
538
static void rtl8168e_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
552
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
583
static void rtl8168e_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
586
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
625
static void rtl8168f_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
641
static void rtl8168f_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
644
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
663
rtl8168f_hw_phy_config(tp, phydev);
drivers/net/ethernet/realtek/r8169_phy_config.c
669
static void rtl8168f_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
672
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
674
rtl8168f_hw_phy_config(tp, phydev);
drivers/net/ethernet/realtek/r8169_phy_config.c
677
static void rtl8411_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
680
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
682
rtl8168f_hw_phy_config(tp, phydev);
drivers/net/ethernet/realtek/r8169_phy_config.c
741
static void rtl8168g_1_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
746
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
789
static void rtl8168g_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
792
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
796
static void rtl8168h_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
802
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
813
ioffset = rtl8168h_2_get_adc_bias_ioffset(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
836
static void rtl8168ep_2_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
886
static void rtl8117_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
923
static void rtl8102e_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
940
static void rtl8401_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
947
static void rtl8105e_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
954
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
961
static void rtl8402_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
968
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/r8169_phy_config.c
977
static void rtl8106e_hw_phy_config(struct rtl8169_private *tp,
drivers/net/ethernet/realtek/r8169_phy_config.c
991
r8169_apply_firmware(tp);
drivers/net/ethernet/realtek/rtase/rtase.h
282
struct rtase_private *tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1000
rtase_w16(tp, RTASE_RX_CONFIG_1, rcr & ~RTASE_PCIE_RELOAD_EN);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1001
rtase_w16(tp, RTASE_RX_CONFIG_1, rcr | RTASE_PCIE_RELOAD_EN);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1003
val = rtase_r8(tp, RTASE_CHIP_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1004
rtase_w8(tp, RTASE_CHIP_CMD, val | RTASE_TE | RTASE_RE);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1006
val = rtase_r8(tp, RTASE_MISC);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1007
rtase_w8(tp, RTASE_MISC, val & ~RTASE_RX_DV_GATE_EN);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1010
static void rtase_enable_hw_interrupt(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1012
const struct rtase_int_vector *ivec = &tp->int_vector[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1015
rtase_w32(tp, ivec->imr_addr, ivec->imr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1017
for (i = 1; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1018
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1019
rtase_w16(tp, ivec->imr_addr, ivec->imr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1025
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1028
rtase_enable_hw_interrupt(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1035
const struct rtase_private *tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1040
tp = ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1041
status = rtase_r32(tp, ivec->isr_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1043
rtase_w32(tp, ivec->imr_addr, 0x0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1044
rtase_w32(tp, ivec->isr_addr, status & ~RTASE_FOVW);
drivers/net/ethernet/realtek/rtase/rtase_main.c
105
static void rtase_w8(const struct rtase_private *tp, u16 reg, u8 val8)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1057
const struct rtase_private *tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1062
tp = ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1063
status = rtase_r16(tp, ivec->isr_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1065
rtase_w16(tp, ivec->imr_addr, 0x0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1066
rtase_w16(tp, ivec->isr_addr, status);
drivers/net/ethernet/realtek/rtase/rtase_main.c
107
writeb(val8, tp->mmio_addr + reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1077
const struct rtase_private *tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1082
tp = ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1092
rtase_w32(tp, ivec->imr_addr, ivec->imr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1094
rtase_w16(tp, ivec->imr_addr, ivec->imr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
110
static void rtase_w16(const struct rtase_private *tp, u16 reg, u16 val16)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1102
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1103
const struct pci_dev *pdev = tp->pdev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1108
ivec = &tp->int_vector[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1109
tp->rx_buf_sz = RTASE_RX_BUF_SIZE;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1111
ret = rtase_alloc_desc(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
112
writew(val16, tp->mmio_addr + reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1121
if (tp->sw_flag & RTASE_SWF_MSIX_ENABLED) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1128
for (i = 1; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1129
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1131
tp->dev->name, i);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1146
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1147
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
115
static void rtase_w32(const struct rtase_private *tp, u16 reg, u32 val32)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1158
free_irq(tp->int_vector[j].irq, &tp->int_vector[j]);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1161
rtase_free_desc(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1168
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
117
writel(val32, tp->mmio_addr + reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1173
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1174
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1178
netif_queue_set_napi(tp->dev, ring->index,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1191
rtase_tx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1193
rtase_rx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1198
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1199
const struct pci_dev *pdev = tp->pdev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
120
static u8 rtase_r8(const struct rtase_private *tp, u16 reg)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1204
if (tp->sw_flag & RTASE_SWF_MSIX_ENABLED) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1205
for (i = 0; i < tp->int_nums; i++)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1206
free_irq(tp->int_vector[i].irq, &tp->int_vector[i]);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1209
free_irq(pdev->irq, &tp->int_vector[0]);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1212
rtase_free_desc(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1217
static u32 rtase_tx_vlan_tag(const struct rtase_private *tp,
drivers/net/ethernet/realtek/rtase/rtase_main.c
122
return readb(tp->mmio_addr + reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
125
static u16 rtase_r16(const struct rtase_private *tp, u16 reg)
drivers/net/ethernet/realtek/rtase/rtase_main.c
127
return readw(tp->mmio_addr + reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
130
static u32 rtase_r32(const struct rtase_private *tp, u16 reg)
drivers/net/ethernet/realtek/rtase/rtase_main.c
132
return readl(tp->mmio_addr + reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
135
static void rtase_free_desc(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
137
struct pci_dev *pdev = tp->pdev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
140
for (i = 0; i < tp->func_tx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
141
if (!tp->tx_ring[i].desc)
drivers/net/ethernet/realtek/rtase/rtase_main.c
145
tp->tx_ring[i].desc,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1453
const struct rtase_private *tp = ring->ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
146
tp->tx_ring[i].phy_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
147
tp->tx_ring[i].desc = NULL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1470
mapping = dma_map_single(&tp->pdev->dev, addr, len,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1473
if (unlikely(dma_mapping_error(&tp->pdev->dev, mapping))) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1475
netdev_err(tp->dev,
drivers/net/ethernet/realtek/rtase/rtase_main.c
150
for (i = 0; i < tp->func_rx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
151
if (!tp->rx_ring[i].desc)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1511
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1523
ring = &tp->tx_ring[q_idx];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1539
opts2 = rtase_tx_vlan_tag(tp, skb);
drivers/net/ethernet/realtek/rtase/rtase_main.c
155
tp->rx_ring[i].desc,
drivers/net/ethernet/realtek/rtase/rtase_main.c
156
tp->rx_ring[i].phy_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
157
tp->rx_ring[i].desc = NULL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1583
mapping = dma_map_single(&tp->pdev->dev, skb->data, len,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1586
if (unlikely(dma_mapping_error(&tp->pdev->dev, mapping))) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
161
static int rtase_alloc_desc(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1619
rtase_w8(tp, RTASE_TPPOLL, BIT(ring->index));
drivers/net/ethernet/realtek/rtase/rtase_main.c
163
struct pci_dev *pdev = tp->pdev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1631
tp->stats.tx_dropped++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1641
static void rtase_enable_eem_write(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1645
val = rtase_r8(tp, RTASE_EEM);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1646
rtase_w8(tp, RTASE_EEM, val | RTASE_EEM_UNLOCK);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1649
static void rtase_disable_eem_write(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1653
val = rtase_r8(tp, RTASE_EEM);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1654
rtase_w8(tp, RTASE_EEM, val & ~RTASE_EEM_UNLOCK);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1657
static void rtase_rar_set(const struct rtase_private *tp, const u8 *addr)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1666
rtase_enable_eem_write(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1667
rtase_w32(tp, RTASE_MAC0, rar_low);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1668
rtase_w32(tp, RTASE_MAC4, rar_high);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1669
rtase_disable_eem_write(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1670
rtase_w16(tp, RTASE_LBK_CTRL, RTASE_LBK_ATLD | RTASE_LBK_CLR);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1675
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1682
rtase_rar_set(tp, dev->dev_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
169
for (i = 0; i < tp->func_tx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1698
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
170
tp->tx_ring[i].desc =
drivers/net/ethernet/realtek/rtase/rtase_main.c
1702
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1703
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1709
rtase_irq_dis_and_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1711
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1712
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1719
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
173
&tp->tx_ring[i].phy_addr,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1731
rtase_tx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1732
rtase_rx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1734
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1735
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
1738
netif_queue_set_napi(tp->dev, ring->index,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1748
rtase_free_desc(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
175
if (!tp->tx_ring[i].desc)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1760
static void rtase_dump_tally_counter(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1762
dma_addr_t paddr = tp->tally_paddr;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1767
rtase_w32(tp, RTASE_DTCCR4, upper_32_bits(paddr));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1768
rtase_w32(tp, RTASE_DTCCR0, cmd);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1769
rtase_w32(tp, RTASE_DTCCR0, cmd | RTASE_COUNTER_DUMP);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1773
10, 250, false, tp, RTASE_DTCCR0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1776
netdev_err(tp->dev, "error occurred in dump tally counter\n");
drivers/net/ethernet/realtek/rtase/rtase_main.c
1781
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1788
ring = &tp->tx_ring[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
179
for (i = 0; i < tp->func_rx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
1794
ring = &tp->rx_ring[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
180
tp->rx_ring[i].desc =
drivers/net/ethernet/realtek/rtase/rtase_main.c
1802
rtase_r8(tp, RTASE_CHIP_CMD));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1803
netdev_err(dev, "IMR = %08x\n", rtase_r32(tp, RTASE_IMR0));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1804
netdev_err(dev, "ISR = %08x\n", rtase_r32(tp, RTASE_ISR0));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1806
rtase_r16(tp, RTASE_BOOT_CTL));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1808
rtase_r16(tp, RTASE_EPHY_ISR));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1810
rtase_r16(tp, RTASE_EPHY_IMR));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1812
rtase_r16(tp, RTASE_CLKSW_SET));
drivers/net/ethernet/realtek/rtase/rtase_main.c
1818
netdev_err(tp->dev, "0x%03x:\n", n);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1820
pci_read_config_dword(tp->pdev, n, &dword_rd);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1821
netdev_err(tp->dev, "%08x\n", dword_rd);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1826
counters = tp->tally_vaddr;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1827
rtase_dump_tally_counter(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
183
&tp->rx_ring[i].phy_addr,
drivers/net/ethernet/realtek/rtase/rtase_main.c
185
if (!tp->rx_ring[i].desc)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1866
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1869
counters = tp->tally_vaddr;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1876
rtase_dump_tally_counter(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1877
stats->rx_errors = tp->stats.rx_errors;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1879
stats->rx_dropped = tp->stats.rx_dropped;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1880
stats->tx_dropped = tp->stats.tx_dropped;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1881
stats->multicast = tp->stats.multicast;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1882
stats->rx_length_errors = tp->stats.rx_length_errors;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1885
static void rtase_set_hw_cbs(const struct rtase_private *tp, u32 queue)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1887
u32 idle = tp->tx_qos[queue].idleslope * RTASE_1T_CLOCK;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1901
rtase_w32(tp, RTASE_TXQCRDT_0 + queue * 4, val);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1904
static int rtase_setup_tc_cbs(struct rtase_private *tp,
drivers/net/ethernet/realtek/rtase/rtase_main.c
1909
if (queue < 0 || queue >= tp->func_tx_queue_num)
drivers/net/ethernet/realtek/rtase/rtase_main.c
1913
tp->tx_qos[queue].hicredit = 0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1914
tp->tx_qos[queue].locredit = 0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1915
tp->tx_qos[queue].idleslope = 0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1916
tp->tx_qos[queue].sendslope = 0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1918
rtase_w32(tp, RTASE_TXQCRDT_0 + queue * 4, 0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
192
rtase_free_desc(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1920
tp->tx_qos[queue].hicredit = qopt->hicredit;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1921
tp->tx_qos[queue].locredit = qopt->locredit;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1922
tp->tx_qos[queue].idleslope = qopt->idleslope;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1923
tp->tx_qos[queue].sendslope = qopt->sendslope;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1925
rtase_set_hw_cbs(tp, queue);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1934
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1938
return rtase_setup_tc_cbs(tp, type_data);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1986
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
1991
mac_addr[i] = rtase_r8(tp, RTASE_MAC0 + i);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2001
rtase_rar_set(tp, dev->dev_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2008
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2013
switch (tp->hw_ver) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2034
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2035
u16 value = rtase_r16(tp, RTASE_CPLUS_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2045
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2046
u16 value = rtase_r16(tp, RTASE_CPLUS_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2059
rtase_w16(tp, RTASE_CPLUS_CMD, value);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2066
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2069
counters = tp->tally_vaddr;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2071
rtase_dump_tally_counter(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
209
struct rtase_private *tp = ring->ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2095
static void rtase_init_napi(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2099
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2100
netif_napi_add_config(tp->dev, &tp->int_vector[i].napi,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2101
tp->int_vector[i].poll, i);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2102
netif_napi_set_irq(&tp->int_vector[i].napi,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2103
tp->int_vector[i].irq);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2108
const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2110
if (tp->sw_flag & RTASE_SWF_MSIX_ENABLED)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2116
static int rtase_alloc_msix(struct pci_dev *pdev, struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2121
memset(tp->msix_entry, 0x0, RTASE_NUM_MSIX *
drivers/net/ethernet/realtek/rtase/rtase_main.c
2125
tp->msix_entry[i].entry = i;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2127
ret = pci_enable_msix_exact(pdev, tp->msix_entry, tp->int_nums);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2132
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2139
tp->int_vector[i].irq = irq;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2146
struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2150
ret = rtase_alloc_msix(pdev, tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2159
tp->sw_flag |= RTASE_SWF_MSI_ENABLED;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2161
tp->sw_flag |= RTASE_SWF_MSIX_ENABLED;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2167
static void rtase_init_hardware(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2172
rtase_w32(tp, RTASE_VLAN_ENTRY_0 + i * 4, 0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2175
static void rtase_init_int_vector(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2180
tp->int_vector[0].tp = tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2181
tp->int_vector[0].index = 0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2182
tp->int_vector[0].imr_addr = RTASE_IMR0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2183
tp->int_vector[0].isr_addr = RTASE_ISR0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2184
tp->int_vector[0].imr = RTASE_ROK | RTASE_RDU | RTASE_TOK |
drivers/net/ethernet/realtek/rtase/rtase_main.c
2187
tp->int_vector[0].poll = rtase_poll;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2189
memset(tp->int_vector[0].name, 0x0, sizeof(tp->int_vector[0].name));
drivers/net/ethernet/realtek/rtase/rtase_main.c
2190
INIT_LIST_HEAD(&tp->int_vector[0].ring_list);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2193
for (i = 1; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2194
tp->int_vector[i].tp = tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2195
tp->int_vector[i].index = i;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2196
tp->int_vector[i].imr_addr = RTASE_IMR1 + (i - 1) * 4;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2197
tp->int_vector[i].isr_addr = RTASE_ISR1 + (i - 1) * 4;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2198
tp->int_vector[i].imr = RTASE_Q_ROK | RTASE_Q_RDU |
drivers/net/ethernet/realtek/rtase/rtase_main.c
2200
tp->int_vector[i].poll = rtase_poll;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2202
memset(tp->int_vector[i].name, 0x0,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2203
sizeof(tp->int_vector[0].name));
drivers/net/ethernet/realtek/rtase/rtase_main.c
2204
INIT_LIST_HEAD(&tp->int_vector[i].ring_list);
drivers/net/ethernet/realtek/rtase/rtase_main.c
221
rtase_unmap_tx_skb(tp->pdev, len, desc);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2261
struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2265
tp->tx_queue_ctrl = RTASE_TXQ_CTRL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2266
tp->func_tx_queue_num = RTASE_FUNC_TXQ_NUM;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2267
tp->func_rx_queue_num = RTASE_FUNC_RXQ_NUM;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2268
tp->int_nums = RTASE_INTERRUPT_NUM;
drivers/net/ethernet/realtek/rtase/rtase_main.c
227
tp->stats.tx_dropped++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2272
tp->tx_int_mit = int_miti;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2273
tp->rx_int_mit = int_miti;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2275
tp->sw_flag = 0;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2277
rtase_init_int_vector(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2280
tp->dev->min_mtu = ETH_ZLEN;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2281
tp->dev->max_mtu = RTASE_MAX_JUMBO_SIZE;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2284
static int rtase_check_mac_version_valid(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2288
tp->hw_ver = rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2290
switch (tp->hw_ver) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
233
static void rtase_tx_clear(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
2377
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2379
rtase_rar_set(tp, tp->dev->perm_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
238
for (i = 0; i < tp->func_tx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2382
if (tp->sw_flag & RTASE_SWF_MSIX_ENABLED)
drivers/net/ethernet/realtek/rtase/rtase_main.c
239
ring = &tp->tx_ring[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
2398
struct rtase_private *tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2413
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2414
tp->mmio_addr = ioaddr;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2415
tp->dev = dev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2416
tp->pdev = pdev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2419
ret = rtase_check_mac_version_valid(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2423
tp->hw_ver);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2427
rtase_init_software_variable(pdev, tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2428
rtase_init_hardware(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2430
ret = rtase_alloc_interrupt(pdev, tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2436
rtase_init_napi(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
244
netdev_tx_reset_subqueue(tp->dev, i);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2462
tp->tally_vaddr = dma_alloc_coherent(&pdev->dev,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2463
sizeof(*tp->tally_vaddr),
drivers/net/ethernet/realtek/rtase/rtase_main.c
2464
&tp->tally_paddr,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2466
if (!tp->tally_vaddr) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2471
rtase_tally_counter_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2486
if (tp->tally_vaddr) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2488
sizeof(*tp->tally_vaddr),
drivers/net/ethernet/realtek/rtase/rtase_main.c
2489
tp->tally_vaddr,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2490
tp->tally_paddr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2492
tp->tally_vaddr = NULL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2496
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2497
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
2510
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2516
for (i = 0; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2517
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
2521
rtase_reset_interrupt(pdev, tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2522
if (tp->tally_vaddr) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
2524
sizeof(*tp->tally_vaddr),
drivers/net/ethernet/realtek/rtase/rtase_main.c
2525
tp->tally_vaddr,
drivers/net/ethernet/realtek/rtase/rtase_main.c
2526
tp->tally_paddr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2527
tp->tally_vaddr = NULL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2530
rtase_release_board(pdev, dev, tp->mmio_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2537
const struct rtase_private *tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
2539
tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2544
rtase_reset_interrupt(pdev, tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2562
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2566
rtase_rar_set(tp, dev->dev_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2573
rtase_tx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2574
rtase_rx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
2579
rtase_free_desc(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
267
const struct rtase_private *tp = ring->ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
268
struct net_device *dev = tp->dev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
288
rtase_unmap_tx_skb(tp->pdev, ring->mis.len[entry], desc);
drivers/net/ethernet/realtek/rtase/rtase_main.c
315
rtase_w8(tp, RTASE_TPPOLL, BIT(ring->index));
drivers/net/ethernet/realtek/rtase/rtase_main.c
321
static void rtase_tx_desc_init(struct rtase_private *tp, u16 idx)
drivers/net/ethernet/realtek/rtase/rtase_main.c
323
struct rtase_ring *ring = &tp->tx_ring[idx];
drivers/net/ethernet/realtek/rtase/rtase_main.c
345
ring->ivec = &tp->int_vector[idx];
drivers/net/ethernet/realtek/rtase/rtase_main.c
347
&tp->int_vector[idx].ring_list);
drivers/net/ethernet/realtek/rtase/rtase_main.c
349
ring->ivec = &tp->int_vector[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
350
list_add_tail(&ring->ring_entry, &tp->int_vector[0].ring_list);
drivers/net/ethernet/realtek/rtase/rtase_main.c
353
netif_queue_set_napi(tp->dev, ring->index,
drivers/net/ethernet/realtek/rtase/rtase_main.c
377
const struct rtase_private *tp = ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
381
page = page_pool_dev_alloc_pages(tp->page_pool);
drivers/net/ethernet/realtek/rtase/rtase_main.c
390
rtase_map_to_asic(desc, mapping, tp->rx_buf_sz);
drivers/net/ethernet/realtek/rtase/rtase_main.c
452
static void rtase_rx_csum(const struct rtase_private *tp, struct sk_buff *skb,
drivers/net/ethernet/realtek/rtase/rtase_main.c
492
struct rtase_private *tp = ring->ivec->tp;
drivers/net/ethernet/realtek/rtase/rtase_main.c
493
struct net_device *dev = tp->dev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
519
tp->stats.rx_errors++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
522
tp->stats.rx_length_errors++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
525
tp->stats.rx_crc_errors++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
530
rtase_mark_to_asic(desc, tp->rx_buf_sz);
drivers/net/ethernet/realtek/rtase/rtase_main.c
543
tp->stats.rx_dropped++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
544
tp->stats.rx_length_errors++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
545
rtase_mark_to_asic(desc, tp->rx_buf_sz);
drivers/net/ethernet/realtek/rtase/rtase_main.c
549
dma_sync_single_for_cpu(&tp->pdev->dev,
drivers/net/ethernet/realtek/rtase/rtase_main.c
551
tp->rx_buf_sz, DMA_FROM_DEVICE);
drivers/net/ethernet/realtek/rtase/rtase_main.c
555
tp->stats.rx_dropped++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
556
rtase_mark_to_asic(desc, tp->rx_buf_sz);
drivers/net/ethernet/realtek/rtase/rtase_main.c
562
rtase_rx_csum(tp, skb, desc);
drivers/net/ethernet/realtek/rtase/rtase_main.c
569
tp->stats.multicast++;
drivers/net/ethernet/realtek/rtase/rtase_main.c
590
static void rtase_rx_desc_init(struct rtase_private *tp, u16 idx)
drivers/net/ethernet/realtek/rtase/rtase_main.c
592
struct rtase_ring *ring = &tp->rx_ring[idx];
drivers/net/ethernet/realtek/rtase/rtase_main.c
607
ring->ivec = &tp->int_vector[idx];
drivers/net/ethernet/realtek/rtase/rtase_main.c
608
netif_queue_set_napi(tp->dev, ring->index,
drivers/net/ethernet/realtek/rtase/rtase_main.c
610
list_add_tail(&ring->ring_entry, &tp->int_vector[idx].ring_list);
drivers/net/ethernet/realtek/rtase/rtase_main.c
613
static void rtase_rx_clear(struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
617
for (i = 0; i < tp->func_rx_queue_num; i++)
drivers/net/ethernet/realtek/rtase/rtase_main.c
618
rtase_rx_ring_clear(tp->page_pool, &tp->rx_ring[i]);
drivers/net/ethernet/realtek/rtase/rtase_main.c
620
page_pool_destroy(tp->page_pool);
drivers/net/ethernet/realtek/rtase/rtase_main.c
621
tp->page_pool = NULL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
626
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
634
pp_params.pool_size = RTASE_NUM_DESC * tp->func_rx_queue_num;
drivers/net/ethernet/realtek/rtase/rtase_main.c
635
pp_params.nid = dev_to_node(&tp->pdev->dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
636
pp_params.dev = &tp->pdev->dev;
drivers/net/ethernet/realtek/rtase/rtase_main.c
643
netdev_err(tp->dev, "failed to create page pool\n");
drivers/net/ethernet/realtek/rtase/rtase_main.c
647
tp->page_pool = page_pool;
drivers/net/ethernet/realtek/rtase/rtase_main.c
649
for (i = 0; i < tp->func_tx_queue_num; i++)
drivers/net/ethernet/realtek/rtase/rtase_main.c
650
rtase_tx_desc_init(tp, i);
drivers/net/ethernet/realtek/rtase/rtase_main.c
652
for (i = 0; i < tp->func_rx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
653
rtase_rx_desc_init(tp, i);
drivers/net/ethernet/realtek/rtase/rtase_main.c
655
num = rtase_rx_ring_fill(&tp->rx_ring[i], 0, RTASE_NUM_DESC);
drivers/net/ethernet/realtek/rtase/rtase_main.c
659
rtase_mark_as_last_descriptor(tp->rx_ring[i].desc +
drivers/net/ethernet/realtek/rtase/rtase_main.c
667
rtase_rx_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
671
static void rtase_interrupt_mitigation(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
675
for (i = 0; i < tp->func_tx_queue_num; i++)
drivers/net/ethernet/realtek/rtase/rtase_main.c
676
rtase_w16(tp, RTASE_INT_MITI_TX + i * 2, tp->tx_int_mit);
drivers/net/ethernet/realtek/rtase/rtase_main.c
678
for (i = 0; i < tp->func_rx_queue_num; i++)
drivers/net/ethernet/realtek/rtase/rtase_main.c
679
rtase_w16(tp, RTASE_INT_MITI_RX + i * 2, tp->rx_int_mit);
drivers/net/ethernet/realtek/rtase/rtase_main.c
682
static void rtase_tally_counter_addr_fill(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
684
rtase_w32(tp, RTASE_DTCCR4, upper_32_bits(tp->tally_paddr));
drivers/net/ethernet/realtek/rtase/rtase_main.c
685
rtase_w32(tp, RTASE_DTCCR0, lower_32_bits(tp->tally_paddr));
drivers/net/ethernet/realtek/rtase/rtase_main.c
688
static void rtase_tally_counter_clear(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
690
u32 cmd = lower_32_bits(tp->tally_paddr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
692
rtase_w32(tp, RTASE_DTCCR4, upper_32_bits(tp->tally_paddr));
drivers/net/ethernet/realtek/rtase/rtase_main.c
693
rtase_w32(tp, RTASE_DTCCR0, cmd | RTASE_COUNTER_RESET);
drivers/net/ethernet/realtek/rtase/rtase_main.c
696
static void rtase_desc_addr_fill(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
702
for (i = 0; i < tp->func_tx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
703
ring = &tp->tx_ring[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
705
rtase_w32(tp, RTASE_TX_DESC_ADDR0,
drivers/net/ethernet/realtek/rtase/rtase_main.c
707
rtase_w32(tp, RTASE_TX_DESC_ADDR4,
drivers/net/ethernet/realtek/rtase/rtase_main.c
711
rtase_w16(tp, RTASE_TX_DESC_COMMAND, cmd);
drivers/net/ethernet/realtek/rtase/rtase_main.c
715
1000, false, tp,
drivers/net/ethernet/realtek/rtase/rtase_main.c
719
netdev_err(tp->dev,
drivers/net/ethernet/realtek/rtase/rtase_main.c
723
for (i = 0; i < tp->func_rx_queue_num; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
724
ring = &tp->rx_ring[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
727
rtase_w32(tp, RTASE_Q0_RX_DESC_ADDR0,
drivers/net/ethernet/realtek/rtase/rtase_main.c
729
rtase_w32(tp, RTASE_Q0_RX_DESC_ADDR4,
drivers/net/ethernet/realtek/rtase/rtase_main.c
732
rtase_w32(tp, (RTASE_Q1_RX_DESC_ADDR0 + ((i - 1) * 8)),
drivers/net/ethernet/realtek/rtase/rtase_main.c
734
rtase_w32(tp, (RTASE_Q1_RX_DESC_ADDR4 + ((i - 1) * 8)),
drivers/net/ethernet/realtek/rtase/rtase_main.c
743
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
746
rx_config = rtase_r16(tp, RTASE_RX_CONFIG_0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
752
rtase_w16(tp, RTASE_RX_CONFIG_0, rx_config);
drivers/net/ethernet/realtek/rtase/rtase_main.c
754
val = rtase_r16(tp, RTASE_CPLUS_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
756
rtase_w16(tp, RTASE_CPLUS_CMD, val | RTASE_RX_CHKSUM);
drivers/net/ethernet/realtek/rtase/rtase_main.c
758
rtase_w16(tp, RTASE_CPLUS_CMD, val & ~RTASE_RX_CHKSUM);
drivers/net/ethernet/realtek/rtase/rtase_main.c
760
rx_config = rtase_r16(tp, RTASE_RX_CONFIG_1);
drivers/net/ethernet/realtek/rtase/rtase_main.c
768
rtase_w16(tp, RTASE_RX_CONFIG_1, rx_config);
drivers/net/ethernet/realtek/rtase/rtase_main.c
774
struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
777
rx_mode = rtase_r16(tp, RTASE_RX_CONFIG_0) & ~RTASE_ACCEPT_MASK;
drivers/net/ethernet/realtek/rtase/rtase_main.c
804
rtase_w32(tp, RTASE_MAR0, swab32(mc_filter[1]));
drivers/net/ethernet/realtek/rtase/rtase_main.c
805
rtase_w32(tp, RTASE_MAR1, swab32(mc_filter[0]));
drivers/net/ethernet/realtek/rtase/rtase_main.c
806
rtase_w16(tp, RTASE_RX_CONFIG_0, rx_mode);
drivers/net/ethernet/realtek/rtase/rtase_main.c
809
static void rtase_irq_dis_and_clear(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
811
const struct rtase_int_vector *ivec = &tp->int_vector[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
816
rtase_w32(tp, ivec->imr_addr, 0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
817
val1 = rtase_r32(tp, ivec->isr_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
818
rtase_w32(tp, ivec->isr_addr, val1);
drivers/net/ethernet/realtek/rtase/rtase_main.c
820
for (i = 1; i < tp->int_nums; i++) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
821
ivec = &tp->int_vector[i];
drivers/net/ethernet/realtek/rtase/rtase_main.c
822
rtase_w16(tp, ivec->imr_addr, 0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
823
val2 = rtase_r16(tp, ivec->isr_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
824
rtase_w16(tp, ivec->isr_addr, val2);
drivers/net/ethernet/realtek/rtase/rtase_main.c
828
static void rtase_poll_timeout(const struct rtase_private *tp, u32 cond,
drivers/net/ethernet/realtek/rtase/rtase_main.c
835
timeout_us, false, tp, reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
838
netdev_err(tp->dev, "poll reg 0x00%x timeout\n", reg);
drivers/net/ethernet/realtek/rtase/rtase_main.c
843
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
847
rx_config = rtase_r16(tp, RTASE_RX_CONFIG_0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
848
rtase_w16(tp, RTASE_RX_CONFIG_0, rx_config & ~RTASE_ACCEPT_MASK);
drivers/net/ethernet/realtek/rtase/rtase_main.c
850
val = rtase_r8(tp, RTASE_MISC);
drivers/net/ethernet/realtek/rtase/rtase_main.c
851
rtase_w8(tp, RTASE_MISC, val | RTASE_RX_DV_GATE_EN);
drivers/net/ethernet/realtek/rtase/rtase_main.c
853
val = rtase_r8(tp, RTASE_CHIP_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
854
rtase_w8(tp, RTASE_CHIP_CMD, val | RTASE_STOP_REQ);
drivers/net/ethernet/realtek/rtase/rtase_main.c
857
rtase_poll_timeout(tp, RTASE_STOP_REQ_DONE, 100, 150000,
drivers/net/ethernet/realtek/rtase/rtase_main.c
860
rtase_poll_timeout(tp, RTASE_TX_FIFO_EMPTY, 100, 100000,
drivers/net/ethernet/realtek/rtase/rtase_main.c
863
rtase_poll_timeout(tp, RTASE_RX_FIFO_EMPTY, 100, 100000,
drivers/net/ethernet/realtek/rtase/rtase_main.c
866
val = rtase_r8(tp, RTASE_CHIP_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
867
rtase_w8(tp, RTASE_CHIP_CMD, val & ~(RTASE_TE | RTASE_RE));
drivers/net/ethernet/realtek/rtase/rtase_main.c
868
val = rtase_r8(tp, RTASE_CHIP_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
869
rtase_w8(tp, RTASE_CHIP_CMD, val & ~RTASE_STOP_REQ);
drivers/net/ethernet/realtek/rtase/rtase_main.c
871
rtase_w16(tp, RTASE_RX_CONFIG_0, rx_config);
drivers/net/ethernet/realtek/rtase/rtase_main.c
876
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
878
rtase_irq_dis_and_clear(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
883
static void rtase_set_rx_queue(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
887
reg_data = rtase_r16(tp, RTASE_FCR);
drivers/net/ethernet/realtek/rtase/rtase_main.c
888
switch (tp->func_rx_queue_num) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
899
rtase_w16(tp, RTASE_FCR, reg_data);
drivers/net/ethernet/realtek/rtase/rtase_main.c
902
static void rtase_set_tx_queue(const struct rtase_private *tp)
drivers/net/ethernet/realtek/rtase/rtase_main.c
906
reg_data = rtase_r16(tp, RTASE_TX_CONFIG_1);
drivers/net/ethernet/realtek/rtase/rtase_main.c
907
switch (tp->tx_queue_ctrl) {
drivers/net/ethernet/realtek/rtase/rtase_main.c
922
rtase_w16(tp, RTASE_TX_CONFIG_1, reg_data);
drivers/net/ethernet/realtek/rtase/rtase_main.c
927
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
934
reg_data16 = rtase_r16(tp, RTASE_RX_CONFIG_0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
938
rtase_w16(tp, RTASE_RX_CONFIG_0, reg_data16);
drivers/net/ethernet/realtek/rtase/rtase_main.c
941
reg_data16 = rtase_r16(tp, RTASE_RX_CONFIG_1);
drivers/net/ethernet/realtek/rtase/rtase_main.c
944
rtase_w16(tp, RTASE_RX_CONFIG_1, reg_data16);
drivers/net/ethernet/realtek/rtase/rtase_main.c
946
rtase_set_rx_queue(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
948
rtase_interrupt_mitigation(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
951
reg_data32 = rtase_r32(tp, RTASE_TX_CONFIG_0);
drivers/net/ethernet/realtek/rtase/rtase_main.c
956
rtase_w32(tp, RTASE_TX_CONFIG_0, reg_data32);
drivers/net/ethernet/realtek/rtase/rtase_main.c
959
reg_data16 = rtase_r16(tp, RTASE_TFUN_CTRL);
drivers/net/ethernet/realtek/rtase/rtase_main.c
960
rtase_w16(tp, RTASE_TFUN_CTRL, reg_data16 |
drivers/net/ethernet/realtek/rtase/rtase_main.c
964
rtase_w8(tp, RTASE_TDFNR, 0x10);
drivers/net/ethernet/realtek/rtase/rtase_main.c
967
reg_data16 = rtase_r16(tp, RTASE_MTPS);
drivers/net/ethernet/realtek/rtase/rtase_main.c
969
rtase_w16(tp, RTASE_MTPS, reg_data16);
drivers/net/ethernet/realtek/rtase/rtase_main.c
971
rtase_set_tx_queue(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
973
rtase_w16(tp, RTASE_TOKSEL, 0x5555);
drivers/net/ethernet/realtek/rtase/rtase_main.c
975
rtase_tally_counter_addr_fill(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
976
rtase_desc_addr_fill(tp);
drivers/net/ethernet/realtek/rtase/rtase_main.c
980
reg_data16 = rtase_r16(tp, RTASE_GPHY_STD_00);
drivers/net/ethernet/realtek/rtase/rtase_main.c
982
rtase_w16(tp, RTASE_GPHY_STD_00, reg_data16);
drivers/net/ethernet/realtek/rtase/rtase_main.c
983
reg_data16 = rtase_r16(tp, RTASE_CPLUS_CMD);
drivers/net/ethernet/realtek/rtase/rtase_main.c
985
rtase_w16(tp, RTASE_CPLUS_CMD, reg_data16);
drivers/net/ethernet/realtek/rtase/rtase_main.c
987
rtase_w16(tp, RTASE_RFIFONFULL, 0x190);
drivers/net/ethernet/realtek/rtase/rtase_main.c
989
rtase_w16(tp, RTASE_RMS, tp->rx_buf_sz);
drivers/net/ethernet/realtek/rtase/rtase_main.c
996
const struct rtase_private *tp = netdev_priv(dev);
drivers/net/ethernet/realtek/rtase/rtase_main.c
997
u16 rcr = rtase_r16(tp, RTASE_RX_CONFIG_1);
drivers/net/ethernet/sis/sis190.c
1006
if (tp->features & F_HAS_RGMII) {
drivers/net/ethernet/sis/sis190.c
1011
tp->negotiated_lpa = p->val;
drivers/net/ethernet/sis/sis190.c
1013
netif_info(tp, link, dev, "link on %s mode\n", p->msg);
drivers/net/ethernet/sis/sis190.c
1015
tp->link_status = LNK_ON;
drivers/net/ethernet/sis/sis190.c
1016
} else if (!(val & BMSR_LSTATUS) && tp->link_status != LNK_AUTONEG)
drivers/net/ethernet/sis/sis190.c
1017
tp->link_status = LNK_OFF;
drivers/net/ethernet/sis/sis190.c
1018
mod_timer(&tp->timer, jiffies + SIS190_PHY_TIMEOUT);
drivers/net/ethernet/sis/sis190.c
1026
struct sis190_private *tp = timer_container_of(tp, t, timer);
drivers/net/ethernet/sis/sis190.c
1027
struct net_device *dev = tp->dev;
drivers/net/ethernet/sis/sis190.c
1030
schedule_work(&tp->phy_task);
drivers/net/ethernet/sis/sis190.c
1035
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1037
timer_delete_sync(&tp->timer);
drivers/net/ethernet/sis/sis190.c
1042
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1043
struct timer_list *timer = &tp->timer;
drivers/net/ethernet/sis/sis190.c
1050
static void sis190_set_rxbufsize(struct sis190_private *tp,
drivers/net/ethernet/sis/sis190.c
1055
tp->rx_buf_sz = (mtu > RX_BUF_SIZE) ? mtu + ETH_HLEN + 8 : RX_BUF_SIZE;
drivers/net/ethernet/sis/sis190.c
1057
if (tp->rx_buf_sz & 0x07) {
drivers/net/ethernet/sis/sis190.c
1058
tp->rx_buf_sz += 8;
drivers/net/ethernet/sis/sis190.c
1059
tp->rx_buf_sz &= RX_BUF_MASK;
drivers/net/ethernet/sis/sis190.c
1065
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1066
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/sis/sis190.c
1069
sis190_set_rxbufsize(tp, dev);
drivers/net/ethernet/sis/sis190.c
1075
tp->TxDescRing = dma_alloc_coherent(&pdev->dev, TX_RING_BYTES,
drivers/net/ethernet/sis/sis190.c
1076
&tp->tx_dma, GFP_KERNEL);
drivers/net/ethernet/sis/sis190.c
1077
if (!tp->TxDescRing)
drivers/net/ethernet/sis/sis190.c
1080
tp->RxDescRing = dma_alloc_coherent(&pdev->dev, RX_RING_BYTES,
drivers/net/ethernet/sis/sis190.c
1081
&tp->rx_dma, GFP_KERNEL);
drivers/net/ethernet/sis/sis190.c
1082
if (!tp->RxDescRing)
drivers/net/ethernet/sis/sis190.c
1101
sis190_rx_clear(tp);
drivers/net/ethernet/sis/sis190.c
1103
dma_free_coherent(&pdev->dev, RX_RING_BYTES, tp->RxDescRing,
drivers/net/ethernet/sis/sis190.c
1104
tp->rx_dma);
drivers/net/ethernet/sis/sis190.c
1106
dma_free_coherent(&pdev->dev, TX_RING_BYTES, tp->TxDescRing,
drivers/net/ethernet/sis/sis190.c
1107
tp->tx_dma);
drivers/net/ethernet/sis/sis190.c
1111
static void sis190_tx_clear(struct sis190_private *tp)
drivers/net/ethernet/sis/sis190.c
1116
struct sk_buff *skb = tp->Tx_skbuff[i];
drivers/net/ethernet/sis/sis190.c
1121
sis190_unmap_tx_skb(tp->pci_dev, skb, tp->TxDescRing + i);
drivers/net/ethernet/sis/sis190.c
1122
tp->Tx_skbuff[i] = NULL;
drivers/net/ethernet/sis/sis190.c
1125
tp->dev->stats.tx_dropped++;
drivers/net/ethernet/sis/sis190.c
1127
tp->cur_tx = tp->dirty_tx = 0;
drivers/net/ethernet/sis/sis190.c
1132
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1133
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1141
spin_lock_irq(&tp->lock);
drivers/net/ethernet/sis/sis190.c
1145
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/sis/sis190.c
1147
synchronize_irq(tp->pci_dev->irq);
drivers/net/ethernet/sis/sis190.c
1156
sis190_tx_clear(tp);
drivers/net/ethernet/sis/sis190.c
1157
sis190_rx_clear(tp);
drivers/net/ethernet/sis/sis190.c
1162
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1163
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/sis/sis190.c
1169
dma_free_coherent(&pdev->dev, TX_RING_BYTES, tp->TxDescRing,
drivers/net/ethernet/sis/sis190.c
1170
tp->tx_dma);
drivers/net/ethernet/sis/sis190.c
1171
dma_free_coherent(&pdev->dev, RX_RING_BYTES, tp->RxDescRing,
drivers/net/ethernet/sis/sis190.c
1172
tp->rx_dma);
drivers/net/ethernet/sis/sis190.c
1174
tp->TxDescRing = NULL;
drivers/net/ethernet/sis/sis190.c
1175
tp->RxDescRing = NULL;
drivers/net/ethernet/sis/sis190.c
1183
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1184
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1199
entry = tp->cur_tx % NUM_TX_DESC;
drivers/net/ethernet/sis/sis190.c
1200
desc = tp->TxDescRing + entry;
drivers/net/ethernet/sis/sis190.c
1204
netif_err(tp, tx_err, dev,
drivers/net/ethernet/sis/sis190.c
1209
mapping = dma_map_single(&tp->pci_dev->dev, skb->data, len,
drivers/net/ethernet/sis/sis190.c
1211
if (dma_mapping_error(&tp->pci_dev->dev, mapping)) {
drivers/net/ethernet/sis/sis190.c
1212
netif_err(tp, tx_err, dev,
drivers/net/ethernet/sis/sis190.c
1217
tp->Tx_skbuff[entry] = skb;
drivers/net/ethernet/sis/sis190.c
1229
if (tp->negotiated_lpa & (LPA_1000HALF | LPA_100HALF | LPA_10HALF)) {
drivers/net/ethernet/sis/sis190.c
1232
if (tp->negotiated_lpa & (LPA_1000HALF | LPA_1000FULL))
drivers/net/ethernet/sis/sis190.c
1236
tp->cur_tx++;
drivers/net/ethernet/sis/sis190.c
1242
dirty_tx = tp->dirty_tx;
drivers/net/ethernet/sis/sis190.c
1243
if ((tp->cur_tx - NUM_TX_DESC) == dirty_tx) {
drivers/net/ethernet/sis/sis190.c
1246
if (dirty_tx != tp->dirty_tx)
drivers/net/ethernet/sis/sis190.c
1273
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1274
struct mii_if_info *mii_if = &tp->mii_if;
drivers/net/ethernet/sis/sis190.c
1275
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1280
list_for_each_entry(phy, &tp->first_phy, list) {
drivers/net/ethernet/sis/sis190.c
1305
phy_default = list_first_entry(&tp->first_phy,
drivers/net/ethernet/sis/sis190.c
1311
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1313
pci_name(tp->pci_dev), mii_if->phy_id);
drivers/net/ethernet/sis/sis190.c
1325
static void sis190_init_phy(struct net_device *dev, struct sis190_private *tp,
drivers/net/ethernet/sis/sis190.c
1329
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1350
tp->features |= p->feature;
drivers/net/ethernet/sis/sis190.c
1351
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1353
pci_name(tp->pci_dev), p->name, phy_id);
drivers/net/ethernet/sis/sis190.c
1356
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1358
pci_name(tp->pci_dev),
drivers/net/ethernet/sis/sis190.c
1363
static void sis190_mii_probe_88e1111_fixup(struct sis190_private *tp)
drivers/net/ethernet/sis/sis190.c
1365
if (tp->features & F_PHY_88E1111) {
drivers/net/ethernet/sis/sis190.c
1366
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1367
int phy_id = tp->mii_if.phy_id;
drivers/net/ethernet/sis/sis190.c
1373
p = (tp->features & F_HAS_RGMII) ? reg[0] : reg[1];
drivers/net/ethernet/sis/sis190.c
1392
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1393
struct mii_if_info *mii_if = &tp->mii_if;
drivers/net/ethernet/sis/sis190.c
1394
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1398
INIT_LIST_HEAD(&tp->first_phy);
drivers/net/ethernet/sis/sis190.c
1412
sis190_free_phy(&tp->first_phy);
drivers/net/ethernet/sis/sis190.c
1417
sis190_init_phy(dev, tp, phy, phy_id, status);
drivers/net/ethernet/sis/sis190.c
1419
list_add(&tp->first_phy, &phy->list);
drivers/net/ethernet/sis/sis190.c
1422
if (list_empty(&tp->first_phy)) {
drivers/net/ethernet/sis/sis190.c
1423
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1425
pci_name(tp->pci_dev));
drivers/net/ethernet/sis/sis190.c
1433
sis190_mii_probe_88e1111_fixup(tp);
drivers/net/ethernet/sis/sis190.c
1446
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1448
sis190_free_phy(&tp->first_phy);
drivers/net/ethernet/sis/sis190.c
1454
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1456
iounmap(tp->mmio_addr);
drivers/net/ethernet/sis/sis190.c
1464
struct sis190_private *tp;
drivers/net/ethernet/sis/sis190.c
1469
dev = alloc_etherdev(sizeof(*tp));
drivers/net/ethernet/sis/sis190.c
1477
tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1478
tp->dev = dev;
drivers/net/ethernet/sis/sis190.c
1479
tp->msg_enable = netif_msg_init(debug.msg_enable, SIS190_MSG_DEFAULT);
drivers/net/ethernet/sis/sis190.c
1483
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1491
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1497
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1505
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1513
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1523
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1530
tp->pci_dev = pdev;
drivers/net/ethernet/sis/sis190.c
1531
tp->mmio_addr = ioaddr;
drivers/net/ethernet/sis/sis190.c
1532
tp->link_status = LNK_OFF;
drivers/net/ethernet/sis/sis190.c
1553
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1554
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1562
netif_info(tp, tx_err, dev, "Transmit timeout, status %08x %08x\n",
drivers/net/ethernet/sis/sis190.c
1569
spin_lock_irq(&tp->lock);
drivers/net/ethernet/sis/sis190.c
1570
sis190_tx_clear(tp);
drivers/net/ethernet/sis/sis190.c
1571
spin_unlock_irq(&tp->lock);
drivers/net/ethernet/sis/sis190.c
1579
static void sis190_set_rgmii(struct sis190_private *tp, u8 reg)
drivers/net/ethernet/sis/sis190.c
1581
tp->features |= (reg & 0x80) ? F_HAS_RGMII : 0;
drivers/net/ethernet/sis/sis190.c
1587
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1588
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1593
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1600
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1614
sis190_set_rgmii(tp, sis190_read_eeprom(ioaddr, EEPROMInfo));
drivers/net/ethernet/sis/sis190.c
1632
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1638
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1648
if (netif_msg_probe(tp))
drivers/net/ethernet/sis/sis190.c
1670
sis190_set_rgmii(tp, reg);
drivers/net/ethernet/sis/sis190.c
1688
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1689
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1726
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1727
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1728
int phy_id = tp->mii_if.phy_id;
drivers/net/ethernet/sis/sis190.c
1731
netif_info(tp, link, dev, "Enabling Auto-negotiation\n");
drivers/net/ethernet/sis/sis190.c
1752
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1754
mii_ethtool_get_link_ksettings(&tp->mii_if, cmd);
drivers/net/ethernet/sis/sis190.c
1762
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1764
return mii_ethtool_set_link_ksettings(&tp->mii_if, cmd);
drivers/net/ethernet/sis/sis190.c
1770
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1774
strscpy(info->bus_info, pci_name(tp->pci_dev),
drivers/net/ethernet/sis/sis190.c
1786
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1789
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/sis/sis190.c
1790
memcpy_fromio(p, tp->mmio_addr, regs->len);
drivers/net/ethernet/sis/sis190.c
1791
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/sis/sis190.c
1796
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1798
return mii_nway_restart(&tp->mii_if);
drivers/net/ethernet/sis/sis190.c
1803
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1805
return tp->msg_enable;
drivers/net/ethernet/sis/sis190.c
1810
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1812
tp->msg_enable = value;
drivers/net/ethernet/sis/sis190.c
1829
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1832
generic_mii_ioctl(&tp->mii_if, if_mii(ifr), cmd, NULL);
drivers/net/ethernet/sis/sis190.c
1863
struct sis190_private *tp;
drivers/net/ethernet/sis/sis190.c
1882
tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1883
ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
1891
INIT_WORK(&tp->phy_task, sis190_phy_task);
drivers/net/ethernet/sis/sis190.c
1898
spin_lock_init(&tp->lock);
drivers/net/ethernet/sis/sis190.c
1908
if (netif_msg_probe(tp)) {
drivers/net/ethernet/sis/sis190.c
1914
(tp->features & F_HAS_RGMII) ? "RGMII" : "GMII");
drivers/net/ethernet/sis/sis190.c
1933
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
1936
cancel_work_sync(&tp->phy_task);
drivers/net/ethernet/sis/sis190.c
400
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
402
mdio_write(tp->mmio_addr, phy_id, reg, val);
drivers/net/ethernet/sis/sis190.c
407
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
409
return mdio_read(tp->mmio_addr, phy_id, reg);
drivers/net/ethernet/sis/sis190.c
487
static struct sk_buff *sis190_alloc_rx_skb(struct sis190_private *tp,
drivers/net/ethernet/sis/sis190.c
490
u32 rx_buf_sz = tp->rx_buf_sz;
drivers/net/ethernet/sis/sis190.c
494
skb = netdev_alloc_skb(tp->dev, rx_buf_sz);
drivers/net/ethernet/sis/sis190.c
497
mapping = dma_map_single(&tp->pci_dev->dev, skb->data, tp->rx_buf_sz,
drivers/net/ethernet/sis/sis190.c
499
if (dma_mapping_error(&tp->pci_dev->dev, mapping))
drivers/net/ethernet/sis/sis190.c
512
static u32 sis190_rx_fill(struct sis190_private *tp, struct net_device *dev,
drivers/net/ethernet/sis/sis190.c
520
if (tp->Rx_skbuff[i])
drivers/net/ethernet/sis/sis190.c
523
tp->Rx_skbuff[i] = sis190_alloc_rx_skb(tp, tp->RxDescRing + i);
drivers/net/ethernet/sis/sis190.c
525
if (!tp->Rx_skbuff[i])
drivers/net/ethernet/sis/sis190.c
531
static bool sis190_try_rx_copy(struct sis190_private *tp,
drivers/net/ethernet/sis/sis190.c
541
skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);
drivers/net/ethernet/sis/sis190.c
545
dma_sync_single_for_cpu(&tp->pci_dev->dev, addr, tp->rx_buf_sz,
drivers/net/ethernet/sis/sis190.c
575
struct sis190_private *tp, void __iomem *ioaddr)
drivers/net/ethernet/sis/sis190.c
578
u32 rx_left, cur_rx = tp->cur_rx;
drivers/net/ethernet/sis/sis190.c
581
rx_left = NUM_RX_DESC + tp->dirty_rx - cur_rx;
drivers/net/ethernet/sis/sis190.c
586
struct RxDesc *desc = tp->RxDescRing + entry;
drivers/net/ethernet/sis/sis190.c
597
sis190_give_to_asic(desc, tp->rx_buf_sz);
drivers/net/ethernet/sis/sis190.c
599
struct sk_buff *skb = tp->Rx_skbuff[entry];
drivers/net/ethernet/sis/sis190.c
602
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/sis/sis190.c
604
if (unlikely(pkt_size > tp->rx_buf_sz)) {
drivers/net/ethernet/sis/sis190.c
605
netif_info(tp, intr, dev,
drivers/net/ethernet/sis/sis190.c
609
sis190_give_to_asic(desc, tp->rx_buf_sz);
drivers/net/ethernet/sis/sis190.c
614
if (sis190_try_rx_copy(tp, &skb, pkt_size, addr)) {
drivers/net/ethernet/sis/sis190.c
616
tp->rx_buf_sz,
drivers/net/ethernet/sis/sis190.c
618
sis190_give_to_asic(desc, tp->rx_buf_sz);
drivers/net/ethernet/sis/sis190.c
621
tp->rx_buf_sz,
drivers/net/ethernet/sis/sis190.c
623
tp->Rx_skbuff[entry] = NULL;
drivers/net/ethernet/sis/sis190.c
638
count = cur_rx - tp->cur_rx;
drivers/net/ethernet/sis/sis190.c
639
tp->cur_rx = cur_rx;
drivers/net/ethernet/sis/sis190.c
641
delta = sis190_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx);
drivers/net/ethernet/sis/sis190.c
643
netif_info(tp, intr, dev, "no Rx buffer allocated\n");
drivers/net/ethernet/sis/sis190.c
644
tp->dirty_rx += delta;
drivers/net/ethernet/sis/sis190.c
646
if ((tp->dirty_rx + NUM_RX_DESC) == tp->cur_rx)
drivers/net/ethernet/sis/sis190.c
647
netif_emerg(tp, intr, dev, "Rx buffers exhausted\n");
drivers/net/ethernet/sis/sis190.c
687
struct sis190_private *tp, void __iomem *ioaddr)
drivers/net/ethernet/sis/sis190.c
690
u32 pending, dirty_tx = tp->dirty_tx;
drivers/net/ethernet/sis/sis190.c
698
pending = tp->cur_tx - dirty_tx;
drivers/net/ethernet/sis/sis190.c
703
struct TxDesc *txd = tp->TxDescRing + entry;
drivers/net/ethernet/sis/sis190.c
710
skb = tp->Tx_skbuff[entry];
drivers/net/ethernet/sis/sis190.c
718
sis190_unmap_tx_skb(tp->pci_dev, skb, txd);
drivers/net/ethernet/sis/sis190.c
719
tp->Tx_skbuff[entry] = NULL;
drivers/net/ethernet/sis/sis190.c
723
if (tp->dirty_tx != dirty_tx) {
drivers/net/ethernet/sis/sis190.c
724
tp->dirty_tx = dirty_tx;
drivers/net/ethernet/sis/sis190.c
738
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
739
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
760
netif_info(tp, intr, dev, "link change\n");
drivers/net/ethernet/sis/sis190.c
761
timer_delete(&tp->timer);
drivers/net/ethernet/sis/sis190.c
762
schedule_work(&tp->phy_task);
drivers/net/ethernet/sis/sis190.c
766
sis190_rx_interrupt(dev, tp, ioaddr);
drivers/net/ethernet/sis/sis190.c
769
sis190_tx_interrupt(dev, tp, ioaddr);
drivers/net/ethernet/sis/sis190.c
777
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
778
const int irq = tp->pci_dev->irq;
drivers/net/ethernet/sis/sis190.c
786
static void sis190_free_rx_skb(struct sis190_private *tp,
drivers/net/ethernet/sis/sis190.c
789
struct pci_dev *pdev = tp->pci_dev;
drivers/net/ethernet/sis/sis190.c
791
dma_unmap_single(&pdev->dev, le32_to_cpu(desc->addr), tp->rx_buf_sz,
drivers/net/ethernet/sis/sis190.c
798
static void sis190_rx_clear(struct sis190_private *tp)
drivers/net/ethernet/sis/sis190.c
803
if (!tp->Rx_skbuff[i])
drivers/net/ethernet/sis/sis190.c
805
sis190_free_rx_skb(tp, tp->Rx_skbuff + i, tp->RxDescRing + i);
drivers/net/ethernet/sis/sis190.c
809
static void sis190_init_ring_indexes(struct sis190_private *tp)
drivers/net/ethernet/sis/sis190.c
811
tp->dirty_tx = tp->dirty_rx = tp->cur_tx = tp->cur_rx = 0;
drivers/net/ethernet/sis/sis190.c
816
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
818
sis190_init_ring_indexes(tp);
drivers/net/ethernet/sis/sis190.c
820
memset(tp->Tx_skbuff, 0x0, NUM_TX_DESC * sizeof(struct sk_buff *));
drivers/net/ethernet/sis/sis190.c
821
memset(tp->Rx_skbuff, 0x0, NUM_RX_DESC * sizeof(struct sk_buff *));
drivers/net/ethernet/sis/sis190.c
823
if (sis190_rx_fill(tp, dev, 0, NUM_RX_DESC) != NUM_RX_DESC)
drivers/net/ethernet/sis/sis190.c
826
sis190_mark_as_last_descriptor(tp->RxDescRing + NUM_RX_DESC - 1);
drivers/net/ethernet/sis/sis190.c
831
sis190_rx_clear(tp);
drivers/net/ethernet/sis/sis190.c
837
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
838
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
866
spin_lock_irqsave(&tp->lock, flags);
drivers/net/ethernet/sis/sis190.c
872
spin_unlock_irqrestore(&tp->lock, flags);
drivers/net/ethernet/sis/sis190.c
885
struct sis190_private *tp = netdev_priv(dev);
drivers/net/ethernet/sis/sis190.c
886
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
890
SIS_W32(TxDescStartAddr, tp->tx_dma);
drivers/net/ethernet/sis/sis190.c
891
SIS_W32(RxDescStartAddr, tp->rx_dma);
drivers/net/ethernet/sis/sis190.c
918
struct sis190_private *tp =
drivers/net/ethernet/sis/sis190.c
920
struct net_device *dev = tp->dev;
drivers/net/ethernet/sis/sis190.c
921
void __iomem *ioaddr = tp->mmio_addr;
drivers/net/ethernet/sis/sis190.c
922
int phy_id = tp->mii_if.phy_id;
drivers/net/ethernet/sis/sis190.c
933
mod_timer(&tp->timer, jiffies + HZ/10);
drivers/net/ethernet/sis/sis190.c
938
if (!(val & BMSR_ANEGCOMPLETE) && tp->link_status != LNK_AUTONEG) {
drivers/net/ethernet/sis/sis190.c
940
netif_warn(tp, link, dev, "auto-negotiating...\n");
drivers/net/ethernet/sis/sis190.c
941
tp->link_status = LNK_AUTONEG;
drivers/net/ethernet/sis/sis190.c
942
} else if ((val & BMSR_LSTATUS) && tp->link_status != LNK_ON) {
drivers/net/ethernet/sis/sis190.c
966
netif_info(tp, link, dev, "mii ext = %04x\n", val);
drivers/net/ethernet/sis/sis190.c
971
netif_info(tp, link, dev, "mii lpa=%04x adv=%04x exp=%04x\n",
drivers/net/ethernet/sis/sis190.c
995
if ((tp->features & F_HAS_RGMII) &&
drivers/net/ethernet/sis/sis190.c
996
(tp->features & F_PHY_BCM5461)) {
drivers/net/ethernet/sun/niu.c
2502
const struct niu_phy_template *tp;
drivers/net/ethernet/sun/niu.c
2512
tp = &phy_template_niu_10g_serdes;
drivers/net/ethernet/sun/niu.c
2516
tp = &phy_template_niu_1g_serdes;
drivers/net/ethernet/sun/niu.c
2522
tp = &phy_template_niu_10g_hotplug;
drivers/net/ethernet/sun/niu.c
2528
tp = &phy_template_niu_10g_fiber;
drivers/net/ethernet/sun/niu.c
2540
tp = &phy_template_1g_copper;
drivers/net/ethernet/sun/niu.c
2551
tp = &phy_template_10g_copper;
drivers/net/ethernet/sun/niu.c
2556
tp = &phy_template_1g_fiber;
drivers/net/ethernet/sun/niu.c
2561
tp = &phy_template_10g_fiber;
drivers/net/ethernet/sun/niu.c
2567
tp = &phy_template_10g_fiber_hotplug;
drivers/net/ethernet/sun/niu.c
2581
tp = &phy_template_10g_serdes;
drivers/net/ethernet/sun/niu.c
2585
tp = &phy_template_1g_rgmii;
drivers/net/ethernet/sun/niu.c
2598
np->phy_ops = tp->ops;
drivers/net/ethernet/sun/niu.c
2599
np->phy_addr = tp->phy_addr_base + phy_addr_off;
drivers/net/ethernet/sun/niu.c
3563
struct tx_pkt_hdr *tp;
drivers/net/ethernet/sun/niu.c
3567
tp = (struct tx_pkt_hdr *) skb->data;
drivers/net/ethernet/sun/niu.c
3568
tx_flags = le64_to_cpup(&tp->flags);
drivers/net/ethernet/sun/niu.c
4725
struct niu_rdc_tables *tp = &np->parent->rdc_group_cfg[np->port];
drivers/net/ethernet/sun/niu.c
4726
int i, first_table_num = tp->first_table_num;
drivers/net/ethernet/sun/niu.c
4728
for (i = 0; i < tp->num_tables; i++) {
drivers/net/ethernet/sun/niu.c
4729
struct rdc_table *tbl = &tp->tables[i];
drivers/net/ethernet/sun/niu.c
4762
struct niu_rdc_tables *tp = &parent->rdc_group_cfg[np->port];
drivers/net/ethernet/sun/niu.c
4764
int first_rdc_table = tp->first_table_num;
drivers/net/ethernet/sun/niu.c
5010
struct niu_tcam_entry *tp;
drivers/net/ethernet/sun/niu.c
5014
tp = &parent->tcam[index];
drivers/net/ethernet/sun/niu.c
5019
memset(tp, 0, sizeof(*tp));
drivers/net/ethernet/sun/niu.c
5020
tp->key[1] = TCAM_V4KEY1_NOPORT;
drivers/net/ethernet/sun/niu.c
5021
tp->key_mask[1] = TCAM_V4KEY1_NOPORT;
drivers/net/ethernet/sun/niu.c
5022
tp->assoc_data = (TCAM_ASSOCDATA_TRES_USE_OFFSET |
drivers/net/ethernet/sun/niu.c
5024
err = tcam_write(np, index, tp->key, tp->key_mask);
drivers/net/ethernet/sun/niu.c
5027
err = tcam_assoc_write(np, index, tp->assoc_data);
drivers/net/ethernet/sun/niu.c
5030
tp->valid = 1;
drivers/net/ethernet/sun/niu.c
5634
struct niu_rdc_tables *tp = &parent->rdc_group_cfg[np->port];
drivers/net/ethernet/sun/niu.c
5635
int first_rdc_table = tp->first_table_num;
drivers/net/ethernet/sun/niu.c
5686
struct niu_rdc_tables *tp = &parent->rdc_group_cfg[np->port];
drivers/net/ethernet/sun/niu.c
5687
int first_rdc_table = tp->first_table_num;
drivers/net/ethernet/sun/niu.c
6631
struct tx_pkt_hdr *tp;
drivers/net/ethernet/sun/niu.c
6667
tp = skb_push(skb, headroom);
drivers/net/ethernet/sun/niu.c
6670
tp->flags = cpu_to_le64(niu_compute_tx_flags(skb, ehdr, align, len));
drivers/net/ethernet/sun/niu.c
6671
tp->resv = 0;
drivers/net/ethernet/sun/niu.c
7114
static void niu_get_ip4fs_from_tcam_key(struct niu_tcam_entry *tp,
drivers/net/ethernet/sun/niu.c
7120
tmp = (tp->key[3] & TCAM_V4KEY3_SADDR) >> TCAM_V4KEY3_SADDR_SHIFT;
drivers/net/ethernet/sun/niu.c
7123
tmp = (tp->key[3] & TCAM_V4KEY3_DADDR) >> TCAM_V4KEY3_DADDR_SHIFT;
drivers/net/ethernet/sun/niu.c
7126
tmp = (tp->key_mask[3] & TCAM_V4KEY3_SADDR) >> TCAM_V4KEY3_SADDR_SHIFT;
drivers/net/ethernet/sun/niu.c
7129
tmp = (tp->key_mask[3] & TCAM_V4KEY3_DADDR) >> TCAM_V4KEY3_DADDR_SHIFT;
drivers/net/ethernet/sun/niu.c
7132
fsp->h_u.tcp_ip4_spec.tos = (tp->key[2] & TCAM_V4KEY2_TOS) >>
drivers/net/ethernet/sun/niu.c
7134
fsp->m_u.tcp_ip4_spec.tos = (tp->key_mask[2] & TCAM_V4KEY2_TOS) >>
drivers/net/ethernet/sun/niu.c
7141
prt = ((tp->key[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7145
prt = ((tp->key[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7149
prt = ((tp->key_mask[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7153
prt = ((tp->key_mask[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7159
tmp = (tp->key[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7163
tmp = (tp->key_mask[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7168
tmp = (tp->key[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7172
tmp = (tp->key_mask[2] & TCAM_V4KEY2_PORT_SPI) >>
drivers/net/ethernet/sun/niu.c
7177
(tp->key[2] & TCAM_V4KEY2_PROTO) >>
drivers/net/ethernet/sun/niu.c
7180
(tp->key_mask[2] & TCAM_V4KEY2_PROTO) >>
drivers/net/ethernet/sun/niu.c
7194
struct niu_tcam_entry *tp;
drivers/net/ethernet/sun/niu.c
7202
tp = &parent->tcam[idx];
drivers/net/ethernet/sun/niu.c
7203
if (!tp->valid) {
drivers/net/ethernet/sun/niu.c
7210
class = (tp->key[0] & TCAM_V4KEY0_CLASS_CODE) >>
drivers/net/ethernet/sun/niu.c
7220
u32 proto = (tp->key[2] & TCAM_V4KEY2_PROTO) >>
drivers/net/ethernet/sun/niu.c
7236
niu_get_ip4fs_from_tcam_key(tp, fsp);
drivers/net/ethernet/sun/niu.c
7247
niu_get_ip4fs_from_tcam_key(tp, fsp);
drivers/net/ethernet/sun/niu.c
7257
if (tp->assoc_data & TCAM_ASSOCDATA_DISC)
drivers/net/ethernet/sun/niu.c
7260
fsp->ring_cookie = (tp->assoc_data & TCAM_ASSOCDATA_OFFSET) >>
drivers/net/ethernet/sun/niu.c
7274
struct niu_tcam_entry *tp;
drivers/net/ethernet/sun/niu.c
7285
tp = &parent->tcam[idx];
drivers/net/ethernet/sun/niu.c
7286
if (!tp->valid)
drivers/net/ethernet/sun/niu.c
7386
struct niu_tcam_entry *tp,
drivers/net/ethernet/sun/niu.c
7398
tp->key[0] = class << TCAM_V4KEY0_CLASS_CODE_SHIFT;
drivers/net/ethernet/sun/niu.c
7399
tp->key_mask[0] = TCAM_V4KEY0_CLASS_CODE;
drivers/net/ethernet/sun/niu.c
7400
tp->key[1] = (u64)l2_rdc_tab << TCAM_V4KEY1_L2RDCNUM_SHIFT;
drivers/net/ethernet/sun/niu.c
7401
tp->key_mask[1] = TCAM_V4KEY1_L2RDCNUM;
drivers/net/ethernet/sun/niu.c
7403
tp->key[3] = (u64)sip << TCAM_V4KEY3_SADDR_SHIFT;
drivers/net/ethernet/sun/niu.c
7404
tp->key[3] |= dip;
drivers/net/ethernet/sun/niu.c
7406
tp->key_mask[3] = (u64)sipm << TCAM_V4KEY3_SADDR_SHIFT;
drivers/net/ethernet/sun/niu.c
7407
tp->key_mask[3] |= dipm;
drivers/net/ethernet/sun/niu.c
7409
tp->key[2] |= ((u64)fsp->h_u.tcp_ip4_spec.tos <<
drivers/net/ethernet/sun/niu.c
7411
tp->key_mask[2] |= ((u64)fsp->m_u.tcp_ip4_spec.tos <<
drivers/net/ethernet/sun/niu.c
7422
tp->key[2] |= (((u64)sport << 16) | dport);
drivers/net/ethernet/sun/niu.c
7423
tp->key_mask[2] |= (((u64)spm << 16) | dpm);
drivers/net/ethernet/sun/niu.c
7431
tp->key[2] |= spi;
drivers/net/ethernet/sun/niu.c
7432
tp->key_mask[2] |= spim;
drivers/net/ethernet/sun/niu.c
7439
tp->key[2] |= spi;
drivers/net/ethernet/sun/niu.c
7440
tp->key_mask[2] |= spim;
drivers/net/ethernet/sun/niu.c
7447
tp->key[2] |= ((u64)pid << TCAM_V4KEY2_PROTO_SHIFT);
drivers/net/ethernet/sun/niu.c
7449
tp->key_mask[2] |= TCAM_V4KEY2_PROTO;
drivers/net/ethernet/sun/niu.c
7457
struct niu_tcam_entry *tp;
drivers/net/ethernet/sun/niu.c
7543
tp = &parent->tcam[idx];
drivers/net/ethernet/sun/niu.c
7545
memset(tp, 0, sizeof(*tp));
drivers/net/ethernet/sun/niu.c
7554
niu_get_tcamkey_from_ip4fs(fsp, tp, l2_rdc_table, class);
drivers/net/ethernet/sun/niu.c
7567
niu_get_tcamkey_from_ip4fs(fsp, tp, l2_rdc_table, class);
drivers/net/ethernet/sun/niu.c
7578
tp->assoc_data = TCAM_ASSOCDATA_DISC;
drivers/net/ethernet/sun/niu.c
7587
tp->assoc_data = (TCAM_ASSOCDATA_TRES_USE_OFFSET |
drivers/net/ethernet/sun/niu.c
7592
err = tcam_write(np, idx, tp->key, tp->key_mask);
drivers/net/ethernet/sun/niu.c
7597
err = tcam_assoc_write(np, idx, tp->assoc_data);
drivers/net/ethernet/sun/niu.c
7604
tp->valid = 1;
drivers/net/ethernet/sun/niu.c
7615
struct niu_tcam_entry *tp;
drivers/net/ethernet/sun/niu.c
7627
tp = &parent->tcam[idx];
drivers/net/ethernet/sun/niu.c
7630
class = (tp->key[0] & TCAM_V4KEY0_CLASS_CODE) >>
drivers/net/ethernet/sun/niu.c
7665
tp->valid = 0;
drivers/net/ethernet/sun/niu.c
8765
struct niu_rdc_tables *tp = &parent->rdc_group_cfg[i];
drivers/net/ethernet/sun/niu.c
8769
tp->first_table_num = rdc_group;
drivers/net/ethernet/sun/niu.c
8770
tp->num_tables = rdc_groups_per_port;
drivers/net/ethernet/sun/niu.c
8772
for (grp = 0; grp < tp->num_tables; grp++) {
drivers/net/ethernet/sun/niu.c
8773
struct rdc_table *rt = &tp->tables[grp];
drivers/net/ethernet/sun/niu.c
8777
parent->index, i, tp->first_table_num + grp);
drivers/net/ethernet/sun/niu.h
2879
#define NEXT_TX(tp, index) \
drivers/net/ethernet/sun/niu.h
2880
(((index) + 1) < (tp)->pending ? ((index) + 1) : 0)
drivers/net/ethernet/sun/niu.h
2882
#define PREVIOUS_TX(tp, index) \
drivers/net/ethernet/sun/niu.h
2883
(((index) - 1) >= 0 ? ((index) - 1) : (((tp)->pending) - 1))
drivers/net/ethernet/sun/niu.h
2885
static inline u32 niu_tx_avail(struct tx_ring_info *tp)
drivers/net/ethernet/sun/niu.h
2887
return (tp->pending -
drivers/net/ethernet/sun/niu.h
2888
((tp->prod - tp->cons) & (MAX_TX_RING_SIZE - 1)));
drivers/net/ethernet/xilinx/ll_temac_main.c
600
struct temac_option *tp = &temac_options[0];
drivers/net/ethernet/xilinx/ll_temac_main.c
605
while (tp->opt) {
drivers/net/ethernet/xilinx/ll_temac_main.c
606
reg = temac_indirect_in32_locked(lp, tp->reg) & ~tp->m_or;
drivers/net/ethernet/xilinx/ll_temac_main.c
607
if (options & tp->opt) {
drivers/net/ethernet/xilinx/ll_temac_main.c
608
reg |= tp->m_or;
drivers/net/ethernet/xilinx/ll_temac_main.c
609
temac_indirect_out32_locked(lp, tp->reg, reg);
drivers/net/ethernet/xilinx/ll_temac_main.c
611
tp++;
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
540
struct axienet_option *tp = &axienet_options[0];
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
542
while (tp->opt) {
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
543
reg = ((axienet_ior(lp, tp->reg)) & ~(tp->m_or));
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
544
if (options & tp->opt)
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
545
reg |= tp->m_or;
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
546
axienet_iow(lp, tp->reg, reg);
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
547
tp++;
drivers/net/usb/r8152.c
10133
struct r8152 *tp;
drivers/net/usb/r8152.c
10150
tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
10151
tp->msg_enable = 0x7FFF;
drivers/net/usb/r8152.c
10153
tp->udev = udev;
drivers/net/usb/r8152.c
10154
tp->netdev = netdev;
drivers/net/usb/r8152.c
10155
tp->intf = intf;
drivers/net/usb/r8152.c
10156
tp->version = version;
drivers/net/usb/r8152.c
10158
tp->pipe_ctrl_in = usb_rcvctrlpipe(udev, 0);
drivers/net/usb/r8152.c
10159
tp->pipe_ctrl_out = usb_sndctrlpipe(udev, 0);
drivers/net/usb/r8152.c
10160
tp->pipe_in = usb_rcvbulkpipe(udev, 1);
drivers/net/usb/r8152.c
10161
tp->pipe_out = usb_sndbulkpipe(udev, 2);
drivers/net/usb/r8152.c
10162
tp->pipe_intr = usb_rcvintpipe(udev, 3);
drivers/net/usb/r8152.c
10168
tp->mii.supports_gmii = 0;
drivers/net/usb/r8152.c
10171
tp->mii.supports_gmii = 1;
drivers/net/usb/r8152.c
10175
ret = rtl_ops_init(tp);
drivers/net/usb/r8152.c
10179
rtl_fw_init(tp);
drivers/net/usb/r8152.c
10181
mutex_init(&tp->control);
drivers/net/usb/r8152.c
10182
INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
drivers/net/usb/r8152.c
10183
INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t);
drivers/net/usb/r8152.c
10184
tasklet_setup(&tp->tx_tl, bottom_half);
drivers/net/usb/r8152.c
10185
tasklet_disable(&tp->tx_tl);
drivers/net/usb/r8152.c
10202
if (tp->version == RTL_VER_01) {
drivers/net/usb/r8152.c
10207
tp->lenovo_macpassthru = rtl8152_supports_lenovo_macpassthru(udev);
drivers/net/usb/r8152.c
10213
tp->dell_tb_rx_agg_bug = 1;
drivers/net/usb/r8152.c
10221
switch (tp->version) {
drivers/net/usb/r8152.c
10250
tp->mii.dev = netdev;
drivers/net/usb/r8152.c
10251
tp->mii.mdio_read = read_mii_word;
drivers/net/usb/r8152.c
10252
tp->mii.mdio_write = write_mii_word;
drivers/net/usb/r8152.c
10253
tp->mii.phy_id_mask = 0x3f;
drivers/net/usb/r8152.c
10254
tp->mii.reg_num_mask = 0x1f;
drivers/net/usb/r8152.c
10255
tp->mii.phy_id = R8152_PHY_ID;
drivers/net/usb/r8152.c
10257
tp->autoneg = AUTONEG_ENABLE;
drivers/net/usb/r8152.c
10258
tp->speed = SPEED_100;
drivers/net/usb/r8152.c
10259
tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL |
drivers/net/usb/r8152.c
10261
if (tp->mii.supports_gmii) {
drivers/net/usb/r8152.c
10262
if (tp->support_2500full &&
drivers/net/usb/r8152.c
10263
tp->udev->speed >= USB_SPEED_SUPER) {
drivers/net/usb/r8152.c
10264
tp->speed = SPEED_2500;
drivers/net/usb/r8152.c
10265
tp->advertising |= RTL_ADVERTISED_2500_FULL;
drivers/net/usb/r8152.c
10267
tp->speed = SPEED_1000;
drivers/net/usb/r8152.c
10269
if (tp->support_5000full &&
drivers/net/usb/r8152.c
10270
tp->udev->speed >= USB_SPEED_SUPER) {
drivers/net/usb/r8152.c
10271
tp->speed = SPEED_5000;
drivers/net/usb/r8152.c
10272
tp->advertising |= RTL_ADVERTISED_5000_FULL;
drivers/net/usb/r8152.c
10274
if (tp->support_10000full &&
drivers/net/usb/r8152.c
10275
tp->udev->speed >= USB_SPEED_SUPER) {
drivers/net/usb/r8152.c
10276
tp->speed = SPEED_10000;
drivers/net/usb/r8152.c
10277
tp->advertising |= RTL_ADVERTISED_10000_FULL;
drivers/net/usb/r8152.c
10279
tp->advertising |= RTL_ADVERTISED_1000_FULL;
drivers/net/usb/r8152.c
10281
tp->duplex = DUPLEX_FULL;
drivers/net/usb/r8152.c
10283
tp->rx_copybreak = RTL8152_RXFG_HEADSZ;
drivers/net/usb/r8152.c
10284
tp->rx_pending = 10 * RTL8152_MAX_RX;
drivers/net/usb/r8152.c
10288
if (!rtl_can_wakeup(tp))
drivers/net/usb/r8152.c
10289
__rtl_set_wol(tp, 0);
drivers/net/usb/r8152.c
10291
tp->saved_wolopts = __rtl_get_wol(tp);
drivers/net/usb/r8152.c
10293
tp->rtl_ops.init(tp);
drivers/net/usb/r8152.c
10296
tp->rtl_fw.retry = true;
drivers/net/usb/r8152.c
10298
queue_delayed_work(system_long_wq, &tp->hw_phy_work, 0);
drivers/net/usb/r8152.c
10299
set_ethernet_addr(tp, false);
drivers/net/usb/r8152.c
10301
usb_set_intfdata(intf, tp);
drivers/net/usb/r8152.c
10303
netif_napi_add(netdev, &tp->napi, r8152_poll);
drivers/net/usb/r8152.c
10311
if (tp->saved_wolopts)
drivers/net/usb/r8152.c
10319
if (test_bit(PROBE_SHOULD_RETRY, &tp->flags))
drivers/net/usb/r8152.c
10322
set_bit(PROBED_WITH_NO_ERRORS, &tp->flags);
drivers/net/usb/r8152.c
10330
tasklet_kill(&tp->tx_tl);
drivers/net/usb/r8152.c
10331
cancel_delayed_work_sync(&tp->hw_phy_work);
drivers/net/usb/r8152.c
10332
if (tp->rtl_ops.unload)
drivers/net/usb/r8152.c
10333
tp->rtl_ops.unload(tp);
drivers/net/usb/r8152.c
10334
rtl8152_release_firmware(tp);
drivers/net/usb/r8152.c
10337
if (test_bit(PROBE_SHOULD_RETRY, &tp->flags))
drivers/net/usb/r8152.c
10379
struct r8152 *tp = usb_get_intfdata(intf);
drivers/net/usb/r8152.c
10382
if (tp) {
drivers/net/usb/r8152.c
10383
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
10385
unregister_netdev(tp->netdev);
drivers/net/usb/r8152.c
10386
tasklet_kill(&tp->tx_tl);
drivers/net/usb/r8152.c
10387
cancel_delayed_work_sync(&tp->hw_phy_work);
drivers/net/usb/r8152.c
10388
if (tp->rtl_ops.unload)
drivers/net/usb/r8152.c
10389
tp->rtl_ops.unload(tp);
drivers/net/usb/r8152.c
10390
rtl8152_release_firmware(tp);
drivers/net/usb/r8152.c
10391
free_netdev(tp->netdev);
drivers/net/usb/r8152.c
1277
#define RTL_LIMITED_TSO_SIZE (size_to_mtu(agg_buf_sz) - tp->tx_desc.size)
drivers/net/usb/r8152.c
1285
static void rtl_set_inaccessible(struct r8152 *tp)
drivers/net/usb/r8152.c
1287
set_bit(RTL8152_INACCESSIBLE, &tp->flags);
drivers/net/usb/r8152.c
1291
static void rtl_set_accessible(struct r8152 *tp)
drivers/net/usb/r8152.c
1293
clear_bit(RTL8152_INACCESSIBLE, &tp->flags);
drivers/net/usb/r8152.c
1298
int r8152_control_msg(struct r8152 *tp, unsigned int pipe, __u8 request,
drivers/net/usb/r8152.c
1302
struct usb_device *udev = tp->udev;
drivers/net/usb/r8152.c
1305
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
1320
tp->reg_access_reset_count = 0;
drivers/net/usb/r8152.c
1334
rtl_set_inaccessible(tp);
drivers/net/usb/r8152.c
1341
if (!test_bit(PROBED_WITH_NO_ERRORS, &tp->flags)) {
drivers/net/usb/r8152.c
1342
set_bit(PROBE_SHOULD_RETRY, &tp->flags);
drivers/net/usb/r8152.c
1354
if (test_bit(IN_PRE_RESET, &tp->flags))
drivers/net/usb/r8152.c
1357
if (tp->reg_access_reset_count < REGISTER_ACCESS_MAX_RESETS) {
drivers/net/usb/r8152.c
1358
usb_queue_reset_device(tp->intf);
drivers/net/usb/r8152.c
1359
tp->reg_access_reset_count++;
drivers/net/usb/r8152.c
1360
} else if (tp->reg_access_reset_count == REGISTER_ACCESS_MAX_RESETS) {
drivers/net/usb/r8152.c
1370
int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
drivers/net/usb/r8152.c
1379
ret = r8152_control_msg(tp, tp->pipe_ctrl_in,
drivers/net/usb/r8152.c
1394
int set_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
drivers/net/usb/r8152.c
1403
ret = r8152_control_msg(tp, tp->pipe_ctrl_out,
drivers/net/usb/r8152.c
1412
static void rtl_set_unplug(struct r8152 *tp)
drivers/net/usb/r8152.c
1414
if (tp->udev->state == USB_STATE_NOTATTACHED)
drivers/net/usb/r8152.c
1415
rtl_set_inaccessible(tp);
drivers/net/usb/r8152.c
1418
static int generic_ocp_read(struct r8152 *tp, u16 index, u16 size,
drivers/net/usb/r8152.c
1424
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
1436
ret = get_registers(tp, index, type, limit, data);
drivers/net/usb/r8152.c
1444
ret = get_registers(tp, index, type, size, data);
drivers/net/usb/r8152.c
1456
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
1461
static int generic_ocp_write(struct r8152 *tp, u16 index, u16 byteen,
drivers/net/usb/r8152.c
1468
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
1485
ret = set_registers(tp, index, type | byen, 4, data);
drivers/net/usb/r8152.c
1503
ret = set_registers(tp, index,
drivers/net/usb/r8152.c
1513
ret = set_registers(tp, index,
drivers/net/usb/r8152.c
1528
ret = set_registers(tp, index, type | byen, 4, data);
drivers/net/usb/r8152.c
1533
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
1539
int pla_ocp_read(struct r8152 *tp, u16 index, u16 size, void *data)
drivers/net/usb/r8152.c
1541
return generic_ocp_read(tp, index, size, data, MCU_TYPE_PLA);
drivers/net/usb/r8152.c
1545
int pla_ocp_write(struct r8152 *tp, u16 index, u16 byteen, u16 size, void *data)
drivers/net/usb/r8152.c
1547
return generic_ocp_write(tp, index, byteen, size, data, MCU_TYPE_PLA);
drivers/net/usb/r8152.c
1551
int usb_ocp_write(struct r8152 *tp, u16 index, u16 byteen, u16 size, void *data)
drivers/net/usb/r8152.c
1553
return generic_ocp_write(tp, index, byteen, size, data, MCU_TYPE_USB);
drivers/net/usb/r8152.c
1556
static u32 ocp_read_dword(struct r8152 *tp, u16 type, u16 index)
drivers/net/usb/r8152.c
1560
generic_ocp_read(tp, index, sizeof(data), &data, type);
drivers/net/usb/r8152.c
1565
static void ocp_write_dword(struct r8152 *tp, u16 type, u16 index, u32 data)
drivers/net/usb/r8152.c
1569
generic_ocp_write(tp, index, BYTE_EN_DWORD, sizeof(tmp), &tmp, type);
drivers/net/usb/r8152.c
1572
static u16 ocp_read_word(struct r8152 *tp, u16 type, u16 index)
drivers/net/usb/r8152.c
1582
generic_ocp_read(tp, index, sizeof(tmp), &tmp, type | byen);
drivers/net/usb/r8152.c
1591
static void ocp_write_word(struct r8152 *tp, u16 type, u16 index, u32 data)
drivers/net/usb/r8152.c
1609
generic_ocp_write(tp, index, byen, sizeof(tmp), &tmp, type);
drivers/net/usb/r8152.c
1612
static u8 ocp_read_byte(struct r8152 *tp, u16 type, u16 index)
drivers/net/usb/r8152.c
1620
generic_ocp_read(tp, index, sizeof(tmp), &tmp, type);
drivers/net/usb/r8152.c
1629
static void ocp_write_byte(struct r8152 *tp, u16 type, u16 index, u32 data)
drivers/net/usb/r8152.c
1647
generic_ocp_write(tp, index, byen, sizeof(tmp), &tmp, type);
drivers/net/usb/r8152.c
1650
static u16 ocp_reg_read(struct r8152 *tp, u16 addr)
drivers/net/usb/r8152.c
1655
if (ocp_base != tp->ocp_base) {
drivers/net/usb/r8152.c
1656
ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, ocp_base);
drivers/net/usb/r8152.c
1657
tp->ocp_base = ocp_base;
drivers/net/usb/r8152.c
1661
return ocp_read_word(tp, MCU_TYPE_PLA, ocp_index);
drivers/net/usb/r8152.c
1664
static void ocp_reg_write(struct r8152 *tp, u16 addr, u16 data)
drivers/net/usb/r8152.c
1669
if (ocp_base != tp->ocp_base) {
drivers/net/usb/r8152.c
1670
ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, ocp_base);
drivers/net/usb/r8152.c
1671
tp->ocp_base = ocp_base;
drivers/net/usb/r8152.c
1675
ocp_write_word(tp, MCU_TYPE_PLA, ocp_index, data);
drivers/net/usb/r8152.c
1678
static inline void r8152_mdio_write(struct r8152 *tp, u32 reg_addr, u32 value)
drivers/net/usb/r8152.c
1680
ocp_reg_write(tp, OCP_BASE_MII + reg_addr * 2, value);
drivers/net/usb/r8152.c
1683
static inline int r8152_mdio_read(struct r8152 *tp, u32 reg_addr)
drivers/net/usb/r8152.c
1685
return ocp_reg_read(tp, OCP_BASE_MII + reg_addr * 2);
drivers/net/usb/r8152.c
1688
static int wait_cmd_ready(struct r8152 *tp, u16 cmd)
drivers/net/usb/r8152.c
1690
return poll_timeout_us(u16 ocp_data = ocp_read_word(tp, MCU_TYPE_USB, cmd),
drivers/net/usb/r8152.c
1694
static int ocp_adv_read(struct r8152 *tp, u16 cmd, u16 addr, u32 *data)
drivers/net/usb/r8152.c
1698
ret = wait_cmd_ready(tp, USB_ADV_CMD);
drivers/net/usb/r8152.c
1702
ocp_write_word(tp, MCU_TYPE_USB, USB_ADV_ADDR, addr);
drivers/net/usb/r8152.c
1705
ocp_write_word(tp, MCU_TYPE_USB, USB_ADV_CMD, cmd);
drivers/net/usb/r8152.c
1707
ret = wait_cmd_ready(tp, USB_ADV_CMD);
drivers/net/usb/r8152.c
1711
*data = ocp_read_dword(tp, MCU_TYPE_USB, USB_ADV_DATA);
drivers/net/usb/r8152.c
1717
static int ocp_adv_write(struct r8152 *tp, u16 cmd, u16 addr, u32 data)
drivers/net/usb/r8152.c
1721
ret = wait_cmd_ready(tp, USB_ADV_CMD);
drivers/net/usb/r8152.c
1726
ocp_write_dword(tp, MCU_TYPE_USB, USB_ADV_DATA, data);
drivers/net/usb/r8152.c
1728
ocp_write_word(tp, MCU_TYPE_USB, USB_ADV_ADDR, addr);
drivers/net/usb/r8152.c
1731
ocp_write_word(tp, MCU_TYPE_USB, USB_ADV_CMD, cmd);
drivers/net/usb/r8152.c
1737
static int rtl_bmu_read(struct r8152 *tp, u16 addr, u32 *data)
drivers/net/usb/r8152.c
1739
return ocp_adv_read(tp, ADV_CMD_BMU, addr, data);
drivers/net/usb/r8152.c
1742
static int rtl_bmu_write(struct r8152 *tp, u16 addr, u32 data)
drivers/net/usb/r8152.c
1744
return ocp_adv_write(tp, ADV_CMD_BMU, addr, data);
drivers/net/usb/r8152.c
1747
static int rtl_bmu_w0w1(struct r8152 *tp, u16 addr, u32 clear, u32 set)
drivers/net/usb/r8152.c
1752
ret = rtl_bmu_read(tp, addr, &bmu);
drivers/net/usb/r8152.c
1757
ret = rtl_bmu_write(tp, addr, bmu);
drivers/net/usb/r8152.c
1763
static int rtl_bmu_clr_bits(struct r8152 *tp, u16 addr, u32 clear)
drivers/net/usb/r8152.c
1765
return rtl_bmu_w0w1(tp, addr, clear, 0);
drivers/net/usb/r8152.c
1768
static int rtl_ip_read(struct r8152 *tp, u16 addr, u32 *data)
drivers/net/usb/r8152.c
1770
return ocp_adv_read(tp, ADV_CMD_IP, addr, data);
drivers/net/usb/r8152.c
1773
static int rtl_ip_write(struct r8152 *tp, u16 addr, u32 data)
drivers/net/usb/r8152.c
1775
return ocp_adv_write(tp, ADV_CMD_IP, addr, data);
drivers/net/usb/r8152.c
1778
static int rtl_ip_w0w1(struct r8152 *tp, u16 addr, u32 clear, u32 set)
drivers/net/usb/r8152.c
1783
ret = rtl_ip_read(tp, addr, &ip);
drivers/net/usb/r8152.c
1788
ret = rtl_ip_write(tp, addr, ip);
drivers/net/usb/r8152.c
1794
static int rtl_ip_clr_bits(struct r8152 *tp, u16 addr, u32 clear)
drivers/net/usb/r8152.c
1796
return rtl_ip_w0w1(tp, addr, clear, 0);
drivers/net/usb/r8152.c
1799
static int rtl_ip_set_bits(struct r8152 *tp, u16 addr, u32 set)
drivers/net/usb/r8152.c
1801
return rtl_ip_w0w1(tp, addr, 0, set);
drivers/net/usb/r8152.c
1804
static void sram_write(struct r8152 *tp, u16 addr, u16 data)
drivers/net/usb/r8152.c
1806
ocp_reg_write(tp, OCP_SRAM_ADDR, addr);
drivers/net/usb/r8152.c
1807
ocp_reg_write(tp, OCP_SRAM_DATA, data);
drivers/net/usb/r8152.c
1810
static u16 sram_read(struct r8152 *tp, u16 addr)
drivers/net/usb/r8152.c
1812
ocp_reg_write(tp, OCP_SRAM_ADDR, addr);
drivers/net/usb/r8152.c
1813
return ocp_reg_read(tp, OCP_SRAM_DATA);
drivers/net/usb/r8152.c
1818
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
1821
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
1827
ret = r8152_mdio_read(tp, reg);
drivers/net/usb/r8152.c
1835
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
1837
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
1843
r8152_mdio_write(tp, reg, val);
drivers/net/usb/r8152.c
1847
ocp_dword_w0w1(struct r8152 *tp, u16 type, u16 index, u32 clear, u32 set)
drivers/net/usb/r8152.c
1851
ocp_data = ocp_read_dword(tp, type, index);
drivers/net/usb/r8152.c
1853
ocp_write_dword(tp, type, index, ocp_data);
drivers/net/usb/r8152.c
1857
ocp_word_w0w1(struct r8152 *tp, u16 type, u16 index, u16 clear, u16 set)
drivers/net/usb/r8152.c
1861
ocp_data = ocp_read_word(tp, type, index);
drivers/net/usb/r8152.c
1863
ocp_write_word(tp, type, index, ocp_data);
drivers/net/usb/r8152.c
1867
ocp_byte_w0w1(struct r8152 *tp, u16 type, u16 index, u8 clear, u8 set)
drivers/net/usb/r8152.c
1871
ocp_data = ocp_read_byte(tp, type, index);
drivers/net/usb/r8152.c
1873
ocp_write_byte(tp, type, index, ocp_data);
drivers/net/usb/r8152.c
1876
static void ocp_dword_clr_bits(struct r8152 *tp, u16 type, u16 index, u32 clear)
drivers/net/usb/r8152.c
1878
ocp_dword_w0w1(tp, type, index, clear, 0);
drivers/net/usb/r8152.c
1881
static void ocp_dword_set_bits(struct r8152 *tp, u16 type, u16 index, u32 set)
drivers/net/usb/r8152.c
1883
ocp_dword_w0w1(tp, type, index, 0, set);
drivers/net/usb/r8152.c
1886
static void ocp_word_clr_bits(struct r8152 *tp, u16 type, u16 index, u16 clear)
drivers/net/usb/r8152.c
1888
ocp_word_w0w1(tp, type, index, clear, 0);
drivers/net/usb/r8152.c
1891
static void ocp_word_set_bits(struct r8152 *tp, u16 type, u16 index, u16 set)
drivers/net/usb/r8152.c
1893
ocp_word_w0w1(tp, type, index, 0, set);
drivers/net/usb/r8152.c
1897
ocp_word_test_and_clr_bits(struct r8152 *tp, u16 type, u16 index, u16 clear)
drivers/net/usb/r8152.c
1901
ocp_data = ocp_read_word(tp, type, index);
drivers/net/usb/r8152.c
1903
ocp_write_word(tp, type, index, ocp_data & ~clear);
drivers/net/usb/r8152.c
1908
static void ocp_byte_clr_bits(struct r8152 *tp, u16 type, u16 index, u8 clear)
drivers/net/usb/r8152.c
1910
ocp_byte_w0w1(tp, type, index, clear, 0);
drivers/net/usb/r8152.c
1913
static void ocp_byte_set_bits(struct r8152 *tp, u16 type, u16 index, u8 set)
drivers/net/usb/r8152.c
1915
ocp_byte_w0w1(tp, type, index, 0, set);
drivers/net/usb/r8152.c
1918
static void ocp_reg_w0w1(struct r8152 *tp, u16 addr, u16 clear, u16 set)
drivers/net/usb/r8152.c
1922
data = ocp_reg_read(tp, addr);
drivers/net/usb/r8152.c
1924
ocp_reg_write(tp, addr, data);
drivers/net/usb/r8152.c
1927
static void ocp_reg_clr_bits(struct r8152 *tp, u16 addr, u16 clear)
drivers/net/usb/r8152.c
1929
ocp_reg_w0w1(tp, addr, clear, 0);
drivers/net/usb/r8152.c
1932
static void ocp_reg_set_bits(struct r8152 *tp, u16 addr, u16 set)
drivers/net/usb/r8152.c
1934
ocp_reg_w0w1(tp, addr, 0, set);
drivers/net/usb/r8152.c
1937
static void sram_write_w0w1(struct r8152 *tp, u16 addr, u16 clear, u16 set)
drivers/net/usb/r8152.c
1941
data = sram_read(tp, addr);
drivers/net/usb/r8152.c
1943
ocp_reg_write(tp, OCP_SRAM_DATA, data);
drivers/net/usb/r8152.c
1946
static void sram_clr_bits(struct r8152 *tp, u16 addr, u16 clear)
drivers/net/usb/r8152.c
1948
sram_write_w0w1(tp, addr, clear, 0);
drivers/net/usb/r8152.c
1951
static void sram_set_bits(struct r8152 *tp, u16 addr, u16 set)
drivers/net/usb/r8152.c
1953
sram_write_w0w1(tp, addr, 0, set);
drivers/net/usb/r8152.c
1956
static void sram2_write(struct r8152 *tp, u16 addr, u16 data)
drivers/net/usb/r8152.c
1958
ocp_reg_write(tp, OCP_SRAM2_ADDR, addr);
drivers/net/usb/r8152.c
1959
ocp_reg_write(tp, OCP_SRAM2_DATA, data);
drivers/net/usb/r8152.c
1962
static u16 sram2_read(struct r8152 *tp, u16 addr)
drivers/net/usb/r8152.c
1964
ocp_reg_write(tp, OCP_SRAM2_ADDR, addr);
drivers/net/usb/r8152.c
1965
return ocp_reg_read(tp, OCP_SRAM2_DATA);
drivers/net/usb/r8152.c
1968
static void sram2_write_w0w1(struct r8152 *tp, u16 addr, u16 clear, u16 set)
drivers/net/usb/r8152.c
1972
data = sram2_read(tp, addr);
drivers/net/usb/r8152.c
1974
ocp_reg_write(tp, OCP_SRAM2_DATA, data);
drivers/net/usb/r8152.c
1977
static void r8152_mdio_clr_bit(struct r8152 *tp, u16 addr, u16 clear)
drivers/net/usb/r8152.c
1981
data = r8152_mdio_read(tp, addr);
drivers/net/usb/r8152.c
1982
r8152_mdio_write(tp, addr, data & ~clear);
drivers/net/usb/r8152.c
1985
static void r8152_mdio_set_bit(struct r8152 *tp, u16 addr, u16 set)
drivers/net/usb/r8152.c
1989
data = r8152_mdio_read(tp, addr);
drivers/net/usb/r8152.c
1990
r8152_mdio_write(tp, addr, data | set);
drivers/net/usb/r8152.c
1993
static int r8152_mdio_test_and_clr_bit(struct r8152 *tp, u16 addr, u16 clear)
drivers/net/usb/r8152.c
1997
data = r8152_mdio_read(tp, addr);
drivers/net/usb/r8152.c
1999
r8152_mdio_write(tp, addr, data & ~clear);
drivers/net/usb/r8152.c
2005
r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags);
drivers/net/usb/r8152.c
2008
rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex,
drivers/net/usb/r8152.c
2015
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
2022
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
2027
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
2031
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
2032
pla_ocp_write(tp, PLA_IDR, BYTE_EN_SIX_BYTES, 8, addr->__data);
drivers/net/usb/r8152.c
2033
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
2035
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
2038
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
2052
static int vendor_mac_passthru_addr_read(struct r8152 *tp,
drivers/net/usb/r8152.c
2065
if (tp->lenovo_macpassthru) {
drivers/net/usb/r8152.c
2071
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0);
drivers/net/usb/r8152.c
2074
ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, EFUSE);
drivers/net/usb/r8152.c
2076
netif_dbg(tp, probe, tp->netdev,
drivers/net/usb/r8152.c
2082
ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, USB_MISC_1);
drivers/net/usb/r8152.c
2084
netif_dbg(tp, probe, tp->netdev,
drivers/net/usb/r8152.c
2101
netif_warn(tp, probe, tp->netdev,
drivers/net/usb/r8152.c
2109
netif_warn(tp, probe, tp->netdev,
drivers/net/usb/r8152.c
2115
netif_warn(tp, probe, tp->netdev,
drivers/net/usb/r8152.c
2122
tp->netdev->addr_assign_type = NET_ADDR_STOLEN;
drivers/net/usb/r8152.c
2123
netif_info(tp, probe, tp->netdev,
drivers/net/usb/r8152.c
2131
static int determine_ethernet_addr(struct r8152 *tp,
drivers/net/usb/r8152.c
2134
struct net_device *dev = tp->netdev;
drivers/net/usb/r8152.c
2139
ret = eth_platform_get_mac_address(&tp->udev->dev, ss->__data);
drivers/net/usb/r8152.c
2141
if (tp->version == RTL_VER_01) {
drivers/net/usb/r8152.c
2142
ret = pla_ocp_read(tp, PLA_IDR, 8, ss->__data);
drivers/net/usb/r8152.c
2147
ret = vendor_mac_passthru_addr_read(tp, ss);
drivers/net/usb/r8152.c
2149
ret = pla_ocp_read(tp, PLA_BACKUP, 8,
drivers/net/usb/r8152.c
2155
netif_err(tp, probe, dev, "Get ether addr fail\n");
drivers/net/usb/r8152.c
2157
netif_err(tp, probe, dev, "Invalid ether addr %pM\n",
drivers/net/usb/r8152.c
2161
netif_info(tp, probe, dev, "Random ether addr %pM\n",
drivers/net/usb/r8152.c
2169
static int set_ethernet_addr(struct r8152 *tp, bool in_resume)
drivers/net/usb/r8152.c
2171
struct net_device *dev = tp->netdev;
drivers/net/usb/r8152.c
2175
ret = determine_ethernet_addr(tp, &ss);
drivers/net/usb/r8152.c
2179
if (tp->version == RTL_VER_01)
drivers/net/usb/r8152.c
2192
struct r8152 *tp;
drivers/net/usb/r8152.c
2199
tp = agg->context;
drivers/net/usb/r8152.c
2200
if (!tp)
drivers/net/usb/r8152.c
2203
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
2206
if (!test_bit(WORK_ENABLE, &tp->flags))
drivers/net/usb/r8152.c
2209
netdev = tp->netdev;
drivers/net/usb/r8152.c
2216
usb_mark_last_busy(tp->udev);
drivers/net/usb/r8152.c
2223
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2224
list_add_tail(&agg->list, &tp->rx_done);
drivers/net/usb/r8152.c
2225
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2226
napi_schedule(&tp->napi);
drivers/net/usb/r8152.c
2229
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
2230
netif_device_detach(tp->netdev);
drivers/net/usb/r8152.c
2234
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2235
list_add_tail(&agg->list, &tp->rx_done);
drivers/net/usb/r8152.c
2236
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2237
set_bit(RX_EPROTO, &tp->flags);
drivers/net/usb/r8152.c
2238
schedule_delayed_work(&tp->schedule, 1);
drivers/net/usb/r8152.c
2252
r8152_submit_rx(tp, agg, GFP_ATOMIC);
drivers/net/usb/r8152.c
2260
struct r8152 *tp;
drivers/net/usb/r8152.c
2268
tp = agg->context;
drivers/net/usb/r8152.c
2269
if (!tp)
drivers/net/usb/r8152.c
2272
netdev = tp->netdev;
drivers/net/usb/r8152.c
2283
spin_lock_irqsave(&tp->tx_lock, flags);
drivers/net/usb/r8152.c
2284
list_add_tail(&agg->list, &tp->tx_free);
drivers/net/usb/r8152.c
2285
spin_unlock_irqrestore(&tp->tx_lock, flags);
drivers/net/usb/r8152.c
2287
usb_autopm_put_interface_async(tp->intf);
drivers/net/usb/r8152.c
2292
if (!test_bit(WORK_ENABLE, &tp->flags))
drivers/net/usb/r8152.c
2295
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
2298
if (!skb_queue_empty(&tp->tx_queue))
drivers/net/usb/r8152.c
2299
tasklet_schedule(&tp->tx_tl);
drivers/net/usb/r8152.c
2304
struct r8152 *tp;
drivers/net/usb/r8152.c
2309
tp = urb->context;
drivers/net/usb/r8152.c
2310
if (!tp)
drivers/net/usb/r8152.c
2313
if (!test_bit(WORK_ENABLE, &tp->flags))
drivers/net/usb/r8152.c
2316
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
2324
netif_device_detach(tp->netdev);
drivers/net/usb/r8152.c
2328
netif_info(tp, intr, tp->netdev,
drivers/net/usb/r8152.c
2333
netif_info(tp, intr, tp->netdev,
drivers/net/usb/r8152.c
2338
netif_info(tp, intr, tp->netdev, "intr status %d\n", status);
drivers/net/usb/r8152.c
2344
if (!netif_carrier_ok(tp->netdev)) {
drivers/net/usb/r8152.c
2345
set_bit(RTL8152_LINK_CHG, &tp->flags);
drivers/net/usb/r8152.c
2346
schedule_delayed_work(&tp->schedule, 0);
drivers/net/usb/r8152.c
2349
if (netif_carrier_ok(tp->netdev)) {
drivers/net/usb/r8152.c
2350
netif_stop_queue(tp->netdev);
drivers/net/usb/r8152.c
2351
set_bit(RTL8152_LINK_CHG, &tp->flags);
drivers/net/usb/r8152.c
2352
schedule_delayed_work(&tp->schedule, 0);
drivers/net/usb/r8152.c
2359
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
2360
netif_device_detach(tp->netdev);
drivers/net/usb/r8152.c
2362
netif_err(tp, intr, tp->netdev,
drivers/net/usb/r8152.c
2367
static void *rx_agg_align(struct r8152 *tp, void *data)
drivers/net/usb/r8152.c
2369
return (void *)ALIGN((uintptr_t)data, tp->rx_desc.align);
drivers/net/usb/r8152.c
2372
static void *tx_agg_align(struct r8152 *tp, void *data)
drivers/net/usb/r8152.c
2374
return (void *)ALIGN((uintptr_t)data, tp->tx_desc.align);
drivers/net/usb/r8152.c
2377
static void free_rx_agg(struct r8152 *tp, struct rx_agg *agg)
drivers/net/usb/r8152.c
2385
atomic_dec(&tp->rx_count);
drivers/net/usb/r8152.c
2388
static struct rx_agg *alloc_rx_agg(struct r8152 *tp, gfp_t mflags)
drivers/net/usb/r8152.c
2390
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
2392
unsigned int order = get_order(tp->rx_buf_sz);
drivers/net/usb/r8152.c
2410
rx_agg->context = tp;
drivers/net/usb/r8152.c
2414
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2415
list_add_tail(&rx_agg->info_list, &tp->rx_info);
drivers/net/usb/r8152.c
2416
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2418
atomic_inc(&tp->rx_count);
drivers/net/usb/r8152.c
2429
static void free_all_mem(struct r8152 *tp)
drivers/net/usb/r8152.c
2435
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2437
list_for_each_entry_safe(agg, agg_next, &tp->rx_info, info_list)
drivers/net/usb/r8152.c
2438
free_rx_agg(tp, agg);
drivers/net/usb/r8152.c
2440
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2442
WARN_ON(atomic_read(&tp->rx_count));
drivers/net/usb/r8152.c
2445
usb_free_urb(tp->tx_info[i].urb);
drivers/net/usb/r8152.c
2446
tp->tx_info[i].urb = NULL;
drivers/net/usb/r8152.c
2448
kfree(tp->tx_info[i].buffer);
drivers/net/usb/r8152.c
2449
tp->tx_info[i].buffer = NULL;
drivers/net/usb/r8152.c
2450
tp->tx_info[i].head = NULL;
drivers/net/usb/r8152.c
2453
usb_free_urb(tp->intr_urb);
drivers/net/usb/r8152.c
2454
tp->intr_urb = NULL;
drivers/net/usb/r8152.c
2456
kfree(tp->intr_buff);
drivers/net/usb/r8152.c
2457
tp->intr_buff = NULL;
drivers/net/usb/r8152.c
2460
static int alloc_all_mem(struct r8152 *tp)
drivers/net/usb/r8152.c
2462
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
2463
struct usb_interface *intf = tp->intf;
drivers/net/usb/r8152.c
2470
spin_lock_init(&tp->rx_lock);
drivers/net/usb/r8152.c
2471
spin_lock_init(&tp->tx_lock);
drivers/net/usb/r8152.c
2472
INIT_LIST_HEAD(&tp->rx_info);
drivers/net/usb/r8152.c
2473
INIT_LIST_HEAD(&tp->tx_free);
drivers/net/usb/r8152.c
2474
INIT_LIST_HEAD(&tp->rx_done);
drivers/net/usb/r8152.c
2475
skb_queue_head_init(&tp->tx_queue);
drivers/net/usb/r8152.c
2476
skb_queue_head_init(&tp->rx_queue);
drivers/net/usb/r8152.c
2477
atomic_set(&tp->rx_count, 0);
drivers/net/usb/r8152.c
2480
if (!alloc_rx_agg(tp, GFP_KERNEL))
drivers/net/usb/r8152.c
2492
if (buf != tx_agg_align(tp, buf)) {
drivers/net/usb/r8152.c
2494
buf = kmalloc_node(agg_buf_sz + tp->tx_desc.align, GFP_KERNEL,
drivers/net/usb/r8152.c
2506
INIT_LIST_HEAD(&tp->tx_info[i].list);
drivers/net/usb/r8152.c
2507
tp->tx_info[i].context = tp;
drivers/net/usb/r8152.c
2508
tp->tx_info[i].urb = urb;
drivers/net/usb/r8152.c
2509
tp->tx_info[i].buffer = buf;
drivers/net/usb/r8152.c
2510
tp->tx_info[i].head = tx_agg_align(tp, buf);
drivers/net/usb/r8152.c
2512
list_add_tail(&tp->tx_info[i].list, &tp->tx_free);
drivers/net/usb/r8152.c
2515
tp->intr_urb = usb_alloc_urb(0, GFP_KERNEL);
drivers/net/usb/r8152.c
2516
if (!tp->intr_urb)
drivers/net/usb/r8152.c
2519
tp->intr_buff = kmalloc(INTBUFSIZE, GFP_KERNEL);
drivers/net/usb/r8152.c
2520
if (!tp->intr_buff)
drivers/net/usb/r8152.c
2523
tp->intr_interval = (int)ep_intr->desc.bInterval;
drivers/net/usb/r8152.c
2524
usb_fill_int_urb(tp->intr_urb, tp->udev, tp->pipe_intr,
drivers/net/usb/r8152.c
2525
tp->intr_buff, INTBUFSIZE, intr_callback,
drivers/net/usb/r8152.c
2526
tp, tp->intr_interval);
drivers/net/usb/r8152.c
2531
free_all_mem(tp);
drivers/net/usb/r8152.c
2535
static struct tx_agg *r8152_get_tx_agg(struct r8152 *tp)
drivers/net/usb/r8152.c
2540
if (list_empty(&tp->tx_free))
drivers/net/usb/r8152.c
2543
spin_lock_irqsave(&tp->tx_lock, flags);
drivers/net/usb/r8152.c
2544
if (!list_empty(&tp->tx_free)) {
drivers/net/usb/r8152.c
2547
cursor = tp->tx_free.next;
drivers/net/usb/r8152.c
2551
spin_unlock_irqrestore(&tp->tx_lock, flags);
drivers/net/usb/r8152.c
2560
static void r8152_csum_workaround(struct r8152 *tp, struct sk_buff *skb,
drivers/net/usb/r8152.c
2564
netdev_features_t features = tp->netdev->features;
drivers/net/usb/r8152.c
2591
stats = &tp->netdev->stats;
drivers/net/usb/r8152.c
2597
static void r8152_tx_len(struct r8152 *tp, void *tx_desc, u32 len)
drivers/net/usb/r8152.c
2627
static int r8152_tx_csum(struct r8152 *tp, void *d,
drivers/net/usb/r8152.c
2643
netif_warn(tp, tx_err, tp->netdev,
drivers/net/usb/r8152.c
2676
netif_warn(tp, tx_err, tp->netdev,
drivers/net/usb/r8152.c
2716
static u32 r8152_rx_len(struct r8152 *tp, void *d)
drivers/net/usb/r8152.c
2723
static u32 r8157_rx_len(struct r8152 *tp, void *d)
drivers/net/usb/r8152.c
2744
static int r8157_tx_csum(struct r8152 *tp, void *tx_desc, struct sk_buff *skb, u32 len)
drivers/net/usb/r8152.c
2752
netif_warn(tp, tx_err, tp->netdev,
drivers/net/usb/r8152.c
2759
return r8152_tx_csum(tp, tx_desc, skb, len);
drivers/net/usb/r8152.c
2762
static void r8157_tx_len(struct r8152 *tp, void *tx_desc, u32 len)
drivers/net/usb/r8152.c
2770
static int rtl_tx_csum(struct r8152 *tp, void *desc, struct sk_buff *skb,
drivers/net/usb/r8152.c
2777
ret = tp->desc_ops.tx_csum(tp, desc, skb, len);
drivers/net/usb/r8152.c
2779
tp->desc_ops.tx_len(tp, desc, len);
drivers/net/usb/r8152.c
2784
static int r8152_tx_agg_fill(struct r8152 *tp, struct tx_agg *agg)
drivers/net/usb/r8152.c
2786
struct sk_buff_head skb_head, *tx_queue = &tp->tx_queue;
drivers/net/usb/r8152.c
2800
while (remain >= ETH_ZLEN + tp->tx_desc.size) {
drivers/net/usb/r8152.c
2809
len = skb->len + tp->tx_desc.size;
drivers/net/usb/r8152.c
2816
tx_data = tx_agg_align(tp, tx_data);
drivers/net/usb/r8152.c
2819
if (rtl_tx_csum(tp, tx_desc, skb, skb->len)) {
drivers/net/usb/r8152.c
2820
r8152_csum_workaround(tp, skb, &skb_head);
drivers/net/usb/r8152.c
2824
tp->tx_desc.vlan_tag(tx_desc, skb);
drivers/net/usb/r8152.c
2826
tx_data += tp->tx_desc.size;
drivers/net/usb/r8152.c
2830
struct net_device_stats *stats = &tp->netdev->stats;
drivers/net/usb/r8152.c
2834
tx_data -= tp->tx_desc.size;
drivers/net/usb/r8152.c
2844
remain = agg_buf_sz - (int)(tx_agg_align(tp, tx_data) - agg->head);
drivers/net/usb/r8152.c
2846
if (tp->dell_tb_rx_agg_bug)
drivers/net/usb/r8152.c
2856
netif_tx_lock(tp->netdev);
drivers/net/usb/r8152.c
2858
if (netif_queue_stopped(tp->netdev) &&
drivers/net/usb/r8152.c
2859
skb_queue_len(&tp->tx_queue) < tp->tx_qlen)
drivers/net/usb/r8152.c
2860
netif_wake_queue(tp->netdev);
drivers/net/usb/r8152.c
2862
netif_tx_unlock(tp->netdev);
drivers/net/usb/r8152.c
2864
ret = usb_autopm_get_interface_async(tp->intf);
drivers/net/usb/r8152.c
2868
usb_fill_bulk_urb(agg->urb, tp->udev, tp->pipe_out,
drivers/net/usb/r8152.c
2874
usb_autopm_put_interface_async(tp->intf);
drivers/net/usb/r8152.c
2876
netif_trans_update(tp->netdev);
drivers/net/usb/r8152.c
2882
static u8 r8152_rx_csum(struct r8152 *tp, void *d)
drivers/net/usb/r8152.c
2888
if (!(tp->netdev->features & NETIF_F_RXCSUM))
drivers/net/usb/r8152.c
2912
static u8 r8157_rx_csum(struct r8152 *tp, void *desc)
drivers/net/usb/r8152.c
2918
if (!(tp->netdev->features & NETIF_F_RXCSUM))
drivers/net/usb/r8152.c
2936
static inline bool rx_count_exceed(struct r8152 *tp)
drivers/net/usb/r8152.c
2938
return atomic_read(&tp->rx_count) > RTL8152_MAX_RX;
drivers/net/usb/r8152.c
2946
static struct rx_agg *rtl_get_free_rx(struct r8152 *tp, gfp_t mflags)
drivers/net/usb/r8152.c
2951
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2953
list_for_each_entry_safe(agg, agg_next, &tp->rx_used, list) {
drivers/net/usb/r8152.c
2960
if (rx_count_exceed(tp)) {
drivers/net/usb/r8152.c
2962
free_rx_agg(tp, agg);
drivers/net/usb/r8152.c
2968
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
2970
if (!agg_free && atomic_read(&tp->rx_count) < tp->rx_pending)
drivers/net/usb/r8152.c
2971
agg_free = alloc_rx_agg(tp, mflags);
drivers/net/usb/r8152.c
2976
static int rx_bottom(struct r8152 *tp, int budget)
drivers/net/usb/r8152.c
2981
struct napi_struct *napi = &tp->napi;
drivers/net/usb/r8152.c
2983
if (!skb_queue_empty(&tp->rx_queue)) {
drivers/net/usb/r8152.c
2985
struct sk_buff *skb = __skb_dequeue(&tp->rx_queue);
drivers/net/usb/r8152.c
2986
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
3001
if (list_empty(&tp->rx_done) || work_done >= budget)
drivers/net/usb/r8152.c
3004
clear_bit(RX_EPROTO, &tp->flags);
drivers/net/usb/r8152.c
3006
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3007
list_splice_init(&tp->rx_done, &rx_queue);
drivers/net/usb/r8152.c
3008
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3033
agg_free = rtl_get_free_rx(tp, GFP_ATOMIC);
drivers/net/usb/r8152.c
3037
len_used += tp->rx_desc.size;
drivers/net/usb/r8152.c
3040
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
3046
WARN_ON_ONCE(skb_queue_len(&tp->rx_queue) >= 1000);
drivers/net/usb/r8152.c
3048
pkt_len = tp->desc_ops.rx_len(tp, rx_desc);
drivers/net/usb/r8152.c
3058
rx_data += tp->rx_desc.size;
drivers/net/usb/r8152.c
3060
if (!agg_free || tp->rx_copybreak > len)
drivers/net/usb/r8152.c
3072
rx_frag_head_sz = tp->rx_copybreak;
drivers/net/usb/r8152.c
3089
skb->ip_summed = tp->desc_ops.rx_csum(tp, rx_desc);
drivers/net/usb/r8152.c
3090
tp->rx_desc.vlan_tag(rx_desc, skb);
drivers/net/usb/r8152.c
3123
__skb_queue_tail(&tp->rx_queue, skb);
drivers/net/usb/r8152.c
3127
rx_data = rx_agg_align(tp, rx_data + len + ETH_FCS_LEN);
drivers/net/usb/r8152.c
3130
len_used += tp->rx_desc.size;
drivers/net/usb/r8152.c
3136
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3138
list_add(&agg_free->list, &tp->rx_used);
drivers/net/usb/r8152.c
3140
list_add_tail(&agg->list, &tp->rx_used);
drivers/net/usb/r8152.c
3144
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3149
ret = r8152_submit_rx(tp, agg, GFP_ATOMIC);
drivers/net/usb/r8152.c
3158
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3159
list_splice(&rx_queue, &tp->rx_done);
drivers/net/usb/r8152.c
3160
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3167
static void tx_bottom(struct r8152 *tp)
drivers/net/usb/r8152.c
3172
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
3175
if (skb_queue_empty(&tp->tx_queue))
drivers/net/usb/r8152.c
3178
agg = r8152_get_tx_agg(tp);
drivers/net/usb/r8152.c
3182
res = r8152_tx_agg_fill(tp, agg);
drivers/net/usb/r8152.c
3187
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
3193
netif_warn(tp, tx_err, netdev,
drivers/net/usb/r8152.c
3197
spin_lock_irqsave(&tp->tx_lock, flags);
drivers/net/usb/r8152.c
3198
list_add_tail(&agg->list, &tp->tx_free);
drivers/net/usb/r8152.c
3199
spin_unlock_irqrestore(&tp->tx_lock, flags);
drivers/net/usb/r8152.c
3206
struct r8152 *tp = from_tasklet(tp, t, tx_tl);
drivers/net/usb/r8152.c
3208
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
3211
if (!test_bit(WORK_ENABLE, &tp->flags))
drivers/net/usb/r8152.c
3216
if (!netif_carrier_ok(tp->netdev))
drivers/net/usb/r8152.c
3219
clear_bit(SCHEDULE_TASKLET, &tp->flags);
drivers/net/usb/r8152.c
3221
tx_bottom(tp);
drivers/net/usb/r8152.c
3226
struct r8152 *tp = container_of(napi, struct r8152, napi);
drivers/net/usb/r8152.c
3232
work_done = rx_bottom(tp, budget);
drivers/net/usb/r8152.c
3237
if (!list_empty(&tp->rx_done))
drivers/net/usb/r8152.c
3246
int r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags)
drivers/net/usb/r8152.c
3251
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags) ||
drivers/net/usb/r8152.c
3252
!test_bit(WORK_ENABLE, &tp->flags) || !netif_carrier_ok(tp->netdev))
drivers/net/usb/r8152.c
3255
usb_fill_bulk_urb(agg->urb, tp->udev, tp->pipe_in,
drivers/net/usb/r8152.c
3256
agg->buffer, tp->rx_buf_sz,
drivers/net/usb/r8152.c
3261
rtl_set_unplug(tp);
drivers/net/usb/r8152.c
3262
netif_device_detach(tp->netdev);
drivers/net/usb/r8152.c
3268
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3269
list_add_tail(&agg->list, &tp->rx_done);
drivers/net/usb/r8152.c
3270
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3272
netif_err(tp, rx_err, tp->netdev,
drivers/net/usb/r8152.c
3275
napi_schedule(&tp->napi);
drivers/net/usb/r8152.c
3281
static void rtl_drop_queued_tx(struct r8152 *tp)
drivers/net/usb/r8152.c
3283
struct net_device_stats *stats = &tp->netdev->stats;
drivers/net/usb/r8152.c
3284
struct sk_buff_head skb_head, *tx_queue = &tp->tx_queue;
drivers/net/usb/r8152.c
3303
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
3305
netif_warn(tp, tx_err, netdev, "Tx timeout\n");
drivers/net/usb/r8152.c
3307
usb_queue_reset_device(tp->intf);
drivers/net/usb/r8152.c
3312
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
3315
set_bit(RTL8152_SET_RX_MODE, &tp->flags);
drivers/net/usb/r8152.c
3316
schedule_delayed_work(&tp->schedule, 0);
drivers/net/usb/r8152.c
3322
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
3328
ocp_data = ocp_read_dword(tp, MCU_TYPE_PLA, PLA_RCR);
drivers/net/usb/r8152.c
3334
netif_notice(tp, link, netdev, "Promiscuous mode enabled\n");
drivers/net/usb/r8152.c
3364
pla_ocp_write(tp, PLA_MAR, BYTE_EN_DWORD, sizeof(tmp), tmp);
drivers/net/usb/r8152.c
3365
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, ocp_data);
drivers/net/usb/r8152.c
3373
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
3377
if (tp->version < RTL_VER_16)
drivers/net/usb/r8152.c
3385
else if ((skb->len + tp->tx_desc.size) > agg_buf_sz)
drivers/net/usb/r8152.c
3394
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
3398
skb_queue_tail(&tp->tx_queue, skb);
drivers/net/usb/r8152.c
3400
if (!list_empty(&tp->tx_free)) {
drivers/net/usb/r8152.c
3401
if (test_bit(SELECTIVE_SUSPEND, &tp->flags)) {
drivers/net/usb/r8152.c
3402
set_bit(SCHEDULE_TASKLET, &tp->flags);
drivers/net/usb/r8152.c
3403
schedule_delayed_work(&tp->schedule, 0);
drivers/net/usb/r8152.c
3405
usb_mark_last_busy(tp->udev);
drivers/net/usb/r8152.c
3406
tasklet_schedule(&tp->tx_tl);
drivers/net/usb/r8152.c
3408
} else if (skb_queue_len(&tp->tx_queue) > tp->tx_qlen) {
drivers/net/usb/r8152.c
3415
static void r8152b_reset_packet_filter(struct r8152 *tp)
drivers/net/usb/r8152.c
3417
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_FMC, FMC_FCR_MCU_EN);
drivers/net/usb/r8152.c
3418
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_FMC, FMC_FCR_MCU_EN);
drivers/net/usb/r8152.c
3421
static void rtl8152_nic_reset(struct r8152 *tp)
drivers/net/usb/r8152.c
3423
switch (tp->version) {
drivers/net/usb/r8152.c
3427
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_CR, CR_TE);
drivers/net/usb/r8152.c
3428
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_BMU_RESET, BMU_RESET_EP_IN);
drivers/net/usb/r8152.c
3429
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_USB_CTRL, CDC_ECM_EN);
drivers/net/usb/r8152.c
3430
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_CR, CR_RE);
drivers/net/usb/r8152.c
3431
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_BMU_RESET, BMU_RESET_EP_IN);
drivers/net/usb/r8152.c
3432
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL, CDC_ECM_EN);
drivers/net/usb/r8152.c
3437
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_CR, CR_RE | CR_TE);
drivers/net/usb/r8152.c
3441
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CR, CR_RST);
drivers/net/usb/r8152.c
3444
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
3446
if (!(ocp_read_byte(tp, MCU_TYPE_PLA, PLA_CR) & CR_RST))
drivers/net/usb/r8152.c
3454
static void set_tx_qlen(struct r8152 *tp)
drivers/net/usb/r8152.c
3456
tp->tx_qlen = agg_buf_sz / (mtu_to_size(tp->netdev->mtu) + tp->tx_desc.size);
drivers/net/usb/r8152.c
3459
static inline u16 rtl8152_get_speed(struct r8152 *tp)
drivers/net/usb/r8152.c
3461
return ocp_read_word(tp, MCU_TYPE_PLA, PLA_PHYSTATUS);
drivers/net/usb/r8152.c
3464
static void rtl_eee_plus_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3467
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_EEEP_CR,
drivers/net/usb/r8152.c
3470
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_EEEP_CR,
drivers/net/usb/r8152.c
3474
static void rtl_set_eee_plus(struct r8152 *tp)
drivers/net/usb/r8152.c
3476
if (tp->version == RTL_VER_17)
drivers/net/usb/r8152.c
3477
return rtl_eee_plus_en(tp, false);
drivers/net/usb/r8152.c
3479
if (rtl8152_get_speed(tp) & _10bps)
drivers/net/usb/r8152.c
3480
rtl_eee_plus_en(tp, true);
drivers/net/usb/r8152.c
3482
rtl_eee_plus_en(tp, false);
drivers/net/usb/r8152.c
3485
static void rxdy_gated_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3488
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MISC_1, RXDY_GATED_EN);
drivers/net/usb/r8152.c
3490
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MISC_1, RXDY_GATED_EN);
drivers/net/usb/r8152.c
3493
static int rtl_start_rx(struct r8152 *tp)
drivers/net/usb/r8152.c
3502
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3504
INIT_LIST_HEAD(&tp->rx_done);
drivers/net/usb/r8152.c
3505
INIT_LIST_HEAD(&tp->rx_used);
drivers/net/usb/r8152.c
3507
list_splice_init(&tp->rx_info, &tmp_list);
drivers/net/usb/r8152.c
3509
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3516
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3517
list_add_tail(&agg->list, &tp->rx_used);
drivers/net/usb/r8152.c
3518
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3520
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3521
list_add_tail(&agg->list, &tp->rx_done);
drivers/net/usb/r8152.c
3522
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3524
ret = r8152_submit_rx(tp, agg, GFP_KERNEL);
drivers/net/usb/r8152.c
3528
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3529
WARN_ON(!list_empty(&tp->rx_info));
drivers/net/usb/r8152.c
3530
list_splice(&tmp_list, &tp->rx_info);
drivers/net/usb/r8152.c
3531
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3536
static int rtl_stop_rx(struct r8152 *tp)
drivers/net/usb/r8152.c
3550
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3551
list_splice_init(&tp->rx_info, &tmp_list);
drivers/net/usb/r8152.c
3552
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3559
free_rx_agg(tp, agg);
drivers/net/usb/r8152.c
3565
spin_lock_irqsave(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3566
WARN_ON(!list_empty(&tp->rx_info));
drivers/net/usb/r8152.c
3567
list_splice(&tmp_list, &tp->rx_info);
drivers/net/usb/r8152.c
3568
spin_unlock_irqrestore(&tp->rx_lock, flags);
drivers/net/usb/r8152.c
3570
while (!skb_queue_empty(&tp->rx_queue))
drivers/net/usb/r8152.c
3571
dev_kfree_skb(__skb_dequeue(&tp->rx_queue));
drivers/net/usb/r8152.c
3576
static void rtl_set_ifg(struct r8152 *tp, u16 speed)
drivers/net/usb/r8152.c
3579
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_TCR1, IFG_MASK, IFG_144NS);
drivers/net/usb/r8152.c
3581
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4,
drivers/net/usb/r8152.c
3584
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_TCR1, IFG_MASK, IFG_96NS);
drivers/net/usb/r8152.c
3586
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4,
drivers/net/usb/r8152.c
3591
static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp)
drivers/net/usb/r8152.c
3593
ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN,
drivers/net/usb/r8152.c
3597
static int rtl_enable(struct r8152 *tp)
drivers/net/usb/r8152.c
3599
r8152b_reset_packet_filter(tp);
drivers/net/usb/r8152.c
3601
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_CR, CR_RE | CR_TE);
drivers/net/usb/r8152.c
3603
switch (tp->version) {
drivers/net/usb/r8152.c
3613
r8153b_rx_agg_chg_indicate(tp);
drivers/net/usb/r8152.c
3617
rxdy_gated_en(tp, false);
drivers/net/usb/r8152.c
3622
static int rtl8152_enable(struct r8152 *tp)
drivers/net/usb/r8152.c
3624
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
3627
set_tx_qlen(tp);
drivers/net/usb/r8152.c
3628
rtl_set_eee_plus(tp);
drivers/net/usb/r8152.c
3630
return rtl_enable(tp);
drivers/net/usb/r8152.c
3633
static void r8153_set_rx_early_timeout(struct r8152 *tp)
drivers/net/usb/r8152.c
3635
u32 ocp_data = tp->coalesce / 8;
drivers/net/usb/r8152.c
3637
switch (tp->version) {
drivers/net/usb/r8152.c
3642
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_TIMEOUT,
drivers/net/usb/r8152.c
3652
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_TIMEOUT,
drivers/net/usb/r8152.c
3654
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EXTRA_AGGR_TMR,
drivers/net/usb/r8152.c
3665
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_TIMEOUT,
drivers/net/usb/r8152.c
3667
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EXTRA_AGGR_TMR,
drivers/net/usb/r8152.c
3676
static u32 rx_reserved_size(struct r8152 *tp, u32 mtu)
drivers/net/usb/r8152.c
3678
return mtu_to_size(mtu) + tp->rx_desc.size + tp->rx_desc.align;
drivers/net/usb/r8152.c
3681
static void r8153_set_rx_early_size(struct r8152 *tp)
drivers/net/usb/r8152.c
3683
u32 ocp_data = tp->rx_buf_sz - rx_reserved_size(tp, tp->netdev->mtu);
drivers/net/usb/r8152.c
3685
switch (tp->version) {
drivers/net/usb/r8152.c
3690
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_SIZE,
drivers/net/usb/r8152.c
3696
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_SIZE,
drivers/net/usb/r8152.c
3705
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_SIZE,
drivers/net/usb/r8152.c
3710
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_SIZE,
drivers/net/usb/r8152.c
3719
static int rtl8153_enable(struct r8152 *tp)
drivers/net/usb/r8152.c
3721
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
3724
set_tx_qlen(tp);
drivers/net/usb/r8152.c
3725
rtl_set_eee_plus(tp);
drivers/net/usb/r8152.c
3726
r8153_set_rx_early_timeout(tp);
drivers/net/usb/r8152.c
3727
r8153_set_rx_early_size(tp);
drivers/net/usb/r8152.c
3729
rtl_set_ifg(tp, rtl8152_get_speed(tp));
drivers/net/usb/r8152.c
3731
switch (tp->version) {
drivers/net/usb/r8152.c
3734
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
3736
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
3742
return rtl_enable(tp);
drivers/net/usb/r8152.c
3745
static void rtl_disable(struct r8152 *tp)
drivers/net/usb/r8152.c
3750
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) {
drivers/net/usb/r8152.c
3751
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
3755
ocp_dword_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR, RCR_ACPT_ALL);
drivers/net/usb/r8152.c
3757
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
3760
usb_kill_urb(tp->tx_info[i].urb);
drivers/net/usb/r8152.c
3762
rxdy_gated_en(tp, true);
drivers/net/usb/r8152.c
3765
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
3767
ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
drivers/net/usb/r8152.c
3774
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
3776
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0) & TCR0_TX_EMPTY)
drivers/net/usb/r8152.c
3781
rtl_stop_rx(tp);
drivers/net/usb/r8152.c
3783
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
3786
static void r8152_power_cut_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3789
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_UPS_CTRL, POWER_CUT);
drivers/net/usb/r8152.c
3791
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_UPS_CTRL, POWER_CUT);
drivers/net/usb/r8152.c
3793
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_PM_CTRL_STATUS,
drivers/net/usb/r8152.c
3797
static void rtl_rx_vlan_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3799
switch (tp->version) {
drivers/net/usb/r8152.c
3811
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CPCR,
drivers/net/usb/r8152.c
3814
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_CPCR,
drivers/net/usb/r8152.c
3827
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_RCR1,
drivers/net/usb/r8152.c
3830
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR1,
drivers/net/usb/r8152.c
3840
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
3843
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
3847
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
3851
rtl_rx_vlan_en(tp, true);
drivers/net/usb/r8152.c
3853
rtl_rx_vlan_en(tp, false);
drivers/net/usb/r8152.c
3856
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
3858
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
3866
static u32 __rtl_get_wol(struct r8152 *tp)
drivers/net/usb/r8152.c
3871
ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_CONFIG34);
drivers/net/usb/r8152.c
3875
ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_CONFIG5);
drivers/net/usb/r8152.c
3883
ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_CFG_WOL);
drivers/net/usb/r8152.c
3890
static void __rtl_set_wol(struct r8152 *tp, u32 wolopts)
drivers/net/usb/r8152.c
3894
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
3897
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CONFIG34,
drivers/net/usb/r8152.c
3900
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_CONFIG34,
drivers/net/usb/r8152.c
3910
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_CONFIG5, UWF_EN | BWF_EN | MWF_EN,
drivers/net/usb/r8152.c
3913
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
3916
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CFG_WOL, MAGIC_EN);
drivers/net/usb/r8152.c
3918
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_CFG_WOL, MAGIC_EN);
drivers/net/usb/r8152.c
3921
device_set_wakeup_enable(&tp->udev->dev, true);
drivers/net/usb/r8152.c
3923
device_set_wakeup_enable(&tp->udev->dev, false);
drivers/net/usb/r8152.c
3926
static void r8153_mac_clk_speed_down(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3930
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2,
drivers/net/usb/r8152.c
3933
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2,
drivers/net/usb/r8152.c
3937
static void r8156_mac_clk_spd(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3942
ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL, 0x0403);
drivers/net/usb/r8152.c
3944
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2,
drivers/net/usb/r8152.c
3947
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2,
drivers/net/usb/r8152.c
3952
static void r8153_u1u2en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3961
usb_ocp_write(tp, USB_TOLERANCE, BYTE_EN_SIX_BYTES, sizeof(u1u2), u1u2);
drivers/net/usb/r8152.c
3964
static void r8153b_u1u2en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3967
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_LPM_CONFIG,
drivers/net/usb/r8152.c
3970
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_LPM_CONFIG,
drivers/net/usb/r8152.c
3974
static void r8153_u2p3en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3977
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_U2P3_CTRL, U2P3_ENABLE);
drivers/net/usb/r8152.c
3979
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_U2P3_CTRL, U2P3_ENABLE);
drivers/net/usb/r8152.c
3982
static int r8157_u2p3en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
3985
return rtl_ip_set_bits(tp, USB_U2P3_V2_CTRL, U2P3_V2_ENABLE);
drivers/net/usb/r8152.c
3987
return rtl_ip_clr_bits(tp, USB_U2P3_V2_CTRL, U2P3_V2_ENABLE);
drivers/net/usb/r8152.c
3990
static void r8153b_ups_flags(struct r8152 *tp)
drivers/net/usb/r8152.c
3994
if (tp->ups_info.green)
drivers/net/usb/r8152.c
3997
if (tp->ups_info.aldps)
drivers/net/usb/r8152.c
4000
if (tp->ups_info.eee)
drivers/net/usb/r8152.c
4003
if (tp->ups_info.flow_control)
drivers/net/usb/r8152.c
4006
if (tp->ups_info.eee_ckdiv)
drivers/net/usb/r8152.c
4009
if (tp->ups_info.eee_cmod_lv)
drivers/net/usb/r8152.c
4012
if (tp->ups_info.r_tune)
drivers/net/usb/r8152.c
4015
if (tp->ups_info._10m_ckdiv)
drivers/net/usb/r8152.c
4018
if (tp->ups_info.eee_plloff_100)
drivers/net/usb/r8152.c
4021
if (tp->ups_info.eee_plloff_giga)
drivers/net/usb/r8152.c
4024
if (tp->ups_info._250m_ckdiv)
drivers/net/usb/r8152.c
4027
if (tp->ups_info.ctap_short_off)
drivers/net/usb/r8152.c
4030
switch (tp->ups_info.speed_duplex) {
drivers/net/usb/r8152.c
4062
ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
drivers/net/usb/r8152.c
4065
static void r8156_ups_flags(struct r8152 *tp)
drivers/net/usb/r8152.c
4069
if (tp->ups_info.green)
drivers/net/usb/r8152.c
4072
if (tp->ups_info.aldps)
drivers/net/usb/r8152.c
4075
if (tp->ups_info.eee)
drivers/net/usb/r8152.c
4078
if (tp->ups_info.flow_control)
drivers/net/usb/r8152.c
4081
if (tp->ups_info.eee_ckdiv)
drivers/net/usb/r8152.c
4084
if (tp->ups_info._10m_ckdiv)
drivers/net/usb/r8152.c
4087
if (tp->ups_info.eee_plloff_100)
drivers/net/usb/r8152.c
4090
if (tp->ups_info.eee_plloff_giga)
drivers/net/usb/r8152.c
4093
if (tp->ups_info._250m_ckdiv)
drivers/net/usb/r8152.c
4096
switch (tp->ups_info.speed_duplex) {
drivers/net/usb/r8152.c
4131
switch (tp->ups_info.lite_mode) {
drivers/net/usb/r8152.c
4144
ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
drivers/net/usb/r8152.c
4147
static void rtl_green_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4150
sram_set_bits(tp, SRAM_GREEN_CFG, GREEN_ETH_EN);
drivers/net/usb/r8152.c
4152
sram_clr_bits(tp, SRAM_GREEN_CFG, GREEN_ETH_EN);
drivers/net/usb/r8152.c
4154
tp->ups_info.green = enable;
drivers/net/usb/r8152.c
4157
static void r8153b_green_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4160
sram_write(tp, 0x8045, 0); /* 10M abiq&ldvbias */
drivers/net/usb/r8152.c
4161
sram_write(tp, 0x804d, 0x1222); /* 100M short abiq&ldvbias */
drivers/net/usb/r8152.c
4162
sram_write(tp, 0x805d, 0x0022); /* 1000M short abiq&ldvbias */
drivers/net/usb/r8152.c
4164
sram_write(tp, 0x8045, 0x2444); /* 10M abiq&ldvbias */
drivers/net/usb/r8152.c
4165
sram_write(tp, 0x804d, 0x2444); /* 100M short abiq&ldvbias */
drivers/net/usb/r8152.c
4166
sram_write(tp, 0x805d, 0x2444); /* 1000M short abiq&ldvbias */
drivers/net/usb/r8152.c
4169
rtl_green_en(tp, true);
drivers/net/usb/r8152.c
4172
static u16 r8153_phy_status(struct r8152 *tp, u16 desired)
drivers/net/usb/r8152.c
4178
data = ocp_reg_read(tp, OCP_PHY_STATUS);
drivers/net/usb/r8152.c
4189
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
4196
static void r8153b_ups_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4199
r8153b_ups_flags(tp);
drivers/net/usb/r8152.c
4201
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4204
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_MISC_2,
drivers/net/usb/r8152.c
4207
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4210
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_MISC_2,
drivers/net/usb/r8152.c
4213
if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) {
drivers/net/usb/r8152.c
4217
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
4219
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
drivers/net/usb/r8152.c
4225
tp->rtl_ops.hw_phy_cfg(tp);
drivers/net/usb/r8152.c
4227
rtl8152_set_speed(tp, tp->autoneg, tp->speed,
drivers/net/usb/r8152.c
4228
tp->duplex, tp->advertising);
drivers/net/usb/r8152.c
4233
static void r8153c_ups_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4236
r8153b_ups_flags(tp);
drivers/net/usb/r8152.c
4238
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4241
ocp_byte_w0w1(tp, MCU_TYPE_USB, USB_MISC_2, BIT(7),
drivers/net/usb/r8152.c
4244
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4247
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_MISC_2,
drivers/net/usb/r8152.c
4250
if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) {
drivers/net/usb/r8152.c
4254
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
4256
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
drivers/net/usb/r8152.c
4262
tp->rtl_ops.hw_phy_cfg(tp);
drivers/net/usb/r8152.c
4264
rtl8152_set_speed(tp, tp->autoneg, tp->speed,
drivers/net/usb/r8152.c
4265
tp->duplex, tp->advertising);
drivers/net/usb/r8152.c
4268
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
4270
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CONFIG34, BIT(8));
drivers/net/usb/r8152.c
4272
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
4276
static void r8156_ups_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4279
r8156_ups_flags(tp);
drivers/net/usb/r8152.c
4281
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4284
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_MISC_2,
drivers/net/usb/r8152.c
4287
switch (tp->version) {
drivers/net/usb/r8152.c
4290
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_UPHY_XTAL,
drivers/net/usb/r8152.c
4297
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4300
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_MISC_2,
drivers/net/usb/r8152.c
4303
if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) {
drivers/net/usb/r8152.c
4304
tp->rtl_ops.hw_phy_cfg(tp);
drivers/net/usb/r8152.c
4306
rtl8152_set_speed(tp, tp->autoneg, tp->speed,
drivers/net/usb/r8152.c
4307
tp->duplex, tp->advertising);
drivers/net/usb/r8152.c
4312
static void r8153_power_cut_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4315
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4318
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4321
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
4324
static void r8153b_power_cut_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4327
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_POWER_CUT,
drivers/net/usb/r8152.c
4330
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_POWER_CUT, PWR_EN);
drivers/net/usb/r8152.c
4332
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
4335
static void r8157_power_cut_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4338
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_POWER_CUT, PWR_EN | PHASE2_EN);
drivers/net/usb/r8152.c
4339
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_MISC_2, BIT(1));
drivers/net/usb/r8152.c
4341
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_POWER_CUT, PWR_EN);
drivers/net/usb/r8152.c
4342
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
4343
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_MISC_2, BIT(1));
drivers/net/usb/r8152.c
4347
static void r8153_queue_wake(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4350
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_INDICATE_FALG,
drivers/net/usb/r8152.c
4353
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_INDICATE_FALG,
drivers/net/usb/r8152.c
4356
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_SUSPEND_FLAG, LINK_CHG_EVENT);
drivers/net/usb/r8152.c
4357
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, LINK_CHANGE_FLAG);
drivers/net/usb/r8152.c
4360
static bool rtl_can_wakeup(struct r8152 *tp)
drivers/net/usb/r8152.c
4362
struct usb_device *udev = tp->udev;
drivers/net/usb/r8152.c
4367
static void rtl_runtime_suspend_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4370
__rtl_set_wol(tp, WAKE_ANY);
drivers/net/usb/r8152.c
4372
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
4374
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CONFIG34,
drivers/net/usb/r8152.c
4377
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
4379
__rtl_set_wol(tp, tp->saved_wolopts);
drivers/net/usb/r8152.c
4381
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
4383
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_CONFIG34,
drivers/net/usb/r8152.c
4386
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
4390
static void rtl8153_runtime_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4393
r8153_u1u2en(tp, false);
drivers/net/usb/r8152.c
4394
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
4395
rtl_runtime_suspend_enable(tp, true);
drivers/net/usb/r8152.c
4397
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
4399
switch (tp->version) {
drivers/net/usb/r8152.c
4406
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
4410
r8153_u1u2en(tp, true);
drivers/net/usb/r8152.c
4414
static void rtl8153b_runtime_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4417
r8153_queue_wake(tp, true);
drivers/net/usb/r8152.c
4418
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
4419
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
4420
rtl_runtime_suspend_enable(tp, true);
drivers/net/usb/r8152.c
4421
r8153b_ups_en(tp, true);
drivers/net/usb/r8152.c
4423
r8153b_ups_en(tp, false);
drivers/net/usb/r8152.c
4424
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
4425
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
4426
if (tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
4427
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
4431
static void rtl8153c_runtime_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4434
r8153_queue_wake(tp, true);
drivers/net/usb/r8152.c
4435
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
4436
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
4437
rtl_runtime_suspend_enable(tp, true);
drivers/net/usb/r8152.c
4438
r8153c_ups_en(tp, true);
drivers/net/usb/r8152.c
4440
r8153c_ups_en(tp, false);
drivers/net/usb/r8152.c
4441
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
4442
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
4443
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
4447
static void rtl8156_runtime_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4450
r8153_queue_wake(tp, true);
drivers/net/usb/r8152.c
4451
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
4452
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
4453
rtl_runtime_suspend_enable(tp, true);
drivers/net/usb/r8152.c
4455
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
4456
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
4457
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
4458
if (tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
4459
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
4463
static void rtl8157_runtime_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
4466
r8153_queue_wake(tp, true);
drivers/net/usb/r8152.c
4467
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
4468
r8157_u2p3en(tp, false);
drivers/net/usb/r8152.c
4469
rtl_runtime_suspend_enable(tp, true);
drivers/net/usb/r8152.c
4471
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
4472
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
4473
r8157_u2p3en(tp, true);
drivers/net/usb/r8152.c
4474
if (tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
4475
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
4479
static void r8153_teredo_off(struct r8152 *tp)
drivers/net/usb/r8152.c
4481
switch (tp->version) {
drivers/net/usb/r8152.c
4489
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_TEREDO_CFG,
drivers/net/usb/r8152.c
4508
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_TEREDO_CFG, 0xff);
drivers/net/usb/r8152.c
4512
ocp_write_word(tp, MCU_TYPE_PLA, PLA_WDT6_CTRL, WDT6_SET_MODE);
drivers/net/usb/r8152.c
4513
ocp_write_word(tp, MCU_TYPE_PLA, PLA_REALWOW_TIMER, 0);
drivers/net/usb/r8152.c
4514
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_TEREDO_TIMER, 0);
drivers/net/usb/r8152.c
4517
static void rtl_reset_bmu(struct r8152 *tp)
drivers/net/usb/r8152.c
4519
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_BMU_RESET,
drivers/net/usb/r8152.c
4521
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_BMU_RESET,
drivers/net/usb/r8152.c
4526
static void rtl_clear_bp(struct r8152 *tp, u16 type)
drivers/net/usb/r8152.c
4531
switch (tp->version) {
drivers/net/usb/r8152.c
4540
ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0);
drivers/net/usb/r8152.c
4549
ocp_write_byte(tp, type, PLA_BP_EN, 0);
drivers/net/usb/r8152.c
4560
ocp_write_word(tp, type, USB_BP2_EN, 0);
drivers/net/usb/r8152.c
4565
generic_ocp_write(tp, PLA_BP_0, BYTE_EN_DWORD, bp_num << 1, bp, type);
drivers/net/usb/r8152.c
4569
ocp_write_word(tp, type, PLA_BP_BA, 0);
drivers/net/usb/r8152.c
4572
static inline void rtl_reset_ocp_base(struct r8152 *tp)
drivers/net/usb/r8152.c
4574
tp->ocp_base = -1;
drivers/net/usb/r8152.c
4577
static int rtl_phy_patch_request(struct r8152 *tp, bool request, bool wait)
drivers/net/usb/r8152.c
4583
ocp_reg_set_bits(tp, OCP_PHY_PATCH_CMD, PATCH_REQUEST);
drivers/net/usb/r8152.c
4586
ocp_reg_clr_bits(tp, OCP_PHY_PATCH_CMD, PATCH_REQUEST);
drivers/net/usb/r8152.c
4593
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
4597
ocp_data = ocp_reg_read(tp, OCP_PHY_PATCH_STAT);
drivers/net/usb/r8152.c
4603
!(ocp_reg_read(tp, OCP_PHY_PATCH_STAT) & PATCH_READY)) {
drivers/net/usb/r8152.c
4604
dev_err(&tp->intf->dev, "PHY patch request fail\n");
drivers/net/usb/r8152.c
4605
rtl_phy_patch_request(tp, false, false);
drivers/net/usb/r8152.c
4612
static void rtl_patch_key_set(struct r8152 *tp, u16 key_addr, u16 patch_key)
drivers/net/usb/r8152.c
4615
sram_write(tp, key_addr, patch_key);
drivers/net/usb/r8152.c
4616
sram_write(tp, SRAM_PHY_LOCK, PHY_PATCH_LOCK);
drivers/net/usb/r8152.c
4618
sram_write(tp, 0x0000, 0x0000);
drivers/net/usb/r8152.c
4619
ocp_reg_clr_bits(tp, OCP_PHY_LOCK, PATCH_LOCK);
drivers/net/usb/r8152.c
4620
sram_write(tp, key_addr, 0x0000);
drivers/net/usb/r8152.c
4627
rtl_pre_ram_code(struct r8152 *tp, u16 key_addr, u16 patch_key, bool wait)
drivers/net/usb/r8152.c
4629
if (rtl_phy_patch_request(tp, true, wait))
drivers/net/usb/r8152.c
4632
rtl_patch_key_set(tp, key_addr, patch_key);
drivers/net/usb/r8152.c
4637
static int rtl_post_ram_code(struct r8152 *tp, u16 key_addr, bool wait)
drivers/net/usb/r8152.c
4639
rtl_patch_key_set(tp, key_addr, 0);
drivers/net/usb/r8152.c
4641
rtl_phy_patch_request(tp, false, wait);
drivers/net/usb/r8152.c
4646
static bool rtl8152_is_fw_phy_speed_up_ok(struct r8152 *tp, struct fw_phy_speed_up *phy)
drivers/net/usb/r8152.c
4652
switch (tp->version) {
drivers/net/usb/r8152.c
4678
dev_err(&tp->intf->dev, "invalid fw_offset\n");
drivers/net/usb/r8152.c
4684
dev_err(&tp->intf->dev, "invalid block length\n");
drivers/net/usb/r8152.c
4689
dev_err(&tp->intf->dev, "invalid register to load firmware\n");
drivers/net/usb/r8152.c
4698
static bool rtl8152_is_fw_phy_ver_ok(struct r8152 *tp, struct fw_phy_ver *ver)
drivers/net/usb/r8152.c
4702
switch (tp->version) {
drivers/net/usb/r8152.c
4714
dev_err(&tp->intf->dev, "invalid block length\n");
drivers/net/usb/r8152.c
4719
dev_err(&tp->intf->dev, "invalid phy ver addr\n");
drivers/net/usb/r8152.c
4728
static bool rtl8152_is_fw_phy_fixup_ok(struct r8152 *tp, struct fw_phy_fixup *fix)
drivers/net/usb/r8152.c
4732
switch (tp->version) {
drivers/net/usb/r8152.c
4744
dev_err(&tp->intf->dev, "invalid block length\n");
drivers/net/usb/r8152.c
4750
dev_err(&tp->intf->dev, "invalid phy fixup\n");
drivers/net/usb/r8152.c
4759
static bool rtl8152_is_fw_phy_union_ok(struct r8152 *tp, struct fw_phy_union *phy)
drivers/net/usb/r8152.c
4765
switch (tp->version) {
drivers/net/usb/r8152.c
4779
dev_err(&tp->intf->dev, "invalid fw_offset\n");
drivers/net/usb/r8152.c
4785
dev_err(&tp->intf->dev, "invalid block length\n");
drivers/net/usb/r8152.c
4790
dev_err(&tp->intf->dev, "invalid pre_num %d\n", phy->pre_num);
drivers/net/usb/r8152.c
4795
dev_err(&tp->intf->dev, "invalid bp_num %d\n", phy->bp_num);
drivers/net/usb/r8152.c
4804
static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy)
drivers/net/usb/r8152.c
4810
switch (tp->version) {
drivers/net/usb/r8152.c
4826
dev_err(&tp->intf->dev, "fw_offset too small\n");
drivers/net/usb/r8152.c
4832
dev_err(&tp->intf->dev, "invalid fw_offset\n");
drivers/net/usb/r8152.c
4838
dev_err(&tp->intf->dev, "invalid block length\n");
drivers/net/usb/r8152.c
4843
dev_err(&tp->intf->dev, "invalid register to load firmware\n");
drivers/net/usb/r8152.c
4848
dev_err(&tp->intf->dev, "invalid base address register\n");
drivers/net/usb/r8152.c
4853
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
4859
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
4865
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
4871
dev_err(&tp->intf->dev, "invalid break point number\n");
drivers/net/usb/r8152.c
4880
static bool rtl8152_is_fw_mac_ok(struct r8152 *tp, struct fw_mac *mac)
drivers/net/usb/r8152.c
4889
switch (tp->version) {
drivers/net/usb/r8152.c
4926
switch (tp->version) {
drivers/net/usb/r8152.c
4962
dev_err(&tp->intf->dev, "fw_offset too small\n");
drivers/net/usb/r8152.c
4968
dev_err(&tp->intf->dev, "invalid fw_offset\n");
drivers/net/usb/r8152.c
4974
dev_err(&tp->intf->dev, "invalid block length\n");
drivers/net/usb/r8152.c
4979
dev_err(&tp->intf->dev, "invalid register to load firmware\n");
drivers/net/usb/r8152.c
4984
dev_err(&tp->intf->dev, "invalid base address register\n");
drivers/net/usb/r8152.c
4989
dev_err(&tp->intf->dev, "invalid enabled mask register\n");
drivers/net/usb/r8152.c
4994
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5000
dev_err(&tp->intf->dev, "invalid break point number\n");
drivers/net/usb/r8152.c
5006
dev_err(&tp->intf->dev, "unused bp%u is not zero\n", i);
drivers/net/usb/r8152.c
5020
static long rtl8152_fw_verify_checksum(struct r8152 *tp,
drivers/net/usb/r8152.c
5029
dev_err(&tp->intf->dev, "checksum fail\n");
drivers/net/usb/r8152.c
5035
static long rtl8152_check_firmware(struct r8152 *tp, struct rtl_fw *rtl_fw)
drivers/net/usb/r8152.c
5044
dev_err(&tp->intf->dev, "file too small\n");
drivers/net/usb/r8152.c
5048
ret = rtl8152_fw_verify_checksum(tp, fw_hdr, fw->size);
drivers/net/usb/r8152.c
5069
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5074
if (!rtl8152_is_fw_mac_ok(tp, (struct fw_mac *)block)) {
drivers/net/usb/r8152.c
5075
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5083
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5088
if (!rtl8152_is_fw_mac_ok(tp, (struct fw_mac *)block)) {
drivers/net/usb/r8152.c
5089
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5103
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5109
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5118
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5124
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5133
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5139
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5144
if (!rtl8152_is_fw_phy_nc_ok(tp, (struct fw_phy_nc *)block)) {
drivers/net/usb/r8152.c
5145
dev_err(&tp->intf->dev,
drivers/net/usb/r8152.c
5158
dev_err(&tp->intf->dev, "PHY_UNION_NC out of order\n");
drivers/net/usb/r8152.c
5163
dev_err(&tp->intf->dev, "multiple PHY_UNION_NC encountered\n");
drivers/net/usb/r8152.c
5167
if (!rtl8152_is_fw_phy_union_ok(tp, (struct fw_phy_union *)block)) {
drivers/net/usb/r8152.c
5168
dev_err(&tp->intf->dev, "check PHY_UNION_NC failed\n");
drivers/net/usb/r8152.c
5179
dev_err(&tp->intf->dev, "PHY_UNION_NC1 out of order\n");
drivers/net/usb/r8152.c
5184
dev_err(&tp->intf->dev, "multiple PHY NC1 encountered\n");
drivers/net/usb/r8152.c
5188
if (!rtl8152_is_fw_phy_union_ok(tp, (struct fw_phy_union *)block)) {
drivers/net/usb/r8152.c
5189
dev_err(&tp->intf->dev, "check PHY_UNION_NC1 failed\n");
drivers/net/usb/r8152.c
5199
dev_err(&tp->intf->dev, "PHY_UNION_NC2 out of order\n");
drivers/net/usb/r8152.c
5204
dev_err(&tp->intf->dev, "multiple PHY NC2 encountered\n");
drivers/net/usb/r8152.c
5208
if (!rtl8152_is_fw_phy_union_ok(tp, (struct fw_phy_union *)block)) {
drivers/net/usb/r8152.c
5209
dev_err(&tp->intf->dev, "check PHY_UNION_NC2 failed\n");
drivers/net/usb/r8152.c
5218
dev_err(&tp->intf->dev, "PHY_UNION_UC2 out of order\n");
drivers/net/usb/r8152.c
5223
dev_err(&tp->intf->dev, "multiple PHY UC2 encountered\n");
drivers/net/usb/r8152.c
5227
if (!rtl8152_is_fw_phy_union_ok(tp, (struct fw_phy_union *)block)) {
drivers/net/usb/r8152.c
5228
dev_err(&tp->intf->dev, "check PHY_UNION_UC2 failed\n");
drivers/net/usb/r8152.c
5236
dev_err(&tp->intf->dev, "PHY_UNION_UC out of order\n");
drivers/net/usb/r8152.c
5241
dev_err(&tp->intf->dev, "multiple PHY UC encountered\n");
drivers/net/usb/r8152.c
5245
if (!rtl8152_is_fw_phy_union_ok(tp, (struct fw_phy_union *)block)) {
drivers/net/usb/r8152.c
5246
dev_err(&tp->intf->dev, "check PHY_UNION_UC failed\n");
drivers/net/usb/r8152.c
5252
if (!rtl8152_is_fw_phy_union_ok(tp, (struct fw_phy_union *)block)) {
drivers/net/usb/r8152.c
5253
dev_err(&tp->intf->dev, "check RTL_FW_PHY_UNION_MISC failed\n");
drivers/net/usb/r8152.c
5258
if (!rtl8152_is_fw_phy_fixup_ok(tp, (struct fw_phy_fixup *)block)) {
drivers/net/usb/r8152.c
5259
dev_err(&tp->intf->dev, "check PHY fixup failed\n");
drivers/net/usb/r8152.c
5265
dev_err(&tp->intf->dev, "multiple PHY firmware encountered");
drivers/net/usb/r8152.c
5269
if (!rtl8152_is_fw_phy_speed_up_ok(tp, (struct fw_phy_speed_up *)block)) {
drivers/net/usb/r8152.c
5270
dev_err(&tp->intf->dev, "check PHY speed up failed\n");
drivers/net/usb/r8152.c
5283
dev_err(&tp->intf->dev, "Invalid order to set PHY version\n");
drivers/net/usb/r8152.c
5288
dev_err(&tp->intf->dev, "multiple PHY version encountered");
drivers/net/usb/r8152.c
5292
if (!rtl8152_is_fw_phy_ver_ok(tp, (struct fw_phy_ver *)block)) {
drivers/net/usb/r8152.c
5293
dev_err(&tp->intf->dev, "check PHY version failed\n");
drivers/net/usb/r8152.c
5299
dev_warn(&tp->intf->dev, "Unknown type %u is found\n",
drivers/net/usb/r8152.c
5310
dev_err(&tp->intf->dev, "without PHY_STOP\n");
drivers/net/usb/r8152.c
5319
static void rtl_ram_code_speed_up(struct r8152 *tp, struct fw_phy_speed_up *phy, bool wait)
drivers/net/usb/r8152.c
5324
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5326
if (sram_read(tp, SRAM_GPHY_FW_VER) >= __le16_to_cpu(phy->version)) {
drivers/net/usb/r8152.c
5327
dev_dbg(&tp->intf->dev, "PHY firmware has been the newest\n");
drivers/net/usb/r8152.c
5335
if (rtl_phy_patch_request(tp, true, wait))
drivers/net/usb/r8152.c
5347
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_GPHY_CTRL,
drivers/net/usb/r8152.c
5350
generic_ocp_write(tp, __le16_to_cpu(phy->fw_reg), 0xff, size, data, MCU_TYPE_USB);
drivers/net/usb/r8152.c
5355
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_POL_GPIO_CTRL,
drivers/net/usb/r8152.c
5359
if (!(ocp_read_word(tp, MCU_TYPE_PLA, PLA_POL_GPIO_CTRL) & POL_GPHY_PATCH))
drivers/net/usb/r8152.c
5364
dev_err(&tp->intf->dev, "ram code speedup mode timeout\n");
drivers/net/usb/r8152.c
5369
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5371
rtl_phy_patch_request(tp, false, wait);
drivers/net/usb/r8152.c
5373
if (sram_read(tp, SRAM_GPHY_FW_VER) == __le16_to_cpu(phy->version))
drivers/net/usb/r8152.c
5374
dev_dbg(&tp->intf->dev, "successfully applied %s\n", phy->info);
drivers/net/usb/r8152.c
5376
dev_err(&tp->intf->dev, "ram code speedup mode fail\n");
drivers/net/usb/r8152.c
5379
static int rtl8152_fw_phy_ver(struct r8152 *tp, struct fw_phy_ver *phy_ver)
drivers/net/usb/r8152.c
5386
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5388
if (sram_read(tp, ver_addr) >= ver) {
drivers/net/usb/r8152.c
5389
dev_dbg(&tp->intf->dev, "PHY firmware has been the newest\n");
drivers/net/usb/r8152.c
5393
sram_write(tp, ver_addr, ver);
drivers/net/usb/r8152.c
5395
dev_dbg(&tp->intf->dev, "PHY firmware version %x\n", ver);
drivers/net/usb/r8152.c
5400
static void rtl8152_fw_phy_fixup(struct r8152 *tp, struct fw_phy_fixup *fix)
drivers/net/usb/r8152.c
5404
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5407
data = ocp_reg_read(tp, addr);
drivers/net/usb/r8152.c
5426
ocp_reg_write(tp, addr, data);
drivers/net/usb/r8152.c
5428
dev_dbg(&tp->intf->dev, "applied ocp %x %x\n", addr, data);
drivers/net/usb/r8152.c
5431
static void rtl8152_fw_phy_union_apply(struct r8152 *tp, struct fw_phy_union *phy)
drivers/net/usb/r8152.c
5437
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5441
sram_write(tp, __le16_to_cpu(phy->pre_set[i].addr),
drivers/net/usb/r8152.c
5449
ocp_reg_write(tp, OCP_SRAM_ADDR, __le16_to_cpu(phy->fw_reg));
drivers/net/usb/r8152.c
5451
ocp_reg_write(tp, OCP_SRAM_DATA, __le16_to_cpu(data[i]));
drivers/net/usb/r8152.c
5455
sram_write(tp, __le16_to_cpu(phy->bp[i].addr), __le16_to_cpu(phy->bp[i].data));
drivers/net/usb/r8152.c
5458
sram_write(tp, __le16_to_cpu(phy->bp_en.addr), __le16_to_cpu(phy->bp_en.data));
drivers/net/usb/r8152.c
5460
dev_dbg(&tp->intf->dev, "successfully applied %s\n", phy->info);
drivers/net/usb/r8152.c
5463
static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy)
drivers/net/usb/r8152.c
5469
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5472
sram_write(tp, mode_reg, __le16_to_cpu(phy->mode_pre));
drivers/net/usb/r8152.c
5473
sram_write(tp, __le16_to_cpu(phy->ba_reg),
drivers/net/usb/r8152.c
5481
ocp_reg_write(tp, OCP_SRAM_ADDR, __le16_to_cpu(phy->fw_reg));
drivers/net/usb/r8152.c
5483
ocp_reg_write(tp, OCP_SRAM_DATA, __le16_to_cpu(data[i]));
drivers/net/usb/r8152.c
5485
sram_write(tp, __le16_to_cpu(phy->patch_en_addr),
drivers/net/usb/r8152.c
5491
sram_write(tp, bp_index, __le16_to_cpu(phy->bp[i]));
drivers/net/usb/r8152.c
5495
sram_write(tp, mode_reg, __le16_to_cpu(phy->mode_post));
drivers/net/usb/r8152.c
5497
dev_dbg(&tp->intf->dev, "successfully applied %s\n", phy->info);
drivers/net/usb/r8152.c
5500
static void rtl8152_fw_mac_apply(struct r8152 *tp, struct fw_mac *mac)
drivers/net/usb/r8152.c
5518
if (fw_ver_reg && ocp_read_byte(tp, MCU_TYPE_USB, fw_ver_reg) >= mac->fw_ver_data) {
drivers/net/usb/r8152.c
5519
dev_dbg(&tp->intf->dev, "%s firmware has been the newest\n", type ? "PLA" : "USB");
drivers/net/usb/r8152.c
5523
rtl_clear_bp(tp, type);
drivers/net/usb/r8152.c
5528
if (tp->version == RTL_VER_04 && type == MCU_TYPE_PLA &&
drivers/net/usb/r8152.c
5529
!(ocp_read_word(tp, MCU_TYPE_PLA, PLA_MACDBG_POST) & DEBUG_OE)) {
drivers/net/usb/r8152.c
5530
ocp_write_word(tp, MCU_TYPE_PLA, PLA_MACDBG_PRE, DEBUG_LTSSM);
drivers/net/usb/r8152.c
5531
ocp_write_word(tp, MCU_TYPE_PLA, PLA_MACDBG_POST, DEBUG_LTSSM);
drivers/net/usb/r8152.c
5540
if (generic_ocp_write(tp, __le16_to_cpu(mac->fw_reg), 0xff, length,
drivers/net/usb/r8152.c
5542
dev_err(&tp->intf->dev, "Write %s fw fail\n",
drivers/net/usb/r8152.c
5547
ocp_write_word(tp, type, __le16_to_cpu(mac->bp_ba_addr),
drivers/net/usb/r8152.c
5550
if (generic_ocp_write(tp, __le16_to_cpu(mac->bp_start), BYTE_EN_DWORD,
drivers/net/usb/r8152.c
5553
dev_err(&tp->intf->dev, "Write %s bp fail\n",
drivers/net/usb/r8152.c
5560
ocp_write_word(tp, type, bp_en_addr,
drivers/net/usb/r8152.c
5564
ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg,
drivers/net/usb/r8152.c
5567
dev_dbg(&tp->intf->dev, "successfully applied %s\n", mac->info);
drivers/net/usb/r8152.c
5570
static void rtl8152_apply_firmware(struct r8152 *tp, bool power_cut)
drivers/net/usb/r8152.c
5572
struct rtl_fw *rtl_fw = &tp->rtl_fw;
drivers/net/usb/r8152.c
5586
rtl_fw->pre_fw(tp);
drivers/net/usb/r8152.c
5596
rtl8152_fw_mac_apply(tp, (struct fw_mac *)block);
drivers/net/usb/r8152.c
5603
rtl_pre_ram_code(tp, key_addr, __le16_to_cpu(key->key_data), !power_cut);
drivers/net/usb/r8152.c
5609
rtl_post_ram_code(tp, key_addr, !power_cut);
drivers/net/usb/r8152.c
5612
rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block);
drivers/net/usb/r8152.c
5615
patch_phy = rtl8152_fw_phy_ver(tp, (struct fw_phy_ver *)block);
drivers/net/usb/r8152.c
5624
rtl8152_fw_phy_union_apply(tp, (struct fw_phy_union *)block);
drivers/net/usb/r8152.c
5628
rtl8152_fw_phy_fixup(tp, (struct fw_phy_fixup *)block);
drivers/net/usb/r8152.c
5631
rtl_ram_code_speed_up(tp, (struct fw_phy_speed_up *)block, !power_cut);
drivers/net/usb/r8152.c
5642
rtl_fw->post_fw(tp);
drivers/net/usb/r8152.c
5644
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
5646
dev_dbg(&tp->intf->dev, "load %s successfully\n", rtl_fw->version);
drivers/net/usb/r8152.c
5649
static void rtl8152_release_firmware(struct r8152 *tp)
drivers/net/usb/r8152.c
5651
struct rtl_fw *rtl_fw = &tp->rtl_fw;
drivers/net/usb/r8152.c
5659
static int rtl8152_request_firmware(struct r8152 *tp)
drivers/net/usb/r8152.c
5661
struct rtl_fw *rtl_fw = &tp->rtl_fw;
drivers/net/usb/r8152.c
5665
dev_info(&tp->intf->dev, "skip request firmware\n");
drivers/net/usb/r8152.c
5670
rc = request_firmware(&rtl_fw->fw, rtl_fw->fw_name, &tp->intf->dev);
drivers/net/usb/r8152.c
5674
rc = rtl8152_check_firmware(tp, rtl_fw);
drivers/net/usb/r8152.c
5682
dev_warn(&tp->intf->dev,
drivers/net/usb/r8152.c
5690
static void r8152_aldps_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
5693
ocp_reg_write(tp, OCP_ALDPS_CONFIG, ENPWRSAVE | ENPDNPS |
drivers/net/usb/r8152.c
5696
ocp_reg_write(tp, OCP_ALDPS_CONFIG, ENPDNPS | LINKENA |
drivers/net/usb/r8152.c
5702
static inline void r8152_mmd_indirect(struct r8152 *tp, u16 dev, u16 reg)
drivers/net/usb/r8152.c
5704
ocp_reg_write(tp, OCP_EEE_AR, FUN_ADDR | dev);
drivers/net/usb/r8152.c
5705
ocp_reg_write(tp, OCP_EEE_DATA, reg);
drivers/net/usb/r8152.c
5706
ocp_reg_write(tp, OCP_EEE_AR, FUN_DATA | dev);
drivers/net/usb/r8152.c
5709
static u16 r8152_mmd_read(struct r8152 *tp, u16 dev, u16 reg)
drivers/net/usb/r8152.c
5713
r8152_mmd_indirect(tp, dev, reg);
drivers/net/usb/r8152.c
5714
data = ocp_reg_read(tp, OCP_EEE_DATA);
drivers/net/usb/r8152.c
5715
ocp_reg_write(tp, OCP_EEE_AR, 0x0000);
drivers/net/usb/r8152.c
5720
static void r8152_mmd_write(struct r8152 *tp, u16 dev, u16 reg, u16 data)
drivers/net/usb/r8152.c
5722
r8152_mmd_indirect(tp, dev, reg);
drivers/net/usb/r8152.c
5723
ocp_reg_write(tp, OCP_EEE_DATA, data);
drivers/net/usb/r8152.c
5724
ocp_reg_write(tp, OCP_EEE_AR, 0x0000);
drivers/net/usb/r8152.c
5727
static void r8152_eee_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
5730
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_EEE_CR,
drivers/net/usb/r8152.c
5733
ocp_reg_w0w1(tp, OCP_EEE_CONFIG1, sd_rise_time_mask,
drivers/net/usb/r8152.c
5737
ocp_reg_set_bits(tp, OCP_EEE_CONFIG2,
drivers/net/usb/r8152.c
5740
ocp_reg_w0w1(tp, OCP_EEE_CONFIG3, fast_snr_mask, fast_snr(42));
drivers/net/usb/r8152.c
5742
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_EEE_CR,
drivers/net/usb/r8152.c
5745
ocp_reg_w0w1(tp, OCP_EEE_CONFIG1, sd_rise_time_mask |
drivers/net/usb/r8152.c
5749
ocp_reg_clr_bits(tp, OCP_EEE_CONFIG2,
drivers/net/usb/r8152.c
5752
ocp_reg_w0w1(tp, OCP_EEE_CONFIG3, fast_snr_mask, fast_snr(511));
drivers/net/usb/r8152.c
5756
static void r8153_eee_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
5759
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_EEE_CR,
drivers/net/usb/r8152.c
5762
ocp_reg_set_bits(tp, OCP_EEE_CFG, EEE10_EN);
drivers/net/usb/r8152.c
5764
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_EEE_CR,
drivers/net/usb/r8152.c
5767
ocp_reg_clr_bits(tp, OCP_EEE_CFG, EEE10_EN);
drivers/net/usb/r8152.c
5770
tp->ups_info.eee = enable;
drivers/net/usb/r8152.c
5773
static void r8156_eee_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
5777
r8153_eee_en(tp, enable);
drivers/net/usb/r8152.c
5779
config = ocp_reg_read(tp, OCP_EEE_ADV2);
drivers/net/usb/r8152.c
5781
if (enable && (tp->eee_adv2 & MDIO_EEE_2_5GT))
drivers/net/usb/r8152.c
5786
if (enable && (tp->eee_adv2 & MDIO_EEE_5GT))
drivers/net/usb/r8152.c
5791
ocp_reg_write(tp, OCP_EEE_ADV2, config);
drivers/net/usb/r8152.c
5794
static void rtl_eee_enable(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
5796
switch (tp->version) {
drivers/net/usb/r8152.c
5801
r8152_eee_en(tp, true);
drivers/net/usb/r8152.c
5802
r8152_mmd_write(tp, MDIO_MMD_AN, MDIO_AN_EEE_ADV,
drivers/net/usb/r8152.c
5803
tp->eee_adv);
drivers/net/usb/r8152.c
5805
r8152_eee_en(tp, false);
drivers/net/usb/r8152.c
5806
r8152_mmd_write(tp, MDIO_MMD_AN, MDIO_AN_EEE_ADV, 0);
drivers/net/usb/r8152.c
5817
r8153_eee_en(tp, true);
drivers/net/usb/r8152.c
5818
ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv);
drivers/net/usb/r8152.c
5820
r8153_eee_en(tp, false);
drivers/net/usb/r8152.c
5821
ocp_reg_write(tp, OCP_EEE_ADV, 0);
drivers/net/usb/r8152.c
5832
r8156_eee_en(tp, true);
drivers/net/usb/r8152.c
5833
ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv);
drivers/net/usb/r8152.c
5835
r8156_eee_en(tp, false);
drivers/net/usb/r8152.c
5836
ocp_reg_write(tp, OCP_EEE_ADV, 0);
drivers/net/usb/r8152.c
5844
static void r8152b_enable_fc(struct r8152 *tp)
drivers/net/usb/r8152.c
5846
r8152_mdio_set_bit(tp, MII_ADVERTISE,
drivers/net/usb/r8152.c
5849
tp->ups_info.flow_control = true;
drivers/net/usb/r8152.c
5852
static void rtl8152_disable(struct r8152 *tp)
drivers/net/usb/r8152.c
5854
r8152_aldps_en(tp, false);
drivers/net/usb/r8152.c
5855
rtl_disable(tp);
drivers/net/usb/r8152.c
5856
r8152_aldps_en(tp, true);
drivers/net/usb/r8152.c
5859
static void r8152b_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
5861
rtl8152_apply_firmware(tp, false);
drivers/net/usb/r8152.c
5862
rtl_eee_enable(tp, tp->eee_en);
drivers/net/usb/r8152.c
5863
r8152_aldps_en(tp, true);
drivers/net/usb/r8152.c
5864
r8152b_enable_fc(tp);
drivers/net/usb/r8152.c
5866
set_bit(PHY_RESET, &tp->flags);
drivers/net/usb/r8152.c
5869
static void wait_oob_link_list_ready(struct r8152 *tp)
drivers/net/usb/r8152.c
5875
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
5877
ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
drivers/net/usb/r8152.c
5884
static void r8156b_wait_loading_flash(struct r8152 *tp)
drivers/net/usb/r8152.c
5886
if ((ocp_read_word(tp, MCU_TYPE_PLA, PLA_GPHY_CTRL) & GPHY_FLASH) &&
drivers/net/usb/r8152.c
5887
!(ocp_read_word(tp, MCU_TYPE_USB, USB_GPHY_CTRL) & BYPASS_FLASH)) {
drivers/net/usb/r8152.c
5891
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
5893
if (ocp_read_word(tp, MCU_TYPE_USB, USB_GPHY_CTRL) & GPHY_PATCH_DONE)
drivers/net/usb/r8152.c
5900
static void r8152b_exit_oob(struct r8152 *tp)
drivers/net/usb/r8152.c
5902
ocp_dword_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR, RCR_ACPT_ALL);
drivers/net/usb/r8152.c
5904
rxdy_gated_en(tp, true);
drivers/net/usb/r8152.c
5905
r8153_teredo_off(tp);
drivers/net/usb/r8152.c
5906
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
5907
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CR, 0x00);
drivers/net/usb/r8152.c
5909
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
5911
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, MCU_BORW_EN);
drivers/net/usb/r8152.c
5913
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
5915
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, RE_INIT_LL);
drivers/net/usb/r8152.c
5917
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
5919
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
5922
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL0, RXFIFO_THR1_NORMAL);
drivers/net/usb/r8152.c
5924
if (tp->udev->speed == USB_SPEED_FULL ||
drivers/net/usb/r8152.c
5925
tp->udev->speed == USB_SPEED_LOW) {
drivers/net/usb/r8152.c
5927
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1,
drivers/net/usb/r8152.c
5929
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2,
drivers/net/usb/r8152.c
5933
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1,
drivers/net/usb/r8152.c
5935
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2,
drivers/net/usb/r8152.c
5940
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, TXFIFO_THR_NORMAL2);
drivers/net/usb/r8152.c
5942
ocp_write_byte(tp, MCU_TYPE_USB, USB_TX_AGG, TX_AGG_MAX_THRESHOLD);
drivers/net/usb/r8152.c
5943
ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_HIGH);
drivers/net/usb/r8152.c
5944
ocp_write_dword(tp, MCU_TYPE_USB, USB_TX_DMA,
drivers/net/usb/r8152.c
5947
rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
drivers/net/usb/r8152.c
5949
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, RTL8152_RMS);
drivers/net/usb/r8152.c
5951
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_TCR0, TCR0_AUTO_FIFO);
drivers/net/usb/r8152.c
5954
static void r8152b_enter_oob(struct r8152 *tp)
drivers/net/usb/r8152.c
5956
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
5958
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL0, RXFIFO_THR1_OOB);
drivers/net/usb/r8152.c
5959
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1, RXFIFO_THR2_OOB);
drivers/net/usb/r8152.c
5960
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2, RXFIFO_THR3_OOB);
drivers/net/usb/r8152.c
5962
rtl_disable(tp);
drivers/net/usb/r8152.c
5964
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
5966
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, RE_INIT_LL);
drivers/net/usb/r8152.c
5968
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
5970
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, RTL8152_RMS);
drivers/net/usb/r8152.c
5972
rtl_rx_vlan_en(tp, true);
drivers/net/usb/r8152.c
5974
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_BDC_CR, ALDPS_PROXY_MODE);
drivers/net/usb/r8152.c
5976
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL,
drivers/net/usb/r8152.c
5979
rxdy_gated_en(tp, false);
drivers/net/usb/r8152.c
5981
ocp_dword_set_bits(tp, MCU_TYPE_PLA, PLA_RCR,
drivers/net/usb/r8152.c
5985
static int r8153_pre_firmware_1(struct r8152 *tp)
drivers/net/usb/r8152.c
5991
u32 ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, USB_WDT1_CTRL);
drivers/net/usb/r8152.c
5993
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6003
static int r8153_post_firmware_1(struct r8152 *tp)
drivers/net/usb/r8152.c
6006
if (ocp_read_byte(tp, MCU_TYPE_USB, USB_CSTMR) & FORCE_SUPER)
drivers/net/usb/r8152.c
6007
ocp_write_word(tp, MCU_TYPE_USB, USB_BP_4, BP4_SUPER_ONLY);
drivers/net/usb/r8152.c
6010
ocp_write_word(tp, MCU_TYPE_PLA, PLA_UPHY_TIMER, 36000 / 16);
drivers/net/usb/r8152.c
6015
static int r8153_pre_firmware_2(struct r8152 *tp)
drivers/net/usb/r8152.c
6017
r8153_pre_firmware_1(tp);
drivers/net/usb/r8152.c
6019
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_FW_FIX_EN0, FW_FIX_SUSPEND);
drivers/net/usb/r8152.c
6024
static int r8153_post_firmware_2(struct r8152 *tp)
drivers/net/usb/r8152.c
6027
if (ocp_read_byte(tp, MCU_TYPE_USB, USB_CSTMR) & FORCE_SUPER)
drivers/net/usb/r8152.c
6028
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_BP_EN, BIT(0));
drivers/net/usb/r8152.c
6031
ocp_write_word(tp, MCU_TYPE_PLA, PLA_UPHY_TIMER, 36000 / 16);
drivers/net/usb/r8152.c
6034
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, U3P3_CHECK_EN | 4);
drivers/net/usb/r8152.c
6036
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_FIX_EN0, FW_FIX_SUSPEND);
drivers/net/usb/r8152.c
6038
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_USB2PHY,
drivers/net/usb/r8152.c
6044
static int r8153_post_firmware_3(struct r8152 *tp)
drivers/net/usb/r8152.c
6046
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_USB2PHY,
drivers/net/usb/r8152.c
6049
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_FIX_EN1, FW_IP_RESET_EN);
drivers/net/usb/r8152.c
6054
static int r8153b_pre_firmware_1(struct r8152 *tp)
drivers/net/usb/r8152.c
6057
ocp_write_word(tp, MCU_TYPE_USB, USB_FC_TIMER,
drivers/net/usb/r8152.c
6063
static int r8153b_post_firmware_1(struct r8152 *tp)
drivers/net/usb/r8152.c
6068
ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, USB_MISC_1);
drivers/net/usb/r8152.c
6070
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_BP_EN, BIT(0));
drivers/net/usb/r8152.c
6072
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_CTRL, FLOW_CTRL_PATCH_OPT);
drivers/net/usb/r8152.c
6074
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
6076
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_FIX_EN1, FW_IP_RESET_EN);
drivers/net/usb/r8152.c
6081
static int r8153c_post_firmware_1(struct r8152 *tp)
drivers/net/usb/r8152.c
6083
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_CTRL, FLOW_CTRL_PATCH_2);
drivers/net/usb/r8152.c
6085
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
6090
static int r8156a_post_firmware_1(struct r8152 *tp)
drivers/net/usb/r8152.c
6092
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_FIX_EN1, FW_IP_RESET_EN);
drivers/net/usb/r8152.c
6095
ocp_write_dword(tp, MCU_TYPE_USB, USB_UPHY3_MDCMDIO, 0x4026840e);
drivers/net/usb/r8152.c
6096
ocp_write_dword(tp, MCU_TYPE_USB, USB_UPHY3_MDCMDIO, 0x4001acc9);
drivers/net/usb/r8152.c
6101
static void r8153_aldps_en(struct r8152 *tp, bool enable)
drivers/net/usb/r8152.c
6104
ocp_reg_set_bits(tp, OCP_POWER_CFG, EN_ALDPS);
drivers/net/usb/r8152.c
6108
ocp_reg_clr_bits(tp, OCP_POWER_CFG, EN_ALDPS);
drivers/net/usb/r8152.c
6110
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6113
if (ocp_read_word(tp, MCU_TYPE_PLA, 0xe000) & 0x0100)
drivers/net/usb/r8152.c
6118
tp->ups_info.aldps = enable;
drivers/net/usb/r8152.c
6121
static void r8153_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
6124
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6127
rtl_eee_enable(tp, false);
drivers/net/usb/r8152.c
6129
rtl8152_apply_firmware(tp, false);
drivers/net/usb/r8152.c
6131
if (tp->version == RTL_VER_03)
drivers/net/usb/r8152.c
6132
ocp_reg_clr_bits(tp, OCP_EEE_CFG, CTAP_SHORT_EN);
drivers/net/usb/r8152.c
6134
ocp_reg_set_bits(tp, OCP_POWER_CFG, EEE_CLKDIV_EN);
drivers/net/usb/r8152.c
6136
ocp_reg_set_bits(tp, OCP_DOWN_SPEED, EN_10M_BGOFF);
drivers/net/usb/r8152.c
6138
ocp_reg_set_bits(tp, OCP_POWER_CFG, EN_10M_PLLOFF);
drivers/net/usb/r8152.c
6140
sram_write(tp, SRAM_IMPEDANCE, 0x0b13);
drivers/net/usb/r8152.c
6142
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR, PFM_PWM_SWITCH);
drivers/net/usb/r8152.c
6145
sram_write(tp, SRAM_LPF_CFG, 0xf70f);
drivers/net/usb/r8152.c
6148
sram_write(tp, SRAM_10M_AMP1, 0x00af);
drivers/net/usb/r8152.c
6149
sram_write(tp, SRAM_10M_AMP2, 0x0208);
drivers/net/usb/r8152.c
6151
if (tp->eee_en)
drivers/net/usb/r8152.c
6152
rtl_eee_enable(tp, true);
drivers/net/usb/r8152.c
6154
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6155
r8152b_enable_fc(tp);
drivers/net/usb/r8152.c
6157
switch (tp->version) {
drivers/net/usb/r8152.c
6164
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
6168
set_bit(PHY_RESET, &tp->flags);
drivers/net/usb/r8152.c
6171
static u32 r8152_efuse_read(struct r8152 *tp, u8 addr)
drivers/net/usb/r8152.c
6175
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EFUSE_CMD, EFUSE_READ_CMD | addr);
drivers/net/usb/r8152.c
6176
ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_EFUSE_CMD);
drivers/net/usb/r8152.c
6178
ocp_data |= ocp_read_word(tp, MCU_TYPE_PLA, PLA_EFUSE_DATA);
drivers/net/usb/r8152.c
6183
static void r8153b_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
6188
ocp_word_test_and_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
6191
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6194
rtl_eee_enable(tp, false);
drivers/net/usb/r8152.c
6197
ocp_write_word(tp, MCU_TYPE_USB, USB_U1U2_TIMER, 500);
drivers/net/usb/r8152.c
6199
data = r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
6204
rtl8152_apply_firmware(tp, true);
drivers/net/usb/r8152.c
6206
r8152_mdio_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
6210
rtl8152_apply_firmware(tp, false);
drivers/net/usb/r8152.c
6214
r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
drivers/net/usb/r8152.c
6216
sram_set_bits(tp, SRAM_GREEN_CFG, R_TUNE_EN);
drivers/net/usb/r8152.c
6218
ocp_reg_set_bits(tp, OCP_NCTL_CFG, PGA_RETURN_EN);
drivers/net/usb/r8152.c
6225
ocp_data = r8152_efuse_read(tp, 0x7d);
drivers/net/usb/r8152.c
6228
ocp_reg_write(tp, OCP_ADC_IOFFSET, data);
drivers/net/usb/r8152.c
6234
ocp_data = ocp_reg_read(tp, 0xc426);
drivers/net/usb/r8152.c
6240
ocp_word_w0w1(tp, MCU_TYPE_USB, USB_UPS_CFG, SAW_CNT_1MS_MASK,
drivers/net/usb/r8152.c
6244
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR, PFM_PWM_SWITCH);
drivers/net/usb/r8152.c
6247
if (!rtl_phy_patch_request(tp, true, true)) {
drivers/net/usb/r8152.c
6248
ocp_reg_set_bits(tp, OCP_POWER_CFG, EEE_CLKDIV_EN);
drivers/net/usb/r8152.c
6249
tp->ups_info.eee_ckdiv = true;
drivers/net/usb/r8152.c
6251
ocp_reg_set_bits(tp, OCP_DOWN_SPEED,
drivers/net/usb/r8152.c
6253
tp->ups_info.eee_cmod_lv = true;
drivers/net/usb/r8152.c
6254
tp->ups_info._10m_ckdiv = true;
drivers/net/usb/r8152.c
6255
tp->ups_info.eee_plloff_giga = true;
drivers/net/usb/r8152.c
6257
ocp_reg_write(tp, OCP_SYSCLK_CFG, 0);
drivers/net/usb/r8152.c
6258
ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5));
drivers/net/usb/r8152.c
6259
tp->ups_info._250m_ckdiv = true;
drivers/net/usb/r8152.c
6261
rtl_phy_patch_request(tp, false, true);
drivers/net/usb/r8152.c
6264
if (tp->eee_en)
drivers/net/usb/r8152.c
6265
rtl_eee_enable(tp, true);
drivers/net/usb/r8152.c
6267
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6268
r8152b_enable_fc(tp);
drivers/net/usb/r8152.c
6270
set_bit(PHY_RESET, &tp->flags);
drivers/net/usb/r8152.c
6273
static void r8153c_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
6275
r8153b_hw_phy_cfg(tp);
drivers/net/usb/r8152.c
6277
tp->ups_info.r_tune = true;
drivers/net/usb/r8152.c
6280
static void rtl8153_change_mtu(struct r8152 *tp)
drivers/net/usb/r8152.c
6282
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu));
drivers/net/usb/r8152.c
6283
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_MTPS, MTPS_JUMBO);
drivers/net/usb/r8152.c
6286
static void r8153_first_init(struct r8152 *tp)
drivers/net/usb/r8152.c
6288
rxdy_gated_en(tp, true);
drivers/net/usb/r8152.c
6289
r8153_teredo_off(tp);
drivers/net/usb/r8152.c
6291
ocp_dword_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR, RCR_ACPT_ALL);
drivers/net/usb/r8152.c
6293
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
6294
rtl_reset_bmu(tp);
drivers/net/usb/r8152.c
6296
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
6298
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, MCU_BORW_EN);
drivers/net/usb/r8152.c
6300
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
6302
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, RE_INIT_LL);
drivers/net/usb/r8152.c
6304
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
6306
rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
drivers/net/usb/r8152.c
6308
rtl8153_change_mtu(tp);
drivers/net/usb/r8152.c
6310
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_TCR0, TCR0_AUTO_FIFO);
drivers/net/usb/r8152.c
6312
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
6315
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL0, RXFIFO_THR1_NORMAL);
drivers/net/usb/r8152.c
6316
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1, RXFIFO_THR2_NORMAL);
drivers/net/usb/r8152.c
6317
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2, RXFIFO_THR3_NORMAL);
drivers/net/usb/r8152.c
6319
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, TXFIFO_THR_NORMAL2);
drivers/net/usb/r8152.c
6322
static void r8153_enter_oob(struct r8152 *tp)
drivers/net/usb/r8152.c
6324
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
6327
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL0, RXFIFO_THR1_OOB);
drivers/net/usb/r8152.c
6328
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1, RXFIFO_THR2_OOB);
drivers/net/usb/r8152.c
6329
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2, RXFIFO_THR3_OOB);
drivers/net/usb/r8152.c
6331
rtl_disable(tp);
drivers/net/usb/r8152.c
6332
rtl_reset_bmu(tp);
drivers/net/usb/r8152.c
6334
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
6336
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, RE_INIT_LL);
drivers/net/usb/r8152.c
6338
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
6340
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, 1522);
drivers/net/usb/r8152.c
6341
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_MTPS, MTPS_DEFAULT);
drivers/net/usb/r8152.c
6343
switch (tp->version) {
drivers/net/usb/r8152.c
6348
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_TEREDO_CFG,
drivers/net/usb/r8152.c
6359
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TEREDO_WAKE_BASE, 0x00ff);
drivers/net/usb/r8152.c
6366
rtl_rx_vlan_en(tp, true);
drivers/net/usb/r8152.c
6368
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_BDC_CR, ALDPS_PROXY_MODE);
drivers/net/usb/r8152.c
6370
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL,
drivers/net/usb/r8152.c
6373
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, MCU_BORW_EN);
drivers/net/usb/r8152.c
6375
rxdy_gated_en(tp, false);
drivers/net/usb/r8152.c
6377
ocp_dword_set_bits(tp, MCU_TYPE_PLA, PLA_RCR,
drivers/net/usb/r8152.c
6381
static void rtl8153_disable(struct r8152 *tp)
drivers/net/usb/r8152.c
6383
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6384
rtl_disable(tp);
drivers/net/usb/r8152.c
6385
rtl_reset_bmu(tp);
drivers/net/usb/r8152.c
6386
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6389
static u32 fc_pause_on_auto(struct r8152 *tp)
drivers/net/usb/r8152.c
6391
return (ALIGN(mtu_to_size(tp->netdev->mtu), 1024) + 6 * 1024);
drivers/net/usb/r8152.c
6394
static u32 fc_pause_off_auto(struct r8152 *tp)
drivers/net/usb/r8152.c
6396
return (ALIGN(mtu_to_size(tp->netdev->mtu), 1024) + 14 * 1024);
drivers/net/usb/r8152.c
6399
static void r8156_fc_parameter(struct r8152 *tp)
drivers/net/usb/r8152.c
6401
u32 pause_on = tp->fc_pause_on ? tp->fc_pause_on : fc_pause_on_auto(tp);
drivers/net/usb/r8152.c
6402
u32 pause_off = tp->fc_pause_off ? tp->fc_pause_off : fc_pause_off_auto(tp);
drivers/net/usb/r8152.c
6404
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, pause_on / 16);
drivers/net/usb/r8152.c
6405
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, pause_off / 16);
drivers/net/usb/r8152.c
6408
static int rtl8156_enable(struct r8152 *tp)
drivers/net/usb/r8152.c
6412
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6415
if (tp->version < RTL_VER_12)
drivers/net/usb/r8152.c
6416
r8156_fc_parameter(tp);
drivers/net/usb/r8152.c
6418
set_tx_qlen(tp);
drivers/net/usb/r8152.c
6419
rtl_set_eee_plus(tp);
drivers/net/usb/r8152.c
6421
if (tp->version >= RTL_VER_12 && tp->version <= RTL_VER_17)
drivers/net/usb/r8152.c
6422
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_RX_AGGR_NUM, RX_AGGR_NUM_MASK);
drivers/net/usb/r8152.c
6424
r8153_set_rx_early_timeout(tp);
drivers/net/usb/r8152.c
6425
r8153_set_rx_early_size(tp);
drivers/net/usb/r8152.c
6427
speed = rtl8152_get_speed(tp);
drivers/net/usb/r8152.c
6428
rtl_set_ifg(tp, speed);
drivers/net/usb/r8152.c
6430
if (tp->version >= RTL_VER_16)
drivers/net/usb/r8152.c
6431
return rtl_enable(tp);
drivers/net/usb/r8152.c
6434
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4,
drivers/net/usb/r8152.c
6437
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4,
drivers/net/usb/r8152.c
6440
if (tp->version < RTL_VER_12) {
drivers/net/usb/r8152.c
6442
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EEE_TXTWSYS, 0x11);
drivers/net/usb/r8152.c
6444
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EEE_TXTWSYS, 0x3d);
drivers/net/usb/r8152.c
6447
if (tp->udev->speed == USB_SPEED_HIGH) {
drivers/net/usb/r8152.c
6450
ocp_word_w0w1(tp, MCU_TYPE_USB, USB_L1_CTRL, 0xf, 0xf);
drivers/net/usb/r8152.c
6452
ocp_word_w0w1(tp, MCU_TYPE_USB, USB_L1_CTRL, 0xf, 0x1);
drivers/net/usb/r8152.c
6455
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
6457
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
6459
return rtl_enable(tp);
drivers/net/usb/r8152.c
6462
static void rtl8156_disable(struct r8152 *tp)
drivers/net/usb/r8152.c
6464
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, 0);
drivers/net/usb/r8152.c
6465
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, 0);
drivers/net/usb/r8152.c
6467
rtl8153_disable(tp);
drivers/net/usb/r8152.c
6470
static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex,
drivers/net/usb/r8152.c
6485
tp->ups_info.speed_duplex = FORCE_10M_FULL;
drivers/net/usb/r8152.c
6487
tp->ups_info.speed_duplex = FORCE_10M_HALF;
drivers/net/usb/r8152.c
6494
tp->ups_info.speed_duplex = FORCE_100M_FULL;
drivers/net/usb/r8152.c
6496
tp->ups_info.speed_duplex = FORCE_100M_HALF;
drivers/net/usb/r8152.c
6500
if (tp->mii.supports_gmii) {
drivers/net/usb/r8152.c
6502
tp->ups_info.speed_duplex = NWAY_1000M_FULL;
drivers/net/usb/r8152.c
6512
tp->mii.full_duplex = 1;
drivers/net/usb/r8152.c
6514
tp->mii.full_duplex = 0;
drivers/net/usb/r8152.c
6516
tp->mii.force_media = 1;
drivers/net/usb/r8152.c
6524
if (tp->mii.supports_gmii) {
drivers/net/usb/r8152.c
6527
if (tp->support_2500full)
drivers/net/usb/r8152.c
6530
if (tp->support_5000full)
drivers/net/usb/r8152.c
6533
if (tp->support_10000full)
drivers/net/usb/r8152.c
6541
orig = r8152_mdio_read(tp, MII_ADVERTISE);
drivers/net/usb/r8152.c
6546
tp->ups_info.speed_duplex = NWAY_10M_HALF;
drivers/net/usb/r8152.c
6550
tp->ups_info.speed_duplex = NWAY_10M_FULL;
drivers/net/usb/r8152.c
6555
tp->ups_info.speed_duplex = NWAY_100M_HALF;
drivers/net/usb/r8152.c
6559
tp->ups_info.speed_duplex = NWAY_100M_FULL;
drivers/net/usb/r8152.c
6563
r8152_mdio_write(tp, MII_ADVERTISE, new1);
drivers/net/usb/r8152.c
6564
tp->mii.advertising = new1;
drivers/net/usb/r8152.c
6567
if (tp->mii.supports_gmii) {
drivers/net/usb/r8152.c
6568
orig = r8152_mdio_read(tp, MII_CTRL1000);
drivers/net/usb/r8152.c
6574
tp->ups_info.speed_duplex = NWAY_1000M_FULL;
drivers/net/usb/r8152.c
6578
r8152_mdio_write(tp, MII_CTRL1000, new1);
drivers/net/usb/r8152.c
6581
if (tp->support_2500full || tp->support_5000full || tp->support_10000full) {
drivers/net/usb/r8152.c
6582
orig = ocp_reg_read(tp, OCP_10GBT_CTRL);
drivers/net/usb/r8152.c
6588
tp->ups_info.speed_duplex = NWAY_2500M_FULL;
drivers/net/usb/r8152.c
6593
tp->ups_info.speed_duplex = NWAY_5000M_FULL;
drivers/net/usb/r8152.c
6598
tp->ups_info.speed_duplex = NWAY_10000M_FULL;
drivers/net/usb/r8152.c
6602
ocp_reg_write(tp, OCP_10GBT_CTRL, new1);
drivers/net/usb/r8152.c
6607
tp->mii.force_media = 0;
drivers/net/usb/r8152.c
6610
if (test_and_clear_bit(PHY_RESET, &tp->flags))
drivers/net/usb/r8152.c
6613
r8152_mdio_write(tp, MII_BMCR, bmcr);
drivers/net/usb/r8152.c
6620
if ((r8152_mdio_read(tp, MII_BMCR) & BMCR_RESET) == 0)
drivers/net/usb/r8152.c
6629
static void rtl8152_up(struct r8152 *tp)
drivers/net/usb/r8152.c
6631
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6634
r8152_aldps_en(tp, false);
drivers/net/usb/r8152.c
6635
r8152b_exit_oob(tp);
drivers/net/usb/r8152.c
6636
r8152_aldps_en(tp, true);
drivers/net/usb/r8152.c
6639
static void rtl8152_down(struct r8152 *tp)
drivers/net/usb/r8152.c
6641
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) {
drivers/net/usb/r8152.c
6642
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
6646
r8152_power_cut_en(tp, false);
drivers/net/usb/r8152.c
6647
r8152_aldps_en(tp, false);
drivers/net/usb/r8152.c
6648
r8152b_enter_oob(tp);
drivers/net/usb/r8152.c
6649
r8152_aldps_en(tp, true);
drivers/net/usb/r8152.c
6652
static void rtl8153_up(struct r8152 *tp)
drivers/net/usb/r8152.c
6654
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6657
r8153_u1u2en(tp, false);
drivers/net/usb/r8152.c
6658
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6659
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6660
r8153_first_init(tp);
drivers/net/usb/r8152.c
6662
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_CONFIG6, LANWAKE_CLR_EN);
drivers/net/usb/r8152.c
6664
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_LWAKE_CTRL_REG, LANWAKE_PIN);
drivers/net/usb/r8152.c
6666
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_SSPHYLINK1, DELAY_PHY_PWR_CHG);
drivers/net/usb/r8152.c
6668
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6670
switch (tp->version) {
drivers/net/usb/r8152.c
6677
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
6681
r8153_u1u2en(tp, true);
drivers/net/usb/r8152.c
6684
static void rtl8153_down(struct r8152 *tp)
drivers/net/usb/r8152.c
6686
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) {
drivers/net/usb/r8152.c
6687
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
6691
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_CONFIG6, LANWAKE_CLR_EN);
drivers/net/usb/r8152.c
6693
r8153_u1u2en(tp, false);
drivers/net/usb/r8152.c
6694
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6695
r8153_power_cut_en(tp, false);
drivers/net/usb/r8152.c
6696
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6697
r8153_enter_oob(tp);
drivers/net/usb/r8152.c
6698
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6701
static void rtl8153b_up(struct r8152 *tp)
drivers/net/usb/r8152.c
6703
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6706
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
6707
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6708
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6710
r8153_first_init(tp);
drivers/net/usb/r8152.c
6711
ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_B);
drivers/net/usb/r8152.c
6713
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3,
drivers/net/usb/r8152.c
6716
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6718
if (tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
6719
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
6722
static void rtl8153b_down(struct r8152 *tp)
drivers/net/usb/r8152.c
6724
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) {
drivers/net/usb/r8152.c
6725
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
6729
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3,
drivers/net/usb/r8152.c
6732
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
6733
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6734
r8153b_power_cut_en(tp, false);
drivers/net/usb/r8152.c
6735
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6736
r8153_enter_oob(tp);
drivers/net/usb/r8152.c
6737
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6740
static void rtl8153c_change_mtu(struct r8152 *tp)
drivers/net/usb/r8152.c
6742
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu));
drivers/net/usb/r8152.c
6743
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_MTPS, 10 * 1024 / 64);
drivers/net/usb/r8152.c
6745
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, 512 / 64);
drivers/net/usb/r8152.c
6750
if (tp->netdev->mtu < 8000)
drivers/net/usb/r8152.c
6751
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TXFIFO_FULL, 2048 / 8);
drivers/net/usb/r8152.c
6753
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TXFIFO_FULL, 900 / 8);
drivers/net/usb/r8152.c
6756
static void rtl8153c_up(struct r8152 *tp)
drivers/net/usb/r8152.c
6758
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6761
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
6762
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6763
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6765
rxdy_gated_en(tp, true);
drivers/net/usb/r8152.c
6766
r8153_teredo_off(tp);
drivers/net/usb/r8152.c
6768
ocp_dword_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR, RCR_ACPT_ALL);
drivers/net/usb/r8152.c
6770
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
6771
rtl_reset_bmu(tp);
drivers/net/usb/r8152.c
6773
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
6775
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, MCU_BORW_EN);
drivers/net/usb/r8152.c
6777
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
6779
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, RE_INIT_LL);
drivers/net/usb/r8152.c
6781
wait_oob_link_list_ready(tp);
drivers/net/usb/r8152.c
6783
rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
drivers/net/usb/r8152.c
6785
rtl8153c_change_mtu(tp);
drivers/net/usb/r8152.c
6787
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
6790
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL0, 0x02);
drivers/net/usb/r8152.c
6791
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_RXFIFO_FULL, 0x08);
drivers/net/usb/r8152.c
6792
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1, RXFIFO_THR2_NORMAL);
drivers/net/usb/r8152.c
6793
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2, RXFIFO_THR3_NORMAL);
drivers/net/usb/r8152.c
6795
ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_B);
drivers/net/usb/r8152.c
6797
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
6799
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CONFIG34, BIT(8));
drivers/net/usb/r8152.c
6801
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML);
drivers/net/usb/r8152.c
6803
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3,
drivers/net/usb/r8152.c
6806
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6807
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
6810
static void rtl8156_change_mtu(struct r8152 *tp)
drivers/net/usb/r8152.c
6812
u32 rx_max_size = mtu_to_size(tp->netdev->mtu);
drivers/net/usb/r8152.c
6814
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, rx_max_size);
drivers/net/usb/r8152.c
6815
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_MTPS, MTPS_JUMBO);
drivers/net/usb/r8152.c
6816
r8156_fc_parameter(tp);
drivers/net/usb/r8152.c
6819
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, 512 / 64);
drivers/net/usb/r8152.c
6820
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TXFIFO_FULL,
drivers/net/usb/r8152.c
6821
ALIGN(rx_max_size + tp->tx_desc.size, 1024) / 16);
drivers/net/usb/r8152.c
6824
static void rtl8156_up(struct r8152 *tp)
drivers/net/usb/r8152.c
6826
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
6829
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
6830
if (tp->version < RTL_VER_16)
drivers/net/usb/r8152.c
6831
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6832
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6834
rxdy_gated_en(tp, true);
drivers/net/usb/r8152.c
6835
r8153_teredo_off(tp);
drivers/net/usb/r8152.c
6837
ocp_dword_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR, RCR_ACPT_ALL);
drivers/net/usb/r8152.c
6839
rtl8152_nic_reset(tp);
drivers/net/usb/r8152.c
6840
rtl_reset_bmu(tp);
drivers/net/usb/r8152.c
6842
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
6844
if (tp->version >= RTL_VER_16)
drivers/net/usb/r8152.c
6845
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR1, BIT(3));
drivers/net/usb/r8152.c
6847
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, MCU_BORW_EN);
drivers/net/usb/r8152.c
6849
rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
drivers/net/usb/r8152.c
6851
rtl8156_change_mtu(tp);
drivers/net/usb/r8152.c
6853
switch (tp->version) {
drivers/net/usb/r8152.c
6857
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_BMU_CONFIG, ACT_ODMA);
drivers/net/usb/r8152.c
6864
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_RXFIFO_FULL, RXFIFO_FULL_MASK,
drivers/net/usb/r8152.c
6867
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, PLA_MCU_SPDWN_EN);
drivers/net/usb/r8152.c
6869
if (tp->version < RTL_VER_16)
drivers/net/usb/r8152.c
6870
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_SPEED_OPTION,
drivers/net/usb/r8152.c
6873
ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, 0x00600400);
drivers/net/usb/r8152.c
6875
if (tp->saved_wolopts != __rtl_get_wol(tp)) {
drivers/net/usb/r8152.c
6876
netif_warn(tp, ifup, tp->netdev, "wol setting is changed\n");
drivers/net/usb/r8152.c
6877
__rtl_set_wol(tp, tp->saved_wolopts);
drivers/net/usb/r8152.c
6880
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6881
if (tp->version < RTL_VER_16)
drivers/net/usb/r8152.c
6882
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
6884
if (tp->version < RTL_VER_16 && tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
6885
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
6888
static void rtl8156_down(struct r8152 *tp)
drivers/net/usb/r8152.c
6890
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) {
drivers/net/usb/r8152.c
6891
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
6895
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3,
drivers/net/usb/r8152.c
6898
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
6899
if (tp->version < RTL_VER_16) {
drivers/net/usb/r8152.c
6900
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
6901
r8153b_power_cut_en(tp, false);
drivers/net/usb/r8152.c
6903
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
6905
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
6908
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_FULL, 64 / 16);
drivers/net/usb/r8152.c
6909
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, 1024 / 16);
drivers/net/usb/r8152.c
6910
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, 4096 / 16);
drivers/net/usb/r8152.c
6912
rtl_disable(tp);
drivers/net/usb/r8152.c
6913
rtl_reset_bmu(tp);
drivers/net/usb/r8152.c
6915
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, 1522);
drivers/net/usb/r8152.c
6916
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_MTPS, MTPS_DEFAULT);
drivers/net/usb/r8152.c
6922
ocp_write_word(tp, MCU_TYPE_PLA, PLA_TEREDO_WAKE_BASE, 0x00ff);
drivers/net/usb/r8152.c
6924
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, NOW_IS_OOB);
drivers/net/usb/r8152.c
6926
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_SFF_STS_7, MCU_BORW_EN);
drivers/net/usb/r8152.c
6928
rtl_rx_vlan_en(tp, true);
drivers/net/usb/r8152.c
6929
rxdy_gated_en(tp, false);
drivers/net/usb/r8152.c
6931
ocp_dword_set_bits(tp, MCU_TYPE_PLA, PLA_RCR,
drivers/net/usb/r8152.c
6934
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
6937
static bool rtl8152_in_nway(struct r8152 *tp)
drivers/net/usb/r8152.c
6941
ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, 0x2000);
drivers/net/usb/r8152.c
6942
tp->ocp_base = 0x2000;
drivers/net/usb/r8152.c
6943
ocp_write_byte(tp, MCU_TYPE_PLA, 0xb014, 0x4c); /* phy state */
drivers/net/usb/r8152.c
6944
nway_state = ocp_read_word(tp, MCU_TYPE_PLA, 0xb01a);
drivers/net/usb/r8152.c
6953
static bool rtl8153_in_nway(struct r8152 *tp)
drivers/net/usb/r8152.c
6955
u16 phy_state = ocp_reg_read(tp, OCP_PHY_STATE) & 0xff;
drivers/net/usb/r8152.c
6963
static void r8156_mdio_force_mode(struct r8152 *tp)
drivers/net/usb/r8152.c
6971
data = ocp_reg_read(tp, 0xa5b4);
drivers/net/usb/r8152.c
6974
ocp_reg_write(tp, 0xa5b4, data);
drivers/net/usb/r8152.c
6978
static void set_carrier(struct r8152 *tp)
drivers/net/usb/r8152.c
6980
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
6981
struct napi_struct *napi = &tp->napi;
drivers/net/usb/r8152.c
6984
speed = rtl8152_get_speed(tp);
drivers/net/usb/r8152.c
6988
tp->rtl_ops.enable(tp);
drivers/net/usb/r8152.c
6992
rtl_start_rx(tp);
drivers/net/usb/r8152.c
6993
clear_bit(RTL8152_SET_RX_MODE, &tp->flags);
drivers/net/usb/r8152.c
6997
netif_info(tp, link, netdev, "carrier on\n");
drivers/net/usb/r8152.c
6999
skb_queue_len(&tp->tx_queue) < tp->tx_qlen) {
drivers/net/usb/r8152.c
7005
tasklet_disable(&tp->tx_tl);
drivers/net/usb/r8152.c
7007
tp->rtl_ops.disable(tp);
drivers/net/usb/r8152.c
7009
tasklet_enable(&tp->tx_tl);
drivers/net/usb/r8152.c
7010
netif_info(tp, link, netdev, "carrier off\n");
drivers/net/usb/r8152.c
7017
struct r8152 *tp = container_of(work, struct r8152, schedule.work);
drivers/net/usb/r8152.c
7022
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags) || !netif_running(tp->netdev))
drivers/net/usb/r8152.c
7025
if (usb_autopm_get_interface(tp->intf) < 0)
drivers/net/usb/r8152.c
7028
if (!test_bit(WORK_ENABLE, &tp->flags))
drivers/net/usb/r8152.c
7031
if (!mutex_trylock(&tp->control)) {
drivers/net/usb/r8152.c
7032
schedule_delayed_work(&tp->schedule, 0);
drivers/net/usb/r8152.c
7036
if (test_and_clear_bit(RTL8152_LINK_CHG, &tp->flags))
drivers/net/usb/r8152.c
7037
set_carrier(tp);
drivers/net/usb/r8152.c
7039
if (test_and_clear_bit(RTL8152_SET_RX_MODE, &tp->flags))
drivers/net/usb/r8152.c
7040
_rtl8152_set_rx_mode(tp->netdev);
drivers/net/usb/r8152.c
7043
if (test_and_clear_bit(SCHEDULE_TASKLET, &tp->flags) &&
drivers/net/usb/r8152.c
7044
netif_carrier_ok(tp->netdev))
drivers/net/usb/r8152.c
7045
tasklet_schedule(&tp->tx_tl);
drivers/net/usb/r8152.c
7047
if (test_and_clear_bit(RX_EPROTO, &tp->flags) &&
drivers/net/usb/r8152.c
7048
!list_empty(&tp->rx_done))
drivers/net/usb/r8152.c
7049
napi_schedule(&tp->napi);
drivers/net/usb/r8152.c
7051
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
7054
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
7059
struct r8152 *tp = container_of(work, struct r8152, hw_phy_work.work);
drivers/net/usb/r8152.c
7061
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7064
if (usb_autopm_get_interface(tp->intf) < 0)
drivers/net/usb/r8152.c
7067
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
7069
if (rtl8152_request_firmware(tp) == -ENODEV && tp->rtl_fw.retry) {
drivers/net/usb/r8152.c
7070
tp->rtl_fw.retry = false;
drivers/net/usb/r8152.c
7071
tp->rtl_fw.fw = NULL;
drivers/net/usb/r8152.c
7075
queue_delayed_work(system_long_wq, &tp->hw_phy_work, HZ * 10);
drivers/net/usb/r8152.c
7079
tp->rtl_ops.hw_phy_cfg(tp);
drivers/net/usb/r8152.c
7081
rtl8152_set_speed(tp, tp->autoneg, tp->speed, tp->duplex,
drivers/net/usb/r8152.c
7082
tp->advertising);
drivers/net/usb/r8152.c
7085
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
7087
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
7094
struct r8152 *tp = container_of(nb, struct r8152, pm_notifier);
drivers/net/usb/r8152.c
7099
usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
7104
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
7119
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
7122
if (work_busy(&tp->hw_phy_work.work) & WORK_BUSY_PENDING) {
drivers/net/usb/r8152.c
7123
cancel_delayed_work_sync(&tp->hw_phy_work);
drivers/net/usb/r8152.c
7124
rtl_hw_phy_work_func_t(&tp->hw_phy_work.work);
drivers/net/usb/r8152.c
7127
res = alloc_all_mem(tp);
drivers/net/usb/r8152.c
7131
res = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
7135
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
7137
tp->rtl_ops.up(tp);
drivers/net/usb/r8152.c
7141
set_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
7143
res = usb_submit_urb(tp->intr_urb, GFP_KERNEL);
drivers/net/usb/r8152.c
7146
netif_device_detach(tp->netdev);
drivers/net/usb/r8152.c
7147
netif_warn(tp, ifup, netdev, "intr_urb submit failed: %d\n",
drivers/net/usb/r8152.c
7151
napi_enable(&tp->napi);
drivers/net/usb/r8152.c
7152
tasklet_enable(&tp->tx_tl);
drivers/net/usb/r8152.c
7154
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
7156
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
7158
tp->pm_notifier.notifier_call = rtl_notifier;
drivers/net/usb/r8152.c
7159
register_pm_notifier(&tp->pm_notifier);
drivers/net/usb/r8152.c
7164
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
7165
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
7167
free_all_mem(tp);
drivers/net/usb/r8152.c
7174
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
7178
unregister_pm_notifier(&tp->pm_notifier);
drivers/net/usb/r8152.c
7180
tasklet_disable(&tp->tx_tl);
drivers/net/usb/r8152.c
7181
clear_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
7182
usb_kill_urb(tp->intr_urb);
drivers/net/usb/r8152.c
7183
cancel_delayed_work_sync(&tp->schedule);
drivers/net/usb/r8152.c
7184
napi_disable(&tp->napi);
drivers/net/usb/r8152.c
7187
res = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
7188
if (res < 0 || test_bit(RTL8152_INACCESSIBLE, &tp->flags)) {
drivers/net/usb/r8152.c
7189
rtl_drop_queued_tx(tp);
drivers/net/usb/r8152.c
7190
rtl_stop_rx(tp);
drivers/net/usb/r8152.c
7192
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
7194
tp->rtl_ops.down(tp);
drivers/net/usb/r8152.c
7196
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
7200
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
7202
free_all_mem(tp);
drivers/net/usb/r8152.c
7207
static void rtl_tally_reset(struct r8152 *tp)
drivers/net/usb/r8152.c
7209
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_RSTTALLY, TALLY_RESET);
drivers/net/usb/r8152.c
7212
static void r8152b_init(struct r8152 *tp)
drivers/net/usb/r8152.c
7216
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7219
r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
7221
r8152_aldps_en(tp, false);
drivers/net/usb/r8152.c
7223
if (tp->version == RTL_VER_01)
drivers/net/usb/r8152.c
7224
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_LED_FEATURE,
drivers/net/usb/r8152.c
7227
r8152_power_cut_en(tp, false);
drivers/net/usb/r8152.c
7229
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR,
drivers/net/usb/r8152.c
7232
ocp_dword_w0w1(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL, MCU_CLK_RATIO_MASK,
drivers/net/usb/r8152.c
7237
ocp_write_word(tp, MCU_TYPE_PLA, PLA_GPHY_INTR_IMR, ocp_data);
drivers/net/usb/r8152.c
7239
rtl_tally_reset(tp);
drivers/net/usb/r8152.c
7242
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL,
drivers/net/usb/r8152.c
7246
static void r8153_init(struct r8152 *tp)
drivers/net/usb/r8152.c
7251
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7254
r8153_u1u2en(tp, false);
drivers/net/usb/r8152.c
7257
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
drivers/net/usb/r8152.c
7262
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7266
r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
7268
if (tp->version == RTL_VER_03 || tp->version == RTL_VER_04 ||
drivers/net/usb/r8152.c
7269
tp->version == RTL_VER_05)
drivers/net/usb/r8152.c
7270
ocp_reg_write(tp, OCP_ADC_CFG, CKADSEL_L | ADC_EN | EN_EMI_L);
drivers/net/usb/r8152.c
7272
r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
7274
r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
7276
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
7278
if (tp->version == RTL_VER_04) {
drivers/net/usb/r8152.c
7279
ocp_word_w0w1(tp, MCU_TYPE_USB, USB_SSPHYLINK2,
drivers/net/usb/r8152.c
7282
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_USB2PHY,
drivers/net/usb/r8152.c
7284
} else if (tp->version == RTL_VER_05) {
drivers/net/usb/r8152.c
7285
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_DMY_REG0, ECM_ALDPS);
drivers/net/usb/r8152.c
7287
if (ocp_read_word(tp, MCU_TYPE_USB, USB_BURST_SIZE) == 0)
drivers/net/usb/r8152.c
7288
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_CSR_DUMMY1,
drivers/net/usb/r8152.c
7291
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_CSR_DUMMY1,
drivers/net/usb/r8152.c
7293
} else if (tp->version == RTL_VER_06) {
drivers/net/usb/r8152.c
7294
if (ocp_read_word(tp, MCU_TYPE_USB, USB_BURST_SIZE) == 0)
drivers/net/usb/r8152.c
7295
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_CSR_DUMMY1,
drivers/net/usb/r8152.c
7298
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_CSR_DUMMY1,
drivers/net/usb/r8152.c
7301
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
7303
if (rtl8152_get_speed(tp) & LINK_STATUS)
drivers/net/usb/r8152.c
7304
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS,
drivers/net/usb/r8152.c
7307
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS,
drivers/net/usb/r8152.c
7311
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_CSR_DUMMY2, EP4_FULL_FC);
drivers/net/usb/r8152.c
7313
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_WDT11_CTRL, TIMER11_EN);
drivers/net/usb/r8152.c
7315
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_LED_FEATURE, LED_MODE_MASK);
drivers/net/usb/r8152.c
7318
if (tp->version == RTL_VER_04 && tp->udev->speed < USB_SPEED_SUPER)
drivers/net/usb/r8152.c
7322
ocp_write_byte(tp, MCU_TYPE_USB, USB_LPM_CTRL, ocp_data);
drivers/net/usb/r8152.c
7324
ocp_word_w0w1(tp, MCU_TYPE_USB, USB_AFE_CTRL2, SEN_VAL_MASK,
drivers/net/usb/r8152.c
7327
ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001);
drivers/net/usb/r8152.c
7329
r8153_power_cut_en(tp, false);
drivers/net/usb/r8152.c
7330
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
7331
r8153_mac_clk_speed_down(tp, false);
drivers/net/usb/r8152.c
7332
r8153_u1u2en(tp, true);
drivers/net/usb/r8152.c
7333
usb_enable_lpm(tp->udev);
drivers/net/usb/r8152.c
7335
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_CONFIG6, LANWAKE_CLR_EN);
drivers/net/usb/r8152.c
7337
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, PLA_LWAKE_CTRL_REG, LANWAKE_PIN);
drivers/net/usb/r8152.c
7340
if (tp->dell_tb_rx_agg_bug)
drivers/net/usb/r8152.c
7341
ocp_word_w0w1(tp, MCU_TYPE_USB, USB_USB_CTRL, RX_ZERO_EN,
drivers/net/usb/r8152.c
7344
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL,
drivers/net/usb/r8152.c
7347
rtl_tally_reset(tp);
drivers/net/usb/r8152.c
7349
switch (tp->udev->speed) {
drivers/net/usb/r8152.c
7352
tp->coalesce = COALESCE_SUPER;
drivers/net/usb/r8152.c
7355
tp->coalesce = COALESCE_HIGH;
drivers/net/usb/r8152.c
7358
tp->coalesce = COALESCE_SLOW;
drivers/net/usb/r8152.c
7363
static void r8153b_init(struct r8152 *tp)
drivers/net/usb/r8152.c
7367
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7370
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
7373
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
drivers/net/usb/r8152.c
7378
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7382
r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
7384
r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
7386
r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
7388
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
7391
ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);
drivers/net/usb/r8152.c
7393
r8153b_power_cut_en(tp, false);
drivers/net/usb/r8152.c
7394
r8153b_ups_en(tp, false);
drivers/net/usb/r8152.c
7395
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
7396
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
7398
if (rtl8152_get_speed(tp) & LINK_STATUS)
drivers/net/usb/r8152.c
7399
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS,
drivers/net/usb/r8152.c
7402
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, CUR_LINK_OK,
drivers/net/usb/r8152.c
7405
if (tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
7406
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
7408
usb_enable_lpm(tp->udev);
drivers/net/usb/r8152.c
7411
r8153_mac_clk_speed_down(tp, true);
drivers/net/usb/r8152.c
7413
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3,
drivers/net/usb/r8152.c
7416
if (tp->version == RTL_VER_09)
drivers/net/usb/r8152.c
7418
if (ocp_read_byte(tp, MCU_TYPE_PLA, 0xdc00) & BIT(5))
drivers/net/usb/r8152.c
7419
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR,
drivers/net/usb/r8152.c
7422
set_bit(GREEN_ETHERNET, &tp->flags);
drivers/net/usb/r8152.c
7425
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL,
drivers/net/usb/r8152.c
7428
rtl_tally_reset(tp);
drivers/net/usb/r8152.c
7430
tp->coalesce = 15000; /* 15 us */
drivers/net/usb/r8152.c
7433
static void r8153c_init(struct r8152 *tp)
drivers/net/usb/r8152.c
7437
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7440
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
7443
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG);
drivers/net/usb/r8152.c
7445
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_CONFIG5, BIT(3));
drivers/net/usb/r8152.c
7447
ocp_word_set_bits(tp, MCU_TYPE_USB, 0xcbf0, BIT(1));
drivers/net/usb/r8152.c
7450
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
drivers/net/usb/r8152.c
7455
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
7459
r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
7461
r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
7463
r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
7465
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
7468
ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);
drivers/net/usb/r8152.c
7470
r8153b_power_cut_en(tp, false);
drivers/net/usb/r8152.c
7471
r8153c_ups_en(tp, false);
drivers/net/usb/r8152.c
7472
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
7473
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
7475
if (rtl8152_get_speed(tp) & LINK_STATUS)
drivers/net/usb/r8152.c
7476
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS,
drivers/net/usb/r8152.c
7479
ocp_word_w0w1(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, CUR_LINK_OK,
drivers/net/usb/r8152.c
7482
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
7484
usb_enable_lpm(tp->udev);
drivers/net/usb/r8152.c
7487
r8153_mac_clk_speed_down(tp, true);
drivers/net/usb/r8152.c
7489
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_MISC_2, BIT(7));
drivers/net/usb/r8152.c
7491
set_bit(GREEN_ETHERNET, &tp->flags);
drivers/net/usb/r8152.c
7494
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL,
drivers/net/usb/r8152.c
7497
rtl_tally_reset(tp);
drivers/net/usb/r8152.c
7499
tp->coalesce = 15000; /* 15 us */
drivers/net/usb/r8152.c
7502
static void r8156_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
7506
ocp_word_test_and_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
7508
data = r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
7511
rtl8152_apply_firmware(tp, true);
drivers/net/usb/r8152.c
7513
ocp_reg_clr_bits(tp, 0xa468, BIT(3) | BIT(1));
drivers/net/usb/r8152.c
7518
rtl8152_apply_firmware(tp, false);
drivers/net/usb/r8152.c
7523
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
7526
rtl_eee_enable(tp, false);
drivers/net/usb/r8152.c
7528
data = r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
7531
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR, PFM_PWM_SWITCH);
drivers/net/usb/r8152.c
7533
switch (tp->version) {
drivers/net/usb/r8152.c
7535
ocp_reg_w0w1(tp, 0xad40, 0x3ff, BIT(7) | BIT(2));
drivers/net/usb/r8152.c
7537
ocp_reg_set_bits(tp, 0xad4e, BIT(4));
drivers/net/usb/r8152.c
7538
ocp_reg_w0w1(tp, 0xad16, 0x3ff, 0x6);
drivers/net/usb/r8152.c
7539
ocp_reg_w0w1(tp, 0xad32, 0x3f, 0x6);
drivers/net/usb/r8152.c
7540
ocp_reg_clr_bits(tp, 0xac08, BIT(12) | BIT(8));
drivers/net/usb/r8152.c
7541
ocp_reg_w0w1(tp, 0xac8a, BIT(15), BIT(12) | BIT(13) | BIT(14));
drivers/net/usb/r8152.c
7542
ocp_reg_set_bits(tp, 0xad18, BIT(10));
drivers/net/usb/r8152.c
7543
ocp_reg_set_bits(tp, 0xad1a, 0x3ff);
drivers/net/usb/r8152.c
7544
ocp_reg_set_bits(tp, 0xad1c, 0x3ff);
drivers/net/usb/r8152.c
7546
sram_write_w0w1(tp, 0x80ea, 0xff00, 0xc400);
drivers/net/usb/r8152.c
7547
sram_write_w0w1(tp, 0x80eb, 0x0700, 0x0300);
drivers/net/usb/r8152.c
7548
sram_write_w0w1(tp, 0x80f8, 0xff00, 0x1c00);
drivers/net/usb/r8152.c
7549
sram_write_w0w1(tp, 0x80f1, 0xff00, 0x3000);
drivers/net/usb/r8152.c
7551
sram_write_w0w1(tp, 0x80fe, 0xff00, 0xa500);
drivers/net/usb/r8152.c
7552
sram_write_w0w1(tp, 0x8102, 0xff00, 0x5000);
drivers/net/usb/r8152.c
7553
sram_write_w0w1(tp, 0x8015, 0xff00, 0x3300);
drivers/net/usb/r8152.c
7554
sram_write_w0w1(tp, 0x8100, 0xff00, 0x7000);
drivers/net/usb/r8152.c
7555
sram_write_w0w1(tp, 0x8014, 0xff00, 0xf000);
drivers/net/usb/r8152.c
7556
sram_write_w0w1(tp, 0x8016, 0xff00, 0x6500);
drivers/net/usb/r8152.c
7557
sram_write_w0w1(tp, 0x80dc, 0xff00, 0xed00);
drivers/net/usb/r8152.c
7558
sram_set_bits(tp, 0x80df, BIT(8));
drivers/net/usb/r8152.c
7559
sram_clr_bits(tp, 0x80e1, BIT(8));
drivers/net/usb/r8152.c
7561
ocp_reg_w0w1(tp, 0xbf06, 0x003f, 0x0038);
drivers/net/usb/r8152.c
7563
sram_write(tp, 0x819f, 0xddb6);
drivers/net/usb/r8152.c
7565
ocp_reg_write(tp, 0xbc34, 0x5555);
drivers/net/usb/r8152.c
7566
ocp_reg_w0w1(tp, 0xbf0a, 0x0e00, 0x0a00);
drivers/net/usb/r8152.c
7568
ocp_reg_clr_bits(tp, 0xbd2c, BIT(13));
drivers/net/usb/r8152.c
7571
ocp_reg_set_bits(tp, 0xad16, 0x3ff);
drivers/net/usb/r8152.c
7572
ocp_reg_w0w1(tp, 0xad32, 0x3f, 0x6);
drivers/net/usb/r8152.c
7573
ocp_reg_clr_bits(tp, 0xac08, BIT(12) | BIT(8));
drivers/net/usb/r8152.c
7574
ocp_reg_w0w1(tp, 0xacc0, 0x3, BIT(1));
drivers/net/usb/r8152.c
7575
ocp_reg_w0w1(tp, 0xad40, 0xe7, BIT(6) | BIT(2));
drivers/net/usb/r8152.c
7576
ocp_reg_clr_bits(tp, 0xac14, BIT(7));
drivers/net/usb/r8152.c
7577
ocp_reg_clr_bits(tp, 0xac80, BIT(8) | BIT(9));
drivers/net/usb/r8152.c
7578
ocp_reg_w0w1(tp, 0xac5e, 0x7, BIT(1));
drivers/net/usb/r8152.c
7579
ocp_reg_write(tp, 0xad4c, 0x00a8);
drivers/net/usb/r8152.c
7580
ocp_reg_write(tp, 0xac5c, 0x01ff);
drivers/net/usb/r8152.c
7581
ocp_reg_w0w1(tp, 0xac8a, 0xf0, BIT(4) | BIT(5));
drivers/net/usb/r8152.c
7582
sram2_write_w0w1(tp, 0x8157, 0xff00, 0x0500);
drivers/net/usb/r8152.c
7583
sram2_write_w0w1(tp, 0x8159, 0xff00, 0x0700);
drivers/net/usb/r8152.c
7586
sram2_write(tp, 0x80a2, 0x0153);
drivers/net/usb/r8152.c
7587
sram2_write(tp, 0x809c, 0x0153);
drivers/net/usb/r8152.c
7590
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EEE_TXTWSYS_2P5G, 0x0056);
drivers/net/usb/r8152.c
7592
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_USB_CFG,
drivers/net/usb/r8152.c
7595
sram_write(tp, 0x8257, 0x020f); /* XG PLL */
drivers/net/usb/r8152.c
7596
sram_write(tp, 0x80ea, 0x7843); /* GIGA Master */
drivers/net/usb/r8152.c
7598
if (rtl_phy_patch_request(tp, true, true))
drivers/net/usb/r8152.c
7602
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4,
drivers/net/usb/r8152.c
7605
ocp_reg_w0w1(tp, OCP_DOWN_SPEED, EN_EEE_100 | EN_EEE_1000,
drivers/net/usb/r8152.c
7607
tp->ups_info._10m_ckdiv = true;
drivers/net/usb/r8152.c
7608
tp->ups_info.eee_plloff_100 = false;
drivers/net/usb/r8152.c
7609
tp->ups_info.eee_plloff_giga = false;
drivers/net/usb/r8152.c
7611
ocp_reg_clr_bits(tp, OCP_POWER_CFG, EEE_CLKDIV_EN);
drivers/net/usb/r8152.c
7612
tp->ups_info.eee_ckdiv = false;
drivers/net/usb/r8152.c
7614
ocp_reg_write(tp, OCP_SYSCLK_CFG, 0);
drivers/net/usb/r8152.c
7615
ocp_reg_write(tp, OCP_SYSCLK_CFG, sysclk_div_expo(5));
drivers/net/usb/r8152.c
7616
tp->ups_info._250m_ckdiv = false;
drivers/net/usb/r8152.c
7618
rtl_phy_patch_request(tp, false, true);
drivers/net/usb/r8152.c
7621
ocp_reg_set_bits(tp, 0xd068, BIT(13));
drivers/net/usb/r8152.c
7624
sram_clr_bits(tp, 0x81a2, BIT(8));
drivers/net/usb/r8152.c
7625
ocp_reg_w0w1(tp, 0xb54c, 0xff00, 0xdb00);
drivers/net/usb/r8152.c
7628
ocp_reg_clr_bits(tp, 0xa454, BIT(0));
drivers/net/usb/r8152.c
7631
ocp_reg_set_bits(tp, OCP_10GBT_CTRL, RTL_ADV2_5G_F_R);
drivers/net/usb/r8152.c
7632
ocp_reg_clr_bits(tp, 0xad4e, BIT(4));
drivers/net/usb/r8152.c
7633
ocp_reg_clr_bits(tp, 0xa86a, BIT(0));
drivers/net/usb/r8152.c
7636
if ((ocp_read_word(tp, MCU_TYPE_USB, USB_UPS_CFG) & MID_REVERSE) &&
drivers/net/usb/r8152.c
7637
(ocp_reg_read(tp, 0xd068) & BIT(1))) {
drivers/net/usb/r8152.c
7640
data = ocp_reg_read(tp, 0xd068);
drivers/net/usb/r8152.c
7643
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7644
swap_a = ocp_reg_read(tp, 0xd06a);
drivers/net/usb/r8152.c
7647
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7648
swap_b = ocp_reg_read(tp, 0xd06a);
drivers/net/usb/r8152.c
7650
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7651
ocp_reg_write(tp, 0xd06a,
drivers/net/usb/r8152.c
7654
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7655
ocp_reg_write(tp, 0xd06a,
drivers/net/usb/r8152.c
7659
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7660
swap_a = ocp_reg_read(tp, 0xd06a);
drivers/net/usb/r8152.c
7663
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7664
swap_b = ocp_reg_read(tp, 0xd06a);
drivers/net/usb/r8152.c
7667
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7668
ocp_reg_write(tp, 0xd06a,
drivers/net/usb/r8152.c
7672
ocp_reg_write(tp, 0xd068, data);
drivers/net/usb/r8152.c
7673
ocp_reg_write(tp, 0xd06a,
drivers/net/usb/r8152.c
7675
swap_a = ocp_reg_read(tp, 0xbd5a);
drivers/net/usb/r8152.c
7676
swap_b = ocp_reg_read(tp, 0xbd5c);
drivers/net/usb/r8152.c
7677
ocp_reg_write(tp, 0xbd5a, (swap_a & ~0x1f1f) |
drivers/net/usb/r8152.c
7680
ocp_reg_write(tp, 0xbd5c, (swap_b & ~0x1f1f) |
drivers/net/usb/r8152.c
7683
swap_a = ocp_reg_read(tp, 0xbc18);
drivers/net/usb/r8152.c
7684
swap_b = ocp_reg_read(tp, 0xbc1a);
drivers/net/usb/r8152.c
7685
ocp_reg_write(tp, 0xbc18, (swap_a & ~0x1f1f) |
drivers/net/usb/r8152.c
7688
ocp_reg_write(tp, 0xbc1a, (swap_b & ~0x1f1f) |
drivers/net/usb/r8152.c
7694
ocp_reg_set_bits(tp, OCP_INTR_EN, INTR_SPEED_FORCE);
drivers/net/usb/r8152.c
7700
rtl_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
drivers/net/usb/r8152.c
7702
ocp_reg_clr_bits(tp, 0xa428, BIT(9));
drivers/net/usb/r8152.c
7703
ocp_reg_clr_bits(tp, 0xa5ea, BIT(0));
drivers/net/usb/r8152.c
7704
tp->ups_info.lite_mode = 0;
drivers/net/usb/r8152.c
7706
if (tp->eee_en)
drivers/net/usb/r8152.c
7707
rtl_eee_enable(tp, true);
drivers/net/usb/r8152.c
7709
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
7710
r8152b_enable_fc(tp);
drivers/net/usb/r8152.c
7711
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
7713
set_bit(PHY_RESET, &tp->flags);
drivers/net/usb/r8152.c
7716
static void r8156b_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
7720
switch (tp->version) {
drivers/net/usb/r8152.c
7722
ocp_reg_write(tp, 0xbf86, 0x9000);
drivers/net/usb/r8152.c
7723
ocp_reg_set_bits(tp, 0xc402, BIT(10));
drivers/net/usb/r8152.c
7724
ocp_reg_clr_bits(tp, 0xc402, BIT(10));
drivers/net/usb/r8152.c
7725
ocp_reg_write(tp, 0xbd86, 0x1010);
drivers/net/usb/r8152.c
7726
ocp_reg_write(tp, 0xbd88, 0x1010);
drivers/net/usb/r8152.c
7727
ocp_reg_w0w1(tp, 0xbd4e, BIT(10) | BIT(11), BIT(11));
drivers/net/usb/r8152.c
7728
ocp_reg_w0w1(tp, 0xbf46, 0xf00, 0x700);
drivers/net/usb/r8152.c
7732
r8156b_wait_loading_flash(tp);
drivers/net/usb/r8152.c
7738
ocp_word_test_and_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
7740
data = r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
7743
rtl8152_apply_firmware(tp, true);
drivers/net/usb/r8152.c
7745
ocp_reg_clr_bits(tp, 0xa466, BIT(0));
drivers/net/usb/r8152.c
7746
ocp_reg_clr_bits(tp, 0xa468, BIT(3) | BIT(1));
drivers/net/usb/r8152.c
7751
rtl8152_apply_firmware(tp, false);
drivers/net/usb/r8152.c
7755
r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
7758
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
7761
rtl_eee_enable(tp, false);
drivers/net/usb/r8152.c
7763
data = r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
7766
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR, PFM_PWM_SWITCH);
drivers/net/usb/r8152.c
7768
switch (tp->version) {
drivers/net/usb/r8152.c
7770
ocp_reg_set_bits(tp, 0xbc08, BIT(3) | BIT(2));
drivers/net/usb/r8152.c
7772
sram_write_w0w1(tp, 0x8fff, 0xff00, 0x0400);
drivers/net/usb/r8152.c
7774
ocp_reg_set_bits(tp, 0xacda, 0xff00);
drivers/net/usb/r8152.c
7775
ocp_reg_set_bits(tp, 0xacde, 0xf000);
drivers/net/usb/r8152.c
7776
ocp_reg_write(tp, 0xac8c, 0x0ffc);
drivers/net/usb/r8152.c
7777
ocp_reg_write(tp, 0xac46, 0xb7b4);
drivers/net/usb/r8152.c
7778
ocp_reg_write(tp, 0xac50, 0x0fbc);
drivers/net/usb/r8152.c
7779
ocp_reg_write(tp, 0xac3c, 0x9240);
drivers/net/usb/r8152.c
7780
ocp_reg_write(tp, 0xac4e, 0x0db4);
drivers/net/usb/r8152.c
7781
ocp_reg_write(tp, 0xacc6, 0x0707);
drivers/net/usb/r8152.c
7782
ocp_reg_write(tp, 0xacc8, 0xa0d3);
drivers/net/usb/r8152.c
7783
ocp_reg_write(tp, 0xad08, 0x0007);
drivers/net/usb/r8152.c
7785
sram2_write(tp, 0x8560, 0x19cc);
drivers/net/usb/r8152.c
7786
sram2_write(tp, 0x8562, 0x19cc);
drivers/net/usb/r8152.c
7787
sram2_write(tp, 0x8564, 0x19cc);
drivers/net/usb/r8152.c
7788
sram2_write(tp, 0x8566, 0x147d);
drivers/net/usb/r8152.c
7789
sram2_write(tp, 0x8568, 0x147d);
drivers/net/usb/r8152.c
7790
sram2_write(tp, 0x856a, 0x147d);
drivers/net/usb/r8152.c
7791
sram2_write(tp, 0x8ffe, 0x0907);
drivers/net/usb/r8152.c
7792
sram2_write(tp, 0x80d6, 0x2801);
drivers/net/usb/r8152.c
7793
sram2_write(tp, 0x80f2, 0x2801);
drivers/net/usb/r8152.c
7794
sram2_write(tp, 0x80f4, 0x6077);
drivers/net/usb/r8152.c
7795
ocp_reg_write(tp, 0xb506, 0x01e7);
drivers/net/usb/r8152.c
7797
sram2_write(tp, 0x8013, 0x0700);
drivers/net/usb/r8152.c
7798
sram2_write(tp, 0x8fb9, 0x2801);
drivers/net/usb/r8152.c
7799
sram2_write(tp, 0x8fba, 0x0100);
drivers/net/usb/r8152.c
7800
sram2_write(tp, 0x8fbc, 0x1900);
drivers/net/usb/r8152.c
7801
sram2_write(tp, 0x8fbe, 0xe100);
drivers/net/usb/r8152.c
7802
sram2_write(tp, 0x8fc0, 0x0800);
drivers/net/usb/r8152.c
7803
sram2_write(tp, 0x8fc2, 0xe500);
drivers/net/usb/r8152.c
7804
sram2_write(tp, 0x8fc4, 0x0f00);
drivers/net/usb/r8152.c
7805
sram2_write(tp, 0x8fc6, 0xf100);
drivers/net/usb/r8152.c
7806
sram2_write(tp, 0x8fc8, 0x0400);
drivers/net/usb/r8152.c
7807
sram2_write(tp, 0x8fca, 0xf300);
drivers/net/usb/r8152.c
7808
sram2_write(tp, 0x8fcc, 0xfd00);
drivers/net/usb/r8152.c
7809
sram2_write(tp, 0x8fce, 0xff00);
drivers/net/usb/r8152.c
7810
sram2_write(tp, 0x8fd0, 0xfb00);
drivers/net/usb/r8152.c
7811
sram2_write(tp, 0x8fd2, 0x0100);
drivers/net/usb/r8152.c
7812
sram2_write(tp, 0x8fd4, 0xf400);
drivers/net/usb/r8152.c
7813
sram2_write(tp, 0x8fd6, 0xff00);
drivers/net/usb/r8152.c
7814
sram2_write(tp, 0x8fd8, 0xf600);
drivers/net/usb/r8152.c
7816
ocp_byte_set_bits(tp, MCU_TYPE_PLA, PLA_USB_CFG,
drivers/net/usb/r8152.c
7819
sram2_write(tp, 0x813d, 0x390e);
drivers/net/usb/r8152.c
7820
sram2_write(tp, 0x814f, 0x790e);
drivers/net/usb/r8152.c
7821
sram2_write(tp, 0x80b0, 0x0f31);
drivers/net/usb/r8152.c
7822
ocp_reg_set_bits(tp, 0xbf4c, BIT(1));
drivers/net/usb/r8152.c
7823
ocp_reg_set_bits(tp, 0xbcca, BIT(9) | BIT(8));
drivers/net/usb/r8152.c
7824
sram2_write(tp, 0x8141, 0x320e);
drivers/net/usb/r8152.c
7825
sram2_write(tp, 0x8153, 0x720e);
drivers/net/usb/r8152.c
7826
sram2_write(tp, 0x8529, 0x050e);
drivers/net/usb/r8152.c
7827
ocp_reg_clr_bits(tp, OCP_EEE_CFG, CTAP_SHORT_EN);
drivers/net/usb/r8152.c
7829
sram_write(tp, 0x816c, 0xc4a0);
drivers/net/usb/r8152.c
7830
sram_write(tp, 0x8170, 0xc4a0);
drivers/net/usb/r8152.c
7831
sram_write(tp, 0x8174, 0x04a0);
drivers/net/usb/r8152.c
7832
sram_write(tp, 0x8178, 0x04a0);
drivers/net/usb/r8152.c
7833
sram_write(tp, 0x817c, 0x0719);
drivers/net/usb/r8152.c
7834
sram_write(tp, 0x8ff4, 0x0400);
drivers/net/usb/r8152.c
7835
sram_write(tp, 0x8ff1, 0x0404);
drivers/net/usb/r8152.c
7837
ocp_reg_write(tp, 0xbf4a, 0x001b);
drivers/net/usb/r8152.c
7838
sram2_write(tp, 0x8033, 0x7c13);
drivers/net/usb/r8152.c
7839
sram2_write(tp, 0x8037, 0x7c13);
drivers/net/usb/r8152.c
7840
sram2_write(tp, 0x803b, 0xfc32);
drivers/net/usb/r8152.c
7841
sram2_write(tp, 0x803f, 0x7c13);
drivers/net/usb/r8152.c
7842
sram2_write(tp, 0x8043, 0x7c13);
drivers/net/usb/r8152.c
7843
sram2_write(tp, 0x8047, 0x7c13);
drivers/net/usb/r8152.c
7845
sram2_write(tp, 0x8145, 0x370e);
drivers/net/usb/r8152.c
7846
sram2_write(tp, 0x8157, 0x770e);
drivers/net/usb/r8152.c
7847
sram2_write(tp, 0x8169, 0x0d0a);
drivers/net/usb/r8152.c
7848
sram2_write(tp, 0x817b, 0x1d0a);
drivers/net/usb/r8152.c
7850
sram_write_w0w1(tp, 0x8217, 0xff00, 0x5000);
drivers/net/usb/r8152.c
7851
sram_write_w0w1(tp, 0x821a, 0xff00, 0x5000);
drivers/net/usb/r8152.c
7852
sram_write(tp, 0x80da, 0x0403);
drivers/net/usb/r8152.c
7853
sram_write_w0w1(tp, 0x80dc, 0xff00, 0x1000);
drivers/net/usb/r8152.c
7854
sram_write(tp, 0x80b3, 0x0384);
drivers/net/usb/r8152.c
7855
sram_write(tp, 0x80b7, 0x2007);
drivers/net/usb/r8152.c
7856
sram_write_w0w1(tp, 0x80ba, 0xff00, 0x6c00);
drivers/net/usb/r8152.c
7857
sram_write(tp, 0x80b5, 0xf009);
drivers/net/usb/r8152.c
7858
sram_write_w0w1(tp, 0x80bd, 0xff00, 0x9f00);
drivers/net/usb/r8152.c
7859
sram_write(tp, 0x80c7, 0xf083);
drivers/net/usb/r8152.c
7860
sram_write(tp, 0x80dd, 0x03f0);
drivers/net/usb/r8152.c
7861
sram_write_w0w1(tp, 0x80df, 0xff00, 0x1000);
drivers/net/usb/r8152.c
7862
sram_write(tp, 0x80cb, 0x2007);
drivers/net/usb/r8152.c
7863
sram_write_w0w1(tp, 0x80ce, 0xff00, 0x6c00);
drivers/net/usb/r8152.c
7864
sram_write(tp, 0x80c9, 0x8009);
drivers/net/usb/r8152.c
7865
sram_write_w0w1(tp, 0x80d1, 0xff00, 0x8000);
drivers/net/usb/r8152.c
7866
sram_write(tp, 0x80a3, 0x200a);
drivers/net/usb/r8152.c
7867
sram_write(tp, 0x80a5, 0xf0ad);
drivers/net/usb/r8152.c
7868
sram_write(tp, 0x809f, 0x6073);
drivers/net/usb/r8152.c
7869
sram_write(tp, 0x80a1, 0x000b);
drivers/net/usb/r8152.c
7870
sram_write_w0w1(tp, 0x80a9, 0xff00, 0xc000);
drivers/net/usb/r8152.c
7872
if (rtl_phy_patch_request(tp, true, true))
drivers/net/usb/r8152.c
7875
ocp_reg_clr_bits(tp, 0xb896, BIT(0));
drivers/net/usb/r8152.c
7876
ocp_reg_clr_bits(tp, 0xb892, 0xff00);
drivers/net/usb/r8152.c
7877
ocp_reg_write(tp, 0xb88e, 0xc23e);
drivers/net/usb/r8152.c
7878
ocp_reg_write(tp, 0xb890, 0x0000);
drivers/net/usb/r8152.c
7879
ocp_reg_write(tp, 0xb88e, 0xc240);
drivers/net/usb/r8152.c
7880
ocp_reg_write(tp, 0xb890, 0x0103);
drivers/net/usb/r8152.c
7881
ocp_reg_write(tp, 0xb88e, 0xc242);
drivers/net/usb/r8152.c
7882
ocp_reg_write(tp, 0xb890, 0x0507);
drivers/net/usb/r8152.c
7883
ocp_reg_write(tp, 0xb88e, 0xc244);
drivers/net/usb/r8152.c
7884
ocp_reg_write(tp, 0xb890, 0x090b);
drivers/net/usb/r8152.c
7885
ocp_reg_write(tp, 0xb88e, 0xc246);
drivers/net/usb/r8152.c
7886
ocp_reg_write(tp, 0xb890, 0x0c0e);
drivers/net/usb/r8152.c
7887
ocp_reg_write(tp, 0xb88e, 0xc248);
drivers/net/usb/r8152.c
7888
ocp_reg_write(tp, 0xb890, 0x1012);
drivers/net/usb/r8152.c
7889
ocp_reg_write(tp, 0xb88e, 0xc24a);
drivers/net/usb/r8152.c
7890
ocp_reg_write(tp, 0xb890, 0x1416);
drivers/net/usb/r8152.c
7891
ocp_reg_set_bits(tp, 0xb896, BIT(0));
drivers/net/usb/r8152.c
7893
rtl_phy_patch_request(tp, false, true);
drivers/net/usb/r8152.c
7895
ocp_reg_set_bits(tp, 0xa86a, BIT(0));
drivers/net/usb/r8152.c
7896
ocp_reg_set_bits(tp, 0xa6f0, BIT(0));
drivers/net/usb/r8152.c
7898
ocp_reg_write(tp, 0xbfa0, 0xd70d);
drivers/net/usb/r8152.c
7899
ocp_reg_write(tp, 0xbfa2, 0x4100);
drivers/net/usb/r8152.c
7900
ocp_reg_write(tp, 0xbfa4, 0xe868);
drivers/net/usb/r8152.c
7901
ocp_reg_write(tp, 0xbfa6, 0xdc59);
drivers/net/usb/r8152.c
7902
ocp_reg_write(tp, 0xb54c, 0x3c18);
drivers/net/usb/r8152.c
7903
ocp_reg_clr_bits(tp, 0xbfa4, BIT(5));
drivers/net/usb/r8152.c
7904
sram_set_bits(tp, 0x817d, BIT(12));
drivers/net/usb/r8152.c
7908
ocp_reg_w0w1(tp, 0xac46, 0x00f0, 0x0090);
drivers/net/usb/r8152.c
7909
ocp_reg_w0w1(tp, 0xad30, 0x0003, 0x0001);
drivers/net/usb/r8152.c
7913
sram2_write(tp, 0x80f5, 0x760e);
drivers/net/usb/r8152.c
7914
sram2_write(tp, 0x8107, 0x360e);
drivers/net/usb/r8152.c
7915
sram2_write_w0w1(tp, 0x8551, 0xff00, 0x0800);
drivers/net/usb/r8152.c
7918
ocp_reg_w0w1(tp, 0xbf00, 0xe000, 0xa000);
drivers/net/usb/r8152.c
7919
ocp_reg_w0w1(tp, 0xbf46, 0x0f00, 0x0300);
drivers/net/usb/r8152.c
7922
sram_write(tp, 0x8044, 0x2417);
drivers/net/usb/r8152.c
7923
sram_write(tp, 0x804a, 0x2417);
drivers/net/usb/r8152.c
7924
sram_write(tp, 0x8050, 0x2417);
drivers/net/usb/r8152.c
7925
sram_write(tp, 0x8056, 0x2417);
drivers/net/usb/r8152.c
7926
sram_write(tp, 0x805c, 0x2417);
drivers/net/usb/r8152.c
7927
sram_write(tp, 0x8062, 0x2417);
drivers/net/usb/r8152.c
7928
sram_write(tp, 0x8068, 0x2417);
drivers/net/usb/r8152.c
7929
sram_write(tp, 0x806e, 0x2417);
drivers/net/usb/r8152.c
7930
sram_write(tp, 0x8074, 0x2417);
drivers/net/usb/r8152.c
7931
sram_write(tp, 0x807a, 0x2417);
drivers/net/usb/r8152.c
7934
ocp_reg_w0w1(tp, 0xbf84, 0xe000, 0xa000);
drivers/net/usb/r8152.c
7941
ocp_reg_set_bits(tp, OCP_INTR_EN, INTR_SPEED_FORCE);
drivers/net/usb/r8152.c
7943
if (rtl_phy_patch_request(tp, true, true))
drivers/net/usb/r8152.c
7946
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4, EEE_SPDWN_EN);
drivers/net/usb/r8152.c
7948
ocp_reg_w0w1(tp, OCP_DOWN_SPEED, EN_EEE_100 | EN_EEE_1000,
drivers/net/usb/r8152.c
7950
tp->ups_info._10m_ckdiv = true;
drivers/net/usb/r8152.c
7951
tp->ups_info.eee_plloff_100 = false;
drivers/net/usb/r8152.c
7952
tp->ups_info.eee_plloff_giga = false;
drivers/net/usb/r8152.c
7954
ocp_reg_clr_bits(tp, OCP_POWER_CFG, EEE_CLKDIV_EN);
drivers/net/usb/r8152.c
7955
tp->ups_info.eee_ckdiv = false;
drivers/net/usb/r8152.c
7957
rtl_phy_patch_request(tp, false, true);
drivers/net/usb/r8152.c
7959
rtl_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
drivers/net/usb/r8152.c
7961
ocp_reg_clr_bits(tp, 0xa428, BIT(9));
drivers/net/usb/r8152.c
7962
ocp_reg_clr_bits(tp, 0xa5ea, BIT(0));
drivers/net/usb/r8152.c
7963
tp->ups_info.lite_mode = 0;
drivers/net/usb/r8152.c
7965
if (tp->eee_en)
drivers/net/usb/r8152.c
7966
rtl_eee_enable(tp, true);
drivers/net/usb/r8152.c
7968
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
7969
r8152b_enable_fc(tp);
drivers/net/usb/r8152.c
7970
r8153_u2p3en(tp, true);
drivers/net/usb/r8152.c
7972
set_bit(PHY_RESET, &tp->flags);
drivers/net/usb/r8152.c
7975
static void r8157_hw_phy_cfg(struct r8152 *tp)
drivers/net/usb/r8152.c
7979
r8156b_wait_loading_flash(tp);
drivers/net/usb/r8152.c
7981
ocp_word_test_and_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
drivers/net/usb/r8152.c
7983
data = r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
7986
rtl8152_apply_firmware(tp, true);
drivers/net/usb/r8152.c
7987
ocp_reg_clr_bits(tp, 0xa466, BIT(0));
drivers/net/usb/r8152.c
7988
ocp_reg_clr_bits(tp, 0xa468, BIT(3) | BIT(1));
drivers/net/usb/r8152.c
7993
rtl8152_apply_firmware(tp, false);
drivers/net/usb/r8152.c
7997
r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
drivers/net/usb/r8152.c
7999
r8153_aldps_en(tp, false);
drivers/net/usb/r8152.c
8000
rtl_eee_enable(tp, false);
drivers/net/usb/r8152.c
8002
data = r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
8006
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR, PFM_PWM_SWITCH);
drivers/net/usb/r8152.c
8009
ocp_reg_set_bits(tp, 0xa430, BIT(0) | BIT(1));
drivers/net/usb/r8152.c
8012
ocp_reg_clr_bits(tp, 0xa44a, BIT(2));
drivers/net/usb/r8152.c
8014
switch (tp->version) {
drivers/net/usb/r8152.c
8017
sram_write_w0w1(tp, 0x8183, 0xff00, 0x5900);
drivers/net/usb/r8152.c
8018
ocp_reg_set_bits(tp, 0xa654, BIT(11));
drivers/net/usb/r8152.c
8019
ocp_reg_set_bits(tp, 0xb648, BIT(14));
drivers/net/usb/r8152.c
8020
ocp_reg_clr_bits(tp, 0xad2c, BIT(15));
drivers/net/usb/r8152.c
8021
ocp_reg_set_bits(tp, 0xad94, BIT(5));
drivers/net/usb/r8152.c
8022
ocp_reg_set_bits(tp, 0xada0, BIT(1));
drivers/net/usb/r8152.c
8023
ocp_reg_w0w1(tp, 0xae06, 0xfc00, 0x7c00);
drivers/net/usb/r8152.c
8024
sram2_write_w0w1(tp, 0x8647, 0xff00, 0xe600);
drivers/net/usb/r8152.c
8025
sram2_write_w0w1(tp, 0x8036, 0xff00, 0x3000);
drivers/net/usb/r8152.c
8026
sram2_write_w0w1(tp, 0x8078, 0xff00, 0x3000);
drivers/net/usb/r8152.c
8029
sram2_write_w0w1(tp, 0x89e9, 0xff00, 0);
drivers/net/usb/r8152.c
8030
sram2_write_w0w1(tp, 0x8ffd, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8031
sram2_write_w0w1(tp, 0x8ffe, 0xff00, 0x0200);
drivers/net/usb/r8152.c
8032
sram2_write_w0w1(tp, 0x8fff, 0xff00, 0x0400);
drivers/net/usb/r8152.c
8035
sram_write_w0w1(tp, 0x8018, 0xff00, 0x7700);
drivers/net/usb/r8152.c
8036
ocp_reg_write(tp, OCP_SRAM_ADDR, 0x8f9c);
drivers/net/usb/r8152.c
8037
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0005);
drivers/net/usb/r8152.c
8038
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0000);
drivers/net/usb/r8152.c
8039
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00ed);
drivers/net/usb/r8152.c
8040
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0502);
drivers/net/usb/r8152.c
8041
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0b00);
drivers/net/usb/r8152.c
8042
ocp_reg_write(tp, OCP_SRAM_DATA, 0xd401);
drivers/net/usb/r8152.c
8043
sram_write_w0w1(tp, 0x8fa8, 0xff00, 0x2900);
drivers/net/usb/r8152.c
8046
sram2_write_w0w1(tp, 0x814b, 0xff00, 0x1100);
drivers/net/usb/r8152.c
8047
sram2_write_w0w1(tp, 0x814d, 0xff00, 0x1100);
drivers/net/usb/r8152.c
8048
sram2_write_w0w1(tp, 0x814f, 0xff00, 0x0b00);
drivers/net/usb/r8152.c
8049
sram2_write_w0w1(tp, 0x8142, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8050
sram2_write_w0w1(tp, 0x8144, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8051
sram2_write_w0w1(tp, 0x8150, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8054
sram2_write_w0w1(tp, 0x8118, 0xff00, 0x0700);
drivers/net/usb/r8152.c
8055
sram2_write_w0w1(tp, 0x811a, 0xff00, 0x0700);
drivers/net/usb/r8152.c
8056
sram2_write_w0w1(tp, 0x811c, 0xff00, 0x0500);
drivers/net/usb/r8152.c
8057
sram2_write_w0w1(tp, 0x810f, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8058
sram2_write_w0w1(tp, 0x8111, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8059
sram2_write_w0w1(tp, 0x811d, 0xff00, 0x0100);
drivers/net/usb/r8152.c
8062
ocp_reg_clr_bits(tp, 0xad1c, BIT(8));
drivers/net/usb/r8152.c
8063
ocp_reg_w0w1(tp, 0xade8, 0xffc0, 0x1400);
drivers/net/usb/r8152.c
8064
sram2_write_w0w1(tp, 0x864b, 0xff00, 0x9d00);
drivers/net/usb/r8152.c
8065
sram2_write_w0w1(tp, 0x862c, 0xff00, 0x1200);
drivers/net/usb/r8152.c
8066
ocp_reg_write(tp, OCP_SRAM_ADDR, 0x8566);
drivers/net/usb/r8152.c
8067
ocp_reg_write(tp, OCP_SRAM_DATA, 0x003f);
drivers/net/usb/r8152.c
8068
ocp_reg_write(tp, OCP_SRAM_DATA, 0x3f02);
drivers/net/usb/r8152.c
8069
ocp_reg_write(tp, OCP_SRAM_DATA, 0x023c);
drivers/net/usb/r8152.c
8070
ocp_reg_write(tp, OCP_SRAM_DATA, 0x3b0a);
drivers/net/usb/r8152.c
8071
ocp_reg_write(tp, OCP_SRAM_DATA, 0x1c00);
drivers/net/usb/r8152.c
8072
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0000);
drivers/net/usb/r8152.c
8073
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0000);
drivers/net/usb/r8152.c
8074
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0000);
drivers/net/usb/r8152.c
8075
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0000);
drivers/net/usb/r8152.c
8078
ocp_reg_set_bits(tp, 0xad9c, BIT(5));
drivers/net/usb/r8152.c
8079
sram2_write_w0w1(tp, 0x8122, 0xff00, 0x0c00);
drivers/net/usb/r8152.c
8080
ocp_reg_write(tp, OCP_SRAM2_ADDR, 0x82c8);
drivers/net/usb/r8152.c
8081
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03ed);
drivers/net/usb/r8152.c
8082
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03ff);
drivers/net/usb/r8152.c
8083
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0009);
drivers/net/usb/r8152.c
8084
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03fe);
drivers/net/usb/r8152.c
8085
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x000b);
drivers/net/usb/r8152.c
8086
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0021);
drivers/net/usb/r8152.c
8087
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03f7);
drivers/net/usb/r8152.c
8088
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03b8);
drivers/net/usb/r8152.c
8089
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03e0);
drivers/net/usb/r8152.c
8090
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0049);
drivers/net/usb/r8152.c
8091
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0049);
drivers/net/usb/r8152.c
8092
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03e0);
drivers/net/usb/r8152.c
8093
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03b8);
drivers/net/usb/r8152.c
8094
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03f7);
drivers/net/usb/r8152.c
8095
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0021);
drivers/net/usb/r8152.c
8096
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x000b);
drivers/net/usb/r8152.c
8097
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03fe);
drivers/net/usb/r8152.c
8098
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0009);
drivers/net/usb/r8152.c
8099
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03ff);
drivers/net/usb/r8152.c
8100
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03ed);
drivers/net/usb/r8152.c
8103
sram2_write_w0w1(tp, 0x80ef, 0xff00, 0x0c00);
drivers/net/usb/r8152.c
8104
ocp_reg_write(tp, OCP_SRAM2_ADDR, 0x82a0);
drivers/net/usb/r8152.c
8105
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x000e);
drivers/net/usb/r8152.c
8106
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03fe);
drivers/net/usb/r8152.c
8107
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03ed);
drivers/net/usb/r8152.c
8108
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0006);
drivers/net/usb/r8152.c
8109
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x001a);
drivers/net/usb/r8152.c
8110
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03f1);
drivers/net/usb/r8152.c
8111
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03d8);
drivers/net/usb/r8152.c
8112
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0023);
drivers/net/usb/r8152.c
8113
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0054);
drivers/net/usb/r8152.c
8114
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0322);
drivers/net/usb/r8152.c
8115
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x00dd);
drivers/net/usb/r8152.c
8116
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03ab);
drivers/net/usb/r8152.c
8117
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03dc);
drivers/net/usb/r8152.c
8118
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0027);
drivers/net/usb/r8152.c
8119
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x000e);
drivers/net/usb/r8152.c
8120
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03e5);
drivers/net/usb/r8152.c
8121
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03f9);
drivers/net/usb/r8152.c
8122
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0012);
drivers/net/usb/r8152.c
8123
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x0001);
drivers/net/usb/r8152.c
8124
ocp_reg_write(tp, OCP_SRAM2_DATA, 0x03f1);
drivers/net/usb/r8152.c
8127
ocp_reg_w0w1(tp, 0xb54c, 0xffc0, 0x3700);
drivers/net/usb/r8152.c
8130
ocp_reg_set_bits(tp, 0xb648, BIT(6));
drivers/net/usb/r8152.c
8131
sram2_write_w0w1(tp, 0x8082, 0xff00, 0x5d00);
drivers/net/usb/r8152.c
8132
sram2_write_w0w1(tp, 0x807c, 0xff00, 0x5000);
drivers/net/usb/r8152.c
8133
sram2_write_w0w1(tp, 0x809d, 0xff00, 0x5000);
drivers/net/usb/r8152.c
8138
ocp_byte_clr_bits(tp, MCU_TYPE_PLA, 0xd3c8, BIT(0));
drivers/net/usb/r8152.c
8143
sram_write_w0w1(tp, 0x8415, 0xff00, 0x9300);
drivers/net/usb/r8152.c
8145
sram_write_w0w1(tp, 0x81a3, 0xff00, 0x0f00);
drivers/net/usb/r8152.c
8146
sram_write_w0w1(tp, 0x81ae, 0xff00, 0x0f00);
drivers/net/usb/r8152.c
8147
sram_write_w0w1(tp, 0x81b9, 0xff00, 0xb900);
drivers/net/usb/r8152.c
8149
sram2_write_w0w1(tp, 0x83b0, 0x0e00, 0);
drivers/net/usb/r8152.c
8150
sram2_write_w0w1(tp, 0x83c5, 0x0e00, 0);
drivers/net/usb/r8152.c
8151
sram2_write_w0w1(tp, 0x83da, 0x0e00, 0);
drivers/net/usb/r8152.c
8152
sram2_write_w0w1(tp, 0x83ef, 0x0e00, 0);
drivers/net/usb/r8152.c
8155
sram_write(tp, 0x8173, 0x8620);
drivers/net/usb/r8152.c
8156
sram_write(tp, 0x8175, 0x8671);
drivers/net/usb/r8152.c
8158
sram_write_w0w1(tp, 0x817c, 0, BIT(13));
drivers/net/usb/r8152.c
8159
sram_write_w0w1(tp, 0x8187, 0, BIT(13));
drivers/net/usb/r8152.c
8160
sram_write_w0w1(tp, 0x8192, 0, BIT(13));
drivers/net/usb/r8152.c
8161
sram_write_w0w1(tp, 0x819d, 0, BIT(13));
drivers/net/usb/r8152.c
8162
sram_write_w0w1(tp, 0x81a8, BIT(13), 0);
drivers/net/usb/r8152.c
8163
sram_write_w0w1(tp, 0x81b3, BIT(13), 0);
drivers/net/usb/r8152.c
8164
sram_write_w0w1(tp, 0x81be, 0, BIT(13));
drivers/net/usb/r8152.c
8166
sram_write_w0w1(tp, 0x817d, 0xff00, 0xa600);
drivers/net/usb/r8152.c
8167
sram_write_w0w1(tp, 0x8188, 0xff00, 0xa600);
drivers/net/usb/r8152.c
8168
sram_write_w0w1(tp, 0x8193, 0xff00, 0xa600);
drivers/net/usb/r8152.c
8169
sram_write_w0w1(tp, 0x819e, 0xff00, 0xa600);
drivers/net/usb/r8152.c
8170
sram_write_w0w1(tp, 0x81a9, 0xff00, 0x1400);
drivers/net/usb/r8152.c
8171
sram_write_w0w1(tp, 0x81b4, 0xff00, 0x1400);
drivers/net/usb/r8152.c
8172
sram_write_w0w1(tp, 0x81bf, 0xff00, 0xa600);
drivers/net/usb/r8152.c
8177
ocp_reg_clr_bits(tp, 0xaeaa, BIT(5) | BIT(3));
drivers/net/usb/r8152.c
8179
sram2_write(tp, 0x84f0, 0x201c);
drivers/net/usb/r8152.c
8180
sram2_write(tp, 0x84f2, 0x3117);
drivers/net/usb/r8152.c
8182
ocp_reg_write(tp, 0xaec6, 0x0000);
drivers/net/usb/r8152.c
8183
ocp_reg_write(tp, 0xae20, 0xffff);
drivers/net/usb/r8152.c
8184
ocp_reg_write(tp, 0xaece, 0xffff);
drivers/net/usb/r8152.c
8185
ocp_reg_write(tp, 0xaed2, 0xffff);
drivers/net/usb/r8152.c
8186
ocp_reg_write(tp, 0xaec8, 0x0000);
drivers/net/usb/r8152.c
8187
ocp_reg_clr_bits(tp, 0xaed0, BIT(0));
drivers/net/usb/r8152.c
8188
ocp_reg_write(tp, 0xadb8, 0x0150);
drivers/net/usb/r8152.c
8189
sram2_write_w0w1(tp, 0x8197, 0xff00, 0x5000);
drivers/net/usb/r8152.c
8190
sram2_write_w0w1(tp, 0x8231, 0xff00, 0x5000);
drivers/net/usb/r8152.c
8191
sram2_write_w0w1(tp, 0x82cb, 0xff00, 0x5000);
drivers/net/usb/r8152.c
8192
sram2_write_w0w1(tp, 0x82cd, 0xff00, 0x5700);
drivers/net/usb/r8152.c
8193
sram2_write_w0w1(tp, 0x8233, 0xff00, 0x5700);
drivers/net/usb/r8152.c
8194
sram2_write_w0w1(tp, 0x8199, 0xff00, 0x5700);
drivers/net/usb/r8152.c
8196
sram2_write(tp, 0x815a, 0x0150);
drivers/net/usb/r8152.c
8197
sram2_write(tp, 0x81f4, 0x0150);
drivers/net/usb/r8152.c
8198
sram2_write(tp, 0x828e, 0x0150);
drivers/net/usb/r8152.c
8199
sram2_write(tp, 0x81b1, 0x0000);
drivers/net/usb/r8152.c
8200
sram2_write(tp, 0x824b, 0x0000);
drivers/net/usb/r8152.c
8201
sram2_write(tp, 0x82e5, 0x0000);
drivers/net/usb/r8152.c
8203
sram2_write_w0w1(tp, 0x84f7, 0xff00, 0x2800);
drivers/net/usb/r8152.c
8204
ocp_reg_set_bits(tp, 0xaec2, BIT(12));
drivers/net/usb/r8152.c
8205
sram2_write_w0w1(tp, 0x81b3, 0xff00, 0xad00);
drivers/net/usb/r8152.c
8206
sram2_write_w0w1(tp, 0x824d, 0xff00, 0xad00);
drivers/net/usb/r8152.c
8207
sram2_write_w0w1(tp, 0x82e7, 0xff00, 0xad00);
drivers/net/usb/r8152.c
8208
ocp_reg_w0w1(tp, 0xae4e, 0x000f, 0x0001);
drivers/net/usb/r8152.c
8209
sram2_write_w0w1(tp, 0x82ce, 0xf000, 0x4000);
drivers/net/usb/r8152.c
8214
sram2_write_w0w1(tp, 0x83a5, 0xff00, 0x0400);
drivers/net/usb/r8152.c
8215
sram2_write_w0w1(tp, 0x83a6, 0xff00, 0x0400);
drivers/net/usb/r8152.c
8216
sram2_write_w0w1(tp, 0x83a7, 0xff00, 0x0400);
drivers/net/usb/r8152.c
8217
sram2_write_w0w1(tp, 0x83a8, 0xff00, 0x0400);
drivers/net/usb/r8152.c
8222
sram2_write(tp, 0x84ac, 0x0000);
drivers/net/usb/r8152.c
8223
sram2_write(tp, 0x84ae, 0x0000);
drivers/net/usb/r8152.c
8224
sram2_write(tp, 0x84b0, 0xf818);
drivers/net/usb/r8152.c
8225
sram2_write_w0w1(tp, 0x84b2, 0xff00, 0x6000);
drivers/net/usb/r8152.c
8227
sram2_write(tp, 0x8ffc, 0x6008);
drivers/net/usb/r8152.c
8228
sram2_write(tp, 0x8ffe, 0xf450);
drivers/net/usb/r8152.c
8230
sram2_write_w0w1(tp, 0x8015, 0, BIT(9));
drivers/net/usb/r8152.c
8231
sram2_write_w0w1(tp, 0x8016, 0, BIT(11));
drivers/net/usb/r8152.c
8232
sram2_write_w0w1(tp, 0x8fe6, 0xff00, 0x0800);
drivers/net/usb/r8152.c
8233
sram2_write(tp, 0x8fe4, 0x2114);
drivers/net/usb/r8152.c
8235
sram2_write(tp, 0x8647, 0xa7b1);
drivers/net/usb/r8152.c
8236
sram2_write(tp, 0x8649, 0xbbca);
drivers/net/usb/r8152.c
8237
sram2_write_w0w1(tp, 0x864b, 0xff00, 0xdc00);
drivers/net/usb/r8152.c
8239
sram2_write_w0w1(tp, 0x8154, 0xc000, 0x4000);
drivers/net/usb/r8152.c
8240
sram2_write_w0w1(tp, 0x8158, 0xc000, 0);
drivers/net/usb/r8152.c
8242
sram2_write(tp, 0x826c, 0xffff);
drivers/net/usb/r8152.c
8243
sram2_write(tp, 0x826e, 0xffff);
drivers/net/usb/r8152.c
8245
sram2_write_w0w1(tp, 0x8872, 0xff00, 0x0e00);
drivers/net/usb/r8152.c
8246
sram_write_w0w1(tp, 0x8012, 0, BIT(11));
drivers/net/usb/r8152.c
8247
sram_write_w0w1(tp, 0x8012, 0, BIT(14));
drivers/net/usb/r8152.c
8248
ocp_reg_set_bits(tp, 0xb576, BIT(0));
drivers/net/usb/r8152.c
8249
sram_write_w0w1(tp, 0x834a, 0xff00, 0x0700);
drivers/net/usb/r8152.c
8250
sram2_write_w0w1(tp, 0x8217, 0x3f00, 0x2a00);
drivers/net/usb/r8152.c
8251
sram_write_w0w1(tp, 0x81b1, 0xff00, 0x0b00);
drivers/net/usb/r8152.c
8252
sram2_write_w0w1(tp, 0x8fed, 0xff00, 0x4e00);
drivers/net/usb/r8152.c
8254
sram2_write_w0w1(tp, 0x88ac, 0xff00, 0x2300);
drivers/net/usb/r8152.c
8256
ocp_reg_set_bits(tp, 0xbf0c, 0x7 << 11);
drivers/net/usb/r8152.c
8258
sram2_write_w0w1(tp, 0x88de, 0xff00, 0);
drivers/net/usb/r8152.c
8260
sram2_write(tp, 0x80b4, 0x5195);
drivers/net/usb/r8152.c
8265
sram_write(tp, 0x8370, 0x8671);
drivers/net/usb/r8152.c
8266
sram_write(tp, 0x8372, 0x86c8);
drivers/net/usb/r8152.c
8268
sram_write(tp, 0x8401, 0x86c8);
drivers/net/usb/r8152.c
8269
sram_write(tp, 0x8403, 0x86da);
drivers/net/usb/r8152.c
8270
sram_write_w0w1(tp, 0x8406, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8271
sram_write_w0w1(tp, 0x8408, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8272
sram_write_w0w1(tp, 0x840a, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8273
sram_write_w0w1(tp, 0x840c, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8274
sram_write_w0w1(tp, 0x840e, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8275
sram_write_w0w1(tp, 0x8410, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8276
sram_write_w0w1(tp, 0x8412, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8277
sram_write_w0w1(tp, 0x8414, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8278
sram_write_w0w1(tp, 0x8416, 0x1800, 0x1000);
drivers/net/usb/r8152.c
8281
sram_write(tp, 0x82bd, 0x1f40);
drivers/net/usb/r8152.c
8284
ocp_reg_w0w1(tp, 0xbfb4, 0x07ff, 0x0328);
drivers/net/usb/r8152.c
8285
ocp_reg_write(tp, 0xbfb6, 0x3e14);
drivers/net/usb/r8152.c
8288
ocp_reg_write(tp, OCP_SRAM_ADDR, 0x81c4);
drivers/net/usb/r8152.c
8289
ocp_reg_write(tp, OCP_SRAM_DATA, 0x003b);
drivers/net/usb/r8152.c
8290
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0086);
drivers/net/usb/r8152.c
8291
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00b7);
drivers/net/usb/r8152.c
8292
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00db);
drivers/net/usb/r8152.c
8293
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00fe);
drivers/net/usb/r8152.c
8294
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00fe);
drivers/net/usb/r8152.c
8295
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00fe);
drivers/net/usb/r8152.c
8296
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00fe);
drivers/net/usb/r8152.c
8297
ocp_reg_write(tp, OCP_SRAM_DATA, 0x00c3);
drivers/net/usb/r8152.c
8298
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0078);
drivers/net/usb/r8152.c
8299
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0047);
drivers/net/usb/r8152.c
8300
ocp_reg_write(tp, OCP_SRAM_DATA, 0x0023);
drivers/net/usb/r8152.c
8305
sram2_write(tp, 0x88d7, 0x01a0);
drivers/net/usb/r8152.c
8306
sram2_write(tp, 0x88d9, 0x01a0);
drivers/net/usb/r8152.c
8307
sram2_write(tp, 0x8ffa, 0x002a);
drivers/net/usb/r8152.c
8309
sram2_write(tp, 0x8fee, 0xffdf);
drivers/net/usb/r8152.c
8310
sram2_write(tp, 0x8ff0, 0xffff);
drivers/net/usb/r8152.c
8311
sram2_write(tp, 0x8ff2, 0x0a4a);
drivers/net/usb/r8152.c
8312
sram2_write(tp, 0x8ff4, 0xaa5a);
drivers/net/usb/r8152.c
8313
sram2_write(tp, 0x8ff6, 0x0a4a);
drivers/net/usb/r8152.c
8314
sram2_write(tp, 0x8ff8, 0xaa5a);
drivers/net/usb/r8152.c
8316
sram2_write_w0w1(tp, 0x88d5, 0xff00, 0x0200);
drivers/net/usb/r8152.c
8323
if (rtl_phy_patch_request(tp, true, true))
drivers/net/usb/r8152.c
8326
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4, EEE_SPDWN_EN);
drivers/net/usb/r8152.c
8328
ocp_reg_w0w1(tp, OCP_DOWN_SPEED, EN_EEE_100 | EN_EEE_1000, EN_10M_CLKDIV);
drivers/net/usb/r8152.c
8330
tp->ups_info._10m_ckdiv = true;
drivers/net/usb/r8152.c
8331
tp->ups_info.eee_plloff_100 = false;
drivers/net/usb/r8152.c
8332
tp->ups_info.eee_plloff_giga = false;
drivers/net/usb/r8152.c
8334
ocp_reg_set_bits(tp, OCP_POWER_CFG, EEE_CLKDIV_EN);
drivers/net/usb/r8152.c
8335
tp->ups_info.eee_ckdiv = true;
drivers/net/usb/r8152.c
8337
rtl_phy_patch_request(tp, false, true);
drivers/net/usb/r8152.c
8339
rtl_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
drivers/net/usb/r8152.c
8341
ocp_reg_clr_bits(tp, 0xa428, BIT(9));
drivers/net/usb/r8152.c
8342
ocp_reg_clr_bits(tp, 0xa5ea, BIT(0) | BIT(1));
drivers/net/usb/r8152.c
8343
tp->ups_info.lite_mode = 0;
drivers/net/usb/r8152.c
8345
if (tp->eee_en)
drivers/net/usb/r8152.c
8346
rtl_eee_enable(tp, true);
drivers/net/usb/r8152.c
8348
r8153_aldps_en(tp, true);
drivers/net/usb/r8152.c
8349
r8152b_enable_fc(tp);
drivers/net/usb/r8152.c
8351
set_bit(PHY_RESET, &tp->flags);
drivers/net/usb/r8152.c
8354
static int r8159_wait_backup_restore(struct r8152 *tp)
drivers/net/usb/r8152.c
8358
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0);
drivers/net/usb/r8152.c
8362
return poll_timeout_us(ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_GPHY_CTRL),
drivers/net/usb/r8152.c
8366
static void r8156_init(struct r8152 *tp)
drivers/net/usb/r8152.c
8372
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
8375
if (tp->version == RTL_VER_16 || tp->version == RTL_VER_17) {
drivers/net/usb/r8152.c
8376
ocp_byte_set_bits(tp, MCU_TYPE_USB, 0xcffe, BIT(3));
drivers/net/usb/r8152.c
8377
ocp_byte_clr_bits(tp, MCU_TYPE_USB, 0xd3ca, BIT(0));
drivers/net/usb/r8152.c
8380
ocp_byte_clr_bits(tp, MCU_TYPE_USB, USB_ECM_OP, EN_ALL_SPEED);
drivers/net/usb/r8152.c
8382
if (tp->version < RTL_VER_16)
drivers/net/usb/r8152.c
8383
ocp_write_word(tp, MCU_TYPE_USB, USB_SPEED_OPTION, 0);
drivers/net/usb/r8152.c
8385
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_ECM_OPTION, BYPASS_MAC_RESET);
drivers/net/usb/r8152.c
8387
if (tp->version >= RTL_VER_12 && tp->version <= RTL_VER_15)
drivers/net/usb/r8152.c
8388
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_U2P3_CTRL, RX_DETECT8);
drivers/net/usb/r8152.c
8390
r8153b_u1u2en(tp, false);
drivers/net/usb/r8152.c
8392
switch (tp->version) {
drivers/net/usb/r8152.c
8397
r8156b_wait_loading_flash(tp);
drivers/net/usb/r8152.c
8404
if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
drivers/net/usb/r8152.c
8409
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
8413
if (tp->version == RTL_VER_17 && r8159_wait_backup_restore(tp)) {
drivers/net/usb/r8152.c
8414
rtl_set_inaccessible(tp);
drivers/net/usb/r8152.c
8415
dev_err(&tp->intf->dev, "init failed, backup-restore timed out\n");
drivers/net/usb/r8152.c
8419
data = r8153_phy_status(tp, 0);
drivers/net/usb/r8152.c
8421
ocp_reg_clr_bits(tp, 0xa468, BIT(3) | BIT(1));
drivers/net/usb/r8152.c
8422
if (tp->version >= RTL_VER_12)
drivers/net/usb/r8152.c
8423
ocp_reg_clr_bits(tp, 0xa466, BIT(0));
drivers/net/usb/r8152.c
8426
data = r8152_mdio_read(tp, MII_BMCR);
drivers/net/usb/r8152.c
8429
r8152_mdio_write(tp, MII_BMCR, data);
drivers/net/usb/r8152.c
8432
data = r8153_phy_status(tp, PHY_STAT_LAN_ON);
drivers/net/usb/r8152.c
8434
if (tp->version >= RTL_VER_16)
drivers/net/usb/r8152.c
8435
r8157_u2p3en(tp, false);
drivers/net/usb/r8152.c
8437
r8153_u2p3en(tp, false);
drivers/net/usb/r8152.c
8440
ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);
drivers/net/usb/r8152.c
8443
ocp_write_word(tp, MCU_TYPE_USB, USB_U1U2_TIMER, 500);
drivers/net/usb/r8152.c
8445
if (tp->version >= RTL_VER_16)
drivers/net/usb/r8152.c
8446
r8157_power_cut_en(tp, false);
drivers/net/usb/r8152.c
8448
r8153b_power_cut_en(tp, false);
drivers/net/usb/r8152.c
8450
r8156_ups_en(tp, false);
drivers/net/usb/r8152.c
8451
r8153_queue_wake(tp, false);
drivers/net/usb/r8152.c
8452
rtl_runtime_suspend_enable(tp, false);
drivers/net/usb/r8152.c
8454
if (tp->udev->speed >= USB_SPEED_SUPER)
drivers/net/usb/r8152.c
8455
r8153b_u1u2en(tp, true);
drivers/net/usb/r8152.c
8457
usb_enable_lpm(tp->udev);
drivers/net/usb/r8152.c
8459
if (tp->version >= RTL_VER_12 && tp->version <= RTL_VER_15) {
drivers/net/usb/r8152.c
8460
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_RCR, SLOT_EN);
drivers/net/usb/r8152.c
8462
ocp_word_set_bits(tp, MCU_TYPE_PLA, PLA_CPCR, FLOW_CTRL_EN);
drivers/net/usb/r8152.c
8465
ocp_write_word(tp, MCU_TYPE_USB, USB_FC_TIMER, CTRL_TIMER_EN | (600 / 8));
drivers/net/usb/r8152.c
8467
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_FW_CTRL);
drivers/net/usb/r8152.c
8468
if (!(ocp_read_word(tp, MCU_TYPE_PLA, PLA_POL_GPIO_CTRL) & DACK_DET_EN))
drivers/net/usb/r8152.c
8471
ocp_write_word(tp, MCU_TYPE_USB, USB_FW_CTRL, ocp_data);
drivers/net/usb/r8152.c
8473
ocp_word_set_bits(tp, MCU_TYPE_USB, USB_FW_TASK, FC_PATCH_TASK);
drivers/net/usb/r8152.c
8476
r8156_mac_clk_spd(tp, true);
drivers/net/usb/r8152.c
8478
if (tp->version < RTL_VER_16)
drivers/net/usb/r8152.c
8479
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, PLA_MCU_SPDWN_EN);
drivers/net/usb/r8152.c
8481
ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS);
drivers/net/usb/r8152.c
8482
if (rtl8152_get_speed(tp) & LINK_STATUS)
drivers/net/usb/r8152.c
8487
ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data);
drivers/net/usb/r8152.c
8489
set_bit(GREEN_ETHERNET, &tp->flags);
drivers/net/usb/r8152.c
8494
if (tp->version == RTL_VER_17)
drivers/net/usb/r8152.c
8495
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL,
drivers/net/usb/r8152.c
8497
else if (tp->version == RTL_VER_16)
drivers/net/usb/r8152.c
8498
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL, RX_AGG_DISABLE | RX_DESC_16B);
drivers/net/usb/r8152.c
8500
ocp_word_clr_bits(tp, MCU_TYPE_USB, USB_USB_CTRL, RX_AGG_DISABLE | RX_ZERO_EN);
drivers/net/usb/r8152.c
8502
if (tp->version < RTL_VER_12)
drivers/net/usb/r8152.c
8503
ocp_byte_set_bits(tp, MCU_TYPE_USB, USB_BMU_CONFIG, ACT_ODMA);
drivers/net/usb/r8152.c
8505
if (tp->version >= RTL_VER_16) {
drivers/net/usb/r8152.c
8507
rtl_bmu_clr_bits(tp, 0x2300, BIT(3));
drivers/net/usb/r8152.c
8509
ocp_byte_clr_bits(tp, MCU_TYPE_USB, 0xd4ae, BIT(1));
drivers/net/usb/r8152.c
8512
r8156_mdio_force_mode(tp);
drivers/net/usb/r8152.c
8513
rtl_tally_reset(tp);
drivers/net/usb/r8152.c
8515
tp->coalesce = 15000; /* 15 us */
drivers/net/usb/r8152.c
8551
struct r8152 *tp = usb_get_intfdata(intf);
drivers/net/usb/r8152.c
8556
if (!tp || !test_bit(PROBED_WITH_NO_ERRORS, &tp->flags))
drivers/net/usb/r8152.c
8559
netdev = tp->netdev;
drivers/net/usb/r8152.c
8564
tasklet_disable(&tp->tx_tl);
drivers/net/usb/r8152.c
8565
clear_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
8566
usb_kill_urb(tp->intr_urb);
drivers/net/usb/r8152.c
8567
cancel_delayed_work_sync(&tp->schedule);
drivers/net/usb/r8152.c
8568
napi_disable(&tp->napi);
drivers/net/usb/r8152.c
8570
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8571
set_bit(IN_PRE_RESET, &tp->flags);
drivers/net/usb/r8152.c
8572
tp->rtl_ops.disable(tp);
drivers/net/usb/r8152.c
8573
clear_bit(IN_PRE_RESET, &tp->flags);
drivers/net/usb/r8152.c
8574
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8582
struct r8152 *tp = usb_get_intfdata(intf);
drivers/net/usb/r8152.c
8586
if (!tp || !test_bit(PROBED_WITH_NO_ERRORS, &tp->flags))
drivers/net/usb/r8152.c
8589
rtl_set_accessible(tp);
drivers/net/usb/r8152.c
8592
if (determine_ethernet_addr(tp, &ss) >= 0)
drivers/net/usb/r8152.c
8593
dev_set_mac_address(tp->netdev, &ss, NULL);
drivers/net/usb/r8152.c
8595
netdev = tp->netdev;
drivers/net/usb/r8152.c
8599
set_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
8601
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8602
tp->rtl_ops.enable(tp);
drivers/net/usb/r8152.c
8603
rtl_start_rx(tp);
drivers/net/usb/r8152.c
8605
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8608
napi_enable(&tp->napi);
drivers/net/usb/r8152.c
8609
tasklet_enable(&tp->tx_tl);
drivers/net/usb/r8152.c
8611
usb_submit_urb(tp->intr_urb, GFP_KERNEL);
drivers/net/usb/r8152.c
8613
if (!list_empty(&tp->rx_done))
drivers/net/usb/r8152.c
8614
napi_schedule(&tp->napi);
drivers/net/usb/r8152.c
8621
static bool delay_autosuspend(struct r8152 *tp)
drivers/net/usb/r8152.c
8623
bool sw_linking = !!netif_carrier_ok(tp->netdev);
drivers/net/usb/r8152.c
8624
bool hw_linking = !!(rtl8152_get_speed(tp) & LINK_STATUS);
drivers/net/usb/r8152.c
8630
if (work_busy(&tp->schedule.work) || sw_linking != hw_linking)
drivers/net/usb/r8152.c
8636
if (!sw_linking && tp->rtl_ops.in_nway(tp))
drivers/net/usb/r8152.c
8638
else if (!skb_queue_empty(&tp->tx_queue))
drivers/net/usb/r8152.c
8644
static int rtl8152_runtime_resume(struct r8152 *tp)
drivers/net/usb/r8152.c
8646
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
8649
struct napi_struct *napi = &tp->napi;
drivers/net/usb/r8152.c
8651
tp->rtl_ops.autosuspend_en(tp, false);
drivers/net/usb/r8152.c
8653
set_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
8656
if (rtl8152_get_speed(tp) & LINK_STATUS) {
drivers/net/usb/r8152.c
8657
rtl_start_rx(tp);
drivers/net/usb/r8152.c
8660
tp->rtl_ops.disable(tp);
drivers/net/usb/r8152.c
8661
netif_info(tp, link, netdev, "linking down\n");
drivers/net/usb/r8152.c
8666
clear_bit(SELECTIVE_SUSPEND, &tp->flags);
drivers/net/usb/r8152.c
8669
if (!list_empty(&tp->rx_done))
drivers/net/usb/r8152.c
8670
napi_schedule(&tp->napi);
drivers/net/usb/r8152.c
8672
usb_submit_urb(tp->intr_urb, GFP_NOIO);
drivers/net/usb/r8152.c
8675
tp->rtl_ops.autosuspend_en(tp, false);
drivers/net/usb/r8152.c
8677
clear_bit(SELECTIVE_SUSPEND, &tp->flags);
drivers/net/usb/r8152.c
8683
static int rtl8152_system_resume(struct r8152 *tp)
drivers/net/usb/r8152.c
8685
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
8690
tp->rtl_ops.up(tp);
drivers/net/usb/r8152.c
8692
set_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
8693
usb_submit_urb(tp->intr_urb, GFP_NOIO);
drivers/net/usb/r8152.c
8699
static int rtl8152_runtime_suspend(struct r8152 *tp)
drivers/net/usb/r8152.c
8701
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
8704
if (!tp->rtl_ops.autosuspend_en)
drivers/net/usb/r8152.c
8707
set_bit(SELECTIVE_SUSPEND, &tp->flags);
drivers/net/usb/r8152.c
8710
if (netif_running(netdev) && test_bit(WORK_ENABLE, &tp->flags)) {
drivers/net/usb/r8152.c
8716
rcr = ocp_read_dword(tp, MCU_TYPE_PLA, PLA_RCR);
drivers/net/usb/r8152.c
8718
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, ocp_data);
drivers/net/usb/r8152.c
8719
rxdy_gated_en(tp, true);
drivers/net/usb/r8152.c
8720
ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA,
drivers/net/usb/r8152.c
8723
rxdy_gated_en(tp, false);
drivers/net/usb/r8152.c
8724
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, rcr);
drivers/net/usb/r8152.c
8725
clear_bit(SELECTIVE_SUSPEND, &tp->flags);
drivers/net/usb/r8152.c
8732
clear_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
8733
usb_kill_urb(tp->intr_urb);
drivers/net/usb/r8152.c
8735
tp->rtl_ops.autosuspend_en(tp, true);
drivers/net/usb/r8152.c
8738
struct napi_struct *napi = &tp->napi;
drivers/net/usb/r8152.c
8741
rtl_stop_rx(tp);
drivers/net/usb/r8152.c
8742
rxdy_gated_en(tp, false);
drivers/net/usb/r8152.c
8743
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, rcr);
drivers/net/usb/r8152.c
8747
if (delay_autosuspend(tp)) {
drivers/net/usb/r8152.c
8748
rtl8152_runtime_resume(tp);
drivers/net/usb/r8152.c
8757
static int rtl8152_system_suspend(struct r8152 *tp)
drivers/net/usb/r8152.c
8759
struct net_device *netdev = tp->netdev;
drivers/net/usb/r8152.c
8763
if (netif_running(netdev) && test_bit(WORK_ENABLE, &tp->flags)) {
drivers/net/usb/r8152.c
8764
struct napi_struct *napi = &tp->napi;
drivers/net/usb/r8152.c
8766
clear_bit(WORK_ENABLE, &tp->flags);
drivers/net/usb/r8152.c
8767
usb_kill_urb(tp->intr_urb);
drivers/net/usb/r8152.c
8768
tasklet_disable(&tp->tx_tl);
drivers/net/usb/r8152.c
8770
cancel_delayed_work_sync(&tp->schedule);
drivers/net/usb/r8152.c
8771
tp->rtl_ops.down(tp);
drivers/net/usb/r8152.c
8773
tasklet_enable(&tp->tx_tl);
drivers/net/usb/r8152.c
8780
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
8781
pm_wakeup_event(&tp->udev->dev, 0);
drivers/net/usb/r8152.c
8788
struct r8152 *tp = usb_get_intfdata(intf);
drivers/net/usb/r8152.c
8791
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8794
ret = rtl8152_runtime_suspend(tp);
drivers/net/usb/r8152.c
8796
ret = rtl8152_system_suspend(tp);
drivers/net/usb/r8152.c
8798
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8805
struct r8152 *tp = usb_get_intfdata(intf);
drivers/net/usb/r8152.c
8806
bool runtime_resume = test_bit(SELECTIVE_SUSPEND, &tp->flags);
drivers/net/usb/r8152.c
8809
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8811
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
8814
ret = rtl8152_runtime_resume(tp);
drivers/net/usb/r8152.c
8816
ret = rtl8152_system_resume(tp);
drivers/net/usb/r8152.c
8818
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8830
if (!runtime_resume && test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
8831
usb_reset_device(tp->udev);
drivers/net/usb/r8152.c
8838
struct r8152 *tp = usb_get_intfdata(intf);
drivers/net/usb/r8152.c
8840
clear_bit(SELECTIVE_SUSPEND, &tp->flags);
drivers/net/usb/r8152.c
8841
rtl_reset_ocp_base(tp);
drivers/net/usb/r8152.c
8842
tp->rtl_ops.init(tp);
drivers/net/usb/r8152.c
8843
queue_delayed_work(system_long_wq, &tp->hw_phy_work, 0);
drivers/net/usb/r8152.c
8844
set_ethernet_addr(tp, true);
drivers/net/usb/r8152.c
8850
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
8852
if (usb_autopm_get_interface(tp->intf) < 0)
drivers/net/usb/r8152.c
8855
if (!rtl_can_wakeup(tp)) {
drivers/net/usb/r8152.c
8859
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8861
wol->wolopts = __rtl_get_wol(tp);
drivers/net/usb/r8152.c
8862
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8865
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
8870
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
8873
if (!rtl_can_wakeup(tp))
drivers/net/usb/r8152.c
8879
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
8883
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8885
__rtl_set_wol(tp, wol->wolopts);
drivers/net/usb/r8152.c
8886
tp->saved_wolopts = wol->wolopts & WAKE_ANY;
drivers/net/usb/r8152.c
8888
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8890
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
8898
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
8900
return tp->msg_enable;
drivers/net/usb/r8152.c
8905
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
8907
tp->msg_enable = value;
drivers/net/usb/r8152.c
8913
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
8916
usb_make_path(tp->udev, info->bus_info, sizeof(info->bus_info));
drivers/net/usb/r8152.c
8917
if (!IS_ERR_OR_NULL(tp->rtl_fw.fw))
drivers/net/usb/r8152.c
8918
strscpy(info->fw_version, tp->rtl_fw.version,
drivers/net/usb/r8152.c
8926
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
8929
if (!tp->mii.mdio_read)
drivers/net/usb/r8152.c
8932
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
8936
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
8938
mii_ethtool_get_link_ksettings(&tp->mii, cmd);
drivers/net/usb/r8152.c
8941
cmd->link_modes.supported, tp->support_2500full);
drivers/net/usb/r8152.c
8944
cmd->link_modes.supported, tp->support_5000full);
drivers/net/usb/r8152.c
8947
cmd->link_modes.supported, tp->support_10000full);
drivers/net/usb/r8152.c
8949
if (tp->support_2500full || tp->support_5000full || tp->support_10000full) {
drivers/net/usb/r8152.c
8950
u16 ocp_10gbt_ctrl = ocp_reg_read(tp, OCP_10GBT_CTRL);
drivers/net/usb/r8152.c
8951
u16 ocp_10gbt_stat = ocp_reg_read(tp, OCP_10GBT_STAT);
drivers/net/usb/r8152.c
8953
if (tp->support_2500full) {
drivers/net/usb/r8152.c
8962
if (is_speed_2500(rtl8152_get_speed(tp)))
drivers/net/usb/r8152.c
8966
if (tp->support_5000full) {
drivers/net/usb/r8152.c
8975
if (is_speed_5000(rtl8152_get_speed(tp)))
drivers/net/usb/r8152.c
8979
if (tp->support_10000full) {
drivers/net/usb/r8152.c
8988
if (is_speed_10000(rtl8152_get_speed(tp)))
drivers/net/usb/r8152.c
8993
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
8995
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9004
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
9008
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9048
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9050
ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed,
drivers/net/usb/r8152.c
9053
tp->autoneg = cmd->base.autoneg;
drivers/net/usb/r8152.c
9054
tp->speed = cmd->base.speed;
drivers/net/usb/r8152.c
9055
tp->duplex = cmd->base.duplex;
drivers/net/usb/r8152.c
9056
tp->advertising = advertising;
drivers/net/usb/r8152.c
9059
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9061
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9096
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
9099
if (usb_autopm_get_interface(tp->intf) < 0)
drivers/net/usb/r8152.c
9102
generic_ocp_read(tp, PLA_TALLYCNT, sizeof(tally), &tally, MCU_TYPE_PLA);
drivers/net/usb/r8152.c
9104
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9130
static int r8152_get_eee(struct r8152 *tp, struct ethtool_keee *eee)
drivers/net/usb/r8152.c
9133
u16 speed = rtl8152_get_speed(tp);
drivers/net/usb/r8152.c
9136
val = r8152_mmd_read(tp, MDIO_MMD_PCS, MDIO_PCS_EEE_ABLE);
drivers/net/usb/r8152.c
9139
val = r8152_mmd_read(tp, MDIO_MMD_AN, MDIO_AN_EEE_ADV);
drivers/net/usb/r8152.c
9142
val = r8152_mmd_read(tp, MDIO_MMD_AN, MDIO_AN_EEE_LPABLE);
drivers/net/usb/r8152.c
9145
eee->eee_enabled = tp->eee_en;
drivers/net/usb/r8152.c
9159
static int r8152_set_eee(struct r8152 *tp, struct ethtool_keee *eee)
drivers/net/usb/r8152.c
9163
tp->eee_en = eee->eee_enabled;
drivers/net/usb/r8152.c
9164
tp->eee_adv = val;
drivers/net/usb/r8152.c
9165
if (tp->support_2500full || tp->support_5000full) {
drivers/net/usb/r8152.c
9167
tp->eee_adv2 = val;
drivers/net/usb/r8152.c
9169
rtl_eee_enable(tp, tp->eee_en);
drivers/net/usb/r8152.c
9174
static int r8153_get_eee(struct r8152 *tp, struct ethtool_keee *eee)
drivers/net/usb/r8152.c
9177
u16 speed = rtl8152_get_speed(tp);
drivers/net/usb/r8152.c
9180
val = ocp_reg_read(tp, OCP_EEE_ABLE);
drivers/net/usb/r8152.c
9183
val = ocp_reg_read(tp, OCP_EEE_ADV);
drivers/net/usb/r8152.c
9186
val = ocp_reg_read(tp, OCP_EEE_LPABLE);
drivers/net/usb/r8152.c
9189
if (tp->support_2500full || tp->support_5000full) {
drivers/net/usb/r8152.c
9190
val = ocp_reg_read(tp, OCP_EEE_ADV2);
drivers/net/usb/r8152.c
9193
val = ocp_reg_read(tp, OCP_EEE_LPABLE2);
drivers/net/usb/r8152.c
9197
if (tp->support_2500full) {
drivers/net/usb/r8152.c
9204
if (tp->support_5000full) {
drivers/net/usb/r8152.c
9211
if (tp->support_10000full) {
drivers/net/usb/r8152.c
9218
eee->eee_enabled = tp->eee_en;
drivers/net/usb/r8152.c
9235
struct r8152 *tp = netdev_priv(net);
drivers/net/usb/r8152.c
9238
if (!tp->rtl_ops.eee_get) {
drivers/net/usb/r8152.c
9243
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9247
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9249
ret = tp->rtl_ops.eee_get(tp, edata);
drivers/net/usb/r8152.c
9251
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9253
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9262
struct r8152 *tp = netdev_priv(net);
drivers/net/usb/r8152.c
9265
if (!tp->rtl_ops.eee_set) {
drivers/net/usb/r8152.c
9270
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9274
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9276
ret = tp->rtl_ops.eee_set(tp, edata);
drivers/net/usb/r8152.c
9278
ret = mii_nway_restart(&tp->mii);
drivers/net/usb/r8152.c
9280
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9282
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9290
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
9293
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9297
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9299
ret = mii_nway_restart(&tp->mii);
drivers/net/usb/r8152.c
9301
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9303
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9314
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
9316
switch (tp->version) {
drivers/net/usb/r8152.c
9325
coalesce->rx_coalesce_usecs = tp->coalesce;
drivers/net/usb/r8152.c
9335
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
9338
switch (tp->version) {
drivers/net/usb/r8152.c
9350
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9354
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9356
if (tp->coalesce != coalesce->rx_coalesce_usecs) {
drivers/net/usb/r8152.c
9357
tp->coalesce = coalesce->rx_coalesce_usecs;
drivers/net/usb/r8152.c
9361
napi_disable(&tp->napi);
drivers/net/usb/r8152.c
9362
tp->rtl_ops.disable(tp);
drivers/net/usb/r8152.c
9363
tp->rtl_ops.enable(tp);
drivers/net/usb/r8152.c
9364
rtl_start_rx(tp);
drivers/net/usb/r8152.c
9365
clear_bit(RTL8152_SET_RX_MODE, &tp->flags);
drivers/net/usb/r8152.c
9367
napi_enable(&tp->napi);
drivers/net/usb/r8152.c
9372
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9374
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9382
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
9386
*(u32 *)d = tp->rx_copybreak;
drivers/net/usb/r8152.c
939
void (*init)(struct r8152 *tp);
drivers/net/usb/r8152.c
9399
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
940
int (*enable)(struct r8152 *tp);
drivers/net/usb/r8152.c
9406
netif_err(tp, rx_err, netdev,
drivers/net/usb/r8152.c
941
void (*disable)(struct r8152 *tp);
drivers/net/usb/r8152.c
9411
if (tp->rx_copybreak != val) {
drivers/net/usb/r8152.c
9413
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9414
napi_disable(&tp->napi);
drivers/net/usb/r8152.c
9415
tp->rx_copybreak = val;
drivers/net/usb/r8152.c
9416
napi_enable(&tp->napi);
drivers/net/usb/r8152.c
9417
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9419
tp->rx_copybreak = val;
drivers/net/usb/r8152.c
942
void (*up)(struct r8152 *tp);
drivers/net/usb/r8152.c
943
void (*down)(struct r8152 *tp);
drivers/net/usb/r8152.c
9435
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
9438
ring->rx_pending = tp->rx_pending;
drivers/net/usb/r8152.c
944
void (*unload)(struct r8152 *tp);
drivers/net/usb/r8152.c
9446
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
945
int (*eee_get)(struct r8152 *tp, struct ethtool_keee *eee);
drivers/net/usb/r8152.c
9451
if (tp->rx_pending != ring->rx_pending) {
drivers/net/usb/r8152.c
9453
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9454
napi_disable(&tp->napi);
drivers/net/usb/r8152.c
9455
tp->rx_pending = ring->rx_pending;
drivers/net/usb/r8152.c
9456
napi_enable(&tp->napi);
drivers/net/usb/r8152.c
9457
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9459
tp->rx_pending = ring->rx_pending;
drivers/net/usb/r8152.c
946
int (*eee_set)(struct r8152 *tp, struct ethtool_keee *eee);
drivers/net/usb/r8152.c
9468
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
947
bool (*in_nway)(struct r8152 *tp);
drivers/net/usb/r8152.c
9472
if (usb_autopm_get_interface(tp->intf) < 0)
drivers/net/usb/r8152.c
9475
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9477
bmcr = r8152_mdio_read(tp, MII_BMCR);
drivers/net/usb/r8152.c
9478
lcladv = r8152_mdio_read(tp, MII_ADVERTISE);
drivers/net/usb/r8152.c
9479
rmtadv = r8152_mdio_read(tp, MII_LPA);
drivers/net/usb/r8152.c
948
void (*hw_phy_cfg)(struct r8152 *tp);
drivers/net/usb/r8152.c
9481
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9483
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
949
void (*autosuspend_en)(struct r8152 *tp, bool enable);
drivers/net/usb/r8152.c
950
void (*change_mtu)(struct r8152 *tp);
drivers/net/usb/r8152.c
9505
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
9510
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9514
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9516
if (pause->autoneg && !(r8152_mdio_read(tp, MII_BMCR) & BMCR_ANENABLE)) {
drivers/net/usb/r8152.c
9527
old = r8152_mdio_read(tp, MII_ADVERTISE);
drivers/net/usb/r8152.c
9530
r8152_mdio_write(tp, MII_ADVERTISE, new1);
drivers/net/usb/r8152.c
9533
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9534
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9568
struct r8152 *tp = netdev_priv(netdev);
drivers/net/usb/r8152.c
9572
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
9575
res = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9585
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9586
data->val_out = r8152_mdio_read(tp, data->reg_num);
drivers/net/usb/r8152.c
9587
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9595
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9596
r8152_mdio_write(tp, data->reg_num, data->val_in);
drivers/net/usb/r8152.c
9597
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9604
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9612
struct r8152 *tp = netdev_priv(dev);
drivers/net/usb/r8152.c
9615
switch (tp->version) {
drivers/net/usb/r8152.c
9625
ret = usb_autopm_get_interface(tp->intf);
drivers/net/usb/r8152.c
9629
mutex_lock(&tp->control);
drivers/net/usb/r8152.c
9634
if (tp->rtl_ops.change_mtu)
drivers/net/usb/r8152.c
9635
tp->rtl_ops.change_mtu(tp);
drivers/net/usb/r8152.c
9639
napi_disable(&tp->napi);
drivers/net/usb/r8152.c
9640
tasklet_disable(&tp->tx_tl);
drivers/net/usb/r8152.c
9641
tp->rtl_ops.disable(tp);
drivers/net/usb/r8152.c
9642
tp->rtl_ops.enable(tp);
drivers/net/usb/r8152.c
9643
rtl_start_rx(tp);
drivers/net/usb/r8152.c
9644
tasklet_enable(&tp->tx_tl);
drivers/net/usb/r8152.c
9645
napi_enable(&tp->napi);
drivers/net/usb/r8152.c
9651
mutex_unlock(&tp->control);
drivers/net/usb/r8152.c
9653
usb_autopm_put_interface(tp->intf);
drivers/net/usb/r8152.c
9672
static void rtl8152_unload(struct r8152 *tp)
drivers/net/usb/r8152.c
9674
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
9677
if (tp->version != RTL_VER_01)
drivers/net/usb/r8152.c
9678
r8152_power_cut_en(tp, true);
drivers/net/usb/r8152.c
9681
static void rtl8153_unload(struct r8152 *tp)
drivers/net/usb/r8152.c
9683
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
9686
r8153_power_cut_en(tp, false);
drivers/net/usb/r8152.c
9688
if (tp->version >= RTL_VER_16) {
drivers/net/usb/r8152.c
9690
ocp_byte_clr_bits(tp, MCU_TYPE_USB, 0xcf04, BIT(0) | BIT(1) | BIT(2) | BIT(7));
drivers/net/usb/r8152.c
9694
static void rtl8153b_unload(struct r8152 *tp)
drivers/net/usb/r8152.c
9696
if (test_bit(RTL8152_INACCESSIBLE, &tp->flags))
drivers/net/usb/r8152.c
9699
r8153b_power_cut_en(tp, false);
drivers/net/usb/r8152.c
9702
static int r8152_desc_init(struct r8152 *tp)
drivers/net/usb/r8152.c
9704
tp->rx_desc.size = sizeof(struct rx_desc);
drivers/net/usb/r8152.c
9705
tp->rx_desc.align = 8;
drivers/net/usb/r8152.c
9706
tp->rx_desc.vlan_tag = r8152_rx_vlan_tag;
drivers/net/usb/r8152.c
9707
tp->desc_ops.rx_csum = r8152_rx_csum;
drivers/net/usb/r8152.c
9708
tp->desc_ops.rx_len = r8152_rx_len;
drivers/net/usb/r8152.c
9709
tp->tx_desc.size = sizeof(struct tx_desc);
drivers/net/usb/r8152.c
9710
tp->tx_desc.align = 4;
drivers/net/usb/r8152.c
9711
tp->tx_desc.vlan_tag = r8152_tx_vlan_tag;
drivers/net/usb/r8152.c
9712
tp->desc_ops.tx_csum = r8152_tx_csum;
drivers/net/usb/r8152.c
9713
tp->desc_ops.tx_len = r8152_tx_len;
drivers/net/usb/r8152.c
9718
static int r8157_desc_init(struct r8152 *tp)
drivers/net/usb/r8152.c
9720
tp->rx_desc.size = sizeof(struct rx_desc_v2);
drivers/net/usb/r8152.c
9721
tp->rx_desc.align = 16;
drivers/net/usb/r8152.c
9722
tp->rx_desc.vlan_tag = r8157_rx_vlan_tag;
drivers/net/usb/r8152.c
9723
tp->desc_ops.rx_csum = r8157_rx_csum;
drivers/net/usb/r8152.c
9724
tp->desc_ops.rx_len = r8157_rx_len;
drivers/net/usb/r8152.c
9725
tp->tx_desc.size = sizeof(struct tx_desc_v2);
drivers/net/usb/r8152.c
9726
tp->tx_desc.align = 16;
drivers/net/usb/r8152.c
9727
tp->tx_desc.vlan_tag = r8152_tx_vlan_tag;
drivers/net/usb/r8152.c
9728
tp->desc_ops.tx_csum = r8157_tx_csum;
drivers/net/usb/r8152.c
9729
tp->desc_ops.tx_len = r8157_tx_len;
drivers/net/usb/r8152.c
9734
static int rtl_ops_init(struct r8152 *tp)
drivers/net/usb/r8152.c
9736
struct rtl_ops *ops = &tp->rtl_ops;
drivers/net/usb/r8152.c
9739
switch (tp->version) {
drivers/net/usb/r8152.c
9754
tp->rx_buf_sz = 16 * 1024;
drivers/net/usb/r8152.c
9755
tp->eee_en = true;
drivers/net/usb/r8152.c
9756
tp->eee_adv = MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9757
r8152_desc_init(tp);
drivers/net/usb/r8152.c
9776
if (tp->udev->speed < USB_SPEED_SUPER)
drivers/net/usb/r8152.c
9777
tp->rx_buf_sz = 16 * 1024;
drivers/net/usb/r8152.c
9779
tp->rx_buf_sz = 32 * 1024;
drivers/net/usb/r8152.c
978
void (*tx_len)(struct r8152 *tp, void *desc, u32 len);
drivers/net/usb/r8152.c
9780
tp->eee_en = true;
drivers/net/usb/r8152.c
9781
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9782
r8152_desc_init(tp);
drivers/net/usb/r8152.c
979
u32 (*rx_len)(struct r8152 *tp, void *desc);
drivers/net/usb/r8152.c
9799
tp->rx_buf_sz = 32 * 1024;
drivers/net/usb/r8152.c
980
u8 (*rx_csum)(struct r8152 *tp, void *desc);
drivers/net/usb/r8152.c
9800
tp->eee_en = true;
drivers/net/usb/r8152.c
9801
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9802
r8152_desc_init(tp);
drivers/net/usb/r8152.c
9806
tp->eee_en = true;
drivers/net/usb/r8152.c
9807
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9808
tp->eee_adv2 = MDIO_EEE_2_5GT;
drivers/net/usb/r8152.c
981
int (*tx_csum)(struct r8152 *tp, void *desc, struct sk_buff *skb, u32 len);
drivers/net/usb/r8152.c
9823
tp->rx_buf_sz = 48 * 1024;
drivers/net/usb/r8152.c
9824
tp->support_2500full = 1;
drivers/net/usb/r8152.c
9825
r8152_desc_init(tp);
drivers/net/usb/r8152.c
9830
tp->support_2500full = 1;
drivers/net/usb/r8152.c
9833
tp->eee_en = true;
drivers/net/usb/r8152.c
9834
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9835
tp->eee_adv2 = MDIO_EEE_2_5GT;
drivers/net/usb/r8152.c
9848
tp->rx_buf_sz = 48 * 1024;
drivers/net/usb/r8152.c
9849
r8152_desc_init(tp);
drivers/net/usb/r8152.c
9865
tp->rx_buf_sz = 32 * 1024;
drivers/net/usb/r8152.c
9866
tp->eee_en = true;
drivers/net/usb/r8152.c
9867
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9868
r8152_desc_init(tp);
drivers/net/usb/r8152.c
9872
tp->eee_en = true;
drivers/net/usb/r8152.c
9873
tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX;
drivers/net/usb/r8152.c
9874
tp->eee_adv2 = MDIO_EEE_2_5GT | MDIO_EEE_5GT;
drivers/net/usb/r8152.c
9887
tp->rx_buf_sz = 32 * 1024;
drivers/net/usb/r8152.c
9888
tp->support_2500full = 1;
drivers/net/usb/r8152.c
9889
tp->support_5000full = 1;
drivers/net/usb/r8152.c
9890
r8157_desc_init(tp);
drivers/net/usb/r8152.c
9894
tp->eee_en = true;
drivers/net/usb/r8152.c
9895
tp->eee_adv = MDIO_EEE_100TX | MDIO_EEE_1000T | MDIO_EEE_10GT;
drivers/net/usb/r8152.c
9896
tp->eee_adv2 = MDIO_EEE_2_5GT | MDIO_EEE_5GT;
drivers/net/usb/r8152.c
9909
tp->rx_buf_sz = 48 * 1024;
drivers/net/usb/r8152.c
991
int (*pre_fw)(struct r8152 *tp);
drivers/net/usb/r8152.c
9910
tp->support_2500full = 1;
drivers/net/usb/r8152.c
9911
tp->support_5000full = 1;
drivers/net/usb/r8152.c
9912
tp->support_10000full = 1;
drivers/net/usb/r8152.c
9913
r8157_desc_init(tp);
drivers/net/usb/r8152.c
9918
dev_err(&tp->intf->dev, "Unknown Device\n");
drivers/net/usb/r8152.c
992
int (*post_fw)(struct r8152 *tp);
drivers/net/usb/r8152.c
9945
static int rtl_fw_init(struct r8152 *tp)
drivers/net/usb/r8152.c
9947
struct rtl_fw *rtl_fw = &tp->rtl_fw;
drivers/net/usb/r8152.c
9949
switch (tp->version) {
drivers/net/wireless/ath/ath11k/core.h
872
u16 tp;
drivers/net/wireless/ath/ath11k/debugfs.c
1149
dbr_dbg_data->entries[i].tp,
drivers/net/wireless/ath/ath11k/debugfs.c
602
bp_stats->tp);
drivers/net/wireless/ath/ath11k/debugfs.c
84
entry->tp = *srng->u.src_ring.tp_addr;
drivers/net/wireless/ath/ath11k/debugfs.h
62
u32 tp;
drivers/net/wireless/ath/ath11k/dp_rx.c
1633
u16 hp, tp;
drivers/net/wireless/ath/ath11k/dp_rx.c
1643
tp = FIELD_GET(HTT_BACKPRESSURE_EVENT_TP_M, *data);
drivers/net/wireless/ath/ath11k/dp_rx.c
1649
pdev_id, ring_type, ring_id, hp, tp, backpressure_time);
drivers/net/wireless/ath/ath11k/dp_rx.c
1671
bp_stats->tp = tp;
drivers/net/wireless/ath/ath11k/hal.c
1082
srng->u.dst_ring.tp = 0;
drivers/net/wireless/ath/ath11k/hal.c
1456
srng->ring_id, srng->u.dst_ring.tp,
drivers/net/wireless/ath/ath11k/hal.c
624
if (srng->u.dst_ring.tp != srng->u.dst_ring.cached_hp)
drivers/net/wireless/ath/ath11k/hal.c
625
return (srng->ring_base_vaddr + srng->u.dst_ring.tp);
drivers/net/wireless/ath/ath11k/hal.c
635
if (srng->u.dst_ring.tp != srng->u.dst_ring.cached_hp) {
drivers/net/wireless/ath/ath11k/hal.c
637
sizeof(*srng->ring_base_vaddr) * srng->u.dst_ring.tp;
drivers/net/wireless/ath/ath11k/hal.c
638
return srng->ring_base_vaddr + srng->u.dst_ring.tp;
drivers/net/wireless/ath/ath11k/hal.c
667
if (srng->u.dst_ring.tp == srng->u.dst_ring.cached_hp)
drivers/net/wireless/ath/ath11k/hal.c
670
desc = srng->ring_base_vaddr + srng->u.dst_ring.tp;
drivers/net/wireless/ath/ath11k/hal.c
672
srng->u.dst_ring.tp += srng->entry_size;
drivers/net/wireless/ath/ath11k/hal.c
675
if (srng->u.dst_ring.tp == srng->ring_size)
drivers/net/wireless/ath/ath11k/hal.c
676
srng->u.dst_ring.tp = 0;
drivers/net/wireless/ath/ath11k/hal.c
688
u32 tp, hp;
drivers/net/wireless/ath/ath11k/hal.c
692
tp = srng->u.dst_ring.tp;
drivers/net/wireless/ath/ath11k/hal.c
701
if (hp >= tp)
drivers/net/wireless/ath/ath11k/hal.c
702
return (hp - tp) / srng->entry_size;
drivers/net/wireless/ath/ath11k/hal.c
704
return (srng->ring_size - tp + hp) / srng->entry_size;
drivers/net/wireless/ath/ath11k/hal.c
711
u32 tp, hp;
drivers/net/wireless/ath/ath11k/hal.c
718
tp = *srng->u.src_ring.tp_addr;
drivers/net/wireless/ath/ath11k/hal.c
719
srng->u.src_ring.cached_tp = tp;
drivers/net/wireless/ath/ath11k/hal.c
721
tp = srng->u.src_ring.cached_tp;
drivers/net/wireless/ath/ath11k/hal.c
724
if (tp > hp)
drivers/net/wireless/ath/ath11k/hal.c
725
return ((tp - hp) / srng->entry_size) - 1;
drivers/net/wireless/ath/ath11k/hal.c
727
return ((srng->ring_size - hp + tp) / srng->entry_size) - 1;
drivers/net/wireless/ath/ath11k/hal.c
876
WRITE_ONCE(*srng->u.dst_ring.tp_addr, srng->u.dst_ring.tp);
drivers/net/wireless/ath/ath11k/hal.c
899
srng->u.dst_ring.tp);
drivers/net/wireless/ath/ath11k/hal.h
592
u32 tp;
drivers/net/wireless/ath/ath12k/hal.c
322
if (srng->u.dst_ring.tp != srng->u.dst_ring.cached_hp)
drivers/net/wireless/ath/ath12k/hal.c
323
return (srng->ring_base_vaddr + srng->u.dst_ring.tp);
drivers/net/wireless/ath/ath12k/hal.c
336
if (srng->u.dst_ring.tp == srng->u.dst_ring.cached_hp)
drivers/net/wireless/ath/ath12k/hal.c
339
desc = srng->ring_base_vaddr + srng->u.dst_ring.tp;
drivers/net/wireless/ath/ath12k/hal.c
341
srng->u.dst_ring.tp = (srng->u.dst_ring.tp + srng->entry_size) %
drivers/net/wireless/ath/ath12k/hal.c
351
u32 tp, hp;
drivers/net/wireless/ath/ath12k/hal.c
355
tp = srng->u.dst_ring.tp;
drivers/net/wireless/ath/ath12k/hal.c
364
if (hp >= tp)
drivers/net/wireless/ath/ath12k/hal.c
365
return (hp - tp) / srng->entry_size;
drivers/net/wireless/ath/ath12k/hal.c
367
return (srng->ring_size - tp + hp) / srng->entry_size;
drivers/net/wireless/ath/ath12k/hal.c
375
u32 tp, hp;
drivers/net/wireless/ath/ath12k/hal.c
382
tp = *srng->u.src_ring.tp_addr;
drivers/net/wireless/ath/ath12k/hal.c
383
srng->u.src_ring.cached_tp = tp;
drivers/net/wireless/ath/ath12k/hal.c
385
tp = srng->u.src_ring.cached_tp;
drivers/net/wireless/ath/ath12k/hal.c
388
if (tp > hp)
drivers/net/wireless/ath/ath12k/hal.c
389
return ((tp - hp) / srng->entry_size) - 1;
drivers/net/wireless/ath/ath12k/hal.c
391
return ((srng->ring_size - hp + tp) / srng->entry_size) - 1;
drivers/net/wireless/ath/ath12k/hal.c
544
WRITE_ONCE(*srng->u.dst_ring.tp_addr, srng->u.dst_ring.tp);
drivers/net/wireless/ath/ath12k/hal.c
567
srng->u.dst_ring.tp);
drivers/net/wireless/ath/ath12k/hal.c
644
srng->u.dst_ring.tp = 0;
drivers/net/wireless/ath/ath12k/hal.c
819
srng->ring_id, srng->u.dst_ring.tp,
drivers/net/wireless/ath/ath12k/hal.h
923
u32 tp;
drivers/net/wireless/intel/iwlwifi/fw/api/debug.h
438
__le32 tp;
drivers/net/wireless/intel/iwlwifi/fw/dbg.c
2145
hcmd_data.tp = cpu_to_le32(timepoint);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1173
struct iwl_dbg_tlv_time_point_data *tp)
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1176
struct list_head *trig_list = &tp->trig_list;
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1177
struct list_head *active_trig_list = &tp->active_trig_list;
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1230
u32 tp = le32_to_cpu(dump_data.trig->time_point);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1256
} else if (tp == IWL_FW_INI_TIME_POINT_FW_ASSERT &&
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1292
struct iwl_dbg_tlv_time_point_data *tp =
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
1295
iwl_dbg_tlv_gen_active_trig_list(fwrt, tp);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
170
u32 tp = le32_to_cpu(hcmd->time_point);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
178
if (tp == IWL_FW_INI_TIME_POINT_INVALID ||
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
179
tp >= IWL_FW_INI_TIME_POINT_NUM ||
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
180
tp == IWL_FW_INI_TIME_POINT_EARLY) {
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
183
tp);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
187
if (!iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].hcmd_list))
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
254
u32 tp = le32_to_cpu(trig->time_point);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
261
if (tp <= IWL_FW_INI_TIME_POINT_INVALID ||
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
262
tp >= IWL_FW_INI_TIME_POINT_NUM) {
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
265
tp);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
271
tp, rf);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
274
new_tlv = iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].trig_list);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
291
u32 tp = le32_to_cpu(conf_set->time_point);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
294
if (tp <= IWL_FW_INI_TIME_POINT_INVALID ||
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
295
tp >= IWL_FW_INI_TIME_POINT_NUM) {
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
297
"WRT: Invalid time point %u for config set TLV\n", tp);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
308
if (!iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].config_list))
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
440
struct iwl_dbg_tlv_time_point_data *tp =
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
443
list_for_each_entry_safe(tlv_node, tlv_node_tmp, &tp->trig_list,
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
449
list_for_each_entry_safe(tlv_node, tlv_node_tmp, &tp->hcmd_list,
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
456
&tp->active_trig_list, list) {
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
462
&tp->config_list, list) {
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
539
struct iwl_dbg_tlv_time_point_data *tp =
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
542
INIT_LIST_HEAD(&tp->trig_list);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
543
INIT_LIST_HEAD(&tp->hcmd_list);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
544
INIT_LIST_HEAD(&tp->active_trig_list);
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
545
INIT_LIST_HEAD(&tp->config_list);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1163
enum iwl_fw_ini_time_point tp =
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1167
tp = IWL_FW_INI_TIME_POINT_TX_WFD_ACTION_FRAME_FAILED;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1171
iwl_dbg_tlv_time_point(&mld->fwrt, tp, NULL);
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
1488
enum iwl_fw_ini_time_point tp =
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
1492
tp = IWL_FW_INI_TIME_POINT_TX_WFD_ACTION_FRAME_FAILED;
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
1495
tp, NULL);
drivers/net/wireless/marvell/mwifiex/sta_event.c
339
struct mwifiex_tx_pause_tlv *tp;
drivers/net/wireless/marvell/mwifiex/sta_event.c
342
tp = (void *)tlv;
drivers/net/wireless/marvell/mwifiex/sta_event.c
345
tp->peermac, tp->tx_pause,
drivers/net/wireless/marvell/mwifiex/sta_event.c
346
tp->pkt_cnt);
drivers/net/wireless/marvell/mwifiex/sta_event.c
348
if (ether_addr_equal(tp->peermac, priv->netdev->dev_addr)) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
349
if (tp->tx_pause)
drivers/net/wireless/marvell/mwifiex/sta_event.c
353
} else if (is_multicast_ether_addr(tp->peermac)) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
354
mwifiex_update_ralist_tx_pause(priv, tp->peermac, tp->tx_pause);
drivers/net/wireless/marvell/mwifiex/sta_event.c
357
sta_ptr = mwifiex_get_sta_entry(priv, tp->peermac);
drivers/net/wireless/marvell/mwifiex/sta_event.c
358
if (sta_ptr && sta_ptr->tx_pause != tp->tx_pause) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
359
sta_ptr->tx_pause = tp->tx_pause;
drivers/net/wireless/marvell/mwifiex/sta_event.c
361
mwifiex_update_ralist_tx_pause(priv, tp->peermac,
drivers/net/wireless/marvell/mwifiex/sta_event.c
362
tp->tx_pause);
drivers/net/wireless/marvell/mwifiex/sta_event.c
372
struct mwifiex_tx_pause_tlv *tp;
drivers/net/wireless/marvell/mwifiex/sta_event.c
376
tp = (void *)tlv;
drivers/net/wireless/marvell/mwifiex/sta_event.c
379
tp->peermac, tp->tx_pause,
drivers/net/wireless/marvell/mwifiex/sta_event.c
380
tp->pkt_cnt);
drivers/net/wireless/marvell/mwifiex/sta_event.c
382
if (ether_addr_equal(tp->peermac, priv->cfg_bssid)) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
383
if (tp->tx_pause)
drivers/net/wireless/marvell/mwifiex/sta_event.c
391
status = mwifiex_get_tdls_link_status(priv, tp->peermac);
drivers/net/wireless/marvell/mwifiex/sta_event.c
394
sta_ptr = mwifiex_get_sta_entry(priv, tp->peermac);
drivers/net/wireless/marvell/mwifiex/sta_event.c
395
if (sta_ptr && sta_ptr->tx_pause != tp->tx_pause) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
396
sta_ptr->tx_pause = tp->tx_pause;
drivers/net/wireless/marvell/mwifiex/sta_event.c
399
tp->peermac,
drivers/net/wireless/marvell/mwifiex/sta_event.c
400
tp->tx_pause);
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
201
struct ieee80211_channel *chan, s8 *tp)
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
227
*tp = target_power + mt76x0_get_delta(dev);
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
268
*tp = data >> (8 * idx);
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
269
if (*tp < 0 || *tp > 0x3f)
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
270
*tp = 5;
drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.h
24
struct ieee80211_channel *chan, s8 *tp);
drivers/net/wireless/mediatek/mt76/mt76x0/init.c
221
s8 tp;
drivers/net/wireless/mediatek/mt76/mt76x0/init.c
228
mt76x0_get_power_info(dev, chan, &tp);
drivers/net/wireless/mediatek/mt76/mt76x0/init.c
230
chan->orig_mpwr = (mt76x02_get_max_rate_power(&t) + tp) / 2;
drivers/net/wireless/realtek/rtw88/main.h
672
DECLARE_EWMA(tp, 10, 2);
drivers/net/wireless/realtek/rtw89/core.h
1516
DECLARE_EWMA(tp, 10, 2);
drivers/net/wireless/realtek/rtw89/core.h
2808
__le16 tp;
drivers/net/wireless/realtek/rtw89/core.h
2826
__le16 tp;
drivers/pinctrl/intel/pinctrl-tangier.c
101
family = tng_get_family(tp, pin);
drivers/pinctrl/intel/pinctrl-tangier.c
109
static int tng_read_bufcfg(struct tng_pinctrl *tp, unsigned int pin, u32 *value)
drivers/pinctrl/intel/pinctrl-tangier.c
113
if (!tng_buf_available(tp, pin))
drivers/pinctrl/intel/pinctrl-tangier.c
116
bufcfg = tng_get_bufcfg(tp, pin);
drivers/pinctrl/intel/pinctrl-tangier.c
122
static void tng_update_bufcfg(struct tng_pinctrl *tp, unsigned int pin,
drivers/pinctrl/intel/pinctrl-tangier.c
128
bufcfg = tng_get_bufcfg(tp, pin);
drivers/pinctrl/intel/pinctrl-tangier.c
137
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
139
return tp->ngroups;
drivers/pinctrl/intel/pinctrl-tangier.c
145
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
147
return tp->groups[group].grp.name;
drivers/pinctrl/intel/pinctrl-tangier.c
153
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
155
*pins = tp->groups[group].grp.pins;
drivers/pinctrl/intel/pinctrl-tangier.c
156
*npins = tp->groups[group].grp.npins;
drivers/pinctrl/intel/pinctrl-tangier.c
163
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
167
ret = tng_read_bufcfg(tp, pin, &value);
drivers/pinctrl/intel/pinctrl-tangier.c
191
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
193
return tp->nfunctions;
drivers/pinctrl/intel/pinctrl-tangier.c
199
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
201
return tp->functions[function].func.name;
drivers/pinctrl/intel/pinctrl-tangier.c
209
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
211
*groups = tp->functions[function].func.groups;
drivers/pinctrl/intel/pinctrl-tangier.c
212
*ngroups = tp->functions[function].func.ngroups;
drivers/pinctrl/intel/pinctrl-tangier.c
220
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
221
const struct intel_pingroup *grp = &tp->groups[group];
drivers/pinctrl/intel/pinctrl-tangier.c
231
if (!tng_buf_available(tp, grp->grp.pins[i]))
drivers/pinctrl/intel/pinctrl-tangier.c
235
guard(raw_spinlock_irqsave)(&tp->lock);
drivers/pinctrl/intel/pinctrl-tangier.c
239
tng_update_bufcfg(tp, grp->grp.pins[i], bits, mask);
drivers/pinctrl/intel/pinctrl-tangier.c
248
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
252
if (!tng_buf_available(tp, pin))
drivers/pinctrl/intel/pinctrl-tangier.c
255
guard(raw_spinlock_irqsave)(&tp->lock);
drivers/pinctrl/intel/pinctrl-tangier.c
257
tng_update_bufcfg(tp, pin, bits, mask);
drivers/pinctrl/intel/pinctrl-tangier.c
273
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
279
ret = tng_read_bufcfg(tp, pin, &value);
drivers/pinctrl/intel/pinctrl-tangier.c
356
static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
drivers/pinctrl/intel/pinctrl-tangier.c
433
guard(raw_spinlock_irqsave)(&tp->lock);
drivers/pinctrl/intel/pinctrl-tangier.c
435
tng_update_bufcfg(tp, pin, value, mask);
drivers/pinctrl/intel/pinctrl-tangier.c
443
struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
447
if (!tng_buf_available(tp, pin))
drivers/pinctrl/intel/pinctrl-tangier.c
458
ret = tng_config_set_pin(tp, pin, configs[i]);
drivers/pinctrl/intel/pinctrl-tangier.c
526
struct tng_pinctrl *tp;
drivers/pinctrl/intel/pinctrl-tangier.c
534
tp = devm_kmemdup(dev, data, sizeof(*data), GFP_KERNEL);
drivers/pinctrl/intel/pinctrl-tangier.c
535
if (!tp)
drivers/pinctrl/intel/pinctrl-tangier.c
538
tp->dev = dev;
drivers/pinctrl/intel/pinctrl-tangier.c
539
raw_spin_lock_init(&tp->lock);
drivers/pinctrl/intel/pinctrl-tangier.c
549
families = devm_kmemdup_array(dev, tp->families, tp->nfamilies,
drivers/pinctrl/intel/pinctrl-tangier.c
550
sizeof(*tp->families), GFP_KERNEL);
drivers/pinctrl/intel/pinctrl-tangier.c
555
for (i = 0; i < tp->nfamilies; i++) {
drivers/pinctrl/intel/pinctrl-tangier.c
561
tp->families = families;
drivers/pinctrl/intel/pinctrl-tangier.c
562
tp->pctldesc = tng_pinctrl_desc;
drivers/pinctrl/intel/pinctrl-tangier.c
563
tp->pctldesc.name = dev_name(dev);
drivers/pinctrl/intel/pinctrl-tangier.c
564
tp->pctldesc.pins = tp->pins;
drivers/pinctrl/intel/pinctrl-tangier.c
565
tp->pctldesc.npins = tp->npins;
drivers/pinctrl/intel/pinctrl-tangier.c
567
tp->pctldev = devm_pinctrl_register(dev, &tp->pctldesc, tp);
drivers/pinctrl/intel/pinctrl-tangier.c
568
if (IS_ERR(tp->pctldev))
drivers/pinctrl/intel/pinctrl-tangier.c
569
return PTR_ERR(tp->pctldev);
drivers/pinctrl/intel/pinctrl-tangier.c
68
static const struct tng_family *tng_get_family(struct tng_pinctrl *tp,
drivers/pinctrl/intel/pinctrl-tangier.c
74
for (i = 0; i < tp->nfamilies; i++) {
drivers/pinctrl/intel/pinctrl-tangier.c
75
family = &tp->families[i];
drivers/pinctrl/intel/pinctrl-tangier.c
81
dev_warn(tp->dev, "failed to find family for pin %u\n", pin);
drivers/pinctrl/intel/pinctrl-tangier.c
85
static bool tng_buf_available(struct tng_pinctrl *tp, unsigned int pin)
drivers/pinctrl/intel/pinctrl-tangier.c
89
family = tng_get_family(tp, pin);
drivers/pinctrl/intel/pinctrl-tangier.c
96
static void __iomem *tng_get_bufcfg(struct tng_pinctrl *tp, unsigned int pin)
drivers/platform/surface/surface_platform_profile.c
161
enum ssam_tmp_profile tp;
drivers/platform/surface/surface_platform_profile.c
166
status = ssam_tmp_profile_get(tpd->sdev, &tp);
drivers/platform/surface/surface_platform_profile.c
170
status = convert_ssam_tmp_to_profile(tpd->sdev, tp);
drivers/platform/surface/surface_platform_profile.c
182
int tp;
drivers/platform/surface/surface_platform_profile.c
186
tp = convert_profile_to_ssam_tmp(tpd->sdev, profile);
drivers/platform/surface/surface_platform_profile.c
187
if (tp < 0)
drivers/platform/surface/surface_platform_profile.c
188
return tp;
drivers/platform/surface/surface_platform_profile.c
190
tp = ssam_tmp_profile_set(tpd->sdev, tp);
drivers/platform/surface/surface_platform_profile.c
191
if (tp < 0)
drivers/platform/surface/surface_platform_profile.c
192
return tp;
drivers/platform/surface/surface_platform_profile.c
195
tp = convert_profile_to_ssam_fan(tpd->sdev, profile);
drivers/platform/surface/surface_platform_profile.c
196
if (tp < 0)
drivers/platform/surface/surface_platform_profile.c
197
return tp;
drivers/platform/surface/surface_platform_profile.c
198
tp = ssam_fan_profile_set(tpd->sdev, tp);
drivers/platform/surface/surface_platform_profile.c
201
return tp;
drivers/platform/x86/acer-wmi.c
2106
u8 tp;
drivers/platform/x86/acer-wmi.c
2109
err = WMID_gaming_get_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PROFILE, &tp);
drivers/platform/x86/acer-wmi.c
2113
switch (tp) {
drivers/platform/x86/acer-wmi.c
2140
int err, tp;
drivers/platform/x86/acer-wmi.c
2144
tp = ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO;
drivers/platform/x86/acer-wmi.c
2147
tp = ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE;
drivers/platform/x86/acer-wmi.c
2150
tp = ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED;
drivers/platform/x86/acer-wmi.c
2153
tp = ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET;
drivers/platform/x86/acer-wmi.c
2156
tp = ACER_PREDATOR_V4_THERMAL_PROFILE_ECO;
drivers/platform/x86/acer-wmi.c
2162
err = WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PROFILE, tp);
drivers/platform/x86/acer-wmi.c
2166
if (tp != ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO)
drivers/platform/x86/acer-wmi.c
2167
last_non_turbo_profile = tp;
drivers/platform/x86/acer-wmi.c
2214
int err, tp;
drivers/platform/x86/acer-wmi.c
2225
tp = last_non_turbo_profile;
drivers/platform/x86/acer-wmi.c
2227
tp = ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO;
drivers/platform/x86/acer-wmi.c
2230
ACER_WMID_MISC_SETTING_PLATFORM_PROFILE, tp);
drivers/platform/x86/amd/pmf/cnqf.c
100
struct cnqf_tran_params *tp;
drivers/platform/x86/amd/pmf/cnqf.c
102
tp = &config_store.trans_param[src][CNQF_TRANSITION_TO_QUIET];
drivers/platform/x86/amd/pmf/cnqf.c
104
tp->power_threshold = ts->power_floor;
drivers/platform/x86/amd/pmf/cnqf.c
106
tp = &config_store.trans_param[src][CNQF_TRANSITION_TO_TURBO];
drivers/platform/x86/amd/pmf/cnqf.c
108
tp->power_threshold = ts->power_floor;
drivers/platform/x86/amd/pmf/cnqf.c
110
tp = &config_store.trans_param[src][CNQF_TRANSITION_FROM_BALANCE_TO_PERFORMANCE];
drivers/platform/x86/amd/pmf/cnqf.c
112
tp->power_threshold = ts->power_floor;
drivers/platform/x86/amd/pmf/cnqf.c
114
tp = &config_store.trans_param[src][CNQF_TRANSITION_FROM_PERFORMANCE_TO_BALANCE];
drivers/platform/x86/amd/pmf/cnqf.c
116
tp->power_threshold = ts->power_floor;
drivers/platform/x86/amd/pmf/cnqf.c
118
tp = &config_store.trans_param[src][CNQF_TRANSITION_FROM_QUIET_TO_BALANCE];
drivers/platform/x86/amd/pmf/cnqf.c
120
tp->power_threshold = ts->power_floor;
drivers/platform/x86/amd/pmf/cnqf.c
122
tp = &config_store.trans_param[src][CNQF_TRANSITION_FROM_TURBO_TO_PERFORMANCE];
drivers/platform/x86/amd/pmf/cnqf.c
124
tp->power_threshold = ts->power_floor;
drivers/platform/x86/amd/pmf/cnqf.c
156
struct cnqf_tran_params *tp;
drivers/platform/x86/amd/pmf/cnqf.c
178
tp = &config_store.trans_param[src][i];
drivers/platform/x86/amd/pmf/cnqf.c
186
if (tp->timer >= tp->time_constant && tp->count) {
drivers/platform/x86/amd/pmf/cnqf.c
187
avg_power = tp->total_power / tp->count;
drivers/platform/x86/amd/pmf/cnqf.c
190
tp->timer = 0;
drivers/platform/x86/amd/pmf/cnqf.c
191
tp->total_power = 0;
drivers/platform/x86/amd/pmf/cnqf.c
192
tp->count = 0;
drivers/platform/x86/amd/pmf/cnqf.c
194
if ((tp->shifting_up && avg_power >= tp->power_threshold) ||
drivers/platform/x86/amd/pmf/cnqf.c
195
(!tp->shifting_up && avg_power <= tp->power_threshold)) {
drivers/platform/x86/amd/pmf/cnqf.c
196
tp->priority = true;
drivers/platform/x86/amd/pmf/cnqf.c
198
tp->priority = false;
drivers/platform/x86/amd/pmf/cnqf.c
238
struct cnqf_tran_params *tp;
drivers/platform/x86/amd/pmf/cnqf.c
240
tp = &config_store.trans_param[idx][CNQF_TRANSITION_TO_QUIET];
drivers/platform/x86/amd/pmf/cnqf.c
241
tp->time_constant = out->t_balanced_to_quiet;
drivers/platform/x86/amd/pmf/cnqf.c
242
tp->target_mode = CNQF_MODE_QUIET;
drivers/platform/x86/amd/pmf/cnqf.c
243
tp->shifting_up = false;
drivers/platform/x86/amd/pmf/cnqf.c
245
tp = &config_store.trans_param[idx][CNQF_TRANSITION_FROM_BALANCE_TO_PERFORMANCE];
drivers/platform/x86/amd/pmf/cnqf.c
246
tp->time_constant = out->t_balanced_to_perf;
drivers/platform/x86/amd/pmf/cnqf.c
247
tp->target_mode = CNQF_MODE_PERFORMANCE;
drivers/platform/x86/amd/pmf/cnqf.c
248
tp->shifting_up = true;
drivers/platform/x86/amd/pmf/cnqf.c
250
tp = &config_store.trans_param[idx][CNQF_TRANSITION_FROM_QUIET_TO_BALANCE];
drivers/platform/x86/amd/pmf/cnqf.c
251
tp->time_constant = out->t_quiet_to_balanced;
drivers/platform/x86/amd/pmf/cnqf.c
252
tp->target_mode = CNQF_MODE_BALANCE;
drivers/platform/x86/amd/pmf/cnqf.c
253
tp->shifting_up = true;
drivers/platform/x86/amd/pmf/cnqf.c
255
tp = &config_store.trans_param[idx][CNQF_TRANSITION_FROM_PERFORMANCE_TO_BALANCE];
drivers/platform/x86/amd/pmf/cnqf.c
256
tp->time_constant = out->t_perf_to_balanced;
drivers/platform/x86/amd/pmf/cnqf.c
257
tp->target_mode = CNQF_MODE_BALANCE;
drivers/platform/x86/amd/pmf/cnqf.c
258
tp->shifting_up = false;
drivers/platform/x86/amd/pmf/cnqf.c
260
tp = &config_store.trans_param[idx][CNQF_TRANSITION_FROM_TURBO_TO_PERFORMANCE];
drivers/platform/x86/amd/pmf/cnqf.c
261
tp->time_constant = out->t_turbo_to_perf;
drivers/platform/x86/amd/pmf/cnqf.c
262
tp->target_mode = CNQF_MODE_PERFORMANCE;
drivers/platform/x86/amd/pmf/cnqf.c
263
tp->shifting_up = false;
drivers/platform/x86/amd/pmf/cnqf.c
265
tp = &config_store.trans_param[idx][CNQF_TRANSITION_TO_TURBO];
drivers/platform/x86/amd/pmf/cnqf.c
266
tp->time_constant = out->t_perf_to_turbo;
drivers/platform/x86/amd/pmf/cnqf.c
267
tp->target_mode = CNQF_MODE_TURBO;
drivers/platform/x86/amd/pmf/cnqf.c
268
tp->shifting_up = true;
drivers/platform/x86/asus-wmi.c
4182
int tp;
drivers/platform/x86/asus-wmi.c
4185
tp = asus->throttle_thermal_policy_mode;
drivers/platform/x86/asus-wmi.c
4187
switch (tp) {
drivers/platform/x86/asus-wmi.c
4208
int tp;
drivers/platform/x86/asus-wmi.c
4214
tp = ASUS_THROTTLE_THERMAL_POLICY_OVERBOOST;
drivers/platform/x86/asus-wmi.c
4217
tp = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
drivers/platform/x86/asus-wmi.c
4220
tp = ASUS_THROTTLE_THERMAL_POLICY_SILENT;
drivers/platform/x86/asus-wmi.c
4226
asus->throttle_thermal_policy_mode = tp;
drivers/platform/x86/hp/hp-wmi.c
1509
int tp;
drivers/platform/x86/hp/hp-wmi.c
1511
tp = omen_thermal_profile_get();
drivers/platform/x86/hp/hp-wmi.c
1512
if (tp < 0)
drivers/platform/x86/hp/hp-wmi.c
1513
return tp;
drivers/platform/x86/hp/hp-wmi.c
1515
switch (tp) {
drivers/platform/x86/hp/hp-wmi.c
1580
int err, tp, tp_version;
drivers/platform/x86/hp/hp-wmi.c
1591
tp = HP_OMEN_V0_THERMAL_PROFILE_PERFORMANCE;
drivers/platform/x86/hp/hp-wmi.c
1593
tp = HP_OMEN_V1_THERMAL_PROFILE_PERFORMANCE;
drivers/platform/x86/hp/hp-wmi.c
1597
tp = HP_OMEN_V0_THERMAL_PROFILE_DEFAULT;
drivers/platform/x86/hp/hp-wmi.c
1599
tp = HP_OMEN_V1_THERMAL_PROFILE_DEFAULT;
drivers/platform/x86/hp/hp-wmi.c
1603
tp = HP_OMEN_V0_THERMAL_PROFILE_COOL;
drivers/platform/x86/hp/hp-wmi.c
1605
tp = HP_OMEN_V1_THERMAL_PROFILE_COOL;
drivers/platform/x86/hp/hp-wmi.c
1611
err = omen_thermal_profile_set(tp);
drivers/platform/x86/hp/hp-wmi.c
1662
int tp;
drivers/platform/x86/hp/hp-wmi.c
1664
tp = thermal_profile_get();
drivers/platform/x86/hp/hp-wmi.c
1665
if (tp < 0)
drivers/platform/x86/hp/hp-wmi.c
1666
return tp;
drivers/platform/x86/hp/hp-wmi.c
1668
switch (tp) {
drivers/platform/x86/hp/hp-wmi.c
1691
int err, tp;
drivers/platform/x86/hp/hp-wmi.c
1695
tp = HP_THERMAL_PROFILE_PERFORMANCE;
drivers/platform/x86/hp/hp-wmi.c
1698
tp = HP_THERMAL_PROFILE_DEFAULT;
drivers/platform/x86/hp/hp-wmi.c
1701
tp = HP_THERMAL_PROFILE_COOL;
drivers/platform/x86/hp/hp-wmi.c
1704
tp = HP_THERMAL_PROFILE_QUIET;
drivers/platform/x86/hp/hp-wmi.c
1710
err = thermal_profile_set(tp);
drivers/platform/x86/hp/hp-wmi.c
1731
int tp;
drivers/platform/x86/hp/hp-wmi.c
1733
tp = omen_thermal_profile_get();
drivers/platform/x86/hp/hp-wmi.c
1734
if (tp < 0)
drivers/platform/x86/hp/hp-wmi.c
1735
return tp;
drivers/platform/x86/hp/hp-wmi.c
1737
switch (tp) {
drivers/platform/x86/hp/hp-wmi.c
1763
int err, tp;
drivers/platform/x86/hp/hp-wmi.c
1767
tp = HP_VICTUS_THERMAL_PROFILE_PERFORMANCE;
drivers/platform/x86/hp/hp-wmi.c
1770
tp = HP_VICTUS_THERMAL_PROFILE_DEFAULT;
drivers/platform/x86/hp/hp-wmi.c
1773
tp = HP_VICTUS_THERMAL_PROFILE_QUIET;
drivers/platform/x86/hp/hp-wmi.c
1779
err = omen_thermal_profile_set(tp);
drivers/platform/x86/hp/hp-wmi.c
1874
u8 current_dstate, current_gpu_slowdown_temp, tp;
drivers/platform/x86/hp/hp-wmi.c
1884
ret = ec_read(params->ec_tp_offset, &tp);
drivers/platform/x86/hp/hp-wmi.c
1894
if (tp == victus_s_thermal_params.performance ||
drivers/platform/x86/hp/hp-wmi.c
1895
tp == omen_v1_thermal_params.performance) {
drivers/platform/x86/hp/hp-wmi.c
1897
} else if (tp == victus_s_thermal_params.balanced ||
drivers/platform/x86/hp/hp-wmi.c
1898
tp == omen_v1_thermal_params.balanced) {
drivers/platform/x86/hp/hp-wmi.c
1930
int err, tp;
drivers/platform/x86/hp/hp-wmi.c
1938
tp = params->performance;
drivers/platform/x86/hp/hp-wmi.c
1944
tp = params->balanced;
drivers/platform/x86/hp/hp-wmi.c
1950
tp = params->low_power;
drivers/platform/x86/hp/hp-wmi.c
1961
err = omen_thermal_profile_set(tp);
drivers/platform/x86/hp/hp-wmi.c
2198
int err, tp;
drivers/platform/x86/hp/hp-wmi.c
2253
tp = thermal_profile_get();
drivers/platform/x86/hp/hp-wmi.c
2255
if (tp < 0)
drivers/platform/x86/hp/hp-wmi.c
2256
return tp;
drivers/platform/x86/hp/hp-wmi.c
2262
err = thermal_profile_set(tp);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11720
struct thinkpad_id_data *tp)
drivers/platform/x86/lenovo/thinkpad_acpi.c
11727
if (!tp)
drivers/platform/x86/lenovo/thinkpad_acpi.c
11730
memset(tp, 0, sizeof(*tp));
drivers/platform/x86/lenovo/thinkpad_acpi.c
11733
tp->vendor = PCI_VENDOR_ID_IBM;
drivers/platform/x86/lenovo/thinkpad_acpi.c
11735
tp->vendor = PCI_VENDOR_ID_LENOVO;
drivers/platform/x86/lenovo/thinkpad_acpi.c
11737
tp->vendor = PCI_VENDOR_ID_LENOVO;
drivers/platform/x86/lenovo/thinkpad_acpi.c
11742
tp->bios_version_str = kstrdup(s, GFP_KERNEL);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11743
if (s && !tp->bios_version_str)
drivers/platform/x86/lenovo/thinkpad_acpi.c
11747
t = tpacpi_parse_fw_id(tp->bios_version_str,
drivers/platform/x86/lenovo/thinkpad_acpi.c
11748
&tp->bios_model, &tp->bios_release);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11774
tp->ec_version_str = kstrdup(ec_fw_string, GFP_KERNEL);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11775
if (!tp->ec_version_str)
drivers/platform/x86/lenovo/thinkpad_acpi.c
11779
&tp->ec_model, &tp->ec_release);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11789
tp->model_str = kstrdup(s, GFP_KERNEL);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11790
if (!tp->model_str)
drivers/platform/x86/lenovo/thinkpad_acpi.c
11795
tp->model_str = kstrdup(s, GFP_KERNEL);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11796
if (!tp->model_str)
drivers/platform/x86/lenovo/thinkpad_acpi.c
11802
tp->nummodel_str = kstrdup(s, GFP_KERNEL);
drivers/platform/x86/lenovo/thinkpad_acpi.c
11803
if (s && !tp->nummodel_str)
drivers/power/supply/power_supply_leds.c
42
struct led_trigger **tp, int *err)
drivers/power/supply/power_supply_leds.c
66
*tp = &psy_trig->trig;
drivers/ptp/ptp_clock.c
104
if (!timespec64_valid_settod(tp))
drivers/ptp/ptp_clock.c
107
return ptp->info->settime64(ptp->info, tp);
drivers/ptp/ptp_clock.c
110
static int ptp_clock_gettime(struct posix_clock *pc, struct timespec64 *tp)
drivers/ptp/ptp_clock.c
116
err = ptp->info->gettimex64(ptp->info, tp, NULL);
drivers/ptp/ptp_clock.c
118
err = ptp->info->gettime64(ptp->info, tp);
drivers/ptp/ptp_clock.c
88
static int ptp_clock_getres(struct posix_clock *pc, struct timespec64 *tp)
drivers/ptp/ptp_clock.c
90
tp->tv_sec = 0;
drivers/ptp/ptp_clock.c
91
tp->tv_nsec = 1;
drivers/ptp/ptp_clock.c
95
static int ptp_clock_settime(struct posix_clock *pc, const struct timespec64 *tp)
drivers/s390/char/con3270.c
1000
tty3270_blank_screen(tp);
drivers/s390/char/con3270.c
1001
oscreen = tp->screen;
drivers/s390/char/con3270.c
1002
tp->screen = screen;
drivers/s390/char/con3270.c
1003
tp->allocated_lines = new_allocated;
drivers/s390/char/con3270.c
1004
tp->view.rows = new_rows;
drivers/s390/char/con3270.c
1005
tp->view.cols = new_cols;
drivers/s390/char/con3270.c
1006
tp->view.model = new_model;
drivers/s390/char/con3270.c
1007
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
1008
old_input = tp->input;
drivers/s390/char/con3270.c
1009
old_prompt = tp->prompt;
drivers/s390/char/con3270.c
1010
old_rcl_lines = tp->rcl_lines;
drivers/s390/char/con3270.c
1011
tp->input = new_input;
drivers/s390/char/con3270.c
1012
tp->prompt = new_prompt;
drivers/s390/char/con3270.c
1013
tp->prompt_sz = prompt_sz;
drivers/s390/char/con3270.c
1014
tp->rcl_lines = new_rcl_lines;
drivers/s390/char/con3270.c
1015
tp->rcl_read_index = 0;
drivers/s390/char/con3270.c
1016
tp->rcl_write_index = 0;
drivers/s390/char/con3270.c
1017
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
1022
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
1024
scoped_guard(tty_port_tty, &tp->port) {
drivers/s390/char/con3270.c
1026
.ws_row = tty3270_tty_rows(tp),
drivers/s390/char/con3270.c
1027
.ws_col = tp->view.cols,
drivers/s390/char/con3270.c
1045
struct tty3270 *tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
1046
struct tty_struct *tty = tty_port_tty_get(&tp->port);
drivers/s390/char/con3270.c
1050
tty_port_tty_set(&tp->port, NULL);
drivers/s390/char/con3270.c
1052
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
1062
struct tty3270 *tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
1064
timer_delete_sync(&tp->timer);
drivers/s390/char/con3270.c
1065
tty3270_free_screen(tp->screen, tp->allocated_lines);
drivers/s390/char/con3270.c
1066
kfree(tp->converted_line);
drivers/s390/char/con3270.c
1067
kfree(tp->input);
drivers/s390/char/con3270.c
1068
kfree(tp->prompt);
drivers/s390/char/con3270.c
1069
tty3270_free_view(tp);
drivers/s390/char/con3270.c
1099
struct tty3270 *tp;
drivers/s390/char/con3270.c
1107
tp = tty3270_alloc_view();
drivers/s390/char/con3270.c
1108
if (IS_ERR(tp))
drivers/s390/char/con3270.c
1109
return PTR_ERR(tp);
drivers/s390/char/con3270.c
1111
rc = raw3270_add_view(&tp->view, &tty3270_fn,
drivers/s390/char/con3270.c
1117
tp->screen = tty3270_alloc_screen(tp, tp->view.rows, tp->view.cols,
drivers/s390/char/con3270.c
1118
&tp->allocated_lines);
drivers/s390/char/con3270.c
1119
if (IS_ERR(tp->screen)) {
drivers/s390/char/con3270.c
1120
rc = PTR_ERR(tp->screen);
drivers/s390/char/con3270.c
1124
tp->converted_line = kmalloc(PAGE_SIZE, GFP_KERNEL);
drivers/s390/char/con3270.c
1125
if (!tp->converted_line) {
drivers/s390/char/con3270.c
1130
prompt_sz = tty3270_input_size(tp->view.cols);
drivers/s390/char/con3270.c
1131
tp->input = kzalloc(prompt_sz, GFP_KERNEL | GFP_DMA);
drivers/s390/char/con3270.c
1132
if (!tp->input) {
drivers/s390/char/con3270.c
1137
tp->prompt = kzalloc(prompt_sz, GFP_KERNEL);
drivers/s390/char/con3270.c
1138
if (!tp->prompt) {
drivers/s390/char/con3270.c
1142
tp->prompt_sz = prompt_sz;
drivers/s390/char/con3270.c
1144
tp->rcl_lines = tty3270_alloc_recall(tp->view.cols);
drivers/s390/char/con3270.c
1145
if (!tp->rcl_lines) {
drivers/s390/char/con3270.c
1151
tty3270_blank_screen(tp);
drivers/s390/char/con3270.c
1153
tp->kbd->port = &tp->port;
drivers/s390/char/con3270.c
1154
tp->kbd->fn_handler[KVAL(K_INCRCONSOLE)] = tty3270_exit_tty;
drivers/s390/char/con3270.c
1155
tp->kbd->fn_handler[KVAL(K_SCROLLBACK)] = tty3270_scroll_backward;
drivers/s390/char/con3270.c
1156
tp->kbd->fn_handler[KVAL(K_SCROLLFORW)] = tty3270_scroll_forward;
drivers/s390/char/con3270.c
1157
tp->kbd->fn_handler[KVAL(K_CONS)] = tty3270_rcl_backward;
drivers/s390/char/con3270.c
1158
kbd_ascebc(tp->kbd, tp->view.ascebc);
drivers/s390/char/con3270.c
1160
raw3270_activate_view(&tp->view);
drivers/s390/char/con3270.c
1161
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
1162
*newtp = tp;
drivers/s390/char/con3270.c
1166
kfree(tp->prompt);
drivers/s390/char/con3270.c
1168
kfree(tp->input);
drivers/s390/char/con3270.c
1170
kfree(tp->converted_line);
drivers/s390/char/con3270.c
1172
tty3270_free_screen(tp->screen, tp->view.rows);
drivers/s390/char/con3270.c
1174
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
1175
raw3270_del_view(&tp->view);
drivers/s390/char/con3270.c
1177
tty3270_free_view(tp);
drivers/s390/char/con3270.c
1188
struct tty3270 *tp;
drivers/s390/char/con3270.c
1194
rc = tty3270_create_view(tty->index, &tp);
drivers/s390/char/con3270.c
1198
tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
1199
tty->driver_data = tp;
drivers/s390/char/con3270.c
1200
tp->inattr = TF_INPUT;
drivers/s390/char/con3270.c
1203
tty->winsize.ws_row = tty3270_tty_rows(tp);
drivers/s390/char/con3270.c
1204
tty->winsize.ws_col = tp->view.cols;
drivers/s390/char/con3270.c
1205
rc = tty_port_install(&tp->port, driver, tty);
drivers/s390/char/con3270.c
1207
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
1210
tty->driver_data = tp;
drivers/s390/char/con3270.c
1219
struct tty3270 *tp = tty->driver_data;
drivers/s390/char/con3270.c
1220
struct tty_port *port = &tp->port;
drivers/s390/char/con3270.c
1233
struct tty3270 *tp = tty->driver_data;
drivers/s390/char/con3270.c
1237
if (tp)
drivers/s390/char/con3270.c
1238
tty_port_tty_set(&tp->port, NULL);
drivers/s390/char/con3270.c
1243
struct tty3270 *tp = tty->driver_data;
drivers/s390/char/con3270.c
1245
if (tp) {
drivers/s390/char/con3270.c
1247
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
1263
static void tty3270_put_character(struct tty3270 *tp, u8 ch)
drivers/s390/char/con3270.c
1268
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
1269
if (line->len <= tp->cx) {
drivers/s390/char/con3270.c
1270
while (line->len < tp->cx) {
drivers/s390/char/con3270.c
1273
cell->attributes = tp->attributes;
drivers/s390/char/con3270.c
1278
cell = line->cells + tp->cx;
drivers/s390/char/con3270.c
1280
cell->attributes = tp->attributes;
drivers/s390/char/con3270.c
1287
static void tty3270_cr(struct tty3270 *tp)
drivers/s390/char/con3270.c
1289
tp->cx = 0;
drivers/s390/char/con3270.c
1295
static void tty3270_lf(struct tty3270 *tp)
drivers/s390/char/con3270.c
1300
if (tp->cy < tty3270_tty_rows(tp) - 1) {
drivers/s390/char/con3270.c
1301
tp->cy++;
drivers/s390/char/con3270.c
1303
tp->line_view_start = tty3270_line_increment(tp, tp->line_view_start, 1);
drivers/s390/char/con3270.c
1304
tp->line_write_start = tty3270_line_increment(tp, tp->line_write_start, 1);
drivers/s390/char/con3270.c
1305
for (i = 0; i < tty3270_tty_rows(tp); i++)
drivers/s390/char/con3270.c
1306
tty3270_get_view_line(tp, i)->dirty = 1;
drivers/s390/char/con3270.c
1309
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
1314
static void tty3270_ri(struct tty3270 *tp)
drivers/s390/char/con3270.c
1316
if (tp->cy > 0)
drivers/s390/char/con3270.c
1317
tp->cy--;
drivers/s390/char/con3270.c
1320
static void tty3270_reset_cell(struct tty3270 *tp, struct tty3270_cell *cell)
drivers/s390/char/con3270.c
1329
static void tty3270_insert_characters(struct tty3270 *tp, int n)
drivers/s390/char/con3270.c
1334
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
1335
while (line->len < tp->cx)
drivers/s390/char/con3270.c
1336
tty3270_reset_cell(tp, &line->cells[line->len++]);
drivers/s390/char/con3270.c
1337
if (n > tp->view.cols - tp->cx)
drivers/s390/char/con3270.c
1338
n = tp->view.cols - tp->cx;
drivers/s390/char/con3270.c
1339
k = min_t(int, line->len - tp->cx, tp->view.cols - tp->cx - n);
drivers/s390/char/con3270.c
1341
line->cells[tp->cx + n + k] = line->cells[tp->cx + k];
drivers/s390/char/con3270.c
1343
if (line->len > tp->view.cols)
drivers/s390/char/con3270.c
1344
line->len = tp->view.cols;
drivers/s390/char/con3270.c
1346
line->cells[tp->cx + n].character = ' ';
drivers/s390/char/con3270.c
1347
line->cells[tp->cx + n].attributes = tp->attributes;
drivers/s390/char/con3270.c
1354
static void tty3270_delete_characters(struct tty3270 *tp, int n)
drivers/s390/char/con3270.c
1359
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
1360
if (line->len <= tp->cx)
drivers/s390/char/con3270.c
1362
if (line->len - tp->cx <= n) {
drivers/s390/char/con3270.c
1363
line->len = tp->cx;
drivers/s390/char/con3270.c
1366
for (i = tp->cx; i + n < line->len; i++)
drivers/s390/char/con3270.c
1374
static void tty3270_erase_characters(struct tty3270 *tp, int n)
drivers/s390/char/con3270.c
1379
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
1380
while (line->len > tp->cx && n-- > 0) {
drivers/s390/char/con3270.c
1381
cell = line->cells + tp->cx++;
drivers/s390/char/con3270.c
1382
tty3270_reset_cell(tp, cell);
drivers/s390/char/con3270.c
1384
tp->cx += n;
drivers/s390/char/con3270.c
1385
tp->cx = min_t(int, tp->cx, tp->view.cols - 1);
drivers/s390/char/con3270.c
1394
static void tty3270_erase_line(struct tty3270 *tp, int mode)
drivers/s390/char/con3270.c
1400
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
1404
start = tp->cx;
drivers/s390/char/con3270.c
1405
end = tp->view.cols;
drivers/s390/char/con3270.c
1409
end = tp->cx;
drivers/s390/char/con3270.c
141
static void tty3270_set_timer(struct tty3270 *tp, int expires)
drivers/s390/char/con3270.c
1413
end = tp->view.cols;
drivers/s390/char/con3270.c
1421
tty3270_reset_cell(tp, cell);
drivers/s390/char/con3270.c
1422
cell->attributes.b_color = tp->attributes.b_color;
drivers/s390/char/con3270.c
143
mod_timer(&tp->timer, jiffies + expires);
drivers/s390/char/con3270.c
1435
static void tty3270_erase_display(struct tty3270 *tp, int mode)
drivers/s390/char/con3270.c
1442
tty3270_erase_line(tp, 0);
drivers/s390/char/con3270.c
1443
start = tp->cy + 1;
drivers/s390/char/con3270.c
1444
end = tty3270_tty_rows(tp);
drivers/s390/char/con3270.c
1448
end = tp->cy;
drivers/s390/char/con3270.c
1449
tty3270_erase_line(tp, 1);
drivers/s390/char/con3270.c
1453
end = tty3270_tty_rows(tp);
drivers/s390/char/con3270.c
1459
line = tty3270_get_write_line(tp, i);
drivers/s390/char/con3270.c
146
static int tty3270_tty_rows(struct tty3270 *tp)
drivers/s390/char/con3270.c
1469
static void tty3270_set_attributes(struct tty3270 *tp)
drivers/s390/char/con3270.c
1473
for (i = 0; i <= tp->esc_npar; i++) {
drivers/s390/char/con3270.c
1474
attr = tp->esc_par[i];
drivers/s390/char/con3270.c
1477
tty3270_reset_attributes(&tp->attributes);
drivers/s390/char/con3270.c
148
return tp->view.rows - TTY3270_INPUT_AREA_ROWS;
drivers/s390/char/con3270.c
1481
tp->attributes.highlight = TTY3270_HIGHLIGHT_UNDERSCORE;
drivers/s390/char/con3270.c
1484
tp->attributes.highlight = TTY3270_HIGHLIGHT_BLINK;
drivers/s390/char/con3270.c
1487
tp->attributes.highlight = TTY3270_HIGHLIGHT_REVERSE;
drivers/s390/char/con3270.c
1490
tp->attributes.highlight &= ~TTY3270_HIGHLIGHT_UNDERSCORE;
drivers/s390/char/con3270.c
1493
tp->attributes.highlight &= ~TTY3270_HIGHLIGHT_BLINK;
drivers/s390/char/con3270.c
1496
tp->attributes.highlight &= ~TTY3270_HIGHLIGHT_REVERSE;
drivers/s390/char/con3270.c
1508
tp->attributes.f_color = attr - 30;
drivers/s390/char/con3270.c
151
static char *tty3270_add_ba(struct tty3270 *tp, char *cp, char order, int x, int y)
drivers/s390/char/con3270.c
1520
tp->attributes.b_color = attr - 40;
drivers/s390/char/con3270.c
1526
static inline int tty3270_getpar(struct tty3270 *tp, int ix)
drivers/s390/char/con3270.c
1528
return (tp->esc_par[ix] > 0) ? tp->esc_par[ix] : 1;
drivers/s390/char/con3270.c
1531
static void tty3270_goto_xy(struct tty3270 *tp, int cx, int cy)
drivers/s390/char/con3270.c
1538
tp->cx = min_t(int, tp->view.cols - 1, max_cx);
drivers/s390/char/con3270.c
1539
line = tty3270_get_write_line(tp, tp->cy);
drivers/s390/char/con3270.c
154
raw3270_buffer_address(tp->view.dev, cp, x, y);
drivers/s390/char/con3270.c
1540
while (line->len < tp->cx) {
drivers/s390/char/con3270.c
1543
cell->attributes = tp->attributes;
drivers/s390/char/con3270.c
1546
tp->cy = min_t(int, tty3270_tty_rows(tp) - 1, max_cy);
drivers/s390/char/con3270.c
1569
static void tty3270_escape_sequence(struct tty3270 *tp, u8 ch)
drivers/s390/char/con3270.c
1573
if (tp->esc_state == ES_NORMAL) {
drivers/s390/char/con3270.c
1576
tp->esc_state = ES_ESC;
drivers/s390/char/con3270.c
1579
if (tp->esc_state == ES_ESC) {
drivers/s390/char/con3270.c
158
static char *tty3270_add_ra(struct tty3270 *tp, char *cp, int x, int y, char c)
drivers/s390/char/con3270.c
1580
tp->esc_state = ES_NORMAL;
drivers/s390/char/con3270.c
1583
tp->esc_state = ES_SQUARE;
drivers/s390/char/con3270.c
1586
tp->esc_state = ES_PAREN;
drivers/s390/char/con3270.c
1589
tty3270_cr(tp);
drivers/s390/char/con3270.c
1590
tty3270_lf(tp);
drivers/s390/char/con3270.c
1593
tty3270_ri(tp);
drivers/s390/char/con3270.c
1596
tty3270_lf(tp);
drivers/s390/char/con3270.c
1599
kbd_puts_queue(&tp->port, "\033[?6c");
drivers/s390/char/con3270.c
160
cp = tty3270_add_ba(tp, cp, TO_RA, x, y);
drivers/s390/char/con3270.c
1602
tp->saved_cx = tp->cx;
drivers/s390/char/con3270.c
1603
tp->saved_cy = tp->cy;
drivers/s390/char/con3270.c
1604
tp->saved_attributes = tp->attributes;
drivers/s390/char/con3270.c
1607
tty3270_goto_xy(tp, tp->saved_cx, tp->saved_cy);
drivers/s390/char/con3270.c
1608
tp->attributes = tp->saved_attributes;
drivers/s390/char/con3270.c
1611
tp->cx = 0;
drivers/s390/char/con3270.c
1612
tp->cy = 0;
drivers/s390/char/con3270.c
1613
tp->saved_cx = 0;
drivers/s390/char/con3270.c
1614
tp->saved_cy = 0;
drivers/s390/char/con3270.c
1615
tty3270_reset_attributes(&tp->attributes);
drivers/s390/char/con3270.c
1616
tty3270_reset_attributes(&tp->saved_attributes);
drivers/s390/char/con3270.c
1617
tty3270_erase_display(tp, 2);
drivers/s390/char/con3270.c
1623
switch (tp->esc_state) {
drivers/s390/char/con3270.c
1625
tp->esc_state = ES_NORMAL;
drivers/s390/char/con3270.c
1628
tp->attributes.alternate_charset = 0;
drivers/s390/char/con3270.c
1631
tp->attributes.alternate_charset = 1;
drivers/s390/char/con3270.c
1636
tp->esc_state = ES_GETPARS;
drivers/s390/char/con3270.c
1637
memset(tp->esc_par, 0, sizeof(tp->esc_par));
drivers/s390/char/con3270.c
1638
tp->esc_npar = 0;
drivers/s390/char/con3270.c
1639
tp->esc_ques = (ch == '?');
drivers/s390/char/con3270.c
1640
if (tp->esc_ques)
drivers/s390/char/con3270.c
1644
if (ch == ';' && tp->esc_npar < ESCAPE_NPAR - 1) {
drivers/s390/char/con3270.c
1645
tp->esc_npar++;
drivers/s390/char/con3270.c
1649
tp->esc_par[tp->esc_npar] *= 10;
drivers/s390/char/con3270.c
165
static char *tty3270_add_sa(struct tty3270 *tp, char *cp, char attr, char value)
drivers/s390/char/con3270.c
1650
tp->esc_par[tp->esc_npar] += ch - '0';
drivers/s390/char/con3270.c
1657
tp->esc_state = ES_NORMAL;
drivers/s390/char/con3270.c
1658
if (ch == 'n' && !tp->esc_ques) {
drivers/s390/char/con3270.c
1659
if (tp->esc_par[0] == 5) /* Status report. */
drivers/s390/char/con3270.c
1660
kbd_puts_queue(&tp->port, "\033[0n");
drivers/s390/char/con3270.c
1661
else if (tp->esc_par[0] == 6) { /* Cursor report. */
drivers/s390/char/con3270.c
1664
scnprintf(buf, sizeof(buf), "\033[%d;%dR", tp->cy + 1, tp->cx + 1);
drivers/s390/char/con3270.c
1665
kbd_puts_queue(&tp->port, buf);
drivers/s390/char/con3270.c
1669
if (tp->esc_ques)
drivers/s390/char/con3270.c
1673
tty3270_set_attributes(tp);
drivers/s390/char/con3270.c
1677
tty3270_goto_xy(tp, tty3270_getpar(tp, 1) - 1,
drivers/s390/char/con3270.c
1678
tty3270_getpar(tp, 0) - 1);
drivers/s390/char/con3270.c
1681
tty3270_goto_xy(tp, tp->cx, tty3270_getpar(tp, 0) - 1);
drivers/s390/char/con3270.c
1685
tty3270_goto_xy(tp, tp->cx, tp->cy - tty3270_getpar(tp, 0));
drivers/s390/char/con3270.c
1690
tty3270_goto_xy(tp, tp->cx, tp->cy + tty3270_getpar(tp, 0));
drivers/s390/char/con3270.c
1694
tty3270_goto_xy(tp, tp->cx + tty3270_getpar(tp, 0), tp->cy);
drivers/s390/char/con3270.c
1697
tty3270_goto_xy(tp, tp->cx - tty3270_getpar(tp, 0), tp->cy);
drivers/s390/char/con3270.c
1701
tty3270_goto_xy(tp, tty3270_getpar(tp, 0), tp->cy);
drivers/s390/char/con3270.c
1704
tty3270_erase_characters(tp, tty3270_getpar(tp, 0));
drivers/s390/char/con3270.c
1707
tty3270_erase_display(tp, tp->esc_par[0]);
drivers/s390/char/con3270.c
1710
tty3270_erase_line(tp, tp->esc_par[0]);
drivers/s390/char/con3270.c
1713
tty3270_delete_characters(tp, tty3270_getpar(tp, 0));
drivers/s390/char/con3270.c
1716
tty3270_insert_characters(tp, tty3270_getpar(tp, 0));
drivers/s390/char/con3270.c
1719
tp->saved_cx = tp->cx;
drivers/s390/char/con3270.c
1720
tp->saved_cy = tp->cy;
drivers/s390/char/con3270.c
1721
tp->saved_attributes = tp->attributes;
drivers/s390/char/con3270.c
1724
tty3270_goto_xy(tp, tp->saved_cx, tp->saved_cy);
drivers/s390/char/con3270.c
1725
tp->attributes = tp->saved_attributes;
drivers/s390/char/con3270.c
173
static char *tty3270_add_ge(struct tty3270 *tp, char *cp, char c)
drivers/s390/char/con3270.c
1733
static void tty3270_do_write(struct tty3270 *tp, struct tty_struct *tty,
drivers/s390/char/con3270.c
1738
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
1740
if (tp->esc_state != 0) {
drivers/s390/char/con3270.c
1742
tty3270_escape_sequence(tp, buf[i_msg]);
drivers/s390/char/con3270.c
1750
tp->wcc |= TW_PLUSALARM;
drivers/s390/char/con3270.c
1753
if (tp->cx > 0) {
drivers/s390/char/con3270.c
1754
tp->cx--;
drivers/s390/char/con3270.c
1755
tty3270_put_character(tp, ' ');
drivers/s390/char/con3270.c
1759
for (i = tp->cx % 8; i < 8; i++) {
drivers/s390/char/con3270.c
1760
if (tp->cx >= tp->view.cols) {
drivers/s390/char/con3270.c
1761
tty3270_cr(tp);
drivers/s390/char/con3270.c
1762
tty3270_lf(tp);
drivers/s390/char/con3270.c
1765
tty3270_put_character(tp, ' ');
drivers/s390/char/con3270.c
1766
tp->cx++;
drivers/s390/char/con3270.c
1770
tty3270_cr(tp);
drivers/s390/char/con3270.c
1771
tty3270_lf(tp);
drivers/s390/char/con3270.c
1774
tty3270_erase_display(tp, 2);
drivers/s390/char/con3270.c
1775
tp->cx = 0;
drivers/s390/char/con3270.c
1776
tp->cy = 0;
drivers/s390/char/con3270.c
1779
tp->cx = 0;
drivers/s390/char/con3270.c
1782
tp->attributes.alternate_charset = 1;
drivers/s390/char/con3270.c
1785
tp->attributes.alternate_charset = 0;
drivers/s390/char/con3270.c
1788
tty3270_escape_sequence(tp, buf[i_msg]);
drivers/s390/char/con3270.c
1791
if (tp->cx >= tp->view.cols) {
drivers/s390/char/con3270.c
1792
tty3270_cr(tp);
drivers/s390/char/con3270.c
1793
tty3270_lf(tp);
drivers/s390/char/con3270.c
1795
tty3270_put_character(tp, buf[i_msg]);
drivers/s390/char/con3270.c
1796
tp->cx++;
drivers/s390/char/con3270.c
180
static char *tty3270_add_sf(struct tty3270 *tp, char *cp, char type)
drivers/s390/char/con3270.c
1801
tp->update_flags |= TTY_UPDATE_LINES;
drivers/s390/char/con3270.c
1802
if (!timer_pending(&tp->timer))
drivers/s390/char/con3270.c
1803
tty3270_set_timer(tp, msecs_to_jiffies(100));
drivers/s390/char/con3270.c
1805
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
1814
struct tty3270 *tp;
drivers/s390/char/con3270.c
1816
tp = tty->driver_data;
drivers/s390/char/con3270.c
1817
if (!tp)
drivers/s390/char/con3270.c
1819
if (tp->char_count > 0) {
drivers/s390/char/con3270.c
1820
tty3270_do_write(tp, tty, tp->char_buf, tp->char_count);
drivers/s390/char/con3270.c
1821
tp->char_count = 0;
drivers/s390/char/con3270.c
1823
tty3270_do_write(tp, tty, buf, count);
drivers/s390/char/con3270.c
1832
struct tty3270 *tp;
drivers/s390/char/con3270.c
1834
tp = tty->driver_data;
drivers/s390/char/con3270.c
1835
if (!tp || tp->char_count >= TTY3270_CHAR_BUF_SIZE)
drivers/s390/char/con3270.c
1837
tp->char_buf[tp->char_count++] = ch;
drivers/s390/char/con3270.c
1847
struct tty3270 *tp;
drivers/s390/char/con3270.c
1849
tp = tty->driver_data;
drivers/s390/char/con3270.c
1850
if (!tp)
drivers/s390/char/con3270.c
1852
if (tp->char_count > 0) {
drivers/s390/char/con3270.c
1853
tty3270_do_write(tp, tty, tp->char_buf, tp->char_count);
drivers/s390/char/con3270.c
1854
tp->char_count = 0;
drivers/s390/char/con3270.c
1863
struct tty3270 *tp;
drivers/s390/char/con3270.c
1866
tp = tty->driver_data;
drivers/s390/char/con3270.c
1867
if (!tp)
drivers/s390/char/con3270.c
1869
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
187
static int tty3270_line_increment(struct tty3270 *tp, unsigned int line, unsigned int incr)
drivers/s390/char/con3270.c
1872
if (new != tp->inattr) {
drivers/s390/char/con3270.c
1873
tp->inattr = new;
drivers/s390/char/con3270.c
1874
tty3270_update_prompt(tp, "");
drivers/s390/char/con3270.c
1875
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
1878
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
1886
struct tty3270 *tp;
drivers/s390/char/con3270.c
1888
tp = tty->driver_data;
drivers/s390/char/con3270.c
1889
if (!tp)
drivers/s390/char/con3270.c
189
return (line + incr) & (tp->allocated_lines - 1);
drivers/s390/char/con3270.c
1891
tp->throttle = 1;
drivers/s390/char/con3270.c
1899
struct tty3270 *tp;
drivers/s390/char/con3270.c
1901
tp = tty->driver_data;
drivers/s390/char/con3270.c
1902
if (!tp)
drivers/s390/char/con3270.c
1904
tp->throttle = 0;
drivers/s390/char/con3270.c
1905
if (tp->attn)
drivers/s390/char/con3270.c
1906
tty3270_issue_read(tp, 1);
drivers/s390/char/con3270.c
1914
struct tty3270 *tp;
drivers/s390/char/con3270.c
1916
tp = tty->driver_data;
drivers/s390/char/con3270.c
1917
if (!tp)
drivers/s390/char/con3270.c
1919
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
192
static struct tty3270_line *tty3270_get_write_line(struct tty3270 *tp, unsigned int num)
drivers/s390/char/con3270.c
1920
tp->cx = 0;
drivers/s390/char/con3270.c
1921
tp->cy = 0;
drivers/s390/char/con3270.c
1922
tp->saved_cx = 0;
drivers/s390/char/con3270.c
1923
tp->saved_cy = 0;
drivers/s390/char/con3270.c
1924
tty3270_reset_attributes(&tp->attributes);
drivers/s390/char/con3270.c
1925
tty3270_reset_attributes(&tp->saved_attributes);
drivers/s390/char/con3270.c
1926
tty3270_blank_screen(tp);
drivers/s390/char/con3270.c
1927
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
1928
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
1929
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
1939
struct tty3270 *tp;
drivers/s390/char/con3270.c
194
return tp->screen + tty3270_line_increment(tp, tp->line_write_start, num);
drivers/s390/char/con3270.c
1941
tp = tty->driver_data;
drivers/s390/char/con3270.c
1942
if (!tp)
drivers/s390/char/con3270.c
1946
return kbd_ioctl(tp->kbd, cmd, arg);
drivers/s390/char/con3270.c
197
static struct tty3270_line *tty3270_get_view_line(struct tty3270 *tp, unsigned int num)
drivers/s390/char/con3270.c
199
return tp->screen + tty3270_line_increment(tp, tp->line_view_start, num - tp->nr_up);
drivers/s390/char/con3270.c
2040
struct tty3270 *tp = co->data;
drivers/s390/char/con3270.c
2044
spin_lock_irqsave(&tp->view.lock, flags);
drivers/s390/char/con3270.c
2048
tty3270_cr(tp);
drivers/s390/char/con3270.c
2049
tty3270_lf(tp);
drivers/s390/char/con3270.c
2051
if (tp->cx >= tp->view.cols) {
drivers/s390/char/con3270.c
2052
tty3270_cr(tp);
drivers/s390/char/con3270.c
2053
tty3270_lf(tp);
drivers/s390/char/con3270.c
2055
tty3270_put_character(tp, c);
drivers/s390/char/con3270.c
2056
tp->cx++;
drivers/s390/char/con3270.c
2059
spin_unlock_irqrestore(&tp->view.lock, flags);
drivers/s390/char/con3270.c
207
static void tty3270_update_prompt(struct tty3270 *tp, char *input)
drivers/s390/char/con3270.c
2070
con3270_wait_write(struct tty3270 *tp)
drivers/s390/char/con3270.c
2072
while (!tp->write) {
drivers/s390/char/con3270.c
2073
raw3270_wait_cons_dev(tp->view.dev);
drivers/s390/char/con3270.c
2089
struct tty3270 *tp;
drivers/s390/char/con3270.c
209
strscpy(tp->prompt, input, tp->prompt_sz);
drivers/s390/char/con3270.c
2093
tp = condev;
drivers/s390/char/con3270.c
2094
if (!tp->view.dev)
drivers/s390/char/con3270.c
2096
if (!raw3270_view_lock_unavailable(&tp->view)) {
drivers/s390/char/con3270.c
2097
rc = raw3270_activate_view(&tp->view);
drivers/s390/char/con3270.c
210
tp->update_flags |= TTY_UPDATE_INPUT;
drivers/s390/char/con3270.c
2101
if (!spin_trylock_irqsave(&tp->view.lock, flags))
drivers/s390/char/con3270.c
2103
con3270_wait_write(tp);
drivers/s390/char/con3270.c
2104
tp->nr_up = 0;
drivers/s390/char/con3270.c
2105
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
2106
while (tp->update_flags != 0) {
drivers/s390/char/con3270.c
2107
spin_unlock_irqrestore(&tp->view.lock, flags);
drivers/s390/char/con3270.c
2108
tty3270_update(&tp->timer);
drivers/s390/char/con3270.c
2109
spin_lock_irqsave(&tp->view.lock, flags);
drivers/s390/char/con3270.c
211
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
2110
con3270_wait_write(tp);
drivers/s390/char/con3270.c
2112
spin_unlock_irqrestore(&tp->view.lock, flags);
drivers/s390/char/con3270.c
2138
struct tty3270 *tp;
drivers/s390/char/con3270.c
2158
rc = tty3270_create_view(0, &tp);
drivers/s390/char/con3270.c
2162
tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
2163
tp->inattr = TF_INPUT;
drivers/s390/char/con3270.c
2165
con3270.data = tp;
drivers/s390/char/con3270.c
2166
condev = tp;
drivers/s390/char/con3270.c
217
static int tty3270_add_prompt(struct tty3270 *tp)
drivers/s390/char/con3270.c
222
cp = tp->converted_line;
drivers/s390/char/con3270.c
223
cp = tty3270_add_ba(tp, cp, TO_SBA, 0, -2);
drivers/s390/char/con3270.c
224
*cp++ = tp->view.ascebc['>'];
drivers/s390/char/con3270.c
226
if (*tp->prompt) {
drivers/s390/char/con3270.c
227
cp = tty3270_add_sf(tp, cp, TF_INMDT);
drivers/s390/char/con3270.c
228
count = min_t(int, strlen(tp->prompt),
drivers/s390/char/con3270.c
229
tp->view.cols * 2 - TTY3270_STATUS_AREA_SIZE - 2);
drivers/s390/char/con3270.c
230
memcpy(cp, tp->prompt, count);
drivers/s390/char/con3270.c
233
cp = tty3270_add_sf(tp, cp, tp->inattr);
drivers/s390/char/con3270.c
237
if (count < tp->view.cols * 2 - 11)
drivers/s390/char/con3270.c
238
cp = tty3270_add_ra(tp, cp, -TTY3270_STATUS_AREA_SIZE, -1, 0);
drivers/s390/char/con3270.c
239
return cp - tp->converted_line;
drivers/s390/char/con3270.c
242
static char *tty3270_ebcdic_convert(struct tty3270 *tp, char *d, char *s)
drivers/s390/char/con3270.c
245
*d++ = tp->view.ascebc[(int)*s++];
drivers/s390/char/con3270.c
253
static int tty3270_add_status(struct tty3270 *tp)
drivers/s390/char/con3270.c
255
char *cp = tp->converted_line;
drivers/s390/char/con3270.c
258
cp = tty3270_add_ba(tp, cp, TO_SBA, -TTY3270_STATUS_AREA_SIZE, -1);
drivers/s390/char/con3270.c
259
cp = tty3270_add_sf(tp, cp, TF_LOG);
drivers/s390/char/con3270.c
260
cp = tty3270_add_sa(tp, cp, TAT_FGCOLOR, TAC_GREEN);
drivers/s390/char/con3270.c
261
cp = tty3270_ebcdic_convert(tp, cp, " 7");
drivers/s390/char/con3270.c
262
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_REVER);
drivers/s390/char/con3270.c
263
cp = tty3270_ebcdic_convert(tp, cp, "PrevPg");
drivers/s390/char/con3270.c
264
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_RESET);
drivers/s390/char/con3270.c
265
cp = tty3270_ebcdic_convert(tp, cp, " 8");
drivers/s390/char/con3270.c
266
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_REVER);
drivers/s390/char/con3270.c
267
cp = tty3270_ebcdic_convert(tp, cp, "NextPg");
drivers/s390/char/con3270.c
268
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_RESET);
drivers/s390/char/con3270.c
269
cp = tty3270_ebcdic_convert(tp, cp, " 12");
drivers/s390/char/con3270.c
270
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_REVER);
drivers/s390/char/con3270.c
271
cp = tty3270_ebcdic_convert(tp, cp, "Recall");
drivers/s390/char/con3270.c
272
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_RESET);
drivers/s390/char/con3270.c
273
cp = tty3270_ebcdic_convert(tp, cp, " ");
drivers/s390/char/con3270.c
274
if (tp->nr_up) {
drivers/s390/char/con3270.c
275
len = sprintf(cp, "History %d", -tp->nr_up);
drivers/s390/char/con3270.c
276
codepage_convert(tp->view.ascebc, cp, len);
drivers/s390/char/con3270.c
279
cp = tty3270_ebcdic_convert(tp, cp, oops_in_progress ? "Crashed" : "Running");
drivers/s390/char/con3270.c
281
cp = tty3270_add_sf(tp, cp, TF_LOG);
drivers/s390/char/con3270.c
282
cp = tty3270_add_sa(tp, cp, TAT_FGCOLOR, TAC_RESET);
drivers/s390/char/con3270.c
283
return cp - (char *)tp->converted_line;
drivers/s390/char/con3270.c
286
static void tty3270_blank_screen(struct tty3270 *tp)
drivers/s390/char/con3270.c
291
for (i = 0; i < tty3270_tty_rows(tp); i++) {
drivers/s390/char/con3270.c
292
line = tty3270_get_write_line(tp, i);
drivers/s390/char/con3270.c
296
tp->nr_up = 0;
drivers/s390/char/con3270.c
304
struct tty3270 *tp = container_of(rq->view, struct tty3270, view);
drivers/s390/char/con3270.c
308
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
309
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
312
xchg(&tp->write, rq);
drivers/s390/char/con3270.c
315
static int tty3270_required_length(struct tty3270 *tp, struct tty3270_line *line)
drivers/s390/char/con3270.c
348
if (line->len < tp->view.cols)
drivers/s390/char/con3270.c
354
static char *tty3270_add_reset_attributes(struct tty3270 *tp, struct tty3270_line *line,
drivers/s390/char/con3270.c
358
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, TAX_RESET);
drivers/s390/char/con3270.c
360
cp = tty3270_add_sa(tp, cp, TAT_FGCOLOR, TAX_RESET);
drivers/s390/char/con3270.c
362
cp = tty3270_add_sa(tp, cp, TAT_BGCOLOR, TAX_RESET);
drivers/s390/char/con3270.c
363
if (line->len < tp->view.cols)
drivers/s390/char/con3270.c
364
cp = tty3270_add_ra(tp, cp, 0, lineno + 1, 0);
drivers/s390/char/con3270.c
368
static char tty3270_graphics_translate(struct tty3270 *tp, char ch)
drivers/s390/char/con3270.c
398
static char *tty3270_add_attributes(struct tty3270 *tp, struct tty3270_line *line,
drivers/s390/char/con3270.c
422
cp = tty3270_add_ba(tp, cp, TO_SBA, 0, lineno);
drivers/s390/char/con3270.c
427
cp = tty3270_add_sa(tp, cp, TAT_EXTHI, highlights[attr->highlight]);
drivers/s390/char/con3270.c
431
cp = tty3270_add_sa(tp, cp, TAT_FGCOLOR, colors[attr->f_color]);
drivers/s390/char/con3270.c
435
cp = tty3270_add_sa(tp, cp, TAT_BGCOLOR, colors[attr->b_color]);
drivers/s390/char/con3270.c
439
cp = tty3270_add_ge(tp, cp, tty3270_graphics_translate(tp, c));
drivers/s390/char/con3270.c
441
*cp++ = tp->view.ascebc[c];
drivers/s390/char/con3270.c
456
static unsigned int tty3270_convert_line(struct tty3270 *tp, struct tty3270_line *line, int lineno)
drivers/s390/char/con3270.c
463
flen = tty3270_required_length(tp, line);
drivers/s390/char/con3270.c
468
cp = tty3270_add_attributes(tp, line, &attr, tp->converted_line, lineno);
drivers/s390/char/con3270.c
469
cp = tty3270_add_reset_attributes(tp, line, cp, &attr, lineno);
drivers/s390/char/con3270.c
470
return cp - (char *)tp->converted_line;
drivers/s390/char/con3270.c
473
static void tty3270_update_lines_visible(struct tty3270 *tp, struct raw3270_request *rq)
drivers/s390/char/con3270.c
478
for (i = 0; i < tty3270_tty_rows(tp); i++) {
drivers/s390/char/con3270.c
479
line = tty3270_get_view_line(tp, i);
drivers/s390/char/con3270.c
482
len = tty3270_convert_line(tp, line, i);
drivers/s390/char/con3270.c
483
if (raw3270_request_add_data(rq, tp->converted_line, len))
drivers/s390/char/con3270.c
487
if (i == tty3270_tty_rows(tp)) {
drivers/s390/char/con3270.c
488
for (i = 0; i < tp->allocated_lines; i++)
drivers/s390/char/con3270.c
489
tp->screen[i].dirty = 0;
drivers/s390/char/con3270.c
490
tp->update_flags &= ~TTY_UPDATE_LINES;
drivers/s390/char/con3270.c
494
static void tty3270_update_lines_all(struct tty3270 *tp, struct raw3270_request *rq)
drivers/s390/char/con3270.c
500
for (i = 0; i < tp->allocated_lines; i++) {
drivers/s390/char/con3270.c
501
line = tty3270_get_write_line(tp, i + tp->cy + 1);
drivers/s390/char/con3270.c
504
len = tty3270_convert_line(tp, line, tp->oops_line);
drivers/s390/char/con3270.c
505
if (raw3270_request_add_data(rq, tp->converted_line, len))
drivers/s390/char/con3270.c
508
if (++tp->oops_line >= tty3270_tty_rows(tp))
drivers/s390/char/con3270.c
509
tp->oops_line = 0;
drivers/s390/char/con3270.c
512
if (i == tp->allocated_lines) {
drivers/s390/char/con3270.c
513
if (tp->oops_line < tty3270_tty_rows(tp)) {
drivers/s390/char/con3270.c
514
tty3270_add_ra(tp, buf, 0, tty3270_tty_rows(tp), 0);
drivers/s390/char/con3270.c
518
tp->update_flags &= ~TTY_UPDATE_LINES;
drivers/s390/char/con3270.c
527
struct tty3270 *tp = timer_container_of(tp, t, timer);
drivers/s390/char/con3270.c
532
wrq = xchg(&tp->write, NULL);
drivers/s390/char/con3270.c
534
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
538
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
539
if (tp->update_flags == TTY_UPDATE_ALL)
drivers/s390/char/con3270.c
543
raw3270_request_add_data(wrq, &tp->wcc, 1);
drivers/s390/char/con3270.c
544
tp->wcc = TW_NONE;
drivers/s390/char/con3270.c
549
if (tp->update_flags & TTY_UPDATE_STATUS) {
drivers/s390/char/con3270.c
550
len = tty3270_add_status(tp);
drivers/s390/char/con3270.c
551
if (raw3270_request_add_data(wrq, tp->converted_line, len) == 0)
drivers/s390/char/con3270.c
552
tp->update_flags &= ~TTY_UPDATE_STATUS;
drivers/s390/char/con3270.c
558
if (tp->update_flags & TTY_UPDATE_INPUT) {
drivers/s390/char/con3270.c
559
len = tty3270_add_prompt(tp);
drivers/s390/char/con3270.c
560
if (raw3270_request_add_data(wrq, tp->converted_line, len) == 0)
drivers/s390/char/con3270.c
561
tp->update_flags &= ~TTY_UPDATE_INPUT;
drivers/s390/char/con3270.c
564
if (tp->update_flags & TTY_UPDATE_LINES) {
drivers/s390/char/con3270.c
566
tty3270_update_lines_all(tp, wrq);
drivers/s390/char/con3270.c
568
tty3270_update_lines_visible(tp, wrq);
drivers/s390/char/con3270.c
572
rc = raw3270_start(&tp->view, wrq);
drivers/s390/char/con3270.c
574
if (tp->update_flags)
drivers/s390/char/con3270.c
575
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
578
xchg(&tp->write, wrq);
drivers/s390/char/con3270.c
580
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
586
static void tty3270_rcl_add(struct tty3270 *tp, char *input, int len)
drivers/s390/char/con3270.c
592
p = tp->rcl_lines[tp->rcl_write_index++];
drivers/s390/char/con3270.c
593
tp->rcl_write_index &= TTY3270_RECALL_SIZE - 1;
drivers/s390/char/con3270.c
596
tp->rcl_read_index = tp->rcl_write_index;
drivers/s390/char/con3270.c
601
struct tty3270 *tp = container_of(kbd->port, struct tty3270, port);
drivers/s390/char/con3270.c
604
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
605
if (tp->inattr == TF_INPUT) {
drivers/s390/char/con3270.c
607
tp->rcl_read_index--;
drivers/s390/char/con3270.c
608
tp->rcl_read_index &= TTY3270_RECALL_SIZE - 1;
drivers/s390/char/con3270.c
609
} while (!*tp->rcl_lines[tp->rcl_read_index] &&
drivers/s390/char/con3270.c
611
tty3270_update_prompt(tp, tp->rcl_lines[tp->rcl_read_index]);
drivers/s390/char/con3270.c
613
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
621
struct tty3270 *tp = container_of(kbd->port, struct tty3270, port);
drivers/s390/char/con3270.c
623
raw3270_deactivate_view(&tp->view);
drivers/s390/char/con3270.c
626
static void tty3270_redraw(struct tty3270 *tp)
drivers/s390/char/con3270.c
630
for (i = 0; i < tty3270_tty_rows(tp); i++)
drivers/s390/char/con3270.c
631
tty3270_get_view_line(tp, i)->dirty = 1;
drivers/s390/char/con3270.c
632
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
633
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
641
struct tty3270 *tp = container_of(kbd->port, struct tty3270, port);
drivers/s390/char/con3270.c
643
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
645
if (tp->nr_up >= tty3270_tty_rows(tp))
drivers/s390/char/con3270.c
646
tp->nr_up -= tty3270_tty_rows(tp) / 2;
drivers/s390/char/con3270.c
648
tp->nr_up = 0;
drivers/s390/char/con3270.c
649
tty3270_redraw(tp);
drivers/s390/char/con3270.c
650
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
658
struct tty3270 *tp = container_of(kbd->port, struct tty3270, port);
drivers/s390/char/con3270.c
660
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
661
tp->nr_up += tty3270_tty_rows(tp) / 2;
drivers/s390/char/con3270.c
662
if (tp->nr_up > tp->allocated_lines - tty3270_tty_rows(tp))
drivers/s390/char/con3270.c
663
tp->nr_up = tp->allocated_lines - tty3270_tty_rows(tp);
drivers/s390/char/con3270.c
664
tty3270_redraw(tp);
drivers/s390/char/con3270.c
665
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
675
struct tty3270 *tp = container_of(rrq->view, struct tty3270, view);
drivers/s390/char/con3270.c
679
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
687
switch (tp->input[0]) {
drivers/s390/char/con3270.c
690
input = tp->input + 6;
drivers/s390/char/con3270.c
691
len = tty3270_input_size(tp->view.cols) - 6 - rrq->rescnt;
drivers/s390/char/con3270.c
692
if (tp->inattr != TF_INPUTN)
drivers/s390/char/con3270.c
693
tty3270_rcl_add(tp, input, len);
drivers/s390/char/con3270.c
694
if (tp->nr_up > 0)
drivers/s390/char/con3270.c
695
tp->nr_up = 0;
drivers/s390/char/con3270.c
697
tty3270_update_prompt(tp, "");
drivers/s390/char/con3270.c
698
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
702
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
703
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
704
if (!list_empty(&tp->readpartreq->list))
drivers/s390/char/con3270.c
706
raw3270_start_request(&tp->view, tp->readpartreq, TC_WRITESF,
drivers/s390/char/con3270.c
710
raw3270_read_modified_cb(tp->readpartreq, tp->input);
drivers/s390/char/con3270.c
715
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
718
raw3270_start_request(&tp->view, tp->kreset, TC_WRITE, &kreset_data, 1);
drivers/s390/char/con3270.c
721
kbd_keycode(tp->kbd, *input++);
drivers/s390/char/con3270.c
723
kbd_keycode(tp->kbd, 256 + tp->input[0]);
drivers/s390/char/con3270.c
726
xchg(&tp->read, rrq);
drivers/s390/char/con3270.c
727
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
735
struct tty3270 *tp = container_of(rq->view, struct tty3270, view);
drivers/s390/char/con3270.c
739
tasklet_schedule(&tp->readlet);
drivers/s390/char/con3270.c
745
static void tty3270_issue_read(struct tty3270 *tp, int lock)
drivers/s390/char/con3270.c
750
rrq = xchg(&tp->read, NULL);
drivers/s390/char/con3270.c
755
rrq->callback_data = tp;
drivers/s390/char/con3270.c
757
raw3270_request_set_data(rrq, tp->input, tty3270_input_size(tp->view.cols));
drivers/s390/char/con3270.c
760
rc = raw3270_start(&tp->view, rrq);
drivers/s390/char/con3270.c
762
rc = raw3270_start_irq(&tp->view, rrq);
drivers/s390/char/con3270.c
765
xchg(&tp->read, rrq);
drivers/s390/char/con3270.c
774
struct tty3270 *tp = (struct tty3270 *)data;
drivers/s390/char/con3270.c
776
tty_port_tty_hangup(&tp->port, true);
drivers/s390/char/con3270.c
777
raw3270_put_view(&tp->view);
drivers/s390/char/con3270.c
785
struct tty3270 *tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
787
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
788
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
794
struct tty3270 *tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
796
timer_delete(&tp->timer);
drivers/s390/char/con3270.c
799
static void tty3270_irq(struct tty3270 *tp, struct raw3270_request *rq, struct irb *irb)
drivers/s390/char/con3270.c
803
if (!tp->throttle)
drivers/s390/char/con3270.c
804
tty3270_issue_read(tp, 0);
drivers/s390/char/con3270.c
806
tp->attn = 1;
drivers/s390/char/con3270.c
812
raw3270_get_view(&tp->view);
drivers/s390/char/con3270.c
813
tasklet_schedule(&tp->hanglet);
drivers/s390/char/con3270.c
820
tp->update_flags = TTY_UPDATE_ALL;
drivers/s390/char/con3270.c
821
tty3270_set_timer(tp, 1);
drivers/s390/char/con3270.c
830
struct tty3270 *tp;
drivers/s390/char/con3270.c
832
tp = kzalloc_obj(*tp);
drivers/s390/char/con3270.c
833
if (!tp)
drivers/s390/char/con3270.c
836
tp->write = raw3270_request_alloc(TTY3270_OUTPUT_BUFFER_SIZE);
drivers/s390/char/con3270.c
837
if (IS_ERR(tp->write))
drivers/s390/char/con3270.c
839
tp->read = raw3270_request_alloc(0);
drivers/s390/char/con3270.c
840
if (IS_ERR(tp->read))
drivers/s390/char/con3270.c
842
tp->kreset = raw3270_request_alloc(1);
drivers/s390/char/con3270.c
843
if (IS_ERR(tp->kreset))
drivers/s390/char/con3270.c
845
tp->readpartreq = raw3270_request_alloc(sizeof(sfq_read_partition));
drivers/s390/char/con3270.c
846
if (IS_ERR(tp->readpartreq))
drivers/s390/char/con3270.c
848
tp->kbd = kbd_alloc();
drivers/s390/char/con3270.c
849
if (!tp->kbd)
drivers/s390/char/con3270.c
852
tty_port_init(&tp->port);
drivers/s390/char/con3270.c
853
timer_setup(&tp->timer, tty3270_update, 0);
drivers/s390/char/con3270.c
854
tasklet_init(&tp->readlet, tty3270_read_tasklet,
drivers/s390/char/con3270.c
855
(unsigned long)tp->read);
drivers/s390/char/con3270.c
856
tasklet_init(&tp->hanglet, tty3270_hangup_tasklet,
drivers/s390/char/con3270.c
857
(unsigned long)tp);
drivers/s390/char/con3270.c
858
return tp;
drivers/s390/char/con3270.c
861
raw3270_request_free(tp->readpartreq);
drivers/s390/char/con3270.c
863
raw3270_request_free(tp->kreset);
drivers/s390/char/con3270.c
865
raw3270_request_free(tp->read);
drivers/s390/char/con3270.c
867
raw3270_request_free(tp->write);
drivers/s390/char/con3270.c
869
kfree(tp);
drivers/s390/char/con3270.c
877
static void tty3270_free_view(struct tty3270 *tp)
drivers/s390/char/con3270.c
879
kbd_free(tp->kbd);
drivers/s390/char/con3270.c
880
raw3270_request_free(tp->kreset);
drivers/s390/char/con3270.c
881
raw3270_request_free(tp->read);
drivers/s390/char/con3270.c
882
raw3270_request_free(tp->write);
drivers/s390/char/con3270.c
883
kfree(tp->converted_line);
drivers/s390/char/con3270.c
884
tty_port_destroy(&tp->port);
drivers/s390/char/con3270.c
885
kfree(tp);
drivers/s390/char/con3270.c
891
static struct tty3270_line *tty3270_alloc_screen(struct tty3270 *tp, unsigned int rows,
drivers/s390/char/con3270.c
967
struct tty3270 *tp = container_of(view, struct tty3270, view);
drivers/s390/char/con3270.c
973
int new_allocated, old_allocated = tp->allocated_lines;
drivers/s390/char/con3270.c
978
spin_lock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
979
tty3270_redraw(tp);
drivers/s390/char/con3270.c
980
spin_unlock_irq(&tp->view.lock);
drivers/s390/char/con3270.c
991
screen = tty3270_alloc_screen(tp, new_rows, new_cols, &new_allocated);
drivers/s390/char/con3270.c
999
spin_lock_irq(&tp->view.lock);
drivers/sbus/char/bbc_envctrl.c
120
static void get_current_temps(struct bbc_cpu_temperature *tp)
drivers/sbus/char/bbc_envctrl.c
122
tp->prev_amb_temp = tp->curr_amb_temp;
drivers/sbus/char/bbc_envctrl.c
123
bbc_i2c_readb(tp->client,
drivers/sbus/char/bbc_envctrl.c
124
(unsigned char *) &tp->curr_amb_temp,
drivers/sbus/char/bbc_envctrl.c
126
tp->prev_cpu_temp = tp->curr_cpu_temp;
drivers/sbus/char/bbc_envctrl.c
127
bbc_i2c_readb(tp->client,
drivers/sbus/char/bbc_envctrl.c
128
(unsigned char *) &tp->curr_cpu_temp,
drivers/sbus/char/bbc_envctrl.c
132
tp->index,
drivers/sbus/char/bbc_envctrl.c
133
(int) tp->curr_cpu_temp, (int) tp->curr_amb_temp);
drivers/sbus/char/bbc_envctrl.c
138
static void do_envctrl_shutdown(struct bbc_cpu_temperature *tp)
drivers/sbus/char/bbc_envctrl.c
147
if (tp->curr_amb_temp >= amb_temp_limits[tp->index].high_shutdown ||
drivers/sbus/char/bbc_envctrl.c
148
tp->curr_amb_temp < amb_temp_limits[tp->index].low_shutdown) {
drivers/sbus/char/bbc_envctrl.c
150
val = tp->curr_amb_temp;
drivers/sbus/char/bbc_envctrl.c
151
} else if (tp->curr_cpu_temp >= cpu_temp_limits[tp->index].high_shutdown ||
drivers/sbus/char/bbc_envctrl.c
152
tp->curr_cpu_temp < cpu_temp_limits[tp->index].low_shutdown) {
drivers/sbus/char/bbc_envctrl.c
154
val = tp->curr_cpu_temp;
drivers/sbus/char/bbc_envctrl.c
159
tp->index, type, val);
drivers/sbus/char/bbc_envctrl.c
169
static void analyze_ambient_temp(struct bbc_cpu_temperature *tp, unsigned long *last_warn, int tick)
drivers/sbus/char/bbc_envctrl.c
174
if (tp->curr_amb_temp >=
drivers/sbus/char/bbc_envctrl.c
175
amb_temp_limits[tp->index].high_warn) {
drivers/sbus/char/bbc_envctrl.c
178
tp->index, (int) tp->curr_amb_temp);
drivers/sbus/char/bbc_envctrl.c
180
} else if (tp->curr_amb_temp <
drivers/sbus/char/bbc_envctrl.c
181
amb_temp_limits[tp->index].low_warn) {
drivers/sbus/char/bbc_envctrl.c
184
tp->index, (int) tp->curr_amb_temp);
drivers/sbus/char/bbc_envctrl.c
189
} else if (tp->curr_amb_temp >= amb_temp_limits[tp->index].high_warn ||
drivers/sbus/char/bbc_envctrl.c
190
tp->curr_amb_temp < amb_temp_limits[tp->index].low_warn)
drivers/sbus/char/bbc_envctrl.c
194
if (tp->curr_amb_temp >= amb_temp_limits[tp->index].high_shutdown ||
drivers/sbus/char/bbc_envctrl.c
195
tp->curr_amb_temp < amb_temp_limits[tp->index].low_shutdown) {
drivers/sbus/char/bbc_envctrl.c
196
do_envctrl_shutdown(tp);
drivers/sbus/char/bbc_envctrl.c
201
tp->fan_todo[FAN_AMBIENT] = FAN_FULLBLAST;
drivers/sbus/char/bbc_envctrl.c
203
s8 amb_goal_hi = amb_temp_limits[tp->index].high_warn - 10;
drivers/sbus/char/bbc_envctrl.c
211
if (tp->avg_amb_temp < amb_goal_hi) {
drivers/sbus/char/bbc_envctrl.c
212
if (tp->avg_amb_temp >= amb_goal_lo)
drivers/sbus/char/bbc_envctrl.c
213
tp->fan_todo[FAN_AMBIENT] = FAN_SAME;
drivers/sbus/char/bbc_envctrl.c
215
tp->fan_todo[FAN_AMBIENT] = FAN_SLOWER;
drivers/sbus/char/bbc_envctrl.c
217
tp->fan_todo[FAN_AMBIENT] = FAN_FASTER;
drivers/sbus/char/bbc_envctrl.c
220
tp->fan_todo[FAN_AMBIENT] = FAN_SAME;
drivers/sbus/char/bbc_envctrl.c
224
static void analyze_cpu_temp(struct bbc_cpu_temperature *tp, unsigned long *last_warn, int tick)
drivers/sbus/char/bbc_envctrl.c
229
if (tp->curr_cpu_temp >=
drivers/sbus/char/bbc_envctrl.c
230
cpu_temp_limits[tp->index].high_warn) {
drivers/sbus/char/bbc_envctrl.c
233
tp->index, (int) tp->curr_cpu_temp);
drivers/sbus/char/bbc_envctrl.c
235
} else if (tp->curr_cpu_temp <
drivers/sbus/char/bbc_envctrl.c
236
cpu_temp_limits[tp->index].low_warn) {
drivers/sbus/char/bbc_envctrl.c
239
tp->index, (int) tp->curr_cpu_temp);
drivers/sbus/char/bbc_envctrl.c
244
} else if (tp->curr_cpu_temp >= cpu_temp_limits[tp->index].high_warn ||
drivers/sbus/char/bbc_envctrl.c
245
tp->curr_cpu_temp < cpu_temp_limits[tp->index].low_warn)
drivers/sbus/char/bbc_envctrl.c
249
if (tp->curr_cpu_temp >= cpu_temp_limits[tp->index].high_shutdown ||
drivers/sbus/char/bbc_envctrl.c
250
tp->curr_cpu_temp < cpu_temp_limits[tp->index].low_shutdown) {
drivers/sbus/char/bbc_envctrl.c
251
do_envctrl_shutdown(tp);
drivers/sbus/char/bbc_envctrl.c
256
tp->fan_todo[FAN_CPU] = FAN_FULLBLAST;
drivers/sbus/char/bbc_envctrl.c
258
s8 cpu_goal_hi = cpu_temp_limits[tp->index].high_warn - 10;
drivers/sbus/char/bbc_envctrl.c
266
if (tp->avg_cpu_temp < cpu_goal_hi) {
drivers/sbus/char/bbc_envctrl.c
267
if (tp->avg_cpu_temp >= cpu_goal_lo)
drivers/sbus/char/bbc_envctrl.c
268
tp->fan_todo[FAN_CPU] = FAN_SAME;
drivers/sbus/char/bbc_envctrl.c
270
tp->fan_todo[FAN_CPU] = FAN_SLOWER;
drivers/sbus/char/bbc_envctrl.c
272
tp->fan_todo[FAN_CPU] = FAN_FASTER;
drivers/sbus/char/bbc_envctrl.c
275
tp->fan_todo[FAN_CPU] = FAN_SAME;
drivers/sbus/char/bbc_envctrl.c
279
static void analyze_temps(struct bbc_cpu_temperature *tp, unsigned long *last_warn)
drivers/sbus/char/bbc_envctrl.c
281
tp->avg_amb_temp = (s8)((int)((int)tp->avg_amb_temp + (int)tp->curr_amb_temp) / 2);
drivers/sbus/char/bbc_envctrl.c
282
tp->avg_cpu_temp = (s8)((int)((int)tp->avg_cpu_temp + (int)tp->curr_cpu_temp) / 2);
drivers/sbus/char/bbc_envctrl.c
284
analyze_ambient_temp(tp, last_warn, tp->sample_tick);
drivers/sbus/char/bbc_envctrl.c
285
analyze_cpu_temp(tp, last_warn, tp->sample_tick);
drivers/sbus/char/bbc_envctrl.c
287
tp->sample_tick++;
drivers/sbus/char/bbc_envctrl.c
292
struct bbc_cpu_temperature *tp;
drivers/sbus/char/bbc_envctrl.c
299
list_for_each_entry(tp, &all_temps, glob_list) {
drivers/sbus/char/bbc_envctrl.c
300
if (tp->fan_todo[which_fan] == FAN_FULLBLAST) {
drivers/sbus/char/bbc_envctrl.c
304
if (tp->fan_todo[which_fan] == FAN_SAME &&
drivers/sbus/char/bbc_envctrl.c
307
else if (tp->fan_todo[which_fan] == FAN_FASTER)
drivers/sbus/char/bbc_envctrl.c
311
tp->fan_todo[which_fan] == FAN_SLOWER)
drivers/sbus/char/bbc_envctrl.c
425
struct bbc_cpu_temperature *tp;
drivers/sbus/char/bbc_envctrl.c
432
list_for_each_entry(tp, &all_temps, glob_list) {
drivers/sbus/char/bbc_envctrl.c
433
get_current_temps(tp);
drivers/sbus/char/bbc_envctrl.c
434
analyze_temps(tp, &last_warning_jiffies);
drivers/sbus/char/bbc_envctrl.c
449
struct bbc_cpu_temperature *tp;
drivers/sbus/char/bbc_envctrl.c
451
tp = kzalloc_obj(*tp);
drivers/sbus/char/bbc_envctrl.c
452
if (!tp)
drivers/sbus/char/bbc_envctrl.c
455
INIT_LIST_HEAD(&tp->bp_list);
drivers/sbus/char/bbc_envctrl.c
456
INIT_LIST_HEAD(&tp->glob_list);
drivers/sbus/char/bbc_envctrl.c
458
tp->client = bbc_i2c_attach(bp, op);
drivers/sbus/char/bbc_envctrl.c
459
if (!tp->client) {
drivers/sbus/char/bbc_envctrl.c
460
kfree(tp);
drivers/sbus/char/bbc_envctrl.c
465
tp->index = temp_idx;
drivers/sbus/char/bbc_envctrl.c
467
list_add(&tp->glob_list, &all_temps);
drivers/sbus/char/bbc_envctrl.c
468
list_add(&tp->bp_list, &bp->temps);
drivers/sbus/char/bbc_envctrl.c
473
bbc_i2c_writeb(tp->client, 0x00, MAX1617_WR_CFG_BYTE);
drivers/sbus/char/bbc_envctrl.c
474
bbc_i2c_writeb(tp->client, 0x02, MAX1617_WR_CVRATE_BYTE);
drivers/sbus/char/bbc_envctrl.c
477
bbc_i2c_writeb(tp->client, amb_temp_limits[tp->index].high_pwroff,
drivers/sbus/char/bbc_envctrl.c
479
bbc_i2c_writeb(tp->client, amb_temp_limits[tp->index].low_pwroff,
drivers/sbus/char/bbc_envctrl.c
481
bbc_i2c_writeb(tp->client, cpu_temp_limits[tp->index].high_pwroff,
drivers/sbus/char/bbc_envctrl.c
483
bbc_i2c_writeb(tp->client, cpu_temp_limits[tp->index].low_pwroff,
drivers/sbus/char/bbc_envctrl.c
486
get_current_temps(tp);
drivers/sbus/char/bbc_envctrl.c
487
tp->prev_cpu_temp = tp->avg_cpu_temp = tp->curr_cpu_temp;
drivers/sbus/char/bbc_envctrl.c
488
tp->prev_amb_temp = tp->avg_amb_temp = tp->curr_amb_temp;
drivers/sbus/char/bbc_envctrl.c
490
tp->fan_todo[FAN_AMBIENT] = FAN_SAME;
drivers/sbus/char/bbc_envctrl.c
491
tp->fan_todo[FAN_CPU] = FAN_SAME;
drivers/sbus/char/bbc_envctrl.c
532
static void destroy_one_temp(struct bbc_cpu_temperature *tp)
drivers/sbus/char/bbc_envctrl.c
534
bbc_i2c_detach(tp->client);
drivers/sbus/char/bbc_envctrl.c
535
kfree(tp);
drivers/sbus/char/bbc_envctrl.c
540
struct bbc_cpu_temperature *tp, *tpos;
drivers/sbus/char/bbc_envctrl.c
542
list_for_each_entry_safe(tp, tpos, &bp->temps, bp_list) {
drivers/sbus/char/bbc_envctrl.c
543
list_del(&tp->bp_list);
drivers/sbus/char/bbc_envctrl.c
544
list_del(&tp->glob_list);
drivers/sbus/char/bbc_envctrl.c
545
destroy_one_temp(tp);
drivers/scsi/esp_scsi.c
1140
struct esp_target_data *tp;
drivers/scsi/esp_scsi.c
1193
tp = &esp->target[target];
drivers/scsi/esp_scsi.c
1194
dev = __scsi_device_lookup_by_target(tp->starget, lun);
drivers/scsi/esp_scsi.c
1246
struct esp_target_data *tp = &esp->target[cmd->device->id];
drivers/scsi/esp_scsi.c
1255
tp->flags &= ~(ESP_TGT_NEGO_SYNC | ESP_TGT_NEGO_WIDE);
drivers/scsi/esp_scsi.c
1410
static void esp_setsync(struct esp *esp, struct esp_target_data *tp,
drivers/scsi/esp_scsi.c
1414
spi_period(tp->starget) = scsi_period;
drivers/scsi/esp_scsi.c
1415
spi_offset(tp->starget) = scsi_offset;
drivers/scsi/esp_scsi.c
1416
spi_width(tp->starget) = (tp->flags & ESP_TGT_WIDE) ? 1 : 0;
drivers/scsi/esp_scsi.c
1429
tp->esp_config3 |= bit;
drivers/scsi/esp_scsi.c
1431
tp->esp_config3 &= ~bit;
drivers/scsi/esp_scsi.c
1433
esp->prev_cfg3 = tp->esp_config3;
drivers/scsi/esp_scsi.c
1438
tp->esp_period = esp->prev_stp = esp_stp;
drivers/scsi/esp_scsi.c
1439
tp->esp_offset = esp->prev_soff = esp_soff;
drivers/scsi/esp_scsi.c
1444
tp->flags &= ~(ESP_TGT_NEGO_SYNC | ESP_TGT_CHECK_NEGO);
drivers/scsi/esp_scsi.c
1446
spi_display_xfer_agreement(tp->starget);
drivers/scsi/esp_scsi.c
1453
struct esp_target_data *tp;
drivers/scsi/esp_scsi.c
1457
tp = &esp->target[tgt];
drivers/scsi/esp_scsi.c
1459
if (tp->flags & ESP_TGT_NEGO_WIDE) {
drivers/scsi/esp_scsi.c
1460
tp->flags &= ~(ESP_TGT_NEGO_WIDE | ESP_TGT_WIDE);
drivers/scsi/esp_scsi.c
1462
if (!esp_need_to_nego_sync(tp)) {
drivers/scsi/esp_scsi.c
1463
tp->flags &= ~ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
1468
tp->nego_goal_period,
drivers/scsi/esp_scsi.c
1469
tp->nego_goal_offset);
drivers/scsi/esp_scsi.c
1470
tp->flags |= ESP_TGT_NEGO_SYNC;
drivers/scsi/esp_scsi.c
1476
if (tp->flags & ESP_TGT_NEGO_SYNC) {
drivers/scsi/esp_scsi.c
1477
tp->flags &= ~(ESP_TGT_NEGO_SYNC | ESP_TGT_CHECK_NEGO);
drivers/scsi/esp_scsi.c
1478
tp->esp_period = 0;
drivers/scsi/esp_scsi.c
1479
tp->esp_offset = 0;
drivers/scsi/esp_scsi.c
1480
esp_setsync(esp, tp, 0, 0, 0, 0);
drivers/scsi/esp_scsi.c
1489
static void esp_msgin_sdtr(struct esp *esp, struct esp_target_data *tp)
drivers/scsi/esp_scsi.c
1495
if (!(tp->flags & ESP_TGT_NEGO_SYNC))
drivers/scsi/esp_scsi.c
1521
esp_setsync(esp, tp, period, offset, stp, offset);
drivers/scsi/esp_scsi.c
1531
tp->nego_goal_period = period;
drivers/scsi/esp_scsi.c
1532
tp->nego_goal_offset = offset;
drivers/scsi/esp_scsi.c
1535
tp->nego_goal_period,
drivers/scsi/esp_scsi.c
1536
tp->nego_goal_offset);
drivers/scsi/esp_scsi.c
1540
static void esp_msgin_wdtr(struct esp *esp, struct esp_target_data *tp)
drivers/scsi/esp_scsi.c
1551
if (!(tp->flags & ESP_TGT_NEGO_WIDE))
drivers/scsi/esp_scsi.c
1554
cfg3 = tp->esp_config3;
drivers/scsi/esp_scsi.c
1556
tp->flags |= ESP_TGT_WIDE;
drivers/scsi/esp_scsi.c
1559
tp->flags &= ~ESP_TGT_WIDE;
drivers/scsi/esp_scsi.c
1562
tp->esp_config3 = cfg3;
drivers/scsi/esp_scsi.c
1566
tp->flags &= ~ESP_TGT_NEGO_WIDE;
drivers/scsi/esp_scsi.c
1568
spi_period(tp->starget) = 0;
drivers/scsi/esp_scsi.c
1569
spi_offset(tp->starget) = 0;
drivers/scsi/esp_scsi.c
1570
if (!esp_need_to_nego_sync(tp)) {
drivers/scsi/esp_scsi.c
1571
tp->flags &= ~ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
1576
tp->nego_goal_period,
drivers/scsi/esp_scsi.c
1577
tp->nego_goal_offset);
drivers/scsi/esp_scsi.c
1578
tp->flags |= ESP_TGT_NEGO_SYNC;
drivers/scsi/esp_scsi.c
1593
struct esp_target_data *tp;
drivers/scsi/esp_scsi.c
1596
tp = &esp->target[tgt];
drivers/scsi/esp_scsi.c
1598
esp_msgin_sdtr(esp, tp);
drivers/scsi/esp_scsi.c
1602
esp_msgin_wdtr(esp, tp);
drivers/scsi/esp_scsi.c
2076
struct esp_target_data *tp = &esp->target[i];
drivers/scsi/esp_scsi.c
2078
tp->esp_period = 0;
drivers/scsi/esp_scsi.c
2079
tp->esp_offset = 0;
drivers/scsi/esp_scsi.c
2080
tp->esp_config3 &= ~(ESP_CONFIG3_EWIDE |
drivers/scsi/esp_scsi.c
2083
tp->flags &= ~ESP_TGT_WIDE;
drivers/scsi/esp_scsi.c
2084
tp->flags |= ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
2086
if (tp->starget)
drivers/scsi/esp_scsi.c
2087
__starget_for_each_device(tp->starget, NULL,
drivers/scsi/esp_scsi.c
2429
struct esp_target_data *tp = &esp->target[starget->id];
drivers/scsi/esp_scsi.c
2431
tp->starget = starget;
drivers/scsi/esp_scsi.c
2439
struct esp_target_data *tp = &esp->target[starget->id];
drivers/scsi/esp_scsi.c
2441
tp->starget = NULL;
drivers/scsi/esp_scsi.c
2447
struct esp_target_data *tp = &esp->target[dev->id];
drivers/scsi/esp_scsi.c
2455
spi_min_period(tp->starget) = esp->min_period;
drivers/scsi/esp_scsi.c
2456
spi_max_offset(tp->starget) = 15;
drivers/scsi/esp_scsi.c
2459
spi_max_width(tp->starget) = 1;
drivers/scsi/esp_scsi.c
2461
spi_max_width(tp->starget) = 0;
drivers/scsi/esp_scsi.c
2469
struct esp_target_data *tp = &esp->target[dev->id];
drivers/scsi/esp_scsi.c
2474
tp->flags |= ESP_TGT_DISCONNECT;
drivers/scsi/esp_scsi.c
2702
struct esp_target_data *tp = &esp->target[target->id];
drivers/scsi/esp_scsi.c
2705
tp->nego_goal_offset = 0;
drivers/scsi/esp_scsi.c
2707
tp->nego_goal_offset = offset;
drivers/scsi/esp_scsi.c
2708
tp->flags |= ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
2715
struct esp_target_data *tp = &esp->target[target->id];
drivers/scsi/esp_scsi.c
2717
tp->nego_goal_period = period;
drivers/scsi/esp_scsi.c
2718
tp->flags |= ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
2725
struct esp_target_data *tp = &esp->target[target->id];
drivers/scsi/esp_scsi.c
2727
tp->nego_goal_width = (width ? 1 : 0);
drivers/scsi/esp_scsi.c
2728
tp->flags |= ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
552
static int esp_need_to_nego_wide(struct esp_target_data *tp)
drivers/scsi/esp_scsi.c
554
struct scsi_target *target = tp->starget;
drivers/scsi/esp_scsi.c
556
return spi_width(target) != tp->nego_goal_width;
drivers/scsi/esp_scsi.c
559
static int esp_need_to_nego_sync(struct esp_target_data *tp)
drivers/scsi/esp_scsi.c
561
struct scsi_target *target = tp->starget;
drivers/scsi/esp_scsi.c
564
if (!spi_offset(target) && !tp->nego_goal_offset)
drivers/scsi/esp_scsi.c
567
if (spi_offset(target) == tp->nego_goal_offset &&
drivers/scsi/esp_scsi.c
568
spi_period(target) == tp->nego_goal_period)
drivers/scsi/esp_scsi.c
737
struct esp_target_data *tp;
drivers/scsi/esp_scsi.c
763
tp = &esp->target[tgt];
drivers/scsi/esp_scsi.c
778
if (tp->flags & ESP_TGT_CHECK_NEGO) {
drivers/scsi/esp_scsi.c
782
if (tp->flags & ESP_TGT_BROKEN) {
drivers/scsi/esp_scsi.c
783
tp->flags &= ~ESP_TGT_DISCONNECT;
drivers/scsi/esp_scsi.c
784
tp->nego_goal_period = 0;
drivers/scsi/esp_scsi.c
785
tp->nego_goal_offset = 0;
drivers/scsi/esp_scsi.c
786
tp->nego_goal_width = 0;
drivers/scsi/esp_scsi.c
787
tp->nego_goal_tags = 0;
drivers/scsi/esp_scsi.c
791
if (spi_width(tp->starget) == tp->nego_goal_width &&
drivers/scsi/esp_scsi.c
792
spi_period(tp->starget) == tp->nego_goal_period &&
drivers/scsi/esp_scsi.c
793
spi_offset(tp->starget) == tp->nego_goal_offset) {
drivers/scsi/esp_scsi.c
794
tp->flags &= ~ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
798
if (esp->rev == FASHME && esp_need_to_nego_wide(tp)) {
drivers/scsi/esp_scsi.c
801
(tp->nego_goal_width ?
drivers/scsi/esp_scsi.c
803
tp->flags |= ESP_TGT_NEGO_WIDE;
drivers/scsi/esp_scsi.c
804
} else if (esp_need_to_nego_sync(tp)) {
drivers/scsi/esp_scsi.c
807
tp->nego_goal_period,
drivers/scsi/esp_scsi.c
808
tp->nego_goal_offset);
drivers/scsi/esp_scsi.c
809
tp->flags |= ESP_TGT_NEGO_SYNC;
drivers/scsi/esp_scsi.c
811
tp->flags &= ~ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
820
*p++ = IDENTIFY(tp->flags & ESP_TGT_DISCONNECT, lun);
drivers/scsi/mesh.c
1157
struct mesh_target *tp = &ms->tgts[ms->conn_tgt];
drivers/scsi/mesh.c
1187
if (tp->sdtr_state != sdtr_sent) {
drivers/scsi/mesh.c
1207
tp->saved_ptr = ms->data_ptr;
drivers/scsi/mesh.c
1210
ms->data_ptr = tp->saved_ptr;
drivers/scsi/mesh.c
1218
if (tp->sdtr_state == sdtr_sent)
drivers/scsi/mesh.c
1444
struct mesh_target *tp = &ms->tgts[ms->conn_tgt];
drivers/scsi/mesh.c
1551
} else if (tp->sdtr_state == do_sdtr) {
drivers/scsi/mesh.c
1555
tp->sdtr_state = sdtr_sent;
drivers/scsi/mesh.c
215
struct mesh_target *tp = &ms->tgts[ms->conn_tgt];
drivers/scsi/mesh.c
218
tlp = &tp->log[tp->log_ix];
drivers/scsi/mesh.c
228
if (++tp->log_ix >= N_DBG_LOG)
drivers/scsi/mesh.c
229
tp->log_ix = 0;
drivers/scsi/mesh.c
230
if (tp->n_log < N_DBG_LOG)
drivers/scsi/mesh.c
231
++tp->n_log;
drivers/scsi/mesh.c
240
struct mesh_target *tp = &ms->tgts[t];
drivers/scsi/mesh.c
244
if (tp->n_log == 0)
drivers/scsi/mesh.c
246
i = tp->log_ix - tp->n_log;
drivers/scsi/mesh.c
249
tp->n_log = 0;
drivers/scsi/mesh.c
251
lp = &tp->log[i];
drivers/scsi/mesh.c
261
} while (i != tp->log_ix);
drivers/scsi/mesh.c
308
struct mesh_target *tp;
drivers/scsi/mesh.c
327
tp = &ms->tgts[t];
drivers/scsi/mesh.c
328
if (tp->current_req == NULL)
drivers/scsi/mesh.c
331
t, tp->current_req, tp->data_goes_out, tp->saved_ptr);
drivers/scsi/mesh.c
583
struct mesh_target *tp = &ms->tgts[ms->conn_tgt];
drivers/scsi/mesh.c
587
tp->current_req = NULL;
drivers/scsi/mesh.c
634
struct mesh_target *tp = &ms->tgts[ms->conn_tgt];
drivers/scsi/mesh.c
638
tp->sdtr_state = sdtr_done;
drivers/scsi/mesh.c
641
if (SYNC_OFF(tp->sync_params))
drivers/scsi/mesh.c
644
tp->sync_params = ASYNC_PARAMS;
drivers/scsi/mesh.c
667
tp->sync_params = SYNC_PARAMS(offset, v);
drivers/scsi/mesh.c
668
out_8(&mr->sync_params, tp->sync_params);
drivers/scsi/mesh.c
679
struct mesh_target *tp = &ms->tgts[ms->conn_tgt];
drivers/scsi/mesh.c
763
out_8(&mr->sync_params, tp->sync_params);
drivers/scsi/mesh.c
792
out_8(&mr->sequence, (tp->data_goes_out?
drivers/scsi/mesh.c
854
struct mesh_target *tp;
drivers/scsi/mesh.c
867
tp = &ms->tgts[cmd->device->id];
drivers/scsi/mesh.c
868
tp->current_req = NULL;
drivers/scsi/mesh.c
945
tp = &ms->tgts[t];
drivers/scsi/mesh.c
946
out_8(&mr->sync_params, tp->sync_params);
drivers/scsi/mesh.c
950
tp->saved_ptr, tp->data_goes_out, tp->current_req);
drivers/scsi/mesh.c
952
ms->current_req = tp->current_req;
drivers/scsi/mesh.c
953
if (tp->current_req == NULL) {
drivers/scsi/mesh.c
957
ms->data_ptr = tp->saved_ptr;
drivers/scsi/mesh.c
983
struct mesh_target *tp;
drivers/scsi/mesh.c
988
tp = &ms->tgts[tgt];
drivers/scsi/mesh.c
989
if ((cmd = tp->current_req) != NULL) {
drivers/scsi/mesh.c
991
tp->current_req = NULL;
drivers/scsi/ncr53c8xx.c
1922
static void ncr_negotiate (struct ncb* np, struct tcb* tp);
drivers/scsi/ncr53c8xx.c
3935
struct tcb *tp = &np->target[i];
drivers/scsi/ncr53c8xx.c
3937
tp->usrsync = driver_setup.default_sync;
drivers/scsi/ncr53c8xx.c
3938
tp->usrwide = driver_setup.max_wide;
drivers/scsi/ncr53c8xx.c
3939
tp->usrtags = MAX_TAGS;
drivers/scsi/ncr53c8xx.c
3940
tp->period = 0xffff;
drivers/scsi/ncr53c8xx.c
4025
struct tcb *tp = &np->target[cp->target];
drivers/scsi/ncr53c8xx.c
4028
struct scsi_target *starget = tp->starget;
drivers/scsi/ncr53c8xx.c
4031
if (!tp->widedone) {
drivers/scsi/ncr53c8xx.c
4035
tp->widedone=1;
drivers/scsi/ncr53c8xx.c
4039
if (!nego && !tp->period) {
drivers/scsi/ncr53c8xx.c
4043
tp->period =0xffff;
drivers/scsi/ncr53c8xx.c
4051
tp->maxoffs ? tp->minsync : 0, tp->maxoffs);
drivers/scsi/ncr53c8xx.c
4054
msglen += spi_populate_width_msg(msgptr + msglen, tp->usrwide);
drivers/scsi/ncr53c8xx.c
4061
tp->nego_cp = cp;
drivers/scsi/ncr53c8xx.c
4085
struct tcb *tp = &np->target[sdev->id];
drivers/scsi/ncr53c8xx.c
4086
struct lcb *lp = tp->lp[sdev->lun];
drivers/scsi/ncr53c8xx.c
4117
(tp->usrflag & UF_NOSCAN)) {
drivers/scsi/ncr53c8xx.c
4118
tp->usrflag &= ~UF_NOSCAN;
drivers/scsi/ncr53c8xx.c
4158
(cp != np->ccb && np->disc && !(tp->usrflag & UF_NODISC)))
drivers/scsi/ncr53c8xx.c
4238
if ((!tp->widedone || !tp->period) && !tp->nego_cp && lp) {
drivers/scsi/ncr53c8xx.c
4326
cp->phys.select.sel_scntl3 = tp->wval;
drivers/scsi/ncr53c8xx.c
4327
cp->phys.select.sel_sxfer = tp->sval;
drivers/scsi/ncr53c8xx.c
4551
struct tcb *tp;
drivers/scsi/ncr53c8xx.c
4625
tp=&np->target[target];
drivers/scsi/ncr53c8xx.c
4627
lp = tp->lp[lun];
drivers/scsi/ncr53c8xx.c
4663
struct tcb *tp;
drivers/scsi/ncr53c8xx.c
4687
tp = &np->target[cmd->device->id];
drivers/scsi/ncr53c8xx.c
4688
lp = tp->lp[cmd->device->lun];
drivers/scsi/ncr53c8xx.c
4696
if (cp == tp->nego_cp)
drivers/scsi/ncr53c8xx.c
4697
tp->nego_cp = NULL;
drivers/scsi/ncr53c8xx.c
4786
tp->bytes += cp->data_len;
drivers/scsi/ncr53c8xx.c
4787
tp->transfers ++;
drivers/scsi/ncr53c8xx.c
4879
if (tp->usrflag & UF_TRACE) {
drivers/scsi/ncr53c8xx.c
4944
struct tcb *tp = &np->target[cp->target];
drivers/scsi/ncr53c8xx.c
4945
struct lcb *lp = tp->lp[cp->lun];
drivers/scsi/ncr53c8xx.c
5176
struct tcb *tp = &np->target[i];
drivers/scsi/ncr53c8xx.c
5178
tp->sval = 0;
drivers/scsi/ncr53c8xx.c
5179
tp->wval = np->rv_scntl3;
drivers/scsi/ncr53c8xx.c
5181
if (tp->usrsync != 255) {
drivers/scsi/ncr53c8xx.c
5182
if (tp->usrsync <= np->maxsync) {
drivers/scsi/ncr53c8xx.c
5183
if (tp->usrsync < np->minsync) {
drivers/scsi/ncr53c8xx.c
5184
tp->usrsync = np->minsync;
drivers/scsi/ncr53c8xx.c
5188
tp->usrsync = 255;
drivers/scsi/ncr53c8xx.c
5191
if (tp->usrwide > np->maxwide)
drivers/scsi/ncr53c8xx.c
5192
tp->usrwide = np->maxwide;
drivers/scsi/ncr53c8xx.c
5218
static void ncr_negotiate (struct ncb* np, struct tcb* tp)
drivers/scsi/ncr53c8xx.c
5224
u_long minsync = tp->usrsync;
drivers/scsi/ncr53c8xx.c
5248
if (tp->maxoffs > np->maxoffs)
drivers/scsi/ncr53c8xx.c
5249
tp->maxoffs = np->maxoffs;
drivers/scsi/ncr53c8xx.c
5251
tp->minsync = minsync;
drivers/scsi/ncr53c8xx.c
5252
tp->maxoffs = (minsync<255 ? tp->maxoffs : 0);
drivers/scsi/ncr53c8xx.c
5258
tp->period=0;
drivers/scsi/ncr53c8xx.c
5263
tp->widedone=0;
drivers/scsi/ncr53c8xx.c
5327
struct tcb *tp = &np->target[target];
drivers/scsi/ncr53c8xx.c
5332
OUTB (nc_sxfer, tp->sval);
drivers/scsi/ncr53c8xx.c
5333
np->sync_st = tp->sval;
drivers/scsi/ncr53c8xx.c
5334
OUTB (nc_scntl3, tp->wval);
drivers/scsi/ncr53c8xx.c
5335
np->wide_st = tp->wval;
drivers/scsi/ncr53c8xx.c
5343
cp->phys.select.sel_scntl3 = tp->wval;
drivers/scsi/ncr53c8xx.c
5344
cp->phys.select.sel_sxfer = tp->sval;
drivers/scsi/ncr53c8xx.c
5358
struct tcb *tp;
drivers/scsi/ncr53c8xx.c
5364
tp = &np->target[target];
drivers/scsi/ncr53c8xx.c
5368
scntl3 = (scntl3 & 0xf0) | (tp->wval & EWS) | (np->rv_scntl3 & 0x07);
drivers/scsi/ncr53c8xx.c
5377
tp->period = (((sxfer>>5)+4)*div_10M[idiv-1])/np->clock_khz;
drivers/scsi/ncr53c8xx.c
5379
tp->period = 0xffff;
drivers/scsi/ncr53c8xx.c
5382
if (tp->sval == sxfer && tp->wval == scntl3)
drivers/scsi/ncr53c8xx.c
5384
tp->sval = sxfer;
drivers/scsi/ncr53c8xx.c
5385
tp->wval = scntl3;
drivers/scsi/ncr53c8xx.c
5389
if (tp->period <= 2000)
drivers/scsi/ncr53c8xx.c
5393
spi_display_xfer_agreement(tp->starget);
drivers/scsi/ncr53c8xx.c
5416
struct tcb *tp;
drivers/scsi/ncr53c8xx.c
5422
tp = &np->target[target];
drivers/scsi/ncr53c8xx.c
5423
tp->widedone = wide+1;
drivers/scsi/ncr53c8xx.c
5424
scntl3 = (tp->wval & (~EWS)) | (wide ? EWS : 0);
drivers/scsi/ncr53c8xx.c
5426
sxfer = ack ? 0 : tp->sval;
drivers/scsi/ncr53c8xx.c
5431
if (tp->sval == sxfer && tp->wval == scntl3) return;
drivers/scsi/ncr53c8xx.c
5432
tp->sval = sxfer;
drivers/scsi/ncr53c8xx.c
5433
tp->wval = scntl3;
drivers/scsi/ncr53c8xx.c
5460
struct tcb *tp = &np->target[tn];
drivers/scsi/ncr53c8xx.c
5461
struct lcb *lp = tp->lp[ln];
drivers/scsi/ncr53c8xx.c
5467
if ((!tp) || (!lp) || !sdev)
drivers/scsi/ncr53c8xx.c
6369
struct tcb *tp = &np->target[cmd->device->id];
drivers/scsi/ncr53c8xx.c
6370
struct lcb *lp = tp->lp[cmd->device->lun];
drivers/scsi/ncr53c8xx.c
6525
struct tcb *tp = &np->target[target];
drivers/scsi/ncr53c8xx.c
6526
struct scsi_target *starget = tp->starget;
drivers/scsi/ncr53c8xx.c
6550
if (tp->lp[0]) {
drivers/scsi/ncr53c8xx.c
6551
OUTL_DSP (scr_to_cpu(tp->lp[0]->jump_ccb[0]));
drivers/scsi/ncr53c8xx.c
6725
if (per < tp->minsync)
drivers/scsi/ncr53c8xx.c
6726
{chg = 1; per = tp->minsync;}
drivers/scsi/ncr53c8xx.c
6727
if (ofs > tp->maxoffs)
drivers/scsi/ncr53c8xx.c
6728
{chg = 1; ofs = tp->maxoffs;}
drivers/scsi/ncr53c8xx.c
6746
tp->minsync = 0;
drivers/scsi/ncr53c8xx.c
6833
if (wide > tp->usrwide)
drivers/scsi/ncr53c8xx.c
6834
{chg = 1; wide = tp->usrwide;}
drivers/scsi/ncr53c8xx.c
6973
struct tcb *tp = &np->target[tn];
drivers/scsi/ncr53c8xx.c
6974
struct lcb *lp = tp->lp[ln];
drivers/scsi/ncr53c8xx.c
7082
struct tcb *tp = &np->target[cp->target];
drivers/scsi/ncr53c8xx.c
7083
struct lcb *lp = tp->lp[cp->lun];
drivers/scsi/ncr53c8xx.c
7183
struct tcb *tp = &np->target[tn];
drivers/scsi/ncr53c8xx.c
7184
struct lcb *lp = tp->lp[ln];
drivers/scsi/ncr53c8xx.c
7232
struct tcb *tp = &np->target[tn];
drivers/scsi/ncr53c8xx.c
7241
tp->jump_tcb.l_cmd =
drivers/scsi/ncr53c8xx.c
7243
tp->jump_tcb.l_paddr = np->jump_tcb[th].l_paddr;
drivers/scsi/ncr53c8xx.c
7249
tp->getscr[0] = cpu_to_scr(copy_1);
drivers/scsi/ncr53c8xx.c
7250
tp->getscr[1] = cpu_to_scr(vtobus (&tp->sval));
drivers/scsi/ncr53c8xx.c
7252
tp->getscr[2] = cpu_to_scr(ncr_reg_bus_addr(nc_sxfer) ^ 3);
drivers/scsi/ncr53c8xx.c
7254
tp->getscr[2] = cpu_to_scr(ncr_reg_bus_addr(nc_sxfer));
drivers/scsi/ncr53c8xx.c
7261
tp->getscr[3] = cpu_to_scr(copy_1);
drivers/scsi/ncr53c8xx.c
7262
tp->getscr[4] = cpu_to_scr(vtobus (&tp->wval));
drivers/scsi/ncr53c8xx.c
7264
tp->getscr[5] = cpu_to_scr(ncr_reg_bus_addr(nc_scntl3) ^ 3);
drivers/scsi/ncr53c8xx.c
7266
tp->getscr[5] = cpu_to_scr(ncr_reg_bus_addr(nc_scntl3));
drivers/scsi/ncr53c8xx.c
7273
tp->call_lun.l_cmd = cpu_to_scr(SCR_CALL);
drivers/scsi/ncr53c8xx.c
7274
tp->call_lun.l_paddr = cpu_to_scr(NCB_SCRIPT_PHYS (np, resel_lun));
drivers/scsi/ncr53c8xx.c
7282
tp->jump_lcb[i].l_cmd =
drivers/scsi/ncr53c8xx.c
7284
tp->jump_lcb[i].l_paddr =
drivers/scsi/ncr53c8xx.c
7291
np->jump_tcb[th].l_paddr = cpu_to_scr(vtobus (&tp->jump_tcb));
drivers/scsi/ncr53c8xx.c
7319
struct tcb *tp = &np->target[tn];
drivers/scsi/ncr53c8xx.c
7320
struct lcb *lp = tp->lp[ln];
drivers/scsi/ncr53c8xx.c
7337
tp->lp[ln] = lp;
drivers/scsi/ncr53c8xx.c
7342
if (!tp->jump_tcb.l_cmd)
drivers/scsi/ncr53c8xx.c
7374
lp->jump_lcb.l_paddr = tp->jump_lcb[lh].l_paddr;
drivers/scsi/ncr53c8xx.c
7386
tp->jump_lcb[lh].l_paddr = cpu_to_scr(vtobus (&lp->jump_lcb));
drivers/scsi/ncr53c8xx.c
7410
struct tcb *tp = &np->target[tn];
drivers/scsi/ncr53c8xx.c
7411
struct lcb *lp = tp->lp[ln];
drivers/scsi/ncr53c8xx.c
7793
struct tcb *tp = &np->target[device->id];
drivers/scsi/ncr53c8xx.c
7794
tp->starget = device->sdev_target;
drivers/scsi/ncr53c8xx.c
7804
struct tcb *tp = &np->target[device->id];
drivers/scsi/ncr53c8xx.c
7805
struct lcb *lp = tp->lp[device->lun];
drivers/scsi/ncr53c8xx.c
7817
if (numtags > tp->usrtags)
drivers/scsi/ncr53c8xx.c
7818
numtags = tp->usrtags;
drivers/scsi/ncr53c8xx.c
8327
struct tcb *tp = &np->target[starget->id];
drivers/scsi/ncr53c8xx.c
8334
tp->usrsync = period;
drivers/scsi/ncr53c8xx.c
8336
ncr_negotiate(np, tp);
drivers/scsi/ncr53c8xx.c
8343
struct tcb *tp = &np->target[starget->id];
drivers/scsi/ncr53c8xx.c
8350
tp->maxoffs = offset;
drivers/scsi/ncr53c8xx.c
8352
ncr_negotiate(np, tp);
drivers/scsi/ncr53c8xx.c
8359
struct tcb *tp = &np->target[starget->id];
drivers/scsi/ncr53c8xx.c
8366
tp->usrwide = width;
drivers/scsi/ncr53c8xx.c
8368
ncr_negotiate(np, tp);
drivers/scsi/scsi_transport_spi.c
1133
struct spi_transport_attrs *tp;
drivers/scsi/scsi_transport_spi.c
1134
tp = (struct spi_transport_attrs *)&starget->starget_data;
drivers/scsi/scsi_transport_spi.c
1136
if (tp->offset > 0 && tp->period > 0) {
drivers/scsi/scsi_transport_spi.c
1141
if (tp->period <= SPI_STATIC_PPR) {
drivers/scsi/scsi_transport_spi.c
1142
picosec = ppr_to_ps[tp->period];
drivers/scsi/scsi_transport_spi.c
1143
switch (tp->period) {
drivers/scsi/scsi_transport_spi.c
1152
picosec = tp->period * 4000;
drivers/scsi/scsi_transport_spi.c
1153
if (tp->period < 25)
drivers/scsi/scsi_transport_spi.c
1155
else if (tp->period < 50)
drivers/scsi/scsi_transport_spi.c
1162
if (tp->width)
drivers/scsi/scsi_transport_spi.c
1168
scsi, tp->width ? "WIDE " : "", kb100/10, kb100 % 10,
drivers/scsi/scsi_transport_spi.c
1169
tp->dt ? "DT" : "ST",
drivers/scsi/scsi_transport_spi.c
1170
tp->iu ? " IU" : "",
drivers/scsi/scsi_transport_spi.c
1171
tp->qas ? " QAS" : "",
drivers/scsi/scsi_transport_spi.c
1172
tp->rd_strm ? " RDSTRM" : "",
drivers/scsi/scsi_transport_spi.c
1173
tp->rti ? " RTI" : "",
drivers/scsi/scsi_transport_spi.c
1174
tp->wr_flow ? " WRFLOW" : "",
drivers/scsi/scsi_transport_spi.c
1175
tp->pcomp_en ? " PCOMP" : "",
drivers/scsi/scsi_transport_spi.c
1176
tp->hold_mcs ? " HMCS" : "",
drivers/scsi/scsi_transport_spi.c
1177
tmp, tp->offset);
drivers/scsi/scsi_transport_spi.c
1180
tp->width ? "wide " : "");
drivers/scsi/scsi_transport_spi.c
276
struct spi_transport_attrs *tp; \
drivers/scsi/scsi_transport_spi.c
278
tp = (struct spi_transport_attrs *)&starget->starget_data; \
drivers/scsi/scsi_transport_spi.c
279
return snprintf(buf, 20, format_string, tp->field); \
drivers/scsi/scsi_transport_spi.c
291
struct spi_transport_attrs *tp; \
drivers/scsi/scsi_transport_spi.c
293
tp = (struct spi_transport_attrs *)&starget->starget_data; \
drivers/scsi/scsi_transport_spi.c
295
tp->field = val; \
drivers/scsi/scsi_transport_spi.c
307
struct spi_transport_attrs *tp; \
drivers/scsi/scsi_transport_spi.c
309
tp = (struct spi_transport_attrs *)&starget->starget_data; \
drivers/scsi/scsi_transport_spi.c
312
return snprintf(buf, 20, format_string, tp->field); \
drivers/scsi/scsi_transport_spi.c
343
struct spi_transport_attrs *tp \
drivers/scsi/scsi_transport_spi.c
349
if (val > tp->max_##field) \
drivers/scsi/scsi_transport_spi.c
350
val = tp->max_##field; \
drivers/scsi/scsi_transport_spi.c
487
struct spi_transport_attrs *tp =
drivers/scsi/scsi_transport_spi.c
493
return show_spi_transport_period_helper(buf, tp->period);
drivers/scsi/scsi_transport_spi.c
503
struct spi_transport_attrs *tp =
drivers/scsi/scsi_transport_spi.c
512
if (period < tp->min_period)
drivers/scsi/scsi_transport_spi.c
513
period = tp->min_period;
drivers/scsi/scsi_transport_spi.c
531
struct spi_transport_attrs *tp =
drivers/scsi/scsi_transport_spi.c
537
return show_spi_transport_period_helper(buf, tp->min_period);
drivers/scsi/scsi_transport_spi.c
546
struct spi_transport_attrs *tp =
drivers/scsi/scsi_transport_spi.c
550
&tp->min_period);
drivers/scsi/sym53c8xx_2/sym_glue.c
1002
tp->to_reset = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1008
struct sym_lcb *lp = sym_lp(tp, l);
drivers/scsi/sym53c8xx_2/sym_glue.c
1015
tp->usrflags = uc->data;
drivers/scsi/sym53c8xx_2/sym_glue.c
1938
struct sym_tcb *tp = &np->target[starget->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
1940
tp->tgoal.offset = offset;
drivers/scsi/sym53c8xx_2/sym_glue.c
1941
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1948
struct sym_tcb *tp = &np->target[starget->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
1953
tp->tgoal.dt = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1955
tp->tgoal.period = period;
drivers/scsi/sym53c8xx_2/sym_glue.c
1956
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1963
struct sym_tcb *tp = &np->target[starget->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
1968
tp->tgoal.iu = tp->tgoal.dt = tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
1970
tp->tgoal.width = width;
drivers/scsi/sym53c8xx_2/sym_glue.c
1971
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1978
struct sym_tcb *tp = &np->target[starget->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
1982
tp->tgoal.dt = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1984
tp->tgoal.iu = tp->tgoal.dt = tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
1985
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1993
struct sym_tcb *tp = &np->target[starget->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
1996
tp->tgoal.iu = tp->tgoal.dt = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
1998
tp->tgoal.iu = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
1999
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
2006
struct sym_tcb *tp = &np->target[starget->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
2009
tp->tgoal.dt = tp->tgoal.qas = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
2011
tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
2012
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
248
struct sym_tcb *tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_glue.c
262
if ((len & 1) && (tp->head.wval & EWS)) {
drivers/scsi/sym53c8xx_2/sym_glue.c
283
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_glue.c
291
tp = &np->target[sdev->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
296
lp = sym_lp(tp, sdev->lun);
drivers/scsi/sym53c8xx_2/sym_glue.c
746
static void sym_tune_dev_queuing(struct sym_tcb *tp, int lun, u_short reqtags)
drivers/scsi/sym53c8xx_2/sym_glue.c
748
struct sym_lcb *lp = sym_lp(tp, lun);
drivers/scsi/sym53c8xx_2/sym_glue.c
762
dev_info(&tp->starget->dev,
drivers/scsi/sym53c8xx_2/sym_glue.c
771
struct sym_tcb *tp = &np->target[sdev->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
790
if (tp->usrflags & SYM_SCAN_BOOT_DISABLED) {
drivers/scsi/sym53c8xx_2/sym_glue.c
791
tp->usrflags &= ~SYM_SCAN_BOOT_DISABLED;
drivers/scsi/sym53c8xx_2/sym_glue.c
798
if (tp->usrflags & SYM_SCAN_LUNS_DISABLED) {
drivers/scsi/sym53c8xx_2/sym_glue.c
812
if (tp->nlcb == 1)
drivers/scsi/sym53c8xx_2/sym_glue.c
813
tp->starget = sdev->sdev_target;
drivers/scsi/sym53c8xx_2/sym_glue.c
815
spi_min_period(tp->starget) = tp->usr_period;
drivers/scsi/sym53c8xx_2/sym_glue.c
816
spi_max_width(tp->starget) = tp->usr_width;
drivers/scsi/sym53c8xx_2/sym_glue.c
832
struct sym_tcb *tp = &np->target[sdev->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
833
struct sym_lcb *lp = sym_lp(tp, sdev->lun);
drivers/scsi/sym53c8xx_2/sym_glue.c
848
if (reqtags > tp->usrtags)
drivers/scsi/sym53c8xx_2/sym_glue.c
849
reqtags = tp->usrtags;
drivers/scsi/sym53c8xx_2/sym_glue.c
857
sym_tune_dev_queuing(tp, sdev->lun, reqtags);
drivers/scsi/sym53c8xx_2/sym_glue.c
868
struct sym_tcb *tp = &np->target[sdev->id];
drivers/scsi/sym53c8xx_2/sym_glue.c
869
struct sym_lcb *lp = sym_lp(tp, sdev->lun);
drivers/scsi/sym53c8xx_2/sym_glue.c
883
starget_printk(KERN_WARNING, tp->starget,
drivers/scsi/sym53c8xx_2/sym_glue.c
892
tp->head.sval = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
893
tp->head.wval = np->rv_scntl3;
drivers/scsi/sym53c8xx_2/sym_glue.c
894
tp->head.uval = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
895
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
896
tp->starget = NULL;
drivers/scsi/sym53c8xx_2/sym_glue.c
941
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_glue.c
964
tp = &np->target[t];
drivers/scsi/sym53c8xx_2/sym_glue.c
965
if (!tp->nlcb)
drivers/scsi/sym53c8xx_2/sym_glue.c
972
tp->tgoal.iu = tp->tgoal.dt =
drivers/scsi/sym53c8xx_2/sym_glue.c
973
tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
974
tp->tgoal.offset = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
978
tp->tgoal.iu = tp->tgoal.dt =
drivers/scsi/sym53c8xx_2/sym_glue.c
979
tp->tgoal.qas = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
980
tp->tgoal.width = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
981
tp->tgoal.period = uc->data;
drivers/scsi/sym53c8xx_2/sym_glue.c
982
tp->tgoal.offset = np->maxoffs_dt;
drivers/scsi/sym53c8xx_2/sym_glue.c
986
tp->tgoal.iu = tp->tgoal.dt =
drivers/scsi/sym53c8xx_2/sym_glue.c
987
tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
988
tp->tgoal.period = uc->data;
drivers/scsi/sym53c8xx_2/sym_glue.c
989
tp->tgoal.offset = np->maxoffs;
drivers/scsi/sym53c8xx_2/sym_glue.c
991
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
994
tp->tgoal.width = uc->data ? 1 : 0;
drivers/scsi/sym53c8xx_2/sym_glue.c
995
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_glue.c
999
sym_tune_dev_queuing(tp, l, uc->data);
drivers/scsi/sym53c8xx_2/sym_hipd.c
1408
struct sym_tcb *tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
1409
struct scsi_target *starget = tp->starget;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1410
struct sym_trans *goal = &tp->tgoal;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1452
tp->nego_cp = cp; /* Keep track a nego will be performed */
drivers/scsi/sym53c8xx_2/sym_hipd.c
1645
struct sym_tcb *tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
1646
struct sym_lcb *lp = sym_lp(tp, cp->lun);
drivers/scsi/sym53c8xx_2/sym_hipd.c
1877
struct sym_tcb *tp = &np->target[i];
drivers/scsi/sym53c8xx_2/sym_hipd.c
1879
tp->to_reset = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1880
tp->head.sval = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1881
tp->head.wval = np->rv_scntl3;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1882
tp->head.uval = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1883
if (tp->lun0p)
drivers/scsi/sym53c8xx_2/sym_hipd.c
1884
tp->lun0p->to_clear = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1885
if (tp->lunmp) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
1889
if (tp->lunmp[ln])
drivers/scsi/sym53c8xx_2/sym_hipd.c
1890
tp->lunmp[ln]->to_clear = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1936
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
1940
sval = tp->head.sval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1941
wval = tp->head.wval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1942
uval = tp->head.uval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1994
if (tp->head.sval == sval &&
drivers/scsi/sym53c8xx_2/sym_hipd.c
1995
tp->head.wval == wval &&
drivers/scsi/sym53c8xx_2/sym_hipd.c
1996
tp->head.uval == uval)
drivers/scsi/sym53c8xx_2/sym_hipd.c
1998
tp->head.sval = sval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
1999
tp->head.wval = wval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2000
tp->head.uval = uval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2012
OUTB(np, nc_sxfer, tp->head.sval);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2013
OUTB(np, nc_scntl3, tp->head.wval);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2016
OUTB(np, nc_scntl4, tp->head.uval);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2027
cp->phys.select.sel_scntl3 = tp->head.wval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2028
cp->phys.select.sel_sxfer = tp->head.sval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2030
cp->phys.select.sel_scntl4 = tp->head.uval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2035
static void sym_announce_transfer_rate(struct sym_tcb *tp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
2037
struct scsi_target *starget = tp->starget;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2039
if (tp->tprint.period != spi_period(starget) ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
2040
tp->tprint.offset != spi_offset(starget) ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
2041
tp->tprint.width != spi_width(starget) ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
2042
tp->tprint.iu != spi_iu(starget) ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
2043
tp->tprint.dt != spi_dt(starget) ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
2044
tp->tprint.qas != spi_qas(starget) ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
2045
!tp->tprint.check_nego) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
2046
tp->tprint.period = spi_period(starget);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2047
tp->tprint.offset = spi_offset(starget);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2048
tp->tprint.width = spi_width(starget);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2049
tp->tprint.iu = spi_iu(starget);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2050
tp->tprint.dt = spi_dt(starget);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2051
tp->tprint.qas = spi_qas(starget);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2052
tp->tprint.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2064
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
2065
struct scsi_target *starget = tp->starget;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2070
tp->tgoal.renego = NS_WIDE;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2072
tp->tgoal.renego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2073
tp->tgoal.check_nego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2074
tp->tgoal.width = wide;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2083
sym_announce_transfer_rate(tp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2094
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
2095
struct scsi_target *starget = tp->starget;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2096
u_char wide = (tp->head.wval & EWS) ? BUS_16_BIT : BUS_8_BIT;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2101
tp->tgoal.renego = NS_WIDE;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2103
tp->tgoal.renego = NS_SYNC;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2105
tp->tgoal.renego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2110
if (!tp->tgoal.dt && !tp->tgoal.iu && !tp->tgoal.qas) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
2111
tp->tgoal.period = per;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2112
tp->tgoal.offset = ofs;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2113
tp->tgoal.check_nego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2116
sym_announce_transfer_rate(tp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2127
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
2128
struct scsi_target *starget = tp->starget;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2133
tp->tgoal.renego = NS_PPR;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2135
tp->tgoal.renego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2136
spi_width(starget) = tp->tgoal.width = wide;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2137
spi_period(starget) = tp->tgoal.period = per;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2138
spi_offset(starget) = tp->tgoal.offset = ofs;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2139
spi_iu(starget) = tp->tgoal.iu = !!(opts & PPR_OPT_IU);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2140
spi_dt(starget) = tp->tgoal.dt = !!(opts & PPR_OPT_DT);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2141
spi_qas(starget) = tp->tgoal.qas = !!(opts & PPR_OPT_QAS);
drivers/scsi/sym53c8xx_2/sym_hipd.c
2142
tp->tgoal.check_nego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
2144
sym_announce_transfer_rate(tp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
3273
struct sym_tcb *tp = NULL; /* gcc isn't quite smart enough yet */
drivers/scsi/sym53c8xx_2/sym_hipd.c
3289
tp = &np->target[i];
drivers/scsi/sym53c8xx_2/sym_hipd.c
3290
if (tp->to_reset ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
3291
(tp->lun0p && tp->lun0p->to_clear)) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
3295
if (!tp->lunmp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
3298
if (tp->lunmp[k] && tp->lunmp[k]->to_clear) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
3328
tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
3330
np->abrt_sel.sel_scntl3 = tp->head.wval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3331
np->abrt_sel.sel_sxfer = tp->head.sval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3411
tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
3420
if (tp->to_reset) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
3423
tp->to_reset = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3430
if (tp->lun0p && tp->lun0p->to_clear)
drivers/scsi/sym53c8xx_2/sym_hipd.c
3432
else if (tp->lunmp) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
3434
if (tp->lunmp[k] && tp->lunmp[k]->to_clear) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
3446
struct sym_lcb *lp = sym_lp(tp, lun);
drivers/scsi/sym53c8xx_2/sym_hipd.c
3522
tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
3523
starget = tp->starget;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3542
tp->head.sval = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3543
tp->head.wval = np->rv_scntl3;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3544
tp->head.uval = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3551
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3552
tp->tgoal.renego = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
3589
dev_info(&tp->starget->dev, "control msgout:");
drivers/scsi/sym53c8xx_2/sym_hipd.c
3745
static void sym_modify_dp(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp, int ofs)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4023
static void sym_sync_nego(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4062
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
4151
tp->tgoal.period = per;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4152
tp->tgoal.offset = ofs;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4153
tp->tgoal.width = wide;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4154
tp->tgoal.iu = tp->tgoal.dt = tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4155
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4160
static void sym_ppr_nego(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4260
static void sym_wide_nego(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4290
if (tp->tgoal.offset) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
4291
spi_populate_sync_msg(np->msgout, tp->tgoal.period,
drivers/scsi/sym53c8xx_2/sym_hipd.c
4292
tp->tgoal.offset);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4324
static void sym_nego_default(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4331
if (tp->tgoal.period < np->minsync)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4332
tp->tgoal.period = np->minsync;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4333
if (tp->tgoal.offset > np->maxoffs)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4334
tp->tgoal.offset = np->maxoffs;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4335
tp->tgoal.iu = tp->tgoal.dt = tp->tgoal.qas = 0;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4336
tp->tgoal.check_nego = 1;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4355
static void sym_nego_rejected(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4357
sym_nego_default(np, tp, cp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4361
#define sym_printk(lvl, tp, cp, fmt, v...) do { \
drivers/scsi/sym53c8xx_2/sym_hipd.c
4365
starget_printk(lvl, tp->starget, fmt, ##v); \
drivers/scsi/sym53c8xx_2/sym_hipd.c
4377
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
4413
sym_printk(KERN_WARNING, tp, cp,
drivers/scsi/sym53c8xx_2/sym_hipd.c
4421
sym_printk(KERN_WARNING, tp, cp,
drivers/scsi/sym53c8xx_2/sym_hipd.c
4429
sym_printk(KERN_WARNING, tp, cp,
drivers/scsi/sym53c8xx_2/sym_hipd.c
4458
sym_printk(KERN_WARNING, tp, cp,
drivers/scsi/sym53c8xx_2/sym_hipd.c
4560
sym_modify_dp(np, tp, cp, tmp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4563
sym_sync_nego(np, tp, cp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4566
sym_ppr_nego(np, tp, cp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4569
sym_wide_nego(np, tp, cp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4588
sym_modify_dp(np, tp, cp, -1);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4592
sym_nego_rejected(np, tp, cp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4624
sym_nego_default(np, tp, cp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4648
struct sym_tcb *tp = &np->target[tn];
drivers/scsi/sym53c8xx_2/sym_hipd.c
4649
struct sym_lcb *lp = sym_lp(tp, ln);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4773
struct sym_tcb *tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
4774
struct sym_lcb *lp = sym_lp(tp, cp->lun);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4825
if (cp == tp->nego_cp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4826
tp->nego_cp = NULL;
drivers/scsi/sym53c8xx_2/sym_hipd.c
4969
struct sym_tcb *tp = &np->target[tn];
drivers/scsi/sym53c8xx_2/sym_hipd.c
4981
if (ln && !tp->luntbl) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
4982
tp->luntbl = sym_calloc_dma(256, "LUNTBL");
drivers/scsi/sym53c8xx_2/sym_hipd.c
4983
if (!tp->luntbl)
drivers/scsi/sym53c8xx_2/sym_hipd.c
4985
memset32(tp->luntbl, cpu_to_scr(vtobus(&np->badlun_sa)), 64);
drivers/scsi/sym53c8xx_2/sym_hipd.c
4986
tp->head.luntbl_sa = cpu_to_scr(vtobus(tp->luntbl));
drivers/scsi/sym53c8xx_2/sym_hipd.c
4992
if (ln && !tp->lunmp) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
4993
tp->lunmp = kzalloc_objs(struct sym_lcb *, SYM_CONF_MAX_LUN,
drivers/scsi/sym53c8xx_2/sym_hipd.c
4995
if (!tp->lunmp)
drivers/scsi/sym53c8xx_2/sym_hipd.c
5007
tp->lunmp[ln] = lp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5008
tp->luntbl[ln] = cpu_to_scr(vtobus(lp));
drivers/scsi/sym53c8xx_2/sym_hipd.c
5011
tp->lun0p = lp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5012
tp->head.lun0_sa = cpu_to_scr(vtobus(lp));
drivers/scsi/sym53c8xx_2/sym_hipd.c
5014
tp->nlcb++;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5029
lp->user_flags = tp->usrflags & (SYM_DISC_ENABLED | SYM_TAGS_ENABLED);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5050
struct sym_tcb *tp = &np->target[tn];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5051
struct sym_lcb *lp = sym_lp(tp, ln);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5096
struct sym_tcb *tp = &np->target[tn];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5097
struct sym_lcb *lp = sym_lp(tp, ln);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5099
tp->nlcb--;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5102
if (!tp->nlcb) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
5103
kfree(tp->lunmp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5104
sym_mfree_dma(tp->luntbl, 256, "LUNTBL");
drivers/scsi/sym53c8xx_2/sym_hipd.c
5105
tp->lunmp = NULL;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5106
tp->luntbl = NULL;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5107
tp->head.luntbl_sa = cpu_to_scr(vtobus(np->badluntbl));
drivers/scsi/sym53c8xx_2/sym_hipd.c
5109
tp->luntbl[ln] = cpu_to_scr(vtobus(&np->badlun_sa));
drivers/scsi/sym53c8xx_2/sym_hipd.c
5110
tp->lunmp[ln] = NULL;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5113
tp->lun0p = NULL;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5114
tp->head.lun0_sa = cpu_to_scr(vtobus(&np->badlun_sa));
drivers/scsi/sym53c8xx_2/sym_hipd.c
5124
return tp->nlcb;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5133
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5147
tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5152
lp = sym_lp(tp, sdev->lun);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5218
if ((tp->tgoal.check_nego ||
drivers/scsi/sym53c8xx_2/sym_hipd.c
5220
!tp->nego_cp && lp) {
drivers/scsi/sym53c8xx_2/sym_hipd.c
5234
cp->phys.select.sel_scntl3 = tp->head.wval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5235
cp->phys.select.sel_sxfer = tp->head.sval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5236
cp->phys.select.sel_scntl4 = tp->head.uval;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5273
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5278
tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5279
tp->to_reset = 1;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5355
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5378
tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5379
lp = sym_lp(tp, sdev->lun);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5488
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5510
tp = &np->target[cp->target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5511
lp = sym_lp(tp, cp->lun);
drivers/scsi/sym53c8xx_2/sym_hipd.c
5804
struct sym_tcb *tp;
drivers/scsi/sym53c8xx_2/sym_hipd.c
5830
tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
5831
if (tp->luntbl)
drivers/scsi/sym53c8xx_2/sym_hipd.c
5832
sym_mfree_dma(tp->luntbl, 256, "LUNTBL");
drivers/scsi/sym53c8xx_2/sym_hipd.c
5834
kfree(tp->lunmp);
drivers/scsi/sym53c8xx_2/sym_hipd.c
70
struct sym_tcb *tp = &np->target[target];
drivers/scsi/sym53c8xx_2/sym_hipd.c
71
dev_info(&tp->starget->dev, "%s: ", label);
drivers/scsi/sym53c8xx_2/sym_hipd.c
902
struct sym_tcb *tp = &np->target[i];
drivers/scsi/sym53c8xx_2/sym_hipd.c
904
tp->usrflags |= (SYM_DISC_ENABLED | SYM_TAGS_ENABLED);
drivers/scsi/sym53c8xx_2/sym_hipd.c
905
tp->usrtags = SYM_SETUP_MAX_TAG;
drivers/scsi/sym53c8xx_2/sym_hipd.c
906
tp->usr_width = np->maxwide;
drivers/scsi/sym53c8xx_2/sym_hipd.c
907
tp->usr_period = 9;
drivers/scsi/sym53c8xx_2/sym_hipd.c
909
sym_nvram_setup_target(tp, i, nvram);
drivers/scsi/sym53c8xx_2/sym_hipd.c
911
if (!tp->usrtags)
drivers/scsi/sym53c8xx_2/sym_hipd.c
912
tp->usrflags &= ~SYM_TAGS_ENABLED;
drivers/scsi/sym53c8xx_2/sym_hipd.h
568
#define sym_lp(tp, lun) (!lun) ? (tp)->lun0p : NULL
drivers/scsi/sym53c8xx_2/sym_hipd.h
570
#define sym_lp(tp, lun) \
drivers/scsi/sym53c8xx_2/sym_hipd.h
571
(!lun) ? (tp)->lun0p : (tp)->lunmp ? (tp)->lunmp[((u8)lun)] : NULL
drivers/scsi/sym53c8xx_2/sym_nvram.c
106
sym_Tekram_setup_target(struct sym_tcb *tp, int target, Tekram_nvram *nvram)
drivers/scsi/sym53c8xx_2/sym_nvram.c
111
tp->usrtags = 2 << nvram->max_tags_index;
drivers/scsi/sym53c8xx_2/sym_nvram.c
115
tp->usrflags |= SYM_DISC_ENABLED;
drivers/scsi/sym53c8xx_2/sym_nvram.c
118
tp->usr_period = Tekram_sync[tn->sync_index & 0xf];
drivers/scsi/sym53c8xx_2/sym_nvram.c
119
tp->usr_width = (tn->flags & TEKRAM_WIDE_NEGO) ? 1 : 0;
drivers/scsi/sym53c8xx_2/sym_nvram.c
125
void sym_nvram_setup_target(struct sym_tcb *tp, int target, struct sym_nvram *nvp)
drivers/scsi/sym53c8xx_2/sym_nvram.c
129
sym_Symbios_setup_target(tp, target, &nvp->data.Symbios);
drivers/scsi/sym53c8xx_2/sym_nvram.c
132
sym_Tekram_setup_target(tp, target, &nvp->data.Tekram);
drivers/scsi/sym53c8xx_2/sym_nvram.c
82
sym_Symbios_setup_target(struct sym_tcb *tp, int target, Symbios_nvram *nvram)
drivers/scsi/sym53c8xx_2/sym_nvram.c
87
tp->usrtags = 0;
drivers/scsi/sym53c8xx_2/sym_nvram.c
89
tp->usrflags &= ~SYM_DISC_ENABLED;
drivers/scsi/sym53c8xx_2/sym_nvram.c
91
tp->usrflags |= SYM_SCAN_BOOT_DISABLED;
drivers/scsi/sym53c8xx_2/sym_nvram.c
93
tp->usrflags |= SYM_SCAN_LUNS_DISABLED;
drivers/scsi/sym53c8xx_2/sym_nvram.c
94
tp->usr_period = (tn->sync_period + 3) / 4;
drivers/scsi/sym53c8xx_2/sym_nvram.c
95
tp->usr_width = (tn->bus_width == 0x8) ? 0 : 1;
drivers/scsi/sym53c8xx_2/sym_nvram.h
184
void sym_nvram_setup_target (struct sym_tcb *tp, int target, struct sym_nvram *nvp);
drivers/scsi/sym53c8xx_2/sym_nvram.h
189
static inline void sym_nvram_setup_target(struct sym_tcb *tp, struct sym_nvram *nvram) { }
drivers/spi/spi-bcm-qspi.c
826
struct qspi_trans tp;
drivers/spi/spi-bcm-qspi.c
837
tp = qspi->trans_pos;
drivers/spi/spi-bcm-qspi.c
840
if (tp.trans->bits_per_word <= 8) {
drivers/spi/spi-bcm-qspi.c
841
u8 *buf = tp.trans->rx_buf;
drivers/spi/spi-bcm-qspi.c
844
buf[tp.byte] = read_rxram_slot_u8(qspi, slot);
drivers/spi/spi-bcm-qspi.c
846
buf ? buf[tp.byte] : 0x0);
drivers/spi/spi-bcm-qspi.c
847
} else if (tp.trans->bits_per_word <= 16) {
drivers/spi/spi-bcm-qspi.c
848
u16 *buf = tp.trans->rx_buf;
drivers/spi/spi-bcm-qspi.c
851
buf[tp.byte / 2] = read_rxram_slot_u16(qspi,
drivers/spi/spi-bcm-qspi.c
854
buf ? buf[tp.byte / 2] : 0x0);
drivers/spi/spi-bcm-qspi.c
855
} else if (tp.trans->bits_per_word <= 32) {
drivers/spi/spi-bcm-qspi.c
856
u32 *buf = tp.trans->rx_buf;
drivers/spi/spi-bcm-qspi.c
859
buf[tp.byte / 4] = read_rxram_slot_u32(qspi,
drivers/spi/spi-bcm-qspi.c
862
buf ? buf[tp.byte / 4] : 0x0);
drivers/spi/spi-bcm-qspi.c
864
} else if (tp.trans->bits_per_word <= 64) {
drivers/spi/spi-bcm-qspi.c
865
u64 *buf = tp.trans->rx_buf;
drivers/spi/spi-bcm-qspi.c
868
buf[tp.byte / 8] = read_rxram_slot_u64(qspi,
drivers/spi/spi-bcm-qspi.c
871
buf ? buf[tp.byte / 8] : 0x0);
drivers/spi/spi-bcm-qspi.c
876
update_qspi_trans_byte_count(qspi, &tp,
drivers/spi/spi-bcm-qspi.c
880
qspi->trans_pos = tp;
drivers/spi/spi-bcm-qspi.c
938
struct qspi_trans tp;
drivers/spi/spi-bcm-qspi.c
943
tp = qspi->trans_pos;
drivers/spi/spi-bcm-qspi.c
944
bcm_qspi_update_parms(qspi, spi, tp.trans);
drivers/spi/spi-bcm-qspi.c
949
if (tp.trans->bits_per_word <= 8) {
drivers/spi/spi-bcm-qspi.c
950
const u8 *buf = tp.trans->tx_buf;
drivers/spi/spi-bcm-qspi.c
951
u8 val = buf ? buf[tp.byte] : 0x00;
drivers/spi/spi-bcm-qspi.c
955
} else if (tp.trans->bits_per_word <= 16) {
drivers/spi/spi-bcm-qspi.c
956
const u16 *buf = tp.trans->tx_buf;
drivers/spi/spi-bcm-qspi.c
957
u16 val = buf ? buf[tp.byte / 2] : 0x0000;
drivers/spi/spi-bcm-qspi.c
961
} else if (tp.trans->bits_per_word <= 32) {
drivers/spi/spi-bcm-qspi.c
962
const u32 *buf = tp.trans->tx_buf;
drivers/spi/spi-bcm-qspi.c
963
u32 val = buf ? buf[tp.byte/4] : 0x0;
drivers/spi/spi-bcm-qspi.c
967
} else if (tp.trans->bits_per_word <= 64) {
drivers/spi/spi-bcm-qspi.c
968
const u64 *buf = tp.trans->tx_buf;
drivers/spi/spi-bcm-qspi.c
969
u64 val = (buf ? buf[tp.byte/8] : 0x0);
drivers/spi/spi-bcm-qspi.c
979
mspi_cdram |= ((tp.trans->bits_per_word <= 8) ? 0 :
drivers/spi/spi-bcm-qspi.c
983
if ((spi->mode & SPI_3WIRE) && tp.trans->tx_buf)
drivers/spi/spi-bcm-qspi.c
994
tstatus = update_qspi_trans_byte_count(qspi, &tp,
drivers/tty/ipwireless/hardware.c
1735
struct ipw_tx_packet *tp, *tq;
drivers/tty/ipwireless/hardware.c
1745
list_for_each_entry_safe(tp, tq, &hw->tx_queue[i], queue) {
drivers/tty/ipwireless/hardware.c
1746
list_del(&tp->queue);
drivers/tty/ipwireless/hardware.c
1747
kfree(tp);
drivers/tty/serial/jsm/jsm_tty.c
516
struct tty_struct *tp;
drivers/tty/serial/jsm/jsm_tty.c
530
tp = port->tty;
drivers/tty/serial/jsm/jsm_tty.c
560
if (!tp || !C_CREAD(tp)) {
drivers/tty/serial/jsm/jsm_tty.c
608
if (I_PARMRK(tp) || I_BRKINT(tp) || I_INPCK(tp)) {
drivers/tty/tty_io.c
1243
struct ktermios *tp;
drivers/tty/tty_io.c
1250
tp = tty->driver->termios[idx];
drivers/tty/tty_io.c
1251
if (tp != NULL) {
drivers/tty/tty_io.c
1252
tty->termios = *tp;
drivers/tty/tty_io.c
1464
struct ktermios *tp;
drivers/tty/tty_io.c
1472
tp = tty->driver->termios[idx];
drivers/tty/tty_io.c
1473
if (tp == NULL) {
drivers/tty/tty_io.c
1474
tp = kmalloc_obj(*tp);
drivers/tty/tty_io.c
1475
if (tp == NULL)
drivers/tty/tty_io.c
1477
tty->driver->termios[idx] = tp;
drivers/tty/tty_io.c
1479
*tp = tty->termios;
drivers/tty/tty_io.c
3232
struct ktermios *tp;
drivers/tty/tty_io.c
3270
tp = driver->termios[index];
drivers/tty/tty_io.c
3271
if (tp) {
drivers/tty/tty_io.c
3273
kfree(tp);
drivers/tty/tty_io.c
3384
struct ktermios *tp;
drivers/tty/tty_io.c
3388
tp = driver->termios[i];
drivers/tty/tty_io.c
3389
if (tp) {
drivers/tty/tty_io.c
3391
kfree(tp);
fs/jfs/jfs_dmap.c
2230
dmtree_t *tp = (dmtree_t *) & dp->tree;
fs/jfs/jfs_dmap.c
2280
dbSplit(tp, word, BUDMIN,
fs/jfs/jfs_dmap.c
2321
dbSplit(tp, word, size, NOFREE, false);
fs/jfs/jfs_dmap.c
2377
dmtree_t *tp = (dmtree_t *) & dp->tree;
fs/jfs/jfs_dmap.c
2427
rc = dbJoin(tp, word,
fs/jfs/jfs_dmap.c
2461
rc = dbJoin(tp, word, size, false);
fs/jfs/jfs_dmap.c
2713
static void dbSplit(dmtree_t *tp, int leafno, int splitsz, int newval, bool is_ctl)
fs/jfs/jfs_dmap.c
2717
s8 *leaf = tp->dmt_stree + le32_to_cpu(tp->dmt_leafidx);
fs/jfs/jfs_dmap.c
2721
if (leaf[leafno] > tp->dmt_budmin) {
fs/jfs/jfs_dmap.c
2728
budsz = BUDSIZE(cursz, tp->dmt_budmin);
fs/jfs/jfs_dmap.c
2735
dbAdjTree(tp, leafno ^ budsz, cursz, is_ctl);
fs/jfs/jfs_dmap.c
2747
dbAdjTree(tp, leafno, newval, is_ctl);
fs/jfs/jfs_dmap.c
2778
static int dbBackSplit(dmtree_t *tp, int leafno, bool is_ctl)
fs/jfs/jfs_dmap.c
2782
s8 *leaf = tp->dmt_stree + le32_to_cpu(tp->dmt_leafidx);
fs/jfs/jfs_dmap.c
2797
LITOL2BSZ(leafno, le32_to_cpu(tp->dmt_l2nleafs),
fs/jfs/jfs_dmap.c
2798
tp->dmt_budmin);
fs/jfs/jfs_dmap.c
2804
budsz = BUDSIZE(size, tp->dmt_budmin);
fs/jfs/jfs_dmap.c
2813
if (bsz >= le32_to_cpu(tp->dmt_nleafs)) {
fs/jfs/jfs_dmap.c
2829
dbSplit(tp, bud, cursz, cursz, is_ctl);
fs/jfs/jfs_dmap.c
2857
static int dbJoin(dmtree_t *tp, int leafno, int newval, bool is_ctl)
fs/jfs/jfs_dmap.c
2864
if (newval >= tp->dmt_budmin) {
fs/jfs/jfs_dmap.c
2867
leaf = tp->dmt_stree + le32_to_cpu(tp->dmt_leafidx);
fs/jfs/jfs_dmap.c
2882
budsz = BUDSIZE(newval, tp->dmt_budmin);
fs/jfs/jfs_dmap.c
2886
while (budsz < le32_to_cpu(tp->dmt_nleafs)) {
fs/jfs/jfs_dmap.c
2912
dbAdjTree(tp, buddy, NOFREE, is_ctl);
fs/jfs/jfs_dmap.c
2917
dbAdjTree(tp, leafno, NOFREE, is_ctl);
fs/jfs/jfs_dmap.c
2930
dbAdjTree(tp, leafno, newval, is_ctl);
fs/jfs/jfs_dmap.c
2951
static void dbAdjTree(dmtree_t *tp, int leafno, int newval, bool is_ctl)
fs/jfs/jfs_dmap.c
2960
lp = leafno + le32_to_cpu(tp->dmt_leafidx);
fs/jfs/jfs_dmap.c
2968
if (tp->dmt_stree[lp] == newval)
fs/jfs/jfs_dmap.c
2973
tp->dmt_stree[lp] = newval;
fs/jfs/jfs_dmap.c
2977
for (k = 0; k < le32_to_cpu(tp->dmt_height); k++) {
fs/jfs/jfs_dmap.c
2992
max = TREEMAX(&tp->dmt_stree[lp]);
fs/jfs/jfs_dmap.c
2997
if (tp->dmt_stree[pp] == max)
fs/jfs/jfs_dmap.c
3002
tp->dmt_stree[pp] = max;
fs/jfs/jfs_dmap.c
3034
static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl)
fs/jfs/jfs_dmap.c
3045
if (l2nb > tp->dmt_stree[ROOT])
fs/jfs/jfs_dmap.c
3052
for (k = le32_to_cpu(tp->dmt_height), ti = 1;
fs/jfs/jfs_dmap.c
3063
if (l2nb <= tp->dmt_stree[x + n])
fs/jfs/jfs_dmap.c
3072
if (le32_to_cpu(tp->dmt_leafidx) >= max_idx)
fs/jfs/jfs_dmap.c
3078
*leafidx = x + n - le32_to_cpu(tp->dmt_leafidx);
fs/jfs/jfs_dmap.c
3339
struct dmaptree *tp = (struct dmaptree *) & dp->tree;
fs/jfs/jfs_dmap.c
3344
oldroot = tp->stree[ROOT];
fs/jfs/jfs_dmap.c
3423
if (tp->stree[ROOT] == oldroot)
fs/jfs/jfs_dmap.c
3430
if ((rc = dbAdjCtl(bmp, blkno, tp->stree[ROOT], 1, 0)))
fs/jfs/jfs_dmap.c
3942
struct dmaptree *tp;
fs/jfs/jfs_dmap.c
3947
tp = &dp->tree;
fs/jfs/jfs_dmap.c
3948
tp->nleafs = cpu_to_le32(LPERDMAP);
fs/jfs/jfs_dmap.c
3949
tp->l2nleafs = cpu_to_le32(L2LPERDMAP);
fs/jfs/jfs_dmap.c
3950
tp->leafidx = cpu_to_le32(LEAFIND);
fs/jfs/jfs_dmap.c
3951
tp->height = cpu_to_le32(4);
fs/jfs/jfs_dmap.c
3952
tp->budmin = BUDMIN;
fs/jfs/jfs_dmap.c
3958
cp = tp->stree + le32_to_cpu(tp->leafidx);
fs/jfs/jfs_dmap.c
3963
return (dbInitTree(tp));
fs/jfs/jfs_dmap.c
3990
s8 *tp, *cp, *cp1;
fs/jfs/jfs_dmap.c
3992
tp = dtp->stree;
fs/jfs/jfs_dmap.c
4017
for (i = 0, cp = tp + le32_to_cpu(dtp->leafidx);
fs/jfs/jfs_dmap.c
4047
for (i = 0, cp = tp + child, cp1 = tp + parent;
fs/jfs/jfs_dmap.c
4052
return (*tp);
fs/jfs/jfs_dmap.c
66
static void dbSplit(dmtree_t *tp, int leafno, int splitsz, int newval, bool is_ctl);
fs/jfs/jfs_dmap.c
67
static int dbBackSplit(dmtree_t *tp, int leafno, bool is_ctl);
fs/jfs/jfs_dmap.c
68
static int dbJoin(dmtree_t *tp, int leafno, int newval, bool is_ctl);
fs/jfs/jfs_dmap.c
69
static void dbAdjTree(dmtree_t *tp, int leafno, int newval, bool is_ctl);
fs/jfs/jfs_dmap.c
90
static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl);
fs/nfs/nfs4xdr.c
1979
struct nfs4_slot_table *tp;
fs/nfs/nfs4xdr.c
1983
tp = slot->table;
fs/nfs/nfs4xdr.c
1984
session = tp->session;
fs/nfs/nfs4xdr.c
2001
tp->highest_used_slotid, args->sa_cache_this);
fs/nfs/nfs4xdr.c
2006
*p++ = cpu_to_be32(tp->highest_used_slotid);
fs/proc/base.c
2483
struct timers_private *tp = m->private;
fs/proc/base.c
2485
tp->task = get_pid_task(tp->pid, PIDTYPE_PID);
fs/proc/base.c
2486
if (!tp->task)
fs/proc/base.c
2490
return seq_hlist_start_rcu(&tp->task->signal->posix_timers, *pos);
fs/proc/base.c
2495
struct timers_private *tp = m->private;
fs/proc/base.c
2497
return seq_hlist_next_rcu(v, &tp->task->signal->posix_timers, pos);
fs/proc/base.c
2502
struct timers_private *tp = m->private;
fs/proc/base.c
2504
if (tp->task) {
fs/proc/base.c
2505
put_task_struct(tp->task);
fs/proc/base.c
2506
tp->task = NULL;
fs/proc/base.c
2520
struct timers_private *tp = m->private;
fs/proc/base.c
2532
pid_nr_ns(timer->it_pid, tp->ns));
fs/proc/base.c
2547
struct timers_private *tp;
fs/proc/base.c
2549
tp = __seq_open_private(file, &proc_timers_seq_ops,
fs/proc/base.c
2551
if (!tp)
fs/proc/base.c
2554
tp->pid = proc_pid(inode);
fs/proc/base.c
2555
tp->ns = proc_pid_ns(inode->i_sb);
fs/ufs/super.c
1311
const struct constant_table *tp;
fs/ufs/super.c
1313
tp = ufs_param_ufstype;
fs/ufs/super.c
1314
while (tp->value && tp->value != mval)
fs/ufs/super.c
1315
++tp;
fs/ufs/super.c
1316
seq_printf(seq, ",ufstype=%s", tp->name);
fs/ufs/super.c
1318
tp = ufs_param_onerror;
fs/ufs/super.c
1320
while (tp->value && tp->value != mval)
fs/ufs/super.c
1321
++tp;
fs/ufs/super.c
1322
seq_printf(seq, ",onerror=%s", tp->name);
fs/xfs/libxfs/xfs_ag.c
737
.tp = *tpp,
fs/xfs/libxfs/xfs_ag.c
898
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ag.c
909
error = xfs_ialloc_read_agi(pag, tp, 0, &bp);
fs/xfs/libxfs/xfs_ag.c
915
xfs_ialloc_log_agi(tp, bp, XFS_AGI_LENGTH);
fs/xfs/libxfs/xfs_ag.c
920
error = xfs_alloc_read_agf(pag, tp, 0, &bp);
fs/xfs/libxfs/xfs_ag.c
927
xfs_alloc_log_agf(tp, bp, XFS_AGF_LENGTH);
fs/xfs/libxfs/xfs_ag.c
935
error = xfs_rmap_free(tp, bp, pag, be32_to_cpu(agf->agf_length) - len,
fs/xfs/libxfs/xfs_ag.c
940
error = xfs_free_extent(tp, pag, be32_to_cpu(agf->agf_length) - len,
fs/xfs/libxfs/xfs_ag.h
332
int xfs_ag_extend_space(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ag_resv.c
239
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_ag_resv.c
251
error = xfs_refcountbt_calc_reserves(mp, tp, pag, &ask, &used);
fs/xfs/libxfs/xfs_ag_resv.c
255
error = xfs_finobt_calc_reserves(pag, tp, &ask, &used);
fs/xfs/libxfs/xfs_ag_resv.c
273
error = xfs_refcountbt_calc_reserves(mp, tp, pag, &ask,
fs/xfs/libxfs/xfs_ag_resv.c
291
error = xfs_rmapbt_calc_reserves(mp, tp, pag, &ask, &used);
fs/xfs/libxfs/xfs_ag_resv.c
313
error2 = xfs_alloc_read_agf(pag, tp, 0, NULL);
fs/xfs/libxfs/xfs_ag_resv.c
362
xfs_trans_mod_sb(args->tp, field, -(int64_t)args->len);
fs/xfs/libxfs/xfs_ag_resv.c
371
xfs_trans_mod_sb(args->tp, XFS_TRANS_SB_RES_FDBLOCKS, -(int64_t)len);
fs/xfs/libxfs/xfs_ag_resv.c
374
xfs_trans_mod_sb(args->tp, XFS_TRANS_SB_FDBLOCKS,
fs/xfs/libxfs/xfs_ag_resv.c
383
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ag_resv.c
403
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FDBLOCKS, (int64_t)len);
fs/xfs/libxfs/xfs_ag_resv.c
414
xfs_trans_mod_sb(tp, XFS_TRANS_SB_RES_FDBLOCKS, len);
fs/xfs/libxfs/xfs_ag_resv.c
417
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FDBLOCKS, len - leftover);
fs/xfs/libxfs/xfs_ag_resv.h
10
int xfs_ag_resv_init(struct xfs_perag *pag, struct xfs_trans *tp);
fs/xfs/libxfs/xfs_ag_resv.h
19
struct xfs_trans *tp, xfs_extlen_t len);
fs/xfs/libxfs/xfs_alloc.c
1246
error = xfs_alloc_get_freelist(args->pag, args->tp, args->agbp,
fs/xfs/libxfs/xfs_alloc.c
1259
error = xfs_trans_get_buf(args->tp, args->mp->m_ddev_targp,
fs/xfs/libxfs/xfs_alloc.c
1264
xfs_trans_binval(args->tp, bp);
fs/xfs/libxfs/xfs_alloc.c
1280
error = xfs_rmap_free(args->tp, args->agbp, args->pag, fbno, 1,
fs/xfs/libxfs/xfs_alloc.c
1334
bno_cur = xfs_bnobt_init_cursor(args->mp, args->tp, args->agbp,
fs/xfs/libxfs/xfs_alloc.c
1396
cnt_cur = xfs_cntbt_init_cursor(args->mp, args->tp, args->agbp,
fs/xfs/libxfs/xfs_alloc.c
1760
error = xfs_extent_busy_flush(args->tp,
fs/xfs/libxfs/xfs_alloc.c
1812
cnt_cur = xfs_cntbt_init_cursor(args->mp, args->tp, args->agbp,
fs/xfs/libxfs/xfs_alloc.c
1877
error = xfs_extent_busy_flush(args->tp,
fs/xfs/libxfs/xfs_alloc.c
1977
error = xfs_extent_busy_flush(args->tp,
fs/xfs/libxfs/xfs_alloc.c
2000
bno_cur = xfs_bnobt_init_cursor(args->mp, args->tp, args->agbp,
fs/xfs/libxfs/xfs_alloc.c
2040
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
2064
mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
2067
error = xfs_rmap_free(tp, agbp, pag, bno, len, oinfo);
fs/xfs/libxfs/xfs_alloc.c
2075
bno_cur = xfs_bnobt_init_cursor(mp, tp, agbp, pag);
fs/xfs/libxfs/xfs_alloc.c
2149
cnt_cur = xfs_cntbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/libxfs/xfs_alloc.c
2361
error = xfs_alloc_update_counters(tp, agbp, len);
fs/xfs/libxfs/xfs_alloc.c
2362
xfs_ag_resv_free_extent(pag, type, tp, len);
fs/xfs/libxfs/xfs_alloc.c
2603
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
2607
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
2621
xfs_alloc_log_agf(tp, agbp, XFS_AGF_FLFIRST | XFS_AGF_FLLAST |
fs/xfs/libxfs/xfs_alloc.c
2634
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
2643
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
2682
xfs_extent_free_defer_add(tp, xefi, dfpp);
fs/xfs/libxfs/xfs_alloc.c
2688
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
2697
return xfs_defer_extent_free(tp, bno, len, oinfo, type, free_flags,
fs/xfs/libxfs/xfs_alloc.c
2727
error = xfs_defer_extent_free(args->tp, args->fsbno, args->len,
fs/xfs/libxfs/xfs_alloc.c
2732
xfs_defer_item_pause(args->tp, aarp->dfp);
fs/xfs/libxfs/xfs_alloc.c
2751
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
2763
xfs_defer_item_unpause(tp, dfp);
fs/xfs/libxfs/xfs_alloc.c
2774
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
2778
xfs_defer_item_unpause(tp, aarp->dfp);
fs/xfs/libxfs/xfs_alloc.c
2796
cnt_cur = xfs_cntbt_init_cursor(args->mp, args->tp, agbp,
fs/xfs/libxfs/xfs_alloc.c
2832
struct xfs_trans *tp = args->tp;
fs/xfs/libxfs/xfs_alloc.c
2841
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/libxfs/xfs_alloc.c
2844
error = xfs_alloc_read_agf(pag, tp, alloc_flags, &agbp);
fs/xfs/libxfs/xfs_alloc.c
2875
error = xfs_alloc_read_agf(pag, tp, alloc_flags, &agbp);
fs/xfs/libxfs/xfs_alloc.c
2886
xfs_agfl_reset(tp, agbp, pag);
fs/xfs/libxfs/xfs_alloc.c
2933
error = xfs_alloc_get_freelist(pag, tp, agbp, &bno, 0);
fs/xfs/libxfs/xfs_alloc.c
2949
error = xfs_free_extent_later(tp, xfs_agbno_to_fsb(pag, bno),
fs/xfs/libxfs/xfs_alloc.c
2955
targs.tp = tp;
fs/xfs/libxfs/xfs_alloc.c
2961
error = xfs_alloc_read_agfl(pag, tp, &agflbp);
fs/xfs/libxfs/xfs_alloc.c
2988
error = xfs_rmap_alloc(tp, agbp, pag,
fs/xfs/libxfs/xfs_alloc.c
2993
error = xfs_alloc_update_counters(tp, agbp,
fs/xfs/libxfs/xfs_alloc.c
3002
error = xfs_alloc_put_freelist(pag, tp, agbp,
fs/xfs/libxfs/xfs_alloc.c
3008
xfs_trans_brelse(tp, agflbp);
fs/xfs/libxfs/xfs_alloc.c
3013
xfs_trans_brelse(tp, agflbp);
fs/xfs/libxfs/xfs_alloc.c
3016
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_alloc.c
3029
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
3040
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
3052
error = xfs_alloc_read_agfl(pag, tp, &agflbp);
fs/xfs/libxfs/xfs_alloc.c
3062
if (XFS_IS_CORRUPT(tp->t_mountp, !xfs_verify_agbno(pag, bno)))
fs/xfs/libxfs/xfs_alloc.c
3066
xfs_trans_brelse(tp, agflbp);
fs/xfs/libxfs/xfs_alloc.c
3081
xfs_alloc_log_agf(tp, agbp, logflags);
fs/xfs/libxfs/xfs_alloc.c
3092
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
3121
trace_xfs_agf(tp->t_mountp, bp->b_addr, fields, _RET_IP_);
fs/xfs/libxfs/xfs_alloc.c
3123
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_AGF_BUF);
fs/xfs/libxfs/xfs_alloc.c
3126
xfs_trans_log_buf(tp, bp, (uint)first, (uint)last);
fs/xfs/libxfs/xfs_alloc.c
3135
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
3141
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
3150
error = xfs_alloc_read_agfl(pag, tp, &agflbp);
fs/xfs/libxfs/xfs_alloc.c
3177
xfs_alloc_log_agf(tp, agbp, logflags);
fs/xfs/libxfs/xfs_alloc.c
3179
xfs_trans_buf_set_type(tp, agflbp, XFS_BLFT_AGFL_BUF);
fs/xfs/libxfs/xfs_alloc.c
3180
xfs_trans_log_buf(tp, agflbp, startoff,
fs/xfs/libxfs/xfs_alloc.c
3367
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
3376
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_alloc.c
3396
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
3411
error = xfs_read_agf(pag, tp,
fs/xfs/libxfs/xfs_alloc.c
3474
xfs_trans_brelse(tp, agfbp);
fs/xfs/libxfs/xfs_alloc.c
3485
xfs_trans_brelse(tp, agfbp);
fs/xfs/libxfs/xfs_alloc.c
3506
if (args->tp->t_highest_agno != NULLAGNUMBER)
fs/xfs/libxfs/xfs_alloc.c
3507
*minimum_agno = args->tp->t_highest_agno;
fs/xfs/libxfs/xfs_alloc.c
3618
(args->tp->t_highest_agno == NULLAGNUMBER ||
fs/xfs/libxfs/xfs_alloc.c
3620
args->tp->t_highest_agno = args->agno;
fs/xfs/libxfs/xfs_alloc.c
3643
error = xfs_rmap_alloc(args->tp, args->agbp, args->pag,
fs/xfs/libxfs/xfs_alloc.c
3650
error = xfs_alloc_update_counters(args->tp, args->agbp,
fs/xfs/libxfs/xfs_alloc.c
3970
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
3978
args.tp = tp;
fs/xfs/libxfs/xfs_alloc.c
3979
args.mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
4005
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
4013
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_alloc.c
4025
error = xfs_free_extent_fix_freelist(tp, pag, &agbp);
fs/xfs/libxfs/xfs_alloc.c
4047
error = xfs_free_ag_extent(tp, agbp, agbno, len, oinfo, type);
fs/xfs/libxfs/xfs_alloc.c
4053
xfs_extent_busy_insert(tp, pag_group(pag), agbno, len, busy_flags);
fs/xfs/libxfs/xfs_alloc.c
4057
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_alloc.c
878
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
885
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_alloc.c
899
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.c
915
xfs_alloc_log_agf(tp, agbp, XFS_AGF_FREEBLKS);
fs/xfs/libxfs/xfs_alloc.c
964
acur->cnt = xfs_cntbt_init_cursor(args->mp, args->tp,
fs/xfs/libxfs/xfs_alloc.c
974
acur->bnolt = xfs_bnobt_init_cursor(args->mp, args->tp,
fs/xfs/libxfs/xfs_alloc.c
977
acur->bnogt = xfs_bnobt_init_cursor(args->mp, args->tp,
fs/xfs/libxfs/xfs_alloc.h
145
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_alloc.h
155
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.h
162
return __xfs_free_extent(tp, pag, agbno, len, oinfo, type, false);
fs/xfs/libxfs/xfs_alloc.h
192
int xfs_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags,
fs/xfs/libxfs/xfs_alloc.h
194
int xfs_alloc_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags,
fs/xfs/libxfs/xfs_alloc.h
196
int xfs_alloc_read_agfl(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.h
199
int xfs_free_extent_fix_freelist(struct xfs_trans *tp, struct xfs_perag *pag,
fs/xfs/libxfs/xfs_alloc.h
233
int xfs_free_extent_later(struct xfs_trans *tp, xfs_fsblock_t bno,
fs/xfs/libxfs/xfs_alloc.h
277
void xfs_alloc_cancel_autoreap(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.h
279
void xfs_alloc_commit_autoreap(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.h
35
struct xfs_trans *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_alloc.h
76
int xfs_alloc_get_freelist(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.h
78
int xfs_alloc_put_freelist(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc.h
81
int xfs_free_ag_extent(struct xfs_trans *tp, struct xfs_buf *agbp,
fs/xfs/libxfs/xfs_alloc.h
97
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_alloc_btree.c
479
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc_btree.c
485
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_bnobt_ops,
fs/xfs/libxfs/xfs_alloc_btree.c
505
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc_btree.c
511
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_cntbt_ops,
fs/xfs/libxfs/xfs_alloc_btree.c
530
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_alloc_btree.c
545
xfs_alloc_log_agf(tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS);
fs/xfs/libxfs/xfs_alloc_btree.c
547
xfs_btree_commit_afakeroot(cur, tp, agbp);
fs/xfs/libxfs/xfs_alloc_btree.h
51
struct xfs_trans *tp, struct xfs_buf *bp,
fs/xfs/libxfs/xfs_alloc_btree.h
54
struct xfs_trans *tp, struct xfs_buf *bp,
fs/xfs/libxfs/xfs_alloc_btree.h
62
struct xfs_trans *tp, struct xfs_buf *agbp);
fs/xfs/libxfs/xfs_attr.c
1000
struct xfs_trans *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_attr.c
1010
rsvd, &tp);
fs/xfs/libxfs/xfs_attr.c
1017
error = xfs_bmap_add_attrfork(tp, ip, size, rsvd);
fs/xfs/libxfs/xfs_attr.c
1021
error = xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_attr.c
1026
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_attr.h
55
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_attr_leaf.c
1424
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_attr_leaf.c
1430
.trans = tp,
fs/xfs/libxfs/xfs_attr_leaf.c
1436
ASSERT(tp != NULL);
fs/xfs/libxfs/xfs_attr_leaf.c
531
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_attr_leaf.c
540
err = xfs_da_read_buf(tp, dp, bno, 0, bpp, XFS_ATTR_FORK,
fs/xfs/libxfs/xfs_attr_leaf.c
548
xfs_trans_brelse(tp, *bpp);
fs/xfs/libxfs/xfs_attr_leaf.c
554
if (tp)
fs/xfs/libxfs/xfs_attr_leaf.c
555
xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_ATTR_LEAF_BUF);
fs/xfs/libxfs/xfs_attr_leaf.c
789
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_attr_leaf.c
797
xfs_log_sb(tp);
fs/xfs/libxfs/xfs_attr_leaf.c
929
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_attr_leaf.c
935
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_attr_leaf.h
104
int xfs_attr3_leaf_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_attr_leaf.h
59
void xfs_attr_fork_remove(struct xfs_inode *ip, struct xfs_trans *tp);
fs/xfs/libxfs/xfs_attr_leaf.h
91
int xfs_attr3_leaf_init(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_bmap.c
1027
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
1032
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_bmap.c
1041
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_bmap.c
1050
error = xfs_bmap_add_attrfork_local(tp, ip, &logflags);
fs/xfs/libxfs/xfs_bmap.c
1053
error = xfs_bmap_add_attrfork_extents(tp, ip, &logflags);
fs/xfs/libxfs/xfs_bmap.c
1056
error = xfs_bmap_add_attrfork_btree(tp, ip, &logflags);
fs/xfs/libxfs/xfs_bmap.c
1063
xfs_trans_log_inode(tp, ip, logflags);
fs/xfs/libxfs/xfs_bmap.c
1077
xfs_log_sb(tp);
fs/xfs/libxfs/xfs_bmap.c
1182
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
1199
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
1234
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
1254
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
1282
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
1305
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
1316
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
1326
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
1757
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
fs/xfs/libxfs/xfs_bmap.c
1848
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
fs/xfs/libxfs/xfs_bmap.c
1937
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
fs/xfs/libxfs/xfs_bmap.c
1963
xfs_rmap_map_extent(bma->tp, bma->ip, whichfork, new);
fs/xfs/libxfs/xfs_bmap.c
1970
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
fs/xfs/libxfs/xfs_bmap.c
2007
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
234
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
243
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_bmap.c
2533
xfs_rmap_convert_extent(mp, tp, ip, whichfork, new);
fs/xfs/libxfs/xfs_bmap.c
2540
error = xfs_bmap_extents_to_btree(tp, ip, &cur, 0,
fs/xfs/libxfs/xfs_bmap.c
2567
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
2782
xfs_rmap_map_extent(tp, ip, whichfork, new);
fs/xfs/libxfs/xfs_bmap.c
2789
error = xfs_bmap_extents_to_btree(tp, ip, curp, 0,
fs/xfs/libxfs/xfs_bmap.c
3149
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
3156
error = xfs_alloc_read_agf(pag, tp, XFS_ALLOC_FLAG_TRYLOCK,
fs/xfs/libxfs/xfs_bmap.c
3206
if (ap->tp->t_flags & XFS_TRANS_LOWMODE) {
fs/xfs/libxfs/xfs_bmap.c
3219
error = xfs_bmap_longest_free_extent(pag, args->tp, blen);
fs/xfs/libxfs/xfs_bmap.c
3266
xfs_trans_mod_dquot_byino(ap->tp, ap->ip, isrt ?
fs/xfs/libxfs/xfs_bmap.c
3274
xfs_trans_log_inode(ap->tp, ap->ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_bmap.c
3283
xfs_trans_mod_dquot_byino(ap->tp, ap->ip, fld, ap->length);
fs/xfs/libxfs/xfs_bmap.c
3528
ap->tp->t_flags |= XFS_TRANS_LOWMODE;
fs/xfs/libxfs/xfs_bmap.c
3552
if (ap->tp->t_flags & XFS_TRANS_LOWMODE) {
fs/xfs/libxfs/xfs_bmap.c
3610
if (ap->aeof && !(ap->tp->t_flags & XFS_TRANS_LOWMODE)) {
fs/xfs/libxfs/xfs_bmap.c
3630
.tp = ap->tp,
fs/xfs/libxfs/xfs_bmap.c
3954
bma->cur = xfs_bmbt_init_cursor(mp, bma->tp, bma->ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
3975
error = xfs_bmap_add_extent_hole_real(bma->tp, bma->ip,
fs/xfs/libxfs/xfs_bmap.c
4024
bma->cur = xfs_bmbt_init_cursor(bma->ip->i_mount, bma->tp,
fs/xfs/libxfs/xfs_bmap.c
4041
error = xfs_bmap_add_extent_unwritten_real(bma->tp, bma->ip, whichfork,
fs/xfs/libxfs/xfs_bmap.c
4077
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
4083
if (tp && tp->t_highest_agno != NULLAGNUMBER)
fs/xfs/libxfs/xfs_bmap.c
4112
xfs_trans_log_inode(bma->tp, bma->ip, bma->logflags);
fs/xfs/libxfs/xfs_bmap.c
4134
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
4144
.tp = tp,
fs/xfs/libxfs/xfs_bmap.c
4173
ASSERT(tp != NULL);
fs/xfs/libxfs/xfs_bmap.c
4202
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
4210
bma.minleft = xfs_bmapi_minleft(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
4282
xfs_refcount_alloc_cow_extent(tp,
fs/xfs/libxfs/xfs_bmap.c
4315
error = xfs_bmap_btree_to_extents(tp, ip, bma.cur, &bma.logflags,
fs/xfs/libxfs/xfs_bmap.c
4365
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_bmap.c
4376
XFS_TRANS_RESERVE, &tp);
fs/xfs/libxfs/xfs_bmap.c
4381
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/libxfs/xfs_bmap.c
4383
error = xfs_iext_count_extend(tp, ip, whichfork,
fs/xfs/libxfs/xfs_bmap.c
4412
bma.tp = tp;
fs/xfs/libxfs/xfs_bmap.c
4415
bma.minleft = xfs_bmapi_minleft(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
4459
xfs_refcount_alloc_cow_extent(tp, XFS_IS_REALTIME_INODE(ip),
fs/xfs/libxfs/xfs_bmap.c
4462
error = xfs_bmap_btree_to_extents(tp, ip, bma.cur, &bma.logflags,
fs/xfs/libxfs/xfs_bmap.c
4468
error = xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_bmap.c
4475
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_bmap.c
4512
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
4545
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
4557
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_bmap.c
4560
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
4570
error = xfs_bmap_add_extent_hole_real(tp, ip, whichfork, &icur,
fs/xfs/libxfs/xfs_bmap.c
4575
error = xfs_bmap_btree_to_extents(tp, ip, cur, &logflags, whichfork);
fs/xfs/libxfs/xfs_bmap.c
4584
xfs_trans_log_inode(tp, ip, logflags);
fs/xfs/libxfs/xfs_bmap.c
4876
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
4882
rtg = xfs_rtgroup_grab(tp->t_mountp, 0);
fs/xfs/libxfs/xfs_bmap.c
4890
if (!(tp->t_flags & XFS_TRANS_RTBITMAP_LOCKED)) {
fs/xfs/libxfs/xfs_bmap.c
4891
tp->t_flags |= XFS_TRANS_RTBITMAP_LOCKED;
fs/xfs/libxfs/xfs_bmap.c
4893
xfs_rtgroup_trans_join(tp, rtg, XFS_RTGLOCK_BITMAP);
fs/xfs/libxfs/xfs_bmap.c
4896
error = xfs_rtfree_blocks(tp, rtg, del->br_startblock,
fs/xfs/libxfs/xfs_bmap.c
4909
xfs_trans_t *tp, /* current transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
4955
if (tp->t_blk_res == 0 &&
fs/xfs/libxfs/xfs_bmap.c
5108
xfs_rmap_unmap_extent(tp, ip, whichfork, del);
fs/xfs/libxfs/xfs_bmap.c
5117
xfs_refcount_decrease_extent(tp, isrt, del);
fs/xfs/libxfs/xfs_bmap.c
5119
error = xfs_bmap_free_rtblocks(tp, del);
fs/xfs/libxfs/xfs_bmap.c
5140
error = xfs_free_extent_later(tp, del->br_startblock,
fs/xfs/libxfs/xfs_bmap.c
5157
xfs_trans_mod_dquot_byino(tp, ip, qfield, (long)-nblks);
fs/xfs/libxfs/xfs_bmap.c
5170
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
5211
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5232
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5305
ASSERT(tp->t_blk_res > 0);
fs/xfs/libxfs/xfs_bmap.c
5316
error = xfs_bmap_add_extent_unwritten_real(tp, ip,
fs/xfs/libxfs/xfs_bmap.c
5339
tp->t_blk_res == 0)) {
fs/xfs/libxfs/xfs_bmap.c
5376
error = xfs_bmap_add_extent_unwritten_real(tp,
fs/xfs/libxfs/xfs_bmap.c
5385
error = xfs_bmap_add_extent_unwritten_real(tp,
fs/xfs/libxfs/xfs_bmap.c
5399
error = xfs_bmap_del_extent_real(ip, tp, &icur, cur,
fs/xfs/libxfs/xfs_bmap.c
5432
error = xfs_bmap_extents_to_btree(tp, ip, &cur, 0,
fs/xfs/libxfs/xfs_bmap.c
5436
error = xfs_bmap_btree_to_extents(tp, ip, cur, &logflags,
fs/xfs/libxfs/xfs_bmap.c
5456
xfs_trans_log_inode(tp, ip, logflags);
fs/xfs/libxfs/xfs_bmap.c
5468
xfs_trans_t *tp,
fs/xfs/libxfs/xfs_bmap.c
5478
error = __xfs_bunmapi(tp, ip, bno, &len, flags, nexts);
fs/xfs/libxfs/xfs_bmap.c
5524
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
5590
error = xfs_bmap_btree_to_extents(tp, ip, cur, logflags, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5601
xfs_rmap_unmap_extent(tp, ip, whichfork, got);
fs/xfs/libxfs/xfs_bmap.c
5604
xfs_rmap_map_extent(tp, ip, whichfork, &new);
fs/xfs/libxfs/xfs_bmap.c
561
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
5610
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
5647
xfs_rmap_unmap_extent(tp, ip, whichfork, &prev);
fs/xfs/libxfs/xfs_bmap.c
5648
xfs_rmap_map_extent(tp, ip, whichfork, got);
fs/xfs/libxfs/xfs_bmap.c
5654
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
5681
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5686
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5707
error = xfs_bmse_merge(tp, ip, whichfork,
fs/xfs/libxfs/xfs_bmap.c
5721
error = xfs_bmap_shift_update_extent(tp, ip, whichfork, &icur, &got,
fs/xfs/libxfs/xfs_bmap.c
5737
xfs_trans_log_inode(tp, ip, logflags);
fs/xfs/libxfs/xfs_bmap.c
5769
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
5797
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5802
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5847
error = xfs_bmap_shift_update_extent(tp, ip, whichfork, &icur, &got,
fs/xfs/libxfs/xfs_bmap.c
5863
xfs_trans_log_inode(tp, ip, logflags);
fs/xfs/libxfs/xfs_bmap.c
5875
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
5901
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
5919
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
596
error = xfs_bmap_read_buf(mp, tp, cbno, &cbp);
fs/xfs/libxfs/xfs_bmap.c
5973
error = xfs_bmap_extents_to_btree(tp, ip, &cur, 0,
fs/xfs/libxfs/xfs_bmap.c
5985
xfs_trans_log_inode(tp, ip, logflags);
fs/xfs/libxfs/xfs_bmap.c
5992
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
6012
xfs_bmap_defer_add(tp, bi);
fs/xfs/libxfs/xfs_bmap.c
6018
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
6023
__xfs_bmap_add(tp, XFS_BMAP_MAP, ip, whichfork, PREV);
fs/xfs/libxfs/xfs_bmap.c
6029
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
6034
__xfs_bmap_add(tp, XFS_BMAP_UNMAP, ip, whichfork, PREV);
fs/xfs/libxfs/xfs_bmap.c
6043
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
6053
ASSERT(tp->t_highest_agno == NULLAGNUMBER);
fs/xfs/libxfs/xfs_bmap.c
6057
if (XFS_TEST_ERROR(tp->t_mountp, XFS_ERRTAG_BMAP_FINISH_ONE))
fs/xfs/libxfs/xfs_bmap.c
6064
error = xfs_bmapi_remap(tp, bi->bi_owner, bmap->br_startoff,
fs/xfs/libxfs/xfs_bmap.c
6070
error = __xfs_bunmapi(tp, bi->bi_owner, bmap->br_startoff,
fs/xfs/libxfs/xfs_bmap.c
612
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, -1L);
fs/xfs/libxfs/xfs_bmap.c
613
xfs_trans_binval(tp, cbp);
fs/xfs/libxfs/xfs_bmap.c
629
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
669
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
677
args.tp = tp;
fs/xfs/libxfs/xfs_bmap.c
698
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, 1L);
fs/xfs/libxfs/xfs_bmap.c
699
error = xfs_trans_get_buf(tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_bmap.c
743
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, -1L);
fs/xfs/libxfs/xfs_bmap.c
761
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
776
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_bmap.c
782
xfs_trans_t *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
787
void (*init_fn)(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.c
810
xfs_bmap_local_to_extents_empty(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
818
args.tp = tp;
fs/xfs/libxfs/xfs_bmap.c
837
error = xfs_trans_get_buf(tp, args.mp->m_ddev_targp,
fs/xfs/libxfs/xfs_bmap.c
851
init_fn(tp, bp, ip, ifp, priv);
fs/xfs/libxfs/xfs_bmap.c
855
xfs_bmap_local_to_extents_empty(tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap.c
870
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, 1L);
fs/xfs/libxfs/xfs_bmap.c
883
xfs_trans_t *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
898
cur = xfs_bmbt_init_cursor(mp, tp, ip, XFS_DATA_FORK);
fs/xfs/libxfs/xfs_bmap.c
928
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
939
error = xfs_bmap_extents_to_btree(tp, ip, &cur, 0, flags,
fs/xfs/libxfs/xfs_bmap.c
961
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.c
976
dargs.trans = tp;
fs/xfs/libxfs/xfs_bmap.c
982
return xfs_bmap_local_to_extents(tp, ip, 1, flags,
fs/xfs/libxfs/xfs_bmap.h
179
struct xfs_trans *tp, xfs_extlen_t *blen);
fs/xfs/libxfs/xfs_bmap.h
183
int xfs_bmap_add_attrfork(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
185
void xfs_bmap_local_to_extents_empty(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.h
187
int xfs_bmap_local_to_extents(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
189
void (*init_fn)(struct xfs_trans *tp, struct xfs_buf *bp,
fs/xfs/libxfs/xfs_bmap.h
194
int xfs_bmap_first_unused(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
196
int xfs_bmap_last_before(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
203
int xfs_bmapi_write(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
206
int xfs_bunmapi(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
21
struct xfs_trans *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_bmap.h
216
int xfs_bmap_collapse_extents(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
221
int xfs_bmap_insert_extents(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
224
int xfs_bmap_split_extent(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
228
int xfs_bmap_add_extent_unwritten_real(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap.h
232
xfs_extlen_t xfs_bmapi_minleft(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
256
int xfs_bmap_finish_one(struct xfs_trans *tp, struct xfs_bmap_intent *bi);
fs/xfs/libxfs/xfs_bmap.h
257
void xfs_bmap_map_extent(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
259
void xfs_bmap_unmap_extent(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap.h
281
int xfs_bmapi_remap(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap_btree.c
218
args.tp = cur->bc_tp;
fs/xfs/libxfs/xfs_bmap_btree.c
224
if (!args.wasdel && args.tp->t_blk_res == 0)
fs/xfs/libxfs/xfs_bmap_btree.c
261
xfs_trans_log_inode(args.tp, cur->bc_ino.ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_bmap_btree.c
262
xfs_trans_mod_dquot_byino(args.tp, cur->bc_ino.ip,
fs/xfs/libxfs/xfs_bmap_btree.c
278
struct xfs_trans *tp = cur->bc_tp;
fs/xfs/libxfs/xfs_bmap_btree.c
290
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_bmap_btree.c
291
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, -1L);
fs/xfs/libxfs/xfs_bmap_btree.c
655
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap_btree.c
676
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_bmbt_ops, maxlevels,
fs/xfs/libxfs/xfs_bmap_btree.c
708
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap_btree.c
740
xfs_trans_log_inode(tp, cur->bc_ino.ip, flags);
fs/xfs/libxfs/xfs_bmap_btree.c
741
xfs_btree_commit_ifakeroot(cur, tp, whichfork);
fs/xfs/libxfs/xfs_bmap_btree.c
813
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_bmap_btree.c
822
ASSERT(tp || buffer_list);
fs/xfs/libxfs/xfs_bmap_btree.c
823
ASSERT(!(tp && buffer_list));
fs/xfs/libxfs/xfs_bmap_btree.c
826
cur = xfs_bmbt_init_cursor(ip->i_mount, tp, ip, whichfork);
fs/xfs/libxfs/xfs_bmap_btree.h
41
extern int xfs_bmbt_change_owner(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_bmap_btree.h
48
struct xfs_trans *tp, int whichfork);
fs/xfs/libxfs/xfs_btree.c
5599
.tp = cur->bc_tp,
fs/xfs/libxfs/xfs_btree.c
5636
struct xfs_trans *tp = cur->bc_tp;
fs/xfs/libxfs/xfs_btree.c
5643
error = xfs_free_extent_later(tp, fsbno, 1, &oinfo, XFS_AG_RESV_METAFILE,
fs/xfs/libxfs/xfs_btree.c
5648
xfs_metafile_resv_free_space(ip, tp, 1);
fs/xfs/libxfs/xfs_btree.c
567
struct xfs_trans *tp = cur->bc_tp;
fs/xfs/libxfs/xfs_btree.c
600
error = xfs_trans_read_buf(mp, tp,
fs/xfs/libxfs/xfs_btree.h
672
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_btree.h
686
cur->bc_tp = tp;
fs/xfs/libxfs/xfs_btree_mem.c
269
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_btree_mem.c
279
list_for_each_entry_safe(lip, n, &tp->t_items, li_trans) {
fs/xfs/libxfs/xfs_btree_mem.c
290
xmbuf_trans_bdetach(tp, bp);
fs/xfs/libxfs/xfs_btree_mem.c
307
tp->t_flags = (tp->t_flags & ~XFS_TRANS_DIRTY) |
fs/xfs/libxfs/xfs_btree_mem.c
320
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_btree_mem.c
325
list_for_each_entry_safe(lip, n, &tp->t_items, li_trans) {
fs/xfs/libxfs/xfs_btree_mem.c
336
xmbuf_trans_bdetach(tp, bp);
fs/xfs/libxfs/xfs_btree_mem.c
344
tp->t_flags = (tp->t_flags & ~XFS_TRANS_DIRTY) |
fs/xfs/libxfs/xfs_btree_mem.h
69
int xfbtree_trans_commit(struct xfbtree *xfbt, struct xfs_trans *tp);
fs/xfs/libxfs/xfs_btree_mem.h
70
void xfbtree_trans_cancel(struct xfbtree *xfbt, struct xfs_trans *tp);
fs/xfs/libxfs/xfs_btree_staging.c
150
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_btree_staging.c
161
cur->bc_tp = tp;
fs/xfs/libxfs/xfs_btree_staging.c
81
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_btree_staging.c
92
cur->bc_tp = tp;
fs/xfs/libxfs/xfs_btree_staging.h
24
void xfs_btree_commit_afakeroot(struct xfs_btree_cur *cur, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_btree_staging.h
45
void xfs_btree_commit_ifakeroot(struct xfs_btree_cur *cur, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
1014
xfs_trans_log_buf(tp, blk1->bp,
fs/xfs/libxfs/xfs_da_btree.c
1032
xfs_trans_log_buf(tp, blk1->bp,
fs/xfs/libxfs/xfs_da_btree.c
1037
xfs_trans_log_buf(tp, blk2->bp,
fs/xfs/libxfs/xfs_da_btree.c
1513
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
1538
xfs_trans_log_buf(tp, drop_blk->bp,
fs/xfs/libxfs/xfs_da_btree.c
1543
xfs_trans_log_buf(tp, drop_blk->bp,
fs/xfs/libxfs/xfs_da_btree.c
1547
xfs_trans_log_buf(tp, drop_blk->bp,
fs/xfs/libxfs/xfs_da_btree.c
1575
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
1585
__xfs_da3_node_remove(tp, dp, dp->i_mount->m_attr_geo, &blk);
fs/xfs/libxfs/xfs_da_btree.c
1604
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_da_btree.c
1617
tp = state->args->trans;
fs/xfs/libxfs/xfs_da_btree.c
1632
xfs_trans_log_buf(tp, save_blk->bp,
fs/xfs/libxfs/xfs_da_btree.c
1638
xfs_trans_log_buf(tp, save_blk->bp,
fs/xfs/libxfs/xfs_da_btree.c
1651
xfs_trans_log_buf(tp, save_blk->bp,
fs/xfs/libxfs/xfs_da_btree.c
2328
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_da_btree.c
2338
error = xfs_bmap_first_unused(tp, dp, count, bno, w);
fs/xfs/libxfs/xfs_da_btree.c
2346
error = xfs_bmapi_write(tp, dp, *bno, count,
fs/xfs/libxfs/xfs_da_btree.c
2362
error = xfs_bmapi_write(tp, dp, b, c,
fs/xfs/libxfs/xfs_da_btree.c
2439
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_da_btree.c
2462
tp = args->trans;
fs/xfs/libxfs/xfs_da_btree.c
2468
error = xfs_bmap_last_before(tp, dp, &lastoff, w);
fs/xfs/libxfs/xfs_da_btree.c
2479
error = xfs_da3_node_read(tp, dp, last_blkno, &last_buf, w);
fs/xfs/libxfs/xfs_da_btree.c
2485
xfs_trans_brelse(tp, last_buf);
fs/xfs/libxfs/xfs_da_btree.c
2494
xfs_trans_log_buf(tp, dead_buf, 0, args->geo->blksize - 1);
fs/xfs/libxfs/xfs_da_btree.c
2525
error = xfs_da3_node_read(tp, dp, sib_blkno, &sib_buf, w);
fs/xfs/libxfs/xfs_da_btree.c
2544
xfs_trans_log_buf(tp, sib_buf,
fs/xfs/libxfs/xfs_da_btree.c
2553
error = xfs_da3_node_read(tp, dp, sib_blkno, &sib_buf, w);
fs/xfs/libxfs/xfs_da_btree.c
2572
xfs_trans_log_buf(tp, sib_buf,
fs/xfs/libxfs/xfs_da_btree.c
2583
error = xfs_da3_node_read(tp, dp, par_blkno, &par_buf, w);
fs/xfs/libxfs/xfs_da_btree.c
2616
xfs_trans_brelse(tp, par_buf);
fs/xfs/libxfs/xfs_da_btree.c
2632
xfs_trans_brelse(tp, par_buf);
fs/xfs/libxfs/xfs_da_btree.c
2639
error = xfs_da3_node_read(tp, dp, par_blkno, &par_buf, w);
fs/xfs/libxfs/xfs_da_btree.c
2663
xfs_trans_log_buf(tp, par_buf,
fs/xfs/libxfs/xfs_da_btree.c
2671
xfs_trans_brelse(tp, par_buf);
fs/xfs/libxfs/xfs_da_btree.c
2673
xfs_trans_brelse(tp, sib_buf);
fs/xfs/libxfs/xfs_da_btree.c
2674
xfs_trans_brelse(tp, last_buf);
fs/xfs/libxfs/xfs_da_btree.c
2689
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_da_btree.c
2695
tp = args->trans;
fs/xfs/libxfs/xfs_da_btree.c
2702
error = xfs_bunmapi(tp, dp, dead_blkno, count,
fs/xfs/libxfs/xfs_da_btree.c
2715
xfs_trans_binval(tp, dead_buf);
fs/xfs/libxfs/xfs_da_btree.c
2805
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
2822
error = xfs_trans_get_buf_map(tp, mp->m_ddev_targp, mapp, nmap, 0, &bp);
fs/xfs/libxfs/xfs_da_btree.c
2840
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
2859
error = xfs_trans_read_buf_map(mp, tp, mp->m_ddev_targp, mapp, nmap, 0,
fs/xfs/libxfs/xfs_da_btree.c
401
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
411
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DA_NODE_BUF);
fs/xfs/libxfs/xfs_da_btree.c
415
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_ATTR_LEAF_BUF);
fs/xfs/libxfs/xfs_da_btree.c
419
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_LEAFN_BUF);
fs/xfs/libxfs/xfs_da_btree.c
422
XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, tp->t_mountp,
fs/xfs/libxfs/xfs_da_btree.c
424
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_da_btree.c
432
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
440
error = xfs_da_read_buf(tp, dp, bno, 0, bpp, whichfork,
fs/xfs/libxfs/xfs_da_btree.c
442
if (error || !*bpp || !tp)
fs/xfs/libxfs/xfs_da_btree.c
444
return xfs_da3_node_set_type(tp, dp, whichfork, *bpp);
fs/xfs/libxfs/xfs_da_btree.c
449
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_da_btree.c
458
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, mappedbno,
fs/xfs/libxfs/xfs_da_btree.c
471
if (!tp)
fs/xfs/libxfs/xfs_da_btree.c
473
return xfs_da3_node_set_type(tp, dp, whichfork, *bpp);
fs/xfs/libxfs/xfs_da_btree.c
511
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_da_btree.c
512
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_da_btree.c
521
error = xfs_da_get_buf(tp, dp, blkno, &bp, whichfork);
fs/xfs/libxfs/xfs_da_btree.c
525
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DA_NODE_BUF);
fs/xfs/libxfs/xfs_da_btree.c
542
xfs_trans_log_buf(tp, bp,
fs/xfs/libxfs/xfs_da_btree.c
734
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_da_btree.c
753
tp = args->trans;
fs/xfs/libxfs/xfs_da_btree.c
754
error = xfs_da_get_buf(tp, dp, blkno, &bp, args->whichfork);
fs/xfs/libxfs/xfs_da_btree.c
784
xfs_trans_log_buf(tp, bp, 0, size - 1);
fs/xfs/libxfs/xfs_da_btree.c
822
xfs_trans_log_buf(tp, bp,
fs/xfs/libxfs/xfs_da_btree.c
942
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_da_btree.c
976
tp = state->args->trans;
fs/xfs/libxfs/xfs_da_btree.h
187
void xfs_attr3_node_entry_remove(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_da_btree.h
201
int xfs_da3_node_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_da_btree.h
203
int xfs_da3_node_read_mapped(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_defer.c
1001
error = xfs_defer_save_resources(&dfc->dfc_held, tp);
fs/xfs/libxfs/xfs_defer.c
1008
xfs_force_shutdown(tp->t_mountp, SHUTDOWN_CORRUPT_INCORE);
fs/xfs/libxfs/xfs_defer.c
1057
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
1060
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_defer.c
1065
dfc = xfs_defer_ops_capture(tp);
fs/xfs/libxfs/xfs_defer.c
1067
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_defer.c
1071
return xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_defer.c
1074
error = xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_defer.c
1093
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
1098
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/libxfs/xfs_defer.c
1099
ASSERT(!(tp->t_flags & XFS_TRANS_DIRTY));
fs/xfs/libxfs/xfs_defer.c
1116
xfs_defer_restore_resources(tp, &dfc->dfc_held);
fs/xfs/libxfs/xfs_defer.c
1121
list_splice_init(&dfc->dfc_dfops, &tp->t_dfops);
fs/xfs/libxfs/xfs_defer.c
1122
tp->t_flags |= dfc->dfc_tpflags;
fs/xfs/libxfs/xfs_defer.c
1221
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
1228
trace_xfs_defer_item_pause(tp->t_mountp, dfp);
fs/xfs/libxfs/xfs_defer.c
1237
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
1244
trace_xfs_defer_item_unpause(tp->t_mountp, dfp);
fs/xfs/libxfs/xfs_defer.c
189
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
206
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
215
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
243
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
259
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/libxfs/xfs_defer.c
260
lip = dfp->dfp_ops->create_done(tp, dfp->dfp_intent, dfp->dfp_count);
fs/xfs/libxfs/xfs_defer.c
264
tp->t_flags |= XFS_TRANS_HAS_INTENT_DONE;
fs/xfs/libxfs/xfs_defer.c
265
xfs_trans_add_item(tp, lip);
fs/xfs/libxfs/xfs_defer.c
277
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
286
lip = dfp->dfp_ops->create_intent(tp, &dfp->dfp_work, dfp->dfp_count,
fs/xfs/libxfs/xfs_defer.c
293
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/libxfs/xfs_defer.c
294
xfs_trans_add_item(tp, lip);
fs/xfs/libxfs/xfs_defer.c
310
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_defer.c
315
list_for_each_entry(dfp, &tp->t_dfops, dfp_list) {
fs/xfs/libxfs/xfs_defer.c
318
trace_xfs_defer_create_intent(tp->t_mountp, dfp);
fs/xfs/libxfs/xfs_defer.c
319
ret2 = xfs_defer_create_intent(tp, dfp, true);
fs/xfs/libxfs/xfs_defer.c
376
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
379
trace_xfs_defer_trans_abort(tp, _RET_IP_);
fs/xfs/libxfs/xfs_defer.c
380
xfs_defer_pending_abort_list(tp->t_mountp, dop_pending);
fs/xfs/libxfs/xfs_defer.c
390
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_defer.c
398
list_for_each_entry(lip, &tp->t_items, li_trans) {
fs/xfs/libxfs/xfs_defer.c
412
xfs_trans_dirty_buf(tp, bli->bli_buf);
fs/xfs/libxfs/xfs_defer.c
424
xfs_trans_log_inode(tp, ili->ili_inode,
fs/xfs/libxfs/xfs_defer.c
440
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
447
xfs_trans_ijoin(tp, dres->dr_ip[i], 0);
fs/xfs/libxfs/xfs_defer.c
451
xfs_trans_bjoin(tp, dres->dr_bp[i]);
fs/xfs/libxfs/xfs_defer.c
453
xfs_trans_ordered_buf(tp, dres->dr_bp[i]);
fs/xfs/libxfs/xfs_defer.c
454
xfs_trans_bhold(tp, dres->dr_bp[i]);
fs/xfs/libxfs/xfs_defer.c
509
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
514
xfs_defer_create_done(tp, dfp);
fs/xfs/libxfs/xfs_defer.c
516
lip = dfp->dfp_ops->relog_intent(tp, dfp->dfp_intent, dfp->dfp_done);
fs/xfs/libxfs/xfs_defer.c
518
xfs_trans_add_item(tp, lip);
fs/xfs/libxfs/xfs_defer.c
580
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
588
trace_xfs_defer_pending_finish(tp->t_mountp, dfp);
fs/xfs/libxfs/xfs_defer.c
590
xfs_defer_create_done(tp, dfp);
fs/xfs/libxfs/xfs_defer.c
594
trace_xfs_defer_finish_item(tp->t_mountp, dfp, li);
fs/xfs/libxfs/xfs_defer.c
595
error = ops->finish_item(tp, dfp->dfp_done, li, &state);
fs/xfs/libxfs/xfs_defer.c
609
ret = xfs_defer_create_intent(tp, dfp, false);
fs/xfs/libxfs/xfs_defer.c
623
ops->finish_cleanup(tp, state, error);
fs/xfs/libxfs/xfs_defer.c
630
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
636
list_for_each_entry_safe(dfp, pli, &tp->t_dfops, dfp_list) {
fs/xfs/libxfs/xfs_defer.c
641
trace_xfs_defer_isolate_paused(tp->t_mountp, dfp);
fs/xfs/libxfs/xfs_defer.c
655
struct xfs_trans **tp)
fs/xfs/libxfs/xfs_defer.c
662
ASSERT((*tp)->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/libxfs/xfs_defer.c
664
trace_xfs_defer_finish(*tp, _RET_IP_);
fs/xfs/libxfs/xfs_defer.c
667
while (!list_empty(&dop_pending) || !list_empty(&(*tp)->t_dfops)) {
fs/xfs/libxfs/xfs_defer.c
677
int has_intents = xfs_defer_create_intents(*tp);
fs/xfs/libxfs/xfs_defer.c
679
xfs_defer_isolate_paused(*tp, &dop_paused);
fs/xfs/libxfs/xfs_defer.c
681
list_splice_init(&(*tp)->t_dfops, &dop_pending);
fs/xfs/libxfs/xfs_defer.c
688
error = xfs_defer_trans_roll(tp);
fs/xfs/libxfs/xfs_defer.c
693
xfs_defer_relog(tp, &dop_pending);
fs/xfs/libxfs/xfs_defer.c
694
xfs_defer_relog(tp, &dop_paused);
fs/xfs/libxfs/xfs_defer.c
696
if ((*tp)->t_flags & XFS_TRANS_DIRTY) {
fs/xfs/libxfs/xfs_defer.c
697
error = xfs_defer_trans_roll(tp);
fs/xfs/libxfs/xfs_defer.c
707
error = xfs_defer_finish_one(*tp, dfp);
fs/xfs/libxfs/xfs_defer.c
713
list_splice_tail_init(&dop_paused, &(*tp)->t_dfops);
fs/xfs/libxfs/xfs_defer.c
715
trace_xfs_defer_finish_done(*tp, _RET_IP_);
fs/xfs/libxfs/xfs_defer.c
720
xfs_defer_trans_abort(*tp, &dop_pending);
fs/xfs/libxfs/xfs_defer.c
721
xfs_force_shutdown((*tp)->t_mountp, SHUTDOWN_CORRUPT_INCORE);
fs/xfs/libxfs/xfs_defer.c
722
trace_xfs_defer_finish_error(*tp, error);
fs/xfs/libxfs/xfs_defer.c
723
xfs_defer_cancel_list((*tp)->t_mountp, &dop_pending);
fs/xfs/libxfs/xfs_defer.c
724
xfs_defer_cancel(*tp);
fs/xfs/libxfs/xfs_defer.c
730
struct xfs_trans **tp)
fs/xfs/libxfs/xfs_defer.c
741
error = xfs_defer_finish_noroll(tp);
fs/xfs/libxfs/xfs_defer.c
744
if ((*tp)->t_flags & XFS_TRANS_DIRTY) {
fs/xfs/libxfs/xfs_defer.c
745
error = xfs_defer_trans_roll(tp);
fs/xfs/libxfs/xfs_defer.c
747
xfs_force_shutdown((*tp)->t_mountp,
fs/xfs/libxfs/xfs_defer.c
755
list_for_each_entry(dfp, &(*tp)->t_dfops, dfp_list)
fs/xfs/libxfs/xfs_defer.c
758
(*tp)->t_flags &= ~XFS_TRANS_LOWMODE;
fs/xfs/libxfs/xfs_defer.c
764
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_defer.c
766
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_defer.c
768
trace_xfs_defer_cancel(tp, _RET_IP_);
fs/xfs/libxfs/xfs_defer.c
769
xfs_defer_trans_abort(tp, &tp->t_dfops);
fs/xfs/libxfs/xfs_defer.c
770
xfs_defer_cancel_list(mp, &tp->t_dfops);
fs/xfs/libxfs/xfs_defer.c
779
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
785
if (list_empty(&tp->t_dfops))
fs/xfs/libxfs/xfs_defer.c
788
dfp = list_last_entry(&tp->t_dfops, struct xfs_defer_pending,
fs/xfs/libxfs/xfs_defer.c
841
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.c
847
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/libxfs/xfs_defer.c
851
xfs_force_shutdown(tp->t_mountp, SHUTDOWN_CORRUPT_INCORE);
fs/xfs/libxfs/xfs_defer.c
855
dfp = xfs_defer_find_last(tp, ops);
fs/xfs/libxfs/xfs_defer.c
857
dfp = xfs_defer_alloc(&tp->t_dfops, ops);
fs/xfs/libxfs/xfs_defer.c
860
trace_xfs_defer_add_item(tp->t_mountp, dfp, li);
fs/xfs/libxfs/xfs_defer.c
870
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_defer.c
874
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/libxfs/xfs_defer.c
877
dfp = xfs_defer_find_last(tp, &xfs_barrier_defer_type);
fs/xfs/libxfs/xfs_defer.c
881
dfp = xfs_defer_alloc(&tp->t_dfops, &xfs_barrier_defer_type);
fs/xfs/libxfs/xfs_defer.c
883
trace_xfs_defer_add_item(tp->t_mountp, dfp, NULL);
fs/xfs/libxfs/xfs_defer.c
971
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_defer.c
977
if (list_empty(&tp->t_dfops))
fs/xfs/libxfs/xfs_defer.c
980
error = xfs_defer_create_intents(tp);
fs/xfs/libxfs/xfs_defer.c
990
list_splice_init(&tp->t_dfops, &dfc->dfc_dfops);
fs/xfs/libxfs/xfs_defer.c
991
dfc->dfc_tpflags = tp->t_flags & XFS_TRANS_LOWMODE;
fs/xfs/libxfs/xfs_defer.c
992
tp->t_flags &= ~XFS_TRANS_LOWMODE;
fs/xfs/libxfs/xfs_defer.c
995
dfc->dfc_blkres = tp->t_blk_res - tp->t_blk_res_used;
fs/xfs/libxfs/xfs_defer.c
996
dfc->dfc_rtxres = tp->t_rtx_res - tp->t_rtx_res_used;
fs/xfs/libxfs/xfs_defer.c
999
dfc->dfc_logres = tp->t_log_res;
fs/xfs/libxfs/xfs_defer.h
136
int xfs_defer_ops_capture_and_commit(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.h
138
void xfs_defer_ops_continue(struct xfs_defer_capture *d, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.h
163
void xfs_defer_add_barrier(struct xfs_trans *tp);
fs/xfs/libxfs/xfs_defer.h
37
void xfs_defer_item_pause(struct xfs_trans *tp, struct xfs_defer_pending *dfp);
fs/xfs/libxfs/xfs_defer.h
38
void xfs_defer_item_unpause(struct xfs_trans *tp, struct xfs_defer_pending *dfp);
fs/xfs/libxfs/xfs_defer.h
40
struct xfs_defer_pending *xfs_defer_add(struct xfs_trans *tp, struct list_head *h,
fs/xfs/libxfs/xfs_defer.h
42
int xfs_defer_finish_noroll(struct xfs_trans **tp);
fs/xfs/libxfs/xfs_defer.h
43
int xfs_defer_finish(struct xfs_trans **tp);
fs/xfs/libxfs/xfs_defer.h
44
int xfs_defer_finish_one(struct xfs_trans *tp, struct xfs_defer_pending *dfp);
fs/xfs/libxfs/xfs_defer.h
52
struct xfs_log_item *(*create_intent)(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.h
55
struct xfs_log_item *(*create_done)(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.h
57
int (*finish_item)(struct xfs_trans *tp, struct xfs_log_item *done,
fs/xfs/libxfs/xfs_defer.h
59
void (*finish_cleanup)(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_defer.h
64
struct xfs_log_item *(*relog_intent)(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
1000
tp->t_mountp->m_sb.sb_rootino, 0);
fs/xfs/libxfs/xfs_dir2.c
1010
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1012
xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_dir2.c
1015
error = xfs_droplink(tp, ip);
fs/xfs/libxfs/xfs_dir2.c
1019
error = xfs_dir_removename(tp, dp, name, I_INO(ip), resblks);
fs/xfs/libxfs/xfs_dir2.c
1027
error = xfs_parent_removename(tp, du->ppargs, dp, name, ip);
fs/xfs/libxfs/xfs_dir2.c
1045
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
1062
error = xfs_dir_replace(tp, dp1, name1, I_INO(ip2), spaceres);
fs/xfs/libxfs/xfs_dir2.c
1067
error = xfs_dir_replace(tp, dp2, name2, I_INO(ip1), spaceres);
fs/xfs/libxfs/xfs_dir2.c
1080
error = xfs_dir_replace(tp, ip2, &xfs_name_dotdot,
fs/xfs/libxfs/xfs_dir2.c
1087
error = xfs_droplink(tp, dp2);
fs/xfs/libxfs/xfs_dir2.c
1090
xfs_bumplink(tp, dp1);
fs/xfs/libxfs/xfs_dir2.c
1104
error = xfs_dir_replace(tp, ip1, &xfs_name_dotdot,
fs/xfs/libxfs/xfs_dir2.c
1111
error = xfs_droplink(tp, dp1);
fs/xfs/libxfs/xfs_dir2.c
1114
xfs_bumplink(tp, dp2);
fs/xfs/libxfs/xfs_dir2.c
1129
xfs_trans_ichgtime(tp, ip1, ip1_flags);
fs/xfs/libxfs/xfs_dir2.c
1130
xfs_trans_log_inode(tp, ip1, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1133
xfs_trans_ichgtime(tp, ip2, ip2_flags);
fs/xfs/libxfs/xfs_dir2.c
1134
xfs_trans_log_inode(tp, ip2, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1137
xfs_trans_ichgtime(tp, dp2, dp2_flags);
fs/xfs/libxfs/xfs_dir2.c
1138
xfs_trans_log_inode(tp, dp2, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1140
xfs_trans_ichgtime(tp, dp1, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_dir2.c
1141
xfs_trans_log_inode(tp, dp1, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1145
error = xfs_parent_replacename(tp, du1->ppargs, dp1, name1,
fs/xfs/libxfs/xfs_dir2.c
1152
error = xfs_parent_replacename(tp, du2->ppargs, dp2, name2,
fs/xfs/libxfs/xfs_dir2.c
1188
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
1194
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_dir2.c
1217
error = xfs_dir_canenter(tp, target_dp, target_name);
fs/xfs/libxfs/xfs_dir2.c
1250
error = xfs_iunlink_remove(tp, pag, du_wip->ip);
fs/xfs/libxfs/xfs_dir2.c
1255
xfs_bumplink(tp, du_wip->ip);
fs/xfs/libxfs/xfs_dir2.c
1267
error = xfs_dir_createname(tp, target_dp, target_name,
fs/xfs/libxfs/xfs_dir2.c
1272
xfs_trans_ichgtime(tp, target_dp,
fs/xfs/libxfs/xfs_dir2.c
1276
xfs_bumplink(tp, target_dp);
fs/xfs/libxfs/xfs_dir2.c
1288
error = xfs_dir_replace(tp, target_dp, target_name,
fs/xfs/libxfs/xfs_dir2.c
1293
xfs_trans_ichgtime(tp, target_dp,
fs/xfs/libxfs/xfs_dir2.c
1300
error = xfs_droplink(tp, target_ip);
fs/xfs/libxfs/xfs_dir2.c
1308
error = xfs_droplink(tp, target_ip);
fs/xfs/libxfs/xfs_dir2.c
1322
error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot,
fs/xfs/libxfs/xfs_dir2.c
1336
xfs_trans_ichgtime(tp, src_ip, XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_dir2.c
1337
xfs_trans_log_inode(tp, src_ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1350
error = xfs_droplink(tp, src_dp);
fs/xfs/libxfs/xfs_dir2.c
1361
error = xfs_dir_replace(tp, src_dp, src_name, I_INO(du_wip->ip),
fs/xfs/libxfs/xfs_dir2.c
1364
error = xfs_dir_removename(tp, src_dp, src_name, I_INO(src_ip),
fs/xfs/libxfs/xfs_dir2.c
1369
xfs_trans_ichgtime(tp, src_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_dir2.c
1370
xfs_trans_log_inode(tp, src_dp, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1372
xfs_trans_log_inode(tp, target_dp, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
1376
error = xfs_parent_addname(tp, du_wip->ppargs, src_dp,
fs/xfs/libxfs/xfs_dir2.c
1383
error = xfs_parent_replacename(tp, du_src->ppargs, src_dp,
fs/xfs/libxfs/xfs_dir2.c
1390
error = xfs_parent_removename(tp, du_tgt->ppargs, target_dp,
fs/xfs/libxfs/xfs_dir2.c
239
xfs_trans_t *tp,
fs/xfs/libxfs/xfs_dir2.c
247
error = xfs_dir_ino_validate(tp->t_mountp, I_INO(pdp));
fs/xfs/libxfs/xfs_dir2.c
257
args->trans = tp;
fs/xfs/libxfs/xfs_dir2.c
326
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
338
rval = xfs_dir_ino_validate(tp->t_mountp, inum);
fs/xfs/libxfs/xfs_dir2.c
357
args->trans = tp;
fs/xfs/libxfs/xfs_dir2.c
427
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
448
args->trans = tp;
fs/xfs/libxfs/xfs_dir2.c
493
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
518
args->trans = tp;
fs/xfs/libxfs/xfs_dir2.c
550
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
561
rval = xfs_dir_ino_validate(tp->t_mountp, inum);
fs/xfs/libxfs/xfs_dir2.c
578
args->trans = tp;
fs/xfs/libxfs/xfs_dir2.c
590
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
594
return xfs_dir_createname(tp, dp, name, 0, 0);
fs/xfs/libxfs/xfs_dir2.c
665
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_dir2.c
671
tp = args->trans;
fs/xfs/libxfs/xfs_dir2.c
675
error = xfs_bunmapi(tp, dp, da, args->geo->fsbcount, 0, 0, &done);
fs/xfs/libxfs/xfs_dir2.c
695
xfs_trans_binval(tp, bp);
fs/xfs/libxfs/xfs_dir2.c
707
if ((error = xfs_bmap_last_before(tp, dp, &bno, XFS_DATA_FORK))) {
fs/xfs/libxfs/xfs_dir2.c
721
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
846
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
858
error = xfs_dir_createname(tp, dp, name, I_INO(ip), resblks);
fs/xfs/libxfs/xfs_dir2.c
864
xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_dir2.c
865
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
868
error = xfs_dir_init(tp, ip, dp);
fs/xfs/libxfs/xfs_dir2.c
872
xfs_bumplink(tp, dp);
fs/xfs/libxfs/xfs_dir2.c
880
error = xfs_parent_addname(tp, du->ppargs, dp, name, ip);
fs/xfs/libxfs/xfs_dir2.c
896
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
903
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_dir2.c
911
error = xfs_dir_canenter(tp, dp, name);
fs/xfs/libxfs/xfs_dir2.c
923
error = xfs_iunlink_remove(tp, pag, ip);
fs/xfs/libxfs/xfs_dir2.c
929
error = xfs_dir_createname(tp, dp, name, I_INO(ip), resblks);
fs/xfs/libxfs/xfs_dir2.c
933
xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_dir2.c
934
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dir2.c
936
xfs_bumplink(tp, ip);
fs/xfs/libxfs/xfs_dir2.c
945
error = xfs_parent_addname(tp, du->ppargs, dp, name, ip);
fs/xfs/libxfs/xfs_dir2.c
960
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2.c
983
error = xfs_droplink(tp, dp);
fs/xfs/libxfs/xfs_dir2.c
988
error = xfs_droplink(tp, ip);
fs/xfs/libxfs/xfs_dir2.c
998
if (I_INO(dp) != tp->t_mountp->m_sb.sb_rootino) {
fs/xfs/libxfs/xfs_dir2.c
999
error = xfs_dir_replace(tp, ip, &xfs_name_dotdot,
fs/xfs/libxfs/xfs_dir2.h
345
int xfs_dir_create_child(struct xfs_trans *tp, unsigned int resblks,
fs/xfs/libxfs/xfs_dir2.h
347
int xfs_dir_add_child(struct xfs_trans *tp, unsigned int resblks,
fs/xfs/libxfs/xfs_dir2.h
349
int xfs_dir_remove_child(struct xfs_trans *tp, unsigned int resblks,
fs/xfs/libxfs/xfs_dir2.h
352
int xfs_dir_exchange_children(struct xfs_trans *tp, struct xfs_dir_update *du1,
fs/xfs/libxfs/xfs_dir2.h
354
int xfs_dir_rename_children(struct xfs_trans *tp, struct xfs_dir_update *du_src,
fs/xfs/libxfs/xfs_dir2.h
61
extern int xfs_dir_init(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2.h
63
extern int xfs_dir_createname(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2.h
66
extern int xfs_dir_lookup(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2.h
69
extern int xfs_dir_removename(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2.h
72
extern int xfs_dir_replace(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2.h
75
extern int xfs_dir_canenter(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2_block.c
1035
xfs_dir2_block_log_tail(tp, dbp);
fs/xfs/libxfs/xfs_dir2_block.c
1047
xfs_dir2_block_log_leaf(tp, dbp, 0, be32_to_cpu(btp->count) - 1);
fs/xfs/libxfs/xfs_dir2_block.c
1079
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_block.c
1123
xfs_bmap_local_to_extents_empty(tp, dp, XFS_DATA_FORK);
fs/xfs/libxfs/xfs_dir2_block.c
1274
xfs_dir2_block_log_leaf(tp, bp, 0, be32_to_cpu(btp->count) - 1);
fs/xfs/libxfs/xfs_dir2_block.c
1275
xfs_dir2_block_log_tail(tp, bp);
fs/xfs/libxfs/xfs_dir2_block.c
140
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_block.c
149
err = xfs_da_read_buf(tp, dp, mp->m_dir_geo->datablk, 0, bpp,
fs/xfs/libxfs/xfs_dir2_block.c
158
xfs_trans_brelse(tp, *bpp);
fs/xfs/libxfs/xfs_dir2_block.c
164
xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_DIR_BLOCK_BUF);
fs/xfs/libxfs/xfs_dir2_block.c
173
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_block.c
179
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_BLOCK_BUF);
fs/xfs/libxfs/xfs_dir2_block.c
28
static void xfs_dir2_block_log_leaf(xfs_trans_t *tp, struct xfs_buf *bp,
fs/xfs/libxfs/xfs_dir2_block.c
30
static void xfs_dir2_block_log_tail(xfs_trans_t *tp, struct xfs_buf *bp);
fs/xfs/libxfs/xfs_dir2_block.c
382
xfs_trans_t *tp; /* transaction structure */
fs/xfs/libxfs/xfs_dir2_block.c
387
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_block.c
390
error = xfs_dir3_block_read(tp, dp, args->owner, &bp);
fs/xfs/libxfs/xfs_dir2_block.c
414
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_dir2_block.c
565
xfs_dir2_block_log_leaf(tp, bp, lfloglow, lfloghigh);
fs/xfs/libxfs/xfs_dir2_block.c
590
xfs_dir2_block_log_tail(tp, bp);
fs/xfs/libxfs/xfs_dir2_block.c
601
xfs_trans_t *tp, /* transaction structure */
fs/xfs/libxfs/xfs_dir2_block.c
610
btp = xfs_dir2_block_tail_p(tp->t_mountp->m_dir_geo, hdr);
fs/xfs/libxfs/xfs_dir2_block.c
612
xfs_trans_log_buf(tp, bp, (uint)((char *)&blp[first] - (char *)hdr),
fs/xfs/libxfs/xfs_dir2_block.c
621
xfs_trans_t *tp, /* transaction structure */
fs/xfs/libxfs/xfs_dir2_block.c
627
btp = xfs_dir2_block_tail_p(tp->t_mountp->m_dir_geo, hdr);
fs/xfs/libxfs/xfs_dir2_block.c
628
xfs_trans_log_buf(tp, bp, (uint)((char *)btp - (char *)hdr),
fs/xfs/libxfs/xfs_dir2_block.c
699
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_block.c
703
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_block.c
705
error = xfs_dir3_block_read(tp, dp, args->owner, &bp);
fs/xfs/libxfs/xfs_dir2_block.c
728
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_dir2_block.c
776
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_dir2_block.c
800
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_block.c
812
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_block.c
834
xfs_dir2_block_log_tail(tp, bp);
fs/xfs/libxfs/xfs_dir2_block.c
839
xfs_dir2_block_log_leaf(tp, bp, ent, ent);
fs/xfs/libxfs/xfs_dir2_block.c
951
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_block.c
957
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_block.c
989
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_data.c
447
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_data.c
457
err = xfs_da_read_buf(tp, dp, bno, flags, bpp, XFS_DATA_FORK,
fs/xfs/libxfs/xfs_dir2_data.c
466
xfs_trans_brelse(tp, *bpp);
fs/xfs/libxfs/xfs_dir2_data.c
472
xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_DIR_DATA_BUF);
fs/xfs/libxfs/xfs_dir2_data.c
728
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_data.c
741
error = xfs_da_get_buf(tp, dp, xfs_dir2_db_to_da(args->geo, blkno),
fs/xfs/libxfs/xfs_dir2_data.c
746
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_DATA_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
1221
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_leaf.c
1233
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
1254
xfs_trans_brelse(tp, dbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1255
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1284
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_leaf.c
1289
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
1292
error = xfs_dir3_leaf_read(tp, dp, args->owner, args->geo->leafblk,
fs/xfs/libxfs/xfs_dir2_leaf.c
1330
xfs_trans_brelse(tp, dbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1331
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_leaf.c
1335
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1372
xfs_trans_brelse(tp, dbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1373
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_leaf.c
1377
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1389
xfs_trans_brelse(tp, dbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1390
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1558
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_leaf.c
1587
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
1590
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1662
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_leaf.c
1665
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
1669
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_leaf.c
1696
xfs_trans_brelse(tp, dbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1749
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_leaf.c
1765
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
1791
if ((error = xfs_bmap_last_before(tp, dp, &fo, XFS_DATA_FORK))) {
fs/xfs/libxfs/xfs_dir2_leaf.c
1809
error = xfs_dir2_free_read(tp, dp, args->owner, args->geo->freeblk,
fs/xfs/libxfs/xfs_dir2_leaf.c
1822
xfs_trans_brelse(tp, fbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
1833
xfs_trans_buf_set_type(tp, lbp, XFS_BLFT_DIR_LEAF1_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
295
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_leaf.c
304
err = xfs_da_read_buf(tp, dp, fbno, 0, bpp, XFS_DATA_FORK,
fs/xfs/libxfs/xfs_dir2_leaf.c
312
xfs_trans_brelse(tp, *bpp);
fs/xfs/libxfs/xfs_dir2_leaf.c
318
if (tp)
fs/xfs/libxfs/xfs_dir2_leaf.c
319
xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_DIR_LEAF1_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
325
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_leaf.c
334
err = xfs_da_read_buf(tp, dp, fbno, 0, bpp, XFS_DATA_FORK,
fs/xfs/libxfs/xfs_dir2_leaf.c
342
xfs_trans_brelse(tp, *bpp);
fs/xfs/libxfs/xfs_dir2_leaf.c
348
if (tp)
fs/xfs/libxfs/xfs_dir2_leaf.c
349
xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_DIR_LEAFN_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
363
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
394
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_LEAF1_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
397
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_LEAFN_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
409
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
417
error = xfs_da_get_buf(tp, dp, xfs_dir2_db_to_da(args->geo, bno),
fs/xfs/libxfs/xfs_dir2_leaf.c
451
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_leaf.c
458
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
514
xfs_trans_buf_set_type(tp, dbp, XFS_BLFT_DIR_DATA_BUF);
fs/xfs/libxfs/xfs_dir2_leaf.c
669
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_leaf.c
700
error = xfs_dir3_leaf_read(tp, dp, args->owner, args->geo->leafblk,
fs/xfs/libxfs/xfs_dir2_leaf.c
788
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
812
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
820
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
851
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
858
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
888
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_leaf.c
892
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_leaf.c
912
xfs_trans_brelse(tp, lbp);
fs/xfs/libxfs/xfs_dir2_node.c
1290
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_node.c
1297
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
1363
error = xfs_dir2_free_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_node.c
1698
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
1723
error = xfs_dir2_free_try_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_node.c
1811
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
1845
xfs_trans_brelse(tp, fbp);
fs/xfs/libxfs/xfs_dir2_node.c
1870
error = xfs_dir2_free_try_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_node.c
1890
xfs_trans_brelse(tp, fbp);
fs/xfs/libxfs/xfs_dir2_node.c
1914
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
1956
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_node.c
1976
xfs_trans_brelse(tp, dbp);
fs/xfs/libxfs/xfs_dir2_node.c
215
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_node.c
225
err = xfs_da_read_buf(tp, dp, fbno, flags, bpp, XFS_DATA_FORK,
fs/xfs/libxfs/xfs_dir2_node.c
2298
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_node.c
2302
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
2309
error = xfs_dir2_free_try_read(tp, dp, args->owner, fo, &bp);
fs/xfs/libxfs/xfs_dir2_node.c
2325
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_dir2_node.c
234
xfs_trans_brelse(tp, *bpp);
fs/xfs/libxfs/xfs_dir2_node.c
2340
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_dir2_node.c
241
if (tp)
fs/xfs/libxfs/xfs_dir2_node.c
242
xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_DIR_FREE_BUF);
fs/xfs/libxfs/xfs_dir2_node.c
301
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_node.c
307
return __xfs_dir3_free_read(tp, dp, owner, fbno, 0, bpp);
fs/xfs/libxfs/xfs_dir2_node.c
312
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dir2_node.c
318
return __xfs_dir3_free_read(tp, dp, owner, fbno, XFS_DABUF_MAP_HOLE_OK,
fs/xfs/libxfs/xfs_dir2_node.c
328
struct xfs_trans *tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
335
error = xfs_da_get_buf(tp, dp, xfs_dir2_db_to_da(args->geo, fbno),
fs/xfs/libxfs/xfs_dir2_node.c
340
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DIR_FREE_BUF);
fs/xfs/libxfs/xfs_dir2_node.c
425
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_node.c
431
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
489
xfs_trans_buf_set_type(tp, lbp, XFS_BLFT_DIR_LEAFN_BUF);
fs/xfs/libxfs/xfs_dir2_node.c
653
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_node.c
657
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
722
xfs_trans_brelse(tp, curbp);
fs/xfs/libxfs/xfs_dir2_node.c
724
error = xfs_dir2_free_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_node.c
746
xfs_trans_brelse(tp, curbp);
fs/xfs/libxfs/xfs_dir2_node.c
803
xfs_trans_t *tp; /* transaction pointer */
fs/xfs/libxfs/xfs_dir2_node.c
808
tp = args->trans;
fs/xfs/libxfs/xfs_dir2_node.c
860
xfs_trans_brelse(tp, curbp);
fs/xfs/libxfs/xfs_dir2_node.c
870
error = xfs_dir3_data_read(tp, dp, args->owner,
fs/xfs/libxfs/xfs_dir2_node.c
896
xfs_trans_brelse(tp, state->extrablk.bp);
fs/xfs/libxfs/xfs_dir2_node.c
908
xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF);
fs/xfs/libxfs/xfs_dir2_node.c
923
xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF);
fs/xfs/libxfs/xfs_dir2_node.c
927
xfs_trans_brelse(tp, curbp);
fs/xfs/libxfs/xfs_dir2_priv.h
100
int xfs_dir3_leafn_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2_priv.h
158
int xfs_dir2_free_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2_priv.h
189
extern int xfs_readdir(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2_priv.h
53
int xfs_dir3_block_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2_priv.h
80
int xfs_dir3_data_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dir2_priv.h
98
int xfs_dir3_leaf_read(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_dquot_buf.c
357
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dquot_buf.c
362
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_dquot_buf.c
389
error = xfs_trans_metafile_iget(tp, ino, metafile_type, &ip);
fs/xfs/libxfs/xfs_dquot_buf.c
391
error = xfs_metadir_load(tp, dp, xfs_dqinode_path(type),
fs/xfs/libxfs/xfs_dquot_buf.c
441
xfs_trans_log_inode(upd.tp, upd.ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dquot_buf.c
486
xfs_trans_log_inode(upd.tp, upd.ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_dquot_buf.c
513
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_dquot_buf.c
516
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_dquot_buf.c
523
return xfs_metadir_load(tp, mp->m_metadirip, "quota", XFS_METAFILE_DIR,
fs/xfs/libxfs/xfs_exchmaps.c
105
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
1145
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
1151
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
1161
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
1172
xfs_exchmaps_set_reflink(tp, xmi->xmi_ip2);
fs/xfs/libxfs/xfs_exchmaps.c
1175
xfs_exchmaps_set_reflink(tp, xmi->xmi_ip1);
fs/xfs/libxfs/xfs_exchmaps.c
1181
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
1188
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
1194
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
1197
if (!xfs_has_large_extent_counts(tp->t_mountp))
fs/xfs/libxfs/xfs_exchmaps.c
1200
xfs_exchmaps_ensure_large_extent_counts(tp, xmi->xmi_ip1);
fs/xfs/libxfs/xfs_exchmaps.c
1201
xfs_exchmaps_ensure_large_extent_counts(tp, xmi->xmi_ip2);
fs/xfs/libxfs/xfs_exchmaps.c
1216
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
1228
ASSERT(xfs_has_exchange_range(tp->t_mountp));
fs/xfs/libxfs/xfs_exchmaps.c
1234
xfs_exchmaps_defer_add(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
1235
xfs_exchmaps_ensure_reflink(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
1236
xfs_exchmaps_upgrade_extent_counts(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
162
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
183
xfs_trans_mod_dquot_byino(tp, xmi->xmi_ip1, qflag, ip1_delta);
fs/xfs/libxfs/xfs_exchmaps.c
184
xfs_trans_mod_dquot_byino(tp, xmi->xmi_ip2, qflag, ip2_delta);
fs/xfs/libxfs/xfs_exchmaps.c
187
# define xfs_exchmaps_update_quota(tp, xmi, irec1, irec2) ((void)0)
fs/xfs/libxfs/xfs_exchmaps.c
382
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
389
xfs_exchmaps_update_quota(tp, xmi, irec1, irec2);
fs/xfs/libxfs/xfs_exchmaps.c
392
xfs_bmap_unmap_extent(tp, xmi->xmi_ip1, whichfork, irec1);
fs/xfs/libxfs/xfs_exchmaps.c
393
xfs_bmap_unmap_extent(tp, xmi->xmi_ip2, whichfork, irec2);
fs/xfs/libxfs/xfs_exchmaps.c
402
xfs_bmap_map_extent(tp, xmi->xmi_ip1, whichfork, irec2);
fs/xfs/libxfs/xfs_exchmaps.c
403
xfs_bmap_map_extent(tp, xmi->xmi_ip2, whichfork, irec1);
fs/xfs/libxfs/xfs_exchmaps.c
407
xfs_exchmaps_update_size(tp, xmi->xmi_ip1, irec2,
fs/xfs/libxfs/xfs_exchmaps.c
409
xfs_exchmaps_update_size(tp, xmi->xmi_ip2, irec1,
fs/xfs/libxfs/xfs_exchmaps.c
424
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
429
.geo = tp->t_mountp->m_attr_geo,
fs/xfs/libxfs/xfs_exchmaps.c
431
.trans = tp,
fs/xfs/libxfs/xfs_exchmaps.c
441
error = xfs_attr3_leaf_read(tp, xmi->xmi_ip2, I_INO(xmi->xmi_ip2), 0,
fs/xfs/libxfs/xfs_exchmaps.c
456
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
461
.geo = tp->t_mountp->m_dir_geo,
fs/xfs/libxfs/xfs_exchmaps.c
463
.trans = tp,
fs/xfs/libxfs/xfs_exchmaps.c
474
error = xfs_dir3_block_read(tp, xmi->xmi_ip2, I_INO(xmi->xmi_ip2), &bp);
fs/xfs/libxfs/xfs_exchmaps.c
488
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
513
error = xfs_symlink_remote_truncate(tp, ip);
fs/xfs/libxfs/xfs_exchmaps.c
522
xfs_trans_log_inode(tp, ip, XFS_ILOG_DDATA | XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
531
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
537
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
543
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
550
error = xfs_exchmaps_attr_to_sf(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
552
error = xfs_exchmaps_dir_to_sf(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
554
error = xfs_exchmaps_link_to_sf(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
561
xfs_exchmaps_clear_reflink(tp, xmi->xmi_ip1);
fs/xfs/libxfs/xfs_exchmaps.c
566
xfs_exchmaps_clear_reflink(tp, xmi->xmi_ip2);
fs/xfs/libxfs/xfs_exchmaps.c
576
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
593
xfs_exchmaps_one_step(tp, xmi, &irec1, &irec2);
fs/xfs/libxfs/xfs_exchmaps.c
606
xfs_trans_log_inode(tp, xmi->xmi_ip1, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
607
xfs_trans_log_inode(tp, xmi->xmi_ip2, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_exchmaps.c
614
error = xfs_exchmaps_do_postop_work(tp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
619
if (XFS_TEST_ERROR(tp->t_mountp, XFS_ERRTAG_EXCHMAPS_FINISH_ONE))
fs/xfs/libxfs/xfs_exchmaps.c
624
trace_xfs_exchmaps_defer(tp->t_mountp, xmi);
fs/xfs/libxfs/xfs_exchmaps.c
85
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.c
90
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_exchmaps.h
110
void xfs_exchmaps_ensure_reflink(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.h
112
void xfs_exchmaps_upgrade_extent_counts(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.h
115
int xfs_exchmaps_finish_one(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_exchmaps.h
121
void xfs_exchange_mappings(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
1067
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
1074
error = xfs_imap(pag, tp, ino, &imap, 0);
fs/xfs/libxfs/xfs_ialloc.c
1078
error = xfs_read_icluster(pag, tp, imap.im_agbno, &bp);
fs/xfs/libxfs/xfs_ialloc.c
1082
xfs_trans_brelse(tp, bp);
fs/xfs/libxfs/xfs_ialloc.c
1092
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
1097
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_ialloc.c
1114
cur = xfs_inobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
1340
error = xfs_dialloc_check_ino(pag, tp, ino);
fs/xfs/libxfs/xfs_ialloc.c
1351
xfs_ialloc_log_agi(tp, agbp, XFS_AGI_FREECOUNT);
fs/xfs/libxfs/xfs_ialloc.c
1359
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, -1);
fs/xfs/libxfs/xfs_ialloc.c
1568
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
1573
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_ialloc.c
1586
return xfs_dialloc_ag_inobt(pag, tp, agbp, parent, inop);
fs/xfs/libxfs/xfs_ialloc.c
1595
cur = xfs_finobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
1621
error = xfs_dialloc_check_ino(pag, tp, ino);
fs/xfs/libxfs/xfs_ialloc.c
1644
icur = xfs_inobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
1659
xfs_ialloc_log_agi(tp, agbp, XFS_AGI_FREECOUNT);
fs/xfs/libxfs/xfs_ialloc.c
1662
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, -1);
fs/xfs/libxfs/xfs_ialloc.c
1688
struct xfs_trans *tp = *tpp;
fs/xfs/libxfs/xfs_ialloc.c
1696
xfs_trans_bhold(tp, agibp);
fs/xfs/libxfs/xfs_ialloc.c
1703
dqinfo = tp->t_dqinfo;
fs/xfs/libxfs/xfs_ialloc.c
1704
tp->t_dqinfo = NULL;
fs/xfs/libxfs/xfs_ialloc.c
1706
error = xfs_trans_roll(&tp);
fs/xfs/libxfs/xfs_ialloc.c
1709
tp->t_dqinfo = dqinfo;
fs/xfs/libxfs/xfs_ialloc.c
1716
xfs_trans_bjoin(tp, agibp);
fs/xfs/libxfs/xfs_ialloc.c
1717
*tpp = tp;
fs/xfs/libxfs/xfs_ialloc.c
1724
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
1729
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_ialloc.c
1741
error = xfs_ialloc_read_agi(pag, tp, 0, NULL);
fs/xfs/libxfs/xfs_ialloc.c
1752
error = xfs_alloc_read_agf(pag, tp, flags, NULL);
fs/xfs/libxfs/xfs_ialloc.c
1997
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2001
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_ialloc.c
2012
return xfs_free_extent_later(tp, xfs_agbno_to_fsb(pag, sagbno),
fs/xfs/libxfs/xfs_ialloc.c
205
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2058
error = xfs_free_extent_later(tp, xfs_agbno_to_fsb(pag, agbno),
fs/xfs/libxfs/xfs_ialloc.c
2076
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2097
cur = xfs_inobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
2158
xfs_ialloc_log_agi(tp, agbp, XFS_AGI_COUNT | XFS_AGI_FREECOUNT);
fs/xfs/libxfs/xfs_ialloc.c
2161
xfs_trans_mod_sb(tp, XFS_TRANS_SB_ICOUNT, -ilen);
fs/xfs/libxfs/xfs_ialloc.c
2162
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, -(ilen - 1));
fs/xfs/libxfs/xfs_ialloc.c
217
cur = xfs_finobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
2170
error = xfs_difree_inode_chunk(tp, pag, &rec);
fs/xfs/libxfs/xfs_ialloc.c
2187
xfs_ialloc_log_agi(tp, agbp, XFS_AGI_FREECOUNT);
fs/xfs/libxfs/xfs_ialloc.c
2189
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, 1);
fs/xfs/libxfs/xfs_ialloc.c
219
cur = xfs_inobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
2211
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2223
cur = xfs_finobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
2323
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2333
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_ialloc.c
2363
error = xfs_ialloc_read_agi(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_ialloc.c
2373
error = xfs_difree_inobt(pag, tp, agbp, agino, xic, &rec);
fs/xfs/libxfs/xfs_ialloc.c
2381
error = xfs_difree_finobt(pag, tp, agbp, agino, &rec);
fs/xfs/libxfs/xfs_ialloc.c
2395
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2409
error = xfs_ialloc_read_agi(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_ialloc.c
2423
cur = xfs_inobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
2432
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
2458
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2541
error = xfs_imap_lookup(pag, tp, agino, agbno, &chunk_agbno,
fs/xfs/libxfs/xfs_ialloc.c
2580
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2618
xfs_trans_log_buf(tp, bp, first, last);
fs/xfs/libxfs/xfs_ialloc.c
2629
xfs_trans_log_buf(tp, bp, first, last);
fs/xfs/libxfs/xfs_ialloc.c
2736
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2745
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_ialloc.c
2752
if (tp)
fs/xfs/libxfs/xfs_ialloc.c
2753
xfs_trans_buf_set_type(tp, *agibpp, XFS_BLFT_AGI_BUF);
fs/xfs/libxfs/xfs_ialloc.c
2766
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
2776
error = xfs_read_agi(pag, tp,
fs/xfs/libxfs/xfs_ialloc.c
2810
xfs_trans_brelse(tp, agibp);
fs/xfs/libxfs/xfs_ialloc.c
2821
xfs_trans_brelse(tp, agibp);
fs/xfs/libxfs/xfs_ialloc.c
298
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
3146
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
3159
cur = xfs_inobt_init_cursor(pag, tp, agibp);
fs/xfs/libxfs/xfs_ialloc.c
353
if (tp)
fs/xfs/libxfs/xfs_ialloc.c
354
xfs_icreate_log(tp, agno, agbno, icount,
fs/xfs/libxfs/xfs_ialloc.c
365
error = xfs_trans_get_buf(tp, mp->m_ddev_targp, d,
fs/xfs/libxfs/xfs_ialloc.c
389
} else if (tp) {
fs/xfs/libxfs/xfs_ialloc.c
391
xfs_trans_log_buf(tp, fbuf, ioffset,
fs/xfs/libxfs/xfs_ialloc.c
396
if (tp) {
fs/xfs/libxfs/xfs_ialloc.c
405
xfs_trans_inode_alloc_buf(tp, fbuf);
fs/xfs/libxfs/xfs_ialloc.c
413
xfs_trans_ordered_buf(tp, fbuf);
fs/xfs/libxfs/xfs_ialloc.c
552
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
562
cur = xfs_inobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
646
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
655
cur = xfs_finobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc.c
696
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.c
708
struct xfs_ino_geometry *igeo = M_IGEO(tp->t_mountp);
fs/xfs/libxfs/xfs_ialloc.c
713
args.tp = tp;
fs/xfs/libxfs/xfs_ialloc.c
714
args.mp = tp->t_mountp;
fs/xfs/libxfs/xfs_ialloc.c
721
if (xfs_has_sparseinodes(tp->t_mountp) &&
fs/xfs/libxfs/xfs_ialloc.c
887
error = xfs_ialloc_inode_init(args.mp, tp, NULL, newlen, pag_agno(pag),
fs/xfs/libxfs/xfs_ialloc.c
914
error = xfs_inobt_insert_sprec(pag, tp, agbp, &rec);
fs/xfs/libxfs/xfs_ialloc.c
937
error = xfs_finobt_insert_sprec(pag, tp, agbp, &rec);
fs/xfs/libxfs/xfs_ialloc.c
943
error = xfs_inobt_insert(pag, tp, agbp, newino, newlen, false);
fs/xfs/libxfs/xfs_ialloc.c
948
error = xfs_inobt_insert(pag, tp, agbp, newino,
fs/xfs/libxfs/xfs_ialloc.c
967
xfs_ialloc_log_agi(tp, agbp,
fs/xfs/libxfs/xfs_ialloc.c
972
xfs_trans_mod_sb(tp, XFS_TRANS_SB_ICOUNT, (long)newlen);
fs/xfs/libxfs/xfs_ialloc.c
973
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IFREE, (long)newlen);
fs/xfs/libxfs/xfs_ialloc.h
115
int xfs_ialloc_check_shrink(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.h
45
int xfs_difree(struct xfs_trans *tp, struct xfs_perag *pag,
fs/xfs/libxfs/xfs_ialloc.h
54
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_ialloc.h
64
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_ialloc.h
68
int xfs_read_agi(struct xfs_perag *pag, struct xfs_trans *tp, xfs_buf_flags_t flags,
fs/xfs/libxfs/xfs_ialloc.h
70
int xfs_ialloc_read_agi(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc.h
90
int xfs_ialloc_inode_init(struct xfs_mount *mp, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
113
args.tp = cur->bc_tp;
fs/xfs/libxfs/xfs_ialloc_btree.c
479
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
485
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_inobt_ops,
fs/xfs/libxfs/xfs_ialloc_btree.c
505
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
511
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_finobt_ops,
fs/xfs/libxfs/xfs_ialloc_btree.c
530
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
547
xfs_ialloc_log_agi(tp, agbp, fields);
fs/xfs/libxfs/xfs_ialloc_btree.c
548
xfs_btree_commit_afakeroot(cur, tp, agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
557
xfs_ialloc_log_agi(tp, agbp, fields);
fs/xfs/libxfs/xfs_ialloc_btree.c
558
xfs_btree_commit_afakeroot(cur, tp, agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
742
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
750
error = xfs_ialloc_read_agi(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
754
cur = xfs_finobt_init_cursor(pag, tp, agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
757
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
767
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
774
error = xfs_ialloc_read_agi(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
780
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_ialloc_btree.c
790
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.c
801
error = xfs_finobt_read_blocks(pag, tp, &tree_len);
fs/xfs/libxfs/xfs_ialloc_btree.c
803
error = xfs_finobt_count_blocks(pag, tp, &tree_len);
fs/xfs/libxfs/xfs_ialloc_btree.h
50
struct xfs_trans *tp, struct xfs_buf *agbp);
fs/xfs/libxfs/xfs_ialloc_btree.h
52
struct xfs_trans *tp, struct xfs_buf *agbp);
fs/xfs/libxfs/xfs_ialloc_btree.h
66
int xfs_finobt_calc_reserves(struct xfs_perag *perag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_ialloc_btree.h
72
struct xfs_trans *tp, struct xfs_buf *agbp);
fs/xfs/libxfs/xfs_inode_buf.c
131
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_buf.c
138
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_inode_buf.h
21
int xfs_read_icluster(struct xfs_perag *pag, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_fork.c
738
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_fork.c
766
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_inode_fork.h
263
int xfs_iext_count_extend(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_inode_util.c
269
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
275
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_inode_util.c
321
xfs_trans_ichgtime(tp, ip, times);
fs/xfs/libxfs/xfs_inode_util.c
356
xfs_log_sb(tp);
fs/xfs/libxfs/xfs_inode_util.c
360
xfs_trans_log_inode(tp, ip, flags);
fs/xfs/libxfs/xfs_inode_util.c
426
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
456
xfs_trans_log_buf(tp, agibp, offset, offset + sizeof(xfs_agino_t) - 1);
fs/xfs/libxfs/xfs_inode_util.c
462
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
492
error = xfs_iunlink_reload_next(tp, agibp, agino, next_agino);
fs/xfs/libxfs/xfs_inode_util.c
501
error = xfs_iunlink_log_inode(tp, ip, pag, next_agino);
fs/xfs/libxfs/xfs_inode_util.c
509
return xfs_iunlink_update_bucket(tp, pag, agibp, bucket_index, agino);
fs/xfs/libxfs/xfs_inode_util.c
521
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
524
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_inode_util.c
536
error = xfs_read_agi(pag, tp, 0, &agibp);
fs/xfs/libxfs/xfs_inode_util.c
540
error = xfs_iunlink_insert_inode(tp, pag, agibp, ip);
fs/xfs/libxfs/xfs_inode_util.c
548
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
553
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_inode_util.c
579
error = xfs_iunlink_log_inode(tp, ip, pag, NULLAGINO);
fs/xfs/libxfs/xfs_inode_util.c
590
error = xfs_iunlink_reload_next(tp, agibp, ip->i_prev_unlinked,
fs/xfs/libxfs/xfs_inode_util.c
604
error = xfs_iunlink_log_inode(tp, prev_ip, pag,
fs/xfs/libxfs/xfs_inode_util.c
609
error = xfs_iunlink_update_bucket(tp, pag, agibp, bucket_index,
fs/xfs/libxfs/xfs_inode_util.c
623
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
633
error = xfs_read_agi(pag, tp, 0, &agibp);
fs/xfs/libxfs/xfs_inode_util.c
637
return xfs_iunlink_remove_inode(tp, pag, agibp, ip);
fs/xfs/libxfs/xfs_inode_util.c
647
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
652
xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_inode_util.c
655
xfs_info_ratelimited(tp->t_mountp,
fs/xfs/libxfs/xfs_inode_util.c
663
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_inode_util.c
668
return xfs_iunlink(tp, ip);
fs/xfs/libxfs/xfs_inode_util.c
676
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
681
xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG);
fs/xfs/libxfs/xfs_inode_util.c
684
xfs_info_ratelimited(tp->t_mountp,
fs/xfs/libxfs/xfs_inode_util.c
690
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_inode_util.c
696
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_inode_util.c
710
error = xfs_difree(tp, pag, I_INO(ip), xic);
fs/xfs/libxfs/xfs_inode_util.c
714
error = xfs_iunlink_remove(tp, pag, ip);
fs/xfs/libxfs/xfs_inode_util.c
740
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_inode_util.h
48
void xfs_trans_ichgtime(struct xfs_trans *tp, struct xfs_inode *ip, int flags);
fs/xfs/libxfs/xfs_inode_util.h
50
void xfs_inode_init(struct xfs_trans *tp, const struct xfs_icreate_args *args,
fs/xfs/libxfs/xfs_inode_util.h
53
int xfs_inode_uninit(struct xfs_trans *tp, struct xfs_perag *pag,
fs/xfs/libxfs/xfs_inode_util.h
56
int xfs_iunlink(struct xfs_trans *tp, struct xfs_inode *ip);
fs/xfs/libxfs/xfs_inode_util.h
57
int xfs_iunlink_remove(struct xfs_trans *tp, struct xfs_perag *pag,
fs/xfs/libxfs/xfs_inode_util.h
59
int xfs_droplink(struct xfs_trans *tp, struct xfs_inode *ip);
fs/xfs/libxfs/xfs_inode_util.h
60
void xfs_bumplink(struct xfs_trans *tp, struct xfs_inode *ip);
fs/xfs/libxfs/xfs_log_recover.h
171
int xlog_recover_finish_intent(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metadir.c
133
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metadir.c
146
error = xfs_metadir_lookup(tp, dp, &xname, &ino);
fs/xfs/libxfs/xfs_metadir.c
150
return xfs_trans_metafile_iget(tp, ino, metafile_type, ipp);
fs/xfs/libxfs/xfs_metadir.c
209
xfs_create_space_res(mp, MAXNAMELEN), 0, 0, &upd->tp);
fs/xfs/libxfs/xfs_metadir.c
263
error = xfs_metadir_lookup(upd->tp, upd->dp, &xname, &ino);
fs/xfs/libxfs/xfs_metadir.c
279
error = xfs_dialloc(&upd->tp, &args, &ino);
fs/xfs/libxfs/xfs_metadir.c
282
error = xfs_icreate(upd->tp, ino, &args, &upd->ip);
fs/xfs/libxfs/xfs_metadir.c
286
xfs_metafile_set_iflag(upd->tp, upd->ip, upd->metafile_type);
fs/xfs/libxfs/xfs_metadir.c
293
xfs_trans_ijoin(upd->tp, upd->dp, 0);
fs/xfs/libxfs/xfs_metadir.c
304
error = xfs_dir_create_child(upd->tp, resblks, &du);
fs/xfs/libxfs/xfs_metadir.c
339
&resblks, &upd->tp, &nospace_error);
fs/xfs/libxfs/xfs_metadir.c
344
xfs_trans_cancel(upd->tp);
fs/xfs/libxfs/xfs_metadir.c
345
upd->tp = NULL;
fs/xfs/libxfs/xfs_metadir.c
389
error = xfs_metadir_lookup(upd->tp, upd->dp, &xname, &ino);
fs/xfs/libxfs/xfs_metadir.c
401
error = xfs_dir_add_child(upd->tp, resblks, &du);
fs/xfs/libxfs/xfs_metadir.c
420
error = xfs_trans_commit(upd->tp);
fs/xfs/libxfs/xfs_metadir.c
421
upd->tp = NULL;
fs/xfs/libxfs/xfs_metadir.c
435
xfs_trans_cancel(upd->tp);
fs/xfs/libxfs/xfs_metadir.c
436
upd->tp = NULL;
fs/xfs/libxfs/xfs_metadir.c
83
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metadir.c
90
.trans = tp,
fs/xfs/libxfs/xfs_metadir.h
23
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_metadir.h
31
int xfs_metadir_load(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_metafile.c
157
xfs_trans_mod_sb(args->tp, XFS_TRANS_SB_RES_FDBLOCKS,
fs/xfs/libxfs/xfs_metafile.c
179
xfs_trans_mod_sb(args->tp, field, -len);
fs/xfs/libxfs/xfs_metafile.c
186
xfs_trans_log_inode(args->tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_metafile.c
193
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metafile.c
204
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_metafile.c
219
xfs_trans_mod_sb(tp, XFS_TRANS_SB_RES_FDBLOCKS, to_resv);
fs/xfs/libxfs/xfs_metafile.c
229
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FDBLOCKS, len);
fs/xfs/libxfs/xfs_metafile.c
49
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metafile.c
63
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_metafile.c
72
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metafile.c
79
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_metafile.h
22
void xfs_metafile_set_iflag(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_metafile.h
24
void xfs_metafile_clear_iflag(struct xfs_trans *tp, struct xfs_inode *ip);
fs/xfs/libxfs/xfs_metafile.h
32
void xfs_metafile_resv_free_space(struct xfs_inode *ip, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_metafile.h
39
int xfs_trans_metafile_iget(struct xfs_trans *tp, xfs_ino_t ino,
fs/xfs/libxfs/xfs_parent.c
152
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_parent.c
162
args->trans = tp;
fs/xfs/libxfs/xfs_parent.c
175
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_parent.c
184
return xfs_iread_extents(tp, child, XFS_ATTR_FORK);
fs/xfs/libxfs/xfs_parent.c
190
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_parent.c
198
error = xfs_parent_iread_extents(tp, child);
fs/xfs/libxfs/xfs_parent.c
203
xfs_parent_da_args_init(&ppargs->args, tp, &ppargs->rec, child,
fs/xfs/libxfs/xfs_parent.c
212
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_parent.c
220
error = xfs_parent_iread_extents(tp, child);
fs/xfs/libxfs/xfs_parent.c
225
xfs_parent_da_args_init(&ppargs->args, tp, &ppargs->rec, child,
fs/xfs/libxfs/xfs_parent.c
234
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_parent.c
244
error = xfs_parent_iread_extents(tp, child);
fs/xfs/libxfs/xfs_parent.c
249
xfs_parent_da_args_init(&ppargs->args, tp, &ppargs->rec, child,
fs/xfs/libxfs/xfs_parent.c
307
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_parent.c
314
xfs_parent_da_args_init(scratch, tp, pptr, ip, I_INO(ip), parent_name);
fs/xfs/libxfs/xfs_parent.h
100
int xfs_parent_lookup(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_parent.h
82
int xfs_parent_addname(struct xfs_trans *tp, struct xfs_parent_args *ppargs,
fs/xfs/libxfs/xfs_parent.h
85
int xfs_parent_removename(struct xfs_trans *tp, struct xfs_parent_args *ppargs,
fs/xfs/libxfs/xfs_parent.h
88
int xfs_parent_replacename(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_quota_defs.h
178
int xfs_dqinode_load(struct xfs_trans *tp, struct xfs_inode *dp,
fs/xfs/libxfs/xfs_quota_defs.h
185
int xfs_dqinode_load_parent(struct xfs_trans *tp, struct xfs_inode **dpp);
fs/xfs/libxfs/xfs_refcount.c
1384
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
1388
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_refcount.c
1417
error = xfs_alloc_read_agf(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_refcount.c
1421
*pcur = rcur = xfs_refcountbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/libxfs/xfs_refcount.c
1496
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
1500
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_refcount.c
1528
xfs_rtgroup_trans_join(tp, rtg, XFS_RTGLOCK_REFCOUNT);
fs/xfs/libxfs/xfs_refcount.c
1529
*pcur = rcur = xfs_rtrefcountbt_init_cursor(tp, rtg);
fs/xfs/libxfs/xfs_refcount.c
1578
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
1594
xfs_refcount_defer_add(tp, ri);
fs/xfs/libxfs/xfs_refcount.c
1602
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
1606
if (!xfs_has_reflink(tp->t_mountp))
fs/xfs/libxfs/xfs_refcount.c
1609
__xfs_refcount_add(tp, XFS_REFCOUNT_INCREASE, isrt, PREV->br_startblock,
fs/xfs/libxfs/xfs_refcount.c
1618
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
1622
if (!xfs_has_reflink(tp->t_mountp))
fs/xfs/libxfs/xfs_refcount.c
1625
__xfs_refcount_add(tp, XFS_REFCOUNT_DECREASE, isrt, PREV->br_startblock,
fs/xfs/libxfs/xfs_refcount.c
1980
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
1985
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_refcount.c
1990
__xfs_refcount_add(tp, XFS_REFCOUNT_ALLOC_COW, isrt, fsb, len);
fs/xfs/libxfs/xfs_refcount.c
1993
xfs_rmap_alloc_extent(tp, isrt, fsb, len, XFS_RMAP_OWN_COW);
fs/xfs/libxfs/xfs_refcount.c
1999
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.c
2004
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_refcount.c
2010
xfs_rmap_free_extent(tp, isrt, fsb, len, XFS_RMAP_OWN_COW);
fs/xfs/libxfs/xfs_refcount.c
2011
__xfs_refcount_add(tp, XFS_REFCOUNT_FREE_COW, isrt, fsb, len);
fs/xfs/libxfs/xfs_refcount.c
2059
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_refcount.c
2100
tp = xfs_trans_alloc_empty(mp);
fs/xfs/libxfs/xfs_refcount.c
2104
cur = xfs_rtrefcountbt_init_cursor(tp, to_rtg(xg));
fs/xfs/libxfs/xfs_refcount.c
2106
error = xfs_alloc_read_agf(to_perag(xg), tp, 0, &agbp);
fs/xfs/libxfs/xfs_refcount.c
2109
cur = xfs_refcountbt_init_cursor(mp, tp, agbp, to_perag(xg));
fs/xfs/libxfs/xfs_refcount.c
2117
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_refcount.c
2120
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_refcount.c
2127
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, 0, 0, 0, &tp);
fs/xfs/libxfs/xfs_refcount.c
2133
xfs_refcount_free_cow_extent(tp, isrt, fsb,
fs/xfs/libxfs/xfs_refcount.c
2137
error = xfs_free_extent_later(tp, fsb,
fs/xfs/libxfs/xfs_refcount.c
2144
error = xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_refcount.c
2154
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_refcount.h
79
void xfs_refcount_increase_extent(struct xfs_trans *tp, bool isrt,
fs/xfs/libxfs/xfs_refcount.h
81
void xfs_refcount_decrease_extent(struct xfs_trans *tp, bool isrt,
fs/xfs/libxfs/xfs_refcount.h
84
int xfs_refcount_finish_one(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.h
86
int xfs_rtrefcount_finish_one(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount.h
93
void xfs_refcount_alloc_cow_extent(struct xfs_trans *tp, bool isrt,
fs/xfs/libxfs/xfs_refcount.h
95
void xfs_refcount_free_cow_extent(struct xfs_trans *tp, bool isrt,
fs/xfs/libxfs/xfs_refcount_btree.c
358
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount_btree.c
366
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_refcountbt_ops,
fs/xfs/libxfs/xfs_refcount_btree.c
387
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount_btree.c
398
xfs_alloc_log_agf(tp, agbp, XFS_AGF_REFCOUNT_BLOCKS |
fs/xfs/libxfs/xfs_refcount_btree.c
401
xfs_btree_commit_afakeroot(cur, tp, agbp);
fs/xfs/libxfs/xfs_refcount_btree.c
489
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_refcount_btree.c
503
error = xfs_alloc_read_agf(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_refcount_btree.c
510
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_refcount_btree.c
69
args.tp = cur->bc_tp;
fs/xfs/libxfs/xfs_refcount_btree.h
49
struct xfs_trans *tp, struct xfs_buf *agbp,
fs/xfs/libxfs/xfs_refcount_btree.h
61
struct xfs_trans *tp, struct xfs_perag *pag, xfs_extlen_t *ask,
fs/xfs/libxfs/xfs_refcount_btree.h
65
struct xfs_trans *tp, struct xfs_buf *agbp);
fs/xfs/libxfs/xfs_rmap.c
1208
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
1215
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rmap.c
1222
cur = xfs_rmapbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/libxfs/xfs_rmap.c
1223
xfs_rmap_update_hook(tp, pag_group(pag), XFS_RMAP_MAP, bno, len, false,
fs/xfs/libxfs/xfs_rmap.c
2633
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2645
error = xfs_free_extent_fix_freelist(tp, pag, &agbp);
fs/xfs/libxfs/xfs_rmap.c
2650
if (XFS_IS_CORRUPT(tp->t_mountp, !agbp)) {
fs/xfs/libxfs/xfs_rmap.c
2654
*pcur = xfs_rmapbt_init_cursor(tp->t_mountp, tp, agbp, pag);
fs/xfs/libxfs/xfs_rmap.c
2660
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2667
xfs_rtgroup_trans_join(tp, rtg, XFS_RTGLOCK_RMAP);
fs/xfs/libxfs/xfs_rmap.c
2668
*pcur = xfs_rtrmapbt_init_cursor(tp, rtg);
fs/xfs/libxfs/xfs_rmap.c
2681
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2686
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rmap.c
2706
error = xfs_rtrmap_finish_init_cursor(tp, ri, pcur);
fs/xfs/libxfs/xfs_rmap.c
2708
error = xfs_rmap_finish_init_cursor(tp, ri, pcur);
fs/xfs/libxfs/xfs_rmap.c
2724
xfs_rmap_update_hook(tp, ri->ri_group, ri->ri_type, bno,
fs/xfs/libxfs/xfs_rmap.c
2746
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2763
xfs_rmap_defer_add(tp, ri);
fs/xfs/libxfs/xfs_rmap.c
2769
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2777
if (!xfs_rmap_update_is_needed(tp->t_mountp, whichfork))
fs/xfs/libxfs/xfs_rmap.c
2783
__xfs_rmap_add(tp, type, I_INO(ip), isrt, whichfork, PREV);
fs/xfs/libxfs/xfs_rmap.c
2789
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2797
if (!xfs_rmap_update_is_needed(tp->t_mountp, whichfork))
fs/xfs/libxfs/xfs_rmap.c
2803
__xfs_rmap_add(tp, type, I_INO(ip), isrt, whichfork, PREV);
fs/xfs/libxfs/xfs_rmap.c
2815
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2829
__xfs_rmap_add(tp, type, I_INO(ip), isrt, whichfork, PREV);
fs/xfs/libxfs/xfs_rmap.c
2835
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2843
if (!xfs_rmap_update_is_needed(tp->t_mountp, XFS_DATA_FORK))
fs/xfs/libxfs/xfs_rmap.c
2851
__xfs_rmap_add(tp, XFS_RMAP_ALLOC, owner, isrt, XFS_DATA_FORK, &bmap);
fs/xfs/libxfs/xfs_rmap.c
2857
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
2865
if (!xfs_rmap_update_is_needed(tp->t_mountp, XFS_DATA_FORK))
fs/xfs/libxfs/xfs_rmap.c
2873
__xfs_rmap_add(tp, XFS_RMAP_FREE, owner, isrt, XFS_DATA_FORK, &bmap);
fs/xfs/libxfs/xfs_rmap.c
907
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
963
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.c
970
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rmap.c
977
cur = xfs_rmapbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/libxfs/xfs_rmap.c
978
xfs_rmap_update_hook(tp, pag_group(pag), XFS_RMAP_UNMAP, bno, len,
fs/xfs/libxfs/xfs_rmap.h
123
int xfs_rmap_alloc(struct xfs_trans *tp, struct xfs_buf *agbp,
fs/xfs/libxfs/xfs_rmap.h
126
int xfs_rmap_free(struct xfs_trans *tp, struct xfs_buf *agbp,
fs/xfs/libxfs/xfs_rmap.h
186
void xfs_rmap_map_extent(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_rmap.h
188
void xfs_rmap_unmap_extent(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_rmap.h
190
void xfs_rmap_convert_extent(struct xfs_mount *mp, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap.h
193
void xfs_rmap_alloc_extent(struct xfs_trans *tp, bool isrt, xfs_fsblock_t fsbno,
fs/xfs/libxfs/xfs_rmap.h
195
void xfs_rmap_free_extent(struct xfs_trans *tp, bool isrt, xfs_fsblock_t fsbno,
fs/xfs/libxfs/xfs_rmap.h
198
int xfs_rmap_finish_one(struct xfs_trans *tp, struct xfs_rmap_intent *ri,
fs/xfs/libxfs/xfs_rmap_btree.c
513
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap_btree.c
519
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_rmapbt_ops,
fs/xfs/libxfs/xfs_rmap_btree.c
626
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap_btree.c
631
cur = xfs_btree_alloc_cursor(pag_mount(pag), tp, &xfs_rmapbt_mem_ops,
fs/xfs/libxfs/xfs_rmap_btree.c
682
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap_btree.c
693
xfs_alloc_log_agf(tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS |
fs/xfs/libxfs/xfs_rmap_btree.c
695
xfs_btree_commit_afakeroot(cur, tp, agbp);
fs/xfs/libxfs/xfs_rmap_btree.c
817
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap_btree.c
831
error = xfs_alloc_read_agf(pag, tp, 0, &agbp);
fs/xfs/libxfs/xfs_rmap_btree.c
838
xfs_trans_brelse(tp, agbp);
fs/xfs/libxfs/xfs_rmap_btree.h
46
struct xfs_trans *tp, struct xfs_buf *bp,
fs/xfs/libxfs/xfs_rmap_btree.h
49
struct xfs_trans *tp, struct xfs_buf *agbp);
fs/xfs/libxfs/xfs_rmap_btree.h
59
extern int xfs_rmapbt_calc_reserves(struct xfs_mount *mp, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rmap_btree.h
68
struct xfs_trans *tp, struct xfbtree *xfbtree);
fs/xfs/libxfs/xfs_rtbitmap.c
1052
struct xfs_trans *tp, /* transaction pointer */
fs/xfs/libxfs/xfs_rtbitmap.c
1057
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rtbitmap.c
1061
.tp = tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1087
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FREXTENTS, (long)len);
fs/xfs/libxfs/xfs_rtbitmap.c
1094
tp->t_frextents_delta + mp->m_sb.sb_frextents ==
fs/xfs/libxfs/xfs_rtbitmap.c
1102
xfs_trans_log_inode(tp, rbmip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_rtbitmap.c
1117
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1122
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rtbitmap.c
1141
error = xfs_rtfree_extent(tp, rtg, xfs_rtb_to_rtx(mp, rtbno),
fs/xfs/libxfs/xfs_rtbitmap.c
1147
xfs_extent_busy_insert(tp, rtg_group(rtg),
fs/xfs/libxfs/xfs_rtbitmap.c
1157
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1167
.tp = tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1202
error = fn(rtg, tp, &rec, priv);
fs/xfs/libxfs/xfs_rtbitmap.c
1218
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1222
return xfs_rtalloc_query_range(rtg, tp, 0, rtg->rtg_extents - 1, fn,
fs/xfs/libxfs/xfs_rtbitmap.c
1230
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1238
.tp = tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1335
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_rtbitmap.c
134
xfs_trans_brelse(args->tp, args->rbmbp);
fs/xfs/libxfs/xfs_rtbitmap.c
1340
XFS_GROWFSRT_SPACE_RES(mp, count_fsb), 0, 0, &tp);
fs/xfs/libxfs/xfs_rtbitmap.c
1345
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/libxfs/xfs_rtbitmap.c
1347
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/libxfs/xfs_rtbitmap.c
1352
error = xfs_bmapi_write(tp, ip, offset_fsb, count_fsb,
fs/xfs/libxfs/xfs_rtbitmap.c
1357
return xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_rtbitmap.c
1360
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_rtbitmap.c
1374
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_rtbitmap.c
1388
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_growrtzero, 0, 0, 0, &tp);
fs/xfs/libxfs/xfs_rtbitmap.c
139
xfs_trans_brelse(args->tp, args->sumbp);
fs/xfs/libxfs/xfs_rtbitmap.c
1392
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/libxfs/xfs_rtbitmap.c
1394
error = xfs_trans_get_buf(tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_rtbitmap.c
1397
xfs_trans_cancel(tp);
fs/xfs/libxfs/xfs_rtbitmap.c
1402
xfs_trans_buf_set_type(tp, bp, buf_type);
fs/xfs/libxfs/xfs_rtbitmap.c
1424
xfs_trans_log_buf(tp, bp, 0, mp->m_sb.sb_blocksize - 1);
fs/xfs/libxfs/xfs_rtbitmap.c
1425
return xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_rtbitmap.c
1478
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1488
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_rtbitmap.c
1496
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.c
1502
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_rtbitmap.c
191
xfs_trans_brelse(args->tp, *cbpp);
fs/xfs/libxfs/xfs_rtbitmap.c
205
error = xfs_trans_read_buf(mp, args->tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_rtbitmap.c
219
xfs_trans_brelse(args->tp, bp);
fs/xfs/libxfs/xfs_rtbitmap.c
225
xfs_trans_buf_set_type(args->tp, bp, buf_type);
fs/xfs/libxfs/xfs_rtbitmap.c
578
xfs_trans_log_buf(args->tp, bp, first, last);
fs/xfs/libxfs/xfs_rtbitmap.c
651
xfs_trans_log_buf(args->tp, bp, first, last);
fs/xfs/libxfs/xfs_rtbitmap.h
14
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_rtbitmap.h
380
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.h
402
int xfs_rtalloc_query_range(struct xfs_rtgroup *rtg, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.h
405
int xfs_rtalloc_query_all(struct xfs_rtgroup *rtg, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.h
407
int xfs_rtalloc_extent_is_free(struct xfs_rtgroup *rtg, struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtbitmap.h
409
int xfs_rtfree_extent(struct xfs_trans *tp, struct xfs_rtgroup *rtg,
fs/xfs/libxfs/xfs_rtbitmap.h
412
int xfs_rtfree_blocks(struct xfs_trans *tp, struct xfs_rtgroup *rtg,
fs/xfs/libxfs/xfs_rtbitmap.h
426
struct xfs_trans *tp, bool init);
fs/xfs/libxfs/xfs_rtbitmap.h
428
struct xfs_trans *tp, bool init);
fs/xfs/libxfs/xfs_rtbitmap.h
433
static inline int xfs_rtfree_blocks(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtgroup.c
250
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtgroup.c
259
xfs_trans_ijoin(tp, rtg_bitmap(rtg), XFS_ILOCK_EXCL);
fs/xfs/libxfs/xfs_rtgroup.c
260
xfs_trans_ijoin(tp, rtg_summary(rtg), XFS_ILOCK_EXCL);
fs/xfs/libxfs/xfs_rtgroup.c
264
xfs_trans_ijoin(tp, rtg_rmap(rtg), XFS_ILOCK_EXCL);
fs/xfs/libxfs/xfs_rtgroup.c
267
xfs_trans_ijoin(tp, rtg_refcount(rtg), XFS_ILOCK_EXCL);
fs/xfs/libxfs/xfs_rtgroup.c
352
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtgroup.c
444
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_rtgroup.c
446
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rtgroup.c
469
error = xfs_trans_metafile_iget(tp, ino, ops->metafile_type,
fs/xfs/libxfs/xfs_rtgroup.c
482
error = xfs_metadir_load(tp, mp->m_rtdirip, path,
fs/xfs/libxfs/xfs_rtgroup.c
558
error = ops->create(rtg, upd.ip, upd.tp, init);
fs/xfs/libxfs/xfs_rtgroup.c
599
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_rtgroup.c
601
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_rtgroup.c
608
return xfs_metadir_load(tp, mp->m_metadirip, "rtgroups",
fs/xfs/libxfs/xfs_rtgroup.c
728
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtgroup.c
733
if (!xfs_has_rtsb(tp->t_mountp))
fs/xfs/libxfs/xfs_rtgroup.c
736
rtsb_bp = xfs_trans_getrtsb(tp);
fs/xfs/libxfs/xfs_rtgroup.c
744
ASSERT(tp->t_mountp->m_sb.sb_rblocks == 0);
fs/xfs/libxfs/xfs_rtgroup.c
749
xfs_trans_ordered_buf(tp, rtsb_bp);
fs/xfs/libxfs/xfs_rtgroup.h
312
void xfs_rtgroup_trans_join(struct xfs_trans *tp, struct xfs_rtgroup *rtg,
fs/xfs/libxfs/xfs_rtgroup.h
319
int xfs_rtginode_load_parent(struct xfs_trans *tp);
fs/xfs/libxfs/xfs_rtgroup.h
326
struct xfs_trans *tp);
fs/xfs/libxfs/xfs_rtgroup.h
341
struct xfs_buf *xfs_log_rtsb(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtgroup.h
360
# define xfs_rtgroup_trans_join(tp, rtg, gf) ((void)0)
fs/xfs/libxfs/xfs_rtgroup.h
362
# define xfs_log_rtsb(tp, sb_bp) (NULL)
fs/xfs/libxfs/xfs_rtrefcount_btree.c
402
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrefcount_btree.c
411
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_rtrefcountbt_ops,
fs/xfs/libxfs/xfs_rtrefcount_btree.c
431
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_rtrefcount_btree.c
450
xfs_trans_log_inode(tp, cur->bc_ino.ip, flags);
fs/xfs/libxfs/xfs_rtrefcount_btree.c
451
xfs_btree_commit_ifakeroot(cur, tp, XFS_DATA_FORK);
fs/xfs/libxfs/xfs_rtrefcount_btree.c
738
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrefcount_btree.c
755
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE | XFS_ILOG_DBROOT);
fs/xfs/libxfs/xfs_rtrefcount_btree.h
18
struct xfs_btree_cur *xfs_rtrefcountbt_init_cursor(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrefcount_btree.h
187
struct xfs_trans *tp, bool init);
fs/xfs/libxfs/xfs_rtrefcount_btree.h
24
struct xfs_trans *tp);
fs/xfs/libxfs/xfs_rtrmap_btree.c
1010
cur = xfs_rtrmapbt_init_cursor(tp, rtg);
fs/xfs/libxfs/xfs_rtrmap_btree.c
505
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrmap_btree.c
514
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_rtrmapbt_ops,
fs/xfs/libxfs/xfs_rtrmap_btree.c
614
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrmap_btree.c
620
cur = xfs_btree_alloc_cursor(mp, tp, &xfs_rtrmapbt_mem_ops,
fs/xfs/libxfs/xfs_rtrmap_btree.c
648
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_rtrmap_btree.c
667
xfs_trans_log_inode(tp, cur->bc_ino.ip, flags);
fs/xfs/libxfs/xfs_rtrmap_btree.c
668
xfs_btree_commit_ifakeroot(cur, tp, XFS_DATA_FORK);
fs/xfs/libxfs/xfs_rtrmap_btree.c
969
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrmap_btree.c
985
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE | XFS_ILOG_DBROOT);
fs/xfs/libxfs/xfs_rtrmap_btree.c
998
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_rtrmap_btree.h
19
struct xfs_btree_cur *xfs_rtrmapbt_init_cursor(struct xfs_trans *tp,
fs/xfs/libxfs/xfs_rtrmap_btree.h
198
struct xfs_trans *tp, bool init);
fs/xfs/libxfs/xfs_rtrmap_btree.h
200
struct xfs_trans *tp);
fs/xfs/libxfs/xfs_rtrmap_btree.h
206
struct xfs_trans *tp, struct xfbtree *xfbtree);
fs/xfs/libxfs/xfs_rtrmap_btree.h
25
struct xfs_trans *tp);
fs/xfs/libxfs/xfs_sb.c
1324
struct xfs_trans *tp)
fs/xfs/libxfs/xfs_sb.c
1326
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_sb.c
1327
struct xfs_buf *bp = xfs_trans_getsb(tp);
fs/xfs/libxfs/xfs_sb.c
1360
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SB_BUF);
fs/xfs/libxfs/xfs_sb.c
1361
xfs_trans_log_buf(tp, bp, 0, sizeof(struct xfs_dsb) - 1);
fs/xfs/libxfs/xfs_sb.c
1380
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_sb.c
1384
XFS_TRANS_NO_WRITECOUNT, &tp);
fs/xfs/libxfs/xfs_sb.c
1388
xfs_log_sb(tp);
fs/xfs/libxfs/xfs_sb.c
1390
xfs_trans_set_sync(tp);
fs/xfs/libxfs/xfs_sb.c
1391
return xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_sb.c
1472
struct xfs_trans *tp;
fs/xfs/libxfs/xfs_sb.c
1477
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_sb, 0, 0, 0, &tp);
fs/xfs/libxfs/xfs_sb.c
1481
bp = xfs_trans_getsb(tp);
fs/xfs/libxfs/xfs_sb.c
1482
xfs_log_sb(tp);
fs/xfs/libxfs/xfs_sb.c
1483
xfs_trans_bhold(tp, bp);
fs/xfs/libxfs/xfs_sb.c
1485
rtsb_bp = xfs_log_rtsb(tp, bp);
fs/xfs/libxfs/xfs_sb.c
1487
xfs_trans_bhold(tp, rtsb_bp);
fs/xfs/libxfs/xfs_sb.c
1489
xfs_trans_set_sync(tp);
fs/xfs/libxfs/xfs_sb.c
1490
error = xfs_trans_commit(tp);
fs/xfs/libxfs/xfs_sb.c
1621
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_sb.c
1629
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_sb.c
1645
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_sb.c
1653
error = xfs_trans_get_buf(tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_sb.h
16
extern void xfs_log_sb(struct xfs_trans *tp);
fs/xfs/libxfs/xfs_sb.h
35
struct xfs_trans *tp, xfs_agnumber_t agno,
fs/xfs/libxfs/xfs_sb.h
38
struct xfs_trans *tp, xfs_agnumber_t agno,
fs/xfs/libxfs/xfs_symlink_remote.c
171
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_symlink_remote.c
180
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SYMLINK_BUF);
fs/xfs/libxfs/xfs_symlink_remote.c
185
xfs_trans_log_buf(tp, bp, 0, ifp->if_bytes - 1);
fs/xfs/libxfs/xfs_symlink_remote.c
201
xfs_trans_log_buf(tp, bp, 0, sizeof(struct xfs_dsymlink_hdr) +
fs/xfs/libxfs/xfs_symlink_remote.c
314
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_symlink_remote.c
323
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_symlink_remote.c
341
xfs_trans_log_inode(tp, ip, XFS_ILOG_DDATA | XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_symlink_remote.c
346
error = xfs_bmapi_write(tp, ip, 0, fs_blocks, XFS_BMAPI_METADATA,
fs/xfs/libxfs/xfs_symlink_remote.c
352
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_symlink_remote.c
361
error = xfs_trans_get_buf(tp, mp->m_ddev_targp, d,
fs/xfs/libxfs/xfs_symlink_remote.c
379
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SYMLINK_BUF);
fs/xfs/libxfs/xfs_symlink_remote.c
380
xfs_trans_log_buf(tp, bp, 0, (buf + byte_cnt - 1) -
fs/xfs/libxfs/xfs_symlink_remote.c
390
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_symlink_remote.c
394
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/libxfs/xfs_symlink_remote.c
410
error = xfs_trans_get_buf(tp, mp->m_ddev_targp,
fs/xfs/libxfs/xfs_symlink_remote.c
417
xfs_trans_binval(tp, bp);
fs/xfs/libxfs/xfs_symlink_remote.c
421
error = xfs_bunmapi(tp, ip, 0, XFS_MAX_FILEOFF, 0, nmaps, &done);
fs/xfs/libxfs/xfs_symlink_remote.c
430
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/libxfs/xfs_symlink_remote.h
18
void xfs_symlink_local_to_remote(struct xfs_trans *tp, struct xfs_buf *bp,
fs/xfs/libxfs/xfs_symlink_remote.h
23
int xfs_symlink_write_target(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/libxfs/xfs_symlink_remote.h
26
int xfs_symlink_remote_truncate(struct xfs_trans *tp, struct xfs_inode *ip);
fs/xfs/libxfs/xfs_trans_inode.c
28
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_trans_inode.c
45
xfs_trans_add_item(tp, &iip->ili_item);
fs/xfs/libxfs/xfs_trans_inode.c
55
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_trans_inode.c
62
ASSERT(tp);
fs/xfs/libxfs/xfs_trans_inode.c
87
struct xfs_trans *tp,
fs/xfs/libxfs/xfs_trans_inode.c
98
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/scrub/agheader.c
126
error = xfs_sb_read_secondary(mp, sc->tp, agno, &bp);
fs/xfs/scrub/agheader.c
802
error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &sai.agfl_bp);
fs/xfs/scrub/agheader_repair.c
1308
cur = xfs_inobt_init_cursor(sc->sa.pag, sc->tp, agi_bp);
fs/xfs/scrub/agheader_repair.c
1559
error = xfs_iunlink_log_inode(sc->tp, ip, pag, next_agino);
fs/xfs/scrub/agheader_repair.c
1613
error = xfs_iunlink_log_inode(sc->tp, ip, pag, next_agino);
fs/xfs/scrub/agheader_repair.c
1690
xfs_trans_buf_set_type(sc->tp, agi_bp, XFS_BLFT_AGI_BUF);
fs/xfs/scrub/agheader_repair.c
1691
xfs_trans_log_buf(sc->tp, agi_bp, 0, BBTOB(agi_bp->b_length) - 1);
fs/xfs/scrub/agheader_repair.c
1756
error = xfs_trans_read_buf(mp, sc->tp, mp->m_ddev_targp,
fs/xfs/scrub/agheader_repair.c
263
cur = xfs_bnobt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
276
cur = xfs_cntbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
284
cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
296
cur = xfs_refcountbt_init_cursor(mp, sc->tp, agf_bp,
fs/xfs/scrub/agheader_repair.c
324
xfs_trans_buf_set_type(sc->tp, agf_bp, XFS_BLFT_AGF_BUF);
fs/xfs/scrub/agheader_repair.c
325
xfs_trans_log_buf(sc->tp, agf_bp, 0, BBTOB(agf_bp->b_length) - 1);
fs/xfs/scrub/agheader_repair.c
386
error = xfs_trans_read_buf(mp, sc->tp, mp->m_ddev_targp,
fs/xfs/scrub/agheader_repair.c
404
error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &agfl_bp);
fs/xfs/scrub/agheader_repair.c
54
error = xfs_sb_get_secondary(mp, sc->tp, agno, &bp);
fs/xfs/scrub/agheader_repair.c
548
cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
555
cur = xfs_bnobt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
562
cur = xfs_cntbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
577
ra.rmap_cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/agheader_repair.c
626
xfs_alloc_log_agf(sc->tp, agf_bp,
fs/xfs/scrub/agheader_repair.c
706
xfs_trans_buf_set_type(sc->tp, agfl_bp, XFS_BLFT_AGFL_BUF);
fs/xfs/scrub/agheader_repair.c
707
xfs_trans_log_buf(sc->tp, agfl_bp, 0, BBTOB(agfl_bp->b_length) - 1);
fs/xfs/scrub/agheader_repair.c
735
error = xfs_alloc_read_agf(sc->sa.pag, sc->tp, 0, &agf_bp);
fs/xfs/scrub/agheader_repair.c
743
error = xfs_trans_read_buf(mp, sc->tp, mp->m_ddev_targp,
fs/xfs/scrub/agheader_repair.c
79
xfs_trans_buf_set_type(sc->tp, bp, XFS_BLFT_SB_BUF);
fs/xfs/scrub/agheader_repair.c
80
xfs_trans_log_buf(sc->tp, bp, 0, BBTOB(bp->b_length) - 1);
fs/xfs/scrub/agheader_repair.c
864
error = xfs_alloc_read_agf(sc->sa.pag, sc->tp, 0, &agf_bp);
fs/xfs/scrub/agheader_repair.c
948
cur = xfs_inobt_init_cursor(sc->sa.pag, sc->tp, agi_bp);
fs/xfs/scrub/agheader_repair.c
968
cur = xfs_finobt_init_cursor(sc->sa.pag, sc->tp, agi_bp);
fs/xfs/scrub/alloc_repair.c
144
return xfs_extent_busy_flush(sc->tp, xg, busy_gen, 0);
fs/xfs/scrub/alloc_repair.c
392
error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &agfl_bp);
fs/xfs/scrub/alloc_repair.c
408
xfs_trans_brelse(sc->tp, agfl_bp);
fs/xfs/scrub/alloc_repair.c
545
xfs_rmap_alloc_extent(sc->tp, false,
fs/xfs/scrub/alloc_repair.c
560
error = __xfs_free_extent(sc->tp, resv->pag, free_agbno, free_aglen,
fs/xfs/scrub/alloc_repair.c
675
xfs_alloc_log_agf(sc->tp, sc->sa.agf_bp, XFS_AGF_BTREEBLKS |
fs/xfs/scrub/alloc_repair.c
793
xfs_allocbt_commit_staged_btree(bno_cur, sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/alloc_repair.c
795
xfs_allocbt_commit_staged_btree(cnt_cur, sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/attr.c
183
.trans = sc->tp,
fs/xfs/scrub/attr_repair.c
1025
return xfs_trans_roll_inode(&sc->tp, sc->ip);
fs/xfs/scrub/attr_repair.c
1084
error = xfs_trans_roll(&rx->sc->tp);
fs/xfs/scrub/attr_repair.c
1088
error = xfs_iread_extents(rx->sc->tp, ip, XFS_ATTR_FORK);
fs/xfs/scrub/attr_repair.c
1296
.trans = sc->tp,
fs/xfs/scrub/attr_repair.c
1309
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/attr_repair.c
1331
xfs_trans_log_inode(sc->tp, sc->ip,
fs/xfs/scrub/attr_repair.c
1431
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/attr_repair.c
1494
error = xfs_trans_roll(&sc->tp);
fs/xfs/scrub/attr_repair.c
328
.trans = rx->sc->tp,
fs/xfs/scrub/attr_repair.c
826
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/attr_repair.c
827
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/attr_repair.c
847
xfs_trans_log_inode(sc->tp, sc->tempip, XFS_ILOG_CORE | XFS_ILOG_ADATA);
fs/xfs/scrub/attr_repair.c
972
xfs_trans_log_inode(sc->tp, ip,
fs/xfs/scrub/attr_repair.c
997
xfs_attr_fork_remove(ip, sc->tp);
fs/xfs/scrub/bmap.c
597
error = xfs_iread_extents(sc->tp, ip, whichfork);
fs/xfs/scrub/bmap.c
602
cur = xfs_bmbt_init_cursor(mp, sc->tp, ip, whichfork);
fs/xfs/scrub/bmap.c
701
error = xfs_alloc_read_agf(pag, sc->tp, 0, &agf);
fs/xfs/scrub/bmap.c
705
cur = xfs_rmapbt_init_cursor(sc->mp, sc->tp, agf, pag);
fs/xfs/scrub/bmap.c
714
xfs_trans_brelse(sc->tp, agf);
fs/xfs/scrub/bmap.c
729
cur = xfs_rtrmapbt_init_cursor(sc->tp, rtg);
fs/xfs/scrub/bmap_repair.c
634
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/bmap_repair.c
640
xfs_trans_mod_dquot_byino(sc->tp, sc->ip, XFS_TRANS_DQ_BCOUNT, delta);
fs/xfs/scrub/bmap_repair.c
711
error = xfs_trans_reserve_more_inode(sc->tp, sc->ip,
fs/xfs/scrub/bmap_repair.c
801
xfs_bmbt_commit_staged_btree(bmap_cur, sc->tp, rb->whichfork);
fs/xfs/scrub/bmap_repair.c
958
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/common.c
1011
struct xfs_trans *tp = sc->tp;
fs/xfs/scrub/common.c
1015
ASSERT(sc->tp != NULL);
fs/xfs/scrub/common.c
1030
error = xfs_ialloc_read_agi(pag, tp, 0, agi_bpp);
fs/xfs/scrub/common.c
1035
error = xfs_iget(mp, tp, inum, XFS_IGET_NORETRY | XCHK_IGET_FLAGS, 0,
fs/xfs/scrub/common.c
1053
xfs_trans_brelse(tp, *agi_bpp);
fs/xfs/scrub/common.c
1062
xfs_trans_brelse(tp, *agi_bpp);
fs/xfs/scrub/common.c
1077
ASSERT(sc->tp != NULL);
fs/xfs/scrub/common.c
1141
ASSERT(sc->tp == NULL);
fs/xfs/scrub/common.c
1227
error = xfs_imap(pag, sc->tp, sc->sm->sm_ino, &imap,
fs/xfs/scrub/common.c
1253
if (sc->tp) {
fs/xfs/scrub/common.c
1459
error = xfs_reflink_inode_has_shared_extents(sc->tp, sc->ip,
fs/xfs/scrub/common.c
1714
cur = xfs_rtrmapbt_init_cursor(sc->tp, sc->sr.rtg);
fs/xfs/scrub/common.c
1717
cur = xfs_rtrefcountbt_init_cursor(sc->tp, sc->sr.rtg);
fs/xfs/scrub/common.c
1754
return xfs_bmap_count_blocks(sc->tp, sc->ip, whichfork, nextents,
fs/xfs/scrub/common.c
482
error = xfs_ialloc_read_agi(sa->pag, sc->tp, 0, &sa->agi_bp);
fs/xfs/scrub/common.c
486
error = xfs_alloc_read_agf(sa->pag, sc->tp, 0, &sa->agf_bp);
fs/xfs/scrub/common.c
551
xfs_trans_brelse(sc->tp, sa->agf_bp);
fs/xfs/scrub/common.c
556
xfs_trans_brelse(sc->tp, sa->agi_bp);
fs/xfs/scrub/common.c
627
sa->bno_cur = xfs_bnobt_init_cursor(mp, sc->tp, sa->agf_bp,
fs/xfs/scrub/common.c
633
sa->cnt_cur = xfs_cntbt_init_cursor(mp, sc->tp, sa->agf_bp,
fs/xfs/scrub/common.c
640
sa->rmap_cur = xfs_rmapbt_init_cursor(mp, sc->tp,
fs/xfs/scrub/common.c
648
sa->refc_cur = xfs_refcountbt_init_cursor(mp, sc->tp,
fs/xfs/scrub/common.c
657
sa->ino_cur = xfs_inobt_init_cursor(sa->pag, sc->tp,
fs/xfs/scrub/common.c
664
sa->fino_cur = xfs_finobt_init_cursor(sa->pag, sc->tp,
fs/xfs/scrub/common.c
681
xfs_trans_brelse(sc->tp, sa->agf_bp);
fs/xfs/scrub/common.c
685
xfs_trans_brelse(sc->tp, sa->agi_bp);
fs/xfs/scrub/common.c
814
sr->rmap_cur = xfs_rtrmapbt_init_cursor(sc->tp, sr->rtg);
fs/xfs/scrub/common.c
817
sr->refc_cur = xfs_rtrefcountbt_init_cursor(sc->tp, sr->rtg);
fs/xfs/scrub/common.c
880
xfs_trans_cancel(sc->tp);
fs/xfs/scrub/common.c
881
sc->tp = NULL;
fs/xfs/scrub/common.c
888
sc->tp = xfs_trans_alloc_empty(sc->mp);
fs/xfs/scrub/common.c
908
resblks, 0, 0, &sc->tp);
fs/xfs/scrub/common.c
982
ASSERT(sc->tp != NULL);
fs/xfs/scrub/common.c
984
return xfs_iget(sc->mp, sc->tp, inum, XCHK_IGET_FLAGS, 0, ipp);
fs/xfs/scrub/common.h
208
ASSERT(sc->tp == NULL);
fs/xfs/scrub/cow_repair.c
427
.tp = sc->tp,
fs/xfs/scrub/cow_repair.c
438
error = xfs_trans_reserve_more(sc->tp, del->br_blockcount, 0);
fs/xfs/scrub/cow_repair.c
448
xfs_refcount_alloc_cow_extent(sc->tp, false, args.fsbno, args.len);
fs/xfs/scrub/cow_repair.c
470
error = xfs_trans_reserve_more(sc->tp, 0, maxrtx);
fs/xfs/scrub/cow_repair.c
474
error = xfs_rtallocate_rtgs(sc->tp, NULLRTBLOCK, 1, maxrtx, 1, false,
fs/xfs/scrub/cow_repair.c
479
xfs_refcount_alloc_cow_extent(sc->tp, true, fsbno, len);
fs/xfs/scrub/cow_repair.c
586
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/cow_repair.c
678
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/dabtree.c
525
ds->dargs.trans = sc->tp;
fs/xfs/scrub/dabtree.c
620
xfs_trans_brelse(sc->tp, blks[level].bp);
fs/xfs/scrub/dir.c
154
error = xfs_parent_lookup(sc->tp, ip, name, &sd->pptr_rec,
fs/xfs/scrub/dir.c
485
error = xfs_dir3_block_read(sc->tp, sc->ip, I_INO(sc->ip), &bp);
fs/xfs/scrub/dir.c
488
error = xfs_dir3_data_read(sc->tp, sc->ip, I_INO(sc->ip), lblk,
fs/xfs/scrub/dir.c
593
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/dir.c
646
error = xfs_dir3_leaf_read(sc->tp, sc->ip, I_INO(sc->ip), lblk, &bp);
fs/xfs/scrub/dir.c
707
error = xfs_dir3_data_read(sc->tp, sc->ip, args->owner,
fs/xfs/scrub/dir.c
727
xfs_trans_brelse(sc->tp, dbp);
fs/xfs/scrub/dir.c
732
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/dir.c
752
error = xfs_dir2_free_read(sc->tp, sc->ip, I_INO(sc->ip), lblk, &bp);
fs/xfs/scrub/dir.c
772
error = xfs_dir3_data_read(sc->tp, sc->ip, args->owner,
fs/xfs/scrub/dir.c
779
xfs_trans_brelse(sc->tp, dbp);
fs/xfs/scrub/dir.c
785
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/dir.c
799
.trans = sc->tp,
fs/xfs/scrub/dir_repair.c
1025
error = xfs_iread_extents(rd->sc->tp, dp, XFS_DATA_FORK);
fs/xfs/scrub/dir_repair.c
1469
.trans = sc->tp,
fs/xfs/scrub/dir_repair.c
1482
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/dir_repair.c
1503
xfs_trans_log_inode(sc->tp, sc->ip,
fs/xfs/scrub/dir_repair.c
1585
error = xfs_iunlink_remove(sc->tp, pag, dp);
fs/xfs/scrub/dir_repair.c
1776
error = xfs_trans_roll(&sc->tp);
fs/xfs/scrub/dir_repair.c
223
error = xfs_dir_lookup(sc->tp, sc->ip, &xfs_name_dotdot, &ino, NULL);
fs/xfs/scrub/dir_repair.c
592
error = xfs_bmap_last_before(rd->sc->tp, dp, &last, XFS_DATA_FORK);
fs/xfs/scrub/dir_repair.c
617
error = xfs_da_read_buf(rd->sc->tp, rd->sc->ip, dabno,
fs/xfs/scrub/dir_repair.c
666
xfs_trans_brelse(rd->sc->tp, bp);
fs/xfs/scrub/dir_repair.c
680
rd->args.trans = rd->sc->tp;
fs/xfs/scrub/dir_repair.c
761
xfs_trans_ijoin(rd->sc->tp, rd->sc->tempip, 0);
fs/xfs/scrub/dirtree.c
289
error = xfs_parent_lookup(sc->tp, sc->ip, &dl->xname, &dl->pptr_rec,
fs/xfs/scrub/dirtree_repair.c
404
&resblks, &sc->tp, &dontcare);
fs/xfs/scrub/dirtree_repair.c
445
error = xfs_droplink(sc->tp, dp);
fs/xfs/scrub/dirtree_repair.c
451
error = xfs_dir_replace(sc->tp, sc->ip, &xfs_name_dotdot,
fs/xfs/scrub/dirtree_repair.c
458
error = xfs_droplink(sc->tp, sc->ip);
fs/xfs/scrub/dirtree_repair.c
462
error = xfs_dir_removename(sc->tp, dp, &dl->xname, I_INO(sc->ip),
fs/xfs/scrub/dirtree_repair.c
470
error = xfs_parent_removename(sc->tp, &dl->ppargs, dp,
fs/xfs/scrub/fscounters.c
392
struct xfs_trans *tp,
fs/xfs/scrub/fscounters.c
428
error = xfs_rtalloc_query_all(rtg, sc->tp,
fs/xfs/scrub/fscounters.c
88
error = xfs_ialloc_read_agi(pag, sc->tp, 0, &agi_bp);
fs/xfs/scrub/fscounters.c
91
error = xfs_alloc_read_agf(pag, sc->tp, 0, &agf_bp);
fs/xfs/scrub/ialloc_repair.c
307
error = xfs_read_icluster(sc->sa.pag, sc->tp, cluster_bno,
fs/xfs/scrub/ialloc_repair.c
328
xfs_trans_brelse(sc->tp, cluster_bp);
fs/xfs/scrub/ialloc_repair.c
507
xfs_ialloc_log_agi(sc->tp, sc->sa.agi_bp,
fs/xfs/scrub/ialloc_repair.c
720
xfs_inobt_commit_staged_btree(ino_cur, sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/ialloc_repair.c
724
xfs_inobt_commit_staged_btree(fino_cur, sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/inode.c
195
error = xfs_imap(pag, sc->tp, sc->sm->sm_ino, &imap,
fs/xfs/scrub/inode.c
776
error = xfs_reflink_inode_has_shared_extents(sc->tp, sc->ip,
fs/xfs/scrub/inode_repair.c
1563
error = xfs_trans_read_buf(mp, sc->tp, mp->m_ddev_targp,
fs/xfs/scrub/inode_repair.c
1591
xfs_trans_buf_set_type(sc->tp, bp, XFS_BLFT_DINO_BUF);
fs/xfs/scrub/inode_repair.c
1592
xfs_trans_log_buf(sc->tp, bp, ri->imap.im_boffset,
fs/xfs/scrub/inode_repair.c
175
struct xfs_trans *tp = sc->tp;
fs/xfs/scrub/inode_repair.c
1859
error = xfs_iread_extents(sc->tp, sc->ip, XFS_DATA_FORK);
fs/xfs/scrub/inode_repair.c
1951
return xfs_bmap_add_attrfork(sc->tp, ip,
fs/xfs/scrub/inode_repair.c
1995
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/inode_repair.c
2019
error = xfs_iunlink_remove(sc->tp, pag, sc->ip);
fs/xfs/scrub/inode_repair.c
2030
error = xfs_iunlink(sc->tp, sc->ip);
fs/xfs/scrub/inode_repair.c
205
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DINO_BUF);
fs/xfs/scrub/inode_repair.c
206
xfs_trans_log_buf(tp, bp, ioffset,
fs/xfs/scrub/inode_repair.c
2070
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/inode_repair.c
2082
error = xfs_reflink_clear_inode_flag(sc->ip, &sc->tp);
fs/xfs/scrub/inode_repair.c
768
error = xfs_alloc_read_agf(pag, ri->sc->tp, 0, &agf);
fs/xfs/scrub/inode_repair.c
772
cur = xfs_rmapbt_init_cursor(ri->sc->mp, ri->sc->tp, agf, pag);
fs/xfs/scrub/inode_repair.c
775
xfs_trans_brelse(ri->sc->tp, agf);
fs/xfs/scrub/iscan.c
116
cur = xfs_inobt_init_cursor(pag, tp, agi_bp);
fs/xfs/scrub/iscan.c
273
return xfs_ialloc_read_agi(pag, sc->tp, 0, agi_bpp);
fs/xfs/scrub/iscan.c
277
ret = xfs_ialloc_read_agi(pag, sc->tp, XFS_IALLOC_FLAG_TRYLOCK,
fs/xfs/scrub/iscan.c
357
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
367
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
446
error = xfs_iget(sc->mp, sc->tp, ino, ISCAN_IGET_FLAGS, 0,
fs/xfs/scrub/iscan.c
452
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
462
if (sc->tp && !(sc->tp->t_flags & XFS_TRANS_NO_WRITECOUNT))
fs/xfs/scrub/iscan.c
470
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
484
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
519
error = xfs_iget(sc->mp, sc->tp, ino, ISCAN_IGET_FLAGS, 0,
fs/xfs/scrub/iscan.c
531
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
592
xfs_trans_brelse(sc->tp, agi_bp);
fs/xfs/scrub/iscan.c
97
struct xfs_trans *tp = sc->tp;
fs/xfs/scrub/listxattr.c
118
error = xfs_attr3_leaf_read(sc->tp, ip, I_INO(ip), 0, &leaf_bp);
fs/xfs/scrub/listxattr.c
123
xfs_trans_brelse(sc->tp, leaf_bp);
fs/xfs/scrub/listxattr.c
137
struct xfs_trans *tp = sc->tp;
fs/xfs/scrub/listxattr.c
154
error = xfs_da3_node_read(tp, ip, blkno, &bp, XFS_ATTR_FORK);
fs/xfs/scrub/listxattr.c
194
xfs_trans_brelse(tp, bp);
fs/xfs/scrub/listxattr.c
214
xfs_trans_brelse(tp, bp);
fs/xfs/scrub/listxattr.c
254
xfs_trans_brelse(sc->tp, leaf_bp);
fs/xfs/scrub/listxattr.c
269
error = xfs_attr3_leaf_read(sc->tp, ip, I_INO(ip), leafhdr.forw,
fs/xfs/scrub/listxattr.c
281
xfs_trans_brelse(sc->tp, leaf_bp);
fs/xfs/scrub/listxattr.c
312
error = xfs_iread_extents(sc->tp, ip, XFS_ATTR_FORK);
fs/xfs/scrub/metapath.c
369
return xfs_dir_add_child(sc->tp, mpath->link_resblks, &mpath->du);
fs/xfs/scrub/metapath.c
388
xfs_trans_log_inode(sc->tp, mpath->dp, XFS_ILOG_CORE);
fs/xfs/scrub/metapath.c
389
return xfs_dir_removename(sc->tp, mpath->dp, &mpath->xname,
fs/xfs/scrub/metapath.c
401
error = xfs_parent_lookup(sc->tp, ip, &mpath->xname, &rec,
fs/xfs/scrub/metapath.c
414
return xfs_dir_remove_child(sc->tp, mpath->unlink_resblks, &mpath->du);
fs/xfs/scrub/metapath.c
444
xfs_trans_ijoin(sc->tp, mpath->dp, 0);
fs/xfs/scrub/metapath.c
445
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/metapath.c
561
xfs_trans_ijoin(sc->tp, mpath->dp, 0);
fs/xfs/scrub/metapath.c
563
xfs_trans_ijoin(sc->tp, ip, 0);
fs/xfs/scrub/newbt.c
206
if (args->tp) {
fs/xfs/scrub/newbt.c
236
.tp = NULL, /* no autoreap */
fs/xfs/scrub/newbt.c
277
.tp = sc->tp,
fs/xfs/scrub/newbt.c
351
.tp = sc->tp,
fs/xfs/scrub/newbt.c
436
xfs_alloc_commit_autoreap(sc->tp, &resv->autoreap);
fs/xfs/scrub/newbt.c
445
xfs_alloc_cancel_autoreap(sc->tp, &resv->autoreap);
fs/xfs/scrub/newbt.c
462
error = xfs_free_extent_later(sc->tp,
fs/xfs/scrub/newbt.c
520
xfs_alloc_commit_autoreap(sc->tp, &resv->autoreap);
fs/xfs/scrub/nlinks.c
807
struct xfs_trans *tp = xnc->sc->tp;
fs/xfs/scrub/nlinks.c
866
xfs_trans_brelse(tp, agi_bp);
fs/xfs/scrub/nlinks_repair.c
138
&sc->tp);
fs/xfs/scrub/nlinks_repair.c
145
xfs_trans_ijoin(sc->tp, ip, 0);
fs/xfs/scrub/nlinks_repair.c
235
error = xfs_iunlink(sc->tp, ip);
fs/xfs/scrub/nlinks_repair.c
255
xfs_trans_log_inode(sc->tp, ip, XFS_ILOG_CORE);
fs/xfs/scrub/nlinks_repair.c
79
error = xfs_iunlink_remove(sc->tp, pag, sc->ip);
fs/xfs/scrub/orphanage.c
104
xfs_trans_set_sync(tp);
fs/xfs/scrub/orphanage.c
105
error = xfs_trans_commit(tp);
fs/xfs/scrub/orphanage.c
138
ASSERT(sc->tp == NULL);
fs/xfs/scrub/orphanage.c
319
ASSERT(sc->tp == NULL);
fs/xfs/scrub/orphanage.c
345
&sc->tp);
fs/xfs/scrub/orphanage.c
354
xfs_trans_ijoin(sc->tp, sc->orphanage, 0);
fs/xfs/scrub/orphanage.c
355
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/orphanage.c
363
error = xfs_trans_reserve_quota_nblks(sc->tp, sc->orphanage,
fs/xfs/scrub/orphanage.c
374
error = xfs_trans_reserve_quota_nblks(sc->tp, sc->ip,
fs/xfs/scrub/orphanage.c
54
struct xfs_trans *tp;
fs/xfs/scrub/orphanage.c
549
error = xfs_bmap_add_attrfork(sc->tp, sc->ip, sf_size, true);
fs/xfs/scrub/orphanage.c
555
error = xfs_dir_createname(sc->tp, sc->orphanage, adopt->xname,
fs/xfs/scrub/orphanage.c
564
xfs_trans_ichgtime(sc->tp, sc->orphanage,
fs/xfs/scrub/orphanage.c
567
xfs_bumplink(sc->tp, sc->orphanage);
fs/xfs/scrub/orphanage.c
568
xfs_trans_log_inode(sc->tp, sc->orphanage, XFS_ILOG_CORE);
fs/xfs/scrub/orphanage.c
572
xfs_bumplink(sc->tp, sc->ip);
fs/xfs/scrub/orphanage.c
573
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/orphanage.c
578
error = xfs_dir_replace(sc->tp, sc->ip, &xfs_name_dotdot,
fs/xfs/scrub/orphanage.c
586
error = xfs_parent_addname(sc->tp, &adopt->ppargs,
fs/xfs/scrub/orphanage.c
622
!!(sc->tp->t_flags & XFS_TRANS_DIRTY));
fs/xfs/scrub/orphanage.c
630
return xfs_trans_roll(&sc->tp);
fs/xfs/scrub/orphanage.c
66
error = xfs_trans_alloc_ichange(dp, udqp, gdqp, pdqp, true, &tp);
fs/xfs/scrub/orphanage.c
84
oldu = xfs_qm_vop_chown(tp, dp, &dp->i_udquot, udqp);
fs/xfs/scrub/orphanage.c
89
oldg = xfs_qm_vop_chown(tp, dp, &dp->i_gdquot, gdqp);
fs/xfs/scrub/orphanage.c
94
oldp = xfs_qm_vop_chown(tp, dp, &dp->i_pdquot, pdqp);
fs/xfs/scrub/orphanage.c
99
xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE);
fs/xfs/scrub/parent.c
555
error = xfs_parent_lookup(sc->tp, sc->ip, xname, pptr, &pp->pptr_args);
fs/xfs/scrub/parent_repair.c
1320
error = xfs_trans_roll(&sc->tp);
fs/xfs/scrub/parent_repair.c
1447
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/parent_repair.c
1460
error = xfs_iunlink_remove(sc->tp, pag, ip);
fs/xfs/scrub/parent_repair.c
1465
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/parent_repair.c
1472
error = xfs_iunlink(sc->tp, ip);
fs/xfs/scrub/parent_repair.c
1480
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/parent_repair.c
1490
xfs_trans_log_inode(sc->tp, ip, XFS_ILOG_CORE);
fs/xfs/scrub/parent_repair.c
685
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/parent_repair.c
695
error = xfs_trans_reserve_more_inode(sc->tp, sc->ip, spaceres, 0,
fs/xfs/scrub/parent_repair.c
700
error = xfs_dir_replace(sc->tp, sc->ip, &xfs_name_dotdot,
fs/xfs/scrub/parent_repair.c
709
return xfs_trans_roll(&sc->tp);
fs/xfs/scrub/parent_repair.c
907
.trans = sc->tp,
fs/xfs/scrub/quota_repair.c
101
return xfs_trans_roll(&sc->tp);
fs/xfs/scrub/quota_repair.c
250
xfs_trans_dqjoin(sc->tp, dq);
fs/xfs/scrub/quota_repair.c
255
xfs_trans_log_dquot(sc->tp, dq);
fs/xfs/scrub/quota_repair.c
256
return xfs_trans_roll(&sc->tp);
fs/xfs/scrub/quota_repair.c
308
error = xfs_trans_read_buf(sc->mp, sc->tp, sc->mp->m_ddev_targp, daddr,
fs/xfs/scrub/quota_repair.c
314
error = xfs_trans_read_buf(sc->mp, sc->tp,
fs/xfs/scrub/quota_repair.c
330
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/quota_repair.c
383
xfs_trans_buf_set_type(sc->tp, bp, buftype);
fs/xfs/scrub/quota_repair.c
384
xfs_trans_log_buf(sc->tp, bp, 0, BBTOB(bp->b_length) - 1);
fs/xfs/scrub/quota_repair.c
433
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/quota_repair.c
437
error = xfs_bmapi_write(sc->tp, sc->ip,
fs/xfs/scrub/quota_repair.c
445
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/quota_repair.c
452
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/quota_repair.c
458
error = xfs_bunmapi_range(&sc->tp, sc->ip, 0,
fs/xfs/scrub/quota_repair.c
465
error = xfs_reflink_cancel_cow_blocks(sc->ip, &sc->tp, 0,
fs/xfs/scrub/quota_repair.c
475
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/quota_repair.c
555
error = xfs_trans_roll(&sc->tp);
fs/xfs/scrub/quota_repair.c
66
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/quota_repair.c
69
error = xfs_trans_reserve_more(sc->tp, XFS_QM_DQALLOC_SPACE_RES(mp),
fs/xfs/scrub/quota_repair.c
74
error = xfs_bmapi_write(sc->tp, sc->ip, dq->q_fileoffset,
fs/xfs/scrub/quota_repair.c
85
error = xfs_trans_get_buf(sc->tp, mp->m_ddev_targp, dq->q_blkno,
fs/xfs/scrub/quota_repair.c
91
xfs_qm_init_dquot_blk(sc->tp, dq->q_id, dq->q_type, bp);
fs/xfs/scrub/quotacheck.c
394
struct xfs_trans *tp = xqc->sc->tp;
fs/xfs/scrub/quotacheck.c
402
xfs_is_quota_inode(&tp->t_mountp->m_sb, I_INO(ip))) {
fs/xfs/scrub/quotacheck.c
424
error = xfs_iread_extents(tp, ip, XFS_DATA_FORK);
fs/xfs/scrub/quotacheck.c
431
xfs_inode_count_blocks(tp, ip, &nblks, &rtblks);
fs/xfs/scrub/quotacheck_repair.c
115
xfs_trans_log_dquot(xqc->sc->tp, dq);
fs/xfs/scrub/quotacheck_repair.c
60
xfs_trans_dqjoin(xqc->sc->tp, dq);
fs/xfs/scrub/rcbag.c
116
error = xfbtree_trans_commit(&bag->xfbtree, tp);
fs/xfs/scrub/rcbag.c
125
xfbtree_trans_cancel(&bag->xfbtree, tp);
fs/xfs/scrub/rcbag.c
149
struct xfs_trans *tp,
fs/xfs/scrub/rcbag.c
164
cur = rcbagbt_mem_cursor(mp, tp, &bag->xfbtree);
fs/xfs/scrub/rcbag.c
212
struct xfs_trans *tp,
fs/xfs/scrub/rcbag.c
222
cur = rcbagbt_mem_cursor(mp, tp, &bag->xfbtree);
fs/xfs/scrub/rcbag.c
258
return xfbtree_trans_commit(&bag->xfbtree, tp);
fs/xfs/scrub/rcbag.c
261
xfbtree_trans_cancel(&bag->xfbtree, tp);
fs/xfs/scrub/rcbag.c
269
struct xfs_trans *tp)
fs/xfs/scrub/rcbag.c
278
cur = rcbagbt_mem_cursor(mp, tp, &bag->xfbtree);
fs/xfs/scrub/rcbag.c
73
struct xfs_trans *tp,
fs/xfs/scrub/rcbag.c
82
cur = rcbagbt_mem_cursor(mp, tp, &bag->xfbtree);
fs/xfs/scrub/rcbag.h
16
int rcbag_add(struct rcbag *bag, struct xfs_trans *tp,
fs/xfs/scrub/rcbag.h
20
int rcbag_next_edge(struct rcbag *bag, struct xfs_trans *tp,
fs/xfs/scrub/rcbag.h
23
int rcbag_remove_ending_at(struct rcbag *bag, struct xfs_trans *tp,
fs/xfs/scrub/rcbag.h
26
void rcbag_dump(struct rcbag *bag, struct xfs_trans *tp);
fs/xfs/scrub/rcbag_btree.c
197
struct xfs_trans *tp,
fs/xfs/scrub/rcbag_btree.c
202
cur = xfs_btree_alloc_cursor(mp, tp, &rcbagbt_mem_ops,
fs/xfs/scrub/rcbag_btree.h
65
struct xfs_trans *tp, struct xfbtree *xfbtree);
fs/xfs/scrub/readdir.c
103
error = xfs_dir3_block_read(sc->tp, dp, I_INO(dp), &bp);
fs/xfs/scrub/readdir.c
138
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/readdir.c
145
struct xfs_trans *tp,
fs/xfs/scrub/readdir.c
179
return xfs_dir3_data_read(tp, dp, I_INO(dp), map.br_startoff, 0, bpp);
fs/xfs/scrub/readdir.c
212
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/readdir.c
216
error = xchk_read_leaf_dir_buf(sc->tp, dp, geo, &curoff,
fs/xfs/scrub/readdir.c
257
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/readdir.c
276
.trans = sc->tp,
fs/xfs/scrub/readdir.c
316
.trans = sc->tp,
fs/xfs/scrub/reap.c
1004
xfs_refcount_free_cow_extent(sc->tp, true, rtbno, *rglenp);
fs/xfs/scrub/reap.c
1005
error = xfs_free_extent_later(sc->tp, rtbno, *rglenp, NULL,
fs/xfs/scrub/reap.c
1075
trace_xreap_rgcow_limits(sc->tp, 0, 0, step_size, per_intent,
fs/xfs/scrub/reap.c
1127
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/reap.c
1132
error = xfs_trans_roll_inode(&sc->tp, sc->ip);
fs/xfs/scrub/reap.c
1249
cur = xfs_rmapbt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/reap.c
1389
xfs_trans_bjoin(sc->tp, bp);
fs/xfs/scrub/reap.c
1390
xfs_trans_binval(sc->tp, bp);
fs/xfs/scrub/reap.c
1448
xfs_bmap_unmap_extent(sc->tp, rs->ip, rs->whichfork, imap);
fs/xfs/scrub/reap.c
1449
xfs_trans_mod_dquot_byino(sc->tp, rs->ip, XFS_TRANS_DQ_BCOUNT,
fs/xfs/scrub/reap.c
1451
xfs_rmap_unmap_extent(sc->tp, rs->ip, rs->whichfork, imap);
fs/xfs/scrub/reap.c
148
error = xfs_rmap_alloc(sc->tp, sc->sa.agf_bp, sc->sa.pag, agbno, 1,
fs/xfs/scrub/reap.c
1481
xfs_bmap_unmap_extent(sc->tp, rs->ip, rs->whichfork, imap);
fs/xfs/scrub/reap.c
1482
xfs_trans_mod_dquot_byino(sc->tp, rs->ip, XFS_TRANS_DQ_BCOUNT,
fs/xfs/scrub/reap.c
1484
return xfs_free_extent_later(sc->tp, imap->br_startblock,
fs/xfs/scrub/reap.c
154
error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &agfl_bp);
fs/xfs/scrub/reap.c
158
error = xfs_alloc_put_freelist(sc->sa.pag, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/reap.c
1584
trace_xreap_bmapi_limits(sc->tp, per_binval, rs->max_binval,
fs/xfs/scrub/reap.c
1611
error = xfs_alloc_read_agf(sc->sa.pag, sc->tp, 0, &sc->sa.agf_bp);
fs/xfs/scrub/reap.c
162
xfs_extent_busy_insert(sc->tp, pag_group(sc->sa.pag), agbno, 1,
fs/xfs/scrub/reap.c
1628
xfs_trans_brelse(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/reap.c
1684
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/reap.c
320
xfs_trans_bjoin(sc->tp, bp);
fs/xfs/scrub/reap.c
321
xfs_trans_binval(sc->tp, bp);
fs/xfs/scrub/reap.c
365
cur = xfs_rmapbt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/reap.c
446
xfs_refcount_free_cow_extent(sc->tp, false, fsbno,
fs/xfs/scrub/reap.c
453
xfs_rmap_free_extent(sc->tp, false, fsbno, *aglenp,
fs/xfs/scrub/reap.c
483
xfs_refcount_free_cow_extent(sc->tp, false, fsbno, *aglenp);
fs/xfs/scrub/reap.c
484
error = xfs_free_extent_later(sc->tp, fsbno, *aglenp, NULL,
fs/xfs/scrub/reap.c
510
error = xfs_free_extent_later(sc->tp, fsbno, *aglenp, rs->oinfo,
fs/xfs/scrub/reap.c
517
xfs_defer_add_barrier(sc->tp);
fs/xfs/scrub/reap.c
531
unsigned int res = sc->tp->t_log_res - fixed_overhead;
fs/xfs/scrub/reap.c
534
if (sc->tp->t_log_res < (fixed_overhead + variable_overhead)) {
fs/xfs/scrub/reap.c
535
ASSERT(sc->tp->t_log_res >=
fs/xfs/scrub/reap.c
621
trace_xreap_agextent_limits(sc->tp, per_binval, rs->max_binval,
fs/xfs/scrub/reap.c
699
trace_xreap_agcow_limits(sc->tp, per_binval, rs->max_binval, step_size,
fs/xfs/scrub/reap.c
811
error = xfs_alloc_read_agf(sc->sa.pag, sc->tp, 0, &sc->sa.agf_bp);
fs/xfs/scrub/reap.c
843
xfs_trans_bhold(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/reap.c
844
error = xfs_trans_roll_inode(&sc->tp, sc->ip);
fs/xfs/scrub/reap.c
845
xfs_trans_bjoin(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/reap.c
855
xfs_trans_brelse(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/reap.c
921
cur = xfs_rtrmapbt_init_cursor(sc->tp, sc->sr.rtg);
fs/xfs/scrub/reap.c
990
xfs_refcount_free_cow_extent(sc->tp, true, rtbno, *rglenp);
fs/xfs/scrub/refcount_repair.c
380
error = rcbag_add(rcstack, rr->sc->tp, rmap);
fs/xfs/scrub/refcount_repair.c
447
error = rcbag_next_edge(rcstack, sc->tp, &rmap, have, &nbno);
fs/xfs/scrub/refcount_repair.c
457
error = rcbag_remove_ending_at(rcstack, sc->tp, nbno);
fs/xfs/scrub/refcount_repair.c
493
error = rcbag_next_edge(rcstack, sc->tp, &rmap, have,
fs/xfs/scrub/refcount_repair.c
642
xfs_refcountbt_commit_staged_btree(refc_cur, sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/repair.c
1013
sr->rmap_cur = xfs_rtrmapbt_init_cursor(sc->tp, sr->rtg);
fs/xfs/scrub/repair.c
1018
sr->refc_cur = xfs_rtrefcountbt_init_cursor(sc->tp, sr->rtg);
fs/xfs/scrub/repair.c
1065
error = xfs_rtalloc_extent_is_free(sc->sr.rtg, sc->tp, startrtx,
fs/xfs/scrub/repair.c
1088
ASSERT(sc->tp);
fs/xfs/scrub/repair.c
1092
error = xfs_ag_resv_init(sc->sa.pag, sc->tp);
fs/xfs/scrub/repair.c
1161
error = xfs_defer_finish(&sub->sc.tp);
fs/xfs/scrub/repair.c
1164
error = xfs_trans_roll(&sub->sc.tp);
fs/xfs/scrub/repair.c
1224
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/repair.c
1225
error = xfs_reflink_clear_inode_flag(sc->ip, &sc->tp);
fs/xfs/scrub/repair.c
1237
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/repair.c
1249
error = xfs_trans_roll(&sc->tp);
fs/xfs/scrub/repair.c
1269
ASSERT(sc->tp == NULL);
fs/xfs/scrub/repair.c
1352
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/repair.c
1354
xfs_trans_mod_dquot_byino(sc->tp, sc->ip, XFS_TRANS_DQ_BCOUNT,
fs/xfs/scrub/repair.c
171
xfs_ialloc_log_agi(sc->tp, sc->sa.agi_bp, XFS_AGI_MAGICNUM);
fs/xfs/scrub/repair.c
172
xfs_trans_bhold(sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/repair.c
176
xfs_alloc_log_agf(sc->tp, sc->sa.agf_bp, XFS_AGF_MAGICNUM);
fs/xfs/scrub/repair.c
177
xfs_trans_bhold(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/repair.c
186
error = xfs_trans_roll(&sc->tp);
fs/xfs/scrub/repair.c
192
xfs_trans_bjoin(sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/repair.c
194
xfs_trans_bjoin(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/repair.c
206
return xfs_trans_roll_inode(&sc->tp, sc->ip);
fs/xfs/scrub/repair.c
226
xfs_ialloc_log_agi(sc->tp, sc->sa.agi_bp, XFS_AGI_MAGICNUM);
fs/xfs/scrub/repair.c
227
xfs_trans_bhold(sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/repair.c
231
xfs_alloc_log_agf(sc->tp, sc->sa.agf_bp, XFS_AGF_MAGICNUM);
fs/xfs/scrub/repair.c
232
xfs_trans_bhold(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/repair.c
242
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/repair.c
252
xfs_trans_bhold_release(sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/repair.c
254
xfs_trans_bhold_release(sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/repair.c
459
args.tp = sc->tp;
fs/xfs/scrub/repair.c
564
error = xfs_trans_read_buf(mp, ri->sc->tp, mp->m_ddev_targp, daddr,
fs/xfs/scrub/repair.c
661
xfs_trans_brelse(ri->sc->tp, bp);
fs/xfs/scrub/repair.c
732
cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
fs/xfs/scrub/repair.c
769
bp = xfs_trans_getsb(sc->tp);
fs/xfs/scrub/repair.c
771
xfs_trans_buf_set_type(sc->tp, bp, XFS_BLFT_SB_BUF);
fs/xfs/scrub/repair.c
772
xfs_trans_log_buf(sc->tp, bp, 0, sizeof(struct xfs_dsb) - 1);
fs/xfs/scrub/repair.c
809
ASSERT(sc->tp != NULL);
fs/xfs/scrub/repair.c
866
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/repair.c
884
sa->bno_cur = xfs_bnobt_init_cursor(mp, sc->tp, sa->agf_bp,
fs/xfs/scrub/repair.c
886
sa->cnt_cur = xfs_cntbt_init_cursor(mp, sc->tp, sa->agf_bp,
fs/xfs/scrub/repair.c
893
sa->ino_cur = xfs_inobt_init_cursor(sc->sa.pag, sc->tp,
fs/xfs/scrub/repair.c
897
sc->tp, sa->agi_bp);
fs/xfs/scrub/repair.c
903
sa->rmap_cur = xfs_rmapbt_init_cursor(mp, sc->tp, sa->agf_bp,
fs/xfs/scrub/repair.c
909
sa->refc_cur = xfs_refcountbt_init_cursor(mp, sc->tp,
fs/xfs/scrub/repair.c
930
error = xfs_alloc_read_agf(pag, sc->tp, 0, &bp);
fs/xfs/scrub/repair.c
959
error = xfs_ialloc_read_agi(pag, sc->tp, 0, &bp);
fs/xfs/scrub/repair.c
985
error = xfs_ialloc_read_agi(pag, sc->tp, 0, &sa->agi_bp);
fs/xfs/scrub/repair.c
989
error = xfs_alloc_read_agf(pag, sc->tp, 0, &sa->agf_bp);
fs/xfs/scrub/repair.h
37
int error = xfs_trans_commit(sc->tp);
fs/xfs/scrub/repair.h
39
sc->tp = NULL;
fs/xfs/scrub/rgsuper.c
95
sb_bp = xfs_trans_getsb(sc->tp);
fs/xfs/scrub/rgsuper.c
96
xfs_log_sb(sc->tp);
fs/xfs/scrub/rgsuper.c
97
xfs_log_rtsb(sc->tp, sb_bp);
fs/xfs/scrub/rmap.c
424
cur = xfs_bnobt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/rmap.c
434
cur = xfs_cntbt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/rmap.c
446
error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &agfl_bp);
fs/xfs/scrub/rmap.c
452
xfs_trans_brelse(sc->tp, agfl_bp);
fs/xfs/scrub/rmap.c
459
cur = xfs_inobt_init_cursor(sc->sa.pag, sc->tp, sc->sa.agi_bp);
fs/xfs/scrub/rmap.c
469
cur = xfs_finobt_init_cursor(sc->sa.pag, sc->tp,
fs/xfs/scrub/rmap.c
482
cur = xfs_refcountbt_init_cursor(sc->mp, sc->tp,
fs/xfs/scrub/rmap_repair.c
1079
sc->sa.bno_cur = xfs_bnobt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/rmap_repair.c
1088
sc->sa.cnt_cur = xfs_cntbt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/rmap_repair.c
1107
error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &agfl_bp);
fs/xfs/scrub/rmap_repair.c
1196
xfs_alloc_log_agf(sc->tp, sc->sa.agf_bp, XFS_AGF_BTREEBLKS);
fs/xfs/scrub/rmap_repair.c
1409
xfs_rmapbt_commit_staged_btree(rmap_cur, sc->tp, sc->sa.agf_bp);
fs/xfs/scrub/rmap_repair.c
1533
sc->sa.bno_cur = xfs_bnobt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/rmap_repair.c
1609
struct xfs_trans *tp;
fs/xfs/scrub/rmap_repair.c
1620
tp = xfs_trans_alloc_empty(mp);
fs/xfs/scrub/rmap_repair.c
1623
mcur = xfs_rmapbt_mem_cursor(rr->sc->sa.pag, tp, &rr->rmap_btree);
fs/xfs/scrub/rmap_repair.c
1630
error = xfbtree_trans_commit(&rr->rmap_btree, tp);
fs/xfs/scrub/rmap_repair.c
1634
xfs_trans_cancel(tp);
fs/xfs/scrub/rmap_repair.c
1639
xfbtree_trans_cancel(&rr->rmap_btree, tp);
fs/xfs/scrub/rmap_repair.c
1640
xfs_trans_cancel(tp);
fs/xfs/scrub/rmap_repair.c
237
mcur = xfs_rmapbt_mem_cursor(sc->sa.pag, sc->tp, &rr->rmap_btree);
fs/xfs/scrub/rmap_repair.c
243
error = xfbtree_trans_commit(&rr->rmap_btree, sc->tp);
fs/xfs/scrub/rmap_repair.c
251
xfbtree_trans_cancel(&rr->rmap_btree, sc->tp);
fs/xfs/scrub/rmap_repair.c
453
cur = xfs_bmbt_init_cursor(rr->sc->mp, rr->sc->tp, ip, rf->whichfork);
fs/xfs/scrub/rmap_repair.c
547
cur = xfs_rtrmapbt_init_cursor(sc->tp, rtg);
fs/xfs/scrub/rmap_repair.c
550
cur = xfs_rtrefcountbt_init_cursor(sc->tp, rtg);
fs/xfs/scrub/rmap_repair.c
994
sc->sa.bno_cur = xfs_bnobt_init_cursor(sc->mp, sc->tp, sc->sa.agf_bp,
fs/xfs/scrub/rtbitmap.c
122
struct xfs_trans *tp,
fs/xfs/scrub/rtbitmap.c
252
error = xfs_rtalloc_query_all(rtg, sc->tp, xchk_rtbitmap_rec, rtb);
fs/xfs/scrub/rtbitmap.c
293
error = xfs_rtalloc_extent_is_free(rtg, sc->tp, startext,
fs/xfs/scrub/rtbitmap_repair.c
371
rtb->args.tp = sc->tp;
fs/xfs/scrub/rtbitmap_repair.c
395
xfs_trans_buf_set_type(sc->tp, bp, XFS_BLFT_RTBITMAP_BUF);
fs/xfs/scrub/rtbitmap_repair.c
456
error = xfs_bmapi_write(sc->tp, sc->ip, map.br_startoff,
fs/xfs/scrub/rtbitmap_repair.c
481
struct xfs_trans *tp = sc->tp;
fs/xfs/scrub/rtbitmap_repair.c
485
xfs_trans_mod_sb(sc->tp, XFS_TRANS_SB_REXTENTS,
fs/xfs/scrub/rtbitmap_repair.c
489
xfs_trans_mod_sb(tp, XFS_TRANS_SB_RBMBLOCKS,
fs/xfs/scrub/rtbitmap_repair.c
493
xfs_trans_mod_sb(tp, XFS_TRANS_SB_REXTSLOG,
fs/xfs/scrub/rtbitmap_repair.c
503
xfs_trans_log_inode(sc->tp, sc->ip, XFS_ILOG_CORE);
fs/xfs/scrub/rtbitmap_repair.c
539
error = xfs_trans_reserve_more(sc->tp, blocks, 0);
fs/xfs/scrub/rtbitmap_repair.c
551
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/rtbitmap_repair.c
571
error = xfs_extent_busy_flush(sc->tp, xg, busy_gen, 0);
fs/xfs/scrub/rtbitmap_repair.c
599
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/rtrefcount_repair.c
394
error = rcbag_add(rcstack, rr->sc->tp, rmap);
fs/xfs/scrub/rtrefcount_repair.c
489
error = rcbag_next_edge(rcstack, sc->tp, &rmap, have, &nbno);
fs/xfs/scrub/rtrefcount_repair.c
499
error = rcbag_remove_ending_at(rcstack, sc->tp, nbno);
fs/xfs/scrub/rtrefcount_repair.c
535
error = rcbag_next_edge(rcstack, sc->tp, &rmap, have,
fs/xfs/scrub/rtrefcount_repair.c
655
error = xfs_trans_reserve_more_inode(sc->tp, rtg_refcount(rtg),
fs/xfs/scrub/rtrefcount_repair.c
678
xfs_rtrefcountbt_commit_staged_btree(refc_cur, sc->tp);
fs/xfs/scrub/rtrefcount_repair.c
730
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/rtrmap_repair.c
168
mcur = xfs_rtrmapbt_mem_cursor(sc->sr.rtg, sc->tp, &rr->rtrmap_btree);
fs/xfs/scrub/rtrmap_repair.c
174
error = xfbtree_trans_commit(&rr->rtrmap_btree, sc->tp);
fs/xfs/scrub/rtrmap_repair.c
182
xfbtree_trans_cancel(&rr->rtrmap_btree, sc->tp);
fs/xfs/scrub/rtrmap_repair.c
285
cur = xfs_bmbt_init_cursor(rr->sc->mp, rr->sc->tp, ip, XFS_DATA_FORK);
fs/xfs/scrub/rtrmap_repair.c
748
error = xfs_trans_reserve_more_inode(sc->tp, rtg_rmap(rtg),
fs/xfs/scrub/rtrmap_repair.c
779
xfs_rtrmapbt_commit_staged_btree(rmap_cur, sc->tp);
fs/xfs/scrub/rtrmap_repair.c
843
struct xfs_trans *tp;
fs/xfs/scrub/rtrmap_repair.c
854
tp = xfs_trans_alloc_empty(mp);
fs/xfs/scrub/rtrmap_repair.c
857
mcur = xfs_rtrmapbt_mem_cursor(rr->sc->sr.rtg, tp, &rr->rtrmap_btree);
fs/xfs/scrub/rtrmap_repair.c
864
error = xfbtree_trans_commit(&rr->rtrmap_btree, tp);
fs/xfs/scrub/rtrmap_repair.c
868
xfs_trans_cancel(tp);
fs/xfs/scrub/rtrmap_repair.c
873
xfbtree_trans_cancel(&rr->rtrmap_btree, tp);
fs/xfs/scrub/rtrmap_repair.c
874
xfs_trans_cancel(tp);
fs/xfs/scrub/rtrmap_repair.c
960
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/rtsummary.c
165
struct xfs_trans *tp,
fs/xfs/scrub/rtsummary.c
221
return xfs_rtalloc_query_all(rtg, sc->tp, xchk_rtsum_record_free, sc);
fs/xfs/scrub/rtsummary.c
241
rts->args.tp = sc->tp;
fs/xfs/scrub/rtsummary_repair.c
104
xfs_trans_buf_set_type(sc->tp, bp, XFS_BLFT_RTSUMMARY_BUF);
fs/xfs/scrub/rtsummary_repair.c
145
xfs_trans_ijoin(sc->tp, sc->ip, 0);
fs/xfs/scrub/rtsummary_repair.c
146
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/rtsummary_repair.c
80
rts->args.tp = sc->tp;
fs/xfs/scrub/scrub.c
207
sc->tp = sub->sc.tp;
fs/xfs/scrub/scrub.c
235
if (sc->tp) {
fs/xfs/scrub/scrub.c
237
error = xfs_trans_commit(sc->tp);
fs/xfs/scrub/scrub.c
239
xfs_trans_cancel(sc->tp);
fs/xfs/scrub/scrub.c
240
sc->tp = NULL;
fs/xfs/scrub/scrub.c
875
struct xfs_trans *tp;
fs/xfs/scrub/scrub.c
879
tp = xfs_trans_alloc_empty(mp);
fs/xfs/scrub/scrub.c
880
error = xfs_iget(mp, tp, head->svh_ino, XCHK_IGET_FLAGS, 0, &ip);
fs/xfs/scrub/scrub.c
881
xfs_trans_cancel(tp);
fs/xfs/scrub/scrub.h
140
struct xfs_trans *tp;
fs/xfs/scrub/symlink_repair.c
126
error = xfs_trans_read_buf(sc->mp, sc->tp, sc->mp->m_ddev_targp,
fs/xfs/scrub/symlink_repair.c
248
struct xfs_trans *tp,
fs/xfs/scrub/symlink_repair.c
257
xfs_symlink_local_to_remote(tp, bp, ip, ifp, NULL);
fs/xfs/scrub/symlink_repair.c
263
xfs_trans_log_buf(tp, bp, 0,
fs/xfs/scrub/symlink_repair.c
287
error = xfs_bmap_local_to_extents(sc->tp, sc->tempip, 1,
fs/xfs/scrub/symlink_repair.c
294
xfs_trans_log_inode(sc->tp, sc->ip, 0);
fs/xfs/scrub/symlink_repair.c
296
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/symlink_repair.c
317
xfs_trans_log_inode(sc->tp, sc->ip,
fs/xfs/scrub/symlink_repair.c
378
return xfs_symlink_write_target(sc->tp, sc->tempip, I_INO(sc->tempip),
fs/xfs/scrub/symlink_repair.c
417
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/symlink_repair.c
426
error = xfs_trans_reserve_quota_nblks(sc->tp, sc->tempip, resblks, 0,
fs/xfs/scrub/symlink_repair.c
437
error = xfs_symlink_write_target(sc->tp, sc->tempip, I_INO(sc->ip),
fs/xfs/scrub/tempfile.c
101
xfs_trans_log_inode(tp, sc->tempip, XFS_ILOG_CORE);
fs/xfs/scrub/tempfile.c
112
error = xfs_dir_init(tp, sc->tempip, dp);
fs/xfs/scrub/tempfile.c
123
error = xfs_symlink_write_target(tp, sc->tempip,
fs/xfs/scrub/tempfile.c
134
xfs_qm_vop_create_dqattach(tp, sc->tempip, udqp, gdqp, pdqp);
fs/xfs/scrub/tempfile.c
143
error = xfs_iunlink(tp, sc->tempip);
fs/xfs/scrub/tempfile.c
147
error = xfs_trans_commit(tp);
fs/xfs/scrub/tempfile.c
166
xfs_trans_cancel(tp);
fs/xfs/scrub/tempfile.c
209
ASSERT(sc->tp == NULL);
fs/xfs/scrub/tempfile.c
226
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/tempfile.c
229
xfs_trans_mod_dquot_byino(sc->tp, sc->tempip, XFS_TRANS_DQ_ICOUNT, -1L);
fs/xfs/scrub/tempfile.c
230
xfs_metafile_set_iflag(sc->tp, sc->tempip, XFS_METAFILE_UNKNOWN);
fs/xfs/scrub/tempfile.c
258
ASSERT(sc->tp == NULL);
fs/xfs/scrub/tempfile.c
270
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/tempfile.c
272
xfs_metafile_clear_iflag(sc->tp, sc->tempip);
fs/xfs/scrub/tempfile.c
279
xfs_trans_mod_dquot_byino(sc->tp, sc->tempip, XFS_TRANS_DQ_ICOUNT, 1L);
fs/xfs/scrub/tempfile.c
280
xfs_trans_mod_dquot_byino(sc->tp, sc->tempip, XFS_TRANS_DQ_BCOUNT,
fs/xfs/scrub/tempfile.c
456
error = xfs_bmapi_write(sc->tp, sc->tempip, off, end - off,
fs/xfs/scrub/tempfile.c
467
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/tempfile.c
50
struct xfs_trans *tp = NULL;
fs/xfs/scrub/tempfile.c
514
error = xfs_trans_get_buf(sc->tp, mp->m_ddev_targp,
fs/xfs/scrub/tempfile.c
525
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/tempfile.c
531
xfs_trans_brelse(sc->tp, bp);
fs/xfs/scrub/tempfile.c
591
xfs_trans_log_inode(sc->tp, sc->tempip, XFS_ILOG_CORE);
fs/xfs/scrub/tempfile.c
596
xfs_trans_ijoin(sc->tp, sc->tempip, 0);
fs/xfs/scrub/tempfile.c
66
ASSERT(sc->tp == NULL);
fs/xfs/scrub/tempfile.c
745
struct xfs_trans *tp = sc->tp;
fs/xfs/scrub/tempfile.c
754
if (!XFS_IS_QUOTA_ON(tp->t_mountp) || req->ip1 == req->ip2 ||
fs/xfs/scrub/tempfile.c
772
error = xfs_trans_reserve_quota_nblks(tp, req->ip1,
fs/xfs/scrub/tempfile.c
780
return xfs_trans_reserve_quota_nblks(tp, req->ip2,
fs/xfs/scrub/tempfile.c
808
ASSERT(sc->tp != NULL);
fs/xfs/scrub/tempfile.c
820
error = xfs_trans_reserve_more(sc->tp, tx->req.resblks, 0);
fs/xfs/scrub/tempfile.c
847
ASSERT(sc->tp == NULL);
fs/xfs/scrub/tempfile.c
863
tx->req.resblks, 0, flags, &sc->tp);
fs/xfs/scrub/tempfile.c
869
xfs_exchrange_ilock(sc->tp, sc->ip, sc->tempip);
fs/xfs/scrub/tempfile.c
87
&tp);
fs/xfs/scrub/tempfile.c
888
xfs_exchange_mappings(sc->tp, &tx->req);
fs/xfs/scrub/tempfile.c
889
error = xfs_defer_finish(&sc->tp);
fs/xfs/scrub/tempfile.c
92
error = xfs_dialloc(&tp, &args, &ino);
fs/xfs/scrub/tempfile.c
95
error = xfs_icreate(tp, ino, &args, &sc->tempip);
fs/xfs/scrub/tempfile.c
955
xfs_trans_log_inode(sc->tp, sc->ip, ilog_flags);
fs/xfs/scrub/trace.h
1996
TP_PROTO(const struct xfs_trans *tp, unsigned int per_binval,
fs/xfs/scrub/trace.h
2000
TP_ARGS(tp, per_binval, max_binval, step_size, per_intent, max_deferred),
fs/xfs/scrub/trace.h
2011
__entry->dev = tp->t_mountp->m_super->s_dev;
fs/xfs/scrub/trace.h
2012
__entry->log_res = tp->t_log_res;
fs/xfs/scrub/trace.h
2030
TP_PROTO(const struct xfs_trans *tp, unsigned int per_binval, \
fs/xfs/scrub/trace.h
2034
TP_ARGS(tp, per_binval, max_binval, step_size, per_intent, max_deferred))
fs/xfs/xfs_acl.c
227
struct xfs_trans *tp;
fs/xfs/xfs_acl.c
230
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ichange, 0, 0, 0, &tp);
fs/xfs/xfs_acl.c
235
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_acl.c
238
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_acl.c
241
xfs_trans_set_sync(tp);
fs/xfs/xfs_acl.c
242
return xfs_trans_commit(tp);
fs/xfs/xfs_aops.c
58
struct xfs_trans *tp;
fs/xfs/xfs_aops.c
62
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_fsyncts, 0, 0, 0, &tp);
fs/xfs/xfs_aops.c
70
xfs_trans_cancel(tp);
fs/xfs/xfs_aops.c
77
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_aops.c
78
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_aops.c
80
return xfs_trans_commit(tp);
fs/xfs/xfs_attr_item.c
367
struct xfs_trans *tp,
fs/xfs/xfs_attr_item.c
410
struct xfs_trans *tp,
fs/xfs/xfs_attr_item.c
415
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_attr_item.c
451
xfs_attr_log_item(tp, attrip, attr);
fs/xfs/xfs_attr_item.c
477
struct xfs_trans *tp,
fs/xfs/xfs_attr_item.c
489
args->trans = tp;
fs/xfs/xfs_attr_item.c
614
struct xfs_trans *tp;
fs/xfs/xfs_attr_item.c
617
tp = xfs_trans_alloc_empty(ip->i_mount);
fs/xfs/xfs_attr_item.c
619
error = xfs_iread_extents(tp, ip, XFS_ATTR_FORK);
fs/xfs/xfs_attr_item.c
621
xfs_trans_cancel(tp);
fs/xfs/xfs_attr_item.c
738
struct xfs_trans *tp;
fs/xfs/xfs_attr_item.c
775
error = xfs_trans_alloc(mp, &resv, total, 0, XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_attr_item.c
778
args->trans = tp;
fs/xfs/xfs_attr_item.c
781
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_attr_item.c
783
error = xlog_recover_finish_intent(tp, dfp);
fs/xfs/xfs_attr_item.c
791
error = xfs_defer_ops_capture_and_commit(tp, capture_list);
fs/xfs/xfs_attr_item.c
797
xfs_trans_cancel(tp);
fs/xfs/xfs_attr_item.c
804
struct xfs_trans *tp,
fs/xfs/xfs_attr_item.c
820
new_attrip = xfs_attri_init(tp->t_mountp, old_attrip->attri_nameval);
fs/xfs/xfs_attr_item.c
846
struct xfs_trans *tp,
fs/xfs/xfs_attr_item.c
857
xfs_log_item_init(tp->t_mountp, &attrdp->attrd_item, XFS_LI_ATTRD,
fs/xfs/xfs_attr_list.c
224
struct xfs_trans *tp = context->tp;
fs/xfs/xfs_attr_list.c
235
error = xfs_da3_node_read(tp, dp, cursor->blkno, &bp,
fs/xfs/xfs_attr_list.c
278
xfs_trans_brelse(tp, bp);
fs/xfs/xfs_attr_list.c
305
xfs_trans_brelse(tp, bp);
fs/xfs/xfs_attr_list.c
337
error = xfs_da3_node_read(context->tp, dp, cursor->blkno, &bp,
fs/xfs/xfs_attr_list.c
356
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
365
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
376
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
381
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
387
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
419
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
420
error = xfs_attr3_leaf_read(context->tp, dp, I_INO(dp),
fs/xfs/xfs_attr_list.c
425
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_attr_list.c
545
error = xfs_attr3_leaf_read(context->tp, context->dp,
fs/xfs/xfs_attr_list.c
551
xfs_trans_brelse(context->tp, bp);
fs/xfs/xfs_bmap_item.c
254
struct xfs_trans *tp,
fs/xfs/xfs_bmap_item.c
292
struct xfs_trans *tp,
fs/xfs/xfs_bmap_item.c
297
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_bmap_item.c
306
xfs_bmap_update_log_item(tp, buip, bi);
fs/xfs/xfs_bmap_item.c
313
struct xfs_trans *tp,
fs/xfs/xfs_bmap_item.c
321
xfs_log_item_init(tp->t_mountp, &budp->bud_item, XFS_LI_BUD,
fs/xfs/xfs_bmap_item.c
354
struct xfs_trans *tp,
fs/xfs/xfs_bmap_item.c
357
xfs_bmap_update_get_group(tp->t_mountp, bi);
fs/xfs/xfs_bmap_item.c
371
xfs_defer_add(tp, &bi->bi_list, &xfs_bmap_update_defer_type);
fs/xfs/xfs_bmap_item.c
391
struct xfs_trans *tp,
fs/xfs/xfs_bmap_item.c
399
error = xfs_bmap_finish_one(tp, bi);
fs/xfs/xfs_bmap_item.c
500
struct xfs_trans *tp;
fs/xfs/xfs_bmap_item.c
522
XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK), 0, 0, &tp);
fs/xfs/xfs_bmap_item.c
527
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_bmap_item.c
540
error = xfs_iext_count_extend(tp, ip, work->bi_whichfork, iext_delta);
fs/xfs/xfs_bmap_item.c
544
error = xlog_recover_finish_intent(tp, dfp);
fs/xfs/xfs_bmap_item.c
555
error = xfs_defer_ops_capture_and_commit(tp, capture_list);
fs/xfs/xfs_bmap_item.c
564
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_item.c
575
struct xfs_trans *tp,
fs/xfs/xfs_bmap_item.c
586
buip = xfs_bui_init(tp->t_mountp);
fs/xfs/xfs_bmap_item.h
73
void xfs_bmap_defer_add(struct xfs_trans *tp, struct xfs_bmap_intent *bi);
fs/xfs/xfs_bmap_util.c
1010
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, 0, 0, 0, &tp);
fs/xfs/xfs_bmap_util.c
1015
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_bmap_util.c
1018
error = xfs_bmap_collapse_extents(tp, ip, &next_fsb, shift_fsb,
fs/xfs/xfs_bmap_util.c
1026
error = xfs_defer_finish(&tp);
fs/xfs/xfs_bmap_util.c
1031
error = xfs_trans_commit(tp);
fs/xfs/xfs_bmap_util.c
1036
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_util.c
1060
struct xfs_trans *tp;
fs/xfs/xfs_bmap_util.c
1080
XFS_DIOSTRAT_SPACE_RES(mp, 0), 0, 0, &tp);
fs/xfs/xfs_bmap_util.c
1085
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_bmap_util.c
1087
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_bmap_util.c
1097
error = xfs_bmap_split_extent(tp, ip, stop_fsb);
fs/xfs/xfs_bmap_util.c
1102
error = xfs_defer_finish(&tp);
fs/xfs/xfs_bmap_util.c
1106
error = xfs_bmap_insert_extents(tp, ip, &next_fsb, shift_fsb,
fs/xfs/xfs_bmap_util.c
1112
error = xfs_trans_commit(tp);
fs/xfs/xfs_bmap_util.c
1117
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_util.c
118
error = xfs_iread_extents(tp, ip, whichfork);
fs/xfs/xfs_bmap_util.c
122
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
fs/xfs/xfs_bmap_util.c
1250
struct xfs_trans *tp = *tpp;
fs/xfs/xfs_bmap_util.c
1292
ASSERT(tp->t_highest_agno == NULLAGNUMBER);
fs/xfs/xfs_bmap_util.c
1314
error = xfs_iext_count_extend(tp, ip,
fs/xfs/xfs_bmap_util.c
1322
error = xfs_iext_count_extend(tp, tip,
fs/xfs/xfs_bmap_util.c
1330
xfs_bmap_unmap_extent(tp, tip, XFS_DATA_FORK, &uirec);
fs/xfs/xfs_bmap_util.c
1333
xfs_bmap_unmap_extent(tp, ip, XFS_DATA_FORK, &irec);
fs/xfs/xfs_bmap_util.c
1336
xfs_bmap_map_extent(tp, ip, XFS_DATA_FORK, &uirec);
fs/xfs/xfs_bmap_util.c
1339
xfs_bmap_map_extent(tp, tip, XFS_DATA_FORK, &irec);
fs/xfs/xfs_bmap_util.c
1342
tp = *tpp;
fs/xfs/xfs_bmap_util.c
1370
struct xfs_trans *tp,
fs/xfs/xfs_bmap_util.c
1387
error = xfs_bmap_count_blocks(tp, ip, XFS_ATTR_FORK, &junk,
fs/xfs/xfs_bmap_util.c
1394
error = xfs_bmap_count_blocks(tp, tip, XFS_ATTR_FORK, &junk,
fs/xfs/xfs_bmap_util.c
1479
struct xfs_trans *tp = *tpp;
fs/xfs/xfs_bmap_util.c
1482
error = xfs_bmbt_change_owner(tp, ip, XFS_DATA_FORK, I_INO(ip),
fs/xfs/xfs_bmap_util.c
1491
tp = *tpp;
fs/xfs/xfs_bmap_util.c
1497
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_bmap_util.c
1498
xfs_trans_ijoin(tp, tmpip, 0);
fs/xfs/xfs_bmap_util.c
1499
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_bmap_util.c
1500
xfs_trans_log_inode(tp, tmpip, XFS_ILOG_CORE);
fs/xfs/xfs_bmap_util.c
1513
struct xfs_trans *tp;
fs/xfs/xfs_bmap_util.c
1605
&tp);
fs/xfs/xfs_bmap_util.c
1614
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_bmap_util.c
1615
xfs_trans_ijoin(tp, tip, 0);
fs/xfs/xfs_bmap_util.c
1666
error = xfs_swap_extent_rmap(&tp, ip, tip);
fs/xfs/xfs_bmap_util.c
1668
error = xfs_swap_extent_forks(tp, ip, tip, &src_log_flags,
fs/xfs/xfs_bmap_util.c
1702
xfs_trans_log_inode(tp, ip, src_log_flags);
fs/xfs/xfs_bmap_util.c
1703
xfs_trans_log_inode(tp, tip, target_log_flags);
fs/xfs/xfs_bmap_util.c
1712
error = xfs_swap_change_owner(&tp, ip, tip);
fs/xfs/xfs_bmap_util.c
1717
error = xfs_swap_change_owner(&tp, tip, ip);
fs/xfs/xfs_bmap_util.c
1727
xfs_trans_set_sync(tp);
fs/xfs/xfs_bmap_util.c
1729
error = xfs_trans_commit(tp);
fs/xfs/xfs_bmap_util.c
1744
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_util.c
579
struct xfs_trans *tp;
fs/xfs/xfs_bmap_util.c
607
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, 0, 0, 0, &tp);
fs/xfs/xfs_bmap_util.c
614
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_bmap_util.c
622
error = xfs_itruncate_extents_flags(&tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_bmap_util.c
627
error = xfs_trans_commit(tp);
fs/xfs/xfs_bmap_util.c
639
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_util.c
658
xfs_trans_t *tp;
fs/xfs/xfs_bmap_util.c
732
dblocks, rblocks, false, &tp);
fs/xfs/xfs_bmap_util.c
736
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_bmap_util.c
750
error = xfs_bmapi_write(tp, ip, startoffset_fsb,
fs/xfs/xfs_bmap_util.c
763
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_bmap_util.c
765
error = xfs_trans_commit(tp);
fs/xfs/xfs_bmap_util.c
772
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_util.c
785
struct xfs_trans *tp;
fs/xfs/xfs_bmap_util.c
790
false, &tp);
fs/xfs/xfs_bmap_util.c
794
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_bmap_util.c
799
error = xfs_bunmapi(tp, ip, startoffset_fsb, len_fsb, 0, 2, done);
fs/xfs/xfs_bmap_util.c
803
error = xfs_trans_commit(tp);
fs/xfs/xfs_bmap_util.c
809
xfs_trans_cancel(tp);
fs/xfs/xfs_bmap_util.c
98
struct xfs_trans *tp,
fs/xfs/xfs_bmap_util.c
992
struct xfs_trans *tp;
fs/xfs/xfs_bmap_util.h
53
int xfs_bmap_last_extent(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_bmap_util.h
77
int xfs_bmap_count_blocks(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_buf_item.c
805
struct xfs_trans *tp,
fs/xfs/xfs_buf_mem.c
227
struct xfs_trans *tp,
fs/xfs/xfs_buf_mem.c
239
xfs_trans_bdetach(tp, bp);
fs/xfs/xfs_buf_mem.h
23
void xmbuf_trans_bdetach(struct xfs_trans *tp, struct xfs_buf *bp);
fs/xfs/xfs_dir2_readdir.c
512
struct xfs_trans *tp,
fs/xfs/xfs_dir2_readdir.c
534
args.trans = tp;
fs/xfs/xfs_discard.c
167
struct xfs_trans *tp;
fs/xfs/xfs_discard.c
181
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_discard.c
183
error = xfs_alloc_read_agf(pag, tp, 0, &agbp);
fs/xfs/xfs_discard.c
197
cur = xfs_bnobt_init_cursor(mp, tp, agbp, pag);
fs/xfs/xfs_discard.c
203
cur = xfs_cntbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/xfs_discard.c
207
cur = xfs_cntbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/xfs_discard.c
317
xfs_trans_cancel(tp);
fs/xfs/xfs_discard.c
513
struct xfs_trans *tp,
fs/xfs/xfs_discard.c
566
struct xfs_trans *tp;
fs/xfs/xfs_discard.c
569
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_discard.c
578
error = xfs_rtalloc_query_range(rtg, tp, low, high,
fs/xfs/xfs_discard.c
602
xfs_trans_cancel(tp);
fs/xfs/xfs_discard.c
626
struct xfs_trans *tp,
fs/xfs/xfs_discard.c
682
struct xfs_trans *tp;
fs/xfs/xfs_discard.c
685
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_discard.c
704
error = xfs_rtalloc_query_range(rtg, tp, low, high,
fs/xfs/xfs_discard.c
734
xfs_trans_cancel(tp);
fs/xfs/xfs_dquot.c
1253
struct xfs_trans *tp,
fs/xfs/xfs_dquot.c
1261
error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, dqp->q_blkno,
fs/xfs/xfs_dquot.c
1286
struct xfs_trans *tp,
fs/xfs/xfs_dquot.c
1298
error = xfs_dquot_read_buf(tp, dqp, &bp);
fs/xfs/xfs_dquot.c
1309
xfs_trans_brelse(tp, bp);
fs/xfs/xfs_dquot.c
227
struct xfs_trans *tp,
fs/xfs/xfs_dquot.c
232
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_dquot.c
240
ASSERT(tp);
fs/xfs/xfs_dquot.c
282
xfs_trans_dquot_buf(tp, bp, blftype);
fs/xfs/xfs_dquot.c
301
xfs_trans_ordered_buf(tp, bp);
fs/xfs/xfs_dquot.c
303
xfs_trans_log_buf(tp, bp, 0, BBTOB(q->qi_dqchunklen) - 1);
fs/xfs/xfs_dquot.c
348
struct xfs_trans *tp;
fs/xfs/xfs_dquot.c
359
XFS_QM_DQALLOC_SPACE_RES(mp), 0, 0, &tp);
fs/xfs/xfs_dquot.c
364
xfs_trans_ijoin(tp, quotip, 0);
fs/xfs/xfs_dquot.c
375
error = xfs_iext_count_extend(tp, quotip, XFS_DATA_FORK,
fs/xfs/xfs_dquot.c
381
error = xfs_bmapi_write(tp, quotip, dqp->q_fileoffset,
fs/xfs/xfs_dquot.c
397
error = xfs_trans_get_buf(tp, mp->m_ddev_targp, dqp->q_blkno,
fs/xfs/xfs_dquot.c
407
xfs_qm_init_dquot_blk(tp, dqp->q_id, qtype, bp);
fs/xfs/xfs_dquot.c
434
xfs_trans_bhold(tp, bp);
fs/xfs/xfs_dquot.c
435
error = xfs_trans_commit(tp);
fs/xfs/xfs_dquot.c
446
xfs_trans_cancel(tp);
fs/xfs/xfs_dquot.h
227
int xfs_dquot_attach_buf(struct xfs_trans *tp, struct xfs_dquot *dqp);
fs/xfs/xfs_dquot.h
240
void xfs_qm_init_dquot_blk(struct xfs_trans *tp, xfs_dqid_t id, xfs_dqtype_t
fs/xfs/xfs_dquot_item.c
240
struct xfs_trans *tp,
fs/xfs/xfs_dquot_item.c
248
return xfs_dquot_attach_buf(tp, dqp);
fs/xfs/xfs_exchmaps_item.c
213
struct xfs_trans *tp,
fs/xfs/xfs_exchmaps_item.c
227
xmi_lip = xfs_xmi_init(tp->t_mountp);
fs/xfs/xfs_exchmaps_item.c
246
struct xfs_trans *tp,
fs/xfs/xfs_exchmaps_item.c
254
xfs_log_item_init(tp->t_mountp, &xmd_lip->xmd_item, XFS_LI_XMD,
fs/xfs/xfs_exchmaps_item.c
265
struct xfs_trans *tp,
fs/xfs/xfs_exchmaps_item.c
268
trace_xfs_exchmaps_defer(tp->t_mountp, xmi);
fs/xfs/xfs_exchmaps_item.c
270
xfs_defer_add(tp, &xmi->xmi_list, &xfs_exchmaps_defer_type);
fs/xfs/xfs_exchmaps_item.c
291
struct xfs_trans *tp,
fs/xfs/xfs_exchmaps_item.c
309
error = xfs_exchmaps_finish_one(tp, xmi);
fs/xfs/xfs_exchmaps_item.c
429
struct xfs_trans *tp;
fs/xfs/xfs_exchmaps_item.c
448
error = xfs_trans_alloc(mp, &resv, req.resblks, 0, 0, &tp);
fs/xfs/xfs_exchmaps_item.c
452
xfs_exchrange_ilock(tp, ip1, ip2);
fs/xfs/xfs_exchmaps_item.c
454
xfs_exchmaps_ensure_reflink(tp, xmi);
fs/xfs/xfs_exchmaps_item.c
455
xfs_exchmaps_upgrade_extent_counts(tp, xmi);
fs/xfs/xfs_exchmaps_item.c
456
error = xlog_recover_finish_intent(tp, dfp);
fs/xfs/xfs_exchmaps_item.c
468
error = xfs_defer_ops_capture_and_commit(tp, capture_list);
fs/xfs/xfs_exchmaps_item.c
472
xfs_trans_cancel(tp);
fs/xfs/xfs_exchmaps_item.c
484
struct xfs_trans *tp,
fs/xfs/xfs_exchmaps_item.c
493
xmi_lip = xfs_xmi_init(tp->t_mountp);
fs/xfs/xfs_exchmaps_item.h
61
void xfs_exchmaps_defer_add(struct xfs_trans *tp,
fs/xfs/xfs_exchrange.c
114
struct xfs_trans *tp,
fs/xfs/xfs_exchrange.c
129
if (!XFS_IS_QUOTA_ON(tp->t_mountp) || req->ip1 == req->ip2 ||
fs/xfs/xfs_exchrange.c
145
error = xfs_trans_reserve_quota_nblks(tp, req->ip1,
fs/xfs/xfs_exchrange.c
162
error = xfs_trans_reserve_quota_nblks(tp, req->ip2,
fs/xfs/xfs_exchrange.c
181
error = xfs_trans_reserve_quota_nblks(tp, req->ip1, req->ip1_bcount,
fs/xfs/xfs_exchrange.c
186
return xfs_trans_reserve_quota_nblks(tp, req->ip2, req->ip2_bcount,
fs/xfs/xfs_exchrange.c
205
struct xfs_trans *tp;
fs/xfs/xfs_exchrange.c
232
XFS_TRANS_RES_FDBLKS, &tp);
fs/xfs/xfs_exchrange.c
236
xfs_exchrange_ilock(tp, ip1, ip2);
fs/xfs/xfs_exchrange.c
250
error = xfs_exchrange_reserve_quota(tp, &req, &qretry);
fs/xfs/xfs_exchrange.c
252
xfs_trans_cancel(tp);
fs/xfs/xfs_exchrange.c
270
xfs_trans_ichgtime(tp, ip1, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/xfs_exchrange.c
272
xfs_trans_ichgtime(tp, ip2, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/xfs_exchrange.c
274
xfs_exchange_mappings(tp, &req);
fs/xfs/xfs_exchrange.c
282
xfs_trans_set_sync(tp);
fs/xfs/xfs_exchrange.c
284
error = xfs_trans_commit(tp);
fs/xfs/xfs_exchrange.c
30
struct xfs_trans *tp,
fs/xfs/xfs_exchrange.c
311
xfs_trans_cancel(tp);
fs/xfs/xfs_exchrange.c
39
if (tp) {
fs/xfs/xfs_exchrange.c
40
xfs_trans_ijoin(tp, ip1, 0);
fs/xfs/xfs_exchrange.c
42
xfs_trans_ijoin(tp, ip2, 0);
fs/xfs/xfs_exchrange.h
46
void xfs_exchrange_ilock(struct xfs_trans *tp, struct xfs_inode *ip1,
fs/xfs/xfs_extent_busy.c
610
struct xfs_trans *tp,
fs/xfs/xfs_extent_busy.c
619
error = xfs_log_force(tp->t_mountp, XFS_LOG_SYNC);
fs/xfs/xfs_extent_busy.c
624
if (!list_empty(&tp->t_busy)) {
fs/xfs/xfs_extent_busy.c
81
struct xfs_trans *tp,
fs/xfs/xfs_extent_busy.c
87
xfs_extent_busy_insert_list(xg, bno, len, flags, &tp->t_busy);
fs/xfs/xfs_extent_busy.h
46
void xfs_extent_busy_insert(struct xfs_trans *tp, struct xfs_group *xg,
fs/xfs/xfs_extent_busy.h
58
int xfs_extent_busy_flush(struct xfs_trans *tp, struct xfs_group *xg,
fs/xfs/xfs_extfree_item.c
396
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
417
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
423
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_extfree_item.c
433
xfs_extent_free_log_item(tp, efip, xefi);
fs/xfs/xfs_extfree_item.c
439
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
444
return __xfs_extent_free_create_intent(tp, items, count, sort,
fs/xfs/xfs_extfree_item.c
457
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
474
xfs_log_item_init(tp->t_mountp, &efdp->efd_item,
fs/xfs/xfs_extfree_item.c
497
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
501
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_extfree_item.c
507
*dfpp = xfs_defer_add(tp, &xefi->xefi_list, xefi_ops(xefi));
fs/xfs/xfs_extfree_item.c
524
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
532
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_extfree_item.c
553
error = __xfs_free_extent(tp, to_perag(xefi->xefi_group), agbno,
fs/xfs/xfs_extfree_item.c
580
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
586
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_extfree_item.c
599
error = xfs_alloc_read_agf(to_perag(xefi->xefi_group), tp, 0, &agbp);
fs/xfs/xfs_extfree_item.c
601
error = xfs_free_ag_extent(tp, agbp, agbno, 1, &oinfo,
fs/xfs/xfs_extfree_item.c
658
struct xfs_trans *tp;
fs/xfs/xfs_extfree_item.c
682
error = xfs_trans_alloc(mp, &resv, 0, 0, 0, &tp);
fs/xfs/xfs_extfree_item.c
686
error = xlog_recover_finish_intent(tp, dfp);
fs/xfs/xfs_extfree_item.c
694
return xfs_defer_ops_capture_and_commit(tp, capture_list);
fs/xfs/xfs_extfree_item.c
697
xfs_trans_cancel(tp);
fs/xfs/xfs_extfree_item.c
704
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
721
efip = xfs_efi_init(tp->t_mountp, intent->li_type, count);
fs/xfs/xfs_extfree_item.c
757
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
762
return __xfs_extent_free_create_intent(tp, items, count, sort,
fs/xfs/xfs_extfree_item.c
769
struct xfs_trans *tp,
fs/xfs/xfs_extfree_item.c
774
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_extfree_item.c
795
xfs_rtgroup_trans_join(tp, *rtgp, lock_flags);
fs/xfs/xfs_extfree_item.c
799
error = xfs_zone_free_blocks(tp, *rtgp, xefi->xefi_startblock,
fs/xfs/xfs_extfree_item.c
802
error = xfs_rtfree_blocks(tp, *rtgp, xefi->xefi_startblock,
fs/xfs/xfs_extfree_item.h
93
void xfs_extent_free_defer_add(struct xfs_trans *tp,
fs/xfs/xfs_filestream.c
238
if (ap->tp->t_flags & XFS_TRANS_LOWMODE) {
fs/xfs/xfs_filestream.c
243
error = xfs_bmap_longest_free_extent(pag, args->tp, longest);
fs/xfs/xfs_filestream.c
293
if (ap->tp->t_flags & XFS_TRANS_LOWMODE)
fs/xfs/xfs_filestream.c
356
if (ap->tp->t_flags & XFS_TRANS_LOWMODE)
fs/xfs/xfs_fsmap.c
1001
error = xfs_getfsmap_rtdev_rmapbt_query(tp, info, &bt_cur);
fs/xfs/xfs_fsmap.c
1158
struct xfs_trans *tp = NULL;
fs/xfs/xfs_fsmap.c
1273
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_fsmap.c
1280
error = handlers[i].fn(tp, dkeys, &info);
fs/xfs/xfs_fsmap.c
1283
xfs_trans_cancel(tp);
fs/xfs/xfs_fsmap.c
1284
tp = NULL;
fs/xfs/xfs_fsmap.c
1288
if (tp)
fs/xfs/xfs_fsmap.c
1289
xfs_trans_cancel(tp);
fs/xfs/xfs_fsmap.c
187
int (*fn)(struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
208
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
213
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsmap.c
224
cur = xfs_rtrefcountbt_init_cursor(tp, to_rtg(info->group));
fs/xfs/xfs_fsmap.c
226
cur = xfs_refcountbt_init_cursor(mp, tp, info->agf_bp,
fs/xfs/xfs_fsmap.c
283
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
288
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsmap.c
360
error = xfs_getfsmap_is_shared(tp, info, frec, &shared);
fs/xfs/xfs_fsmap.c
377
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
398
return xfs_getfsmap_helper(tp, info, frec);
fs/xfs/xfs_fsmap.c
468
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
477
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsmap.c
550
xfs_trans_brelse(tp, info->agf_bp);
fs/xfs/xfs_fsmap.c
554
error = xfs_alloc_read_agf(pag, tp, 0, &info->agf_bp);
fs/xfs/xfs_fsmap.c
563
error = query_fn(tp, info, &bt_cur, priv);
fs/xfs/xfs_fsmap.c
581
error = query_fn(tp, info, &bt_cur, priv);
fs/xfs/xfs_fsmap.c
592
xfs_trans_brelse(tp, info->agf_bp);
fs/xfs/xfs_fsmap.c
609
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
619
*curpp = xfs_rmapbt_init_cursor(tp->t_mountp, tp, info->agf_bp,
fs/xfs/xfs_fsmap.c
628
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
633
return __xfs_getfsmap_datadev(tp, keys, info,
fs/xfs/xfs_fsmap.c
640
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
652
*curpp = xfs_bnobt_init_cursor(tp->t_mountp, tp, info->agf_bp,
fs/xfs/xfs_fsmap.c
663
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
671
return __xfs_getfsmap_datadev(tp, keys, info,
fs/xfs/xfs_fsmap.c
678
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
687
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsmap.c
710
return xfs_getfsmap_helper(tp, info, &frec);
fs/xfs/xfs_fsmap.c
718
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
747
return xfs_getfsmap_helper(tp, info, &frec);
fs/xfs/xfs_fsmap.c
753
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
757
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsmap.c
797
error = xfs_rtalloc_query_range(rtg, tp, start_rtx, end_rtx,
fs/xfs/xfs_fsmap.c
814
error = xfs_getfsmap_rtdev_rtbitmap_helper(rtg, tp,
fs/xfs/xfs_fsmap.c
859
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
867
*curpp = xfs_rtrmapbt_init_cursor(tp, rtg);
fs/xfs/xfs_fsmap.c
875
struct xfs_trans *tp,
fs/xfs/xfs_fsmap.c
880
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsmap.c
916
error = xfs_getfsmap_helper(tp, info, &frec);
fs/xfs/xfs_fsops.c
105
struct xfs_trans *tp;
fs/xfs/xfs_fsops.c
155
&tp);
fs/xfs/xfs_fsops.c
158
0, &tp);
fs/xfs/xfs_fsops.c
164
error = xfs_resizefs_init_new_ags(tp, &id, oagcount, nagcount,
fs/xfs/xfs_fsops.c
168
error = xfs_ag_shrink_space(last_pag, &tp, -delta);
fs/xfs/xfs_fsops.c
180
xfs_trans_mod_sb(tp, XFS_TRANS_SB_AGCOUNT, nagcount - oagcount);
fs/xfs/xfs_fsops.c
182
xfs_trans_mod_sb(tp, XFS_TRANS_SB_DBLOCKS, delta);
fs/xfs/xfs_fsops.c
184
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FDBLOCKS, id.nfree);
fs/xfs/xfs_fsops.c
192
xfs_log_sb(tp);
fs/xfs/xfs_fsops.c
194
xfs_trans_set_sync(tp);
fs/xfs/xfs_fsops.c
195
error = xfs_trans_commit(tp);
fs/xfs/xfs_fsops.c
234
xfs_trans_cancel(tp);
fs/xfs/xfs_fsops.c
268
struct xfs_trans *tp;
fs/xfs/xfs_fsops.c
276
XFS_GROWFS_SPACE_RES(mp), 0, XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_fsops.c
281
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IMAXPCT, dpct);
fs/xfs/xfs_fsops.c
282
xfs_trans_set_sync(tp);
fs/xfs/xfs_fsops.c
283
return xfs_trans_commit(tp);
fs/xfs/xfs_fsops.c
46
struct xfs_trans *tp,
fs/xfs/xfs_fsops.c
54
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_fsops.c
84
error = xfs_ag_extend_space(last_pag, tp, delta);
fs/xfs/xfs_icache.c
626
xfs_trans_t *tp,
fs/xfs/xfs_icache.c
648
error = xfs_imap(pag, tp, I_INO(ip), &ip->i_imap, flags);
fs/xfs/xfs_icache.c
666
error = xfs_read_icluster(pag, tp, ip->i_imap.im_agbno, &bp);
fs/xfs/xfs_icache.c
676
xfs_trans_brelse(tp, bp);
fs/xfs/xfs_icache.c
767
struct xfs_trans *tp,
fs/xfs/xfs_icache.c
807
error = xfs_iget_cache_miss(mp, pag, tp, ino, &ip,
fs/xfs/xfs_icache.c
846
struct xfs_trans *tp,
fs/xfs/xfs_icache.c
851
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_icache.c
856
error = xfs_iget(mp, tp, ino, 0, 0, &ip);
fs/xfs/xfs_icache.c
897
struct xfs_trans *tp;
fs/xfs/xfs_icache.c
900
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_icache.c
901
error = xfs_trans_metafile_iget(tp, ino, metafile_type, ipp);
fs/xfs/xfs_icache.c
902
xfs_trans_cancel(tp);
fs/xfs/xfs_icache.h
45
int xfs_iget(struct xfs_mount *mp, struct xfs_trans *tp, xfs_ino_t ino,
fs/xfs/xfs_icreate_item.c
101
xfs_log_item_init(tp->t_mountp, &icp->ic_item, XFS_LI_ICREATE,
fs/xfs/xfs_icreate_item.c
113
xfs_trans_add_item(tp, &icp->ic_item);
fs/xfs/xfs_icreate_item.c
114
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/xfs_icreate_item.c
89
struct xfs_trans *tp,
fs/xfs/xfs_icreate_item.h
17
void xfs_icreate_log(struct xfs_trans *tp, xfs_agnumber_t agno,
fs/xfs/xfs_inode.c
1038
struct xfs_trans *tp = *tpp;
fs/xfs/xfs_inode.c
1047
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/xfs_inode.c
1072
error = xfs_bunmapi_range(&tp, ip, flags, first_unmap_block,
fs/xfs/xfs_inode.c
1079
error = xfs_reflink_cancel_cow_blocks(ip, &tp,
fs/xfs/xfs_inode.c
1091
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_inode.c
1096
*tpp = tp;
fs/xfs/xfs_inode.c
1155
struct xfs_trans *tp;
fs/xfs/xfs_inode.c
1158
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, 0, 0, 0, &tp);
fs/xfs/xfs_inode.c
1164
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_inode.c
1172
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_inode.c
1174
error = xfs_itruncate_extents(&tp, ip, XFS_DATA_FORK, 0);
fs/xfs/xfs_inode.c
1180
error = xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
1188
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
1204
struct xfs_trans *tp;
fs/xfs/xfs_inode.c
1221
&tp);
fs/xfs/xfs_inode.c
1223
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ifree, 0, 0, 0, &tp);
fs/xfs/xfs_inode.c
1257
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_inode.c
1259
error = xfs_ifree(tp, ip);
fs/xfs/xfs_inode.c
1272
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
1279
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_ICOUNT, -1);
fs/xfs/xfs_inode.c
1281
return xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
1545
struct xfs_trans *tp,
fs/xfs/xfs_inode.c
1574
error = xfs_iget(mp, tp, xfs_agino_to_ino(pag, next_agino),
fs/xfs/xfs_inode.c
1700
struct xfs_trans *tp,
fs/xfs/xfs_inode.c
1741
error = xfs_trans_get_buf(tp, mp->m_ddev_targp, blkno,
fs/xfs/xfs_inode.c
1780
xfs_trans_stale_inode_buf(tp, bp);
fs/xfs/xfs_inode.c
1781
xfs_trans_binval(tp, bp);
fs/xfs/xfs_inode.c
1797
struct xfs_trans *tp,
fs/xfs/xfs_inode.c
1814
error = xfs_inode_uninit(tp, pag, ip, &xic);
fs/xfs/xfs_inode.c
1827
error = xfs_ifree_cluster(tp, pag, ip, &xic);
fs/xfs/xfs_inode.c
1923
struct xfs_trans *tp = NULL;
fs/xfs/xfs_inode.c
1961
&tp, &dontcare);
fs/xfs/xfs_inode.c
1967
error = xfs_dir_remove_child(tp, resblks, &du);
fs/xfs/xfs_inode.c
1977
xfs_trans_set_sync(tp);
fs/xfs/xfs_inode.c
1979
error = xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
1992
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
2154
struct xfs_trans *tp;
fs/xfs/xfs_inode.c
2207
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_rename, spaceres, 0, 0, &tp);
fs/xfs/xfs_inode.c
2212
&tp);
fs/xfs/xfs_inode.c
2223
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
2232
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
2247
xfs_trans_ijoin(tp, src_dp, 0);
fs/xfs/xfs_inode.c
2249
xfs_trans_ijoin(tp, target_dp, 0);
fs/xfs/xfs_inode.c
2250
xfs_trans_ijoin(tp, src_ip, 0);
fs/xfs/xfs_inode.c
2252
xfs_trans_ijoin(tp, target_ip, 0);
fs/xfs/xfs_inode.c
2254
xfs_trans_ijoin(tp, du_wip.ip, 0);
fs/xfs/xfs_inode.c
2262
error = xfs_dir_exchange_children(tp, &du_src, &du_tgt,
fs/xfs/xfs_inode.c
2276
error = xfs_trans_reserve_quota_nblks(tp, target_dp, spaceres,
fs/xfs/xfs_inode.c
2280
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
2322
error = xfs_read_agi(pag, tp, 0, &bp);
fs/xfs/xfs_inode.c
2329
error = xfs_dir_rename_children(tp, &du_src, &du_tgt, spaceres,
fs/xfs/xfs_inode.c
2348
if (xfs_has_wsync(tp->t_mountp) || xfs_has_dirsync(tp->t_mountp))
fs/xfs/xfs_inode.c
2349
xfs_trans_set_sync(tp);
fs/xfs/xfs_inode.c
2351
error = xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
2356
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
2860
struct xfs_trans *tp,
fs/xfs/xfs_inode.c
2863
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_inode.c
2876
error = xfs_ialloc_read_agi(pag, tp, 0, &agibp);
fs/xfs/xfs_inode.c
2919
error = xfs_iunlink_reload_next(tp, agibp, prev_agino,
fs/xfs/xfs_inode.c
2939
xfs_trans_brelse(tp, agibp);
fs/xfs/xfs_inode.c
2951
struct xfs_trans *tp;
fs/xfs/xfs_inode.c
2954
tp = xfs_trans_alloc_empty(ip->i_mount);
fs/xfs/xfs_inode.c
2957
error = xfs_inode_reload_unlinked_bucket(tp, ip);
fs/xfs/xfs_inode.c
2959
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
2993
struct xfs_trans *tp,
fs/xfs/xfs_inode.c
587
struct xfs_trans *tp,
fs/xfs/xfs_inode.c
592
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_inode.c
600
error = xfs_iget(mp, tp, ino, XFS_IGET_CREATE, XFS_ILOCK_EXCL, &ip);
fs/xfs/xfs_inode.c
605
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_inode.c
606
xfs_inode_init(tp, args, ip);
fs/xfs/xfs_inode.c
659
struct xfs_trans *tp = NULL;
fs/xfs/xfs_inode.c
701
&tp);
fs/xfs/xfs_inode.c
713
error = xfs_dialloc(&tp, args, &ino);
fs/xfs/xfs_inode.c
715
error = xfs_icreate(tp, ino, args, &du.ip);
fs/xfs/xfs_inode.c
726
xfs_trans_ijoin(tp, dp, 0);
fs/xfs/xfs_inode.c
728
error = xfs_dir_create_child(tp, resblks, &du);
fs/xfs/xfs_inode.c
738
xfs_trans_set_sync(tp);
fs/xfs/xfs_inode.c
745
xfs_qm_vop_create_dqattach(tp, du.ip, udqp, gdqp, pdqp);
fs/xfs/xfs_inode.c
747
error = xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
762
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
794
struct xfs_trans *tp = NULL;
fs/xfs/xfs_inode.c
817
&tp);
fs/xfs/xfs_inode.c
821
error = xfs_dialloc(&tp, args, &ino);
fs/xfs/xfs_inode.c
823
error = xfs_icreate(tp, ino, args, &ip);
fs/xfs/xfs_inode.c
828
xfs_trans_set_sync(tp);
fs/xfs/xfs_inode.c
835
xfs_qm_vop_create_dqattach(tp, ip, udqp, gdqp, pdqp);
fs/xfs/xfs_inode.c
837
error = xfs_iunlink(tp, ip);
fs/xfs/xfs_inode.c
841
error = xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
854
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.c
915
struct xfs_trans *tp;
fs/xfs/xfs_inode.c
942
&tp, &nospace_error);
fs/xfs/xfs_inode.c
960
error = xfs_dir_add_child(tp, resblks, &du);
fs/xfs/xfs_inode.c
970
xfs_trans_set_sync(tp);
fs/xfs/xfs_inode.c
972
error = xfs_trans_commit(tp);
fs/xfs/xfs_inode.c
979
xfs_trans_cancel(tp);
fs/xfs/xfs_inode.h
598
int xfs_icreate(struct xfs_trans *tp, xfs_ino_t ino,
fs/xfs/xfs_inode.h
647
int xfs_iunlink_reload_next(struct xfs_trans *tp, struct xfs_buf *agibp,
fs/xfs/xfs_inode.h
664
int xfs_inode_reload_unlinked_bucket(struct xfs_trans *tp, struct xfs_inode *ip);
fs/xfs/xfs_inode.h
668
void xfs_inode_count_blocks(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_inode_item.c
103
struct xfs_trans *tp,
fs/xfs/xfs_inode_item.c
173
error = xfs_read_icluster(pag, tp, ip->i_imap.im_agbno, &bp);
fs/xfs/xfs_inode_item.c
190
xfs_trans_brelse(tp, bp);
fs/xfs/xfs_ioctl.c
552
struct xfs_trans *tp,
fs/xfs/xfs_ioctl.c
601
xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG);
fs/xfs/xfs_ioctl.c
602
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_ioctl.c
640
struct xfs_trans *tp;
fs/xfs/xfs_ioctl.c
650
has_capability_noaudit(current, CAP_FOWNER), &tp);
fs/xfs/xfs_ioctl.c
655
xfs_trans_set_sync(tp);
fs/xfs/xfs_ioctl.c
657
return tp;
fs/xfs/xfs_ioctl.c
757
struct xfs_trans *tp;
fs/xfs/xfs_ioctl.c
807
tp = xfs_ioctl_setattr_get_trans(ip, pdqp);
fs/xfs/xfs_ioctl.c
808
if (IS_ERR(tp)) {
fs/xfs/xfs_ioctl.c
809
error = PTR_ERR(tp);
fs/xfs/xfs_ioctl.c
821
error = xfs_ioctl_setattr_xflags(tp, ip, fa);
fs/xfs/xfs_ioctl.c
842
olddquot = xfs_qm_vop_chown(tp, ip,
fs/xfs/xfs_ioctl.c
866
error = xfs_trans_commit(tp);
fs/xfs/xfs_ioctl.c
877
xfs_trans_cancel(tp);
fs/xfs/xfs_iomap.c
1139
struct xfs_trans *tp;
fs/xfs/xfs_iomap.c
1199
rblocks, false, &tp);
fs/xfs/xfs_iomap.c
1207
xfs_trans_cancel(tp);
fs/xfs/xfs_iomap.c
1222
error = xfs_bmapi_write(tp, ip, offset_fsb, hole_count_fsb,
fs/xfs/xfs_iomap.c
1226
xfs_trans_cancel(tp);
fs/xfs/xfs_iomap.c
1231
error = xfs_trans_commit(tp);
fs/xfs/xfs_iomap.c
277
struct xfs_trans *tp;
fs/xfs/xfs_iomap.c
325
rblocks, force, &tp);
fs/xfs/xfs_iomap.c
329
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK, nr_exts);
fs/xfs/xfs_iomap.c
338
error = xfs_bmapi_write(tp, ip, offset_fsb, count_fsb, bmapi_flags, 0,
fs/xfs/xfs_iomap.c
346
error = xfs_trans_commit(tp);
fs/xfs/xfs_iomap.c
361
xfs_trans_cancel(tp);
fs/xfs/xfs_iomap.c
624
xfs_trans_t *tp;
fs/xfs/xfs_iomap.c
665
0, true, &tp);
fs/xfs/xfs_iomap.c
669
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_iomap.c
678
error = xfs_bmapi_write(tp, ip, offset_fsb, count_fsb,
fs/xfs/xfs_iomap.c
697
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_iomap.c
700
error = xfs_trans_commit(tp);
fs/xfs/xfs_iomap.c
725
xfs_trans_cancel(tp);
fs/xfs/xfs_iops.c
1055
0, 0, &tp);
fs/xfs/xfs_iops.c
1061
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_iops.c
1093
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_iops.c
1096
error = xfs_itruncate_extents(&tp, ip, XFS_DATA_FORK, newsize);
fs/xfs/xfs_iops.c
1114
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_iops.c
1119
xfs_trans_set_sync(tp);
fs/xfs/xfs_iops.c
1121
error = xfs_trans_commit(tp);
fs/xfs/xfs_iops.c
1128
xfs_trans_cancel(tp);
fs/xfs/xfs_iops.c
1176
struct xfs_trans *tp;
fs/xfs/xfs_iops.c
1199
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_fsyncts, 0, 0, 0, &tp);
fs/xfs/xfs_iops.c
1208
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_iops.c
1209
xfs_trans_log_inode(tp, ip, log_flags);
fs/xfs/xfs_iops.c
1210
return xfs_trans_commit(tp);
fs/xfs/xfs_iops.c
1219
struct xfs_trans *tp;
fs/xfs/xfs_iops.c
1221
if (xfs_trans_alloc(mp, &M_RES(mp)->tr_fsyncts, 0, 0, 0, &tp))
fs/xfs/xfs_iops.c
1224
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_iops.c
1225
xfs_trans_log_inode(tp, ip, XFS_ILOG_TIMESTAMP);
fs/xfs/xfs_iops.c
1226
xfs_trans_commit(tp);
fs/xfs/xfs_iops.c
789
xfs_trans_t *tp;
fs/xfs/xfs_iops.c
838
has_capability_noaudit(current, CAP_FOWNER), &tp);
fs/xfs/xfs_iops.c
852
old_udqp = xfs_qm_vop_chown(tp, ip, &ip->i_udquot, udqp);
fs/xfs/xfs_iops.c
858
old_gdqp = xfs_qm_vop_chown(tp, ip, &ip->i_gdquot, gdqp);
fs/xfs/xfs_iops.c
862
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_iops.c
867
xfs_trans_set_sync(tp);
fs/xfs/xfs_iops.c
868
error = xfs_trans_commit(tp);
fs/xfs/xfs_iops.c
916
struct xfs_trans *tp;
fs/xfs/xfs_itable.c
222
struct xfs_trans *tp;
fs/xfs/xfs_itable.c
242
tp = xfs_trans_alloc_empty(breq->mp);
fs/xfs/xfs_itable.c
243
error = xfs_bulkstat_one_int(breq->mp, breq->idmap, tp,
fs/xfs/xfs_itable.c
245
xfs_trans_cancel(tp);
fs/xfs/xfs_itable.c
261
struct xfs_trans *tp,
fs/xfs/xfs_itable.c
268
error = xfs_bulkstat_one_int(mp, bc->breq->idmap, tp, ino, data);
fs/xfs/xfs_itable.c
309
struct xfs_trans *tp;
fs/xfs/xfs_itable.c
329
tp = xfs_trans_alloc_empty(breq->mp);
fs/xfs/xfs_itable.c
330
error = xfs_iwalk(breq->mp, tp, breq->startino, breq->iwalk_flags,
fs/xfs/xfs_itable.c
332
xfs_trans_cancel(tp);
fs/xfs/xfs_itable.c
410
struct xfs_trans *tp,
fs/xfs/xfs_itable.c
445
struct xfs_trans *tp;
fs/xfs/xfs_itable.c
455
tp = xfs_trans_alloc_empty(breq->mp);
fs/xfs/xfs_itable.c
456
error = xfs_inobt_walk(breq->mp, tp, breq->startino, breq->iwalk_flags,
fs/xfs/xfs_itable.c
458
xfs_trans_cancel(tp);
fs/xfs/xfs_itable.c
67
struct xfs_trans *tp,
fs/xfs/xfs_itable.c
80
error = xfs_iget(mp, tp, ino,
fs/xfs/xfs_itable.c
90
error = xfs_inode_reload_unlinked_bucket(tp, ip);
fs/xfs/xfs_iunlink_item.c
109
struct xfs_trans *tp,
fs/xfs/xfs_iunlink_item.c
115
error = xfs_iunlink_log_dinode(tp, iup);
fs/xfs/xfs_iunlink_item.c
141
struct xfs_trans *tp,
fs/xfs/xfs_iunlink_item.c
146
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_iunlink_item.c
172
xfs_trans_add_item(tp, &iup->item);
fs/xfs/xfs_iunlink_item.c
173
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/xfs_iunlink_item.c
52
struct xfs_trans *tp,
fs/xfs/xfs_iunlink_item.c
62
error = xfs_read_icluster(iup->pag, tp, ip->i_imap.im_agbno, &ibp);
fs/xfs/xfs_iunlink_item.c
90
xfs_dinode_calc_crc(tp->t_mountp, dip);
fs/xfs/xfs_iunlink_item.c
91
xfs_trans_inode_buf(tp, ibp);
fs/xfs/xfs_iunlink_item.c
92
xfs_trans_log_buf(tp, ibp, offset, offset + sizeof(xfs_agino_t) - 1);
fs/xfs/xfs_iunlink_item.c
95
xfs_trans_brelse(tp, ibp);
fs/xfs/xfs_iunlink_item.h
24
int xfs_iunlink_log_inode(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_iwalk.c
177
struct xfs_trans *tp = iwag->tp;
fs/xfs/xfs_iwalk.c
191
error = iwag->inobt_walk_fn(mp, tp, pag_agno(pag), irec,
fs/xfs/xfs_iwalk.c
209
error = iwag->iwalk_fn(mp, tp,
fs/xfs/xfs_iwalk.c
224
struct xfs_trans *tp,
fs/xfs/xfs_iwalk.c
234
xfs_trans_brelse(tp, *agi_bpp);
fs/xfs/xfs_iwalk.c
263
struct xfs_trans *tp = iwag->tp;
fs/xfs/xfs_iwalk.c
270
error = xfs_ialloc_read_agi(pag, tp, 0, agi_bpp);
fs/xfs/xfs_iwalk.c
273
*curpp = xfs_inobt_init_cursor(pag, tp, *agi_bpp);
fs/xfs/xfs_iwalk.c
361
xfs_iwalk_del_inobt(iwag->tp, curpp, agi_bpp, 0);
fs/xfs/xfs_iwalk.c
366
xfs_trans_cancel(iwag->tp);
fs/xfs/xfs_iwalk.c
367
iwag->tp = NULL;
fs/xfs/xfs_iwalk.c
381
iwag->tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_iwalk.c
384
error = xfs_ialloc_read_agi(iwag->pag, iwag->tp, 0, agi_bpp);
fs/xfs/xfs_iwalk.c
387
*curpp = xfs_inobt_init_cursor(iwag->pag, iwag->tp, *agi_bpp);
fs/xfs/xfs_iwalk.c
476
xfs_iwalk_del_inobt(iwag->tp, &cur, &agi_bp, error);
fs/xfs/xfs_iwalk.c
55
struct xfs_trans *tp;
fs/xfs/xfs_iwalk.c
574
struct xfs_trans *tp,
fs/xfs/xfs_iwalk.c
583
.tp = tp,
fs/xfs/xfs_iwalk.c
617
iwag->tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_iwalk.c
621
if (iwag->tp)
fs/xfs/xfs_iwalk.c
622
xfs_trans_cancel(iwag->tp);
fs/xfs/xfs_iwalk.c
735
struct xfs_trans *tp,
fs/xfs/xfs_iwalk.c
744
.tp = tp,
fs/xfs/xfs_iwalk.h
18
typedef int (*xfs_iwalk_fn)(struct xfs_mount *mp, struct xfs_trans *tp,
fs/xfs/xfs_iwalk.h
21
int xfs_iwalk(struct xfs_mount *mp, struct xfs_trans *tp, xfs_ino_t startino,
fs/xfs/xfs_iwalk.h
34
typedef int (*xfs_inobt_walk_fn)(struct xfs_mount *mp, struct xfs_trans *tp,
fs/xfs/xfs_iwalk.h
39
int xfs_inobt_walk(struct xfs_mount *mp, struct xfs_trans *tp,
fs/xfs/xfs_log.c
1840
struct xfs_trans *tp)
fs/xfs/xfs_log.c
1842
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_log.c
1847
xfs_warn(mp, " log res = %d", tp->t_log_res);
fs/xfs/xfs_log.c
1848
xfs_warn(mp, " log count = %d", tp->t_log_count);
fs/xfs/xfs_log.c
1849
xfs_warn(mp, " flags = 0x%x", tp->t_flags);
fs/xfs/xfs_log.c
1851
xlog_print_tic_res(mp, tp->t_ticket);
fs/xfs/xfs_log.c
1854
list_for_each_entry(lip, &tp->t_items, li_trans) {
fs/xfs/xfs_log_cil.c
1780
struct xfs_trans *tp)
fs/xfs/xfs_log_cil.c
1785
list_for_each_entry_safe(lip, next, &tp->t_items, li_trans) {
fs/xfs/xfs_log_cil.c
1820
struct xfs_trans *tp,
fs/xfs/xfs_log_cil.c
1833
xlog_cil_alloc_shadow_bufs(log, tp);
fs/xfs/xfs_log_cil.c
1838
if (tp->t_flags & XFS_TRANS_HAS_INTENT_DONE)
fs/xfs/xfs_log_cil.c
1839
released_space = xlog_cil_process_intents(cil, tp);
fs/xfs/xfs_log_cil.c
1841
xlog_cil_insert_items(log, tp, released_space);
fs/xfs/xfs_log_cil.c
1844
xfs_log_ticket_regrant(log, tp->t_ticket);
fs/xfs/xfs_log_cil.c
1846
xfs_log_ticket_ungrant(log, tp->t_ticket);
fs/xfs/xfs_log_cil.c
1847
tp->t_ticket = NULL;
fs/xfs/xfs_log_cil.c
1848
xfs_trans_unreserve_and_mod_sb(tp);
fs/xfs/xfs_log_cil.c
1861
trace_xfs_trans_commit_items(tp, _RET_IP_);
fs/xfs/xfs_log_cil.c
1862
list_for_each_entry_safe(lip, next, &tp->t_items, li_trans) {
fs/xfs/xfs_log_cil.c
270
struct xfs_trans *tp)
fs/xfs/xfs_log_cil.c
274
list_for_each_entry(lip, &tp->t_items, li_trans) {
fs/xfs/xfs_log_cil.c
539
struct xfs_trans *tp,
fs/xfs/xfs_log_cil.c
545
if (list_empty(&tp->t_items)) {
fs/xfs/xfs_log_cil.c
550
list_for_each_entry(lip, &tp->t_items, li_trans) {
fs/xfs/xfs_log_cil.c
635
struct xfs_trans *tp,
fs/xfs/xfs_log_cil.c
648
ASSERT(tp);
fs/xfs/xfs_log_cil.c
654
xlog_cil_insert_format_items(log, tp, &len);
fs/xfs/xfs_log_cil.c
711
ctx_res += split_res * (tp->t_ticket->t_iclog_hdrs - 1);
fs/xfs/xfs_log_cil.c
713
ctx_res = split_res * tp->t_ticket->t_iclog_hdrs;
fs/xfs/xfs_log_cil.c
714
atomic_sub(tp->t_ticket->t_iclog_hdrs, &cil->xc_iclog_hdrs);
fs/xfs/xfs_log_cil.c
740
if (!list_empty(&tp->t_busy))
fs/xfs/xfs_log_cil.c
741
list_splice_init(&tp->t_busy, &cilpcp->busy_extents);
fs/xfs/xfs_log_cil.c
750
list_for_each_entry(lip, &tp->t_items, li_trans) {
fs/xfs/xfs_log_cil.c
766
tp->t_ticket->t_curr_res -= ctx_res + len;
fs/xfs/xfs_log_cil.c
767
if (WARN_ON(tp->t_ticket->t_curr_res < 0)) {
fs/xfs/xfs_log_cil.c
775
xlog_print_trans(tp);
fs/xfs/xfs_log_priv.h
570
void xlog_cil_commit(struct xlog *log, struct xfs_trans *tp,
fs/xfs/xfs_log_recover.c
2528
struct xfs_trans *tp;
fs/xfs/xfs_log_recover.c
2546
dfc->dfc_rtxres, XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_log_recover.c
2557
xfs_defer_ops_continue(dfc, tp, &dres);
fs/xfs/xfs_log_recover.c
2558
error = xfs_trans_commit(tp);
fs/xfs/xfs_log_recover.c
2675
struct xfs_trans *tp,
fs/xfs/xfs_log_recover.c
2680
list_move(&dfp->dfp_list, &tp->t_dfops);
fs/xfs/xfs_log_recover.c
2681
error = xfs_defer_finish_one(tp, dfp);
fs/xfs/xfs_log_recover.c
2697
struct xfs_trans *tp;
fs/xfs/xfs_log_recover.c
2703
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_clearagi, 0, 0, 0, &tp);
fs/xfs/xfs_log_recover.c
2707
error = xfs_read_agi(pag, tp, 0, &agibp);
fs/xfs/xfs_log_recover.c
2715
xfs_trans_log_buf(tp, agibp, offset,
fs/xfs/xfs_log_recover.c
2718
error = xfs_trans_commit(tp);
fs/xfs/xfs_log_recover.c
2724
xfs_trans_cancel(tp);
fs/xfs/xfs_notify_failure.c
248
struct xfs_trans *tp = NULL;
fs/xfs/xfs_notify_failure.c
293
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_notify_failure.c
305
error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
fs/xfs/xfs_notify_failure.c
311
cur = xfs_rmapbt_init_cursor(mp, tp, agf_bp, pag);
fs/xfs/xfs_notify_failure.c
315
cur = xfs_rtrmapbt_init_cursor(tp, rtg);
fs/xfs/xfs_notify_failure.c
339
xfs_trans_brelse(tp, agf_bp);
fs/xfs/xfs_notify_failure.c
348
xfs_trans_cancel(tp);
fs/xfs/xfs_pnfs.c
104
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_pnfs.c
109
xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/xfs_pnfs.c
112
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_pnfs.c
113
return xfs_trans_commit(tp);
fs/xfs/xfs_pnfs.c
279
struct xfs_trans *tp;
fs/xfs/xfs_pnfs.c
327
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ichange, 0, 0, 0, &tp);
fs/xfs/xfs_pnfs.c
332
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_pnfs.c
333
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_pnfs.c
344
xfs_trans_set_sync(tp);
fs/xfs/xfs_pnfs.c
345
error = xfs_trans_commit(tp);
fs/xfs/xfs_pnfs.c
95
struct xfs_trans *tp;
fs/xfs/xfs_pnfs.c
99
0, 0, 0, &tp);
fs/xfs/xfs_qm.c
1317
struct xfs_trans *tp,
fs/xfs/xfs_qm.c
1339
error = xfs_iget(mp, tp, ino, XFS_IGET_DONTCACHE, 0, &ip);
fs/xfs/xfs_qm.c
1366
error = xfs_iread_extents(tp, ip, XFS_DATA_FORK);
fs/xfs/xfs_qm.c
1372
xfs_inode_count_blocks(tp, ip, &nblks, &rtblks);
fs/xfs/xfs_qm.c
1707
struct xfs_trans *tp;
fs/xfs/xfs_qm.c
1711
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_qm.c
1713
error = xfs_dqinode_load_parent(tp, &dp);
fs/xfs/xfs_qm.c
1718
error = xfs_dqinode_load(tp, dp, type, ipp);
fs/xfs/xfs_qm.c
1722
xfs_trans_cancel(tp);
fs/xfs/xfs_qm.c
1958
struct xfs_trans *tp,
fs/xfs/xfs_qm.c
1976
xfs_inode_count_blocks(tp, ip, &dblocks, &rblocks);
fs/xfs/xfs_qm.c
1978
xfs_trans_mod_ino_dquot(tp, ip, prevdq, XFS_TRANS_DQ_BCOUNT,
fs/xfs/xfs_qm.c
1980
xfs_trans_mod_ino_dquot(tp, ip, prevdq, XFS_TRANS_DQ_RTBCOUNT,
fs/xfs/xfs_qm.c
1982
xfs_trans_mod_ino_dquot(tp, ip, prevdq, XFS_TRANS_DQ_ICOUNT, -1);
fs/xfs/xfs_qm.c
1985
xfs_trans_mod_ino_dquot(tp, ip, newdq, XFS_TRANS_DQ_BCOUNT, dblocks);
fs/xfs/xfs_qm.c
1986
xfs_trans_mod_ino_dquot(tp, ip, newdq, XFS_TRANS_DQ_RTBCOUNT, rblocks);
fs/xfs/xfs_qm.c
1987
xfs_trans_mod_ino_dquot(tp, ip, newdq, XFS_TRANS_DQ_ICOUNT, 1);
fs/xfs/xfs_qm.c
1996
xfs_trans_mod_dquot(tp, newdq,
fs/xfs/xfs_qm.c
2007
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/xfs_qm.c
2057
struct xfs_trans *tp,
fs/xfs/xfs_qm.c
2063
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_qm.c
2090
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_ICOUNT, 1);
fs/xfs/xfs_qm.c
611
struct xfs_trans *tp;
fs/xfs/xfs_qm.c
614
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_qm.c
615
error = xfs_dqinode_load_parent(tp, &qi->qi_dirip);
fs/xfs/xfs_qm.c
625
error = xfs_dqinode_load(tp, qi->qi_dirip, XFS_DQTYPE_USER,
fs/xfs/xfs_qm.c
632
error = xfs_dqinode_load(tp, qi->qi_dirip, XFS_DQTYPE_GROUP,
fs/xfs/xfs_qm.c
639
error = xfs_dqinode_load(tp, qi->qi_dirip, XFS_DQTYPE_PROJ,
fs/xfs/xfs_qm.c
647
xfs_trans_cancel(tp);
fs/xfs/xfs_qm.c
704
struct xfs_trans *tp;
fs/xfs/xfs_qm.c
707
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_sb, 0, 0, 0, &tp);
fs/xfs/xfs_qm.c
719
xfs_log_sb(tp);
fs/xfs/xfs_qm.c
721
return xfs_trans_commit(tp);
fs/xfs/xfs_qm.c
901
struct xfs_trans *tp;
fs/xfs/xfs_qm.c
948
0, 0, &tp);
fs/xfs/xfs_qm.c
959
error = xfs_dialloc(&tp, &args, &ino);
fs/xfs/xfs_qm.c
961
error = xfs_icreate(tp, ino, &args, ipp);
fs/xfs/xfs_qm.c
963
xfs_trans_cancel(tp);
fs/xfs/xfs_qm.c
967
xfs_metafile_set_iflag(tp, *ipp, metafile_type);
fs/xfs/xfs_qm.c
994
xfs_log_sb(tp);
fs/xfs/xfs_qm.c
996
error = xfs_trans_commit(tp);
fs/xfs/xfs_qm.h
124
extern void xfs_trans_mod_dquot(struct xfs_trans *tp, struct xfs_dquot *dqp,
fs/xfs/xfs_qm_syscalls.c
280
struct xfs_trans *tp;
fs/xfs/xfs_qm_syscalls.c
307
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_qm_setqlim, 0, 0, 0, &tp);
fs/xfs/xfs_qm_syscalls.c
312
xfs_trans_dqjoin(tp, dqp);
fs/xfs/xfs_qm_syscalls.c
385
xfs_trans_log_dquot(tp, dqp);
fs/xfs/xfs_qm_syscalls.c
387
error = xfs_trans_commit(tp);
fs/xfs/xfs_qm_syscalls.c
59
struct xfs_trans *tp;
fs/xfs/xfs_qm_syscalls.c
70
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, 0, 0, 0, &tp);
fs/xfs/xfs_qm_syscalls.c
77
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_qm_syscalls.c
80
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_qm_syscalls.c
82
error = xfs_itruncate_extents(&tp, ip, XFS_DATA_FORK, 0);
fs/xfs/xfs_qm_syscalls.c
84
xfs_trans_cancel(tp);
fs/xfs/xfs_qm_syscalls.c
90
xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
fs/xfs/xfs_qm_syscalls.c
91
error = xfs_trans_commit(tp);
fs/xfs/xfs_quota.h
101
int xfs_trans_reserve_quota_nblks(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_quota.h
106
int xfs_trans_reserve_quota_icreate(struct xfs_trans *tp,
fs/xfs/xfs_quota.h
132
void xfs_trans_mod_ino_dquot(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_quota.h
150
# define xfs_trans_mod_ino_dquot(tp, ip, dqp, field, delta) \
fs/xfs/xfs_quota.h
151
xfs_trans_mod_dquot((tp), (dqp), (field), (delta))
fs/xfs/xfs_quota.h
165
#define xfs_trans_dup_dqinfo(tp, tp2)
fs/xfs/xfs_quota.h
166
#define xfs_trans_free_dqinfo(tp)
fs/xfs/xfs_quota.h
167
static inline void xfs_trans_mod_dquot_byino(struct xfs_trans *tp,
fs/xfs/xfs_quota.h
171
#define xfs_trans_apply_dquot_deltas(tp)
fs/xfs/xfs_quota.h
172
#define xfs_trans_unreserve_and_mod_dquots(tp, a)
fs/xfs/xfs_quota.h
173
static inline int xfs_trans_reserve_quota_nblks(struct xfs_trans *tp,
fs/xfs/xfs_quota.h
179
static inline int xfs_trans_reserve_quota_bydquots(struct xfs_trans *tp,
fs/xfs/xfs_quota.h
188
xfs_trans_reserve_quota_icreate(struct xfs_trans *tp, struct xfs_dquot *udqp,
fs/xfs/xfs_quota.h
194
#define xfs_qm_vop_create_dqattach(tp, ip, u, g, p)
fs/xfs/xfs_quota.h
196
#define xfs_qm_vop_chown(tp, ip, old, new) (NULL)
fs/xfs/xfs_quota.h
99
void xfs_trans_unreserve_and_mod_dquots(struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
275
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
308
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
314
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_refcount_item.c
324
xfs_refcount_update_log_item(tp, cuip, ri);
fs/xfs/xfs_refcount_item.c
330
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
335
return __xfs_refcount_update_create_intent(tp, items, count, sort,
fs/xfs/xfs_refcount_item.c
348
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
356
xfs_log_item_init(tp->t_mountp, &cudp->cud_item,
fs/xfs/xfs_refcount_item.c
367
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
370
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_refcount_item.c
383
xfs_defer_add(tp, &ri->ri_list, ri->ri_realtime ?
fs/xfs/xfs_refcount_item.c
402
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
411
error = xfs_refcount_finish_one(tp, ri, state);
fs/xfs/xfs_refcount_item.c
425
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
436
xfs_trans_brelse(tp, agbp);
fs/xfs/xfs_refcount_item.c
509
struct xfs_trans *tp;
fs/xfs/xfs_refcount_item.c
547
XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_refcount_item.c
551
error = xlog_recover_finish_intent(tp, dfp);
fs/xfs/xfs_refcount_item.c
559
return xfs_defer_ops_capture_and_commit(tp, capture_list);
fs/xfs/xfs_refcount_item.c
562
xfs_trans_cancel(tp);
fs/xfs/xfs_refcount_item.c
569
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
583
cuip = xfs_cui_init(tp->t_mountp, intent->li_type, count);
fs/xfs/xfs_refcount_item.c
606
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
611
return __xfs_refcount_update_create_intent(tp, items, count, sort,
fs/xfs/xfs_refcount_item.c
618
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.c
626
error = xfs_rtrefcount_finish_one(tp, ri, state);
fs/xfs/xfs_refcount_item.c
642
struct xfs_trans *tp,
fs/xfs/xfs_refcount_item.h
76
void xfs_refcount_defer_add(struct xfs_trans *tp,
fs/xfs/xfs_reflink.c
1039
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
1055
XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_reflink.c
1060
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_reflink.c
1063
error = xfs_reflink_end_cow_extent_locked(tp, ip, &offset_fsb,
fs/xfs/xfs_reflink.c
1070
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
1074
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
1217
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
1222
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ichange, 0, 0, 0, &tp);
fs/xfs/xfs_reflink.c
1234
xfs_trans_ijoin(tp, src, XFS_ILOCK_EXCL);
fs/xfs/xfs_reflink.c
1236
xfs_trans_log_inode(tp, src, XFS_ILOG_CORE);
fs/xfs/xfs_reflink.c
1246
xfs_trans_ijoin(tp, dest, XFS_ILOCK_EXCL);
fs/xfs/xfs_reflink.c
1248
xfs_trans_log_inode(tp, dest, XFS_ILOG_CORE);
fs/xfs/xfs_reflink.c
1254
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
1275
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
1281
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ichange, 0, 0, 0, &tp);
fs/xfs/xfs_reflink.c
1286
xfs_trans_ijoin(tp, dest, XFS_ILOCK_EXCL);
fs/xfs/xfs_reflink.c
1299
xfs_trans_log_inode(tp, dest, XFS_ILOG_CORE);
fs/xfs/xfs_reflink.c
1301
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
1356
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
138
struct xfs_trans *tp,
fs/xfs/xfs_reflink.c
1398
dblocks, rblocks, false, &tp);
fs/xfs/xfs_reflink.c
1402
resblks, 0, false, &tp);
fs/xfs/xfs_reflink.c
1485
error = xfs_trans_reserve_quota_nblks(tp, ip, dblocks, rblocks,
fs/xfs/xfs_reflink.c
1497
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK, iext_delta);
fs/xfs/xfs_reflink.c
1506
xfs_bmap_unmap_extent(tp, ip, XFS_DATA_FORK, &smap);
fs/xfs/xfs_reflink.c
1507
xfs_refcount_decrease_extent(tp, isrt, &smap);
fs/xfs/xfs_reflink.c
153
error = xfs_alloc_read_agf(pag, tp, 0, &agbp);
fs/xfs/xfs_reflink.c
1530
xfs_refcount_increase_extent(tp, isrt, dmap);
fs/xfs/xfs_reflink.c
1531
xfs_bmap_map_extent(tp, ip, XFS_DATA_FORK, dmap);
fs/xfs/xfs_reflink.c
1535
xfs_reflink_update_quota(tp, ip, false, qdelta);
fs/xfs/xfs_reflink.c
1544
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_reflink.c
1548
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
1552
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
157
cur = xfs_refcountbt_init_cursor(mp, tp, agbp, pag);
fs/xfs/xfs_reflink.c
161
xfs_trans_brelse(tp, agbp);
fs/xfs/xfs_reflink.c
1771
struct xfs_trans *tp,
fs/xfs/xfs_reflink.c
1783
error = xfs_iread_extents(tp, ip, XFS_DATA_FORK);
fs/xfs/xfs_reflink.c
1797
error = xfs_reflink_find_rtshared(mp, tp, &got,
fs/xfs/xfs_reflink.c
1800
error = xfs_reflink_find_shared(mp, tp, &got,
fs/xfs/xfs_reflink.c
182
struct xfs_trans *tp,
fs/xfs/xfs_reflink.c
1867
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
1871
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, 0, 0, 0, &tp);
fs/xfs/xfs_reflink.c
1876
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_reflink.c
1878
error = xfs_reflink_clear_inode_flag(ip, &tp);
fs/xfs/xfs_reflink.c
1882
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
1889
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
205
cur = xfs_rtrefcountbt_init_cursor(tp, rtg);
fs/xfs/xfs_reflink.c
441
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
463
rblocks, false, &tp);
fs/xfs/xfs_reflink.c
490
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
496
error = xfs_bmapi_write(tp, ip, imap->br_startoff, imap->br_blockcount,
fs/xfs/xfs_reflink.c
503
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
511
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
525
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
537
false, &tp);
fs/xfs/xfs_reflink.c
566
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
577
error = xfs_bmapi_write(tp, ip, cmap->br_startoff,
fs/xfs/xfs_reflink.c
585
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
593
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
743
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
759
0, 0, 0, &tp);
fs/xfs/xfs_reflink.c
764
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_reflink.c
767
error = xfs_reflink_cancel_cow_blocks(ip, &tp, offset_fsb, end_fsb,
fs/xfs/xfs_reflink.c
772
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.c
778
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
794
struct xfs_trans *tp,
fs/xfs/xfs_reflink.c
808
xfs_trans_mod_dquot_byino(tp, ip, qflag, blocks);
fs/xfs/xfs_reflink.c
811
# define xfs_reflink_update_quota(tp, ip, is_cow, blocks) ((void)0)
fs/xfs/xfs_reflink.c
826
struct xfs_trans *tp,
fs/xfs/xfs_reflink.c
866
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_reflink.c
890
xfs_bmap_unmap_extent(tp, ip, XFS_DATA_FORK, &data);
fs/xfs/xfs_reflink.c
891
xfs_refcount_decrease_extent(tp, isrt, &data);
fs/xfs/xfs_reflink.c
892
xfs_reflink_update_quota(tp, ip, false, -data.br_blockcount);
fs/xfs/xfs_reflink.c
910
xfs_refcount_free_cow_extent(tp, isrt, del.br_startblock,
fs/xfs/xfs_reflink.c
914
xfs_bmap_map_extent(tp, ip, XFS_DATA_FORK, &del);
fs/xfs/xfs_reflink.c
917
xfs_reflink_update_quota(tp, ip, true, del.br_blockcount);
fs/xfs/xfs_reflink.c
944
struct xfs_trans *tp;
fs/xfs/xfs_reflink.c
950
XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_reflink.c
954
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_reflink.c
956
error = xfs_reflink_end_cow_extent_locked(tp, ip, offset_fsb, end_fsb);
fs/xfs/xfs_reflink.c
958
xfs_trans_cancel(tp);
fs/xfs/xfs_reflink.c
960
error = xfs_trans_commit(tp);
fs/xfs/xfs_reflink.h
54
extern int xfs_reflink_inode_has_shared_extents(struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
276
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
333
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
339
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_rmap_item.c
349
xfs_rmap_update_log_item(tp, ruip, ri);
fs/xfs/xfs_rmap_item.c
355
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
360
return __xfs_rmap_update_create_intent(tp, items, count, sort,
fs/xfs/xfs_rmap_item.c
373
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
381
xfs_log_item_init(tp->t_mountp, &rudp->rud_item,
fs/xfs/xfs_rmap_item.c
392
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
395
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_rmap_item.c
408
xfs_defer_add(tp, &ri->ri_list, ri->ri_realtime ?
fs/xfs/xfs_rmap_item.c
427
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
435
error = xfs_rmap_finish_one(tp, ri, state);
fs/xfs/xfs_rmap_item.c
444
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
455
xfs_trans_brelse(tp, agbp);
fs/xfs/xfs_rmap_item.c
574
struct xfs_trans *tp;
fs/xfs/xfs_rmap_item.c
600
XFS_TRANS_RESERVE, &tp);
fs/xfs/xfs_rmap_item.c
604
error = xlog_recover_finish_intent(tp, dfp);
fs/xfs/xfs_rmap_item.c
612
return xfs_defer_ops_capture_and_commit(tp, capture_list);
fs/xfs/xfs_rmap_item.c
615
xfs_trans_cancel(tp);
fs/xfs/xfs_rmap_item.c
622
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
636
ruip = xfs_rui_init(tp->t_mountp, intent->li_type, count);
fs/xfs/xfs_rmap_item.c
659
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.c
664
return __xfs_rmap_update_create_intent(tp, items, count, sort,
fs/xfs/xfs_rmap_item.c
671
struct xfs_trans *tp,
fs/xfs/xfs_rmap_item.h
76
void xfs_rmap_defer_add(struct xfs_trans *tp, struct xfs_rmap_intent *ri);
fs/xfs/xfs_rtalloc.c
1006
xfs_trans_log_inode(args.tp, rbmip, XFS_ILOG_CORE);
fs/xfs/xfs_rtalloc.c
1015
xfs_trans_log_inode(args.tp, rsumip, XFS_ILOG_CORE);
fs/xfs/xfs_rtalloc.c
1035
xfs_growfs_rt_sb_fields(args.tp, nmp);
fs/xfs/xfs_rtalloc.c
1048
xfs_trans_mod_sb(args.tp, XFS_TRANS_SB_FREXTENTS, freed_rtx);
fs/xfs/xfs_rtalloc.c
1068
xfs_log_sb(args.tp);
fs/xfs/xfs_rtalloc.c
1070
error = xfs_trans_commit(args.tp);
fs/xfs/xfs_rtalloc.c
1086
xfs_trans_cancel(args.tp);
fs/xfs/xfs_rtalloc.c
1344
struct xfs_trans *tp;
fs/xfs/xfs_rtalloc.c
1346
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_rtalloc.c
1347
error = xfs_rtginode_load_parent(tp);
fs/xfs/xfs_rtalloc.c
1348
xfs_trans_cancel(tp);
fs/xfs/xfs_rtalloc.c
1605
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
1653
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
1660
error = xfs_iread_extents(tp, ip, XFS_DATA_FORK);
fs/xfs/xfs_rtalloc.c
1665
error = xfs_iread_extents(tp, ip, XFS_ATTR_FORK);
fs/xfs/xfs_rtalloc.c
1678
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
1684
error = xfs_rtginode_load(rtg, i, tp);
fs/xfs/xfs_rtalloc.c
1689
error = xfs_rtmount_iread_extents(tp,
fs/xfs/xfs_rtalloc.c
1709
struct xfs_trans *tp;
fs/xfs/xfs_rtalloc.c
1713
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_rtalloc.c
1715
error = xfs_rtginode_load_parent(tp);
fs/xfs/xfs_rtalloc.c
1721
error = xfs_rtmount_rtg(mp, tp, rtg);
fs/xfs/xfs_rtalloc.c
1730
xfs_trans_cancel(tp);
fs/xfs/xfs_rtalloc.c
1755
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
1787
xfs_trans_log_inode(tp, rbmip, XFS_ILOG_CORE);
fs/xfs/xfs_rtalloc.c
1911
error = xfs_extent_busy_flush(args->tp, rtg_group(args->rtg),
fs/xfs/xfs_rtalloc.c
1930
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
1943
.mp = tp->t_mountp,
fs/xfs/xfs_rtalloc.c
1944
.tp = tp,
fs/xfs/xfs_rtalloc.c
1976
xfs_rtgroup_trans_join(tp, args.rtg,
fs/xfs/xfs_rtalloc.c
1988
start = xfs_rtpick_extent(args.rtg, tp, maxlen);
fs/xfs/xfs_rtalloc.c
2020
xfs_rtgroup_trans_join(tp, args.rtg, XFS_RTGLOCK_BITMAP);
fs/xfs/xfs_rtalloc.c
2027
xfs_trans_mod_sb(tp, wasdel ?
fs/xfs/xfs_rtalloc.c
2045
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
2055
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_rtalloc.c
2075
error = xfs_rtallocate_rtg(tp, rgno, bno_hint, minlen, maxlen,
fs/xfs/xfs_rtalloc.c
2179
ASSERT(!xfs_has_zoned(ap->tp->t_mountp));
fs/xfs/xfs_rtalloc.c
2190
error = xfs_rtallocate_rtgs(ap->tp, bno_hint, raminlen, ralen,
fs/xfs/xfs_rtalloc.c
2194
error = xfs_rtallocate_rtg(ap->tp, 0, bno_hint, raminlen, ralen,
fs/xfs/xfs_rtalloc.c
701
struct xfs_trans *tp;
fs/xfs/xfs_rtalloc.c
710
&tp);
fs/xfs/xfs_rtalloc.c
714
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_rtalloc.c
715
error = xfs_trans_commit(tp);
fs/xfs/xfs_rtalloc.c
729
struct xfs_trans *tp;
fs/xfs/xfs_rtalloc.c
735
tp = xfs_trans_alloc_empty(rtg_mount(rtg));
fs/xfs/xfs_rtalloc.c
736
error = xfs_rtginode_load(rtg, type, tp);
fs/xfs/xfs_rtalloc.c
737
xfs_trans_cancel(tp);
fs/xfs/xfs_rtalloc.c
859
error = xfs_rtrmapbt_init_rtsb(nargs->mp, args->rtg, args->tp);
fs/xfs/xfs_rtalloc.c
866
struct xfs_trans *tp,
fs/xfs/xfs_rtalloc.c
869
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_rtalloc.c
872
xfs_trans_mod_sb(tp, XFS_TRANS_SB_REXTSIZE,
fs/xfs/xfs_rtalloc.c
875
xfs_trans_mod_sb(tp, XFS_TRANS_SB_RBMBLOCKS,
fs/xfs/xfs_rtalloc.c
878
xfs_trans_mod_sb(tp, XFS_TRANS_SB_RBLOCKS,
fs/xfs/xfs_rtalloc.c
881
xfs_trans_mod_sb(tp, XFS_TRANS_SB_REXTENTS,
fs/xfs/xfs_rtalloc.c
884
xfs_trans_mod_sb(tp, XFS_TRANS_SB_REXTSLOG,
fs/xfs/xfs_rtalloc.c
887
xfs_trans_mod_sb(tp, XFS_TRANS_SB_RGCOUNT,
fs/xfs/xfs_rtalloc.c
897
struct xfs_trans *tp;
fs/xfs/xfs_rtalloc.c
915
error = xfs_trans_alloc(mp, &M_RES(nmp)->tr_growrtfree, 0, 0, 0, &tp);
fs/xfs/xfs_rtalloc.c
920
xfs_rtgroup_trans_join(tp, rtg, XFS_RTGLOCK_RMAP);
fs/xfs/xfs_rtalloc.c
922
xfs_growfs_rt_sb_fields(tp, nmp);
fs/xfs/xfs_rtalloc.c
923
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FREXTENTS, freed_rtx);
fs/xfs/xfs_rtalloc.c
925
error = xfs_trans_commit(tp);
fs/xfs/xfs_rtalloc.c
990
&args.tp);
fs/xfs/xfs_rtalloc.c
993
nargs.tp = args.tp;
fs/xfs/xfs_rtalloc.c
996
xfs_rtgroup_trans_join(args.tp, args.rtg,
fs/xfs/xfs_rtalloc.h
75
int xfs_rtallocate_rtgs(struct xfs_trans *tp, xfs_fsblock_t bno_hint,
fs/xfs/xfs_symlink.c
102
struct xfs_trans *tp = NULL;
fs/xfs/xfs_symlink.c
150
pdqp, resblks, &tp);
fs/xfs/xfs_symlink.c
168
error = xfs_dialloc(&tp, &args, &ino);
fs/xfs/xfs_symlink.c
170
error = xfs_icreate(tp, ino, &args, &du.ip);
fs/xfs/xfs_symlink.c
181
xfs_trans_ijoin(tp, dp, 0);
fs/xfs/xfs_symlink.c
186
xfs_qm_vop_create_dqattach(tp, du.ip, udqp, gdqp, pdqp);
fs/xfs/xfs_symlink.c
189
error = xfs_symlink_write_target(tp, du.ip, I_INO(du.ip), target_path,
fs/xfs/xfs_symlink.c
199
error = xfs_dir_create_child(tp, resblks, &du);
fs/xfs/xfs_symlink.c
209
xfs_trans_set_sync(tp);
fs/xfs/xfs_symlink.c
211
error = xfs_trans_commit(tp);
fs/xfs/xfs_symlink.c
226
xfs_trans_cancel(tp);
fs/xfs/xfs_symlink.c
264
struct xfs_trans *tp;
fs/xfs/xfs_symlink.c
277
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, 0, 0, 0, &tp);
fs/xfs/xfs_symlink.c
282
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_symlink.c
292
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
fs/xfs/xfs_symlink.c
294
error = xfs_symlink_remote_truncate(tp, ip);
fs/xfs/xfs_symlink.c
298
error = xfs_trans_commit(tp);
fs/xfs/xfs_symlink.c
315
xfs_trans_cancel(tp);
fs/xfs/xfs_trace.h
1426
TP_PROTO(struct xfs_trans *tp, struct xfs_dquot *dqp,
fs/xfs/xfs_trace.h
1428
TP_ARGS(tp, dqp, field, delta),
fs/xfs/xfs_trace.h
1438
__entry->dev = tp->t_mountp->m_super->s_dev;
fs/xfs/xfs_trace.h
2242
__entry->highest_agno = args->tp->t_highest_agno;
fs/xfs/xfs_trace.h
3018
TP_PROTO(struct xfs_trans *tp, unsigned long caller_ip),
fs/xfs/xfs_trace.h
3019
TP_ARGS(tp, caller_ip),
fs/xfs/xfs_trace.h
3022
__field(struct xfs_trans *, tp)
fs/xfs/xfs_trace.h
3027
__entry->dev = tp->t_mountp->m_super->s_dev;
fs/xfs/xfs_trace.h
3028
__entry->tp = tp;
fs/xfs/xfs_trace.h
3033
__entry->tp,
fs/xfs/xfs_trace.h
3038
TP_PROTO(struct xfs_trans *tp, unsigned long caller_ip), \
fs/xfs/xfs_trace.h
3039
TP_ARGS(tp, caller_ip))
fs/xfs/xfs_trace.h
3042
TP_PROTO(struct xfs_trans *tp, int error),
fs/xfs/xfs_trace.h
3043
TP_ARGS(tp, error),
fs/xfs/xfs_trace.h
3046
__field(struct xfs_trans *, tp)
fs/xfs/xfs_trace.h
3051
__entry->dev = tp->t_mountp->m_super->s_dev;
fs/xfs/xfs_trace.h
3052
__entry->tp = tp;
fs/xfs/xfs_trace.h
3057
__entry->tp,
fs/xfs/xfs_trace.h
3062
TP_PROTO(struct xfs_trans *tp, int error), \
fs/xfs/xfs_trace.h
3063
TP_ARGS(tp, error))
fs/xfs/xfs_trace.h
4431
TP_PROTO(struct xfs_trans *tp, unsigned long caller_ip),
fs/xfs/xfs_trace.h
4432
TP_ARGS(tp, caller_ip),
fs/xfs/xfs_trace.h
4440
__entry->dev = tp->t_mountp->m_super->s_dev;
fs/xfs/xfs_trace.h
4442
if (tp->t_ticket)
fs/xfs/xfs_trace.h
4443
__entry->tid = tp->t_ticket->t_tid;
fs/xfs/xfs_trace.h
4444
__entry->flags = tp->t_flags;
fs/xfs/xfs_trace.h
4456
TP_PROTO(struct xfs_trans *tp, unsigned long caller_ip), \
fs/xfs/xfs_trace.h
4457
TP_ARGS(tp, caller_ip))
fs/xfs/xfs_trans.c
1009
struct xfs_trans *tp = *tpp;
fs/xfs/xfs_trans.c
1010
unsigned int log_res = tp->t_log_res;
fs/xfs/xfs_trans.c
1011
unsigned int log_count = tp->t_log_count;
fs/xfs/xfs_trans.c
1014
trace_xfs_trans_roll(tp, _RET_IP_);
fs/xfs/xfs_trans.c
1021
*tpp = xfs_trans_dup(tp);
fs/xfs/xfs_trans.c
103
ntp->t_mountp = tp->t_mountp;
fs/xfs/xfs_trans.c
1031
error = __xfs_trans_commit(tp, true);
fs/xfs/xfs_trans.c
1043
tp = *tpp;
fs/xfs/xfs_trans.c
1049
xfs_trans_set_context(tp);
fs/xfs/xfs_trans.c
1050
error = xfs_log_regrant(tp->t_mountp, tp->t_ticket);
fs/xfs/xfs_trans.c
1053
tp->t_log_res = log_res;
fs/xfs/xfs_trans.c
1054
tp->t_log_count = log_count;
fs/xfs/xfs_trans.c
1074
struct xfs_trans *tp;
fs/xfs/xfs_trans.c
1082
force ? XFS_TRANS_RESERVE : 0, &tp);
fs/xfs/xfs_trans.c
1087
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_trans.c
109
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/xfs_trans.c
1096
error = xfs_trans_reserve_quota_nblks(tp, ip, dblocks, rblocks, force);
fs/xfs/xfs_trans.c
1098
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
110
ASSERT(tp->t_ticket != NULL);
fs/xfs/xfs_trans.c
1107
*tpp = tp;
fs/xfs/xfs_trans.c
1111
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1127
struct xfs_trans *tp,
fs/xfs/xfs_trans.c
113
(tp->t_flags & XFS_TRANS_RESERVE) |
fs/xfs/xfs_trans.c
1131
bool rsvd = tp->t_flags & XFS_TRANS_RESERVE;
fs/xfs/xfs_trans.c
1133
if (blocks && xfs_dec_fdblocks(tp->t_mountp, blocks, rsvd))
fs/xfs/xfs_trans.c
1135
if (rtextents && xfs_dec_frextents(tp->t_mountp, rtextents)) {
fs/xfs/xfs_trans.c
1137
xfs_add_fdblocks(tp->t_mountp, blocks);
fs/xfs/xfs_trans.c
114
(tp->t_flags & XFS_TRANS_NO_WRITECOUNT) |
fs/xfs/xfs_trans.c
1140
tp->t_blk_res += blocks;
fs/xfs/xfs_trans.c
1141
tp->t_rtx_res += rtextents;
fs/xfs/xfs_trans.c
115
(tp->t_flags & XFS_TRANS_RES_FDBLKS);
fs/xfs/xfs_trans.c
1151
struct xfs_trans *tp,
fs/xfs/xfs_trans.c
1163
error = xfs_trans_reserve_more(tp, dblocks, rtx);
fs/xfs/xfs_trans.c
117
tp->t_flags |= XFS_TRANS_NO_WRITECOUNT;
fs/xfs/xfs_trans.c
1170
if (tp->t_flags & XFS_TRANS_RESERVE)
fs/xfs/xfs_trans.c
1173
error = xfs_trans_reserve_quota_nblks(tp, ip, dblocks, rblocks,
fs/xfs/xfs_trans.c
118
ntp->t_ticket = xfs_log_ticket_get(tp->t_ticket);
fs/xfs/xfs_trans.c
1180
tp->t_blk_res -= dblocks;
fs/xfs/xfs_trans.c
1182
tp->t_rtx_res -= rtx;
fs/xfs/xfs_trans.c
120
ASSERT(tp->t_blk_res >= tp->t_blk_res_used);
fs/xfs/xfs_trans.c
1200
struct xfs_trans *tp;
fs/xfs/xfs_trans.c
1206
error = xfs_trans_alloc(mp, resv, dblocks, 0, 0, &tp);
fs/xfs/xfs_trans.c
121
ntp->t_blk_res = tp->t_blk_res - tp->t_blk_res_used;
fs/xfs/xfs_trans.c
122
tp->t_blk_res = tp->t_blk_res_used;
fs/xfs/xfs_trans.c
1220
error = xfs_trans_reserve_quota_icreate(tp, udqp, gdqp, pdqp, dblocks);
fs/xfs/xfs_trans.c
1222
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1228
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1232
*tpp = tp;
fs/xfs/xfs_trans.c
124
ntp->t_rtx_res = tp->t_rtx_res - tp->t_rtx_res_used;
fs/xfs/xfs_trans.c
125
tp->t_rtx_res = tp->t_rtx_res_used;
fs/xfs/xfs_trans.c
1254
struct xfs_trans *tp;
fs/xfs/xfs_trans.c
1263
error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ichange, 0, 0, 0, &tp);
fs/xfs/xfs_trans.c
1268
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
fs/xfs/xfs_trans.c
128
xfs_defer_move(ntp, tp);
fs/xfs/xfs_trans.c
1298
error = xfs_iread_extents(tp, ip, XFS_DATA_FORK);
fs/xfs/xfs_trans.c
130
xfs_trans_dup_dqinfo(tp, ntp);
fs/xfs/xfs_trans.c
1303
xfs_inode_count_blocks(tp, ip, &dblocks, &rblocks);
fs/xfs/xfs_trans.c
1316
error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp,
fs/xfs/xfs_trans.c
1319
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1329
error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp,
fs/xfs/xfs_trans.c
1332
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1342
*tpp = tp;
fs/xfs/xfs_trans.c
1346
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1372
struct xfs_trans *tp;
fs/xfs/xfs_trans.c
1381
error = xfs_trans_alloc(mp, resv, resblks, 0, 0, &tp);
fs/xfs/xfs_trans.c
1385
error = xfs_trans_alloc(mp, resv, resblks, 0, 0, &tp);
fs/xfs/xfs_trans.c
1392
xfs_trans_ijoin(tp, dp, 0);
fs/xfs/xfs_trans.c
1393
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_trans.c
1412
error = xfs_trans_reserve_quota_nblks(tp, dp, resblks, 0, false);
fs/xfs/xfs_trans.c
1415
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
1432
*tpp = tp;
fs/xfs/xfs_trans.c
1437
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
146
struct xfs_trans *tp,
fs/xfs/xfs_trans.c
151
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
153
bool rsvd = (tp->t_flags & XFS_TRANS_RESERVE) != 0;
fs/xfs/xfs_trans.c
166
tp->t_blk_res += blocks;
fs/xfs/xfs_trans.c
173
tp->t_flags |= XFS_TRANS_PERM_LOG_RES;
fs/xfs/xfs_trans.c
175
&tp->t_ticket, (tp->t_flags & XFS_TRANS_PERM_LOG_RES));
fs/xfs/xfs_trans.c
179
tp->t_log_res = resp->tr_logres;
fs/xfs/xfs_trans.c
180
tp->t_log_count = resp->tr_logcount;
fs/xfs/xfs_trans.c
193
tp->t_rtx_res += rtextents;
fs/xfs/xfs_trans.c
199
xfs_log_ticket_ungrant(mp->m_log, tp->t_ticket);
fs/xfs/xfs_trans.c
200
tp->t_ticket = NULL;
fs/xfs/xfs_trans.c
201
tp->t_log_res = 0;
fs/xfs/xfs_trans.c
202
tp->t_flags &= ~XFS_TRANS_PERM_LOG_RES;
fs/xfs/xfs_trans.c
206
tp->t_blk_res = 0;
fs/xfs/xfs_trans.c
216
struct xfs_trans *tp;
fs/xfs/xfs_trans.c
220
tp = kmem_cache_zalloc(xfs_trans_cache, GFP_KERNEL | __GFP_NOFAIL);
fs/xfs/xfs_trans.c
223
xfs_trans_set_context(tp);
fs/xfs/xfs_trans.c
224
tp->t_flags = flags;
fs/xfs/xfs_trans.c
225
tp->t_mountp = mp;
fs/xfs/xfs_trans.c
226
INIT_LIST_HEAD(&tp->t_items);
fs/xfs/xfs_trans.c
227
INIT_LIST_HEAD(&tp->t_busy);
fs/xfs/xfs_trans.c
228
INIT_LIST_HEAD(&tp->t_dfops);
fs/xfs/xfs_trans.c
229
tp->t_highest_agno = NULLAGNUMBER;
fs/xfs/xfs_trans.c
230
return tp;
fs/xfs/xfs_trans.c
242
struct xfs_trans *tp;
fs/xfs/xfs_trans.c
254
tp = __xfs_trans_alloc(mp, flags);
fs/xfs/xfs_trans.c
256
error = xfs_trans_reserve(tp, resp, blocks, rtextents);
fs/xfs/xfs_trans.c
258
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
273
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
277
trace_xfs_trans_alloc(tp, _RET_IP_);
fs/xfs/xfs_trans.c
279
*tpp = tp;
fs/xfs/xfs_trans.c
324
xfs_trans_t *tp,
fs/xfs/xfs_trans.c
329
xfs_mount_t *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
333
tp->t_icount_delta += delta;
fs/xfs/xfs_trans.c
338
tp->t_ifree_delta += delta;
fs/xfs/xfs_trans.c
349
tp->t_blk_res_used += (uint)-delta;
fs/xfs/xfs_trans.c
350
if (tp->t_blk_res_used > tp->t_blk_res)
fs/xfs/xfs_trans.c
352
} else if (delta > 0 && (tp->t_flags & XFS_TRANS_RES_FDBLKS)) {
fs/xfs/xfs_trans.c
363
UINT_MAX - tp->t_blk_res);
fs/xfs/xfs_trans.c
364
tp->t_blk_res += blkres_delta;
fs/xfs/xfs_trans.c
367
tp->t_fdblocks_delta += delta;
fs/xfs/xfs_trans.c
377
tp->t_res_fdblocks_delta += delta;
fs/xfs/xfs_trans.c
388
tp->t_rtx_res_used += (uint)-delta;
fs/xfs/xfs_trans.c
389
ASSERT(tp->t_rtx_res_used <= tp->t_rtx_res);
fs/xfs/xfs_trans.c
391
tp->t_frextents_delta += delta;
fs/xfs/xfs_trans.c
402
tp->t_res_frextents_delta += delta;
fs/xfs/xfs_trans.c
407
tp->t_dblocks_delta += delta;
fs/xfs/xfs_trans.c
411
tp->t_agcount_delta += delta;
fs/xfs/xfs_trans.c
414
tp->t_imaxpct_delta += delta;
fs/xfs/xfs_trans.c
417
tp->t_rextsize_delta += delta;
fs/xfs/xfs_trans.c
420
tp->t_rbmblocks_delta += delta;
fs/xfs/xfs_trans.c
423
tp->t_rblocks_delta += delta;
fs/xfs/xfs_trans.c
426
tp->t_rextents_delta += delta;
fs/xfs/xfs_trans.c
429
tp->t_rextslog_delta += delta;
fs/xfs/xfs_trans.c
433
tp->t_rgcount_delta += delta;
fs/xfs/xfs_trans.c
440
tp->t_flags |= flags;
fs/xfs/xfs_trans.c
453
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
455
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
456
struct xfs_buf *bp = xfs_trans_getsb(tp);
fs/xfs/xfs_trans.c
464
if (tp->t_icount_delta)
fs/xfs/xfs_trans.c
465
be64_add_cpu(&sbp->sb_icount, tp->t_icount_delta);
fs/xfs/xfs_trans.c
466
if (tp->t_ifree_delta)
fs/xfs/xfs_trans.c
467
be64_add_cpu(&sbp->sb_ifree, tp->t_ifree_delta);
fs/xfs/xfs_trans.c
468
if (tp->t_fdblocks_delta)
fs/xfs/xfs_trans.c
469
be64_add_cpu(&sbp->sb_fdblocks, tp->t_fdblocks_delta);
fs/xfs/xfs_trans.c
470
if (tp->t_res_fdblocks_delta)
fs/xfs/xfs_trans.c
471
be64_add_cpu(&sbp->sb_fdblocks, tp->t_res_fdblocks_delta);
fs/xfs/xfs_trans.c
489
if ((tp->t_frextents_delta || tp->t_res_frextents_delta) &&
fs/xfs/xfs_trans.c
493
rtxdelta = tp->t_frextents_delta + tp->t_res_frextents_delta;
fs/xfs/xfs_trans.c
501
if (tp->t_dblocks_delta) {
fs/xfs/xfs_trans.c
502
be64_add_cpu(&sbp->sb_dblocks, tp->t_dblocks_delta);
fs/xfs/xfs_trans.c
504
XFS_FSB_TO_BB(mp, tp->t_dblocks_delta);
fs/xfs/xfs_trans.c
507
if (tp->t_agcount_delta) {
fs/xfs/xfs_trans.c
508
be32_add_cpu(&sbp->sb_agcount, tp->t_agcount_delta);
fs/xfs/xfs_trans.c
511
if (tp->t_imaxpct_delta) {
fs/xfs/xfs_trans.c
512
sbp->sb_imax_pct += tp->t_imaxpct_delta;
fs/xfs/xfs_trans.c
515
if (tp->t_rextsize_delta) {
fs/xfs/xfs_trans.c
516
be32_add_cpu(&sbp->sb_rextsize, tp->t_rextsize_delta);
fs/xfs/xfs_trans.c
531
if (tp->t_rbmblocks_delta) {
fs/xfs/xfs_trans.c
532
be32_add_cpu(&sbp->sb_rbmblocks, tp->t_rbmblocks_delta);
fs/xfs/xfs_trans.c
535
if (tp->t_rblocks_delta) {
fs/xfs/xfs_trans.c
536
be64_add_cpu(&sbp->sb_rblocks, tp->t_rblocks_delta);
fs/xfs/xfs_trans.c
538
XFS_FSB_TO_BB(mp, tp->t_rblocks_delta);
fs/xfs/xfs_trans.c
541
if (tp->t_rextents_delta) {
fs/xfs/xfs_trans.c
542
be64_add_cpu(&sbp->sb_rextents, tp->t_rextents_delta);
fs/xfs/xfs_trans.c
545
if (tp->t_rextslog_delta) {
fs/xfs/xfs_trans.c
546
sbp->sb_rextslog += tp->t_rextslog_delta;
fs/xfs/xfs_trans.c
549
if (tp->t_rgcount_delta) {
fs/xfs/xfs_trans.c
550
be32_add_cpu(&sbp->sb_rgcount, tp->t_rgcount_delta);
fs/xfs/xfs_trans.c
554
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SB_BUF);
fs/xfs/xfs_trans.c
559
xfs_trans_log_buf(tp, bp, 0, sizeof(struct xfs_dsb) - 1);
fs/xfs/xfs_trans.c
565
xfs_trans_log_buf(tp, bp, offsetof(struct xfs_dsb, sb_icount),
fs/xfs/xfs_trans.c
589
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
591
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
592
int64_t blkdelta = tp->t_blk_res;
fs/xfs/xfs_trans.c
593
int64_t rtxdelta = tp->t_rtx_res;
fs/xfs/xfs_trans.c
610
ASSERT(tp->t_blk_res || tp->t_fdblocks_delta >= 0);
fs/xfs/xfs_trans.c
611
if (xfs_has_lazysbcount(mp) || (tp->t_flags & XFS_TRANS_SB_DIRTY)) {
fs/xfs/xfs_trans.c
612
blkdelta += tp->t_fdblocks_delta;
fs/xfs/xfs_trans.c
616
ASSERT(tp->t_rtx_res || tp->t_frextents_delta >= 0);
fs/xfs/xfs_trans.c
617
if (xfs_has_rtgroups(mp) || (tp->t_flags & XFS_TRANS_SB_DIRTY)) {
fs/xfs/xfs_trans.c
618
rtxdelta += tp->t_frextents_delta;
fs/xfs/xfs_trans.c
622
if (xfs_has_lazysbcount(mp) || (tp->t_flags & XFS_TRANS_SB_DIRTY)) {
fs/xfs/xfs_trans.c
623
idelta = tp->t_icount_delta;
fs/xfs/xfs_trans.c
624
ifreedelta = tp->t_ifree_delta;
fs/xfs/xfs_trans.c
641
if (!(tp->t_flags & XFS_TRANS_SB_DIRTY))
fs/xfs/xfs_trans.c
646
mp->m_sb.sb_fdblocks += tp->t_fdblocks_delta + tp->t_res_fdblocks_delta;
fs/xfs/xfs_trans.c
654
mp->m_sb.sb_dblocks += tp->t_dblocks_delta;
fs/xfs/xfs_trans.c
655
mp->m_sb.sb_agcount += tp->t_agcount_delta;
fs/xfs/xfs_trans.c
656
mp->m_sb.sb_imax_pct += tp->t_imaxpct_delta;
fs/xfs/xfs_trans.c
657
if (tp->t_rextsize_delta)
fs/xfs/xfs_trans.c
659
mp->m_sb.sb_rextsize + tp->t_rextsize_delta);
fs/xfs/xfs_trans.c
660
mp->m_sb.sb_rbmblocks += tp->t_rbmblocks_delta;
fs/xfs/xfs_trans.c
661
mp->m_sb.sb_rblocks += tp->t_rblocks_delta;
fs/xfs/xfs_trans.c
662
mp->m_sb.sb_rextents += tp->t_rextents_delta;
fs/xfs/xfs_trans.c
663
mp->m_sb.sb_rextslog += tp->t_rextslog_delta;
fs/xfs/xfs_trans.c
664
mp->m_sb.sb_rgcount += tp->t_rgcount_delta;
fs/xfs/xfs_trans.c
678
struct xfs_trans *tp,
fs/xfs/xfs_trans.c
681
ASSERT(lip->li_log == tp->t_mountp->m_log);
fs/xfs/xfs_trans.c
682
ASSERT(lip->li_ailp == tp->t_mountp->m_ail);
fs/xfs/xfs_trans.c
686
list_add_tail(&lip->li_trans, &tp->t_items);
fs/xfs/xfs_trans.c
687
trace_xfs_trans_add_item(tp, _RET_IP_);
fs/xfs/xfs_trans.c
69
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
706
struct xfs_trans *tp,
fs/xfs/xfs_trans.c
71
xfs_extent_busy_sort(&tp->t_busy);
fs/xfs/xfs_trans.c
711
trace_xfs_trans_free_items(tp, _RET_IP_);
fs/xfs/xfs_trans.c
713
list_for_each_entry_safe(lip, next, &tp->t_items, li_trans) {
fs/xfs/xfs_trans.c
72
xfs_extent_busy_clear(&tp->t_busy, false);
fs/xfs/xfs_trans.c
74
trace_xfs_trans_free(tp, _RET_IP_);
fs/xfs/xfs_trans.c
75
xfs_trans_clear_context(tp);
fs/xfs/xfs_trans.c
76
if (!(tp->t_flags & XFS_TRANS_NO_WRITECOUNT))
fs/xfs/xfs_trans.c
77
sb_end_intwrite(tp->t_mountp->m_super);
fs/xfs/xfs_trans.c
775
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
777
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
78
xfs_trans_free_dqinfo(tp);
fs/xfs/xfs_trans.c
786
list_sort(NULL, &tp->t_items, xfs_trans_precommit_sort);
fs/xfs/xfs_trans.c
79
kmem_cache_free(xfs_trans_cache, tp);
fs/xfs/xfs_trans.c
794
list_for_each_entry_safe(lip, n, &tp->t_items, li_trans) {
fs/xfs/xfs_trans.c
798
error = lip->li_ops->iop_precommit(tp, lip);
fs/xfs/xfs_trans.c
822
struct xfs_trans *tp,
fs/xfs/xfs_trans.c
825
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
829
int sync = tp->t_flags & XFS_TRANS_SYNC;
fs/xfs/xfs_trans.c
831
trace_xfs_trans_commit(tp, _RET_IP_);
fs/xfs/xfs_trans.c
837
if (tp->t_flags & XFS_TRANS_SB_DIRTY)
fs/xfs/xfs_trans.c
838
xfs_trans_apply_sb_deltas(tp);
fs/xfs/xfs_trans.c
839
xfs_trans_apply_dquot_deltas(tp);
fs/xfs/xfs_trans.c
841
error = xfs_trans_run_precommits(tp);
fs/xfs/xfs_trans.c
852
if (!(tp->t_flags & XFS_TRANS_DIRTY))
fs/xfs/xfs_trans.c
866
ASSERT(tp->t_ticket != NULL);
fs/xfs/xfs_trans.c
868
xlog_cil_commit(log, tp, &commit_seq, regrant);
fs/xfs/xfs_trans.c
870
xfs_trans_free(tp);
fs/xfs/xfs_trans.c
886
xfs_trans_unreserve_and_mod_sb(tp);
fs/xfs/xfs_trans.c
893
xfs_trans_unreserve_and_mod_dquots(tp, true);
fs/xfs/xfs_trans.c
894
if (tp->t_ticket) {
fs/xfs/xfs_trans.c
896
xfs_log_ticket_regrant(log, tp->t_ticket);
fs/xfs/xfs_trans.c
898
xfs_log_ticket_ungrant(log, tp->t_ticket);
fs/xfs/xfs_trans.c
899
tp->t_ticket = NULL;
fs/xfs/xfs_trans.c
901
xfs_trans_free_items(tp, !!error);
fs/xfs/xfs_trans.c
902
xfs_trans_free(tp);
fs/xfs/xfs_trans.c
910
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
916
WARN_ON_ONCE(!list_empty(&tp->t_dfops) &&
fs/xfs/xfs_trans.c
917
!(tp->t_flags & XFS_TRANS_PERM_LOG_RES));
fs/xfs/xfs_trans.c
918
if (tp->t_flags & XFS_TRANS_PERM_LOG_RES) {
fs/xfs/xfs_trans.c
919
int error = xfs_defer_finish_noroll(&tp);
fs/xfs/xfs_trans.c
92
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
921
xfs_trans_cancel(tp);
fs/xfs/xfs_trans.c
926
return __xfs_trans_commit(tp, false);
fs/xfs/xfs_trans.c
947
struct xfs_trans *tp)
fs/xfs/xfs_trans.c
949
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans.c
951
bool dirty = (tp->t_flags & XFS_TRANS_DIRTY);
fs/xfs/xfs_trans.c
953
trace_xfs_trans_cancel(tp, _RET_IP_);
fs/xfs/xfs_trans.c
96
trace_xfs_trans_dup(tp, _RET_IP_);
fs/xfs/xfs_trans.c
961
if (!list_empty(&tp->t_dfops)) {
fs/xfs/xfs_trans.c
962
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
fs/xfs/xfs_trans.c
964
xfs_defer_cancel(tp);
fs/xfs/xfs_trans.c
982
list_for_each_entry(lip, &tp->t_items, li_trans)
fs/xfs/xfs_trans.c
986
xfs_trans_unreserve_and_mod_sb(tp);
fs/xfs/xfs_trans.c
987
xfs_trans_unreserve_and_mod_dquots(tp, false);
fs/xfs/xfs_trans.c
989
if (tp->t_ticket) {
fs/xfs/xfs_trans.c
990
xfs_log_ticket_ungrant(log, tp->t_ticket);
fs/xfs/xfs_trans.c
991
tp->t_ticket = NULL;
fs/xfs/xfs_trans.c
994
xfs_trans_free_items(tp, dirty);
fs/xfs/xfs_trans.c
995
xfs_trans_free(tp);
fs/xfs/xfs_trans.h
162
#define xfs_trans_set_sync(tp) ((tp)->t_flags |= XFS_TRANS_SYNC)
fs/xfs/xfs_trans.h
170
int xfs_trans_reserve_more(struct xfs_trans *tp,
fs/xfs/xfs_trans.h
175
int xfs_trans_get_buf_map(struct xfs_trans *tp, struct xfs_buftarg *target,
fs/xfs/xfs_trans.h
181
struct xfs_trans *tp,
fs/xfs/xfs_trans.h
189
return xfs_trans_get_buf_map(tp, target, &map, 1, flags, bpp);
fs/xfs/xfs_trans.h
193
struct xfs_trans *tp,
fs/xfs/xfs_trans.h
203
struct xfs_trans *tp,
fs/xfs/xfs_trans.h
212
return xfs_trans_read_buf_map(mp, tp, target, &map, 1,
fs/xfs/xfs_trans.h
217
struct xfs_buf *xfs_trans_getrtsb(struct xfs_trans *tp);
fs/xfs/xfs_trans.h
221
void xfs_trans_bdetach(struct xfs_trans *tp, struct xfs_buf *bp);
fs/xfs/xfs_trans.h
256
int xfs_trans_reserve_more_inode(struct xfs_trans *tp, struct xfs_inode *ip,
fs/xfs/xfs_trans.h
271
struct xfs_trans *tp)
fs/xfs/xfs_trans.h
273
tp->t_pflags = memalloc_nofs_save();
fs/xfs/xfs_trans.h
278
struct xfs_trans *tp)
fs/xfs/xfs_trans.h
280
memalloc_nofs_restore(tp->t_pflags);
fs/xfs/xfs_trans.h
79
int (*iop_precommit)(struct xfs_trans *tp, struct xfs_log_item *lip);
fs/xfs/xfs_trans_buf.c
102
_xfs_trans_bjoin(tp, bp, 0);
fs/xfs/xfs_trans_buf.c
117
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
129
if (!tp)
fs/xfs/xfs_trans_buf.c
138
bp = xfs_trans_buf_item_match(tp, target, map, nmaps);
fs/xfs/xfs_trans_buf.c
141
if (xfs_is_shutdown(tp->t_mountp)) {
fs/xfs/xfs_trans_buf.c
146
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
162
_xfs_trans_bjoin(tp, bp, 1);
fs/xfs/xfs_trans_buf.c
173
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
180
if (bp->b_transp == tp) {
fs/xfs/xfs_trans_buf.c
191
_xfs_trans_bjoin(tp, bp, 1);
fs/xfs/xfs_trans_buf.c
201
struct xfs_trans *tp)
fs/xfs/xfs_trans_buf.c
203
return __xfs_trans_getsb(tp, tp->t_mountp->m_sb_bp);
fs/xfs/xfs_trans_buf.c
208
struct xfs_trans *tp)
fs/xfs/xfs_trans_buf.c
210
if (!tp->t_mountp->m_rtsb_bp)
fs/xfs/xfs_trans_buf.c
212
return __xfs_trans_getsb(tp, tp->t_mountp->m_rtsb_bp);
fs/xfs/xfs_trans_buf.c
228
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
24
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
248
if (tp)
fs/xfs/xfs_trans_buf.c
249
bp = xfs_trans_buf_item_match(tp, target, map, nmaps);
fs/xfs/xfs_trans_buf.c
252
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
279
if (tp && (tp->t_flags & XFS_TRANS_DIRTY))
fs/xfs/xfs_trans_buf.c
280
xfs_force_shutdown(tp->t_mountp, SHUTDOWN_META_IO_ERROR);
fs/xfs/xfs_trans_buf.c
293
if (tp) {
fs/xfs/xfs_trans_buf.c
294
_xfs_trans_bjoin(tp, bp, 1);
fs/xfs/xfs_trans_buf.c
330
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
335
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
337
if (!tp) {
fs/xfs/xfs_trans_buf.c
37
list_for_each_entry(lip, &tp->t_items, li_trans) {
fs/xfs/xfs_trans_buf.c
386
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
391
ASSERT(tp != NULL);
fs/xfs/xfs_trans_buf.c
392
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
429
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
434
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
450
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
455
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
471
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
476
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
503
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/xfs_trans_buf.c
518
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
528
xfs_trans_dirty_buf(tp, bp);
fs/xfs/xfs_trans_buf.c
566
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
572
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
589
ASSERT(tp->t_flags & XFS_TRANS_DIRTY);
fs/xfs/xfs_trans_buf.c
605
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/xfs_trans_buf.c
62
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
621
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
626
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
632
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DINO_BUF);
fs/xfs/xfs_trans_buf.c
646
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
651
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
657
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DINO_BUF);
fs/xfs/xfs_trans_buf.c
671
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
676
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
682
xfs_trans_buf_set_type(tp, bp, XFS_BLFT_DINO_BUF);
fs/xfs/xfs_trans_buf.c
694
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
699
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
713
xfs_trans_dirty_buf(tp, bp);
fs/xfs/xfs_trans_buf.c
723
struct xfs_trans *tp,
fs/xfs/xfs_trans_buf.c
729
if (!tp)
fs/xfs/xfs_trans_buf.c
732
ASSERT(bp->b_transp == tp);
fs/xfs/xfs_trans_buf.c
75
xfs_buf_item_init(bp, tp->t_mountp);
fs/xfs/xfs_trans_buf.c
765
xfs_trans_t *tp,
fs/xfs/xfs_trans_buf.c
793
xfs_trans_buf_set_type(tp, bp, type);
fs/xfs/xfs_trans_buf.c
92
xfs_trans_add_item(tp, &bip->bli_item);
fs/xfs/xfs_trans_buf.c
93
bp->b_transp = tp;
fs/xfs/xfs_trans_buf.c
99
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
1000
error = xfs_trans_reserve_quota_bydquots(tp, mp, ip->i_udquot,
fs/xfs/xfs_trans_dquot.c
1007
error = xfs_trans_reserve_quota_bydquots(tp, mp, ip->i_udquot,
fs/xfs/xfs_trans_dquot.c
1011
xfs_trans_reserve_quota_bydquots(tp, mp, ip->i_udquot,
fs/xfs/xfs_trans_dquot.c
1023
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
1029
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_trans_dquot.c
1034
return xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp, pdqp,
fs/xfs/xfs_trans_dquot.c
1040
xfs_trans_t *tp)
fs/xfs/xfs_trans_dquot.c
1042
tp->t_dqinfo = kmem_cache_zalloc(xfs_dqtrx_cache,
fs/xfs/xfs_trans_dquot.c
1048
xfs_trans_t *tp)
fs/xfs/xfs_trans_dquot.c
1050
if (!tp->t_dqinfo)
fs/xfs/xfs_trans_dquot.c
1052
kmem_cache_free(xfs_dqtrx_cache, tp->t_dqinfo);
fs/xfs/xfs_trans_dquot.c
1053
tp->t_dqinfo = NULL;
fs/xfs/xfs_trans_dquot.c
153
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
162
xfs_trans_mod_dquot(tp, dqp, field, delta);
fs/xfs/xfs_trans_dquot.c
166
.tx_id = (uintptr_t)tp,
fs/xfs/xfs_trans_dquot.c
172
struct xfs_quotainfo *qi = tp->t_mountp->m_quotainfo;
fs/xfs/xfs_trans_dquot.c
242
xfs_trans_t *tp,
fs/xfs/xfs_trans_dquot.c
247
xfs_mount_t *mp = tp->t_mountp;
fs/xfs/xfs_trans_dquot.c
255
xfs_trans_mod_ino_dquot(tp, ip, ip->i_udquot, field, delta);
fs/xfs/xfs_trans_dquot.c
257
xfs_trans_mod_ino_dquot(tp, ip, ip->i_gdquot, field, delta);
fs/xfs/xfs_trans_dquot.c
259
xfs_trans_mod_ino_dquot(tp, ip, ip->i_pdquot, field, delta);
fs/xfs/xfs_trans_dquot.c
264
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
272
qa = tp->t_dqinfo->dqs[XFS_QM_TRANS_USR];
fs/xfs/xfs_trans_dquot.c
275
qa = tp->t_dqinfo->dqs[XFS_QM_TRANS_GRP];
fs/xfs/xfs_trans_dquot.c
278
qa = tp->t_dqinfo->dqs[XFS_QM_TRANS_PRJ];
fs/xfs/xfs_trans_dquot.c
301
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
308
ASSERT(tp);
fs/xfs/xfs_trans_dquot.c
309
ASSERT(XFS_IS_QUOTA_ON(tp->t_mountp));
fs/xfs/xfs_trans_dquot.c
31
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
315
if (tp->t_dqinfo == NULL)
fs/xfs/xfs_trans_dquot.c
316
xfs_trans_alloc_dqinfo(tp);
fs/xfs/xfs_trans_dquot.c
321
qtrx = xfs_trans_get_dqtrx(tp, dqp);
fs/xfs/xfs_trans_dquot.c
327
trace_xfs_trans_mod_dquot(tp, dqp, field, delta);
fs/xfs/xfs_trans_dquot.c
390
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
397
xfs_trans_dqjoin(tp, q[0].qt_dquot);
fs/xfs/xfs_trans_dquot.c
40
xfs_trans_add_item(tp, &dqp->q_logitem.qli_item);
fs/xfs/xfs_trans_dquot.c
400
xfs_trans_dqjoin(tp, q[0].qt_dquot);
fs/xfs/xfs_trans_dquot.c
401
xfs_trans_dqjoin(tp, q[1].qt_dquot);
fs/xfs/xfs_trans_dquot.c
407
xfs_trans_dqjoin(tp, q[i].qt_dquot);
fs/xfs/xfs_trans_dquot.c
448
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
453
.tx_id = (uintptr_t)tp,
fs/xfs/xfs_trans_dquot.c
457
struct xfs_quotainfo *qi = tp->t_mountp->m_quotainfo;
fs/xfs/xfs_trans_dquot.c
464
# define xfs_trans_apply_dquot_deltas_hook(tp, dqp) ((void)0)
fs/xfs/xfs_trans_dquot.c
477
struct xfs_trans *tp)
fs/xfs/xfs_trans_dquot.c
485
if (!tp->t_dqinfo)
fs/xfs/xfs_trans_dquot.c
488
ASSERT(tp->t_dqinfo);
fs/xfs/xfs_trans_dquot.c
490
qa = tp->t_dqinfo->dqs[j];
fs/xfs/xfs_trans_dquot.c
497
xfs_trans_dqlockedjoin(tp, qa);
fs/xfs/xfs_trans_dquot.c
512
xfs_trans_apply_dquot_deltas_hook(tp, dqp);
fs/xfs/xfs_trans_dquot.c
55
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
578
xfs_trans_log_dquot(tp, dqp);
fs/xfs/xfs_trans_dquot.c
62
xfs_has_bigtime(tp->t_mountp) &&
fs/xfs/xfs_trans_dquot.c
635
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
640
.tx_id = (uintptr_t)tp,
fs/xfs/xfs_trans_dquot.c
644
struct xfs_quotainfo *qi = tp->t_mountp->m_quotainfo;
fs/xfs/xfs_trans_dquot.c
651
# define xfs_trans_unreserve_and_mod_dquots_hook(tp, dqp) ((void)0)
fs/xfs/xfs_trans_dquot.c
66
tp->t_flags |= XFS_TRANS_DIRTY;
fs/xfs/xfs_trans_dquot.c
663
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
671
if (!tp->t_dqinfo)
fs/xfs/xfs_trans_dquot.c
675
qa = tp->t_dqinfo->dqs[j];
fs/xfs/xfs_trans_dquot.c
686
xfs_trans_unreserve_and_mod_dquots_hook(tp, dqp);
fs/xfs/xfs_trans_dquot.c
811
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
878
if (tp) {
fs/xfs/xfs_trans_dquot.c
880
xfs_trans_mod_dquot(tp, dqp, flags & XFS_QMOPT_RESBLK_MASK,
fs/xfs/xfs_trans_dquot.c
882
xfs_trans_mod_dquot(tp, dqp, XFS_TRANS_DQ_RES_INOS, ninos);
fs/xfs/xfs_trans_dquot.c
920
struct xfs_trans *tp,
fs/xfs/xfs_trans_dquot.c
937
error = xfs_trans_dqresv(tp, mp, udqp, nblks, ninos, flags);
fs/xfs/xfs_trans_dquot.c
943
error = xfs_trans_dqresv(tp, mp, gdqp, nblks, ninos, flags);
fs/xfs/xfs_trans_dquot.c
949
error = xfs_trans_dqresv(tp, mp, pdqp, nblks, ninos, flags);
fs/xfs/xfs_trans_dquot.c
962
xfs_trans_dqresv(tp, mp, gdqp, -nblks, -ninos, flags);
fs/xfs/xfs_trans_dquot.c
966
xfs_trans_dqresv(tp, mp, udqp, -nblks, -ninos, flags);
fs/xfs/xfs_trans_dquot.c
978
struct xfs_trans *tp,
fs/xfs/xfs_trans_priv.h
20
void xfs_trans_unreserve_and_mod_sb(struct xfs_trans *tp);
fs/xfs/xfs_verify_media.c
109
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_verify_media.c
123
error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
fs/xfs/xfs_verify_media.c
129
cur = xfs_rmapbt_init_cursor(mp, tp, agf_bp, pag);
fs/xfs/xfs_verify_media.c
133
cur = xfs_rtrmapbt_init_cursor(tp, rtg);
fs/xfs/xfs_verify_media.c
157
xfs_trans_brelse(tp, agf_bp);
fs/xfs/xfs_verify_media.c
166
xfs_trans_cancel(tp);
fs/xfs/xfs_verify_media.c
96
struct xfs_trans *tp;
fs/xfs/xfs_zone_alloc.c
230
struct xfs_trans *tp,
fs/xfs/xfs_zone_alloc.c
275
error = xfs_iext_count_extend(tp, ip, XFS_DATA_FORK,
fs/xfs/xfs_zone_alloc.c
284
xfs_bmap_unmap_extent(tp, ip, XFS_DATA_FORK, &data);
fs/xfs/xfs_zone_alloc.c
286
xfs_refcount_decrease_extent(tp, true, &data);
fs/xfs/xfs_zone_alloc.c
288
error = xfs_free_extent_later(tp, data.br_startblock,
fs/xfs/xfs_zone_alloc.c
298
xfs_rtb_to_rgbno(tp->t_mountp, new->br_startblock),
fs/xfs/xfs_zone_alloc.c
301
xfs_rtgroup_trans_join(tp, rtg, XFS_RTGLOCK_RMAP);
fs/xfs/xfs_zone_alloc.c
305
xfs_trans_log_inode(tp, rmapip, XFS_ILOG_CORE);
fs/xfs/xfs_zone_alloc.c
308
xfs_bmap_map_extent(tp, ip, XFS_DATA_FORK, new);
fs/xfs/xfs_zone_alloc.c
335
struct xfs_trans *tp;
fs/xfs/xfs_zone_alloc.c
345
XFS_TRANS_RESERVE | XFS_TRANS_RES_FDBLKS, &tp);
fs/xfs/xfs_zone_alloc.c
349
xfs_trans_ijoin(tp, ip, 0);
fs/xfs/xfs_zone_alloc.c
351
error = xfs_zoned_map_extent(tp, ip, &new, oz, old_startblock);
fs/xfs/xfs_zone_alloc.c
353
xfs_trans_cancel(tp);
fs/xfs/xfs_zone_alloc.c
355
error = xfs_trans_commit(tp);
fs/xfs/xfs_zone_alloc.c
376
struct xfs_trans *tp,
fs/xfs/xfs_zone_alloc.c
381
struct xfs_mount *mp = tp->t_mountp;
fs/xfs/xfs_zone_alloc.c
407
xfs_trans_log_inode(tp, rmapip, XFS_ILOG_CORE);
fs/xfs/xfs_zone_alloc.h
34
int xfs_zone_free_blocks(struct xfs_trans *tp, struct xfs_rtgroup *rtg,
fs/xfs/xfs_zone_gc.c
323
struct xfs_trans *tp;
fs/xfs/xfs_zone_gc.c
337
tp = xfs_trans_alloc_empty(mp);
fs/xfs/xfs_zone_gc.c
339
cur = xfs_rtrmapbt_init_cursor(tp, rtg);
fs/xfs/xfs_zone_gc.c
344
xfs_trans_cancel(tp);
include/linux/atmdev.h
234
int atm_pcr_goal(const struct atm_trafprm *tp);
include/linux/mfd/si476x-core.h
334
bool tp;
include/linux/syscalls.h
624
const struct __kernel_timespec __user *tp);
include/linux/syscalls.h
626
struct __kernel_timespec __user *tp);
include/linux/syscalls.h
628
struct __kernel_timespec __user *tp);
include/linux/syscalls.h
638
struct old_timespec32 __user *tp);
include/linux/syscalls.h
640
struct old_timespec32 __user *tp);
include/linux/syscalls.h
642
struct old_timespec32 __user *tp);
include/linux/tcp.h
608
static inline void tcp_move_syn(struct tcp_sock *tp,
include/linux/tcp.h
611
tp->saved_syn = req->saved_syn;
include/linux/tcp.h
615
static inline void tcp_saved_syn_free(struct tcp_sock *tp)
include/linux/tcp.h
617
kfree(tp->saved_syn);
include/linux/tcp.h
618
tp->saved_syn = NULL;
include/linux/tcp.h
631
static inline u16 tcp_mss_clamp(const struct tcp_sock *tp, u16 mss)
include/linux/tcp.h
636
u16 user_mss = READ_ONCE(tp->rx_opt.user_mss);
include/linux/torture.h
114
char *f, struct task_struct **tp, void (*cbf)(struct task_struct *tp));
include/linux/torture.h
115
void _torture_stop_kthread(char *m, struct task_struct **tp);
include/linux/torture.h
117
#define torture_create_kthread(n, arg, tp) \
include/linux/torture.h
119
"Failed to create " #n, &(tp), NULL)
include/linux/torture.h
120
#define torture_create_kthread_cb(n, arg, tp, cbf) \
include/linux/torture.h
122
"Failed to create " #n, &(tp), cbf)
include/linux/torture.h
123
#define torture_stop_kthread(n, tp) \
include/linux/torture.h
124
_torture_stop_kthread("Stopping " #n " task", &(tp))
include/linux/torture.h
93
void torture_shuffle_task_register(struct task_struct *tp);
include/linux/trace_events.h
466
return call->tp ? call->tp->name : NULL;
include/linux/tracepoint-defs.h
57
struct tracepoint *tp;
include/linux/tracepoint-defs.h
87
#define DECLARE_TRACEPOINT(tp) \
include/linux/tracepoint-defs.h
88
extern struct tracepoint __tracepoint_##tp
include/linux/tracepoint-defs.h
91
# define tracepoint_enabled(tp) \
include/linux/tracepoint-defs.h
92
static_branch_unlikely(&(__tracepoint_##tp).key)
include/linux/tracepoint.h
122
static inline bool tracepoint_is_faultable(struct tracepoint *tp)
include/linux/tracepoint.h
124
return tp->ext && tp->ext->faultable;
include/linux/tracepoint.h
145
static inline bool tracepoint_is_faultable(struct tracepoint *tp)
include/linux/tracepoint.h
38
tracepoint_probe_register(struct tracepoint *tp, void *probe, void *data);
include/linux/tracepoint.h
40
tracepoint_probe_register_prio(struct tracepoint *tp, void *probe, void *data,
include/linux/tracepoint.h
43
tracepoint_probe_register_prio_may_exist(struct tracepoint *tp, void *probe, void *data,
include/linux/tracepoint.h
46
tracepoint_probe_unregister(struct tracepoint *tp, void *probe, void *data);
include/linux/tracepoint.h
48
tracepoint_probe_register_may_exist(struct tracepoint *tp, void *probe,
include/linux/tracepoint.h
51
return tracepoint_probe_register_prio_may_exist(tp, probe, data,
include/linux/tracepoint.h
55
for_each_kernel_tracepoint(void (*fct)(struct tracepoint *tp, void *priv),
include/net/act_api.h
129
struct tcf_proto *tp,
include/net/act_api.h
216
int tcf_action_init(struct net *net, struct tcf_proto *tp, struct nlattr *nla,
include/net/act_api.h
222
struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
include/net/act_api.h
267
int tcf_action_check_ctrlact(int action, struct tcf_proto *tp,
include/net/flow_dissector.h
204
struct flow_dissector_key_ports tp;
include/net/mptcp.h
161
void mptcp_write_options(struct tcphdr *th, __be32 *ptr, struct tcp_sock *tp,
include/net/netfilter/nf_flow_table.h
38
struct flow_dissector_key_ports tp;
include/net/netfilter/nf_tables_offload.h
50
struct flow_dissector_key_ports tp;
include/net/netlink.h
403
#define __NLA_IS_UINT_TYPE(tp) \
include/net/netlink.h
404
(tp == NLA_U8 || tp == NLA_U16 || tp == NLA_U32 || \
include/net/netlink.h
405
tp == NLA_U64 || tp == NLA_UINT || \
include/net/netlink.h
406
tp == NLA_BE16 || tp == NLA_BE32)
include/net/netlink.h
407
#define __NLA_IS_SINT_TYPE(tp) \
include/net/netlink.h
408
(tp == NLA_S8 || tp == NLA_S16 || tp == NLA_S32 || tp == NLA_S64 || \
include/net/netlink.h
409
tp == NLA_SINT)
include/net/netlink.h
412
#define NLA_ENSURE_UINT_TYPE(tp) \
include/net/netlink.h
413
(__NLA_ENSURE(__NLA_IS_UINT_TYPE(tp)) + tp)
include/net/netlink.h
414
#define NLA_ENSURE_UINT_OR_BINARY_TYPE(tp) \
include/net/netlink.h
415
(__NLA_ENSURE(__NLA_IS_UINT_TYPE(tp) || \
include/net/netlink.h
416
tp == NLA_MSECS || \
include/net/netlink.h
417
tp == NLA_BINARY) + tp)
include/net/netlink.h
418
#define NLA_ENSURE_SINT_TYPE(tp) \
include/net/netlink.h
419
(__NLA_ENSURE(__NLA_IS_SINT_TYPE(tp)) + tp)
include/net/netlink.h
420
#define NLA_ENSURE_INT_OR_BINARY_TYPE(tp) \
include/net/netlink.h
421
(__NLA_ENSURE(__NLA_IS_UINT_TYPE(tp) || \
include/net/netlink.h
422
__NLA_IS_SINT_TYPE(tp) || \
include/net/netlink.h
423
tp == NLA_MSECS || \
include/net/netlink.h
424
tp == NLA_BINARY) + tp)
include/net/netlink.h
425
#define NLA_ENSURE_NO_VALIDATION_PTR(tp) \
include/net/netlink.h
426
(__NLA_ENSURE(tp != NLA_BITFIELD32 && \
include/net/netlink.h
427
tp != NLA_REJECT && \
include/net/netlink.h
428
tp != NLA_NESTED && \
include/net/netlink.h
429
tp != NLA_NESTED_ARRAY) + tp)
include/net/netlink.h
431
#define NLA_POLICY_RANGE(tp, _min, _max) { \
include/net/netlink.h
432
.type = NLA_ENSURE_INT_OR_BINARY_TYPE(tp), \
include/net/netlink.h
438
#define NLA_POLICY_FULL_RANGE(tp, _range) { \
include/net/netlink.h
439
.type = NLA_ENSURE_UINT_OR_BINARY_TYPE(tp), \
include/net/netlink.h
444
#define NLA_POLICY_FULL_RANGE_SIGNED(tp, _range) { \
include/net/netlink.h
445
.type = NLA_ENSURE_SINT_TYPE(tp), \
include/net/netlink.h
450
#define NLA_POLICY_MIN(tp, _min) { \
include/net/netlink.h
451
.type = NLA_ENSURE_INT_OR_BINARY_TYPE(tp), \
include/net/netlink.h
456
#define NLA_POLICY_MAX(tp, _max) { \
include/net/netlink.h
457
.type = NLA_ENSURE_INT_OR_BINARY_TYPE(tp), \
include/net/netlink.h
462
#define NLA_POLICY_MASK(tp, _mask) { \
include/net/netlink.h
463
.type = NLA_ENSURE_UINT_TYPE(tp), \
include/net/netlink.h
468
#define NLA_POLICY_VALIDATE_FN(tp, fn, ...) { \
include/net/netlink.h
469
.type = NLA_ENSURE_NO_VALIDATION_PTR(tp), \
include/net/pkt_cls.h
101
if (arg->count >= arg->skip && arg->fn(tp, filter, arg) < 0) {
include/net/pkt_cls.h
154
const struct tcf_proto *tp,
include/net/pkt_cls.h
161
const struct tcf_proto *tp,
include/net/pkt_cls.h
164
int ret = tcf_classify(skb, NULL, tp, res, compat_mode);
include/net/pkt_cls.h
192
tcf_bind_filter(struct tcf_proto *tp, struct tcf_result *r, unsigned long base)
include/net/pkt_cls.h
194
struct Qdisc *q = tp->chain->block->q;
include/net/pkt_cls.h
216
tcf_unbind_filter(struct tcf_proto *tp, struct tcf_result *r)
include/net/pkt_cls.h
218
struct Qdisc *q = tp->chain->block->q;
include/net/pkt_cls.h
378
int tcf_exts_validate(struct net *net, struct tcf_proto *tp,
include/net/pkt_cls.h
382
int tcf_exts_validate_ex(struct net *net, struct tcf_proto *tp, struct nlattr **tb,
include/net/pkt_cls.h
53
struct tcf_proto *tp);
include/net/pkt_cls.h
536
#define tcf_em_tree_validate(tp, tb, t) ((void)(t), 0)
include/net/pkt_cls.h
609
int tc_setup_cb_add(struct tcf_block *block, struct tcf_proto *tp,
include/net/pkt_cls.h
612
int tc_setup_cb_replace(struct tcf_block *block, struct tcf_proto *tp,
include/net/pkt_cls.h
617
int tc_setup_cb_destroy(struct tcf_block *block, struct tcf_proto *tp,
include/net/pkt_cls.h
620
int tc_setup_cb_reoffload(struct tcf_block *block, struct tcf_proto *tp,
include/net/pkt_cls.h
65
int police, struct tcf_proto *tp, u32 handle, bool used_action_miss);
include/net/pkt_cls.h
766
const struct tcf_proto *tp, u32 flags,
include/net/pkt_cls.h
769
cls_common->chain_index = tp->chain->index;
include/net/pkt_cls.h
770
cls_common->protocol = tp->protocol;
include/net/pkt_cls.h
771
cls_common->prio = tp->prio >> 16;
include/net/pkt_cls.h
777
static inline void tcf_proto_update_usesw(struct tcf_proto *tp, u32 flags)
include/net/pkt_cls.h
779
if (tp->usesw)
include/net/pkt_cls.h
783
tp->usesw = true;
include/net/pkt_cls.h
94
const struct tcf_proto *tp, struct tcf_result *res,
include/net/pkt_cls.h
97
static inline bool tc_cls_stats_dump(struct tcf_proto *tp,
include/net/sch_generic.h
365
void (*destroy)(struct tcf_proto *tp, bool rtnl_held,
include/net/sch_generic.h
369
void (*put)(struct tcf_proto *tp, void *f);
include/net/sch_generic.h
375
int (*delete)(struct tcf_proto *tp, void *arg,
include/net/sch_generic.h
378
bool (*delete_empty)(struct tcf_proto *tp);
include/net/sch_generic.h
379
void (*walk)(struct tcf_proto *tp,
include/net/sch_generic.h
381
int (*reoffload)(struct tcf_proto *tp, bool add,
include/net/sch_generic.h
384
void (*hw_add)(struct tcf_proto *tp,
include/net/sch_generic.h
386
void (*hw_del)(struct tcf_proto *tp,
include/net/sch_generic.h
399
struct tcf_exts * (*get_exts)(const struct tcf_proto *tp,
include/net/sch_generic.h
407
struct tcf_proto *tp, void *fh,
include/net/sch_generic.h
521
static inline bool lockdep_tcf_proto_is_locked(struct tcf_proto *tp)
include/net/sch_generic.h
523
return lockdep_is_held(&tp->lock);
include/net/sch_generic.h
529
#define tcf_proto_dereference(p, tp) \
include/net/sch_generic.h
530
rcu_dereference_protected(p, lockdep_tcf_proto_is_locked(tp))
include/net/smc.h
103
#define smc_call_hsbpf(init_val, tp, ...) ({ (void)(tp); (init_val); })
include/net/smc.h
80
int (*syn_option)(struct tcp_sock *tp);
include/net/smc.h
87
int (*synack_option)(const struct tcp_sock *tp,
include/net/smc.h
92
#define smc_call_hsbpf(init_val, tp, func, ...) ({ \
include/net/smc.h
96
ctrl = rcu_dereference(sock_net((struct sock *)(tp))->smc.hs_ctrl); \
include/net/smc.h
98
__ret = ctrl->func(tp, ##__VA_ARGS__); \
include/net/tc_wrapper.h
141
const struct tcf_proto *tp, \
include/net/tc_wrapper.h
154
static inline int tc_classify(struct sk_buff *skb, const struct tcf_proto *tp,
include/net/tc_wrapper.h
161
if (tp->classify == cls_bpf_classify)
include/net/tc_wrapper.h
162
return cls_bpf_classify(skb, tp, res);
include/net/tc_wrapper.h
165
if (tp->classify == u32_classify)
include/net/tc_wrapper.h
166
return u32_classify(skb, tp, res);
include/net/tc_wrapper.h
169
if (tp->classify == fl_classify)
include/net/tc_wrapper.h
170
return fl_classify(skb, tp, res);
include/net/tc_wrapper.h
173
if (tp->classify == fw_classify)
include/net/tc_wrapper.h
174
return fw_classify(skb, tp, res);
include/net/tc_wrapper.h
177
if (tp->classify == mall_classify)
include/net/tc_wrapper.h
178
return mall_classify(skb, tp, res);
include/net/tc_wrapper.h
181
if (tp->classify == basic_classify)
include/net/tc_wrapper.h
182
return basic_classify(skb, tp, res);
include/net/tc_wrapper.h
185
if (tp->classify == cls_cgroup_classify)
include/net/tc_wrapper.h
186
return cls_cgroup_classify(skb, tp, res);
include/net/tc_wrapper.h
189
if (tp->classify == flow_classify)
include/net/tc_wrapper.h
190
return flow_classify(skb, tp, res);
include/net/tc_wrapper.h
193
if (tp->classify == route4_classify)
include/net/tc_wrapper.h
194
return route4_classify(skb, tp, res);
include/net/tc_wrapper.h
198
return tp->classify(skb, tp, res);
include/net/tc_wrapper.h
257
static inline int tc_classify(struct sk_buff *skb, const struct tcf_proto *tp,
include/net/tc_wrapper.h
260
return tp->classify(skb, tp, res);
include/net/tcp.h
1003
static inline u32 tcp_time_stamp_ms(const struct tcp_sock *tp)
include/net/tcp.h
1005
return div_u64(tp->tcp_mstamp, USEC_PER_MSEC);
include/net/tcp.h
1008
static inline u32 tcp_time_stamp_ts(const struct tcp_sock *tp)
include/net/tcp.h
1010
if (tp->tcp_usec_ts)
include/net/tcp.h
1011
return tp->tcp_mstamp;
include/net/tcp.h
1012
return tcp_time_stamp_ms(tp);
include/net/tcp.h
1018
static inline void tcp_mstamp_refresh_inline(struct tcp_sock *tp)
include/net/tcp.h
1022
tp->tcp_clock_cache = val;
include/net/tcp.h
1023
tp->tcp_mstamp = div_u64(val, NSEC_PER_USEC);
include/net/tcp.h
1025
void tcp_mstamp_refresh(struct tcp_sock *tp);
include/net/tcp.h
1405
u32 tcp_slow_start(struct tcp_sock *tp, u32 acked);
include/net/tcp.h
1406
void tcp_cong_avoid_ai(struct tcp_sock *tp, u32 w, u32 acked);
include/net/tcp.h
1482
static inline int tcp_is_sack(const struct tcp_sock *tp)
include/net/tcp.h
1484
return likely(tp->rx_opt.sack_ok);
include/net/tcp.h
1487
static inline bool tcp_is_reno(const struct tcp_sock *tp)
include/net/tcp.h
1489
return !tcp_is_sack(tp);
include/net/tcp.h
1492
static inline unsigned int tcp_left_out(const struct tcp_sock *tp)
include/net/tcp.h
1494
return tp->sacked_out + tp->lost_out;
include/net/tcp.h
1511
static inline unsigned int tcp_packets_in_flight(const struct tcp_sock *tp)
include/net/tcp.h
1513
return tp->packets_out - tcp_left_out(tp) + tp->retrans_out;
include/net/tcp.h
1518
static inline u32 tcp_snd_cwnd(const struct tcp_sock *tp)
include/net/tcp.h
1520
return tp->snd_cwnd;
include/net/tcp.h
1523
static inline void tcp_snd_cwnd_set(struct tcp_sock *tp, u32 val)
include/net/tcp.h
1526
WRITE_ONCE(tp->snd_cwnd, val);
include/net/tcp.h
1529
static inline bool tcp_in_slow_start(const struct tcp_sock *tp)
include/net/tcp.h
1531
return tcp_snd_cwnd(tp) < tp->snd_ssthresh;
include/net/tcp.h
1534
static inline bool tcp_in_initial_slowstart(const struct tcp_sock *tp)
include/net/tcp.h
1536
return tp->snd_ssthresh >= TCP_INFINITE_SSTHRESH;
include/net/tcp.h
1551
const struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
1554
return tp->snd_ssthresh;
include/net/tcp.h
1556
return max(tp->snd_ssthresh,
include/net/tcp.h
1557
((tcp_snd_cwnd(tp) >> 1) +
include/net/tcp.h
1558
(tcp_snd_cwnd(tp) >> 2)));
include/net/tcp.h
1562
#define tcp_verify_left_out(tp) WARN_ON(tcp_left_out(tp) > tp->packets_out)
include/net/tcp.h
1565
__u32 tcp_init_cwnd(const struct tcp_sock *tp, const struct dst_entry *dst);
include/net/tcp.h
1570
static inline __u32 tcp_max_tso_deferred_mss(const struct tcp_sock *tp)
include/net/tcp.h
1576
static inline u32 tcp_wnd_end(const struct tcp_sock *tp)
include/net/tcp.h
1578
return tp->snd_una + tp->snd_wnd;
include/net/tcp.h
1596
const struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
1598
if (tp->is_cwnd_limited)
include/net/tcp.h
1602
if (tcp_in_slow_start(tp))
include/net/tcp.h
1603
return tcp_snd_cwnd(tp) < 2 * tp->max_packets_out;
include/net/tcp.h
1669
static inline void tcp_init_wl(struct tcp_sock *tp, u32 seq)
include/net/tcp.h
1671
tp->snd_wl1 = seq;
include/net/tcp.h
1674
static inline void tcp_update_wl(struct tcp_sock *tp, u32 seq)
include/net/tcp.h
1676
tp->snd_wl1 = seq;
include/net/tcp.h
1719
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
1723
tp->packets_out || ca_ops->cong_control)
include/net/tcp.h
1725
delta = tcp_jiffies32 - tp->lsndtime;
include/net/tcp.h
1788
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
1790
tp->rcv_ssthresh = min(tp->rcv_ssthresh, new_ssthresh);
include/net/tcp.h
1792
tp->rcv_ssthresh = max_t(u32, tp->rcv_ssthresh,
include/net/tcp.h
1825
const struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
1826
int avail = READ_ONCE(tp->rcv_nxt) - READ_ONCE(tp->copied_seq);
include/net/tcp.h
1832
(tcp_receive_window(tp) <= inet_csk(sk)->icsk_ack.rcv_mss);
include/net/tcp.h
1842
static inline int keepalive_intvl_when(const struct tcp_sock *tp)
include/net/tcp.h
1844
struct net *net = sock_net((struct sock *)tp);
include/net/tcp.h
1850
val = READ_ONCE(tp->keepalive_intvl);
include/net/tcp.h
1855
static inline int keepalive_time_when(const struct tcp_sock *tp)
include/net/tcp.h
1857
struct net *net = sock_net((struct sock *)tp);
include/net/tcp.h
1861
val = READ_ONCE(tp->keepalive_time);
include/net/tcp.h
1866
static inline int keepalive_probes(const struct tcp_sock *tp)
include/net/tcp.h
1868
struct net *net = sock_net((struct sock *)tp);
include/net/tcp.h
1874
val = READ_ONCE(tp->keepalive_probes);
include/net/tcp.h
1879
static inline u32 keepalive_time_elapsed(const struct tcp_sock *tp)
include/net/tcp.h
1881
const struct inet_connection_sock *icsk = &tp->inet_conn;
include/net/tcp.h
1884
tcp_jiffies32 - tp->rcv_tstamp);
include/net/tcp.h
1941
static inline void __tcp_fast_path_on(struct tcp_sock *tp, u32 snd_wnd)
include/net/tcp.h
1946
if (sk_is_mptcp((struct sock *)tp))
include/net/tcp.h
1949
ace = tcp_ecn_mode_accecn(tp) ?
include/net/tcp.h
1950
((tp->delivered_ce + TCP_ACCECN_CEP_INIT_OFFSET) &
include/net/tcp.h
1953
tp->pred_flags = htonl((tp->tcp_header_len << 26) |
include/net/tcp.h
1959
static inline void tcp_fast_path_on(struct tcp_sock *tp)
include/net/tcp.h
1961
__tcp_fast_path_on(tp, tp->snd_wnd >> tp->rx_opt.snd_wscale);
include/net/tcp.h
1966
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
1968
if (RB_EMPTY_ROOT(&tp->out_of_order_queue) &&
include/net/tcp.h
1969
tp->rcv_wnd &&
include/net/tcp.h
1971
!tp->urg_data)
include/net/tcp.h
1972
tcp_fast_path_on(tp);
include/net/tcp.h
1990
static inline void tcp_clear_all_retrans_hints(struct tcp_sock *tp)
include/net/tcp.h
1992
tp->retransmit_skb_hint = NULL;
include/net/tcp.h
2111
void tcp_free_fastopen_req(struct tcp_sock *tp);
include/net/tcp.h
2184
static inline void tcp_chrono_set(struct tcp_sock *tp, const enum tcp_chrono new)
include/net/tcp.h
2187
enum tcp_chrono old = tp->chrono_type;
include/net/tcp.h
2193
WRITE_ONCE(tp->chrono_stat[old - 1],
include/net/tcp.h
2194
tp->chrono_stat[old - 1] + now - tp->chrono_start);
include/net/tcp.h
2195
WRITE_ONCE(tp->chrono_start, now);
include/net/tcp.h
2196
WRITE_ONCE(tp->chrono_type, new);
include/net/tcp.h
2201
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
2208
if (type > tp->chrono_type)
include/net/tcp.h
2209
tcp_chrono_set(tp, type);
include/net/tcp.h
2271
const struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
2273
return tp->write_seq == tp->snd_nxt;
include/net/tcp.h
2335
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
2337
__tcp_push_pending_frames(sk, tcp_current_mss(sk), tp->nonagle);
include/net/tcp.h
2345
static inline u32 tcp_highest_sack_seq(struct tcp_sock *tp)
include/net/tcp.h
2347
if (!tp->sacked_out)
include/net/tcp.h
2348
return tp->snd_una;
include/net/tcp.h
2350
if (tp->highest_sack == NULL)
include/net/tcp.h
2351
return tp->snd_nxt;
include/net/tcp.h
2353
return TCP_SKB_CB(tp->highest_sack)->seq;
include/net/tcp.h
2395
static inline bool tcp_stream_is_thin(struct tcp_sock *tp)
include/net/tcp.h
2397
return tp->packets_out < 4 && !tcp_in_initial_slowstart(tp);
include/net/tcp.h
2450
static inline u32 tcp_notsent_lowat(const struct tcp_sock *tp)
include/net/tcp.h
2452
struct net *net = sock_net((struct sock *)tp);
include/net/tcp.h
2455
val = READ_ONCE(tp->notsent_lowat);
include/net/tcp.h
2590
const struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
2597
ao = rcu_dereference_protected(tp->ao_info,
include/net/tcp.h
2608
rcu_access_pointer(tp->md5sig_info)) {
include/net/tcp.h
2609
out->md5_key = tp->af_specific->md5_lookup(sk, sk);
include/net/tcp.h
2641
extern s32 tcp_rack_skb_timeout(struct tcp_sock *tp, struct sk_buff *skb,
include/net/tcp.h
2743
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp.h
2749
!tp->urg_data ||
include/net/tcp.h
2750
before(tp->urg_seq, tp->copied_seq) ||
include/net/tcp.h
2751
!before(tp->urg_seq, tp->rcv_nxt)) {
include/net/tcp.h
2753
answ = tp->rcv_nxt - tp->copied_seq;
include/net/tcp.h
2759
answ = tp->urg_seq - tp->copied_seq;
include/net/tcp.h
2767
static inline void tcp_segs_in(struct tcp_sock *tp, const struct sk_buff *skb)
include/net/tcp.h
2776
WRITE_ONCE(tp->segs_in, tp->segs_in + segs_in);
include/net/tcp.h
2778
WRITE_ONCE(tp->data_segs_in, tp->data_segs_in + segs_in);
include/net/tcp.h
2996
void clean_acked_data_enable(struct tcp_sock *tp,
include/net/tcp.h
2998
void clean_acked_data_disable(struct tcp_sock *tp);
include/net/tcp.h
3004
const struct tcp_sock *tp)
include/net/tcp.h
3007
skb->skb_mstamp_ns += (u64)tp->tcp_tx_delay * NSEC_PER_USEC;
include/net/tcp.h
436
static inline bool tcp_ecn_mode_any(const struct tcp_sock *tp)
include/net/tcp.h
438
return tp->ecn_flags & TCP_ECN_MODE_ANY;
include/net/tcp.h
441
static inline bool tcp_ecn_mode_rfc3168(const struct tcp_sock *tp)
include/net/tcp.h
443
return (tp->ecn_flags & TCP_ECN_MODE_ANY) == TCP_ECN_MODE_RFC3168;
include/net/tcp.h
446
static inline bool tcp_ecn_mode_accecn(const struct tcp_sock *tp)
include/net/tcp.h
448
return (tp->ecn_flags & TCP_ECN_MODE_ANY) == TCP_ECN_MODE_ACCECN;
include/net/tcp.h
451
static inline bool tcp_ecn_disabled(const struct tcp_sock *tp)
include/net/tcp.h
453
return !tcp_ecn_mode_any(tp);
include/net/tcp.h
456
static inline bool tcp_ecn_mode_pending(const struct tcp_sock *tp)
include/net/tcp.h
458
return (tp->ecn_flags & TCP_ECN_MODE_PENDING) == TCP_ECN_MODE_PENDING;
include/net/tcp.h
461
static inline void tcp_ecn_mode_set(struct tcp_sock *tp, u8 mode)
include/net/tcp.h
463
tp->ecn_flags &= ~TCP_ECN_MODE_ANY;
include/net/tcp.h
464
tp->ecn_flags |= mode;
include/net/tcp.h
488
void tcp_clear_retrans(struct tcp_sock *tp);
include/net/tcp.h
747
void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb);
include/net/tcp.h
828
static inline int tcp_bound_to_half_wnd(struct tcp_sock *tp, int pktsize)
include/net/tcp.h
839
if (tp->max_window > TCP_MSS_DEFAULT)
include/net/tcp.h
840
cutoff = (tp->max_window >> 1);
include/net/tcp.h
842
cutoff = tp->max_window;
include/net/tcp.h
845
return max_t(int, cutoff, 68U - tp->tcp_header_len);
include/net/tcp.h
880
static inline u32 __tcp_set_rto(const struct tcp_sock *tp)
include/net/tcp.h
882
return usecs_to_jiffies((tp->srtt_us >> 3) + tp->rttvar_us);
include/net/tcp.h
917
static inline u32 tcp_min_rtt(const struct tcp_sock *tp)
include/net/tcp.h
919
return minmax_get(&tp->rtt_min);
include/net/tcp.h
926
static inline u32 tcp_receive_window(const struct tcp_sock *tp)
include/net/tcp.h
928
s32 win = tp->rcv_wup + tp->rcv_wnd - tp->rcv_nxt;
include/net/tcp.h
939
static inline u32 tcp_max_receive_window(const struct tcp_sock *tp)
include/net/tcp.h
941
s32 win = tp->rcv_mwnd_seq - tp->rcv_nxt;
include/net/tcp.h
949
static inline void tcp_update_max_rcv_wnd_seq(struct tcp_sock *tp)
include/net/tcp.h
951
u32 wre = tp->rcv_wup + tp->rcv_wnd;
include/net/tcp.h
953
if (after(wre, tp->rcv_mwnd_seq))
include/net/tcp.h
954
tp->rcv_mwnd_seq = wre;
include/net/tcp_ao.h
211
void tcp_ao_time_wait(struct tcp_timewait_sock *tcptw, struct tcp_sock *tp);
include/net/tcp_ao.h
329
struct tcp_sock *tp)
include/net/tcp_ecn.h
137
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
143
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_ACE_FAIL_RECV);
include/net/tcp_ecn.h
150
static inline void tcp_accecn_saw_opt_fail_recv(struct tcp_sock *tp,
include/net/tcp_ecn.h
153
tp->saw_accecn_opt = saw_opt;
include/net/tcp_ecn.h
154
if (tp->saw_accecn_opt == TCP_ACCECN_OPT_FAIL_SEEN)
include/net/tcp_ecn.h
155
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_OPT_FAIL_RECV);
include/net/tcp_ecn.h
163
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
169
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_ACE_FAIL_RECV |
include/net/tcp_ecn.h
183
!tp->delivered_ce)
include/net/tcp_ecn.h
184
WRITE_ONCE(tp->delivered_ce, 1);
include/net/tcp_ecn.h
194
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
197
opt_demand = max_t(u8, opt_demand_min, tp->accecn_opt_demand);
include/net/tcp_ecn.h
198
tp->accecn_opt_demand = opt_demand;
include/net/tcp_ecn.h
280
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
290
if (!tcp_ecn_mode_rfc3168(tp))
include/net/tcp_ecn.h
291
tp->ecn_flags |= TCP_ECN_SEEN;
include/net/tcp_ecn.h
294
tp->received_ce += pcount;
include/net/tcp_ecn.h
295
tp->received_ce_pending = min(tp->received_ce_pending + pcount,
include/net/tcp_ecn.h
300
u32 oldbytes = tp->received_ecn_bytes[ecnfield - 1];
include/net/tcp_ecn.h
303
tp->received_ecn_bytes[ecnfield - 1] += len;
include/net/tcp_ecn.h
304
tp->accecn_minlen = max_t(u8, tp->accecn_minlen,
include/net/tcp_ecn.h
310
if ((tp->received_ecn_bytes[ecnfield - 1] ^ oldbytes) &
include/net/tcp_ecn.h
317
ecn_edge = tp->prev_ecnfield != ecnfield;
include/net/tcp_ecn.h
319
tp->prev_ecnfield = ecnfield;
include/net/tcp_ecn.h
324
if (tcp_ecn_mode_accecn(tp)) {
include/net/tcp_ecn.h
327
tp->accecn_opt_demand = 2;
include/net/tcp_ecn.h
393
static inline void tcp_accecn_init_counters(struct tcp_sock *tp)
include/net/tcp_ecn.h
395
tp->received_ce = 0;
include/net/tcp_ecn.h
396
tp->received_ce_pending = 0;
include/net/tcp_ecn.h
397
__tcp_accecn_init_bytes_counters(tp->received_ecn_bytes);
include/net/tcp_ecn.h
398
__tcp_accecn_init_bytes_counters(tp->delivered_ecn_bytes);
include/net/tcp_ecn.h
399
tp->accecn_opt_sent_w_dsack = 0;
include/net/tcp_ecn.h
400
tp->accecn_minlen = 0;
include/net/tcp_ecn.h
401
tp->accecn_opt_demand = 0;
include/net/tcp_ecn.h
402
tp->est_ecnfield = 0;
include/net/tcp_ecn.h
41
static inline void tcp_ecn_queue_cwr(struct tcp_sock *tp)
include/net/tcp_ecn.h
425
static inline void tcp_accecn_set_ace(struct tcp_sock *tp, struct sk_buff *skb,
include/net/tcp_ecn.h
435
wire_ace = tp->received_ce + TCP_ACCECN_CEP_INIT_OFFSET;
include/net/tcp_ecn.h
439
tp->received_ce_pending = 0;
include/net/tcp_ecn.h
44
if (tcp_ecn_mode_rfc3168(tp))
include/net/tcp_ecn.h
45
tp->ecn_flags |= TCP_ECN_QUEUE_CWR;
include/net/tcp_ecn.h
472
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
474
tcp_ecn_mode_set(tp, TCP_ECN_MODE_ACCECN);
include/net/tcp_ecn.h
475
tp->syn_ect_rcv = dsf & INET_ECN_MASK;
include/net/tcp_ecn.h
480
if (tp->rx_opt.accecn &&
include/net/tcp_ecn.h
481
tp->saw_accecn_opt < TCP_ACCECN_OPT_COUNTER_SEEN) {
include/net/tcp_ecn.h
482
u8 saw_opt = tcp_accecn_option_init(skb, tp->rx_opt.accecn);
include/net/tcp_ecn.h
484
tcp_accecn_saw_opt_fail_recv(tp, saw_opt);
include/net/tcp_ecn.h
485
tp->accecn_opt_demand = 2;
include/net/tcp_ecn.h
493
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
508
tcp_ecn_mode_set(tp, TCP_ECN_DISABLED);
include/net/tcp_ecn.h
51
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
522
tcp_ecn_mode_set(tp, TCP_ECN_DISABLED);
include/net/tcp_ecn.h
524
tcp_ecn_mode_set(tp, TCP_ECN_MODE_RFC3168);
include/net/tcp_ecn.h
527
if (tcp_ecn_mode_pending(tp)) {
include/net/tcp_ecn.h
53
if (tcp_ecn_mode_rfc3168(tp) && tcp_hdr(skb)->cwr) {
include/net/tcp_ecn.h
530
tp->received_ce++;
include/net/tcp_ecn.h
531
tp->received_ce_pending++;
include/net/tcp_ecn.h
539
tp->syn_ect_snt)) {
include/net/tcp_ecn.h
54
tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR;
include/net/tcp_ecn.h
540
tp->received_ce++;
include/net/tcp_ecn.h
541
tp->received_ce_pending++;
include/net/tcp_ecn.h
550
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
552
if (tcp_ecn_mode_pending(tp)) {
include/net/tcp_ecn.h
555
tcp_ecn_mode_set(tp, TCP_ECN_MODE_RFC3168);
include/net/tcp_ecn.h
557
tp->syn_ect_rcv = TCP_SKB_CB(skb)->ip_dsfield &
include/net/tcp_ecn.h
559
tp->prev_ecnfield = tp->syn_ect_rcv;
include/net/tcp_ecn.h
560
tcp_ecn_mode_set(tp, TCP_ECN_MODE_ACCECN);
include/net/tcp_ecn.h
563
if (tcp_ecn_mode_rfc3168(tp) &&
include/net/tcp_ecn.h
565
tcp_ecn_mode_set(tp, TCP_ECN_DISABLED);
include/net/tcp_ecn.h
568
static inline bool tcp_ecn_rcv_ecn_echo(const struct tcp_sock *tp,
include/net/tcp_ecn.h
571
if (th->ece && !th->syn && tcp_ecn_mode_rfc3168(tp))
include/net/tcp_ecn.h
579
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
582
if (tcp_ecn_disabled(tp))
include/net/tcp_ecn.h
588
if (tp->ecn_flags & TCP_ECN_MODE_ACCECN) {
include/net/tcp_ecn.h
591
tcp_accecn_reflector_flags(tp->syn_ect_rcv);
include/net/tcp_ecn.h
592
tp->syn_ect_snt = inet_sk(sk)->tos & INET_ECN_MASK;
include/net/tcp_ecn.h
599
struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
617
tp->ecn_flags = 0;
include/net/tcp_ecn.h
626
tcp_ecn_mode_set(tp, TCP_ECN_MODE_PENDING);
include/net/tcp_ecn.h
627
tp->syn_ect_snt = inet_sk(sk)->tos & INET_ECN_MASK;
include/net/tcp_ecn.h
629
tcp_ecn_mode_set(tp, TCP_ECN_MODE_RFC3168);
include/net/tcp_ecn.h
65
static inline void tcp_ecn_withdraw_cwr(struct tcp_sock *tp)
include/net/tcp_ecn.h
666
const struct tcp_sock *tp = tcp_sk(sk);
include/net/tcp_ecn.h
67
tp->ecn_flags &= ~TCP_ECN_QUEUE_CWR;
include/net/tcp_ecn.h
671
return tcp_stamp_us_delta(tp->tcp_mstamp, tp->accecn_opt_tstamp) * ecn_beacon >=
include/net/tcp_ecn.h
672
(tp->srtt_us >> 3);
include/net/tcp_ecn.h
70
static inline bool tcp_accecn_ace_fail_send(const struct tcp_sock *tp)
include/net/tcp_ecn.h
72
return tp->accecn_fail_mode & TCP_ACCECN_ACE_FAIL_SEND;
include/net/tcp_ecn.h
75
static inline bool tcp_accecn_ace_fail_recv(const struct tcp_sock *tp)
include/net/tcp_ecn.h
77
return tp->accecn_fail_mode & TCP_ACCECN_ACE_FAIL_RECV;
include/net/tcp_ecn.h
80
static inline bool tcp_accecn_opt_fail_send(const struct tcp_sock *tp)
include/net/tcp_ecn.h
82
return tp->accecn_fail_mode & TCP_ACCECN_OPT_FAIL_SEND;
include/net/tcp_ecn.h
85
static inline bool tcp_accecn_opt_fail_recv(const struct tcp_sock *tp)
include/net/tcp_ecn.h
87
return tp->accecn_fail_mode & TCP_ACCECN_OPT_FAIL_RECV;
include/net/tcp_ecn.h
90
static inline void tcp_accecn_fail_mode_set(struct tcp_sock *tp, u8 mode)
include/net/tcp_ecn.h
92
tp->accecn_fail_mode |= mode;
include/rv/instrumentation.h
16
#define rv_attach_trace_probe(monitor, tp, rv_handler) \
include/rv/instrumentation.h
18
check_trace_callback_type_##tp(rv_handler); \
include/rv/instrumentation.h
19
WARN_ONCE(register_trace_##tp(rv_handler, NULL), \
include/rv/instrumentation.h
20
"fail attaching " #monitor " " #tp "handler"); \
include/rv/instrumentation.h
26
#define rv_detach_trace_probe(monitor, tp, rv_handler) \
include/rv/instrumentation.h
28
unregister_trace_##tp(rv_handler, NULL); \
include/trace/bpf_probe.h
85
.tp = &__tracepoint_##call, \
include/trace/events/tcp.h
238
struct tcp_sock *tp = tcp_sk(sk);
include/trace/events/tcp.h
242
__entry->rtt_us = tp->rcv_rtt_est.rtt_us >> 3;
include/trace/events/tcp.h
243
__entry->copied = tp->copied_seq - tp->rcvq_space.seq;
include/trace/events/tcp.h
244
__entry->inq = tp->rcv_nxt - tp->copied_seq;
include/trace/events/tcp.h
245
__entry->space = tp->rcvq_space.space;
include/trace/events/tcp.h
246
__entry->ooo_space = RB_EMPTY_ROOT(&tp->out_of_order_queue) ? 0 :
include/trace/events/tcp.h
247
TCP_SKB_CB(tp->ooo_last_skb)->end_seq -
include/trace/events/tcp.h
248
tp->rcv_nxt;
include/trace/events/tcp.h
251
__entry->rcv_ssthresh = tp->rcv_ssthresh;
include/trace/events/tcp.h
252
__entry->window_clamp = tp->window_clamp;
include/trace/events/tcp.h
253
__entry->rcv_wnd = tp->rcv_wnd;
include/trace/events/tcp.h
254
__entry->scaling_ratio = tp->scaling_ratio;
include/trace/events/tcp.h
397
const struct tcp_sock *tp = tcp_sk(sk);
include/trace/events/tcp.h
411
__entry->snd_nxt = tp->snd_nxt;
include/trace/events/tcp.h
412
__entry->snd_una = tp->snd_una;
include/trace/events/tcp.h
413
__entry->snd_cwnd = tcp_snd_cwnd(tp);
include/trace/events/tcp.h
414
__entry->snd_wnd = tp->snd_wnd;
include/trace/events/tcp.h
415
__entry->rcv_wnd = tp->rcv_wnd;
include/trace/events/tcp.h
417
__entry->srtt = tp->srtt_us >> 3;
include/trace/trace_custom_events.h
209
static inline int trace_custom_event_##call##_update(struct tracepoint *tp) \
include/trace/trace_custom_events.h
211
if (tp->name && strcmp(tp->name, #call) == 0) { \
include/trace/trace_custom_events.h
212
custom_event_##call.tp = tp; \
include/trace/trace_events.h
497
.tp = &__tracepoint_##call, \
include/trace/trace_events.h
514
.tp = &__tracepoint_##call, \
include/uapi/linux/can.h
252
struct { canid_t rx_id, tx_id; } tp;
include/uapi/linux/tcp.h
72
#define tcp_flag_word(tp) (((union tcp_word_hdr *)(tp))->words[3])
kernel/bpf/syscall.c
3934
raw_tp_link->btp->tp->name,
kernel/bpf/syscall.c
3963
const char *tp_name = raw_tp_link->btp->tp->name;
kernel/bpf/syscall.c
4393
if (prog->sleepable && !tracepoint_is_faultable(btp->tp)) {
kernel/bpf/syscall.c
4405
tracepoint_is_faultable(btp->tp));
kernel/bpf/syscall.c
5757
btp->tp->name, 0, 0);
kernel/bpf/verifier.c
19101
if (prog->sleepable && !tracepoint_is_faultable(btp->tp)) {
kernel/debug/kdb/kdb_main.c
1001
if (list_entry_is_head(tp, &kdb_cmds_head, list_node)) {
kernel/debug/kdb/kdb_main.c
1002
list_for_each_entry(tp, &kdb_cmds_head, list_node) {
kernel/debug/kdb/kdb_main.c
1003
if (strncmp(argv[0], tp->name, strlen(tp->name)) == 0)
kernel/debug/kdb/kdb_main.c
1008
if (!list_entry_is_head(tp, &kdb_cmds_head, list_node)) {
kernel/debug/kdb/kdb_main.c
1011
if (!kdb_check_flags(tp->flags, kdb_cmd_enabled, argc <= 1))
kernel/debug/kdb/kdb_main.c
1015
result = (*tp->func)(argc-1, (const char **)argv);
kernel/debug/kdb/kdb_main.c
1020
if (tp->flags & KDB_REPEAT_WITH_ARGS)
kernel/debug/kdb/kdb_main.c
1023
argc = tp->flags & KDB_REPEAT_NO_ARGS ? 1 : 0;
kernel/debug/kdb/kdb_main.c
892
kdbtab_t *tp;
kernel/debug/kdb/kdb_main.c
983
list_for_each_entry(tp, &kdb_cmds_head, list_node) {
kernel/debug/kdb/kdb_main.c
988
if (tp->minlen && (strlen(argv[0]) <= tp->minlen) &&
kernel/debug/kdb/kdb_main.c
989
(strncmp(argv[0], tp->name, tp->minlen) == 0))
kernel/debug/kdb/kdb_main.c
992
if (strcmp(argv[0], tp->name) == 0)
kernel/futex/syscalls.c
196
ktime_t t, *tp = NULL;
kernel/futex/syscalls.c
207
tp = &t;
kernel/futex/syscalls.c
210
return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3);
kernel/futex/syscalls.c
512
ktime_t t, *tp = NULL;
kernel/futex/syscalls.c
521
tp = &t;
kernel/futex/syscalls.c
524
return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3);
kernel/futex/waitwake.c
776
ktime_t *tp = NULL;
kernel/futex/waitwake.c
779
tp = &restart->futex.time;
kernel/futex/waitwake.c
784
restart->futex.val, tp, restart->futex.bitset);
kernel/module/internal.h
392
struct kernel_symbol *ks, struct tracepoint * const *tp);
kernel/module/version.c
143
struct tracepoint * const *tp)
kernel/sys.c
2938
struct timespec64 tp;
kernel/sys.c
2942
ktime_get_boottime_ts64(&tp);
kernel/sys.c
2943
timens_add_boottime(&tp);
kernel/sys.c
2944
info->uptime = tp.tv_sec + (tp.tv_nsec ? 1 : 0);
kernel/time/alarmtimer.c
48
void (*get_timespec)(struct timespec64 *tp);
kernel/time/alarmtimer.c
600
static int alarm_clock_getres(const clockid_t which_clock, struct timespec64 *tp)
kernel/time/alarmtimer.c
605
tp->tv_sec = 0;
kernel/time/alarmtimer.c
606
tp->tv_nsec = hrtimer_resolution;
kernel/time/alarmtimer.c
617
static int alarm_clock_get_timespec(clockid_t which_clock, struct timespec64 *tp)
kernel/time/alarmtimer.c
624
base->get_timespec(tp);
kernel/time/alarmtimer.c
841
static void get_boottime_timespec(struct timespec64 *tp)
kernel/time/alarmtimer.c
843
ktime_get_boottime_ts64(tp);
kernel/time/alarmtimer.c
844
timens_add_boottime(tp);
kernel/time/namespace.c
271
struct timespec64 tp;
kernel/time/namespace.c
287
ktime_get_ts64(&tp);
kernel/time/namespace.c
290
ktime_get_boottime_ts64(&tp);
kernel/time/namespace.c
300
tp = timespec64_add(tp, off->val);
kernel/time/namespace.c
305
if (tp.tv_sec < 0 || tp.tv_sec > KTIME_SEC_MAX / 2)
kernel/time/posix-cpu-timers.c
160
posix_cpu_clock_getres(const clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
165
tp->tv_sec = 0;
kernel/time/posix-cpu-timers.c
166
tp->tv_nsec = ((NSEC_PER_SEC + HZ - 1) / HZ);
kernel/time/posix-cpu-timers.c
1671
struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
1673
return posix_cpu_clock_getres(PROCESS_CLOCK, tp);
kernel/time/posix-cpu-timers.c
1676
struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
1678
return posix_cpu_clock_get(PROCESS_CLOCK, tp);
kernel/time/posix-cpu-timers.c
1691
struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
1693
return posix_cpu_clock_getres(THREAD_CLOCK, tp);
kernel/time/posix-cpu-timers.c
1696
struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
1698
return posix_cpu_clock_get(THREAD_CLOCK, tp);
kernel/time/posix-cpu-timers.c
173
tp->tv_nsec = 1;
kernel/time/posix-cpu-timers.c
180
posix_cpu_clock_set(const clockid_t clock, const struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
358
static int posix_cpu_clock_get(const clockid_t clock, struct timespec64 *tp)
kernel/time/posix-cpu-timers.c
377
*tp = ns_to_timespec64(t);
kernel/time/posix-stubs.c
130
struct old_timespec32 __user *, tp)
kernel/time/posix-stubs.c
136
if (get_old_timespec32(&new_tp, tp))
kernel/time/posix-stubs.c
143
struct old_timespec32 __user *, tp)
kernel/time/posix-stubs.c
152
if (put_old_timespec32(&kernel_tp, tp))
kernel/time/posix-stubs.c
158
struct old_timespec32 __user *, tp)
kernel/time/posix-stubs.c
169
if (put_old_timespec32(&rtn_tp, tp))
kernel/time/posix-stubs.c
27
const struct __kernel_timespec __user *, tp)
kernel/time/posix-stubs.c
33
if (get_timespec64(&new_tp, tp))
kernel/time/posix-stubs.c
39
static int do_clock_gettime(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-stubs.c
43
ktime_get_real_ts64(tp);
kernel/time/posix-stubs.c
46
ktime_get_ts64(tp);
kernel/time/posix-stubs.c
47
timens_add_monotonic(tp);
kernel/time/posix-stubs.c
50
ktime_get_boottime_ts64(tp);
kernel/time/posix-stubs.c
51
timens_add_boottime(tp);
kernel/time/posix-stubs.c
61
struct __kernel_timespec __user *, tp)
kernel/time/posix-stubs.c
70
if (put_timespec64(&kernel_tp, tp))
kernel/time/posix-stubs.c
75
SYSCALL_DEFINE2(clock_getres, const clockid_t, which_clock, struct __kernel_timespec __user *, tp)
kernel/time/posix-stubs.c
86
if (put_timespec64(&rtn_tp, tp))
kernel/time/posix-timers.c
1124
const struct __kernel_timespec __user *, tp)
kernel/time/posix-timers.c
1132
if (get_timespec64(&new_tp, tp))
kernel/time/posix-timers.c
1143
struct __kernel_timespec __user *, tp)
kernel/time/posix-timers.c
1154
if (!error && put_timespec64(&kernel_tp, tp))
kernel/time/posix-timers.c
1263
struct __kernel_timespec __user *, tp)
kernel/time/posix-timers.c
1274
if (!error && tp && put_timespec64(&rtn_tp, tp))
kernel/time/posix-timers.c
1283
struct old_timespec32 __user *, tp)
kernel/time/posix-timers.c
1291
if (get_old_timespec32(&ts, tp))
kernel/time/posix-timers.c
1298
struct old_timespec32 __user *, tp)
kernel/time/posix-timers.c
1309
if (!err && put_old_timespec32(&ts, tp))
kernel/time/posix-timers.c
1334
struct old_timespec32 __user *, tp)
kernel/time/posix-timers.c
1344
if (!err && tp && put_old_timespec32(&ts, tp))
kernel/time/posix-timers.c
187
static int posix_get_realtime_timespec(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
189
ktime_get_real_ts64(tp);
kernel/time/posix-timers.c
199
const struct timespec64 *tp)
kernel/time/posix-timers.c
201
return do_sys_settimeofday64(tp, NULL);
kernel/time/posix-timers.c
210
static int posix_get_monotonic_timespec(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
212
ktime_get_ts64(tp);
kernel/time/posix-timers.c
213
timens_add_monotonic(tp);
kernel/time/posix-timers.c
222
static int posix_get_monotonic_raw(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
224
ktime_get_raw_ts64(tp);
kernel/time/posix-timers.c
225
timens_add_monotonic(tp);
kernel/time/posix-timers.c
229
static int posix_get_realtime_coarse(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
231
ktime_get_coarse_real_ts64(tp);
kernel/time/posix-timers.c
236
struct timespec64 *tp)
kernel/time/posix-timers.c
238
ktime_get_coarse_ts64(tp);
kernel/time/posix-timers.c
239
timens_add_monotonic(tp);
kernel/time/posix-timers.c
243
static int posix_get_coarse_res(const clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
245
*tp = ktime_to_timespec64(KTIME_LOW_RES);
kernel/time/posix-timers.c
249
static int posix_get_boottime_timespec(const clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
251
ktime_get_boottime_ts64(tp);
kernel/time/posix-timers.c
252
timens_add_boottime(tp);
kernel/time/posix-timers.c
261
static int posix_get_tai_timespec(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
263
ktime_get_clocktai_ts64(tp);
kernel/time/posix-timers.c
272
static int posix_get_hrtimer_res(clockid_t which_clock, struct timespec64 *tp)
kernel/time/posix-timers.c
274
tp->tv_sec = 0;
kernel/time/posix-timers.c
275
tp->tv_nsec = hrtimer_resolution;
kernel/time/posix-timers.h
12
struct timespec64 *tp);
kernel/time/posix-timers.h
14
const struct timespec64 *tp);
kernel/time/posix-timers.h
17
struct timespec64 *tp);
kernel/time/timekeeping.c
3147
static int aux_get_res(clockid_t id, struct timespec64 *tp)
kernel/time/timekeeping.c
3152
tp->tv_sec = aux_clock_resolution_ns() / NSEC_PER_SEC;
kernel/time/timekeeping.c
3153
tp->tv_nsec = aux_clock_resolution_ns() % NSEC_PER_SEC;
kernel/time/timekeeping.c
3157
static int aux_get_timespec(clockid_t id, struct timespec64 *tp)
kernel/time/timekeeping.c
3159
return ktime_get_aux_ts64(id, tp) ? 0 : -ENODEV;
kernel/torture.c
491
void torture_shuffle_task_register(struct task_struct *tp)
kernel/torture.c
495
if (WARN_ON_ONCE(tp == NULL))
kernel/torture.c
500
stp->st_t = tp;
kernel/torture.c
941
char *f, struct task_struct **tp, void (*cbf)(struct task_struct *tp))
kernel/torture.c
946
*tp = kthread_create(fn, arg, "%s", s);
kernel/torture.c
947
if (IS_ERR(*tp)) {
kernel/torture.c
948
ret = PTR_ERR(*tp);
kernel/torture.c
950
*tp = NULL;
kernel/torture.c
955
cbf(*tp);
kernel/torture.c
957
wake_up_process(*tp); // Process is sleeping, so ordering provided.
kernel/torture.c
958
torture_shuffle_task_register(*tp);
kernel/torture.c
966
void _torture_stop_kthread(char *m, struct task_struct **tp)
kernel/torture.c
968
if (*tp == NULL)
kernel/torture.c
971
kthread_stop(*tp);
kernel/torture.c
972
*tp = NULL;
kernel/trace/bpf_trace.c
2087
if (!strcmp(btp->tp->name, name))
kernel/trace/bpf_trace.c
2188
struct tracepoint *tp = btp->tp;
kernel/trace/bpf_trace.c
2201
return tracepoint_probe_register_may_exist(tp, (void *)btp->bpf_func, link);
kernel/trace/bpf_trace.c
2206
return tracepoint_probe_unregister(btp->tp, (void *)btp->bpf_func, link);
kernel/trace/bpf_trace.c
2232
*buf = is_tracepoint ? event->tp_event->tp->name
kernel/trace/bpf_trace.c
67
if (!strcmp(btp->tp->name, name)) {
kernel/trace/trace_eprobe.c
100
if (trace_probe_is_enabled(&ep->tp))
kernel/trace/trace_eprobe.c
104
if (trace_probe_unregister_event_call(&ep->tp))
kernel/trace/trace_eprobe.c
109
trace_probe_unlink(&ep->tp);
kernel/trace/trace_eprobe.c
128
return trace_probe_is_enabled(&ep->tp);
kernel/trace/trace_eprobe.c
156
if (system && strcmp(trace_probe_group_name(&ep->tp), system) != 0)
kernel/trace/trace_eprobe.c
160
if (event[0] != '\0' && strcmp(trace_probe_name(&ep->tp), event) != 0)
kernel/trace/trace_eprobe.c
188
return trace_probe_match_command_args(&ep->tp, argc, argv);
kernel/trace/trace_eprobe.c
215
ep = kzalloc_flex(*ep, tp.args, nargs);
kernel/trace/trace_eprobe.c
228
ret = trace_probe_init(&ep->tp, this_event, group, false, nargs);
kernel/trace/trace_eprobe.c
239
struct trace_probe *tp;
kernel/trace/trace_eprobe.c
241
tp = trace_probe_primary_from_call(event_call);
kernel/trace/trace_eprobe.c
242
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_eprobe.c
245
return traceprobe_define_arg_fields(event_call, sizeof(field), tp);
kernel/trace/trace_eprobe.c
264
struct trace_probe *tp;
kernel/trace/trace_eprobe.c
268
tp = trace_probe_primary_from_call(
kernel/trace/trace_eprobe.c
270
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_eprobe.c
273
ep = container_of(tp, struct trace_eprobe, tp);
kernel/trace/trace_eprobe.c
276
trace_seq_printf(s, "%s: (", trace_probe_name(tp));
kernel/trace/trace_eprobe.c
289
if (trace_probe_print_args(s, tp->args, tp->nr_args,
kernel/trace/trace_eprobe.c
362
static int get_eprobe_size(struct trace_probe *tp, void *rec)
kernel/trace/trace_eprobe.c
368
for (i = 0; i < tp->nr_args; i++) {
kernel/trace/trace_eprobe.c
369
arg = tp->args + i;
kernel/trace/trace_eprobe.c
37
struct trace_probe tp;
kernel/trace/trace_eprobe.c
429
struct trace_event_call *call = trace_probe_event_call(&edata->ep->tp);
kernel/trace/trace_eprobe.c
439
dsize = get_eprobe_size(&edata->ep->tp, rec);
kernel/trace/trace_eprobe.c
442
sizeof(*entry) + edata->ep->tp.size + dsize);
kernel/trace/trace_eprobe.c
448
store_trace_args(&entry[1], &edata->ep->tp, rec, NULL, sizeof(*entry), dsize);
kernel/trace/trace_eprobe.c
47
list_for_each_entry(ep, trace_probe_probe_list(_tp), tp.list)
kernel/trace/trace_eprobe.c
55
trace_probe_cleanup(&ep->tp);
kernel/trace/trace_eprobe.c
643
struct trace_probe *tp;
kernel/trace/trace_eprobe.c
649
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_eprobe.c
650
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_eprobe.c
652
enabled = trace_probe_is_enabled(tp);
kernel/trace/trace_eprobe.c
656
ret = trace_probe_add_file(tp, file);
kernel/trace/trace_eprobe.c
660
trace_probe_set_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_eprobe.c
665
for_each_trace_eprobe_tp(ep, tp) {
kernel/trace/trace_eprobe.c
682
for_each_trace_eprobe_tp(ep, tp) {
kernel/trace/trace_eprobe.c
689
trace_probe_remove_file(tp, file);
kernel/trace/trace_eprobe.c
691
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_eprobe.c
700
struct trace_probe *tp;
kernel/trace/trace_eprobe.c
703
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_eprobe.c
704
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_eprobe.c
708
if (!trace_probe_get_file_link(tp, file))
kernel/trace/trace_eprobe.c
710
if (!trace_probe_has_single_file(tp))
kernel/trace/trace_eprobe.c
712
trace_probe_clear_flag(tp, TP_FLAG_TRACE);
kernel/trace/trace_eprobe.c
714
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_eprobe.c
716
if (!trace_probe_is_enabled(tp)) {
kernel/trace/trace_eprobe.c
717
for_each_trace_eprobe_tp(ep, tp)
kernel/trace/trace_eprobe.c
729
trace_probe_remove_file(tp, file);
kernel/trace/trace_eprobe.c
759
struct trace_event_call *call = trace_probe_event_call(&ep->tp);
kernel/trace/trace_eprobe.c
82
seq_printf(m, "e:%s/%s", trace_probe_group_name(&ep->tp),
kernel/trace/trace_eprobe.c
83
trace_probe_name(&ep->tp));
kernel/trace/trace_eprobe.c
86
for (i = 0; i < ep->tp.nr_args; i++)
kernel/trace/trace_eprobe.c
87
seq_printf(m, " %s=%s", ep->tp.args[i].name, ep->tp.args[i].comm);
kernel/trace/trace_eprobe.c
942
ret = traceprobe_parse_probe_arg(&ep->tp, i, argv[i], ctx);
kernel/trace/trace_eprobe.c
945
ret = traceprobe_update_arg(&ep->tp.args[i]);
kernel/trace/trace_eprobe.c
949
ret = traceprobe_set_print_fmt(&ep->tp, PROBE_PRINT_EVENT);
kernel/trace/trace_eprobe.c
955
ret = trace_probe_register_event_call(&ep->tp);
kernel/trace/trace_eprobe.c
96
if (trace_probe_has_sibling(&ep->tp))
kernel/trace/trace_eprobe.c
963
ret = dyn_event_add(&ep->devent, &ep->tp.event->call);
kernel/trace/trace_eprobe.c
965
trace_probe_unregister_event_call(&ep->tp);
kernel/trace/trace_events.c
708
return tracepoint_probe_register(call->tp,
kernel/trace/trace_events.c
712
tracepoint_probe_unregister(call->tp,
kernel/trace/trace_events.c
721
return tracepoint_probe_register(call->tp,
kernel/trace/trace_events.c
725
tracepoint_probe_unregister(call->tp,
kernel/trace/trace_events_hist.c
832
struct tracepoint *tp = event->tp;
kernel/trace/trace_events_hist.c
834
if (unlikely(static_key_enabled(&tp->key))) {
kernel/trace/trace_events_hist.c
842
probe_func_ptr = rcu_dereference_sched((tp)->funcs);
kernel/trace/trace_events_synth.c
1034
free_synth_tracepoint(event->tp);
kernel/trace/trace_events_synth.c
875
static void free_synth_tracepoint(struct tracepoint *tp)
kernel/trace/trace_events_synth.c
877
if (!tp)
kernel/trace/trace_events_synth.c
880
kfree(tp->name);
kernel/trace/trace_events_synth.c
881
kfree(tp);
kernel/trace/trace_events_synth.c
886
struct tracepoint *tp;
kernel/trace/trace_events_synth.c
888
tp = kzalloc_obj(*tp);
kernel/trace/trace_events_synth.c
889
if (!tp)
kernel/trace/trace_events_synth.c
892
tp->name = kstrdup(name, GFP_KERNEL);
kernel/trace/trace_events_synth.c
893
if (!tp->name) {
kernel/trace/trace_events_synth.c
894
kfree(tp);
kernel/trace/trace_events_synth.c
898
return tp;
kernel/trace/trace_events_synth.c
967
event->tp = alloc_synth_tracepoint(event->name);
kernel/trace/trace_events_synth.c
968
if (IS_ERR(event->tp)) {
kernel/trace/trace_events_synth.c
969
ret = PTR_ERR(event->tp);
kernel/trace/trace_events_synth.c
970
event->tp = NULL;
kernel/trace/trace_events_synth.c
990
call->tp = event->tp;
kernel/trace/trace_events_user.c
1691
struct tracepoint *tp = &user->tracepoint;
kernel/trace/trace_events_user.c
1694
if (static_key_enabled(&tp->key)) {
kernel/trace/trace_events_user.c
1700
probe_func_ptr = rcu_dereference_sched(tp->funcs);
kernel/trace/trace_events_user.c
1740
ret = tracepoint_probe_register(call->tp,
kernel/trace/trace_events_user.c
1748
tracepoint_probe_unregister(call->tp,
kernel/trace/trace_events_user.c
1755
ret = tracepoint_probe_register(call->tp,
kernel/trace/trace_events_user.c
1763
tracepoint_probe_unregister(call->tp,
kernel/trace/trace_events_user.c
2164
user->call.tp = &user->tracepoint;
kernel/trace/trace_events_user.c
2262
struct tracepoint *tp;
kernel/trace/trace_events_user.c
2292
tp = &user->tracepoint;
kernel/trace/trace_events_user.c
2298
if (likely(static_key_enabled(&tp->key))) {
kernel/trace/trace_events_user.c
2312
probe_func_ptr = rcu_dereference_sched(tp->funcs);
kernel/trace/trace_fprobe.c
1002
data->tpoint = tp;
kernel/trace/trace_fprobe.c
1006
static void __find_tracepoint_cb(struct tracepoint *tp, void *priv)
kernel/trace/trace_fprobe.c
1010
if (!data->tpoint && !strcmp(data->tp_name, tp->name))
kernel/trace/trace_fprobe.c
1011
data->tpoint = tp;
kernel/trace/trace_fprobe.c
1363
ret = traceprobe_parse_probe_arg(&tf->tp, i, argv[i], ctx);
kernel/trace/trace_fprobe.c
1368
if (is_return && tf->tp.entry_arg) {
kernel/trace/trace_fprobe.c
1370
tf->fp.entry_data_size = traceprobe_get_entry_data_size(&tf->tp);
kernel/trace/trace_fprobe.c
1378
ret = traceprobe_set_print_fmt(&tf->tp,
kernel/trace/trace_fprobe.c
1442
seq_printf(m, ":%s/%s", trace_probe_group_name(&tf->tp),
kernel/trace/trace_fprobe.c
1443
trace_probe_name(&tf->tp));
kernel/trace/trace_fprobe.c
1448
for (i = 0; i < tf->tp.nr_args; i++)
kernel/trace/trace_fprobe.c
1449
seq_printf(m, " %s=%s", tf->tp.args[i].name, tf->tp.args[i].comm);
kernel/trace/trace_fprobe.c
1462
struct trace_probe *tp;
kernel/trace/trace_fprobe.c
1467
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_fprobe.c
1468
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_fprobe.c
1470
enabled = trace_probe_is_enabled(tp);
kernel/trace/trace_fprobe.c
1474
ret = trace_probe_add_file(tp, file);
kernel/trace/trace_fprobe.c
1478
trace_probe_set_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_fprobe.c
1481
list_for_each_entry(tf, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_fprobe.c
1492
list_for_each_entry(tf, trace_probe_probe_list(tp), tp.list)
kernel/trace/trace_fprobe.c
1495
trace_probe_remove_file(tp, file);
kernel/trace/trace_fprobe.c
1497
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_fprobe.c
1509
struct trace_probe *tp;
kernel/trace/trace_fprobe.c
1511
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_fprobe.c
1512
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_fprobe.c
1516
if (!trace_probe_get_file_link(tp, file))
kernel/trace/trace_fprobe.c
1518
if (!trace_probe_has_single_file(tp))
kernel/trace/trace_fprobe.c
1520
trace_probe_clear_flag(tp, TP_FLAG_TRACE);
kernel/trace/trace_fprobe.c
1522
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_fprobe.c
1524
if (!trace_probe_is_enabled(tp)) {
kernel/trace/trace_fprobe.c
1525
list_for_each_entry(tf, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_fprobe.c
1542
trace_probe_remove_file(tp, file);
kernel/trace/trace_fprobe.c
194
struct trace_probe tp;
kernel/trace/trace_fprobe.c
235
return trace_probe_is_enabled(&tf->tp);
kernel/trace/trace_fprobe.c
251
return trace_probe_match_command_args(&tf->tp, argc, argv);
kernel/trace/trace_fprobe.c
259
if (event[0] != '\0' && strcmp(trace_probe_name(&tf->tp), event))
kernel/trace/trace_fprobe.c
262
if (system && strcmp(trace_probe_group_name(&tf->tp), system))
kernel/trace/trace_fprobe.c
326
struct trace_event_call *call = trace_probe_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
336
dsize = __get_data_size(&tf->tp, fregs, NULL);
kernel/trace/trace_fprobe.c
339
sizeof(*entry) + tf->tp.size + dsize);
kernel/trace/trace_fprobe.c
346
store_trace_args(&entry[1], &tf->tp, fregs, NULL, sizeof(*entry), dsize);
kernel/trace/trace_fprobe.c
357
trace_probe_for_each_link_rcu(link, &tf->tp)
kernel/trace/trace_fprobe.c
363
void store_fprobe_entry_data(void *edata, struct trace_probe *tp, struct ftrace_regs *fregs)
kernel/trace/trace_fprobe.c
365
struct probe_entry_arg *earg = tp->entry_arg;
kernel/trace/trace_fprobe.c
399
if (tf->tp.entry_arg)
kernel/trace/trace_fprobe.c
400
store_fprobe_entry_data(entry_data, &tf->tp, fregs);
kernel/trace/trace_fprobe.c
413
struct trace_event_call *call = trace_probe_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
422
dsize = __get_data_size(&tf->tp, fregs, entry_data);
kernel/trace/trace_fprobe.c
425
sizeof(*entry) + tf->tp.size + dsize);
kernel/trace/trace_fprobe.c
433
store_trace_args(&entry[1], &tf->tp, fregs, entry_data, sizeof(*entry), dsize);
kernel/trace/trace_fprobe.c
444
trace_probe_for_each_link_rcu(link, &tf->tp)
kernel/trace/trace_fprobe.c
454
struct trace_event_call *call = trace_probe_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
465
dsize = __get_data_size(&tf->tp, fregs, NULL);
kernel/trace/trace_fprobe.c
466
__size = sizeof(*entry) + tf->tp.size + dsize;
kernel/trace/trace_fprobe.c
478
store_trace_args(&entry[1], &tf->tp, fregs, NULL, sizeof(*entry), dsize);
kernel/trace/trace_fprobe.c
490
struct trace_event_call *call = trace_probe_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
501
dsize = __get_data_size(&tf->tp, fregs, entry_data);
kernel/trace/trace_fprobe.c
502
__size = sizeof(*entry) + tf->tp.size + dsize;
kernel/trace/trace_fprobe.c
514
store_trace_args(&entry[1], &tf->tp, fregs, entry_data, sizeof(*entry), dsize);
kernel/trace/trace_fprobe.c
526
unsigned int flags = trace_probe_load_flag(&tf->tp);
kernel/trace/trace_fprobe.c
545
unsigned int flags = trace_probe_load_flag(&tf->tp);
kernel/trace/trace_fprobe.c
559
trace_probe_cleanup(&tf->tp);
kernel/trace/trace_fprobe.c
582
tf = kzalloc_flex(*tf, tp.args, nargs);
kernel/trace/trace_fprobe.c
597
ret = trace_probe_init(&tf->tp, event, group, false, nargs);
kernel/trace/trace_fprobe.c
612
if (strcmp(trace_probe_name(&tf->tp), event) == 0 &&
kernel/trace/trace_fprobe.c
613
strcmp(trace_probe_group_name(&tf->tp), group) == 0)
kernel/trace/trace_fprobe.c
625
struct trace_probe *tp;
kernel/trace/trace_fprobe.c
628
tp = trace_probe_primary_from_call(
kernel/trace/trace_fprobe.c
630
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_fprobe.c
633
trace_seq_printf(s, "%s: (", trace_probe_name(tp));
kernel/trace/trace_fprobe.c
640
if (trace_probe_print_args(s, tp->args, tp->nr_args,
kernel/trace/trace_fprobe.c
655
struct trace_probe *tp;
kernel/trace/trace_fprobe.c
658
tp = trace_probe_primary_from_call(
kernel/trace/trace_fprobe.c
660
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_fprobe.c
663
trace_seq_printf(s, "%s: (", trace_probe_name(tp));
kernel/trace/trace_fprobe.c
675
if (trace_probe_print_args(s, tp->args, tp->nr_args,
kernel/trace/trace_fprobe.c
689
struct trace_probe *tp;
kernel/trace/trace_fprobe.c
691
tp = trace_probe_primary_from_call(event_call);
kernel/trace/trace_fprobe.c
692
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_fprobe.c
697
return traceprobe_define_arg_fields(event_call, sizeof(field), tp);
kernel/trace/trace_fprobe.c
704
struct trace_probe *tp;
kernel/trace/trace_fprobe.c
706
tp = trace_probe_primary_from_call(event_call);
kernel/trace/trace_fprobe.c
707
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_fprobe.c
713
return traceprobe_define_arg_fields(event_call, sizeof(field), tp);
kernel/trace/trace_fprobe.c
741
struct trace_event_call *call = trace_probe_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
759
return trace_probe_register_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
764
return trace_probe_unregister_event_call(&tf->tp);
kernel/trace/trace_fprobe.c
830
for (i = 0; i < tf->tp.nr_args; i++) {
kernel/trace/trace_fprobe.c
831
ret = traceprobe_update_arg(&tf->tp.args[i]);
kernel/trace/trace_fprobe.c
861
if (trace_probe_has_sibling(&tf->tp))
kernel/trace/trace_fprobe.c
865
if (trace_probe_is_enabled(&tf->tp))
kernel/trace/trace_fprobe.c
869
if (trace_event_dyn_busy(trace_probe_event_call(&tf->tp)))
kernel/trace/trace_fprobe.c
879
trace_probe_unlink(&tf->tp);
kernel/trace/trace_fprobe.c
887
struct trace_probe_event *tpe = orig->tp.event;
kernel/trace/trace_fprobe.c
890
list_for_each_entry(orig, &tpe->probes, tp.list) {
kernel/trace/trace_fprobe.c
899
for (i = 0; i < orig->tp.nr_args; i++) {
kernel/trace/trace_fprobe.c
900
if (strcmp(orig->tp.args[i].comm,
kernel/trace/trace_fprobe.c
901
comp->tp.args[i].comm))
kernel/trace/trace_fprobe.c
905
if (i == orig->tp.nr_args)
kernel/trace/trace_fprobe.c
922
ret = trace_probe_compare_arg_type(&tf->tp, &to->tp);
kernel/trace/trace_fprobe.c
936
ret = trace_probe_append(&tf->tp, &to->tp);
kernel/trace/trace_fprobe.c
942
trace_probe_unlink(&tf->tp);
kernel/trace/trace_fprobe.c
944
dyn_event_add(&tf->devent, trace_probe_event_call(&tf->tp));
kernel/trace/trace_fprobe.c
957
old_tf = find_trace_fprobe(trace_probe_name(&tf->tp),
kernel/trace/trace_fprobe.c
958
trace_probe_group_name(&tf->tp));
kernel/trace/trace_fprobe.c
978
dyn_event_add(&tf->devent, trace_probe_event_call(&tf->tp));
kernel/trace/trace_fprobe.c
989
static void __find_tracepoint_module_cb(struct tracepoint *tp, struct module *mod, void *priv)
kernel/trace/trace_fprobe.c
993
if (!data->tpoint && !strcmp(data->tp_name, tp->name)) {
kernel/trace/trace_kprobe.c
1054
ret = traceprobe_parse_probe_arg(&tk->tp, i, argv[i], ctx);
kernel/trace/trace_kprobe.c
1059
if (is_return && tk->tp.entry_arg) {
kernel/trace/trace_kprobe.c
1061
tk->rp.data_size = traceprobe_get_entry_data_size(&tk->tp);
kernel/trace/trace_kprobe.c
1065
ret = traceprobe_set_print_fmt(&tk->tp, ptype);
kernel/trace/trace_kprobe.c
1308
seq_printf(m, ":%s/%s", trace_probe_group_name(&tk->tp),
kernel/trace/trace_kprobe.c
1309
trace_probe_name(&tk->tp));
kernel/trace/trace_kprobe.c
1319
for (i = 0; i < tk->tp.nr_args; i++)
kernel/trace/trace_kprobe.c
1320
seq_printf(m, " %s=%s", tk->tp.args[i].name, tk->tp.args[i].comm);
kernel/trace/trace_kprobe.c
1395
trace_probe_name(&tk->tp),
kernel/trace/trace_kprobe.c
146
return trace_probe_is_enabled(&tk->tp);
kernel/trace/trace_kprobe.c
1480
struct trace_event_call *call = trace_probe_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1489
dsize = __get_data_size(&tk->tp, regs, NULL);
kernel/trace/trace_kprobe.c
1492
sizeof(*entry) + tk->tp.size + dsize);
kernel/trace/trace_kprobe.c
1498
store_trace_args(&entry[1], &tk->tp, regs, NULL, sizeof(*entry), dsize);
kernel/trace/trace_kprobe.c
1508
trace_probe_for_each_link_rcu(link, &tk->tp)
kernel/trace/trace_kprobe.c
1532
if (tk->tp.entry_arg)
kernel/trace/trace_kprobe.c
1533
store_trace_entry_data(ri->data, &tk->tp, regs);
kernel/trace/trace_kprobe.c
1546
struct trace_event_call *call = trace_probe_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1554
dsize = __get_data_size(&tk->tp, regs, ri->data);
kernel/trace/trace_kprobe.c
1557
sizeof(*entry) + tk->tp.size + dsize);
kernel/trace/trace_kprobe.c
1564
store_trace_args(&entry[1], &tk->tp, regs, ri->data, sizeof(*entry), dsize);
kernel/trace/trace_kprobe.c
1575
trace_probe_for_each_link_rcu(link, &tk->tp)
kernel/trace/trace_kprobe.c
1587
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
1590
tp = trace_probe_primary_from_call(
kernel/trace/trace_kprobe.c
1592
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
1595
trace_seq_printf(s, "%s: (", trace_probe_name(tp));
kernel/trace/trace_kprobe.c
1602
if (trace_probe_print_args(s, tp->args, tp->nr_args,
kernel/trace/trace_kprobe.c
1617
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
1620
tp = trace_probe_primary_from_call(
kernel/trace/trace_kprobe.c
1622
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
1625
trace_seq_printf(s, "%s: (", trace_probe_name(tp));
kernel/trace/trace_kprobe.c
1637
if (trace_probe_print_args(s, tp->args, tp->nr_args,
kernel/trace/trace_kprobe.c
1652
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
1654
tp = trace_probe_primary_from_call(event_call);
kernel/trace/trace_kprobe.c
1655
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
1660
return traceprobe_define_arg_fields(event_call, sizeof(field), tp);
kernel/trace/trace_kprobe.c
1667
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
1669
tp = trace_probe_primary_from_call(event_call);
kernel/trace/trace_kprobe.c
1670
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
1676
return traceprobe_define_arg_fields(event_call, sizeof(field), tp);
kernel/trace/trace_kprobe.c
168
return trace_probe_match_command_args(&tk->tp, argc, argv);
kernel/trace/trace_kprobe.c
1685
struct trace_event_call *call = trace_probe_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1712
dsize = __get_data_size(&tk->tp, regs, NULL);
kernel/trace/trace_kprobe.c
1713
__size = sizeof(*entry) + tk->tp.size + dsize;
kernel/trace/trace_kprobe.c
1723
store_trace_args(&entry[1], &tk->tp, regs, NULL, sizeof(*entry), dsize);
kernel/trace/trace_kprobe.c
1735
struct trace_event_call *call = trace_probe_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1748
dsize = __get_data_size(&tk->tp, regs, ri->data);
kernel/trace/trace_kprobe.c
1749
__size = sizeof(*entry) + tk->tp.size + dsize;
kernel/trace/trace_kprobe.c
1759
store_trace_args(&entry[1], &tk->tp, regs, ri->data, sizeof(*entry), dsize);
kernel/trace/trace_kprobe.c
177
strcmp(trace_probe_name(&tk->tp), event) == 0) &&
kernel/trace/trace_kprobe.c
178
(!system || strcmp(trace_probe_group_name(&tk->tp), system) == 0) &&
kernel/trace/trace_kprobe.c
1828
unsigned int flags = trace_probe_load_flag(&tk->tp);
kernel/trace/trace_kprobe.c
1861
flags = trace_probe_load_flag(&tk->tp);
kernel/trace/trace_kprobe.c
1894
struct trace_event_call *call = trace_probe_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1912
return trace_probe_register_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1917
return trace_probe_unregister_event_call(&tk->tp);
kernel/trace/trace_kprobe.c
1959
if (traceprobe_set_print_fmt(&tk->tp, ptype) < 0)
kernel/trace/trace_kprobe.c
1966
return trace_probe_event_call(&(no_free_ptr(tk)->tp));
kernel/trace/trace_kprobe.c
1977
if (trace_probe_is_enabled(&tk->tp)) {
kernel/trace/trace_kprobe.c
2001
if (file->event_call == trace_probe_event_call(&tk->tp))
kernel/trace/trace_kprobe.c
2082
if (file->event_call == trace_probe_event_call(&tk->tp))
kernel/trace/trace_kprobe.c
2123
trace_probe_event_call(&tk->tp), file);
kernel/trace/trace_kprobe.c
2141
trace_probe_event_call(&tk->tp), file);
kernel/trace/trace_kprobe.c
2172
trace_probe_event_call(&tk->tp), file);
kernel/trace/trace_kprobe.c
2188
trace_probe_event_call(&tk->tp), file);
kernel/trace/trace_kprobe.c
219
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
221
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_kprobe.c
222
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
225
return container_of(tp, struct trace_kprobe, tp);
kernel/trace/trace_kprobe.c
255
trace_probe_cleanup(&tk->tp);
kernel/trace/trace_kprobe.c
279
tk = kzalloc_flex(*tk, tp.args, nargs);
kernel/trace/trace_kprobe.c
305
ret = trace_probe_init(&tk->tp, event, group, false, nargs);
kernel/trace/trace_kprobe.c
320
if (strcmp(trace_probe_name(&tk->tp), event) == 0 &&
kernel/trace/trace_kprobe.c
321
strcmp(trace_probe_group_name(&tk->tp), group) == 0)
kernel/trace/trace_kprobe.c
340
static void __disable_trace_kprobe(struct trace_probe *tp)
kernel/trace/trace_kprobe.c
344
list_for_each_entry(tk, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_kprobe.c
361
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
366
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_kprobe.c
367
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
369
enabled = trace_probe_is_enabled(tp);
kernel/trace/trace_kprobe.c
373
ret = trace_probe_add_file(tp, file);
kernel/trace/trace_kprobe.c
377
trace_probe_set_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_kprobe.c
382
list_for_each_entry(tk, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_kprobe.c
394
__disable_trace_kprobe(tp);
kernel/trace/trace_kprobe.c
396
trace_probe_remove_file(tp, file);
kernel/trace/trace_kprobe.c
398
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_kprobe.c
411
struct trace_probe *tp;
kernel/trace/trace_kprobe.c
413
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_kprobe.c
414
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_kprobe.c
418
if (!trace_probe_get_file_link(tp, file))
kernel/trace/trace_kprobe.c
420
if (!trace_probe_has_single_file(tp))
kernel/trace/trace_kprobe.c
422
trace_probe_clear_flag(tp, TP_FLAG_TRACE);
kernel/trace/trace_kprobe.c
424
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_kprobe.c
426
if (!trace_probe_is_enabled(tp))
kernel/trace/trace_kprobe.c
427
__disable_trace_kprobe(tp);
kernel/trace/trace_kprobe.c
437
trace_probe_remove_file(tp, file);
kernel/trace/trace_kprobe.c
504
for (i = 0; i < tk->tp.nr_args; i++) {
kernel/trace/trace_kprobe.c
505
ret = traceprobe_update_arg(&tk->tp.args[i]);
kernel/trace/trace_kprobe.c
511
if (trace_probe_is_enabled(&tk->tp))
kernel/trace/trace_kprobe.c
544
if (trace_probe_has_sibling(&tk->tp))
kernel/trace/trace_kprobe.c
548
if (trace_probe_is_enabled(&tk->tp))
kernel/trace/trace_kprobe.c
552
if (trace_event_dyn_busy(trace_probe_event_call(&tk->tp)))
kernel/trace/trace_kprobe.c
562
trace_probe_unlink(&tk->tp);
kernel/trace/trace_kprobe.c
570
struct trace_probe_event *tpe = orig->tp.event;
kernel/trace/trace_kprobe.c
573
list_for_each_entry(orig, &tpe->probes, tp.list) {
kernel/trace/trace_kprobe.c
583
for (i = 0; i < orig->tp.nr_args; i++) {
kernel/trace/trace_kprobe.c
584
if (strcmp(orig->tp.args[i].comm,
kernel/trace/trace_kprobe.c
585
comp->tp.args[i].comm))
kernel/trace/trace_kprobe.c
589
if (i == orig->tp.nr_args)
kernel/trace/trace_kprobe.c
600
ret = trace_probe_compare_arg_type(&tk->tp, &to->tp);
kernel/trace/trace_kprobe.c
614
ret = trace_probe_append(&tk->tp, &to->tp);
kernel/trace/trace_kprobe.c
626
trace_probe_unlink(&tk->tp);
kernel/trace/trace_kprobe.c
628
dyn_event_add(&tk->devent, trace_probe_event_call(&tk->tp));
kernel/trace/trace_kprobe.c
641
old_tk = find_trace_kprobe(trace_probe_name(&tk->tp),
kernel/trace/trace_kprobe.c
642
trace_probe_group_name(&tk->tp));
kernel/trace/trace_kprobe.c
65
struct trace_probe tp;
kernel/trace/trace_kprobe.c
673
dyn_event_add(&tk->devent, trace_probe_event_call(&tk->tp));
kernel/trace/trace_kprobe.c
715
trace_probe_name(&tk->tp),
kernel/trace/trace_probe.c
1010
int traceprobe_get_entry_data_size(struct trace_probe *tp)
kernel/trace/trace_probe.c
1012
struct probe_entry_arg *earg = tp->entry_arg;
kernel/trace/trace_probe.c
1020
void store_trace_entry_data(void *edata, struct trace_probe *tp, struct pt_regs *regs)
kernel/trace/trace_probe.c
1022
struct probe_entry_arg *earg = tp->entry_arg;
kernel/trace/trace_probe.c
1145
ret = __store_entry_arg(ctx->tp, param);
kernel/trace/trace_probe.c
1728
int traceprobe_parse_probe_arg(struct trace_probe *tp, int i, const char *arg,
kernel/trace/trace_probe.c
1731
struct probe_arg *parg = &tp->args[i];
kernel/trace/trace_probe.c
1734
ctx->tp = tp;
kernel/trace/trace_probe.c
1757
if (traceprobe_conflict_field_name(parg->name, tp->args, i)) {
kernel/trace/trace_probe.c
1763
return traceprobe_parse_probe_arg_body(body, &tp->size, parg, ctx);
kernel/trace/trace_probe.c
2021
static int __set_print_fmt(struct trace_probe *tp, char *buf, int len,
kernel/trace/trace_probe.c
2049
for (i = 0; i < tp->nr_args; i++) {
kernel/trace/trace_probe.c
2050
parg = tp->args + i;
kernel/trace/trace_probe.c
2066
for (i = 0; i < tp->nr_args; i++) {
kernel/trace/trace_probe.c
2067
parg = tp->args + i;
kernel/trace/trace_probe.c
2091
int traceprobe_set_print_fmt(struct trace_probe *tp, enum probe_print_type ptype)
kernel/trace/trace_probe.c
2093
struct trace_event_call *call = trace_probe_event_call(tp);
kernel/trace/trace_probe.c
2098
len = __set_print_fmt(tp, NULL, 0, ptype);
kernel/trace/trace_probe.c
2104
__set_print_fmt(tp, print_fmt, len + 1, ptype);
kernel/trace/trace_probe.c
2111
size_t offset, struct trace_probe *tp)
kernel/trace/trace_probe.c
2116
for (i = 0; i < tp->nr_args; i++) {
kernel/trace/trace_probe.c
2117
struct probe_arg *parg = &tp->args[i];
kernel/trace/trace_probe.c
2143
int trace_probe_append(struct trace_probe *tp, struct trace_probe *to)
kernel/trace/trace_probe.c
2145
if (trace_probe_has_sibling(tp))
kernel/trace/trace_probe.c
2148
list_del_init(&tp->list);
kernel/trace/trace_probe.c
2149
trace_probe_event_free(tp->event);
kernel/trace/trace_probe.c
2151
tp->event = to->event;
kernel/trace/trace_probe.c
2152
list_add_tail(&tp->list, trace_probe_probe_list(to));
kernel/trace/trace_probe.c
2157
void trace_probe_unlink(struct trace_probe *tp)
kernel/trace/trace_probe.c
2159
list_del_init(&tp->list);
kernel/trace/trace_probe.c
2160
if (list_empty(trace_probe_probe_list(tp)))
kernel/trace/trace_probe.c
2161
trace_probe_event_free(tp->event);
kernel/trace/trace_probe.c
2162
tp->event = NULL;
kernel/trace/trace_probe.c
2165
void trace_probe_cleanup(struct trace_probe *tp)
kernel/trace/trace_probe.c
2169
for (i = 0; i < tp->nr_args; i++)
kernel/trace/trace_probe.c
2170
traceprobe_free_probe_arg(&tp->args[i]);
kernel/trace/trace_probe.c
2172
if (tp->entry_arg) {
kernel/trace/trace_probe.c
2173
kfree(tp->entry_arg);
kernel/trace/trace_probe.c
2174
tp->entry_arg = NULL;
kernel/trace/trace_probe.c
2177
if (tp->event)
kernel/trace/trace_probe.c
2178
trace_probe_unlink(tp);
kernel/trace/trace_probe.c
2181
int trace_probe_init(struct trace_probe *tp, const char *event,
kernel/trace/trace_probe.c
2194
tp->event = kzalloc(size, GFP_KERNEL);
kernel/trace/trace_probe.c
2195
if (!tp->event)
kernel/trace/trace_probe.c
2198
INIT_LIST_HEAD(&tp->event->files);
kernel/trace/trace_probe.c
2199
INIT_LIST_HEAD(&tp->event->class.fields);
kernel/trace/trace_probe.c
2200
INIT_LIST_HEAD(&tp->event->probes);
kernel/trace/trace_probe.c
2201
INIT_LIST_HEAD(&tp->list);
kernel/trace/trace_probe.c
2202
list_add(&tp->list, &tp->event->probes);
kernel/trace/trace_probe.c
2204
call = trace_probe_event_call(tp);
kernel/trace/trace_probe.c
2205
call->class = &tp->event->class;
kernel/trace/trace_probe.c
2212
tp->event->class.system = kstrdup(group, GFP_KERNEL);
kernel/trace/trace_probe.c
2213
if (!tp->event->class.system) {
kernel/trace/trace_probe.c
2218
tp->nr_args = nargs;
kernel/trace/trace_probe.c
2221
memset(tp->args, 0, sizeof(tp->args[0]) * nargs);
kernel/trace/trace_probe.c
2226
trace_probe_cleanup(tp);
kernel/trace/trace_probe.c
2249
int trace_probe_register_event_call(struct trace_probe *tp)
kernel/trace/trace_probe.c
2251
struct trace_event_call *call = trace_probe_event_call(tp);
kernel/trace/trace_probe.c
2256
if (find_trace_event_call(trace_probe_group_name(tp),
kernel/trace/trace_probe.c
2257
trace_probe_name(tp)))
kernel/trace/trace_probe.c
2271
int trace_probe_add_file(struct trace_probe *tp, struct trace_event_file *file)
kernel/trace/trace_probe.c
2281
list_add_tail_rcu(&link->list, &tp->event->files);
kernel/trace/trace_probe.c
2282
trace_probe_set_flag(tp, TP_FLAG_TRACE);
kernel/trace/trace_probe.c
2286
struct event_file_link *trace_probe_get_file_link(struct trace_probe *tp,
kernel/trace/trace_probe.c
2291
trace_probe_for_each_link(link, tp) {
kernel/trace/trace_probe.c
2299
int trace_probe_remove_file(struct trace_probe *tp,
kernel/trace/trace_probe.c
2304
link = trace_probe_get_file_link(tp, file);
kernel/trace/trace_probe.c
2311
if (list_empty(&tp->event->files))
kernel/trace/trace_probe.c
2312
trace_probe_clear_flag(tp, TP_FLAG_TRACE);
kernel/trace/trace_probe.c
2342
bool trace_probe_match_command_args(struct trace_probe *tp,
kernel/trace/trace_probe.c
2347
if (tp->nr_args < argc)
kernel/trace/trace_probe.c
2351
int len = strlen(tp->args[i].name);
kernel/trace/trace_probe.c
2353
if (strncmp(argv[i], tp->args[i].name, len) ||
kernel/trace/trace_probe.c
2355
strcmp(argv[i] + len + 1, tp->args[i].comm))
kernel/trace/trace_probe.c
664
static int __store_entry_arg(struct trace_probe *tp, int argnum);
kernel/trace/trace_probe.c
743
ret = __store_entry_arg(ctx->tp, i);
kernel/trace/trace_probe.c
951
static int __store_entry_arg(struct trace_probe *tp, int argnum)
kernel/trace/trace_probe.c
953
struct probe_entry_arg *earg = tp->entry_arg;
kernel/trace/trace_probe.c
957
earg = kzalloc_flex(*earg, code, 2 * tp->nr_args + 1);
kernel/trace/trace_probe.c
960
earg->size = 2 * tp->nr_args + 1;
kernel/trace/trace_probe.c
964
tp->entry_arg = earg;
kernel/trace/trace_probe.h
275
static inline unsigned int trace_probe_load_flag(struct trace_probe *tp)
kernel/trace/trace_probe.h
277
return smp_load_acquire(&tp->event->flags);
kernel/trace/trace_probe.h
280
static inline bool trace_probe_test_flag(struct trace_probe *tp,
kernel/trace/trace_probe.h
283
return !!(trace_probe_load_flag(tp) & flag);
kernel/trace/trace_probe.h
286
static inline void trace_probe_set_flag(struct trace_probe *tp,
kernel/trace/trace_probe.h
289
smp_store_release(&tp->event->flags, tp->event->flags | flag);
kernel/trace/trace_probe.h
292
static inline void trace_probe_clear_flag(struct trace_probe *tp,
kernel/trace/trace_probe.h
295
tp->event->flags &= ~flag;
kernel/trace/trace_probe.h
298
static inline bool trace_probe_is_enabled(struct trace_probe *tp)
kernel/trace/trace_probe.h
300
return trace_probe_test_flag(tp, TP_FLAG_TRACE | TP_FLAG_PROFILE);
kernel/trace/trace_probe.h
303
static inline const char *trace_probe_name(struct trace_probe *tp)
kernel/trace/trace_probe.h
305
return trace_event_name(&tp->event->call);
kernel/trace/trace_probe.h
308
static inline const char *trace_probe_group_name(struct trace_probe *tp)
kernel/trace/trace_probe.h
310
return tp->event->call.class->system;
kernel/trace/trace_probe.h
314
trace_probe_event_call(struct trace_probe *tp)
kernel/trace/trace_probe.h
316
return &tp->event->call;
kernel/trace/trace_probe.h
333
static inline struct list_head *trace_probe_probe_list(struct trace_probe *tp)
kernel/trace/trace_probe.h
335
return &tp->event->probes;
kernel/trace/trace_probe.h
338
static inline bool trace_probe_has_sibling(struct trace_probe *tp)
kernel/trace/trace_probe.h
340
struct list_head *list = trace_probe_probe_list(tp);
kernel/trace/trace_probe.h
345
static inline int trace_probe_unregister_event_call(struct trace_probe *tp)
kernel/trace/trace_probe.h
348
return trace_remove_event_call(&tp->event->call);
kernel/trace/trace_probe.h
351
static inline bool trace_probe_has_single_file(struct trace_probe *tp)
kernel/trace/trace_probe.h
353
return !!list_is_singular(&tp->event->files);
kernel/trace/trace_probe.h
356
int trace_probe_init(struct trace_probe *tp, const char *event,
kernel/trace/trace_probe.h
358
void trace_probe_cleanup(struct trace_probe *tp);
kernel/trace/trace_probe.h
359
int trace_probe_append(struct trace_probe *tp, struct trace_probe *to);
kernel/trace/trace_probe.h
360
void trace_probe_unlink(struct trace_probe *tp);
kernel/trace/trace_probe.h
361
int trace_probe_register_event_call(struct trace_probe *tp);
kernel/trace/trace_probe.h
362
int trace_probe_add_file(struct trace_probe *tp, struct trace_event_file *file);
kernel/trace/trace_probe.h
363
int trace_probe_remove_file(struct trace_probe *tp,
kernel/trace/trace_probe.h
365
struct event_file_link *trace_probe_get_file_link(struct trace_probe *tp,
kernel/trace/trace_probe.h
368
bool trace_probe_match_command_args(struct trace_probe *tp,
kernel/trace/trace_probe.h
375
int traceprobe_get_entry_data_size(struct trace_probe *tp);
kernel/trace/trace_probe.h
377
void store_trace_entry_data(void *edata, struct trace_probe *tp, struct pt_regs *regs);
kernel/trace/trace_probe.h
379
static inline int traceprobe_get_entry_data_size(struct trace_probe *tp)
kernel/trace/trace_probe.h
383
#define store_trace_entry_data(edata, tp, regs) do { } while (0)
kernel/trace/trace_probe.h
386
#define trace_probe_for_each_link(pos, tp) \
kernel/trace/trace_probe.h
387
list_for_each_entry(pos, &(tp)->event->files, list)
kernel/trace/trace_probe.h
388
#define trace_probe_for_each_link_rcu(pos, tp) \
kernel/trace/trace_probe.h
389
list_for_each_entry_rcu(pos, &(tp)->event->files, list)
kernel/trace/trace_probe.h
430
struct trace_probe *tp;
kernel/trace/trace_probe.h
435
extern int traceprobe_parse_probe_arg(struct trace_probe *tp, int i,
kernel/trace/trace_probe.h
470
extern int traceprobe_set_print_fmt(struct trace_probe *tp, enum probe_print_type ptype);
kernel/trace/trace_probe.h
484
size_t offset, struct trace_probe *tp);
kernel/trace/trace_probe_tmpl.h
235
__get_data_size(struct trace_probe *tp, void *regs, void *edata)
kernel/trace/trace_probe_tmpl.h
240
for (i = 0; i < tp->nr_args; i++) {
kernel/trace/trace_probe_tmpl.h
241
arg = tp->args + i;
kernel/trace/trace_probe_tmpl.h
254
store_trace_args(void *data, struct trace_probe *tp, void *rec, void *edata,
kernel/trace/trace_probe_tmpl.h
259
void *dyndata = data + tp->size;
kernel/trace/trace_probe_tmpl.h
263
for (i = 0; i < tp->nr_args; i++) {
kernel/trace/trace_probe_tmpl.h
264
arg = tp->args + i;
kernel/trace/trace_synth.h
35
struct tracepoint *tp;
kernel/trace/trace_uprobe.c
1003
struct trace_event_call *call = trace_probe_event_call(&tu->tp);
kernel/trace/trace_uprobe.c
1043
trace_probe_for_each_link_rcu(link, &tu->tp)
kernel/trace/trace_uprobe.c
1060
trace_probe_for_each_link_rcu(link, &tu->tp)
kernel/trace/trace_uprobe.c
1082
trace_probe_name(&tu->tp),
kernel/trace/trace_uprobe.c
1087
trace_probe_name(&tu->tp),
kernel/trace/trace_uprobe.c
1092
if (trace_probe_print_args(s, tu->tp.args, tu->tp.nr_args, data, entry) < 0)
kernel/trace/trace_uprobe.c
1117
static void __probe_event_disable(struct trace_probe *tp)
kernel/trace/trace_uprobe.c
1122
tu = container_of(tp, struct trace_uprobe, tp);
kernel/trace/trace_uprobe.c
1123
WARN_ON(!uprobe_filter_is_empty(tu->tp.event->filter));
kernel/trace/trace_uprobe.c
1125
list_for_each_entry(tu, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_uprobe.c
1140
struct trace_probe *tp;
kernel/trace/trace_uprobe.c
1145
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_uprobe.c
1146
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_uprobe.c
1148
enabled = trace_probe_is_enabled(tp);
kernel/trace/trace_uprobe.c
1152
if (trace_probe_test_flag(tp, TP_FLAG_PROFILE))
kernel/trace/trace_uprobe.c
1155
ret = trace_probe_add_file(tp, file);
kernel/trace/trace_uprobe.c
1159
if (trace_probe_test_flag(tp, TP_FLAG_TRACE))
kernel/trace/trace_uprobe.c
1162
trace_probe_set_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_uprobe.c
1165
tu = container_of(tp, struct trace_uprobe, tp);
kernel/trace/trace_uprobe.c
1166
WARN_ON(!uprobe_filter_is_empty(tu->tp.event->filter));
kernel/trace/trace_uprobe.c
1175
list_for_each_entry(tu, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_uprobe.c
1178
__probe_event_disable(tp);
kernel/trace/trace_uprobe.c
1190
trace_probe_remove_file(tp, file);
kernel/trace/trace_uprobe.c
1192
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_uprobe.c
1200
struct trace_probe *tp;
kernel/trace/trace_uprobe.c
1202
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_uprobe.c
1203
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_uprobe.c
1206
if (!trace_probe_is_enabled(tp))
kernel/trace/trace_uprobe.c
1210
if (trace_probe_remove_file(tp, file) < 0)
kernel/trace/trace_uprobe.c
1213
if (trace_probe_is_enabled(tp))
kernel/trace/trace_uprobe.c
1216
trace_probe_clear_flag(tp, TP_FLAG_PROFILE);
kernel/trace/trace_uprobe.c
1218
__probe_event_disable(tp);
kernel/trace/trace_uprobe.c
1241
return traceprobe_define_arg_fields(event_call, size, &tu->tp);
kernel/trace/trace_uprobe.c
1317
struct trace_probe *tp;
kernel/trace/trace_uprobe.c
1321
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_uprobe.c
1322
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_uprobe.c
1325
tu = container_of(tp, struct trace_uprobe, tp);
kernel/trace/trace_uprobe.c
1326
if (trace_uprobe_filter_remove(tu->tp.event->filter, event))
kernel/trace/trace_uprobe.c
1329
list_for_each_entry(tu, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_uprobe.c
1341
struct trace_probe *tp;
kernel/trace/trace_uprobe.c
1345
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_uprobe.c
1346
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_uprobe.c
1349
tu = container_of(tp, struct trace_uprobe, tp);
kernel/trace/trace_uprobe.c
1350
if (trace_uprobe_filter_add(tu->tp.event->filter, event))
kernel/trace/trace_uprobe.c
1353
list_for_each_entry(tu, trace_probe_probe_list(tp), tp.list) {
kernel/trace/trace_uprobe.c
1371
filter = tu->tp.event->filter;
kernel/trace/trace_uprobe.c
1391
struct trace_event_call *call = trace_probe_event_call(&tu->tp);
kernel/trace/trace_uprobe.c
1548
flags = trace_probe_load_flag(&tu->tp);
kernel/trace/trace_uprobe.c
1579
flags = trace_probe_load_flag(&tu->tp);
kernel/trace/trace_uprobe.c
1603
struct trace_event_call *call = trace_probe_event_call(&tu->tp);
kernel/trace/trace_uprobe.c
1615
return trace_probe_register_event_call(&tu->tp);
kernel/trace/trace_uprobe.c
1620
return trace_probe_unregister_event_call(&tu->tp);
kernel/trace/trace_uprobe.c
1669
if (traceprobe_set_print_fmt(&tu->tp, ptype) < 0) {
kernel/trace/trace_uprobe.c
1674
return trace_probe_event_call(&tu->tp);
kernel/trace/trace_uprobe.c
278
return trace_probe_is_enabled(&tu->tp);
kernel/trace/trace_uprobe.c
306
return trace_probe_match_command_args(&tu->tp, argc, argv);
kernel/trace/trace_uprobe.c
315
strcmp(trace_probe_name(&tu->tp), event) == 0) &&
kernel/trace/trace_uprobe.c
316
(!system || strcmp(trace_probe_group_name(&tu->tp), system) == 0) &&
kernel/trace/trace_uprobe.c
323
struct trace_probe *tp;
kernel/trace/trace_uprobe.c
325
tp = trace_probe_primary_from_call(call);
kernel/trace/trace_uprobe.c
326
if (WARN_ON_ONCE(!tp))
kernel/trace/trace_uprobe.c
329
return container_of(tp, struct trace_uprobe, tp);
kernel/trace/trace_uprobe.c
341
tu = kzalloc_flex(*tu, tp.args, nargs);
kernel/trace/trace_uprobe.c
351
ret = trace_probe_init(&tu->tp, event, group, true, nargs);
kernel/trace/trace_uprobe.c
359
init_trace_uprobe_filter(tu->tp.event->filter);
kernel/trace/trace_uprobe.c
375
trace_probe_cleanup(&tu->tp);
kernel/trace/trace_uprobe.c
387
if (strcmp(trace_probe_name(&tu->tp), event) == 0 &&
kernel/trace/trace_uprobe.c
388
strcmp(trace_probe_group_name(&tu->tp), group) == 0)
kernel/trace/trace_uprobe.c
399
if (trace_probe_has_sibling(&tu->tp))
kernel/trace/trace_uprobe.c
403
if (trace_event_dyn_busy(trace_probe_event_call(&tu->tp)))
kernel/trace/trace_uprobe.c
412
trace_probe_unlink(&tu->tp);
kernel/trace/trace_uprobe.c
420
struct trace_probe_event *tpe = orig->tp.event;
kernel/trace/trace_uprobe.c
424
list_for_each_entry(orig, &tpe->probes, tp.list) {
kernel/trace/trace_uprobe.c
433
for (i = 0; i < orig->tp.nr_args; i++) {
kernel/trace/trace_uprobe.c
434
if (strcmp(orig->tp.args[i].comm,
kernel/trace/trace_uprobe.c
435
comp->tp.args[i].comm))
kernel/trace/trace_uprobe.c
439
if (i == orig->tp.nr_args)
kernel/trace/trace_uprobe.c
450
ret = trace_probe_compare_arg_type(&tu->tp, &to->tp);
kernel/trace/trace_uprobe.c
464
ret = trace_probe_append(&tu->tp, &to->tp);
kernel/trace/trace_uprobe.c
466
dyn_event_add(&tu->devent, trace_probe_event_call(&tu->tp));
kernel/trace/trace_uprobe.c
510
old_tu = find_probe_event(trace_probe_name(&tu->tp),
kernel/trace/trace_uprobe.c
511
trace_probe_group_name(&tu->tp));
kernel/trace/trace_uprobe.c
531
dyn_event_add(&tu->devent, trace_probe_event_call(&tu->tp));
kernel/trace/trace_uprobe.c
69
struct trace_probe tp;
kernel/trace/trace_uprobe.c
710
ret = traceprobe_parse_probe_arg(&tu->tp, i, argv[i], ctx);
kernel/trace/trace_uprobe.c
716
ret = traceprobe_set_print_fmt(&tu->tp, ptype);
kernel/trace/trace_uprobe.c
757
seq_printf(m, "%c:%s/%s %s:0x%0*lx", c, trace_probe_group_name(&tu->tp),
kernel/trace/trace_uprobe.c
758
trace_probe_name(&tu->tp), tu->filename,
kernel/trace/trace_uprobe.c
764
for (i = 0; i < tu->tp.nr_args; i++)
kernel/trace/trace_uprobe.c
765
seq_printf(m, " %s=%s", tu->tp.args[i].name, tu->tp.args[i].comm);
kernel/trace/trace_uprobe.c
840
trace_probe_name(&tu->tp), nhits);
kernel/trace/trace_uprobe.c
977
dsize = __get_data_size(&tu->tp, regs, NULL);
kernel/trace/trace_uprobe.c
980
ucb->dsize = tu->tp.size + dsize;
kernel/trace/trace_uprobe.c
985
dsize = MAX_UCB_BUFFER_SIZE - tu->tp.size;
kernel/trace/trace_uprobe.c
988
store_trace_args(ucb->buf, &tu->tp, regs, NULL, esize, dsize);
kernel/tracepoint.c
115
static inline void release_probes(struct tracepoint *tp, struct tracepoint_func *old)
kernel/tracepoint.c
121
if (tracepoint_is_faultable(tp)) {
kernel/tracepoint.c
271
static void tracepoint_update_call(struct tracepoint *tp, struct tracepoint_func *tp_funcs)
kernel/tracepoint.c
273
void *func = tp->iterator;
kernel/tracepoint.c
276
if (!tp->static_call_key)
kernel/tracepoint.c
280
__static_call_update(tp->static_call_key, tp->static_call_tramp, func);
kernel/tracepoint.c
286
static int tracepoint_add_func(struct tracepoint *tp,
kernel/tracepoint.c
293
if (tp->ext && tp->ext->regfunc && !static_key_enabled(&tp->key)) {
kernel/tracepoint.c
294
ret = tp->ext->regfunc();
kernel/tracepoint.c
299
tp_funcs = rcu_dereference_protected(tp->funcs,
kernel/tracepoint.c
303
if (tp->ext && tp->ext->unregfunc && !static_key_enabled(&tp->key))
kernel/tracepoint.c
304
tp->ext->unregfunc();
kernel/tracepoint.c
323
tracepoint_update_call(tp, tp_funcs);
kernel/tracepoint.c
325
rcu_assign_pointer(tp->funcs, tp_funcs);
kernel/tracepoint.c
326
static_branch_enable(&tp->key);
kernel/tracepoint.c
330
tracepoint_update_call(tp, tp_funcs);
kernel/tracepoint.c
338
rcu_assign_pointer(tp->funcs, tp_funcs);
kernel/tracepoint.c
351
release_probes(tp, old);
kernel/tracepoint.c
361
static int tracepoint_remove_func(struct tracepoint *tp,
kernel/tracepoint.c
366
tp_funcs = rcu_dereference_protected(tp->funcs,
kernel/tracepoint.c
379
if (tp->ext && tp->ext->unregfunc && static_key_enabled(&tp->key))
kernel/tracepoint.c
380
tp->ext->unregfunc();
kernel/tracepoint.c
381
static_branch_disable(&tp->key);
kernel/tracepoint.c
383
tracepoint_update_call(tp, tp_funcs);
kernel/tracepoint.c
385
rcu_assign_pointer(tp->funcs, NULL);
kernel/tracepoint.c
393
rcu_assign_pointer(tp->funcs, tp_funcs);
kernel/tracepoint.c
405
tracepoint_update_call(tp, tp_funcs);
kernel/tracepoint.c
410
rcu_assign_pointer(tp->funcs, tp_funcs);
kernel/tracepoint.c
422
release_probes(tp, old);
kernel/tracepoint.c
436
int tracepoint_probe_register_prio_may_exist(struct tracepoint *tp, void *probe,
kernel/tracepoint.c
446
ret = tracepoint_add_func(tp, &tp_func, prio, false);
kernel/tracepoint.c
465
int tracepoint_probe_register_prio(struct tracepoint *tp, void *probe,
kernel/tracepoint.c
475
ret = tracepoint_add_func(tp, &tp_func, prio, true);
kernel/tracepoint.c
493
int tracepoint_probe_register(struct tracepoint *tp, void *probe, void *data)
kernel/tracepoint.c
495
return tracepoint_probe_register_prio(tp, probe, data, TRACEPOINT_DEFAULT_PRIO);
kernel/tracepoint.c
507
int tracepoint_probe_unregister(struct tracepoint *tp, void *probe, void *data)
kernel/tracepoint.c
515
ret = tracepoint_remove_func(tp, &tp_func);
kernel/tracepoint.c
523
void (*fct)(struct tracepoint *tp, void *priv),
kernel/tracepoint.c
599
static void tp_module_going_check_quiescent(struct tracepoint *tp, void *priv)
kernel/tracepoint.c
601
WARN_ON_ONCE(tp->funcs);
kernel/tracepoint.c
710
void (*fct)(struct tracepoint *tp,
kernel/tracepoint.c
733
void for_each_module_tracepoint(void (*fct)(struct tracepoint *tp,
kernel/tracepoint.c
751
void for_each_kernel_tracepoint(void (*fct)(struct tracepoint *tp, void *priv),
lib/crypto/mpi/mpi-div.c
153
mpi_ptr_t tp;
lib/crypto/mpi/mpi-div.c
160
tp = marker[markidx++] = mpi_alloc_limb_space(dsize);
lib/crypto/mpi/mpi-div.c
161
if (!tp)
lib/crypto/mpi/mpi-div.c
163
mpihelp_lshift(tp, dp, dsize, normalization_steps);
lib/crypto/mpi/mpi-div.c
164
dp = tp;
lib/crypto/mpi/mpi-div.c
181
mpi_ptr_t tp;
lib/crypto/mpi/mpi-div.c
183
tp = marker[markidx++] = mpi_alloc_limb_space(dsize);
lib/crypto/mpi/mpi-div.c
184
if (!tp)
lib/crypto/mpi/mpi-div.c
186
MPN_COPY(tp, dp, dsize);
lib/crypto/mpi/mpi-div.c
187
dp = tp;
lib/crypto/mpi/mpi-internal.h
162
mpi_ptr_t tp;
lib/crypto/mpi/mpih-mul.c
343
if (!ctx->tp || ctx->tp_size < vsize) {
lib/crypto/mpi/mpih-mul.c
344
if (ctx->tp)
lib/crypto/mpi/mpih-mul.c
345
mpi_free_limb_space(ctx->tp);
lib/crypto/mpi/mpih-mul.c
346
ctx->tp = mpi_alloc_limb_space(2 * vsize);
lib/crypto/mpi/mpih-mul.c
347
if (!ctx->tp) {
lib/crypto/mpi/mpih-mul.c
357
MPN_MUL_N_RECURSE(ctx->tp, up, vp, vsize, ctx->tspace);
lib/crypto/mpi/mpih-mul.c
358
cy = mpihelp_add_n(prodp, prodp, ctx->tp, vsize);
lib/crypto/mpi/mpih-mul.c
359
mpihelp_add_1(prodp + vsize, ctx->tp + vsize, vsize,
lib/crypto/mpi/mpih-mul.c
397
if (ctx->tp)
lib/crypto/mpi/mpih-mul.c
398
mpi_free_limb_space(ctx->tp);
lib/crypto/mpi/mpih-mul.c
403
if (ctx->tp)
lib/crypto/mpi/mpih-mul.c
404
mpi_free_limb_space(ctx->tp);
lib/lzo/lzo1x_compress.c
328
*tp = in_end - (ii - ti);
lib/lzo/lzo1x_compress.c
34
size_t *tp, void *wrkmem,
lib/lzo/lzo1x_compress.c
44
size_t ti = *tp;
lib/tests/bitfield_kunit.c
100
tp##_encode_bits(v, mask) != v << __ffs64(mask));\
lib/tests/bitfield_kunit.c
11
#define CHECK_ENC_GET_U(tp, v, field, res) do { \
lib/tests/bitfield_kunit.c
13
u##tp _res; \
lib/tests/bitfield_kunit.c
15
_res = u##tp##_encode_bits(v, field); \
lib/tests/bitfield_kunit.c
17
"u" #tp "_encode_bits(" #v ", " #field ") is 0x%llx != " #res "\n", \
lib/tests/bitfield_kunit.c
20
u##tp##_get_bits(_res, field) != v); \
lib/tests/bitfield_kunit.c
24
#define CHECK_ENC_GET_LE(tp, v, field, res) do { \
lib/tests/bitfield_kunit.c
26
__le##tp _res; \
lib/tests/bitfield_kunit.c
28
_res = le##tp##_encode_bits(v, field); \
lib/tests/bitfield_kunit.c
30
_res != cpu_to_le##tp(res), \
lib/tests/bitfield_kunit.c
31
"le" #tp "_encode_bits(" #v ", " #field ") is 0x%llx != 0x%llx",\
lib/tests/bitfield_kunit.c
32
(u64)le##tp##_to_cpu(_res), \
lib/tests/bitfield_kunit.c
35
le##tp##_get_bits(_res, field) != v);\
lib/tests/bitfield_kunit.c
39
#define CHECK_ENC_GET_BE(tp, v, field, res) do { \
lib/tests/bitfield_kunit.c
41
__be##tp _res; \
lib/tests/bitfield_kunit.c
43
_res = be##tp##_encode_bits(v, field); \
lib/tests/bitfield_kunit.c
45
_res != cpu_to_be##tp(res), \
lib/tests/bitfield_kunit.c
46
"be" #tp "_encode_bits(" #v ", " #field ") is 0x%llx != 0x%llx", \
lib/tests/bitfield_kunit.c
47
(u64)be##tp##_to_cpu(_res), \
lib/tests/bitfield_kunit.c
50
be##tp##_get_bits(_res, field) != v);\
lib/tests/bitfield_kunit.c
54
#define CHECK_ENC_GET(tp, v, field, res) do { \
lib/tests/bitfield_kunit.c
55
CHECK_ENC_GET_U(tp, v, field, res); \
lib/tests/bitfield_kunit.c
56
CHECK_ENC_GET_LE(tp, v, field, res); \
lib/tests/bitfield_kunit.c
57
CHECK_ENC_GET_BE(tp, v, field, res); \
lib/tests/bitfield_kunit.c
95
#define CHECK(tp, mask) do { \
lib/tests/test_ratelimit.c
111
sktp[i].tp = kthread_run(test_ratelimit_stress_child, &sktp[i], "%s/%i",
lib/tests/test_ratelimit.c
119
kthread_stop(sktp[i].tp);
lib/tests/test_ratelimit.c
79
struct task_struct *tp;
lib/tests/test_ratelimit.c
87
WARN_ON_ONCE(!sktp->tp);
net/atm/atm_misc.c
76
int atm_pcr_goal(const struct atm_trafprm *tp)
net/atm/atm_misc.c
78
if (tp->pcr && tp->pcr != ATM_MAX_PCR)
net/atm/atm_misc.c
79
return -tp->pcr;
net/atm/atm_misc.c
80
if (tp->min_pcr && !tp->pcr)
net/atm/atm_misc.c
81
return tp->min_pcr;
net/atm/atm_misc.c
82
if (tp->max_pcr != ATM_MAX_PCR)
net/atm/atm_misc.c
83
return -tp->max_pcr;
net/atm/common.c
280
static int adjust_tp(struct atm_trafprm *tp, unsigned char aal)
net/atm/common.c
284
if (!tp->traffic_class)
net/atm/common.c
296
if (!tp->max_sdu)
net/atm/common.c
297
tp->max_sdu = max_sdu;
net/atm/common.c
298
else if (tp->max_sdu > max_sdu)
net/atm/common.c
300
if (!tp->max_cdv)
net/atm/common.c
301
tp->max_cdv = ATM_MAX_CDV;
net/atm/common.c
670
static int check_tp(const struct atm_trafprm *tp)
net/atm/common.c
673
if (tp->traffic_class > ATM_ANYCLASS)
net/atm/common.c
675
if (!tp->traffic_class || tp->traffic_class == ATM_ANYCLASS)
net/atm/common.c
677
if (tp->traffic_class != ATM_UBR && !tp->min_pcr && !tp->pcr &&
net/atm/common.c
678
!tp->max_pcr)
net/atm/common.c
680
if (tp->min_pcr == ATM_MAX_PCR)
net/atm/common.c
682
if (tp->min_pcr && tp->max_pcr && tp->max_pcr != ATM_MAX_PCR &&
net/atm/common.c
683
tp->min_pcr > tp->max_pcr)
net/can/isotp.c
1542
canid_t tx_id = addr->can_addr.tp.tx_id;
net/can/isotp.c
1543
canid_t rx_id = addr->can_addr.tp.rx_id;
net/can/isotp.c
1560
if (tx_id != addr->can_addr.tp.tx_id)
net/can/isotp.c
1571
if (rx_id != addr->can_addr.tp.rx_id)
net/can/isotp.c
1674
addr->can_addr.tp.rx_id = so->rxid;
net/can/isotp.c
1675
addr->can_addr.tp.tx_id = so->txid;
net/can/isotp.c
81
#define ISOTP_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_addr.tp)
net/ceph/auth_x.c
208
void *tp, *tpend;
net/ceph/auth_x.c
266
tp = *p + ceph_x_encrypt_offset(&th->session_key);
net/ceph/auth_x.c
273
ptp = &tp;
net/ceph/auth_x.c
274
tpend = tp + ret;
net/core/filter.c
5462
struct tcp_sock *tp = tcp_sk(sk);
net/core/filter.c
5474
if (val <= 0 || tp->data_segs_out > tp->syn_data)
net/core/filter.c
5476
tcp_snd_cwnd_set(tp, val);
net/core/filter.c
5481
tp->snd_cwnd_clamp = val;
net/core/filter.c
5482
WRITE_ONCE(tp->snd_ssthresh, val);
net/core/filter.c
5501
tp->bpf_sock_ops_cb_flags = val;
net/core/filter.c
5513
struct tcp_sock *tp;
net/core/filter.c
5552
tp = tcp_sk(sk);
net/core/filter.c
5553
if (tp->bpf_chg_cc_inprogress)
net/core/filter.c
5556
tp->bpf_chg_cc_inprogress = 1;
net/core/filter.c
5559
tp->bpf_chg_cc_inprogress = 0;
net/core/filter.c
5600
struct tcp_sock *tp = tcp_sk(sk);
net/core/filter.c
5602
if (!tp->saved_syn ||
net/core/filter.c
5603
*optlen > tcp_saved_syn_len(tp->saved_syn))
net/core/filter.c
5605
memcpy(optval, tp->saved_syn->data, *optlen);
net/core/flow_dissector.c
453
struct flow_dissector_key_ports *tp;
net/core/flow_dissector.c
455
tp = skb_flow_dissector_target(flow_dissector,
net/core/flow_dissector.c
458
tp->src = key->tp_src;
net/core/flow_dissector.c
459
tp->dst = key->tp_dst;
net/core/flow_dissector.c
879
key_ports_range->tp.ports = ports;
net/core/flow_dissector.c
991
key_ports_range->tp.src = flow_keys->sport;
net/core/flow_dissector.c
992
key_ports_range->tp.dst = flow_keys->dport;
net/core/pktgen.c
1032
char *tp = strndup_user(user_buffer, copy);
net/core/pktgen.c
1034
if (IS_ERR(tp))
net/core/pktgen.c
1035
return PTR_ERR(tp);
net/core/pktgen.c
1037
pr_debug("%s,%zu buffer -:%s:-\n", name, count, tp);
net/core/pktgen.c
1038
kfree(tp);
net/ethtool/ioctl.c
3704
struct flow_dissector_key_ports tp;
net/ethtool/ioctl.c
3793
match->key.tp.src = v4_spec->psrc;
net/ethtool/ioctl.c
3794
match->mask.tp.src = v4_m_spec->psrc;
net/ethtool/ioctl.c
3797
match->key.tp.dst = v4_spec->pdst;
net/ethtool/ioctl.c
3798
match->mask.tp.dst = v4_m_spec->pdst;
net/ethtool/ioctl.c
3805
offsetof(struct ethtool_rx_flow_key, tp);
net/ethtool/ioctl.c
3845
match->key.tp.src = v6_spec->psrc;
net/ethtool/ioctl.c
3846
match->mask.tp.src = v6_m_spec->psrc;
net/ethtool/ioctl.c
3849
match->key.tp.dst = v6_spec->pdst;
net/ethtool/ioctl.c
3850
match->mask.tp.dst = v6_m_spec->pdst;
net/ethtool/ioctl.c
3857
offsetof(struct ethtool_rx_flow_key, tp);
net/ipv4/bpf_tcp_ca.c
121
BPF_CALL_2(bpf_tcp_send_ack, struct tcp_sock *, tp, u32, rcv_nxt)
net/ipv4/bpf_tcp_ca.c
124
__tcp_send_ack((struct sock *)tp, rcv_nxt, 0);
net/ipv4/fib_trie.c
1014
struct key_vector *l, *tp;
net/ipv4/fib_trie.c
1024
l = fib_find_node(t, &tp, be32_to_cpu(fri->dst));
net/ipv4/fib_trie.c
1104
static int fib_insert_node(struct trie *t, struct key_vector *tp,
net/ipv4/fib_trie.c
1114
n = get_child(tp, get_index(key, tp));
net/ipv4/fib_trie.c
1130
NODE_INIT_PARENT(tn, tp);
net/ipv4/fib_trie.c
1134
put_child_root(tp, key, tn);
net/ipv4/fib_trie.c
1138
tp = tn;
net/ipv4/fib_trie.c
1142
node_push_suffix(tp, new->fa_slen);
net/ipv4/fib_trie.c
1143
NODE_INIT_PARENT(l, tp);
net/ipv4/fib_trie.c
1144
put_child_root(tp, key, l);
net/ipv4/fib_trie.c
1145
trie_rebalance(t, tp);
net/ipv4/fib_trie.c
1154
static int fib_insert_alias(struct trie *t, struct key_vector *tp,
net/ipv4/fib_trie.c
1159
return fib_insert_node(t, tp, new, key);
net/ipv4/fib_trie.c
1184
node_push_suffix(tp, new->fa_slen);
net/ipv4/fib_trie.c
1190
static void fib_remove_alias(struct trie *t, struct key_vector *tp,
net/ipv4/fib_trie.c
1199
struct key_vector *l, *tp;
net/ipv4/fib_trie.c
1219
l = fib_find_node(t, &tp, key);
net/ipv4/fib_trie.c
1354
err = fib_insert_alias(t, tp, l, new_fa, fa, key);
net/ipv4/fib_trie.c
1359
l = l ? l : fib_find_node(t, &tp, key);
net/ipv4/fib_trie.c
1386
fib_remove_alias(t, tp, l, new_fa);
net/ipv4/fib_trie.c
1626
static void fib_remove_alias(struct trie *t, struct key_vector *tp,
net/ipv4/fib_trie.c
1640
if (tp->slen == l->slen)
net/ipv4/fib_trie.c
1641
node_pull_suffix(tp, tp->pos);
net/ipv4/fib_trie.c
1642
put_child_root(tp, l->key, NULL);
net/ipv4/fib_trie.c
1644
trie_rebalance(t, tp);
net/ipv4/fib_trie.c
1654
node_pull_suffix(tp, fa->fa_slen);
net/ipv4/fib_trie.c
1693
struct key_vector *l, *tp;
net/ipv4/fib_trie.c
1701
l = fib_find_node(t, &tp, key);
net/ipv4/fib_trie.c
1746
fib_remove_alias(t, tp, l, fa_to_delete);
net/ipv4/fib_trie.c
1875
struct key_vector *l, *tp = ot->kv;
net/ipv4/fib_trie.c
1890
while ((l = leaf_walk_rcu(&tp, key)) != NULL) {
net/ipv4/fib_trie.c
203
static inline void node_set_parent(struct key_vector *n, struct key_vector *tp)
net/ipv4/fib_trie.c
206
rcu_assign_pointer(tn_info(n)->parent, tp);
net/ipv4/fib_trie.c
2187
struct key_vector *l, *tp = t->kv;
net/ipv4/fib_trie.c
2191
while ((l = leaf_walk_rcu(&tp, key)) != NULL) {
net/ipv4/fib_trie.c
2331
struct key_vector *l, *tp = t->kv;
net/ipv4/fib_trie.c
2344
while ((l = leaf_walk_rcu(&tp, key)) != NULL) {
net/ipv4/fib_trie.c
2830
struct key_vector *l, **tp = &iter->tnode;
net/ipv4/fib_trie.c
2843
while ((l = leaf_walk_rcu(tp, key)) && (pos-- > 0)) {
net/ipv4/fib_trie.c
463
static inline void put_child_root(struct key_vector *tp, t_key key,
net/ipv4/fib_trie.c
466
if (IS_TRIE(tp))
net/ipv4/fib_trie.c
467
rcu_assign_pointer(tp->tnode[0], n);
net/ipv4/fib_trie.c
469
put_child(tp, get_index(key, tp), n);
net/ipv4/fib_trie.c
506
struct key_vector *tp = node_parent(oldtnode);
net/ipv4/fib_trie.c
510
NODE_INIT_PARENT(tn, tp);
net/ipv4/fib_trie.c
511
put_child_root(tp, tn->key, tn);
net/ipv4/fib_trie.c
528
return tp;
net/ipv4/fib_trie.c
685
struct key_vector *n, *tp;
net/ipv4/fib_trie.c
693
tp = node_parent(oldtnode);
net/ipv4/fib_trie.c
694
put_child_root(tp, oldtnode->key, n);
net/ipv4/fib_trie.c
695
node_set_parent(n, tp);
net/ipv4/fib_trie.c
700
return tp;
net/ipv4/fib_trie.c
798
static inline bool should_inflate(struct key_vector *tp, struct key_vector *tn)
net/ipv4/fib_trie.c
804
threshold *= IS_TRIE(tp) ? inflate_threshold_root : inflate_threshold;
net/ipv4/fib_trie.c
813
static inline bool should_halve(struct key_vector *tp, struct key_vector *tn)
net/ipv4/fib_trie.c
819
threshold *= IS_TRIE(tp) ? halve_threshold_root : halve_threshold;
net/ipv4/fib_trie.c
847
struct key_vector *tp = node_parent(tn);
net/ipv4/fib_trie.c
848
unsigned long cindex = get_index(tn->key, tp);
net/ipv4/fib_trie.c
858
BUG_ON(tn != get_child(tp, cindex));
net/ipv4/fib_trie.c
863
while (should_inflate(tp, tn) && max_work) {
net/ipv4/fib_trie.c
864
tp = inflate(t, tn);
net/ipv4/fib_trie.c
865
if (!tp) {
net/ipv4/fib_trie.c
873
tn = get_child(tp, cindex);
net/ipv4/fib_trie.c
877
tp = node_parent(tn);
net/ipv4/fib_trie.c
881
return tp;
net/ipv4/fib_trie.c
886
while (should_halve(tp, tn) && max_work) {
net/ipv4/fib_trie.c
887
tp = halve(t, tn);
net/ipv4/fib_trie.c
888
if (!tp) {
net/ipv4/fib_trie.c
896
tn = get_child(tp, cindex);
net/ipv4/fib_trie.c
931
struct key_vector **tp, u32 key)
net/ipv4/fib_trie.c
967
*tp = pn;
net/ipv4/netfilter/nf_reject_ipv4.c
101
return *tp == ICMP_DEST_UNREACH;
net/ipv4/netfilter/nf_reject_ipv4.c
86
u8 *tp, _type;
net/ipv4/netfilter/nf_reject_ipv4.c
94
tp = skb_header_pointer(skb,
net/ipv4/netfilter/nf_reject_ipv4.c
98
if (!tp)
net/ipv4/syncookies.c
409
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/syncookies.c
475
req->rsk_window_clamp = READ_ONCE(tp->window_clamp) ? :
net/ipv4/tcp.c
1043
void tcp_free_fastopen_req(struct tcp_sock *tp)
net/ipv4/tcp.c
1045
if (tp->fastopen_req) {
net/ipv4/tcp.c
1046
kfree(tp->fastopen_req);
net/ipv4/tcp.c
1047
tp->fastopen_req = NULL;
net/ipv4/tcp.c
1054
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1064
if (tp->fastopen_req)
net/ipv4/tcp.c
1067
tp->fastopen_req = kzalloc_obj(struct tcp_fastopen_request,
net/ipv4/tcp.c
1069
if (unlikely(!tp->fastopen_req))
net/ipv4/tcp.c
1071
tp->fastopen_req->data = msg;
net/ipv4/tcp.c
1072
tp->fastopen_req->size = size;
net/ipv4/tcp.c
1073
tp->fastopen_req->uarg = uarg;
net/ipv4/tcp.c
1090
if (tp->fastopen_req) {
net/ipv4/tcp.c
1091
*copied = tp->fastopen_req->copied;
net/ipv4/tcp.c
1092
tcp_free_fastopen_req(tp);
net/ipv4/tcp.c
1101
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1104
tp->write_seq - tp->snd_nxt < tp->mss_cache &&
net/ipv4/tcp.c
1108
tcp_packets_in_flight(tp) < tcp_snd_cwnd(tp) &&
net/ipv4/tcp.c
1110
tp->lost_out <= tp->retrans_out)
net/ipv4/tcp.c
1111
tp->app_limited =
net/ipv4/tcp.c
1112
(tp->delivered + tcp_packets_in_flight(tp)) ? : 1;
net/ipv4/tcp.c
1119
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1180
!tp->repair) {
net/ipv4/tcp.c
1203
if (unlikely(tp->repair)) {
net/ipv4/tcp.c
1204
if (tp->repair_queue == TCP_RECV_QUEUE) {
net/ipv4/tcp.c
1210
if (tp->repair_queue == TCP_NO_QUEUE)
net/ipv4/tcp.c
1273
if (tp->repair)
net/ipv4/tcp.c
1292
tcp_mark_push(tp, skb);
net/ipv4/tcp.c
1342
tcp_mark_push(tp, skb);
net/ipv4/tcp.c
1359
tcp_mark_push(tp, skb);
net/ipv4/tcp.c
1376
WRITE_ONCE(tp->write_seq, tp->write_seq + copy);
net/ipv4/tcp.c
1387
if (skb->len < size_goal || (flags & MSG_OOB) || unlikely(tp->repair))
net/ipv4/tcp.c
1390
if (forced_push(tp)) {
net/ipv4/tcp.c
1391
tcp_mark_push(tp, skb);
net/ipv4/tcp.c
1414
tcp_push(sk, flags, mss_now, tp->nonagle, size_goal);
net/ipv4/tcp.c
1461
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1469
tcp_push(sk, 0, mss_now, tp->nonagle, size_goal);
net/ipv4/tcp.c
1480
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1483
if (sock_flag(sk, SOCK_URGINLINE) || !tp->urg_data ||
net/ipv4/tcp.c
1484
tp->urg_data == TCP_URG_READ)
net/ipv4/tcp.c
1490
if (tp->urg_data & TCP_URG_VALID) {
net/ipv4/tcp.c
1492
char c = tp->urg_data;
net/ipv4/tcp.c
1495
WRITE_ONCE(tp->urg_data, TCP_URG_READ);
net/ipv4/tcp.c
1553
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1560
tp->rcv_nxt - tp->rcv_wup > icsk->icsk_ack.rcv_mss ||
net/ipv4/tcp.c
1582
__u32 rcv_window_now = tcp_receive_window(tp);
net/ipv4/tcp.c
1585
if (2*rcv_window_now <= tp->window_clamp) {
net/ipv4/tcp.c
1598
tcp_mstamp_refresh(tp);
net/ipv4/tcp.c
1606
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1608
WARN(skb && !before(tp->copied_seq, TCP_SKB_CB(skb)->end_seq),
net/ipv4/tcp.c
1610
tp->copied_seq, TCP_SKB_CB(skb)->end_seq, tp->rcv_nxt);
net/ipv4/tcp.c
1667
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1681
if (unlikely(tp->urg_data)) {
net/ipv4/tcp.c
1682
u32 urg_offset = tp->urg_seq - seq;
net/ipv4/tcp.c
1786
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1787
u32 seq = tp->copied_seq;
net/ipv4/tcp.c
1813
WRITE_ONCE(tp->copied_seq, seq);
net/ipv4/tcp.c
1831
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
1851
if (tp->window_clamp && tp->window_clamp < val)
net/ipv4/tcp.c
1852
WRITE_ONCE(tp->window_clamp, val);
net/ipv4/tcp.c
2203
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
2208
u32 seq = tp->copied_seq;
net/ipv4/tcp.c
2327
WRITE_ONCE(tp->copied_seq, seq);
net/ipv4/tcp.c
2415
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
2416
u32 copied_seq = READ_ONCE(tp->copied_seq);
net/ipv4/tcp.c
2417
u32 rcv_nxt = READ_ONCE(tp->rcv_nxt);
net/ipv4/tcp.c
2421
if (unlikely(inq < 0 || copied_seq != READ_ONCE(tp->copied_seq))) {
net/ipv4/tcp.c
2423
inq = tp->rcv_nxt - tp->copied_seq;
net/ipv4/tcp.c
2659
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
2676
if (tp->recvmsg_inq)
net/ipv4/tcp.c
2684
if (unlikely(tp->repair)) {
net/ipv4/tcp.c
2689
if (tp->repair_queue == TCP_SEND_QUEUE)
net/ipv4/tcp.c
2693
if (tp->repair_queue == TCP_NO_QUEUE)
net/ipv4/tcp.c
2699
seq = &tp->copied_seq;
net/ipv4/tcp.c
2702
peek_seq = tp->copied_seq + peek_offset;
net/ipv4/tcp.c
2712
if (unlikely(tp->urg_data) && tp->urg_seq == *seq) {
net/ipv4/tcp.c
2731
*seq, TCP_SKB_CB(skb)->seq, tp->rcv_nxt,
net/ipv4/tcp.c
2746
*seq, TCP_SKB_CB(skb)->seq, tp->rcv_nxt, flags);
net/ipv4/tcp.c
2802
(peek_seq - peek_offset - copied - urg_hole != tp->copied_seq)) {
net/ipv4/tcp.c
2806
peek_seq = tp->copied_seq + peek_offset;
net/ipv4/tcp.c
2817
if (unlikely(tp->urg_data)) {
net/ipv4/tcp.c
2818
u32 urg_offset = tp->urg_seq - *seq;
net/ipv4/tcp.c
2883
if (unlikely(tp->urg_data) && after(tp->copied_seq, tp->urg_seq)) {
net/ipv4/tcp.c
2884
WRITE_ONCE(tp->urg_data, 0);
net/ipv4/tcp.c
3256
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3257
if (READ_ONCE(tp->linger2) < 0) {
net/ipv4/tcp.c
3365
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3376
} else if (unlikely(tp->repair)) {
net/ipv4/tcp.c
3381
} else if (tp->snd_nxt != tp->write_seq &&
net/ipv4/tcp.c
3394
WRITE_ONCE(tp->copied_seq, tp->rcv_nxt);
net/ipv4/tcp.c
3395
WRITE_ONCE(tp->urg_data, 0);
net/ipv4/tcp.c
3399
skb_rbtree_purge(&tp->out_of_order_queue);
net/ipv4/tcp.c
3407
tp->srtt_us = 0;
net/ipv4/tcp.c
3408
tp->mdev_us = jiffies_to_usecs(TCP_TIMEOUT_INIT);
net/ipv4/tcp.c
3409
tp->rcv_rtt_last_tsecr = 0;
net/ipv4/tcp.c
3411
seq = tp->write_seq + tp->max_window + 2;
net/ipv4/tcp.c
3414
WRITE_ONCE(tp->write_seq, seq);
net/ipv4/tcp.c
3422
WRITE_ONCE(tp->snd_ssthresh, TCP_INFINITE_SSTHRESH);
net/ipv4/tcp.c
3423
tcp_snd_cwnd_set(tp, TCP_INIT_CWND);
net/ipv4/tcp.c
3424
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp.c
3425
tp->is_cwnd_limited = 0;
net/ipv4/tcp.c
3426
tp->max_packets_out = 0;
net/ipv4/tcp.c
3427
tp->window_clamp = 0;
net/ipv4/tcp.c
3428
tp->delivered = 0;
net/ipv4/tcp.c
3429
tp->delivered_ce = 0;
net/ipv4/tcp.c
3430
tp->accecn_fail_mode = 0;
net/ipv4/tcp.c
3431
tp->saw_accecn_opt = TCP_ACCECN_OPT_NOT_SEEN;
net/ipv4/tcp.c
3432
tcp_accecn_init_counters(tp);
net/ipv4/tcp.c
3433
tp->prev_ecnfield = 0;
net/ipv4/tcp.c
3434
tp->accecn_opt_tstamp = 0;
net/ipv4/tcp.c
3435
tp->pkts_acked_ewma = 0;
net/ipv4/tcp.c
3441
tp->is_sack_reneg = 0;
net/ipv4/tcp.c
3442
tcp_clear_retrans(tp);
net/ipv4/tcp.c
3443
tp->total_retrans = 0;
net/ipv4/tcp.c
3449
memset(&tp->rx_opt, 0, sizeof(tp->rx_opt));
net/ipv4/tcp.c
3452
tcp_saved_syn_free(tp);
net/ipv4/tcp.c
3453
tp->compressed_ack = 0;
net/ipv4/tcp.c
3454
tp->segs_in = 0;
net/ipv4/tcp.c
3455
tp->segs_out = 0;
net/ipv4/tcp.c
3456
tp->bytes_sent = 0;
net/ipv4/tcp.c
3457
tp->bytes_acked = 0;
net/ipv4/tcp.c
3458
tp->bytes_received = 0;
net/ipv4/tcp.c
3459
tp->bytes_retrans = 0;
net/ipv4/tcp.c
3460
tp->data_segs_in = 0;
net/ipv4/tcp.c
3461
tp->data_segs_out = 0;
net/ipv4/tcp.c
3462
tp->duplicate_sack[0].start_seq = 0;
net/ipv4/tcp.c
3463
tp->duplicate_sack[0].end_seq = 0;
net/ipv4/tcp.c
3464
tp->dsack_dups = 0;
net/ipv4/tcp.c
3465
tp->reord_seen = 0;
net/ipv4/tcp.c
3466
tp->retrans_out = 0;
net/ipv4/tcp.c
3467
tp->sacked_out = 0;
net/ipv4/tcp.c
3468
tp->tlp_high_seq = 0;
net/ipv4/tcp.c
3469
tp->last_oow_ack_time = 0;
net/ipv4/tcp.c
3470
tp->plb_rehash = 0;
net/ipv4/tcp.c
3472
tp->app_limited = ~0U;
net/ipv4/tcp.c
3473
tp->rate_app_limited = 1;
net/ipv4/tcp.c
3474
tp->rack.mstamp = 0;
net/ipv4/tcp.c
3475
tp->rack.advanced = 0;
net/ipv4/tcp.c
3476
tp->rack.reo_wnd_steps = 1;
net/ipv4/tcp.c
3477
tp->rack.last_delivered = 0;
net/ipv4/tcp.c
3478
tp->rack.reo_wnd_persist = 0;
net/ipv4/tcp.c
3479
tp->rack.dsack_seen = 0;
net/ipv4/tcp.c
3480
tp->syn_data_acked = 0;
net/ipv4/tcp.c
3481
tp->syn_fastopen_child = 0;
net/ipv4/tcp.c
3482
tp->rx_opt.saw_tstamp = 0;
net/ipv4/tcp.c
3483
tp->rx_opt.dsack = 0;
net/ipv4/tcp.c
3484
tp->rx_opt.num_sacks = 0;
net/ipv4/tcp.c
3485
tp->rcv_ooopack = 0;
net/ipv4/tcp.c
3489
req = rcu_dereference_protected(tp->fastopen_rsk,
net/ipv4/tcp.c
3493
tcp_free_fastopen_req(tp);
net/ipv4/tcp.c
3495
tp->fastopen_client_fail = 0;
net/ipv4/tcp.c
3514
static int tcp_repair_set_window(struct tcp_sock *tp, sockptr_t optbuf, int len)
net/ipv4/tcp.c
3518
if (!tp->repair)
net/ipv4/tcp.c
3530
if (after(opt.snd_wl1, tp->rcv_nxt + opt.rcv_wnd))
net/ipv4/tcp.c
3533
if (after(opt.rcv_wup, tp->rcv_nxt))
net/ipv4/tcp.c
3536
tp->snd_wl1 = opt.snd_wl1;
net/ipv4/tcp.c
3537
tp->snd_wnd = opt.snd_wnd;
net/ipv4/tcp.c
3538
tp->max_window = opt.max_window;
net/ipv4/tcp.c
3540
tp->rcv_wnd = opt.rcv_wnd;
net/ipv4/tcp.c
3541
tp->rcv_wup = opt.rcv_wup;
net/ipv4/tcp.c
3542
tp->rcv_mwnd_seq = opt.rcv_wup + opt.rcv_wnd;
net/ipv4/tcp.c
3550
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3563
tp->rx_opt.mss_clamp = opt.opt_val;
net/ipv4/tcp.c
3574
tp->rx_opt.snd_wscale = snd_wscale;
net/ipv4/tcp.c
3575
tp->rx_opt.rcv_wscale = rcv_wscale;
net/ipv4/tcp.c
3576
tp->rx_opt.wscale_ok = 1;
net/ipv4/tcp.c
3583
tp->rx_opt.sack_ok |= TCP_SACK_SEEN;
net/ipv4/tcp.c
3589
tp->rx_opt.tstamp_ok = 1;
net/ipv4/tcp.c
3601
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3602
s32 delta = (val - tp->tcp_tx_delay) << 3;
net/ipv4/tcp.c
3617
s64 srtt = (s64)tp->srtt_us + delta;
net/ipv4/tcp.c
3619
WRITE_ONCE(tp->srtt_us,
net/ipv4/tcp.c
3625
minmax_reset(&tp->rtt_min, tcp_jiffies32, ~0U);
net/ipv4/tcp.c
3642
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3645
tp->nonagle |= TCP_NAGLE_CORK;
net/ipv4/tcp.c
3647
tp->nonagle &= ~TCP_NAGLE_CORK;
net/ipv4/tcp.c
3648
if (tp->nonagle & TCP_NAGLE_OFF)
net/ipv4/tcp.c
3649
tp->nonagle |= TCP_NAGLE_PUSH;
net/ipv4/tcp.c
3736
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3742
WRITE_ONCE(tp->keepalive_time, val * HZ);
net/ipv4/tcp.c
3745
u32 elapsed = keepalive_time_elapsed(tp);
net/ipv4/tcp.c
3747
if (tp->keepalive_time > elapsed)
net/ipv4/tcp.c
3748
elapsed = tp->keepalive_time - elapsed;
net/ipv4/tcp.c
3792
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
3797
WRITE_ONCE(tp->window_clamp, 0);
net/ipv4/tcp.c
3801
old_window_clamp = tp->window_clamp;
net/ipv4/tcp.c
3807
WRITE_ONCE(tp->window_clamp, new_window_clamp);
net/ipv4/tcp.c
3815
new_rcv_ssthresh = min(tp->rcv_wnd, new_window_clamp);
net/ipv4/tcp.c
3816
tp->rcv_ssthresh = max(new_rcv_ssthresh, tp->rcv_ssthresh);
net/ipv4/tcp.c
3840
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
388
static u64 tcp_compute_delivery_rate(const struct tcp_sock *tp)
net/ipv4/tcp.c
390
u32 rate = READ_ONCE(tp->rate_delivered);
net/ipv4/tcp.c
391
u32 intv = READ_ONCE(tp->rate_interval_us);
net/ipv4/tcp.c
3927
WRITE_ONCE(tp->linger2, -1);
net/ipv4/tcp.c
3929
WRITE_ONCE(tp->linger2, TCP_FIN_TIMEOUT_MAX);
net/ipv4/tcp.c
3931
WRITE_ONCE(tp->linger2, val * HZ);
net/ipv4/tcp.c
395
rate64 = (u64)rate * tp->mss_cache * USEC_PER_SEC;
net/ipv4/tcp.c
3975
tp->thin_lto = val;
net/ipv4/tcp.c
3987
tp->repair = 1;
net/ipv4/tcp.c
3989
tp->repair_queue = TCP_NO_QUEUE;
net/ipv4/tcp.c
3991
tp->repair = 0;
net/ipv4/tcp.c
3995
tp->repair = 0;
net/ipv4/tcp.c
4003
if (!tp->repair)
net/ipv4/tcp.c
4006
tp->repair_queue = val;
net/ipv4/tcp.c
4014
} else if (tp->repair_queue == TCP_SEND_QUEUE) {
net/ipv4/tcp.c
4018
WRITE_ONCE(tp->write_seq, val);
net/ipv4/tcp.c
4019
} else if (tp->repair_queue == TCP_RECV_QUEUE) {
net/ipv4/tcp.c
4020
if (tp->rcv_nxt != tp->copied_seq) {
net/ipv4/tcp.c
4023
WRITE_ONCE(tp->rcv_nxt, val);
net/ipv4/tcp.c
4024
WRITE_ONCE(tp->copied_seq, val);
net/ipv4/tcp.c
4032
if (!tp->repair)
net/ipv4/tcp.c
4034
else if (sk->sk_state == TCP_ESTABLISHED && !tp->bytes_sent)
net/ipv4/tcp.c
404
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
4052
tp->save_syn = val;
net/ipv4/tcp.c
406
if (tp->md5sig_info) {
net/ipv4/tcp.c
4083
if (tp->repair)
net/ipv4/tcp.c
4088
err = tp->af_specific->ao_parse(sk, optname, optval, optlen);
net/ipv4/tcp.c
409
kfree(rcu_replace_pointer(tp->md5sig_info, NULL, 1));
net/ipv4/tcp.c
4095
err = tp->af_specific->md5_parse(sk, optname, optval, optlen);
net/ipv4/tcp.c
4114
tp->fastopen_connect = val;
net/ipv4/tcp.c
4127
tp->fastopen_no_cookie = val;
net/ipv4/tcp.c
4130
if (!tp->repair) {
net/ipv4/tcp.c
4138
tp->tcp_usec_ts = val & 1;
net/ipv4/tcp.c
4139
WRITE_ONCE(tp->tsoffset, val - tcp_clock_ts(tp->tcp_usec_ts));
net/ipv4/tcp.c
4142
err = tcp_repair_set_window(tp, optval, optlen);
net/ipv4/tcp.c
4145
WRITE_ONCE(tp->notsent_lowat, val);
net/ipv4/tcp.c
4152
tp->recvmsg_inq = val;
net/ipv4/tcp.c
4161
WRITE_ONCE(tp->tcp_tx_delay, val);
net/ipv4/tcp.c
4184
static void tcp_get_info_chrono_stats(const struct tcp_sock *tp,
net/ipv4/tcp.c
4195
cur = READ_ONCE(tp->chrono_type);
net/ipv4/tcp.c
4197
stats[i] = READ_ONCE(tp->chrono_stat[i - 1]);
net/ipv4/tcp.c
4199
stats[i] += tcp_jiffies32 - READ_ONCE(tp->chrono_start);
net/ipv4/tcp.c
4212
const struct tcp_sock *tp = tcp_sk(sk); /* iff sk_type == SOCK_STREAM */
net/ipv4/tcp.c
423
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
4237
info->tcpi_reordering = tp->reordering;
net/ipv4/tcp.c
4238
info->tcpi_snd_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp.c
4257
if (tp->rx_opt.tstamp_ok)
net/ipv4/tcp.c
4259
if (tcp_is_sack(tp))
net/ipv4/tcp.c
426
tp->out_of_order_queue = RB_ROOT;
net/ipv4/tcp.c
4261
if (tp->rx_opt.wscale_ok) {
net/ipv4/tcp.c
4263
info->tcpi_snd_wscale = tp->rx_opt.snd_wscale;
net/ipv4/tcp.c
4264
info->tcpi_rcv_wscale = tp->rx_opt.rcv_wscale;
net/ipv4/tcp.c
4267
if (tcp_ecn_mode_any(tp))
net/ipv4/tcp.c
4269
if (tp->ecn_flags & TCP_ECN_SEEN)
net/ipv4/tcp.c
4271
if (tp->syn_data_acked)
net/ipv4/tcp.c
4273
if (tp->tcp_usec_ts)
net/ipv4/tcp.c
4275
if (tp->syn_fastopen_child)
net/ipv4/tcp.c
4281
info->tcpi_snd_mss = tp->mss_cache;
net/ipv4/tcp.c
4284
info->tcpi_unacked = tp->packets_out;
net/ipv4/tcp.c
4285
info->tcpi_sacked = tp->sacked_out;
net/ipv4/tcp.c
4287
info->tcpi_lost = tp->lost_out;
net/ipv4/tcp.c
4288
info->tcpi_retrans = tp->retrans_out;
net/ipv4/tcp.c
429
INIT_LIST_HEAD(&tp->tsq_node);
net/ipv4/tcp.c
4291
info->tcpi_last_data_sent = jiffies_to_msecs(now - tp->lsndtime);
net/ipv4/tcp.c
4293
info->tcpi_last_ack_recv = jiffies_to_msecs(now - tp->rcv_tstamp);
net/ipv4/tcp.c
4296
info->tcpi_rcv_ssthresh = tp->rcv_ssthresh;
net/ipv4/tcp.c
4297
info->tcpi_rtt = tp->srtt_us >> 3;
net/ipv4/tcp.c
4298
info->tcpi_rttvar = tp->mdev_us >> 2;
net/ipv4/tcp.c
4299
info->tcpi_snd_ssthresh = tp->snd_ssthresh;
net/ipv4/tcp.c
430
INIT_LIST_HEAD(&tp->tsorted_sent_queue);
net/ipv4/tcp.c
4300
info->tcpi_advmss = tp->advmss;
net/ipv4/tcp.c
4302
info->tcpi_rcv_rtt = tp->rcv_rtt_est.rtt_us >> 3;
net/ipv4/tcp.c
4303
info->tcpi_rcv_space = tp->rcvq_space.space;
net/ipv4/tcp.c
4305
info->tcpi_total_retrans = tp->total_retrans;
net/ipv4/tcp.c
4307
info->tcpi_bytes_acked = tp->bytes_acked;
net/ipv4/tcp.c
4308
info->tcpi_bytes_received = tp->bytes_received;
net/ipv4/tcp.c
4309
info->tcpi_notsent_bytes = max_t(int, 0, tp->write_seq - tp->snd_nxt);
net/ipv4/tcp.c
4310
tcp_get_info_chrono_stats(tp, info);
net/ipv4/tcp.c
4312
info->tcpi_segs_out = tp->segs_out;
net/ipv4/tcp.c
4315
info->tcpi_segs_in = READ_ONCE(tp->segs_in);
net/ipv4/tcp.c
4316
info->tcpi_data_segs_in = READ_ONCE(tp->data_segs_in);
net/ipv4/tcp.c
4318
info->tcpi_min_rtt = tcp_min_rtt(tp);
net/ipv4/tcp.c
4319
info->tcpi_data_segs_out = tp->data_segs_out;
net/ipv4/tcp.c
4321
info->tcpi_delivery_rate_app_limited = tp->rate_app_limited ? 1 : 0;
net/ipv4/tcp.c
4322
rate64 = tcp_compute_delivery_rate(tp);
net/ipv4/tcp.c
4325
info->tcpi_delivered = tp->delivered;
net/ipv4/tcp.c
4326
info->tcpi_delivered_ce = tp->delivered_ce;
net/ipv4/tcp.c
4327
info->tcpi_bytes_sent = tp->bytes_sent;
net/ipv4/tcp.c
4328
info->tcpi_bytes_retrans = tp->bytes_retrans;
net/ipv4/tcp.c
4329
info->tcpi_dsack_dups = tp->dsack_dups;
net/ipv4/tcp.c
4330
info->tcpi_reord_seen = tp->reord_seen;
net/ipv4/tcp.c
4331
info->tcpi_rcv_ooopack = tp->rcv_ooopack;
net/ipv4/tcp.c
4332
info->tcpi_snd_wnd = tp->snd_wnd;
net/ipv4/tcp.c
4333
info->tcpi_rcv_wnd = tp->rcv_wnd;
net/ipv4/tcp.c
4334
info->tcpi_rehash = tp->plb_rehash + tp->timeout_rehash;
net/ipv4/tcp.c
4335
info->tcpi_fastopen_client_fail = tp->fastopen_client_fail;
net/ipv4/tcp.c
4337
info->tcpi_total_rto = tp->total_rto;
net/ipv4/tcp.c
4338
info->tcpi_total_rto_recoveries = tp->total_rto_recoveries;
net/ipv4/tcp.c
4339
info->tcpi_total_rto_time = tp->total_rto_time;
net/ipv4/tcp.c
4340
if (tp->rto_stamp)
net/ipv4/tcp.c
4341
info->tcpi_total_rto_time += tcp_clock_ms() - tp->rto_stamp;
net/ipv4/tcp.c
4343
if (tcp_ecn_disabled(tp))
net/ipv4/tcp.c
4345
else if (tcp_ecn_mode_rfc3168(tp))
net/ipv4/tcp.c
4347
else if (tcp_ecn_mode_accecn(tp))
net/ipv4/tcp.c
4349
else if (tcp_ecn_mode_pending(tp))
net/ipv4/tcp.c
4351
info->tcpi_accecn_fail_mode = tp->accecn_fail_mode;
net/ipv4/tcp.c
4352
info->tcpi_accecn_opt_seen = tp->saw_accecn_opt;
net/ipv4/tcp.c
4353
info->tcpi_received_ce = tp->received_ce;
net/ipv4/tcp.c
4354
info->tcpi_delivered_e1_bytes = tp->delivered_ecn_bytes[ect1_idx];
net/ipv4/tcp.c
4355
info->tcpi_delivered_e0_bytes = tp->delivered_ecn_bytes[ect0_idx];
net/ipv4/tcp.c
4356
info->tcpi_delivered_ce_bytes = tp->delivered_ecn_bytes[ce_idx];
net/ipv4/tcp.c
4357
info->tcpi_received_e1_bytes = tp->received_ecn_bytes[ect1_idx];
net/ipv4/tcp.c
4358
info->tcpi_received_e0_bytes = tp->received_ecn_bytes[ect0_idx];
net/ipv4/tcp.c
4359
info->tcpi_received_ce_bytes = tp->received_ecn_bytes[ce_idx];
net/ipv4/tcp.c
440
tp->mdev_us = jiffies_to_usecs(TCP_TIMEOUT_INIT);
net/ipv4/tcp.c
441
minmax_reset(&tp->rtt_min, tcp_jiffies32, ~0U);
net/ipv4/tcp.c
4413
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
4423
tcp_get_info_chrono_stats(tp, &info);
net/ipv4/tcp.c
4431
READ_ONCE(tp->data_segs_out), TCP_NLA_PAD);
net/ipv4/tcp.c
4433
READ_ONCE(tp->total_retrans), TCP_NLA_PAD);
net/ipv4/tcp.c
4439
rate64 = tcp_compute_delivery_rate(tp);
net/ipv4/tcp.c
4442
nla_put_u32(stats, TCP_NLA_SND_CWND, READ_ONCE(tp->snd_cwnd));
net/ipv4/tcp.c
4443
nla_put_u32(stats, TCP_NLA_REORDERING, READ_ONCE(tp->reordering));
net/ipv4/tcp.c
4444
nla_put_u32(stats, TCP_NLA_MIN_RTT, data_race(tcp_min_rtt(tp)));
net/ipv4/tcp.c
4448
nla_put_u8(stats, TCP_NLA_DELIVERY_RATE_APP_LMT, data_race(!!tp->rate_app_limited));
net/ipv4/tcp.c
4449
nla_put_u32(stats, TCP_NLA_SND_SSTHRESH, READ_ONCE(tp->snd_ssthresh));
net/ipv4/tcp.c
4450
nla_put_u32(stats, TCP_NLA_DELIVERED, READ_ONCE(tp->delivered));
net/ipv4/tcp.c
4451
nla_put_u32(stats, TCP_NLA_DELIVERED_CE, READ_ONCE(tp->delivered_ce));
net/ipv4/tcp.c
4455
READ_ONCE(tp->write_seq) - READ_ONCE(tp->snd_una)));
net/ipv4/tcp.c
4458
nla_put_u64_64bit(stats, TCP_NLA_BYTES_SENT, READ_ONCE(tp->bytes_sent),
net/ipv4/tcp.c
4461
READ_ONCE(tp->bytes_retrans), TCP_NLA_PAD);
net/ipv4/tcp.c
4462
nla_put_u32(stats, TCP_NLA_DSACK_DUPS, READ_ONCE(tp->dsack_dups));
net/ipv4/tcp.c
4463
nla_put_u32(stats, TCP_NLA_REORD_SEEN, READ_ONCE(tp->reord_seen));
net/ipv4/tcp.c
4464
nla_put_u32(stats, TCP_NLA_SRTT, READ_ONCE(tp->srtt_us) >> 3);
net/ipv4/tcp.c
4466
READ_ONCE(tp->timeout_rehash));
net/ipv4/tcp.c
4469
READ_ONCE(tp->write_seq) - READ_ONCE(tp->snd_nxt)));
net/ipv4/tcp.c
4477
READ_ONCE(tp->plb_rehash) + READ_ONCE(tp->timeout_rehash));
net/ipv4/tcp.c
448
tcp_snd_cwnd_set(tp, TCP_INIT_CWND);
net/ipv4/tcp.c
4485
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
4500
val = tp->mss_cache;
net/ipv4/tcp.c
4501
user_mss = READ_ONCE(tp->rx_opt.user_mss);
net/ipv4/tcp.c
4505
if (tp->repair)
net/ipv4/tcp.c
4506
val = tp->rx_opt.mss_clamp;
net/ipv4/tcp.c
4509
val = !!(tp->nonagle&TCP_NAGLE_OFF);
net/ipv4/tcp.c
451
tp->app_limited = ~0U;
net/ipv4/tcp.c
4512
val = !!(tp->nonagle&TCP_NAGLE_CORK);
net/ipv4/tcp.c
4515
val = keepalive_time_when(tp) / HZ;
net/ipv4/tcp.c
4518
val = keepalive_intvl_when(tp) / HZ;
net/ipv4/tcp.c
452
tp->rate_app_limited = 1;
net/ipv4/tcp.c
4521
val = keepalive_probes(tp);
net/ipv4/tcp.c
4528
val = READ_ONCE(tp->linger2);
net/ipv4/tcp.c
4538
val = READ_ONCE(tp->window_clamp);
net/ipv4/tcp.c
457
tp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
net/ipv4/tcp.c
458
tp->snd_cwnd_clamp = ~0;
net/ipv4/tcp.c
459
tp->mss_cache = TCP_MSS_DEFAULT;
net/ipv4/tcp.c
461
tp->reordering = READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_reordering);
net/ipv4/tcp.c
4622
val = tp->thin_lto;
net/ipv4/tcp.c
4630
val = tp->repair;
net/ipv4/tcp.c
4634
if (tp->repair)
net/ipv4/tcp.c
4635
val = tp->repair_queue;
net/ipv4/tcp.c
464
tp->tsoffset = 0;
net/ipv4/tcp.c
4649
if (!tp->repair)
net/ipv4/tcp.c
465
tp->rack.reo_wnd_steps = 1;
net/ipv4/tcp.c
4652
opt.snd_wl1 = tp->snd_wl1;
net/ipv4/tcp.c
4653
opt.snd_wnd = tp->snd_wnd;
net/ipv4/tcp.c
4654
opt.max_window = tp->max_window;
net/ipv4/tcp.c
4655
opt.rcv_wnd = tp->rcv_wnd;
net/ipv4/tcp.c
4656
opt.rcv_wup = tp->rcv_wup;
net/ipv4/tcp.c
4663
if (tp->repair_queue == TCP_SEND_QUEUE)
net/ipv4/tcp.c
4664
val = tp->write_seq;
net/ipv4/tcp.c
4665
else if (tp->repair_queue == TCP_RECV_QUEUE)
net/ipv4/tcp.c
4666
val = tp->rcv_nxt;
net/ipv4/tcp.c
4680
val = tp->fastopen_connect;
net/ipv4/tcp.c
4684
val = tp->fastopen_no_cookie;
net/ipv4/tcp.c
4688
val = READ_ONCE(tp->tcp_tx_delay);
net/ipv4/tcp.c
4692
val = tcp_clock_ts(tp->tcp_usec_ts) + READ_ONCE(tp->tsoffset);
net/ipv4/tcp.c
4693
if (tp->tcp_usec_ts)
net/ipv4/tcp.c
4699
val = READ_ONCE(tp->notsent_lowat);
net/ipv4/tcp.c
4702
val = tp->recvmsg_inq;
net/ipv4/tcp.c
4705
val = tp->save_syn;
net/ipv4/tcp.c
4712
if (tp->saved_syn) {
net/ipv4/tcp.c
4713
if (len < tcp_saved_syn_len(tp->saved_syn)) {
net/ipv4/tcp.c
4714
len = tcp_saved_syn_len(tp->saved_syn);
net/ipv4/tcp.c
4722
len = tcp_saved_syn_len(tp->saved_syn);
net/ipv4/tcp.c
4727
if (copy_to_sockptr(optval, tp->saved_syn->data, len)) {
net/ipv4/tcp.c
4731
tcp_saved_syn_free(tp);
net/ipv4/tcp.c
4922
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
4940
tp->af_specific->calc_md5_hash(newhash, key, NULL, skb);
net/ipv4/tcp.c
511
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
512
u32 notsent_bytes = READ_ONCE(tp->write_seq) - READ_ONCE(tp->snd_nxt);
net/ipv4/tcp.c
514
return (notsent_bytes << wake) < tcp_notsent_lowat(tp);
net/ipv4/tcp.c
536
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
588
(state != TCP_SYN_RECV || rcu_access_pointer(tp->fastopen_rsk))) {
net/ipv4/tcp.c
590
u16 urg_data = READ_ONCE(tp->urg_data);
net/ipv4/tcp.c
593
READ_ONCE(tp->urg_seq) == READ_ONCE(tp->copied_seq) &&
net/ipv4/tcp.c
641
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
655
answ = READ_ONCE(tp->urg_data) &&
net/ipv4/tcp.c
656
READ_ONCE(tp->urg_seq) == READ_ONCE(tp->copied_seq);
net/ipv4/tcp.c
665
answ = READ_ONCE(tp->write_seq) - tp->snd_una;
net/ipv4/tcp.c
674
answ = READ_ONCE(tp->write_seq) -
net/ipv4/tcp.c
675
READ_ONCE(tp->snd_nxt);
net/ipv4/tcp.c
685
void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb)
net/ipv4/tcp.c
688
tp->pushed_seq = tp->write_seq;
net/ipv4/tcp.c
691
static inline bool forced_push(const struct tcp_sock *tp)
net/ipv4/tcp.c
693
return after(tp->write_seq, tp->pushed_seq + (tp->max_window >> 1));
net/ipv4/tcp.c
698
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
701
tcb->seq = tcb->end_seq = tp->write_seq;
net/ipv4/tcp.c
708
if (tp->nonagle & TCP_NAGLE_PUSH)
net/ipv4/tcp.c
709
tp->nonagle &= ~TCP_NAGLE_PUSH;
net/ipv4/tcp.c
714
static inline void tcp_mark_urg(struct tcp_sock *tp, int flags)
net/ipv4/tcp.c
717
tp->snd_up = tp->write_seq;
net/ipv4/tcp.c
743
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
749
if (!(flags & MSG_MORE) || forced_push(tp))
net/ipv4/tcp.c
750
tcp_mark_push(tp, skb);
net/ipv4/tcp.c
752
tcp_mark_urg(tp, flags);
net/ipv4/tcp.c
960
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp.c
967
new_size_goal = tcp_bound_to_half_wnd(tp, sk->sk_gso_max_size);
net/ipv4/tcp.c
970
size_goal = tp->gso_segs * mss_now;
net/ipv4/tcp.c
973
tp->gso_segs = min_t(u16, new_size_goal / mss_now,
net/ipv4/tcp.c
975
size_goal = tp->gso_segs * mss_now;
net/ipv4/tcp_ao.c
1138
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ao.c
1145
ao_info = rcu_dereference_protected(tp->ao_info,
net/ipv4/tcp_ao.c
1176
key = tp->af_specific->ao_lookup(sk, sk, -1, -1);
net/ipv4/tcp_ao.c
1185
tp->tcp_header_len += tcp_ao_len_aligned(key);
net/ipv4/tcp_ao.c
1187
ao_info->lisn = htonl(tp->write_seq);
net/ipv4/tcp_ao.c
1194
rcu_assign_pointer(tp->ao_info, NULL);
net/ipv4/tcp_ao.c
2359
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ao.c
2372
if (!tp->repair)
net/ipv4/tcp_ao.c
2394
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ao.c
2405
if (!tp->repair)
net/ipv4/tcp_ao.c
418
void tcp_ao_time_wait(struct tcp_timewait_sock *tcptw, struct tcp_sock *tp)
net/ipv4/tcp_ao.c
420
struct tcp_ao_info *ao_info = rcu_dereference_protected(tp->ao_info, 1);
net/ipv4/tcp_ao.c
432
atomic_sub(omem, &(((struct sock *)tp)->sk_omem_alloc));
net/ipv4/tcp_ao.c
873
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ao.c
890
tp->af_specific->ao_calc_key_sk(key, traffic_key,
net/ipv4/tcp_ao.c
893
sne = tcp_ao_compute_sne(READ_ONCE(ao->snd_sne), READ_ONCE(tp->snd_una),
net/ipv4/tcp_ao.c
895
tp->af_specific->calc_ao_hash(hash_location, key, sk, skb, traffic_key,
net/ipv4/tcp_bbr.c
1042
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
1046
WRITE_ONCE(tp->snd_ssthresh, TCP_INFINITE_SSTHRESH);
net/ipv4/tcp_bbr.c
1048
bbr->next_rtt_delivered = tp->delivered;
net/ipv4/tcp_bbr.c
1054
bbr->min_rtt_us = tcp_min_rtt(tp);
net/ipv4/tcp_bbr.c
1072
bbr->ack_epoch_mstamp = tp->tcp_mstamp;
net/ipv4/tcp_bbr.c
1113
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
1117
bw = bw * tp->mss_cache * USEC_PER_SEC >> BW_SCALE;
net/ipv4/tcp_bbr.c
269
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
274
if (tp->srtt_us) { /* any RTT sample yet? */
net/ipv4/tcp_bbr.c
275
rtt_us = max(tp->srtt_us >> 3, 1U);
net/ipv4/tcp_bbr.c
280
bw = (u64)tcp_snd_cwnd(tp) * BW_UNIT;
net/ipv4/tcp_bbr.c
289
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
293
if (unlikely(!bbr->has_seen_rtt && tp->srtt_us))
net/ipv4/tcp_bbr.c
307
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
316
segs = max_t(u32, bytes / tp->mss_cache, bbr_min_tso_segs(sk));
net/ipv4/tcp_bbr.c
324
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
328
bbr->prior_cwnd = tcp_snd_cwnd(tp); /* this cwnd is good enough */
net/ipv4/tcp_bbr.c
330
bbr->prior_cwnd = max(bbr->prior_cwnd, tcp_snd_cwnd(tp));
net/ipv4/tcp_bbr.c
335
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
338
if (tp->app_limited) {
net/ipv4/tcp_bbr.c
340
bbr->ack_epoch_mstamp = tp->tcp_mstamp;
net/ipv4/tcp_bbr.c
440
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
445
now_ns = tp->tcp_clock_cache;
net/ipv4/tcp_bbr.c
446
edt_ns = max(tp->tcp_wstamp_ns, now_ns);
net/ipv4/tcp_bbr.c
484
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
487
u32 cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_bbr.c
499
bbr->next_rtt_delivered = tp->delivered; /* start round now */
net/ipv4/tcp_bbr.c
501
cwnd = tcp_packets_in_flight(tp) + acked;
net/ipv4/tcp_bbr.c
510
*new_cwnd = max(cwnd, tcp_packets_in_flight(tp) + acked);
net/ipv4/tcp_bbr.c
523
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
525
u32 cwnd = tcp_snd_cwnd(tp), target_cwnd = 0;
net/ipv4/tcp_bbr.c
544
else if (cwnd < target_cwnd || tp->delivered < TCP_INIT_CWND)
net/ipv4/tcp_bbr.c
549
tcp_snd_cwnd_set(tp, min(cwnd, tp->snd_cwnd_clamp)); /* apply global cap */
net/ipv4/tcp_bbr.c
551
tcp_snd_cwnd_set(tp, min(tcp_snd_cwnd(tp), bbr_cwnd_min_target));
net/ipv4/tcp_bbr.c
558
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
561
tcp_stamp_us_delta(tp->delivered_mstamp, bbr->cycle_mstamp) >
net/ipv4/tcp_bbr.c
594
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
598
bbr->cycle_mstamp = tp->delivered_mstamp;
net/ipv4/tcp_bbr.c
638
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
641
bbr->lt_last_stamp = div_u64(tp->delivered_mstamp, USEC_PER_MSEC);
net/ipv4/tcp_bbr.c
642
bbr->lt_last_delivered = tp->delivered;
net/ipv4/tcp_bbr.c
643
bbr->lt_last_lost = tp->lost;
net/ipv4/tcp_bbr.c
691
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
740
lost = tp->lost - bbr->lt_last_lost;
net/ipv4/tcp_bbr.c
741
delivered = tp->delivered - bbr->lt_last_delivered;
net/ipv4/tcp_bbr.c
747
t = div_u64(tp->delivered_mstamp, USEC_PER_MSEC) - bbr->lt_last_stamp;
net/ipv4/tcp_bbr.c
764
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
774
bbr->next_rtt_delivered = tp->delivered;
net/ipv4/tcp_bbr.c
823
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
841
epoch_us = tcp_stamp_us_delta(tp->delivered_mstamp,
net/ipv4/tcp_bbr.c
853
bbr->ack_epoch_mstamp = tp->delivered_mstamp;
net/ipv4/tcp_bbr.c
861
extra_acked = min(extra_acked, tcp_snd_cwnd(tp));
net/ipv4/tcp_bbr.c
911
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
919
tcp_snd_cwnd_set(tp, max(tcp_snd_cwnd(tp), bbr->prior_cwnd));
net/ipv4/tcp_bbr.c
944
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bbr.c
967
tp->app_limited =
net/ipv4/tcp_bbr.c
968
(tp->delivered + tcp_packets_in_flight(tp)) ? : 1;
net/ipv4/tcp_bbr.c
971
tcp_packets_in_flight(tp) <= bbr_cwnd_min_target) {
net/ipv4/tcp_bbr.c
975
bbr->next_rtt_delivered = tp->delivered;
net/ipv4/tcp_bic.c
142
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bic.c
148
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_bic.c
149
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_bic.c
153
bictcp_update(ca, tcp_snd_cwnd(tp));
net/ipv4/tcp_bic.c
154
tcp_cong_avoid_ai(tp, ca->cnt, acked);
net/ipv4/tcp_bic.c
163
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_bic.c
169
if (tcp_snd_cwnd(tp) < ca->last_max_cwnd && fast_convergence)
net/ipv4/tcp_bic.c
170
ca->last_max_cwnd = (tcp_snd_cwnd(tp) * (BICTCP_BETA_SCALE + beta))
net/ipv4/tcp_bic.c
173
ca->last_max_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_bic.c
175
if (tcp_snd_cwnd(tp) <= low_window)
net/ipv4/tcp_bic.c
176
return max(tcp_snd_cwnd(tp) >> 1U, 2U);
net/ipv4/tcp_bic.c
178
return max((tcp_snd_cwnd(tp) * beta) / BICTCP_BETA_SCALE, 2U);
net/ipv4/tcp_bpf.c
693
struct tcp_sock *tp;
net/ipv4/tcp_bpf.c
696
tp = tcp_sk(sk);
net/ipv4/tcp_bpf.c
714
tp->copied_seq = psock->copied_seq - psock->ingress_bytes;
net/ipv4/tcp_cdg.c
143
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
150
u32 now_us = tp->tcp_mstamp;
net/ipv4/tcp_cdg.c
164
tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
165
WRITE_ONCE(tp->snd_ssthresh, tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
183
tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
184
WRITE_ONCE(tp->snd_ssthresh, tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
244
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
255
ca->shadow_wnd = max(ca->shadow_wnd, tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
265
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
269
if (tcp_in_slow_start(tp) && hystart_detect)
net/ipv4/tcp_cdg.c
277
ca->rtt_seq = tp->snd_nxt;
net/ipv4/tcp_cdg.c
288
ca->shadow_wnd = min(ca->shadow_wnd, tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
292
prior_snd_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_cdg.c
295
incr = tcp_snd_cwnd(tp) - prior_snd_cwnd;
net/ipv4/tcp_cdg.c
302
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
311
if (tp->sacked_out == 0) {
net/ipv4/tcp_cdg.c
331
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
334
return max(2U, (tcp_snd_cwnd(tp) * min(1024U, backoff_beta)) >> 10);
net/ipv4/tcp_cdg.c
337
return tcp_snd_cwnd(tp);
net/ipv4/tcp_cdg.c
339
ca->shadow_wnd = min(ca->shadow_wnd >> 1, tcp_snd_cwnd(tp));
net/ipv4/tcp_cdg.c
341
return max3(2U, ca->shadow_wnd, tcp_snd_cwnd(tp) >> 1);
net/ipv4/tcp_cdg.c
342
return max(2U, tcp_snd_cwnd(tp) >> 1);
net/ipv4/tcp_cdg.c
348
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
359
ca->rtt_seq = tp->snd_nxt;
net/ipv4/tcp_cdg.c
360
ca->shadow_wnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_cdg.c
364
ca->rtt_seq = tp->snd_nxt;
net/ipv4/tcp_cdg.c
376
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cdg.c
383
ca->rtt_seq = tp->snd_nxt;
net/ipv4/tcp_cdg.c
384
ca->shadow_wnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_cong.c
456
__bpf_kfunc u32 tcp_slow_start(struct tcp_sock *tp, u32 acked)
net/ipv4/tcp_cong.c
458
u32 cwnd = min(tcp_snd_cwnd(tp) + acked, tp->snd_ssthresh);
net/ipv4/tcp_cong.c
460
acked -= cwnd - tcp_snd_cwnd(tp);
net/ipv4/tcp_cong.c
461
tcp_snd_cwnd_set(tp, min(cwnd, tp->snd_cwnd_clamp));
net/ipv4/tcp_cong.c
470
__bpf_kfunc void tcp_cong_avoid_ai(struct tcp_sock *tp, u32 w, u32 acked)
net/ipv4/tcp_cong.c
473
if (tp->snd_cwnd_cnt >= w) {
net/ipv4/tcp_cong.c
474
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_cong.c
475
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_cong.c
478
tp->snd_cwnd_cnt += acked;
net/ipv4/tcp_cong.c
479
if (tp->snd_cwnd_cnt >= w) {
net/ipv4/tcp_cong.c
480
u32 delta = tp->snd_cwnd_cnt / w;
net/ipv4/tcp_cong.c
482
tp->snd_cwnd_cnt -= delta * w;
net/ipv4/tcp_cong.c
483
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + delta);
net/ipv4/tcp_cong.c
485
tcp_snd_cwnd_set(tp, min(tcp_snd_cwnd(tp), tp->snd_cwnd_clamp));
net/ipv4/tcp_cong.c
498
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cong.c
504
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_cong.c
505
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_cong.c
510
tcp_cong_avoid_ai(tp, tcp_snd_cwnd(tp), acked);
net/ipv4/tcp_cong.c
517
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cong.c
519
return max(tcp_snd_cwnd(tp) >> 1U, 2U);
net/ipv4/tcp_cong.c
525
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cong.c
527
return max(tcp_snd_cwnd(tp), tp->prior_cwnd);
net/ipv4/tcp_cubic.c
120
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cubic.c
124
ca->end_seq = tp->snd_nxt;
net/ipv4/tcp_cubic.c
323
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cubic.c
329
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_cubic.c
330
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_cubic.c
334
bictcp_update(ca, tcp_snd_cwnd(tp), acked);
net/ipv4/tcp_cubic.c
335
tcp_cong_avoid_ai(tp, ca->cnt, acked);
net/ipv4/tcp_cubic.c
340
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cubic.c
346
if (tcp_snd_cwnd(tp) < ca->last_max_cwnd && fast_convergence)
net/ipv4/tcp_cubic.c
347
ca->last_max_cwnd = (tcp_snd_cwnd(tp) * (BICTCP_BETA_SCALE + beta))
net/ipv4/tcp_cubic.c
350
ca->last_max_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_cubic.c
352
return max((tcp_snd_cwnd(tp) * beta) / BICTCP_BETA_SCALE, 2U);
net/ipv4/tcp_cubic.c
385
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cubic.c
389
if (after(tp->snd_una, ca->end_seq))
net/ipv4/tcp_cubic.c
393
if (tcp_snd_cwnd(tp) < hystart_low_window)
net/ipv4/tcp_cubic.c
417
ca->delay_min, hystart_ack_delay(sk), tcp_snd_cwnd(tp));
net/ipv4/tcp_cubic.c
422
tcp_snd_cwnd(tp));
net/ipv4/tcp_cubic.c
423
WRITE_ONCE(tp->snd_ssthresh, tcp_snd_cwnd(tp));
net/ipv4/tcp_cubic.c
442
tcp_snd_cwnd(tp));
net/ipv4/tcp_cubic.c
443
WRITE_ONCE(tp->snd_ssthresh, tcp_snd_cwnd(tp));
net/ipv4/tcp_cubic.c
451
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_cubic.c
471
if (!ca->found && tcp_in_slow_start(tp) && hystart)
net/ipv4/tcp_dctcp.c
105
dctcp_reset(tp, ca);
net/ipv4/tcp_dctcp.c
121
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_dctcp.c
123
ca->loss_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_dctcp.c
124
return max(tcp_snd_cwnd(tp) - ((tcp_snd_cwnd(tp) * ca->dctcp_alpha) >> 11U), 2U);
net/ipv4/tcp_dctcp.c
129
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_dctcp.c
133
if (!before(tp->snd_una, ca->next_seq)) {
net/ipv4/tcp_dctcp.c
134
u32 delivered = tp->delivered - ca->old_delivered;
net/ipv4/tcp_dctcp.c
135
u32 delivered_ce = tp->delivered_ce - ca->old_delivered_ce;
net/ipv4/tcp_dctcp.c
170
dctcp_reset(tp, ca);
net/ipv4/tcp_dctcp.c
177
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_dctcp.c
179
ca->loss_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_dctcp.c
180
WRITE_ONCE(tp->snd_ssthresh, max(tcp_snd_cwnd(tp) >> 1U, 2U));
net/ipv4/tcp_dctcp.c
223
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_dctcp.c
235
info->dctcp.dctcp_ab_ecn = tp->mss_cache *
net/ipv4/tcp_dctcp.c
236
(tp->delivered_ce - ca->old_delivered_ce);
net/ipv4/tcp_dctcp.c
237
info->dctcp.dctcp_ab_tot = tp->mss_cache *
net/ipv4/tcp_dctcp.c
238
(tp->delivered - ca->old_delivered);
net/ipv4/tcp_dctcp.c
250
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_dctcp.c
252
return max(tcp_snd_cwnd(tp), ca->loss_cwnd);
net/ipv4/tcp_dctcp.c
81
static void dctcp_reset(const struct tcp_sock *tp, struct dctcp *ca)
net/ipv4/tcp_dctcp.c
83
ca->next_seq = tp->snd_nxt;
net/ipv4/tcp_dctcp.c
85
ca->old_delivered = tp->delivered;
net/ipv4/tcp_dctcp.c
86
ca->old_delivered_ce = tp->delivered_ce;
net/ipv4/tcp_dctcp.c
91
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_dctcp.c
93
if (tcp_ecn_mode_any(tp) ||
net/ipv4/tcp_dctcp.c
98
ca->prior_rcv_nxt = tp->rcv_nxt;
net/ipv4/tcp_dctcp.h
10
tp->ecn_flags |= TCP_ECN_DEMAND_CWR;
net/ipv4/tcp_dctcp.h
12
tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR;
net/ipv4/tcp_dctcp.h
7
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_diag.c
30
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_diag.c
32
r->idiag_rqueue = max_t(int, READ_ONCE(tp->rcv_nxt) -
net/ipv4/tcp_diag.c
33
READ_ONCE(tp->copied_seq), 0);
net/ipv4/tcp_diag.c
34
r->idiag_wqueue = READ_ONCE(tp->write_seq) - tp->snd_una;
net/ipv4/tcp_fastopen.c
259
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_fastopen.c
261
if (TCP_SKB_CB(skb)->end_seq == tp->rcv_nxt)
net/ipv4/tcp_fastopen.c
275
tp->segs_in = 0;
net/ipv4/tcp_fastopen.c
276
tcp_segs_in(tp, skb);
net/ipv4/tcp_fastopen.c
284
tp->rcv_nxt = TCP_SKB_CB(skb)->end_seq;
net/ipv4/tcp_fastopen.c
286
tp->syn_data_acked = 1;
net/ipv4/tcp_fastopen.c
291
tp->bytes_received = skb->len;
net/ipv4/tcp_fastopen.c
330
struct tcp_sock *tp;
net/ipv4/tcp_fastopen.c
348
tp = tcp_sk(child);
net/ipv4/tcp_fastopen.c
350
rcu_assign_pointer(tp->fastopen_rsk, req);
net/ipv4/tcp_fastopen.c
356
tp->snd_wnd = ntohs(tcp_hdr(skb)->window);
net/ipv4/tcp_fastopen.c
357
tp->max_window = tp->snd_wnd;
net/ipv4/tcp_fastopen.c
374
tp->rcv_nxt = TCP_SKB_CB(skb)->seq + 1;
net/ipv4/tcp_fastopen.c
378
tcp_rsk(req)->rcv_nxt = tp->rcv_nxt;
net/ipv4/tcp_fastopen.c
379
tp->rcv_wup = tp->rcv_nxt;
net/ipv4/tcp_fastopen.c
380
tp->rcv_mwnd_seq = tp->rcv_wup + tp->rcv_wnd;
net/ipv4/tcp_fastopen.c
541
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_fastopen.c
544
if (tp->fastopen_connect && !tp->fastopen_req) {
net/ipv4/tcp_fastopen.c
553
tp->fastopen_req = kzalloc_obj(*tp->fastopen_req,
net/ipv4/tcp_fastopen.c
555
if (tp->fastopen_req)
net/ipv4/tcp_fastopen.c
556
tp->fastopen_req->cookie = cookie;
net/ipv4/tcp_fastopen.c
647
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_fastopen.c
652
if (!tp->syn_fastopen)
net/ipv4/tcp_fastopen.c
655
if (!tp->data_segs_in) {
net/ipv4/tcp_fastopen.c
656
skb = skb_rb_first(&tp->out_of_order_queue);
net/ipv4/tcp_fastopen.c
663
} else if (tp->syn_fastopen_ch &&
net/ipv4/tcp_fastopen.c
677
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_fastopen.c
684
if ((tp->syn_fastopen || tp->syn_data || tp->syn_data_acked) &&
net/ipv4/tcp_highspeed.c
102
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_highspeed.c
109
tp->snd_cwnd_clamp = min_t(u32, tp->snd_cwnd_clamp, 0xffffffff/128);
net/ipv4/tcp_highspeed.c
114
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_highspeed.c
120
if (tcp_in_slow_start(tp))
net/ipv4/tcp_highspeed.c
121
tcp_slow_start(tp, acked);
net/ipv4/tcp_highspeed.c
130
if (tcp_snd_cwnd(tp) > hstcp_aimd_vals[ca->ai].cwnd) {
net/ipv4/tcp_highspeed.c
131
while (tcp_snd_cwnd(tp) > hstcp_aimd_vals[ca->ai].cwnd &&
net/ipv4/tcp_highspeed.c
134
} else if (ca->ai && tcp_snd_cwnd(tp) <= hstcp_aimd_vals[ca->ai-1].cwnd) {
net/ipv4/tcp_highspeed.c
135
while (ca->ai && tcp_snd_cwnd(tp) <= hstcp_aimd_vals[ca->ai-1].cwnd)
net/ipv4/tcp_highspeed.c
140
if (tcp_snd_cwnd(tp) < tp->snd_cwnd_clamp) {
net/ipv4/tcp_highspeed.c
142
tp->snd_cwnd_cnt += ca->ai + 1;
net/ipv4/tcp_highspeed.c
143
if (tp->snd_cwnd_cnt >= tcp_snd_cwnd(tp)) {
net/ipv4/tcp_highspeed.c
144
tp->snd_cwnd_cnt -= tcp_snd_cwnd(tp);
net/ipv4/tcp_highspeed.c
145
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_highspeed.c
153
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_highspeed.c
157
return max(tcp_snd_cwnd(tp) - ((tcp_snd_cwnd(tp) * hstcp_aimd_vals[ca->ai].md) >> 8), 2U);
net/ipv4/tcp_htcp.c
105
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_htcp.c
127
if (ca->packetcount >= tcp_snd_cwnd(tp) - (ca->alpha >> 7 ? : 1) &&
net/ipv4/tcp_htcp.c
224
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_htcp.c
228
return max((tcp_snd_cwnd(tp) * ca->beta) >> 7, 2U);
net/ipv4/tcp_htcp.c
233
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_htcp.c
239
if (tcp_in_slow_start(tp))
net/ipv4/tcp_htcp.c
240
tcp_slow_start(tp, acked);
net/ipv4/tcp_htcp.c
245
if ((tp->snd_cwnd_cnt * ca->alpha)>>7 >= tcp_snd_cwnd(tp)) {
net/ipv4/tcp_htcp.c
246
if (tcp_snd_cwnd(tp) < tp->snd_cwnd_clamp)
net/ipv4/tcp_htcp.c
247
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_htcp.c
248
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_htcp.c
251
tp->snd_cwnd_cnt += ca->pkts_acked;
net/ipv4/tcp_hybla.c
100
ca->minrtt_us = tp->srtt_us;
net/ipv4/tcp_hybla.c
116
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_hybla.c
140
increment = ca->rho2_7ls / tcp_snd_cwnd(tp);
net/ipv4/tcp_hybla.c
142
tp->snd_cwnd_cnt++;
net/ipv4/tcp_hybla.c
146
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + (increment >> 7));
net/ipv4/tcp_hybla.c
151
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_hybla.c
153
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_hybla.c
156
if (increment == 0 && odd == 0 && tp->snd_cwnd_cnt >= tcp_snd_cwnd(tp)) {
net/ipv4/tcp_hybla.c
157
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_hybla.c
158
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_hybla.c
162
tcp_snd_cwnd_set(tp, min(tcp_snd_cwnd(tp), tp->snd_ssthresh));
net/ipv4/tcp_hybla.c
164
tcp_snd_cwnd_set(tp, min(tcp_snd_cwnd(tp), tp->snd_cwnd_clamp));
net/ipv4/tcp_hybla.c
48
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_hybla.c
57
tcp_snd_cwnd_set(tp, 2);
net/ipv4/tcp_hybla.c
58
tp->snd_cwnd_clamp = 65535;
net/ipv4/tcp_hybla.c
64
ca->minrtt_us = tp->srtt_us;
net/ipv4/tcp_hybla.c
65
tcp_snd_cwnd_set(tp, ca->rho);
net/ipv4/tcp_hybla.c
92
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_hybla.c
98
if (tp->srtt_us < ca->minrtt_us) {
net/ipv4/tcp_illinois.c
224
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_illinois.c
227
if (tcp_snd_cwnd(tp) < win_thresh) {
net/ipv4/tcp_illinois.c
262
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_illinois.c
273
if (tcp_in_slow_start(tp))
net/ipv4/tcp_illinois.c
274
tcp_slow_start(tp, acked);
net/ipv4/tcp_illinois.c
280
tp->snd_cwnd_cnt += ca->acked;
net/ipv4/tcp_illinois.c
286
delta = (tp->snd_cwnd_cnt * ca->alpha) >> ALPHA_SHIFT;
net/ipv4/tcp_illinois.c
287
if (delta >= tcp_snd_cwnd(tp)) {
net/ipv4/tcp_illinois.c
288
tcp_snd_cwnd_set(tp, min(tcp_snd_cwnd(tp) + delta / tcp_snd_cwnd(tp),
net/ipv4/tcp_illinois.c
289
(u32)tp->snd_cwnd_clamp));
net/ipv4/tcp_illinois.c
290
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_illinois.c
297
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_illinois.c
302
decr = (tcp_snd_cwnd(tp) * ca->beta) >> BETA_SHIFT;
net/ipv4/tcp_illinois.c
303
return max(tcp_snd_cwnd(tp) - decr, 2U);
net/ipv4/tcp_illinois.c
59
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_illinois.c
62
ca->end_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
1017
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1025
tcp_rcv_rtt_measure(tp);
net/ipv4/tcp_input.c
1072
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1074
u32 srtt = tp->srtt_us;
net/ipv4/tcp_input.c
1097
m -= (tp->mdev_us >> 2); /* similar update on mdev */
net/ipv4/tcp_input.c
1109
m -= (tp->mdev_us >> 2); /* similar update on mdev */
net/ipv4/tcp_input.c
1111
tp->mdev_us += m; /* mdev = 3/4 mdev + 1/4 new */
net/ipv4/tcp_input.c
1112
if (tp->mdev_us > tp->mdev_max_us) {
net/ipv4/tcp_input.c
1113
tp->mdev_max_us = tp->mdev_us;
net/ipv4/tcp_input.c
1114
if (tp->mdev_max_us > tp->rttvar_us)
net/ipv4/tcp_input.c
1115
tp->rttvar_us = tp->mdev_max_us;
net/ipv4/tcp_input.c
1117
if (after(tp->snd_una, tp->rtt_seq)) {
net/ipv4/tcp_input.c
1118
if (tp->mdev_max_us < tp->rttvar_us)
net/ipv4/tcp_input.c
1119
tp->rttvar_us -= (tp->rttvar_us - tp->mdev_max_us) >> 2;
net/ipv4/tcp_input.c
1120
tp->rtt_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
1121
tp->mdev_max_us = tcp_rto_min_us(sk);
net/ipv4/tcp_input.c
1128
tp->mdev_us = m << 1; /* make sure rto = 3*rtt */
net/ipv4/tcp_input.c
1129
tp->rttvar_us = max(tp->mdev_us, tcp_rto_min_us(sk));
net/ipv4/tcp_input.c
1130
tp->mdev_max_us = tp->rttvar_us;
net/ipv4/tcp_input.c
1131
tp->rtt_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
1135
WRITE_ONCE(tp->srtt_us, max(1U, srtt));
net/ipv4/tcp_input.c
1140
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1144
rate = (u64)tp->mss_cache * ((USEC_PER_SEC / 100) << 3);
net/ipv4/tcp_input.c
1154
if (tcp_snd_cwnd(tp) < tp->snd_ssthresh / 2)
net/ipv4/tcp_input.c
1159
rate *= max(tcp_snd_cwnd(tp), tp->packets_out);
net/ipv4/tcp_input.c
1161
if (likely(tp->srtt_us))
net/ipv4/tcp_input.c
1162
do_div(rate, tp->srtt_us);
net/ipv4/tcp_input.c
1177
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1188
inet_csk(sk)->icsk_rto = __tcp_set_rto(tp);
net/ipv4/tcp_input.c
1202
__u32 tcp_init_cwnd(const struct tcp_sock *tp, const struct dst_entry *dst)
net/ipv4/tcp_input.c
1208
return min_t(__u32, cwnd, tp->snd_cwnd_clamp);
net/ipv4/tcp_input.c
1232
static u32 tcp_dsack_seen(struct tcp_sock *tp, u32 start_seq,
net/ipv4/tcp_input.c
124
void clean_acked_data_enable(struct tcp_sock *tp,
net/ipv4/tcp_input.c
1242
if (seq_len > tp->max_window)
net/ipv4/tcp_input.c
1244
if (seq_len > tp->mss_cache)
net/ipv4/tcp_input.c
1245
dup_segs = DIV_ROUND_UP(seq_len, tp->mss_cache);
net/ipv4/tcp_input.c
1246
else if (tp->tlp_high_seq && tp->tlp_high_seq == end_seq)
net/ipv4/tcp_input.c
1249
WRITE_ONCE(tp->dsack_dups, tp->dsack_dups + dup_segs);
net/ipv4/tcp_input.c
1251
if (tp->dsack_dups > tp->total_retrans)
net/ipv4/tcp_input.c
1254
tp->rx_opt.sack_ok |= TCP_DSACK_SEEN;
net/ipv4/tcp_input.c
1261
if (tp->reord_seen && !(state->flag & FLAG_DSACK_TLP))
net/ipv4/tcp_input.c
1262
tp->rack.dsack_seen = 1;
net/ipv4/tcp_input.c
127
tp->tcp_clean_acked = cad;
net/ipv4/tcp_input.c
1278
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1279
const u32 mss = tp->mss_cache;
net/ipv4/tcp_input.c
1282
fack = tcp_highest_sack_seq(tp);
net/ipv4/tcp_input.c
1287
if ((metric > tp->reordering * mss) && mss) {
net/ipv4/tcp_input.c
1290
tp->rx_opt.sack_ok, inet_csk(sk)->icsk_ca_state,
net/ipv4/tcp_input.c
1291
tp->reordering,
net/ipv4/tcp_input.c
1293
tp->sacked_out,
net/ipv4/tcp_input.c
1294
tp->undo_marker ? tp->undo_retrans : 0);
net/ipv4/tcp_input.c
1296
WRITE_ONCE(tp->reordering,
net/ipv4/tcp_input.c
1302
WRITE_ONCE(tp->reord_seen, tp->reord_seen + 1);
net/ipv4/tcp_input.c
1312
static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)
net/ipv4/tcp_input.c
1314
if ((!tp->retransmit_skb_hint && tp->retrans_out >= tp->lost_out) ||
net/ipv4/tcp_input.c
1315
(tp->retransmit_skb_hint &&
net/ipv4/tcp_input.c
1317
TCP_SKB_CB(tp->retransmit_skb_hint)->seq)))
net/ipv4/tcp_input.c
1318
tp->retransmit_skb_hint = skb;
net/ipv4/tcp_input.c
132
void clean_acked_data_disable(struct tcp_sock *tp)
net/ipv4/tcp_input.c
1324
static void tcp_notify_skb_loss_event(struct tcp_sock *tp, const struct sk_buff *skb)
net/ipv4/tcp_input.c
1326
tp->lost += tcp_skb_pcount(skb);
net/ipv4/tcp_input.c
1332
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1337
tcp_verify_retransmit_hint(tp, skb);
net/ipv4/tcp_input.c
1342
tp->retrans_out -= tcp_skb_pcount(skb);
net/ipv4/tcp_input.c
1345
tcp_notify_skb_loss_event(tp, skb);
net/ipv4/tcp_input.c
1348
tp->lost_out += tcp_skb_pcount(skb);
net/ipv4/tcp_input.c
135
tp->tcp_clean_acked = NULL;
net/ipv4/tcp_input.c
1350
tcp_notify_skb_loss_event(tp, skb);
net/ipv4/tcp_input.c
1447
static bool tcp_is_sackblock_valid(struct tcp_sock *tp, bool is_dsack,
net/ipv4/tcp_input.c
1451
if (after(end_seq, tp->snd_nxt) || !before(start_seq, end_seq))
net/ipv4/tcp_input.c
1455
if (!before(start_seq, tp->snd_nxt))
net/ipv4/tcp_input.c
1461
if (after(start_seq, tp->snd_una))
net/ipv4/tcp_input.c
1464
if (!is_dsack || !tp->undo_marker)
net/ipv4/tcp_input.c
1468
if (after(end_seq, tp->snd_una))
net/ipv4/tcp_input.c
1471
if (!before(start_seq, tp->undo_marker))
net/ipv4/tcp_input.c
1475
if (!after(end_seq, tp->undo_marker))
net/ipv4/tcp_input.c
1481
return !before(start_seq, end_seq - tp->max_window);
net/ipv4/tcp_input.c
1488
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1506
dup_segs = tcp_dsack_seen(tp, start_seq_0, end_seq_0, state);
net/ipv4/tcp_input.c
1515
if (tp->undo_marker && tp->undo_retrans > 0 &&
net/ipv4/tcp_input.c
1517
after(end_seq_0, tp->undo_marker))
net/ipv4/tcp_input.c
1518
tp->undo_retrans = max_t(int, 0, tp->undo_retrans - dup_segs);
net/ipv4/tcp_input.c
1583
static void tcp_rack_advance(struct tcp_sock *tp, u8 sacked,
net/ipv4/tcp_input.c
1588
rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, xmit_time);
net/ipv4/tcp_input.c
1589
if (rtt_us < tcp_min_rtt(tp) && (sacked & TCPCB_RETRANS)) {
net/ipv4/tcp_input.c
1602
tp->rack.advanced = 1;
net/ipv4/tcp_input.c
1603
tp->rack.rtt_us = rtt_us;
net/ipv4/tcp_input.c
1604
if (tcp_skb_sent_after(xmit_time, tp->rack.mstamp,
net/ipv4/tcp_input.c
1605
end_seq, tp->rack.end_seq)) {
net/ipv4/tcp_input.c
1606
tp->rack.mstamp = xmit_time;
net/ipv4/tcp_input.c
1607
tp->rack.end_seq = end_seq;
net/ipv4/tcp_input.c
1618
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1622
if (tp->undo_marker && tp->undo_retrans > 0 &&
net/ipv4/tcp_input.c
1623
after(end_seq, tp->undo_marker))
net/ipv4/tcp_input.c
1624
tp->undo_retrans = max_t(int, 0, tp->undo_retrans - pcount);
net/ipv4/tcp_input.c
1631
if (!after(end_seq, tp->snd_una))
net/ipv4/tcp_input.c
1635
tcp_rack_advance(tp, sacked, end_seq, xmit_time);
net/ipv4/tcp_input.c
1644
tp->lost_out -= pcount;
net/ipv4/tcp_input.c
1645
tp->retrans_out -= pcount;
net/ipv4/tcp_input.c
1653
tcp_highest_sack_seq(tp)) &&
net/ipv4/tcp_input.c
1657
if (!after(end_seq, tp->high_seq))
net/ipv4/tcp_input.c
1666
tp->lost_out -= pcount;
net/ipv4/tcp_input.c
1672
tp->sacked_out += pcount;
net/ipv4/tcp_input.c
1684
tp->retrans_out -= pcount;
net/ipv4/tcp_input.c
1727
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1731
if (tp->app_limited && after(tp->delivered, tp->app_limited))
net/ipv4/tcp_input.c
1732
tp->app_limited = 0;
net/ipv4/tcp_input.c
1739
tp->delivered_mstamp = tp->tcp_mstamp;
net/ipv4/tcp_input.c
1753
rs->delivered = tp->delivered - rs->prior_delivered;
net/ipv4/tcp_input.c
1755
rs->delivered_ce = tp->delivered_ce - rs->prior_delivered_ce;
net/ipv4/tcp_input.c
1765
ack_us = tcp_stamp_us_delta(tp->tcp_mstamp,
net/ipv4/tcp_input.c
1780
if (unlikely(rs->interval_us < tcp_min_rtt(tp))) {
net/ipv4/tcp_input.c
1785
tp->rx_opt.sack_ok, tcp_min_rtt(tp));
net/ipv4/tcp_input.c
1792
((u64)rs->delivered * tp->rate_interval_us >=
net/ipv4/tcp_input.c
1793
(u64)tp->rate_delivered * rs->interval_us)) {
net/ipv4/tcp_input.c
1794
tp->rate_delivered = rs->delivered;
net/ipv4/tcp_input.c
1795
tp->rate_interval_us = rs->interval_us;
net/ipv4/tcp_input.c
1796
tp->rate_app_limited = rs->is_app_limited;
net/ipv4/tcp_input.c
1812
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1820
tcp_skb_sent_after(tx_tstamp, tp->first_tx_mstamp,
net/ipv4/tcp_input.c
1830
tp->first_tx_mstamp = tx_tstamp;
net/ipv4/tcp_input.c
1832
rs->interval_us = tcp_stamp_us_delta(tp->first_tx_mstamp,
net/ipv4/tcp_input.c
1853
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1900
if (skb == tp->retransmit_skb_hint)
net/ipv4/tcp_input.c
1901
tp->retransmit_skb_hint = prev;
net/ipv4/tcp_input.c
1959
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
1973
if (!after(TCP_SKB_CB(skb)->end_seq, tp->snd_una))
net/ipv4/tcp_input.c
2053
if (!after(TCP_SKB_CB(skb)->seq + len, tp->snd_una))
net/ipv4/tcp_input.c
2098
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2158
tcp_highest_sack_seq(tp)))
net/ipv4/tcp_input.c
2214
static int tcp_sack_cache_ok(const struct tcp_sock *tp, const struct tcp_sack_block *cache)
net/ipv4/tcp_input.c
2216
return cache < tp->recv_sack_cache + ARRAY_SIZE(tp->recv_sack_cache);
net/ipv4/tcp_input.c
2223
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2237
state->reord = tp->snd_nxt;
net/ipv4/tcp_input.c
2239
if (!tp->sacked_out)
net/ipv4/tcp_input.c
2249
if (before(TCP_SKB_CB(ack_skb)->ack_seq, prior_snd_una - tp->max_window))
net/ipv4/tcp_input.c
2252
if (!tp->packets_out)
net/ipv4/tcp_input.c
2263
if (!tcp_is_sackblock_valid(tp, dup_sack,
net/ipv4/tcp_input.c
2269
if (!tp->undo_marker)
net/ipv4/tcp_input.c
2275
if ((TCP_SKB_CB(ack_skb)->ack_seq != tp->snd_una) &&
net/ipv4/tcp_input.c
2276
!after(sp[used_sacks].end_seq, tp->snd_una))
net/ipv4/tcp_input.c
2314
if (!tp->sacked_out) {
net/ipv4/tcp_input.c
2316
cache = tp->recv_sack_cache + ARRAY_SIZE(tp->recv_sack_cache);
net/ipv4/tcp_input.c
2318
cache = tp->recv_sack_cache;
net/ipv4/tcp_input.c
2320
while (tcp_sack_cache_ok(tp, cache) && !cache->start_seq &&
net/ipv4/tcp_input.c
2335
while (tcp_sack_cache_ok(tp, cache) &&
net/ipv4/tcp_input.c
2340
if (tcp_sack_cache_ok(tp, cache) && !dup_sack &&
net/ipv4/tcp_input.c
2362
if (tcp_highest_sack_seq(tp) == cache->end_seq) {
net/ipv4/tcp_input.c
2377
if (!before(start_seq, tcp_highest_sack_seq(tp))) {
net/ipv4/tcp_input.c
2393
for (i = 0; i < ARRAY_SIZE(tp->recv_sack_cache) - used_sacks; i++) {
net/ipv4/tcp_input.c
2394
tp->recv_sack_cache[i].start_seq = 0;
net/ipv4/tcp_input.c
2395
tp->recv_sack_cache[i].end_seq = 0;
net/ipv4/tcp_input.c
2398
tp->recv_sack_cache[i++] = sp[j];
net/ipv4/tcp_input.c
2400
if (inet_csk(sk)->icsk_ca_state != TCP_CA_Loss || tp->undo_marker)
net/ipv4/tcp_input.c
2403
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
2407
WARN_ON((int)tp->sacked_out < 0);
net/ipv4/tcp_input.c
2408
WARN_ON((int)tp->lost_out < 0);
net/ipv4/tcp_input.c
2409
WARN_ON((int)tp->retrans_out < 0);
net/ipv4/tcp_input.c
2410
WARN_ON((int)tcp_packets_in_flight(tp) < 0);
net/ipv4/tcp_input.c
2418
static bool tcp_limit_reno_sacked(struct tcp_sock *tp)
net/ipv4/tcp_input.c
2422
holes = max(tp->lost_out, 1U);
net/ipv4/tcp_input.c
2423
holes = min(holes, tp->packets_out);
net/ipv4/tcp_input.c
2425
if ((tp->sacked_out + holes) > tp->packets_out) {
net/ipv4/tcp_input.c
2426
tp->sacked_out = tp->packets_out - holes;
net/ipv4/tcp_input.c
2438
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2440
if (!tcp_limit_reno_sacked(tp))
net/ipv4/tcp_input.c
2443
WRITE_ONCE(tp->reordering,
net/ipv4/tcp_input.c
2444
min_t(u32, tp->packets_out + addend,
net/ipv4/tcp_input.c
2446
WRITE_ONCE(tp->reord_seen, tp->reord_seen + 1);
net/ipv4/tcp_input.c
2455
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2456
u32 prior_sacked = tp->sacked_out;
net/ipv4/tcp_input.c
2459
tp->sacked_out += num_dupack;
net/ipv4/tcp_input.c
2461
delivered = tp->sacked_out - prior_sacked;
net/ipv4/tcp_input.c
2463
tcp_count_delivered(tp, delivered, ece_ack);
net/ipv4/tcp_input.c
2464
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
2472
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2476
tcp_count_delivered(tp, max_t(int, acked - tp->sacked_out, 1),
net/ipv4/tcp_input.c
2478
if (acked - 1 >= tp->sacked_out)
net/ipv4/tcp_input.c
2479
tp->sacked_out = 0;
net/ipv4/tcp_input.c
2481
tp->sacked_out -= acked - 1;
net/ipv4/tcp_input.c
2484
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
2487
static inline void tcp_reset_reno_sack(struct tcp_sock *tp)
net/ipv4/tcp_input.c
2489
tp->sacked_out = 0;
net/ipv4/tcp_input.c
2492
void tcp_clear_retrans(struct tcp_sock *tp)
net/ipv4/tcp_input.c
2494
tp->retrans_out = 0;
net/ipv4/tcp_input.c
2495
tp->lost_out = 0;
net/ipv4/tcp_input.c
2496
tp->undo_marker = 0;
net/ipv4/tcp_input.c
2497
tp->undo_retrans = -1;
net/ipv4/tcp_input.c
2498
tp->sacked_out = 0;
net/ipv4/tcp_input.c
2499
tp->rto_stamp = 0;
net/ipv4/tcp_input.c
2500
tp->total_rto = 0;
net/ipv4/tcp_input.c
2501
tp->total_rto_recoveries = 0;
net/ipv4/tcp_input.c
2502
tp->total_rto_time = 0;
net/ipv4/tcp_input.c
2505
static inline void tcp_init_undo(struct tcp_sock *tp)
net/ipv4/tcp_input.c
2507
tp->undo_marker = tp->snd_una;
net/ipv4/tcp_input.c
2511
tp->undo_retrans = tp->retrans_out;
net/ipv4/tcp_input.c
2513
if (tp->tlp_high_seq && tp->tlp_retrans)
net/ipv4/tcp_input.c
2514
tp->undo_retrans++;
net/ipv4/tcp_input.c
2516
if (!tp->undo_retrans)
net/ipv4/tcp_input.c
2517
tp->undo_retrans = -1;
net/ipv4/tcp_input.c
252
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2526
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2534
tp->sacked_out = 0;
net/ipv4/tcp_input.c
2536
tp->is_sack_reneg = 1;
net/ipv4/tcp_input.c
2537
} else if (tcp_is_reno(tp)) {
net/ipv4/tcp_input.c
2538
tcp_reset_reno_sack(tp);
net/ipv4/tcp_input.c
2545
else if (skb != head && tcp_rack_skb_timeout(tp, skb, 0) > 0)
net/ipv4/tcp_input.c
2549
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
2550
tcp_clear_all_retrans_hints(tp);
net/ipv4/tcp_input.c
2557
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2566
!after(tp->high_seq, tp->snd_una) ||
net/ipv4/tcp_input.c
2568
tp->prior_ssthresh = tcp_current_ssthresh(sk);
net/ipv4/tcp_input.c
2569
tp->prior_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_input.c
257
if (tp->window_clamp < tp->rcvq_space.space)
net/ipv4/tcp_input.c
2570
WRITE_ONCE(tp->snd_ssthresh, icsk->icsk_ca_ops->ssthresh(sk));
net/ipv4/tcp_input.c
2572
tcp_init_undo(tp);
net/ipv4/tcp_input.c
2574
tcp_snd_cwnd_set(tp, tcp_packets_in_flight(tp) + 1);
net/ipv4/tcp_input.c
2575
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_input.c
2576
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
258
tp->rcvq_space.space = tp->window_clamp;
net/ipv4/tcp_input.c
2583
tp->sacked_out >= reordering)
net/ipv4/tcp_input.c
2584
WRITE_ONCE(tp->reordering,
net/ipv4/tcp_input.c
2585
min_t(unsigned int, tp->reordering, reordering));
net/ipv4/tcp_input.c
2588
tp->high_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
2589
tp->tlp_high_seq = 0;
net/ipv4/tcp_input.c
2590
tcp_ecn_queue_cwr(tp);
net/ipv4/tcp_input.c
2596
tp->frto = READ_ONCE(net->ipv4.sysctl_tcp_frto) &&
net/ipv4/tcp_input.c
2615
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2616
unsigned long delay = max(usecs_to_jiffies(tp->srtt_us >> 4),
net/ipv4/tcp_input.c
2717
static bool tcp_time_to_recover(const struct tcp_sock *tp)
net/ipv4/tcp_input.c
2720
return tp->lost_out != 0;
net/ipv4/tcp_input.c
2723
static bool tcp_tsopt_ecr_before(const struct tcp_sock *tp, u32 when)
net/ipv4/tcp_input.c
2725
return tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr &&
net/ipv4/tcp_input.c
2726
before(tp->rx_opt.rcv_tsecr, when);
net/ipv4/tcp_input.c
2732
static bool tcp_skb_spurious_retrans(const struct tcp_sock *tp,
net/ipv4/tcp_input.c
2736
tcp_tsopt_ecr_before(tp, tcp_skb_timestamp_ts(tp->tcp_usec_ts, skb));
net/ipv4/tcp_input.c
2742
static inline bool tcp_packet_delayed(const struct tcp_sock *tp)
net/ipv4/tcp_input.c
2744
const struct sock *sk = (const struct sock *)tp;
net/ipv4/tcp_input.c
2747
if (tp->retrans_stamp)
net/ipv4/tcp_input.c
2748
return tcp_tsopt_ecr_before(tp, tp->retrans_stamp);
net/ipv4/tcp_input.c
2762
if (!tcp_is_sack(tp) && !before(tp->snd_una, tp->high_seq))
net/ipv4/tcp_input.c
2793
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2796
if (tp->retrans_out)
net/ipv4/tcp_input.c
2819
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2826
tcp_snd_cwnd(tp), tcp_left_out(tp),
net/ipv4/tcp_input.c
2827
tp->snd_ssthresh, tp->prior_ssthresh,
net/ipv4/tcp_input.c
2828
tp->packets_out);
net/ipv4/tcp_input.c
2835
tcp_snd_cwnd(tp), tcp_left_out(tp),
net/ipv4/tcp_input.c
2836
tp->snd_ssthresh, tp->prior_ssthresh,
net/ipv4/tcp_input.c
2837
tp->packets_out);
net/ipv4/tcp_input.c
2845
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2853
tp->lost_out = 0;
net/ipv4/tcp_input.c
2854
tcp_clear_all_retrans_hints(tp);
net/ipv4/tcp_input.c
2857
if (tp->prior_ssthresh) {
net/ipv4/tcp_input.c
2860
tcp_snd_cwnd_set(tp, icsk->icsk_ca_ops->undo_cwnd(sk));
net/ipv4/tcp_input.c
2862
if (tp->prior_ssthresh > tp->snd_ssthresh) {
net/ipv4/tcp_input.c
2863
WRITE_ONCE(tp->snd_ssthresh, tp->prior_ssthresh);
net/ipv4/tcp_input.c
2864
tcp_ecn_withdraw_cwr(tp);
net/ipv4/tcp_input.c
2867
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
2868
tp->undo_marker = 0;
net/ipv4/tcp_input.c
2869
tp->rack.advanced = 1; /* Force RACK to re-exam losses */
net/ipv4/tcp_input.c
2872
static inline bool tcp_may_undo(const struct tcp_sock *tp)
net/ipv4/tcp_input.c
2874
return tp->undo_marker && (!tp->undo_retrans || tcp_packet_delayed(tp));
net/ipv4/tcp_input.c
2879
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2881
if (tp->snd_una == tp->high_seq && tcp_is_reno(tp)) {
net/ipv4/tcp_input.c
2886
tp->retrans_stamp = 0;
net/ipv4/tcp_input.c
2895
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2897
if (tcp_may_undo(tp)) {
net/ipv4/tcp_input.c
2911
} else if (tp->rack.reo_wnd_persist) {
net/ipv4/tcp_input.c
2912
tp->rack.reo_wnd_persist--;
net/ipv4/tcp_input.c
2917
tp->is_sack_reneg = 0;
net/ipv4/tcp_input.c
2924
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2926
if (tp->undo_marker && !tp->undo_retrans) {
net/ipv4/tcp_input.c
2927
tp->rack.reo_wnd_persist = min(TCP_RACK_RECOVERY_THRESH,
net/ipv4/tcp_input.c
2928
tp->rack.reo_wnd_persist + 1);
net/ipv4/tcp_input.c
2940
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2942
if (frto_undo || tcp_may_undo(tp)) {
net/ipv4/tcp_input.c
2953
if (frto_undo || tcp_is_sack(tp)) {
net/ipv4/tcp_input.c
2955
tp->is_sack_reneg = 0;
net/ipv4/tcp_input.c
2973
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2975
tp->high_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
2976
tp->tlp_high_seq = 0;
net/ipv4/tcp_input.c
2977
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_input.c
2978
tp->prior_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_input.c
2979
tp->prr_delivered = 0;
net/ipv4/tcp_input.c
2980
tp->prr_out = 0;
net/ipv4/tcp_input.c
2981
WRITE_ONCE(tp->snd_ssthresh, inet_csk(sk)->icsk_ca_ops->ssthresh(sk));
net/ipv4/tcp_input.c
2982
tcp_ecn_queue_cwr(tp);
net/ipv4/tcp_input.c
2987
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
2989
int delta = tp->snd_ssthresh - tcp_packets_in_flight(tp);
net/ipv4/tcp_input.c
2991
if (newly_acked_sacked <= 0 || WARN_ON_ONCE(!tp->prior_cwnd))
net/ipv4/tcp_input.c
2996
tp->prr_delivered += newly_acked_sacked;
net/ipv4/tcp_input.c
2998
u64 dividend = (u64)tp->snd_ssthresh * tp->prr_delivered +
net/ipv4/tcp_input.c
2999
tp->prior_cwnd - 1;
net/ipv4/tcp_input.c
3000
sndcnt = div_u64(dividend, tp->prior_cwnd) - tp->prr_out;
net/ipv4/tcp_input.c
3002
sndcnt = max_t(int, tp->prr_delivered - tp->prr_out,
net/ipv4/tcp_input.c
3009
sndcnt = max(sndcnt, (tp->prr_out ? 0 : 1));
net/ipv4/tcp_input.c
3010
tcp_snd_cwnd_set(tp, tcp_packets_in_flight(tp) + sndcnt);
net/ipv4/tcp_input.c
3015
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3021
if (tp->snd_ssthresh < TCP_INFINITE_SSTHRESH &&
net/ipv4/tcp_input.c
3022
(inet_csk(sk)->icsk_ca_state == TCP_CA_CWR || tp->undo_marker)) {
net/ipv4/tcp_input.c
3023
tcp_snd_cwnd_set(tp, tp->snd_ssthresh);
net/ipv4/tcp_input.c
3024
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
3032
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3034
tp->prior_ssthresh = 0;
net/ipv4/tcp_input.c
3036
tp->undo_marker = 0;
net/ipv4/tcp_input.c
3045
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3048
if (tcp_left_out(tp) || tcp_any_retrans_done(sk))
net/ipv4/tcp_input.c
3053
tp->high_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
3059
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3061
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
3064
tp->retrans_stamp = 0;
net/ipv4/tcp_input.c
3085
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3089
tp->prior_ssthresh = tcp_current_ssthresh(sk);
net/ipv4/tcp_input.c
3091
val = (u64)tcp_snd_cwnd(tp) * tcp_mss_to_mtu(sk, tp->mss_cache);
net/ipv4/tcp_input.c
3094
tcp_snd_cwnd_set(tp, max_t(u32, 1U, val));
net/ipv4/tcp_input.c
3096
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_input.c
3097
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
3098
tp->snd_ssthresh = tcp_current_ssthresh(sk);
net/ipv4/tcp_input.c
3119
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3122
tp->high_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
3123
WRITE_ONCE(tp->snd_ssthresh, tcp_current_ssthresh(sk));
net/ipv4/tcp_input.c
3124
tp->prior_ssthresh = 0;
net/ipv4/tcp_input.c
3125
tp->undo_marker = 0;
net/ipv4/tcp_input.c
3137
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3151
if (tp->syn_data && sk->sk_state == TCP_SYN_SENT)
net/ipv4/tcp_input.c
3161
if (!tp->lost_out)
net/ipv4/tcp_input.c
3164
if (tcp_is_reno(tp))
net/ipv4/tcp_input.c
3165
tcp_limit_reno_sacked(tp);
net/ipv4/tcp_input.c
3167
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
3179
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3185
if (tcp_is_reno(tp))
net/ipv4/tcp_input.c
3192
tp->prior_ssthresh = 0;
net/ipv4/tcp_input.c
3193
tcp_init_undo(tp);
net/ipv4/tcp_input.c
3197
tp->prior_ssthresh = tcp_current_ssthresh(sk);
net/ipv4/tcp_input.c
3203
static void tcp_update_rto_time(struct tcp_sock *tp)
net/ipv4/tcp_input.c
3205
if (tp->rto_stamp) {
net/ipv4/tcp_input.c
3206
tp->total_rto_time += tcp_time_stamp_ms(tp) - tp->rto_stamp;
net/ipv4/tcp_input.c
3207
tp->rto_stamp = 0;
net/ipv4/tcp_input.c
3217
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3218
bool recovered = !before(tp->snd_una, tp->high_seq);
net/ipv4/tcp_input.c
3220
if ((flag & FLAG_SND_UNA_ADVANCED || rcu_access_pointer(tp->fastopen_rsk)) &&
net/ipv4/tcp_input.c
3224
if (tp->frto) { /* F-RTO RFC5682 sec 3.1 (sack enhanced version). */
net/ipv4/tcp_input.c
3232
if (after(tp->snd_nxt, tp->high_seq)) {
net/ipv4/tcp_input.c
3234
tp->frto = 0; /* Step 3.a. loss was real */
net/ipv4/tcp_input.c
3236
tp->high_seq = tp->snd_nxt;
net/ipv4/tcp_input.c
3242
after(tcp_wnd_end(tp), tp->snd_nxt)) {
net/ipv4/tcp_input.c
3246
tp->frto = 0;
net/ipv4/tcp_input.c
3255
if (tcp_is_reno(tp)) {
net/ipv4/tcp_input.c
3259
if (after(tp->snd_nxt, tp->high_seq) && num_dupack)
net/ipv4/tcp_input.c
3262
tcp_reset_reno_sack(tp);
net/ipv4/tcp_input.c
3270
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3272
if (tp->undo_marker && tcp_packet_delayed(tp)) {
net/ipv4/tcp_input.c
3283
if (tp->retrans_out)
net/ipv4/tcp_input.c
3287
tp->retrans_stamp = 0;
net/ipv4/tcp_input.c
3299
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3304
if (unlikely(tcp_is_reno(tp))) {
net/ipv4/tcp_input.c
3307
u32 prior_retrans = tp->retrans_out;
net/ipv4/tcp_input.c
3311
if (prior_retrans > tp->retrans_out)
net/ipv4/tcp_input.c
3332
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3336
if (!tp->packets_out && tp->sacked_out)
net/ipv4/tcp_input.c
3337
tp->sacked_out = 0;
net/ipv4/tcp_input.c
3342
tp->prior_ssthresh = 0;
net/ipv4/tcp_input.c
3349
tcp_verify_left_out(tp);
net/ipv4/tcp_input.c
3354
WARN_ON(tp->retrans_out != 0 && !tp->syn_data);
net/ipv4/tcp_input.c
3355
tp->retrans_stamp = 0;
net/ipv4/tcp_input.c
3356
} else if (!before(tp->snd_una, tp->high_seq)) {
net/ipv4/tcp_input.c
3361
if (tp->snd_una != tp->high_seq) {
net/ipv4/tcp_input.c
3368
if (tcp_is_reno(tp))
net/ipv4/tcp_input.c
3369
tcp_reset_reno_sack(tp);
net/ipv4/tcp_input.c
3381
if (tcp_is_reno(tp))
net/ipv4/tcp_input.c
3391
if (!tcp_time_to_recover(tp))
net/ipv4/tcp_input.c
3402
tcp_update_rto_time(tp);
net/ipv4/tcp_input.c
3410
if (tcp_is_reno(tp)) {
net/ipv4/tcp_input.c
3412
tcp_reset_reno_sack(tp);
net/ipv4/tcp_input.c
3420
if (!tcp_time_to_recover(tp)) {
net/ipv4/tcp_input.c
3428
tp->snd_una == tp->mtu_probe.probe_seq_start) {
net/ipv4/tcp_input.c
3431
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_input.c
3446
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3448
if ((flag & FLAG_ACK_MAYBE_DELAYED) && rtt_us > tcp_min_rtt(tp)) {
net/ipv4/tcp_input.c
3455
minmax_running_min(&tp->rtt_min, wlen, tcp_jiffies32,
net/ipv4/tcp_input.c
346
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3463
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3479
if (seq_rtt_us < 0 && tp->rx_opt.saw_tstamp &&
net/ipv4/tcp_input.c
348
if (tcp_ecn_disabled(tp))
net/ipv4/tcp_input.c
3480
tp->rx_opt.rcv_tsecr && flag & FLAG_ACKED)
net/ipv4/tcp_input.c
3481
seq_rtt_us = ca_rtt_us = tcp_rtt_tsopt_us(tp, 1);
net/ipv4/tcp_input.c
3527
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3532
if (rcu_access_pointer(tp->fastopen_rsk))
net/ipv4/tcp_input.c
3535
if (!tp->packets_out) {
net/ipv4/tcp_input.c
3562
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3565
BUG_ON(!after(TCP_SKB_CB(skb)->end_seq, tp->snd_una));
net/ipv4/tcp_input.c
3568
if (tcp_trim_head(sk, skb, tp->snd_una - TCP_SKB_CB(skb)->seq))
net/ipv4/tcp_input.c
357
if (tp->ecn_flags & TCP_ECN_SEEN)
net/ipv4/tcp_input.c
3608
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3609
u32 prior_sacked = tp->sacked_out;
net/ipv4/tcp_input.c
3610
u32 reord = tp->snd_nxt; /* lowest acked un-retx un-sacked seq */
net/ipv4/tcp_input.c
3629
if (after(scb->end_seq, tp->snd_una)) {
net/ipv4/tcp_input.c
3631
!after(tp->snd_una, scb->seq))
net/ipv4/tcp_input.c
364
if (!(tp->ecn_flags & TCP_ECN_DEMAND_CWR) &&
net/ipv4/tcp_input.c
3644
tp->retrans_out -= acked_pcount;
net/ipv4/tcp_input.c
365
tcp_ecn_mode_rfc3168(tp)) {
net/ipv4/tcp_input.c
3654
if (!after(scb->end_seq, tp->high_seq))
net/ipv4/tcp_input.c
3659
tp->sacked_out -= acked_pcount;
net/ipv4/tcp_input.c
3662
} else if (tcp_is_sack(tp)) {
net/ipv4/tcp_input.c
3663
tcp_count_delivered(tp, acked_pcount, ece_ack);
net/ipv4/tcp_input.c
3664
if (!tcp_skb_spurious_retrans(tp, skb))
net/ipv4/tcp_input.c
3665
tcp_rack_advance(tp, sacked, scb->end_seq,
net/ipv4/tcp_input.c
3669
tp->lost_out -= acked_pcount;
net/ipv4/tcp_input.c
3671
tp->packets_out -= acked_pcount;
net/ipv4/tcp_input.c
368
tp->ecn_flags |= TCP_ECN_DEMAND_CWR;
net/ipv4/tcp_input.c
3686
tp->retrans_stamp = 0;
net/ipv4/tcp_input.c
3695
if (unlikely(skb == tp->retransmit_skb_hint))
net/ipv4/tcp_input.c
3696
tp->retransmit_skb_hint = NULL;
net/ipv4/tcp_input.c
3704
if (likely(between(tp->snd_up, prior_snd_una, tp->snd_una)))
net/ipv4/tcp_input.c
3705
tp->snd_up = tp->snd_una;
net/ipv4/tcp_input.c
3714
seq_rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, first_ackt);
net/ipv4/tcp_input.c
3715
ca_rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, last_ackt);
net/ipv4/tcp_input.c
3718
(tp->snd_una - prior_snd_una) < tp->mss_cache &&
net/ipv4/tcp_input.c
3719
sack->rate->prior_delivered + 1 == tp->delivered &&
net/ipv4/tcp_input.c
3729
sack_rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, sack->first_sackt);
net/ipv4/tcp_input.c
3730
ca_rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, sack->last_sackt);
net/ipv4/tcp_input.c
3738
!after(tp->mtu_probe.probe_seq_end, tp->snd_una))) {
net/ipv4/tcp_input.c
374
if (!tcp_ecn_mode_rfc3168(tp))
net/ipv4/tcp_input.c
3742
if (tcp_is_reno(tp)) {
net/ipv4/tcp_input.c
376
tp->ecn_flags |= TCP_ECN_SEEN;
net/ipv4/tcp_input.c
3760
TCP_SKB_CB(skb)->seq : tp->snd_una) -
net/ipv4/tcp_input.c
3763
sack_rtt_us > tcp_stamp_us_delta(tp->tcp_mstamp,
net/ipv4/tcp_input.c
3776
sample.in_flight = tp->mss_cache *
net/ipv4/tcp_input.c
3777
(tp->delivered - sack->rate->prior_delivered);
net/ipv4/tcp_input.c
3782
WARN_ON((int)tp->sacked_out < 0);
net/ipv4/tcp_input.c
3783
WARN_ON((int)tp->lost_out < 0);
net/ipv4/tcp_input.c
3784
WARN_ON((int)tp->retrans_out < 0);
net/ipv4/tcp_input.c
3785
if (!tp->packets_out && tcp_is_sack(tp)) {
net/ipv4/tcp_input.c
3787
if (tp->lost_out) {
net/ipv4/tcp_input.c
3789
tp->lost_out, icsk->icsk_ca_state);
net/ipv4/tcp_input.c
3790
tp->lost_out = 0;
net/ipv4/tcp_input.c
3792
if (tp->sacked_out) {
net/ipv4/tcp_input.c
3794
tp->sacked_out, icsk->icsk_ca_state);
net/ipv4/tcp_input.c
3795
tp->sacked_out = 0;
net/ipv4/tcp_input.c
3797
if (tp->retrans_out) {
net/ipv4/tcp_input.c
3799
tp->retrans_out, icsk->icsk_ca_state);
net/ipv4/tcp_input.c
3800
tp->retrans_out = 0;
net/ipv4/tcp_input.c
381
if (!tcp_ecn_mode_rfc3168(tp))
net/ipv4/tcp_input.c
3811
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3816
if (!after(TCP_SKB_CB(head)->end_seq, tcp_wnd_end(tp))) {
net/ipv4/tcp_input.c
383
tp->ecn_flags |= TCP_ECN_SEEN;
net/ipv4/tcp_input.c
3881
static inline bool tcp_may_update_window(const struct tcp_sock *tp,
net/ipv4/tcp_input.c
3885
return after(ack, tp->snd_una) ||
net/ipv4/tcp_input.c
3886
after(ack_seq, tp->snd_wl1) ||
net/ipv4/tcp_input.c
3887
(ack_seq == tp->snd_wl1 && (nwin > tp->snd_wnd || !nwin));
net/ipv4/tcp_input.c
389
static bool tcp_accecn_process_option(struct tcp_sock *tp,
net/ipv4/tcp_input.c
3890
static void tcp_snd_sne_update(struct tcp_sock *tp, u32 ack)
net/ipv4/tcp_input.c
3898
ao = rcu_dereference_protected(tp->ao_info,
net/ipv4/tcp_input.c
3899
lockdep_sock_is_held((struct sock *)tp));
net/ipv4/tcp_input.c
3900
if (ao && ack < tp->snd_una) {
net/ipv4/tcp_input.c
3902
trace_tcp_ao_snd_sne_update((struct sock *)tp, ao->snd_sne);
net/ipv4/tcp_input.c
3908
static void tcp_snd_una_update(struct tcp_sock *tp, u32 ack)
net/ipv4/tcp_input.c
3910
u32 delta = ack - tp->snd_una;
net/ipv4/tcp_input.c
3912
sock_owned_by_me((struct sock *)tp);
net/ipv4/tcp_input.c
3913
tp->bytes_acked += delta;
net/ipv4/tcp_input.c
3914
tcp_snd_sne_update(tp, ack);
net/ipv4/tcp_input.c
3915
WRITE_ONCE(tp->snd_una, ack);
net/ipv4/tcp_input.c
3918
static void tcp_rcv_sne_update(struct tcp_sock *tp, u32 seq)
net/ipv4/tcp_input.c
3926
ao = rcu_dereference_protected(tp->ao_info,
net/ipv4/tcp_input.c
3927
lockdep_sock_is_held((struct sock *)tp));
net/ipv4/tcp_input.c
3928
if (ao && seq < tp->rcv_nxt) {
net/ipv4/tcp_input.c
393
u8 estimate_ecnfield = tp->est_ecnfield;
net/ipv4/tcp_input.c
3930
trace_tcp_ao_rcv_sne_update((struct sock *)tp, ao->rcv_sne);
net/ipv4/tcp_input.c
3936
static void tcp_rcv_nxt_update(struct tcp_sock *tp, u32 seq)
net/ipv4/tcp_input.c
3938
u32 delta = seq - tp->rcv_nxt;
net/ipv4/tcp_input.c
3940
sock_owned_by_me((struct sock *)tp);
net/ipv4/tcp_input.c
3941
tp->bytes_received += delta;
net/ipv4/tcp_input.c
3942
tcp_rcv_sne_update(tp, seq);
net/ipv4/tcp_input.c
3943
WRITE_ONCE(tp->rcv_nxt, seq);
net/ipv4/tcp_input.c
3954
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
3959
nwin <<= tp->rx_opt.snd_wscale;
net/ipv4/tcp_input.c
3961
if (tcp_may_update_window(tp, ack, ack_seq, nwin)) {
net/ipv4/tcp_input.c
3963
tcp_update_wl(tp, ack_seq);
net/ipv4/tcp_input.c
3965
if (tp->snd_wnd != nwin) {
net/ipv4/tcp_input.c
3966
tp->snd_wnd = nwin;
net/ipv4/tcp_input.c
3971
tp->pred_flags = 0;
net/ipv4/tcp_input.c
3977
if (nwin > tp->max_window) {
net/ipv4/tcp_input.c
3978
tp->max_window = nwin;
net/ipv4/tcp_input.c
3984
tcp_snd_una_update(tp, ack);
net/ipv4/tcp_input.c
401
if (tcp_accecn_opt_fail_recv(tp))
net/ipv4/tcp_input.c
4033
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4037
flags = tcp_accecn_reflector_flags(tp->syn_ect_rcv);
net/ipv4/tcp_input.c
4038
__tcp_send_ack(sk, tp->rcv_nxt, flags);
net/ipv4/tcp_input.c
404
if (!(flag & FLAG_SLOWPATH) || !tp->rx_opt.accecn) {
net/ipv4/tcp_input.c
405
if (!tp->saw_accecn_opt) {
net/ipv4/tcp_input.c
4071
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4077
&tp->last_oow_ack_time))
net/ipv4/tcp_input.c
409
if (tp->bytes_sent >= (1 << 23) - 1) {
net/ipv4/tcp_input.c
4106
static void tcp_store_ts_recent(struct tcp_sock *tp)
net/ipv4/tcp_input.c
4108
tp->rx_opt.ts_recent = tp->rx_opt.rcv_tsval;
net/ipv4/tcp_input.c
4109
tp->rx_opt.ts_recent_stamp = ktime_get_seconds();
net/ipv4/tcp_input.c
4112
static int __tcp_replace_ts_recent(struct tcp_sock *tp, s32 tstamp_delta)
net/ipv4/tcp_input.c
4114
tcp_store_ts_recent(tp);
net/ipv4/tcp_input.c
4118
static int tcp_replace_ts_recent(struct tcp_sock *tp, u32 seq)
net/ipv4/tcp_input.c
412
tcp_accecn_saw_opt_fail_recv(tp, saw_opt);
net/ipv4/tcp_input.c
4122
if (tp->rx_opt.saw_tstamp && !after(seq, tp->rcv_wup)) {
net/ipv4/tcp_input.c
4130
if (tcp_paws_check(&tp->rx_opt, 0)) {
net/ipv4/tcp_input.c
4131
delta = tp->rx_opt.rcv_tsval - tp->rx_opt.ts_recent;
net/ipv4/tcp_input.c
4132
return __tcp_replace_ts_recent(tp, delta);
net/ipv4/tcp_input.c
4144
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4146
if (before(ack, tp->tlp_high_seq))
net/ipv4/tcp_input.c
4149
if (!tp->tlp_retrans) {
net/ipv4/tcp_input.c
4151
tp->tlp_high_seq = 0;
net/ipv4/tcp_input.c
4154
tp->tlp_high_seq = 0;
net/ipv4/tcp_input.c
4155
} else if (after(ack, tp->tlp_high_seq)) {
net/ipv4/tcp_input.c
4168
tp->tlp_high_seq = 0;
net/ipv4/tcp_input.c
4197
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
420
tp->delivered_ecn_bytes[ecnfield] += delivered_bytes;
net/ipv4/tcp_input.c
4205
if (after(tp->snd_nxt, tp->high_seq))
net/ipv4/tcp_input.c
4207
tp->frto = 0;
net/ipv4/tcp_input.c
4217
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4220
delivered = tp->delivered - prior_delivered;
net/ipv4/tcp_input.c
4224
if (tcp_ecn_mode_rfc3168(tp))
net/ipv4/tcp_input.c
4252
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
426
ptr = skb_transport_header(skb) + tp->rx_opt.accecn;
net/ipv4/tcp_input.c
4260
if (before(rs->prior_delivered, tp->rack.last_delivered))
net/ipv4/tcp_input.c
4261
tp->rack.dsack_seen = 0;
net/ipv4/tcp_input.c
4264
if (tp->rack.dsack_seen) {
net/ipv4/tcp_input.c
4265
tp->rack.reo_wnd_steps = min_t(u32, 0xFF,
net/ipv4/tcp_input.c
4266
tp->rack.reo_wnd_steps + 1);
net/ipv4/tcp_input.c
4267
tp->rack.dsack_seen = 0;
net/ipv4/tcp_input.c
4268
tp->rack.last_delivered = tp->delivered;
net/ipv4/tcp_input.c
4269
tp->rack.reo_wnd_persist = TCP_RACK_RECOVERY_THRESH;
net/ipv4/tcp_input.c
4270
} else if (!tp->rack.reo_wnd_persist) {
net/ipv4/tcp_input.c
4271
tp->rack.reo_wnd_steps = 1;
net/ipv4/tcp_input.c
4279
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4282
u32 prior_snd_una = tp->snd_una;
net/ipv4/tcp_input.c
4283
bool is_sack_reneg = tp->is_sack_reneg;
net/ipv4/tcp_input.c
4287
int prior_packets = tp->packets_out;
net/ipv4/tcp_input.c
4288
u32 delivered = tp->delivered;
net/ipv4/tcp_input.c
4289
u32 lost = tp->lost;
net/ipv4/tcp_input.c
4309
max_window = min_t(u64, tp->max_window, tp->bytes_acked);
net/ipv4/tcp_input.c
4323
if (after(ack, tp->snd_nxt)) {
net/ipv4/tcp_input.c
433
if (tp->saw_accecn_opt < TCP_ACCECN_OPT_COUNTER_SEEN) {
net/ipv4/tcp_input.c
4335
if (tp->tcp_clean_acked)
net/ipv4/tcp_input.c
4336
tp->tcp_clean_acked(sk, ack);
net/ipv4/tcp_input.c
434
tp->saw_accecn_opt = tcp_accecn_option_init(skb,
net/ipv4/tcp_input.c
4340
prior_fack = tcp_is_sack(tp) ? tcp_highest_sack_seq(tp) : tp->snd_una;
net/ipv4/tcp_input.c
4341
rs.prior_in_flight = tcp_packets_in_flight(tp);
net/ipv4/tcp_input.c
4347
flag |= tcp_replace_ts_recent(tp, TCP_SKB_CB(skb)->seq);
net/ipv4/tcp_input.c
435
tp->rx_opt.accecn);
net/ipv4/tcp_input.c
4355
tcp_update_wl(tp, ack_seq);
net/ipv4/tcp_input.c
4356
tcp_snd_una_update(tp, ack);
net/ipv4/tcp_input.c
436
if (tp->saw_accecn_opt == TCP_ACCECN_OPT_FAIL_SEEN)
net/ipv4/tcp_input.c
437
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_OPT_FAIL_RECV);
net/ipv4/tcp_input.c
4372
if (tcp_ecn_rcv_ecn_echo(tp, tcp_hdr(skb)))
net/ipv4/tcp_input.c
4376
tcp_count_delivered(tp, sack_state.sack_delivered,
net/ipv4/tcp_input.c
4395
tp->rcv_tstamp = tcp_jiffies32;
net/ipv4/tcp_input.c
4405
if (tcp_ecn_mode_accecn(tp))
net/ipv4/tcp_input.c
4407
tp->delivered - delivered,
net/ipv4/tcp_input.c
4413
if (unlikely(tp->tlp_high_seq))
net/ipv4/tcp_input.c
4437
lost = tp->lost - lost; /* freshly marked lost */
net/ipv4/tcp_input.c
4445
if (tcp_ecn_mode_accecn(tp))
net/ipv4/tcp_input.c
4447
tp->delivered - delivered,
net/ipv4/tcp_input.c
4463
if (unlikely(tp->tlp_high_seq))
net/ipv4/tcp_input.c
452
cnt = &tp->delivered_ecn_bytes[ecnfield - 1];
net/ipv4/tcp_input.c
460
tp->est_ecnfield = ecnfield;
net/ipv4/tcp_input.c
4703
static bool tcp_parse_aligned_timestamp(struct tcp_sock *tp, const struct tcphdr *th)
net/ipv4/tcp_input.c
4709
tp->rx_opt.saw_tstamp = 1;
net/ipv4/tcp_input.c
4711
tp->rx_opt.rcv_tsval = ntohl(*ptr);
net/ipv4/tcp_input.c
4714
tp->rx_opt.rcv_tsecr = ntohl(*ptr) - tp->tsoffset;
net/ipv4/tcp_input.c
4716
tp->rx_opt.rcv_tsecr = 0;
net/ipv4/tcp_input.c
472
tp->est_ecnfield = 0;
net/ipv4/tcp_input.c
4727
const struct tcphdr *th, struct tcp_sock *tp)
net/ipv4/tcp_input.c
4733
tp->rx_opt.saw_tstamp = 0;
net/ipv4/tcp_input.c
4734
tp->rx_opt.accecn = 0;
net/ipv4/tcp_input.c
4736
} else if (tp->rx_opt.tstamp_ok &&
net/ipv4/tcp_input.c
4738
if (tcp_parse_aligned_timestamp(tp, th)) {
net/ipv4/tcp_input.c
4739
tp->rx_opt.accecn = 0;
net/ipv4/tcp_input.c
4744
tcp_parse_options(net, skb, &tp->rx_opt, 1, NULL);
net/ipv4/tcp_input.c
4745
if (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr)
net/ipv4/tcp_input.c
4746
tp->rx_opt.rcv_tsecr -= tp->tsoffset;
net/ipv4/tcp_input.c
477
static void tcp_count_delivered_ce(struct tcp_sock *tp, u32 ecn_count)
net/ipv4/tcp_input.c
479
WRITE_ONCE(tp->delivered_ce, tp->delivered_ce + ecn_count);
net/ipv4/tcp_input.c
4794
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4805
if (seq != tp->rcv_nxt)
net/ipv4/tcp_input.c
4806
return before(seq, tp->rcv_nxt) ?
net/ipv4/tcp_input.c
4811
if (ack != tp->snd_una)
net/ipv4/tcp_input.c
4815
if (tcp_may_update_window(tp, ack, seq, ntohs(th->window) <<
net/ipv4/tcp_input.c
4816
tp->rx_opt.snd_wscale))
net/ipv4/tcp_input.c
4820
if ((s32)(tp->rx_opt.ts_recent - tp->rx_opt.rcv_tsval) >
net/ipv4/tcp_input.c
483
static void tcp_count_delivered(struct tcp_sock *tp, u32 delivered,
net/ipv4/tcp_input.c
4844
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4847
if (before(end_seq, tp->rcv_wup))
net/ipv4/tcp_input.c
4850
seq_limit = tp->rcv_nxt + tcp_max_receive_window(tp);
net/ipv4/tcp_input.c
486
WRITE_ONCE(tp->delivered, tp->delivered + delivered);
net/ipv4/tcp_input.c
487
if (tcp_ecn_mode_rfc3168(tp) && ece_ack)
net/ipv4/tcp_input.c
488
tcp_count_delivered_ce(tp, delivered);
net/ipv4/tcp_input.c
4928
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
4978
skb_rbtree_purge(&tp->out_of_order_queue);
net/ipv4/tcp_input.c
4979
if (tcp_is_sack(tp))
net/ipv4/tcp_input.c
4980
tcp_sack_reset(&tp->rx_opt);
net/ipv4/tcp_input.c
5009
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5011
if (tcp_is_sack(tp) && READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_dsack)) {
net/ipv4/tcp_input.c
5014
if (before(seq, tp->rcv_nxt))
net/ipv4/tcp_input.c
502
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5021
tp->rx_opt.dsack = 1;
net/ipv4/tcp_input.c
5022
tp->duplicate_sack[0].start_seq = seq;
net/ipv4/tcp_input.c
5023
tp->duplicate_sack[0].end_seq = end_seq;
net/ipv4/tcp_input.c
5029
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5031
if (!tp->rx_opt.dsack)
net/ipv4/tcp_input.c
5034
tcp_sack_extend(tp->duplicate_sack, seq, end_seq);
net/ipv4/tcp_input.c
5040
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5066
if (tcp_ecn_mode_accecn(tp) &&
net/ipv4/tcp_input.c
5067
tp->accecn_opt_sent_w_dsack &&
net/ipv4/tcp_input.c
5068
TCP_SKB_CB(skb)->seq == tp->duplicate_sack[0].start_seq)
net/ipv4/tcp_input.c
5069
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_OPT_FAIL_SEND);
net/ipv4/tcp_input.c
5074
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5077
before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt)) {
net/ipv4/tcp_input.c
5081
if (tcp_is_sack(tp) && READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_dsack)) {
net/ipv4/tcp_input.c
5085
if (after(TCP_SKB_CB(skb)->end_seq, tp->rcv_nxt))
net/ipv4/tcp_input.c
5086
end_seq = tp->rcv_nxt;
net/ipv4/tcp_input.c
5097
static void tcp_sack_maybe_coalesce(struct tcp_sock *tp)
net/ipv4/tcp_input.c
5100
struct tcp_sack_block *sp = &tp->selective_acks[0];
net/ipv4/tcp_input.c
5106
for (this_sack = 1; this_sack < tp->rx_opt.num_sacks;) {
net/ipv4/tcp_input.c
5113
tp->rx_opt.num_sacks--;
net/ipv4/tcp_input.c
5114
for (i = this_sack; i < tp->rx_opt.num_sacks; i++)
net/ipv4/tcp_input.c
512
opt_deltas_valid = tcp_accecn_process_option(tp, skb,
net/ipv4/tcp_input.c
5125
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5127
if (!tp->compressed_ack)
net/ipv4/tcp_input.c
5130
if (hrtimer_try_to_cancel(&tp->compressed_ack_timer) == 1)
net/ipv4/tcp_input.c
5138
tp->compressed_ack - 1);
net/ipv4/tcp_input.c
5140
tp->compressed_ack = 0;
net/ipv4/tcp_input.c
5152
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5153
struct tcp_sack_block *sp = &tp->selective_acks[0];
net/ipv4/tcp_input.c
5154
int cur_sacks = tp->rx_opt.num_sacks;
net/ipv4/tcp_input.c
516
if (!tp->pkts_acked_ewma) {
net/ipv4/tcp_input.c
5168
tcp_sack_maybe_coalesce(tp);
net/ipv4/tcp_input.c
5184
tp->rx_opt.num_sacks--;
net/ipv4/tcp_input.c
519
ewma = tp->pkts_acked_ewma;
net/ipv4/tcp_input.c
5194
tp->rx_opt.num_sacks++;
net/ipv4/tcp_input.c
5199
static void tcp_sack_remove(struct tcp_sock *tp)
net/ipv4/tcp_input.c
5201
struct tcp_sack_block *sp = &tp->selective_acks[0];
net/ipv4/tcp_input.c
5202
int num_sacks = tp->rx_opt.num_sacks;
net/ipv4/tcp_input.c
5206
if (RB_EMPTY_ROOT(&tp->out_of_order_queue)) {
net/ipv4/tcp_input.c
5207
tp->rx_opt.num_sacks = 0;
net/ipv4/tcp_input.c
5213
if (!before(tp->rcv_nxt, sp->start_seq)) {
net/ipv4/tcp_input.c
5217
WARN_ON(before(tp->rcv_nxt, sp->end_seq));
net/ipv4/tcp_input.c
5221
tp->selective_acks[i-1] = tp->selective_acks[i];
net/ipv4/tcp_input.c
5228
tp->rx_opt.num_sacks = num_sacks;
net/ipv4/tcp_input.c
524
tp->pkts_acked_ewma = min_t(u32, ewma, 0xFFFFU);
net/ipv4/tcp_input.c
5308
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5309
__u32 dsack_high = tp->rcv_nxt;
net/ipv4/tcp_input.c
5314
p = rb_first(&tp->out_of_order_queue);
net/ipv4/tcp_input.c
5317
if (after(TCP_SKB_CB(skb)->seq, tp->rcv_nxt))
net/ipv4/tcp_input.c
5328
rb_erase(&skb->rbnode, &tp->out_of_order_queue);
net/ipv4/tcp_input.c
5330
if (unlikely(!after(TCP_SKB_CB(skb)->end_seq, tp->rcv_nxt))) {
net/ipv4/tcp_input.c
5337
tcp_rcv_nxt_update(tp, TCP_SKB_CB(skb)->end_seq);
net/ipv4/tcp_input.c
537
if (tp->received_ce_pending >= TCP_ACCECN_ACE_MAX_DELTA)
net/ipv4/tcp_input.c
5383
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5401
tp->pred_flags = 0;
net/ipv4/tcp_input.c
5404
tp->rcv_ooopack += max_t(u16, 1, skb_shinfo(skb)->gso_segs);
net/ipv4/tcp_input.c
5409
p = &tp->out_of_order_queue.rb_node;
net/ipv4/tcp_input.c
541
delta = (corrected_ace - tp->delivered_ce) & TCP_ACCECN_CEP_ACE_MASK;
net/ipv4/tcp_input.c
5410
if (RB_EMPTY_ROOT(&tp->out_of_order_queue)) {
net/ipv4/tcp_input.c
5412
if (tcp_is_sack(tp)) {
net/ipv4/tcp_input.c
5413
tp->rx_opt.num_sacks = 1;
net/ipv4/tcp_input.c
5414
tp->selective_acks[0].start_seq = seq;
net/ipv4/tcp_input.c
5415
tp->selective_acks[0].end_seq = end_seq;
net/ipv4/tcp_input.c
5418
rb_insert_color(&skb->rbnode, &tp->out_of_order_queue);
net/ipv4/tcp_input.c
5419
tp->ooo_last_skb = skb;
net/ipv4/tcp_input.c
5426
if (tcp_ooo_try_coalesce(sk, tp->ooo_last_skb,
net/ipv4/tcp_input.c
5432
if (tcp_is_sack(tp))
net/ipv4/tcp_input.c
5439
if (!before(seq, TCP_SKB_CB(tp->ooo_last_skb)->end_seq)) {
net/ipv4/tcp_input.c
5440
parent = &tp->ooo_last_skb->rbnode;
net/ipv4/tcp_input.c
5473
&tp->out_of_order_queue);
net/ipv4/tcp_input.c
549
d_ceb = tp->delivered_ecn_bytes[INET_ECN_CE - 1] - old_ceb;
net/ipv4/tcp_input.c
5492
rb_insert_color(&skb->rbnode, &tp->out_of_order_queue);
net/ipv4/tcp_input.c
5504
rb_erase(&skb1->rbnode, &tp->out_of_order_queue);
net/ipv4/tcp_input.c
5512
tp->ooo_last_skb = skb;
net/ipv4/tcp_input.c
5515
if (tcp_is_sack(tp))
net/ipv4/tcp_input.c
5522
if (tcp_is_sack(tp))
net/ipv4/tcp_input.c
5529
tcp_rcvbuf_grow(sk, tp->rcvq_space.space);
net/ipv4/tcp_input.c
554
(tcp_is_sack(tp) ||
net/ipv4/tcp_input.c
5609
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5630
tp->rx_opt.dsack = 0;
net/ipv4/tcp_input.c
5636
if (TCP_SKB_CB(skb)->seq == tp->rcv_nxt) {
net/ipv4/tcp_input.c
5637
if (tcp_receive_window(tp) == 0) {
net/ipv4/tcp_input.c
5676
if (!RB_EMPTY_ROOT(&tp->out_of_order_queue)) {
net/ipv4/tcp_input.c
5682
if (RB_EMPTY_ROOT(&tp->out_of_order_queue))
net/ipv4/tcp_input.c
5686
if (tp->rx_opt.num_sacks)
net/ipv4/tcp_input.c
5687
tcp_sack_remove(tp);
net/ipv4/tcp_input.c
5698
if (!after(TCP_SKB_CB(skb)->end_seq, tp->rcv_nxt)) {
net/ipv4/tcp_input.c
570
if (d_ceb > delta * tp->mss_cache)
net/ipv4/tcp_input.c
5715
tp->rcv_nxt + tcp_receive_window(tp))) {
net/ipv4/tcp_input.c
5721
if (before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt)) {
net/ipv4/tcp_input.c
5723
tcp_dsack_set(sk, TCP_SKB_CB(skb)->seq, tp->rcv_nxt);
net/ipv4/tcp_input.c
5728
if (!tcp_receive_window(tp)) {
net/ipv4/tcp_input.c
573
safe_delta * tp->mss_cache >> TCP_ACCECN_SAFETY_SHIFT)
net/ipv4/tcp_input.c
575
} else if (tp->pkts_acked_ewma > (ACK_COMP_THRESH << PKTS_ACKED_PREC))
net/ipv4/tcp_input.c
585
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5881
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5886
skb = skb_rb_first(&tp->out_of_order_queue);
net/ipv4/tcp_input.c
5889
tp->ooo_last_skb = skb_rb_last(&tp->out_of_order_queue);
net/ipv4/tcp_input.c
5908
tcp_collapse(sk, NULL, &tp->out_of_order_queue,
net/ipv4/tcp_input.c
591
tcp_count_delivered_ce(tp, delta);
net/ipv4/tcp_input.c
594
if (tp->pred_flags)
net/ipv4/tcp_input.c
5941
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
5946
if (RB_EMPTY_ROOT(&tp->out_of_order_queue))
net/ipv4/tcp_input.c
595
tcp_fast_path_on(tp);
net/ipv4/tcp_input.c
5950
node = &tp->ooo_last_skb->rbnode;
net/ipv4/tcp_input.c
5960
rb_erase(node, &tp->out_of_order_queue);
net/ipv4/tcp_input.c
5963
tp->ooo_last_skb = rb_to_skb(prev);
net/ipv4/tcp_input.c
5980
if (tp->rx_opt.sack_ok)
net/ipv4/tcp_input.c
5981
tcp_sack_reset(&tp->rx_opt);
net/ipv4/tcp_input.c
5995
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6016
tp->copied_seq, tp->rcv_nxt);
net/ipv4/tcp_input.c
6036
tp->pred_flags = 0;
net/ipv4/tcp_input.c
6042
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6069
if (tcp_packets_in_flight(tp) >= tcp_snd_cwnd(tp))
net/ipv4/tcp_input.c
607
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6077
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6081
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
6117
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6123
if (((tp->rcv_nxt - tp->rcv_wup) > inet_csk(sk)->icsk_ack.rcv_mss &&
net/ipv4/tcp_input.c
6129
(tp->rcv_nxt - tp->copied_seq < sk->sk_rcvlowat ||
net/ipv4/tcp_input.c
6130
__tcp_select_window(sk) >= tp->rcv_wnd)) ||
net/ipv4/tcp_input.c
6148
if (!ofo_possible || RB_EMPTY_ROOT(&tp->out_of_order_queue)) {
net/ipv4/tcp_input.c
615
per_mss = max_t(u32, tp->rx_opt.mss_clamp, tp->mss_cache) +
net/ipv4/tcp_input.c
6153
if (!tcp_is_sack(tp) ||
net/ipv4/tcp_input.c
6154
tp->compressed_ack >= READ_ONCE(net->ipv4.sysctl_tcp_comp_sack_nr))
net/ipv4/tcp_input.c
6157
if (tp->compressed_ack_rcv_nxt != tp->rcv_nxt) {
net/ipv4/tcp_input.c
6158
tp->compressed_ack_rcv_nxt = tp->rcv_nxt;
net/ipv4/tcp_input.c
6159
tp->dup_ack_counter = 0;
net/ipv4/tcp_input.c
6161
if (tp->dup_ack_counter < TCP_FASTRETRANS_THRESH) {
net/ipv4/tcp_input.c
6162
tp->dup_ack_counter++;
net/ipv4/tcp_input.c
6165
tp->compressed_ack++;
net/ipv4/tcp_input.c
6166
if (hrtimer_is_queued(&tp->compressed_ack_timer))
net/ipv4/tcp_input.c
6173
rtt = tp->rcv_rtt_est.rtt_us;
net/ipv4/tcp_input.c
6174
if (tp->srtt_us && tp->srtt_us < rtt)
net/ipv4/tcp_input.c
6175
rtt = tp->srtt_us;
net/ipv4/tcp_input.c
6187
hrtimer_start_range_ns(&tp->compressed_ack_timer, ns_to_ktime(delay),
net/ipv4/tcp_input.c
6213
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
622
nr_segs = max_t(u32, TCP_INIT_CWND, tcp_snd_cwnd(tp));
net/ipv4/tcp_input.c
6221
if (after(tp->copied_seq, ptr))
net/ipv4/tcp_input.c
623
nr_segs = max_t(u32, nr_segs, tp->reordering + 1);
net/ipv4/tcp_input.c
6234
if (before(ptr, tp->rcv_nxt))
net/ipv4/tcp_input.c
6238
if (tp->urg_data && !after(ptr, tp->urg_seq))
net/ipv4/tcp_input.c
6259
if (tp->urg_seq == tp->copied_seq && tp->urg_data &&
net/ipv4/tcp_input.c
6260
!sock_flag(sk, SOCK_URGINLINE) && tp->copied_seq != tp->rcv_nxt) {
net/ipv4/tcp_input.c
6262
tp->copied_seq++;
net/ipv4/tcp_input.c
6263
if (skb && !before(tp->copied_seq, TCP_SKB_CB(skb)->end_seq)) {
net/ipv4/tcp_input.c
6269
WRITE_ONCE(tp->urg_data, TCP_URG_NOTYET);
net/ipv4/tcp_input.c
6270
WRITE_ONCE(tp->urg_seq, ptr);
net/ipv4/tcp_input.c
6273
tp->pred_flags = 0;
net/ipv4/tcp_input.c
6279
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6286
if (unlikely(tp->urg_data == TCP_URG_NOTYET)) {
net/ipv4/tcp_input.c
6287
u32 ptr = tp->urg_seq - ntohl(th->seq) + (th->doff * 4) -
net/ipv4/tcp_input.c
6295
WRITE_ONCE(tp->urg_data, TCP_URG_VALID | tmp);
net/ipv4/tcp_input.c
6312
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6314
return unlikely(TCP_SKB_CB(skb)->seq == (tp->rcv_nxt - 1) &&
net/ipv4/tcp_input.c
6325
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6330
if (!tcp_fast_parse_options(sock_net(sk), skb, th, tp) ||
net/ipv4/tcp_input.c
6331
!tp->rx_opt.saw_tstamp ||
net/ipv4/tcp_input.c
6332
tcp_paws_check(&tp->rx_opt, TCP_PAWS_WINDOW))
net/ipv4/tcp_input.c
6354
&tp->last_oow_ack_time))
net/ipv4/tcp_input.c
6379
&tp->last_oow_ack_time))
net/ipv4/tcp_input.c
6398
if (TCP_SKB_CB(skb)->seq == tp->rcv_nxt ||
net/ipv4/tcp_input.c
6402
if (tcp_is_sack(tp) && tp->rx_opt.num_sacks > 0) {
net/ipv4/tcp_input.c
6403
struct tcp_sack_block *sp = &tp->selective_acks[0];
net/ipv4/tcp_input.c
6407
for (this_sack = 1; this_sack < tp->rx_opt.num_sacks;
net/ipv4/tcp_input.c
6422
if (tp->syn_fastopen && !tp->data_segs_in &&
net/ipv4/tcp_input.c
6436
if (tcp_ecn_mode_accecn(tp)) {
net/ipv4/tcp_input.c
6438
tp->syn_ect_rcv = TCP_SKB_CB(skb)->ip_dsfield &
net/ipv4/tcp_input.c
6440
if (tp->rx_opt.accecn &&
net/ipv4/tcp_input.c
6441
tp->saw_accecn_opt < TCP_ACCECN_OPT_COUNTER_SEEN) {
net/ipv4/tcp_input.c
6442
u8 saw_opt = tcp_accecn_option_init(skb, tp->rx_opt.accecn);
net/ipv4/tcp_input.c
6444
tcp_accecn_saw_opt_fail_recv(tp, saw_opt);
net/ipv4/tcp_input.c
6450
TCP_SKB_CB(skb)->seq + 1 == tp->rcv_nxt &&
net/ipv4/tcp_input.c
6451
TCP_SKB_CB(skb)->ack_seq == tp->snd_nxt)
net/ipv4/tcp_input.c
6504
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6510
tcp_mstamp_refresh_inline(tp);
net/ipv4/tcp_input.c
6528
tp->rx_opt.saw_tstamp = 0;
net/ipv4/tcp_input.c
6529
tp->rx_opt.accecn = 0;
net/ipv4/tcp_input.c
6540
if ((tcp_flag_word(th) & TCP_HP_BITS) == tp->pred_flags &&
net/ipv4/tcp_input.c
6541
TCP_SKB_CB(skb)->seq == tp->rcv_nxt &&
net/ipv4/tcp_input.c
6542
!after(TCP_SKB_CB(skb)->ack_seq, tp->snd_nxt)) {
net/ipv4/tcp_input.c
6543
int tcp_header_len = tp->tcp_header_len;
net/ipv4/tcp_input.c
6555
if (!tcp_parse_aligned_timestamp(tp, th))
net/ipv4/tcp_input.c
6558
delta = tp->rx_opt.rcv_tsval -
net/ipv4/tcp_input.c
6559
tp->rx_opt.ts_recent;
net/ipv4/tcp_input.c
6580
tp->rcv_nxt == tp->rcv_wup)
net/ipv4/tcp_input.c
6581
flag |= __tcp_replace_ts_recent(tp,
net/ipv4/tcp_input.c
6596
tp->rcv_rtt_last_tsecr = tp->rx_opt.rcv_tsecr;
net/ipv4/tcp_input.c
6611
tp->rcv_nxt + tcp_receive_window(tp)))
net/ipv4/tcp_input.c
6623
tp->rcv_nxt == tp->rcv_wup)
net/ipv4/tcp_input.c
6624
flag |= __tcp_replace_ts_recent(tp,
net/ipv4/tcp_input.c
6640
if (TCP_SKB_CB(skb)->ack_seq != tp->snd_una) {
net/ipv4/tcp_input.c
6647
tcp_update_wl(tp, TCP_SKB_CB(skb)->seq);
net/ipv4/tcp_input.c
666
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6708
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
671
while (tp->rcv_ssthresh <= window) {
net/ipv4/tcp_input.c
6720
if (tp->total_retrans > 1 && tp->undo_marker)
net/ipv4/tcp_input.c
6721
tcp_snd_cwnd_set(tp, 1);
net/ipv4/tcp_input.c
6723
tcp_snd_cwnd_set(tp, tcp_init_cwnd(tp, __sk_dst_get(sk)));
net/ipv4/tcp_input.c
6724
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
6735
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6753
tp->lsndtime = tcp_jiffies32;
net/ipv4/tcp_input.c
6756
tcp_reset_keepalive_timer(sk, keepalive_time_when(tp));
net/ipv4/tcp_input.c
6758
if (!tp->rx_opt.snd_wscale)
net/ipv4/tcp_input.c
6759
__tcp_fast_path_on(tp, tp->snd_wnd);
net/ipv4/tcp_input.c
6761
tp->pred_flags = 0;
net/ipv4/tcp_input.c
6767
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6768
struct sk_buff *data = tp->syn_data ? tcp_rtx_queue_head(sk) : NULL;
net/ipv4/tcp_input.c
6769
u16 mss = tp->rx_opt.mss_clamp, try_exp = 0;
net/ipv4/tcp_input.c
6772
if (mss == READ_ONCE(tp->rx_opt.user_mss)) {
net/ipv4/tcp_input.c
6782
if (!tp->syn_fastopen) {
net/ipv4/tcp_input.c
6785
} else if (tp->total_retrans) {
net/ipv4/tcp_input.c
6792
} else if (cookie->len < 0 && !tp->syn_data) {
net/ipv4/tcp_input.c
6797
try_exp = tp->syn_fastopen_exp ? 2 : 1;
net/ipv4/tcp_input.c
6803
if (tp->total_retrans)
net/ipv4/tcp_input.c
6804
tp->fastopen_client_fail = TFO_SYN_RETRANSMITTED;
net/ipv4/tcp_input.c
6806
tp->fastopen_client_fail = TFO_DATA_NOT_ACKED;
net/ipv4/tcp_input.c
6814
tp->syn_data_acked = tp->syn_data;
net/ipv4/tcp_input.c
6815
if (tp->syn_data_acked) {
net/ipv4/tcp_input.c
6818
if (tp->delivered > 1)
net/ipv4/tcp_input.c
6819
WRITE_ONCE(tp->delivered, tp->delivered - 1);
net/ipv4/tcp_input.c
6827
static void smc_check_reset_syn(struct tcp_sock *tp)
net/ipv4/tcp_input.c
6831
if (tp->syn_smc && !tp->rx_opt.smc_ok)
net/ipv4/tcp_input.c
6832
tp->syn_smc = 0;
net/ipv4/tcp_input.c
6839
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6846
syn_stamp = tp->retrans_stamp;
net/ipv4/tcp_input.c
6847
if (tp->undo_marker && syn_stamp && tp->rx_opt.saw_tstamp &&
net/ipv4/tcp_input.c
6848
syn_stamp == tp->rx_opt.rcv_tsecr)
net/ipv4/tcp_input.c
6849
tp->undo_marker = 0;
net/ipv4/tcp_input.c
6856
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
6858
int saved_clamp = tp->rx_opt.mss_clamp;
net/ipv4/tcp_input.c
6862
tcp_parse_options(sock_net(sk), skb, &tp->rx_opt, 0, &foc);
net/ipv4/tcp_input.c
6863
if (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr)
net/ipv4/tcp_input.c
6864
tp->rx_opt.rcv_tsecr -= tp->tsoffset;
net/ipv4/tcp_input.c
6875
if (!after(TCP_SKB_CB(skb)->ack_seq, tp->snd_una) ||
net/ipv4/tcp_input.c
6876
after(TCP_SKB_CB(skb)->ack_seq, tp->snd_nxt)) {
net/ipv4/tcp_input.c
6885
if (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr &&
net/ipv4/tcp_input.c
6886
!between(tp->rx_opt.rcv_tsecr, tp->retrans_stamp,
net/ipv4/tcp_input.c
6887
tcp_time_stamp_ts(tp))) {
net/ipv4/tcp_input.c
6927
if (tcp_ecn_mode_any(tp))
net/ipv4/tcp_input.c
6931
tcp_init_wl(tp, TCP_SKB_CB(skb)->seq);
net/ipv4/tcp_input.c
6938
WRITE_ONCE(tp->rcv_nxt, TCP_SKB_CB(skb)->seq + 1);
net/ipv4/tcp_input.c
6939
tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1;
net/ipv4/tcp_input.c
6940
tp->rcv_mwnd_seq = tp->rcv_wup + tp->rcv_wnd;
net/ipv4/tcp_input.c
6945
tp->snd_wnd = ntohs(th->window);
net/ipv4/tcp_input.c
6947
if (!tp->rx_opt.wscale_ok) {
net/ipv4/tcp_input.c
6948
tp->rx_opt.snd_wscale = tp->rx_opt.rcv_wscale = 0;
net/ipv4/tcp_input.c
6949
WRITE_ONCE(tp->window_clamp,
net/ipv4/tcp_input.c
6950
min(tp->window_clamp, 65535U));
net/ipv4/tcp_input.c
6953
if (tp->rx_opt.saw_tstamp) {
net/ipv4/tcp_input.c
6954
tp->rx_opt.tstamp_ok = 1;
net/ipv4/tcp_input.c
6955
tp->tcp_header_len =
net/ipv4/tcp_input.c
6957
tp->advmss -= TCPOLEN_TSTAMP_ALIGNED;
net/ipv4/tcp_input.c
6958
tcp_store_ts_recent(tp);
net/ipv4/tcp_input.c
6960
tp->tcp_header_len = sizeof(struct tcphdr);
net/ipv4/tcp_input.c
6969
WRITE_ONCE(tp->copied_seq, tp->rcv_nxt);
net/ipv4/tcp_input.c
6971
smc_check_reset_syn(tp);
net/ipv4/tcp_input.c
6977
fastopen_fail = (tp->syn_fastopen || tp->syn_data) &&
net/ipv4/tcp_input.c
7002
tcp_send_ack_reflect_ect(sk, tcp_ecn_mode_accecn(tp));
net/ipv4/tcp_input.c
7019
if (tp->rx_opt.ts_recent_stamp && tp->rx_opt.saw_tstamp &&
net/ipv4/tcp_input.c
7020
tcp_paws_reject(&tp->rx_opt, 0)) {
net/ipv4/tcp_input.c
703
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
7032
ao = rcu_dereference_protected(tp->ao_info,
net/ipv4/tcp_input.c
7041
if (tp->rx_opt.saw_tstamp) {
net/ipv4/tcp_input.c
7042
tp->rx_opt.tstamp_ok = 1;
net/ipv4/tcp_input.c
7043
tcp_store_ts_recent(tp);
net/ipv4/tcp_input.c
7044
tp->tcp_header_len =
net/ipv4/tcp_input.c
7047
tp->tcp_header_len = sizeof(struct tcphdr);
net/ipv4/tcp_input.c
7050
WRITE_ONCE(tp->rcv_nxt, TCP_SKB_CB(skb)->seq + 1);
net/ipv4/tcp_input.c
7051
WRITE_ONCE(tp->copied_seq, tp->rcv_nxt);
net/ipv4/tcp_input.c
7052
tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1;
net/ipv4/tcp_input.c
7053
tp->rcv_mwnd_seq = tp->rcv_wup + tp->rcv_wnd;
net/ipv4/tcp_input.c
7058
tp->snd_wnd = ntohs(th->window);
net/ipv4/tcp_input.c
7059
tp->snd_wl1 = TCP_SKB_CB(skb)->seq;
net/ipv4/tcp_input.c
706
room = min_t(int, tp->window_clamp, tcp_space(sk)) - tp->rcv_ssthresh;
net/ipv4/tcp_input.c
7060
tp->max_window = tp->snd_wnd;
net/ipv4/tcp_input.c
7091
tcp_clear_options(&tp->rx_opt);
net/ipv4/tcp_input.c
7092
tp->rx_opt.mss_clamp = saved_clamp;
net/ipv4/tcp_input.c
7097
tcp_clear_options(&tp->rx_opt);
net/ipv4/tcp_input.c
7098
tp->rx_opt.mss_clamp = saved_clamp;
net/ipv4/tcp_input.c
7105
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
7111
if (inet_csk(sk)->icsk_ca_state == TCP_CA_Loss && !tp->packets_out)
net/ipv4/tcp_input.c
7114
tcp_update_rto_time(tp);
net/ipv4/tcp_input.c
7129
req = rcu_dereference_protected(tp->fastopen_rsk,
net/ipv4/tcp_input.c
7154
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
7195
tp->rx_opt.saw_tstamp = 0;
net/ipv4/tcp_input.c
7196
tcp_mstamp_refresh(tp);
net/ipv4/tcp_input.c
720
incr = 2 * tp->advmss;
net/ipv4/tcp_input.c
7208
tcp_mstamp_refresh(tp);
net/ipv4/tcp_input.c
7209
tp->rx_opt.saw_tstamp = 0;
net/ipv4/tcp_input.c
7210
req = rcu_dereference_protected(tp->fastopen_rsk,
net/ipv4/tcp_input.c
7252
WRITE_ONCE(tp->delivered, tp->delivered + 1); /* SYN-ACK delivery isn't tracked in tcp_ack */
net/ipv4/tcp_input.c
7253
if (!tp->srtt_us)
net/ipv4/tcp_input.c
7256
if (tp->rx_opt.tstamp_ok)
net/ipv4/tcp_input.c
7257
tp->advmss -= TCPOLEN_TSTAMP_ALIGNED;
net/ipv4/tcp_input.c
726
tp->rcv_ssthresh += min(room, incr);
net/ipv4/tcp_input.c
7263
tp->retrans_stamp = 0;
net/ipv4/tcp_input.c
7266
WRITE_ONCE(tp->copied_seq, tp->rcv_nxt);
net/ipv4/tcp_input.c
7280
WRITE_ONCE(tp->snd_una, TCP_SKB_CB(skb)->ack_seq);
net/ipv4/tcp_input.c
7281
tp->snd_wnd = ntohs(th->window) << tp->rx_opt.snd_wscale;
net/ipv4/tcp_input.c
7282
tcp_init_wl(tp, TCP_SKB_CB(skb)->seq);
net/ipv4/tcp_input.c
7288
tp->lsndtime = tcp_jiffies32;
net/ipv4/tcp_input.c
7291
if (tcp_ecn_mode_accecn(tp))
net/ipv4/tcp_input.c
7292
tcp_accecn_third_ack(sk, skb, tp->syn_ect_snt);
net/ipv4/tcp_input.c
7293
tcp_fast_path_on(tp);
net/ipv4/tcp_input.c
7305
if (tp->snd_una != tp->write_seq)
net/ipv4/tcp_input.c
7319
if (READ_ONCE(tp->linger2) < 0) {
net/ipv4/tcp_input.c
7325
after(TCP_SKB_CB(skb)->end_seq - th->fin, tp->rcv_nxt)) {
net/ipv4/tcp_input.c
7327
if (tp->syn_fastopen && th->fin)
net/ipv4/tcp_input.c
7353
if (tp->snd_una == tp->write_seq) {
net/ipv4/tcp_input.c
7360
if (tp->snd_una == tp->write_seq) {
net/ipv4/tcp_input.c
7376
if (!before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt)) {
net/ipv4/tcp_input.c
7393
after(TCP_SKB_CB(skb)->end_seq - th->fin, tp->rcv_nxt)) {
net/ipv4/tcp_input.c
743
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
749
tcp_mstamp_refresh(tp);
net/ipv4/tcp_input.c
750
tp->rcvq_space.time = tp->tcp_mstamp;
net/ipv4/tcp_input.c
751
tp->rcvq_space.seq = tp->copied_seq;
net/ipv4/tcp_input.c
755
if (tp->window_clamp >= maxwin) {
net/ipv4/tcp_input.c
756
WRITE_ONCE(tp->window_clamp, maxwin);
net/ipv4/tcp_input.c
758
if (tcp_app_win && maxwin > 4 * tp->advmss)
net/ipv4/tcp_input.c
759
WRITE_ONCE(tp->window_clamp,
net/ipv4/tcp_input.c
7598
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
761
4 * tp->advmss));
net/ipv4/tcp_input.c
7613
mss = tcp_parse_mss_option(th, READ_ONCE(tp->rx_opt.user_mss));
net/ipv4/tcp_input.c
7627
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
766
tp->window_clamp > 2 * tp->advmss &&
net/ipv4/tcp_input.c
767
tp->window_clamp + tp->advmss > maxwin)
net/ipv4/tcp_input.c
7676
tmp_opt.user_mss = READ_ONCE(tp->rx_opt.user_mss);
net/ipv4/tcp_input.c
768
WRITE_ONCE(tp->window_clamp,
net/ipv4/tcp_input.c
769
max(2 * tp->advmss, maxwin - tp->advmss));
net/ipv4/tcp_input.c
771
tp->rcv_ssthresh = min(tp->rcv_ssthresh, tp->window_clamp);
net/ipv4/tcp_input.c
772
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_input.c
773
tp->rcvq_space.space = min3(tp->rcv_ssthresh, tp->rcv_wnd,
net/ipv4/tcp_input.c
774
(u32)TCP_INIT_CWND * tp->advmss);
net/ipv4/tcp_input.c
780
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
796
tp->rcv_ssthresh = min(tp->window_clamp, 2U * tp->advmss);
net/ipv4/tcp_input.c
808
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
809
unsigned int hint = min_t(unsigned int, tp->advmss, tp->mss_cache);
net/ipv4/tcp_input.c
811
hint = min(hint, tp->rcv_wnd / 2);
net/ipv4/tcp_input.c
829
static void tcp_rcv_rtt_update(struct tcp_sock *tp, u32 sample, int win_dep)
net/ipv4/tcp_input.c
831
u32 new_sample, old_sample = tp->rcv_rtt_est.rtt_us;
net/ipv4/tcp_input.c
850
if (tp->rcv_nxt != tp->copied_seq)
net/ipv4/tcp_input.c
855
tp->rcv_rtt_est.rtt_us = new_sample;
net/ipv4/tcp_input.c
858
static inline void tcp_rcv_rtt_measure(struct tcp_sock *tp)
net/ipv4/tcp_input.c
862
if (tp->rcv_rtt_est.time == 0)
net/ipv4/tcp_input.c
864
if (before(tp->rcv_nxt, tp->rcv_rtt_est.seq))
net/ipv4/tcp_input.c
866
delta_us = tcp_stamp_us_delta(tp->tcp_mstamp, tp->rcv_rtt_est.time);
net/ipv4/tcp_input.c
869
tcp_rcv_rtt_update(tp, delta_us, 1);
net/ipv4/tcp_input.c
872
tp->rcv_rtt_est.seq = tp->rcv_nxt + tp->rcv_wnd;
net/ipv4/tcp_input.c
873
tp->rcv_rtt_est.time = tp->tcp_mstamp;
net/ipv4/tcp_input.c
876
static s32 tcp_rtt_tsopt_us(const struct tcp_sock *tp, u32 min_delta)
net/ipv4/tcp_input.c
880
delta = tcp_time_stamp_ts(tp) - tp->rx_opt.rcv_tsecr;
net/ipv4/tcp_input.c
881
if (tp->tcp_usec_ts)
net/ipv4/tcp_input.c
896
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
898
if (tp->rx_opt.rcv_tsecr == tp->rcv_rtt_last_tsecr)
net/ipv4/tcp_input.c
900
tp->rcv_rtt_last_tsecr = tp->rx_opt.rcv_tsecr;
net/ipv4/tcp_input.c
904
s32 delta = tcp_rtt_tsopt_us(tp, 0);
net/ipv4/tcp_input.c
907
tcp_rcv_rtt_update(tp, delta, 0);
net/ipv4/tcp_input.c
914
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
919
oldval = tp->rcvq_space.space;
net/ipv4/tcp_input.c
920
tp->rcvq_space.space = newval;
net/ipv4/tcp_input.c
929
rtt_us = tp->rcv_rtt_est.rtt_us >> 3;
net/ipv4/tcp_input.c
943
if (!RB_EMPTY_ROOT(&tp->out_of_order_queue))
net/ipv4/tcp_input.c
944
rcvwin += TCP_SKB_CB(tp->ooo_last_skb)->end_seq - tp->rcv_nxt;
net/ipv4/tcp_input.c
952
WRITE_ONCE(tp->window_clamp,
net/ipv4/tcp_input.c
962
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_input.c
967
if (unlikely(!tp->rcv_rtt_est.rtt_us))
net/ipv4/tcp_input.c
974
time = tcp_stamp_us_delta(tp->tcp_mstamp, tp->rcvq_space.time);
net/ipv4/tcp_input.c
975
if (time < (tp->rcv_rtt_est.rtt_us >> 3))
net/ipv4/tcp_input.c
979
copied = tp->copied_seq - tp->rcvq_space.seq;
net/ipv4/tcp_input.c
981
inq = tp->rcv_nxt - tp->copied_seq;
net/ipv4/tcp_input.c
983
if (copied <= tp->rcvq_space.space)
net/ipv4/tcp_input.c
991
tp->rcvq_space.seq = tp->copied_seq;
net/ipv4/tcp_input.c
992
tp->rcvq_space.time = tp->tcp_mstamp;
net/ipv4/tcp_ipv4.c
123
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1243
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1251
md5sig = rcu_dereference_check(tp->md5sig_info,
net/ipv4/tcp_ipv4.c
1287
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1293
md5sig = rcu_dereference_check(tp->md5sig_info,
net/ipv4/tcp_ipv4.c
1330
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1339
rcu_assign_pointer(tp->md5sig_info, md5sig);
net/ipv4/tcp_ipv4.c
1350
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1373
md5sig = rcu_dereference_protected(tp->md5sig_info,
net/ipv4/tcp_ipv4.c
1397
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1399
if (!rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk))) {
net/ipv4/tcp_ipv4.c
1411
md5sig = rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk));
net/ipv4/tcp_ipv4.c
1412
rcu_assign_pointer(tp->md5sig_info, NULL);
net/ipv4/tcp_ipv4.c
1426
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1428
if (!rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk))) {
net/ipv4/tcp_ipv4.c
1436
md5sig = rcu_dereference_protected(tp->md5sig_info, lockdep_sock_is_held(sk));
net/ipv4/tcp_ipv4.c
1438
rcu_assign_pointer(tp->md5sig_info, NULL);
net/ipv4/tcp_ipv4.c
1465
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
1470
md5sig = rcu_dereference_protected(tp->md5sig_info, 1);
net/ipv4/tcp_ipv4.c
189
if (likely(!tp->repair)) {
net/ipv4/tcp_ipv4.c
194
WRITE_ONCE(tp->write_seq, seq);
net/ipv4/tcp_ipv4.c
195
tp->rx_opt.ts_recent = READ_ONCE(tcptw->tw_ts_recent);
net/ipv4/tcp_ipv4.c
196
tp->rx_opt.ts_recent_stamp = ts_recent_stamp;
net/ipv4/tcp_ipv4.c
226
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
2425
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
2446
skb_rbtree_purge(&tp->out_of_order_queue);
net/ipv4/tcp_ipv4.c
2452
BUG_ON(rcu_access_pointer(tp->fastopen_rsk));
net/ipv4/tcp_ipv4.c
2455
tcp_free_fastopen_req(tp);
net/ipv4/tcp_ipv4.c
2457
tcp_saved_syn_free(tp);
net/ipv4/tcp_ipv4.c
2774
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
2810
rx_queue = max_t(int, READ_ONCE(tp->rcv_nxt) -
net/ipv4/tcp_ipv4.c
2811
READ_ONCE(tp->copied_seq), 0);
net/ipv4/tcp_ipv4.c
2816
READ_ONCE(tp->write_seq) - tp->snd_una,
net/ipv4/tcp_ipv4.c
2828
tcp_snd_cwnd(tp),
net/ipv4/tcp_ipv4.c
283
if (tp->rx_opt.ts_recent_stamp && inet->inet_daddr != daddr) {
net/ipv4/tcp_ipv4.c
2831
(tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh));
net/ipv4/tcp_ipv4.c
285
tp->rx_opt.ts_recent = 0;
net/ipv4/tcp_ipv4.c
286
tp->rx_opt.ts_recent_stamp = 0;
net/ipv4/tcp_ipv4.c
287
if (likely(!tp->repair))
net/ipv4/tcp_ipv4.c
288
WRITE_ONCE(tp->write_seq, 0);
net/ipv4/tcp_ipv4.c
298
tp->rx_opt.mss_clamp = TCP_MSS_DEFAULT;
net/ipv4/tcp_ipv4.c
319
tp->tcp_usec_ts = dst_tcp_usec_ts(&rt->dst);
net/ipv4/tcp_ipv4.c
325
if (likely(!tp->repair)) {
net/ipv4/tcp_ipv4.c
333
if (!tp->write_seq)
net/ipv4/tcp_ipv4.c
334
WRITE_ONCE(tp->write_seq, st.seq);
net/ipv4/tcp_ipv4.c
335
WRITE_ONCE(tp->tsoffset, st.ts_off);
net/ipv4/tcp_ipv4.c
441
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
449
if (seq != tp->snd_una || !icsk->icsk_retransmits ||
net/ipv4/tcp_ipv4.c
458
icsk->icsk_rto = tp->srtt_us ? __tcp_set_rto(tp) : TCP_TIMEOUT_INIT;
net/ipv4/tcp_ipv4.c
461
tcp_mstamp_refresh(tp);
net/ipv4/tcp_ipv4.c
462
delta_us = (u32)(tp->tcp_mstamp - tcp_skb_timestamp_us(skb));
net/ipv4/tcp_ipv4.c
499
struct tcp_sock *tp;
net/ipv4/tcp_ipv4.c
552
tp = tcp_sk(sk);
net/ipv4/tcp_ipv4.c
554
fastopen = rcu_dereference(tp->fastopen_rsk);
net/ipv4/tcp_ipv4.c
555
snd_una = fastopen ? tcp_rsk(fastopen)->snt_isn : tp->snd_una;
net/ipv4/tcp_ipv4.c
557
!between(seq, snd_una, tp->snd_nxt)) {
net/ipv4/tcp_ipv4.c
585
WRITE_ONCE(tp->mtu_info, info);
net/ipv4/tcp_lp.c
141
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_lp.c
152
if (tp->rx_opt.rcv_tsval == lp->remote_ref_time ||
net/ipv4/tcp_lp.c
153
tp->rx_opt.rcv_tsecr == lp->local_ref_time)
net/ipv4/tcp_lp.c
157
(tp->rx_opt.rcv_tsval - lp->remote_ref_time) /
net/ipv4/tcp_lp.c
158
(tp->rx_opt.rcv_tsecr - lp->local_ref_time);
net/ipv4/tcp_lp.c
176
lp->remote_ref_time = tp->rx_opt.rcv_tsval;
net/ipv4/tcp_lp.c
177
lp->local_ref_time = tp->rx_opt.rcv_tsecr;
net/ipv4/tcp_lp.c
195
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_lp.c
203
tp->rx_opt.rcv_tsval * (LP_RESOL / lp->remote_hz) -
net/ipv4/tcp_lp.c
204
tp->rx_opt.rcv_tsecr * (LP_RESOL / TCP_TS_HZ);
net/ipv4/tcp_lp.c
276
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_lp.c
278
u32 now = tcp_time_stamp_ts(tp);
net/ipv4/tcp_lp.c
285
delta = now - tp->rx_opt.rcv_tsecr;
net/ipv4/tcp_lp.c
303
tcp_snd_cwnd(tp), lp->remote_hz, lp->owd_min, lp->owd_max,
net/ipv4/tcp_lp.c
319
tcp_snd_cwnd_set(tp, 1U);
net/ipv4/tcp_lp.c
324
tcp_snd_cwnd_set(tp, max(tcp_snd_cwnd(tp) >> 1U, 1U));
net/ipv4/tcp_metrics.c
344
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_metrics.c
356
if (icsk->icsk_backoff || !tp->srtt_us) {
net/ipv4/tcp_metrics.c
372
m = rtt - tp->srtt_us;
net/ipv4/tcp_metrics.c
380
rtt = tp->srtt_us;
net/ipv4/tcp_metrics.c
394
if (m < tp->mdev_us)
net/ipv4/tcp_metrics.c
395
m = tp->mdev_us;
net/ipv4/tcp_metrics.c
406
if (tcp_in_initial_slowstart(tp)) {
net/ipv4/tcp_metrics.c
411
if (val && (tcp_snd_cwnd(tp) >> 1) > val)
net/ipv4/tcp_metrics.c
413
tcp_snd_cwnd(tp) >> 1);
net/ipv4/tcp_metrics.c
417
if (tcp_snd_cwnd(tp) > val)
net/ipv4/tcp_metrics.c
419
tcp_snd_cwnd(tp));
net/ipv4/tcp_metrics.c
421
} else if (!tcp_in_slow_start(tp) &&
net/ipv4/tcp_metrics.c
427
max(tcp_snd_cwnd(tp) >> 1, tp->snd_ssthresh));
net/ipv4/tcp_metrics.c
430
tcp_metric_set(tm, TCP_METRIC_CWND, (val + tcp_snd_cwnd(tp)) >> 1);
net/ipv4/tcp_metrics.c
439
(val + tp->snd_ssthresh) >> 1);
net/ipv4/tcp_metrics.c
444
if (val && tp->snd_ssthresh > val)
net/ipv4/tcp_metrics.c
446
tp->snd_ssthresh);
net/ipv4/tcp_metrics.c
450
if (val < tp->reordering &&
net/ipv4/tcp_metrics.c
451
tp->reordering !=
net/ipv4/tcp_metrics.c
454
tp->reordering);
net/ipv4/tcp_metrics.c
467
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_metrics.c
476
tp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
net/ipv4/tcp_metrics.c
488
tp->snd_cwnd_clamp = tcp_metric_get(tm, TCP_METRIC_CWND);
net/ipv4/tcp_metrics.c
493
WRITE_ONCE(tp->snd_ssthresh, val);
net/ipv4/tcp_metrics.c
494
if (tp->snd_ssthresh > tp->snd_cwnd_clamp)
net/ipv4/tcp_metrics.c
495
WRITE_ONCE(tp->snd_ssthresh, tp->snd_cwnd_clamp);
net/ipv4/tcp_metrics.c
498
if (val && tp->reordering != val)
net/ipv4/tcp_metrics.c
499
WRITE_ONCE(tp->reordering, val);
net/ipv4/tcp_metrics.c
524
if (crtt > tp->srtt_us) {
net/ipv4/tcp_metrics.c
528
} else if (tp->srtt_us == 0) {
net/ipv4/tcp_metrics.c
535
tp->rttvar_us = jiffies_to_usecs(TCP_TIMEOUT_FALLBACK);
net/ipv4/tcp_metrics.c
536
tp->mdev_us = tp->mdev_max_us = tp->rttvar_us;
net/ipv4/tcp_minisocks.c
294
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_minisocks.c
307
key = tp->af_specific->md5_lookup(sk, sk);
net/ipv4/tcp_minisocks.c
329
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_minisocks.c
341
tw->tw_rcv_wscale = tp->rx_opt.rcv_wscale;
net/ipv4/tcp_minisocks.c
343
tw->tw_entry_stamp = tcp_time_stamp_ms(tp);
net/ipv4/tcp_minisocks.c
344
tcptw->tw_rcv_nxt = tp->rcv_nxt;
net/ipv4/tcp_minisocks.c
345
tcptw->tw_snd_nxt = tp->snd_nxt;
net/ipv4/tcp_minisocks.c
346
tcptw->tw_rcv_wnd = tcp_receive_window(tp);
net/ipv4/tcp_minisocks.c
347
tcptw->tw_ts_recent = tp->rx_opt.ts_recent;
net/ipv4/tcp_minisocks.c
348
tcptw->tw_ts_recent_stamp = tp->rx_opt.ts_recent_stamp;
net/ipv4/tcp_minisocks.c
349
tcptw->tw_ts_offset = tp->tsoffset;
net/ipv4/tcp_minisocks.c
350
tw->tw_usec_ts = tp->tcp_usec_ts;
net/ipv4/tcp_minisocks.c
352
tcptw->tw_tx_delay = tp->tcp_tx_delay;
net/ipv4/tcp_minisocks.c
371
tcp_ao_time_wait(tcptw, tp);
net/ipv4/tcp_minisocks.c
436
const struct tcp_sock *tp = tcp_sk(sk_listener);
net/ipv4/tcp_minisocks.c
443
mss = tcp_mss_clamp(tp, dst_metric_advmss(dst));
net/ipv4/tcp_minisocks.c
444
window_clamp = READ_ONCE(tp->window_clamp);
net/ipv4/tcp_minisocks.c
475
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_minisocks.c
478
tcp_ecn_mode_set(tp, TCP_ECN_MODE_ACCECN);
net/ipv4/tcp_minisocks.c
479
tp->syn_ect_snt = treq->syn_ect_snt;
net/ipv4/tcp_minisocks.c
481
tp->saw_accecn_opt = treq->saw_accecn_opt;
net/ipv4/tcp_minisocks.c
483
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_ACE_FAIL_SEND);
net/ipv4/tcp_minisocks.c
485
tcp_accecn_fail_mode_set(tp, TCP_ACCECN_ACE_FAIL_RECV);
net/ipv4/tcp_minisocks.c
486
tp->prev_ecnfield = treq->syn_ect_rcv;
net/ipv4/tcp_minisocks.c
487
tp->accecn_opt_demand = 1;
net/ipv4/tcp_minisocks.c
491
tcp_ecn_mode_set(tp, TCP_ECN_MODE_RFC3168);
net/ipv4/tcp_minisocks.c
493
tcp_ecn_mode_set(tp, TCP_ECN_DISABLED);
net/ipv4/tcp_nv.c
125
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_nv.c
132
ca->nv_rtt_start_seq = tp->snd_una;
net/ipv4/tcp_nv.c
134
ca->nv_last_snd_una = tp->snd_una;
net/ipv4/tcp_nv.c
182
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_nv.c
193
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_nv.c
194
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_nv.c
200
cnt = tcp_snd_cwnd(tp) << -ca->cwnd_growth_factor;
net/ipv4/tcp_nv.c
201
tcp_cong_avoid_ai(tp, cnt, acked);
net/ipv4/tcp_nv.c
203
cnt = max(4U, tcp_snd_cwnd(tp) >> ca->cwnd_growth_factor);
net/ipv4/tcp_nv.c
204
tcp_cong_avoid_ai(tp, cnt, acked);
net/ipv4/tcp_nv.c
210
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_nv.c
212
return max((tcp_snd_cwnd(tp) * nv_loss_dec_factor) >> 10, 2U);
net/ipv4/tcp_nv.c
242
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_nv.c
260
if (ca->nv_catchup && tcp_snd_cwnd(tp) >= nv_min_cwnd) {
net/ipv4/tcp_nv.c
265
bytes_acked = tp->snd_una - ca->nv_last_snd_una;
net/ipv4/tcp_nv.c
266
ca->nv_last_snd_una = tp->snd_una;
net/ipv4/tcp_nv.c
337
if (before(ca->nv_rtt_start_seq, tp->snd_una)) {
net/ipv4/tcp_nv.c
338
ca->nv_rtt_start_seq = tp->snd_nxt;
net/ipv4/tcp_nv.c
349
bytes_acked >= (ca->nv_min_cwnd - 1) * tp->mss_cache &&
net/ipv4/tcp_nv.c
354
ca->nv_rtt_start_seq = tp->snd_nxt +
net/ipv4/tcp_nv.c
355
ca->nv_min_cwnd * tp->mss_cache;
net/ipv4/tcp_nv.c
367
80000ULL * tp->mss_cache);
net/ipv4/tcp_nv.c
374
if (tcp_snd_cwnd(tp) > max_win) {
net/ipv4/tcp_nv.c
384
} else if (tp->snd_ssthresh == TCP_INFINITE_SSTHRESH) {
net/ipv4/tcp_nv.c
399
WRITE_ONCE(tp->snd_ssthresh,
net/ipv4/tcp_nv.c
401
if (tcp_snd_cwnd(tp) - max_win > 2) {
net/ipv4/tcp_nv.c
405
dec = max(2U, ((tcp_snd_cwnd(tp) - max_win) *
net/ipv4/tcp_nv.c
407
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) - dec);
net/ipv4/tcp_nv.c
409
tcp_snd_cwnd_set(tp, max_win);
net/ipv4/tcp_nv.c
414
} else if (tcp_snd_cwnd(tp) <= max_win - nv_pad_buffer) {
net/ipv4/tcp_nv.c
447
if (tcp_snd_cwnd(tp) < nv_min_cwnd)
net/ipv4/tcp_nv.c
448
tcp_snd_cwnd_set(tp, nv_min_cwnd);
net/ipv4/tcp_output.c
1002
opts->ws = tp->rx_opt.rcv_wscale;
net/ipv4/tcp_output.c
1022
tp->syn_fastopen = 1;
net/ipv4/tcp_output.c
1023
tp->syn_fastopen_exp = fastopen->cookie.exp ? 1 : 0;
net/ipv4/tcp_output.c
1027
smc_set_option(tp, opts, &remaining);
net/ipv4/tcp_output.c
1046
tcp_ecn_mode_accecn(tp) &&
net/ipv4/tcp_output.c
115
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1155
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
117
if (!before(tcp_wnd_end(tp), tp->snd_nxt) ||
net/ipv4/tcp_output.c
1170
if (likely(tp->rx_opt.tstamp_ok)) {
net/ipv4/tcp_output.c
1172
opts->tsval = skb ? tcp_skb_timestamp_ts(tp->tcp_usec_ts, skb) +
net/ipv4/tcp_output.c
1173
tp->tsoffset : 0;
net/ipv4/tcp_output.c
1174
opts->tsecr = tp->rx_opt.ts_recent;
net/ipv4/tcp_output.c
118
(tp->rx_opt.wscale_ok &&
net/ipv4/tcp_output.c
119
((tp->snd_nxt - tcp_wnd_end(tp)) < (1 << tp->rx_opt.rcv_wscale))))
net/ipv4/tcp_output.c
120
return tp->snd_nxt;
net/ipv4/tcp_output.c
1204
eff_sacks = tp->rx_opt.num_sacks + tp->rx_opt.dsack;
net/ipv4/tcp_output.c
122
return tcp_wnd_end(tp);
net/ipv4/tcp_output.c
1223
if (tcp_ecn_mode_accecn(tp)) {
net/ipv4/tcp_output.c
1226
if (ecn_opt && tp->saw_accecn_opt &&
net/ipv4/tcp_output.c
1228
!tcp_accecn_opt_fail_send(tp)) &&
net/ipv4/tcp_output.c
1229
(ecn_opt >= TCP_ACCECN_OPTION_FULL || tp->accecn_opt_demand ||
net/ipv4/tcp_output.c
1232
size += tcp_options_fit_accecn(opts, tp->accecn_minlen,
net/ipv4/tcp_output.c
1237
if (unlikely(BPF_SOCK_OPS_TEST_FLAG(tp,
net/ipv4/tcp_output.c
1276
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1278
if (tp->lost_out > tp->retrans_out &&
net/ipv4/tcp_output.c
1279
tcp_snd_cwnd(tp) > tcp_packets_in_flight(tp)) {
net/ipv4/tcp_output.c
1280
tcp_mstamp_refresh(tp);
net/ipv4/tcp_output.c
1284
tcp_write_xmit(sk, tcp_current_mss(sk), tp->nonagle,
net/ipv4/tcp_output.c
1310
struct tcp_sock *tp;
net/ipv4/tcp_output.c
1318
tp = list_entry(q, struct tcp_sock, tsq_node);
net/ipv4/tcp_output.c
1319
list_del(&tp->tsq_node);
net/ipv4/tcp_output.c
1321
sk = (struct sock *)tp;
net/ipv4/tcp_output.c
1390
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
141
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1422
list_add(&tp->tsq_node, &tsq->head);
net/ipv4/tcp_output.c
143
int mss = tp->advmss;
net/ipv4/tcp_output.c
1437
struct tcp_sock *tp = container_of(timer, struct tcp_sock, pacing_timer);
net/ipv4/tcp_output.c
1438
struct sock *sk = (struct sock *)tp;
net/ipv4/tcp_output.c
1449
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1458
if (rate != ~0UL && rate && tp->data_segs_out >= 10) {
net/ipv4/tcp_output.c
1460
u64 credit = tp->tcp_wstamp_ns - prior_wstamp;
net/ipv4/tcp_output.c
1464
tp->tcp_wstamp_ns += len_ns;
net/ipv4/tcp_output.c
1467
list_move_tail(&skb->tcp_tsorted_anchor, &tp->tsorted_sent_queue);
net/ipv4/tcp_output.c
1475
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1491
if (!tp->packets_out) {
net/ipv4/tcp_output.c
1494
tp->first_tx_mstamp = tstamp_us;
net/ipv4/tcp_output.c
1495
tp->delivered_mstamp = tstamp_us;
net/ipv4/tcp_output.c
1498
TCP_SKB_CB(skb)->tx.first_tx_mstamp = tp->first_tx_mstamp;
net/ipv4/tcp_output.c
1499
TCP_SKB_CB(skb)->tx.delivered_mstamp = tp->delivered_mstamp;
net/ipv4/tcp_output.c
150
tp->advmss = mss;
net/ipv4/tcp_output.c
1500
TCP_SKB_CB(skb)->tx.delivered = tp->delivered;
net/ipv4/tcp_output.c
1501
TCP_SKB_CB(skb)->tx.delivered_ce = tp->delivered_ce;
net/ipv4/tcp_output.c
1502
TCP_SKB_CB(skb)->tx.is_app_limited = tp->app_limited ? 1 : 0;
net/ipv4/tcp_output.c
1541
struct tcp_sock *tp;
net/ipv4/tcp_output.c
1552
tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1553
prior_wstamp = tp->tcp_wstamp_ns;
net/ipv4/tcp_output.c
1554
tp->tcp_wstamp_ns = max(tp->tcp_wstamp_ns, tp->tcp_clock_cache);
net/ipv4/tcp_output.c
1555
skb_set_delivery_time(skb, tp->tcp_wstamp_ns, SKB_CLOCK_MONOTONIC);
net/ipv4/tcp_output.c
162
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
163
u32 restart_cwnd = tcp_init_cwnd(tp, __sk_dst_get(sk));
net/ipv4/tcp_output.c
164
u32 cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_output.c
1642
if (unlikely(tcp_urg_mode(tp) && before(tcb->seq, tp->snd_up))) {
net/ipv4/tcp_output.c
1643
if (before(tp->snd_up, tcb->seq + 0x10000)) {
net/ipv4/tcp_output.c
1644
th->urg_ptr = htons(tp->snd_up - tcb->seq);
net/ipv4/tcp_output.c
1646
} else if (after(tcb->seq + 0xFFFF, tp->snd_nxt)) {
net/ipv4/tcp_output.c
1660
th->window = htons(min(tp->rcv_wnd, 65535U));
net/ipv4/tcp_output.c
1663
tcp_options_write(th, tp, NULL, &opts, &key);
net/ipv4/tcp_output.c
1669
tp->af_specific->calc_md5_hash(opts.hash_location,
net/ipv4/tcp_output.c
168
WRITE_ONCE(tp->snd_ssthresh, tcp_current_ssthresh(sk));
net/ipv4/tcp_output.c
1691
tcp_event_data_sent(tp, sk);
net/ipv4/tcp_output.c
1692
WRITE_ONCE(tp->data_segs_out,
net/ipv4/tcp_output.c
1693
tp->data_segs_out + tcp_skb_pcount(skb));
net/ipv4/tcp_output.c
1694
WRITE_ONCE(tp->bytes_sent,
net/ipv4/tcp_output.c
1695
tp->bytes_sent + skb->len - tcp_header_size);
net/ipv4/tcp_output.c
1698
if (after(tcb->end_seq, tp->snd_nxt) || tcb->seq == tcb->end_seq)
net/ipv4/tcp_output.c
1702
tp->segs_out += tcp_skb_pcount(skb);
net/ipv4/tcp_output.c
1714
tcp_add_tx_delay(skb, tp);
net/ipv4/tcp_output.c
173
tcp_snd_cwnd_set(tp, max(cwnd, restart_cwnd));
net/ipv4/tcp_output.c
174
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_output.c
1745
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1748
WRITE_ONCE(tp->write_seq, TCP_SKB_CB(skb)->end_seq);
net/ipv4/tcp_output.c
175
tp->snd_cwnd_used = 0;
net/ipv4/tcp_output.c
1780
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
1782
tp->packets_out -= decr;
net/ipv4/tcp_output.c
1785
tp->sacked_out -= decr;
net/ipv4/tcp_output.c
1787
tp->retrans_out -= decr;
net/ipv4/tcp_output.c
1789
tp->lost_out -= decr;
net/ipv4/tcp_output.c
179
static void tcp_event_data_sent(struct tcp_sock *tp,
net/ipv4/tcp_output.c
1792
if (tcp_is_reno(tp) && decr > 0)
net/ipv4/tcp_output.c
1793
tp->sacked_out -= min_t(u32, tp->sacked_out, decr);
net/ipv4/tcp_output.c
1795
tcp_verify_left_out(tp);
net/ipv4/tcp_output.c
1848
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
185
if (tcp_packets_in_flight(tp) == 0)
net/ipv4/tcp_output.c
188
tp->lsndtime = now;
net/ipv4/tcp_output.c
1919
if (!before(tp->snd_nxt, TCP_SKB_CB(buff)->end_seq)) {
net/ipv4/tcp_output.c
1998
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
200
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2008
if (mss_now > tp->rx_opt.mss_clamp)
net/ipv4/tcp_output.c
2009
mss_now = tp->rx_opt.mss_clamp;
net/ipv4/tcp_output.c
202
if (unlikely(tp->compressed_ack)) {
net/ipv4/tcp_output.c
2031
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2035
tp->tcp_header_len +
net/ipv4/tcp_output.c
204
tp->compressed_ack);
net/ipv4/tcp_output.c
2044
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2049
icsk->icsk_mtup.search_high = tp->rx_opt.mss_clamp + sizeof(struct tcphdr) +
net/ipv4/tcp_output.c
205
tp->compressed_ack = 0;
net/ipv4/tcp_output.c
206
if (hrtimer_try_to_cancel(&tp->compressed_ack_timer) == 1)
net/ipv4/tcp_output.c
2081
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2089
mss_now = tcp_bound_to_half_wnd(tp, mss_now);
net/ipv4/tcp_output.c
2095
tp->mss_cache = mss_now;
net/ipv4/tcp_output.c
210
if (unlikely(rcv_nxt != tp->rcv_nxt))
net/ipv4/tcp_output.c
2105
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2112
mss_now = tp->mss_cache;
net/ipv4/tcp_output.c
2126
if (header_len != tp->tcp_header_len) {
net/ipv4/tcp_output.c
2127
int delta = (int) header_len - tp->tcp_header_len;
net/ipv4/tcp_output.c
2140
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2145
u32 init_win = tcp_init_cwnd(tp, __sk_dst_get(sk));
net/ipv4/tcp_output.c
2146
u32 win_used = max(tp->snd_cwnd_used, init_win);
net/ipv4/tcp_output.c
2147
if (win_used < tcp_snd_cwnd(tp)) {
net/ipv4/tcp_output.c
2148
WRITE_ONCE(tp->snd_ssthresh, tcp_current_ssthresh(sk));
net/ipv4/tcp_output.c
2149
tcp_snd_cwnd_set(tp, (tcp_snd_cwnd(tp) + win_used) >> 1);
net/ipv4/tcp_output.c
2151
tp->snd_cwnd_used = 0;
net/ipv4/tcp_output.c
2153
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_output.c
2159
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2168
if (!before(tp->snd_una, tp->cwnd_usage_seq) ||
net/ipv4/tcp_output.c
2170
(!tp->is_cwnd_limited &&
net/ipv4/tcp_output.c
2171
tp->packets_out > tp->max_packets_out)) {
net/ipv4/tcp_output.c
2172
tp->is_cwnd_limited = is_cwnd_limited;
net/ipv4/tcp_output.c
2173
tp->max_packets_out = tp->packets_out;
net/ipv4/tcp_output.c
2174
tp->cwnd_usage_seq = tp->snd_nxt;
net/ipv4/tcp_output.c
2179
tp->snd_cwnd_used = 0;
net/ipv4/tcp_output.c
2180
tp->snd_cwnd_stamp = tcp_jiffies32;
net/ipv4/tcp_output.c
2183
if (tp->packets_out > tp->snd_cwnd_used)
net/ipv4/tcp_output.c
2184
tp->snd_cwnd_used = tp->packets_out;
net/ipv4/tcp_output.c
2187
(s32)(tcp_jiffies32 - tp->snd_cwnd_stamp) >= inet_csk(sk)->icsk_rto &&
net/ipv4/tcp_output.c
2206
static bool tcp_minshall_check(const struct tcp_sock *tp)
net/ipv4/tcp_output.c
2208
return after(tp->snd_sml, tp->snd_una) &&
net/ipv4/tcp_output.c
2209
!after(tp->snd_sml, tp->snd_nxt);
net/ipv4/tcp_output.c
2220
static void tcp_minshall_update(struct tcp_sock *tp, unsigned int mss_now,
net/ipv4/tcp_output.c
2224
tp->snd_sml = TCP_SKB_CB(skb)->end_seq;
net/ipv4/tcp_output.c
2234
static bool tcp_nagle_check(bool partial, const struct tcp_sock *tp,
net/ipv4/tcp_output.c
2239
(!nonagle && tp->packets_out && tcp_minshall_check(tp)));
net/ipv4/tcp_output.c
2296
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2299
window = tcp_wnd_end(tp) - TCP_SKB_CB(skb)->seq;
net/ipv4/tcp_output.c
2315
if (tcp_nagle_check(partial != 0, tp, nonagle))
net/ipv4/tcp_output.c
2324
static u32 tcp_cwnd_test(const struct tcp_sock *tp)
net/ipv4/tcp_output.c
2328
in_flight = tcp_packets_in_flight(tp);
net/ipv4/tcp_output.c
2329
cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_output.c
2358
static inline bool tcp_nagle_test(const struct tcp_sock *tp, const struct sk_buff *skb,
net/ipv4/tcp_output.c
2371
if (tcp_urg_mode(tp) || (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN))
net/ipv4/tcp_output.c
2374
if (!tcp_nagle_check(skb->len < cur_mss, tp, nonagle))
net/ipv4/tcp_output.c
2381
static bool tcp_snd_wnd_test(const struct tcp_sock *tp,
net/ipv4/tcp_output.c
2390
return !after(end_seq, tcp_wnd_end(tp));
net/ipv4/tcp_output.c
2460
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2473
delta = tp->tcp_clock_cache - tp->tcp_wstamp_ns - NSEC_PER_MSEC;
net/ipv4/tcp_output.c
2477
in_flight = tcp_packets_in_flight(tp);
net/ipv4/tcp_output.c
2480
BUG_ON(tcp_snd_cwnd(tp) <= in_flight);
net/ipv4/tcp_output.c
2482
send_win = tcp_wnd_end(tp) - TCP_SKB_CB(skb)->seq;
net/ipv4/tcp_output.c
2485
cong_win = (tcp_snd_cwnd(tp) - in_flight) * tp->mss_cache;
net/ipv4/tcp_output.c
2490
if (limit >= max_segs * tp->mss_cache)
net/ipv4/tcp_output.c
2499
u32 chunk = min(tp->snd_wnd, tcp_snd_cwnd(tp) * tp->mss_cache);
net/ipv4/tcp_output.c
2513
if (limit > tcp_max_tso_deferred_mss(tp) * tp->mss_cache)
net/ipv4/tcp_output.c
2522
srtt_in_ns = (u64)(NSEC_PER_USEC >> 3) * tp->srtt_us;
net/ipv4/tcp_output.c
2526
how_far_is_the_ack = expected_ack - tp->tcp_clock_cache;
net/ipv4/tcp_output.c
2568
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2580
icsk->icsk_mtup.search_high = tp->rx_opt.mss_clamp +
net/ipv4/tcp_output.c
2687
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2704
tcp_snd_cwnd(tp) < 11 ||
net/ipv4/tcp_output.c
2705
tp->rx_opt.num_sacks || tp->rx_opt.dsack))
net/ipv4/tcp_output.c
2715
size_needed = probe_size + (tp->reordering + 1) * (u64)tp->mss_cache;
net/ipv4/tcp_output.c
2731
if (tp->write_seq - tp->snd_nxt < size_needed)
net/ipv4/tcp_output.c
2734
if (tp->snd_wnd < size_needed)
net/ipv4/tcp_output.c
2736
if (after(tp->snd_nxt + size_needed, tcp_wnd_end(tp)))
net/ipv4/tcp_output.c
2740
if (tcp_packets_in_flight(tp) + 2 > tcp_snd_cwnd(tp)) {
net/ipv4/tcp_output.c
2741
if (!tcp_packets_in_flight(tp))
net/ipv4/tcp_output.c
277
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
279
u32 old_win = tp->rcv_wnd;
net/ipv4/tcp_output.c
2802
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) - 1);
net/ipv4/tcp_output.c
2806
tp->mtu_probe.probe_seq_start = TCP_SKB_CB(nskb)->seq;
net/ipv4/tcp_output.c
2807
tp->mtu_probe.probe_seq_end = TCP_SKB_CB(nskb)->end_seq;
net/ipv4/tcp_output.c
2817
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2822
if (tp->tcp_wstamp_ns <= tp->tcp_clock_cache)
net/ipv4/tcp_output.c
2825
if (!hrtimer_is_queued(&tp->pacing_timer)) {
net/ipv4/tcp_output.c
2826
hrtimer_start(&tp->pacing_timer,
net/ipv4/tcp_output.c
2827
ns_to_ktime(tp->tcp_wstamp_ns),
net/ipv4/tcp_output.c
286
tp->pred_flags = 0;
net/ipv4/tcp_output.c
287
tp->rcv_wnd = 0;
net/ipv4/tcp_output.c
288
tp->rcv_wup = tp->rcv_nxt;
net/ipv4/tcp_output.c
289
tcp_update_max_rcv_wnd_seq(tp);
net/ipv4/tcp_output.c
2905
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2916
tcp_chrono_set(tp, TCP_CHRONO_UNSPEC);
net/ipv4/tcp_output.c
2917
else if (type == tp->chrono_type)
net/ipv4/tcp_output.c
2918
tcp_chrono_set(tp, TCP_CHRONO_BUSY);
net/ipv4/tcp_output.c
293
cur_win = tcp_receive_window(tp);
net/ipv4/tcp_output.c
2967
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
2976
tcp_mstamp_refresh_inline(tp);
net/ipv4/tcp_output.c
2979
if (tcp_ecn_mode_accecn(tp) && tcp_accecn_option_beacon_check(sk))
net/ipv4/tcp_output.c
2997
if (unlikely(tp->repair) && tp->repair_queue == TCP_SEND_QUEUE) {
net/ipv4/tcp_output.c
2999
tp->tcp_wstamp_ns = tp->tcp_clock_cache;
net/ipv4/tcp_output.c
3000
skb_set_delivery_time(skb, tp->tcp_wstamp_ns, SKB_CLOCK_MONOTONIC);
net/ipv4/tcp_output.c
3001
list_move_tail(&skb->tcp_tsorted_anchor, &tp->tsorted_sent_queue);
net/ipv4/tcp_output.c
3009
cwnd_quota = tcp_cwnd_test(tp);
net/ipv4/tcp_output.c
3024
if (unlikely(!tcp_snd_wnd_test(tp, skb, mss_now))) {
net/ipv4/tcp_output.c
303
if (!READ_ONCE(net->ipv4.sysctl_tcp_shrink_window) || !tp->rx_opt.rcv_wscale) {
net/ipv4/tcp_output.c
3030
if (unlikely(!tcp_nagle_test(tp, skb, mss_now,
net/ipv4/tcp_output.c
3042
if (tso_segs > 1 && !tcp_urg_mode(tp))
net/ipv4/tcp_output.c
307
new_win = ALIGN(cur_win, 1 << tp->rx_opt.rcv_wscale);
net/ipv4/tcp_output.c
3071
tcp_minshall_update(tp, mss_now, skb);
net/ipv4/tcp_output.c
3083
is_cwnd_limited |= (tcp_packets_in_flight(tp) >= tcp_snd_cwnd(tp));
net/ipv4/tcp_output.c
3089
tp->prr_out += sent_pkts;
net/ipv4/tcp_output.c
3096
return !tp->packets_out && !tcp_write_queue_empty(sk);
net/ipv4/tcp_output.c
3102
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3109
if (rcu_access_pointer(tp->fastopen_rsk))
net/ipv4/tcp_output.c
311
tp->rcv_wnd = new_win;
net/ipv4/tcp_output.c
3117
!tcp_is_sack(tp) ||
net/ipv4/tcp_output.c
312
tp->rcv_wup = tp->rcv_nxt;
net/ipv4/tcp_output.c
3126
if (tp->srtt_us) {
net/ipv4/tcp_output.c
3127
timeout_us = tp->srtt_us >> 2;
net/ipv4/tcp_output.c
3128
if (tp->packets_out == 1)
net/ipv4/tcp_output.c
313
tcp_update_max_rcv_wnd_seq(tp);
net/ipv4/tcp_output.c
3172
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3178
if (tp->tlp_high_seq)
net/ipv4/tcp_output.c
318
if (!tp->rx_opt.rcv_wscale &&
net/ipv4/tcp_output.c
3181
tp->tlp_retrans = 0;
net/ipv4/tcp_output.c
3183
if (skb && tcp_snd_wnd_test(tp, skb, mss)) {
net/ipv4/tcp_output.c
3184
pcount = tp->packets_out;
net/ipv4/tcp_output.c
3186
if (tp->packets_out > pcount)
net/ipv4/tcp_output.c
3192
tcp_warn_once(sk, tp->packets_out, "invalid inflight: ");
net/ipv4/tcp_output.c
3218
tp->tlp_retrans = 1;
net/ipv4/tcp_output.c
322
new_win = min(new_win, (65535U << tp->rx_opt.rcv_wscale));
net/ipv4/tcp_output.c
3222
tp->tlp_high_seq = tp->snd_nxt;
net/ipv4/tcp_output.c
325
new_win >>= tp->rx_opt.rcv_wscale;
net/ipv4/tcp_output.c
329
tp->pred_flags = 0;
net/ipv4/tcp_output.c
3317
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3333
full_space = min_t(int, tp->window_clamp, allowed_space);
net/ipv4/tcp_output.c
3344
if (READ_ONCE(net->ipv4.sysctl_tcp_shrink_window) && tp->rx_opt.rcv_wscale)
net/ipv4/tcp_output.c
3358
free_space = round_down(free_space, 1 << tp->rx_opt.rcv_wscale);
net/ipv4/tcp_output.c
3371
if (free_space > tp->rcv_ssthresh)
net/ipv4/tcp_output.c
3372
free_space = tp->rcv_ssthresh;
net/ipv4/tcp_output.c
3377
if (tp->rx_opt.rcv_wscale) {
net/ipv4/tcp_output.c
3384
window = ALIGN(window, (1 << tp->rx_opt.rcv_wscale));
net/ipv4/tcp_output.c
3386
window = tp->rcv_wnd;
net/ipv4/tcp_output.c
3406
free_space = round_down(free_space, 1 << tp->rx_opt.rcv_wscale);
net/ipv4/tcp_output.c
3416
free_space < (1 << tp->rx_opt.rcv_wscale))
net/ipv4/tcp_output.c
3420
if (free_space > tp->rcv_ssthresh) {
net/ipv4/tcp_output.c
3421
free_space = tp->rcv_ssthresh;
net/ipv4/tcp_output.c
3429
free_space = ALIGN(free_space, (1 << tp->rx_opt.rcv_wscale));
net/ipv4/tcp_output.c
345
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3453
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
347
if (!tcp_ecn_mode_any(tp))
net/ipv4/tcp_output.c
3479
if (next_skb == tp->retransmit_skb_hint)
net/ipv4/tcp_output.c
3480
tp->retransmit_skb_hint = skb;
net/ipv4/tcp_output.c
350
if (tcp_ecn_mode_accecn(tp)) {
net/ipv4/tcp_output.c
351
if (!tcp_accecn_ace_fail_recv(tp) &&
net/ipv4/tcp_output.c
3512
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
352
!tcp_accecn_ace_fail_send(tp))
net/ipv4/tcp_output.c
3538
if (after(TCP_SKB_CB(skb)->end_seq, tcp_wnd_end(tp)))
net/ipv4/tcp_output.c
3553
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
356
tcp_accecn_set_ace(tp, skb, th);
net/ipv4/tcp_output.c
3568
if (before(TCP_SKB_CB(skb)->seq, tp->snd_una)) {
net/ipv4/tcp_output.c
3574
if (unlikely(before(TCP_SKB_CB(skb)->end_seq, tp->snd_una))) {
net/ipv4/tcp_output.c
3579
if (tcp_trim_head(sk, skb, tp->snd_una - TCP_SKB_CB(skb)->seq)) {
net/ipv4/tcp_output.c
3591
avail_wnd = tcp_wnd_end(tp) - TCP_SKB_CB(skb)->seq;
net/ipv4/tcp_output.c
3599
if (TCP_SKB_CB(skb)->seq != tp->snd_una) {
net/ipv4/tcp_output.c
361
!before(TCP_SKB_CB(skb)->seq, tp->snd_nxt)) {
net/ipv4/tcp_output.c
363
if (tp->ecn_flags & TCP_ECN_QUEUE_CWR) {
net/ipv4/tcp_output.c
3634
if (!tcp_ecn_mode_pending(tp) || icsk->icsk_retransmits > 1) {
net/ipv4/tcp_output.c
364
tp->ecn_flags &= ~TCP_ECN_QUEUE_CWR;
net/ipv4/tcp_output.c
3649
WRITE_ONCE(tp->total_retrans, tp->total_retrans + segs);
net/ipv4/tcp_output.c
3650
WRITE_ONCE(tp->bytes_retrans, tp->bytes_retrans + skb->len);
net/ipv4/tcp_output.c
3671
tcp_update_skb_after_send(sk, skb, tp->tcp_wstamp_ns);
net/ipv4/tcp_output.c
3678
if (BPF_SOCK_OPS_TEST_FLAG(tp, BPF_SOCK_OPS_RETRANS_CB_FLAG))
net/ipv4/tcp_output.c
3697
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3707
tp->retrans_out += tcp_skb_pcount(skb);
net/ipv4/tcp_output.c
3711
if (!tp->retrans_stamp)
net/ipv4/tcp_output.c
3712
tp->retrans_stamp = tcp_skb_timestamp_ts(tp->tcp_usec_ts, skb);
net/ipv4/tcp_output.c
3714
if (tp->undo_retrans < 0)
net/ipv4/tcp_output.c
3715
tp->undo_retrans = 0;
net/ipv4/tcp_output.c
3716
tp->undo_retrans += tcp_skb_pcount(skb);
net/ipv4/tcp_output.c
372
if (tp->ecn_flags & TCP_ECN_DEMAND_CWR)
net/ipv4/tcp_output.c
3729
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3734
if (!tp->packets_out)
net/ipv4/tcp_output.c
3738
skb = tp->retransmit_skb_hint ?: rtx_head;
net/ipv4/tcp_output.c
3749
tp->retransmit_skb_hint = skb;
net/ipv4/tcp_output.c
3751
segs = tcp_snd_cwnd(tp) - tcp_packets_in_flight(tp);
net/ipv4/tcp_output.c
3760
if (tp->retrans_out >= tp->lost_out) {
net/ipv4/tcp_output.c
3786
tp->prr_out += tcp_skb_pcount(skb);
net/ipv4/tcp_output.c
3804
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
3818
tp->write_seq++;
net/ipv4/tcp_output.c
3826
WRITE_ONCE(tp->snd_nxt, tp->snd_nxt + 1);
net/ipv4/tcp_output.c
3840
tcp_init_nondata_skb(skb, sk, tp->write_seq,
net/ipv4/tcp_output.c
3938
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
396
static inline bool tcp_urg_mode(const struct tcp_sock *tp)
net/ipv4/tcp_output.c
3975
mss = tcp_mss_clamp(tp, dst_metric_advmss(dst));
net/ipv4/tcp_output.c
398
return tp->snd_una != tp->snd_up;
net/ipv4/tcp_output.c
4076
tcp_add_tx_delay(skb, tp);
net/ipv4/tcp_output.c
4104
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4112
tp->tcp_header_len = sizeof(struct tcphdr);
net/ipv4/tcp_output.c
4114
tp->tcp_header_len += TCPOLEN_TSTAMP_ALIGNED;
net/ipv4/tcp_output.c
4119
user_mss = READ_ONCE(tp->rx_opt.user_mss);
net/ipv4/tcp_output.c
4121
tp->rx_opt.mss_clamp = user_mss;
net/ipv4/tcp_output.c
4122
tp->max_window = 0;
net/ipv4/tcp_output.c
4128
if (!tp->window_clamp)
net/ipv4/tcp_output.c
4129
WRITE_ONCE(tp->window_clamp, dst_metric(dst, RTAX_WINDOW));
net/ipv4/tcp_output.c
4130
tp->advmss = tcp_mss_clamp(tp, dst_metric_advmss(dst));
net/ipv4/tcp_output.c
4136
(tp->window_clamp > tcp_full_space(sk) || tp->window_clamp == 0))
net/ipv4/tcp_output.c
4137
WRITE_ONCE(tp->window_clamp, tcp_full_space(sk));
net/ipv4/tcp_output.c
4144
tp->advmss - (tp->rx_opt.ts_recent_stamp ? tp->tcp_header_len - sizeof(struct tcphdr) : 0),
net/ipv4/tcp_output.c
4145
&tp->rcv_wnd,
net/ipv4/tcp_output.c
4146
&tp->window_clamp,
net/ipv4/tcp_output.c
4151
tp->rx_opt.rcv_wscale = rcv_wscale;
net/ipv4/tcp_output.c
4152
tp->rcv_ssthresh = tp->rcv_wnd;
net/ipv4/tcp_output.c
4156
tp->snd_wnd = 0;
net/ipv4/tcp_output.c
4157
tcp_init_wl(tp, 0);
net/ipv4/tcp_output.c
4159
WRITE_ONCE(tp->snd_una, tp->write_seq);
net/ipv4/tcp_output.c
4160
tp->snd_sml = tp->write_seq;
net/ipv4/tcp_output.c
4161
tp->snd_up = tp->write_seq;
net/ipv4/tcp_output.c
4162
WRITE_ONCE(tp->snd_nxt, tp->write_seq);
net/ipv4/tcp_output.c
4164
if (likely(!tp->repair))
net/ipv4/tcp_output.c
4165
tp->rcv_nxt = 0;
net/ipv4/tcp_output.c
4167
tp->rcv_tstamp = tcp_jiffies32;
net/ipv4/tcp_output.c
4168
tp->rcv_wup = tp->rcv_nxt;
net/ipv4/tcp_output.c
4169
tp->rcv_mwnd_seq = tp->rcv_nxt + tp->rcv_wnd;
net/ipv4/tcp_output.c
4170
WRITE_ONCE(tp->copied_seq, tp->rcv_nxt);
net/ipv4/tcp_output.c
4174
tcp_clear_retrans(tp);
net/ipv4/tcp_output.c
4179
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4186
WRITE_ONCE(tp->write_seq, tcb->end_seq);
net/ipv4/tcp_output.c
4187
tp->packets_out += tcp_skb_pcount(skb);
net/ipv4/tcp_output.c
4200
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4201
struct tcp_fastopen_request *fo = tp->fastopen_req;
net/ipv4/tcp_output.c
4206
tp->rx_opt.mss_clamp = tp->advmss; /* If MSS is not cached */
net/ipv4/tcp_output.c
4207
if (!tcp_fastopen_cookie_check(sk, &tp->rx_opt.mss_clamp, &fo->cookie))
net/ipv4/tcp_output.c
4214
tp->rx_opt.mss_clamp = tcp_mss_clamp(tp, tp->rx_opt.mss_clamp);
net/ipv4/tcp_output.c
4271
tp->syn_data = (fo->copied > 0);
net/ipv4/tcp_output.c
4279
tp->packets_out -= tcp_skb_pcount(syn_data);
net/ipv4/tcp_output.c
4287
tp->syn_fastopen = 0;
net/ipv4/tcp_output.c
4296
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4307
if (unlikely(rcu_dereference_protected(tp->md5sig_info,
net/ipv4/tcp_output.c
4309
bool needs_ao = !!tp->af_specific->ao_lookup(sk, sk, -1, -1);
net/ipv4/tcp_output.c
4310
bool needs_md5 = !!tp->af_specific->md5_lookup(sk, sk);
net/ipv4/tcp_output.c
4313
ao_info = rcu_dereference_check(tp->ao_info,
net/ipv4/tcp_output.c
4335
md5sig = rcu_replace_pointer(tp->md5sig_info, NULL,
net/ipv4/tcp_output.c
4343
if (unlikely(rcu_dereference_protected(tp->ao_info,
net/ipv4/tcp_output.c
4348
if (!tp->af_specific->ao_lookup(sk, sk, -1, -1))
net/ipv4/tcp_output.c
4358
if (unlikely(tp->repair)) {
net/ipv4/tcp_output.c
4370
tcp_init_nondata_skb(buff, sk, tp->write_seq, TCPHDR_SYN);
net/ipv4/tcp_output.c
4371
tcp_mstamp_refresh(tp);
net/ipv4/tcp_output.c
4372
tp->retrans_stamp = tcp_time_stamp_ts(tp);
net/ipv4/tcp_output.c
4378
err = tp->fastopen_req ? tcp_send_syn_data(sk, buff) :
net/ipv4/tcp_output.c
4386
WRITE_ONCE(tp->snd_nxt, tp->write_seq);
net/ipv4/tcp_output.c
4387
tp->pushed_seq = tp->write_seq;
net/ipv4/tcp_output.c
4390
WRITE_ONCE(tp->snd_nxt, TCP_SKB_CB(buff)->seq);
net/ipv4/tcp_output.c
4391
tp->pushed_seq = TCP_SKB_CB(buff)->seq;
net/ipv4/tcp_output.c
4420
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4433
if (tp->srtt_us) {
net/ipv4/tcp_output.c
4434
int rtt = max_t(int, usecs_to_jiffies(tp->srtt_us >> 3),
net/ipv4/tcp_output.c
446
struct tcp_sock *tp,
net/ipv4/tcp_output.c
451
mptcp_write_options(th, ptr, tp, &opts->mptcp);
net/ipv4/tcp_output.c
4527
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4542
tcp_init_nondata_skb(skb, sk, tp->snd_una - !urgent, TCPHDR_ACK);
net/ipv4/tcp_output.c
4560
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4567
if (skb && before(TCP_SKB_CB(skb)->seq, tcp_wnd_end(tp))) {
net/ipv4/tcp_output.c
4570
unsigned int seg_size = tcp_wnd_end(tp) - TCP_SKB_CB(skb)->seq;
net/ipv4/tcp_output.c
4572
if (before(tp->pushed_seq, TCP_SKB_CB(skb)->end_seq))
net/ipv4/tcp_output.c
4573
tp->pushed_seq = TCP_SKB_CB(skb)->end_seq;
net/ipv4/tcp_output.c
4595
if (between(tp->snd_up, tp->snd_una + 1, tp->snd_una + 0xFFFF))
net/ipv4/tcp_output.c
4607
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
4614
if (tp->packets_out || tcp_write_queue_empty(sk)) {
net/ipv4/tcp_output.c
55
void noinline tcp_mstamp_refresh(struct tcp_sock *tp)
net/ipv4/tcp_output.c
57
tcp_mstamp_refresh_inline(tp);
net/ipv4/tcp_output.c
597
static __be32 *process_tcp_ao_options(struct tcp_sock *tp,
net/ipv4/tcp_output.c
615
ao_info = rcu_dereference_check(tp->ao_info,
net/ipv4/tcp_output.c
616
lockdep_sock_is_held(&tp->inet_conn.icsk_inet.sk));
net/ipv4/tcp_output.c
653
static void tcp_options_write(struct tcphdr *th, struct tcp_sock *tp,
net/ipv4/tcp_output.c
670
ptr = process_tcp_ao_options(tp, tcprsk, opts, key, ptr);
net/ipv4/tcp_output.c
698
tp->received_ecn_bytes;
net/ipv4/tcp_output.c
734
if (tp) {
net/ipv4/tcp_output.c
735
tp->accecn_minlen = 0;
net/ipv4/tcp_output.c
736
tp->accecn_opt_tstamp = tp->tcp_mstamp;
net/ipv4/tcp_output.c
737
tp->accecn_opt_sent_w_dsack = tp->rx_opt.dsack;
net/ipv4/tcp_output.c
738
if (tp->accecn_opt_demand)
net/ipv4/tcp_output.c
739
tp->accecn_opt_demand--;
net/ipv4/tcp_output.c
741
} else if (tp) {
net/ipv4/tcp_output.c
742
tp->accecn_opt_sent_w_dsack = 0;
net/ipv4/tcp_output.c
773
struct tcp_sack_block *sp = tp->rx_opt.dsack ?
net/ipv4/tcp_output.c
774
tp->duplicate_sack : tp->selective_acks;
net/ipv4/tcp_output.c
791
tp->rx_opt.dsack = 0;
net/ipv4/tcp_output.c
828
mptcp_options_write(th, ptr, tp, opts);
net/ipv4/tcp_output.c
831
static void smc_set_option(struct tcp_sock *tp,
net/ipv4/tcp_output.c
836
if (static_branch_unlikely(&tcp_have_smc) && tp->syn_smc) {
net/ipv4/tcp_output.c
837
tp->syn_smc = !!smc_call_hsbpf(1, tp, syn_option);
net/ipv4/tcp_output.c
839
if (tp->syn_smc &&
net/ipv4/tcp_output.c
848
static void smc_set_option_cond(const struct tcp_sock *tp,
net/ipv4/tcp_output.c
854
if (static_branch_unlikely(&tcp_have_smc) && tp->syn_smc && ireq->smc_ok) {
net/ipv4/tcp_output.c
855
ireq->smc_ok = !!smc_call_hsbpf(1, tp, synack_option, ireq);
net/ipv4/tcp_output.c
86
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
87
unsigned int prior_packets = tp->packets_out;
net/ipv4/tcp_output.c
89
WRITE_ONCE(tp->snd_nxt, TCP_SKB_CB(skb)->end_seq);
net/ipv4/tcp_output.c
94
if (tp->highest_sack == NULL)
net/ipv4/tcp_output.c
95
tp->highest_sack = skb;
net/ipv4/tcp_output.c
963
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_output.c
965
struct tcp_fastopen_request *fastopen = tp->fastopen_req;
net/ipv4/tcp_output.c
97
tp->packets_out += tcp_skb_pcount(skb);
net/ipv4/tcp_output.c
997
opts->tsval = tcp_skb_timestamp_ts(tp->tcp_usec_ts, skb) + tp->tsoffset;
net/ipv4/tcp_output.c
998
opts->tsecr = tp->rx_opt.ts_recent;
net/ipv4/tcp_recovery.c
100
if (!tp->rack.advanced)
net/ipv4/tcp_recovery.c
104
tp->rack.advanced = 0;
net/ipv4/tcp_recovery.c
119
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_recovery.c
121
u32 lost = tp->lost;
net/ipv4/tcp_recovery.c
123
prior_inflight = tcp_packets_in_flight(tp);
net/ipv4/tcp_recovery.c
125
if (prior_inflight != tcp_packets_in_flight(tp)) {
net/ipv4/tcp_recovery.c
129
tcp_cwnd_reduction(sk, 1, tp->lost - lost, 0);
net/ipv4/tcp_recovery.c
145
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_recovery.c
147
if ((state < TCP_CA_Recovery && tp->sacked_out >= tp->reordering) ||
net/ipv4/tcp_recovery.c
16
if (tp->sacked_out >= tp->reordering &&
net/ipv4/tcp_recovery.c
28
return min((tcp_min_rtt(tp) >> 2) * tp->rack.reo_wnd_steps,
net/ipv4/tcp_recovery.c
29
tp->srtt_us >> 3);
net/ipv4/tcp_recovery.c
32
s32 tcp_rack_skb_timeout(struct tcp_sock *tp, struct sk_buff *skb, u32 reo_wnd)
net/ipv4/tcp_recovery.c
34
return tp->rack.rtt_us + reo_wnd -
net/ipv4/tcp_recovery.c
35
tcp_stamp_us_delta(tp->tcp_mstamp, tcp_skb_timestamp_us(skb));
net/ipv4/tcp_recovery.c
60
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_recovery.c
66
list_for_each_entry_safe(skb, n, &tp->tsorted_sent_queue,
net/ipv4/tcp_recovery.c
7
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_recovery.c
76
if (!tcp_skb_sent_after(tp->rack.mstamp,
net/ipv4/tcp_recovery.c
78
tp->rack.end_seq, scb->end_seq))
net/ipv4/tcp_recovery.c
84
remaining = tcp_rack_skb_timeout(tp, skb, reo_wnd);
net/ipv4/tcp_recovery.c
9
if (!tp->reord_seen) {
net/ipv4/tcp_recovery.c
97
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_scalable.c
20
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_scalable.c
25
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_scalable.c
26
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_scalable.c
30
tcp_cong_avoid_ai(tp, min(tcp_snd_cwnd(tp), TCP_SCALABLE_AI_CNT),
net/ipv4/tcp_scalable.c
36
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_scalable.c
38
return max(tcp_snd_cwnd(tp) - (tcp_snd_cwnd(tp)>>TCP_SCALABLE_MD_SCALE), 2U);
net/ipv4/tcp_timer.c
109
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
114
if ((s32)(tcp_jiffies32 - tp->lsndtime) > 2*tcp_rto_max(sk) || !do_reset)
net/ipv4/tcp_timer.c
124
if ((s32)(tcp_jiffies32 - tp->lsndtime) <= TCP_TIMEWAIT_LEN ||
net/ipv4/tcp_timer.c
126
(!tp->snd_wnd && !tp->packets_out))
net/ipv4/tcp_timer.c
219
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
225
start_ts = tp->retrans_stamp;
net/ipv4/tcp_timer.c
234
if (tp->tcp_usec_ts) {
net/ipv4/tcp_timer.c
236
delta = tp->tcp_mstamp - start_ts + jiffies_to_usecs(1);
net/ipv4/tcp_timer.c
239
return (s32)(tcp_time_stamp_ts(tp) - start_ts - timeout) >= 0;
net/ipv4/tcp_timer.c
246
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
289
if (BPF_SOCK_OPS_TEST_FLAG(tp, BPF_SOCK_OPS_RTO_CB_FLAG))
net/ipv4/tcp_timer.c
301
WRITE_ONCE(tp->timeout_rehash, tp->timeout_rehash + 1);
net/ipv4/tcp_timer.c
31
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
312
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
318
if (tp->compressed_ack) {
net/ipv4/tcp_timer.c
319
tcp_mstamp_refresh(tp);
net/ipv4/tcp_timer.c
345
tcp_mstamp_refresh(tp);
net/ipv4/tcp_timer.c
39
elapsed = tcp_time_stamp_ts(tp) - tp->retrans_stamp;
net/ipv4/tcp_timer.c
393
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
396
if (tp->packets_out || !skb) {
net/ipv4/tcp_timer.c
40
if (tp->tcp_usec_ts)
net/ipv4/tcp_timer.c
443
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
446
tp->total_rto_recoveries++;
net/ipv4/tcp_timer.c
447
tp->rto_stamp = tcp_time_stamp_ms(tp);
net/ipv4/tcp_timer.c
450
tp->total_rto++;
net/ipv4/tcp_timer.c
460
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
488
if (!tp->retrans_stamp)
net/ipv4/tcp_timer.c
489
tp->retrans_stamp = tcp_time_stamp_ts(tp);
net/ipv4/tcp_timer.c
500
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
517
rcv_delta = tcp_timeout_expires(sk) - tp->rcv_tstamp;
net/ipv4/tcp_timer.c
537
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
543
req = rcu_dereference_protected(tp->fastopen_rsk,
net/ipv4/tcp_timer.c
555
if (!tp->packets_out)
net/ipv4/tcp_timer.c
562
if (!tp->snd_wnd && !sock_flag(sk, SOCK_DEAD) &&
net/ipv4/tcp_timer.c
572
rtx_delta = tcp_time_stamp_ts(tp) - (tp->retrans_stamp ?:
net/ipv4/tcp_timer.c
573
tcp_skb_timestamp_ts(tp->tcp_usec_ts, skb));
net/ipv4/tcp_timer.c
574
if (tp->tcp_usec_ts)
net/ipv4/tcp_timer.c
580
inet->inet_num, tp->snd_una, tp->snd_nxt,
net/ipv4/tcp_timer.c
581
jiffies_to_msecs(jiffies - tp->rcv_tstamp),
net/ipv4/tcp_timer.c
588
inet->inet_num, tp->snd_una, tp->snd_nxt,
net/ipv4/tcp_timer.c
589
jiffies_to_msecs(jiffies - tp->rcv_tstamp),
net/ipv4/tcp_timer.c
611
if (tcp_is_sack(tp))
net/ipv4/tcp_timer.c
618
tp->sacked_out) {
net/ipv4/tcp_timer.c
619
if (tcp_is_sack(tp))
net/ipv4/tcp_timer.c
668
(tp->thin_lto || READ_ONCE(net->ipv4.sysctl_tcp_thin_linear_timeouts)) &&
net/ipv4/tcp_timer.c
669
tcp_stream_is_thin(tp) &&
net/ipv4/tcp_timer.c
672
icsk->icsk_rto = clamp(__tcp_set_rto(tp),
net/ipv4/tcp_timer.c
676
tp->total_rto >
net/ipv4/tcp_timer.c
784
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_timer.c
800
tcp_mstamp_refresh(tp);
net/ipv4/tcp_timer.c
802
if (READ_ONCE(tp->linger2) >= 0) {
net/ipv4/tcp_timer.c
818
elapsed = keepalive_time_when(tp);
net/ipv4/tcp_timer.c
821
if (tp->packets_out || !tcp_write_queue_empty(sk))
net/ipv4/tcp_timer.c
824
elapsed = keepalive_time_elapsed(tp);
net/ipv4/tcp_timer.c
826
if (elapsed >= keepalive_time_when(tp)) {
net/ipv4/tcp_timer.c
836
icsk->icsk_probes_out >= keepalive_probes(tp))) {
net/ipv4/tcp_timer.c
844
elapsed = keepalive_intvl_when(tp);
net/ipv4/tcp_timer.c
853
elapsed = keepalive_time_when(tp) - elapsed;
net/ipv4/tcp_timer.c
870
struct tcp_sock *tp = container_of(timer, struct tcp_sock, compressed_ack_timer);
net/ipv4/tcp_timer.c
871
struct sock *sk = (struct sock *)tp;
net/ipv4/tcp_timer.c
875
if (tp->compressed_ack) {
net/ipv4/tcp_timer.c
880
tp->compressed_ack--;
net/ipv4/tcp_timer.c
881
tcp_mstamp_refresh(tp);
net/ipv4/tcp_vegas.c
165
static inline u32 tcp_vegas_ssthresh(struct tcp_sock *tp)
net/ipv4/tcp_vegas.c
167
return min(tp->snd_ssthresh, tcp_snd_cwnd(tp));
net/ipv4/tcp_vegas.c
172
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_vegas.c
186
vegas->beg_snd_nxt = tp->snd_nxt;
net/ipv4/tcp_vegas.c
225
target_cwnd = (u64)tcp_snd_cwnd(tp) * vegas->baseRTT;
net/ipv4/tcp_vegas.c
232
diff = tcp_snd_cwnd(tp) * (rtt-vegas->baseRTT) / vegas->baseRTT;
net/ipv4/tcp_vegas.c
234
if (diff > gamma && tcp_in_slow_start(tp)) {
net/ipv4/tcp_vegas.c
246
tcp_snd_cwnd_set(tp, min(tcp_snd_cwnd(tp),
net/ipv4/tcp_vegas.c
248
WRITE_ONCE(tp->snd_ssthresh,
net/ipv4/tcp_vegas.c
249
tcp_vegas_ssthresh(tp));
net/ipv4/tcp_vegas.c
251
} else if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_vegas.c
253
tcp_slow_start(tp, acked);
net/ipv4/tcp_vegas.c
264
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) - 1);
net/ipv4/tcp_vegas.c
265
WRITE_ONCE(tp->snd_ssthresh,
net/ipv4/tcp_vegas.c
266
tcp_vegas_ssthresh(tp));
net/ipv4/tcp_vegas.c
271
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_vegas.c
279
if (tcp_snd_cwnd(tp) < 2)
net/ipv4/tcp_vegas.c
280
tcp_snd_cwnd_set(tp, 2);
net/ipv4/tcp_vegas.c
281
else if (tcp_snd_cwnd(tp) > tp->snd_cwnd_clamp)
net/ipv4/tcp_vegas.c
282
tcp_snd_cwnd_set(tp, tp->snd_cwnd_clamp);
net/ipv4/tcp_vegas.c
284
WRITE_ONCE(tp->snd_ssthresh, tcp_current_ssthresh(sk));
net/ipv4/tcp_vegas.c
292
else if (tcp_in_slow_start(tp))
net/ipv4/tcp_vegas.c
293
tcp_slow_start(tp, acked);
net/ipv4/tcp_vegas.c
73
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_vegas.c
80
vegas->beg_snd_nxt = tp->snd_nxt;
net/ipv4/tcp_veno.c
126
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_veno.c
154
target_cwnd = (u64)tcp_snd_cwnd(tp) * veno->basertt;
net/ipv4/tcp_veno.c
158
veno->diff = (tcp_snd_cwnd(tp) << V_PARAM_SHIFT) - target_cwnd;
net/ipv4/tcp_veno.c
160
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_veno.c
162
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_veno.c
172
tcp_cong_avoid_ai(tp, tcp_snd_cwnd(tp), acked);
net/ipv4/tcp_veno.c
177
if (tp->snd_cwnd_cnt >= tcp_snd_cwnd(tp)) {
net/ipv4/tcp_veno.c
179
tcp_snd_cwnd(tp) < tp->snd_cwnd_clamp) {
net/ipv4/tcp_veno.c
180
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) + 1);
net/ipv4/tcp_veno.c
184
tp->snd_cwnd_cnt = 0;
net/ipv4/tcp_veno.c
186
tp->snd_cwnd_cnt += acked;
net/ipv4/tcp_veno.c
189
if (tcp_snd_cwnd(tp) < 2)
net/ipv4/tcp_veno.c
190
tcp_snd_cwnd_set(tp, 2);
net/ipv4/tcp_veno.c
191
else if (tcp_snd_cwnd(tp) > tp->snd_cwnd_clamp)
net/ipv4/tcp_veno.c
192
tcp_snd_cwnd_set(tp, tp->snd_cwnd_clamp);
net/ipv4/tcp_veno.c
202
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_veno.c
207
return max(tcp_snd_cwnd(tp) * 4 / 5, 2U);
net/ipv4/tcp_veno.c
210
return max(tcp_snd_cwnd(tp) >> 1U, 2U);
net/ipv4/tcp_westwood.c
165
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_westwood.c
170
w->bk += tp->snd_una - w->snd_una;
net/ipv4/tcp_westwood.c
171
w->snd_una = tp->snd_una;
net/ipv4/tcp_westwood.c
182
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_westwood.c
185
w->cumul_ack = tp->snd_una - w->snd_una;
net/ipv4/tcp_westwood.c
191
w->accounted += tp->mss_cache;
net/ipv4/tcp_westwood.c
192
w->cumul_ack = tp->mss_cache;
net/ipv4/tcp_westwood.c
195
if (w->cumul_ack > tp->mss_cache) {
net/ipv4/tcp_westwood.c
199
w->cumul_ack = tp->mss_cache;
net/ipv4/tcp_westwood.c
206
w->snd_una = tp->snd_una;
net/ipv4/tcp_westwood.c
219
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_westwood.c
222
return max_t(u32, (w->bw_est * w->rtt_min) / tp->mss_cache, 2);
net/ipv4/tcp_westwood.c
242
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_westwood.c
247
WRITE_ONCE(tp->snd_ssthresh, tcp_westwood_bw_rttmin(sk));
net/ipv4/tcp_westwood.c
248
tcp_snd_cwnd_set(tp, tp->snd_ssthresh);
net/ipv4/tcp_westwood.c
251
WRITE_ONCE(tp->snd_ssthresh, tcp_westwood_bw_rttmin(sk));
net/ipv4/tcp_yeah.c
133
bw = tcp_snd_cwnd(tp);
net/ipv4/tcp_yeah.c
141
tcp_snd_cwnd(tp) > yeah->reno_count) {
net/ipv4/tcp_yeah.c
143
tcp_snd_cwnd(tp) >> TCP_YEAH_EPSILON);
net/ipv4/tcp_yeah.c
145
tcp_snd_cwnd_set(tp, tcp_snd_cwnd(tp) - reduction);
net/ipv4/tcp_yeah.c
147
tcp_snd_cwnd_set(tp, max(tcp_snd_cwnd(tp),
net/ipv4/tcp_yeah.c
150
WRITE_ONCE(tp->snd_ssthresh,
net/ipv4/tcp_yeah.c
151
tcp_snd_cwnd(tp));
net/ipv4/tcp_yeah.c
155
yeah->reno_count = max(tcp_snd_cwnd(tp)>>1, 2U);
net/ipv4/tcp_yeah.c
179
yeah->vegas.beg_snd_nxt = tp->snd_nxt;
net/ipv4/tcp_yeah.c
180
yeah->vegas.beg_snd_cwnd = tcp_snd_cwnd(tp);
net/ipv4/tcp_yeah.c
190
const struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_yeah.c
197
reduction = min(reduction, max(tcp_snd_cwnd(tp)>>1, 2U));
net/ipv4/tcp_yeah.c
199
reduction = max(reduction, tcp_snd_cwnd(tp) >> TCP_YEAH_DELTA);
net/ipv4/tcp_yeah.c
201
reduction = max(tcp_snd_cwnd(tp)>>1, 2U);
net/ipv4/tcp_yeah.c
206
return max_t(int, tcp_snd_cwnd(tp) - reduction, 2);
net/ipv4/tcp_yeah.c
43
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_yeah.c
55
tp->snd_cwnd_clamp = min_t(u32, tp->snd_cwnd_clamp, 0xffffffff/128);
net/ipv4/tcp_yeah.c
60
struct tcp_sock *tp = tcp_sk(sk);
net/ipv4/tcp_yeah.c
66
if (tcp_in_slow_start(tp)) {
net/ipv4/tcp_yeah.c
67
acked = tcp_slow_start(tp, acked);
net/ipv4/tcp_yeah.c
74
tcp_cong_avoid_ai(tp, min(tcp_snd_cwnd(tp), TCP_SCALABLE_AI_CNT),
net/ipv4/tcp_yeah.c
78
tcp_cong_avoid_ai(tp, tcp_snd_cwnd(tp), acked);
net/ipv6/icmp.c
150
u8 _type, *tp;
net/ipv6/icmp.c
151
tp = skb_header_pointer(skb,
net/ipv6/icmp.c
158
if (!tp && frag_off != 0)
net/ipv6/icmp.c
160
else if (!tp || !(*tp & ICMPV6_INFOMSG_MASK))
net/ipv6/ip6_gre.c
269
struct ip6_tnl __rcu **tp = ip6gre_bucket(ign, t);
net/ipv6/ip6_gre.c
271
rcu_assign_pointer(t->next, rtnl_dereference(*tp));
net/ipv6/ip6_gre.c
272
rcu_assign_pointer(*tp, t);
net/ipv6/ip6_gre.c
277
struct ip6_tnl __rcu **tp;
net/ipv6/ip6_gre.c
280
for (tp = ip6gre_bucket(ign, t);
net/ipv6/ip6_gre.c
281
(iter = rtnl_dereference(*tp)) != NULL;
net/ipv6/ip6_gre.c
282
tp = &iter->next) {
net/ipv6/ip6_gre.c
284
rcu_assign_pointer(*tp, t->next);
net/ipv6/ip6_gre.c
299
struct ip6_tnl __rcu **tp;
net/ipv6/ip6_gre.c
302
for (tp = __ip6gre_bucket(ign, parms);
net/ipv6/ip6_gre.c
303
(t = rtnl_dereference(*tp)) != NULL;
net/ipv6/ip6_gre.c
304
tp = &t->next)
net/ipv6/ip6_tunnel.c
212
struct ip6_tnl __rcu **tp = ip6_tnl_bucket(ip6n, &t->parms);
net/ipv6/ip6_tunnel.c
216
rcu_assign_pointer(t->next , rtnl_dereference(*tp));
net/ipv6/ip6_tunnel.c
217
rcu_assign_pointer(*tp, t);
net/ipv6/ip6_tunnel.c
229
struct ip6_tnl __rcu **tp;
net/ipv6/ip6_tunnel.c
235
for (tp = ip6_tnl_bucket(ip6n, &t->parms);
net/ipv6/ip6_tunnel.c
236
(iter = rtnl_dereference(*tp)) != NULL;
net/ipv6/ip6_tunnel.c
237
tp = &iter->next) {
net/ipv6/ip6_tunnel.c
239
rcu_assign_pointer(*tp, t->next);
net/ipv6/ip6_tunnel.c
342
struct ip6_tnl __rcu **tp;
net/ipv6/ip6_tunnel.c
346
for (tp = ip6_tnl_bucket(ip6n, p);
net/ipv6/ip6_tunnel.c
347
(t = rtnl_dereference(*tp)) != NULL;
net/ipv6/ip6_tunnel.c
348
tp = &t->next) {
net/ipv6/ip6_vti.c
158
struct ip6_tnl __rcu **tp = vti6_tnl_bucket(ip6n, &t->parms);
net/ipv6/ip6_vti.c
160
rcu_assign_pointer(t->next, rtnl_dereference(*tp));
net/ipv6/ip6_vti.c
161
rcu_assign_pointer(*tp, t);
net/ipv6/ip6_vti.c
167
struct ip6_tnl __rcu **tp;
net/ipv6/ip6_vti.c
170
for (tp = vti6_tnl_bucket(ip6n, &t->parms);
net/ipv6/ip6_vti.c
171
(iter = rtnl_dereference(*tp)) != NULL;
net/ipv6/ip6_vti.c
172
tp = &iter->next) {
net/ipv6/ip6_vti.c
174
rcu_assign_pointer(*tp, t->next);
net/ipv6/ip6_vti.c
257
struct ip6_tnl __rcu **tp;
net/ipv6/ip6_vti.c
261
for (tp = vti6_tnl_bucket(ip6n, p);
net/ipv6/ip6_vti.c
262
(t = rtnl_dereference(*tp)) != NULL;
net/ipv6/ip6_vti.c
263
tp = &t->next) {
net/ipv6/netfilter/ip6t_hbh.c
105
tp = skb_header_pointer(skb, ptr, sizeof(_opttype),
net/ipv6/netfilter/ip6t_hbh.c
107
if (tp == NULL)
net/ipv6/netfilter/ip6t_hbh.c
111
if (*tp != (optinfo->opts[temp] & 0xFF00) >> 8) {
net/ipv6/netfilter/ip6t_hbh.c
112
pr_debug("Tbad %02X %02X\n", *tp,
net/ipv6/netfilter/ip6t_hbh.c
119
if (*tp) {
net/ipv6/netfilter/ip6t_hbh.c
55
const u_int8_t *tp = NULL;
net/ipv6/netfilter/nf_reject_ipv6.c
111
u8 _type, *tp;
net/ipv6/netfilter/nf_reject_ipv6.c
123
tp = skb_header_pointer(skb,
net/ipv6/netfilter/nf_reject_ipv6.c
127
if (!tp)
net/ipv6/netfilter/nf_reject_ipv6.c
130
return *tp == ICMPV6_DEST_UNREACH;
net/ipv6/sit.c
165
struct ip_tunnel __rcu **tp;
net/ipv6/sit.c
168
for (tp = ipip6_bucket(sitn, t);
net/ipv6/sit.c
169
(iter = rtnl_dereference(*tp)) != NULL;
net/ipv6/sit.c
170
tp = &iter->next) {
net/ipv6/sit.c
172
rcu_assign_pointer(*tp, t->next);
net/ipv6/sit.c
180
struct ip_tunnel __rcu **tp = ipip6_bucket(sitn, t);
net/ipv6/sit.c
182
rcu_assign_pointer(t->next, rtnl_dereference(*tp));
net/ipv6/sit.c
183
rcu_assign_pointer(*tp, t);
net/ipv6/sit.c
237
struct ip_tunnel __rcu **tp;
net/ipv6/sit.c
242
for (tp = __ipip6_bucket(sitn, parms);
net/ipv6/sit.c
243
(t = rtnl_dereference(*tp)) != NULL;
net/ipv6/sit.c
244
tp = &t->next) {
net/ipv6/syncookies.c
178
struct tcp_sock *tp = tcp_sk(sk);
net/ipv6/syncookies.c
257
req->rsk_window_clamp = READ_ONCE(tp->window_clamp) ? :dst_metric(dst, RTAX_WINDOW);
net/ipv6/tcp_ipv6.c
142
struct tcp_sock *tp = tcp_sk(sk);
net/ipv6/tcp_ipv6.c
1572
struct tcp_sock *tp;
net/ipv6/tcp_ipv6.c
1682
tp = tcp_sk(sk);
net/ipv6/tcp_ipv6.c
1683
if (TCP_SKB_CB(opt_skb)->end_seq == tp->rcv_nxt &&
net/ipv6/tcp_ipv6.c
205
if (tp->rx_opt.ts_recent_stamp &&
net/ipv6/tcp_ipv6.c
207
tp->rx_opt.ts_recent = 0;
net/ipv6/tcp_ipv6.c
208
tp->rx_opt.ts_recent_stamp = 0;
net/ipv6/tcp_ipv6.c
209
WRITE_ONCE(tp->write_seq, 0);
net/ipv6/tcp_ipv6.c
2133
const struct tcp_sock *tp = tcp_sk(sp);
net/ipv6/tcp_ipv6.c
2169
rx_queue = max_t(int, READ_ONCE(tp->rcv_nxt) -
net/ipv6/tcp_ipv6.c
2170
READ_ONCE(tp->copied_seq), 0);
net/ipv6/tcp_ipv6.c
2181
READ_ONCE(tp->write_seq) - tp->snd_una,
net/ipv6/tcp_ipv6.c
2193
tcp_snd_cwnd(tp),
net/ipv6/tcp_ipv6.c
2196
(tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh)
net/ipv6/tcp_ipv6.c
236
tp->af_specific = &tcp_sock_ipv6_mapped_specific;
net/ipv6/tcp_ipv6.c
249
tp->af_specific = &tcp_sock_ipv6_specific;
net/ipv6/tcp_ipv6.c
294
tp->tcp_usec_ts = dst_tcp_usec_ts(dst);
net/ipv6/tcp_ipv6.c
319
tp->rx_opt.mss_clamp = IPV6_MIN_MTU - sizeof(struct tcphdr) - sizeof(struct ipv6hdr);
net/ipv6/tcp_ipv6.c
328
if (likely(!tp->repair)) {
net/ipv6/tcp_ipv6.c
336
if (!tp->write_seq)
net/ipv6/tcp_ipv6.c
337
WRITE_ONCE(tp->write_seq, st.seq);
net/ipv6/tcp_ipv6.c
338
WRITE_ONCE(tp->tsoffset, st.ts_off);
net/ipv6/tcp_ipv6.c
411
struct tcp_sock *tp;
net/ipv6/tcp_ipv6.c
460
tp = tcp_sk(sk);
net/ipv6/tcp_ipv6.c
462
fastopen = rcu_dereference(tp->fastopen_rsk);
net/ipv6/tcp_ipv6.c
463
snd_una = fastopen ? tcp_rsk(fastopen)->snt_isn : tp->snd_una;
net/ipv6/tcp_ipv6.c
465
!between(seq, snd_una, tp->snd_nxt)) {
net/ipv6/tcp_ipv6.c
498
WRITE_ONCE(tp->mtu_info, mtu);
net/mptcp/fastopen.c
14
struct tcp_sock *tp;
net/mptcp/fastopen.c
25
tp = tcp_sk(ssk);
net/mptcp/fastopen.c
42
tp->copied_seq += skb->len;
net/mptcp/options.c
1031
struct tcp_sock *tp = tcp_sk(ssk);
net/mptcp/options.c
1038
if (!skb->len || skb->len < tcp_receive_window(tp))
net/mptcp/options.c
1048
tp->rcv_wnd += mptcp_rcv_wnd - subflow->rcv_wnd_sent;
net/mptcp/options.c
1049
tcp_update_max_rcv_wnd_seq(tp);
net/mptcp/options.c
1269
static u64 mptcp_set_rwin(struct mptcp_sock *msk, struct tcp_sock *tp,
net/mptcp/options.c
1272
const struct sock *ssk = (const struct sock *)tp;
net/mptcp/options.c
1277
rcv_wnd_new = ack_seq + tp->rcv_wnd;
net/mptcp/options.c
1307
tp->rcv_wnd = new_win;
net/mptcp/options.c
1308
tcp_update_max_rcv_wnd_seq(tp);
net/mptcp/options.c
1314
new_win = min(new_win, 65535U) << tp->rx_opt.rcv_wscale;
net/mptcp/options.c
1315
if (!tp->rx_opt.rcv_wscale &&
net/mptcp/options.c
1319
new_win = min(new_win, (65535U << tp->rx_opt.rcv_wscale));
net/mptcp/options.c
1322
new_win >>= tp->rx_opt.rcv_wscale;
net/mptcp/options.c
1328
WRITE_ONCE(msk->old_wspace, tp->rcv_wnd);
net/mptcp/options.c
1332
static void mptcp_track_rwin(struct tcp_sock *tp)
net/mptcp/options.c
1334
const struct sock *ssk = (const struct sock *)tp;
net/mptcp/options.c
1343
WRITE_ONCE(msk->old_wspace, tp->rcv_wnd);
net/mptcp/options.c
1381
void mptcp_write_options(struct tcphdr *th, __be32 *ptr, struct tcp_sock *tp,
net/mptcp/options.c
1384
const struct sock *ssk = (const struct sock *)tp;
net/mptcp/options.c
1458
subflow->rcv_wnd_sent = mptcp_set_rwin(msk, tp, th,
net/mptcp/options.c
1652
mptcp_track_rwin(tp);
net/mptcp/options.c
567
struct tcp_sock *tp = tcp_sk(sk);
net/mptcp/options.c
621
tp->rcv_wnd = tp->rcv_nxt - tp->rcv_wup;
net/mptcp/protocol.c
2135
const struct tcp_sock *tp = tcp_sk(ssk);
net/mptcp/protocol.c
2141
msk->rcvq_space.space = min_t(u32, tp->rcv_wnd,
net/mptcp/protocol.c
2142
TCP_INIT_CWND * tp->advmss);
net/mptcp/protocol.c
3738
struct tcp_sock *tp = tcp_sk(ssk);
net/mptcp/protocol.c
3745
if (tp->srtt_us)
net/mptcp/protocol.c
3746
timeout = usecs_to_jiffies(tp->srtt_us >> (3 - 1));
net/mptcp/protocol.c
3945
struct tcp_sock *tp = tcp_sk(msk->first);
net/mptcp/protocol.c
3953
delta += READ_ONCE(tp->write_seq) - tp->snd_una;
net/mptcp/protocol.c
586
const struct tcp_sock *tp = tcp_sk(ssk);
net/mptcp/protocol.c
589
((READ_ONCE(tp->rcv_nxt) - READ_ONCE(tp->rcv_wup) >
net/mptcp/protocol.c
718
struct tcp_sock *tp;
net/mptcp/protocol.c
722
tp = tcp_sk(ssk);
net/mptcp/protocol.c
725
u32 seq = tp->copied_seq;
net/mptcp/protocol.c
777
WRITE_ONCE(tp->copied_seq, seq);
net/mptcp/protocol.c
899
const struct tcp_sock *tp = tcp_sk(subflow->tcp_sock);
net/mptcp/protocol.c
900
u32 rtt_us = tp->rcv_rtt_est.rtt_us;
net/mptcp/protocol.c
906
if (!rtt_us || tp->rcv_rtt_est.seq == subflow->prev_rtt_seq)
net/mptcp/protocol.c
909
subflow->prev_rtt_seq = tp->rcv_rtt_est.seq;
net/mptcp/protocol.c
919
tp->scaling_ratio) >> 3;
net/mptcp/subflow.c
1261
struct tcp_sock *tp = tcp_sk(ssk);
net/mptcp/subflow.c
1264
offset = tp->copied_seq - TCP_SKB_CB(skb)->seq;
net/mptcp/subflow.c
1968
struct tcp_sock *tp = tcp_sk(sk);
net/mptcp/subflow.c
1987
tp->is_mptcp = 1;
net/netfilter/ipvs/ip_vs_conn.c
650
struct ip_vs_rht *t, *tp, *t2;
net/netfilter/ipvs/ip_vs_conn.c
675
tp = NULL;
net/netfilter/ipvs/ip_vs_conn.c
698
if (tp != t2) {
net/netfilter/ipvs/ip_vs_conn.c
701
tp = t2;
net/netfilter/nf_flow_table_offload.c
109
NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_PORTS, tp);
net/netfilter/nf_flow_table_offload.c
196
key->tp.src = tuple->src_port;
net/netfilter/nf_flow_table_offload.c
197
mask->tp.src = 0xffff;
net/netfilter/nf_flow_table_offload.c
198
key->tp.dst = tuple->dst_port;
net/netfilter/nf_flow_table_offload.c
199
mask->tp.dst = 0xffff;
net/netfilter/nft_payload.c
457
NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, src,
net/netfilter/nft_payload.c
464
NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, dst,
net/netfilter/nft_payload.c
485
NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, src,
net/netfilter/nft_payload.c
492
NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, dst,
net/openvswitch/actions.c
606
flow_key->tp.src = src;
net/openvswitch/actions.c
610
flow_key->tp.dst = dst;
net/openvswitch/actions.c
618
flow_key->tp.src = src;
net/openvswitch/actions.c
619
flow_key->tp.dst = dst;
net/openvswitch/actions.c
645
flow_key->tp.src = src;
net/openvswitch/actions.c
650
flow_key->tp.dst = dst;
net/openvswitch/actions.c
685
flow_key->tp.src = sh->source;
net/openvswitch/actions.c
686
flow_key->tp.dst = sh->dest;
net/openvswitch/conntrack.c
640
key->tp.src = src;
net/openvswitch/conntrack.c
662
key->tp.dst = dst;
net/openvswitch/datapath.c
295
ovs_flow_stats_update(flow, key->tp.flags, skb);
net/openvswitch/flow.c
558
key->tp.src = htons(icmp->icmp6_type);
net/openvswitch/flow.c
559
key->tp.dst = htons(icmp->icmp6_code);
net/openvswitch/flow.c
59
#define TCP_FLAGS_BE16(tp) (*(__be16 *)&tcp_flag_word(tp) & htons(0x0FFF))
net/openvswitch/flow.c
710
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
723
key->tp.src = tcp->source;
net/openvswitch/flow.c
724
key->tp.dst = tcp->dest;
net/openvswitch/flow.c
725
key->tp.flags = TCP_FLAGS_BE16(tcp);
net/openvswitch/flow.c
727
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
733
key->tp.src = udp->source;
net/openvswitch/flow.c
734
key->tp.dst = udp->dest;
net/openvswitch/flow.c
736
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
741
key->tp.src = sctp->source;
net/openvswitch/flow.c
742
key->tp.dst = sctp->dest;
net/openvswitch/flow.c
744
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
752
key->tp.src = htons(icmp->type);
net/openvswitch/flow.c
753
key->tp.dst = htons(icmp->code);
net/openvswitch/flow.c
755
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
837
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
847
key->tp.src = tcp->source;
net/openvswitch/flow.c
848
key->tp.dst = tcp->dest;
net/openvswitch/flow.c
849
key->tp.flags = TCP_FLAGS_BE16(tcp);
net/openvswitch/flow.c
851
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
856
key->tp.src = udp->source;
net/openvswitch/flow.c
857
key->tp.dst = udp->dest;
net/openvswitch/flow.c
859
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
864
key->tp.src = sctp->source;
net/openvswitch/flow.c
865
key->tp.dst = sctp->dest;
net/openvswitch/flow.c
867
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
875
memset(&key->tp, 0, sizeof(key->tp));
net/openvswitch/flow.c
916
key->tp.flags = 0;
net/openvswitch/flow.h
113
} tp;
net/openvswitch/flow.h
173
key->tp.dst == 0 &&
net/openvswitch/flow.h
174
(key->tp.src == htons(NDISC_NEIGHBOUR_SOLICITATION) ||
net/openvswitch/flow.h
175
key->tp.src == htons(NDISC_NEIGHBOUR_ADVERTISEMENT));
net/openvswitch/flow_netlink.c
1660
SW_FLOW_KEY_PUT(match, tp.src, tcp_key->tcp_src, is_mask);
net/openvswitch/flow_netlink.c
1661
SW_FLOW_KEY_PUT(match, tp.dst, tcp_key->tcp_dst, is_mask);
net/openvswitch/flow_netlink.c
1666
SW_FLOW_KEY_PUT(match, tp.flags,
net/openvswitch/flow_netlink.c
1676
SW_FLOW_KEY_PUT(match, tp.src, udp_key->udp_src, is_mask);
net/openvswitch/flow_netlink.c
1677
SW_FLOW_KEY_PUT(match, tp.dst, udp_key->udp_dst, is_mask);
net/openvswitch/flow_netlink.c
1685
SW_FLOW_KEY_PUT(match, tp.src, sctp_key->sctp_src, is_mask);
net/openvswitch/flow_netlink.c
1686
SW_FLOW_KEY_PUT(match, tp.dst, sctp_key->sctp_dst, is_mask);
net/openvswitch/flow_netlink.c
1694
SW_FLOW_KEY_PUT(match, tp.src,
net/openvswitch/flow_netlink.c
1696
SW_FLOW_KEY_PUT(match, tp.dst,
net/openvswitch/flow_netlink.c
1705
SW_FLOW_KEY_PUT(match, tp.src,
net/openvswitch/flow_netlink.c
1707
SW_FLOW_KEY_PUT(match, tp.dst,
net/openvswitch/flow_netlink.c
2167
tcp_key->tcp_src = output->tp.src;
net/openvswitch/flow_netlink.c
2168
tcp_key->tcp_dst = output->tp.dst;
net/openvswitch/flow_netlink.c
2170
output->tp.flags))
net/openvswitch/flow_netlink.c
2179
udp_key->udp_src = output->tp.src;
net/openvswitch/flow_netlink.c
2180
udp_key->udp_dst = output->tp.dst;
net/openvswitch/flow_netlink.c
2188
sctp_key->sctp_src = output->tp.src;
net/openvswitch/flow_netlink.c
2189
sctp_key->sctp_dst = output->tp.dst;
net/openvswitch/flow_netlink.c
2198
icmp_key->icmp_type = ntohs(output->tp.src);
net/openvswitch/flow_netlink.c
2199
icmp_key->icmp_code = ntohs(output->tp.dst);
net/openvswitch/flow_netlink.c
2209
icmpv6_key->icmpv6_type = ntohs(output->tp.src);
net/openvswitch/flow_netlink.c
2210
icmpv6_key->icmpv6_code = ntohs(output->tp.dst);
net/openvswitch/flow_netlink.c
2212
if (swkey->tp.src == htons(NDISC_NEIGHBOUR_SOLICITATION) ||
net/openvswitch/flow_netlink.c
2213
swkey->tp.src == htons(NDISC_NEIGHBOUR_ADVERTISEMENT)) {
net/openvswitch/flow_netlink.c
276
if (match->key->tp.src ==
net/openvswitch/flow_netlink.c
278
match->key->tp.src == htons(NDISC_NEIGHBOUR_ADVERTISEMENT)) {
net/openvswitch/flow_netlink.c
286
if (match->mask && (match->mask->key.tp.src == htons(0xff)))
net/sched/act_api.c
1397
struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
net/sched/act_api.c
1433
err = a_o->init(net, tb[TCA_ACT_OPTIONS], est, &a, tp,
net/sched/act_api.c
1436
err = a_o->init(net, nla, est, &a, tp, userflags.value | flags,
net/sched/act_api.c
1466
int tcf_action_init(struct net *net, struct tcf_proto *tp, struct nlattr *nla,
net/sched/act_api.c
1508
act = tcf_action_init_1(net, tp, tb[i], est, ops[i - 1],
net/sched/act_api.c
70
int tcf_action_check_ctrlact(int action, struct tcf_proto *tp,
net/sched/act_api.c
88
if (!tp || !newchain) {
net/sched/act_api.c
94
*newchain = tcf_chain_get_by_act(tp->chain->block, chain_index);
net/sched/act_bpf.c
139
unsigned char *tp = skb_tail_pointer(skb);
net/sched/act_bpf.c
171
nlmsg_trim(skb, tp);
net/sched/act_bpf.c
279
struct tcf_proto *tp, u32 flags,
net/sched/act_bpf.c
329
ret = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_connmark.c
100
struct tcf_proto *tp, u32 flags,
net/sched/act_connmark.c
166
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_csum.c
45
struct tcf_proto *tp,
net/sched/act_csum.c
90
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_ct.c
1352
struct tcf_proto *tp, u32 flags,
net/sched/act_ct.c
1407
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_ctinfo.c
157
struct tcf_proto *tp, u32 flags,
net/sched/act_ctinfo.c
233
err = tcf_action_check_ctrlact(actparm->action, tp, &goto_ch, extack);
net/sched/act_gact.c
120
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_gact.c
55
struct tcf_proto *tp, u32 flags,
net/sched/act_gate.c
349
struct tcf_proto *tp, u32 flags,
net/sched/act_gate.c
414
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_ife.c
479
struct tcf_proto *tp, u32 flags,
net/sched/act_ife.c
569
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_mirred.c
106
struct tcf_proto *tp,
net/sched/act_mirred.c
190
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_mpls.c
160
struct tcf_proto *tp, u32 flags,
net/sched/act_mpls.c
276
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_nat.c
36
struct tc_action **a, struct tcf_proto *tp,
net/sched/act_nat.c
80
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_pedit.c
161
struct tcf_proto *tp, u32 flags,
net/sched/act_pedit.c
242
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_police.c
42
struct tcf_proto *tp, u32 flags,
net/sched/act_police.c
95
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_sample.c
38
struct tcf_proto *tp,
net/sched/act_sample.c
90
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_simple.c
139
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch,
net/sched/act_simple.c
156
err = reset_policy(*a, tb[TCA_DEF_DATA], parm, tp, extack);
net/sched/act_simple.c
62
struct tc_defact *p, struct tcf_proto *tp,
net/sched/act_simple.c
69
err = tcf_action_check_ctrlact(p->action, tp, &goto_ch, extack);
net/sched/act_simple.c
89
struct tcf_proto *tp, u32 flags,
net/sched/act_skbedit.c
117
struct tcf_proto *tp, u32 act_flags,
net/sched/act_skbedit.c
241
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_skbmod.c
103
struct tcf_proto *tp, u32 flags,
net/sched/act_skbmod.c
182
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_tunnel_key.c
363
struct tcf_proto *tp, u32 act_flags,
net/sched/act_tunnel_key.c
521
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/act_vlan.c
116
struct tcf_proto *tp, u32 flags,
net/sched/act_vlan.c
230
err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
net/sched/cls_api.c
1109
__tcf_get_next_proto(struct tcf_chain *chain, struct tcf_proto *tp)
net/sched/cls_api.c
1116
if (!tp) {
net/sched/cls_api.c
1117
tp = tcf_chain_dereference(chain->filter_chain, chain);
net/sched/cls_api.c
1118
} else if (tcf_proto_is_deleting(tp)) {
net/sched/cls_api.c
1123
prio = tp->prio + 1;
net/sched/cls_api.c
1124
tp = tcf_chain_dereference(chain->filter_chain, chain);
net/sched/cls_api.c
1126
for (; tp; tp = tcf_chain_dereference(tp->next, chain))
net/sched/cls_api.c
1127
if (!tp->deleting && tp->prio >= prio)
net/sched/cls_api.c
1130
tp = tcf_chain_dereference(tp->next, chain);
net/sched/cls_api.c
1133
if (tp)
net/sched/cls_api.c
1134
tcf_proto_get(tp);
net/sched/cls_api.c
1138
return tp;
net/sched/cls_api.c
1150
tcf_get_next_proto(struct tcf_chain *chain, struct tcf_proto *tp)
net/sched/cls_api.c
1152
struct tcf_proto *tp_next = __tcf_get_next_proto(chain, tp);
net/sched/cls_api.c
1154
if (tp)
net/sched/cls_api.c
1155
tcf_proto_put(tp, true, NULL);
net/sched/cls_api.c
133
tcf_exts_miss_cookie_base_alloc(struct tcf_exts *exts, struct tcf_proto *tp,
net/sched/cls_api.c
1583
struct tcf_proto *tp, *tp_prev;
net/sched/cls_api.c
1596
for (tp = __tcf_get_next_proto(chain, NULL); tp;
net/sched/cls_api.c
1597
tp_prev = tp,
net/sched/cls_api.c
1598
tp = __tcf_get_next_proto(chain, tp),
net/sched/cls_api.c
1600
if (tp->ops->reoffload) {
net/sched/cls_api.c
1601
err = tp->ops->reoffload(tp, add, cb, cb_priv,
net/sched/cls_api.c
1619
tcf_proto_put(tp, true, NULL);
net/sched/cls_api.c
1713
const struct tcf_proto *tp,
net/sched/cls_api.c
172
static u32 destroy_obj_hashfn(const struct tcf_proto *tp)
net/sched/cls_api.c
1728
for (; tp; tp = rcu_dereference_bh(tp->next)) {
net/sched/cls_api.c
1735
if (n->tp_prio != tp->prio)
net/sched/cls_api.c
174
return jhash_3words(tp->chain->index, tp->prio,
net/sched/cls_api.c
1743
if (unlikely(n->tp != tp || n->tp->chain != n->chain ||
net/sched/cls_api.c
1744
!tp->ops->get_exts)) {
net/sched/cls_api.c
175
(__force __u32)tp->protocol, 0);
net/sched/cls_api.c
1750
exts = tp->ops->get_exts(tp, n->handle);
net/sched/cls_api.c
1760
if (tp->protocol != protocol &&
net/sched/cls_api.c
1761
tp->protocol != htons(ETH_P_ALL))
net/sched/cls_api.c
1764
err = tc_classify(skb, tp, res);
net/sched/cls_api.c
179
struct tcf_proto *tp)
net/sched/cls_api.c
1792
tp->chain->block->index,
net/sched/cls_api.c
1793
tp->prio & 0xffff,
net/sched/cls_api.c
1794
ntohs(tp->protocol));
net/sched/cls_api.c
1800
tp = first_tp;
net/sched/cls_api.c
1807
const struct tcf_proto *tp,
net/sched/cls_api.c
1813
return __tcf_classify(skb, tp, tp, res, compat_mode, NULL, 0,
net/sched/cls_api.c
1816
u32 last_executed_chain = tp ? tp->chain->index : 0;
net/sched/cls_api.c
1818
const struct tcf_proto *orig_tp = tp;
net/sched/cls_api.c
184
hash_add_rcu(block->proto_destroy_ht, &tp->destroy_ht_node,
net/sched/cls_api.c
185
destroy_obj_hashfn(tp));
net/sched/cls_api.c
1855
tp = rcu_dereference_bh(fchain->filter_chain);
net/sched/cls_api.c
1860
ret = __tcf_classify(skb, tp, orig_tp, res, compat_mode, n, act_index,
net/sched/cls_api.c
1900
struct tcf_proto *tp)
net/sched/cls_api.c
1905
RCU_INIT_POINTER(tp->next, tcf_chain_tp_prev(chain, chain_info));
net/sched/cls_api.c
1907
tcf_chain0_head_change(chain, tp);
net/sched/cls_api.c
1908
tcf_proto_get(tp);
net/sched/cls_api.c
1909
rcu_assign_pointer(*chain_info->pprev, tp);
net/sched/cls_api.c
1916
struct tcf_proto *tp)
net/sched/cls_api.c
1920
tcf_proto_mark_delete(tp);
net/sched/cls_api.c
1921
if (tp == chain->filter_chain)
net/sched/cls_api.c
1943
struct tcf_proto *tp;
net/sched/cls_api.c
1954
tp = tcf_chain_tp_find(chain, &chain_info, protocol, prio, false, NULL);
net/sched/cls_api.c
1955
if (!tp)
net/sched/cls_api.c
1959
if (tp) {
net/sched/cls_api.c
1961
tp_new = tp;
net/sched/cls_api.c
1971
struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_api.c
198
struct tcf_proto *tp)
net/sched/cls_api.c
1985
if (tp_iter == tp) {
net/sched/cls_api.c
1996
if (!tp_iter || !tcf_proto_check_delete(tp)) {
net/sched/cls_api.c
200
u32 hash = destroy_obj_hashfn(tp);
net/sched/cls_api.c
2001
tcf_proto_signal_destroying(chain, tp);
net/sched/cls_api.c
2003
if (tp == chain->filter_chain)
net/sched/cls_api.c
2008
tcf_proto_put(tp, rtnl_held, extack);
net/sched/cls_api.c
2018
struct tcf_proto *tp;
net/sched/cls_api.c
2022
(tp = tcf_chain_dereference(*pprev, chain));
net/sched/cls_api.c
2023
pprev = &tp->next) {
net/sched/cls_api.c
2024
if (tp->prio >= prio) {
net/sched/cls_api.c
2025
if (tp->prio == prio) {
net/sched/cls_api.c
2030
if (tp->protocol != protocol && protocol) {
net/sched/cls_api.c
2035
tp = NULL;
net/sched/cls_api.c
2041
if (tp) {
net/sched/cls_api.c
2042
chain_info->next = tp->next;
net/sched/cls_api.c
2043
tcf_proto_get(tp);
net/sched/cls_api.c
2047
return tp;
net/sched/cls_api.c
2051
struct tcf_proto *tp, struct tcf_block *block,
net/sched/cls_api.c
207
if (tcf_proto_cmp(tp, iter)) {
net/sched/cls_api.c
2076
tcm->tcm_info = TC_H_MAKE(tp->prio, tp->protocol);
net/sched/cls_api.c
2077
if (nla_put_string(skb, TCA_KIND, tp->ops->kind))
net/sched/cls_api.c
2079
if (nla_put_u32(skb, TCA_CHAIN, tp->chain->index))
net/sched/cls_api.c
2084
if (tp->ops->terse_dump) {
net/sched/cls_api.c
2085
if (tp->ops->terse_dump(net, tp, fh, skb, tcm,
net/sched/cls_api.c
2092
if (tp->ops->dump &&
net/sched/cls_api.c
2093
tp->ops->dump(net, tp, fh, skb, tcm, rtnl_held) < 0)
net/sched/cls_api.c
2116
struct tcf_proto *tp,
net/sched/cls_api.c
2132
ret = tcf_fill_node(net, skb, tp, block, q, parent, fh, portid,
net/sched/cls_api.c
2147
struct nlmsghdr *n, struct tcf_proto *tp,
net/sched/cls_api.c
2159
skb = tfilter_notify_prep(net, oskb, n, tp, block, q, parent, fh, event,
net/sched/cls_api.c
2173
struct nlmsghdr *n, struct tcf_proto *tp,
net/sched/cls_api.c
218
tcf_proto_signal_destroyed(struct tcf_chain *chain, struct tcf_proto *tp)
net/sched/cls_api.c
2183
return tp->ops->delete(tp, fh, last, rtnl_held, extack);
net/sched/cls_api.c
2185
skb = tfilter_notify_prep(net, oskb, n, tp, block, q, parent, fh,
net/sched/cls_api.c
2192
err = tp->ops->delete(tp, fh, last, rtnl_held, extack);
net/sched/cls_api.c
2212
struct tcf_proto *tp;
net/sched/cls_api.c
2214
for (tp = tcf_get_next_proto(chain, NULL);
net/sched/cls_api.c
2215
tp; tp = tcf_get_next_proto(chain, tp))
net/sched/cls_api.c
2216
tfilter_notify(net, oskb, n, tp, block, q, parent, NULL,
net/sched/cls_api.c
2220
static void tfilter_put(struct tcf_proto *tp, void *fh)
net/sched/cls_api.c
2222
if (tp->ops->put && fh)
net/sched/cls_api.c
2223
tp->ops->put(tp, fh);
net/sched/cls_api.c
223
if (hash_hashed(&tp->destroy_ht_node))
net/sched/cls_api.c
224
hash_del_rcu(&tp->destroy_ht_node);
net/sched/cls_api.c
2252
struct tcf_proto *tp;
net/sched/cls_api.c
2273
tp = NULL;
net/sched/cls_api.c
2342
tp = tcf_chain_tp_find(chain, &chain_info, protocol,
net/sched/cls_api.c
2344
if (IS_ERR(tp)) {
net/sched/cls_api.c
2345
err = PTR_ERR(tp);
net/sched/cls_api.c
2349
if (tp == NULL) {
net/sched/cls_api.c
2384
tp = tcf_chain_tp_insert_unique(chain, tp_new, protocol, prio,
net/sched/cls_api.c
2386
if (IS_ERR(tp)) {
net/sched/cls_api.c
2387
err = PTR_ERR(tp);
net/sched/cls_api.c
2394
if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
net/sched/cls_api.c
2400
fh = tp->ops->get(tp, t->tcm_handle);
net/sched/cls_api.c
2409
tfilter_put(tp, fh);
net/sched/cls_api.c
2415
if (chain->tmplt_ops && chain->tmplt_ops != tp->ops) {
net/sched/cls_api.c
2416
tfilter_put(tp, fh);
net/sched/cls_api.c
2430
err = tp->ops->change(net, skb, tp, cl, t->tcm_handle, tca, &fh,
net/sched/cls_api.c
2433
tfilter_notify(net, skb, n, tp, block, q, parent, fh,
net/sched/cls_api.c
2435
tfilter_put(tp, fh);
net/sched/cls_api.c
2436
tcf_proto_count_usesw(tp, true);
net/sched/cls_api.c
2444
tcf_chain_tp_delete_empty(chain, tp, rtnl_held, NULL);
net/sched/cls_api.c
2447
if (tp && !IS_ERR(tp))
net/sched/cls_api.c
2448
tcf_proto_put(tp, rtnl_held, NULL);
net/sched/cls_api.c
2487
struct tcf_proto *tp = NULL;
net/sched/cls_api.c
2570
tp = tcf_chain_tp_find(chain, &chain_info, protocol,
net/sched/cls_api.c
2572
if (!tp) {
net/sched/cls_api.c
2576
} else if (IS_ERR(tp)) {
net/sched/cls_api.c
2577
err = PTR_ERR(tp);
net/sched/cls_api.c
2579
} else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
net/sched/cls_api.c
2584
tcf_proto_signal_destroying(chain, tp);
net/sched/cls_api.c
2585
tcf_chain_tp_remove(chain, &chain_info, tp);
net/sched/cls_api.c
2588
tcf_proto_put(tp, rtnl_held, NULL);
net/sched/cls_api.c
2589
tfilter_notify(net, skb, n, tp, block, q, parent, fh,
net/sched/cls_api.c
2596
fh = tp->ops->get(tp, t->tcm_handle);
net/sched/cls_api.c
2604
err = tfilter_del_notify(net, skb, n, tp, block, q, parent, fh,
net/sched/cls_api.c
2610
tcf_chain_tp_delete_empty(chain, tp, rtnl_held, extack);
net/sched/cls_api.c
2615
if (tp && !IS_ERR(tp))
net/sched/cls_api.c
2616
tcf_proto_put(tp, rtnl_held, NULL);
net/sched/cls_api.c
2646
struct tcf_proto *tp = NULL;
net/sched/cls_api.c
2713
tp = tcf_chain_tp_find(chain, &chain_info, protocol,
net/sched/cls_api.c
2716
if (!tp) {
net/sched/cls_api.c
2720
} else if (IS_ERR(tp)) {
net/sched/cls_api.c
2721
err = PTR_ERR(tp);
net/sched/cls_api.c
2723
} else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
net/sched/cls_api.c
2729
fh = tp->ops->get(tp, t->tcm_handle);
net/sched/cls_api.c
2735
err = tfilter_notify(net, skb, n, tp, block, q, parent,
net/sched/cls_api.c
2741
tfilter_put(tp, fh);
net/sched/cls_api.c
2744
if (tp && !IS_ERR(tp))
net/sched/cls_api.c
2745
tcf_proto_put(tp, rtnl_held, NULL);
net/sched/cls_api.c
2766
static int tcf_node_dump(struct tcf_proto *tp, void *n, struct tcf_walker *arg)
net/sched/cls_api.c
2771
return tcf_fill_node(net, a->skb, tp, a->block, a->q, a->parent,
net/sched/cls_api.c
2784
struct tcf_proto *tp, *tp_prev;
net/sched/cls_api.c
2787
for (tp = __tcf_get_next_proto(chain, NULL);
net/sched/cls_api.c
2788
tp;
net/sched/cls_api.c
2789
tp_prev = tp,
net/sched/cls_api.c
2790
tp = __tcf_get_next_proto(chain, tp),
net/sched/cls_api.c
2796
TC_H_MAJ(tcm->tcm_info) != tp->prio)
net/sched/cls_api.c
2799
TC_H_MIN(tcm->tcm_info) != tp->protocol)
net/sched/cls_api.c
2805
if (tcf_fill_node(net, skb, tp, block, q, parent, NULL,
net/sched/cls_api.c
2812
if (!tp->ops->walk)
net/sched/cls_api.c
2825
tp->ops->walk(tp, &arg.w, true);
net/sched/cls_api.c
2834
tcf_proto_put(tp, true, NULL);
net/sched/cls_api.c
3339
int police, struct tcf_proto *tp, u32 handle,
net/sched/cls_api.c
334
static inline u32 tcf_auto_prio(struct tcf_proto *tp)
net/sched/cls_api.c
3363
err = tcf_exts_miss_cookie_base_alloc(exts, tp, handle);
net/sched/cls_api.c
338
if (tp)
net/sched/cls_api.c
339
first = tp->prio - 1;
net/sched/cls_api.c
3392
int tcf_exts_validate_ex(struct net *net, struct tcf_proto *tp, struct nlattr **tb,
net/sched/cls_api.c
3410
act = tcf_action_init_1(net, tp, tb[exts->police],
net/sched/cls_api.c
3425
err = tcf_action_init(net, tp, tb[exts->action],
net/sched/cls_api.c
3446
int tcf_exts_validate(struct net *net, struct tcf_proto *tp, struct nlattr **tb,
net/sched/cls_api.c
3450
return tcf_exts_validate_ex(net, tp, tb, rate_tlv, exts,
net/sched/cls_api.c
3571
struct tcf_proto *tp, u32 *cnt,
net/sched/cls_api.c
3576
spin_lock(&tp->lock);
net/sched/cls_api.c
3586
spin_unlock(&tp->lock);
net/sched/cls_api.c
3590
tc_cls_offload_cnt_reset(struct tcf_block *block, struct tcf_proto *tp,
net/sched/cls_api.c
3595
spin_lock(&tp->lock);
net/sched/cls_api.c
3598
spin_unlock(&tp->lock);
net/sched/cls_api.c
3656
int tc_setup_cb_add(struct tcf_block *block, struct tcf_proto *tp,
net/sched/cls_api.c
3687
if (tp->ops->hw_add)
net/sched/cls_api.c
3688
tp->ops->hw_add(tp, type_data);
net/sched/cls_api.c
3690
tc_cls_offload_cnt_update(block, tp, in_hw_count, flags,
net/sched/cls_api.c
3706
int tc_setup_cb_replace(struct tcf_block *block, struct tcf_proto *tp,
net/sched/cls_api.c
3735
tc_cls_offload_cnt_reset(block, tp, old_in_hw_count, old_flags);
net/sched/cls_api.c
3736
if (tp->ops->hw_del)
net/sched/cls_api.c
3737
tp->ops->hw_del(tp, type_data);
net/sched/cls_api.c
3743
if (tp->ops->hw_add)
net/sched/cls_api.c
3744
tp->ops->hw_add(tp, type_data);
net/sched/cls_api.c
3746
tc_cls_offload_cnt_update(block, tp, new_in_hw_count,
net/sched/cls_api.c
3760
int tc_setup_cb_destroy(struct tcf_block *block, struct tcf_proto *tp,
net/sched/cls_api.c
377
struct tcf_proto *tp;
net/sched/cls_api.c
3783
tc_cls_offload_cnt_reset(block, tp, in_hw_count, flags);
net/sched/cls_api.c
3784
if (tp->ops->hw_del)
net/sched/cls_api.c
3785
tp->ops->hw_del(tp, type_data);
net/sched/cls_api.c
3794
int tc_setup_cb_reoffload(struct tcf_block *block, struct tcf_proto *tp,
net/sched/cls_api.c
380
tp = kzalloc_obj(*tp);
net/sched/cls_api.c
3805
tc_cls_offload_cnt_update(block, tp, in_hw_count, flags, 1,
net/sched/cls_api.c
381
if (!tp)
net/sched/cls_api.c
384
tp->ops = tcf_proto_lookup_ops(kind, rtnl_held, extack);
net/sched/cls_api.c
385
if (IS_ERR(tp->ops)) {
net/sched/cls_api.c
386
err = PTR_ERR(tp->ops);
net/sched/cls_api.c
389
tp->classify = tp->ops->classify;
net/sched/cls_api.c
390
tp->protocol = protocol;
net/sched/cls_api.c
391
tp->prio = prio;
net/sched/cls_api.c
392
tp->chain = chain;
net/sched/cls_api.c
393
tp->usesw = !tp->ops->reoffload;
net/sched/cls_api.c
394
spin_lock_init(&tp->lock);
net/sched/cls_api.c
395
refcount_set(&tp->refcnt, 1);
net/sched/cls_api.c
397
err = tp->ops->init(tp);
net/sched/cls_api.c
399
module_put(tp->ops->owner);
net/sched/cls_api.c
402
return tp;
net/sched/cls_api.c
405
kfree(tp);
net/sched/cls_api.c
409
static void tcf_proto_get(struct tcf_proto *tp)
net/sched/cls_api.c
411
refcount_inc(&tp->refcnt);
net/sched/cls_api.c
414
static void tcf_proto_count_usesw(struct tcf_proto *tp, bool add)
net/sched/cls_api.c
417
struct tcf_block *block = tp->chain->block;
net/sched/cls_api.c
421
if (tp->usesw && tp->counted) {
net/sched/cls_api.c
424
tp->counted = false;
net/sched/cls_api.c
429
spin_lock(&tp->lock);
net/sched/cls_api.c
430
if (tp->usesw && !tp->counted) {
net/sched/cls_api.c
432
tp->counted = true;
net/sched/cls_api.c
434
spin_unlock(&tp->lock);
net/sched/cls_api.c
443
static void tcf_proto_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_api.c
446
tp->ops->destroy(tp, rtnl_held, extack);
net/sched/cls_api.c
447
tcf_proto_count_usesw(tp, false);
net/sched/cls_api.c
449
tcf_proto_signal_destroyed(tp->chain, tp);
net/sched/cls_api.c
450
tcf_chain_put(tp->chain);
net/sched/cls_api.c
451
module_put(tp->ops->owner);
net/sched/cls_api.c
452
kfree_rcu(tp, rcu);
net/sched/cls_api.c
455
static void tcf_proto_put(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_api.c
458
if (refcount_dec_and_test(&tp->refcnt))
net/sched/cls_api.c
459
tcf_proto_destroy(tp, rtnl_held, true, extack);
net/sched/cls_api.c
462
static bool tcf_proto_check_delete(struct tcf_proto *tp)
net/sched/cls_api.c
464
if (tp->ops->delete_empty)
net/sched/cls_api.c
465
return tp->ops->delete_empty(tp);
net/sched/cls_api.c
467
tp->deleting = true;
net/sched/cls_api.c
468
return tp->deleting;
net/sched/cls_api.c
471
static void tcf_proto_mark_delete(struct tcf_proto *tp)
net/sched/cls_api.c
473
spin_lock(&tp->lock);
net/sched/cls_api.c
474
tp->deleting = true;
net/sched/cls_api.c
475
spin_unlock(&tp->lock);
net/sched/cls_api.c
478
static bool tcf_proto_is_deleting(struct tcf_proto *tp)
net/sched/cls_api.c
482
spin_lock(&tp->lock);
net/sched/cls_api.c
483
deleting = tp->deleting;
net/sched/cls_api.c
484
spin_unlock(&tp->lock);
net/sched/cls_api.c
55
const struct tcf_proto *tp;
net/sched/cls_api.c
751
struct tcf_proto *tp, *tp_next;
net/sched/cls_api.c
754
tp = tcf_chain_dereference(chain->filter_chain, chain);
net/sched/cls_api.c
755
while (tp) {
net/sched/cls_api.c
756
tp_next = rcu_dereference_protected(tp->next, 1);
net/sched/cls_api.c
757
tcf_proto_signal_destroying(chain, tp);
net/sched/cls_api.c
758
tp = tp_next;
net/sched/cls_api.c
760
tp = tcf_chain_dereference(chain->filter_chain, chain);
net/sched/cls_api.c
766
while (tp) {
net/sched/cls_api.c
767
tp_next = rcu_dereference_protected(tp->next, 1);
net/sched/cls_api.c
768
tcf_proto_put(tp, rtnl_held, NULL);
net/sched/cls_api.c
769
tp = tp_next;
net/sched/cls_api.c
77
tcf_exts_miss_cookie_base_alloc(struct tcf_exts *exts, struct tcf_proto *tp,
net/sched/cls_api.c
84
if (WARN_ON(!handle || !tp->ops->get_exts))
net/sched/cls_api.c
91
n->chain_index = tp->chain->index;
net/sched/cls_api.c
92
n->chain = tp->chain;
net/sched/cls_api.c
93
n->tp_prio = tp->prio;
net/sched/cls_api.c
94
n->tp = tp;
net/sched/cls_basic.c
108
static void basic_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_basic.c
111
struct basic_head *head = rtnl_dereference(tp->root);
net/sched/cls_basic.c
116
tcf_unbind_filter(tp, &f->res);
net/sched/cls_basic.c
127
static int basic_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_basic.c
130
struct basic_head *head = rtnl_dereference(tp->root);
net/sched/cls_basic.c
134
tcf_unbind_filter(tp, &f->res);
net/sched/cls_basic.c
147
static int basic_set_parms(struct net *net, struct tcf_proto *tp,
net/sched/cls_basic.c
155
err = tcf_exts_validate(net, tp, tb, est, &f->exts, flags, extack);
net/sched/cls_basic.c
159
err = tcf_em_tree_validate(tp, tb[TCA_BASIC_EMATCHES], &f->ematches);
net/sched/cls_basic.c
165
tcf_bind_filter(tp, &f->res, base);
net/sched/cls_basic.c
168
f->tp = tp;
net/sched/cls_basic.c
173
struct tcf_proto *tp, unsigned long base, u32 handle,
net/sched/cls_basic.c
178
struct basic_head *head = rtnl_dereference(tp->root);
net/sched/cls_basic.c
221
err = basic_set_parms(net, tp, fnew, base, tb, tca[TCA_RATE], flags,
net/sched/cls_basic.c
234
tcf_unbind_filter(tp, &fold->res);
net/sched/cls_basic.c
249
static void basic_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_basic.c
252
struct basic_head *head = rtnl_dereference(tp->root);
net/sched/cls_basic.c
256
if (!tc_cls_stats_dump(tp, arg, f))
net/sched/cls_basic.c
269
static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_basic.c
34
struct tcf_proto *tp;
net/sched/cls_basic.c
41
const struct tcf_proto *tp,
net/sched/cls_basic.c
45
struct basic_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_basic.c
62
static void *basic_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_basic.c
64
struct basic_head *head = rtnl_dereference(tp->root);
net/sched/cls_basic.c
76
static int basic_init(struct tcf_proto *tp)
net/sched/cls_basic.c
85
rcu_assign_pointer(tp->root, head);
net/sched/cls_bpf.c
143
static int cls_bpf_offload_cmd(struct tcf_proto *tp, struct cls_bpf_prog *prog,
net/sched/cls_bpf.c
148
struct tcf_block *block = tp->chain->block;
net/sched/cls_bpf.c
157
tc_cls_common_offload_init(&cls_bpf.common, tp, obj->gen_flags, extack);
net/sched/cls_bpf.c
166
err = tc_setup_cb_replace(block, tp, TC_SETUP_CLSBPF, &cls_bpf,
net/sched/cls_bpf.c
172
err = tc_setup_cb_add(block, tp, TC_SETUP_CLSBPF, &cls_bpf,
net/sched/cls_bpf.c
176
err = tc_setup_cb_destroy(block, tp, TC_SETUP_CLSBPF, &cls_bpf,
net/sched/cls_bpf.c
182
cls_bpf_offload_cmd(tp, oldprog, prog, extack, true);
net/sched/cls_bpf.c
197
static int cls_bpf_offload(struct tcf_proto *tp, struct cls_bpf_prog *prog,
net/sched/cls_bpf.c
213
return cls_bpf_offload_cmd(tp, prog, oldprog, extack, false);
net/sched/cls_bpf.c
216
static void cls_bpf_stop_offload(struct tcf_proto *tp,
net/sched/cls_bpf.c
222
err = cls_bpf_offload_cmd(tp, NULL, prog, extack, false);
net/sched/cls_bpf.c
227
static void cls_bpf_offload_update_stats(struct tcf_proto *tp,
net/sched/cls_bpf.c
230
struct tcf_block *block = tp->chain->block;
net/sched/cls_bpf.c
233
tc_cls_common_offload_init(&cls_bpf.common, tp, prog->gen_flags, NULL);
net/sched/cls_bpf.c
243
static int cls_bpf_init(struct tcf_proto *tp)
net/sched/cls_bpf.c
253
rcu_assign_pointer(tp->root, head);
net/sched/cls_bpf.c
288
static void __cls_bpf_delete(struct tcf_proto *tp, struct cls_bpf_prog *prog,
net/sched/cls_bpf.c
291
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
294
cls_bpf_stop_offload(tp, prog, extack);
net/sched/cls_bpf.c
296
tcf_unbind_filter(tp, &prog->res);
net/sched/cls_bpf.c
303
static int cls_bpf_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_bpf.c
306
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
308
__cls_bpf_delete(tp, arg, extack);
net/sched/cls_bpf.c
313
static void cls_bpf_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_bpf.c
316
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
320
__cls_bpf_delete(tp, prog, extack);
net/sched/cls_bpf.c
326
static void *cls_bpf_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_bpf.c
328
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
377
u32 gen_flags, const struct tcf_proto *tp)
net/sched/cls_bpf.c
404
tcf_block_netif_keep_dst(tp->chain->block);
net/sched/cls_bpf.c
410
struct tcf_proto *tp, unsigned long base,
net/sched/cls_bpf.c
415
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
467
ret = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &prog->exts,
net/sched/cls_bpf.c
495
cls_bpf_prog_from_efd(tb, prog, gen_flags, tp);
net/sched/cls_bpf.c
50
struct tcf_proto *tp;
net/sched/cls_bpf.c
501
tcf_bind_filter(tp, &prog->res, base);
net/sched/cls_bpf.c
505
ret = cls_bpf_offload(tp, prog, oldprog, extack);
net/sched/cls_bpf.c
512
tcf_proto_update_usesw(tp, prog->gen_flags);
net/sched/cls_bpf.c
517
tcf_unbind_filter(tp, &oldprog->res);
net/sched/cls_bpf.c
529
tcf_unbind_filter(tp, &prog->res);
net/sched/cls_bpf.c
579
static int cls_bpf_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_bpf.c
592
cls_bpf_offload_update_stats(tp, prog);
net/sched/cls_bpf.c
640
static void cls_bpf_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_bpf.c
643
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
647
if (!tc_cls_stats_dump(tp, arg, prog))
net/sched/cls_bpf.c
652
static int cls_bpf_reoffload(struct tcf_proto *tp, bool add, flow_setup_cb_t *cb,
net/sched/cls_bpf.c
655
struct cls_bpf_head *head = rtnl_dereference(tp->root);
net/sched/cls_bpf.c
656
struct tcf_block *block = tp->chain->block;
net/sched/cls_bpf.c
665
tc_cls_common_offload_init(&cls_bpf.common, tp, prog->gen_flags,
net/sched/cls_bpf.c
674
err = tc_setup_cb_reoffload(block, tp, add, cb, TC_SETUP_CLSBPF,
net/sched/cls_bpf.c
82
const struct tcf_proto *tp,
net/sched/cls_bpf.c
85
struct cls_bpf_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_cgroup.c
106
new->tp = tp;
net/sched/cls_cgroup.c
113
err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &new->exts, flags,
net/sched/cls_cgroup.c
118
err = tcf_em_tree_validate(tp, tb[TCA_CGROUP_EMATCHES], &new->ematches);
net/sched/cls_cgroup.c
122
rcu_assign_pointer(tp->root, new);
net/sched/cls_cgroup.c
134
static void cls_cgroup_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_cgroup.c
137
struct cls_cgroup_head *head = rtnl_dereference(tp->root);
net/sched/cls_cgroup.c
148
static int cls_cgroup_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_cgroup.c
154
static void cls_cgroup_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_cgroup.c
157
struct cls_cgroup_head *head = rtnl_dereference(tp->root);
net/sched/cls_cgroup.c
164
if (arg->fn(tp, head, arg) < 0) {
net/sched/cls_cgroup.c
172
static int cls_cgroup_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_cgroup.c
175
struct cls_cgroup_head *head = rtnl_dereference(tp->root);
net/sched/cls_cgroup.c
22
struct tcf_proto *tp;
net/sched/cls_cgroup.c
27
const struct tcf_proto *tp,
net/sched/cls_cgroup.c
30
struct cls_cgroup_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_cgroup.c
46
static void *cls_cgroup_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_cgroup.c
51
static int cls_cgroup_init(struct tcf_proto *tp)
net/sched/cls_cgroup.c
79
struct tcf_proto *tp, unsigned long base,
net/sched/cls_cgroup.c
85
struct cls_cgroup_head *head = rtnl_dereference(tp->root);
net/sched/cls_flow.c
302
const struct tcf_proto *tp,
net/sched/cls_flow.c
305
struct flow_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_flow.c
396
struct tcf_proto *tp, unsigned long base,
net/sched/cls_flow.c
401
struct flow_head *head = rtnl_dereference(tp->root);
net/sched/cls_flow.c
43
struct tcf_proto *tp;
net/sched/cls_flow.c
445
err = tcf_em_tree_validate(tp, tb[TCA_FLOW_EMATCHES], &fnew->ematches);
net/sched/cls_flow.c
453
err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &fnew->exts, flags,
net/sched/cls_flow.c
465
fnew->tp = fold->tp;
net/sched/cls_flow.c
511
struct tcf_block *block = tp->chain->block;
net/sched/cls_flow.c
528
fnew->tp = tp;
net/sched/cls_flow.c
534
tcf_block_netif_keep_dst(tp->chain->block);
net/sched/cls_flow.c
582
static int flow_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_flow.c
585
struct flow_head *head = rtnl_dereference(tp->root);
net/sched/cls_flow.c
595
static int flow_init(struct tcf_proto *tp)
net/sched/cls_flow.c
603
rcu_assign_pointer(tp->root, head);
net/sched/cls_flow.c
608
static void flow_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_flow.c
611
struct flow_head *head = rtnl_dereference(tp->root);
net/sched/cls_flow.c
624
static void *flow_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_flow.c
626
struct flow_head *head = rtnl_dereference(tp->root);
net/sched/cls_flow.c
635
static int flow_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_flow.c
696
static void flow_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_flow.c
699
struct flow_head *head = rtnl_dereference(tp->root);
net/sched/cls_flow.c
703
if (!tc_cls_stats_dump(tp, arg, f))
net/sched/cls_flower.c
1950
fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC,
net/sched/cls_flower.c
1951
&mask->tp.src, TCA_FLOWER_KEY_TCP_SRC_MASK,
net/sched/cls_flower.c
1952
sizeof(key->tp.src));
net/sched/cls_flower.c
1953
fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_TCP_DST,
net/sched/cls_flower.c
1954
&mask->tp.dst, TCA_FLOWER_KEY_TCP_DST_MASK,
net/sched/cls_flower.c
1955
sizeof(key->tp.dst));
net/sched/cls_flower.c
1960
fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_UDP_SRC,
net/sched/cls_flower.c
1961
&mask->tp.src, TCA_FLOWER_KEY_UDP_SRC_MASK,
net/sched/cls_flower.c
1962
sizeof(key->tp.src));
net/sched/cls_flower.c
1963
fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_UDP_DST,
net/sched/cls_flower.c
1964
&mask->tp.dst, TCA_FLOWER_KEY_UDP_DST_MASK,
net/sched/cls_flower.c
1965
sizeof(key->tp.dst));
net/sched/cls_flower.c
1967
fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_SCTP_SRC,
net/sched/cls_flower.c
1968
&mask->tp.src, TCA_FLOWER_KEY_SCTP_SRC_MASK,
net/sched/cls_flower.c
1969
sizeof(key->tp.src));
net/sched/cls_flower.c
1970
fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_SCTP_DST,
net/sched/cls_flower.c
1971
&mask->tp.dst, TCA_FLOWER_KEY_SCTP_DST_MASK,
net/sched/cls_flower.c
1972
sizeof(key->tp.dst));
net/sched/cls_flower.c
2178
FLOW_DISSECTOR_KEY_PORTS, tp);
net/sched/cls_flower.c
232
if (ntohs(key->tp_range.tp.dst) < min_val ||
net/sched/cls_flower.c
233
ntohs(key->tp_range.tp.dst) > max_val)
net/sched/cls_flower.c
2354
struct tcf_proto *tp, unsigned long base,
net/sched/cls_flower.c
2359
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
2416
spin_lock(&tp->lock);
net/sched/cls_flower.c
2434
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2443
err = tcf_exts_init_ex(&fnew->exts, net, TCA_FLOWER_ACT, 0, tp, handle,
net/sched/cls_flower.c
2448
err = tcf_exts_validate_ex(net, tp, tb, tca[TCA_RATE],
net/sched/cls_flower.c
2458
tcf_bind_filter(tp, &fnew->res, base);
net/sched/cls_flower.c
2471
if (!fl_mask_fits_tmplt(tp->chain->tmplt_priv, mask)) {
net/sched/cls_flower.c
2494
err = fl_hw_replace_filter(tp, fnew, rtnl_held, extack);
net/sched/cls_flower.c
2502
tcf_proto_update_usesw(tp, fnew->flags);
net/sched/cls_flower.c
2504
spin_lock(&tp->lock);
net/sched/cls_flower.c
2509
if (tp->deleting) {
net/sched/cls_flower.c
2543
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2547
fl_hw_destroy_filter(tp, fold, rtnl_held, NULL);
net/sched/cls_flower.c
2548
tcf_unbind_filter(tp, &fold->res);
net/sched/cls_flower.c
255
if (ntohs(key->tp_range.tp.src) < min_val ||
net/sched/cls_flower.c
2559
spin_unlock(&tp->lock);
net/sched/cls_flower.c
256
ntohs(key->tp_range.tp.src) > max_val)
net/sched/cls_flower.c
2569
spin_lock(&tp->lock);
net/sched/cls_flower.c
2572
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2574
fl_hw_destroy_filter(tp, fnew, rtnl_held, NULL);
net/sched/cls_flower.c
2585
tcf_unbind_filter(tp, &fnew->res);
net/sched/cls_flower.c
2592
spin_lock(&tp->lock);
net/sched/cls_flower.c
2594
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2607
static int fl_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_flower.c
2610
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
2615
err = __fl_delete(tp, f, &last_on_mask, rtnl_held, extack);
net/sched/cls_flower.c
2622
static void fl_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_flower.c
2625
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
2638
if (arg->fn(tp, f, arg) < 0) {
net/sched/cls_flower.c
2653
fl_get_next_hw_filter(struct tcf_proto *tp, struct cls_fl_filter *f, bool add)
net/sched/cls_flower.c
2655
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
2657
spin_lock(&tp->lock);
net/sched/cls_flower.c
2659
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2668
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2673
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2677
static int fl_reoffload(struct tcf_proto *tp, bool add, flow_setup_cb_t *cb,
net/sched/cls_flower.c
2680
struct tcf_block *block = tp->chain->block;
net/sched/cls_flower.c
2691
while ((f = fl_get_next_hw_filter(tp, f, add))) {
net/sched/cls_flower.c
2699
tc_cls_common_offload_init(&cls_flower.common, tp, f->flags,
net/sched/cls_flower.c
2721
err = tc_setup_cb_reoffload(block, tp, add, cb,
net/sched/cls_flower.c
2739
static void fl_hw_add(struct tcf_proto *tp, void *type_data)
net/sched/cls_flower.c
2744
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
2746
spin_lock(&tp->lock);
net/sched/cls_flower.c
2748
spin_unlock(&tp->lock);
net/sched/cls_flower.c
2751
static void fl_hw_del(struct tcf_proto *tp, void *type_data)
net/sched/cls_flower.c
2757
spin_lock(&tp->lock);
net/sched/cls_flower.c
2760
spin_unlock(&tp->lock);
net/sched/cls_flower.c
321
const struct tcf_proto *tp,
net/sched/cls_flower.c
324
struct cls_fl_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_flower.c
3531
(fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC,
net/sched/cls_flower.c
3532
&mask->tp.src, TCA_FLOWER_KEY_TCP_SRC_MASK,
net/sched/cls_flower.c
3533
sizeof(key->tp.src)) ||
net/sched/cls_flower.c
3534
fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_TCP_DST,
net/sched/cls_flower.c
3535
&mask->tp.dst, TCA_FLOWER_KEY_TCP_DST_MASK,
net/sched/cls_flower.c
3536
sizeof(key->tp.dst)) ||
net/sched/cls_flower.c
3542
(fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_UDP_SRC,
net/sched/cls_flower.c
3543
&mask->tp.src, TCA_FLOWER_KEY_UDP_SRC_MASK,
net/sched/cls_flower.c
3544
sizeof(key->tp.src)) ||
net/sched/cls_flower.c
3545
fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_UDP_DST,
net/sched/cls_flower.c
3546
&mask->tp.dst, TCA_FLOWER_KEY_UDP_DST_MASK,
net/sched/cls_flower.c
3547
sizeof(key->tp.dst))))
net/sched/cls_flower.c
3550
(fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_SCTP_SRC,
net/sched/cls_flower.c
3551
&mask->tp.src, TCA_FLOWER_KEY_SCTP_SRC_MASK,
net/sched/cls_flower.c
3552
sizeof(key->tp.src)) ||
net/sched/cls_flower.c
3553
fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_SCTP_DST,
net/sched/cls_flower.c
3554
&mask->tp.dst, TCA_FLOWER_KEY_SCTP_DST_MASK,
net/sched/cls_flower.c
3555
sizeof(key->tp.dst))))
net/sched/cls_flower.c
358
static int fl_init(struct tcf_proto *tp)
net/sched/cls_flower.c
3684
static int fl_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_flower.c
369
rcu_assign_pointer(tp->root, head);
net/sched/cls_flower.c
3701
spin_lock(&tp->lock);
net/sched/cls_flower.c
3717
spin_unlock(&tp->lock);
net/sched/cls_flower.c
3720
fl_hw_update_stats(tp, f, rtnl_held);
net/sched/cls_flower.c
3736
spin_unlock(&tp->lock);
net/sched/cls_flower.c
3742
static int fl_terse_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_flower.c
3758
spin_lock(&tp->lock);
net/sched/cls_flower.c
3765
spin_unlock(&tp->lock);
net/sched/cls_flower.c
3768
fl_hw_update_stats(tp, f, rtnl_held);
net/sched/cls_flower.c
3778
spin_unlock(&tp->lock);
net/sched/cls_flower.c
3817
static bool fl_delete_empty(struct tcf_proto *tp)
net/sched/cls_flower.c
3819
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
3821
spin_lock(&tp->lock);
net/sched/cls_flower.c
3822
tp->deleting = idr_is_empty(&head->handle_idr);
net/sched/cls_flower.c
3823
spin_unlock(&tp->lock);
net/sched/cls_flower.c
3825
return tp->deleting;
net/sched/cls_flower.c
417
static struct cls_fl_head *fl_head_dereference(struct tcf_proto *tp)
net/sched/cls_flower.c
424
return rcu_dereference_raw(tp->root);
net/sched/cls_flower.c
444
static void fl_hw_destroy_filter(struct tcf_proto *tp, struct cls_fl_filter *f,
net/sched/cls_flower.c
447
struct tcf_block *block = tp->chain->block;
net/sched/cls_flower.c
450
tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, extack);
net/sched/cls_flower.c
454
tc_setup_cb_destroy(block, tp, TC_SETUP_CLSFLOWER, &cls_flower, false,
net/sched/cls_flower.c
459
static int fl_hw_replace_filter(struct tcf_proto *tp,
net/sched/cls_flower.c
463
struct tcf_block *block = tp->chain->block;
net/sched/cls_flower.c
472
tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, extack);
net/sched/cls_flower.c
488
err = tc_setup_cb_add(block, tp, TC_SETUP_CLSFLOWER, &cls_flower,
net/sched/cls_flower.c
494
fl_hw_destroy_filter(tp, f, rtnl_held, NULL);
net/sched/cls_flower.c
504
static void fl_hw_update_stats(struct tcf_proto *tp, struct cls_fl_filter *f,
net/sched/cls_flower.c
507
struct tcf_block *block = tp->chain->block;
net/sched/cls_flower.c
510
tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, NULL);
net/sched/cls_flower.c
545
static struct tcf_exts *fl_get_exts(const struct tcf_proto *tp, u32 handle)
net/sched/cls_flower.c
547
struct cls_fl_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_flower.c
554
static int __fl_delete(struct tcf_proto *tp, struct cls_fl_filter *f,
net/sched/cls_flower.c
558
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
562
spin_lock(&tp->lock);
net/sched/cls_flower.c
564
spin_unlock(&tp->lock);
net/sched/cls_flower.c
573
spin_unlock(&tp->lock);
net/sched/cls_flower.c
577
fl_hw_destroy_filter(tp, f, rtnl_held, extack);
net/sched/cls_flower.c
578
tcf_unbind_filter(tp, &f->res);
net/sched/cls_flower.c
595
static void fl_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_flower.c
598
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
605
__fl_delete(tp, f, &last, rtnl_held, extack);
net/sched/cls_flower.c
616
static void fl_put(struct tcf_proto *tp, void *arg)
net/sched/cls_flower.c
623
static void *fl_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_flower.c
625
struct cls_fl_head *head = fl_head_dereference(tp);
net/sched/cls_flower.c
64
struct flow_dissector_key_ports tp;
net/sched/cls_fw.c
111
static int fw_init(struct tcf_proto *tp)
net/sched/cls_fw.c
136
static void fw_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_fw.c
139
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_fw.c
150
tcf_unbind_filter(tp, &f->res);
net/sched/cls_fw.c
160
static int fw_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_fw.c
163
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_fw.c
179
tcf_unbind_filter(tp, &f->res);
net/sched/cls_fw.c
205
static int fw_set_parms(struct net *net, struct tcf_proto *tp,
net/sched/cls_fw.c
210
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_fw.c
214
err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &f->exts, flags,
net/sched/cls_fw.c
237
tcf_bind_filter(tp, &f->res, base);
net/sched/cls_fw.c
244
struct tcf_proto *tp, unsigned long base,
net/sched/cls_fw.c
248
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_fw.c
258
if (tcf_block_shared(tp->chain->block)) {
net/sched/cls_fw.c
285
fnew->tp = f->tp;
net/sched/cls_fw.c
294
err = fw_set_parms(net, tp, fnew, tb, tca, base, flags, extack);
net/sched/cls_fw.c
309
tcf_unbind_filter(tp, &f->res);
net/sched/cls_fw.c
330
rcu_assign_pointer(tp->root, head);
net/sched/cls_fw.c
341
f->tp = tp;
net/sched/cls_fw.c
343
err = fw_set_parms(net, tp, f, tb, tca, base, flags, extack);
net/sched/cls_fw.c
359
static void fw_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_fw.c
362
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_fw.c
376
if (!tc_cls_stats_dump(tp, arg, f))
net/sched/cls_fw.c
382
static int fw_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_fw.c
385
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_fw.c
40
struct tcf_proto *tp;
net/sched/cls_fw.c
52
const struct tcf_proto *tp,
net/sched/cls_fw.c
55
struct fw_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_fw.c
80
if (tcf_block_shared(tp->chain->block))
net/sched/cls_fw.c
83
q = tcf_block_q(tp->chain->block);
net/sched/cls_fw.c
95
static void *fw_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_fw.c
97
struct fw_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
106
mall_destroy_hw_filter(tp, head, cookie, NULL);
net/sched/cls_matchall.c
111
err = tc_setup_cb_add(block, tp, TC_SETUP_CLSMATCHALL, &cls_mall,
net/sched/cls_matchall.c
117
mall_destroy_hw_filter(tp, head, cookie, NULL);
net/sched/cls_matchall.c
127
static void mall_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_matchall.c
130
struct cls_mall_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
135
tcf_unbind_filter(tp, &head->res);
net/sched/cls_matchall.c
138
mall_destroy_hw_filter(tp, head, (unsigned long) head, extack);
net/sched/cls_matchall.c
146
static void *mall_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_matchall.c
148
struct cls_mall_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
163
struct tcf_proto *tp, unsigned long base,
net/sched/cls_matchall.c
168
struct cls_mall_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
210
err = tcf_exts_validate_ex(net, tp, tb, tca[TCA_RATE],
net/sched/cls_matchall.c
217
tcf_bind_filter(tp, &new->res, base);
net/sched/cls_matchall.c
222
err = mall_replace_hw_filter(tp, new, (unsigned long)new,
net/sched/cls_matchall.c
231
tcf_proto_update_usesw(tp, new->flags);
net/sched/cls_matchall.c
234
rcu_assign_pointer(tp->root, new);
net/sched/cls_matchall.c
239
tcf_unbind_filter(tp, &new->res);
net/sched/cls_matchall.c
249
static int mall_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_matchall.c
252
struct cls_mall_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
259
static void mall_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_matchall.c
262
struct cls_mall_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
269
if (arg->fn(tp, head, arg) < 0)
net/sched/cls_matchall.c
275
static int mall_reoffload(struct tcf_proto *tp, bool add, flow_setup_cb_t *cb,
net/sched/cls_matchall.c
278
struct cls_mall_head *head = rtnl_dereference(tp->root);
net/sched/cls_matchall.c
280
struct tcf_block *block = tp->chain->block;
net/sched/cls_matchall.c
29
const struct tcf_proto *tp,
net/sched/cls_matchall.c
290
tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, extack);
net/sched/cls_matchall.c
303
err = tc_setup_cb_reoffload(block, tp, add, cb, TC_SETUP_CLSMATCHALL,
net/sched/cls_matchall.c
312
static void mall_stats_hw_filter(struct tcf_proto *tp,
net/sched/cls_matchall.c
317
struct tcf_block *block = tp->chain->block;
net/sched/cls_matchall.c
319
tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, NULL);
net/sched/cls_matchall.c
32
struct cls_mall_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_matchall.c
328
static int mall_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_matchall.c
340
mall_stats_hw_filter(tp, head, (unsigned long)head);
net/sched/cls_matchall.c
45
static int mall_init(struct tcf_proto *tp)
net/sched/cls_matchall.c
68
static void mall_destroy_hw_filter(struct tcf_proto *tp,
net/sched/cls_matchall.c
74
struct tcf_block *block = tp->chain->block;
net/sched/cls_matchall.c
76
tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, extack);
net/sched/cls_matchall.c
80
tc_setup_cb_destroy(block, tp, TC_SETUP_CLSMATCHALL, &cls_mall, false,
net/sched/cls_matchall.c
84
static int mall_replace_hw_filter(struct tcf_proto *tp,
net/sched/cls_matchall.c
90
struct tcf_block *block = tp->chain->block;
net/sched/cls_matchall.c
98
tc_cls_common_offload_init(&cls_mall.common, tp, head->flags, extack);
net/sched/cls_route.c
126
const struct tcf_proto *tp,
net/sched/cls_route.c
129
struct route4_head *head = rcu_dereference_bh(tp->root);
net/sched/cls_route.c
217
static void *route4_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_route.c
219
struct route4_head *head = rtnl_dereference(tp->root);
net/sched/cls_route.c
243
static int route4_init(struct tcf_proto *tp)
net/sched/cls_route.c
251
rcu_assign_pointer(tp->root, head);
net/sched/cls_route.c
277
static void route4_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_route.c
280
struct route4_head *head = rtnl_dereference(tp->root);
net/sched/cls_route.c
299
tcf_unbind_filter(tp, &f->res);
net/sched/cls_route.c
313
static int route4_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_route.c
316
struct route4_head *head = rtnl_dereference(tp->root);
net/sched/cls_route.c
344
tcf_unbind_filter(tp, &f->res);
net/sched/cls_route.c
383
static int route4_set_parms(struct net *net, struct tcf_proto *tp,
net/sched/cls_route.c
395
err = tcf_exts_validate(net, tp, tb, est, &f->exts, flags, extack);
net/sched/cls_route.c
466
f->tp = tp;
net/sched/cls_route.c
470
tcf_bind_filter(tp, &f->res, base);
net/sched/cls_route.c
477
struct tcf_proto *tp, unsigned long base, u32 handle,
net/sched/cls_route.c
481
struct route4_head *head = rtnl_dereference(tp->root);
net/sched/cls_route.c
523
f->tp = fold->tp;
net/sched/cls_route.c
528
err = route4_set_parms(net, tp, base, f, handle, head, tb,
net/sched/cls_route.c
541
tcf_block_netif_keep_dst(tp->chain->block);
net/sched/cls_route.c
56
struct tcf_proto *tp;
net/sched/cls_route.c
564
tcf_unbind_filter(tp, &fold->res);
net/sched/cls_route.c
577
static void route4_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_route.c
580
struct route4_head *head = rtnl_dereference(tp->root);
net/sched/cls_route.c
596
if (!tc_cls_stats_dump(tp, arg, f))
net/sched/cls_route.c
604
static int route4_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_u32.c
1000
ht->prio = tp->prio;
net/sched/cls_u32.c
1004
err = u32_replace_hw_hnode(tp, ht, userflags, extack);
net/sched/cls_u32.c
1021
ht = rtnl_dereference(tp->root);
net/sched/cls_u32.c
1024
ht = u32_lookup_ht(tp->data, TC_U32_HTID(htid));
net/sched/cls_u32.c
1031
ht = rtnl_dereference(tp->root);
net/sched/cls_u32.c
115
const struct tcf_proto *tp,
net/sched/cls_u32.c
1162
err = u32_set_parms(net, tp, n, tb, tca[TCA_RATE],
net/sched/cls_u32.c
1165
u32_bind_filter(tp, n, base, tb);
net/sched/cls_u32.c
1171
err = u32_replace_hw_knode(tp, n, flags, extack);
net/sched/cls_u32.c
1178
tcf_proto_update_usesw(tp, n->flags);
net/sched/cls_u32.c
1194
u32_unbind_filter(tp, n, tb);
net/sched/cls_u32.c
1212
static void u32_walk(struct tcf_proto *tp, struct tcf_walker *arg,
net/sched/cls_u32.c
1215
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
1226
if (ht->prio != tp->prio)
net/sched/cls_u32.c
1229
if (!tc_cls_stats_dump(tp, arg, ht))
net/sched/cls_u32.c
123
struct tc_u_hnode *ht = rcu_dereference_bh(tp->root);
net/sched/cls_u32.c
1236
if (!tc_cls_stats_dump(tp, arg, n))
net/sched/cls_u32.c
1243
static int u32_reoffload_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht,
net/sched/cls_u32.c
1250
tc_cls_common_offload_init(&cls_u32.common, tp, ht->flags, extack);
net/sched/cls_u32.c
1263
static int u32_reoffload_knode(struct tcf_proto *tp, struct tc_u_knode *n,
net/sched/cls_u32.c
1268
struct tcf_block *block = tp->chain->block;
net/sched/cls_u32.c
1271
tc_cls_common_offload_init(&cls_u32.common, tp, n->flags, extack);
net/sched/cls_u32.c
1292
return tc_setup_cb_reoffload(block, tp, add, cb, TC_SETUP_CLSU32,
net/sched/cls_u32.c
1297
static int u32_reoffload(struct tcf_proto *tp, bool add, flow_setup_cb_t *cb,
net/sched/cls_u32.c
1300
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
1309
if (ht->prio != tp->prio)
net/sched/cls_u32.c
1317
err = u32_reoffload_hnode(tp, ht, add, cb, cb_priv,
net/sched/cls_u32.c
1330
err = u32_reoffload_knode(tp, n, add, cb,
net/sched/cls_u32.c
1338
u32_reoffload_hnode(tp, ht, add, cb, cb_priv, extack);
net/sched/cls_u32.c
1352
static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,
net/sched/cls_u32.c
297
static void *u32_get(struct tcf_proto *tp, u32 handle)
net/sched/cls_u32.c
300
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
303
ht = rtnl_dereference(tp->root);
net/sched/cls_u32.c
330
static void *tc_u_common_ptr(const struct tcf_proto *tp)
net/sched/cls_u32.c
332
struct tcf_block *block = tp->chain->block;
net/sched/cls_u32.c
361
static int u32_init(struct tcf_proto *tp)
net/sched/cls_u32.c
364
void *key = tc_u_common_ptr(tp);
net/sched/cls_u32.c
373
root_ht->prio = tp->prio;
net/sched/cls_u32.c
397
rcu_assign_pointer(tp->root, root_ht);
net/sched/cls_u32.c
398
tp->data = tp_c;
net/sched/cls_u32.c
461
static int u32_delete_key(struct tcf_proto *tp, struct tc_u_knode *key)
net/sched/cls_u32.c
463
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
476
tcf_unbind_filter(tp, &key->res);
net/sched/cls_u32.c
488
static void u32_clear_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h,
net/sched/cls_u32.c
491
struct tcf_block *block = tp->chain->block;
net/sched/cls_u32.c
494
tc_cls_common_offload_init(&cls_u32.common, tp, h->flags, extack);
net/sched/cls_u32.c
503
static int u32_replace_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h,
net/sched/cls_u32.c
506
struct tcf_block *block = tp->chain->block;
net/sched/cls_u32.c
512
tc_cls_common_offload_init(&cls_u32.common, tp, flags, extack);
net/sched/cls_u32.c
520
u32_clear_hw_hnode(tp, h, NULL);
net/sched/cls_u32.c
532
static void u32_remove_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n,
net/sched/cls_u32.c
535
struct tcf_block *block = tp->chain->block;
net/sched/cls_u32.c
538
tc_cls_common_offload_init(&cls_u32.common, tp, n->flags, extack);
net/sched/cls_u32.c
542
tc_setup_cb_destroy(block, tp, TC_SETUP_CLSU32, &cls_u32, false,
net/sched/cls_u32.c
546
static int u32_replace_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n,
net/sched/cls_u32.c
550
struct tcf_block *block = tp->chain->block;
net/sched/cls_u32.c
555
tc_cls_common_offload_init(&cls_u32.common, tp, flags, extack);
net/sched/cls_u32.c
572
err = tc_setup_cb_add(block, tp, TC_SETUP_CLSU32, &cls_u32, skip_sw,
net/sched/cls_u32.c
575
u32_remove_hw_knode(tp, n, NULL);
net/sched/cls_u32.c
585
static void u32_clear_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht,
net/sched/cls_u32.c
588
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
597
tcf_unbind_filter(tp, &n->res);
net/sched/cls_u32.c
598
u32_remove_hw_knode(tp, n, extack);
net/sched/cls_u32.c
608
static int u32_destroy_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht,
net/sched/cls_u32.c
611
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
615
u32_clear_hnode(tp, ht, extack);
net/sched/cls_u32.c
622
u32_clear_hw_hnode(tp, ht, extack);
net/sched/cls_u32.c
634
static void u32_destroy(struct tcf_proto *tp, bool rtnl_held,
net/sched/cls_u32.c
637
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
638
struct tc_u_hnode *root_ht = rtnl_dereference(tp->root);
net/sched/cls_u32.c
643
u32_destroy_hnode(tp, root_ht, extack);
net/sched/cls_u32.c
651
u32_clear_hnode(tp, ht, extack);
net/sched/cls_u32.c
665
tp->data = NULL;
net/sched/cls_u32.c
668
static int u32_delete(struct tcf_proto *tp, void *arg, bool *last,
net/sched/cls_u32.c
672
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
676
u32_remove_hw_knode(tp, (struct tc_u_knode *)ht, extack);
net/sched/cls_u32.c
677
ret = u32_delete_key(tp, (struct tc_u_knode *)ht);
net/sched/cls_u32.c
687
u32_destroy_hnode(tp, ht, extack);
net/sched/cls_u32.c
724
static void u32_unbind_filter(struct tcf_proto *tp, struct tc_u_knode *n,
net/sched/cls_u32.c
728
tcf_unbind_filter(tp, &n->res);
net/sched/cls_u32.c
731
static void u32_bind_filter(struct tcf_proto *tp, struct tc_u_knode *n,
net/sched/cls_u32.c
736
tcf_bind_filter(tp, &n->res, base);
net/sched/cls_u32.c
740
static int u32_set_parms(struct net *net, struct tcf_proto *tp,
net/sched/cls_u32.c
747
err = tcf_exts_validate_ex(net, tp, tb, est, &n->exts, flags,
net/sched/cls_u32.c
768
ht_down = u32_lookup_ht(tp->data, handle);
net/sched/cls_u32.c
794
static void u32_replace_knode(struct tcf_proto *tp, struct tc_u_common *tp_c,
net/sched/cls_u32.c
802
ht = rtnl_dereference(tp->root);
net/sched/cls_u32.c
821
static struct tc_u_knode *u32_init_knode(struct net *net, struct tcf_proto *tp,
net/sched/cls_u32.c
873
struct tcf_proto *tp, unsigned long base, u32 handle,
net/sched/cls_u32.c
877
struct tc_u_common *tp_c = tp->data;
net/sched/cls_u32.c
924
new = u32_init_knode(net, tp, n);
net/sched/cls_u32.c
928
err = u32_set_parms(net, tp, new, tb, tca[TCA_RATE],
net/sched/cls_u32.c
936
u32_bind_filter(tp, new, base, tb);
net/sched/cls_u32.c
938
err = u32_replace_hw_knode(tp, new, flags, extack);
net/sched/cls_u32.c
940
u32_unbind_filter(tp, new, tb);
net/sched/cls_u32.c
956
tcf_proto_update_usesw(tp, new->flags);
net/sched/cls_u32.c
958
u32_replace_knode(tp, tp_c, new);
net/sched/cls_u32.c
959
tcf_unbind_filter(tp, &n->res);
net/sched/cls_u32.c
984
handle = gen_new_htid(tp->data, ht);
net/sched/ematch.c
169
static int tcf_em_validate(struct tcf_proto *tp,
net/sched/ematch.c
177
struct net *net = tp->chain->block->net;
net/sched/ematch.c
305
int tcf_em_tree_validate(struct tcf_proto *tp, struct nlattr *nla,
net/sched/ematch.c
364
err = tcf_em_validate(tp, tree_hdr, em, rt_match, idx);
net/sched/sch_api.c
2112
static int tcf_node_bind(struct tcf_proto *tp, void *n, struct tcf_walker *arg)
net/sched/sch_api.c
2116
if (n && tp->ops->bind_class) {
net/sched/sch_api.c
2117
struct Qdisc *q = tcf_block_q(tp->chain->block);
net/sched/sch_api.c
2120
tp->ops->bind_class(n, a->classid, a->cl, q, a->base);
net/sched/sch_api.c
2147
struct tcf_proto *tp;
net/sched/sch_api.c
2149
for (tp = tcf_get_next_proto(chain, NULL);
net/sched/sch_api.c
2150
tp; tp = tcf_get_next_proto(chain, tp)) {
net/sched/sch_api.c
2157
tp->ops->walk(tp, &arg.w, true);
net/sctp/output.c
102
if (!sctp_transport_dst_check(tp)) {
net/sctp/output.c
103
sctp_transport_route(tp, NULL, sp);
net/sctp/output.c
106
} else if (!sctp_transport_pl_enabled(tp) &&
net/sctp/output.c
108
if (!sctp_transport_pmtu_check(tp))
net/sctp/output.c
128
if (!tp->dst)
net/sctp/output.c
133
if (__sk_dst_get(sk) != tp->dst) {
net/sctp/output.c
134
dst_hold(tp->dst);
net/sctp/output.c
135
sk_setup_caps(sk, tp->dst);
net/sctp/output.c
137
packet->max_size = sk_can_gso(sk) ? min(READ_ONCE(tp->dst->dev->gso_max_size),
net/sctp/output.c
439
struct sctp_transport *tp = packet->transport;
net/sctp/output.c
466
tp->pathmtu)
net/sctp/output.c
468
else if (pkt_size + padded > tp->pathmtu)
net/sctp/output.c
486
!tp->rto_pending) {
net/sctp/output.c
488
tp->rto_pending = 1;
net/sctp/output.c
520
sctp_auth_calculate_hmac(tp->asoc, nskb, auth,
net/sctp/output.c
547
if (!(tp->dst->dev->features & NETIF_F_SCTP_CRC) ||
net/sctp/output.c
548
dst_xfrm(tp->dst) || packet->ipfragok || tp->encap_port) {
net/sctp/output.c
571
struct sctp_transport *tp = packet->transport;
net/sctp/output.c
572
struct sctp_association *asoc = tp->asoc;
net/sctp/output.c
585
if (packet->size > tp->pathmtu && !packet->ipfragok && !chunk->pmtu_probe) {
net/sctp/output.c
586
if (tp->pl.state == SCTP_PL_ERROR) { /* do IP fragmentation if in Error state */
net/sctp/output.c
614
if (!tp->dst) {
net/sctp/output.c
641
tp->af_specific->ecn_capable(sk);
net/sctp/output.c
644
if (asoc->peer.last_sent_to != tp)
net/sctp/output.c
645
asoc->peer.last_sent_to = tp;
net/sctp/output.c
648
if (tp->dst_pending_confirm)
net/sctp/output.c
653
if (tp->af_specific->sctp_xmit(head, tp) >= 0 &&
net/sctp/output.c
654
tp->dst_pending_confirm)
net/sctp/output.c
655
tp->dst_pending_confirm = 0;
net/sctp/output.c
76
struct sctp_transport *tp = packet->transport;
net/sctp/output.c
77
struct sctp_association *asoc = tp->asoc;
net/sctp/output.c
89
packet->max_size = tp->pathmtu;
net/sctp/socket.c
1071
struct sctp_transport **tp)
net/sctp/socket.c
1100
*tp = sctp_assoc_add_peer(asoc, daddr, GFP_KERNEL, SCTP_UNKNOWN);
net/sctp/socket.c
1101
if (!*tp) {
net/sctp/socket.c
1659
struct sctp_transport **tp)
net/sctp/socket.c
1668
*tp = NULL;
net/sctp/socket.c
1692
err = sctp_connect_new_asoc(ep, daddr, cmsgs->init, tp);
net/sctp/socket.c
1695
asoc = (*tp)->asoc;
net/sctp/transport.c
481
void sctp_transport_update_rto(struct sctp_transport *tp, __u32 rtt)
net/sctp/transport.c
483
if (unlikely(!tp->rto_pending))
net/sctp/transport.c
485
pr_debug("%s: rto_pending not set on transport %p!\n", __func__, tp);
net/sctp/transport.c
487
if (tp->rttvar || tp->srtt) {
net/sctp/transport.c
488
struct net *net = tp->asoc->base.net;
net/sctp/transport.c
503
tp->rttvar = tp->rttvar - (tp->rttvar >> rto_beta)
net/sctp/transport.c
504
+ (((__u32)abs((__s64)tp->srtt - (__s64)rtt)) >> rto_beta);
net/sctp/transport.c
507
tp->srtt = tp->srtt - (tp->srtt >> rto_alpha)
net/sctp/transport.c
513
tp->srtt = rtt;
net/sctp/transport.c
514
tp->rttvar = rtt >> 1;
net/sctp/transport.c
520
if (tp->rttvar == 0)
net/sctp/transport.c
521
tp->rttvar = SCTP_CLOCK_GRANULARITY;
net/sctp/transport.c
524
tp->rto = tp->srtt + (tp->rttvar << 2);
net/sctp/transport.c
529
if (tp->rto < tp->asoc->rto_min)
net/sctp/transport.c
530
tp->rto = tp->asoc->rto_min;
net/sctp/transport.c
535
if (tp->rto > tp->asoc->rto_max)
net/sctp/transport.c
536
tp->rto = tp->asoc->rto_max;
net/sctp/transport.c
538
sctp_max_rto(tp->asoc, tp);
net/sctp/transport.c
539
tp->rtt = rtt;
net/sctp/transport.c
544
tp->rto_pending = 0;
net/sctp/transport.c
547
__func__, tp, rtt, tp->srtt, tp->rttvar, tp->rto);
net/smc/smc_hs_bpf.c
58
static int __smc_bpf_stub_set_tcp_option(struct tcp_sock *tp) { return 1; }
net/smc/smc_hs_bpf.c
59
static int __smc_bpf_stub_set_tcp_option_cond(const struct tcp_sock *tp,
net/smc/smc_tx.c
129
struct tcp_sock *tp = tcp_sk(smc->clcsock->sk);
net/smc/smc_tx.c
131
return (tp->nonagle & TCP_NAGLE_CORK) ? true : false;
net/tls/tls_device.c
286
struct tcp_sock *tp = tcp_sk(sk);
net/tls/tls_device.c
290
record->end_seq = tp->write_seq + record->len;
net/tls/tls_device.c
295
tls_device_resync_tx(sk, ctx, tp->write_seq);
net/tls/tls_strp.c
462
struct tcp_sock *tp = tcp_sk(strp->sk);
net/tls/tls_strp.c
466
first = tcp_recv_skb(strp->sk, tp->copied_seq, &offset);
net/wireless/pmsr.c
623
#define PUT(tp, attr, val) \
net/wireless/pmsr.c
625
if (nla_put_##tp(msg, \
net/wireless/pmsr.c
631
#define PUTOPT(tp, attr, val) \
net/wireless/pmsr.c
634
PUT(tp, attr, val); \
net/xfrm/xfrm_policy.c
2554
struct xfrm_state *tp[XFRM_MAX_DEPTH];
net/xfrm/xfrm_policy.c
2555
struct xfrm_state **tpp = (npols > 1) ? tp : xfrm;
net/xfrm/xfrm_policy.c
3795
struct xfrm_tmpl *tp[XFRM_MAX_DEPTH];
net/xfrm/xfrm_policy.c
3797
struct xfrm_tmpl **tpp = tp;
net/xfrm/xfrm_user.c
2189
static int copy_from_user_policy_type(u8 *tp, struct nlattr **attrs,
net/xfrm/xfrm_user.c
2206
*tp = type;
samples/bpf/hbm_kern.h
85
struct bpf_tcp_sock *tp;
samples/bpf/hbm_kern.h
92
tp = bpf_tcp_sock(sk);
samples/bpf/hbm_kern.h
93
if (tp) {
samples/bpf/hbm_kern.h
94
pkti->cwnd = tp->snd_cwnd;
samples/bpf/hbm_kern.h
95
pkti->rtt = tp->srtt_us >> 3;
samples/bpf/hbm_kern.h
96
pkti->packets_out = tp->packets_out;
samples/trace_events/trace_custom_sched.c
38
static void fct(struct tracepoint *tp, void *priv)
samples/trace_events/trace_custom_sched.c
40
trace_custom_event_sched_switch_update(tp);
samples/trace_events/trace_custom_sched.c
41
trace_custom_event_sched_waking_update(tp);
security/apparmor/domain.c
102
if (profile->ns == tp->ns)
security/apparmor/domain.c
103
return aa_dfa_match(rules->file->dfa, state, tp->base.hname);
security/apparmor/domain.c
106
ns_name = aa_ns_name(profile->ns, tp->ns, true);
security/apparmor/domain.c
110
return aa_dfa_match(rules->file->dfa, state, tp->base.hname);
security/apparmor/domain.c
135
struct aa_profile *tp;
security/apparmor/domain.c
140
label_for_each(i, label, tp) {
security/apparmor/domain.c
141
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/domain.c
143
state = match_component(profile, tp, stack, state);
security/apparmor/domain.c
154
label_for_each_cont(i, label, tp) {
security/apparmor/domain.c
155
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/domain.c
158
state = match_component(profile, tp, false, state);
security/apparmor/domain.c
197
struct aa_profile *tp;
security/apparmor/domain.c
204
label_for_each(i, label, tp) {
security/apparmor/domain.c
205
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/domain.c
207
state = match_component(profile, tp, stack, start);
security/apparmor/domain.c
221
label_for_each_cont(i, label, tp) {
security/apparmor/domain.c
222
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/domain.c
224
state = match_component(profile, tp, stack, start);
security/apparmor/domain.c
94
struct aa_profile *tp,
security/apparmor/label.c
1259
struct aa_profile *tp,
security/apparmor/label.c
1264
if (profile->ns == tp->ns)
security/apparmor/label.c
1265
return aa_dfa_match(rules->policy->dfa, state, tp->base.hname);
security/apparmor/label.c
1268
ns_name = aa_ns_name(profile->ns, tp->ns, true);
security/apparmor/label.c
1272
return aa_dfa_match(rules->policy->dfa, state, tp->base.hname);
security/apparmor/label.c
1297
struct aa_profile *tp;
security/apparmor/label.c
1301
label_for_each(i, label, tp) {
security/apparmor/label.c
1302
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/label.c
1304
state = match_component(profile, rules, tp, state);
security/apparmor/label.c
1315
label_for_each_cont(i, label, tp) {
security/apparmor/label.c
1316
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/label.c
1319
state = match_component(profile, rules, tp, state);
security/apparmor/label.c
1353
struct aa_profile *tp;
security/apparmor/label.c
1359
label_for_each(i, label, tp) {
security/apparmor/label.c
1360
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/label.c
1362
state = match_component(profile, rules, tp, start);
security/apparmor/label.c
1374
label_for_each_cont(i, label, tp) {
security/apparmor/label.c
1375
if (!aa_ns_visible(profile->ns, tp->ns, inview))
security/apparmor/label.c
1377
state = match_component(profile, rules, tp, start);
tools/include/nolibc/sys/time.h
16
static int _sys_clock_gettime(clockid_t clockid, struct timespec *tp);
tools/include/nolibc/sys/time.h
27
struct timespec tp;
tools/include/nolibc/sys/time.h
30
ret = _sys_clock_gettime(CLOCK_REALTIME, &tp);
tools/include/nolibc/sys/time.h
32
tv->tv_sec = tp.tv_sec;
tools/include/nolibc/sys/time.h
33
tv->tv_usec = (uint32_t)tp.tv_nsec / 1000;
tools/include/nolibc/time.h
54
int _sys_clock_gettime(clockid_t clockid, struct timespec *tp)
tools/include/nolibc/time.h
57
__nolibc_assert_time64_type(tp->tv_sec);
tools/include/nolibc/time.h
58
return __nolibc_syscall2(__NR_clock_gettime64, clockid, tp);
tools/include/nolibc/time.h
61
return __nolibc_syscall2(__NR_clock_gettime, clockid, tp);
tools/include/nolibc/time.h
66
int clock_gettime(clockid_t clockid, struct timespec *tp)
tools/include/nolibc/time.h
68
return __sysret(_sys_clock_gettime(clockid, tp));
tools/include/nolibc/time.h
72
int _sys_clock_settime(clockid_t clockid, struct timespec *tp)
tools/include/nolibc/time.h
75
__nolibc_assert_time64_type(tp->tv_sec);
tools/include/nolibc/time.h
76
return __nolibc_syscall2(__NR_clock_settime64, clockid, tp);
tools/include/nolibc/time.h
79
return __nolibc_syscall2(__NR_clock_settime, clockid, tp);
tools/include/nolibc/time.h
84
int clock_settime(clockid_t clockid, struct timespec *tp)
tools/include/nolibc/time.h
86
return __sysret(_sys_clock_settime(clockid, tp));
tools/include/uapi/linux/tcp.h
70
#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
tools/lib/bpf/usdt.c
1533
{ "tp", offsetof(struct user_regs_struct, tp) },
tools/perf/builtin-kvm.c
1774
char *tp, *name, *sys;
tools/perf/builtin-kvm.c
1784
tp = strdup(*events_tp);
tools/perf/builtin-kvm.c
1785
if (tp == NULL)
tools/perf/builtin-kvm.c
1789
sys = tp;
tools/perf/builtin-kvm.c
1790
name = strchr(tp, ':');
tools/perf/builtin-kvm.c
1794
free(tp);
tools/perf/builtin-kvm.c
1802
free(tp);
tools/perf/builtin-kvm.c
1806
free(tp);
tools/perf/builtin-trace.c
484
static int evsel__init_augmented_syscall_tp(struct evsel *evsel, struct evsel *tp)
tools/perf/builtin-trace.c
489
struct tep_format_field *syscall_id = evsel__field(tp, "id");
tools/perf/builtin-trace.c
491
syscall_id = evsel__field(tp, "__syscall_nr");
tools/perf/util/cputopo.c
100
tp->die_cpus_list[i] = buf;
tools/perf/util/cputopo.c
101
tp->die_cpus_lists++;
tools/perf/util/cputopo.c
125
for (i = 0; i < tp->core_cpus_lists; i++) {
tools/perf/util/cputopo.c
126
if (!strcmp(buf, tp->core_cpus_list[i]))
tools/perf/util/cputopo.c
129
if (i == tp->core_cpus_lists) {
tools/perf/util/cputopo.c
130
tp->core_cpus_list[i] = buf;
tools/perf/util/cputopo.c
131
tp->core_cpus_lists++;
tools/perf/util/cputopo.c
142
void cpu_topology__delete(struct cpu_topology *tp)
tools/perf/util/cputopo.c
146
if (!tp)
tools/perf/util/cputopo.c
149
for (i = 0 ; i < tp->package_cpus_lists; i++)
tools/perf/util/cputopo.c
150
zfree(&tp->package_cpus_list[i]);
tools/perf/util/cputopo.c
152
for (i = 0 ; i < tp->die_cpus_lists; i++)
tools/perf/util/cputopo.c
153
zfree(&tp->die_cpus_list[i]);
tools/perf/util/cputopo.c
155
for (i = 0 ; i < tp->core_cpus_lists; i++)
tools/perf/util/cputopo.c
156
zfree(&tp->core_cpus_list[i]);
tools/perf/util/cputopo.c
158
free(tp);
tools/perf/util/cputopo.c
258
struct cpu_topology *tp = NULL;
tools/perf/util/cputopo.c
283
addr = calloc(1, sizeof(*tp) + nr_addr * sz);
tools/perf/util/cputopo.c
287
tp = addr;
tools/perf/util/cputopo.c
288
addr += sizeof(*tp);
tools/perf/util/cputopo.c
289
tp->package_cpus_list = addr;
tools/perf/util/cputopo.c
292
tp->die_cpus_list = addr;
tools/perf/util/cputopo.c
295
tp->core_cpus_list = addr;
tools/perf/util/cputopo.c
301
ret = build_cpu_topology(tp, i);
tools/perf/util/cputopo.c
309
cpu_topology__delete(tp);
tools/perf/util/cputopo.c
310
tp = NULL;
tools/perf/util/cputopo.c
312
return tp;
tools/perf/util/cputopo.c
35
static int build_cpu_topology(struct cpu_topology *tp, int cpu)
tools/perf/util/cputopo.c
378
struct numa_topology *tp = NULL;
tools/perf/util/cputopo.c
406
tp = zalloc(sizeof(*tp) + sizeof(tp->nodes[0])*nr);
tools/perf/util/cputopo.c
407
if (!tp)
tools/perf/util/cputopo.c
410
tp->nr = nr;
tools/perf/util/cputopo.c
413
if (load_numa_node(&tp->nodes[i], perf_cpu_map__cpu(node_map, i).cpu)) {
tools/perf/util/cputopo.c
414
numa_topology__delete(tp);
tools/perf/util/cputopo.c
415
tp = NULL;
tools/perf/util/cputopo.c
424
return tp;
tools/perf/util/cputopo.c
427
void numa_topology__delete(struct numa_topology *tp)
tools/perf/util/cputopo.c
431
for (i = 0; i < tp->nr; i++)
tools/perf/util/cputopo.c
432
zfree(&tp->nodes[i].cpus);
tools/perf/util/cputopo.c
434
free(tp);
tools/perf/util/cputopo.c
474
struct hybrid_topology *tp = NULL;
tools/perf/util/cputopo.c
480
tp = zalloc(sizeof(*tp) + sizeof(tp->nodes[0]) * nr);
tools/perf/util/cputopo.c
481
if (!tp)
tools/perf/util/cputopo.c
484
tp->nr = nr;
tools/perf/util/cputopo.c
486
if (load_hybrid_node(&tp->nodes[i], pmu)) {
tools/perf/util/cputopo.c
487
hybrid_topology__delete(tp);
tools/perf/util/cputopo.c
493
return tp;
tools/perf/util/cputopo.c
496
void hybrid_topology__delete(struct hybrid_topology *tp)
tools/perf/util/cputopo.c
500
for (i = 0; i < tp->nr; i++) {
tools/perf/util/cputopo.c
501
zfree(&tp->nodes[i].pmu_name);
tools/perf/util/cputopo.c
502
zfree(&tp->nodes[i].cpus);
tools/perf/util/cputopo.c
505
free(tp);
tools/perf/util/cputopo.c
64
for (i = 0; i < tp->package_cpus_lists; i++) {
tools/perf/util/cputopo.c
65
if (!strcmp(buf, tp->package_cpus_list[i]))
tools/perf/util/cputopo.c
68
if (i == tp->package_cpus_lists) {
tools/perf/util/cputopo.c
69
tp->package_cpus_list[i] = buf;
tools/perf/util/cputopo.c
70
tp->package_cpus_lists++;
tools/perf/util/cputopo.c
77
if (!tp->die_cpus_list)
tools/perf/util/cputopo.c
95
for (i = 0; i < tp->die_cpus_lists; i++) {
tools/perf/util/cputopo.c
96
if (!strcmp(buf, tp->die_cpus_list[i]))
tools/perf/util/cputopo.c
99
if (i == tp->die_cpus_lists) {
tools/perf/util/cputopo.h
65
void cpu_topology__delete(struct cpu_topology *tp);
tools/perf/util/cputopo.h
73
void numa_topology__delete(struct numa_topology *tp);
tools/perf/util/cputopo.h
76
void hybrid_topology__delete(struct hybrid_topology *tp);
tools/perf/util/event.c
548
struct perf_record_text_poke_event *tp = &event->text_poke;
tools/perf/util/event.c
552
ret = fprintf(fp, " %" PRI_lx64 " ", tp->addr);
tools/perf/util/event.c
557
al.map = maps__find(machine__kernel_maps(machine), tp->addr);
tools/perf/util/event.c
559
al.addr = map__map_ip(al.map, tp->addr);
tools/perf/util/event.c
566
ret += fprintf(fp, " old len %u new len %u\n", tp->old_len, tp->new_len);
tools/perf/util/event.c
568
ret += binary__fprintf(tp->bytes, tp->old_len, 16, text_poke_printer,
tools/perf/util/event.c
571
ret += binary__fprintf(tp->bytes + tp->old_len, tp->new_len, 16,
tools/perf/util/header.c
1068
struct hybrid_topology *tp;
tools/perf/util/header.c
1072
tp = hybrid_topology__new();
tools/perf/util/header.c
1073
if (!tp)
tools/perf/util/header.c
1076
ret = do_write(ff, &tp->nr, sizeof(u32));
tools/perf/util/header.c
1080
for (i = 0; i < tp->nr; i++) {
tools/perf/util/header.c
1081
struct hybrid_topology_node *n = &tp->nodes[i];
tools/perf/util/header.c
1095
hybrid_topology__delete(tp);
tools/perf/util/header.c
691
struct cpu_topology *tp;
tools/perf/util/header.c
695
tp = cpu_topology__new();
tools/perf/util/header.c
696
if (!tp)
tools/perf/util/header.c
699
ret = do_write(ff, &tp->package_cpus_lists, sizeof(tp->package_cpus_lists));
tools/perf/util/header.c
703
for (i = 0; i < tp->package_cpus_lists; i++) {
tools/perf/util/header.c
704
ret = do_write_string(ff, tp->package_cpus_list[i]);
tools/perf/util/header.c
708
ret = do_write(ff, &tp->core_cpus_lists, sizeof(tp->core_cpus_lists));
tools/perf/util/header.c
712
for (i = 0; i < tp->core_cpus_lists; i++) {
tools/perf/util/header.c
713
ret = do_write_string(ff, tp->core_cpus_list[i]);
tools/perf/util/header.c
733
if (!tp->die_cpus_lists)
tools/perf/util/header.c
736
ret = do_write(ff, &tp->die_cpus_lists, sizeof(tp->die_cpus_lists));
tools/perf/util/header.c
740
for (i = 0; i < tp->die_cpus_lists; i++) {
tools/perf/util/header.c
741
ret = do_write_string(ff, tp->die_cpus_list[i]);
tools/perf/util/header.c
754
cpu_topology__delete(tp);
tools/perf/util/header.c
792
struct numa_topology *tp;
tools/perf/util/header.c
796
tp = numa_topology__new();
tools/perf/util/header.c
797
if (!tp)
tools/perf/util/header.c
800
ret = do_write(ff, &tp->nr, sizeof(u32));
tools/perf/util/header.c
804
for (i = 0; i < tp->nr; i++) {
tools/perf/util/header.c
805
struct numa_topology_node *n = &tp->nodes[i];
tools/perf/util/header.c
827
numa_topology__delete(tp);
tools/perf/util/probe-event.c
1282
find_perf_probe_point_from_dwarf(struct probe_trace_point *tp __maybe_unused,
tools/perf/util/probe-event.c
1900
struct probe_trace_point *tp = &tev->point;
tools/perf/util/probe-event.c
1942
tp->retprobe = (pr == 'r');
tools/perf/util/probe-event.c
1947
tp->module = strndup(argv[1], p - argv[1]);
tools/perf/util/probe-event.c
1948
if (!tp->module) {
tools/perf/util/probe-event.c
1952
tev->uprobes = (tp->module[0] == '/');
tools/perf/util/probe-event.c
1971
tp->address = 0;
tools/perf/util/probe-event.c
1980
tp->address = strtoull(fmt1_str, NULL, 0);
tools/perf/util/probe-event.c
1983
tp->symbol = strdup(fmt1_str);
tools/perf/util/probe-event.c
1984
if (tp->symbol == NULL) {
tools/perf/util/probe-event.c
1990
tp->offset = 0;
tools/perf/util/probe-event.c
1992
tp->offset = strtoul(fmt2_str, NULL, 10);
tools/perf/util/probe-event.c
1998
tp->ref_ctr_offset = strtoul(fmt2_str + 1, NULL, 0);
tools/perf/util/probe-event.c
2213
synthesize_uprobe_trace_def(struct probe_trace_point *tp, struct strbuf *buf)
tools/perf/util/probe-event.c
2218
if (!tp->module)
tools/perf/util/probe-event.c
2226
if (!tp->address && (!tp->symbol || strcmp(tp->symbol, "0x0")))
tools/perf/util/probe-event.c
2230
err = strbuf_addf(buf, "%s:0x%" PRIx64, tp->module, tp->address);
tools/perf/util/probe-event.c
2232
if (err >= 0 && tp->ref_ctr_offset) {
tools/perf/util/probe-event.c
2235
err = strbuf_addf(buf, "(0x%lx)", tp->ref_ctr_offset);
tools/perf/util/probe-event.c
2241
synthesize_kprobe_trace_def(struct probe_trace_point *tp, struct strbuf *buf)
tools/perf/util/probe-event.c
2243
if (!strncmp(tp->symbol, "0x", 2)) {
tools/perf/util/probe-event.c
2245
return strbuf_addf(buf, "%s%s0x%" PRIx64, tp->module ?: "",
tools/perf/util/probe-event.c
2246
tp->module ? ":" : "", tp->address);
tools/perf/util/probe-event.c
2248
return strbuf_addf(buf, "%s%s%s+%lu", tp->module ?: "",
tools/perf/util/probe-event.c
2249
tp->module ? ":" : "", tp->symbol, tp->offset);
tools/perf/util/probe-event.c
2255
struct probe_trace_point *tp = &tev->point;
tools/perf/util/probe-event.c
2263
if (strbuf_addf(&buf, "%c:%s/%s ", tp->retprobe ? 'r' : 'p',
tools/perf/util/probe-event.c
2268
err = synthesize_uprobe_trace_def(tp, &buf);
tools/perf/util/probe-event.c
2270
err = synthesize_kprobe_trace_def(tp, &buf);
tools/perf/util/probe-event.c
2282
static int find_perf_probe_point_from_map(struct probe_trace_point *tp,
tools/perf/util/probe-event.c
2288
u64 addr = tp->address;
tools/perf/util/probe-event.c
2292
map = dso__new_map(tp->module);
tools/perf/util/probe-event.c
2297
if (tp->symbol && !addr) {
tools/perf/util/probe-event.c
2298
if (kernel_get_symbol_address_by_name(tp->symbol,
tools/perf/util/probe-event.c
2303
addr += tp->offset;
tools/perf/util/probe-event.c
2311
pp->retprobe = tp->retprobe;
tools/perf/util/probe-event.c
2322
static int convert_to_perf_probe_point(struct probe_trace_point *tp,
tools/perf/util/probe-event.c
2329
ret = find_perf_probe_point_from_dwarf(tp, pp, is_kprobe);
tools/perf/util/probe-event.c
2332
ret = find_perf_probe_point_from_map(tp, pp, is_kprobe);
tools/perf/util/probe-event.c
2338
if (tp->symbol) {
tools/perf/util/probe-event.c
2339
pp->function = strdup(tp->symbol);
tools/perf/util/probe-event.c
2340
pp->offset = tp->offset;
tools/perf/util/probe-event.c
2342
ret = e_snprintf(buf, 128, "0x%" PRIx64, tp->address);
tools/perf/util/probe-event.c
2351
pp->retprobe = tp->retprobe;
tools/perf/util/probe-event.c
2870
struct probe_trace_point *tp = &tev->point;
tools/perf/util/probe-event.c
2872
if (tp->ref_ctr_offset && !uprobe_ref_ctr_is_supported()) {
tools/perf/util/probe-event.c
3124
struct probe_trace_point *tp;
tools/perf/util/probe-event.c
3206
tp = &tev->point;
tools/perf/util/probe-event.c
3220
tp->address = map__unmap_ip(map, sym->start) + pp->offset;
tools/perf/util/probe-event.c
3224
kprobe_warn_out_range(sym->name, tp->address)) {
tools/perf/util/probe-event.c
3225
tp->symbol = NULL; /* Skip it */
tools/perf/util/probe-event.c
3228
tp->symbol = strdup_or_goto(reloc_sym->name, nomem_out);
tools/perf/util/probe-event.c
3229
tp->offset = tp->address - reloc_sym->addr;
tools/perf/util/probe-event.c
3231
tp->symbol = strdup_or_goto(sym->name, nomem_out);
tools/perf/util/probe-event.c
3232
tp->offset = pp->offset;
tools/perf/util/probe-event.c
3234
tp->realname = strdup_or_goto(sym->name, nomem_out);
tools/perf/util/probe-event.c
3236
tp->retprobe = pp->retprobe;
tools/perf/util/probe-event.c
3295
struct probe_trace_point *tp;
tools/perf/util/probe-event.c
3314
tp = &tev->point;
tools/perf/util/probe-event.c
3321
tp->address = pev->point.abs_address;
tools/perf/util/probe-event.c
3322
tp->retprobe = pp->retprobe;
tools/perf/util/probe-event.c
3331
if (asprintf(&tp->symbol, "0x%" PRIx64, tp->address) < 0)
tools/perf/util/probe-event.c
3342
if (asprintf(&tp->realname, "abs_%" PRIx64, tp->address) < 0)
tools/perf/util/probe-event.c
3346
tp->module = strdup(pev->target);
tools/perf/util/probe-event.c
3347
if (!tp->module)
tools/perf/util/probe-event.c
3676
struct probe_trace_point *tp = &tev->point;
tools/perf/util/probe-event.c
3684
err = synthesize_kprobe_trace_def(tp, &buf);
tools/perf/util/probe-event.c
662
static int find_perf_probe_point_from_dwarf(struct probe_trace_point *tp,
tools/perf/util/probe-event.c
668
u64 addr = tp->address;
tools/perf/util/probe-event.c
677
ret = get_text_start_address(tp->module, &stext, NULL);
tools/perf/util/probe-event.c
681
} else if (tp->symbol) {
tools/perf/util/probe-event.c
683
ret = kernel_get_symbol_address_by_name(tp->symbol, &addr,
tools/perf/util/probe-event.c
684
false, !!tp->module);
tools/perf/util/probe-event.c
687
addr += tp->offset;
tools/perf/util/probe-event.c
691
tp->module ? : "kernel");
tools/perf/util/probe-event.c
693
dinfo = debuginfo_cache__open(tp->module, verbose <= 0);
tools/perf/util/probe-event.c
700
pp->retprobe = tp->retprobe;
tools/perf/util/probe-event.c
709
static int post_process_probe_trace_point(struct probe_trace_point *tp,
tools/perf/util/probe-event.c
713
u64 addr = tp->address - offs;
tools/perf/util/probe-event.c
724
if (strcmp(sym->name, tp->symbol)) {
tools/perf/util/probe-event.c
726
if (!tp->realname)
tools/perf/util/probe-event.c
727
tp->realname = tp->symbol;
tools/perf/util/probe-event.c
729
free(tp->symbol);
tools/perf/util/probe-event.c
730
tp->symbol = strdup(sym->name);
tools/perf/util/probe-event.c
731
if (!tp->symbol)
tools/perf/util/probe-event.c
734
tp->offset = addr - sym->start;
tools/perf/util/probe-event.c
735
tp->address -= offs;
tools/perf/util/probe-finder.c
550
struct probe_trace_point *tp)
tools/perf/util/probe-finder.c
577
tp->offset = (unsigned long)(paddr - eaddr);
tools/perf/util/probe-finder.c
578
tp->address = paddr;
tools/perf/util/probe-finder.c
579
tp->symbol = strdup(symbol);
tools/perf/util/probe-finder.c
580
if (!tp->symbol)
tools/perf/util/probe-finder.c
592
tp->retprobe = true;
tools/power/x86/turbostat/turbostat.c
10665
msrp = find_msrp_by_name(sys.tp, name);
tools/power/x86/turbostat/turbostat.c
10719
msrp->next = sys.tp;
tools/power/x86/turbostat/turbostat.c
10720
sys.tp = msrp;
tools/power/x86/turbostat/turbostat.c
2319
struct msr_counter *tp;
tools/power/x86/turbostat/turbostat.c
2365
sys.added_thread_counters -= free_msr_counters_(&sys.tp);
tools/power/x86/turbostat/turbostat.c
2978
for (mp = sys.tp; mp; mp = mp->next)
tools/power/x86/turbostat/turbostat.c
3219
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
tools/power/x86/turbostat/turbostat.c
3508
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
tools/power/x86/turbostat/turbostat.c
4056
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
tools/power/x86/turbostat/turbostat.c
4181
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next)
tools/power/x86/turbostat/turbostat.c
4250
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
tools/power/x86/turbostat/turbostat.c
4419
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
tools/power/x86/turbostat/turbostat.c
5268
for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
tools/testing/selftests/bpf/benchs/bench_trigger.c
639
BENCH_TRIG_KERNEL(tp, "tp");
tools/testing/selftests/bpf/prog_tests/sock_fields.c
83
static void print_tp(const struct bpf_tcp_sock *tp, const char *prefix)
tools/testing/selftests/bpf/prog_tests/sock_fields.c
92
tp->snd_cwnd, tp->srtt_us, tp->rtt_min, tp->snd_ssthresh,
tools/testing/selftests/bpf/prog_tests/sock_fields.c
93
tp->rcv_nxt, tp->snd_nxt, tp->snd_una, tp->mss_cache,
tools/testing/selftests/bpf/prog_tests/sock_fields.c
94
tp->ecn_flags, tp->rate_delivered, tp->rate_interval_us,
tools/testing/selftests/bpf/prog_tests/sock_fields.c
95
tp->packets_out, tp->retrans_out, tp->total_retrans,
tools/testing/selftests/bpf/prog_tests/sock_fields.c
96
tp->segs_in, tp->data_segs_in, tp->segs_out,
tools/testing/selftests/bpf/prog_tests/sock_fields.c
97
tp->data_segs_out, tp->lost_out, tp->sacked_out,
tools/testing/selftests/bpf/prog_tests/sock_fields.c
98
tp->bytes_received, tp->bytes_acked);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
120
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
127
if (!before(tp->snd_una, tp->high_seq)) {
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
129
if (tp->snd_ssthresh < TCP_INFINITE_SSTHRESH &&
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
131
tp->snd_cwnd = tp->snd_ssthresh;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
132
tp->snd_cwnd_stamp = tcp_jiffies32;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
138
tp->snd_cwnd_stamp = tcp_jiffies32;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
40
const struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
44
rate = (__u64)tp->mss_cache * ((USEC_PER_SEC / 100) << 3);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
54
if (tp->snd_cwnd < tp->snd_ssthresh / 2)
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
59
rate *= max(tp->snd_cwnd, tp->packets_out);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
61
if (tp->srtt_us)
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
62
rate = div64_u64(rate, (__u64)tp->srtt_us);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
70
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
72
__u32 pkts_in_flight = tp->packets_out - (tp->sacked_out + tp->lost_out) + tp->retrans_out;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
73
int delta = tp->snd_ssthresh - pkts_in_flight;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
75
if (newly_acked_sacked <= 0 || !tp->prior_cwnd)
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
78
__u32 prr_delivered = tp->prr_delivered + newly_acked_sacked;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
82
(__u64)tp->snd_ssthresh * prr_delivered + tp->prior_cwnd - 1;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
83
sndcnt = (__u32)div64_u64(dividend, (__u64)tp->prior_cwnd) - tp->prr_out;
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
85
sndcnt = max(prr_delivered - tp->prr_out, newly_acked_sacked);
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
91
sndcnt = max(sndcnt, (tp->prr_out ? 0 : 1));
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c
92
tp->snd_cwnd = pkts_in_flight + sndcnt;
tools/testing/selftests/bpf/progs/bpf_cubic.c
165
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cubic.c
169
ca->end_seq = tp->snd_nxt;
tools/testing/selftests/bpf/progs/bpf_cubic.c
25
extern __u32 tcp_slow_start(struct tcp_sock *tp, __u32 acked) __ksym;
tools/testing/selftests/bpf/progs/bpf_cubic.c
26
extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym;
tools/testing/selftests/bpf/progs/bpf_cubic.c
392
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cubic.c
398
if (tcp_in_slow_start(tp)) {
tools/testing/selftests/bpf/progs/bpf_cubic.c
401
acked = tcp_slow_start(tp, acked);
tools/testing/selftests/bpf/progs/bpf_cubic.c
405
bictcp_update(ca, tp->snd_cwnd, acked);
tools/testing/selftests/bpf/progs/bpf_cubic.c
406
tcp_cong_avoid_ai(tp, ca->cnt, acked);
tools/testing/selftests/bpf/progs/bpf_cubic.c
412
const struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cubic.c
418
if (tp->snd_cwnd < ca->last_max_cwnd && fast_convergence)
tools/testing/selftests/bpf/progs/bpf_cubic.c
419
ca->last_max_cwnd = (tp->snd_cwnd * (BICTCP_BETA_SCALE + beta))
tools/testing/selftests/bpf/progs/bpf_cubic.c
422
ca->last_max_cwnd = tp->snd_cwnd;
tools/testing/selftests/bpf/progs/bpf_cubic.c
424
return max((tp->snd_cwnd * beta) / BICTCP_BETA_SCALE, 2U);
tools/testing/selftests/bpf/progs/bpf_cubic.c
460
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cubic.c
483
tp->snd_ssthresh = tp->snd_cwnd;
tools/testing/selftests/bpf/progs/bpf_cubic.c
498
tp->snd_ssthresh = tp->snd_cwnd;
tools/testing/selftests/bpf/progs/bpf_cubic.c
509
const struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_cubic.c
531
if (!ca->found && tcp_in_slow_start(tp) && hystart &&
tools/testing/selftests/bpf/progs/bpf_cubic.c
532
tp->snd_cwnd >= hystart_low_window)
tools/testing/selftests/bpf/progs/bpf_dctcp.c
100
stg = bpf_sk_storage_get(&sk_stg_map, (void *)tp, NULL, 0);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
103
bpf_sk_storage_delete(&sk_stg_map, (void *)tp);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
105
dctcp_reset(tp, ca);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
112
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
114
ca->loss_cwnd = tp->snd_cwnd;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
115
return max(tp->snd_cwnd - ((tp->snd_cwnd * ca->dctcp_alpha) >> 11U), 2U);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
121
const struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
125
if (!before(tp->snd_una, ca->next_seq)) {
tools/testing/selftests/bpf/progs/bpf_dctcp.c
126
__u32 delivered_ce = tp->delivered_ce - ca->old_delivered_ce;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
133
__u32 delivered = tp->delivered - ca->old_delivered;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
144
dctcp_reset(tp, ca);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
151
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
153
ca->loss_cwnd = tp->snd_cwnd;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
154
tp->snd_ssthresh = max(tp->snd_cwnd >> 1U, 2U);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
170
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
173
tp->ecn_flags |= TCP_ECN_DEMAND_CWR;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
175
tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
53
static void dctcp_reset(const struct tcp_sock *tp, struct bpf_dctcp *ca)
tools/testing/selftests/bpf/progs/bpf_dctcp.c
55
ca->next_seq = tp->snd_nxt;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
57
ca->old_delivered = tp->delivered;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
58
ca->old_delivered_ce = tp->delivered_ce;
tools/testing/selftests/bpf/progs/bpf_dctcp.c
64
const struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_dctcp.c
68
if (!(tp->ecn_flags & TCP_ECN_OK) && fallback_cc[0]) {
tools/testing/selftests/bpf/progs/bpf_dctcp.c
95
ca->prior_rcv_nxt = tp->rcv_nxt;
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
11
tp = NULL; \
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
13
tp = bpf_skc_to_tcp_sock(_skc); \
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
14
sk = (struct sock *)tp; \
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
16
tp; \
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
30
struct tcp_sock *tp;
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
44
if (bpf_getsockopt(tp, SOL_TCP, TCP_CONGESTION,
tools/testing/selftests/bpf/progs/bpf_iter_setsockopt.c
54
bpf_setsockopt(tp, SOL_TCP, TCP_CONGESTION, dctcp_cc, sizeof(dctcp_cc));
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
118
rx_queue = tp->rcv_nxt - tp->copied_seq;
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
127
tp->write_seq - tp->snd_una, rx_queue,
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
135
tp,
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
139
tp->snd_cwnd,
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
141
: (tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh)
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
202
struct tcp_sock *tp;
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
220
tp = bpf_skc_to_tcp_sock(sk_common);
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
221
if (tp)
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
222
return dump_tcp_sock(seq, tp, uid, seq_num);
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
74
static int dump_tcp_sock(struct seq_file *seq, struct tcp_sock *tp,
tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
88
icsk = &tp->inet_conn;
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
118
rx_queue = tp->tcp.rcv_nxt - tp->tcp.copied_seq;
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
131
tp->tcp.write_seq - tp->tcp.snd_una, rx_queue,
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
139
tp,
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
143
tp->tcp.snd_cwnd,
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
145
: (tcp_in_initial_slowstart(&tp->tcp) ? -1
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
146
: tp->tcp.snd_ssthresh)
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
218
struct tcp6_sock *tp;
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
236
tp = bpf_skc_to_tcp6_sock(sk_common);
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
237
if (tp)
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
238
return dump_tcp6_sock(seq, tp, uid, seq_num);
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
74
static int dump_tcp6_sock(struct seq_file *seq, struct tcp6_sock *tp,
tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
88
icsk = &tp->tcp.inet_conn;
tools/testing/selftests/bpf/progs/bpf_smc.c
122
int BPF_PROG(bpf_smc_set_tcp_option_cond, const struct tcp_sock *tp,
tools/testing/selftests/bpf/progs/bpf_smc.c
130
int BPF_PROG(bpf_smc_set_tcp_option, struct tcp_sock *tp)
tools/testing/selftests/bpf/progs/bpf_smc.c
132
return smc_check(tp->inet_conn.icsk_inet.sk.__sk_common.skc_rcv_saddr,
tools/testing/selftests/bpf/progs/bpf_smc.c
133
tp->inet_conn.icsk_inet.sk.__sk_common.skc_daddr);
tools/testing/selftests/bpf/progs/bpf_tracing_net.h
178
static inline bool tcp_in_slow_start(const struct tcp_sock *tp)
tools/testing/selftests/bpf/progs/bpf_tracing_net.h
180
return tp->snd_cwnd < tp->snd_ssthresh;
tools/testing/selftests/bpf/progs/bpf_tracing_net.h
185
const struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/bpf_tracing_net.h
188
if (tcp_in_slow_start(tp))
tools/testing/selftests/bpf/progs/bpf_tracing_net.h
189
return tp->snd_cwnd < 2 * tp->max_packets_out;
tools/testing/selftests/bpf/progs/bpf_tracing_net.h
191
return !!BPF_CORE_READ_BITFIELD(tp, is_cwnd_limited);
tools/testing/selftests/bpf/progs/setget_sockopt.c
377
struct tcp_sock *tp;
tools/testing/selftests/bpf/progs/setget_sockopt.c
382
tp = bpf_core_cast(sk, struct tcp_sock);
tools/testing/selftests/bpf/progs/setget_sockopt.c
384
*optval = tp->bpf_sock_ops_cb_flags;
tools/testing/selftests/bpf/progs/sockopt_sk.c
153
struct bpf_tcp_sock *tp = bpf_tcp_sock(sk);
tools/testing/selftests/bpf/progs/sockopt_sk.c
155
if (tp) {
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
11
static unsigned int tcp_left_out(const struct tcp_sock *tp)
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
13
return tp->sacked_out + tp->lost_out;
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
16
static unsigned int tcp_packets_in_flight(const struct tcp_sock *tp)
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
18
return tp->packets_out - tcp_left_out(tp) + tp->retrans_out;
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
36
struct tcp_sock *tp = tcp_sk(sk);
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
38
((tp->snd_cwnd * tp->mss_cache * USEC_PER_SEC) << 3) /
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
39
(tp->srtt_us ?: 1U << 3);
tools/testing/selftests/bpf/progs/tcp_ca_write_sk_pacing.c
41
tp->app_limited = (tp->delivered + tcp_packets_in_flight(tp)) ?: 1;
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
149
struct tcp_sock *tp;
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
151
tp = bpf_skc_to_tcp_sock(bpf_skc);
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
152
if (!tp) {
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
157
if (bpf_sk_assign(skb, tp, 0)) {
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
162
listen_tp_sport = tp->inet_conn.icsk_inet.sk.__sk_common.skc_num;
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
164
test_syncookie_helper(iphdr, iphdr_size, th, tp, skb);
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
165
bpf_sk_release(tp);
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
24
struct tcphdr *th, struct tcp_sock *tp,
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
43
mss_cookie = bpf_tcp_gen_syncookie(tp, iphdr, iphdr_size,
tools/testing/selftests/bpf/progs/test_btf_skc_cls_ingress.c
54
int ret = bpf_tcp_check_syncookie(tp, iphdr, iphdr_size,
tools/testing/selftests/bpf/progs/test_sock_fields.c
129
struct bpf_tcp_sock *tp, *tp_ret;
tools/testing/selftests/bpf/progs/test_sock_fields.c
169
tp = bpf_tcp_sock(sk);
tools/testing/selftests/bpf/progs/test_sock_fields.c
170
if (!tp)
tools/testing/selftests/bpf/progs/test_sock_fields.c
174
tpcpy(tp_ret, tp);
tools/testing/selftests/bpf/progs/test_sock_fields.c
223
struct bpf_tcp_sock *tp;
tools/testing/selftests/bpf/progs/test_sock_fields.c
247
tp = bpf_tcp_sock(sk);
tools/testing/selftests/bpf/progs/test_sock_fields.c
248
if (!tp)
tools/testing/selftests/bpf/progs/test_sock_fields.c
252
tpcpy(&listen_tp, tp);
tools/testing/selftests/bpf/progs/test_tcpbpf_kern.c
20
struct tcp_sock *tp;
tools/testing/selftests/bpf/progs/test_tcpbpf_kern.c
25
tp = bpf_skc_to_tcp_sock(sk);
tools/testing/selftests/bpf/progs/test_tcpbpf_kern.c
26
if (!tp)
tools/testing/selftests/bpf/progs/test_tcpbpf_kern.c
28
return tp->window_clamp;
tools/testing/selftests/bpf/progs/verifier_ctx.c
855
no_rewrite_ctx_access("tracepoint", tp, 8, u64);
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
21
struct bpf_sock_tuple *tp;
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
36
tp = (struct bpf_sock_tuple *)&iph->saddr;
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
37
tplen = sizeof(tp->ipv4);
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
38
if ((void *)tp + tplen > data_end)
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
44
sk = bpf_skc_lookup_tcp(ctx, tp, tplen, CUR_NS, 0);
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
46
sk = bpf_sk_lookup_tcp(ctx, tp, tplen, CUR_NS, 0);
tools/testing/selftests/bpf/progs/vrf_socket_lookup.c
49
sk = bpf_sk_lookup_udp(ctx, tp, tplen, CUR_NS, 0);
tools/testing/selftests/bpf/progs/xdp_synproxy_kern.c
22
#define tcp_flag_word(tp) (((union tcp_word_hdr *)(tp))->words[3])
tools/testing/selftests/kvm/include/riscv/processor.h
81
unsigned long tp;
tools/testing/selftests/kvm/lib/riscv/processor.c
244
core.regs.tp = vcpu_get_reg(vcpu, RISCV_CORE_REG(regs.tp));
tools/testing/selftests/kvm/lib/riscv/processor.c
280
core.regs.tp, core.regs.t0, core.regs.t1, core.regs.t2);
tools/testing/selftests/kvm/riscv/get-reg-list.c
331
case KVM_REG_RISCV_CORE_REG(regs.tp):
tools/testing/selftests/kvm/riscv/get-reg-list.c
862
KVM_REG_RISCV | KVM_REG_SIZE_ULONG | KVM_REG_RISCV_CORE | KVM_REG_RISCV_CORE_REG(regs.tp),
tools/testing/selftests/ptp/testptp.c
199
int64_t t1, t2, tp;
tools/testing/selftests/ptp/testptp.c
575
tp = pctns(pct+2*i+1);
tools/testing/selftests/ptp/testptp.c
578
offset = (t2 + t1) / 2 - tp;
tools/testing/selftests/timens/gettime_perf.c
49
struct timespec tp, start;
tools/testing/selftests/timens/gettime_perf.c
54
tp = start;
tools/testing/selftests/timens/gettime_perf.c
55
for (tp = start; start.tv_sec + timeout > tp.tv_sec ||
tools/testing/selftests/timens/gettime_perf.c
56
(start.tv_sec + timeout == tp.tv_sec &&
tools/testing/selftests/timens/gettime_perf.c
57
start.tv_nsec > tp.tv_nsec); i++) {
tools/testing/selftests/timens/gettime_perf.c
58
vdso_clock_gettime(clockid, &tp);
tools/thermal/tmon/sysfs.c
138
ptdata.tzi[tzid].tp[tpid].type = trip_type;
tools/thermal/tmon/sysfs.c
190
tzi->tp[tp_id].temp = temp_ulong;
tools/thermal/tmon/tmon.c
183
trip_type_name[ptdata.tzi[i].tp[j].type],
tools/thermal/tmon/tmon.c
184
ptdata.tzi[i].tp[j].temp);
tools/thermal/tmon/tmon.h
82
struct trip_point tp[MAX_NR_TRIP];
tools/thermal/tmon/tui.c
555
x = ptdata.tzi[tz].tp[j].temp / 1000;
tools/thermal/tmon/tui.c
557
"%c%d", trip_type_to_char(ptdata.tzi[tz].tp[j].type),
tools/thermal/tmon/tui.c
560
tz, j, ptdata.tzi[tz].tp[j].temp);
tools/thermal/tmon/tui.c
638
type = trip_type_to_char(ptdata.tzi[i].tp[j].type);
tools/tracing/latency/latency-collector.c
277
struct timespec *tp)
tools/tracing/latency/latency-collector.c
279
int r = clock_gettime(clk_id, tp);