Symbol: fs
arch/alpha/include/asm/sfp-machine.h
55
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
arch/arm/kernel/setup.c
627
u32 fs[3], bits[3], ls, mask = 0;
arch/arm/kernel/setup.c
647
fs[i] = affinity ? ffs(affinity) - 1 : 0;
arch/arm/kernel/setup.c
648
bits[i] = ls - fs[i];
arch/arm/kernel/setup.c
660
mpidr_hash.shift_aff[0] = fs[0];
arch/arm/kernel/setup.c
661
mpidr_hash.shift_aff[1] = MPIDR_LEVEL_BITS + fs[1] - bits[0];
arch/arm/kernel/setup.c
662
mpidr_hash.shift_aff[2] = 2*MPIDR_LEVEL_BITS + fs[2] -
arch/arm/mm/fault.c
120
int fs = fsr_fs(fsr);
arch/arm/mm/fault.c
122
if ((fs & FS_MMU_NOLL_MASK) == FS_TRANS_NOLL)
arch/arm/mm/fault.c
125
if (fs == FS_L1_TRANS || fs == FS_L2_TRANS)
arch/arm/mm/fault.c
133
int fs = fsr_fs(fsr);
arch/arm/mm/fault.c
135
if ((fs & FS_MMU_NOLL_MASK) == FS_PERM_NOLL)
arch/arm/mm/fault.c
138
if (fs == FS_L1_PERM || fs == FS_L2_PERM)
arch/arm64/kernel/setup.c
113
u32 i, affinity, fs[4], bits[4], ls;
arch/arm64/kernel/setup.c
134
fs[i] = affinity ? ffs(affinity) - 1 : 0;
arch/arm64/kernel/setup.c
135
bits[i] = ls - fs[i];
arch/arm64/kernel/setup.c
147
mpidr_hash.shift_aff[0] = MPIDR_LEVEL_SHIFT(0) + fs[0];
arch/arm64/kernel/setup.c
148
mpidr_hash.shift_aff[1] = MPIDR_LEVEL_SHIFT(1) + fs[1] - bits[0];
arch/arm64/kernel/setup.c
149
mpidr_hash.shift_aff[2] = MPIDR_LEVEL_SHIFT(2) + fs[2] -
arch/arm64/kernel/setup.c
152
fs[3] - (bits[2] + bits[1] + bits[0]);
arch/m68k/kernel/traps.c
698
static inline void access_errorcf(unsigned int fs, struct frame *fp)
arch/m68k/kernel/traps.c
712
switch (fs) {
arch/m68k/kernel/traps.c
745
err_code = fs_err_code[fs];
arch/m68k/kernel/traps.c
746
if ((fs == 13) && (mmusr & MMUSR_WF)) /* rd-mod-wr access */
arch/m68k/kernel/traps.c
763
unsigned int fs;
arch/m68k/kernel/traps.c
764
fs = (fp->ptregs.vector & 0x3) |
arch/m68k/kernel/traps.c
766
switch (fs) {
arch/m68k/kernel/traps.c
775
access_errorcf(fs, fp);
arch/mips/include/uapi/asm/inst.h
743
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
761
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
838
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
847
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
859
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
868
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
878
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
890
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
900
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
922
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/include/uapi/asm/inst.h
931
__BITFIELD_FIELD(unsigned int fs : 5,
arch/mips/math-emu/cp1emu.c
1474
union ieee754sp fd, fr, fs, ft;
arch/mips/math-emu/cp1emu.c
150
mips32_insn.fp6_format.fs = insn.mm_fp6_format.fs;
arch/mips/math-emu/cp1emu.c
1543
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1545
fd = (*handler) (fr, fs, ft);
arch/mips/math-emu/cp1emu.c
1583
union ieee754dp fd, fr, fs, ft;
arch/mips/math-emu/cp1emu.c
1651
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1653
fd = (*handler) (fr, fs, ft);
arch/mips/math-emu/cp1emu.c
1705
union ieee754sp fd, fs, ft;
arch/mips/math-emu/cp1emu.c
1810
union ieee754sp ft, fs, fd;
arch/mips/math-emu/cp1emu.c
1817
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1819
rv.s = ieee754sp_maddf(fd, fs, ft);
arch/mips/math-emu/cp1emu.c
1824
union ieee754sp ft, fs, fd;
arch/mips/math-emu/cp1emu.c
1831
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1833
rv.s = ieee754sp_msubf(fd, fs, ft);
arch/mips/math-emu/cp1emu.c
1838
union ieee754sp fs;
arch/mips/math-emu/cp1emu.c
1844
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1845
rv.s = ieee754sp_rint(fs);
arch/mips/math-emu/cp1emu.c
1850
union ieee754sp fs;
arch/mips/math-emu/cp1emu.c
1856
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1857
rv.w = ieee754sp_2008class(fs);
arch/mips/math-emu/cp1emu.c
1863
union ieee754sp fs, ft;
arch/mips/math-emu/cp1emu.c
1870
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1871
rv.s = ieee754sp_fmin(fs, ft);
arch/mips/math-emu/cp1emu.c
1876
union ieee754sp fs, ft;
arch/mips/math-emu/cp1emu.c
1883
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1884
rv.s = ieee754sp_fmina(fs, ft);
arch/mips/math-emu/cp1emu.c
1889
union ieee754sp fs, ft;
arch/mips/math-emu/cp1emu.c
1896
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1897
rv.s = ieee754sp_fmax(fs, ft);
arch/mips/math-emu/cp1emu.c
190
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
1902
union ieee754sp fs, ft;
arch/mips/math-emu/cp1emu.c
1909
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
191
insn.mm_fp2_format.fs;
arch/mips/math-emu/cp1emu.c
1910
rv.s = ieee754sp_fmaxa(fs, ft);
arch/mips/math-emu/cp1emu.c
1932
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1935
rv.s = (*handler.b) (fs, ft);
arch/mips/math-emu/cp1emu.c
1938
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1939
rv.s = (*handler.u) (fs);
arch/mips/math-emu/cp1emu.c
1970
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1971
rv.d = ieee754dp_fsp(fs);
arch/mips/math-emu/cp1emu.c
1977
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
1978
rv.w = ieee754sp_tint(fs);
arch/mips/math-emu/cp1emu.c
1999
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2001
rv.w = ieee754sp_tint(fs);
arch/mips/math-emu/cp1emu.c
2023
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2024
rv.l = ieee754sp_tlong(fs);
arch/mips/math-emu/cp1emu.c
2045
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2047
rv.l = ieee754sp_tlong(fs);
arch/mips/math-emu/cp1emu.c
2055
union ieee754sp fs, ft;
arch/mips/math-emu/cp1emu.c
2058
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2060
rv.w = ieee754sp_cmp(fs, ft,
arch/mips/math-emu/cp1emu.c
2077
union ieee754dp fd, fs, ft;
arch/mips/math-emu/cp1emu.c
214
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
215
insn.mm_fp0_format.fs;
arch/mips/math-emu/cp1emu.c
2181
union ieee754dp ft, fs, fd;
arch/mips/math-emu/cp1emu.c
2188
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2190
rv.d = ieee754dp_maddf(fd, fs, ft);
arch/mips/math-emu/cp1emu.c
2195
union ieee754dp ft, fs, fd;
arch/mips/math-emu/cp1emu.c
2202
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2204
rv.d = ieee754dp_msubf(fd, fs, ft);
arch/mips/math-emu/cp1emu.c
2209
union ieee754dp fs;
arch/mips/math-emu/cp1emu.c
2215
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2216
rv.d = ieee754dp_rint(fs);
arch/mips/math-emu/cp1emu.c
2221
union ieee754dp fs;
arch/mips/math-emu/cp1emu.c
2227
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2228
rv.l = ieee754dp_2008class(fs);
arch/mips/math-emu/cp1emu.c
2234
union ieee754dp fs, ft;
arch/mips/math-emu/cp1emu.c
2241
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2242
rv.d = ieee754dp_fmin(fs, ft);
arch/mips/math-emu/cp1emu.c
2247
union ieee754dp fs, ft;
arch/mips/math-emu/cp1emu.c
2254
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2255
rv.d = ieee754dp_fmina(fs, ft);
arch/mips/math-emu/cp1emu.c
2260
union ieee754dp fs, ft;
arch/mips/math-emu/cp1emu.c
2267
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2268
rv.d = ieee754dp_fmax(fs, ft);
arch/mips/math-emu/cp1emu.c
2273
union ieee754dp fs, ft;
arch/mips/math-emu/cp1emu.c
2280
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2281
rv.d = ieee754dp_fmaxa(fs, ft);
arch/mips/math-emu/cp1emu.c
2303
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2306
rv.d = (*handler.b) (fs, ft);
arch/mips/math-emu/cp1emu.c
2309
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2310
rv.d = (*handler.u) (fs);
arch/mips/math-emu/cp1emu.c
2318
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2319
rv.s = ieee754sp_fdp(fs);
arch/mips/math-emu/cp1emu.c
2328
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2329
rv.w = ieee754dp_tint(fs); /* wrong */
arch/mips/math-emu/cp1emu.c
234
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
235
insn.mm_fp0_format.fs;
arch/mips/math-emu/cp1emu.c
2350
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2352
rv.w = ieee754dp_tint(fs);
arch/mips/math-emu/cp1emu.c
2374
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2375
rv.l = ieee754dp_tlong(fs);
arch/mips/math-emu/cp1emu.c
2396
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2398
rv.l = ieee754dp_tlong(fs);
arch/mips/math-emu/cp1emu.c
2406
union ieee754dp fs, ft;
arch/mips/math-emu/cp1emu.c
2409
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2411
rv.w = ieee754dp_cmp(fs, ft,
arch/mips/math-emu/cp1emu.c
2432
union ieee754dp fs;
arch/mips/math-emu/cp1emu.c
2438
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2439
rv.s = ieee754sp_fint(fs.bits);
arch/mips/math-emu/cp1emu.c
2445
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2446
rv.d = ieee754dp_fint(fs.bits);
arch/mips/math-emu/cp1emu.c
2457
union ieee754sp fs, ft;
arch/mips/math-emu/cp1emu.c
254
mips32_insn.r_format.rs = insn.mm_fp4_format.fs;
arch/mips/math-emu/cp1emu.c
2554
SPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2559
if (ieee754sp_cmp(fs, ft, cmptab[cmpop],
arch/mips/math-emu/cp1emu.c
2573
if (ieee754sp_cmp(fs, ft,
arch/mips/math-emu/cp1emu.c
2618
union ieee754dp fs, ft;
arch/mips/math-emu/cp1emu.c
2714
DPFROMREG(fs, MIPSInst_FS(ir));
arch/mips/math-emu/cp1emu.c
2719
if (ieee754dp_cmp(fs, ft,
arch/mips/math-emu/cp1emu.c
2733
if (ieee754dp_cmp(fs, ft,
arch/mips/math-emu/cp1emu.c
276
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
277
insn.mm_fp3_format.fs;
arch/mips/math-emu/cp1emu.c
300
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
301
insn.mm_fp3_format.fs;
arch/mips/math-emu/cp1emu.c
340
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
341
insn.mm_fp1_format.fs;
arch/mips/math-emu/cp1emu.c
359
mips32_insn.fp0_format.fs =
arch/mips/math-emu/cp1emu.c
360
insn.mm_fp1_format.fs;
arch/mips/math-emu/cp1emu.c
387
mips32_insn.fp1_format.fs =
arch/mips/math-emu/cp1emu.c
388
insn.mm_fp1_format.fs;
arch/mips/math-emu/cp1emu.c
401
mips32_insn.fp0_format.fs = insn.mm_fp4_format.fs;
arch/powerpc/include/asm/ps3av.h
409
u8 fs;
arch/powerpc/include/asm/sfp-machine.h
144
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
arch/powerpc/include/asm/sfp-machine.h
146
if ((_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs) \
arch/powerpc/include/asm/sfp-machine.h
147
&& !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
arch/sh/include/asm/sfp-machine.h
53
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
arch/sh/include/asm/sfp-machine.h
55
if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
arch/sh/include/asm/sfp-machine.h
56
&& !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \
arch/sparc/include/asm/sfp-machine_32.h
61
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
arch/sparc/include/asm/sfp-machine_32.h
63
if ((_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs) \
arch/sparc/include/asm/sfp-machine_32.h
64
&& !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
arch/sparc/include/asm/sfp-machine_64.h
59
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
arch/sparc/include/asm/sfp-machine_64.h
61
if ((_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs) \
arch/sparc/include/asm/sfp-machine_64.h
62
&& !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
arch/x86/boot/boot.h
228
u16 gs, fs;
arch/x86/boot/compressed/cmdline.c
14
return *((char *)(fs + addr));
arch/x86/boot/compressed/cmdline.c
6
static unsigned long fs;
arch/x86/boot/compressed/cmdline.c
9
fs = seg << 4; /* shift it back */
arch/x86/boot/regs.c
25
reg->fs = fs();
arch/x86/coco/sev/core.c
820
vmsa->fs = vmsa->ds;
arch/x86/hyperv/hv_crash.c
164
asm volatile("movw %0, %%fs" : : "m"(hv_crash_ctxt.fs));
arch/x86/hyperv/hv_crash.c
214
asm volatile("movw %%fs, %0" : "=m"(ctxt->fs));
arch/x86/hyperv/hv_crash.c
68
u16 fs;
arch/x86/include/asm/elf.h
128
pr_reg[9] = regs->fs; \
arch/x86/include/asm/mmu_context.h
204
loadsegment(fs, 0); \
arch/x86/include/asm/percpu.h
9
# define __percpu_seg fs
arch/x86/include/asm/processor.h
300
unsigned short fs, __fsh;
arch/x86/include/asm/processor.h
472
unsigned long fs;
arch/x86/include/asm/ptrace.h
342
offset == offsetof(struct pt_regs, fs) ||
arch/x86/include/asm/ptrace.h
38
unsigned short fs;
arch/x86/include/asm/segment.h
325
#define __loadsegment_fs(value) __loadsegment_simple(fs, (value))
arch/x86/include/asm/suspend_64.h
33
u16 ds, es, fs, gs;
arch/x86/include/asm/svm.h
325
struct vmcb_seg fs;
arch/x86/include/asm/svm.h
377
struct vmcb_seg fs;
arch/x86/include/asm/user32.h
39
unsigned short fs, __fs, gs, __gs;
arch/x86/include/asm/user_32.h
88
unsigned long fs;
arch/x86/include/asm/user_64.h
95
unsigned long fs;
arch/x86/include/asm/vm86.h
27
unsigned short fs, __fsh;
arch/x86/include/asm/xen/interface_32.h
68
uint16_t fs, _pad4;
arch/x86/include/asm/xen/interface_64.h
126
uint16_t fs, _pad5[3]; /* Non-zero => takes precedence over fs_base. */
arch/x86/include/uapi/asm/kvm.h
152
struct kvm_segment cs, ds, es, fs, gs, ss;
arch/x86/include/uapi/asm/kvm.h
163
struct kvm_segment cs, ds, es, fs, gs, ss;
arch/x86/include/uapi/asm/sigcontext.h
204
__u16 fs, __fsh;
arch/x86/include/uapi/asm/sigcontext.h
259
__u16 fs;
arch/x86/include/uapi/asm/sigcontext.h
302
__u16 fs, __fsh;
arch/x86/include/uapi/asm/sigcontext.h
371
__u16 fs;
arch/x86/include/uapi/asm/vm86.h
89
unsigned short fs, __fsh;
arch/x86/kernel/apm_32.c
550
savesegment(fs, saved_fs); savesegment(gs, saved_gs)
arch/x86/kernel/apm_32.c
552
loadsegment(fs, saved_fs); loadsegment(gs, saved_gs)
arch/x86/kernel/asm-offsets_32.c
24
OFFSET(PT_FS, pt_regs, fs);
arch/x86/kernel/cpu/common.c
1920
loadsegment(fs, 0);
arch/x86/kernel/cpu/common.c
2480
loadsegment(fs, 0);
arch/x86/kernel/cpu/common.c
818
loadsegment(fs, __KERNEL_PERCPU);
arch/x86/kernel/doublefault_32.c
100
.fs = __KERNEL_PERCPU,
arch/x86/kernel/doublefault_32.c
59
regs.fs = TSS(fs);
arch/x86/kernel/perf_regs.c
36
PT_REGS_OFFSET(PERF_REG_X86_FS, fs),
arch/x86/kernel/process_32.c
115
regs->fs = 0;
arch/x86/kernel/process_32.c
75
log_lvl, (u16)regs->ds, (u16)regs->es, (u16)regs->fs, gs, regs->ss, regs->flags);
arch/x86/kernel/process_64.c
100
rdmsrq(MSR_FS_BASE, fs);
arch/x86/kernel/process_64.c
103
log_lvl, fs, shadowgs);
arch/x86/kernel/process_64.c
112
rdmsrq(MSR_FS_BASE, fs);
arch/x86/kernel/process_64.c
122
log_lvl, fs, fsindex, gs, gsindex, shadowgs);
arch/x86/kernel/process_64.c
278
savesegment(fs, task->thread.fsindex);
arch/x86/kernel/process_64.c
313
loadsegment(fs, sel);
arch/x86/kernel/process_64.c
538
loadsegment(fs, __USER_DS);
arch/x86/kernel/process_64.c
544
loadsegment(fs, 0);
arch/x86/kernel/process_64.c
73
unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L, fs, gs, shadowgs;
arch/x86/kernel/ptrace.c
106
REG_OFFSET_NAME(fs),
arch/x86/kernel/ptrace.c
257
case offsetof(struct user_regs_struct, fs):
arch/x86/kernel/ptrace.c
309
case offsetof(struct user_regs_struct,fs):
arch/x86/kernel/ptrace.c
381
case offsetof(struct user_regs_struct, fs):
arch/x86/kernel/ptrace.c
413
case offsetof(struct user_regs_struct, fs):
arch/x86/kernel/ptrace.c
891
case offsetof(struct user32, regs.fs):
arch/x86/kernel/ptrace.c
893
offsetof(struct user_regs_struct, fs),
arch/x86/kernel/ptrace.c
979
SEG32(fs);
arch/x86/kernel/signal_32.c
141
regs->fs = fixup_rpl(sc.fs);
arch/x86/kernel/signal_32.c
217
unsafe_put_user(get_user_seg(fs), (unsigned int __user *)&sc->fs, Efault);
arch/x86/kernel/signal_32.c
221
unsafe_put_user(regs->fs, (unsigned int __user *)&sc->fs, Efault);
arch/x86/kernel/signal_32.c
75
savesegment(fs, cur);
arch/x86/kernel/signal_32.c
76
if (fixup_rpl(sc->fs) != cur)
arch/x86/kernel/signal_32.c
77
loadsegment(fs, fixup_rpl(sc->fs));
arch/x86/kernel/signal_64.c
125
unsafe_put_user(0, &sc->fs, Efault);
arch/x86/kernel/tls.c
165
savesegment(fs, sel);
arch/x86/kernel/tls.c
167
loadsegment(fs, sel);
arch/x86/kernel/vm86_32.c
133
unsafe_put_user(regs->fs, &user->regs.fs, Efault_end);
arch/x86/kernel/vm86_32.c
270
vm86regs.fs = v.regs.fs;
arch/x86/kvm/emulate.c
2751
tss->fs = get_segment_selector(ctxt, VCPU_SREG_FS);
arch/x86/kvm/emulate.c
2786
set_segment_selector(ctxt, tss->fs, VCPU_SREG_FS);
arch/x86/kvm/emulate.c
2826
ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl,
arch/x86/kvm/smm.c
217
enter_smm_save_seg_32(vcpu, &smram->fs, &smram->fs_sel, VCPU_SREG_FS);
arch/x86/kvm/smm.c
268
enter_smm_save_seg_64(vcpu, &smram->fs, VCPU_SREG_FS);
arch/x86/kvm/smm.c
35
CHECK_SMRAM32_OFFSET(fs, 0xFF38);
arch/x86/kvm/smm.c
498
rsm_load_seg_32(vcpu, &smstate->fs, smstate->fs_sel, VCPU_SREG_FS);
arch/x86/kvm/smm.c
559
rsm_load_seg_64(vcpu, &smstate->fs, VCPU_SREG_FS);
arch/x86/kvm/smm.c
65
CHECK_SMRAM64_OFFSET(fs, 0xFE40);
arch/x86/kvm/smm.h
39
struct kvm_smm_seg_state_32 fs;
arch/x86/kvm/smm.h
84
struct kvm_smm_seg_state_64 fs;
arch/x86/kvm/svm/nested.c
1114
to_vmcb->save.fs = from_vmcb->save.fs;
arch/x86/kvm/svm/svm.c
1145
init_seg(&save->fs);
arch/x86/kvm/svm/svm.c
1560
case VCPU_SREG_FS: return &save01->fs;
arch/x86/kvm/svm/svm.c
2764
msr_info->data = svm->vmcb01.ptr->save.fs.base;
arch/x86/kvm/svm/svm.c
3000
svm->vmcb01.ptr->save.fs.base = data;
arch/x86/kvm/svm/svm.c
3399
save01->fs.selector, save01->fs.attrib,
arch/x86/kvm/svm/svm.c
3400
save01->fs.limit, save01->fs.base);
arch/x86/kvm/tss.h
28
u32 fs;
arch/x86/kvm/vmx/vmx.c
1404
savesegment(fs, fs_sel);
arch/x86/kvm/vmx/vmx.c
1412
savesegment(fs, fs_sel);
arch/x86/kvm/vmx/vmx.c
1445
loadsegment(fs, host_state->fs_sel);
arch/x86/kvm/x86.c
12142
kvm_get_segment(vcpu, &sregs->fs, VCPU_SREG_FS);
arch/x86/kvm/x86.c
12405
kvm_set_segment(vcpu, &sregs->fs, VCPU_SREG_FS);
arch/x86/lib/insn-eval.c
362
savesegment(fs, sel);
arch/x86/lib/insn-eval.c
384
return vm86regs->fs;
arch/x86/lib/insn-eval.c
403
return (unsigned short)(regs->fs & 0xffff);
arch/x86/lib/insn-eval.c
435
offsetof(struct pt_regs, fs),
arch/x86/math-emu/get_address.c
49
offsetof(struct kernel_vm86_regs, fs),
arch/x86/math-emu/get_address.c
62
offsetof(struct pt_regs, fs),
arch/x86/power/cpu.c
110
savesegment(fs, ctxt->fs);
arch/x86/power/cpu.c
250
loadsegment(fs, __KERNEL_PERCPU);
arch/x86/power/cpu.c
263
loadsegment(fs, ctxt->fs);
arch/x86/um/signal.c
123
PUTREG(FS, fs);
arch/x86/um/signal.c
51
GETREG(FS, fs);
arch/x86/xen/enlighten_pv.c
644
loadsegment(fs, 0);
arch/xtensa/variants/csp/include/variant/tie-asm.h
143
xchal_sa_start \continue, \ofs
arch/xtensa/variants/csp/include/variant/tie-asm.h
77
xchal_sa_start \continue, \ofs
arch/xtensa/variants/dc232b/include/variant/tie-asm.h
38
xchal_sa_start \continue, \ofs
arch/xtensa/variants/dc232b/include/variant/tie-asm.h
79
xchal_sa_start \continue, \ofs
arch/xtensa/variants/dc233c/include/variant/tie-asm.h
142
xchal_sa_start \continue, \ofs
arch/xtensa/variants/dc233c/include/variant/tie-asm.h
78
xchal_sa_start \continue, \ofs
arch/xtensa/variants/de212/include/variant/tie-asm.h
131
xchal_sa_start \continue, \ofs
arch/xtensa/variants/de212/include/variant/tie-asm.h
77
xchal_sa_start \continue, \ofs
arch/xtensa/variants/fsf/include/variant/tie-asm.h
38
xchal_sa_start \continue, \ofs
arch/xtensa/variants/fsf/include/variant/tie-asm.h
53
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_be/include/variant/tie-asm.h
143
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_be/include/variant/tie-asm.h
202
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_be/include/variant/tie-asm.h
250
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_be/include/variant/tie-asm.h
77
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_hifi/include/variant/tie-asm.h
144
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_hifi/include/variant/tie-asm.h
206
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_hifi/include/variant/tie-asm.h
263
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_kc705_hifi/include/variant/tie-asm.h
78
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_mmuhifi_c3/include/variant/tie-asm.h
134
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_mmuhifi_c3/include/variant/tie-asm.h
37
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_mmuhifi_c3/include/variant/tie-asm.h
64
xchal_sa_start \continue, \ofs
arch/xtensa/variants/test_mmuhifi_c3/include/variant/tie-asm.h
98
xchal_sa_start \continue, \ofs
drivers/block/ataflop.c
2062
static void atari_cleanup_floppy_disk(struct atari_floppy_struct *fs)
drivers/block/ataflop.c
2067
if (!fs->disk[type])
drivers/block/ataflop.c
2069
if (fs->registered[type])
drivers/block/ataflop.c
2070
del_gendisk(fs->disk[type]);
drivers/block/ataflop.c
2071
put_disk(fs->disk[type]);
drivers/block/ataflop.c
2073
blk_mq_free_tag_set(&fs->tag_set);
drivers/block/swim.c
426
static inline int swim_track(struct floppy_state *fs, int track)
drivers/block/swim.c
428
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
431
ret = swim_seek(base, track - fs->track);
drivers/block/swim.c
434
fs->track = track;
drivers/block/swim.c
437
fs->track = 0;
drivers/block/swim.c
443
static int floppy_eject(struct floppy_state *fs)
drivers/block/swim.c
445
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
447
swim_drive(base, fs->location);
drivers/block/swim.c
451
fs->disk_in = 0;
drivers/block/swim.c
452
fs->ejected = 1;
drivers/block/swim.c
457
static inline int swim_read_sector(struct floppy_state *fs,
drivers/block/swim.c
461
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
467
swim_track(fs, track);
drivers/block/swim.c
494
static blk_status_t floppy_read_sectors(struct floppy_state *fs,
drivers/block/swim.c
498
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
504
swim_drive(base, fs->location);
drivers/block/swim.c
507
track = i / fs->secpercyl;
drivers/block/swim.c
508
x = i % fs->secpercyl;
drivers/block/swim.c
509
side = x / fs->secpertrack;
drivers/block/swim.c
510
sector = x % fs->secpertrack + 1;
drivers/block/swim.c
514
ret = swim_read_sector(fs, side, track, sector,
drivers/block/swim.c
529
struct floppy_state *fs = hctx->queue->queuedata;
drivers/block/swim.c
530
struct swim_priv *swd = fs->swd;
drivers/block/swim.c
539
if (!fs->disk_in || rq_data_dir(req) == WRITE) {
drivers/block/swim.c
545
err = floppy_read_sectors(fs, blk_rq_pos(req),
drivers/block/swim.c
565
static int get_floppy_geometry(struct floppy_state *fs, int type,
drivers/block/swim.c
573
else if (fs->type == HD_MEDIA) /* High-Density media */
drivers/block/swim.c
575
else if (fs->head_number == 2) /* double-sided */
drivers/block/swim.c
583
static void setup_medium(struct floppy_state *fs)
drivers/block/swim.c
585
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
589
fs->disk_in = 1;
drivers/block/swim.c
590
fs->write_protected = swim_readbit(base, WRITE_PROT);
drivers/block/swim.c
598
fs->type = swim_readbit(base, TWOMEG_MEDIA) ?
drivers/block/swim.c
600
fs->head_number = swim_readbit(base, SINGLE_SIDED) ? 1 : 2;
drivers/block/swim.c
601
get_floppy_geometry(fs, 0, &g);
drivers/block/swim.c
602
fs->total_secs = g->size;
drivers/block/swim.c
603
fs->secpercyl = g->head * g->sect;
drivers/block/swim.c
604
fs->secpertrack = g->sect;
drivers/block/swim.c
605
fs->track = 0;
drivers/block/swim.c
607
fs->disk_in = 0;
drivers/block/swim.c
613
struct floppy_state *fs = disk->private_data;
drivers/block/swim.c
614
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
617
if (fs->ref_count == -1 || (fs->ref_count && mode & BLK_OPEN_EXCL))
drivers/block/swim.c
620
fs->ref_count = -1;
drivers/block/swim.c
622
fs->ref_count++;
drivers/block/swim.c
625
swim_drive(base, fs->location);
drivers/block/swim.c
628
if (fs->ejected)
drivers/block/swim.c
629
setup_medium(fs);
drivers/block/swim.c
630
if (!fs->disk_in) {
drivers/block/swim.c
635
set_capacity(fs->disk, fs->total_secs);
drivers/block/swim.c
641
if (disk_check_media_change(disk) && fs->disk_in)
drivers/block/swim.c
642
fs->ejected = 0;
drivers/block/swim.c
643
if ((mode & BLK_OPEN_WRITE) && fs->write_protected) {
drivers/block/swim.c
650
if (fs->ref_count < 0)
drivers/block/swim.c
651
fs->ref_count = 0;
drivers/block/swim.c
652
else if (fs->ref_count > 0)
drivers/block/swim.c
653
--fs->ref_count;
drivers/block/swim.c
655
if (fs->ref_count == 0)
drivers/block/swim.c
673
struct floppy_state *fs = disk->private_data;
drivers/block/swim.c
674
struct swim __iomem *base = fs->swd->base;
drivers/block/swim.c
677
if (fs->ref_count < 0)
drivers/block/swim.c
678
fs->ref_count = 0;
drivers/block/swim.c
679
else if (fs->ref_count > 0)
drivers/block/swim.c
680
--fs->ref_count;
drivers/block/swim.c
682
if (fs->ref_count == 0)
drivers/block/swim.c
690
struct floppy_state *fs = bdev->bd_disk->private_data;
drivers/block/swim.c
698
if (fs->ref_count != 1)
drivers/block/swim.c
701
err = floppy_eject(fs);
drivers/block/swim.c
716
struct floppy_state *fs = disk->private_data;
drivers/block/swim.c
720
ret = get_floppy_geometry(fs, 0, &g);
drivers/block/swim.c
734
struct floppy_state *fs = disk->private_data;
drivers/block/swim.c
736
return fs->ejected ? DISK_EVENT_MEDIA_CHANGE : 0;
drivers/block/swim.c
750
struct floppy_state *fs = &swd->unit[swd->floppy_count];
drivers/block/swim.c
753
fs->location = location;
drivers/block/swim.c
759
fs->type = HD_MEDIA;
drivers/block/swim.c
760
fs->head_number = 2;
drivers/block/swim.c
762
fs->ref_count = 0;
drivers/block/swim.c
763
fs->ejected = 1;
drivers/block/swim.c
774
static void swim_cleanup_floppy_disk(struct floppy_state *fs)
drivers/block/swim.c
776
struct gendisk *disk = fs->disk;
drivers/block/swim.c
781
if (fs->registered)
drivers/block/swim.c
782
del_gendisk(fs->disk);
drivers/block/swim.c
785
blk_mq_free_tag_set(&fs->tag_set);
drivers/block/swim3.c
1009
struct floppy_state *fs = disk->private_data;
drivers/block/swim3.c
1010
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
1013
if (fs->ref_count > 0)
drivers/block/swim3.c
1014
--fs->ref_count;
drivers/block/swim3.c
1015
else if (fs->ref_count == -1)
drivers/block/swim3.c
1016
fs->ref_count = 0;
drivers/block/swim3.c
1017
if (fs->ref_count == 0) {
drivers/block/swim3.c
1018
swim3_action(fs, MOTOR_OFF);
drivers/block/swim3.c
1020
swim3_select(fs, RELAX);
drivers/block/swim3.c
1028
struct floppy_state *fs = disk->private_data;
drivers/block/swim3.c
1029
return fs->ejected ? DISK_EVENT_MEDIA_CHANGE : 0;
drivers/block/swim3.c
1034
struct floppy_state *fs = disk->private_data;
drivers/block/swim3.c
1038
if (fs->mdev->media_bay &&
drivers/block/swim3.c
1039
check_media_bay(fs->mdev->media_bay) != MB_FD)
drivers/block/swim3.c
1042
sw = fs->swim3;
drivers/block/swim3.c
1043
grab_drive(fs, revalidating, 0);
drivers/block/swim3.c
1046
swim3_action(fs, MOTOR_ON); /* necessary? */
drivers/block/swim3.c
1047
fs->write_prot = -1;
drivers/block/swim3.c
1048
fs->cur_cyl = -1;
drivers/block/swim3.c
1051
if (swim3_readbit(fs, SEEK_COMPLETE))
drivers/block/swim3.c
1055
swim3_select(fs, RELAX);
drivers/block/swim3.c
1058
ret = swim3_readbit(fs, SEEK_COMPLETE) == 0
drivers/block/swim3.c
1059
|| swim3_readbit(fs, DISK_IN) == 0;
drivers/block/swim3.c
1061
swim3_action(fs, MOTOR_OFF);
drivers/block/swim3.c
1063
fs->ejected = 0;
drivers/block/swim3.c
1064
swim3_action(fs, SETMFM);
drivers/block/swim3.c
1066
swim3_select(fs, RELAX);
drivers/block/swim3.c
1068
release_drive(fs);
drivers/block/swim3.c
1085
struct floppy_state *fs = macio_get_drvdata(mdev);
drivers/block/swim3.c
1088
if (!fs)
drivers/block/swim3.c
1091
sw = fs->swim3;
drivers/block/swim3.c
1105
struct floppy_state *fs = &floppy_states[index];
drivers/block/swim3.c
1108
fs->mdev = mdev;
drivers/block/swim3.c
1109
fs->index = index;
drivers/block/swim3.c
1129
dev_set_drvdata(&mdev->ofdev.dev, fs);
drivers/block/swim3.c
1134
fs->state = idle;
drivers/block/swim3.c
1135
fs->swim3 = (struct swim3 __iomem *)
drivers/block/swim3.c
1137
if (fs->swim3 == NULL) {
drivers/block/swim3.c
1142
fs->dma = (struct dbdma_regs __iomem *)
drivers/block/swim3.c
1144
if (fs->dma == NULL) {
drivers/block/swim3.c
1146
iounmap(fs->swim3);
drivers/block/swim3.c
1150
fs->swim3_intr = macio_irq(mdev, 0);
drivers/block/swim3.c
1151
fs->dma_intr = macio_irq(mdev, 1);
drivers/block/swim3.c
1152
fs->cur_cyl = -1;
drivers/block/swim3.c
1153
fs->cur_sector = -1;
drivers/block/swim3.c
1154
fs->secpercyl = 36;
drivers/block/swim3.c
1155
fs->secpertrack = 18;
drivers/block/swim3.c
1156
fs->total_secs = 2880;
drivers/block/swim3.c
1157
init_waitqueue_head(&fs->wait);
drivers/block/swim3.c
1159
fs->dma_cmd = (struct dbdma_cmd *) DBDMA_ALIGN(fs->dbdma_cmd_space);
drivers/block/swim3.c
1160
memset(fs->dma_cmd, 0, 2 * sizeof(struct dbdma_cmd));
drivers/block/swim3.c
1161
fs->dma_cmd[1].command = cpu_to_le16(DBDMA_STOP);
drivers/block/swim3.c
1166
if (request_irq(fs->swim3_intr, swim3_interrupt, 0, "SWIM3", fs)) {
drivers/block/swim3.c
1172
timer_setup(&fs->timeout, NULL, 0);
drivers/block/swim3.c
1180
iounmap(fs->dma);
drivers/block/swim3.c
1181
iounmap(fs->swim3);
drivers/block/swim3.c
1196
struct floppy_state *fs;
drivers/block/swim3.c
1209
fs = &floppy_states[floppy_count];
drivers/block/swim3.c
1210
memset(fs, 0, sizeof(*fs));
drivers/block/swim3.c
1212
rc = blk_mq_alloc_sq_tag_set(&fs->tag_set, &swim3_mq_ops, 2, 0);
drivers/block/swim3.c
1216
disk = blk_mq_alloc_disk(&fs->tag_set, &lim, fs);
drivers/block/swim3.c
1230
disk->private_data = fs;
drivers/block/swim3.c
1245
blk_mq_free_tag_set(&fs->tag_set);
drivers/block/swim3.c
209
#define swim3_err(fmt, arg...) dev_err(&fs->mdev->ofdev.dev, "[fd%d] " fmt, fs->index, arg)
drivers/block/swim3.c
210
#define swim3_warn(fmt, arg...) dev_warn(&fs->mdev->ofdev.dev, "[fd%d] " fmt, fs->index, arg)
drivers/block/swim3.c
211
#define swim3_info(fmt, arg...) dev_info(&fs->mdev->ofdev.dev, "[fd%d] " fmt, fs->index, arg)
drivers/block/swim3.c
214
#define swim3_dbg(fmt, arg...) dev_dbg(&fs->mdev->ofdev.dev, "[fd%d] " fmt, fs->index, arg)
drivers/block/swim3.c
237
static void seek_track(struct floppy_state *fs, int n);
drivers/block/swim3.c
238
static void act(struct floppy_state *fs);
drivers/block/swim3.c
245
static int grab_drive(struct floppy_state *fs, enum swim_state state,
drivers/block/swim3.c
247
static void release_drive(struct floppy_state *fs);
drivers/block/swim3.c
248
static int fd_eject(struct floppy_state *fs);
drivers/block/swim3.c
256
static bool swim3_end_request(struct floppy_state *fs, blk_status_t err, unsigned int nr_bytes)
drivers/block/swim3.c
258
struct request *req = fs->cur_req;
drivers/block/swim3.c
268
fs->cur_req = NULL;
drivers/block/swim3.c
272
static void swim3_select(struct floppy_state *fs, int sel)
drivers/block/swim3.c
274
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
284
static void swim3_action(struct floppy_state *fs, int action)
drivers/block/swim3.c
286
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
288
swim3_select(fs, action);
drivers/block/swim3.c
296
static int swim3_readbit(struct floppy_state *fs, int bit)
drivers/block/swim3.c
298
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
301
swim3_select(fs, bit);
drivers/block/swim3.c
310
struct floppy_state *fs = hctx->queue->queuedata;
drivers/block/swim3.c
315
if (fs->cur_req || fs->state != idle) {
drivers/block/swim3.c
320
fs->cur_req = req;
drivers/block/swim3.c
321
if (fs->mdev->media_bay &&
drivers/block/swim3.c
322
check_media_bay(fs->mdev->media_bay) != MB_FD) {
drivers/block/swim3.c
324
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
327
if (fs->ejected) {
drivers/block/swim3.c
329
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
333
if (fs->write_prot < 0)
drivers/block/swim3.c
334
fs->write_prot = swim3_readbit(fs, WRITE_PROT);
drivers/block/swim3.c
335
if (fs->write_prot) {
drivers/block/swim3.c
337
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
347
fs->req_cyl = ((long)blk_rq_pos(req)) / fs->secpercyl;
drivers/block/swim3.c
348
x = ((long)blk_rq_pos(req)) % fs->secpercyl;
drivers/block/swim3.c
349
fs->head = x / fs->secpertrack;
drivers/block/swim3.c
350
fs->req_sector = x % fs->secpertrack + 1;
drivers/block/swim3.c
351
fs->state = do_transfer;
drivers/block/swim3.c
352
fs->retries = 0;
drivers/block/swim3.c
354
act(fs);
drivers/block/swim3.c
361
static void set_timeout(struct floppy_state *fs, int nticks,
drivers/block/swim3.c
364
if (fs->timeout_pending)
drivers/block/swim3.c
365
timer_delete(&fs->timeout);
drivers/block/swim3.c
366
fs->timeout.expires = jiffies + nticks;
drivers/block/swim3.c
367
fs->timeout.function = proc;
drivers/block/swim3.c
368
add_timer(&fs->timeout);
drivers/block/swim3.c
369
fs->timeout_pending = 1;
drivers/block/swim3.c
372
static inline void scan_track(struct floppy_state *fs)
drivers/block/swim3.c
374
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
376
swim3_select(fs, READ_DATA_0);
drivers/block/swim3.c
382
set_timeout(fs, HZ, scan_timeout); /* enable timeout */
drivers/block/swim3.c
385
static inline void seek_track(struct floppy_state *fs, int n)
drivers/block/swim3.c
387
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
390
swim3_action(fs, SEEK_POSITIVE);
drivers/block/swim3.c
393
swim3_action(fs, SEEK_NEGATIVE);
drivers/block/swim3.c
396
fs->expect_cyl = (fs->cur_cyl >= 0)? fs->cur_cyl + n: -1;
drivers/block/swim3.c
397
swim3_select(fs, STEP);
drivers/block/swim3.c
402
set_timeout(fs, 3*HZ, seek_timeout); /* enable timeout */
drivers/block/swim3.c
403
fs->settle_time = 0;
drivers/block/swim3.c
431
static inline void setup_transfer(struct floppy_state *fs)
drivers/block/swim3.c
434
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
435
struct dbdma_cmd *cp = fs->dma_cmd;
drivers/block/swim3.c
436
struct dbdma_regs __iomem *dr = fs->dma;
drivers/block/swim3.c
437
struct request *req = fs->cur_req;
drivers/block/swim3.c
446
n = fs->secpertrack - fs->req_sector + 1;
drivers/block/swim3.c
452
fs->req_sector, fs->secpertrack, fs->head, n);
drivers/block/swim3.c
454
fs->scount = n;
drivers/block/swim3.c
455
swim3_select(fs, fs->head? READ_DATA_1: READ_DATA_0);
drivers/block/swim3.c
456
out_8(&sw->sector, fs->req_sector);
drivers/block/swim3.c
484
set_timeout(fs, 2*HZ, xfer_timeout); /* enable timeout */
drivers/block/swim3.c
487
static void act(struct floppy_state *fs)
drivers/block/swim3.c
491
fs->state, fs->req_cyl, fs->cur_cyl);
drivers/block/swim3.c
493
switch (fs->state) {
drivers/block/swim3.c
498
if (swim3_readbit(fs, TRACK_ZERO)) {
drivers/block/swim3.c
500
fs->cur_cyl = 0;
drivers/block/swim3.c
501
if (fs->req_cyl == 0)
drivers/block/swim3.c
502
fs->state = do_transfer;
drivers/block/swim3.c
504
fs->state = seeking;
drivers/block/swim3.c
507
scan_track(fs);
drivers/block/swim3.c
511
if (fs->cur_cyl < 0) {
drivers/block/swim3.c
512
fs->expect_cyl = -1;
drivers/block/swim3.c
513
fs->state = locating;
drivers/block/swim3.c
516
if (fs->req_cyl == fs->cur_cyl) {
drivers/block/swim3.c
518
fs->state = do_transfer;
drivers/block/swim3.c
521
seek_track(fs, fs->req_cyl - fs->cur_cyl);
drivers/block/swim3.c
526
fs->settle_time = (HZ + 32) / 33;
drivers/block/swim3.c
527
set_timeout(fs, fs->settle_time, settle_timeout);
drivers/block/swim3.c
531
if (fs->cur_cyl != fs->req_cyl) {
drivers/block/swim3.c
532
if (fs->retries > 5) {
drivers/block/swim3.c
534
fs->req_cyl, fs->cur_cyl);
drivers/block/swim3.c
535
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
536
fs->state = idle;
drivers/block/swim3.c
539
fs->state = seeking;
drivers/block/swim3.c
542
setup_transfer(fs);
drivers/block/swim3.c
546
seek_track(fs, -5);
drivers/block/swim3.c
550
swim3_err("Unknown state %d\n", fs->state);
drivers/block/swim3.c
558
struct floppy_state *fs = timer_container_of(fs, t, timeout);
drivers/block/swim3.c
559
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
562
swim3_dbg("* scan timeout, state=%d\n", fs->state);
drivers/block/swim3.c
565
fs->timeout_pending = 0;
drivers/block/swim3.c
569
fs->cur_cyl = -1;
drivers/block/swim3.c
570
if (fs->retries > 5) {
drivers/block/swim3.c
571
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
572
fs->state = idle;
drivers/block/swim3.c
574
fs->state = jogging;
drivers/block/swim3.c
575
act(fs);
drivers/block/swim3.c
582
struct floppy_state *fs = timer_container_of(fs, t, timeout);
drivers/block/swim3.c
583
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
586
swim3_dbg("* seek timeout, state=%d\n", fs->state);
drivers/block/swim3.c
589
fs->timeout_pending = 0;
drivers/block/swim3.c
594
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
595
fs->state = idle;
drivers/block/swim3.c
601
struct floppy_state *fs = timer_container_of(fs, t, timeout);
drivers/block/swim3.c
602
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
605
swim3_dbg("* settle timeout, state=%d\n", fs->state);
drivers/block/swim3.c
608
fs->timeout_pending = 0;
drivers/block/swim3.c
609
if (swim3_readbit(fs, SEEK_COMPLETE)) {
drivers/block/swim3.c
611
fs->state = locating;
drivers/block/swim3.c
612
act(fs);
drivers/block/swim3.c
616
if (fs->settle_time < 2*HZ) {
drivers/block/swim3.c
617
++fs->settle_time;
drivers/block/swim3.c
618
set_timeout(fs, 1, settle_timeout);
drivers/block/swim3.c
622
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
623
fs->state = idle;
drivers/block/swim3.c
630
struct floppy_state *fs = timer_container_of(fs, t, timeout);
drivers/block/swim3.c
631
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
632
struct dbdma_regs __iomem *dr = fs->dma;
drivers/block/swim3.c
636
swim3_dbg("* xfer timeout, state=%d\n", fs->state);
drivers/block/swim3.c
639
fs->timeout_pending = 0;
drivers/block/swim3.c
648
(rq_data_dir(fs->cur_req)==WRITE? "writ": "read"),
drivers/block/swim3.c
649
(long)blk_rq_pos(fs->cur_req));
drivers/block/swim3.c
650
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
651
fs->state = idle;
drivers/block/swim3.c
657
struct floppy_state *fs = (struct floppy_state *) dev_id;
drivers/block/swim3.c
658
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
664
struct request *req = fs->cur_req;
drivers/block/swim3.c
666
swim3_dbg("* interrupt, state=%d\n", fs->state);
drivers/block/swim3.c
671
if ((intr & ERROR_INTR) && fs->state != do_transfer)
drivers/block/swim3.c
673
fs->state, rq_data_dir(req), intr, err);
drivers/block/swim3.c
674
switch (fs->state) {
drivers/block/swim3.c
680
timer_delete(&fs->timeout);
drivers/block/swim3.c
681
fs->timeout_pending = 0;
drivers/block/swim3.c
684
fs->cur_cyl = -1;
drivers/block/swim3.c
685
if (fs->retries > 5) {
drivers/block/swim3.c
686
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
687
fs->state = idle;
drivers/block/swim3.c
689
fs->state = jogging;
drivers/block/swim3.c
690
act(fs);
drivers/block/swim3.c
694
fs->cur_cyl = sw->ctrack;
drivers/block/swim3.c
695
fs->cur_sector = sw->csect;
drivers/block/swim3.c
696
if (fs->expect_cyl != -1 && fs->expect_cyl != fs->cur_cyl)
drivers/block/swim3.c
698
fs->expect_cyl, fs->cur_cyl);
drivers/block/swim3.c
699
fs->state = do_transfer;
drivers/block/swim3.c
700
act(fs);
drivers/block/swim3.c
709
timer_delete(&fs->timeout);
drivers/block/swim3.c
710
fs->timeout_pending = 0;
drivers/block/swim3.c
711
if (fs->state == seeking)
drivers/block/swim3.c
712
++fs->retries;
drivers/block/swim3.c
713
fs->state = settling;
drivers/block/swim3.c
714
act(fs);
drivers/block/swim3.c
719
timer_delete(&fs->timeout);
drivers/block/swim3.c
720
fs->timeout_pending = 0;
drivers/block/swim3.c
721
act(fs);
drivers/block/swim3.c
729
timer_delete(&fs->timeout);
drivers/block/swim3.c
730
fs->timeout_pending = 0;
drivers/block/swim3.c
731
dr = fs->dma;
drivers/block/swim3.c
732
cp = fs->dma_cmd;
drivers/block/swim3.c
756
n = fs->scount - 1 - resid / 512;
drivers/block/swim3.c
759
fs->req_sector += n;
drivers/block/swim3.c
761
if (fs->retries < 5) {
drivers/block/swim3.c
762
++fs->retries;
drivers/block/swim3.c
763
act(fs);
drivers/block/swim3.c
768
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
769
fs->state = idle;
drivers/block/swim3.c
776
fs->state, rq_data_dir(req), intr, err);
drivers/block/swim3.c
777
swim3_end_request(fs, BLK_STS_IOERR, 0);
drivers/block/swim3.c
778
fs->state = idle;
drivers/block/swim3.c
781
fs->retries = 0;
drivers/block/swim3.c
782
if (swim3_end_request(fs, 0, fs->scount << 9)) {
drivers/block/swim3.c
783
fs->req_sector += fs->scount;
drivers/block/swim3.c
784
if (fs->req_sector > fs->secpertrack) {
drivers/block/swim3.c
785
fs->req_sector -= fs->secpertrack;
drivers/block/swim3.c
786
if (++fs->head > 1) {
drivers/block/swim3.c
787
fs->head = 0;
drivers/block/swim3.c
788
++fs->req_cyl;
drivers/block/swim3.c
791
act(fs);
drivers/block/swim3.c
793
fs->state = idle;
drivers/block/swim3.c
797
swim3_err("Don't know what to do in state %d\n", fs->state);
drivers/block/swim3.c
810
static int grab_drive(struct floppy_state *fs, enum swim_state state,
drivers/block/swim3.c
818
if (fs->state != idle && fs->state != available) {
drivers/block/swim3.c
819
++fs->wanted;
drivers/block/swim3.c
822
wait_event_lock_irq(fs->wait,
drivers/block/swim3.c
823
fs->state == available,
drivers/block/swim3.c
825
else if (wait_event_interruptible_lock_irq(fs->wait,
drivers/block/swim3.c
826
fs->state == available,
drivers/block/swim3.c
828
--fs->wanted;
drivers/block/swim3.c
832
--fs->wanted;
drivers/block/swim3.c
834
fs->state = state;
drivers/block/swim3.c
840
static void release_drive(struct floppy_state *fs)
drivers/block/swim3.c
842
struct request_queue *q = disks[fs->index]->queue;
drivers/block/swim3.c
849
fs->state = idle;
drivers/block/swim3.c
858
static int fd_eject(struct floppy_state *fs)
drivers/block/swim3.c
862
err = grab_drive(fs, ejecting, 1);
drivers/block/swim3.c
865
swim3_action(fs, EJECT);
drivers/block/swim3.c
871
swim3_select(fs, RELAX);
drivers/block/swim3.c
873
if (swim3_readbit(fs, DISK_IN) == 0)
drivers/block/swim3.c
876
swim3_select(fs, RELAX);
drivers/block/swim3.c
878
fs->ejected = 1;
drivers/block/swim3.c
879
release_drive(fs);
drivers/block/swim3.c
889
struct floppy_state *fs = bdev->bd_disk->private_data;
drivers/block/swim3.c
895
if (fs->mdev->media_bay &&
drivers/block/swim3.c
896
check_media_bay(fs->mdev->media_bay) != MB_FD)
drivers/block/swim3.c
901
if (fs->ref_count != 1)
drivers/block/swim3.c
903
err = fd_eject(fs);
drivers/block/swim3.c
928
struct floppy_state *fs = disk->private_data;
drivers/block/swim3.c
929
struct swim3 __iomem *sw = fs->swim3;
drivers/block/swim3.c
932
if (fs->ref_count == 0) {
drivers/block/swim3.c
933
if (fs->mdev->media_bay &&
drivers/block/swim3.c
934
check_media_bay(fs->mdev->media_bay) != MB_FD)
drivers/block/swim3.c
942
swim3_action(fs, MOTOR_ON);
drivers/block/swim3.c
943
fs->write_prot = -1;
drivers/block/swim3.c
944
fs->cur_cyl = -1;
drivers/block/swim3.c
946
if (n >= HZ/30 && swim3_readbit(fs, SEEK_COMPLETE))
drivers/block/swim3.c
952
swim3_select(fs, RELAX);
drivers/block/swim3.c
955
if (err == 0 && (swim3_readbit(fs, SEEK_COMPLETE) == 0
drivers/block/swim3.c
956
|| swim3_readbit(fs, DISK_IN) == 0))
drivers/block/swim3.c
958
swim3_action(fs, SETMFM);
drivers/block/swim3.c
959
swim3_select(fs, RELAX);
drivers/block/swim3.c
961
} else if (fs->ref_count == -1 || mode & BLK_OPEN_EXCL)
drivers/block/swim3.c
968
if (fs->ejected)
drivers/block/swim3.c
973
if (fs->write_prot < 0)
drivers/block/swim3.c
974
fs->write_prot = swim3_readbit(fs, WRITE_PROT);
drivers/block/swim3.c
975
if (fs->write_prot)
drivers/block/swim3.c
980
if (fs->ref_count == 0) {
drivers/block/swim3.c
981
swim3_action(fs, MOTOR_OFF);
drivers/block/swim3.c
983
swim3_select(fs, RELAX);
drivers/block/swim3.c
989
fs->ref_count = -1;
drivers/block/swim3.c
991
++fs->ref_count;
drivers/clk/st/clkgen-fsyn.c
322
static int clk_fs660c32_vco_get_rate(unsigned long input, struct stm_fs *fs,
drivers/clk/st/clkgen-fsyn.c
325
unsigned long nd = fs->ndiv + 16; /* ndiv value */
drivers/clk/st/clkgen-fsyn.c
350
unsigned long output, struct stm_fs *fs)
drivers/clk/st/clkgen-fsyn.c
373
fs->ndiv = n - 16; /* Converting formula value to reg value */
drivers/clk/st/clkgen-fsyn.c
532
static void quadfs_fsynth_program_enable(struct st_clk_quadfs_fsynth *fs)
drivers/clk/st/clkgen-fsyn.c
538
CLKGEN_WRITE(fs, en[fs->chan], 1);
drivers/clk/st/clkgen-fsyn.c
539
CLKGEN_WRITE(fs, en[fs->chan], 0);
drivers/clk/st/clkgen-fsyn.c
542
static void quadfs_fsynth_program_rate(struct st_clk_quadfs_fsynth *fs)
drivers/clk/st/clkgen-fsyn.c
551
CLKGEN_WRITE(fs, en[fs->chan], 0);
drivers/clk/st/clkgen-fsyn.c
553
CLKGEN_WRITE(fs, mdiv[fs->chan], fs->md);
drivers/clk/st/clkgen-fsyn.c
554
CLKGEN_WRITE(fs, pe[fs->chan], fs->pe);
drivers/clk/st/clkgen-fsyn.c
555
CLKGEN_WRITE(fs, sdiv[fs->chan], fs->sdiv);
drivers/clk/st/clkgen-fsyn.c
557
if (fs->lock)
drivers/clk/st/clkgen-fsyn.c
558
spin_lock_irqsave(fs->lock, flags);
drivers/clk/st/clkgen-fsyn.c
560
if (fs->data->nsdiv_present)
drivers/clk/st/clkgen-fsyn.c
561
CLKGEN_WRITE(fs, nsdiv[fs->chan], fs->nsdiv);
drivers/clk/st/clkgen-fsyn.c
563
if (fs->lock)
drivers/clk/st/clkgen-fsyn.c
564
spin_unlock_irqrestore(fs->lock, flags);
drivers/clk/st/clkgen-fsyn.c
569
struct st_clk_quadfs_fsynth *fs = to_quadfs_fsynth(hw);
drivers/clk/st/clkgen-fsyn.c
574
quadfs_fsynth_program_rate(fs);
drivers/clk/st/clkgen-fsyn.c
576
if (fs->lock)
drivers/clk/st/clkgen-fsyn.c
577
spin_lock_irqsave(fs->lock, flags);
drivers/clk/st/clkgen-fsyn.c
579
CLKGEN_WRITE(fs, nsb[fs->chan], !fs->data->standby_polarity);
drivers/clk/st/clkgen-fsyn.c
581
if (fs->data->nrst_present)
drivers/clk/st/clkgen-fsyn.c
582
CLKGEN_WRITE(fs, nrst[fs->chan], 0);
drivers/clk/st/clkgen-fsyn.c
584
if (fs->lock)
drivers/clk/st/clkgen-fsyn.c
585
spin_unlock_irqrestore(fs->lock, flags);
drivers/clk/st/clkgen-fsyn.c
587
quadfs_fsynth_program_enable(fs);
drivers/clk/st/clkgen-fsyn.c
594
struct st_clk_quadfs_fsynth *fs = to_quadfs_fsynth(hw);
drivers/clk/st/clkgen-fsyn.c
599
if (fs->lock)
drivers/clk/st/clkgen-fsyn.c
600
spin_lock_irqsave(fs->lock, flags);
drivers/clk/st/clkgen-fsyn.c
602
CLKGEN_WRITE(fs, nsb[fs->chan], fs->data->standby_polarity);
drivers/clk/st/clkgen-fsyn.c
604
if (fs->lock)
drivers/clk/st/clkgen-fsyn.c
605
spin_unlock_irqrestore(fs->lock, flags);
drivers/clk/st/clkgen-fsyn.c
610
struct st_clk_quadfs_fsynth *fs = to_quadfs_fsynth(hw);
drivers/clk/st/clkgen-fsyn.c
611
u32 nsb = CLKGEN_READ(fs, nsb[fs->chan]);
drivers/clk/st/clkgen-fsyn.c
616
return fs->data->standby_polarity ? !nsb : !!nsb;
drivers/clk/st/clkgen-fsyn.c
622
const struct stm_fs *fs, unsigned long *rate)
drivers/clk/st/clkgen-fsyn.c
624
unsigned long s = (1 << fs->sdiv);
drivers/clk/st/clkgen-fsyn.c
636
ns = (fs->nsdiv == 1) ? 1 : 3;
drivers/clk/st/clkgen-fsyn.c
638
res = (P20 * (32 + fs->mdiv) + 32 * fs->pe) * s * ns;
drivers/clk/st/clkgen-fsyn.c
647
struct stm_fs *fs)
drivers/clk/st/clkgen-fsyn.c
672
fs->mdiv = m;
drivers/clk/st/clkgen-fsyn.c
673
fs->pe = (unsigned long)*p;
drivers/clk/st/clkgen-fsyn.c
674
fs->sdiv = si;
drivers/clk/st/clkgen-fsyn.c
675
fs->nsdiv = 1;
drivers/clk/st/clkgen-fsyn.c
682
unsigned long output, struct stm_fs *fs)
drivers/clk/st/clkgen-fsyn.c
698
input, output, &p1, fs);
drivers/clk/st/clkgen-fsyn.c
700
input, output, &p2, fs);
drivers/clk/st/clkgen-fsyn.c
709
input, output, &p, fs);
drivers/clk/st/clkgen-fsyn.c
718
fs_tmp.mdiv = fs->mdiv;
drivers/clk/st/clkgen-fsyn.c
719
fs_tmp.sdiv = fs->sdiv;
drivers/clk/st/clkgen-fsyn.c
720
fs_tmp.nsdiv = fs->nsdiv;
drivers/clk/st/clkgen-fsyn.c
722
if (fs->pe > 2)
drivers/clk/st/clkgen-fsyn.c
723
p2 = fs->pe - 2;
drivers/clk/st/clkgen-fsyn.c
727
for (; p2 < 32768ll && (p2 <= (fs->pe + 2)); p2++) {
drivers/clk/st/clkgen-fsyn.c
736
fs->pe = (unsigned long)p2;
drivers/clk/st/clkgen-fsyn.c
745
static int quadfs_fsynt_get_hw_value_for_recalc(struct st_clk_quadfs_fsynth *fs,
drivers/clk/st/clkgen-fsyn.c
751
params->mdiv = CLKGEN_READ(fs, mdiv[fs->chan]);
drivers/clk/st/clkgen-fsyn.c
752
params->pe = CLKGEN_READ(fs, pe[fs->chan]);
drivers/clk/st/clkgen-fsyn.c
753
params->sdiv = CLKGEN_READ(fs, sdiv[fs->chan]);
drivers/clk/st/clkgen-fsyn.c
755
if (fs->data->nsdiv_present)
drivers/clk/st/clkgen-fsyn.c
756
params->nsdiv = CLKGEN_READ(fs, nsdiv[fs->chan]);
drivers/clk/st/clkgen-fsyn.c
766
fs->md = params->mdiv;
drivers/clk/st/clkgen-fsyn.c
767
fs->pe = params->pe;
drivers/clk/st/clkgen-fsyn.c
768
fs->sdiv = params->sdiv;
drivers/clk/st/clkgen-fsyn.c
769
fs->nsdiv = params->nsdiv;
drivers/clk/st/clkgen-fsyn.c
777
struct st_clk_quadfs_fsynth *fs = to_quadfs_fsynth(hw);
drivers/clk/st/clkgen-fsyn.c
783
clk_fs_get_rate = fs->data->get_rate;
drivers/clk/st/clkgen-fsyn.c
784
clk_fs_get_params = fs->data->get_params;
drivers/clk/st/clkgen-fsyn.c
795
struct st_clk_quadfs_fsynth *fs = to_quadfs_fsynth(hw);
drivers/clk/st/clkgen-fsyn.c
801
clk_fs_get_rate = fs->data->get_rate;
drivers/clk/st/clkgen-fsyn.c
803
if (quadfs_fsynt_get_hw_value_for_recalc(fs, &params))
drivers/clk/st/clkgen-fsyn.c
82
unsigned long output, struct stm_fs *fs);
drivers/clk/st/clkgen-fsyn.c
834
static void quadfs_program_and_enable(struct st_clk_quadfs_fsynth *fs,
drivers/clk/st/clkgen-fsyn.c
837
fs->md = params->mdiv;
drivers/clk/st/clkgen-fsyn.c
838
fs->pe = params->pe;
drivers/clk/st/clkgen-fsyn.c
839
fs->sdiv = params->sdiv;
drivers/clk/st/clkgen-fsyn.c
840
fs->nsdiv = params->nsdiv;
drivers/clk/st/clkgen-fsyn.c
846
quadfs_fsynth_program_rate(fs);
drivers/clk/st/clkgen-fsyn.c
847
quadfs_fsynth_program_enable(fs);
drivers/clk/st/clkgen-fsyn.c
853
struct st_clk_quadfs_fsynth *fs = to_quadfs_fsynth(hw);
drivers/clk/st/clkgen-fsyn.c
866
quadfs_program_and_enable(fs, &params);
drivers/clk/st/clkgen-fsyn.c
887
struct st_clk_quadfs_fsynth *fs;
drivers/clk/st/clkgen-fsyn.c
897
fs = kzalloc_obj(*fs);
drivers/clk/st/clkgen-fsyn.c
898
if (!fs)
drivers/clk/st/clkgen-fsyn.c
907
fs->data = quadfs;
drivers/clk/st/clkgen-fsyn.c
908
fs->regs_base = reg;
drivers/clk/st/clkgen-fsyn.c
909
fs->chan = chan;
drivers/clk/st/clkgen-fsyn.c
910
fs->lock = lock;
drivers/clk/st/clkgen-fsyn.c
911
fs->hw.init = &init;
drivers/clk/st/clkgen-fsyn.c
913
clk = clk_register(NULL, &fs->hw);
drivers/clk/st/clkgen-fsyn.c
916
kfree(fs);
drivers/comedi/drivers/jr3_pci.c
508
struct force_array __iomem *fs = &sensor->full_scale;
drivers/comedi/drivers/jr3_pci.c
512
r[0].l.range[0].min = -get_s16(&fs->fx) * 1000;
drivers/comedi/drivers/jr3_pci.c
513
r[0].l.range[0].max = get_s16(&fs->fx) * 1000;
drivers/comedi/drivers/jr3_pci.c
514
r[1].l.range[0].min = -get_s16(&fs->fy) * 1000;
drivers/comedi/drivers/jr3_pci.c
515
r[1].l.range[0].max = get_s16(&fs->fy) * 1000;
drivers/comedi/drivers/jr3_pci.c
516
r[2].l.range[0].min = -get_s16(&fs->fz) * 1000;
drivers/comedi/drivers/jr3_pci.c
517
r[2].l.range[0].max = get_s16(&fs->fz) * 1000;
drivers/comedi/drivers/jr3_pci.c
518
r[3].l.range[0].min = -get_s16(&fs->mx) * 100;
drivers/comedi/drivers/jr3_pci.c
519
r[3].l.range[0].max = get_s16(&fs->mx) * 100;
drivers/comedi/drivers/jr3_pci.c
520
r[4].l.range[0].min = -get_s16(&fs->my) * 100;
drivers/comedi/drivers/jr3_pci.c
521
r[4].l.range[0].max = get_s16(&fs->my) * 100;
drivers/comedi/drivers/jr3_pci.c
522
r[5].l.range[0].min = -get_s16(&fs->mz) * 100;
drivers/comedi/drivers/jr3_pci.c
524
r[5].l.range[0].max = get_s16(&fs->mz) * 100;
drivers/comedi/drivers/jr3_pci.c
525
r[6].l.range[0].min = -get_s16(&fs->v1) * 100;
drivers/comedi/drivers/jr3_pci.c
526
r[6].l.range[0].max = get_s16(&fs->v1) * 100;
drivers/comedi/drivers/jr3_pci.c
527
r[7].l.range[0].min = -get_s16(&fs->v2) * 100;
drivers/comedi/drivers/jr3_pci.c
528
r[7].l.range[0].max = get_s16(&fs->v2) * 100;
drivers/crypto/ccp/sev-dev.c
266
get_fs_root(init_task.fs, &root);
drivers/dpll/dpll_netlink.c
410
int fs, ret;
drivers/dpll/dpll_netlink.c
422
for (fs = 0; fs < pin->prop.freq_supported_num; fs++) {
drivers/dpll/dpll_netlink.c
426
freq = pin->prop.freq_supported[fs].min;
drivers/dpll/dpll_netlink.c
432
freq = pin->prop.freq_supported[fs].max;
drivers/dpll/dpll_netlink.c
532
int fs;
drivers/dpll/dpll_netlink.c
534
for (fs = 0; fs < pin->prop.freq_supported_num; fs++)
drivers/dpll/dpll_netlink.c
535
if (freq >= pin->prop.freq_supported[fs].min &&
drivers/dpll/dpll_netlink.c
536
freq <= pin->prop.freq_supported[fs].max)
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
19
static void adv7511_calc_cts_n(unsigned int f_tmds, unsigned int fs,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
22
switch (fs) {
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
27
*n = fs * 128 / 1000;
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
32
*n = fs * 128 / 900;
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
36
*cts = ((f_tmds * *n) / (128 * fs)) * 1000;
drivers/gpu/drm/bridge/ite-it66121.c
1063
static int it661221_set_ncts(struct it66121_ctx *ctx, u8 fs)
drivers/gpu/drm/bridge/ite-it66121.c
1068
switch (fs) {
drivers/gpu/drm/bridge/ite-it66121.c
1232
u8 fs;
drivers/gpu/drm/bridge/ite-it66121.c
1270
fs = IT66121_AUD_FS_44P1K;
drivers/gpu/drm/bridge/ite-it66121.c
1273
fs = IT66121_AUD_FS_88P2K;
drivers/gpu/drm/bridge/ite-it66121.c
1276
fs = IT66121_AUD_FS_176P4K;
drivers/gpu/drm/bridge/ite-it66121.c
1279
fs = IT66121_AUD_FS_32K;
drivers/gpu/drm/bridge/ite-it66121.c
1282
fs = IT66121_AUD_FS_48K;
drivers/gpu/drm/bridge/ite-it66121.c
1285
fs = IT66121_AUD_FS_96K;
drivers/gpu/drm/bridge/ite-it66121.c
1288
fs = IT66121_AUD_FS_192K;
drivers/gpu/drm/bridge/ite-it66121.c
1291
fs = IT66121_AUD_FS_768K;
drivers/gpu/drm/bridge/ite-it66121.c
1294
fs = IT66121_AUD_FS_48K;
drivers/gpu/drm/bridge/ite-it66121.c
1298
ctx->audio.fs = fs;
drivers/gpu/drm/bridge/ite-it66121.c
1299
ret = it661221_set_ncts(ctx, fs);
drivers/gpu/drm/bridge/ite-it66121.c
1320
iec60958_chstat[3] = fs;
drivers/gpu/drm/bridge/ite-it66121.c
1355
iec60958_chstat[4] = (((~fs) << 4) & 0xF0) | swl;
drivers/gpu/drm/bridge/ite-it66121.c
311
u8 fs;
drivers/gpu/drm/bridge/tda998x_drv.c
926
static u8 tda998x_get_adiv(struct tda998x_priv *priv, unsigned int fs)
drivers/gpu/drm/bridge/tda998x_drv.c
928
unsigned long min_audio_clk = fs * 128;
drivers/gpu/drm/bridge/tda998x_drv.c
938
ser_clk, fs, min_audio_clk, adiv);
drivers/hwmon/ltc4282.c
217
u32 fs, long *val)
drivers/hwmon/ltc4282.c
230
*val = DIV_ROUND_CLOSEST_ULL(be16_to_cpu(in) * (u64)fs, U16_MAX);
drivers/hwmon/ltc4282.c
235
u32 reg, u32 fs, long *val,
drivers/hwmon/ltc4282.c
249
*val = DIV_ROUND_CLOSEST(in * fs, U8_MAX);
drivers/hwmon/ltc4282.c
254
u32 fs, long *val)
drivers/hwmon/ltc4282.c
256
return ltc4282_read_voltage_byte_cached(st, reg, fs, val, NULL);
drivers/hwmon/ltc4282.c
653
long lowest, long highest, u32 fs)
drivers/hwmon/ltc4282.c
659
tmp = DIV_ROUND_CLOSEST(U16_MAX * lowest, fs);
drivers/hwmon/ltc4282.c
667
tmp = DIV_ROUND_CLOSEST(U16_MAX * highest, fs);
drivers/hwmon/ltc4282.c
675
long lowest, long highest, u32 fs)
drivers/hwmon/ltc4282.c
677
return __ltc4282_in_write_history(st, reg, lowest, highest, fs);
drivers/hwmon/ltc4282.c
714
u32 reg, u32 fs, long val,
drivers/hwmon/ltc4282.c
719
val = clamp_val(val, 0, fs);
drivers/hwmon/ltc4282.c
720
in = DIV_ROUND_CLOSEST(val * U8_MAX, fs);
drivers/hwmon/ltc4282.c
731
u32 fs, long val)
drivers/hwmon/ltc4282.c
733
return ltc4282_write_voltage_byte_cached(st, reg, fs, val, NULL);
drivers/i3c/master/i3c-master-cdns.c
308
#define SIR_MAP_DEV_SHIFT(d, fs) ((fs) + (((d) % 2) ? 16 : 0))
drivers/iio/accel/msa311.c
634
unsigned int fs;
drivers/iio/accel/msa311.c
638
err = regmap_field_read(msa311->fields[F_FS], &fs);
drivers/iio/accel/msa311.c
645
*val = msa311_fs_table[fs].integral;
drivers/iio/accel/msa311.c
646
*val2 = msa311_fs_table[fs].microfract;
drivers/iio/accel/msa311.c
722
unsigned int fs;
drivers/iio/accel/msa311.c
734
for (fs = 0; fs < ARRAY_SIZE(msa311_fs_table); fs++)
drivers/iio/accel/msa311.c
736
if (val2 == msa311_fs_table[fs].microfract) {
drivers/iio/accel/msa311.c
738
err = regmap_field_write(msa311->fields[F_FS], fs);
drivers/iio/accel/st_accel_core.c
1026
.fs = {
drivers/iio/accel/st_accel_core.c
1108
.fs = {
drivers/iio/accel/st_accel_core.c
1189
.fs = {
drivers/iio/accel/st_accel_core.c
1279
.fs = {
drivers/iio/accel/st_accel_core.c
149
.fs = {
drivers/iio/accel/st_accel_core.c
1594
adata->current_fullscale = &adata->sensor_settings->fs.fs_avl[0];
drivers/iio/accel/st_accel_core.c
228
.fs = {
drivers/iio/accel/st_accel_core.c
312
.fs = {
drivers/iio/accel/st_accel_core.c
397
.fs = {
drivers/iio/accel/st_accel_core.c
468
.fs = {
drivers/iio/accel/st_accel_core.c
542
.fs = {
drivers/iio/accel/st_accel_core.c
613
.fs = {
drivers/iio/accel/st_accel_core.c
683
.fs = {
drivers/iio/accel/st_accel_core.c
744
.fs = {
drivers/iio/accel/st_accel_core.c
813
.fs = {
drivers/iio/accel/st_accel_core.c
889
.fs = {
drivers/iio/accel/st_accel_core.c
953
.fs = {
drivers/iio/adc/ad4130.c
1047
unsigned int fs, old_fs;
drivers/iio/adc/ad4130.c
1051
old_fs = setup_info->fs;
drivers/iio/adc/ad4130.c
1053
ad4130_freq_to_fs(setup_info->filter_type, val, val2, &fs);
drivers/iio/adc/ad4130.c
1055
if (fs == setup_info->fs)
drivers/iio/adc/ad4130.c
1058
setup_info->fs = fs;
drivers/iio/adc/ad4130.c
1062
setup_info->fs = old_fs;
drivers/iio/adc/ad4130.c
1145
ad4130_fs_to_freq(setup_info->filter_type, setup_info->fs,
drivers/iio/adc/ad4130.c
1610
chan_info->setup.fs = AD4130_FILTER_SELECT_MIN;
drivers/iio/adc/ad4130.c
236
unsigned int fs;
drivers/iio/adc/ad4130.c
612
unsigned int fs;
drivers/iio/adc/ad4130.c
623
a->fs != b->fs ||
drivers/iio/adc/ad4130.c
733
FIELD_PREP(AD4130_FILTER_SELECT_MASK, setup_info->fs);
drivers/iio/adc/ad4130.c
877
int val, int val2, unsigned int *fs)
drivers/iio/adc/ad4130.c
896
*fs = temp;
drivers/iio/adc/ad4130.c
900
unsigned int fs, int *val, int *val2)
drivers/iio/adc/ad4130.c
907
dividend = (filter_config->fs_max - fs + AD4130_FILTER_SELECT_MIN) *
drivers/iio/adc/ad4130.c
932
old_fs = setup_info->fs;
drivers/iio/adc/ad4130.c
941
ad4130_fs_to_freq(setup_info->filter_type, setup_info->fs,
drivers/iio/adc/ad4130.c
944
ad4130_freq_to_fs(val, freq_val, freq_val2, &setup_info->fs);
drivers/iio/adc/ad4130.c
950
setup_info->fs = old_fs;
drivers/iio/common/st_sensors/st_sensors_core.c
116
unsigned int fs, int *index_fs_avl)
drivers/iio/common/st_sensors/st_sensors_core.c
121
if (sensor_settings->fs.fs_avl[i].num == 0)
drivers/iio/common/st_sensors/st_sensors_core.c
124
if (sensor_settings->fs.fs_avl[i].num == fs) {
drivers/iio/common/st_sensors/st_sensors_core.c
134
static int st_sensors_set_fullscale(struct iio_dev *indio_dev, unsigned int fs)
drivers/iio/common/st_sensors/st_sensors_core.c
139
if (sdata->sensor_settings->fs.addr == 0)
drivers/iio/common/st_sensors/st_sensors_core.c
142
err = st_sensors_match_fs(sdata->sensor_settings, fs, &i);
drivers/iio/common/st_sensors/st_sensors_core.c
147
sdata->sensor_settings->fs.addr,
drivers/iio/common/st_sensors/st_sensors_core.c
148
sdata->sensor_settings->fs.mask,
drivers/iio/common/st_sensors/st_sensors_core.c
149
sdata->sensor_settings->fs.fs_avl[i].value);
drivers/iio/common/st_sensors/st_sensors_core.c
153
sdata->current_fullscale = &sdata->sensor_settings->fs.fs_avl[i];
drivers/iio/common/st_sensors/st_sensors_core.c
477
if ((sdata->sensor_settings->fs.fs_avl[i].gain == scale) &&
drivers/iio/common/st_sensors/st_sensors_core.c
478
(sdata->sensor_settings->fs.fs_avl[i].gain != 0)) {
drivers/iio/common/st_sensors/st_sensors_core.c
487
sdata->sensor_settings->fs.fs_avl[i].num);
drivers/iio/common/st_sensors/st_sensors_core.c
644
if (sdata->sensor_settings->fs.fs_avl[i].num == 0)
drivers/iio/common/st_sensors/st_sensors_core.c
647
q = sdata->sensor_settings->fs.fs_avl[i].gain / 1000000;
drivers/iio/common/st_sensors/st_sensors_core.c
648
r = sdata->sensor_settings->fs.fs_avl[i].gain % 1000000;
drivers/iio/dac/ltc2664.c
136
int span, fs;
drivers/iio/dac/ltc2664.c
142
fs = span_helper[span][1] - span_helper[span][0];
drivers/iio/dac/ltc2664.c
144
return fs * st->vref_mv / 2500;
drivers/iio/dac/ltc2664.c
150
int span, fs;
drivers/iio/dac/ltc2664.c
156
fs = 1000 * st->vref_mv;
drivers/iio/dac/ltc2664.c
159
return mul_u64_u32_div(4800, fs, st->rfsadj_ohms);
drivers/iio/dac/ltc2664.c
161
return mul_u64_u32_div(LTC2672_SCALE_MULTIPLIER(span), fs, st->rfsadj_ohms);
drivers/iio/dac/ltc2688.c
159
int span, fs;
drivers/iio/dac/ltc2688.c
165
fs = ltc2688_span_helper[span][1] - ltc2688_span_helper[span][0];
drivers/iio/dac/ltc2688.c
167
fs = mult_frac(fs, 105, 100);
drivers/iio/dac/ltc2688.c
169
*val = DIV_ROUND_CLOSEST(fs * st->vref, 4096);
drivers/iio/gyro/st_gyro_core.c
175
.fs = {
drivers/iio/gyro/st_gyro_core.c
249
.fs = {
drivers/iio/gyro/st_gyro_core.c
323
.fs = {
drivers/iio/gyro/st_gyro_core.c
492
gdata->current_fullscale = &gdata->sensor_settings->fs.fs_avl[0];
drivers/iio/gyro/st_gyro_core.c
97
.fs = {
drivers/iio/imu/inv_icm42600/inv_icm42600.h
120
int fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
536
idx = st->conf.accel.fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
561
conf.fs = idx / 2;
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
115
.fs = INV_ICM42600_GYRO_FS_2000DPS,
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
121
.fs = INV_ICM42600_ACCEL_FS_16G,
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
131
.fs = INV_ICM42686_GYRO_FS_4000DPS,
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
137
.fs = INV_ICM42686_ACCEL_FS_32G,
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
303
if (conf->fs < 0)
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
304
conf->fs = oldconf->fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
328
if (conf->fs != oldconf->fs || conf->odr != oldconf->odr) {
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
329
val = INV_ICM42600_ACCEL_CONFIG0_FS(conf->fs) |
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
334
oldconf->fs = conf->fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
364
if (conf->fs < 0)
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
365
conf->fs = oldconf->fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
372
if (conf->fs != oldconf->fs || conf->odr != oldconf->odr) {
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
373
val = INV_ICM42600_GYRO_CONFIG0_FS(conf->fs) |
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
378
oldconf->fs = conf->fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
467
val = INV_ICM42600_GYRO_CONFIG0_FS(conf->gyro.fs) |
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
474
val = INV_ICM42600_ACCEL_CONFIG0_FS(conf->accel.fs) |
drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
252
idx = st->conf.gyro.fs;
drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
277
conf.fs = idx / 2;
drivers/iio/imu/inv_icm45600/inv_icm45600.h
95
u8 fs;
drivers/iio/imu/inv_icm45600/inv_icm45600_accel.c
226
idx = st->conf.accel.fs;
drivers/iio/imu/inv_icm45600/inv_icm45600_accel.c
255
conf.fs = idx / 2;
drivers/iio/imu/inv_icm45600/inv_icm45600_accel.c
259
conf.fs++;
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
143
.fs = INV_ICM45686_GYRO_FS_2000DPS,
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
149
.fs = INV_ICM45686_ACCEL_FS_16G,
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
158
.fs = INV_ICM45686_GYRO_FS_4000DPS,
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
164
.fs = INV_ICM45686_ACCEL_FS_32G,
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
340
if (conf->fs == U8_MAX)
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
341
conf->fs = oldconf->fs;
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
374
if (conf->fs != oldconf->fs || conf->odr != oldconf->odr) {
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
375
val = FIELD_PREP(INV_ICM45600_ACCEL_CONFIG0_FS_MASK, conf->fs) |
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
380
oldconf->fs = conf->fs;
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
419
if (conf->fs != oldconf->fs || conf->odr != oldconf->odr) {
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
420
val = FIELD_PREP(INV_ICM45600_GYRO_CONFIG0_FS_MASK, conf->fs) |
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
425
oldconf->fs = conf->fs;
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
469
val = FIELD_PREP(INV_ICM45600_GYRO_CONFIG0_FS_MASK, conf->gyro.fs) |
drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
475
val = FIELD_PREP(INV_ICM45600_ACCEL_CONFIG0_FS_MASK, conf->accel.fs) |
drivers/iio/imu/inv_icm45600/inv_icm45600_gyro.c
239
idx = st->conf.gyro.fs;
drivers/iio/imu/inv_icm45600/inv_icm45600_gyro.c
268
conf.fs = idx / 2;
drivers/iio/imu/inv_icm45600/inv_icm45600_gyro.c
272
conf.fs++;
drivers/iio/magnetometer/st_magn_core.c
172
.fs = {
drivers/iio/magnetometer/st_magn_core.c
251
.fs = {
drivers/iio/magnetometer/st_magn_core.c
331
.fs = {
drivers/iio/magnetometer/st_magn_core.c
400
.fs = {
drivers/iio/magnetometer/st_magn_core.c
451
.fs = {
drivers/iio/magnetometer/st_magn_core.c
628
mdata->current_fullscale = &mdata->sensor_settings->fs.fs_avl[0];
drivers/iio/pressure/st_pressure_core.c
254
.fs = {
drivers/iio/pressure/st_pressure_core.c
326
.fs = {
drivers/iio/pressure/st_pressure_core.c
379
.fs = {
drivers/iio/pressure/st_pressure_core.c
448
.fs = {
drivers/iio/pressure/st_pressure_core.c
517
.fs = {
drivers/iio/pressure/st_pressure_core.c
587
.fs = {
drivers/iio/pressure/st_pressure_core.c
767
press_data->current_fullscale = &press_data->sensor_settings->fs.fs_avl[0];
drivers/infiniband/hw/hfi1/pcie.c
1085
fs = 24;
drivers/infiniband/hw/hfi1/pcie.c
1095
fs = 29;
drivers/infiniband/hw/hfi1/pcie.c
1105
(fs <<
drivers/infiniband/hw/hfi1/pcie.c
1109
ret = load_eq_table(dd, eq, fs, div);
drivers/infiniband/hw/hfi1/pcie.c
718
static int load_eq_table(struct hfi1_devdata *dd, const u8 eq[11][3], u8 fs,
drivers/infiniband/hw/hfi1/pcie.c
733
c0 = fs - (eq[i][PREC] / div) - (eq[i][POST] / div);
drivers/infiniband/hw/hfi1/pcie.c
940
u32 reg32, fs, lf;
drivers/infiniband/hw/hfi1/tid_rdma.c
3167
struct tid_flow_state *fs;
drivers/infiniband/hw/hfi1/tid_rdma.c
3176
fs = &qpriv->flow_state;
drivers/infiniband/hw/hfi1/tid_rdma.c
3177
if (fs->index != RXE_NUM_TID_FLOWS)
drivers/infiniband/hw/hfi1/tid_rdma.c
4431
struct tid_flow_state *fs = &qpriv->flow_state;
drivers/infiniband/hw/hfi1/tid_rdma.c
4444
*bth2 = mask_psn((fs->generation <<
drivers/infiniband/hw/hfi1/tid_rdma.c
4880
struct tid_flow_state *fs = &qpriv->flow_state;
drivers/infiniband/hw/hfi1/tid_rdma.c
4891
gen_next = (fs->generation == KERN_GENERATION_RESERVED) ?
drivers/infiniband/hw/hfi1/tid_rdma.c
4892
generation : kern_flow_generation_next(fs->generation);
drivers/infiniband/hw/hfi1/tid_rdma.c
4905
if (fs->index >= RXE_NUM_TID_FLOWS) {
drivers/infiniband/hw/hfi1/tid_rdma.c
4910
fs->generation = generation;
drivers/infiniband/hw/hfi1/tid_rdma.c
4913
rcd->flows[fs->index].generation = generation;
drivers/infiniband/hw/hfi1/tid_rdma.c
4914
fs->generation = kern_setup_hw_flow(rcd, fs->index);
drivers/infiniband/hw/hfi1/tid_rdma.c
4916
fs->psn = 0;
drivers/infiniband/hw/hfi1/tid_rdma.c
4953
flow->flow_state.generation = fs->generation;
drivers/infiniband/hw/hfi1/tid_rdma.c
4954
flow->flow_state.spsn = fs->psn;
drivers/infiniband/hw/hfi1/tid_rdma.c
4960
fs->psn += flow->npkts;
drivers/infiniband/hw/hfi1/tid_rdma.c
783
struct tid_flow_state *fs = &qpriv->flow_state;
drivers/infiniband/hw/hfi1/tid_rdma.c
789
if (fs->index != RXE_NUM_TID_FLOWS)
drivers/infiniband/hw/hfi1/tid_rdma.c
796
ret = kern_reserve_flow(rcd, fs->last_index);
drivers/infiniband/hw/hfi1/tid_rdma.c
799
fs->index = ret;
drivers/infiniband/hw/hfi1/tid_rdma.c
800
fs->last_index = fs->index;
drivers/infiniband/hw/hfi1/tid_rdma.c
803
if (fs->generation != KERN_GENERATION_RESERVED)
drivers/infiniband/hw/hfi1/tid_rdma.c
804
rcd->flows[fs->index].generation = fs->generation;
drivers/infiniband/hw/hfi1/tid_rdma.c
805
fs->generation = kern_setup_hw_flow(rcd, fs->index);
drivers/infiniband/hw/hfi1/tid_rdma.c
806
fs->psn = 0;
drivers/infiniband/hw/hfi1/tid_rdma.c
823
struct tid_flow_state *fs = &qpriv->flow_state;
drivers/infiniband/hw/hfi1/tid_rdma.c
827
if (fs->index >= RXE_NUM_TID_FLOWS)
drivers/infiniband/hw/hfi1/tid_rdma.c
830
kern_clear_hw_flow(rcd, fs->index);
drivers/infiniband/hw/hfi1/tid_rdma.c
831
clear_bit(fs->index, &rcd->flow_mask);
drivers/infiniband/hw/hfi1/tid_rdma.c
832
fs->index = RXE_NUM_TID_FLOWS;
drivers/infiniband/hw/hfi1/tid_rdma.c
833
fs->psn = 0;
drivers/infiniband/hw/hfi1/tid_rdma.c
834
fs->generation = KERN_GENERATION_RESERVED;
drivers/isdn/hardware/mISDN/avmfritz.c
441
int count, fs, cnt = 0, idx;
drivers/isdn/hardware/mISDN/avmfritz.c
448
fs = (fc->type == AVM_FRITZ_PCIV2) ?
drivers/isdn/hardware/mISDN/avmfritz.c
453
count = fs;
drivers/isdn/hardware/mISDN/avmfritz.c
463
if (count > fs) {
drivers/isdn/hardware/mISDN/avmfritz.c
464
count = fs;
drivers/isdn/hardware/mISDN/avmfritz.c
477
hdlc->ctrl.sr.xml = ((count == fs) ? 0 : count);
drivers/isdn/hardware/mISDN/avmfritz.c
527
int len, fs;
drivers/isdn/hardware/mISDN/avmfritz.c
535
fs = HDLC_FIFO_SIZE_V2;
drivers/isdn/hardware/mISDN/avmfritz.c
538
fs = HDLC_FIFO_SIZE_V1;
drivers/isdn/hardware/mISDN/avmfritz.c
554
len = fs;
drivers/media/dvb-frontends/atbm8830.c
108
u32 fs = priv->config->osc_clk_freq;
drivers/media/dvb-frontends/atbm8830.c
115
t = (u64) 2 * 31416 * (freq - fs);
drivers/media/dvb-frontends/atbm8830.c
117
do_div(t, fs);
drivers/media/dvb-frontends/si21xx.c
140
int fs; /*Sampling rate of the ADC in MHz*/
drivers/media/dvb-frontends/si21xx.c
367
state->fs;
drivers/media/dvb-frontends/si21xx.c
830
state->fs = sample_rate;/*ADC MHz*/
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1002
const struct s5c73m3_frame_size *fs;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1016
fs = state->sensor_pix_size[RES_ISP];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1020
fs = state->sensor_pix_size[RES_JPEG];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1026
s5c73m3_fill_mbus_fmt(&fmt->format, fs, code);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1037
const struct s5c73m3_frame_size *fs;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1051
fs = state->oif_pix_size[RES_ISP];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1055
fs = state->oif_pix_size[RES_JPEG];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1059
fs = state->oif_pix_size[RES_ISP];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1065
s5c73m3_fill_mbus_fmt(&fmt->format, fs, code);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
113
const struct s5c73m3_frame_size *fs,
drivers/media/i2c/s5c73m3/s5c73m3-core.c
116
mf->width = fs->width;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
117
mf->height = fs->height;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1282
const struct s5c73m3_frame_size *fs;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1284
fs = state->oif_pix_size[RES_ISP];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1285
w = fs->width;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1286
h = fs->height;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
797
const struct s5c73m3_frame_size *fs;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
802
fs = s5c73m3_resolutions[idx];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
805
int dist = abs(fs->width - fmt->width) +
drivers/media/i2c/s5c73m3/s5c73m3-core.c
806
abs(fs->height - fmt->height);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
809
best_fs = fs;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
811
++fs;
drivers/media/i2c/s5c73m3/s5c73m3-core.c
820
const struct s5c73m3_frame_size **fs)
drivers/media/i2c/s5c73m3/s5c73m3-core.c
826
*fs = s5c73m3_find_frame_size(&fmt->format, RES_ISP);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
830
*fs = s5c73m3_find_frame_size(&fmt->format, RES_JPEG);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
841
*fs = state->oif_pix_size[RES_ISP];
drivers/media/i2c/s5c73m3/s5c73m3-core.c
843
*fs = s5c73m3_find_frame_size(v4l2_subdev_state_get_format(sd_state, OIF_ISP_PAD),
drivers/media/i2c/s5c73m3/s5c73m3-core.c
848
s5c73m3_fill_mbus_fmt(&fmt->format, *fs, code);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
854
const struct s5c73m3_frame_size **fs)
drivers/media/i2c/s5c73m3/s5c73m3-core.c
859
*fs = s5c73m3_find_frame_size(&fmt->format, RES_ISP);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
862
*fs = s5c73m3_find_frame_size(&fmt->format, RES_JPEG);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
866
s5c73m3_fill_mbus_fmt(&fmt->format, *fs, code);
drivers/media/platform/amphion/vdec.c
1049
static void vdec_request_one_fs(struct vdec_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1051
fs->req_count++;
drivers/media/platform/amphion/vdec.c
1052
if (fs->req_count > fs->max_count)
drivers/media/platform/amphion/vdec.c
1053
fs->req_count = fs->max_count;
drivers/media/platform/amphion/vdec.c
1056
static int vdec_alloc_fs_buffer(struct vpu_inst *inst, struct vdec_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1060
if (!fs->size)
drivers/media/platform/amphion/vdec.c
1063
if (fs->count >= fs->req_count)
drivers/media/platform/amphion/vdec.c
1066
buffer = &fs->buffer[fs->count];
drivers/media/platform/amphion/vdec.c
1067
if (buffer->virt && buffer->length >= fs->size)
drivers/media/platform/amphion/vdec.c
1071
buffer->length = fs->size;
drivers/media/platform/amphion/vdec.c
1075
static void vdec_alloc_fs(struct vpu_inst *inst, struct vdec_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1079
while (fs->count < fs->req_count) {
drivers/media/platform/amphion/vdec.c
1080
ret = vdec_alloc_fs_buffer(inst, fs);
drivers/media/platform/amphion/vdec.c
1083
fs->count++;
drivers/media/platform/amphion/vdec.c
1087
static void vdec_clear_fs(struct vdec_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1091
if (!fs)
drivers/media/platform/amphion/vdec.c
1094
for (i = 0; i < ARRAY_SIZE(fs->buffer); i++)
drivers/media/platform/amphion/vdec.c
1095
vpu_free_dma(&fs->buffer[i]);
drivers/media/platform/amphion/vdec.c
1096
memset(fs, 0, sizeof(*fs));
drivers/media/platform/amphion/vdec.c
1099
static int vdec_response_fs(struct vpu_inst *inst, struct vdec_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1104
if (fs->index >= fs->count)
drivers/media/platform/amphion/vdec.c
1108
info.id = fs->index;
drivers/media/platform/amphion/vdec.c
1109
info.type = fs->type;
drivers/media/platform/amphion/vdec.c
1110
info.tag = fs->tag;
drivers/media/platform/amphion/vdec.c
1111
info.luma_addr = fs->buffer[fs->index].phys;
drivers/media/platform/amphion/vdec.c
1112
info.luma_size = fs->buffer[fs->index].length;
drivers/media/platform/amphion/vdec.c
1117
fs->index++;
drivers/media/platform/amphion/vdec.c
1412
static void vdec_event_req_fs(struct vpu_inst *inst, struct vpu_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1416
if (!fs)
drivers/media/platform/amphion/vdec.c
1421
switch (fs->type) {
drivers/media/platform/amphion/vdec.c
1443
static void vdec_evnet_rel_fs(struct vpu_inst *inst, struct vpu_fs_info *fs)
drivers/media/platform/amphion/vdec.c
1447
if (!fs || fs->id >= vdec->slot_count)
drivers/media/platform/amphion/vdec.c
1449
if (fs->type != MEM_RES_FRAME)
drivers/media/platform/amphion/vdec.c
1452
if (fs->id >= vdec->slot_count) {
drivers/media/platform/amphion/vdec.c
1453
dev_err(inst->dev, "[%d] invalid fs(%d) to release\n", inst->id, fs->id);
drivers/media/platform/amphion/vdec.c
1458
if (!vdec->slots[fs->id].curr) {
drivers/media/platform/amphion/vdec.c
1459
dev_dbg(inst->dev, "[%d] fs[%d] has bee released\n", inst->id, fs->id);
drivers/media/platform/amphion/vdec.c
1463
if (vdec->slots[fs->id].state == VPU_BUF_STATE_DECODED) {
drivers/media/platform/amphion/vdec.c
1468
vdec_release_curr_frame_store(inst, fs->id);
drivers/media/platform/amphion/vpu_cmds.c
368
int vpu_session_alloc_fs(struct vpu_inst *inst, struct vpu_fs_info *fs)
drivers/media/platform/amphion/vpu_cmds.c
370
return vpu_session_send_cmd(inst, VPU_CMD_ID_FS_ALLOC, fs);
drivers/media/platform/amphion/vpu_cmds.c
373
int vpu_session_release_fs(struct vpu_inst *inst, struct vpu_fs_info *fs)
drivers/media/platform/amphion/vpu_cmds.c
375
return vpu_session_send_cmd(inst, VPU_CMD_ID_FS_RELEASE, fs);
drivers/media/platform/amphion/vpu_cmds.h
15
int vpu_session_alloc_fs(struct vpu_inst *inst, struct vpu_fs_info *fs);
drivers/media/platform/amphion/vpu_cmds.h
16
int vpu_session_release_fs(struct vpu_inst *inst, struct vpu_fs_info *fs);
drivers/media/platform/amphion/vpu_malone.c
766
struct vpu_fs_info *fs)
drivers/media/platform/amphion/vpu_malone.c
775
pkt->data[0] = fs->id | (fs->tag << 24);
drivers/media/platform/amphion/vpu_malone.c
776
pkt->data[1] = fs->luma_addr;
drivers/media/platform/amphion/vpu_malone.c
777
if (fs->type == MEM_RES_FRAME) {
drivers/media/platform/amphion/vpu_malone.c
784
if (fs->luma_addr == fs->chroma_addr)
drivers/media/platform/amphion/vpu_malone.c
785
fs->chroma_addr = fs->luma_addr + fs->luma_size;
drivers/media/platform/amphion/vpu_malone.c
786
pkt->data[2] = fs->luma_addr + fs->luma_size / 2;
drivers/media/platform/amphion/vpu_malone.c
787
pkt->data[3] = fs->chroma_addr;
drivers/media/platform/amphion/vpu_malone.c
788
pkt->data[4] = fs->chroma_addr + fs->chromau_size / 2;
drivers/media/platform/amphion/vpu_malone.c
789
pkt->data[5] = fs->bytesperline;
drivers/media/platform/amphion/vpu_malone.c
791
pkt->data[2] = fs->luma_size;
drivers/media/platform/amphion/vpu_malone.c
796
pkt->data[6] = fs_type[fs->type];
drivers/media/platform/amphion/vpu_malone.c
800
struct vpu_fs_info *fs)
drivers/media/platform/amphion/vpu_malone.c
803
pkt->data[0] = fs->id | (fs->tag << 24);
drivers/media/platform/amphion/vpu_msgs.c
111
struct vpu_fs_info fs = { 0 };
drivers/media/platform/amphion/vpu_msgs.c
113
vpu_iface_unpack_msg_data(inst->core, pkt, &fs);
drivers/media/platform/amphion/vpu_msgs.c
114
call_void_vop(inst, event_notify, VPU_MSG_ID_FRAME_RELEASE, &fs);
drivers/media/platform/amphion/vpu_msgs.c
94
struct vpu_fs_info fs = { 0 };
drivers/media/platform/amphion/vpu_msgs.c
96
vpu_iface_unpack_msg_data(inst->core, pkt, &fs);
drivers/media/platform/amphion/vpu_msgs.c
97
call_void_vop(inst, event_notify, VPU_MSG_ID_FRAME_REQ, &fs);
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
735
struct hfi_framesize fs;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
739
fs.buffer_type = HFI_BUFFER_INPUT;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
740
fs.width = inst->fmt_src->fmt.pix_mp.width;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
741
fs.height = inst->fmt_src->fmt.pix_mp.height;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
743
ret = hfi_gen1_set_property(inst, ptype, &fs, sizeof(fs));
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
748
fs.buffer_type = HFI_BUFFER_OUTPUT2;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
750
fs.buffer_type = HFI_BUFFER_OUTPUT;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
752
fs.width = inst->fmt_dst->fmt.pix_mp.width;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
753
fs.height = inst->fmt_dst->fmt.pix_mp.height;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
755
return hfi_gen1_set_property(inst, ptype, &fs, sizeof(fs));
drivers/media/platform/qcom/venus/helpers.c
1127
struct hfi_framesize fs;
drivers/media/platform/qcom/venus/helpers.c
1129
fs.buffer_type = HFI_BUFFER_INPUT;
drivers/media/platform/qcom/venus/helpers.c
1130
fs.width = width;
drivers/media/platform/qcom/venus/helpers.c
1131
fs.height = height;
drivers/media/platform/qcom/venus/helpers.c
1133
return hfi_session_set_property(inst, ptype, &fs);
drivers/media/platform/qcom/venus/helpers.c
1142
struct hfi_framesize fs;
drivers/media/platform/qcom/venus/helpers.c
1144
fs.buffer_type = buftype;
drivers/media/platform/qcom/venus/helpers.c
1145
fs.width = width;
drivers/media/platform/qcom/venus/helpers.c
1146
fs.height = height;
drivers/media/platform/qcom/venus/helpers.c
1148
return hfi_session_set_property(inst, ptype, &fs);
drivers/media/usb/dvb-usb/dib0700_devices.c
2041
u32 fcp = 0, fs = 0, fdem = 0, fmem = 0;
drivers/media/usb/dvb-usb/dib0700_devices.c
2071
fs = fdem / 4;
drivers/media/usb/dvb-usb/dib0700_devices.c
2074
if ((fdem >= fdem_min) && (fmem <= fmem_max) && (fs >= fe->dtv_property_cache.bandwidth_hz / 1000)) {
drivers/media/usb/dvb-usb/dib0700_devices.c
2077
for (harmonic_id = (fe->dtv_property_cache.frequency / (1000 * fs)); harmonic_id <= ((fe->dtv_property_cache.frequency / (1000 * fs)) + 1); harmonic_id++) {
drivers/media/usb/dvb-usb/dib0700_devices.c
2078
if (((fs * harmonic_id) >= (fe->dtv_property_cache.frequency / 1000 - (fe->dtv_property_cache.bandwidth_hz / 2000))) && ((fs * harmonic_id) <= (fe->dtv_property_cache.frequency / 1000 + (fe->dtv_property_cache.bandwidth_hz / 2000)))) {
drivers/media/usb/dvb-usb/dib0700_devices.c
2090
deb_info("RF %6d; BW %6d; Xtal %6d; Fmem %6d; Fdem %6d; Fs %6d; Prediv %2d; Loopdiv %2d; Timf %8d;", fe->dtv_property_cache.frequency, fe->dtv_property_cache.bandwidth_hz, xtal, fmem, fdem, fs, prediv, loopdiv, adc->timf);
drivers/media/usb/dvb-usb/dib0700_devices.c
2567
u32 fcp = 0, fs = 0, fdem = 0;
drivers/media/usb/dvb-usb/dib0700_devices.c
2596
fs = fdem / 4;
drivers/media/usb/dvb-usb/dib0700_devices.c
2599
if ((fdem >= fdem_min) && (fdem <= fdem_max) && (fs >= fe->dtv_property_cache.bandwidth_hz/1000)) {
drivers/media/usb/dvb-usb/dib0700_devices.c
2602
for (harmonic_id = (fe->dtv_property_cache.frequency / (1000*fs)) ; harmonic_id <= ((fe->dtv_property_cache.frequency / (1000*fs))+1) ; harmonic_id++) {
drivers/media/usb/dvb-usb/dib0700_devices.c
2603
if (((fs*harmonic_id) >= ((fe->dtv_property_cache.frequency/1000) - (fe->dtv_property_cache.bandwidth_hz/2000))) && ((fs*harmonic_id) <= ((fe->dtv_property_cache.frequency/1000) + (fe->dtv_property_cache.bandwidth_hz/2000)))) {
drivers/mtd/parsers/afs.c
122
struct footer_v1 fs;
drivers/mtd/parsers/afs.c
142
ptr = off + mtd->erasesize - sizeof(fs);
drivers/mtd/parsers/afs.c
143
ret = mtd_read(mtd, ptr, sizeof(fs), &sz, (u_char *)&fs);
drivers/mtd/parsers/afs.c
144
if (ret >= 0 && sz != sizeof(fs))
drivers/mtd/parsers/afs.c
154
if (word_sum(&fs, sizeof(fs) / sizeof(u32)) != 0xffffffff)
drivers/mtd/parsers/afs.c
160
if (fs.type == 2)
drivers/mtd/parsers/afs.c
163
iis_ptr = fs.image_info_base & mask;
drivers/mtd/parsers/afs.c
164
img_ptr = fs.image_start & mask;
drivers/net/can/ctucanfd/ctucanfd_base.c
756
u32 fs;
drivers/net/can/ctucanfd/ctucanfd_base.c
760
fs = ctucan_read32(priv, CTUCANFD_EWL);
drivers/net/can/ctucanfd/ctucanfd_base.c
762
ewl = FIELD_GET(REG_EWL_EW_LIMIT, fs);
drivers/net/can/ctucanfd/ctucanfd_base.c
764
if (FIELD_GET(REG_EWL_ERA, fs)) {
drivers/net/can/ctucanfd/ctucanfd_base.c
770
} else if (FIELD_GET(REG_EWL_ERP, fs)) {
drivers/net/can/ctucanfd/ctucanfd_base.c
772
} else if (FIELD_GET(REG_EWL_BOF, fs)) {
drivers/net/dsa/bcm_sf2_cfp.c
1069
rule = bcm_sf2_cfp_rule_find(priv, port, nfc->fs.location);
drivers/net/dsa/bcm_sf2_cfp.c
1073
memcpy(&nfc->fs, &rule->fs, sizeof(rule->fs));
drivers/net/dsa/bcm_sf2_cfp.c
1075
bcm_sf2_invert_masks(&nfc->fs);
drivers/net/dsa/bcm_sf2_cfp.c
1156
ret = bcm_sf2_cfp_rule_set(ds, port, &nfc->fs);
drivers/net/dsa/bcm_sf2_cfp.c
1160
ret = bcm_sf2_cfp_rule_del(priv, port, nfc->fs.location);
drivers/net/dsa/bcm_sf2_cfp.c
1179
bcm_sf2_cfp_rule_del(priv, port, nfc->fs.location);
drivers/net/dsa/bcm_sf2_cfp.c
1221
bcm_sf2_cfp_rule_del(priv, rule->port, rule->fs.location);
drivers/net/dsa/bcm_sf2_cfp.c
1244
rule->fs.location);
drivers/net/dsa/bcm_sf2_cfp.c
1250
ret = bcm_sf2_cfp_rule_insert(ds, rule->port, &rule->fs);
drivers/net/dsa/bcm_sf2_cfp.c
24
struct ethtool_rx_flow_spec fs;
drivers/net/dsa/bcm_sf2_cfp.c
349
struct ethtool_rx_flow_spec *fs)
drivers/net/dsa/bcm_sf2_cfp.c
364
switch (fs->flow_type & ~FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
375
ip_frag = !!(be32_to_cpu(fs->h_ext.data[0]) & 1);
drivers/net/dsa/bcm_sf2_cfp.c
378
if (fs->flow_type & FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
379
vlan_tci = fs->h_ext.vlan_tci;
drivers/net/dsa/bcm_sf2_cfp.c
380
vlan_m_tci = fs->m_ext.vlan_tci;
drivers/net/dsa/bcm_sf2_cfp.c
384
if (fs->location == RX_CLS_LOC_ANY)
drivers/net/dsa/bcm_sf2_cfp.c
388
rule_index = fs->location;
drivers/net/dsa/bcm_sf2_cfp.c
393
input.fs = fs;
drivers/net/dsa/bcm_sf2_cfp.c
473
fs->location = rule_index;
drivers/net/dsa/bcm_sf2_cfp.c
573
if (rule->port == port && rule->fs.location == location)
drivers/net/dsa/bcm_sf2_cfp.c
581
struct ethtool_rx_flow_spec *fs)
drivers/net/dsa/bcm_sf2_cfp.c
595
if (rule->fs.flow_type != fs->flow_type ||
drivers/net/dsa/bcm_sf2_cfp.c
596
rule->fs.ring_cookie != fs->ring_cookie ||
drivers/net/dsa/bcm_sf2_cfp.c
597
rule->fs.h_ext.data[0] != fs->h_ext.data[0])
drivers/net/dsa/bcm_sf2_cfp.c
600
switch (fs->flow_type & ~FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
613
ret = memcmp(&rule->fs.h_u, &fs->h_u, fs_size);
drivers/net/dsa/bcm_sf2_cfp.c
614
ret |= memcmp(&rule->fs.m_u, &fs->m_u, fs_size);
drivers/net/dsa/bcm_sf2_cfp.c
616
if (rule->fs.flow_type & FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
617
ret |= rule->fs.h_ext.vlan_tci != fs->h_ext.vlan_tci;
drivers/net/dsa/bcm_sf2_cfp.c
618
ret |= rule->fs.m_ext.vlan_tci != fs->m_ext.vlan_tci;
drivers/net/dsa/bcm_sf2_cfp.c
630
struct ethtool_rx_flow_spec *fs)
drivers/net/dsa/bcm_sf2_cfp.c
644
switch (fs->flow_type & ~FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
655
ip_frag = !!(be32_to_cpu(fs->h_ext.data[0]) & 1);
drivers/net/dsa/bcm_sf2_cfp.c
658
if (fs->flow_type & FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
659
vlan_tci = fs->h_ext.vlan_tci;
drivers/net/dsa/bcm_sf2_cfp.c
660
vlan_m_tci = fs->m_ext.vlan_tci;
drivers/net/dsa/bcm_sf2_cfp.c
682
if (fs->location == RX_CLS_LOC_ANY)
drivers/net/dsa/bcm_sf2_cfp.c
686
rule_index[1] = fs->location;
drivers/net/dsa/bcm_sf2_cfp.c
702
input.fs = fs;
drivers/net/dsa/bcm_sf2_cfp.c
835
fs->location = rule_index[1];
drivers/net/dsa/bcm_sf2_cfp.c
847
struct ethtool_rx_flow_spec *fs)
drivers/net/dsa/bcm_sf2_cfp.c
851
__u64 ring_cookie = fs->ring_cookie;
drivers/net/dsa/bcm_sf2_cfp.c
881
if (fs->flow_type & FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
883
if ((be16_to_cpu(fs->m_ext.vlan_tci) & VLAN_VID_MASK) !=
drivers/net/dsa/bcm_sf2_cfp.c
887
vid = be16_to_cpu(fs->h_ext.vlan_tci) & VLAN_VID_MASK;
drivers/net/dsa/bcm_sf2_cfp.c
889
if (be32_to_cpu(fs->h_ext.data[1]) & 1)
drivers/net/dsa/bcm_sf2_cfp.c
907
switch (fs->flow_type & ~FLOW_EXT) {
drivers/net/dsa/bcm_sf2_cfp.c
911
queue_num, fs);
drivers/net/dsa/bcm_sf2_cfp.c
916
queue_num, fs);
drivers/net/dsa/bcm_sf2_cfp.c
927
struct ethtool_rx_flow_spec *fs)
drivers/net/dsa/bcm_sf2_cfp.c
934
if (fs->flow_type & FLOW_MAC_EXT)
drivers/net/dsa/bcm_sf2_cfp.c
937
if (fs->location != RX_CLS_LOC_ANY &&
drivers/net/dsa/bcm_sf2_cfp.c
938
fs->location > bcm_sf2_cfp_rule_size(priv))
drivers/net/dsa/bcm_sf2_cfp.c
941
if ((fs->flow_type & FLOW_EXT) &&
drivers/net/dsa/bcm_sf2_cfp.c
945
if (fs->location != RX_CLS_LOC_ANY &&
drivers/net/dsa/bcm_sf2_cfp.c
946
test_bit(fs->location, priv->cfp.used))
drivers/net/dsa/bcm_sf2_cfp.c
949
ret = bcm_sf2_cfp_rule_cmp(priv, port, fs);
drivers/net/dsa/bcm_sf2_cfp.c
957
ret = bcm_sf2_cfp_rule_insert(ds, port, fs);
drivers/net/dsa/bcm_sf2_cfp.c
964
memcpy(&rule->fs, fs, sizeof(*fs));
drivers/net/dsa/mv88e6xxx/chip.c
2355
struct ethtool_rx_flow_spec *fs)
drivers/net/dsa/mv88e6xxx/chip.c
2357
struct ethhdr *mac_entry = &fs->h_u.ether_spec;
drivers/net/dsa/mv88e6xxx/chip.c
2358
struct ethhdr *mac_mask = &fs->m_u.ether_spec;
drivers/net/dsa/mv88e6xxx/chip.c
2367
if (fs->location != RX_CLS_LOC_ANY)
drivers/net/dsa/mv88e6xxx/chip.c
2370
if (fs->ring_cookie == RX_CLS_FLOW_DISC)
drivers/net/dsa/mv88e6xxx/chip.c
2375
switch (fs->flow_type & ~FLOW_EXT) {
drivers/net/dsa/mv88e6xxx/chip.c
2394
if ((fs->flow_type & FLOW_EXT) && fs->m_ext.vlan_tci) {
drivers/net/dsa/mv88e6xxx/chip.c
2395
if (fs->m_ext.vlan_tci != htons(0xffff))
drivers/net/dsa/mv88e6xxx/chip.c
2397
vid = be16_to_cpu(fs->h_ext.vlan_tci) & VLAN_VID_MASK;
drivers/net/dsa/mv88e6xxx/chip.c
2411
fs->location = 0;
drivers/net/dsa/mv88e6xxx/chip.c
2412
err = idr_alloc_u32(&chip->policies, policy, &fs->location, 0xffffffff,
drivers/net/dsa/mv88e6xxx/chip.c
2419
memcpy(&policy->fs, fs, sizeof(*fs));
drivers/net/dsa/mv88e6xxx/chip.c
2428
idr_remove(&chip->policies, fs->location);
drivers/net/dsa/mv88e6xxx/chip.c
2439
struct ethtool_rx_flow_spec *fs = &rxnfc->fs;
drivers/net/dsa/mv88e6xxx/chip.c
2459
policy = idr_find(&chip->policies, fs->location);
drivers/net/dsa/mv88e6xxx/chip.c
2461
memcpy(fs, &policy->fs, sizeof(*fs));
drivers/net/dsa/mv88e6xxx/chip.c
2486
struct ethtool_rx_flow_spec *fs = &rxnfc->fs;
drivers/net/dsa/mv88e6xxx/chip.c
2495
err = mv88e6xxx_policy_insert(chip, port, fs);
drivers/net/dsa/mv88e6xxx/chip.c
2499
policy = idr_remove(&chip->policies, fs->location);
drivers/net/dsa/mv88e6xxx/chip.h
268
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/apple/mace.c
667
int intr, fs, i, stat, x;
drivers/net/ethernet/apple/mace.c
690
fs = in_8(&mb->xmtfs);
drivers/net/ethernet/apple/mace.c
717
fs = in_8(&mb->xmtfs);
drivers/net/ethernet/apple/mace.c
718
if ((fs & XMTSV) == 0) {
drivers/net/ethernet/apple/mace.c
720
fs, xcount, dstat);
drivers/net/ethernet/apple/mace.c
729
if ((fs & (UFLO|LCOL|LCAR|RTRY)) || (dstat & DEAD) || xcount == 0) {
drivers/net/ethernet/apple/mace.c
757
fs, xcount, dstat);
drivers/net/ethernet/apple/mace.c
761
if (fs & (UFLO|LCOL|LCAR|RTRY)) {
drivers/net/ethernet/apple/mace.c
763
if (fs & LCAR)
drivers/net/ethernet/apple/mace.c
765
if (fs & (UFLO|LCOL|RTRY))
drivers/net/ethernet/apple/mace.c
776
mace_last_fs = fs;
drivers/net/ethernet/apple/macmace.c
561
int intr, fs;
drivers/net/ethernet/apple/macmace.c
571
fs = mb->xmtfs;
drivers/net/ethernet/apple/macmace.c
572
if ((fs & XMTSV) == 0) {
drivers/net/ethernet/apple/macmace.c
573
printk(KERN_ERR "macmace: xmtfs not valid! (fs=%x)\n", fs);
drivers/net/ethernet/apple/macmace.c
582
printk(KERN_DEBUG "macmace: tx ring ran out? (fs=%x)\n", fs);
drivers/net/ethernet/apple/macmace.c
585
if (fs & (UFLO|LCOL|LCAR|RTRY)) {
drivers/net/ethernet/apple/macmace.c
587
if (fs & LCAR)
drivers/net/ethernet/apple/macmace.c
589
else if (fs & (UFLO|LCOL|RTRY)) {
drivers/net/ethernet/aquantia/atlantic/aq_filters.c
446
cmd.fs.location = rule->aq_fsp.location;
drivers/net/ethernet/aquantia/atlantic/aq_filters.c
683
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/aquantia/atlantic/aq_filters.c
727
if (rule->aq_fsp.location == cmd->fs.location)
drivers/net/ethernet/aquantia/atlantic/aq_filters.c
731
if (rule && rule->aq_fsp.location == cmd->fs.location) {
drivers/net/ethernet/aquantia/atlantic/aq_filters.c
744
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/broadcom/asp2/bcmasp.c
392
struct ethtool_rx_flow_spec *fs = &nfilt->fs;
drivers/net/ethernet/broadcom/asp2/bcmasp.c
403
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/broadcom/asp2/bcmasp.c
404
bcmasp_netfilt_wr_m_wake(priv, nfilt, 0, &fs->h_ext.h_dest,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
405
&fs->m_ext.h_dest,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
406
sizeof(fs->h_ext.h_dest));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
409
if ((fs->flow_type & FLOW_EXT) &&
drivers/net/ethernet/broadcom/asp2/bcmasp.c
410
(fs->m_ext.vlan_etype || fs->m_ext.vlan_tci)) {
drivers/net/ethernet/broadcom/asp2/bcmasp.c
412
&fs->h_ext.vlan_etype,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
413
&fs->m_ext.vlan_etype,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
414
sizeof(fs->h_ext.vlan_etype));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
416
&fs->h_ext.vlan_tci,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
417
&fs->m_ext.vlan_tci,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
418
sizeof(fs->h_ext.vlan_tci));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
422
switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/broadcom/asp2/bcmasp.c
425
&fs->h_u.ether_spec.h_dest,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
426
&fs->m_u.ether_spec.h_dest,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
427
sizeof(fs->h_u.ether_spec.h_dest));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
429
&fs->h_u.ether_spec.h_source,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
430
&fs->m_u.ether_spec.h_source,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
431
sizeof(fs->h_u.ether_spec.h_source));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
433
&fs->h_u.ether_spec.h_proto,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
434
&fs->m_u.ether_spec.h_proto,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
435
sizeof(fs->h_u.ether_spec.h_proto));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
444
&fs->h_u.usr_ip4_spec.tos,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
445
&fs->m_u.usr_ip4_spec.tos,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
446
sizeof(fs->h_u.usr_ip4_spec.tos));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
448
&fs->h_u.usr_ip4_spec.proto,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
449
&fs->m_u.usr_ip4_spec.proto,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
450
sizeof(fs->h_u.usr_ip4_spec.proto));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
452
&fs->h_u.usr_ip4_spec.ip4src,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
453
&fs->m_u.usr_ip4_spec.ip4src,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
454
sizeof(fs->h_u.usr_ip4_spec.ip4src));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
456
&fs->h_u.usr_ip4_spec.ip4dst,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
457
&fs->m_u.usr_ip4_spec.ip4dst,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
458
sizeof(fs->h_u.usr_ip4_spec.ip4dst));
drivers/net/ethernet/broadcom/asp2/bcmasp.c
459
if (!fs->m_u.usr_ip4_spec.l4_4_bytes)
drivers/net/ethernet/broadcom/asp2/bcmasp.c
469
&fs->h_u.usr_ip4_spec.l4_4_bytes,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
470
&fs->m_u.usr_ip4_spec.l4_4_bytes,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
471
sizeof(fs->h_u.usr_ip4_spec.l4_4_bytes)
drivers/net/ethernet/broadcom/asp2/bcmasp.c
477
bcmasp_netfilt_tcpip4_wr(priv, nfilt, &fs->h_u.tcp_ip4_spec,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
478
&fs->m_u.tcp_ip4_spec, offset);
drivers/net/ethernet/broadcom/asp2/bcmasp.c
485
bcmasp_netfilt_tcpip4_wr(priv, nfilt, &fs->h_u.udp_ip4_spec,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
486
&fs->m_u.udp_ip4_spec, offset);
drivers/net/ethernet/broadcom/asp2/bcmasp.c
494
bcmasp_netfilt_tcpip6_wr(priv, nfilt, &fs->h_u.tcp_ip6_spec,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
495
&fs->m_u.tcp_ip6_spec, offset);
drivers/net/ethernet/broadcom/asp2/bcmasp.c
502
bcmasp_netfilt_tcpip6_wr(priv, nfilt, &fs->h_u.udp_ip6_spec,
drivers/net/ethernet/broadcom/asp2/bcmasp.c
503
&fs->m_u.udp_ip6_spec, offset);
drivers/net/ethernet/broadcom/asp2/bcmasp.c
567
rule_locs[j++] = priv->net_filters[i].fs.location;
drivers/net/ethernet/broadcom/asp2/bcmasp.c
598
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/broadcom/asp2/bcmasp.c
610
cur = &priv->net_filters[i].fs;
drivers/net/ethernet/broadcom/asp2/bcmasp.c
612
if (cur->flow_type != fs->flow_type ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
613
cur->ring_cookie != fs->ring_cookie)
drivers/net/ethernet/broadcom/asp2/bcmasp.c
616
switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/broadcom/asp2/bcmasp.c
635
if (memcmp(&cur->h_u, &fs->h_u, fs_size) ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
636
memcmp(&cur->m_u, &fs->m_u, fs_size))
drivers/net/ethernet/broadcom/asp2/bcmasp.c
640
if (cur->h_ext.vlan_etype != fs->h_ext.vlan_etype ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
641
cur->m_ext.vlan_etype != fs->m_ext.vlan_etype ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
642
cur->h_ext.vlan_tci != fs->h_ext.vlan_tci ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
643
cur->m_ext.vlan_tci != fs->m_ext.vlan_tci ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
644
cur->h_ext.data[0] != fs->h_ext.data[0])
drivers/net/ethernet/broadcom/asp2/bcmasp.c
649
&fs->h_ext.h_dest, ETH_ALEN) ||
drivers/net/ethernet/broadcom/asp2/bcmasp.c
651
&fs->m_ext.h_dest, ETH_ALEN))
drivers/net/ethernet/broadcom/asp2/bcmasp.h
337
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/broadcom/asp2/bcmasp.h
552
struct ethtool_rx_flow_spec *fs);
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
230
u32 loc = cmd->fs.location;
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
233
if (cmd->fs.ring_cookie == RX_CLS_FLOW_WAKE)
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
240
switch (cmd->fs.flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
253
if (bcmasp_netfilt_check_dup(intf, &cmd->fs))
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
261
cmd->fs.location = nfilter->hw_index;
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
262
memcpy(&nfilter->fs, &cmd->fs, sizeof(struct ethtool_rx_flow_spec));
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
275
nfilter = bcmasp_netfilt_get_init(intf, cmd->fs.location, false, false);
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
288
nfilter = bcmasp_netfilt_get_init(intf, cmd->fs.location, false, false);
drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c
292
memcpy(&cmd->fs, &nfilter->fs, sizeof(nfilter->fs));
drivers/net/ethernet/broadcom/bcmsysport.c
2142
index = bcm_sysport_rule_find(priv, nfc->fs.location);
drivers/net/ethernet/broadcom/bcmsysport.c
2146
nfc->fs.ring_cookie = RX_CLS_FLOW_WAKE;
drivers/net/ethernet/broadcom/bcmsysport.c
2160
if (nfc->fs.location > RXCHK_BRCM_TAG_CID_MASK)
drivers/net/ethernet/broadcom/bcmsysport.c
2164
if (nfc->fs.ring_cookie != RX_CLS_FLOW_WAKE)
drivers/net/ethernet/broadcom/bcmsysport.c
2177
reg |= nfc->fs.location << RXCHK_BRCM_TAG_CID_SHIFT;
drivers/net/ethernet/broadcom/bcmsysport.c
2181
priv->filters_loc[index] = nfc->fs.location;
drivers/net/ethernet/broadcom/bcmsysport.c
2234
ret = bcm_sysport_rule_del(priv, nfc->fs.location);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1098
struct ethtool_rx_flow_spec *fs =
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1099
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1106
if (fs->location >= bp->max_fltr)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1112
fs->location);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1114
struct ethhdr *h_ether = &fs->h_u.ether_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1115
struct ethhdr *m_ether = &fs->m_u.ether_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1121
fs->flow_type = ETHER_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1125
struct ethtool_flow_ext *m_ext = &fs->m_ext;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1126
struct ethtool_flow_ext *h_ext = &fs->h_ext;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1128
fs->flow_type |= FLOW_EXT;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1133
fs->ring_cookie = fltr_base->rxq;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1135
fs->ring_cookie = (u64)(fltr_base->vf_idx + 1) <<
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1142
fs->location);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1153
fs->flow_type = IP_USER_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1154
fs->h_u.usr_ip4_spec.ip_ver = ETH_RX_NFC_IP4;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1155
fs->h_u.usr_ip4_spec.proto = BNXT_IP_PROTO_WILDCARD;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1156
fs->m_u.usr_ip4_spec.proto = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1158
fs->flow_type = IP_USER_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1159
fs->h_u.usr_ip4_spec.ip_ver = ETH_RX_NFC_IP4;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1160
fs->h_u.usr_ip4_spec.proto = IPPROTO_ICMP;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1161
fs->m_u.usr_ip4_spec.proto = BNXT_IP_PROTO_FULL_MASK;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1163
fs->flow_type = TCP_V4_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1165
fs->flow_type = UDP_V4_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1170
fs->h_u.tcp_ip4_spec.ip4src = fkeys->addrs.v4addrs.src;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1171
fs->m_u.tcp_ip4_spec.ip4src = fmasks->addrs.v4addrs.src;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1172
fs->h_u.tcp_ip4_spec.ip4dst = fkeys->addrs.v4addrs.dst;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1173
fs->m_u.tcp_ip4_spec.ip4dst = fmasks->addrs.v4addrs.dst;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1174
if (fs->flow_type == TCP_V4_FLOW ||
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1175
fs->flow_type == UDP_V4_FLOW) {
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1176
fs->h_u.tcp_ip4_spec.psrc = fkeys->ports.src;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1177
fs->m_u.tcp_ip4_spec.psrc = fmasks->ports.src;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1178
fs->h_u.tcp_ip4_spec.pdst = fkeys->ports.dst;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1179
fs->m_u.tcp_ip4_spec.pdst = fmasks->ports.dst;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1183
fs->flow_type = IPV6_USER_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1184
fs->h_u.usr_ip6_spec.l4_proto = BNXT_IP_PROTO_WILDCARD;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1185
fs->m_u.usr_ip6_spec.l4_proto = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1187
fs->flow_type = IPV6_USER_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1188
fs->h_u.usr_ip6_spec.l4_proto = IPPROTO_ICMPV6;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1189
fs->m_u.usr_ip6_spec.l4_proto = BNXT_IP_PROTO_FULL_MASK;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1191
fs->flow_type = TCP_V6_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1193
fs->flow_type = UDP_V6_FLOW;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1198
*(struct in6_addr *)&fs->h_u.tcp_ip6_spec.ip6src[0] =
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1200
*(struct in6_addr *)&fs->m_u.tcp_ip6_spec.ip6src[0] =
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1202
*(struct in6_addr *)&fs->h_u.tcp_ip6_spec.ip6dst[0] =
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1204
*(struct in6_addr *)&fs->m_u.tcp_ip6_spec.ip6dst[0] =
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1206
if (fs->flow_type == TCP_V6_FLOW ||
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1207
fs->flow_type == UDP_V6_FLOW) {
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1208
fs->h_u.tcp_ip6_spec.psrc = fkeys->ports.src;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1209
fs->m_u.tcp_ip6_spec.psrc = fmasks->ports.src;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1210
fs->h_u.tcp_ip6_spec.pdst = fkeys->ports.dst;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1211
fs->m_u.tcp_ip6_spec.pdst = fmasks->ports.dst;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1216
fs->ring_cookie = RX_CLS_FLOW_DISC;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1218
fs->flow_type |= FLOW_RSS;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1221
fs->ring_cookie = fltr->base.rxq;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1261
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1263
u32 ring = ethtool_get_flow_spec_ring(fs->ring_cookie);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1264
u8 vf = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1265
struct ethhdr *h_ether = &fs->h_u.ether_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1266
struct ethhdr *m_ether = &fs->m_u.ether_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1280
if (fs->flow_type & FLOW_EXT) {
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1281
struct ethtool_flow_ext *m_ext = &fs->m_ext;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1282
struct ethtool_flow_ext *h_ext = &fs->h_ext;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1308
fs->location = fltr->base.sw_id;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1340
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1342
u32 flow_type = fs->flow_type & 0xff;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1352
if (fs->flow_type & (FLOW_MAC_EXT | FLOW_EXT))
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1355
if (fs->ring_cookie != RX_CLS_FLOW_DISC &&
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1356
ethtool_get_flow_spec_ring_vf(fs->ring_cookie))
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1360
if (!bnxt_verify_ntuple_ip4_flow(&fs->h_u.usr_ip4_spec,
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1361
&fs->m_u.usr_ip4_spec))
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1366
if (!bnxt_verify_ntuple_ip6_flow(&fs->h_u.usr_ip6_spec,
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1367
&fs->m_u.usr_ip6_spec))
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1384
struct ethtool_usrip4_spec *ip_spec = &fs->h_u.usr_ip4_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1385
struct ethtool_usrip4_spec *ip_mask = &fs->m_u.usr_ip4_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1398
struct ethtool_tcpip4_spec *ip_spec = &fs->h_u.tcp_ip4_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1399
struct ethtool_tcpip4_spec *ip_mask = &fs->m_u.tcp_ip4_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1416
struct ethtool_usrip6_spec *ip_spec = &fs->h_u.usr_ip6_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1417
struct ethtool_usrip6_spec *ip_mask = &fs->m_u.usr_ip6_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1430
struct ethtool_tcpip6_spec *ip_spec = &fs->h_u.tcp_ip6_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1431
struct ethtool_tcpip6_spec *ip_mask = &fs->m_u.tcp_ip6_spec;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1466
if (fs->flow_type & FLOW_RSS) {
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1479
if (fs->ring_cookie == RX_CLS_FLOW_DISC)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1482
new_fltr->base.rxq = ethtool_get_flow_spec_ring(fs->ring_cookie);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1491
fs->location = new_fltr->base.sw_id;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1503
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1512
if (fs->location != RX_CLS_LOC_ANY)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1515
flow_type = fs->flow_type;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1524
if (fs->ring_cookie == RX_CLS_FLOW_DISC && flow_type != ETHER_FLOW)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1527
ring = ethtool_get_flow_spec_ring(fs->ring_cookie);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1528
vf = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1537
rc = bnxt_add_l2_cls_rule(bp, fs);
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1545
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
1548
u32 id = fs->location;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1430
if (cmd->fs.location >= MAX_NUM_OF_FS_RULES &&
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1431
cmd->fs.location != RX_CLS_LOC_ANY) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1433
cmd->fs.location);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1437
switch (cmd->fs.flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1439
l4_mask = &cmd->fs.m_u.usr_ip4_spec;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1452
eth_mask = &cmd->fs.m_u.ether_spec;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1463
cmd->fs.flow_type);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1467
if ((cmd->fs.flow_type & FLOW_EXT)) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1469
if (VALIDATE_MASK(cmd->fs.m_ext.vlan_etype) ||
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1470
VALIDATE_MASK(cmd->fs.m_ext.vlan_tci)) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1474
if (cmd->fs.m_ext.data[0] || cmd->fs.m_ext.data[1]) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1480
if ((cmd->fs.flow_type & FLOW_MAC_EXT)) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1482
if (VALIDATE_MASK(cmd->fs.m_ext.h_dest)) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1503
if (cmd->fs.ring_cookie > priv->hw_params->rx_queues &&
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1504
cmd->fs.ring_cookie != RX_CLS_FLOW_WAKE &&
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1505
cmd->fs.ring_cookie != RX_CLS_FLOW_DISC) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1507
cmd->fs.ring_cookie);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1515
if (cmd->fs.location == RX_CLS_LOC_ANY) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1517
cmd->fs.location = loc_rule->fs.location;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1518
err = memcmp(&loc_rule->fs, &cmd->fs,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1527
cmd->fs.location = i;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1532
cmd->fs.location = RX_CLS_LOC_ANY;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1536
loc_rule = &priv->rxnfc_rules[cmd->fs.location];
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1539
bcmgenet_hfb_disable_filter(priv, cmd->fs.location + 1);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1542
bcmgenet_hfb_clear_filter(priv, cmd->fs.location + 1);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1545
memcpy(&loc_rule->fs, &cmd->fs,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1562
if (cmd->fs.location >= MAX_NUM_OF_FS_RULES)
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1565
rule = &priv->rxnfc_rules[cmd->fs.location];
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1572
bcmgenet_hfb_disable_filter(priv, cmd->fs.location + 1);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1575
bcmgenet_hfb_clear_filter(priv, cmd->fs.location + 1);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1578
memset(&rule->fs, 0, sizeof(struct ethtool_rx_flow_spec));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1619
memcpy(&cmd->fs, &rule->fs,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1657
err = bcmgenet_get_flow(dev, cmd, cmd->fs.location);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
1662
rule_locs[i++] = rule->fs.location;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
4189
rule->fs.location + 1);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
4277
if (rule->fs.ring_cookie == RX_CLS_FLOW_WAKE &&
drivers/net/ethernet/broadcom/genet/bcmgenet.c
4279
hfb_enable |= 1 << rule->fs.location;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
600
struct ethtool_rx_flow_spec *fs = &rule->fs;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
607
f = fs->location + 1;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
608
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
610
&fs->h_ext.h_dest, &fs->m_ext.h_dest,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
611
sizeof(fs->h_ext.h_dest));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
614
if (fs->flow_type & FLOW_EXT) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
615
if (fs->m_ext.vlan_etype ||
drivers/net/ethernet/broadcom/genet/bcmgenet.c
616
fs->m_ext.vlan_tci) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
618
&fs->h_ext.vlan_etype,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
619
&fs->m_ext.vlan_etype,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
620
sizeof(fs->h_ext.vlan_etype));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
622
&fs->h_ext.vlan_tci,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
623
&fs->m_ext.vlan_tci,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
624
sizeof(fs->h_ext.vlan_tci));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
630
switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
634
&fs->h_u.ether_spec.h_dest,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
635
&fs->m_u.ether_spec.h_dest,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
636
sizeof(fs->h_u.ether_spec.h_dest));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
638
&fs->h_u.ether_spec.h_source,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
639
&fs->m_u.ether_spec.h_source,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
640
sizeof(fs->h_u.ether_spec.h_source));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
642
&fs->h_u.ether_spec.h_proto,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
643
&fs->m_u.ether_spec.h_proto,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
644
sizeof(fs->h_u.ether_spec.h_proto));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
654
&fs->h_u.usr_ip4_spec.tos,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
655
&fs->m_u.usr_ip4_spec.tos,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
656
sizeof(fs->h_u.usr_ip4_spec.tos));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
658
&fs->h_u.usr_ip4_spec.proto,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
659
&fs->m_u.usr_ip4_spec.proto,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
660
sizeof(fs->h_u.usr_ip4_spec.proto));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
662
&fs->h_u.usr_ip4_spec.ip4src,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
663
&fs->m_u.usr_ip4_spec.ip4src,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
664
sizeof(fs->h_u.usr_ip4_spec.ip4src));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
666
&fs->h_u.usr_ip4_spec.ip4dst,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
667
&fs->m_u.usr_ip4_spec.ip4dst,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
668
sizeof(fs->h_u.usr_ip4_spec.ip4dst));
drivers/net/ethernet/broadcom/genet/bcmgenet.c
669
if (!fs->m_u.usr_ip4_spec.l4_4_bytes)
drivers/net/ethernet/broadcom/genet/bcmgenet.c
678
size = sizeof(fs->h_u.usr_ip4_spec.l4_4_bytes);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
681
&fs->h_u.usr_ip4_spec.l4_4_bytes,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
682
&fs->m_u.usr_ip4_spec.l4_4_bytes,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
689
if (fs->ring_cookie == RX_CLS_FLOW_WAKE)
drivers/net/ethernet/broadcom/genet/bcmgenet.c
691
else if (fs->ring_cookie == RX_CLS_FLOW_DISC)
drivers/net/ethernet/broadcom/genet/bcmgenet.c
695
q = fs->ring_cookie;
drivers/net/ethernet/broadcom/genet/bcmgenet.h
589
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/cadence/macb.h
1272
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/cadence/macb_main.c
3708
struct ethtool_rx_flow_spec *fs = &item->fs;
drivers/net/ethernet/cadence/macb_main.c
3711
if (fs->location >= num_t2_scr)
drivers/net/ethernet/cadence/macb_main.c
3714
t2_scr = gem_readl_n(bp, SCRT2, fs->location);
drivers/net/ethernet/cadence/macb_main.c
3720
tp4sp_m = &(fs->m_u.tcp_ip4_spec);
drivers/net/ethernet/cadence/macb_main.c
3737
gem_writel_n(bp, SCRT2, fs->location, t2_scr);
drivers/net/ethernet/cadence/macb_main.c
3741
static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/cadence/macb_main.c
3744
uint16_t index = fs->location;
drivers/net/ethernet/cadence/macb_main.c
3753
tp4sp_v = &(fs->h_u.tcp_ip4_spec);
drivers/net/ethernet/cadence/macb_main.c
3754
tp4sp_m = &(fs->m_u.tcp_ip4_spec);
drivers/net/ethernet/cadence/macb_main.c
3813
t2_scr = GEM_BFINS(QUEUE, (fs->ring_cookie) & 0xFF, t2_scr);
drivers/net/ethernet/cadence/macb_main.c
3828
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/cadence/macb_main.c
3837
memcpy(&newfs->fs, fs, sizeof(newfs->fs));
drivers/net/ethernet/cadence/macb_main.c
3841
fs->flow_type, (int)fs->ring_cookie, fs->location,
drivers/net/ethernet/cadence/macb_main.c
3842
htonl(fs->h_u.tcp_ip4_spec.ip4src),
drivers/net/ethernet/cadence/macb_main.c
3843
htonl(fs->h_u.tcp_ip4_spec.ip4dst),
drivers/net/ethernet/cadence/macb_main.c
3844
be16_to_cpu(fs->h_u.tcp_ip4_spec.psrc),
drivers/net/ethernet/cadence/macb_main.c
3845
be16_to_cpu(fs->h_u.tcp_ip4_spec.pdst));
drivers/net/ethernet/cadence/macb_main.c
3851
if (item->fs.location > newfs->fs.location) {
drivers/net/ethernet/cadence/macb_main.c
3855
} else if (item->fs.location == fs->location) {
drivers/net/ethernet/cadence/macb_main.c
3857
fs->location);
drivers/net/ethernet/cadence/macb_main.c
3865
gem_prog_cmp_regs(bp, fs);
drivers/net/ethernet/cadence/macb_main.c
3884
struct ethtool_rx_flow_spec *fs;
drivers/net/ethernet/cadence/macb_main.c
3890
if (item->fs.location == cmd->fs.location) {
drivers/net/ethernet/cadence/macb_main.c
3892
fs = &(item->fs);
drivers/net/ethernet/cadence/macb_main.c
3895
fs->flow_type, (int)fs->ring_cookie, fs->location,
drivers/net/ethernet/cadence/macb_main.c
3896
htonl(fs->h_u.tcp_ip4_spec.ip4src),
drivers/net/ethernet/cadence/macb_main.c
3897
htonl(fs->h_u.tcp_ip4_spec.ip4dst),
drivers/net/ethernet/cadence/macb_main.c
3898
be16_to_cpu(fs->h_u.tcp_ip4_spec.psrc),
drivers/net/ethernet/cadence/macb_main.c
3899
be16_to_cpu(fs->h_u.tcp_ip4_spec.pdst));
drivers/net/ethernet/cadence/macb_main.c
3901
gem_writel_n(bp, SCRT2, fs->location, 0);
drivers/net/ethernet/cadence/macb_main.c
3922
if (item->fs.location == cmd->fs.location) {
drivers/net/ethernet/cadence/macb_main.c
3923
memcpy(&cmd->fs, &item->fs, sizeof(cmd->fs));
drivers/net/ethernet/cadence/macb_main.c
3940
rule_locs[cnt] = item->fs.location;
drivers/net/ethernet/cadence/macb_main.c
3991
if ((cmd->fs.location >= bp->max_tuples)
drivers/net/ethernet/cadence/macb_main.c
3992
|| (cmd->fs.ring_cookie >= bp->num_queues)) {
drivers/net/ethernet/cadence/macb_main.c
4168
gem_prog_cmp_regs(bp, &item->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1474
struct ch_filter_specification fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1642
static void cxgb4_fill_filter_rule(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1648
fs->flow_type = TCP_V6_FLOW;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1650
fs->flow_type = TCP_V4_FLOW;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1654
fs->flow_type = UDP_V6_FLOW;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1656
fs->flow_type = UDP_V4_FLOW;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1661
fs->h_u.tcp_ip6_spec.psrc = cpu_to_be16(dfs->val.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1662
fs->m_u.tcp_ip6_spec.psrc = cpu_to_be16(dfs->mask.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1663
fs->h_u.tcp_ip6_spec.pdst = cpu_to_be16(dfs->val.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1664
fs->m_u.tcp_ip6_spec.pdst = cpu_to_be16(dfs->mask.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1665
memcpy(&fs->h_u.tcp_ip6_spec.ip6src, &dfs->val.fip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1666
sizeof(fs->h_u.tcp_ip6_spec.ip6src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1667
memcpy(&fs->m_u.tcp_ip6_spec.ip6src, &dfs->mask.fip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1668
sizeof(fs->m_u.tcp_ip6_spec.ip6src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1669
memcpy(&fs->h_u.tcp_ip6_spec.ip6dst, &dfs->val.lip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1670
sizeof(fs->h_u.tcp_ip6_spec.ip6dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1671
memcpy(&fs->m_u.tcp_ip6_spec.ip6dst, &dfs->mask.lip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1672
sizeof(fs->m_u.tcp_ip6_spec.ip6dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1673
fs->h_u.tcp_ip6_spec.tclass = dfs->val.tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1674
fs->m_u.tcp_ip6_spec.tclass = dfs->mask.tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1676
fs->h_u.tcp_ip4_spec.psrc = cpu_to_be16(dfs->val.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1677
fs->m_u.tcp_ip4_spec.psrc = cpu_to_be16(dfs->mask.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1678
fs->h_u.tcp_ip4_spec.pdst = cpu_to_be16(dfs->val.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1679
fs->m_u.tcp_ip4_spec.pdst = cpu_to_be16(dfs->mask.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1680
memcpy(&fs->h_u.tcp_ip4_spec.ip4src, &dfs->val.fip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1681
sizeof(fs->h_u.tcp_ip4_spec.ip4src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1682
memcpy(&fs->m_u.tcp_ip4_spec.ip4src, &dfs->mask.fip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1683
sizeof(fs->m_u.tcp_ip4_spec.ip4src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1684
memcpy(&fs->h_u.tcp_ip4_spec.ip4dst, &dfs->val.lip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1685
sizeof(fs->h_u.tcp_ip4_spec.ip4dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1686
memcpy(&fs->m_u.tcp_ip4_spec.ip4dst, &dfs->mask.lip[0],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1687
sizeof(fs->m_u.tcp_ip4_spec.ip4dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1688
fs->h_u.tcp_ip4_spec.tos = dfs->val.tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1689
fs->m_u.tcp_ip4_spec.tos = dfs->mask.tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1691
fs->h_ext.vlan_tci = cpu_to_be16(dfs->val.ivlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1692
fs->m_ext.vlan_tci = cpu_to_be16(dfs->mask.ivlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1693
fs->flow_type |= FLOW_EXT;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1696
fs->ring_cookie = RX_CLS_FLOW_DISC;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1698
fs->ring_cookie = dfs->iq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1728
cxgb4_fill_filter_rule(&cmd->fs, &f->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1808
return cxgb4_ntuple_get_filter(dev, info, info->fs.location);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1839
if (cmd->fs.location >= adapter->ethtool_filters->nentries) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1848
if (!test_bit(cmd->fs.location, filter_info->bmap))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1851
filter_id = filter_info->loc_array[cmd->fs.location];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1854
if (f->fs.prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1856
else if (!f->fs.hash)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1859
ret = cxgb4_flow_rule_destroy(dev, f->fs.tc_prio, &f->fs, filter_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1863
clear_bit(cmd->fs.location, filter_info->bmap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1878
struct ch_filter_specification fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1889
if (cmd->fs.location >= adapter->ethtool_filters->nentries) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1896
if (test_bit(cmd->fs.location,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1900
memset(&fs, 0, sizeof(fs));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1902
input.fs = &cmd->fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1909
fs.hitcnts = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1911
ret = cxgb4_flow_rule_replace(netdev, flow->rule, cmd->fs.location,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1912
NULL, &fs, &tid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1918
if (fs.prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1920
else if (!fs.hash)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1923
filter_info->loc_array[cmd->fs.location] = tid;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1924
set_bit(cmd->fs.location, filter_info->bmap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1016
cxgb4_del_filter(dev, i, &f->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1028
cxgb4_del_filter(dev, i, &f->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1042
cxgb4_del_filter(dev, f->tid, &f->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1050
cxgb4_del_filter(dev, f->tid, &f->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1056
static void fill_default_mask(struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1062
if (fs->val.iport && !fs->mask.iport)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1063
fs->mask.iport |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1064
if (fs->val.fcoe && !fs->mask.fcoe)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1065
fs->mask.fcoe |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1066
if (fs->val.matchtype && !fs->mask.matchtype)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1067
fs->mask.matchtype |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1068
if (fs->val.macidx && !fs->mask.macidx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1069
fs->mask.macidx |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1070
if (fs->val.ethtype && !fs->mask.ethtype)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1071
fs->mask.ethtype |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1072
if (fs->val.ivlan && !fs->mask.ivlan)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1073
fs->mask.ivlan |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1074
if (fs->val.ovlan && !fs->mask.ovlan)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1075
fs->mask.ovlan |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1076
if (fs->val.frag && !fs->mask.frag)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1077
fs->mask.frag |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1078
if (fs->val.tos && !fs->mask.tos)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1079
fs->mask.tos |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1080
if (fs->val.proto && !fs->mask.proto)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1081
fs->mask.proto |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1082
if (fs->val.pfvf_vld && !fs->mask.pfvf_vld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1083
fs->mask.pfvf_vld |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1084
if (fs->val.pf && !fs->mask.pf)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1085
fs->mask.pf |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1086
if (fs->val.vf && !fs->mask.vf)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1087
fs->mask.vf |= ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1089
for (i = 0; i < ARRAY_SIZE(fs->val.lip); i++) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1090
lip |= fs->val.lip[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1091
lip_mask |= fs->mask.lip[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1092
fip |= fs->val.fip[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1093
fip_mask |= fs->mask.fip[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1097
memset(fs->mask.lip, ~0, sizeof(fs->mask.lip));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1100
memset(fs->mask.fip, ~0, sizeof(fs->mask.lip));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1102
if (fs->val.lport && !fs->mask.lport)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1103
fs->mask.lport = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1104
if (fs->val.fport && !fs->mask.fport)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1105
fs->mask.fport = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1152
struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1167
if (fs->mask.encap_vld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1170
if (fs->type) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1171
if (is_inaddr_any(fs->val.fip, AF_INET6) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1172
!is_addr_all_mask(fs->mask.fip, AF_INET6))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1175
if (is_inaddr_any(fs->val.lip, AF_INET6) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1176
!is_addr_all_mask(fs->mask.lip, AF_INET6))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1179
if (is_inaddr_any(fs->val.fip, AF_INET) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1180
!is_addr_all_mask(fs->mask.fip, AF_INET))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1183
if (is_inaddr_any(fs->val.lip, AF_INET) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1184
!is_addr_all_mask(fs->mask.lip, AF_INET))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1188
if (!fs->val.lport || fs->mask.lport != 0xffff)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1191
if (!fs->val.fport || fs->mask.fport != 0xffff)
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
1199
ntuple_mask |= (u64)fs->mask.iport << tp->port_shift;
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
1205
ntuple_mask |= (u64)fs->mask.ovlan_vld <<
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
1213
ntuple_mask |= (u64)fs->mask.tos << tp->tos_shift;
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
1219
ntuple_mask |= (u64)fs->mask.ethtype << tp->ethertype_shift;
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
1225
ntuple_mask |= (u64)fs->mask.matchtype << tp->matchtype_shift;
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
1236
static u64 hash_filter_ntuple(struct ch_filter_specification *fs,
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
1254
if (!fs->val.proto)
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
1265
fs->mask.encap_vld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1266
ntuple |= (u64)((fs->val.encap_vld << 16) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1267
(fs->val.ovlan)) << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1269
fs->mask.pfvf_vld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1270
ntuple |= (u64)((fs->val.pfvf_vld << 16) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1271
(fs->val.pf << 13) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1272
(fs->val.vf)) << tp->vnic_shift;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1274
ntuple |= (u64)((fs->val.ovlan_vld << 16) |
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
1305
req->local_port = cpu_to_be16(f->fs.val.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1306
req->peer_port = cpu_to_be16(f->fs.val.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1307
req->local_ip_hi = *(__be64 *)(&f->fs.val.lip);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1308
req->local_ip_lo = *(((__be64 *)&f->fs.val.lip) + 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1309
req->peer_ip_hi = *(__be64 *)(&f->fs.val.fip);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1310
req->peer_ip_lo = *(((__be64 *)&f->fs.val.fip) + 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1311
req->opt0 = cpu_to_be64(NAGLE_V(f->fs.newvlan == VLAN_REMOVE ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1312
f->fs.newvlan == VLAN_REWRITE) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1313
DELACK_V(f->fs.hitcnts) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1317
TX_CHAN_V(f->fs.eport) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1318
NO_CONG_V(f->fs.rpttid) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1319
ULP_MODE_V(f->fs.nat_mode ?
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1322
t6req->params = cpu_to_be64(FILTER_TUPLE_V(hash_filter_ntuple(&f->fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1325
RSS_QUEUE_V(f->fs.iq) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1326
TX_QUEUE_V(f->fs.nat_mode) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1329
PACE_V((f->fs.maskhash) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1330
((f->fs.dirsteerhash) << 1)));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1343
req->local_port = cpu_to_be16(f->fs.val.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1344
req->peer_port = cpu_to_be16(f->fs.val.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1345
memcpy(&req->local_ip, f->fs.val.lip, 4);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1346
memcpy(&req->peer_ip, f->fs.val.fip, 4);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1347
req->opt0 = cpu_to_be64(NAGLE_V(f->fs.newvlan == VLAN_REMOVE ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1348
f->fs.newvlan == VLAN_REWRITE) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1349
DELACK_V(f->fs.hitcnts) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1353
TX_CHAN_V(f->fs.eport) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1354
NO_CONG_V(f->fs.rpttid) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1355
ULP_MODE_V(f->fs.nat_mode ?
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1359
t6req->params = cpu_to_be64(FILTER_TUPLE_V(hash_filter_ntuple(&f->fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1362
RSS_QUEUE_V(f->fs.iq) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1363
TX_QUEUE_V(f->fs.nat_mode) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1366
PACE_V((f->fs.maskhash) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1367
((f->fs.dirsteerhash) << 1)));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1371
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1383
fill_default_mask(fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1384
ret = validate_filter(dev, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1388
iq = get_filter_steerq(dev, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1396
f->fs = *fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1399
f->fs.iq = iq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1405
if (f->fs.newdmac || f->fs.newvlan) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1407
f->l2t = t4_l2t_alloc_switching(adapter, f->fs.vlan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1408
f->fs.eport, f->fs.dmac);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1418
if (f->fs.newsmac) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1419
f->smt = cxgb4_smt_alloc_switching(f->dev, f->fs.smac);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1438
f->fs.val.ovlan = (fs->val.pf << 13) | fs->val.vf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1439
f->fs.mask.ovlan = (fs->mask.pf << 13) | fs->mask.vf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1440
f->fs.val.ovlan_vld = fs->val.pfvf_vld;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1441
f->fs.mask.ovlan_vld = fs->mask.pfvf_vld;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1443
if (f->fs.val.encap_vld) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1451
f->fs.val.vni,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1452
f->fs.mask.vni,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1457
f->fs.val.ovlan = ret;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1458
f->fs.mask.ovlan = 0xffff;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1459
f->fs.val.ovlan_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1460
f->fs.mask.ovlan_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1465
if (f->fs.type) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1466
ret = cxgb4_clip_get(f->dev, (const u32 *)&f->fs.val.lip, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1492
set_wr_txq(skb, CPL_PRIORITY_SETUP, f->fs.val.iport & 0x3);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1497
cxgb4_clip_release(f->dev, (const u32 *)&f->fs.val.lip, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1500
if (f->fs.val.encap_vld && f->fs.val.ovlan_vld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1501
t4_free_encap_mac_filt(adapter, pi->viid, f->fs.val.ovlan, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1530
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1540
if (fs->hash) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1542
return cxgb4_set_hash_filter(dev, fs, ctx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1553
fill_default_mask(fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1555
ret = validate_filter(dev, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1559
iq = get_filter_steerq(dev, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1563
if (fs->prio) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1577
if (fs->type == 0) { /* IPv4 */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1590
if (fidx != filter_id && tab[fidx].fs.type) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1647
if (fs->prio) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1650
fs->type ? PF_INET6 : PF_INET);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1654
fs->type ? PF_INET6 : PF_INET,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1666
if (is_t6(adapter->params.chip) && fs->type &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1667
ipv6_addr_type((const struct in6_addr *)fs->val.lip) !=
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1669
ret = cxgb4_clip_get(dev, (const u32 *)&fs->val.lip, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1679
f->fs = *fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
168
u8 *nat_lp = (u8 *)&f->fs.nat_lport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1680
f->fs.iq = iq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1685
f->fs.val.ovlan = (fs->val.pf << 13) | fs->val.vf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1686
f->fs.mask.ovlan = (fs->mask.pf << 13) | fs->mask.vf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1687
f->fs.val.ovlan_vld = fs->val.pfvf_vld;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1688
f->fs.mask.ovlan_vld = fs->mask.pfvf_vld;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
169
u8 *nat_fp = (u8 *)&f->fs.nat_fport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1690
if (f->fs.val.encap_vld) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1698
f->fs.val.vni,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1699
f->fs.mask.vni,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1704
f->fs.val.ovlan = ret;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1705
f->fs.mask.ovlan = 0x1ff;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1706
f->fs.val.ovlan_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1707
f->fs.mask.ovlan_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
172
if (f->fs.type) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1723
if (f->fs.prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1725
fs->type ? PF_INET6 : PF_INET);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1728
fs->type ? PF_INET6 : PF_INET,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
174
WORD_MASK, f->fs.nat_lip[15] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
175
f->fs.nat_lip[14] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
176
f->fs.nat_lip[13] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
177
(u64)f->fs.nat_lip[12] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1779
set_wr_txq(skb, CPL_PRIORITY_CONTROL, f->fs.val.iport & 0x3);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
180
WORD_MASK, f->fs.nat_lip[11] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1802
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
181
f->fs.nat_lip[10] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1811
if (fs && fs->hash) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
182
f->fs.nat_lip[9] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
183
(u64)f->fs.nat_lip[8] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1835
if (f->fs.prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1838
f->fs.type ? PF_INET6 : PF_INET);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1842
f->fs.type ? PF_INET6 : PF_INET,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1859
struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
186
WORD_MASK, f->fs.nat_lip[7] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1866
ret = __cxgb4_set_filter(dev, filter_id, fs, &ctx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
187
f->fs.nat_lip[6] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
188
f->fs.nat_lip[5] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1881
struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
189
(u64)f->fs.nat_lip[4] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1891
ret = __cxgb4_del_filter(dev, filter_id, fs, &ctx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1908
if (f->fs.hitcnts) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1919
if (f->fs.newdmac)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
192
WORD_MASK, f->fs.nat_lip[3] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1923
if (f->fs.newvlan == VLAN_INSERT ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1924
f->fs.newvlan == VLAN_REWRITE)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1927
if (f->fs.newsmac)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
193
f->fs.nat_lip[2] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1930
if (f->fs.nat_mode) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1931
switch (f->fs.nat_mode) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
194
f->fs.nat_lip[1] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
195
(u64)f->fs.nat_lip[0] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1961
__func__, f->fs.nat_mode);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
198
WORD_MASK, f->fs.nat_lip[3] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
199
f->fs.nat_lip[2] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
200
f->fs.nat_lip[1] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
201
(u64)f->fs.nat_lip[0] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
2039
switch (f->fs.action) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
2041
if (f->fs.dirsteer)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
206
if (f->fs.type) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
208
WORD_MASK, f->fs.nat_fip[15] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
209
f->fs.nat_fip[14] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
210
f->fs.nat_fip[13] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
211
(u64)f->fs.nat_fip[12] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
214
WORD_MASK, f->fs.nat_fip[11] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
215
f->fs.nat_fip[10] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
216
f->fs.nat_fip[9] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
217
(u64)f->fs.nat_fip[8] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
220
WORD_MASK, f->fs.nat_fip[7] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
221
f->fs.nat_fip[6] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
222
f->fs.nat_fip[5] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
223
(u64)f->fs.nat_fip[4] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
226
WORD_MASK, f->fs.nat_fip[3] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
227
f->fs.nat_fip[2] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
228
f->fs.nat_fip[1] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
229
(u64)f->fs.nat_fip[0] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
234
WORD_MASK, f->fs.nat_fip[3] |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
235
f->fs.nat_fip[2] << 8 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
236
f->fs.nat_fip[1] << 16 |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
237
(u64)f->fs.nat_fip[0] << 24, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
249
struct ch_filter_specification *fs)
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
259
if (unsupported(fconf, FCOE_F, fs->val.fcoe, fs->mask.fcoe) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
260
unsupported(fconf, PORT_F, fs->val.iport, fs->mask.iport) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
261
unsupported(fconf, TOS_F, fs->val.tos, fs->mask.tos) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
262
unsupported(fconf, ETHERTYPE_F, fs->val.ethtype,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
263
fs->mask.ethtype) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
264
unsupported(fconf, MACMATCH_F, fs->val.macidx, fs->mask.macidx) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
265
unsupported(fconf, MPSHITTYPE_F, fs->val.matchtype,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
266
fs->mask.matchtype) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
267
unsupported(fconf, FRAGMENTATION_F, fs->val.frag, fs->mask.frag) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
268
unsupported(fconf, PROTOCOL_F, fs->val.proto, fs->mask.proto) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
269
unsupported(fconf, VNIC_ID_F, fs->val.pfvf_vld,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
270
fs->mask.pfvf_vld) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
271
unsupported(fconf, VNIC_ID_F, fs->val.ovlan_vld,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
272
fs->mask.ovlan_vld) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
273
unsupported(fconf, VNIC_ID_F, fs->val.encap_vld,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
274
fs->mask.encap_vld) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
275
unsupported(fconf, VLAN_F, fs->val.ivlan_vld, fs->mask.ivlan_vld))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
285
if ((is_field_set(fs->val.pfvf_vld, fs->mask.pfvf_vld) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
286
is_field_set(fs->val.ovlan_vld, fs->mask.ovlan_vld)) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
287
(is_field_set(fs->val.pfvf_vld, fs->mask.pfvf_vld) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
288
is_field_set(fs->val.encap_vld, fs->mask.encap_vld)) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
289
(is_field_set(fs->val.ovlan_vld, fs->mask.ovlan_vld) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
290
is_field_set(fs->val.encap_vld, fs->mask.encap_vld)))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
292
if (unsupported(iconf, VNIC_F, fs->val.pfvf_vld, fs->mask.pfvf_vld) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
293
(is_field_set(fs->val.ovlan_vld, fs->mask.ovlan_vld) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
296
if (fs->val.pf > 0x7 || fs->val.vf > 0x7f)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
298
fs->mask.pf &= 0x7;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
299
fs->mask.vf &= 0x7f;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
305
if (fs->action == FILTER_SWITCH &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
306
fs->eport >= adapter->params.nports)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
310
if (fs->val.iport >= adapter->params.nports)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
315
fs->action == FILTER_SWITCH &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
316
(fs->newvlan == VLAN_REMOVE ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
317
fs->newvlan == VLAN_REWRITE))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
320
if (fs->val.encap_vld &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
327
struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
337
if (!fs->dirsteer) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
338
if (fs->iq)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
347
if (fs->iq < pi->nqsets)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
349
fs->iq].rspq.abs_id;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
351
iq = fs->iq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
536
if (!prev_fe->fs.type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
539
if ((prev_fe->valid && prev_fe->fs.tc_prio > prio) ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
540
(next_fe->valid && next_fe->fs.tc_prio < prio))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
628
if (f->valid && tc_prio < f->fs.tc_prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
638
if (f->valid && tc_prio > f->fs.tc_prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
75
set_wr_txq(skb, CPL_PRIORITY_CONTROL, f->fs.val.iport & 0x3);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
812
if (f->fs.newdmac || f->fs.newvlan) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
814
f->l2t = t4_l2t_alloc_switching(adapter, f->fs.vlan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
815
f->fs.eport, f->fs.dmac);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
825
if (f->fs.newsmac) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
826
f->smt = cxgb4_smt_alloc_switching(f->dev, f->fs.smac);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
854
FW_FILTER_WR_RQTYPE_V(f->fs.type) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
856
FW_FILTER_WR_IQ_V(f->fs.iq));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
858
htonl(FW_FILTER_WR_RPTTID_V(f->fs.rpttid) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
859
FW_FILTER_WR_DROP_V(f->fs.action == FILTER_DROP) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
860
FW_FILTER_WR_DIRSTEER_V(f->fs.dirsteer) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
861
FW_FILTER_WR_MASKHASH_V(f->fs.maskhash) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
862
FW_FILTER_WR_DIRSTEERHASH_V(f->fs.dirsteerhash) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
863
FW_FILTER_WR_LPBK_V(f->fs.action == FILTER_SWITCH) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
864
FW_FILTER_WR_DMAC_V(f->fs.newdmac) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
865
FW_FILTER_WR_SMAC_V(f->fs.newsmac) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
866
FW_FILTER_WR_INSVLAN_V(f->fs.newvlan == VLAN_INSERT ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
867
f->fs.newvlan == VLAN_REWRITE) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
868
FW_FILTER_WR_RMVLAN_V(f->fs.newvlan == VLAN_REMOVE ||
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
869
f->fs.newvlan == VLAN_REWRITE) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
870
FW_FILTER_WR_HITCNTS_V(f->fs.hitcnts) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
871
FW_FILTER_WR_TXCHAN_V(f->fs.eport) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
872
FW_FILTER_WR_PRIO_V(f->fs.prio) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
874
fwr->ethtype = htons(f->fs.val.ethtype);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
875
fwr->ethtypem = htons(f->fs.mask.ethtype);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
877
(FW_FILTER_WR_FRAG_V(f->fs.val.frag) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
878
FW_FILTER_WR_FRAGM_V(f->fs.mask.frag) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
879
FW_FILTER_WR_IVLAN_VLD_V(f->fs.val.ivlan_vld) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
880
FW_FILTER_WR_OVLAN_VLD_V(f->fs.val.ovlan_vld) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
881
FW_FILTER_WR_IVLAN_VLDM_V(f->fs.mask.ivlan_vld) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
882
FW_FILTER_WR_OVLAN_VLDM_V(f->fs.mask.ovlan_vld));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
883
if (f->fs.newsmac)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
889
htonl(FW_FILTER_WR_MACI_V(f->fs.val.macidx) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
890
FW_FILTER_WR_MACIM_V(f->fs.mask.macidx) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
891
FW_FILTER_WR_FCOE_V(f->fs.val.fcoe) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
892
FW_FILTER_WR_FCOEM_V(f->fs.mask.fcoe) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
893
FW_FILTER_WR_PORT_V(f->fs.val.iport) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
894
FW_FILTER_WR_PORTM_V(f->fs.mask.iport) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
895
FW_FILTER_WR_MATCHTYPE_V(f->fs.val.matchtype) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
896
FW_FILTER_WR_MATCHTYPEM_V(f->fs.mask.matchtype));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
897
fwr->ptcl = f->fs.val.proto;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
898
fwr->ptclm = f->fs.mask.proto;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
899
fwr->ttyp = f->fs.val.tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
900
fwr->ttypm = f->fs.mask.tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
901
fwr->ivlan = htons(f->fs.val.ivlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
902
fwr->ivlanm = htons(f->fs.mask.ivlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
903
fwr->ovlan = htons(f->fs.val.ovlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
904
fwr->ovlanm = htons(f->fs.mask.ovlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
905
memcpy(fwr->lip, f->fs.val.lip, sizeof(fwr->lip));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
906
memcpy(fwr->lipm, f->fs.mask.lip, sizeof(fwr->lipm));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
907
memcpy(fwr->fip, f->fs.val.fip, sizeof(fwr->fip));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
908
memcpy(fwr->fipm, f->fs.mask.fip, sizeof(fwr->fipm));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
909
fwr->lp = htons(f->fs.val.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
910
fwr->lpm = htons(f->fs.mask.lport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
911
fwr->fp = htons(f->fs.val.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
912
fwr->fpm = htons(f->fs.mask.fport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
915
u8 *nat_lp = (u8 *)&f->fs.nat_lport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
916
u8 *nat_fp = (u8 *)&f->fs.nat_fport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
919
FW_FILTER2_WR_ULP_TYPE_V(f->fs.nat_mode ?
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
922
FW_FILTER2_WR_NATMODE_V(f->fs.nat_mode);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
923
memcpy(fwr->newlip, f->fs.nat_lip, sizeof(fwr->newlip));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
924
memcpy(fwr->newfip, f->fs.nat_fip, sizeof(fwr->newfip));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
933
set_wr_txq(skb, CPL_PRIORITY_CONTROL, f->fs.val.iport & 0x3);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
992
if (f->fs.val.encap_vld && f->fs.val.ovlan_vld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
994
f->fs.val.ovlan & 0x1ff, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
996
if ((f->fs.hash || is_t6(adap->params.chip)) && f->fs.type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
997
cxgb4_clip_release(f->dev, (const u32 *)&f->fs.val.lip, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
55
struct ch_filter_specification *fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2935
memset(&f->fs, 0, sizeof(struct ch_filter_specification));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2936
f->fs.val.lport = be16_to_cpu(sport);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2937
f->fs.mask.lport = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2941
f->fs.val.lip[i] = val[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2942
f->fs.mask.lip[i] = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2945
f->fs.val.iport = port;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2946
f->fs.mask.iport = mask;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2951
f->fs.val.proto = IPPROTO_TCP;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2952
f->fs.mask.proto = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2955
f->fs.dirsteer = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2956
f->fs.iq = queue;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2959
f->fs.rpttid = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1010
ret = cxgb4_flow_rule_destroy(dev, ch_flower->fs.tc_prio,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1011
&ch_flower->fs, ch_flower->filter_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1040
flower_entry->fs.hash);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1085
ch_flower->fs.hash);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
128
static void cxgb4_action_natmode_tweak(struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
140
fs->nat_mode = cxgb4_natmode_config_array[i].natmode;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
165
struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
182
fs->type = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
184
fs->val.ethtype = ethtype_key;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
185
fs->mask.ethtype = ethtype_mask;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
186
fs->val.proto = match.key->ip_proto;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
187
fs->mask.proto = match.mask->ip_proto;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
194
fs->type = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
195
memcpy(&fs->val.lip[0], &match.key->dst, sizeof(match.key->dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
196
memcpy(&fs->val.fip[0], &match.key->src, sizeof(match.key->src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
197
memcpy(&fs->mask.lip[0], &match.mask->dst, sizeof(match.mask->dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
198
memcpy(&fs->mask.fip[0], &match.mask->src, sizeof(match.mask->src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
201
memcpy(&fs->nat_lip[0], &match.key->dst, sizeof(match.key->dst));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
202
memcpy(&fs->nat_fip[0], &match.key->src, sizeof(match.key->src));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
209
fs->type = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
210
memcpy(&fs->val.lip[0], match.key->dst.s6_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
212
memcpy(&fs->val.fip[0], match.key->src.s6_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
214
memcpy(&fs->mask.lip[0], match.mask->dst.s6_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
216
memcpy(&fs->mask.fip[0], match.mask->src.s6_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
220
memcpy(&fs->nat_lip[0], match.key->dst.s6_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
222
memcpy(&fs->nat_fip[0], match.key->src.s6_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
230
fs->val.lport = be16_to_cpu(match.key->dst);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
231
fs->mask.lport = be16_to_cpu(match.mask->dst);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
232
fs->val.fport = be16_to_cpu(match.key->src);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
233
fs->mask.fport = be16_to_cpu(match.mask->src);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
236
fs->nat_lport = fs->val.lport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
237
fs->nat_fport = fs->val.fport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
244
fs->val.tos = match.key->tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
245
fs->mask.tos = match.mask->tos;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
252
fs->val.vni = be32_to_cpu(match.key->keyid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
253
fs->mask.vni = be32_to_cpu(match.mask->keyid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
254
if (fs->mask.vni) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
255
fs->val.encap_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
256
fs->mask.encap_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
269
fs->val.ivlan = vlan_tci;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
270
fs->mask.ivlan = vlan_tci_mask;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
272
fs->val.ivlan_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
273
fs->mask.ivlan_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
284
if (fs->val.ethtype == ETH_P_8021Q) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
285
fs->val.ethtype = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
286
fs->mask.ethtype = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
293
fs->val.iport = netdev2pinfo(dev)->port_id;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
294
fs->mask.iport = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
348
static void offload_pedit(struct ch_filter_specification *fs, u32 val, u32 mask,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
363
memcpy((u8 *)fs + offset, &set_val, size);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
366
static void process_pedit_field(struct ch_filter_specification *fs, u32 val,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
374
fs->newdmac = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
375
offload_pedit(fs, val, mask, ETH_DMAC_31_0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
379
offload_pedit(fs, val, mask, ETH_DMAC_47_32);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
381
offload_pedit(fs, val >> 16, mask >> 16,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
385
fs->newsmac = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
386
offload_pedit(fs, val, mask, ETH_SMAC_47_16);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
392
offload_pedit(fs, val, mask, IP4_SRC);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
396
offload_pedit(fs, val, mask, IP4_DST);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
403
offload_pedit(fs, val, mask, IP6_SRC_31_0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
407
offload_pedit(fs, val, mask, IP6_SRC_63_32);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
411
offload_pedit(fs, val, mask, IP6_SRC_95_64);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
415
offload_pedit(fs, val, mask, IP6_SRC_127_96);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
419
offload_pedit(fs, val, mask, IP6_DST_31_0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
423
offload_pedit(fs, val, mask, IP6_DST_63_32);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
427
offload_pedit(fs, val, mask, IP6_DST_95_64);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
431
offload_pedit(fs, val, mask, IP6_DST_127_96);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
439
fs->nat_fport = val;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
442
fs->nat_lport = val >> 16;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
451
fs->nat_fport = val;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
454
fs->nat_lport = val >> 16;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
485
struct ch_filter_specification *fs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
494
fs->action = FILTER_PASS;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
497
fs->action = FILTER_DROP;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
504
fs->action = FILTER_SWITCH;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
505
fs->eport = pi->port_id;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
516
fs->newvlan |= VLAN_REMOVE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
519
fs->newvlan |= VLAN_INSERT;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
520
fs->vlan = vlan_tci;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
523
fs->newvlan |= VLAN_REWRITE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
524
fs->vlan = vlan_tci;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
540
process_pedit_field(fs, val, mask, offset, htype,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
545
fs->action = FILTER_PASS;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
546
fs->dirsteer = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
547
fs->iq = act->queue.index;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
554
cxgb4_action_natmode_tweak(fs, natmode_flags);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
814
if (fe->fs.hash &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
815
fe->fs.tc_prio <= t->tc_hash_tids_max_prio) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
816
t->tc_hash_tids_max_prio = fe->fs.tc_prio;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
823
if (fe->fs.tc_prio == tc_prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
843
struct ch_filter_specification *fs, u32 *tid)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
864
fs->val.frag = match.key->flags & FLOW_DIS_IS_FRAGMENT;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
865
fs->mask.frag = true;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
878
cxgb4_process_flow_match(dev, rule, addr_type, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
879
cxgb4_process_flow_actions(dev, &rule->action, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
881
fs->hash = is_filter_exact_match(adap, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
882
inet_family = fs->type ? PF_INET6 : PF_INET;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
888
fidx = cxgb4_get_free_ftid(dev, inet_family, fs->hash,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
897
fs->prio = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
898
fs->hash = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
904
if (fs->hash)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
907
fs->tc_prio = tc_prio;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
910
ret = __cxgb4_set_filter(dev, fidx, fs, &ctx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
927
if (fs->hash)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
940
struct ch_filter_specification *fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
949
fs = &ch_flower->fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
950
fs->hitcnts = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
951
fs->tc_cookie = cls->cookie;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
953
ret = cxgb4_flow_rule_replace(dev, rule, cls->common.prio, extack, fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
967
if (fs->hash)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
970
cxgb4_del_filter(dev, ch_flower->filter_id, &ch_flower->fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
978
struct ch_filter_specification *fs, int tid)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
984
hash = fs->hash;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
986
ret = cxgb4_del_filter(dev, tid, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
128
struct ch_filter_specification *fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
142
struct ch_filter_specification *fs, u32 *tid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
144
struct ch_filter_specification *fs, int tid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
48
struct ch_filter_specification fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
291
&tc_port_matchall->ingress.fs[filter_type]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
307
struct ch_filter_specification *fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
323
fs = &tc_port_matchall->ingress.fs[filter_type];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
324
memset(fs, 0, sizeof(*fs));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
327
fs->prio = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
328
fs->tc_prio = cls->common.prio;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
329
fs->tc_cookie = cls->cookie;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
330
fs->type = filter_type;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
331
fs->hitcnts = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
333
fs->val.pfvf_vld = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
334
fs->val.pf = adap->pf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
335
fs->val.vf = pi->vin;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
337
cxgb4_process_flow_actions(dev, &cls->rule->action, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
339
ret = cxgb4_set_filter(dev, fidx, fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
459
tc_port_matchall->ingress.fs[0].tc_cookie)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
491
ingress->fs[i].hash);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h
24
struct ch_filter_specification fs[CXGB4_FILTER_TYPE_MAX];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
110
fs->action = FILTER_DROP;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
125
fs->action = FILTER_SWITCH;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
126
fs->eport = i;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
155
struct ch_filter_specification fs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
198
memset(&fs, 0, sizeof(fs));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
201
fs.prio = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
202
fs.tc_prio = cls->common.prio;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
203
fs.tc_cookie = cls->knode.handle;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
276
ret = fill_match_fields(adapter, &fs, cls,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
284
memcpy(&link->fs, &fs, sizeof(fs));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
301
memcpy(&fs, &t->table[uhtid - 1].fs, sizeof(fs));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
302
ret = fill_match_fields(adapter, &fs, cls,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
308
ret = fill_match_fields(adapter, &fs, cls, start, false);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
315
ret = fill_action_fields(adapter, &fs, cls);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
327
fs.val.iport = netdev2pinfo(dev)->port_id;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
328
fs.mask.iport = ~0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
331
fs.hitcnts = 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
334
fs.type = is_ipv6 ? 1 : 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
337
ret = cxgb4_set_filter(dev, filter_id, &fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
376
if (f->valid && f->fs.tc_cookie == cls->knode.handle) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
392
if (f->valid && f->fs.tc_cookie == cls->knode.handle) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
406
if (f->fs.type) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
45
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
468
memset(&link->fs, 0, sizeof(link->fs));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
75
err = entry[j].val(fs, val, mask);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
91
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h
327
struct ch_filter_specification fs; /* Match spec associated with link */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
287
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
290
struct ch_filter_specification *fs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
293
struct ch_filter_specification *fs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
295
struct ch_filter_specification *fs);
drivers/net/ethernet/cisco/enic/enic_ethtool.c
497
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
206
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
273
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
97
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
520
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
517
static int dpaa2_eth_prep_cls_rule(struct ethtool_rx_flow_spec *fs, void *key,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
522
switch (fs->flow_type & 0xFF) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
524
err = dpaa2_eth_prep_eth_rule(&fs->h_u.ether_spec, &fs->m_u.ether_spec,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
528
err = dpaa2_eth_prep_uip_rule(&fs->h_u.usr_ip4_spec,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
529
&fs->m_u.usr_ip4_spec, key, mask, fields);
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
532
err = dpaa2_eth_prep_l4_rule(&fs->h_u.tcp_ip4_spec, &fs->m_u.tcp_ip4_spec,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
536
err = dpaa2_eth_prep_l4_rule(&fs->h_u.udp_ip4_spec, &fs->m_u.udp_ip4_spec,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
540
err = dpaa2_eth_prep_l4_rule(&fs->h_u.sctp_ip4_spec,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
541
&fs->m_u.sctp_ip4_spec, key, mask,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
551
if (fs->flow_type & FLOW_EXT) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
552
err = dpaa2_eth_prep_ext_rule(&fs->h_ext, &fs->m_ext, key, mask, fields);
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
557
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
558
err = dpaa2_eth_prep_mac_ext_rule(&fs->h_ext, &fs->m_ext, key,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
568
struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
580
if (fs->ring_cookie != RX_CLS_FLOW_DISC &&
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
581
fs->ring_cookie >= dpaa2_eth_queue_count(priv))
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
592
err = dpaa2_eth_prep_cls_rule(fs, key_buf, key_buf + rule_cfg.key_size, &fields);
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
634
if (fs->ring_cookie == RX_CLS_FLOW_DISC)
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
637
fs_act.flow_id = fs->ring_cookie;
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
642
i, fs->location, &rule_cfg,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
689
err = dpaa2_eth_do_cls_rule(net_dev, &rule->fs, false);
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
709
rule->fs = *new_fs;
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
735
if (rxnfc->fs.location >= max_rules)
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
737
rxnfc->fs.location = array_index_nospec(rxnfc->fs.location,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
739
if (!priv->cls_rules[rxnfc->fs.location].in_use)
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
741
rxnfc->fs = priv->cls_rules[rxnfc->fs.location].fs;
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
768
err = dpaa2_eth_update_cls_rule(net_dev, &rxnfc->fs, rxnfc->fs.location);
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
771
err = dpaa2_eth_update_cls_rule(net_dev, NULL, rxnfc->fs.location);
drivers/net/ethernet/freescale/enetc/enetc.h
392
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
563
struct ethtool_rx_flow_spec *fs, bool en)
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
573
switch (fs->flow_type & 0xff) {
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
575
l4ip4_h = &fs->h_u.tcp_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
576
l4ip4_m = &fs->m_u.tcp_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
579
l4ip4_h = &fs->h_u.udp_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
580
l4ip4_m = &fs->m_u.udp_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
583
l4ip4_h = &fs->h_u.sctp_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
584
l4ip4_m = &fs->m_u.sctp_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
600
l3ip4_h = &fs->h_u.usr_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
601
l3ip4_m = &fs->m_u.usr_ip4_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
613
eth_h = &fs->h_u.ether_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
614
eth_m = &fs->m_u.ether_spec;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
628
if (fs->ring_cookie != RX_CLS_FLOW_DISC) {
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
630
rfse.result = fs->ring_cookie;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
633
return enetc_set_fs_entry(si, &rfse, fs->location);
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
660
if (rxnfc->fs.location >= priv->si->num_fs_entries)
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
664
rxnfc->fs = priv->cls_rules[rxnfc->fs.location].fs;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
695
if (rxnfc->fs.location >= priv->si->num_fs_entries)
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
698
if (rxnfc->fs.ring_cookie >= priv->num_rx_rings &&
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
699
rxnfc->fs.ring_cookie != RX_CLS_FLOW_DISC)
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
702
err = enetc_set_cls_entry(priv->si, &rxnfc->fs, true);
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
705
priv->cls_rules[rxnfc->fs.location].fs = rxnfc->fs;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
706
priv->cls_rules[rxnfc->fs.location].used = 1;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
709
if (rxnfc->fs.location >= priv->si->num_fs_entries)
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
712
err = enetc_set_cls_entry(priv->si, &rxnfc->fs, false);
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
715
priv->cls_rules[rxnfc->fs.location].used = 0;
drivers/net/ethernet/freescale/gianfar.h
46
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/freescale/gianfar_ethtool.c
1252
ret = gfar_convert_to_filer(&j->fs, tab);
drivers/net/ethernet/freescale/gianfar_ethtool.c
1299
memcpy(&temp->fs, flow, sizeof(temp->fs));
drivers/net/ethernet/freescale/gianfar_ethtool.c
1301
gfar_invert_masks(&temp->fs);
drivers/net/ethernet/freescale/gianfar_ethtool.c
1302
ret = gfar_check_capability(&temp->fs, priv);
drivers/net/ethernet/freescale/gianfar_ethtool.c
1314
if (comp->fs.location > flow->location) {
drivers/net/ethernet/freescale/gianfar_ethtool.c
1318
if (comp->fs.location == flow->location) {
drivers/net/ethernet/freescale/gianfar_ethtool.c
1353
if (comp->fs.location == loc) {
drivers/net/ethernet/freescale/gianfar_ethtool.c
1372
if (comp->fs.location == cmd->fs.location) {
drivers/net/ethernet/freescale/gianfar_ethtool.c
1373
memcpy(&cmd->fs, &comp->fs, sizeof(cmd->fs));
drivers/net/ethernet/freescale/gianfar_ethtool.c
1374
gfar_invert_masks(&cmd->fs);
drivers/net/ethernet/freescale/gianfar_ethtool.c
1392
rule_locs[i] = comp->fs.location;
drivers/net/ethernet/freescale/gianfar_ethtool.c
1414
if ((cmd->fs.ring_cookie != RX_CLS_FLOW_DISC &&
drivers/net/ethernet/freescale/gianfar_ethtool.c
1415
cmd->fs.ring_cookie >= priv->num_rx_queues) ||
drivers/net/ethernet/freescale/gianfar_ethtool.c
1416
cmd->fs.location >= MAX_FILER_IDX) {
drivers/net/ethernet/freescale/gianfar_ethtool.c
1420
ret = gfar_add_cls(priv, &cmd->fs);
drivers/net/ethernet/freescale/gianfar_ethtool.c
1423
ret = gfar_del_cls(priv, cmd->fs.location);
drivers/net/ethernet/google/gve/gve_flow_rule.c
199
struct ethtool_rx_flow_spec *fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/google/gve/gve_flow_rule.c
265
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/google/gve/gve_flow_rule.c
292
struct ethtool_rx_flow_spec *fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6062
struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6065
if (fs->flow_type & FLOW_EXT) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6066
if (fs->h_ext.vlan_etype) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6071
if (!fs->h_ext.vlan_tci)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6074
if (fs->m_ext.vlan_tci &&
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6075
be16_to_cpu(fs->h_ext.vlan_tci) >= VLAN_N_VID) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6078
ntohs(fs->h_ext.vlan_tci), VLAN_N_VID - 1);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6085
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6093
if (is_zero_ether_addr(fs->h_ext.h_dest))
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6129
static bool hclge_fd_is_user_def_all_masked(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6131
return be32_to_cpu(fs->m_ext.data[1] | fs->m_ext.data[0]) == 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6135
struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6140
u32 flow_type = fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6147
if (!(fs->flow_type & FLOW_EXT) || hclge_fd_is_user_def_all_masked(fs))
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6153
data = be32_to_cpu(fs->h_ext.data[1]) & HCLGE_FD_USER_DEF_DATA;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6154
data_mask = be32_to_cpu(fs->m_ext.data[1]) & HCLGE_FD_USER_DEF_DATA;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6155
offset = be32_to_cpu(fs->h_ext.data[0]) & HCLGE_FD_USER_DEF_OFFSET;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6156
offset_mask = be32_to_cpu(fs->m_ext.data[0]) & HCLGE_FD_USER_DEF_OFFSET;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6191
struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6198
if (fs->location >= hdev->fd_cfg.rule_num[HCLGE_FD_STAGE_1]) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6201
fs->location,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6206
ret = hclge_fd_parse_user_def_field(hdev, fs, unused_tuple, info);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6210
flow_type = fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6215
ret = hclge_fd_check_tcpip4_tuple(&fs->h_u.tcp_ip4_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6219
ret = hclge_fd_check_ip4_tuple(&fs->h_u.usr_ip4_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6225
ret = hclge_fd_check_tcpip6_tuple(&fs->h_u.tcp_ip6_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6229
ret = hclge_fd_check_ip6_tuple(&fs->h_u.usr_ip6_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6240
ret = hclge_fd_check_ether_tuple(&fs->h_u.ether_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6257
return hclge_fd_check_ext_tuple(hdev, fs, unused_tuple);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6260
static void hclge_fd_get_tcpip4_tuple(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6264
be32_to_cpu(fs->h_u.tcp_ip4_spec.ip4src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6266
be32_to_cpu(fs->m_u.tcp_ip4_spec.ip4src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6269
be32_to_cpu(fs->h_u.tcp_ip4_spec.ip4dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6271
be32_to_cpu(fs->m_u.tcp_ip4_spec.ip4dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6273
rule->tuples.src_port = be16_to_cpu(fs->h_u.tcp_ip4_spec.psrc);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6274
rule->tuples_mask.src_port = be16_to_cpu(fs->m_u.tcp_ip4_spec.psrc);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6276
rule->tuples.dst_port = be16_to_cpu(fs->h_u.tcp_ip4_spec.pdst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6277
rule->tuples_mask.dst_port = be16_to_cpu(fs->m_u.tcp_ip4_spec.pdst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6279
rule->tuples.ip_tos = fs->h_u.tcp_ip4_spec.tos;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6280
rule->tuples_mask.ip_tos = fs->m_u.tcp_ip4_spec.tos;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6289
static void hclge_fd_get_ip4_tuple(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6293
be32_to_cpu(fs->h_u.usr_ip4_spec.ip4src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6295
be32_to_cpu(fs->m_u.usr_ip4_spec.ip4src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6298
be32_to_cpu(fs->h_u.usr_ip4_spec.ip4dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6300
be32_to_cpu(fs->m_u.usr_ip4_spec.ip4dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6302
rule->tuples.ip_tos = fs->h_u.usr_ip4_spec.tos;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6303
rule->tuples_mask.ip_tos = fs->m_u.usr_ip4_spec.tos;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6305
rule->tuples.ip_proto = fs->h_u.usr_ip4_spec.proto;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6306
rule->tuples_mask.ip_proto = fs->m_u.usr_ip4_spec.proto;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6312
static void hclge_fd_get_tcpip6_tuple(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6316
fs->h_u.tcp_ip6_spec.ip6src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6318
fs->m_u.tcp_ip6_spec.ip6src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6321
fs->h_u.tcp_ip6_spec.ip6dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6323
fs->m_u.tcp_ip6_spec.ip6dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6325
rule->tuples.src_port = be16_to_cpu(fs->h_u.tcp_ip6_spec.psrc);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6326
rule->tuples_mask.src_port = be16_to_cpu(fs->m_u.tcp_ip6_spec.psrc);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6328
rule->tuples.dst_port = be16_to_cpu(fs->h_u.tcp_ip6_spec.pdst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6329
rule->tuples_mask.dst_port = be16_to_cpu(fs->m_u.tcp_ip6_spec.pdst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6334
rule->tuples.ip_tos = fs->h_u.tcp_ip6_spec.tclass;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6335
rule->tuples_mask.ip_tos = fs->m_u.tcp_ip6_spec.tclass;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6341
static void hclge_fd_get_ip6_tuple(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6345
fs->h_u.usr_ip6_spec.ip6src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6347
fs->m_u.usr_ip6_spec.ip6src);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6350
fs->h_u.usr_ip6_spec.ip6dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6352
fs->m_u.usr_ip6_spec.ip6dst);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6354
rule->tuples.ip_proto = fs->h_u.usr_ip6_spec.l4_proto;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6355
rule->tuples_mask.ip_proto = fs->m_u.usr_ip6_spec.l4_proto;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6357
rule->tuples.ip_tos = fs->h_u.tcp_ip6_spec.tclass;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6358
rule->tuples_mask.ip_tos = fs->m_u.tcp_ip6_spec.tclass;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6364
static void hclge_fd_get_ether_tuple(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6367
ether_addr_copy(rule->tuples.src_mac, fs->h_u.ether_spec.h_source);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6368
ether_addr_copy(rule->tuples_mask.src_mac, fs->m_u.ether_spec.h_source);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6370
ether_addr_copy(rule->tuples.dst_mac, fs->h_u.ether_spec.h_dest);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6371
ether_addr_copy(rule->tuples_mask.dst_mac, fs->m_u.ether_spec.h_dest);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6373
rule->tuples.ether_proto = be16_to_cpu(fs->h_u.ether_spec.h_proto);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6374
rule->tuples_mask.ether_proto = be16_to_cpu(fs->m_u.ether_spec.h_proto);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6400
static int hclge_fd_get_tuple(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6404
u32 flow_type = fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6408
hclge_fd_get_tcpip4_tuple(fs, rule, IPPROTO_SCTP);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6411
hclge_fd_get_tcpip4_tuple(fs, rule, IPPROTO_TCP);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6414
hclge_fd_get_tcpip4_tuple(fs, rule, IPPROTO_UDP);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6417
hclge_fd_get_ip4_tuple(fs, rule);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6420
hclge_fd_get_tcpip6_tuple(fs, rule, IPPROTO_SCTP);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6423
hclge_fd_get_tcpip6_tuple(fs, rule, IPPROTO_TCP);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6426
hclge_fd_get_tcpip6_tuple(fs, rule, IPPROTO_UDP);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6429
hclge_fd_get_ip6_tuple(fs, rule);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6432
hclge_fd_get_ether_tuple(fs, rule);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6438
if (fs->flow_type & FLOW_EXT) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6439
rule->tuples.vlan_tag1 = be16_to_cpu(fs->h_ext.vlan_tci);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6440
rule->tuples_mask.vlan_tag1 = be16_to_cpu(fs->m_ext.vlan_tci);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6444
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6445
ether_addr_copy(rule->tuples.dst_mac, fs->h_ext.h_dest);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6446
ether_addr_copy(rule->tuples_mask.dst_mac, fs->m_ext.h_dest);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6556
struct ethtool_rx_flow_spec *fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6574
fs = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6576
ret = hclge_fd_check_spec(hdev, fs, &unused, &info);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6580
ret = hclge_fd_parse_ring_cookie(hdev, fs->ring_cookie, &dst_vport_id,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6589
ret = hclge_fd_get_tuple(fs, rule, &info);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6595
rule->flow_type = fs->flow_type;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6596
rule->location = fs->location;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6615
struct ethtool_rx_flow_spec *fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6621
fs = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6623
if (fs->location >= hdev->fd_cfg.rule_num[HCLGE_FD_STAGE_1])
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6628
!test_bit(fs->location, hdev->fd_bmap)) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6630
"Delete fail, rule %u is inexistent\n", fs->location);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6635
ret = hclge_fd_tcam_config(hdev, HCLGE_FD_STAGE_1, true, fs->location,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6640
hclge_update_fd_list(hdev, HCLGE_FD_DELETED, fs->location, NULL);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6857
static void hclge_fd_get_user_def_info(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6862
fs->h_ext.data[0] = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6863
fs->h_ext.data[1] = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6864
fs->m_ext.data[0] = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6865
fs->m_ext.data[1] = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6867
fs->h_ext.data[0] = cpu_to_be32(rule->ep.user_def.offset);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6868
fs->h_ext.data[1] = cpu_to_be32(rule->ep.user_def.data);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6869
fs->m_ext.data[0] =
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6871
fs->m_ext.data[1] = cpu_to_be32(rule->ep.user_def.data_mask);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6875
static void hclge_fd_get_ext_info(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6878
if (fs->flow_type & FLOW_EXT) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6879
fs->h_ext.vlan_tci = cpu_to_be16(rule->tuples.vlan_tag1);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6880
fs->m_ext.vlan_tci =
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6884
hclge_fd_get_user_def_info(fs, rule);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6887
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6888
ether_addr_copy(fs->h_ext.h_dest, rule->tuples.dst_mac);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6890
eth_zero_addr(fs->m_u.ether_spec.h_dest);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6892
ether_addr_copy(fs->m_u.ether_spec.h_dest,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6913
static void hclge_fd_get_ring_cookie(struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6917
fs->ring_cookie = RX_CLS_FLOW_DISC;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6921
fs->ring_cookie = rule->queue_id;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6924
fs->ring_cookie |= vf_id;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6934
struct ethtool_rx_flow_spec *fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6939
fs = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6943
rule = hclge_get_fd_rule(hdev, fs->location);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6949
fs->flow_type = rule->flow_type;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6950
switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6954
hclge_fd_get_tcpip4_info(rule, &fs->h_u.tcp_ip4_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6955
&fs->m_u.tcp_ip4_spec);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6958
hclge_fd_get_ip4_info(rule, &fs->h_u.usr_ip4_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6959
&fs->m_u.usr_ip4_spec);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6964
hclge_fd_get_tcpip6_info(rule, &fs->h_u.tcp_ip6_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6965
&fs->m_u.tcp_ip6_spec);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6968
hclge_fd_get_ip6_info(rule, &fs->h_u.usr_ip6_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6969
&fs->m_u.usr_ip6_spec);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6976
hclge_fd_get_ether_info(rule, &fs->h_u.ether_spec,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6977
&fs->m_u.ether_spec);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6981
hclge_fd_get_ext_info(fs, rule);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6983
hclge_fd_get_ring_cookie(fs, rule);
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
3358
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
3876
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
4823
fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1255
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1298
struct ethtool_rx_flow_spec *fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
919
struct ethtool_rx_flow_spec *fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
127
fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
1763
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
2006
fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/idpf/idpf.h
290
struct ethtool_rx_flow_spec fs;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
172
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
216
if (f->fs.location == fsp->location) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
221
if (f->fs.location > fsp->location)
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
269
fltr->fs = *fsp;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
298
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
332
if (f->fs.location == fsp->location) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
60
if (f->fs.location == cmd->fs.location) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
64
memset(&cmd->fs, 0, sizeof(cmd->fs));
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
65
cmd->fs = f->fs;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
79
rule_locs[cnt] = f->fs.location;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2430
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2897
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2993
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1354
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1431
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
966
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2671
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2945
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3075
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1347
if (rxnfc->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW)
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1350
efs = port->rfs_rules[rxnfc->fs.location];
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1367
if (info->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW)
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1374
input.fs = &info->fs;
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1379
if (info->fs.flow_type & FLOW_RSS)
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1389
efs->rule.flow_type = mvpp2_cls_ethtool_flow_to_type(info->fs.flow_type);
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1399
efs->rule.loc = info->fs.location;
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1437
if (info->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW)
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1440
efs = port->rfs_rules[info->fs.location];
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1450
port->rfs_rules[info->fs.location] = NULL;
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1566
if (!(rxnfc->fs.flow_type & FLOW_RSS) ||
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1574
rxnfc->fs.location);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
762
ret = otx2_get_flow(pfvf, nfc, nfc->fs.location);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
788
ret = otx2_remove_flow(pfvf, nfc->fs.location);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1094
struct ethtool_rx_flow_spec *fsp = &nfc->fs;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
507
nfc->fs = iter->flow_spec;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
3072
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
3096
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
3135
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1334
if (cmd->fs.location >= MAX_NUM_OF_FS_RULES)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1337
if (cmd->fs.flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1339
if (!is_broadcast_ether_addr(cmd->fs.m_ext.h_dest))
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1343
switch (cmd->fs.flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1346
if (cmd->fs.m_u.tcp_ip4_spec.tos)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1348
l4_mask = &cmd->fs.m_u.tcp_ip4_spec;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1357
l3_mask = &cmd->fs.m_u.usr_ip4_spec;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1359
cmd->fs.h_u.usr_ip4_spec.ip_ver != ETH_RX_NFC_IP4 ||
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1366
eth_mask = &cmd->fs.m_u.ether_spec;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1382
if ((cmd->fs.flow_type & FLOW_EXT)) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1383
if (cmd->fs.m_ext.vlan_etype ||
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1384
!((cmd->fs.m_ext.vlan_tci & cpu_to_be16(VLAN_VID_MASK)) ==
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1386
(cmd->fs.m_ext.vlan_tci & cpu_to_be16(VLAN_VID_MASK)) ==
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1390
if (cmd->fs.m_ext.vlan_tci) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1391
if (be16_to_cpu(cmd->fs.h_ext.vlan_tci) >= VLAN_N_VID)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1411
if ((cmd->fs.flow_type & FLOW_EXT) &&
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1412
(cmd->fs.m_ext.vlan_tci & cpu_to_be16(VLAN_VID_MASK))) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1413
spec_l2->eth.vlan_id = cmd->fs.h_ext.vlan_tci;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1432
if (cmd->fs.flow_type & FLOW_MAC_EXT)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1433
memcpy(&mac, cmd->fs.h_ext.h_dest, ETH_ALEN);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1453
struct ethtool_usrip4_spec *l3_mask = &cmd->fs.m_u.usr_ip4_spec;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1463
cmd->fs.h_u.
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1468
spec_l3->ipv4.src_ip = cmd->fs.h_u.usr_ip4_spec.ip4src;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1471
spec_l3->ipv4.dst_ip = cmd->fs.h_u.usr_ip4_spec.ip4dst;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1492
struct ethtool_tcpip4_spec *l4_mask = &cmd->fs.m_u.tcp_ip4_spec;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1507
cmd->fs.h_u.
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1512
spec_l3->ipv4.src_ip = cmd->fs.h_u.tcp_ip4_spec.ip4src;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1513
spec_l3->ipv4.dst_ip = cmd->fs.h_u.tcp_ip4_spec.ip4dst;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1514
spec_l4->tcp_udp.src_port = cmd->fs.h_u.tcp_ip4_spec.psrc;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1515
spec_l4->tcp_udp.dst_port = cmd->fs.h_u.tcp_ip4_spec.pdst;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1519
cmd->fs.h_u.
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1524
spec_l3->ipv4.src_ip = cmd->fs.h_u.udp_ip4_spec.ip4src;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1525
spec_l3->ipv4.dst_ip = cmd->fs.h_u.udp_ip4_spec.ip4dst;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1526
spec_l4->tcp_udp.src_port = cmd->fs.h_u.udp_ip4_spec.psrc;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1527
spec_l4->tcp_udp.dst_port = cmd->fs.h_u.udp_ip4_spec.pdst;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1565
switch (cmd->fs.flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1571
eth_spec = &cmd->fs.h_u.ether_spec;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1610
rule.priority = MLX4_DOMAIN_ETHTOOL | cmd->fs.location;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1614
if (cmd->fs.ring_cookie == RX_CLS_FLOW_DISC)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1616
else if (cmd->fs.ring_cookie & EN_ETHTOOL_QP_ATTACH) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1617
qpn = cmd->fs.ring_cookie & (EN_ETHTOOL_QP_ATTACH - 1);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1619
if (cmd->fs.ring_cookie >= priv->rx_ring_num) {
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1621
cmd->fs.ring_cookie);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1624
qpn = priv->rss_map.qps[cmd->fs.ring_cookie].qpn;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1627
cmd->fs.ring_cookie);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1636
loc_rule = &priv->ethtool_rules[cmd->fs.location];
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1641
cmd->fs.location, loc_rule->id);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1652
cmd->fs.location);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1656
memcpy(&loc_rule->flow_spec, &cmd->fs,
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1675
if (cmd->fs.location >= MAX_NUM_OF_FS_RULES)
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1678
rule = &priv->ethtool_rules[cmd->fs.location];
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1687
cmd->fs.location, rule->id);
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1710
memcpy(&cmd->fs, &rule->flow_spec,
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1757
err = mlx4_en_get_flow(dev, cmd, cmd->fs.location);
drivers/net/ethernet/mellanox/mlx5/core/en.h
915
struct mlx5e_flow_steering *fs;
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
106
int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
108
void mlx5e_arfs_destroy_tables(struct mlx5e_flow_steering *fs, bool ntuple);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
109
int mlx5e_arfs_enable(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
110
int mlx5e_arfs_disable(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
114
static inline int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
117
static inline void mlx5e_arfs_destroy_tables(struct mlx5e_flow_steering *fs, bool ntuple) {}
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
118
static inline int mlx5e_arfs_enable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
120
static inline int mlx5e_arfs_disable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
133
void mlx5e_set_ttc_params(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
138
void mlx5e_destroy_ttc_table(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
139
int mlx5e_create_ttc_table(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
144
void mlx5e_enable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
145
void mlx5e_disable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
147
int mlx5e_create_flow_steering(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
151
void mlx5e_destroy_flow_steering(struct mlx5e_flow_steering *fs, bool ntuple,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
158
void mlx5e_fs_cleanup(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
159
struct mlx5e_vlan_table *mlx5e_fs_get_vlan(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
160
struct mlx5e_tc_table *mlx5e_fs_get_tc(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
161
struct mlx5e_l2_table *mlx5e_fs_get_l2(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
162
struct mlx5_flow_namespace *mlx5e_fs_get_ns(struct mlx5e_flow_steering *fs, bool egress);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
163
void mlx5e_fs_set_ns(struct mlx5e_flow_steering *fs, struct mlx5_flow_namespace *ns, bool egress);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
178
struct mlx5e_ethtool_steering *mlx5e_fs_get_ethtool(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
180
struct mlx5_ttc_table *mlx5e_fs_get_ttc(struct mlx5e_flow_steering *fs, bool inner);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
181
void mlx5e_fs_set_ttc(struct mlx5e_flow_steering *fs, struct mlx5_ttc_table *ttc, bool inner);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
183
struct mlx5e_arfs_tables *mlx5e_fs_get_arfs(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
184
void mlx5e_fs_set_arfs(struct mlx5e_flow_steering *fs, struct mlx5e_arfs_tables *arfs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
186
struct mlx5e_ptp_fs *mlx5e_fs_get_ptp(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
187
void mlx5e_fs_set_ptp(struct mlx5e_flow_steering *fs, struct mlx5e_ptp_fs *ptp_fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
188
struct mlx5e_fs_any *mlx5e_fs_get_any(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
189
void mlx5e_fs_set_any(struct mlx5e_flow_steering *fs, struct mlx5e_fs_any *any);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
190
struct mlx5e_fs_udp *mlx5e_fs_get_udp(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
191
void mlx5e_fs_set_udp(struct mlx5e_flow_steering *fs, struct mlx5e_fs_udp *udp);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
193
struct mlx5e_accel_fs_tcp *mlx5e_fs_get_accel_tcp(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
194
void mlx5e_fs_set_accel_tcp(struct mlx5e_flow_steering *fs, struct mlx5e_accel_fs_tcp *accel_tcp);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
196
void mlx5e_fs_set_state_destroy(struct mlx5e_flow_steering *fs, bool state_destroy);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
197
void mlx5e_fs_set_vlan_strip_disable(struct mlx5e_flow_steering *fs, bool vlan_strip_disable);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
199
struct mlx5_core_dev *mlx5e_fs_get_mdev(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
200
int mlx5e_add_vlan_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
201
void mlx5e_remove_vlan_trap(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
202
int mlx5e_add_mac_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
203
void mlx5e_remove_mac_trap(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
204
void mlx5e_fs_set_rx_mode_work(struct mlx5e_flow_steering *fs, struct net_device *netdev);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
205
int mlx5e_fs_vlan_rx_add_vid(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
208
int mlx5e_fs_vlan_rx_kill_vid(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
211
void mlx5e_fs_init_l2_addr(struct mlx5e_flow_steering *fs, struct net_device *netdev);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
213
struct dentry *mlx5e_fs_get_debugfs_root(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
215
#define fs_err(fs, fmt, ...) \
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
216
mlx5_core_err(mlx5e_fs_get_mdev(fs), fmt, ##__VA_ARGS__)
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
218
#define fs_dbg(fs, fmt, ...) \
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
219
mlx5_core_dbg(mlx5e_fs_get_mdev(fs), fmt, ##__VA_ARGS__)
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
221
#define fs_warn(fs, fmt, ...) \
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
222
mlx5_core_warn(mlx5e_fs_get_mdev(fs), fmt, ##__VA_ARGS__)
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
224
#define fs_warn_once(fs, fmt, ...) \
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
225
mlx5_core_warn_once(mlx5e_fs_get_mdev(fs), fmt, ##__VA_ARGS__)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_ethtool.h
12
void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_ethtool.h
13
void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_ethtool.h
26
static inline void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs) { }
drivers/net/ethernet/mellanox/mlx5/core/en/fs_ethtool.h
27
static inline void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs) { }
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
108
fs_err(fs, "%s: add %s rule failed, err %d\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
114
static int fs_udp_add_default_rule(struct mlx5e_flow_steering *fs, enum fs_udp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
116
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
117
struct mlx5e_fs_udp *fs_udp = mlx5e_fs_get_udp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
130
fs_err(fs, "%s: add default rule failed, fs type=%d, err %d\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
208
static int fs_udp_create_table(struct mlx5e_flow_steering *fs, enum fs_udp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
210
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
211
struct mlx5e_fs_udp *fs_udp = mlx5e_fs_get_udp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
230
mlx5_core_dbg(mlx5e_fs_get_mdev(fs), "Created fs %s table id %u level %u\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
237
err = fs_udp_add_default_rule(fs, type);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
258
static int fs_udp_disable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
260
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
267
fs_err(fs, "%s: modify ttc[%d] default destination failed, err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
276
static int fs_udp_enable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
278
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
279
struct mlx5e_fs_udp *udp = mlx5e_fs_get_udp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
290
fs_err(fs, "%s: modify ttc[%d] destination to accel failed, err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
298
void mlx5e_fs_tt_redirect_udp_destroy(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
300
struct mlx5e_fs_udp *fs_udp = mlx5e_fs_get_udp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
309
fs_udp_disable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
315
mlx5e_fs_set_udp(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
318
int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
320
struct mlx5e_fs_udp *udp = mlx5e_fs_get_udp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
331
mlx5e_fs_set_udp(fs, udp);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
334
err = fs_udp_create_table(fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
339
err = fs_udp_enable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
352
mlx5e_fs_set_udp(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
364
mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
367
struct mlx5e_fs_any *fs_any = mlx5e_fs_get_any(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
390
fs_err(fs, "%s: add ANY rule failed, err %d\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
396
static int fs_any_add_default_rule(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
398
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
399
struct mlx5e_fs_any *fs_any = mlx5e_fs_get_any(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
411
fs_err(fs, "%s: add default rule failed, fs type=ANY, err %d\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
478
static int fs_any_create_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
480
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
481
struct mlx5e_fs_any *fs_any = mlx5e_fs_get_any(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
499
mlx5_core_dbg(mlx5e_fs_get_mdev(fs), "Created fs ANY table id %u level %u\n",
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
506
err = fs_any_add_default_rule(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
517
static int fs_any_disable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
519
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
525
fs_err(fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
533
static int fs_any_enable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
535
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
536
struct mlx5e_fs_any *any = mlx5e_fs_get_any(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
546
fs_err(fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
564
void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
566
struct mlx5e_fs_any *fs_any = mlx5e_fs_get_any(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
574
fs_any_disable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
579
mlx5e_fs_set_any(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
582
int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
584
struct mlx5e_fs_any *fs_any = mlx5e_fs_get_any(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
595
mlx5e_fs_set_any(fs, fs_any);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
597
err = fs_any_create_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
601
err = fs_any_enable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
612
mlx5e_fs_set_any(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
77
mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
81
struct mlx5e_fs_udp *fs_udp = mlx5e_fs_get_udp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h
13
mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h
16
void mlx5e_fs_tt_redirect_udp_destroy(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h
17
int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h
21
mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h
23
void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h
24
int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
1002
struct mlx5e_ptp_fs *ptp_fs = mlx5e_fs_get_ptp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
1007
mlx5e_ptp_rx_unset_fs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
1033
mlx5e_ptp_rx_unset_fs(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
801
static void mlx5e_ptp_rx_unset_fs(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
803
struct mlx5e_ptp_fs *ptp_fs = mlx5e_fs_get_ptp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
809
mlx5e_fs_tt_redirect_any_destroy(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
813
mlx5e_fs_tt_redirect_udp_destroy(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
820
struct mlx5e_flow_steering *fs = priv->fs;
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
825
ptp_fs = mlx5e_fs_get_ptp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
829
err = mlx5e_fs_tt_redirect_udp_create(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
833
rule = mlx5e_fs_tt_redirect_udp_add_rule(fs, MLX5_TT_IPV4_UDP,
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
841
rule = mlx5e_fs_tt_redirect_udp_add_rule(fs, MLX5_TT_IPV6_UDP,
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
849
err = mlx5e_fs_tt_redirect_any_create(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
853
rule = mlx5e_fs_tt_redirect_any_add_rule(fs, tirn, ETH_P_1588);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
864
mlx5e_fs_tt_redirect_any_destroy(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
870
mlx5e_fs_tt_redirect_udp_destroy(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
983
int mlx5e_ptp_alloc_rx_fs(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
994
mlx5e_fs_set_ptp(fs, ptp_fs);
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
999
void mlx5e_ptp_free_rx_fs(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h
135
int mlx5e_ptp_alloc_rx_fs(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h
137
void mlx5e_ptp_free_rx_fs(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/goto.c
15
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
19
int (*init)(struct mlx5_ct_fs *fs, struct mlx5_flow_table *ct,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
21
void (*destroy)(struct mlx5_ct_fs *fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
23
struct mlx5_ct_fs_rule * (*ct_rule_add)(struct mlx5_ct_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
27
void (*ct_rule_del)(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
28
int (*ct_rule_update)(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
34
static inline void *mlx5_ct_fs_priv(struct mlx5_ct_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
36
return &fs->priv_data;
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
18
mlx5_ct_fs_dmfs_init(struct mlx5_ct_fs *fs, struct mlx5_flow_table *ct,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
25
mlx5_ct_fs_dmfs_destroy(struct mlx5_ct_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
30
mlx5_ct_fs_dmfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
33
struct mlx5e_priv *priv = netdev_priv(fs->netdev);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
58
mlx5_ct_fs_dmfs_ct_rule_del(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
64
mlx5_tc_rule_delete(netdev_priv(fs->netdev), dmfs_rule->rule, dmfs_rule->attr);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
68
static int mlx5_ct_fs_dmfs_ct_rule_update(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
74
struct mlx5e_priv *priv = netdev_priv(fs->netdev);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
9
netdev_dbg(fs->netdev, "ct_fs_dmfs debug: " fmt "\n", ##args)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
112
mlx5_ct_fs_hmfs_matcher_get(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
115
struct mlx5_ct_fs_hmfs *fs_hmfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
136
hws_bwc_matcher = mlx5_ct_fs_hmfs_matcher_create(fs, tbl, spec, ipv4, tcp, gre);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
138
netdev_warn(fs->netdev,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
155
mlx5_ct_fs_hmfs_matcher_put(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_hmfs_matcher *hmfs_matcher)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
157
struct mlx5_ct_fs_hmfs *fs_hmfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
189
mlx5_ct_fs_hmfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
193
struct mlx5_ct_fs_hmfs *fs_hmfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
203
if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
217
hmfs_matcher = mlx5_ct_fs_hmfs_matcher_get(fs, spec, nat, ipv4, tcp, gre);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
239
mlx5_ct_fs_hmfs_matcher_put(fs, hmfs_matcher);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
245
static void mlx5_ct_fs_hmfs_ct_rule_del(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
252
mlx5_ct_fs_hmfs_matcher_put(fs, hmfs_rule->hmfs_matcher);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
256
static int mlx5_ct_fs_hmfs_ct_rule_update(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
263
struct mlx5_ct_fs_hmfs *fs_hmfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
45
static int mlx5_ct_fs_hmfs_init(struct mlx5_ct_fs *fs, struct mlx5_flow_table *ct,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
50
struct mlx5_ct_fs_hmfs *fs_hmfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
58
netdev_warn(fs->netdev, "ct_fs_hmfs: failed to init, missing backing hws tables");
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
62
netdev_dbg(fs->netdev, "using hmfs steering");
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
71
netdev_warn(fs->netdev, "ct_fs_hmfs: failed to create fwd action\n");
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
76
netdev_warn(fs->netdev, "ct_fs_hmfs: failed to create last action\n");
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
84
static void mlx5_ct_fs_hmfs_destroy(struct mlx5_ct_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
86
struct mlx5_ct_fs_hmfs *fs_hmfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
93
mlx5_ct_fs_hmfs_matcher_create(struct mlx5_ct_fs *fs, struct mlx5hws_table *tbl,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
111
mlx5_ct_fs_smfs_matcher_get(struct mlx5_ct_fs *fs, bool nat, bool ipv4, bool tcp, bool gre)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
113
struct mlx5_ct_fs_smfs *fs_smfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
148
dr_matcher = mlx5_ct_fs_smfs_matcher_create(fs, tbl, ipv4, tcp, gre, prio);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
15
netdev_dbg(fs->netdev, "ct_fs_smfs debug: " fmt "\n", ##args)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
150
netdev_warn(fs->netdev,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
169
mlx5_ct_fs_smfs_matcher_put(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_smfs_matcher *smfs_matcher)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
171
struct mlx5_ct_fs_smfs *fs_smfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
182
mlx5_ct_fs_smfs_init(struct mlx5_ct_fs *fs, struct mlx5_flow_table *ct,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
186
struct mlx5_ct_fs_smfs *fs_smfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
194
netdev_warn(fs->netdev, "ct_fs_smfs: failed to init, missing backing dr tables");
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
215
mlx5_ct_fs_smfs_destroy(struct mlx5_ct_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
217
struct mlx5_ct_fs_smfs *fs_smfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
223
mlx5_ct_fs_smfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
226
struct mlx5_ct_fs_smfs *fs_smfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
234
if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
258
smfs_matcher = mlx5_ct_fs_smfs_matcher_get(fs, nat, ipv4, tcp, gre);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
277
mlx5_ct_fs_smfs_matcher_put(fs, smfs_matcher);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
286
mlx5_ct_fs_smfs_ct_rule_del(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
293
mlx5_ct_fs_smfs_matcher_put(fs, smfs_rule->smfs_matcher);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
298
static int mlx5_ct_fs_smfs_ct_rule_update(struct mlx5_ct_fs *fs, struct mlx5_ct_fs_rule *fs_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
304
struct mlx5_ct_fs_smfs *fs_smfs = mlx5_ct_fs_priv(fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
46
mlx5_ct_fs_smfs_fill_mask(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec, bool ipv4, bool tcp,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
51
if (likely(MLX5_CAP_FLOWTABLE_NIC_RX(fs->dev, ft_field_support.outer_ip_version)))
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
89
mlx5_ct_fs_smfs_matcher_create(struct mlx5_ct_fs *fs, struct mlx5dr_table *tbl, bool ipv4,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
99
mlx5_ct_fs_smfs_fill_mask(fs, spec, ipv4, tcp, gre);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2115
ct_priv->fs = kzalloc(sizeof(*ct_priv->fs) + fs_ops->priv_size, GFP_KERNEL);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2116
if (!ct_priv->fs)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2119
ct_priv->fs->netdev = ct_priv->netdev;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2120
ct_priv->fs->dev = ct_priv->dev;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2123
err = ct_priv->fs_ops->init(ct_priv->fs, ct_priv->ct, ct_priv->ct_nat, post_ct);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2130
kfree(ct_priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2412
ct_priv->fs_ops->destroy(ct_priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2413
kfree(ct_priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
529
ct_priv->fs_ops->ct_rule_del(ct_priv->fs, zone_rule->rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
80
struct mlx5_ct_fs *fs;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
854
zone_rule->rule = ct_priv->fs_ops->ct_rule_add(ct_priv->fs, spec, attr, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
911
err = ct_priv->fs_ops->ct_rule_update(ct_priv->fs, zone_rule->rule, spec, attr);
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c
235
err = mlx5e_add_vlan_trap(priv->fs, trap_id, mlx5e_trap_get_tirn(priv->en_trap));
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c
240
err = mlx5e_add_mac_trap(priv->fs, trap_id, mlx5e_trap_get_tirn(priv->en_trap));
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c
261
mlx5e_remove_vlan_trap(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c
264
mlx5e_remove_mac_trap(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
141
fs_err(fs, "mlx5_add_flow_rules() failed, flow is %pe\n", flow);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
148
static int accel_fs_tcp_add_default_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
151
struct mlx5e_accel_fs_tcp *fs_tcp = mlx5e_fs_get_accel_tcp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
152
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
165
fs_err(fs, "%s: add default rule failed, accel_fs type=%d, err %d\n",
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
265
static int accel_fs_tcp_create_table(struct mlx5e_flow_steering *fs, enum accel_fs_tcp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
267
struct mlx5e_accel_fs_tcp *accel_tcp = mlx5e_fs_get_accel_tcp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
268
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
286
fs_dbg(fs, "Created fs accel table id %u level %u\n",
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
293
err = accel_fs_tcp_add_default_rule(fs, type);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
303
static int accel_fs_tcp_disable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
305
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
312
fs_err(fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
322
static int accel_fs_tcp_enable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
324
struct mlx5e_accel_fs_tcp *accel_tcp = mlx5e_fs_get_accel_tcp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
325
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
336
fs_err(fs, "%s: modify ttc[%d] destination to accel failed, err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
344
static void accel_fs_tcp_destroy_table(struct mlx5e_flow_steering *fs, int i)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
346
struct mlx5e_accel_fs_tcp *fs_tcp = mlx5e_fs_get_accel_tcp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
356
void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
358
struct mlx5e_accel_fs_tcp *accel_tcp = mlx5e_fs_get_accel_tcp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
364
accel_fs_tcp_disable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
367
accel_fs_tcp_destroy_table(fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
370
mlx5e_fs_set_accel_tcp(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
373
int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
378
if (!MLX5_CAP_FLOWTABLE_NIC_RX(mlx5e_fs_get_mdev(fs), ft_field_support.outer_ip_version))
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
384
mlx5e_fs_set_accel_tcp(fs, accel_tcp);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
387
err = accel_fs_tcp_create_table(fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
392
err = accel_fs_tcp_enable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
400
accel_fs_tcp_destroy_table(fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
402
mlx5e_fs_set_accel_tcp(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
74
struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
78
struct mlx5e_accel_fs_tcp *fs_tcp = mlx5e_fs_get_accel_tcp(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
95
fs_dbg(fs, "%s flow is %pI4:%d -> %pI4:%d\n", __func__,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h
10
int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h
11
void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h
12
struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h
17
static inline int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) { return 0; }
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h
18
static inline void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) {}
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h
19
static inline struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
1021
ipsec->fs = priv->fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h
248
struct mlx5e_flow_steering *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
615
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
616
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
632
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
690
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
763
attr->ns = mlx5e_fs_get_ns(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
764
attr->ttc = mlx5e_fs_get_ttc(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
835
ttc = mlx5e_fs_get_ttc(ipsec->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
836
inner_ttc = mlx5e_fs_get_ttc(ipsec->fs, true);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c
139
err = mlx5e_accel_fs_tcp_create(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c
145
mlx5e_accel_fs_tcp_destroy(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c
164
err = mlx5e_accel_fs_tcp_create(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c
181
mlx5e_accel_fs_tcp_destroy(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c
114
rule = mlx5e_accel_fs_add_sk(accel_rule->priv->fs, priv_rx->sk,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
104
mlx5_modify_header_dealloc(fs->mdev, rx_err->copy_modify_hdr);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
109
static void accel_psp_fs_rx_err_destroy_ft(struct mlx5e_psp_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
1101
struct mlx5e_psp_fs *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
112
accel_psp_fs_rx_err_del_rules(fs, rx_err);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
1135
fs = mlx5e_accel_psp_fs_init(priv);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
1136
if (IS_ERR(fs)) {
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
1137
err = PTR_ERR(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
1141
psp->fs = fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
1160
mlx5e_accel_psp_fs_cleanup(psp->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
132
static int accel_psp_fs_rx_err_add_rule(struct mlx5e_psp_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
137
struct mlx5_core_dev *mdev = fs->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
175
dest[1].counter = fs->rx_fs->rx_counter;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
192
dest[0].counter = fs->rx_fs->rx_auth_fail_counter;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
210
dest[0].counter = fs->rx_fs->rx_err_counter;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
227
dest[0].counter = fs->rx_fs->rx_bad_counter;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
257
static int accel_psp_fs_rx_err_create_ft(struct mlx5e_psp_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
261
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(fs->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
273
mlx5_core_err(fs->mdev, "fail to create psp rx inline ft err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
278
err = accel_psp_fs_rx_err_add_rule(fs, fs_prot, rx_err);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
290
static void accel_psp_fs_rx_fs_destroy(struct mlx5e_psp_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
299
mlx5_modify_header_dealloc(fs->mdev, fs_prot->rx_modify_hdr);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
328
static int accel_psp_fs_rx_create_ft(struct mlx5e_psp_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
331
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(fs->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
337
struct mlx5_core_dev *mdev = fs->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
427
accel_psp_fs_rx_fs_destroy(fs, fs_prot);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
434
static int accel_psp_fs_rx_destroy(struct mlx5e_psp_fs *fs, enum accel_fs_psp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
439
accel_psp = fs->rx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
444
accel_psp_fs_rx_fs_destroy(fs, fs_prot);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
446
accel_psp_fs_rx_err_destroy_ft(fs, &fs_prot->rx_err);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
451
static int accel_psp_fs_rx_create(struct mlx5e_psp_fs *fs, enum accel_fs_psp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
453
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
458
accel_psp = fs->rx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
463
err = accel_psp_fs_rx_err_create_ft(fs, fs_prot, &fs_prot->rx_err);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
467
err = accel_psp_fs_rx_create_ft(fs, fs_prot);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
469
accel_psp_fs_rx_err_destroy_ft(fs, &fs_prot->rx_err);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
474
static int accel_psp_fs_rx_ft_get(struct mlx5e_psp_fs *fs, enum accel_fs_psp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
482
if (!fs || !fs->rx_fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
485
ttc = mlx5e_fs_get_ttc(fs->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
486
accel_psp = fs->rx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
493
err = accel_psp_fs_rx_create(fs, type);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
509
static void accel_psp_fs_rx_ft_put(struct mlx5e_psp_fs *fs, enum accel_fs_psp_type type)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
511
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
515
accel_psp = fs->rx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
525
accel_psp_fs_rx_destroy(fs, type);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
531
static void accel_psp_fs_cleanup_rx(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
537
if (!fs->rx_fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
540
accel_psp = fs->rx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
541
mlx5_fc_destroy(fs->mdev, accel_psp->rx_bad_counter);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
542
mlx5_fc_destroy(fs->mdev, accel_psp->rx_err_counter);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
543
mlx5_fc_destroy(fs->mdev, accel_psp->rx_auth_fail_counter);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
544
mlx5_fc_destroy(fs->mdev, accel_psp->rx_counter);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
550
kfree(fs->rx_fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
551
fs->rx_fs = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
554
static int accel_psp_fs_init_rx(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
558
struct mlx5_core_dev *mdev = fs->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
612
fs->rx_fs = accel_psp;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
631
fs->rx_fs = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
644
accel_psp_fs_rx_ft_put(priv->psp->fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
649
struct mlx5e_psp_fs *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
655
fs = priv->psp->fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
657
err = accel_psp_fs_rx_ft_get(fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
667
accel_psp_fs_rx_ft_put(fs, i);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
67
struct mlx5e_flow_steering *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
674
static int accel_psp_fs_tx_create_ft_table(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
679
struct mlx5_core_dev *mdev = fs->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
703
tx_fs = fs->tx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
763
static int accel_psp_fs_tx_ft_get(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
765
struct mlx5e_psp_tx *tx_fs = fs->tx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
772
err = accel_psp_fs_tx_create_ft_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
780
static void accel_psp_fs_tx_ft_put(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
782
struct mlx5e_psp_tx *tx_fs = fs->tx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
793
static void accel_psp_fs_cleanup_tx(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
795
struct mlx5e_psp_tx *tx_fs = fs->tx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
80
static void accel_psp_fs_rx_err_del_rules(struct mlx5e_psp_fs *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
800
mlx5_fc_destroy(fs->mdev, tx_fs->tx_counter);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
804
fs->tx_fs = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
807
static int accel_psp_fs_init_tx(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
809
struct mlx5_core_dev *mdev = fs->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
833
fs->tx_fs = tx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
841
struct mlx5e_psp_tx *tx_fs = priv->psp->fs->tx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
845
accel_psp = (struct mlx5e_accel_fs_psp *)priv->psp->fs->rx_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
876
accel_psp_fs_tx_ft_put(priv->psp->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
884
return accel_psp_fs_tx_ft_get(priv->psp->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
887
static void mlx5e_accel_psp_fs_cleanup(struct mlx5e_psp_fs *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
889
accel_psp_fs_cleanup_rx(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
890
accel_psp_fs_cleanup_tx(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
891
kfree(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
896
struct mlx5e_psp_fs *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
899
fs = kzalloc_obj(*fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
900
if (!fs)
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
903
fs->mdev = priv->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
904
err = accel_psp_fs_init_tx(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
908
fs->fs = priv->fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
909
err = accel_psp_fs_init_rx(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
913
return fs;
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
916
accel_psp_fs_cleanup_tx(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
918
kfree(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.h
28
struct mlx5e_psp_fs *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
122
static int arfs_disable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
124
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
131
fs_err(fs,
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
140
static void arfs_del_rules(struct mlx5e_flow_steering *fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
142
int mlx5e_arfs_disable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
151
if (!mlx5e_fs_get_arfs(fs))
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
154
arfs_del_rules(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
156
return arfs_disable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
159
int mlx5e_arfs_enable(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
161
struct mlx5_ttc_table *ttc = mlx5e_fs_get_ttc(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
162
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
172
fs_err(fs, "%s: modify ttc[%d] dest to arfs, failed err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
174
arfs_disable(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
189
static void _mlx5e_cleanup_tables(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
191
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
194
arfs_del_rules(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
202
void mlx5e_arfs_destroy_tables(struct mlx5e_flow_steering *fs, bool ntuple)
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
204
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
209
_mlx5e_cleanup_tables(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
210
mlx5e_fs_set_arfs(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
214
static int arfs_add_default_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
218
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
228
fs_err(fs, "%s: bad arfs_type: %d\n", __func__, type);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
242
fs_err(fs, "%s: add rule failed, arfs type=%d\n", __func__, type);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
347
static int arfs_create_table(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
351
struct mlx5_flow_namespace *ns = mlx5e_fs_get_ns(fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
352
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
374
err = arfs_add_default_rule(fs, rx_res, type);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
384
int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
403
mlx5e_fs_set_arfs(fs, arfs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
406
err = arfs_create_table(fs, rx_res, i);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
413
_mlx5e_cleanup_tables(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
415
mlx5e_fs_set_arfs(fs, NULL);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
424
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
455
static void arfs_del_rules(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
457
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
515
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
637
arfs = mlx5e_fs_get_arfs(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
660
struct mlx5e_arfs_tables *arfs = mlx5e_fs_get_arfs(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c
739
arfs = mlx5e_fs_get_arfs(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
567
mlx5e_arfs_disable(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
574
int err2 = mlx5e_arfs_enable(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1015
fs_err(fs, "add l2 rule(mac:%pM) failed\n", mv_dmac);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
109
struct dentry *mlx5e_fs_get_debugfs_root(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1099
static void mlx5e_destroy_l2_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1101
mlx5e_destroy_flow_table(&fs->l2.ft);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1104
static int mlx5e_create_l2_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1106
struct mlx5e_l2_table *l2_table = &fs->l2;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
111
return fs->dfs_root;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1117
ft->t = mlx5_create_flow_table(fs->ns, &ft_attr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1237
static int mlx5e_fs_create_vlan_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1243
ft = &fs->vlan->ft;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1250
ft->t = mlx5_create_flow_table(fs->ns, &ft_attr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1264
mlx5e_fs_add_vlan_rules(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1276
static void mlx5e_destroy_vlan_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1278
mlx5e_del_vlan_rules(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1279
mlx5e_destroy_flow_table(&fs->vlan->ft);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1282
static void mlx5e_destroy_inner_ttc_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1284
if (!mlx5_tunnel_inner_ft_supported(fs->mdev))
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1286
mlx5_destroy_ttc_table(fs->inner_ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1289
void mlx5e_destroy_ttc_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1291
mlx5_destroy_ttc_table(fs->ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1294
static int mlx5e_create_inner_ttc_table(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1299
if (!mlx5_tunnel_inner_ft_supported(fs->mdev))
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1302
mlx5e_set_inner_ttc_params(fs, rx_res, &ttc_params);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1303
fs->inner_ttc = mlx5_create_inner_ttc_table(fs->mdev,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1305
return PTR_ERR_OR_ZERO(fs->inner_ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1308
int mlx5e_create_ttc_table(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1313
mlx5e_set_ttc_params(fs, rx_res, &ttc_params, true, true);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1314
fs->ttc = mlx5_create_ttc_table(fs->mdev, &ttc_params);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1315
return PTR_ERR_OR_ZERO(fs->ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1318
int mlx5e_create_flow_steering(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1323
struct mlx5_flow_namespace *ns = mlx5_get_flow_namespace(fs->mdev,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1330
mlx5e_fs_set_ns(fs, ns, false);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1331
err = mlx5e_arfs_create_tables(fs, rx_res, mlx5e_fs_has_arfs(netdev));
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1333
fs_err(fs, "Failed to create arfs tables, err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1337
err = mlx5e_create_inner_ttc_table(fs, rx_res);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1339
fs_err(fs, "Failed to create inner ttc table, err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1343
err = mlx5e_create_ttc_table(fs, rx_res);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1345
fs_err(fs, "Failed to create ttc table, err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1349
err = mlx5e_create_l2_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1351
fs_err(fs, "Failed to create l2 table, err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1355
err = mlx5e_fs_create_vlan_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1357
fs_err(fs, "Failed to create vlan table, err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1361
err = mlx5e_ptp_alloc_rx_fs(fs, profile);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1365
mlx5e_ethtool_init_steering(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1370
mlx5e_destroy_vlan_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1372
mlx5e_destroy_l2_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1374
mlx5e_destroy_ttc_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1376
mlx5e_destroy_inner_ttc_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1378
mlx5e_arfs_destroy_tables(fs, mlx5e_fs_has_arfs(netdev));
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1383
void mlx5e_destroy_flow_steering(struct mlx5e_flow_steering *fs, bool ntuple,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1386
mlx5e_ptp_free_rx_fs(fs, profile);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1387
mlx5e_destroy_vlan_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1388
mlx5e_destroy_l2_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1389
mlx5e_destroy_ttc_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1390
mlx5e_destroy_inner_ttc_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1391
mlx5e_arfs_destroy_tables(fs, ntuple);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1392
mlx5e_ethtool_cleanup_steering(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1395
static int mlx5e_fs_vlan_alloc(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1397
fs->vlan = kvzalloc_obj(*fs->vlan);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1398
if (!fs->vlan)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1403
static void mlx5e_fs_vlan_free(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1405
kvfree(fs->vlan);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1408
struct mlx5e_vlan_table *mlx5e_fs_get_vlan(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1410
return fs->vlan;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1413
static int mlx5e_fs_tc_alloc(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1415
fs->tc = mlx5e_tc_table_alloc();
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1416
if (IS_ERR(fs->tc))
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1421
static void mlx5e_fs_tc_free(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1423
mlx5e_tc_table_free(fs->tc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1426
struct mlx5e_tc_table *mlx5e_fs_get_tc(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1428
return fs->tc;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1432
static int mlx5e_fs_ethtool_alloc(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1434
return mlx5e_ethtool_alloc(&fs->ethtool);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1437
static void mlx5e_fs_ethtool_free(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1439
mlx5e_ethtool_free(fs->ethtool);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1442
struct mlx5e_ethtool_steering *mlx5e_fs_get_ethtool(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1444
return fs->ethtool;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1447
static int mlx5e_fs_ethtool_alloc(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1449
static void mlx5e_fs_ethtool_free(struct mlx5e_flow_steering *fs) { }
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1452
static void mlx5e_fs_debugfs_init(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1458
fs->dfs_root = debugfs_create_dir("fs", dfs_root);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1466
struct mlx5e_flow_steering *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1469
fs = kvzalloc_obj(*fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1470
if (!fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1473
fs->mdev = mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1474
fs->state_destroy = state_destroy;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1476
err = mlx5e_fs_vlan_alloc(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1482
err = mlx5e_fs_tc_alloc(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1487
err = mlx5e_fs_ethtool_alloc(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1491
mlx5e_fs_debugfs_init(fs, dfs_root);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1493
return fs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1495
mlx5e_fs_tc_free(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1497
mlx5e_fs_vlan_free(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1499
kvfree(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1504
void mlx5e_fs_cleanup(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1506
if (!fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1508
debugfs_remove_recursive(fs->dfs_root);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1509
mlx5e_fs_ethtool_free(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1510
mlx5e_fs_tc_free(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1511
mlx5e_fs_vlan_free(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1512
kvfree(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1515
struct mlx5e_l2_table *mlx5e_fs_get_l2(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1517
return &fs->l2;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1520
struct mlx5_flow_namespace *mlx5e_fs_get_ns(struct mlx5e_flow_steering *fs, bool egress)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1522
return egress ? fs->egress_ns : fs->ns;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1525
void mlx5e_fs_set_ns(struct mlx5e_flow_steering *fs, struct mlx5_flow_namespace *ns, bool egress)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1528
fs->ns = ns;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1530
fs->egress_ns = ns;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1533
struct mlx5_ttc_table *mlx5e_fs_get_ttc(struct mlx5e_flow_steering *fs, bool inner)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1535
return inner ? fs->inner_ttc : fs->ttc;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1538
void mlx5e_fs_set_ttc(struct mlx5e_flow_steering *fs, struct mlx5_ttc_table *ttc, bool inner)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1541
fs->ttc = ttc;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1543
fs->inner_ttc = ttc;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1547
struct mlx5e_arfs_tables *mlx5e_fs_get_arfs(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1549
return fs->arfs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1552
void mlx5e_fs_set_arfs(struct mlx5e_flow_steering *fs, struct mlx5e_arfs_tables *arfs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1554
fs->arfs = arfs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1558
struct mlx5e_ptp_fs *mlx5e_fs_get_ptp(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1560
return fs->ptp_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1563
void mlx5e_fs_set_ptp(struct mlx5e_flow_steering *fs, struct mlx5e_ptp_fs *ptp_fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1565
fs->ptp_fs = ptp_fs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1568
struct mlx5e_fs_any *mlx5e_fs_get_any(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1570
return fs->any;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1573
void mlx5e_fs_set_any(struct mlx5e_flow_steering *fs, struct mlx5e_fs_any *any)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1575
fs->any = any;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1579
struct mlx5e_accel_fs_tcp *mlx5e_fs_get_accel_tcp(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1581
return fs->accel_tcp;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1584
void mlx5e_fs_set_accel_tcp(struct mlx5e_flow_steering *fs, struct mlx5e_accel_fs_tcp *accel_tcp)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1586
fs->accel_tcp = accel_tcp;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1590
void mlx5e_fs_set_state_destroy(struct mlx5e_flow_steering *fs, bool state_destroy)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1592
fs->state_destroy = state_destroy;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1595
void mlx5e_fs_set_vlan_strip_disable(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1598
fs->vlan_strip_disable = vlan_strip_disable;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1601
struct mlx5e_fs_udp *mlx5e_fs_get_udp(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1603
return fs->udp;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1606
void mlx5e_fs_set_udp(struct mlx5e_flow_steering *fs, struct mlx5e_fs_udp *udp)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1608
fs->udp = udp;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1611
struct mlx5_core_dev *mlx5e_fs_get_mdev(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
1613
return fs->mdev;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
170
static int mlx5e_vport_context_update_vlans(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
180
for_each_set_bit(vlan, fs->vlan->active_cvlans, VLAN_N_VID)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
183
max_list_size = 1 << MLX5_CAP_GEN(fs->mdev, log_max_vlan_list);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
186
fs_warn(fs, "netdev vlans list size (%d) > (%d) max vport list size, some vlans will be dropped\n",
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
196
for_each_set_bit(vlan, fs->vlan->active_cvlans, VLAN_N_VID) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
202
err = mlx5_modify_nic_vport_vlans(fs->mdev, vlans, list_size);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
204
fs_err(fs, "Failed to modify vport vlans list err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
219
static int __mlx5e_add_vlan_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
223
struct mlx5_flow_table *ft = fs->vlan->ft.t;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
230
dest.ft = fs->l2.ft.t;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
240
rule_p = &fs->vlan->untagged_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
245
rule_p = &fs->vlan->any_cvlan_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
251
rule_p = &fs->vlan->any_svlan_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
257
rule_p = &fs->vlan->active_svlans_rule[vid];
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
267
rule_p = &fs->vlan->active_cvlans_rule[vid];
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
286
fs_err(fs, "add rule failed\n");
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
292
static int mlx5e_add_vlan_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
303
mlx5e_vport_context_update_vlans(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
305
err = __mlx5e_add_vlan_rule(fs, rule_type, vid, spec);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
312
static void mlx5e_fs_del_vlan_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
317
if (fs->vlan->untagged_rule) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
318
mlx5_del_flow_rules(fs->vlan->untagged_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
319
fs->vlan->untagged_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
323
if (fs->vlan->any_cvlan_rule) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
324
mlx5_del_flow_rules(fs->vlan->any_cvlan_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
325
fs->vlan->any_cvlan_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
329
if (fs->vlan->any_svlan_rule) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
330
mlx5_del_flow_rules(fs->vlan->any_svlan_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
331
fs->vlan->any_svlan_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
335
if (fs->vlan->active_svlans_rule[vid]) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
336
mlx5_del_flow_rules(fs->vlan->active_svlans_rule[vid]);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
337
fs->vlan->active_svlans_rule[vid] = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
341
if (fs->vlan->active_cvlans_rule[vid]) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
342
mlx5_del_flow_rules(fs->vlan->active_cvlans_rule[vid]);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
343
fs->vlan->active_cvlans_rule[vid] = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
345
mlx5e_vport_context_update_vlans(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
350
static void mlx5e_fs_del_any_vid_rules(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
352
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_ANY_CTAG_VID, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
353
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_ANY_STAG_VID, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
356
static int mlx5e_fs_add_any_vid_rules(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
360
err = mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_ANY_CTAG_VID, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
364
return mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_ANY_STAG_VID, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
388
int mlx5e_add_vlan_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
390
struct mlx5_flow_table *ft = fs->vlan->ft.t;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
397
fs->vlan->trap_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
398
fs_err(fs, "add VLAN trap rule failed, err %d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
401
fs->vlan->trap_rule = rule;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
405
void mlx5e_remove_vlan_trap(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
407
if (fs->vlan->trap_rule) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
408
mlx5_del_flow_rules(fs->vlan->trap_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
409
fs->vlan->trap_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
413
int mlx5e_add_mac_trap(struct mlx5e_flow_steering *fs, int trap_id, int tir_num)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
415
struct mlx5_flow_table *ft = fs->l2.ft.t;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
422
fs->l2.trap_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
423
fs_err(fs, "add MAC trap rule failed, err %d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
426
fs->l2.trap_rule = rule;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
430
void mlx5e_remove_mac_trap(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
432
if (fs->l2.trap_rule) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
433
mlx5_del_flow_rules(fs->l2.trap_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
434
fs->l2.trap_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
438
void mlx5e_enable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
440
if (!fs->vlan->cvlan_filter_disabled)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
443
fs->vlan->cvlan_filter_disabled = false;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
446
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_ANY_CTAG_VID, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
449
void mlx5e_disable_cvlan_filter(struct mlx5e_flow_steering *fs, bool promisc)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
451
if (!fs->vlan || fs->vlan->cvlan_filter_disabled)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
454
fs->vlan->cvlan_filter_disabled = true;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
457
mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_ANY_CTAG_VID, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
460
static int mlx5e_vlan_rx_add_cvid(struct mlx5e_flow_steering *fs, u16 vid)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
464
set_bit(vid, fs->vlan->active_cvlans);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
466
err = mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_CTAG_VID, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
468
clear_bit(vid, fs->vlan->active_cvlans);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
473
static int mlx5e_vlan_rx_add_svid(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
478
set_bit(vid, fs->vlan->active_svlans);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
480
err = mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_STAG_VID, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
482
clear_bit(vid, fs->vlan->active_svlans);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
493
int mlx5e_fs_vlan_rx_add_vid(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
498
if (!fs->vlan) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
499
fs_err(fs, "Vlan doesn't exist\n");
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
504
return mlx5e_vlan_rx_add_cvid(fs, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
506
return mlx5e_vlan_rx_add_svid(fs, netdev, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
511
int mlx5e_fs_vlan_rx_kill_vid(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
515
if (!fs->vlan) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
516
fs_err(fs, "Vlan doesn't exist\n");
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
521
clear_bit(vid, fs->vlan->active_cvlans);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
522
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_CTAG_VID, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
524
clear_bit(vid, fs->vlan->active_svlans);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
525
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_STAG_VID, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
534
static void mlx5e_fs_add_vlan_rules(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
538
mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_UNTAGGED, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
540
for_each_set_bit(i, fs->vlan->active_cvlans, VLAN_N_VID) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
541
mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_CTAG_VID, i);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
544
for_each_set_bit(i, fs->vlan->active_svlans, VLAN_N_VID)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
545
mlx5e_add_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_STAG_VID, i);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
547
if (fs->vlan->cvlan_filter_disabled)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
548
mlx5e_fs_add_any_vid_rules(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
551
static void mlx5e_del_vlan_rules(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
555
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_UNTAGGED, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
557
for_each_set_bit(i, fs->vlan->active_cvlans, VLAN_N_VID) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
558
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_CTAG_VID, i);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
561
for_each_set_bit(i, fs->vlan->active_svlans, VLAN_N_VID)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
562
mlx5e_fs_del_vlan_rule(fs, MLX5E_VLAN_RULE_TYPE_MATCH_STAG_VID, i);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
564
WARN_ON_ONCE(fs->state_destroy);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
566
mlx5e_remove_vlan_trap(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
571
if (fs->vlan->cvlan_filter_disabled)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
572
mlx5e_fs_del_any_vid_rules(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
579
static void mlx5e_execute_l2_action(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
590
mlx5e_add_l2_flow_rule(fs, &hn->ai, MLX5E_FULLMATCH);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
592
l2_err = mlx5_mpfs_add_mac(fs->mdev, mac_addr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
600
l2_err = mlx5_mpfs_del_mac(fs->mdev, mac_addr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
601
mlx5e_del_l2_flow_rule(fs, &hn->ai);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
607
fs_warn(fs, "MPFS, failed to %s mac %pM, err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
612
static void mlx5e_sync_netdev_addr(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
619
mlx5e_add_l2_to_hash(fs->l2.netdev_uc, netdev->dev_addr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
621
mlx5e_add_l2_to_hash(fs->l2.netdev_uc, ha->addr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
624
mlx5e_add_l2_to_hash(fs->l2.netdev_mc, ha->addr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
629
static void mlx5e_fill_addr_array(struct mlx5e_flow_steering *fs, int list_type,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
640
addr_list = is_uc ? fs->l2.netdev_uc : fs->l2.netdev_mc;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
644
else if (fs->l2.broadcast_enabled)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
656
static void mlx5e_vport_context_update_addr_list(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
670
size = is_uc ? 0 : (fs->l2.broadcast_enabled ? 1 : 0);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
672
1 << MLX5_CAP_GEN(fs->mdev, log_max_current_uc_list) :
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
673
1 << MLX5_CAP_GEN(fs->mdev, log_max_current_mc_list);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
675
addr_list = is_uc ? fs->l2.netdev_uc : fs->l2.netdev_mc;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
680
fs_warn(fs, "mdev %s list size (%d) > (%d) max vport list size, some addresses will be dropped\n",
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
691
mlx5e_fill_addr_array(fs, list_type, netdev, addr_array, size);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
694
err = mlx5_modify_nic_vport_mac_list(fs->mdev, list_type, addr_array, size);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
697
fs_err(fs, "Failed to modify vport %s list err(%d)\n",
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
702
static void mlx5e_vport_context_update(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
705
struct mlx5e_l2_table *ea = &fs->l2;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
707
mlx5e_vport_context_update_addr_list(fs, netdev, MLX5_NVPRT_LIST_TYPE_UC);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
708
mlx5e_vport_context_update_addr_list(fs, netdev, MLX5_NVPRT_LIST_TYPE_MC);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
709
mlx5_modify_nic_vport_promisc(fs->mdev, 0,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
714
static void mlx5e_apply_netdev_addr(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
720
mlx5e_for_each_hash_node(hn, tmp, fs->l2.netdev_uc, i)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
721
mlx5e_execute_l2_action(fs, hn);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
723
mlx5e_for_each_hash_node(hn, tmp, fs->l2.netdev_mc, i)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
724
mlx5e_execute_l2_action(fs, hn);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
727
static void mlx5e_handle_netdev_addr(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
734
mlx5e_for_each_hash_node(hn, tmp, fs->l2.netdev_uc, i)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
736
mlx5e_for_each_hash_node(hn, tmp, fs->l2.netdev_mc, i)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
739
if (fs->state_destroy)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
74
static int mlx5e_add_l2_flow_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
740
mlx5e_sync_netdev_addr(fs, netdev);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
742
mlx5e_apply_netdev_addr(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
748
static int mlx5e_add_promisc_rule(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
750
struct mlx5_flow_table *ft = fs->promisc.ft.t;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
76
static void mlx5e_del_l2_flow_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
761
dest.ft = mlx5_get_ttc_flow_table(fs->ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
763
rule_p = &fs->promisc.rule;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
768
fs_err(fs, "add promiscuous rule failed\n");
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
774
static int mlx5e_create_promisc_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
776
struct mlx5e_flow_table *ft = &fs->promisc.ft;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
785
ft->t = mlx5_create_auto_grouped_flow_table(fs->ns, &ft_attr);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
789
fs_err(fs, "fail to create promisc table err=%d\n", err);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
793
err = mlx5e_add_promisc_rule(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
806
static void mlx5e_del_promisc_rule(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
808
if (WARN(!fs->promisc.rule, "Trying to remove non-existing promiscuous rule"))
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
810
mlx5_del_flow_rules(fs->promisc.rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
811
fs->promisc.rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
814
static void mlx5e_destroy_promisc_table(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
816
if (!fs->promisc.ft.t)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
818
mlx5e_del_promisc_rule(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
819
mlx5_destroy_flow_table(fs->promisc.ft.t);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
820
fs->promisc.ft.t = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
823
void mlx5e_fs_set_rx_mode_work(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
826
struct mlx5e_l2_table *ea = &fs->l2;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
828
bool rx_mode_enable = fs->state_destroy;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
842
err = mlx5e_create_promisc_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
845
if (!fs->vlan_strip_disable && !err)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
846
fs_warn_once(fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
850
mlx5e_add_l2_flow_rule(fs, &ea->allmulti, MLX5E_ALLMULTI);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
852
mlx5e_add_l2_flow_rule(fs, &ea->broadcast, MLX5E_FULLMATCH);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
854
mlx5e_handle_netdev_addr(fs, netdev);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
857
mlx5e_del_l2_flow_rule(fs, &ea->broadcast);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
859
mlx5e_del_l2_flow_rule(fs, &ea->allmulti);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
861
mlx5e_destroy_promisc_table(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
867
mlx5e_vport_context_update(fs, netdev);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
882
void mlx5e_fs_init_l2_addr(struct mlx5e_flow_steering *fs, struct net_device *netdev)
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
884
ether_addr_copy(fs->l2.broadcast.addr, netdev->broadcast);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
895
static void mlx5e_set_inner_ttc_params(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
927
void mlx5e_set_ttc_params(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
942
mlx5e_ipsec_rss_supported(fs->mdev);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
956
if (!tunnel || !mlx5_tunnel_inner_ft_supported(fs->mdev))
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
963
mlx5_get_ttc_flow_table(fs->inner_ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
967
static void mlx5e_del_l2_flow_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
976
static int mlx5e_add_l2_flow_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
979
struct mlx5_flow_table *ft = fs->l2.ft.t;
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c
997
dest.ft = mlx5_get_ttc_flow_table(fs->ttc);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
1007
err = mlx5e_ethtool_get_flow(priv, info, info->fs.location);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
233
parse_tcp4(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
235
struct ethtool_tcpip4_spec *l4_mask = &fs->m_u.tcp_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
236
struct ethtool_tcpip4_spec *l4_val = &fs->h_u.tcp_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
246
parse_udp4(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
248
struct ethtool_tcpip4_spec *l4_mask = &fs->m_u.udp_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
249
struct ethtool_tcpip4_spec *l4_val = &fs->h_u.udp_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
259
parse_ip4(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
261
struct ethtool_usrip4_spec *l3_mask = &fs->m_u.usr_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
262
struct ethtool_usrip4_spec *l3_val = &fs->h_u.usr_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
274
parse_ip6(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
276
struct ethtool_usrip6_spec *l3_mask = &fs->m_u.usr_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
277
struct ethtool_usrip6_spec *l3_val = &fs->h_u.usr_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
289
parse_tcp6(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
291
struct ethtool_tcpip6_spec *l4_mask = &fs->m_u.tcp_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
292
struct ethtool_tcpip6_spec *l4_val = &fs->h_u.tcp_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
302
parse_udp6(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
304
struct ethtool_tcpip6_spec *l4_mask = &fs->m_u.udp_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
305
struct ethtool_tcpip6_spec *l4_val = &fs->h_u.udp_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
315
parse_ether(void *headers_c, void *headers_v, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
317
struct ethhdr *eth_mask = &fs->m_u.ether_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
318
struct ethhdr *eth_val = &fs->h_u.ether_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
347
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
353
u32 flow_type = flow_type_mask(fs->flow_type);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
357
parse_tcp4(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
360
parse_udp4(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
363
parse_ip4(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
366
parse_tcp6(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
369
parse_udp6(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
372
parse_ip6(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
375
parse_ether(outer_headers_c, outer_headers_v, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
381
if ((fs->flow_type & FLOW_EXT) &&
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
382
(fs->m_ext.vlan_tci & cpu_to_be16(VLAN_VID_MASK)))
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
383
set_cvlan(outer_headers_c, outer_headers_v, fs->h_ext.vlan_tci);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
385
if (fs->flow_type & FLOW_MAC_EXT &&
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
386
!is_zero_ether_addr(fs->m_ext.h_dest)) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
387
mask_spec(fs->m_ext.h_dest, fs->h_ext.h_dest, ETH_ALEN);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
388
set_dmac(outer_headers_c, outer_headers_v, fs->m_ext.h_dest,
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
389
fs->h_ext.h_dest);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
398
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
424
struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
427
if (fs->flow_type & FLOW_RSS) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
438
flow_type = flow_type_mask(fs->flow_type);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
450
*tirn = mlx5e_rx_res_get_tirn_direct(priv->rx_res, fs->ring_cookie);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
460
struct ethtool_rx_flow_spec *fs, u32 rss_context)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
472
fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
476
if (fs->ring_cookie == RX_CLS_FLOW_DISC) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
485
err = flow_get_tirn(priv, eth_rule, fs, rss_context, &dst->tir_num);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
508
static void del_ethtool_rule(struct mlx5e_flow_steering *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
511
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
525
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
542
del_ethtool_rule(priv->fs, eth_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
558
static int validate_ethter(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
560
struct ethhdr *eth_mask = &fs->m_u.ether_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
572
static int validate_tcpudp4(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
574
struct ethtool_tcpip4_spec *l4_mask = &fs->m_u.tcp_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
592
static int validate_ip4(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
594
struct ethtool_usrip4_spec *l3_mask = &fs->m_u.usr_ip4_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
598
fs->h_u.usr_ip4_spec.ip_ver != ETH_RX_NFC_IP4)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
610
static int validate_ip6(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
612
struct ethtool_usrip6_spec *l3_mask = &fs->m_u.usr_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
628
static int validate_tcpudp6(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
630
struct ethtool_tcpip6_spec *l4_mask = &fs->m_u.tcp_ip6_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
650
static int validate_vlan(struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
652
if (fs->m_ext.vlan_etype ||
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
653
fs->m_ext.vlan_tci != cpu_to_be16(VLAN_VID_MASK))
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
656
if (fs->m_ext.vlan_tci &&
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
657
(be16_to_cpu(fs->h_ext.vlan_tci) >= VLAN_N_VID))
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
664
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
669
if (fs->location >= MAX_NUM_OF_ETHTOOL_RULES)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
672
if (fs->ring_cookie != RX_CLS_FLOW_DISC)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
673
if (fs->ring_cookie >= priv->channels.params.num_channels)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
676
switch (flow_type_mask(fs->flow_type)) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
678
num_tuples += validate_ethter(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
682
ret = validate_tcpudp4(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
688
ret = validate_ip4(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
695
ret = validate_tcpudp6(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
701
ret = validate_ip6(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
709
if ((fs->flow_type & FLOW_EXT)) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
710
ret = validate_vlan(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
716
if (fs->flow_type & FLOW_MAC_EXT &&
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
717
!is_zero_ether_addr(fs->m_ext.h_dest))
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
725
struct ethtool_rx_flow_spec *fs, u32 rss_context)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
733
num_tuples = validate_flow(priv, fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
740
eth_ft = get_flow_table(priv, fs, num_tuples);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
744
eth_rule = get_ethtool_rule(priv, fs->location);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
750
eth_rule->flow_spec = *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
753
rule = add_ethtool_flow_rule(priv, eth_rule, eth_ft->ft, fs, rss_context);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
764
del_ethtool_rule(priv->fs, eth_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
784
del_ethtool_rule(priv->fs, eth_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
793
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
806
info->fs = eth_rule->flow_spec;
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
82
struct ethtool_rx_flow_spec *fs,
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
85
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
850
void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
852
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
857
del_ethtool_rule(fs, iter);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
860
void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs)
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
862
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(fs);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
94
switch (flow_type_mask(fs->flow_type)) {
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
983
err = mlx5e_ethtool_flow_replace(priv, &cmd->fs, cmd->rss_context);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
986
err = mlx5e_ethtool_flow_remove(priv, cmd->fs.location);
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
999
struct mlx5e_ethtool_steering *ethtool = mlx5e_fs_get_ethtool(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4188
mlx5e_enable_cvlan_filter(priv->fs,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4191
mlx5e_disable_cvlan_filter(priv->fs,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4329
mlx5e_fs_set_vlan_strip_disable(priv->fs, !enable);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4337
mlx5e_fs_set_vlan_strip_disable(priv->fs, enable);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4349
struct mlx5e_flow_steering *fs = priv->fs;
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4354
return mlx5e_fs_vlan_rx_add_vid(fs, dev, proto, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4360
struct mlx5e_flow_steering *fs = priv->fs;
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4365
return mlx5e_fs_vlan_rx_kill_vid(fs, dev, proto, vid);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4375
err = mlx5e_arfs_enable(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4377
err = mlx5e_arfs_disable(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4501
vlan = mlx5e_fs_get_vlan(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5877
struct mlx5e_flow_steering *fs;
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5888
fs = mlx5e_fs_init(priv->profile, mdev,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5891
if (!fs) {
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5897
priv->fs = fs;
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5931
mlx5e_fs_cleanup(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5933
priv->fs = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5966
err = mlx5e_create_flow_steering(priv->fs, priv->rx_res, priv->profile,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
5990
mlx5e_destroy_flow_steering(priv->fs, mlx5e_fs_has_arfs(priv->netdev),
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6006
mlx5e_destroy_flow_steering(priv->fs, mlx5e_fs_has_arfs(priv->netdev),
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6050
mlx5e_fs_init_l2_addr(priv->fs, netdev);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6204
return mlx5e_fs_set_rx_mode_work(priv->fs, priv->netdev);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6401
if (priv->fs)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6402
mlx5e_fs_set_state_destroy(priv->fs,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6474
if (priv->fs)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6475
mlx5e_fs_set_state_destroy(priv->fs,
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6486
if (priv->fs)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
6487
mlx5e_fs_set_state_destroy(priv->fs,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1005
rpriv->root_ft = mlx5_get_ttc_flow_table(mlx5e_fs_get_ttc(priv->fs, false));
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1080
mlx5e_fs_init_l2_addr(priv->fs, priv->netdev);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1109
mlx5e_ethtool_init_steering(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1116
mlx5_destroy_ttc_table(mlx5e_fs_get_ttc(priv->fs, false));
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1123
mlx5e_fs_cleanup(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1124
priv->fs = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1130
mlx5e_ethtool_cleanup_steering(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1133
mlx5_destroy_ttc_table(mlx5e_fs_get_ttc(priv->fs, false));
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
920
priv->fs =
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
924
if (!priv->fs) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
943
priv->fs = mlx5e_fs_init(priv->profile, mdev,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
946
if (!priv->fs) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
960
mlx5e_fs_cleanup(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
962
priv->fs = NULL;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
972
mlx5e_fs_set_ns(priv->fs,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
977
mlx5e_set_ttc_params(priv->fs, priv->rx_res, &ttc_params, false, false);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
983
mlx5e_fs_set_ttc(priv->fs, mlx5_create_ttc_table(priv->mdev, &ttc_params), false);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
984
if (IS_ERR(mlx5e_fs_get_ttc(priv->fs, false))) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
985
err = PTR_ERR(mlx5e_fs_get_ttc(priv->fs, false));
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
1100
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
1240
struct mlx5e_vlan_table *vlan = mlx5e_fs_get_vlan(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
1241
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
1401
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
1419
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
293
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
352
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
387
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
4349
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5154
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5208
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5231
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5238
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5308
mlx5e_tc_debugfs_init(tc, mlx5e_fs_get_debugfs_root(priv->fs));
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5346
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5815
tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
5837
tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
651
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
877
ttc = mlx5e_fs_get_ttc(priv->fs, false);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
968
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
986
struct mlx5e_tc_table *tc = mlx5e_fs_get_tc(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
261
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
263
if (mlx5i_flow_type_mask(fs->flow_type) == ETHER_FLOW)
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
394
mlx5e_fs_set_ns(priv->fs, ns, false);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
395
err = mlx5e_arfs_create_tables(priv->fs, priv->rx_res,
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
403
err = mlx5e_create_ttc_table(priv->fs, priv->rx_res);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
410
mlx5e_ethtool_init_steering(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
415
mlx5e_arfs_destroy_tables(priv->fs, mlx5e_fs_has_arfs(priv->netdev));
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
422
mlx5e_destroy_ttc_table(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
423
mlx5e_arfs_destroy_tables(priv->fs, mlx5e_fs_has_arfs(priv->netdev));
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
424
mlx5e_ethtool_cleanup_steering(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
433
priv->fs = mlx5e_fs_init(priv->profile, mdev,
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
436
if (!priv->fs) {
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
472
mlx5e_fs_cleanup(priv->fs);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
483
mlx5e_fs_cleanup(priv->fs);
drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c
1232
fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c
644
fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c
897
fsp = (struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/netronome/nfp/nfp_net.h
737
} fs;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
1940
list_for_each_entry_safe(entry, tmp, &nn->fs.list, node) {
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
2928
INIT_LIST_HEAD(&nn->fs.list);
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1332
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1339
fs->h_u.tcp_ip4_spec.ip4src = entry->key.sip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1340
fs->h_u.tcp_ip4_spec.ip4dst = entry->key.dip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1341
fs->h_u.tcp_ip4_spec.psrc = entry->key.sport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1342
fs->h_u.tcp_ip4_spec.pdst = entry->key.dport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1343
fs->m_u.tcp_ip4_spec.ip4src = entry->msk.sip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1344
fs->m_u.tcp_ip4_spec.ip4dst = entry->msk.dip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1345
fs->m_u.tcp_ip4_spec.psrc = entry->msk.sport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1346
fs->m_u.tcp_ip4_spec.pdst = entry->msk.dport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1352
fs->h_u.tcp_ip6_spec.ip6src[i] = entry->key.sip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1353
fs->h_u.tcp_ip6_spec.ip6dst[i] = entry->key.dip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1354
fs->m_u.tcp_ip6_spec.ip6src[i] = entry->msk.sip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1355
fs->m_u.tcp_ip6_spec.ip6dst[i] = entry->msk.dip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1357
fs->h_u.tcp_ip6_spec.psrc = entry->key.sport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1358
fs->h_u.tcp_ip6_spec.pdst = entry->key.dport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1359
fs->m_u.tcp_ip6_spec.psrc = entry->msk.sport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1360
fs->m_u.tcp_ip6_spec.pdst = entry->msk.dport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1363
fs->h_u.usr_ip4_spec.ip_ver = ETH_RX_NFC_IP4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1364
fs->h_u.usr_ip4_spec.ip4src = entry->key.sip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1365
fs->h_u.usr_ip4_spec.ip4dst = entry->key.dip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1366
fs->h_u.usr_ip4_spec.proto = entry->key.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1367
fs->m_u.usr_ip4_spec.ip4src = entry->msk.sip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1368
fs->m_u.usr_ip4_spec.ip4dst = entry->msk.dip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1369
fs->m_u.usr_ip4_spec.proto = entry->msk.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1373
fs->h_u.usr_ip6_spec.ip6src[i] = entry->key.sip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1374
fs->h_u.usr_ip6_spec.ip6dst[i] = entry->key.dip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1375
fs->m_u.usr_ip6_spec.ip6src[i] = entry->msk.sip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1376
fs->m_u.usr_ip6_spec.ip6dst[i] = entry->msk.dip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1378
fs->h_u.usr_ip6_spec.l4_proto = entry->key.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1379
fs->m_u.usr_ip6_spec.l4_proto = entry->msk.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1382
fs->h_u.ether_spec.h_proto = entry->key.l3_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1383
fs->m_u.ether_spec.h_proto = entry->msk.l3_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1389
fs->flow_type = entry->flow_type;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1390
fs->ring_cookie = entry->action;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1392
if (fs->flow_type & FLOW_RSS) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1396
fs->ring_cookie |= ETHTOOL_RX_FLOW_SPEC_RING;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1409
if (cmd->fs.location >= NFP_FS_MAX_ENTRY)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1412
list_for_each_entry(entry, &nn->fs.list, node) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1413
if (entry->loc == cmd->fs.location)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1416
if (entry->loc > cmd->fs.location)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1432
list_for_each_entry(entry, &nn->fs.list, node)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1452
cmd->rule_cnt = nn->fs.count;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1518
static int nfp_net_fs_from_ethtool(struct nfp_fs_entry *entry, struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1523
switch (fs->flow_type & ~FLOW_RSS) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1527
entry->msk.sip4 = fs->m_u.tcp_ip4_spec.ip4src;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1528
entry->msk.dip4 = fs->m_u.tcp_ip4_spec.ip4dst;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1529
entry->msk.sport = fs->m_u.tcp_ip4_spec.psrc;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1530
entry->msk.dport = fs->m_u.tcp_ip4_spec.pdst;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1531
entry->key.sip4 = fs->h_u.tcp_ip4_spec.ip4src & entry->msk.sip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1532
entry->key.dip4 = fs->h_u.tcp_ip4_spec.ip4dst & entry->msk.dip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1533
entry->key.sport = fs->h_u.tcp_ip4_spec.psrc & entry->msk.sport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1534
entry->key.dport = fs->h_u.tcp_ip4_spec.pdst & entry->msk.dport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1540
entry->msk.sip6[i] = fs->m_u.tcp_ip6_spec.ip6src[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1541
entry->msk.dip6[i] = fs->m_u.tcp_ip6_spec.ip6dst[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1542
entry->key.sip6[i] = fs->h_u.tcp_ip6_spec.ip6src[i] & entry->msk.sip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1543
entry->key.dip6[i] = fs->h_u.tcp_ip6_spec.ip6dst[i] & entry->msk.dip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1545
entry->msk.sport = fs->m_u.tcp_ip6_spec.psrc;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1546
entry->msk.dport = fs->m_u.tcp_ip6_spec.pdst;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1547
entry->key.sport = fs->h_u.tcp_ip6_spec.psrc & entry->msk.sport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1548
entry->key.dport = fs->h_u.tcp_ip6_spec.pdst & entry->msk.dport;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1551
entry->msk.sip4 = fs->m_u.usr_ip4_spec.ip4src;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1552
entry->msk.dip4 = fs->m_u.usr_ip4_spec.ip4dst;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1553
entry->msk.l4_proto = fs->m_u.usr_ip4_spec.proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1554
entry->key.sip4 = fs->h_u.usr_ip4_spec.ip4src & entry->msk.sip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1555
entry->key.dip4 = fs->h_u.usr_ip4_spec.ip4dst & entry->msk.dip4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1556
entry->key.l4_proto = fs->h_u.usr_ip4_spec.proto & entry->msk.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1560
entry->msk.sip6[i] = fs->m_u.usr_ip6_spec.ip6src[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1561
entry->msk.dip6[i] = fs->m_u.usr_ip6_spec.ip6dst[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1562
entry->key.sip6[i] = fs->h_u.usr_ip6_spec.ip6src[i] & entry->msk.sip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1563
entry->key.dip6[i] = fs->h_u.usr_ip6_spec.ip6dst[i] & entry->msk.dip6[i];
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1565
entry->msk.l4_proto = fs->m_u.usr_ip6_spec.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1566
entry->key.l4_proto = fs->h_u.usr_ip6_spec.l4_proto & entry->msk.l4_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1569
entry->msk.l3_proto = fs->m_u.ether_spec.h_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1570
entry->key.l3_proto = fs->h_u.ether_spec.h_proto & entry->msk.l3_proto;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1576
switch (fs->flow_type & ~FLOW_RSS) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1594
entry->flow_type = fs->flow_type;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1595
entry->action = fs->ring_cookie;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1596
entry->loc = fs->location;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1605
list_for_each_entry(entry, &nn->fs.list, node) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1619
struct ethtool_rx_flow_spec *fs = &cmd->fs;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1628
if ((fs->flow_type & FLOW_RSS) && cmd->rss_context)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1631
if (fs->location >= NFP_FS_MAX_ENTRY)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1634
if (fs->ring_cookie != RX_CLS_FLOW_DISC &&
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1635
fs->ring_cookie >= nn->dp.num_rx_rings)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1639
switch (fs->flow_type & ~FLOW_RSS) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1643
unsupp_mask = !!fs->m_u.tcp_ip4_spec.tos;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1648
unsupp_mask = !!fs->m_u.tcp_ip6_spec.tclass;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1651
unsupp_mask = !!fs->m_u.usr_ip4_spec.l4_4_bytes ||
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1652
!!fs->m_u.usr_ip4_spec.tos ||
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1653
!!fs->m_u.usr_ip4_spec.ip_ver;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1655
unsupp_mask |= fs->h_u.usr_ip4_spec.ip_ver != ETH_RX_NFC_IP4;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1658
unsupp_mask = !!fs->m_u.usr_ip6_spec.l4_4_bytes ||
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1659
!!fs->m_u.usr_ip6_spec.tclass;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1662
if (fs->h_u.ether_spec.h_proto == htons(ETH_P_IP) ||
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1663
fs->h_u.ether_spec.h_proto == htons(ETH_P_IPV6)) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1668
unsupp_mask = !is_zero_ether_addr(fs->m_u.ether_spec.h_dest) ||
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1669
!is_zero_ether_addr(fs->m_u.ether_spec.h_source) ||
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1670
(fs->m_u.ether_spec.h_proto != htons(0xffff));
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1683
nfp_net_fs_from_ethtool(new, fs);
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1693
list_for_each_entry(entry, &nn->fs.list, node) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1694
if (entry->loc == fs->location) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1699
nn->fs.count--;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1704
nn->fs.count++;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1711
if (entry->loc > fs->location)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1715
if (nn->fs.count == NFP_FS_MAX_ENTRY) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1725
nn->fs.count++;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1742
if (!nn->fs.count || cmd->fs.location >= NFP_FS_MAX_ENTRY)
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1745
list_for_each_entry(entry, &nn->fs.list, node) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1746
if (entry->loc == cmd->fs.location) {
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1753
nn->fs.count--;
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
1756
} else if (entry->loc > cmd->fs.location) {
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1351
rc = qede_delete_flow_filter(edev, info->fs.location);
drivers/net/ethernet/qlogic/qede/qede_filter.c
1317
struct ethtool_rx_flow_spec *fsp = &cmd->fs;
drivers/net/ethernet/qlogic/qede/qede_filter.c
1498
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/qlogic/qede/qede_filter.c
1500
if (fs->flow_type & FLOW_MAC_EXT) {
drivers/net/ethernet/qlogic/qede/qede_filter.c
1505
if ((fs->flow_type & FLOW_EXT) &&
drivers/net/ethernet/qlogic/qede/qede_filter.c
1506
(fs->h_ext.vlan_etype || fs->h_ext.vlan_tci)) {
drivers/net/ethernet/qlogic/qede/qede_filter.c
1511
if ((fs->flow_type & FLOW_EXT) &&
drivers/net/ethernet/qlogic/qede/qede_filter.c
1512
(fs->h_ext.data[0] || fs->h_ext.data[1])) {
drivers/net/ethernet/qlogic/qede/qede_filter.c
1606
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/qlogic/qede/qede_filter.c
1608
if (fs->ring_cookie == RX_CLS_FLOW_DISC) {
drivers/net/ethernet/qlogic/qede/qede_filter.c
1613
n->vfid = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
drivers/net/ethernet/qlogic/qede/qede_filter.c
1614
n->rxq_id = ethtool_get_flow_spec_ring(fs->ring_cookie);
drivers/net/ethernet/qlogic/qede/qede_filter.c
1991
struct ethtool_rx_flow_spec *fs)
drivers/net/ethernet/qlogic/qede/qede_filter.c
1999
err = qede_flow_spec_validate_unused(edev, fs);
drivers/net/ethernet/qlogic/qede/qede_filter.c
2003
switch ((fs->flow_type & ~FLOW_EXT)) {
drivers/net/ethernet/qlogic/qede/qede_filter.c
2014
"Can't support flow of type %08x\n", fs->flow_type);
drivers/net/ethernet/qlogic/qede/qede_filter.c
2018
input.fs = fs;
drivers/net/ethernet/qlogic/qede/qede_filter.c
2029
fs->location, &extack);
drivers/net/ethernet/qlogic/qede/qede_filter.c
2040
struct ethtool_rx_flow_spec *fsp = &info->fs;
drivers/net/ethernet/sfc/ethtool_common.c
1135
return efx_ethtool_set_class_rule(efx, &info->fs,
drivers/net/ethernet/sfc/ethtool_common.c
1140
info->fs.location);
drivers/net/ethernet/sfc/ethtool_common.c
880
rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context);
drivers/net/ethernet/sfc/ethtool_common.c
883
if (info->fs.flow_type & FLOW_RSS)
drivers/net/ethernet/sfc/falcon/ethtool.c
1003
return ef4_ethtool_get_class_rule(efx, &info->fs);
drivers/net/ethernet/sfc/falcon/ethtool.c
1245
return ef4_ethtool_set_class_rule(efx, &info->fs);
drivers/net/ethernet/sfc/falcon/ethtool.c
1249
info->fs.location);
drivers/net/ethernet/sfc/siena/ethtool_common.c
1126
return efx_ethtool_set_class_rule(efx, &info->fs,
drivers/net/ethernet/sfc/siena/ethtool_common.c
1131
info->fs.location);
drivers/net/ethernet/sfc/siena/ethtool_common.c
871
rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context);
drivers/net/ethernet/sfc/siena/ethtool_common.c
874
if (info->fs.flow_type & FLOW_RSS)
drivers/net/ethernet/sun/niu.c
7195
struct ethtool_rx_flow_spec *fsp = &nfc->fs;
drivers/net/ethernet/sun/niu.c
7200
idx = tcam_get_index(np, (u16)nfc->fs.location);
drivers/net/ethernet/sun/niu.c
7205
parent->index, (u16)nfc->fs.location, idx);
drivers/net/ethernet/sun/niu.c
7458
struct ethtool_rx_flow_spec *fsp = &nfc->fs;
drivers/net/ethernet/sun/niu.c
7468
idx = nfc->fs.location;
drivers/net/ethernet/sun/niu.c
7683
ret = niu_del_ethtool_tcam_entry(np, cmd->fs.location);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
111
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
354
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
511
(struct ethtool_rx_flow_spec *)&cmd->fs;
drivers/net/fddi/skfp/ess.c
113
int fs)
drivers/net/fddi/skfp/ess.c
126
local = ((fs & L_INDICATOR) != 0) ;
drivers/net/fddi/skfp/ess.c
133
return fs;
drivers/net/fddi/skfp/ess.c
145
return fs;
drivers/net/fddi/skfp/ess.c
173
return fs;
drivers/net/fddi/skfp/ess.c
178
return fs;
drivers/net/fddi/skfp/ess.c
197
return fs | I_INDICATOR;
drivers/net/fddi/skfp/ess.c
200
return fs;
drivers/net/fddi/skfp/ess.c
210
return fs;
drivers/net/fddi/skfp/ess.c
219
return fs;
drivers/net/fddi/skfp/ess.c
240
return fs;
drivers/net/fddi/skfp/ess.c
249
return fs;
drivers/net/fddi/skfp/ess.c
255
return fs;
drivers/net/fddi/skfp/ess.c
267
return fs;
drivers/net/fddi/skfp/ess.c
279
return fs;
drivers/net/fddi/skfp/ess.c
287
return fs;
drivers/net/fddi/skfp/ess.c
299
return fs;
drivers/net/fddi/skfp/ess.c
319
return fs;
drivers/net/fddi/skfp/ess.c
326
return fs;
drivers/net/fddi/skfp/ess.c
338
return fs;
drivers/net/fddi/skfp/ess.c
349
return fs;
drivers/net/fddi/skfp/ess.c
357
return fs;
drivers/net/fddi/skfp/ess.c
368
return fs;
drivers/net/fddi/skfp/ess.c
99
int fs);
drivers/net/fddi/skfp/h/cmtdef.h
517
void smt_received_pack(struct s_smc *smc, SMbuf *mb, int fs);
drivers/net/fddi/skfp/h/cmtdef.h
620
int fs);
drivers/net/fddi/skfp/smt.c
460
void smt_received_pack(struct s_smc *smc, SMbuf *mb, int fs)
drivers/net/fddi/skfp/smt.c
481
local = ((fs & L_INDICATOR) != 0) ;
drivers/net/fddi/skfp/smt.c
518
if ( (fs & A_INDICATOR) && m_fc(mb) == FC_SMT_NSA) {
drivers/net/fddi/skfp/smt.c
573
if (!(fs & C_INDICATOR) && m_fc(mb) == FC_SMT_NSA
drivers/net/fddi/skfp/smt.c
609
((!(fs & A_INDICATOR) && m_fc(mb) == FC_SMT_NSA) ||
drivers/net/fddi/skfp/smt.c
622
if (fs & A_INDICATOR) {
drivers/net/fddi/skfp/smt.c
746
fs = ess_raf_received_pack(smc,mb,sm,fs) ;
drivers/net/fddi/skfp/smt.c
751
sba_raf_received_pack(smc,sm,fs) ;
drivers/net/mctp/mctp-i2c.c
493
enum mctp_i2c_flow_state fs;
drivers/net/mctp/mctp-i2c.c
499
fs = mctp_i2c_get_tx_flow_state(midev, skb);
drivers/net/mctp/mctp-i2c.c
528
switch (fs) {
drivers/net/phy/phylink.c
3359
struct fixed_phy_status fs;
drivers/net/phy/phylink.c
3363
fs.link = state->link;
drivers/net/phy/phylink.c
3364
fs.speed = state->speed;
drivers/net/phy/phylink.c
3365
fs.duplex = state->duplex;
drivers/net/phy/phylink.c
3366
fs.pause = test_bit(ETHTOOL_LINK_MODE_Pause_BIT, lpa);
drivers/net/phy/phylink.c
3367
fs.asym_pause = test_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, lpa);
drivers/net/phy/phylink.c
3369
val = swphy_read_reg(reg, &fs);
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
147
u32 fs:1;
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
204
u32 fs:1;
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
287
u32 fs:1;
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
341
u32 fs:1;
drivers/net/wireless/realtek/rtw88/main.h
624
bool fs;
drivers/net/wireless/realtek/rtw89/pci.c
193
rx_info->fs = le32_get_bits(info, RTW89_PCI_RXBD_FS);
drivers/net/wireless/realtek/rtw89/pci.c
278
rtw89_skb_put_rx_data(struct rtw89_dev *rtwdev, bool fs, bool ls,
drivers/net/wireless/realtek/rtw89/pci.c
289
rx_info->len, desc_info->pkt_size, offset, fs, ls);
drivers/net/wireless/realtek/rtw89/pci.c
293
if (fs && ls) {
drivers/net/wireless/realtek/rtw89/pci.c
334
bool fs, ls;
drivers/net/wireless/realtek/rtw89/pci.c
348
fs = info->no_rxbd_fs ? !new : rx_info->fs;
drivers/net/wireless/realtek/rtw89/pci.c
351
if (unlikely(!fs || !ls))
drivers/net/wireless/realtek/rtw89/pci.c
354
fs, ls, rx_info->tag, rx_info->len, new ? new->len : 0);
drivers/net/wireless/realtek/rtw89/pci.c
356
if (fs) {
drivers/net/wireless/realtek/rtw89/pci.c
384
if (!rtw89_skb_put_rx_data(rtwdev, fs, ls, new, skb, offset, rx_info, desc_info))
drivers/net/wireless/realtek/rtw89/pci.c
672
if (!rx_info->fs || !rx_info->ls) {
drivers/net/wireless/realtek/rtw89/pci.h
1451
u32 fs:1, ls:1, tag:13, len:14;
drivers/pinctrl/pinctrl-eic7700.c
489
u32 fs, value;
drivers/pinctrl/pinctrl-eic7700.c
494
for (fs = 0; fs < EIC7700_FUNCTIONS_PER_PIN; fs++)
drivers/pinctrl/pinctrl-eic7700.c
495
if (pin_data->functions[fs] == func_selector)
drivers/pinctrl/pinctrl-eic7700.c
498
if (fs == EIC7700_FUNCTIONS_PER_PIN) {
drivers/pinctrl/pinctrl-eic7700.c
507
value |= FIELD_PREP(EIC7700_FUNC_SEL, fs);
drivers/pinctrl/pinctrl-eic7700.c
564
for (unsigned int fs = 0; fs < EIC7700_FUNCTIONS_PER_PIN; fs++) {
drivers/pinctrl/pinctrl-eic7700.c
565
unsigned int selector = pin_data->functions[fs];
drivers/pinctrl/pinctrl-eic7700.c
601
for (unsigned int fs = 0; fs < EIC7700_FUNCTIONS_PER_PIN; fs++) {
drivers/pinctrl/pinctrl-eic7700.c
602
unsigned int selector = pin_data->functions[fs];
drivers/pinctrl/starfive/pinctrl-starfive-jh7110-sys.c
289
const struct jh7110_func_sel *fs = &jh7110_sys_func_sel[pin];
drivers/pinctrl/starfive/pinctrl-starfive-jh7110-sys.c
294
if (!fs->offset)
drivers/pinctrl/starfive/pinctrl-starfive-jh7110-sys.c
297
if (func > fs->max)
drivers/pinctrl/starfive/pinctrl-starfive-jh7110-sys.c
300
reg = sfp->base + fs->offset;
drivers/pinctrl/starfive/pinctrl-starfive-jh7110-sys.c
301
func = func << fs->shift;
drivers/pinctrl/starfive/pinctrl-starfive-jh7110-sys.c
302
mask = 0x3U << fs->shift;
drivers/ps3/ps3av.c
407
int ps3av_set_audio_mode(u32 ch, u32 fs, u32 word_bits, u32 format, u32 source)
drivers/ps3/ps3av.c
437
fs, word_bits, format, source);
drivers/ps3/ps3av.c
710
i, audio->type, audio->max_num_of_ch, audio->fs,
drivers/ps3/ps3av_cmd.c
466
u32 fs;
drivers/ps3/ps3av_cmd.c
477
static u8 ps3av_cnv_mclk(u32 fs)
drivers/ps3/ps3av_cmd.c
482
if (ps3av_cnv_mclk_table[i].fs == fs)
drivers/ps3/ps3av_cmd.c
485
printk(KERN_ERR "%s failed, fs:%x\n", __func__, fs);
drivers/ps3/ps3av_cmd.c
501
static void ps3av_cnv_ns(u8 *ns, u32 fs, u32 video_vid)
drivers/ps3/ps3av_cmd.c
537
if (fs < PS3AV_CMD_AUDIO_FS_44K || fs > PS3AV_CMD_AUDIO_FS_192K)
drivers/ps3/ps3av_cmd.c
538
printk(KERN_ERR "%s failed, fs:%x\n", __func__, fs);
drivers/ps3/ps3av_cmd.c
667
u32 ch, u32 fs, u32 word_bits, u32 format,
drivers/ps3/ps3av_cmd.c
673
if (!(ch | fs | format | word_bits | source)) {
drivers/ps3/ps3av_cmd.c
675
fs = PS3AV_CMD_AUDIO_FS_48K;
drivers/ps3/ps3av_cmd.c
688
audio->audio_fs = fs;
drivers/ps3/ps3av_cmd.c
744
switch (fs) {
drivers/scsi/esas2r/esas2r.h
1063
struct esas2r_ioctl_fs *fs,
drivers/scsi/esas2r/esas2r_flash.c
830
struct esas2r_ioctl_fs *fs =
drivers/scsi/esas2r/esas2r_flash.c
836
fs->driver_error = rq->req_stat;
drivers/scsi/esas2r/esas2r_flash.c
838
if (fs->driver_error == RS_SUCCESS)
drivers/scsi/esas2r/esas2r_flash.c
839
fs->status = ATTO_STS_SUCCESS;
drivers/scsi/esas2r/esas2r_flash.c
841
fs->status = ATTO_STS_FAILED;
drivers/scsi/esas2r/esas2r_flash.c
846
struct esas2r_ioctl_fs *fs,
drivers/scsi/esas2r/esas2r_flash.c
851
struct esas2r_ioctlfs_command *fsc = &fs->command;
drivers/scsi/esas2r/esas2r_flash.c
855
fs->status = ATTO_STS_FAILED;
drivers/scsi/esas2r/esas2r_flash.c
856
fs->driver_error = RS_PENDING;
drivers/scsi/esas2r/esas2r_flash.c
858
if (fs->version > ESAS2R_FS_VER) {
drivers/scsi/esas2r/esas2r_flash.c
859
fs->status = ATTO_STS_INV_VERSION;
drivers/scsi/esas2r/esas2r_flash.c
864
fs->status = ATTO_STS_INV_FUNC;
drivers/scsi/esas2r/esas2r_flash.c
870
fs->status = ATTO_STS_INV_FUNC;
drivers/scsi/esas2r/esas2r_flash.c
876
|| fs->adap_type != ESAS2R_FS_AT_ESASRAID2)
drivers/scsi/esas2r/esas2r_flash.c
878
|| fs->adap_type != ESAS2R_FS_AT_TSSASRAID2)
drivers/scsi/esas2r/esas2r_flash.c
880
|| fs->adap_type != ESAS2R_FS_AT_TSSASRAID2E)
drivers/scsi/esas2r/esas2r_flash.c
882
|| fs->adap_type != ESAS2R_FS_AT_TLSASHBA)) {
drivers/scsi/esas2r/esas2r_flash.c
883
fs->status = ATTO_STS_INV_ADAPTER;
drivers/scsi/esas2r/esas2r_flash.c
887
if (fs->driver_ver > ESAS2R_FS_DRVR_VER) {
drivers/scsi/esas2r/esas2r_flash.c
888
fs->status = ATTO_STS_INV_DRVR_VER;
drivers/scsi/esas2r/esas2r_flash.c
894
fs->status = ATTO_STS_DEGRADED;
drivers/scsi/esas2r/esas2r_flash.c
899
rq->interrupt_cx = fs;
drivers/scsi/esas2r/esas2r_flash.c
911
fs->status = ATTO_STS_INV_FUNC;
drivers/scsi/esas2r/esas2r_flash.c
919
fs->status = ATTO_STS_OUT_OF_RSRC;
drivers/scsi/esas2r/esas2r_ioctl.c
1931
struct esas2r_ioctl_fs *fs =
drivers/scsi/esas2r/esas2r_ioctl.c
1933
u32 offset = (u8 *)sgc->cur_offset - (u8 *)fs;
drivers/scsi/esas2r/esas2r_ioctl.c
1949
struct esas2r_ioctl_fs *fs =
drivers/scsi/esas2r/esas2r_ioctl.c
1955
fs->status = ATTO_STS_OUT_OF_RSRC;
drivers/scsi/esas2r/esas2r_ioctl.c
1977
sgc.cur_offset = fs->data;
drivers/scsi/esas2r/esas2r_ioctl.c
1982
if (!esas2r_process_fs_ioctl(a, fs, rq, &sgc)) {
drivers/scsi/esas2r/esas2r_ioctl.c
1983
if (fs->status == ATTO_STS_OUT_OF_RSRC)
drivers/scsi/esas2r/esas2r_ioctl.c
2024
struct esas2r_ioctl_fs *fs = (struct esas2r_ioctl_fs *)buf;
drivers/scsi/esas2r/esas2r_ioctl.c
2025
u32 length = fs->command.length + offsetof(
drivers/scsi/esas2r/esas2r_ioctl.c
2034
if (fs->command.command == ESAS2R_FS_CMD_BEGINW)
drivers/scsi/esas2r/esas2r_main.c
221
ESAS2R_RW_BIN_ATTR(fs);
drivers/scsi/lpfc/lpfc_hw.h
4106
uint32_t fs:1;
drivers/scsi/lpfc/lpfc_hw.h
4116
uint32_t fs:1;
drivers/spi/spi-sh-msiof.c
299
unsigned int fs)
drivers/spi/spi-sh-msiof.c
305
sh_msiof_write(p, SITFDR, buf_8[k] << fs);
drivers/spi/spi-sh-msiof.c
310
unsigned int fs)
drivers/spi/spi-sh-msiof.c
316
sh_msiof_write(p, SITFDR, buf_16[k] << fs);
drivers/spi/spi-sh-msiof.c
321
unsigned int fs)
drivers/spi/spi-sh-msiof.c
327
sh_msiof_write(p, SITFDR, get_unaligned(&buf_16[k]) << fs);
drivers/spi/spi-sh-msiof.c
332
unsigned int fs)
drivers/spi/spi-sh-msiof.c
338
sh_msiof_write(p, SITFDR, buf_32[k] << fs);
drivers/spi/spi-sh-msiof.c
343
unsigned int fs)
drivers/spi/spi-sh-msiof.c
349
sh_msiof_write(p, SITFDR, get_unaligned(&buf_32[k]) << fs);
drivers/spi/spi-sh-msiof.c
354
unsigned int fs)
drivers/spi/spi-sh-msiof.c
360
sh_msiof_write(p, SITFDR, swab32(buf_32[k] << fs));
drivers/spi/spi-sh-msiof.c
365
unsigned int words, unsigned int fs)
drivers/spi/spi-sh-msiof.c
371
sh_msiof_write(p, SITFDR, swab32(get_unaligned(&buf_32[k]) << fs));
drivers/spi/spi-sh-msiof.c
376
unsigned int fs)
drivers/spi/spi-sh-msiof.c
382
buf_8[k] = sh_msiof_read(p, SIRFDR) >> fs;
drivers/spi/spi-sh-msiof.c
387
unsigned int fs)
drivers/spi/spi-sh-msiof.c
393
buf_16[k] = sh_msiof_read(p, SIRFDR) >> fs;
drivers/spi/spi-sh-msiof.c
398
unsigned int fs)
drivers/spi/spi-sh-msiof.c
404
put_unaligned(sh_msiof_read(p, SIRFDR) >> fs, &buf_16[k]);
drivers/spi/spi-sh-msiof.c
409
unsigned int fs)
drivers/spi/spi-sh-msiof.c
415
buf_32[k] = sh_msiof_read(p, SIRFDR) >> fs;
drivers/spi/spi-sh-msiof.c
420
unsigned int fs)
drivers/spi/spi-sh-msiof.c
426
put_unaligned(sh_msiof_read(p, SIRFDR) >> fs, &buf_32[k]);
drivers/spi/spi-sh-msiof.c
431
unsigned int fs)
drivers/spi/spi-sh-msiof.c
437
buf_32[k] = swab32(sh_msiof_read(p, SIRFDR) >> fs);
drivers/spi/spi-sh-msiof.c
442
unsigned int fs)
drivers/spi/spi-sh-msiof.c
448
put_unaligned(swab32(sh_msiof_read(p, SIRFDR) >> fs), &buf_32[k]);
drivers/staging/octeon/ethernet-tx.c
271
skb_frag_t *fs = skb_shinfo(skb)->frags + i;
drivers/staging/octeon/ethernet-tx.c
274
XKPHYS_TO_PHYS((uintptr_t)skb_frag_address(fs));
drivers/staging/octeon/ethernet-tx.c
275
hw_buffer.s.size = skb_frag_size(fs);
drivers/usb/gadget/config.c
107
struct usb_descriptor_header **fs,
drivers/usb/gadget/config.c
120
if (fs) {
drivers/usb/gadget/config.c
121
f->fs_descriptors = usb_copy_descriptors(fs);
drivers/usb/gadget/function/f_printer.c
211
struct usb_endpoint_descriptor *fs,
drivers/usb/gadget/function/f_printer.c
222
return fs;
fs/cachefiles/daemon.c
653
get_fs_pwd(current->fs, &path);
fs/cachefiles/daemon.c
724
get_fs_pwd(current->fs, &path);
fs/coredump.c
927
get_fs_root(init_task.fs, &root);
fs/d_path.c
239
static void get_fs_root_rcu(struct fs_struct *fs, struct path *root)
fs/d_path.c
244
seq = read_seqbegin(&fs->seq);
fs/d_path.c
245
*root = fs->root;
fs/d_path.c
246
} while (read_seqretry(&fs->seq, seq));
fs/d_path.c
286
get_fs_root_rcu(current->fs, &root);
fs/d_path.c
382
static void get_fs_root_and_pwd_rcu(struct fs_struct *fs, struct path *root,
fs/d_path.c
388
seq = read_seqbegin(&fs->seq);
fs/d_path.c
389
*root = fs->root;
fs/d_path.c
390
*pwd = fs->pwd;
fs/d_path.c
391
} while (read_seqretry(&fs->seq, seq));
fs/d_path.c
422
get_fs_root_and_pwd_rcu(current->fs, &root, &pwd);
fs/exec.c
1119
current->fs->in_exec = 0;
fs/exec.c
1381
current->fs->in_exec = 0;
fs/exec.c
1512
read_seqlock_excl(&p->fs->seq);
fs/exec.c
1515
if (t->fs == p->fs)
fs/exec.c
1521
if (p->fs->users > n_fs)
fs/exec.c
1524
p->fs->in_exec = 1;
fs/exec.c
1525
read_sequnlock_excl(&p->fs->seq);
fs/exfat/super.c
838
sbi->options.fs_fmask = current->fs->umask;
fs/exfat/super.c
839
sbi->options.fs_dmask = current->fs->umask;
fs/fhandle.c
182
get_fs_pwd(current->fs, root);
fs/filesystems.c
108
int unregister_filesystem(struct file_system_type * fs)
fs/filesystems.c
115
if (fs == *tmp) {
fs/filesystems.c
116
*tmp = fs->next;
fs/filesystems.c
117
fs->next = NULL;
fs/filesystems.c
264
struct file_system_type *fs;
fs/filesystems.c
267
fs = *(find_filesystem(name, len));
fs/filesystems.c
268
if (fs && !try_module_get(fs->owner))
fs/filesystems.c
269
fs = NULL;
fs/filesystems.c
271
return fs;
fs/filesystems.c
276
struct file_system_type *fs;
fs/filesystems.c
280
fs = __get_fs_type(name, len);
fs/filesystems.c
281
if (!fs && (request_module("fs-%.*s", len, name) == 0)) {
fs/filesystems.c
282
fs = __get_fs_type(name, len);
fs/filesystems.c
283
if (!fs)
fs/filesystems.c
288
if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) {
fs/filesystems.c
289
put_filesystem(fs);
fs/filesystems.c
290
fs = NULL;
fs/filesystems.c
292
return fs;
fs/filesystems.c
38
struct file_system_type *get_filesystem(struct file_system_type *fs)
fs/filesystems.c
40
__module_get(fs->owner);
fs/filesystems.c
41
return fs;
fs/filesystems.c
44
void put_filesystem(struct file_system_type *fs)
fs/filesystems.c
46
module_put(fs->owner);
fs/filesystems.c
72
int register_filesystem(struct file_system_type * fs)
fs/filesystems.c
77
if (fs->parameters &&
fs/filesystems.c
78
!fs_validate_description(fs->name, fs->parameters))
fs/filesystems.c
81
BUG_ON(strchr(fs->name, '.'));
fs/filesystems.c
82
if (fs->next)
fs/filesystems.c
85
p = find_filesystem(fs->name, strlen(fs->name));
fs/filesystems.c
89
*p = fs;
fs/fs_struct.c
100
read_sequnlock_excl(&fs->seq);
fs/fs_struct.c
103
free_fs_struct(fs);
fs/fs_struct.c
109
struct fs_struct *fs = kmem_cache_alloc(fs_cachep, GFP_KERNEL);
fs/fs_struct.c
111
if (fs) {
fs/fs_struct.c
112
fs->users = 1;
fs/fs_struct.c
113
fs->in_exec = 0;
fs/fs_struct.c
114
seqlock_init(&fs->seq);
fs/fs_struct.c
115
fs->umask = old->umask;
fs/fs_struct.c
118
fs->root = old->root;
fs/fs_struct.c
119
path_get(&fs->root);
fs/fs_struct.c
120
fs->pwd = old->pwd;
fs/fs_struct.c
121
path_get(&fs->pwd);
fs/fs_struct.c
124
return fs;
fs/fs_struct.c
129
struct fs_struct *fs = current->fs;
fs/fs_struct.c
130
struct fs_struct *new_fs = copy_fs_struct(fs);
fs/fs_struct.c
137
read_seqlock_excl(&fs->seq);
fs/fs_struct.c
138
kill = !--fs->users;
fs/fs_struct.c
139
current->fs = new_fs;
fs/fs_struct.c
140
read_sequnlock_excl(&fs->seq);
fs/fs_struct.c
144
free_fs_struct(fs);
fs/fs_struct.c
16
void set_fs_root(struct fs_struct *fs, const struct path *path)
fs/fs_struct.c
21
write_seqlock(&fs->seq);
fs/fs_struct.c
22
old_root = fs->root;
fs/fs_struct.c
23
fs->root = *path;
fs/fs_struct.c
24
write_sequnlock(&fs->seq);
fs/fs_struct.c
33
void set_fs_pwd(struct fs_struct *fs, const struct path *path)
fs/fs_struct.c
38
write_seqlock(&fs->seq);
fs/fs_struct.c
39
old_pwd = fs->pwd;
fs/fs_struct.c
40
fs->pwd = *path;
fs/fs_struct.c
41
write_sequnlock(&fs->seq);
fs/fs_struct.c
58
struct fs_struct *fs;
fs/fs_struct.c
64
fs = p->fs;
fs/fs_struct.c
65
if (fs) {
fs/fs_struct.c
67
write_seqlock(&fs->seq);
fs/fs_struct.c
68
hits += replace_path(&fs->root, old_root, new_root);
fs/fs_struct.c
69
hits += replace_path(&fs->pwd, old_root, new_root);
fs/fs_struct.c
74
write_sequnlock(&fs->seq);
fs/fs_struct.c
83
void free_fs_struct(struct fs_struct *fs)
fs/fs_struct.c
85
path_put(&fs->root);
fs/fs_struct.c
86
path_put(&fs->pwd);
fs/fs_struct.c
87
kmem_cache_free(fs_cachep, fs);
fs/fs_struct.c
92
struct fs_struct *fs = tsk->fs;
fs/fs_struct.c
94
if (fs) {
fs/fs_struct.c
97
read_seqlock_excl(&fs->seq);
fs/fs_struct.c
98
tsk->fs = NULL;
fs/fs_struct.c
99
kill = !--fs->users;
fs/fuse/virtio_fs.c
1010
struct virtio_fs *fs = dax_get_private(dax_dev);
fs/fuse/virtio_fs.c
1012
size_t max_nr_pages = fs->window_len / PAGE_SIZE - pgoff;
fs/fuse/virtio_fs.c
1015
*kaddr = fs->window_kaddr + offset;
fs/fuse/virtio_fs.c
1017
*pfn = PHYS_PFN(fs->window_phys_addr + offset);
fs/fuse/virtio_fs.c
1052
static int virtio_fs_setup_dax(struct virtio_device *vdev, struct virtio_fs *fs)
fs/fuse/virtio_fs.c
1062
dax_dev = alloc_dax(fs, &virtio_fs_dax_ops);
fs/fuse/virtio_fs.c
1103
fs->window_kaddr = devm_memremap_pages(&vdev->dev, pgmap);
fs/fuse/virtio_fs.c
1104
if (IS_ERR(fs->window_kaddr))
fs/fuse/virtio_fs.c
1105
return PTR_ERR(fs->window_kaddr);
fs/fuse/virtio_fs.c
1107
fs->window_phys_addr = (phys_addr_t) cache_reg.addr;
fs/fuse/virtio_fs.c
1108
fs->window_len = (phys_addr_t) cache_reg.len;
fs/fuse/virtio_fs.c
1111
__func__, fs->window_kaddr, cache_reg.addr, cache_reg.len);
fs/fuse/virtio_fs.c
1113
fs->dax_dev = no_free_ptr(dax_dev);
fs/fuse/virtio_fs.c
1115
fs->dax_dev);
fs/fuse/virtio_fs.c
1120
struct virtio_fs *fs;
fs/fuse/virtio_fs.c
1123
fs = kzalloc_obj(*fs);
fs/fuse/virtio_fs.c
1124
if (!fs)
fs/fuse/virtio_fs.c
1126
kobject_init(&fs->kobj, &virtio_fs_ktype);
fs/fuse/virtio_fs.c
1127
vdev->priv = fs;
fs/fuse/virtio_fs.c
1129
ret = virtio_fs_read_tag(vdev, fs);
fs/fuse/virtio_fs.c
1133
ret = virtio_fs_setup_vqs(vdev, fs);
fs/fuse/virtio_fs.c
1137
virtio_fs_map_queues(vdev, fs);
fs/fuse/virtio_fs.c
1139
ret = virtio_fs_setup_dax(vdev, fs);
fs/fuse/virtio_fs.c
1148
ret = virtio_fs_add_instance(vdev, fs);
fs/fuse/virtio_fs.c
1160
kobject_put(&fs->kobj);
fs/fuse/virtio_fs.c
1164
static void virtio_fs_stop_all_queues(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
1169
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
1170
fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
1179
struct virtio_fs *fs = vdev->priv;
fs/fuse/virtio_fs.c
1183
list_del_init(&fs->list);
fs/fuse/virtio_fs.c
1184
virtio_fs_delete_queues_sysfs(fs);
fs/fuse/virtio_fs.c
1185
sysfs_remove_link(&fs->kobj, "device");
fs/fuse/virtio_fs.c
1186
kobject_put(fs->mqs_kobj);
fs/fuse/virtio_fs.c
1187
kobject_del(&fs->kobj);
fs/fuse/virtio_fs.c
1188
virtio_fs_stop_all_queues(fs);
fs/fuse/virtio_fs.c
1189
virtio_fs_drain_all_queues_locked(fs);
fs/fuse/virtio_fs.c
1195
virtio_fs_put_locked(fs);
fs/fuse/virtio_fs.c
1238
struct virtio_fs *fs = fiq->priv;
fs/fuse/virtio_fs.c
1239
struct virtio_fs_vq *fsvq = &fs->vqs[VQ_HIPRIO];
fs/fuse/virtio_fs.c
1478
struct virtio_fs *fs;
fs/fuse/virtio_fs.c
1486
fs = fiq->priv;
fs/fuse/virtio_fs.c
1487
queue_id = fs->mq_map[raw_smp_processor_id()];
fs/fuse/virtio_fs.c
1495
fsvq = &fs->vqs[queue_id];
fs/fuse/virtio_fs.c
1544
struct virtio_fs *fs = fc->iq.priv;
fs/fuse/virtio_fs.c
155
struct virtio_fs *fs = vq->vdev->priv;
fs/fuse/virtio_fs.c
1557
if (list_empty(&fs->list)) {
fs/fuse/virtio_fs.c
1558
pr_info("virtio-fs: tag <%s> not found\n", fs->tag);
fs/fuse/virtio_fs.c
1564
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
1565
struct virtio_fs_vq *fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
157
return &fs->vqs[vq->index];
fs/fuse/virtio_fs.c
1575
if (ctx->dax_mode == FUSE_DAX_ALWAYS && !fs->dax_dev) {
fs/fuse/virtio_fs.c
1581
ctx->dax_dev = fs->dax_dev;
fs/fuse/virtio_fs.c
1587
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
1588
struct virtio_fs_vq *fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
1594
virtio_fs_start_all_queues(fs);
fs/fuse/virtio_fs.c
1600
virtio_fs_free_devs(fs);
fs/fuse/virtio_fs.c
1662
struct virtio_fs *fs;
fs/fuse/virtio_fs.c
1676
fs = virtio_fs_find_instance(fsc->source);
fs/fuse/virtio_fs.c
1677
if (!fs) {
fs/fuse/virtio_fs.c
1682
virtqueue_size = virtqueue_get_vring_size(fs->vqs[VQ_REQUEST].vq);
fs/fuse/virtio_fs.c
1695
fuse_conn_init(fc, fm, fsc->user_ns, &virtio_fs_fiq_ops, fs);
fs/fuse/virtio_fs.c
1729
virtio_fs_put(fs);
fs/fuse/virtio_fs.c
1764
const struct virtio_fs *fs = container_of(kobj, struct virtio_fs, kobj);
fs/fuse/virtio_fs.c
1766
add_uevent_var(env, "TAG=%s", fs->tag);
fs/fuse/virtio_fs.c
178
struct virtio_fs *fs = container_of(kobj, struct virtio_fs, kobj);
fs/fuse/virtio_fs.c
180
return sysfs_emit(buf, "%s\n", fs->tag);
fs/fuse/virtio_fs.c
206
static struct virtio_fs_vq *virtio_fs_kobj_to_vq(struct virtio_fs *fs,
fs/fuse/virtio_fs.c
211
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
212
if (kobj == fs->vqs[i].kobj)
fs/fuse/virtio_fs.c
213
return &fs->vqs[i];
fs/fuse/virtio_fs.c
221
struct virtio_fs *fs = container_of(kobj->parent->parent, struct virtio_fs, kobj);
fs/fuse/virtio_fs.c
222
struct virtio_fs_vq *fsvq = virtio_fs_kobj_to_vq(fs, kobj);
fs/fuse/virtio_fs.c
234
struct virtio_fs *fs = container_of(kobj->parent->parent, struct virtio_fs, kobj);
fs/fuse/virtio_fs.c
235
struct virtio_fs_vq *fsvq = virtio_fs_kobj_to_vq(fs, kobj);
fs/fuse/virtio_fs.c
246
if (qid < VQ_REQUEST || (fs->mq_map[cpu] == qid)) {
fs/fuse/virtio_fs.c
275
static void virtio_fs_put_locked(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
279
kobject_put(&fs->kobj);
fs/fuse/virtio_fs.c
282
static void virtio_fs_put(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
285
virtio_fs_put_locked(fs);
fs/fuse/virtio_fs.c
317
static void virtio_fs_drain_all_queues_locked(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
322
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
323
fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
328
static void virtio_fs_drain_all_queues(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
337
virtio_fs_drain_all_queues_locked(fs);
fs/fuse/virtio_fs.c
341
static void virtio_fs_start_all_queues(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
346
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
347
fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
354
static void virtio_fs_delete_queues_sysfs(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
359
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
360
fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
365
static int virtio_fs_add_queues_sysfs(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
371
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
372
fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
375
fsvq->kobj = kobject_create_and_add(buff, fs->mqs_kobj);
fs/fuse/virtio_fs.c
392
fsvq = &fs->vqs[j];
fs/fuse/virtio_fs.c
400
struct virtio_fs *fs)
fs/fuse/virtio_fs.c
408
if (strcmp(fs->tag, fs2->tag) == 0) {
fs/fuse/virtio_fs.c
419
fs->kobj.kset = virtio_fs_kset;
fs/fuse/virtio_fs.c
420
ret = kobject_add(&fs->kobj, NULL, "%d", vdev->index);
fs/fuse/virtio_fs.c
424
fs->mqs_kobj = kobject_create_and_add("mqs", &fs->kobj);
fs/fuse/virtio_fs.c
425
if (!fs->mqs_kobj) {
fs/fuse/virtio_fs.c
430
ret = sysfs_create_link(&fs->kobj, &vdev->dev.kobj, "device");
fs/fuse/virtio_fs.c
434
ret = virtio_fs_add_queues_sysfs(fs);
fs/fuse/virtio_fs.c
438
list_add_tail(&fs->list, &virtio_fs_instances);
fs/fuse/virtio_fs.c
442
kobject_uevent(&fs->kobj, KOBJ_ADD);
fs/fuse/virtio_fs.c
447
sysfs_remove_link(&fs->kobj, "device");
fs/fuse/virtio_fs.c
449
kobject_put(fs->mqs_kobj);
fs/fuse/virtio_fs.c
451
kobject_del(&fs->kobj);
fs/fuse/virtio_fs.c
460
struct virtio_fs *fs;
fs/fuse/virtio_fs.c
464
list_for_each_entry(fs, &virtio_fs_instances, list) {
fs/fuse/virtio_fs.c
465
if (strcmp(fs->tag, tag) == 0) {
fs/fuse/virtio_fs.c
466
kobject_get(&fs->kobj);
fs/fuse/virtio_fs.c
471
fs = NULL; /* not found */
fs/fuse/virtio_fs.c
476
return fs;
fs/fuse/virtio_fs.c
479
static void virtio_fs_free_devs(struct virtio_fs *fs)
fs/fuse/virtio_fs.c
483
for (i = 0; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
484
struct virtio_fs_vq *fsvq = &fs->vqs[i];
fs/fuse/virtio_fs.c
495
static int virtio_fs_read_tag(struct virtio_device *vdev, struct virtio_fs *fs)
fs/fuse/virtio_fs.c
510
fs->tag = devm_kmalloc(&vdev->dev, len + 1, GFP_KERNEL);
fs/fuse/virtio_fs.c
511
if (!fs->tag)
fs/fuse/virtio_fs.c
513
memcpy(fs->tag, tag_buf, len);
fs/fuse/virtio_fs.c
514
fs->tag[len] = '\0';
fs/fuse/virtio_fs.c
520
if (strchr(fs->tag, '\n')) {
fs/fuse/virtio_fs.c
525
dev_info(&vdev->dev, "discovered new tag: %s\n", fs->tag);
fs/fuse/virtio_fs.c
859
static void virtio_fs_map_queues(struct virtio_device *vdev, struct virtio_fs *fs)
fs/fuse/virtio_fs.c
870
for (q = 0; q < fs->num_request_queues; q++) {
fs/fuse/virtio_fs.c
876
fs->mq_map[cpu] = q + VQ_REQUEST;
fs/fuse/virtio_fs.c
882
masks = group_cpus_evenly(fs->num_request_queues, &nr_masks);
fs/fuse/virtio_fs.c
886
fs->mq_map[cpu] = VQ_REQUEST;
fs/fuse/virtio_fs.c
890
for (q = 0; q < fs->num_request_queues; q++) {
fs/fuse/virtio_fs.c
892
fs->mq_map[cpu] = q + VQ_REQUEST;
fs/fuse/virtio_fs.c
929
struct virtio_fs *fs)
fs/fuse/virtio_fs.c
942
&fs->num_request_queues);
fs/fuse/virtio_fs.c
943
if (fs->num_request_queues == 0)
fs/fuse/virtio_fs.c
947
fs->num_request_queues = min_t(unsigned int, fs->num_request_queues,
fs/fuse/virtio_fs.c
949
fs->nvqs = VQ_REQUEST + fs->num_request_queues;
fs/fuse/virtio_fs.c
950
fs->vqs = kzalloc_objs(fs->vqs[VQ_HIPRIO], fs->nvqs);
fs/fuse/virtio_fs.c
951
if (!fs->vqs)
fs/fuse/virtio_fs.c
954
vqs = kmalloc_objs(vqs[VQ_HIPRIO], fs->nvqs);
fs/fuse/virtio_fs.c
955
fs->mq_map = kcalloc_node(nr_cpu_ids, sizeof(*fs->mq_map), GFP_KERNEL,
fs/fuse/virtio_fs.c
957
vqs_info = kzalloc_objs(*vqs_info, fs->nvqs);
fs/fuse/virtio_fs.c
958
if (!vqs || !vqs_info || !fs->mq_map) {
fs/fuse/virtio_fs.c
965
virtio_fs_init_vq(&fs->vqs[VQ_HIPRIO], "hiprio", VQ_HIPRIO);
fs/fuse/virtio_fs.c
966
vqs_info[VQ_HIPRIO].name = fs->vqs[VQ_HIPRIO].name;
fs/fuse/virtio_fs.c
969
for (i = VQ_REQUEST; i < fs->nvqs; i++) {
fs/fuse/virtio_fs.c
973
virtio_fs_init_vq(&fs->vqs[i], vq_name, VQ_REQUEST);
fs/fuse/virtio_fs.c
975
vqs_info[i].name = fs->vqs[i].name;
fs/fuse/virtio_fs.c
978
ret = virtio_find_vqs(vdev, fs->nvqs, vqs, vqs_info, &desc);
fs/fuse/virtio_fs.c
982
for (i = 0; i < fs->nvqs; i++)
fs/fuse/virtio_fs.c
983
fs->vqs[i].vq = vqs[i];
fs/fuse/virtio_fs.c
985
virtio_fs_start_all_queues(fs);
fs/fuse/virtio_fs.c
990
kfree(fs->vqs);
fs/fuse/virtio_fs.c
991
kfree(fs->mq_map);
fs/gfs2/util.h
19
#define fs_emerg(fs, fmt, ...) \
fs/gfs2/util.h
20
pr_emerg("fsid=%s: " fmt, (fs)->sd_fsname, ##__VA_ARGS__)
fs/gfs2/util.h
21
#define fs_warn(fs, fmt, ...) \
fs/gfs2/util.h
22
pr_warn("fsid=%s: " fmt, (fs)->sd_fsname, ##__VA_ARGS__)
fs/gfs2/util.h
23
#define fs_err(fs, fmt, ...) \
fs/gfs2/util.h
24
pr_err("fsid=%s: " fmt, (fs)->sd_fsname, ##__VA_ARGS__)
fs/gfs2/util.h
25
#define fs_info(fs, fmt, ...) \
fs/gfs2/util.h
26
pr_info("fsid=%s: " fmt, (fs)->sd_fsname, ##__VA_ARGS__)
fs/hpfs/anode.c
124
fs = n < 0 ? 0 : le32_to_cpu(btree->u.external[n].file_secno) + le32_to_cpu(btree->u.external[n].length);
fs/hpfs/anode.c
160
btree->u.external[n].file_secno = cpu_to_le32(fs);
fs/hpfs/anode.c
182
btree->u.internal[n-1].file_secno = cpu_to_le32(fs);
fs/hpfs/anode.c
259
btree->u.internal[0].file_secno = cpu_to_le32(fs);
fs/hpfs/anode.c
70
unsigned fs;
fs/init.c
71
set_fs_pwd(current->fs, &path);
fs/init.c
93
set_fs_root(current->fs, &path);
fs/kernel_read_file.c
160
get_fs_root(init_task.fs, &root);
fs/namei.c
1102
struct fs_struct *fs = current->fs;
fs/namei.c
1116
seq = read_seqbegin(&fs->seq);
fs/namei.c
1117
nd->root = fs->root;
fs/namei.c
1119
} while (read_seqretry(&fs->seq, seq));
fs/namei.c
1121
get_fs_root(fs, &nd->root);
fs/namei.c
2726
struct fs_struct *fs = current->fs;
fs/namei.c
2730
seq = read_seqbegin(&fs->seq);
fs/namei.c
2731
nd->path = fs->pwd;
fs/namei.c
2734
} while (read_seqretry(&fs->seq, seq));
fs/namei.c
2736
get_fs_pwd(current->fs, &nd->path);
fs/namespace.c
1881
if (&mnt->mnt == current->fs->root.mnt ||
fs/namespace.c
1923
if (&mnt->mnt == current->fs->root.mnt && !(flags & MNT_DETACH)) {
fs/namespace.c
3546
if (&mnt_to->mnt == current->fs->root.mnt)
fs/namespace.c
4643
get_fs_root(current->fs, &root);
fs/namespace.c
5295
s->sm.propagate_from = get_dominating_id(m, &current->fs->root);
fs/namespace.c
5641
get_fs_root(current->fs, root);
fs/namespace.c
6197
set_fs_pwd(current->fs, &root);
fs/namespace.c
6198
set_fs_root(current->fs, &root);
fs/namespace.c
6297
get_fs_root(current->fs, &fs_root);
fs/namespace.c
6428
struct fs_struct *fs = nsset->fs;
fs/namespace.c
6442
if (fs->users != 1)
fs/namespace.c
6462
set_fs_pwd(fs, &root);
fs/namespace.c
6463
set_fs_root(fs, &root);
fs/nfsd/nfs4proc.c
476
current->fs->umask = open->op_umask;
fs/nfsd/nfs4proc.c
478
current->fs->umask = 0;
fs/nfsd/nfs4proc.c
847
current->fs->umask = create->cr_umask;
fs/nfsd/nfs4proc.c
916
current->fs->umask = 0;
fs/nfsd/nfssvc.c
898
current->fs->umask = 0;
fs/open.c
563
set_fs_pwd(current->fs, &path);
fs/open.c
586
set_fs_pwd(current->fs, &fd_file(f)->f_path);
fs/open.c
610
set_fs_root(current->fs, &path);
fs/overlayfs/inode.c
150
stat->dev = ofs->fs[fsid].pseudo_dev;
fs/overlayfs/namei.c
465
ofs->layers[i].fs->bad_uuid)
fs/overlayfs/ovl_entry.h
38
struct ovl_sb *fs;
fs/overlayfs/ovl_entry.h
65
struct ovl_sb *fs;
fs/overlayfs/params.c
865
free_anon_bdev(ofs->fs[i].pseudo_dev);
fs/overlayfs/params.c
866
kfree(ofs->fs);
fs/overlayfs/super.c
1034
ofs->fs = kzalloc_objs(struct ovl_sb, ctx->nr + 2);
fs/overlayfs/super.c
1035
if (ofs->fs == NULL)
fs/overlayfs/super.c
1050
err = get_anon_bdev(&ofs->fs[0].pseudo_dev);
fs/overlayfs/super.c
1057
ofs->fs[0].sb = ovl_upper_mnt(ofs)->mnt_sb;
fs/overlayfs/super.c
1058
ofs->fs[0].is_lower = false;
fs/overlayfs/super.c
1061
err = ovl_set_encoding(sb, ofs->fs[0].sb);
fs/overlayfs/super.c
1118
layers[ofs->numlayer].fs = &ofs->fs[fsid];
fs/overlayfs/super.c
1123
ofs->fs[fsid].is_lower = true;
fs/overlayfs/super.c
1127
err = ovl_set_encoding(sb, ofs->fs[fsid].sb);
fs/overlayfs/super.c
942
if (ofs->fs[i].is_lower &&
fs/overlayfs/super.c
943
ovl_uuid_match(ofs, ofs->fs[i].sb, uuid)) {
fs/overlayfs/super.c
944
ofs->fs[i].bad_uuid = true;
fs/overlayfs/super.c
963
if (ofs->fs[i].sb == sb)
fs/overlayfs/super.c
991
ofs->fs[ofs->numfs].sb = sb;
fs/overlayfs/super.c
992
ofs->fs[ofs->numfs].pseudo_dev = dev;
fs/overlayfs/super.c
993
ofs->fs[ofs->numfs].bad_uuid = bad_uuid;
fs/proc/array.c
171
if (p->fs)
fs/proc/array.c
172
umask = p->fs->umask;
fs/proc/base.c
213
if (task->fs) {
fs/proc/base.c
214
get_fs_root(task->fs, root);
fs/proc/base.c
228
if (task->fs) {
fs/proc/base.c
229
get_fs_pwd(task->fs, path);
fs/proc/task_nommu.c
55
if (current->fs && current->fs->users > 1)
fs/proc/task_nommu.c
56
sbytes += kobjsize(current->fs);
fs/proc/task_nommu.c
58
bytes += kobjsize(current->fs);
fs/proc_namespace.c
257
if (!task->fs) {
fs/proc_namespace.c
263
get_fs_root(task->fs, &root);
fs/super.c
473
struct file_system_type *fs = s->s_type;
fs/super.c
476
fs->kill_sb(s);
fs/super.c
488
put_filesystem(fs);
fs/xfs/libxfs/xfs_fs.h
1128
struct xfs_health_monitor_fs fs;
fs/xfs/xfs_healthmon.c
775
hme.e.fs.mask = xfs_healthmon_fs_mask(event->fsmask);
include/hyperv/hvgdk_mini.h
864
struct hv_x64_segment_register fs;
include/hyperv/hvhdk.h
102
struct hv_x64_segment_register fs;
include/linux/ethtool.h
1316
const struct ethtool_rx_flow_spec *fs;
include/linux/ethtool.h
42
struct compat_ethtool_rx_flow_spec fs;
include/linux/fdtable.h
102
void put_files_struct(struct files_struct *fs);
include/linux/fs.h
3206
extern struct file_system_type *get_filesystem(struct file_system_type *fs);
include/linux/fs.h
3207
extern void put_filesystem(struct file_system_type *fs);
include/linux/fs_struct.h
27
static inline void get_fs_root(struct fs_struct *fs, struct path *root)
include/linux/fs_struct.h
29
read_seqlock_excl(&fs->seq);
include/linux/fs_struct.h
30
*root = fs->root;
include/linux/fs_struct.h
32
read_sequnlock_excl(&fs->seq);
include/linux/fs_struct.h
35
static inline void get_fs_pwd(struct fs_struct *fs, struct path *pwd)
include/linux/fs_struct.h
37
read_seqlock_excl(&fs->seq);
include/linux/fs_struct.h
38
*pwd = fs->pwd;
include/linux/fs_struct.h
40
read_sequnlock_excl(&fs->seq);
include/linux/fs_struct.h
47
return current->fs->umask;
include/linux/iio/common/st_sensors.h
213
struct st_sensor_fullscale fs;
include/linux/nsproxy.h
57
struct fs_struct *fs;
include/linux/sched.h
1182
struct fs_struct *fs;
include/linux/usb/gadget.h
908
struct usb_descriptor_header **fs,
include/math-emu/op-1.h
100
union _FP_UNION_##fs _flo; \
include/math-emu/op-1.h
109
#define _FP_PACK_RAW_1_P(fs, val, X) \
include/math-emu/op-1.h
111
union _FP_UNION_##fs *_flo = \
include/math-emu/op-1.h
112
(union _FP_UNION_##fs *)(val); \
include/math-emu/op-1.h
189
#define _FP_DIV_MEAT_1_imm(fs, R, X, Y, doit) \
include/math-emu/op-1.h
193
? R##_e--, _FP_WFRACBITS_##fs \
include/math-emu/op-1.h
194
: _FP_WFRACBITS_##fs - 1); \
include/math-emu/op-1.h
204
#define _FP_DIV_MEAT_1_udiv_norm(fs, R, X, Y) \
include/math-emu/op-1.h
209
_y = Y##_f << _FP_WFRACXBITS_##fs; \
include/math-emu/op-1.h
228
#define _FP_DIV_MEAT_1_udiv(fs, R, X, Y) \
include/math-emu/op-1.h
234
_nl = X##_f << _FP_WFRACBITS_##fs; \
include/math-emu/op-1.h
235
_nh = X##_f >> _FP_WFRACXBITS_##fs; \
include/math-emu/op-1.h
239
_nl = X##_f << (_FP_WFRACBITS_##fs - 1); \
include/math-emu/op-1.h
240
_nh = X##_f >> (_FP_WFRACXBITS_##fs + 1); \
include/math-emu/op-1.h
60
#define _FP_FRAC_OVERP_1(fs,X) (X##_f & _FP_OVERFLOW_##fs)
include/math-emu/op-1.h
61
#define _FP_FRAC_CLEAR_OVERP_1(fs,X) (X##_f &= ~_FP_OVERFLOW_##fs)
include/math-emu/op-1.h
75
#define _FP_UNPACK_RAW_1(fs, X, val) \
include/math-emu/op-1.h
77
union _FP_UNION_##fs _flo; _flo.flt = (val); \
include/math-emu/op-1.h
84
#define _FP_UNPACK_RAW_1_P(fs, X, val) \
include/math-emu/op-1.h
86
union _FP_UNION_##fs *_flo = \
include/math-emu/op-1.h
87
(union _FP_UNION_##fs *)(val); \
include/math-emu/op-1.h
98
#define _FP_PACK_RAW_1(fs, val, X) \
include/math-emu/op-2.h
111
#define _FP_FRAC_OVERP_2(fs,X) (_FP_FRAC_HIGH_##fs(X) & _FP_OVERFLOW_##fs)
include/math-emu/op-2.h
112
#define _FP_FRAC_CLEAR_OVERP_2(fs,X) (_FP_FRAC_HIGH_##fs(X) &= ~_FP_OVERFLOW_##fs)
include/math-emu/op-2.h
180
#define _FP_UNPACK_RAW_2(fs, X, val) \
include/math-emu/op-2.h
182
union _FP_UNION_##fs _flo; _flo.flt = (val); \
include/math-emu/op-2.h
190
#define _FP_UNPACK_RAW_2_P(fs, X, val) \
include/math-emu/op-2.h
192
union _FP_UNION_##fs *_flo = \
include/math-emu/op-2.h
193
(union _FP_UNION_##fs *)(val); \
include/math-emu/op-2.h
206
#define _FP_PACK_RAW_2(fs, val, X) \
include/math-emu/op-2.h
208
union _FP_UNION_##fs _flo; \
include/math-emu/op-2.h
218
#define _FP_PACK_RAW_2_P(fs, val, X) \
include/math-emu/op-2.h
220
union _FP_UNION_##fs *_flo = \
include/math-emu/op-2.h
221
(union _FP_UNION_##fs *)(val); \
include/math-emu/op-2.h
423
#define _FP_DIV_MEAT_2_udiv(fs, R, X, Y) \
include/math-emu/op-2.h
442
_FP_FRAC_SLL_2(Y, _FP_WFRACXBITS_##fs); \
include/math-emu/op-2.h
491
#define _FP_DIV_MEAT_2_gmp(fs, R, X, Y) \
include/math-emu/op-2.h
499
_x[1] = (X##_f0 << (_FP_WFRACBITS_##fs-1 - _FP_W_TYPE_SIZE) | \
include/math-emu/op-2.h
501
(_FP_WFRACBITS_##fs-1 - _FP_W_TYPE_SIZE))); \
include/math-emu/op-2.h
502
_x[2] = X##_f1 << (_FP_WFRACBITS_##fs-1 - _FP_W_TYPE_SIZE); \
include/math-emu/op-2.h
506
_x[1] = (X##_f0 << (_FP_WFRACBITS_##fs - _FP_W_TYPE_SIZE) | \
include/math-emu/op-2.h
508
(_FP_WFRACBITS_##fs - _FP_W_TYPE_SIZE))); \
include/math-emu/op-2.h
509
_x[2] = X##_f1 << (_FP_WFRACBITS_##fs - _FP_W_TYPE_SIZE); \
include/math-emu/op-4.h
134
#define _FP_FRAC_OVERP_4(fs,X) (_FP_FRAC_HIGH_##fs(X) & _FP_OVERFLOW_##fs)
include/math-emu/op-4.h
135
#define _FP_FRAC_CLEAR_OVERP_4(fs,X) (_FP_FRAC_HIGH_##fs(X) &= ~_FP_OVERFLOW_##fs)
include/math-emu/op-4.h
184
#define _FP_UNPACK_RAW_4(fs, X, val) \
include/math-emu/op-4.h
186
union _FP_UNION_##fs _flo; _flo.flt = (val); \
include/math-emu/op-4.h
195
#define _FP_UNPACK_RAW_4_P(fs, X, val) \
include/math-emu/op-4.h
197
union _FP_UNION_##fs *_flo = \
include/math-emu/op-4.h
198
(union _FP_UNION_##fs *)(val); \
include/math-emu/op-4.h
208
#define _FP_PACK_RAW_4(fs, val, X) \
include/math-emu/op-4.h
210
union _FP_UNION_##fs _flo; \
include/math-emu/op-4.h
220
#define _FP_PACK_RAW_4_P(fs, val, X) \
include/math-emu/op-4.h
222
union _FP_UNION_##fs *_flo = \
include/math-emu/op-4.h
223
(union _FP_UNION_##fs *)(val); \
include/math-emu/op-4.h
355
#define _FP_DIV_MEAT_4_udiv(fs, R, X, Y) \
include/math-emu/op-4.h
370
_FP_FRAC_SLL_4(Y, _FP_WFRACXBITS_##fs); \
include/math-emu/op-common.h
100
_FP_FRAC_CLEAR_OVERP_##wc(fs, X); \
include/math-emu/op-common.h
104
if (X##_e >= _FP_EXPMAX_##fs) \
include/math-emu/op-common.h
122
X##_e = _FP_EXPMAX_##fs; \
include/math-emu/op-common.h
128
X##_e = _FP_EXPMAX_##fs - 1; \
include/math-emu/op-common.h
139
if (X##_e <= _FP_WFRACBITS_##fs) \
include/math-emu/op-common.h
141
_FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
142
if (_FP_FRAC_HIGH_##fs(X) \
include/math-emu/op-common.h
143
& (_FP_OVERFLOW_##fs >> 1)) \
include/math-emu/op-common.h
151
if (_FP_FRAC_HIGH_##fs(X) \
include/math-emu/op-common.h
152
& (_FP_OVERFLOW_##fs >> 1)) \
include/math-emu/op-common.h
189
X##_e = _FP_EXPMAX_##fs; \
include/math-emu/op-common.h
194
X##_e = _FP_EXPMAX_##fs; \
include/math-emu/op-common.h
197
_FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
198
X##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
201
_FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
include/math-emu/op-common.h
209
#define _FP_ISSIGNAN(fs, wc, X) \
include/math-emu/op-common.h
212
if (X##_e == _FP_EXPMAX_##fs) \
include/math-emu/op-common.h
215
&& !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
include/math-emu/op-common.h
229
#define _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP) \
include/math-emu/op-common.h
241
if (diff <= _FP_WFRACBITS_##fs) \
include/math-emu/op-common.h
242
_FP_FRAC_SRS_##wc(X, diff, _FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
251
if (diff <= _FP_WFRACBITS_##fs) \
include/math-emu/op-common.h
252
_FP_FRAC_SRS_##wc(Y, diff, _FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
265
if (_FP_FRAC_OVERP_##wc(fs, R)) \
include/math-emu/op-common.h
267
_FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
294
diff -= _FP_WFRACXBITS_##fs; \
include/math-emu/op-common.h
306
_FP_CHOOSENAN(fs, wc, R, X, Y, OP); \
include/math-emu/op-common.h
335
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
336
R##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
36
#define _FP_UNPACK_CANONICAL(fs, wc, X) \
include/math-emu/op-common.h
369
#define _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL(fs, wc, R, X, Y, '+')
include/math-emu/op-common.h
370
#define _FP_SUB(fs, wc, R, X, Y) \
include/math-emu/op-common.h
373
_FP_ADD_INTERNAL(fs, wc, R, X, Y, '-'); \
include/math-emu/op-common.h
382
#define _FP_NEG(fs, wc, R, X) \
include/math-emu/op-common.h
395
#define _FP_MUL(fs, wc, R, X, Y) \
include/math-emu/op-common.h
404
_FP_MUL_MEAT_##fs(R,X,Y); \
include/math-emu/op-common.h
406
if (_FP_FRAC_OVERP_##wc(fs, R)) \
include/math-emu/op-common.h
407
_FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
41
_FP_FRAC_HIGH_RAW_##fs(X) |= _FP_IMPLBIT_##fs; \
include/math-emu/op-common.h
413
_FP_CHOOSENAN(fs, wc, R, X, Y, '*'); \
include/math-emu/op-common.h
43
X##_e -= _FP_EXPBIAS_##fs; \
include/math-emu/op-common.h
444
R##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
446
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
460
#define _FP_DIV(fs, wc, R, X, Y) \
include/math-emu/op-common.h
469
_FP_DIV_MEAT_##fs(R,X,Y); \
include/math-emu/op-common.h
473
_FP_CHOOSENAN(fs, wc, R, X, Y, '/'); \
include/math-emu/op-common.h
507
R##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
509
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
514
R##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
516
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
531
#define _FP_CMP(fs, wc, ret, X, Y, un) \
include/math-emu/op-common.h
534
if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
include/math-emu/op-common.h
535
|| (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \
include/math-emu/op-common.h
55
_shift -= _FP_FRACXBITS_##fs; \
include/math-emu/op-common.h
57
X##_e -= _FP_EXPBIAS_##fs - 1 + _shift; \
include/math-emu/op-common.h
571
#define _FP_CMP_EQ(fs, wc, ret, X, Y) \
include/math-emu/op-common.h
574
if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
include/math-emu/op-common.h
575
|| (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \
include/math-emu/op-common.h
591
#define _FP_SQRT(fs, wc, R, X) \
include/math-emu/op-common.h
605
R##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
607
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
625
R##_s = _FP_NANSIGN_##fs; \
include/math-emu/op-common.h
626
_FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
include/math-emu/op-common.h
636
q = _FP_OVERFLOW_##fs >> 1; \
include/math-emu/op-common.h
657
#define _FP_TO_INT(fs, wc, r, X, rsize, rsigned) \
include/math-emu/op-common.h
678
|| X##_e >= rsize - 1 + _FP_WFRACBITS_##fs) \
include/math-emu/op-common.h
68
case _FP_EXPMAX_##fs: \
include/math-emu/op-common.h
682
_FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \
include/math-emu/op-common.h
705
r <<= X##_e - _FP_WFRACBITS_##fs; \
include/math-emu/op-common.h
709
if (X##_e >= _FP_WFRACBITS_##fs) \
include/math-emu/op-common.h
710
_FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \
include/math-emu/op-common.h
711
else if (X##_e < _FP_WFRACBITS_##fs - 1) \
include/math-emu/op-common.h
713
_FP_FRAC_SRS_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 2), \
include/math-emu/op-common.h
714
_FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
728
#define _FP_TO_INT_ROUND(fs, wc, r, X, rsize, rsigned) \
include/math-emu/op-common.h
734
if (X##_e >= _FP_FRACBITS_##fs - 1) \
include/math-emu/op-common.h
736
if (X##_e < rsize - 1 + _FP_WFRACBITS_##fs) \
include/math-emu/op-common.h
738
if (X##_e >= _FP_WFRACBITS_##fs - 1) \
include/math-emu/op-common.h
741
r <<= X##_e - _FP_WFRACBITS_##fs + 1; \
include/math-emu/op-common.h
746
+ _FP_FRACBITS_##fs - 1); \
include/math-emu/op-common.h
75
if (!(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
include/math-emu/op-common.h
757
_FP_FRAC_SRS_##wc(X, _FP_FRACBITS_##fs - 1 - X##_e, \
include/math-emu/op-common.h
758
_FP_WFRACBITS_##fs); \
include/math-emu/op-common.h
795
#define _FP_FROM_INT(fs, wc, X, r, rsize, rtype) \
include/math-emu/op-common.h
816
if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs <= X##_e) \
include/math-emu/op-common.h
817
__FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\
include/math-emu/op-common.h
819
if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \
include/math-emu/op-common.h
820
_FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \
include/math-emu/op-common.h
89
#define _FP_PACK_CANONICAL(fs, wc, X) \
include/math-emu/op-common.h
94
X##_e += _FP_EXPBIAS_##fs; \
include/math-emu/op-common.h
98
if (_FP_FRAC_OVERP_##wc(fs, X)) \
include/net/mptcp.h
300
static inline void mptcp_space(const struct sock *ssk, int *s, int *fs) { }
include/sound/soc.h
506
int snd_soc_calc_bclk(int fs, int sample_size, int channels, int tdm_slots);
include/uapi/linux/ethtool.h
1505
struct ethtool_rx_flow_spec fs;
include/uapi/linux/ethtool.h
1625
struct ethtool_rx_ntuple_flow_spec fs;
include/uapi/video/uvesafb.h
22
__u16 fs;
init/do_mounts.c
142
static int __init do_mount_root(const char *name, const char *fs,
init/do_mounts.c
159
ret = init_mount(name, "/root", fs, flags, data_page);
init/do_mounts.c
164
s = current->fs->pwd.dentry->d_sb;
init/do_mounts.c
329
struct file_system_type *fs = get_fs_type(fstype);
init/do_mounts.c
332
if (fs) {
init/do_mounts.c
333
ret = !(fs->fs_flags & FS_REQUIRES_DEV);
init/do_mounts.c
334
put_filesystem(fs);
init/init_task.c
155
.fs = &init_fs,
kernel/auditsc.c
2168
get_fs_pwd(current->fs, &context->pwd);
kernel/fork.c
1595
struct fs_struct *fs = current->fs;
kernel/fork.c
1598
read_seqlock_excl(&fs->seq);
kernel/fork.c
1600
if (fs->in_exec) {
kernel/fork.c
1601
read_sequnlock_excl(&fs->seq);
kernel/fork.c
1604
fs->users++;
kernel/fork.c
1605
read_sequnlock_excl(&fs->seq);
kernel/fork.c
1608
tsk->fs = copy_fs_struct(fs);
kernel/fork.c
1609
if (!tsk->fs)
kernel/fork.c
3081
struct fs_struct *fs = current->fs;
kernel/fork.c
3083
if (!(unshare_flags & CLONE_FS) || !fs)
kernel/fork.c
3087
if (!(unshare_flags & CLONE_NEWNS) && fs->users == 1)
kernel/fork.c
3090
*new_fsp = copy_fs_struct(fs);
kernel/fork.c
3125
struct fs_struct *fs, *new_fs = NULL;
kernel/fork.c
3203
fs = current->fs;
kernel/fork.c
3204
read_seqlock_excl(&fs->seq);
kernel/fork.c
3205
current->fs = new_fs;
kernel/fork.c
3206
if (--fs->users)
kernel/fork.c
3209
new_fs = fs;
kernel/fork.c
3210
read_sequnlock_excl(&fs->seq);
kernel/kcmp.c
189
ret = kcmp_ptr(task1->fs, task2->fs, KCMP_FS);
kernel/nsproxy.c
195
new_ns = create_new_namespaces(flags, tsk, user_ns, tsk->fs);
kernel/nsproxy.c
227
new_fs ? new_fs : current->fs);
kernel/nsproxy.c
284
new = create_new_namespaces(0, tsk, current_user_ns(), tsk->fs);
kernel/nsproxy.c
342
if (nsset->fs && (flags & CLONE_NEWNS) && (flags & ~CLONE_NEWNS))
kernel/nsproxy.c
343
free_fs_struct(nsset->fs);
kernel/nsproxy.c
352
nsset->nsproxy = create_new_namespaces(0, me, current_user_ns(), me->fs);
kernel/nsproxy.c
365
nsset->fs = me->fs;
kernel/nsproxy.c
367
nsset->fs = copy_fs_struct(me->fs);
kernel/nsproxy.c
368
if (!nsset->fs)
kernel/nsproxy.c
544
set_fs_root(me->fs, &nsset->fs->root);
kernel/nsproxy.c
545
set_fs_pwd(me->fs, &nsset->fs->pwd);
kernel/rcu/rcutorture.c
4292
static int srcu_lockdep_next(const char *f, const char *fl, const char *fs, const char *fu, int i,
kernel/rcu/rcutorture.c
4300
pr_info("%s: %s(%d), %s(%d), %s(%d)\n", f, fl, i, fs, j, fu, i);
kernel/rcu/rcutorture.c
4407
char *fs = i == cyclelen - 1 ? "synchronize_rcu_tasks_trace"
kernel/rcu/rcutorture.c
4411
j = srcu_lockdep_next(__func__, fl, fs, fu, i, cyclelen, deadlock);
kernel/sched/fair.c
265
int fs;
kernel/sched/fair.c
270
fs = fls(fact_hi);
kernel/sched/fair.c
271
shift -= fs;
kernel/sched/fair.c
272
fact >>= fs;
kernel/sched/fair.c
279
fs = fls(fact_hi);
kernel/sched/fair.c
280
shift -= fs;
kernel/sched/fair.c
281
fact >>= fs;
kernel/sys.c
1962
mask = xchg(&current->fs->umask, mask & S_IRWXUGO);
kernel/umh.c
79
current->fs->umask = 0022;
kernel/user_namespace.c
1358
if (current->fs->users != 1)
net/atm/br2684.c
363
struct br2684_filter_set fs;
net/atm/br2684.c
365
if (copy_from_user(&fs, arg, sizeof fs))
net/atm/br2684.c
367
if (fs.ifspec.method != BR2684_FIND_BYNOTHING) {
net/atm/br2684.c
374
brdev = BRPRIV(br2684_find_dev(&fs.ifspec));
net/atm/br2684.c
385
memcpy(&brvcc->filter, &fs.filter, sizeof(brvcc->filter));
net/ethtool/common.c
703
.fs.location = info->rule_locs[i],
net/ethtool/common.c
710
if (rule_info.fs.ring_cookie != RX_CLS_FLOW_DISC &&
net/ethtool/common.c
711
rule_info.fs.ring_cookie != RX_CLS_FLOW_WAKE &&
net/ethtool/common.c
712
!ethtool_get_flow_spec_ring_vf(rule_info.fs.ring_cookie)) {
net/ethtool/common.c
713
u64 ring = rule_info.fs.ring_cookie;
net/ethtool/common.c
857
.fs.location = info->rule_locs[i],
net/ethtool/common.c
864
if (rule_info.fs.flow_type & FLOW_RSS &&
net/ethtool/ioctl.c
1187
if (cmd == ETHTOOL_SRXCLSRLINS && info.fs.flow_type & FLOW_RSS) {
net/ethtool/ioctl.c
1192
ethtool_get_flow_spec_ring(info.fs.ring_cookie))
net/ethtool/ioctl.c
3623
const struct ethtool_rx_flow_spec *fs = input->fs;
net/ethtool/ioctl.c
3647
switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT | FLOW_RSS)) {
net/ethtool/ioctl.c
3651
ether_spec = &fs->h_u.ether_spec;
net/ethtool/ioctl.c
3652
ether_m_spec = &fs->m_u.ether_spec;
net/ethtool/ioctl.c
3678
v4_spec = &fs->h_u.tcp_ip4_spec;
net/ethtool/ioctl.c
3679
v4_m_spec = &fs->m_u.tcp_ip4_spec;
net/ethtool/ioctl.c
3727
v6_spec = &fs->h_u.tcp_ip6_spec;
net/ethtool/ioctl.c
3728
v6_m_spec = &fs->m_u.tcp_ip6_spec;
net/ethtool/ioctl.c
3778
switch (fs->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT | FLOW_RSS)) {
net/ethtool/ioctl.c
3795
if (fs->flow_type & FLOW_EXT) {
net/ethtool/ioctl.c
3796
const struct ethtool_flow_ext *ext_h_spec = &fs->h_ext;
net/ethtool/ioctl.c
3797
const struct ethtool_flow_ext *ext_m_spec = &fs->m_ext;
net/ethtool/ioctl.c
3829
if (fs->flow_type & FLOW_MAC_EXT) {
net/ethtool/ioctl.c
3830
const struct ethtool_flow_ext *ext_h_spec = &fs->h_ext;
net/ethtool/ioctl.c
3831
const struct ethtool_flow_ext *ext_m_spec = &fs->m_ext;
net/ethtool/ioctl.c
3845
switch (fs->ring_cookie) {
net/ethtool/ioctl.c
3854
if (fs->flow_type & FLOW_RSS)
net/ethtool/ioctl.c
3857
act->queue.vf = ethtool_get_flow_spec_ring_vf(fs->ring_cookie);
net/ethtool/ioctl.c
3858
act->queue.index = ethtool_get_flow_spec_ring(fs->ring_cookie);
net/ethtool/ioctl.c
849
BUILD_BUG_ON(offsetof(struct compat_ethtool_rxnfc, fs.m_ext) +
net/ethtool/ioctl.c
850
sizeof(useraddr->fs.m_ext) !=
net/ethtool/ioctl.c
851
offsetof(struct ethtool_rxnfc, fs.m_ext) +
net/ethtool/ioctl.c
852
sizeof(rxnfc->fs.m_ext));
net/ethtool/ioctl.c
853
BUILD_BUG_ON(offsetof(struct compat_ethtool_rxnfc, fs.location) -
net/ethtool/ioctl.c
854
offsetof(struct compat_ethtool_rxnfc, fs.ring_cookie) !=
net/ethtool/ioctl.c
855
offsetof(struct ethtool_rxnfc, fs.location) -
net/ethtool/ioctl.c
856
offsetof(struct ethtool_rxnfc, fs.ring_cookie));
net/ethtool/ioctl.c
865
.fs = {
net/ethtool/ioctl.c
866
.flow_type = crxnfc.fs.flow_type,
net/ethtool/ioctl.c
867
.h_u = crxnfc.fs.h_u,
net/ethtool/ioctl.c
868
.h_ext = crxnfc.fs.h_ext,
net/ethtool/ioctl.c
869
.m_u = crxnfc.fs.m_u,
net/ethtool/ioctl.c
870
.m_ext = crxnfc.fs.m_ext,
net/ethtool/ioctl.c
871
.ring_cookie = crxnfc.fs.ring_cookie,
net/ethtool/ioctl.c
872
.location = crxnfc.fs.location,
net/ethtool/ioctl.c
904
.fs = {
net/ethtool/ioctl.c
905
.flow_type = rxnfc->fs.flow_type,
net/ethtool/ioctl.c
906
.h_u = rxnfc->fs.h_u,
net/ethtool/ioctl.c
907
.h_ext = rxnfc->fs.h_ext,
net/ethtool/ioctl.c
908
.m_u = rxnfc->fs.m_u,
net/ethtool/ioctl.c
909
.m_ext = rxnfc->fs.m_ext,
net/ethtool/ioctl.c
910
.ring_cookie = rxnfc->fs.ring_cookie,
net/ethtool/ioctl.c
911
.location = rxnfc->fs.location,
net/netfilter/xt_set.c
38
#define ADT_OPT(n, f, d, fs, cfs, t, p, b, po, bo) \
net/netfilter/xt_set.c
42
.flags = fs, \
net/phonet/pep-gprs.c
107
skb_walk_frags(skb, fs)
net/phonet/pep-gprs.c
108
flen += fs->len;
net/phonet/pep-gprs.c
89
struct sk_buff *rskb, *fs;
net/phonet/pep.c
1226
struct sk_buff *rskb, *fs;
net/phonet/pep.c
1243
skb_walk_frags(skb, fs)
net/phonet/pep.c
1244
flen += fs->len;
net/unix/af_unix.c
1204
get_fs_root(init_task.fs, &root);
security/apparmor/file.c
108
ad.fs.target = target;
security/apparmor/file.c
110
ad.fs.ouid = ouid;
security/apparmor/file.c
66
from_kuid(&init_user_ns, ad->fs.ouid));
security/apparmor/file.c
73
} else if (ad->fs.target) {
security/apparmor/file.c
75
audit_log_untrustedstring(ab, ad->fs.target);
security/apparmor/include/audit.h
132
} fs;
security/apparmor/path.c
121
get_fs_root(current->fs, &root);
security/ipe/hooks.c
222
ipe_sb(current->fs->root.mnt->mnt_sb)->initramfs = true;
security/landlock/access.h
110
if (access_masks.fs)
security/landlock/access.h
111
access_masks.fs |= _LANDLOCK_ACCESS_FS_INITIALLY_DENIED;
security/landlock/access.h
50
access_mask_t fs : LANDLOCK_NUM_ACCESS_FS;
security/landlock/fs.c
398
.fs = ~0,
security/landlock/fs.c
787
landlock_union_access_masks(domain).fs;
security/landlock/fs.c
950
.fs = access_request,
security/landlock/ruleset.h
255
ruleset->access_masks[layer_level].fs |= fs_mask;
security/landlock/ruleset.h
286
return ruleset->access_masks[layer_level].fs |
security/landlock/syscalls.c
339
mask = ruleset->access_masks[0].fs;
security/lsm_init.c
533
return lsm_initcall(fs);
sound/core/pcm_iec958.c
55
unsigned int fs;
sound/core/pcm_iec958.c
59
fs = IEC958_AES3_CON_FS_32000;
sound/core/pcm_iec958.c
62
fs = IEC958_AES3_CON_FS_44100;
sound/core/pcm_iec958.c
65
fs = IEC958_AES3_CON_FS_48000;
sound/core/pcm_iec958.c
68
fs = IEC958_AES3_CON_FS_88200;
sound/core/pcm_iec958.c
71
fs = IEC958_AES3_CON_FS_96000;
sound/core/pcm_iec958.c
74
fs = IEC958_AES3_CON_FS_176400;
sound/core/pcm_iec958.c
77
fs = IEC958_AES3_CON_FS_192000;
sound/core/pcm_iec958.c
84
cs[3] |= fs;
sound/soc/atmel/atmel-classd.c
345
int fs;
sound/soc/atmel/atmel-classd.c
349
fs = params_rate(params);
sound/soc/atmel/atmel-classd.c
352
best_val = abs(fs - sample_rates[0].rate);
sound/soc/atmel/atmel-classd.c
355
cur_val = abs(fs - sample_rates[i].rate);
sound/soc/atmel/atmel-i2s.c
108
#define ATMEL_I2SC_MR_IMCKFS(fs) \
sound/soc/atmel/atmel-i2s.c
109
(((fs) << 24) & ATMEL_I2SC_MR_IMCKFS_MASK)
sound/soc/atmel/atmel-i2s.c
158
int fs;
sound/soc/atmel/atmel-i2s.c
294
static int atmel_i2s_get_gck_param(struct atmel_i2s_dev *dev, int fs)
sound/soc/atmel/atmel-i2s.c
311
int val = abs(fs - gck_param->fs);
sound/soc/atmel/atmel-pdmic.c
364
int fs = params_rate(params);
sound/soc/atmel/atmel-pdmic.c
376
if ((fs < rate_min) || (fs > rate_max)) {
sound/soc/atmel/atmel-pdmic.c
379
fs, rate_min, rate_max);
sound/soc/atmel/atmel-pdmic.c
397
if ((fs << 7) > (rate_max << 6)) {
sound/soc/atmel/atmel-pdmic.c
398
f_pdmic = fs << 6;
sound/soc/atmel/atmel-pdmic.c
401
f_pdmic = fs << 7;
sound/soc/atmel/mchp-pdmc.c
530
unsigned int fs = params_rate(params);
sound/soc/atmel/mchp-pdmc.c
570
(unsigned long)fs * 16 * osr_start);
sound/soc/atmel/mchp-pdmc.c
573
diff_rate = abs((fs * 16 * osr_start) - round_rate);
sound/soc/atmel/mchp-pdmc.c
577
gclk_rate = fs * 16 * osr;
sound/soc/atmel/mchp-pdmc.c
581
dev_err(comp->dev, "invalid sampling rate: %u\n", fs);
sound/soc/codecs/adau1977.c
264
unsigned int fs)
sound/soc/codecs/adau1977.c
274
rate *= 512 >> fs;
sound/soc/codecs/adau1977.c
301
int mcs, fs;
sound/soc/codecs/adau1977.c
304
fs = adau1977_lookup_fs(rate);
sound/soc/codecs/adau1977.c
305
if (fs < 0)
sound/soc/codecs/adau1977.c
306
return fs;
sound/soc/codecs/adau1977.c
309
mcs = adau1977_lookup_mcs(adau1977, rate, fs);
sound/soc/codecs/adau1977.c
317
ctrl0 = fs;
sound/soc/codecs/ak4375.c
280
u8 cms, fs, cm;
sound/soc/codecs/ak4375.c
283
fs = cms & ~FS_MASK;
sound/soc/codecs/ak4375.c
288
fs |= FS_8KHZ;
sound/soc/codecs/ak4375.c
291
fs |= FS_11_025KHZ;
sound/soc/codecs/ak4375.c
294
fs |= FS_16KHZ;
sound/soc/codecs/ak4375.c
297
fs |= FS_22_05KHZ;
sound/soc/codecs/ak4375.c
300
fs |= FS_32KHZ;
sound/soc/codecs/ak4375.c
303
fs |= FS_44_1KHZ;
sound/soc/codecs/ak4375.c
306
fs |= FS_48KHZ;
sound/soc/codecs/ak4375.c
309
fs |= FS_88_2KHZ;
sound/soc/codecs/ak4375.c
312
fs |= FS_96KHZ;
sound/soc/codecs/ak4375.c
315
fs |= FS_176_4KHZ;
sound/soc/codecs/ak4375.c
318
fs |= FS_192KHZ;
sound/soc/codecs/ak4375.c
342
snd_soc_component_update_bits(component, AK4375_05_CLOCK_MODE_SELECT, FS_MASK, fs);
sound/soc/codecs/ak4458.c
354
ak4458->fs = nfs1;
sound/soc/codecs/ak4458.c
51
int fs; /* sampling rate */
sound/soc/codecs/ak4458.c
525
nfs = ak4458->fs;
sound/soc/codecs/ak4535.c
265
int rate = params_rate(params), fs = 256;
sound/soc/codecs/ak4535.c
268
fs = ak4535->sysclk / rate;
sound/soc/codecs/ak4535.c
271
switch (fs) {
sound/soc/codecs/ak4613.c
436
unsigned int fs;
sound/soc/codecs/ak4613.c
459
fs = (ak4613_rates[i] <= 96000) ? 256 : 128;
sound/soc/codecs/ak4613.c
461
if (priv->sysclk >= ak4613_rates[i] * fs)
sound/soc/codecs/ak4619.c
540
unsigned int fs;
sound/soc/codecs/ak4619.c
568
fs = ak4619->sysclk / rate;
sound/soc/codecs/ak4619.c
582
switch (fs) {
sound/soc/codecs/ak4619.c
599
if (fs == 256)
sound/soc/codecs/ak4619.c
606
if (fs == 128)
sound/soc/codecs/ak4619.c
710
unsigned int fs;
sound/soc/codecs/ak4619.c
736
fs = ak4619->sysclk / ak4619_sr[i];
sound/soc/codecs/ak4619.c
738
switch (fs) {
sound/soc/codecs/ak4642.c
452
int ps, fs;
sound/soc/codecs/ak4642.c
455
for (fs = 0; fs < ARRAY_SIZE(fs_list); fs++) {
sound/soc/codecs/ak4642.c
456
if (frequency == ps_list[ps] * fs_list[fs]) {
sound/soc/codecs/ak4642.c
458
PSs(ps) | FSs(fs));
sound/soc/codecs/ak4671.c
426
u8 fs;
sound/soc/codecs/ak4671.c
428
fs = snd_soc_component_read(component, AK4671_PLL_MODE_SELECT0);
sound/soc/codecs/ak4671.c
429
fs &= ~AK4671_FS;
sound/soc/codecs/ak4671.c
433
fs |= AK4671_FS_8KHZ;
sound/soc/codecs/ak4671.c
436
fs |= AK4671_FS_12KHZ;
sound/soc/codecs/ak4671.c
439
fs |= AK4671_FS_16KHZ;
sound/soc/codecs/ak4671.c
442
fs |= AK4671_FS_24KHZ;
sound/soc/codecs/ak4671.c
445
fs |= AK4671_FS_11_025KHZ;
sound/soc/codecs/ak4671.c
448
fs |= AK4671_FS_22_05KHZ;
sound/soc/codecs/ak4671.c
451
fs |= AK4671_FS_32KHZ;
sound/soc/codecs/ak4671.c
454
fs |= AK4671_FS_44_1KHZ;
sound/soc/codecs/ak4671.c
457
fs |= AK4671_FS_48KHZ;
sound/soc/codecs/ak4671.c
463
snd_soc_component_write(component, AK4671_PLL_MODE_SELECT0, fs);
sound/soc/codecs/alc5623.c
585
u16 fs;
sound/soc/codecs/alc5623.c
608
if (coeff_div[i].fs * rate == alc5623->sysclk)
sound/soc/codecs/alc5632.c
765
u16 fs;
sound/soc/codecs/alc5632.c
781
if (coeff_div[i].fs * rate == alc5632->sysclk)
sound/soc/codecs/cs42l42.c
756
unsigned int fs;
sound/soc/codecs/cs42l42.c
764
fs = CS42L42_CLK_IASRC_SEL_6;
sound/soc/codecs/cs42l42.c
766
fs = CS42L42_CLK_IASRC_SEL_12;
sound/soc/codecs/cs42l42.c
779
fs << CS42L42_CLK_IASRC_SEL_SHIFT);
sound/soc/codecs/cs42l42.c
783
fs << CS42L42_CLK_OASRC_SEL_SHIFT);
sound/soc/codecs/cs43130.c
553
static const struct cs43130_rate_map *cs43130_get_rate_table(int fs)
sound/soc/codecs/cs43130.c
558
if (cs43130_rate_table[i].fs == fs)
sound/soc/codecs/cs43130.c
565
static const struct cs43130_clk_gen *cs43130_get_clk_gen(int mclk_int, int fs,
sound/soc/codecs/cs43130.c
572
clk_gen_table[i].fs == fs)
sound/soc/codecs/cs43130.h
378
int fs;
sound/soc/codecs/cs43130.h
476
int fs;
sound/soc/codecs/cs530x.c
774
int ret = 0, fs = params_rate(params), bclk;
sound/soc/codecs/cs530x.c
777
switch (fs) {
sound/soc/codecs/cs530x.c
802
dev_err(component->dev, "Invalid sample rate %d\n", fs);
sound/soc/codecs/da7210.c
761
u32 fs, sysclk;
sound/soc/codecs/da7210.c
793
fs = DA7210_PLL_FS_8000;
sound/soc/codecs/da7210.c
797
fs = DA7210_PLL_FS_11025;
sound/soc/codecs/da7210.c
801
fs = DA7210_PLL_FS_12000;
sound/soc/codecs/da7210.c
805
fs = DA7210_PLL_FS_16000;
sound/soc/codecs/da7210.c
809
fs = DA7210_PLL_FS_22050;
sound/soc/codecs/da7210.c
813
fs = DA7210_PLL_FS_32000;
sound/soc/codecs/da7210.c
817
fs = DA7210_PLL_FS_44100;
sound/soc/codecs/da7210.c
821
fs = DA7210_PLL_FS_48000;
sound/soc/codecs/da7210.c
825
fs = DA7210_PLL_FS_88200;
sound/soc/codecs/da7210.c
829
fs = DA7210_PLL_FS_96000;
sound/soc/codecs/da7210.c
839
snd_soc_component_update_bits(component, DA7210_PLL, DA7210_PLL_FS_MASK, fs);
sound/soc/codecs/da7213.c
1328
u8 fs;
sound/soc/codecs/da7213.c
1368
fs = DA7213_SR_8000;
sound/soc/codecs/da7213.c
1372
fs = DA7213_SR_11025;
sound/soc/codecs/da7213.c
1376
fs = DA7213_SR_12000;
sound/soc/codecs/da7213.c
1380
fs = DA7213_SR_16000;
sound/soc/codecs/da7213.c
1384
fs = DA7213_SR_22050;
sound/soc/codecs/da7213.c
1388
fs = DA7213_SR_32000;
sound/soc/codecs/da7213.c
1392
fs = DA7213_SR_44100;
sound/soc/codecs/da7213.c
1396
fs = DA7213_SR_48000;
sound/soc/codecs/da7213.c
1400
fs = DA7213_SR_88200;
sound/soc/codecs/da7213.c
1404
fs = DA7213_SR_96000;
sound/soc/codecs/da7213.c
1416
snd_soc_component_write(component, DA7213_SR, fs);
sound/soc/codecs/da7218.c
2092
u8 dai_ctrl = 0, fs;
sound/soc/codecs/da7218.c
2123
fs = DA7218_SR_8000;
sound/soc/codecs/da7218.c
2126
fs = DA7218_SR_11025;
sound/soc/codecs/da7218.c
2129
fs = DA7218_SR_12000;
sound/soc/codecs/da7218.c
2132
fs = DA7218_SR_16000;
sound/soc/codecs/da7218.c
2135
fs = DA7218_SR_22050;
sound/soc/codecs/da7218.c
2138
fs = DA7218_SR_24000;
sound/soc/codecs/da7218.c
2141
fs = DA7218_SR_32000;
sound/soc/codecs/da7218.c
2144
fs = DA7218_SR_44100;
sound/soc/codecs/da7218.c
2147
fs = DA7218_SR_48000;
sound/soc/codecs/da7218.c
2150
fs = DA7218_SR_88200;
sound/soc/codecs/da7218.c
2153
fs = DA7218_SR_96000;
sound/soc/codecs/da7218.c
2164
(fs << DA7218_SR_DAC_SHIFT) | (fs << DA7218_SR_ADC_SHIFT));
sound/soc/codecs/da7219.c
1514
u8 fs;
sound/soc/codecs/da7219.c
1518
fs = DA7219_SR_8000;
sound/soc/codecs/da7219.c
1521
fs = DA7219_SR_11025;
sound/soc/codecs/da7219.c
1524
fs = DA7219_SR_12000;
sound/soc/codecs/da7219.c
1527
fs = DA7219_SR_16000;
sound/soc/codecs/da7219.c
1530
fs = DA7219_SR_22050;
sound/soc/codecs/da7219.c
1533
fs = DA7219_SR_24000;
sound/soc/codecs/da7219.c
1536
fs = DA7219_SR_32000;
sound/soc/codecs/da7219.c
1539
fs = DA7219_SR_44100;
sound/soc/codecs/da7219.c
1542
fs = DA7219_SR_48000;
sound/soc/codecs/da7219.c
1545
fs = DA7219_SR_88200;
sound/soc/codecs/da7219.c
1548
fs = DA7219_SR_96000;
sound/soc/codecs/da7219.c
1554
snd_soc_component_write(component, DA7219_SR, fs);
sound/soc/codecs/da7219.c
1956
u8 fs = snd_soc_component_read(component, DA7219_SR);
sound/soc/codecs/da7219.c
1958
switch (fs & DA7219_SR_MASK) {
sound/soc/codecs/da732x.c
1000
fs = DA732X_SR_96KHZ;
sound/soc/codecs/da732x.c
1007
snd_soc_component_update_bits(component, DA732X_REG_CLK_CTRL, DA732X_SR1_MASK, fs);
sound/soc/codecs/da732x.c
947
u32 fs;
sound/soc/codecs/da732x.c
970
fs = DA732X_SR_8KHZ;
sound/soc/codecs/da732x.c
973
fs = DA732X_SR_11_025KHZ;
sound/soc/codecs/da732x.c
976
fs = DA732X_SR_12KHZ;
sound/soc/codecs/da732x.c
979
fs = DA732X_SR_16KHZ;
sound/soc/codecs/da732x.c
982
fs = DA732X_SR_22_05KHZ;
sound/soc/codecs/da732x.c
985
fs = DA732X_SR_24KHZ;
sound/soc/codecs/da732x.c
988
fs = DA732X_SR_32KHZ;
sound/soc/codecs/da732x.c
991
fs = DA732X_SR_44_1KHZ;
sound/soc/codecs/da732x.c
994
fs = DA732X_SR_48KHZ;
sound/soc/codecs/da732x.c
997
fs = DA732X_SR_88_1KHZ;
sound/soc/codecs/da9055.c
1052
u8 aif_ctrl, fs;
sound/soc/codecs/da9055.c
1078
fs = DA9055_SR_8000;
sound/soc/codecs/da9055.c
1082
fs = DA9055_SR_11025;
sound/soc/codecs/da9055.c
1086
fs = DA9055_SR_12000;
sound/soc/codecs/da9055.c
1090
fs = DA9055_SR_16000;
sound/soc/codecs/da9055.c
1094
fs = DA9055_SR_22050;
sound/soc/codecs/da9055.c
1098
fs = DA9055_SR_32000;
sound/soc/codecs/da9055.c
1102
fs = DA9055_SR_44100;
sound/soc/codecs/da9055.c
1106
fs = DA9055_SR_48000;
sound/soc/codecs/da9055.c
1110
fs = DA9055_SR_88200;
sound/soc/codecs/da9055.c
1114
fs = DA9055_SR_96000;
sound/soc/codecs/da9055.c
1123
snd_soc_component_write(component, DA9055_SR, fs);
sound/soc/codecs/es8323.c
349
u16 fs;
sound/soc/codecs/es8323.c
565
u8 wl_mode, fs;
sound/soc/codecs/es8323.c
583
fs = FIELD_PREP(ES8323_DACCONTROL2_DACFSMODE, es8323_coeff_div[coeff].usb)
sound/soc/codecs/es8323.c
587
ES8323_ADCCONTROL5_ADCFS_MASK, fs);
sound/soc/codecs/es8323.c
590
ES8323_DACCONTROL2_DACFS_MASK, fs);
sound/soc/codecs/es8326.c
374
u16 fs;
sound/soc/codecs/es8389.c
355
u16 fs;
sound/soc/codecs/max98088.c
1410
int best, best_val, save, i, sel, fs;
sound/soc/codecs/max98088.c
1419
fs = cdata->rate;
sound/soc/codecs/max98088.c
1426
abs(pdata->eq_cfg[i].rate - fs) < best_val) {
sound/soc/codecs/max98088.c
1428
best_val = abs(pdata->eq_cfg[i].rate - fs);
sound/soc/codecs/max98088.c
1434
pdata->eq_cfg[best].rate, fs);
sound/soc/codecs/max98088.c
1457
int best, best_val, save, i, sel, fs;
sound/soc/codecs/max98088.c
1466
fs = cdata->rate;
sound/soc/codecs/max98088.c
1473
abs(pdata->eq_cfg[i].rate - fs) < best_val) {
sound/soc/codecs/max98088.c
1475
best_val = abs(pdata->eq_cfg[i].rate - fs);
sound/soc/codecs/max98088.c
1481
pdata->eq_cfg[best].rate, fs);
sound/soc/codecs/max98090.c
1917
int target_dmic_clk, int pclk, int fs)
sound/soc/codecs/max98090.c
1932
if (fs <= (comp_lrclk_rates[i] + comp_lrclk_rates[i+1]) / 2)
sound/soc/codecs/max98095.c
1496
int fs, best, best_val, i;
sound/soc/codecs/max98095.c
1510
fs = cdata->rate;
sound/soc/codecs/max98095.c
1517
abs(pdata->eq_cfg[i].rate - fs) < best_val) {
sound/soc/codecs/max98095.c
1519
best_val = abs(pdata->eq_cfg[i].rate - fs);
sound/soc/codecs/max98095.c
1525
pdata->eq_cfg[best].rate, fs);
sound/soc/codecs/max98095.c
1647
int fs, best, best_val, i;
sound/soc/codecs/max98095.c
1661
fs = cdata->rate;
sound/soc/codecs/max98095.c
1668
abs(pdata->bq_cfg[i].rate - fs) < best_val) {
sound/soc/codecs/max98095.c
1670
best_val = abs(pdata->bq_cfg[i].rate - fs);
sound/soc/codecs/max98095.c
1676
pdata->bq_cfg[best].rate, fs);
sound/soc/codecs/nau8325.c
373
if (target_srate_table[i].fs == srate)
sound/soc/codecs/nau8325.c
392
if (!nau8325->mclk || !nau8325->fs)
sound/soc/codecs/nau8325.c
396
*srate_table = target_srate_attribute(nau8325->fs);
sound/soc/codecs/nau8325.c
437
nau8325->mclk, nau8325->fs);
sound/soc/codecs/nau8325.c
441
nau8325->fs, (*srate_table)->range,
sound/soc/codecs/nau8325.c
449
(*srate_table)->mclk_src[ratio] / nau8325->fs);
sound/soc/codecs/nau8325.c
512
nau8325->fs = params_rate(params);
sound/soc/codecs/nau8325.c
514
if (!osr || !osr->osr || nau8325->fs * osr->osr > CLK_DA_AD_MAX) {
sound/soc/codecs/nau8325.h
359
int fs;
sound/soc/codecs/nau8325.h
380
int fs;
sound/soc/codecs/nau8540.c
661
unsigned int fs, struct nau8540_fll *fll_param)
sound/soc/codecs/nau8540.c
696
fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param;
sound/soc/codecs/nau8540.c
762
int ret, fs;
sound/soc/codecs/nau8540.c
792
fs = freq_out / 256;
sound/soc/codecs/nau8540.c
793
ret = nau8540_calc_fll_param(freq_in, fs, &fll_param);
sound/soc/codecs/nau8810.c
530
unsigned int fs, struct nau8810_pll *pll_param)
sound/soc/codecs/nau8810.c
541
f2 = 256ULL * fs * 4 * nau8810_mclk_scaler[i];
sound/soc/codecs/nau8810.c
576
int ret, fs;
sound/soc/codecs/nau8810.c
578
fs = freq_out / 256;
sound/soc/codecs/nau8810.c
579
ret = nau8810_calc_pll(freq_in, fs, pll_param);
sound/soc/codecs/nau8821.c
1292
unsigned int fs, struct nau8821_fll *fll_param)
sound/soc/codecs/nau8821.c
1327
fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param;
sound/soc/codecs/nau8821.c
1416
int ret, fs;
sound/soc/codecs/nau8821.c
1418
fs = freq_out >> 8;
sound/soc/codecs/nau8821.c
1419
ret = nau8821_calc_fll_param(freq_in, fs, fll_param);
sound/soc/codecs/nau8821.c
484
clk_adc = (nau8821->fs * 256) >> clk_adc_src;
sound/soc/codecs/nau8821.c
850
nau8821->fs = params_rate(params);
sound/soc/codecs/nau8821.c
860
if (nau8821->fs * osr->osr > CLK_DA_AD_MAX)
sound/soc/codecs/nau8821.c
875
bclk_fs = snd_soc_params_to_bclk(params) / nau8821->fs;
sound/soc/codecs/nau8821.h
577
int fs;
sound/soc/codecs/nau8822.c
614
static int nau8822_calc_pll(unsigned int pll_in, unsigned int fs,
sound/soc/codecs/nau8822.c
626
f2 = 256 * fs * 4 * nau8822_mclk_scaler[i] / 10;
sound/soc/codecs/nau8822.c
715
int ret, fs;
sound/soc/codecs/nau8822.c
728
fs = freq_out / 256;
sound/soc/codecs/nau8822.c
730
ret = nau8822_calc_pll(freq_in, fs, pll_param);
sound/soc/codecs/nau8824.c
1091
nau8824->fs = params_rate(params);
sound/soc/codecs/nau8824.c
1095
if (nau8824->fs * osr->osr > CLK_DA_AD_MAX)
sound/soc/codecs/nau8824.c
1111
bclk_fs = snd_soc_params_to_bclk(params) / nau8824->fs;
sound/soc/codecs/nau8824.c
1277
unsigned int fs, struct nau8824_fll *fll_param)
sound/soc/codecs/nau8824.c
1312
fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param;
sound/soc/codecs/nau8824.c
1378
int ret, fs;
sound/soc/codecs/nau8824.c
1380
fs = freq_out / 256;
sound/soc/codecs/nau8824.c
1381
ret = nau8824_calc_fll_param(freq_in, fs, &fll_param);
sound/soc/codecs/nau8824.c
578
freq = nau8824->fs * 256;
sound/soc/codecs/nau8824.h
438
int fs;
sound/soc/codecs/nau8825.c
2254
static int nau8825_calc_fll_param(unsigned int fll_in, unsigned int fs,
sound/soc/codecs/nau8825.c
2290
fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param;
sound/soc/codecs/nau8825.c
2372
int ret, fs;
sound/soc/codecs/nau8825.c
2379
fs = freq_out / 256;
sound/soc/codecs/nau8825.c
2380
ret = nau8825_calc_fll_param(freq_in, fs, &fll_param);
sound/soc/codecs/rt274.c
44
int fs;
sound/soc/codecs/rt274.c
773
switch (rt274->fs) {
sound/soc/codecs/rt274.c
880
rt274->fs = ratio;
sound/soc/codecs/rt9120.c
241
int width, fs;
sound/soc/codecs/rt9120.c
280
fs = width * params_channels(param);
sound/soc/codecs/rt9120.c
282
if (fs % 48 == 0)
sound/soc/codecs/sta32x.c
538
int fs;
sound/soc/codecs/sta32x.c
666
if (interpolation_ratios[i].fs == rate) {
sound/soc/codecs/sta350.c
572
int fs;
sound/soc/codecs/sta350.c
695
if (interpolation_ratios[i].fs == rate) {
sound/soc/codecs/tfa9879.c
29
int fs;
sound/soc/codecs/tfa9879.c
34
fs = TFA9879_I2S_FS_8000;
sound/soc/codecs/tfa9879.c
37
fs = TFA9879_I2S_FS_11025;
sound/soc/codecs/tfa9879.c
40
fs = TFA9879_I2S_FS_12000;
sound/soc/codecs/tfa9879.c
43
fs = TFA9879_I2S_FS_16000;
sound/soc/codecs/tfa9879.c
46
fs = TFA9879_I2S_FS_22050;
sound/soc/codecs/tfa9879.c
49
fs = TFA9879_I2S_FS_24000;
sound/soc/codecs/tfa9879.c
52
fs = TFA9879_I2S_FS_32000;
sound/soc/codecs/tfa9879.c
55
fs = TFA9879_I2S_FS_44100;
sound/soc/codecs/tfa9879.c
58
fs = TFA9879_I2S_FS_48000;
sound/soc/codecs/tfa9879.c
61
fs = TFA9879_I2S_FS_64000;
sound/soc/codecs/tfa9879.c
64
fs = TFA9879_I2S_FS_88200;
sound/soc/codecs/tfa9879.c
67
fs = TFA9879_I2S_FS_96000;
sound/soc/codecs/tfa9879.c
92
fs << TFA9879_I2S_FS_SHIFT);
sound/soc/codecs/tscs454.c
3172
unsigned int fs = params_rate(params);
sound/soc/codecs/tscs454.c
3180
aif->id, fs);
sound/soc/codecs/tscs454.c
3183
if (PLL_44_1K_RATE % fs)
sound/soc/codecs/tscs454.c
3207
ret = set_aif_fs(component, aif->id, fs);
sound/soc/codecs/wm8711.c
103
u16 fs;
sound/soc/codecs/wm8731.c
231
u16 fs;
sound/soc/codecs/wm8750.c
430
u16 fs;
sound/soc/codecs/wm8903.c
133
int fs;
sound/soc/codecs/wm8903.c
1445
int fs = params_rate(params);
sound/soc/codecs/wm8903.c
1463
if (fs <= 24000)
sound/soc/codecs/wm8903.c
1470
best_val = abs(sample_rates[dsp_config].rate - fs);
sound/soc/codecs/wm8903.c
1472
cur_val = abs(sample_rates[i].rate - fs);
sound/soc/codecs/wm8903.c
1484
bclk = 2 * fs;
sound/soc/codecs/wm8903.c
1506
wm8903->sysclk, fs);
sound/soc/codecs/wm8903.c
1515
clk_sys_ratios[0].div)) - fs);
sound/soc/codecs/wm8903.c
1519
clk_sys_ratios[i].div)) - fs);
sound/soc/codecs/wm8903.c
1570
aif3 |= bclk / fs;
sound/soc/codecs/wm8903.c
1572
wm8903->fs = params_rate(params);
sound/soc/codecs/wm8903.c
426
if (abs(wm8903_deemph[i] - wm8903->fs) <
sound/soc/codecs/wm8903.c
427
abs(wm8903_deemph[best] - wm8903->fs))
sound/soc/codecs/wm8904.c
1369
wm8904->fs = params_rate(params);
sound/soc/codecs/wm8904.c
1373
wm8904->bclk = snd_soc_calc_bclk(wm8904->fs,
sound/soc/codecs/wm8904.c
1406
- wm8904->fs);
sound/soc/codecs/wm8904.c
1409
clk_sys_rates[i].ratio) - wm8904->fs);
sound/soc/codecs/wm8904.c
1422
best_val = abs(wm8904->fs - sample_rates[0].rate);
sound/soc/codecs/wm8904.c
1425
cur_val = abs(wm8904->fs - sample_rates[i].rate);
sound/soc/codecs/wm8904.c
1437
if (wm8904->fs <= 24000)
sound/soc/codecs/wm8904.c
1459
dev_dbg(component->dev, "LRCLK_RATE is %d\n", wm8904->bclk / wm8904->fs);
sound/soc/codecs/wm8904.c
1460
aif3 |= wm8904->bclk / wm8904->fs;
sound/soc/codecs/wm8904.c
435
- wm8904->fs) < best_val) {
sound/soc/codecs/wm8904.c
438
- wm8904->fs);
sound/soc/codecs/wm8904.c
445
wm8904->fs);
sound/soc/codecs/wm8904.c
501
if (abs(deemph_settings[i] - wm8904->fs) <
sound/soc/codecs/wm8904.c
502
abs(deemph_settings[best] - wm8904->fs))
sound/soc/codecs/wm8904.c
82
int fs;
sound/soc/codecs/wm8940.c
405
priv->fs = params_rate(params);
sound/soc/codecs/wm8940.c
41
unsigned int fs;
sound/soc/codecs/wm8940.c
689
if (!priv->mclk || !priv->fs)
sound/soc/codecs/wm8940.c
692
fs256 = 256 * priv->fs;
sound/soc/codecs/wm8955.c
197
int fs;
sound/soc/codecs/wm8955.c
252
if (wm8955->fs == 0)
sound/soc/codecs/wm8955.c
253
wm8955->fs = 8000;
sound/soc/codecs/wm8955.c
257
if (wm8955->fs != clock_cfgs[i].fs)
sound/soc/codecs/wm8955.c
268
wm8955->fs);
sound/soc/codecs/wm8955.c
287
wm8955->fs, wm8955->mclk_rate);
sound/soc/codecs/wm8955.c
371
if (abs(deemph_settings[i] - wm8955->fs) <
sound/soc/codecs/wm8955.c
372
abs(deemph_settings[best] - wm8955->fs))
sound/soc/codecs/wm8955.c
44
int fs;
sound/soc/codecs/wm8955.c
616
wm8955->fs = params_rate(params);
sound/soc/codecs/wm8961.c
507
int i, best, target, fs;
sound/soc/codecs/wm8961.c
510
fs = params_rate(params);
sound/soc/codecs/wm8961.c
520
if (abs(wm8961_srate[i].rate - fs) <
sound/soc/codecs/wm8961.c
521
abs(wm8961_srate[best].rate - fs))
sound/soc/codecs/wm8961.c
529
wm8961_srate[best].rate, fs);
sound/soc/codecs/wm8961.c
532
target = wm8961->sysclk / fs;
sound/soc/codecs/wm8961.c
554
wm8961_clk_sys_ratio[i].ratio, wm8961->sysclk, fs,
sound/soc/codecs/wm8961.c
555
wm8961->sysclk / fs);
sound/soc/codecs/wm8961.c
583
if (fs <= 24000)
sound/soc/codecs/wm8971.c
363
u16 fs;
sound/soc/codecs/wm8974.c
29
unsigned int fs;
sound/soc/codecs/wm8974.c
416
if (!priv->mclk || !priv->fs)
sound/soc/codecs/wm8974.c
419
fs256 = 256 * priv->fs;
sound/soc/codecs/wm8974.c
523
priv->fs = params_rate(params);
sound/soc/codecs/wm8988.c
452
u16 fs;
sound/soc/codecs/wm8993.c
1207
wm8993->fs = params_rate(params);
sound/soc/codecs/wm8993.c
1208
wm8993->bclk = 2 * wm8993->fs;
sound/soc/codecs/wm8993.c
1244
- wm8993->fs);
sound/soc/codecs/wm8993.c
1247
clk_sys_rates[i].ratio) - wm8993->fs);
sound/soc/codecs/wm8993.c
1260
best_val = abs(wm8993->fs - sample_rates[0].rate);
sound/soc/codecs/wm8993.c
1263
cur_val = abs(wm8993->fs - sample_rates[i].rate);
sound/soc/codecs/wm8993.c
1293
dev_dbg(component->dev, "LRCLK_RATE is %d\n", wm8993->bclk / wm8993->fs);
sound/soc/codecs/wm8993.c
1294
aif4 |= wm8993->bclk / wm8993->fs;
sound/soc/codecs/wm8993.c
1308
- wm8993->fs);
sound/soc/codecs/wm8993.c
1311
- wm8993->fs);
sound/soc/codecs/wm8993.c
216
unsigned int fs;
sound/soc/codecs/wm9081.c
1015
wm9081->fs = params_rate(params);
sound/soc/codecs/wm9081.c
1022
wm9081->bclk = wm9081->fs * wm9081->tdm_width * slots;
sound/soc/codecs/wm9081.c
1025
wm9081->bclk = 2 * wm9081->fs;
sound/soc/codecs/wm9081.c
1057
- wm9081->fs);
sound/soc/codecs/wm9081.c
1060
clk_sys_rates[i].ratio) - wm9081->fs);
sound/soc/codecs/wm9081.c
1073
best_val = abs(wm9081->fs - sample_rates[0].rate);
sound/soc/codecs/wm9081.c
1076
cur_val = abs(wm9081->fs - sample_rates[i].rate);
sound/soc/codecs/wm9081.c
1106
dev_dbg(component->dev, "LRCLK_RATE is %d\n", wm9081->bclk / wm9081->fs);
sound/soc/codecs/wm9081.c
1107
aif4 |= wm9081->bclk / wm9081->fs;
sound/soc/codecs/wm9081.c
1116
best_val = abs(pdata->retune_configs[0].rate - wm9081->fs);
sound/soc/codecs/wm9081.c
1119
wm9081->fs);
sound/soc/codecs/wm9081.c
150
int fs;
sound/soc/codecs/wm9081.c
669
target = wm9081->fs * clk_sys_rates[i].ratio;
sound/soc/codecs/wm9081.c
679
} else if (wm9081->fs) {
sound/soc/codecs/wm9081.c
682
* wm9081->fs;
sound/soc/fsl/imx-card.c
421
unsigned int fs;
sound/soc/fsl/imx-card.c
424
fs = hw_param_interval(p, SNDRV_PCM_HW_PARAM_SAMPLE_BITS)->min;
sound/soc/fsl/imx-card.c
425
fs *= link_data->slots;
sound/soc/fsl/imx-card.c
429
mclk_freq = fs * akcodec_rates[i];
sound/soc/loongson/loongson_i2s.c
69
u32 fs = params_rate(params);
sound/soc/loongson/loongson_i2s.c
77
(bits * chans * fs * 2)) - 1;
sound/soc/loongson/loongson_i2s.c
90
(bits * chans * fs * 2)) - 1;
sound/soc/mediatek/common/mtk-afe-fe-dai.c
207
int fs;
sound/soc/mediatek/common/mtk-afe-fe-dai.c
228
fs = afe->irq_fs(substream, runtime->rate);
sound/soc/mediatek/common/mtk-afe-fe-dai.c
230
if (fs < 0)
sound/soc/mediatek/common/mtk-afe-fe-dai.c
234
irq_data->irq_fs_maskbit, fs,
sound/soc/mediatek/common/mtk-afe-fe-dai.c
491
int id, int fs)
sound/soc/mediatek/common/mtk-afe-fe-dai.c
498
fs, memif->data->fs_shift);
sound/soc/mediatek/common/mtk-afe-fe-dai.c
511
int fs = 0;
sound/soc/mediatek/common/mtk-afe-fe-dai.c
519
fs = afe->memif_fs(substream, rate);
sound/soc/mediatek/common/mtk-afe-fe-dai.c
521
if (fs < 0)
sound/soc/mediatek/common/mtk-afe-fe-dai.c
524
return mtk_memif_set_rate_fs(afe, id, fs);
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
177
int reg, fs, w_len = 1; /* now we support bck 64bits only */
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
184
fs = mt2701_afe_i2s_fs(rate);
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
191
val = ASYS_I2S_CON_FS_SET(fs) |
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
212
fs << i2s_data->i2s_asrc_fs_shift);
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
496
int fs;
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
499
fs = mt2701_afe_i2s_fs(rate);
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
501
fs = (rate == 16000 ? 1 : 0);
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
503
return fs;
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
200
int fs = mt8173_afe_i2s_fs(rate);
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
202
if (fs < 0)
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
211
AFE_I2S_CON2_RATE(fs) |
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
218
AFE_I2S_CON1_RATE(fs) |
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
488
int fs;
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
494
fs = 0;
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
497
fs = 1;
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
500
fs = 2;
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
506
fs = mt8173_afe_i2s_fs(rate);
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
508
return fs;
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
168
int fs;
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
204
fs = afe->irq_fs(substream, runtime->rate);
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
205
if (fs < 0)
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
211
fs << irq_data->irq_fs_shift);
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
303
int fs;
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
317
fs = afe->irq_fs(substream, runtime->rate);
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
319
if (fs < 0)
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
325
fs << irq_data->irq_fs_shift);
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
100
int fs = mt8188_afe_fs_timing(rate);
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
115
fs = MT8188_ETDM_OUT3_1X_EN;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
118
fs = MT8188_ETDM_IN1_NX_EN;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
121
fs = MT8188_ETDM_IN2_NX_EN;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
127
fs = memif_priv->fs_timing;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
131
return fs;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
137
int fs = mt8188_memif_fs(substream, rate);
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
139
switch (fs) {
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
141
fs = MT8188_ETDM_IN1_1X_EN;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
144
fs = MT8188_ETDM_IN2_1X_EN;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
150
return fs;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
368
int fs;
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
389
fs = afe->irq_fs(substream, runtime->rate);
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
391
if (fs < 0)
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
397
fs << irq_data->irq_fs_shift);
sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
2025
int fs = 0;
sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
2069
fs = MT8188_ETDM_OUT1_1X_EN;
sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
2071
fs = MT8188_ETDM_OUT2_1X_EN;
sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
2073
val |= FIELD_PREP(ETDM_OUT_CON4_RELATCH_EN_MASK, fs);
sound/soc/mediatek/mt8188/mt8188-dai-pcm.c
134
int fs = 0;
sound/soc/mediatek/mt8188/mt8188-dai-pcm.c
147
fs = mt8188_afe_fs_timing(runtime->rate);
sound/soc/mediatek/mt8188/mt8188-dai-pcm.c
148
if (fs < 0)
sound/soc/mediatek/mt8188/mt8188-dai-pcm.c
151
val |= FIELD_PREP(PCM_INTF_CON2_SYNC_FREQ_MODE_MASK, fs);
sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
243
int fs;
sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
274
fs = afe->irq_fs(substream, rate);
sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
275
if (fs < 0)
sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
283
fs << irq_data->irq_fs_shift);
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
100
fs = MT8195_ETDM_IN1_NX_EN;
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
103
fs = MT8195_ETDM_IN2_NX_EN;
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
109
return fs;
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
115
int fs = mt8195_memif_fs(substream, rate);
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
117
switch (fs) {
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
119
fs = MT8195_ETDM_IN1_1X_EN;
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
122
fs = MT8195_ETDM_IN2_1X_EN;
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
128
return fs;
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
93
int fs = mt8195_afe_fs_timing(rate);
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
97
fs = MT8195_ETDM_OUT3_1X_EN;
sound/soc/mediatek/mt8195/mt8195-dai-etdm.c
1824
int fs = 0;
sound/soc/mediatek/mt8195/mt8195-dai-etdm.c
1880
fs = MT8195_ETDM_OUT1_1X_EN;
sound/soc/mediatek/mt8195/mt8195-dai-etdm.c
1882
fs = MT8195_ETDM_OUT2_1X_EN;
sound/soc/mediatek/mt8195/mt8195-dai-etdm.c
1884
val |= ETDM_OUT_CON4_RELATCH_EN(fs);
sound/soc/mediatek/mt8195/mt8195-dai-pcm.c
133
int fs = 0;
sound/soc/mediatek/mt8195/mt8195-dai-pcm.c
146
fs = mt8195_afe_fs_timing(runtime->rate);
sound/soc/mediatek/mt8195/mt8195-dai-pcm.c
147
if (fs < 0)
sound/soc/mediatek/mt8195/mt8195-dai-pcm.c
149
val |= PCM_INTF_CON2_SYNC_FREQ_MODE(fs);
sound/soc/mediatek/mt8365/mt8365-afe-common.h
359
static inline u32 rx_frequency_palette(unsigned int fs)
sound/soc/mediatek/mt8365/mt8365-afe-common.h
366
switch (fs) {
sound/soc/mediatek/mt8365/mt8365-afe-common.h
384
static inline u32 AutoRstThHi(unsigned int fs)
sound/soc/mediatek/mt8365/mt8365-afe-common.h
386
switch (fs) {
sound/soc/mediatek/mt8365/mt8365-afe-common.h
404
static inline u32 AutoRstThLo(unsigned int fs)
sound/soc/mediatek/mt8365/mt8365-afe-common.h
406
switch (fs) {
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
462
unsigned int fs = mt8365_afe_fs_timing(rate);
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
471
val |= FIELD_PREP(CM_AFE_CM1_IN_MODE_MASK, fs);
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
552
int ret, fs;
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
632
fs = afe->memif_fs(substream, params_rate(params));
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
634
if (fs < 0)
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
642
fs << memif->data->fs_shift);
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
792
int fs;
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
800
fs = mt8365_afe_fs_timing(substream->runtime->rate);
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
802
AFE_GAIN1_CON0_MODE_MASK, (unsigned int)fs << 4);
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c
288
int fs = mt8365_afe_fs_timing(rate);
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c
290
if (fs < 0)
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c
294
val |= FIELD_PREP(AFE_I2S_CON_RATE_MASK, fs);
sound/soc/meson/aiu-encoder-i2s.c
149
unsigned int fs, bs;
sound/soc/meson/aiu-encoder-i2s.c
153
fs = DIV_ROUND_CLOSEST(clk_get_rate(aiu->i2s.clks[MCLK].clk), srate);
sound/soc/meson/aiu-encoder-i2s.c
155
if (fs % 64)
sound/soc/meson/aiu-encoder-i2s.c
169
bs = fs / 64;
sound/soc/soc-utils.c
64
int snd_soc_calc_bclk(int fs, int sample_size, int channels, int tdm_slots)
sound/soc/soc-utils.c
66
return fs * snd_soc_calc_frame_size(sample_size, channels, tdm_slots);
sound/soc/uniphier/aio-core.c
746
int cur, diff, slope = 0, fs;
sound/soc/uniphier/aio-core.c
753
fs = params_rate(&sub->params);
sound/soc/uniphier/aio-core.c
754
if (fs)
sound/soc/uniphier/aio-core.c
755
slope = diff / AUD_VOL_FADE_TIME * 1000 / fs;
tools/arch/x86/include/uapi/asm/kvm.h
152
struct kvm_segment cs, ds, es, fs, gs, ss;
tools/arch/x86/include/uapi/asm/kvm.h
163
struct kvm_segment cs, ds, es, fs, gs, ss;
tools/lib/api/fs/fs.c
103
static void fs__init_once(struct fs *fs);
tools/lib/api/fs/fs.c
104
static const char *fs__mountpoint(const struct fs *fs);
tools/lib/api/fs/fs.c
105
static const char *fs__mount(struct fs *fs);
tools/lib/api/fs/fs.c
108
static struct fs fs__##lower_name = { \
tools/lib/api/fs/fs.c
117
struct fs *fs = &fs__##lower_name; \
tools/lib/api/fs/fs.c
119
fs__init_once(fs); \
tools/lib/api/fs/fs.c
125
struct fs *fs = &fs__##lower_name; \
tools/lib/api/fs/fs.c
128
return fs__mountpoint(fs); \
tools/lib/api/fs/fs.c
134
struct fs *fs = &fs__##lower_name; \
tools/lib/api/fs/fs.c
139
return fs__mount(fs); \
tools/lib/api/fs/fs.c
154
static bool fs__read_mounts(struct fs *fs)
tools/lib/api/fs/fs.c
167
if (strcmp(type, fs->name) == 0) {
tools/lib/api/fs/fs.c
168
fs->path = strdup(path);
tools/lib/api/fs/fs.c
170
return fs->path != NULL;
tools/lib/api/fs/fs.c
177
static int fs__valid_mount(const char *fs, long magic)
tools/lib/api/fs/fs.c
181
if (statfs(fs, &st_fs) < 0)
tools/lib/api/fs/fs.c
189
static bool fs__check_mounts(struct fs *fs)
tools/lib/api/fs/fs.c
193
ptr = fs->mounts;
tools/lib/api/fs/fs.c
195
if (fs__valid_mount(*ptr, fs->magic) == 0) {
tools/lib/api/fs/fs.c
196
fs->path = strdup(*ptr);
tools/lib/api/fs/fs.c
197
if (!fs->path)
tools/lib/api/fs/fs.c
221
static bool fs__env_override(struct fs *fs)
tools/lib/api/fs/fs.c
224
size_t name_len = strlen(fs->name);
tools/lib/api/fs/fs.c
228
memcpy(upper_name, fs->name, name_len);
tools/lib/api/fs/fs.c
236
fs->path = strdup(override_path);
tools/lib/api/fs/fs.c
237
if (!fs->path)
tools/lib/api/fs/fs.c
242
static void fs__init_once(struct fs *fs)
tools/lib/api/fs/fs.c
244
if (!fs__env_override(fs) &&
tools/lib/api/fs/fs.c
245
!fs__check_mounts(fs) &&
tools/lib/api/fs/fs.c
246
!fs__read_mounts(fs)) {
tools/lib/api/fs/fs.c
247
assert(!fs->path);
tools/lib/api/fs/fs.c
249
assert(fs->path);
tools/lib/api/fs/fs.c
253
static const char *fs__mountpoint(const struct fs *fs)
tools/lib/api/fs/fs.c
255
return fs->path;
tools/lib/api/fs/fs.c
258
static const char *mount_overload(struct fs *fs)
tools/lib/api/fs/fs.c
260
size_t name_len = strlen(fs->name);
tools/lib/api/fs/fs.c
264
snprintf(upper_name, name_len, "PERF_%s_ENVIRONMENT", fs->name);
tools/lib/api/fs/fs.c
267
return getenv(upper_name) ?: *fs->mounts;
tools/lib/api/fs/fs.c
270
static const char *fs__mount(struct fs *fs)
tools/lib/api/fs/fs.c
274
pthread_mutex_lock(&fs->mount_mutex);
tools/lib/api/fs/fs.c
277
mountpoint = fs__mountpoint(fs);
tools/lib/api/fs/fs.c
281
mountpoint = mount_overload(fs);
tools/lib/api/fs/fs.c
283
if (mount(NULL, mountpoint, fs->name, 0, NULL) == 0 &&
tools/lib/api/fs/fs.c
284
fs__valid_mount(mountpoint, fs->magic) == 0) {
tools/lib/api/fs/fs.c
285
fs->path = strdup(mountpoint);
tools/lib/api/fs/fs.c
286
mountpoint = fs->path;
tools/lib/api/fs/fs.c
289
pthread_mutex_unlock(&fs->mount_mutex);
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
109
root = &task->fs->root;
tools/testing/selftests/bpf/progs/verifier_vfs_reject.c
125
pwd = &current->fs->pwd;
tools/testing/selftests/cgroup/lib/cgroup_util.c
262
char *fs, *mount, *type, *options;
tools/testing/selftests/cgroup/lib/cgroup_util.c
272
for (fs = strtok(buf, delim); fs; fs = strtok(NULL, delim)) {
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c
334
int ret, fs, mnt;
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c
337
fs = fsopen("tmpfs", 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c
338
ASSERT_GE(fs, 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c
340
ret = fsconfig(fs, FSCONFIG_CMD_CREATE, 0, 0, 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c
343
mnt = fsmount(fs, 0, 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c
346
close(fs);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c
361
int ret, fs, mnt;
tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c
364
fs = fsopen("tmpfs", 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c
365
ASSERT_GE(fs, 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c
367
ret = fsconfig(fs, FSCONFIG_CMD_CREATE, 0, 0, 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c
370
mnt = fsmount(fs, 0, 0);
tools/testing/selftests/filesystems/mount-notify/mount-notify_test_ns.c
373
close(fs);
tools/testing/selftests/kvm/include/x86/processor.h
526
uint16_t fs;
tools/testing/selftests/kvm/include/x86/processor.h
529
: /* output */ [fs]"=rm"(fs));
tools/testing/selftests/kvm/include/x86/processor.h
530
return fs;
tools/testing/selftests/kvm/include/x86/svm.h
193
struct vmcb_seg fs;
tools/testing/selftests/kvm/lib/x86/processor.c
123
segment_dump(stream, &sregs->fs, indent + 2);
tools/testing/selftests/mm/gup_longterm.c
40
struct statfs fs;
tools/testing/selftests/mm/gup_longterm.c
44
ret = fstatfs(fd, &fs);
tools/testing/selftests/mm/gup_longterm.c
47
return ret ? 0 : fs.f_type;
tools/testing/selftests/mm/khugepaged.c
131
struct statfs fs;
tools/testing/selftests/mm/khugepaged.c
147
if (statfs(finfo.dir, &fs)) {
tools/testing/selftests/mm/khugepaged.c
151
finfo.type = fs.f_type == TMPFS_MAGIC ? VMA_SHMEM : VMA_FILE;
tools/testing/selftests/mm/memory-failure.c
266
struct statfs fs;
tools/testing/selftests/mm/memory-failure.c
270
ret = fstatfs(fd, &fs);
tools/testing/selftests/mm/memory-failure.c
273
return ret ? 0 : (int)fs.f_type;
tools/testing/selftests/resctrl/resctrlfs.c
21
char line[256], *fs, *mntpoint;
tools/testing/selftests/resctrl/resctrlfs.c
31
fs = strtok(line, " \t");
tools/testing/selftests/resctrl/resctrlfs.c
32
if (!fs)
tools/testing/selftests/resctrl/resctrlfs.c
37
fs = strtok(NULL, " \t");
tools/testing/selftests/resctrl/resctrlfs.c
38
if (!fs)
tools/testing/selftests/resctrl/resctrlfs.c
40
if (strcmp(fs, "resctrl"))
tools/testing/selftests/rseq/rseq-x86.h
36
#define RSEQ_ASM_TP_SEGMENT %%fs
tools/testing/selftests/x86/sigreturn.c
281
unsigned short cs, gs, fs, ss;
tools/tracing/rtla/src/utils.c
701
static const int find_mount(const char *fs, char *mp, int sizeof_mp)
tools/tracing/rtla/src/utils.c
713
if (strcmp(type, fs) == 0) {
tools/tracing/rtla/src/utils.c
726
debug_msg("Fs %s found at %s\n", fs, mp);