ar                177 arch/arm64/include/asm/fpsimdmacros.h 	.macro _for__body \var:req
ar                 95 arch/ia64/include/asm/asmmacro.h 	mov r16=ar.pfs;					\
ar                100 arch/ia64/include/asm/asmmacro.h 	mov ar.pfs=r16;					\
ar                 25 arch/ia64/include/asm/kregs.h #define _IA64_KR_PREFIX(n)	_IA64_KR_PASTE(ar.k, n)
ar                 88 arch/ia64/include/asm/mca_asm.h 	mov	ar.rsc = 0 ;								\
ar                 91 arch/ia64/include/asm/mca_asm.h 	mov	temp2 = ar.bspstore;							\
ar                 95 arch/ia64/include/asm/mca_asm.h 	mov	temp1 = ar.rnat;							\
ar                 97 arch/ia64/include/asm/mca_asm.h 	mov	ar.bspstore = temp2;							\
ar                 99 arch/ia64/include/asm/mca_asm.h 	mov	ar.rnat = temp1;							\
ar                171 arch/ia64/include/asm/mca_asm.h 	mov	ar.rsc = 0;					\
ar                174 arch/ia64/include/asm/mca_asm.h 	mov	r13 = ar.k6;					\
ar                175 arch/ia64/include/asm/mca_asm.h 	mov	temp2 = ar.bspstore;				\
ar                179 arch/ia64/include/asm/mca_asm.h 	mov	temp1 = ar.rnat;				\
ar                181 arch/ia64/include/asm/mca_asm.h 	mov	ar.bspstore = temp2;				\
ar                183 arch/ia64/include/asm/mca_asm.h 	mov	ar.rnat = temp1;				\
ar                 39 arch/ia64/include/asm/native/inst.h (pred)	mov reg = ar.itc
ar                452 arch/ia64/include/asm/pal.h 			ar		: 1,	/* App regs valid */
ar                690 arch/ia64/include/asm/pal.h #define pmci_proc_app_regs_valid		pme_processor.ar
ar                383 arch/ia64/include/asm/sal.h 		    ar              : 1,
ar                391 arch/ia64/include/asm/sal.h 	u64 ar[128];
ar                218 arch/ia64/include/uapi/asm/ptrace.h 	unsigned long ar[128];
ar                 32 arch/ia64/kernel/entry.h 	.spillsp ar.pfs, PT(CR_IFS)+16+(off);	\
ar                 33 arch/ia64/kernel/entry.h 	.spillsp ar.unat, PT(AR_UNAT)+16+(off);	\
ar                 34 arch/ia64/kernel/entry.h 	.spillsp ar.fpsr, PT(AR_FPSR)+16+(off);	\
ar                 43 arch/ia64/kernel/entry.h 	.savesp ar.unat,SW(CALLER_UNAT)+16+(off);				\
ar                 44 arch/ia64/kernel/entry.h 	.savesp ar.fpsr,SW(AR_FPSR)+16+(off);					\
ar                 60 arch/ia64/kernel/entry.h 	.spillsp ar.pfs,SW(AR_PFS)+16+(off); .spillsp ar.lc,SW(AR_LC)+16+(off);	\
ar                 62 arch/ia64/kernel/entry.h 	.spillsp ar.rnat,SW(AR_RNAT)+16+(off);					\
ar                 63 arch/ia64/kernel/entry.h 	.spillsp ar.bspstore,SW(AR_BSPSTORE)+16+(off);				\
ar                 11 arch/ia64/kernel/minstate.h (pUStk) mov.m r20=ar.itc;
ar                 50 arch/ia64/kernel/minstate.h 	mov r27=ar.rsc;			/* M */							\
ar                 52 arch/ia64/kernel/minstate.h 	mov r25=ar.unat;		/* M */							\
ar                 54 arch/ia64/kernel/minstate.h 	mov r26=ar.pfs;			/* I */							\
ar                 56 arch/ia64/kernel/minstate.h 	mov r21=ar.fpsr;		/* M */							\
ar                 70 arch/ia64/kernel/minstate.h (pUStk)	mov ar.rsc=0;		/* set enforced lazy mode, pl 0, little-endian, loadrs=0 */	\
ar                 72 arch/ia64/kernel/minstate.h (pUStk)	mov.m r24=ar.rnat;									\
ar                 78 arch/ia64/kernel/minstate.h (pUStk)	mov r23=ar.bspstore;				/* save ar.bspstore */			\
ar                 80 arch/ia64/kernel/minstate.h (pUStk)	mov ar.bspstore=r22;				/* switch to kernel RBS */		\
ar                 83 arch/ia64/kernel/minstate.h (pUStk)	mov r18=ar.bsp;										\
ar                 84 arch/ia64/kernel/minstate.h (pUStk)	mov ar.rsc=0x3;		/* set eager mode, pl 0, little-endian, loadrs=0 */		\
ar                109 arch/ia64/kernel/minstate.h 	mov r8=ar.ccv;										\
ar                110 arch/ia64/kernel/minstate.h 	mov r9=ar.csd;										\
ar                111 arch/ia64/kernel/minstate.h 	mov r10=ar.ssd;										\
ar                194 arch/ia64/kernel/minstate.h 	mov ar.fpsr=r11;	/* M-unit */	\
ar                231 arch/ia64/kernel/minstate.h 	mov ar.pfs=r17;				\
ar                238 arch/ia64/kernel/minstate.h 	mov ar.rsc=r0				\
ar                242 arch/ia64/kernel/minstate.h 	mov ar.bspstore=r22			\
ar                244 arch/ia64/kernel/minstate.h 	mov r18=ar.bsp;				\
ar                738 arch/ia64/kernel/palinfo.c 		unsigned long ar:3;
ar                800 arch/ia64/kernel/palinfo.c 			   gr_reg->pl, gr_reg->ar, rid_reg->rid, gr_reg->p, gr_reg->ma,
ar                870 arch/ia64/kernel/ptrace.c 	retval |= __put_user(pt->ar_pfs, &ppr->ar[PT_AUR_PFS]);
ar                871 arch/ia64/kernel/ptrace.c 	retval |= __put_user(pt->ar_rsc, &ppr->ar[PT_AUR_RSC]);
ar                872 arch/ia64/kernel/ptrace.c 	retval |= __put_user(pt->ar_bspstore, &ppr->ar[PT_AUR_BSPSTORE]);
ar                873 arch/ia64/kernel/ptrace.c 	retval |= __put_user(pt->ar_unat, &ppr->ar[PT_AUR_UNAT]);
ar                874 arch/ia64/kernel/ptrace.c 	retval |= __put_user(pt->ar_ccv, &ppr->ar[PT_AUR_CCV]);
ar                875 arch/ia64/kernel/ptrace.c 	retval |= __put_user(pt->ar_fpsr, &ppr->ar[PT_AUR_FPSR]);
ar                877 arch/ia64/kernel/ptrace.c 	retval |= __put_user(ec, &ppr->ar[PT_AUR_EC]);
ar                878 arch/ia64/kernel/ptrace.c 	retval |= __put_user(lc, &ppr->ar[PT_AUR_LC]);
ar                879 arch/ia64/kernel/ptrace.c 	retval |= __put_user(rnat, &ppr->ar[PT_AUR_RNAT]);
ar                880 arch/ia64/kernel/ptrace.c 	retval |= __put_user(bsp, &ppr->ar[PT_AUR_BSP]);
ar               1006 arch/ia64/kernel/ptrace.c 	retval |= __get_user(pt->ar_pfs, &ppr->ar[PT_AUR_PFS]);
ar               1007 arch/ia64/kernel/ptrace.c 	retval |= __get_user(rsc, &ppr->ar[PT_AUR_RSC]);
ar               1008 arch/ia64/kernel/ptrace.c 	retval |= __get_user(pt->ar_bspstore, &ppr->ar[PT_AUR_BSPSTORE]);
ar               1009 arch/ia64/kernel/ptrace.c 	retval |= __get_user(pt->ar_unat, &ppr->ar[PT_AUR_UNAT]);
ar               1010 arch/ia64/kernel/ptrace.c 	retval |= __get_user(pt->ar_ccv, &ppr->ar[PT_AUR_CCV]);
ar               1011 arch/ia64/kernel/ptrace.c 	retval |= __get_user(pt->ar_fpsr, &ppr->ar[PT_AUR_FPSR]);
ar               1013 arch/ia64/kernel/ptrace.c 	retval |= __get_user(ec, &ppr->ar[PT_AUR_EC]);
ar               1014 arch/ia64/kernel/ptrace.c 	retval |= __get_user(lc, &ppr->ar[PT_AUR_LC]);
ar               1015 arch/ia64/kernel/ptrace.c 	retval |= __get_user(rnat, &ppr->ar[PT_AUR_RNAT]);
ar               1016 arch/ia64/kernel/ptrace.c 	retval |= __get_user(bsp, &ppr->ar[PT_AUR_BSP]);
ar                662 arch/powerpc/sysdev/fsl_pci.c 	u32 ar;
ar                899 arch/powerpc/sysdev/fsl_pci.c 			if (!(in_le32(&in[i].ar) & PEX_RCIWARn_EN))
ar                 70 arch/s390/include/asm/nmi.h 		u64 ar :  1; /* 33 access register validity */
ar                 39 arch/s390/include/uapi/asm/guarded_storage.h 			__u8 ar	: 4;
ar                256 arch/s390/kernel/nmi.c 	if (!mci.ar) {
ar                379 arch/s390/kvm/gaccess.c static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, u8 ar,
ar                390 arch/s390/kvm/gaccess.c 	if (ar >= NUM_ACRS)
ar                394 arch/s390/kvm/gaccess.c 	alet.val = vcpu->run->s.regs.acrs[ar];
ar                396 arch/s390/kvm/gaccess.c 	if (ar == 0 || alet.val == 0) {
ar                494 arch/s390/kvm/gaccess.c 		     u8 ar, enum gacc_mode mode, enum prot_type prot)
ar                548 arch/s390/kvm/gaccess.c 		pgm->exc_access_id = ar;
ar                555 arch/s390/kvm/gaccess.c 			 unsigned long ga, u8 ar, enum gacc_mode mode)
ar                580 arch/s390/kvm/gaccess.c 		rc = ar_translation(vcpu, asce, ar, mode);
ar                582 arch/s390/kvm/gaccess.c 			return trans_exc(vcpu, rc, ga, ar, mode, PROT_TYPE_ALC);
ar                797 arch/s390/kvm/gaccess.c static int guest_page_range(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar,
ar                809 arch/s390/kvm/gaccess.c 			return trans_exc(vcpu, PGM_PROTECTION, ga, ar, mode,
ar                822 arch/s390/kvm/gaccess.c 			return trans_exc(vcpu, rc, ga, ar, mode, prot);
ar                830 arch/s390/kvm/gaccess.c int access_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
ar                844 arch/s390/kvm/gaccess.c 	rc = get_vcpu_asce(vcpu, &asce, ga, ar, mode);
ar                856 arch/s390/kvm/gaccess.c 	rc = guest_page_range(vcpu, ga, ar, pages, nr_pages, asce, mode);
ar                904 arch/s390/kvm/gaccess.c int guest_translate_address(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar,
ar                913 arch/s390/kvm/gaccess.c 	rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode);
ar                938 arch/s390/kvm/gaccess.c int check_gva_range(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar,
ar                948 arch/s390/kvm/gaccess.c 		rc = guest_translate_address(vcpu, gva, ar, &gpa, mode);
ar                162 arch/s390/kvm/gaccess.h 			    u8 ar, unsigned long *gpa, enum gacc_mode mode);
ar                163 arch/s390/kvm/gaccess.h int check_gva_range(struct kvm_vcpu *vcpu, unsigned long gva, u8 ar,
ar                166 arch/s390/kvm/gaccess.h int access_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
ar                218 arch/s390/kvm/gaccess.h int write_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
ar                221 arch/s390/kvm/gaccess.h 	return access_guest(vcpu, ga, ar, data, len, GACC_STORE);
ar                238 arch/s390/kvm/gaccess.h int read_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data,
ar                241 arch/s390/kvm/gaccess.h 	return access_guest(vcpu, ga, ar, data, len, GACC_FETCH);
ar               4265 arch/s390/kvm/kvm-s390.c 	if (mop->flags & ~supported_flags || mop->ar >= NUM_ACRS || !mop->size)
ar               4282 arch/s390/kvm/kvm-s390.c 			r = check_gva_range(vcpu, mop->gaddr, mop->ar,
ar               4286 arch/s390/kvm/kvm-s390.c 		r = read_guest(vcpu, mop->gaddr, mop->ar, tmpbuf, mop->size);
ar               4294 arch/s390/kvm/kvm-s390.c 			r = check_gva_range(vcpu, mop->gaddr, mop->ar,
ar               4302 arch/s390/kvm/kvm-s390.c 		r = write_guest(vcpu, mop->gaddr, mop->ar, tmpbuf, mop->size);
ar                 99 arch/s390/kvm/kvm-s390.h static inline u64 kvm_s390_get_base_disp_s(struct kvm_vcpu *vcpu, u8 *ar)
ar                104 arch/s390/kvm/kvm-s390.h 	if (ar)
ar                105 arch/s390/kvm/kvm-s390.h 		*ar = base2;
ar                136 arch/s390/kvm/kvm-s390.h static inline u64 kvm_s390_get_base_disp_rsy(struct kvm_vcpu *vcpu, u8 *ar)
ar                145 arch/s390/kvm/kvm-s390.h 	if (ar)
ar                146 arch/s390/kvm/kvm-s390.h 		*ar = base2;
ar                151 arch/s390/kvm/kvm-s390.h static inline u64 kvm_s390_get_base_disp_rs(struct kvm_vcpu *vcpu, u8 *ar)
ar                156 arch/s390/kvm/kvm-s390.h 	if (ar)
ar                157 arch/s390/kvm/kvm-s390.h 		*ar = base2;
ar                 90 arch/s390/kvm/priv.c 	u8 ar;
ar                 98 arch/s390/kvm/priv.c 	op2 = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                101 arch/s390/kvm/priv.c 	rc = read_guest(vcpu, op2, ar, &gtod.tod, sizeof(gtod.tod));
ar                117 arch/s390/kvm/priv.c 	u8 ar;
ar                124 arch/s390/kvm/priv.c 	operand2 = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                131 arch/s390/kvm/priv.c 	rc = read_guest(vcpu, operand2, ar, &address, sizeof(address));
ar                155 arch/s390/kvm/priv.c 	u8 ar;
ar                162 arch/s390/kvm/priv.c 	operand2 = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                171 arch/s390/kvm/priv.c 	rc = write_guest(vcpu, operand2, ar, &address, sizeof(address));
ar                185 arch/s390/kvm/priv.c 	u8 ar;
ar                192 arch/s390/kvm/priv.c 	ga = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                197 arch/s390/kvm/priv.c 	rc = write_guest(vcpu, ga, ar, &vcpu_id, sizeof(vcpu_id));
ar                475 arch/s390/kvm/priv.c 	u8 ar;
ar                479 arch/s390/kvm/priv.c 	addr = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                498 arch/s390/kvm/priv.c 		rc = write_guest(vcpu, addr, ar, &tpi_data, len);
ar                733 arch/s390/kvm/priv.c 	u8 ar;
ar                740 arch/s390/kvm/priv.c 	addr = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                744 arch/s390/kvm/priv.c 	rc = read_guest(vcpu, addr, ar, &new_psw, sizeof(new_psw));
ar                762 arch/s390/kvm/priv.c 	u8 ar;
ar                769 arch/s390/kvm/priv.c 	addr = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                772 arch/s390/kvm/priv.c 	rc = read_guest(vcpu, addr, ar, &new_psw, sizeof(new_psw));
ar                786 arch/s390/kvm/priv.c 	u8 ar;
ar                793 arch/s390/kvm/priv.c 	operand2 = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                798 arch/s390/kvm/priv.c 	rc = write_guest(vcpu, operand2, ar, &stidp_data, sizeof(stidp_data));
ar                833 arch/s390/kvm/priv.c static void insert_stsi_usr_data(struct kvm_vcpu *vcpu, u64 addr, u8 ar,
ar                838 arch/s390/kvm/priv.c 	vcpu->run->s390_stsi.ar = ar;
ar                852 arch/s390/kvm/priv.c 	u8 ar;
ar                875 arch/s390/kvm/priv.c 	operand2 = kvm_s390_get_base_disp_s(vcpu, &ar);
ar                899 arch/s390/kvm/priv.c 	rc = write_guest(vcpu, operand2, ar, (void *)mem, PAGE_SIZE);
ar                905 arch/s390/kvm/priv.c 		insert_stsi_usr_data(vcpu, operand2, ar, fc, sel1, sel2);
ar               1281 arch/s390/kvm/priv.c 	u8 ar;
ar               1288 arch/s390/kvm/priv.c 	ga = kvm_s390_get_base_disp_rs(vcpu, &ar);
ar               1297 arch/s390/kvm/priv.c 	rc = read_guest(vcpu, ga, ar, ctl_array, nr_regs * sizeof(u32));
ar               1320 arch/s390/kvm/priv.c 	u8 ar;
ar               1327 arch/s390/kvm/priv.c 	ga = kvm_s390_get_base_disp_rs(vcpu, &ar);
ar               1343 arch/s390/kvm/priv.c 	rc = write_guest(vcpu, ga, ar, ctl_array, nr_regs * sizeof(u32));
ar               1354 arch/s390/kvm/priv.c 	u8 ar;
ar               1361 arch/s390/kvm/priv.c 	ga = kvm_s390_get_base_disp_rsy(vcpu, &ar);
ar               1370 arch/s390/kvm/priv.c 	rc = read_guest(vcpu, ga, ar, ctl_array, nr_regs * sizeof(u64));
ar               1392 arch/s390/kvm/priv.c 	u8 ar;
ar               1399 arch/s390/kvm/priv.c 	ga = kvm_s390_get_base_disp_rsy(vcpu, &ar);
ar               1415 arch/s390/kvm/priv.c 	rc = write_guest(vcpu, ga, ar, ctl_array, nr_regs * sizeof(u64));
ar               1441 arch/s390/kvm/priv.c 	u8 ar;
ar               1448 arch/s390/kvm/priv.c 	kvm_s390_get_base_disp_sse(vcpu, &address1, &address2, &ar, NULL);
ar               1457 arch/s390/kvm/priv.c 	ret = guest_translate_address(vcpu, address1, ar, &gpa, GACC_STORE);
ar               1461 arch/s390/kvm/priv.c 		ret = guest_translate_address(vcpu, address1, ar, &gpa,
ar                443 arch/x86/include/asm/vmx.h #define VMX_AR_DPL(ar) (((ar) >> VMX_AR_DPL_SHIFT) & 3)
ar                 76 arch/x86/kernel/signal.c 	u32 ar;
ar                 81 arch/x86/kernel/signal.c 		      : [ar] "=r" (ar)
ar                 90 arch/x86/kernel/signal.c 	ar &= AR_DPL_MASK | AR_S | AR_P | AR_TYPE_MASK;
ar                 91 arch/x86/kernel/signal.c 	if (ar != (AR_DPL3 | AR_S | AR_P | AR_TYPE_RWDATA) &&
ar                 92 arch/x86/kernel/signal.c 	    ar != (AR_DPL3 | AR_S | AR_P | AR_TYPE_RWDATA_EXPDOWN))
ar                744 arch/x86/kvm/vmx/vmx.c 	u32 *p = &vmx->segment_cache.seg[seg].ar;
ar               3082 arch/x86/kvm/vmx/vmx.c 	u32 ar;
ar               3096 arch/x86/kvm/vmx/vmx.c 	ar = vmx_read_guest_seg_ar(vmx, seg);
ar               3097 arch/x86/kvm/vmx/vmx.c 	var->unusable = (ar >> 16) & 1;
ar               3098 arch/x86/kvm/vmx/vmx.c 	var->type = ar & 15;
ar               3099 arch/x86/kvm/vmx/vmx.c 	var->s = (ar >> 4) & 1;
ar               3100 arch/x86/kvm/vmx/vmx.c 	var->dpl = (ar >> 5) & 3;
ar               3109 arch/x86/kvm/vmx/vmx.c 	var->avl = (ar >> 12) & 1;
ar               3110 arch/x86/kvm/vmx/vmx.c 	var->l = (ar >> 13) & 1;
ar               3111 arch/x86/kvm/vmx/vmx.c 	var->db = (ar >> 14) & 1;
ar               3112 arch/x86/kvm/vmx/vmx.c 	var->g = (ar >> 15) & 1;
ar               3133 arch/x86/kvm/vmx/vmx.c 		int ar = vmx_read_guest_seg_ar(vmx, VCPU_SREG_SS);
ar               3134 arch/x86/kvm/vmx/vmx.c 		return VMX_AR_DPL(ar);
ar               3140 arch/x86/kvm/vmx/vmx.c 	u32 ar;
ar               3143 arch/x86/kvm/vmx/vmx.c 		ar = 1 << 16;
ar               3145 arch/x86/kvm/vmx/vmx.c 		ar = var->type & 15;
ar               3146 arch/x86/kvm/vmx/vmx.c 		ar |= (var->s & 1) << 4;
ar               3147 arch/x86/kvm/vmx/vmx.c 		ar |= (var->dpl & 3) << 5;
ar               3148 arch/x86/kvm/vmx/vmx.c 		ar |= (var->present & 1) << 7;
ar               3149 arch/x86/kvm/vmx/vmx.c 		ar |= (var->avl & 1) << 12;
ar               3150 arch/x86/kvm/vmx/vmx.c 		ar |= (var->l & 1) << 13;
ar               3151 arch/x86/kvm/vmx/vmx.c 		ar |= (var->db & 1) << 14;
ar               3152 arch/x86/kvm/vmx/vmx.c 		ar |= (var->g & 1) << 15;
ar               3155 arch/x86/kvm/vmx/vmx.c 	return ar;
ar               3200 arch/x86/kvm/vmx/vmx.c 	u32 ar = vmx_read_guest_seg_ar(to_vmx(vcpu), VCPU_SREG_CS);
ar               3202 arch/x86/kvm/vmx/vmx.c 	*db = (ar >> 14) & 1;
ar               3203 arch/x86/kvm/vmx/vmx.c 	*l = (ar >> 13) & 1;
ar               3233 arch/x86/kvm/vmx/vmx.c 	u32 ar;
ar               3239 arch/x86/kvm/vmx/vmx.c 	ar = vmx_segment_access_rights(&var);
ar               3245 arch/x86/kvm/vmx/vmx.c 	if (ar != 0xf3)
ar               3505 arch/x86/kvm/vmx/vmx.c 	unsigned int ar;
ar               3510 arch/x86/kvm/vmx/vmx.c 	ar = 0x93;
ar               3512 arch/x86/kvm/vmx/vmx.c 		ar |= 0x08; /* code segment */
ar               3514 arch/x86/kvm/vmx/vmx.c 	vmcs_write32(sf->ar_bytes, ar);
ar                244 arch/x86/kvm/vmx/vmx.h 			u32 ar;
ar                 49 arch/xtensa/include/asm/asmmacro.h 	.macro	__loopi ar, at, size, incr
ar                 65 arch/xtensa/include/asm/asmmacro.h 	.macro	__loops	ar, as, at, incr_log2, mask_log2, cond, ncond
ar                104 arch/xtensa/include/asm/asmmacro.h 	.macro	__loopt	ar, as, at, incr_log2
ar                137 arch/xtensa/include/asm/asmmacro.h 	.macro	__endl	ar, as
ar                148 arch/xtensa/include/asm/asmmacro.h 	.macro	__endla	ar, as, incr
ar                 35 arch/xtensa/include/asm/cacheasm.h 	.macro	__loop_cache_unroll ar at insn size line_width max_immed
ar                 56 arch/xtensa/include/asm/cacheasm.h 	.macro	__loop_cache_all ar at insn size line_width max_immed
ar                 64 arch/xtensa/include/asm/cacheasm.h 	.macro	__loop_cache_range ar as at insn line_width
ar                 76 arch/xtensa/include/asm/cacheasm.h 	.macro	__loop_cache_page ar at insn line_width max_immed
ar                 83 arch/xtensa/include/asm/cacheasm.h 	.macro	___unlock_dcache_all ar at
ar                 93 arch/xtensa/include/asm/cacheasm.h 	.macro	___unlock_icache_all ar at
ar                103 arch/xtensa/include/asm/cacheasm.h 	.macro	___flush_invalidate_dcache_all ar at
ar                113 arch/xtensa/include/asm/cacheasm.h 	.macro	___flush_dcache_all ar at
ar                123 arch/xtensa/include/asm/cacheasm.h 	.macro	___invalidate_dcache_all ar at
ar                133 arch/xtensa/include/asm/cacheasm.h 	.macro	___invalidate_icache_all ar at
ar                144 arch/xtensa/include/asm/cacheasm.h 	.macro	___flush_invalidate_dcache_range ar as at
ar                153 arch/xtensa/include/asm/cacheasm.h 	.macro	___flush_dcache_range ar as at
ar                162 arch/xtensa/include/asm/cacheasm.h 	.macro	___invalidate_dcache_range ar as at
ar                171 arch/xtensa/include/asm/cacheasm.h 	.macro	___invalidate_icache_range ar as at
ar                181 arch/xtensa/include/asm/cacheasm.h 	.macro	___flush_invalidate_dcache_page ar as
ar                190 arch/xtensa/include/asm/cacheasm.h 	.macro ___flush_dcache_page ar as
ar                199 arch/xtensa/include/asm/cacheasm.h 	.macro	___invalidate_dcache_page ar as
ar                208 arch/xtensa/include/asm/cacheasm.h 	.macro	___invalidate_icache_page ar as
ar                291 drivers/clk/clk-aspeed.c 	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
ar                300 drivers/clk/clk-aspeed.c 	return regmap_update_bits(ar->map, reg, BIT(bit), 0);
ar                306 drivers/clk/clk-aspeed.c 	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
ar                315 drivers/clk/clk-aspeed.c 	return regmap_update_bits(ar->map, reg, BIT(bit), BIT(bit));
ar                321 drivers/clk/clk-aspeed.c 	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
ar                331 drivers/clk/clk-aspeed.c 	ret = regmap_read(ar->map, reg, &val);
ar                385 drivers/clk/clk-aspeed.c 	struct aspeed_reset *ar;
ar                397 drivers/clk/clk-aspeed.c 	ar = devm_kzalloc(dev, sizeof(*ar), GFP_KERNEL);
ar                398 drivers/clk/clk-aspeed.c 	if (!ar)
ar                401 drivers/clk/clk-aspeed.c 	ar->map = map;
ar                402 drivers/clk/clk-aspeed.c 	ar->rcdev.owner = THIS_MODULE;
ar                403 drivers/clk/clk-aspeed.c 	ar->rcdev.nr_resets = ARRAY_SIZE(aspeed_resets);
ar                404 drivers/clk/clk-aspeed.c 	ar->rcdev.ops = &aspeed_reset_ops;
ar                405 drivers/clk/clk-aspeed.c 	ar->rcdev.of_node = dev->of_node;
ar                407 drivers/clk/clk-aspeed.c 	ret = devm_reset_controller_register(dev, &ar->rcdev);
ar                315 drivers/clk/clk-ast2600.c 	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
ar                320 drivers/clk/clk-ast2600.c 	return regmap_write(ar->map, reg + 0x04, rst);
ar                326 drivers/clk/clk-ast2600.c 	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
ar                330 drivers/clk/clk-ast2600.c 	return regmap_write(ar->map, reg, rst);
ar                336 drivers/clk/clk-ast2600.c 	struct aspeed_reset *ar = to_aspeed_reset(rcdev);
ar                342 drivers/clk/clk-ast2600.c 	ret = regmap_read(ar->map, reg, &val);
ar                410 drivers/clk/clk-ast2600.c 	struct aspeed_reset *ar;
ar                422 drivers/clk/clk-ast2600.c 	ar = devm_kzalloc(dev, sizeof(*ar), GFP_KERNEL);
ar                423 drivers/clk/clk-ast2600.c 	if (!ar)
ar                426 drivers/clk/clk-ast2600.c 	ar->map = map;
ar                428 drivers/clk/clk-ast2600.c 	ar->rcdev.owner = THIS_MODULE;
ar                429 drivers/clk/clk-ast2600.c 	ar->rcdev.nr_resets = 64;
ar                430 drivers/clk/clk-ast2600.c 	ar->rcdev.ops = &aspeed_g6_reset_ops;
ar                431 drivers/clk/clk-ast2600.c 	ar->rcdev.of_node = dev->of_node;
ar                433 drivers/clk/clk-ast2600.c 	ret = devm_reset_controller_register(dev, &ar->rcdev);
ar                 34 drivers/edac/cell_edac.c static void cell_edac_count_ce(struct mem_ctl_info *mci, int chan, u64 ar)
ar                 41 drivers/edac/cell_edac.c 		priv->node, chan, ar);
ar                 44 drivers/edac/cell_edac.c 	address = (ar & 0xffffffffe0000000ul) >> 29;
ar                 49 drivers/edac/cell_edac.c 	syndrome = (ar & 0x000000001fe00000ul) >> 21;
ar                 57 drivers/edac/cell_edac.c static void cell_edac_count_ue(struct mem_ctl_info *mci, int chan, u64 ar)
ar                 64 drivers/edac/cell_edac.c 		priv->node, chan, ar);
ar                 67 drivers/edac/cell_edac.c 	address = (ar & 0xffffffffe0000000ul) >> 29;
ar                247 drivers/gpu/drm/ast/ast_drv.h 	u8 ar[20];
ar                264 drivers/gpu/drm/ast/ast_mode.c 		jreg = stdtable->ar[i];
ar                237 drivers/media/pci/saa7164/saa7164-api.c 	struct tmComResEncVideoInputAspectRatio ar;
ar                280 drivers/media/pci/saa7164/saa7164-api.c 	ar.width = 0;
ar                281 drivers/media/pci/saa7164/saa7164-api.c 	ar.height = 0;
ar                284 drivers/media/pci/saa7164/saa7164-api.c 		sizeof(struct tmComResEncVideoInputAspectRatio), &ar);
ar                305 drivers/media/pci/saa7164/saa7164-api.c 		ar.width, ar.height);
ar                313 drivers/media/pci/saa7164/saa7164-api.c 	struct tmComResEncVideoInputAspectRatio ar;
ar                321 drivers/media/pci/saa7164/saa7164-api.c 		ar.width = 1;
ar                322 drivers/media/pci/saa7164/saa7164-api.c 		ar.height = 1;
ar                325 drivers/media/pci/saa7164/saa7164-api.c 		ar.width = 4;
ar                326 drivers/media/pci/saa7164/saa7164-api.c 		ar.height = 3;
ar                329 drivers/media/pci/saa7164/saa7164-api.c 		ar.width = 16;
ar                330 drivers/media/pci/saa7164/saa7164-api.c 		ar.height = 9;
ar                333 drivers/media/pci/saa7164/saa7164-api.c 		ar.width = 221;
ar                334 drivers/media/pci/saa7164/saa7164-api.c 		ar.height = 100;
ar                342 drivers/media/pci/saa7164/saa7164-api.c 		ar.width, ar.height);
ar                347 drivers/media/pci/saa7164/saa7164-api.c 		sizeof(struct tmComResEncVideoInputAspectRatio), &ar);
ar                347 drivers/net/ethernet/aquantia/atlantic/aq_nic.c 						     self->mc_list.ar,
ar                644 drivers/net/ethernet/aquantia/atlantic/aq_nic.c 			ether_addr_copy(self->mc_list.ar[i++], ha->addr);
ar                654 drivers/net/ethernet/aquantia/atlantic/aq_nic.c 				ether_addr_copy(self->mc_list.ar[i++],
ar                663 drivers/net/ethernet/aquantia/atlantic/aq_nic.c 						    self->mc_list.ar,
ar                101 drivers/net/ethernet/aquantia/atlantic/aq_nic.h 		u8 ar[AQ_HW_MULTICAST_ADDRESS_MAX][ETH_ALEN];
ar               5176 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		req.ar = cpu_to_le16(bp->grp_info[grp_idx].agg_fw_ring_id);
ar               5332 drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h 	__le16	ar;
ar                655 drivers/net/ethernet/freescale/fman/fman_keygen.c 	u32 ar;
ar                683 drivers/net/ethernet/freescale/fman/fman_keygen.c 		ar = build_ar_bind_scheme(i, true);
ar                684 drivers/net/ethernet/freescale/fman/fman_keygen.c 		keygen_write_ar_wait(keygen_regs, ar);
ar                688 drivers/net/ethernet/freescale/fman/fman_keygen.c 		ar = build_ar_bind_cls_plan(i, true);
ar                689 drivers/net/ethernet/freescale/fman/fman_keygen.c 		keygen_write_ar_wait(keygen_regs, ar);
ar                 45 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_submit_rx_cmd(struct ar5523 *ar);
ar                 46 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_data_tx_pkt_put(struct ar5523 *ar);
ar                 48 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_read_reply(struct ar5523 *ar, struct ar5523_cmd_hdr *hdr,
ar                 61 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "Code = %d len = %d\n", be32_to_cpu(hdr->code) & 0xff,
ar                 77 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "olen to small %d < %d\n",
ar                 94 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = urb->context;
ar                 95 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523_tx_cmd *cmd = &ar->tx_cmd;
ar                 96 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523_cmd_hdr *hdr = ar->rx_cmd_buf;
ar                102 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "RX USB error %d.\n", urb->status);
ar                107 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "RX USB to short.\n");
ar                111 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "%s code %02x priv %d\n", __func__,
ar                121 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "Unexpected command id: %02x\n",
ar                125 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_read_reply(ar, hdr, cmd);
ar                129 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "WDCMSG_DEVICE_AVAIL\n");
ar                136 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "WDCMSG_SEND_COMPLETE: %d pending\n",
ar                137 drivers/net/wireless/ath/ar5523/ar5523.c 			atomic_read(&ar->tx_nr_pending));
ar                138 drivers/net/wireless/ath/ar5523/ar5523.c 		if (!test_bit(AR5523_HW_UP, &ar->flags))
ar                139 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_dbg(ar, "Unexpected WDCMSG_SEND_COMPLETE\n");
ar                141 drivers/net/wireless/ath/ar5523/ar5523.c 			mod_timer(&ar->tx_wd_timer,
ar                143 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_data_tx_pkt_put(ar);
ar                153 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "Invalid reply to WDCMSG_TARGET_START");
ar                163 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "WDCMSG_STATS_UPDATE\n");
ar                168 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_submit_rx_cmd(ar);
ar                171 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_alloc_rx_cmd(struct ar5523 *ar)
ar                173 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->rx_cmd_urb = usb_alloc_urb(0, GFP_KERNEL);
ar                174 drivers/net/wireless/ath/ar5523/ar5523.c 	if (!ar->rx_cmd_urb)
ar                177 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->rx_cmd_buf = usb_alloc_coherent(ar->dev, AR5523_MAX_RXCMDSZ,
ar                179 drivers/net/wireless/ath/ar5523/ar5523.c 					    &ar->rx_cmd_urb->transfer_dma);
ar                180 drivers/net/wireless/ath/ar5523/ar5523.c 	if (!ar->rx_cmd_buf) {
ar                181 drivers/net/wireless/ath/ar5523/ar5523.c 		usb_free_urb(ar->rx_cmd_urb);
ar                187 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_cancel_rx_cmd(struct ar5523 *ar)
ar                189 drivers/net/wireless/ath/ar5523/ar5523.c 	usb_kill_urb(ar->rx_cmd_urb);
ar                192 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_free_rx_cmd(struct ar5523 *ar)
ar                194 drivers/net/wireless/ath/ar5523/ar5523.c 	usb_free_coherent(ar->dev, AR5523_MAX_RXCMDSZ,
ar                195 drivers/net/wireless/ath/ar5523/ar5523.c 			  ar->rx_cmd_buf, ar->rx_cmd_urb->transfer_dma);
ar                196 drivers/net/wireless/ath/ar5523/ar5523.c 	usb_free_urb(ar->rx_cmd_urb);
ar                199 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_submit_rx_cmd(struct ar5523 *ar)
ar                203 drivers/net/wireless/ath/ar5523/ar5523.c 	usb_fill_bulk_urb(ar->rx_cmd_urb, ar->dev,
ar                204 drivers/net/wireless/ath/ar5523/ar5523.c 			  ar5523_cmd_rx_pipe(ar->dev), ar->rx_cmd_buf,
ar                205 drivers/net/wireless/ath/ar5523/ar5523.c 			  AR5523_MAX_RXCMDSZ, ar5523_cmd_rx_cb, ar);
ar                206 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->rx_cmd_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
ar                208 drivers/net/wireless/ath/ar5523/ar5523.c 	error = usb_submit_urb(ar->rx_cmd_urb, GFP_ATOMIC);
ar                211 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "error %d when submitting rx urb\n",
ar                224 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = cmd->ar;
ar                227 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Failed to TX command. Status = %d\n",
ar                240 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_cmd(struct ar5523 *ar, u32 code, const void *idata,
ar                244 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523_tx_cmd *cmd = &ar->tx_cmd;
ar                265 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "do cmd %02x\n", code);
ar                267 drivers/net/wireless/ath/ar5523/ar5523.c 	usb_fill_bulk_urb(cmd->urb_tx, ar->dev, ar5523_cmd_tx_pipe(ar->dev),
ar                273 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not send command 0x%x, error=%d\n",
ar                280 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "timeout waiting for command %02x reply\n",
ar                287 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_cmd_write(struct ar5523 *ar, u32 code, const void *data,
ar                291 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd(ar, code, data, len, NULL, 0, flags);
ar                294 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_cmd_read(struct ar5523 *ar, u32 code, const void *idata,
ar                298 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd(ar, code, idata, ilen, odata, olen, flags);
ar                301 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_config(struct ar5523 *ar, u32 reg, u32 val)
ar                310 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_cmd_write(ar, WDCMSG_TARGET_SET_CONFIG, &write,
ar                313 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not write register 0x%02x\n", reg);
ar                317 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_config_multi(struct ar5523 *ar, u32 reg, const void *data,
ar                328 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_cmd_write(ar, WDCMSG_TARGET_SET_CONFIG, &write,
ar                331 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not write %d bytes to register 0x%02x\n",
ar                336 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_get_status(struct ar5523 *ar, u32 which, void *odata,
ar                343 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_cmd_read(ar, WDCMSG_TARGET_GET_STATUS,
ar                346 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not read EEPROM offset 0x%02x\n", which);
ar                350 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_get_capability(struct ar5523 *ar, u32 cap, u32 *val)
ar                356 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_cmd_read(ar, WDCMSG_TARGET_GET_CAPABILITY, &cap_be,
ar                360 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not read capability %u\n", cap);
ar                367 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_get_devcap(struct ar5523 *ar)
ar                370 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_capability(ar, x, &cap);		\
ar                373 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_info(ar, "Cap: "			\
ar                416 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_set_ledsteady(struct ar5523 *ar, int lednum, int ledmode)
ar                423 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "set %s led %s (steady)\n",
ar                426 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_SET_LED_STEADY, &led, sizeof(led),
ar                430 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_set_rxfilter(struct ar5523 *ar, u32 bits, u32 op)
ar                437 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "setting Rx filter=0x%x flags=0x%x\n", bits, op);
ar                438 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_RX_FILTER, &rxfilter,
ar                442 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_reset_tx_queues(struct ar5523 *ar)
ar                446 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "resetting Tx queue\n");
ar                447 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_RELEASE_TX_QUEUE,
ar                451 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_set_chan(struct ar5523 *ar)
ar                453 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ieee80211_conf *conf = &ar->hw->conf;
ar                465 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "set chan flags 0x%x freq %d\n",
ar                468 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_RESET, &reset, sizeof(reset), 0);
ar                471 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_queue_init(struct ar5523 *ar)
ar                475 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "setting up Tx queue\n");
ar                485 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_SETUP_TX_QUEUE, &qinfo,
ar                489 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_switch_chan(struct ar5523 *ar)
ar                493 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_set_chan(ar);
ar                495 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not set chan, error %d\n", error);
ar                500 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_reset_tx_queues(ar);
ar                502 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not reset Tx queues, error %d\n",
ar                507 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_queue_init(ar);
ar                509 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not init wme, error %d\n", error);
ar                515 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_rx_data_put(struct ar5523 *ar,
ar                519 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_lock_irqsave(&ar->rx_data_list_lock, flags);
ar                520 drivers/net/wireless/ath/ar5523/ar5523.c 	list_move(&data->list, &ar->rx_data_free);
ar                521 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_unlock_irqrestore(&ar->rx_data_list_lock, flags);
ar                527 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = data->ar;
ar                530 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ieee80211_hw *hw = ar->hw;
ar                536 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "%s\n", __func__);
ar                540 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "%s: USB err: %d\n", __func__,
ar                546 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "RX: wrong xfer size (usblen=%d)\n", usblen);
ar                554 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "RX: No final flag. s: %d f: %02x l: %d\n",
ar                565 drivers/net/wireless/ath/ar5523/ar5523.c 	if (rxlen > ar->rxbufsz) {
ar                566 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "RX: Bad descriptor (len=%d)\n",
ar                572 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "RX: rxlen is 0\n");
ar                577 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "Bad RX status (0x%x len = %d). Skip\n",
ar                587 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "eek, alignment workaround activated\n");
ar                609 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_rx_data_put(ar, data);
ar                610 drivers/net/wireless/ath/ar5523/ar5523.c 	if (atomic_inc_return(&ar->rx_data_free_cnt) >=
ar                612 drivers/net/wireless/ath/ar5523/ar5523.c 	    test_bit(AR5523_HW_UP, &ar->flags))
ar                613 drivers/net/wireless/ath/ar5523/ar5523.c 		queue_work(ar->wq, &ar->rx_refill_work);
ar                618 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = container_of(work, struct ar5523, rx_refill_work);
ar                623 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "%s\n", __func__);
ar                625 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_lock_irqsave(&ar->rx_data_list_lock, flags);
ar                627 drivers/net/wireless/ath/ar5523/ar5523.c 		if (!list_empty(&ar->rx_data_free))
ar                628 drivers/net/wireless/ath/ar5523/ar5523.c 			data = (struct ar5523_rx_data *) ar->rx_data_free.next;
ar                631 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_unlock_irqrestore(&ar->rx_data_list_lock, flags);
ar                636 drivers/net/wireless/ath/ar5523/ar5523.c 		data->skb = alloc_skb(ar->rxbufsz, GFP_KERNEL);
ar                638 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "could not allocate rx skbuff\n");
ar                642 drivers/net/wireless/ath/ar5523/ar5523.c 		usb_fill_bulk_urb(data->urb, ar->dev,
ar                643 drivers/net/wireless/ath/ar5523/ar5523.c 				  ar5523_data_rx_pipe(ar->dev), data->skb->data,
ar                644 drivers/net/wireless/ath/ar5523/ar5523.c 				  ar->rxbufsz, ar5523_data_rx_cb, data);
ar                646 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_lock_irqsave(&ar->rx_data_list_lock, flags);
ar                647 drivers/net/wireless/ath/ar5523/ar5523.c 		list_move(&data->list, &ar->rx_data_used);
ar                648 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_unlock_irqrestore(&ar->rx_data_list_lock, flags);
ar                649 drivers/net/wireless/ath/ar5523/ar5523.c 		atomic_dec(&ar->rx_data_free_cnt);
ar                655 drivers/net/wireless/ath/ar5523/ar5523.c 				ar5523_err(ar, "Err sending rx data urb %d\n",
ar                657 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_rx_data_put(ar, data);
ar                658 drivers/net/wireless/ath/ar5523/ar5523.c 			atomic_inc(&ar->rx_data_free_cnt);
ar                667 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_cancel_rx_bufs(struct ar5523 *ar)
ar                673 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_lock_irqsave(&ar->rx_data_list_lock, flags);
ar                674 drivers/net/wireless/ath/ar5523/ar5523.c 		if (!list_empty(&ar->rx_data_used))
ar                675 drivers/net/wireless/ath/ar5523/ar5523.c 			data = (struct ar5523_rx_data *) ar->rx_data_used.next;
ar                678 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_unlock_irqrestore(&ar->rx_data_list_lock, flags);
ar                684 drivers/net/wireless/ath/ar5523/ar5523.c 		list_move(&data->list, &ar->rx_data_free);
ar                685 drivers/net/wireless/ath/ar5523/ar5523.c 		atomic_inc(&ar->rx_data_free_cnt);
ar                689 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_free_rx_bufs(struct ar5523 *ar)
ar                693 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cancel_rx_bufs(ar);
ar                694 drivers/net/wireless/ath/ar5523/ar5523.c 	while (!list_empty(&ar->rx_data_free)) {
ar                695 drivers/net/wireless/ath/ar5523/ar5523.c 		data = (struct ar5523_rx_data *) ar->rx_data_free.next;
ar                701 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_alloc_rx_bufs(struct ar5523 *ar)
ar                706 drivers/net/wireless/ath/ar5523/ar5523.c 		struct ar5523_rx_data *data = &ar->rx_data[i];
ar                708 drivers/net/wireless/ath/ar5523/ar5523.c 		data->ar = ar;
ar                712 drivers/net/wireless/ath/ar5523/ar5523.c 		list_add_tail(&data->list, &ar->rx_data_free);
ar                713 drivers/net/wireless/ath/ar5523/ar5523.c 		atomic_inc(&ar->rx_data_free_cnt);
ar                718 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_rx_bufs(ar);
ar                722 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_data_tx_pkt_put(struct ar5523 *ar)
ar                724 drivers/net/wireless/ath/ar5523/ar5523.c 	atomic_dec(&ar->tx_nr_total);
ar                725 drivers/net/wireless/ath/ar5523/ar5523.c 	if (!atomic_dec_return(&ar->tx_nr_pending)) {
ar                726 drivers/net/wireless/ath/ar5523/ar5523.c 		del_timer(&ar->tx_wd_timer);
ar                727 drivers/net/wireless/ath/ar5523/ar5523.c 		wake_up(&ar->tx_flush_waitq);
ar                730 drivers/net/wireless/ath/ar5523/ar5523.c 	if (atomic_read(&ar->tx_nr_total) < AR5523_TX_DATA_RESTART_COUNT) {
ar                731 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "restart tx queue\n");
ar                732 drivers/net/wireless/ath/ar5523/ar5523.c 		ieee80211_wake_queues(ar->hw);
ar                742 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = data->ar;
ar                745 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "data tx urb completed: %d\n", urb->status);
ar                747 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_lock_irqsave(&ar->tx_data_list_lock, flags);
ar                749 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_unlock_irqrestore(&ar->tx_data_list_lock, flags);
ar                752 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "%s: urb status: %d\n", __func__, urb->status);
ar                753 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_data_tx_pkt_put(ar);
ar                754 drivers/net/wireless/ath/ar5523/ar5523.c 		ieee80211_free_txskb(ar->hw, skb);
ar                757 drivers/net/wireless/ath/ar5523/ar5523.c 		ieee80211_tx_status_irqsafe(ar->hw, skb);
ar                769 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar                772 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "tx called\n");
ar                773 drivers/net/wireless/ath/ar5523/ar5523.c 	if (atomic_inc_return(&ar->tx_nr_total) >= AR5523_TX_DATA_COUNT) {
ar                774 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "tx queue full\n");
ar                775 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "stop queues (tot %d pend %d)\n",
ar                776 drivers/net/wireless/ath/ar5523/ar5523.c 			   atomic_read(&ar->tx_nr_total),
ar                777 drivers/net/wireless/ath/ar5523/ar5523.c 			   atomic_read(&ar->tx_nr_pending));
ar                781 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_lock_irqsave(&ar->tx_data_list_lock, flags);
ar                782 drivers/net/wireless/ath/ar5523/ar5523.c 	list_add_tail(&data->list, &ar->tx_queue_pending);
ar                783 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_unlock_irqrestore(&ar->tx_data_list_lock, flags);
ar                785 drivers/net/wireless/ath/ar5523/ar5523.c 	ieee80211_queue_work(ar->hw, &ar->tx_work);
ar                788 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_tx_work_locked(struct ar5523 *ar)
ar                803 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "%s\n", __func__);
ar                805 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_lock_irqsave(&ar->tx_data_list_lock, flags);
ar                806 drivers/net/wireless/ath/ar5523/ar5523.c 		if (!list_empty(&ar->tx_queue_pending)) {
ar                808 drivers/net/wireless/ath/ar5523/ar5523.c 				ar->tx_queue_pending.next;
ar                812 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_unlock_irqrestore(&ar->tx_data_list_lock, flags);
ar                826 drivers/net/wireless/ath/ar5523/ar5523.c 			ieee80211_free_txskb(ar->hw, skb);
ar                830 drivers/net/wireless/ath/ar5523/ar5523.c 		data->ar = ar;
ar                846 drivers/net/wireless/ath/ar5523/ar5523.c 		if (test_bit(AR5523_CONNECTED, &ar->flags))
ar                857 drivers/net/wireless/ath/ar5523/ar5523.c 		usb_fill_bulk_urb(urb, ar->dev, ar5523_data_tx_pipe(ar->dev),
ar                860 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_lock_irqsave(&ar->tx_data_list_lock, flags);
ar                861 drivers/net/wireless/ath/ar5523/ar5523.c 		list_add_tail(&data->list, &ar->tx_queue_submitted);
ar                862 drivers/net/wireless/ath/ar5523/ar5523.c 		spin_unlock_irqrestore(&ar->tx_data_list_lock, flags);
ar                863 drivers/net/wireless/ath/ar5523/ar5523.c 		mod_timer(&ar->tx_wd_timer, jiffies + AR5523_TX_WD_TIMEOUT);
ar                864 drivers/net/wireless/ath/ar5523/ar5523.c 		atomic_inc(&ar->tx_nr_pending);
ar                866 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "TX Frame (%d pending)\n",
ar                867 drivers/net/wireless/ath/ar5523/ar5523.c 			   atomic_read(&ar->tx_nr_pending));
ar                870 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "error %d when submitting tx urb\n",
ar                872 drivers/net/wireless/ath/ar5523/ar5523.c 			spin_lock_irqsave(&ar->tx_data_list_lock, flags);
ar                874 drivers/net/wireless/ath/ar5523/ar5523.c 			spin_unlock_irqrestore(&ar->tx_data_list_lock, flags);
ar                875 drivers/net/wireless/ath/ar5523/ar5523.c 			atomic_dec(&ar->tx_nr_pending);
ar                876 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_data_tx_pkt_put(ar);
ar                878 drivers/net/wireless/ath/ar5523/ar5523.c 			ieee80211_free_txskb(ar->hw, skb);
ar                885 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = container_of(work, struct ar5523, tx_work);
ar                887 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "%s\n", __func__);
ar                888 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar                889 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_tx_work_locked(ar);
ar                890 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar                895 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = from_timer(ar, t, tx_wd_timer);
ar                897 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "TX watchdog timer triggered\n");
ar                898 drivers/net/wireless/ath/ar5523/ar5523.c 	ieee80211_queue_work(ar->hw, &ar->tx_wd_work);
ar                903 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = container_of(work, struct ar5523, tx_wd_work);
ar                909 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar                910 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_err(ar, "TX queue stuck (tot %d pend %d)\n",
ar                911 drivers/net/wireless/ath/ar5523/ar5523.c 		   atomic_read(&ar->tx_nr_total),
ar                912 drivers/net/wireless/ath/ar5523/ar5523.c 		   atomic_read(&ar->tx_nr_pending));
ar                914 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_err(ar, "Will restart dongle.\n");
ar                915 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cmd_write(ar, WDCMSG_TARGET_RESET, NULL, 0, 0);
ar                916 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar                919 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_flush_tx(struct ar5523 *ar)
ar                921 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_tx_work_locked(ar);
ar                924 drivers/net/wireless/ath/ar5523/ar5523.c 	if (test_bit(AR5523_USB_DISCONNECTED, &ar->flags))
ar                926 drivers/net/wireless/ath/ar5523/ar5523.c 	if (!wait_event_timeout(ar->tx_flush_waitq,
ar                927 drivers/net/wireless/ath/ar5523/ar5523.c 	    !atomic_read(&ar->tx_nr_pending), AR5523_FLUSH_TIMEOUT))
ar                928 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "flush timeout (tot %d pend %d)\n",
ar                929 drivers/net/wireless/ath/ar5523/ar5523.c 			   atomic_read(&ar->tx_nr_total),
ar                930 drivers/net/wireless/ath/ar5523/ar5523.c 			   atomic_read(&ar->tx_nr_pending));
ar                933 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_free_tx_cmd(struct ar5523 *ar)
ar                935 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523_tx_cmd *cmd = &ar->tx_cmd;
ar                937 drivers/net/wireless/ath/ar5523/ar5523.c 	usb_free_coherent(ar->dev, AR5523_MAX_RXCMDSZ, cmd->buf_tx,
ar                942 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_alloc_tx_cmd(struct ar5523 *ar)
ar                944 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523_tx_cmd *cmd = &ar->tx_cmd;
ar                946 drivers/net/wireless/ath/ar5523/ar5523.c 	cmd->ar = ar;
ar                952 drivers/net/wireless/ath/ar5523/ar5523.c 	cmd->buf_tx = usb_alloc_coherent(ar->dev, AR5523_MAX_TXCMDSZ,
ar                968 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = container_of(work, struct ar5523, stat_work.work);
ar                971 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "%s\n", __func__);
ar                972 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar                978 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_cmd_write(ar, WDCMSG_TARGET_GET_STATS, NULL, 0, 0);
ar                980 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not query stats, error %d\n", error);
ar                981 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar                982 drivers/net/wireless/ath/ar5523/ar5523.c 	ieee80211_queue_delayed_work(ar->hw, &ar->stat_work, HZ);
ar                990 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar                994 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "start called\n");
ar                996 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar                998 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cmd_write(ar, WDCMSG_BIND, &val, sizeof(val), 0);
ar               1001 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config_multi(ar, CFG_MAC_ADDR, &ar->hw->wiphy->perm_addr,
ar               1005 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_RATE_CONTROL_ENABLE, 0x00000001);
ar               1006 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_DIVERSITY_CTL, 0x00000001);
ar               1007 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_ABOLT, 0x0000003f);
ar               1008 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_WME_ENABLED, 0x00000000);
ar               1010 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_SERVICE_TYPE, 1);
ar               1011 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_TP_SCALE, 0x00000000);
ar               1012 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_TPC_HALF_DBM5, 0x0000003c);
ar               1013 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_TPC_HALF_DBM2, 0x0000003c);
ar               1014 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_OVERRD_TX_POWER, 0x00000000);
ar               1015 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_GMODE_PROTECTION, 0x00000000);
ar               1016 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_GMODE_PROTECT_RATE_INDEX, 0x00000003);
ar               1017 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_PROTECTION_TYPE, 0x00000000);
ar               1018 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_config(ar, CFG_MODE_CTS, 0x00000002);
ar               1020 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_cmd_read(ar, WDCMSG_TARGET_START, NULL, 0,
ar               1023 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "could not start target, error %d\n", error);
ar               1026 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "WDCMSG_TARGET_START returns handle: 0x%x\n",
ar               1029 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_switch_chan(ar);
ar               1032 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cmd_write(ar, WDCMSG_SET_PWR_MODE, &val, sizeof(val), 0);
ar               1034 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cmd_write(ar, WDCMSG_RESET_KEY_CACHE, NULL, 0, 0);
ar               1036 drivers/net/wireless/ath/ar5523/ar5523.c 	set_bit(AR5523_HW_UP, &ar->flags);
ar               1037 drivers/net/wireless/ath/ar5523/ar5523.c 	queue_work(ar->wq, &ar->rx_refill_work);
ar               1040 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_rxfilter(ar, 0, UATH_FILTER_OP_INIT);
ar               1041 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_rxfilter(ar,
ar               1046 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_ledsteady(ar, UATH_LED_ACTIVITY, UATH_LED_ON);
ar               1047 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "start OK\n");
ar               1050 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar               1056 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1058 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "stop called\n");
ar               1060 drivers/net/wireless/ath/ar5523/ar5523.c 	cancel_delayed_work_sync(&ar->stat_work);
ar               1061 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar               1062 drivers/net/wireless/ath/ar5523/ar5523.c 	clear_bit(AR5523_HW_UP, &ar->flags);
ar               1064 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_ledsteady(ar, UATH_LED_LINK, UATH_LED_OFF);
ar               1065 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_ledsteady(ar, UATH_LED_ACTIVITY, UATH_LED_OFF);
ar               1067 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cmd_write(ar, WDCMSG_TARGET_STOP, NULL, 0, 0);
ar               1069 drivers/net/wireless/ath/ar5523/ar5523.c 	del_timer_sync(&ar->tx_wd_timer);
ar               1070 drivers/net/wireless/ath/ar5523/ar5523.c 	cancel_work_sync(&ar->tx_wd_work);
ar               1071 drivers/net/wireless/ath/ar5523/ar5523.c 	cancel_work_sync(&ar->rx_refill_work);
ar               1072 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cancel_rx_bufs(ar);
ar               1073 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar               1078 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1081 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "set_rts_threshold called\n");
ar               1082 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar               1084 drivers/net/wireless/ath/ar5523/ar5523.c 	ret = ar5523_config(ar, CFG_USER_RTS_THRESHOLD, value);
ar               1086 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar               1093 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1095 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "flush called\n");
ar               1096 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_flush_tx(ar);
ar               1102 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1104 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "add interface called\n");
ar               1106 drivers/net/wireless/ath/ar5523/ar5523.c 	if (ar->vif) {
ar               1107 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "invalid add_interface\n");
ar               1113 drivers/net/wireless/ath/ar5523/ar5523.c 		ar->vif = vif;
ar               1124 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1126 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "remove interface called\n");
ar               1127 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->vif = NULL;
ar               1132 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1134 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "config called\n");
ar               1135 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar               1137 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "Do channel switch\n");
ar               1138 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_flush_tx(ar);
ar               1139 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_switch_chan(ar);
ar               1141 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar               1145 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_get_wlan_mode(struct ar5523 *ar,
ar               1153 drivers/net/wireless/ath/ar5523/ar5523.c 	band = ar->hw->wiphy->bands[ar->hw->conf.chandef.chan->band];
ar               1154 drivers/net/wireless/ath/ar5523/ar5523.c 	sta = ieee80211_find_sta(ar->vif, bss_conf->bssid);
ar               1156 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_info(ar, "STA not found!\n");
ar               1159 drivers/net/wireless/ath/ar5523/ar5523.c 	sta_rate_set = sta->supp_rates[ar->hw->conf.chandef.chan->band];
ar               1181 drivers/net/wireless/ath/ar5523/ar5523.c static void ar5523_create_rateset(struct ar5523 *ar,
ar               1191 drivers/net/wireless/ath/ar5523/ar5523.c 	sta = ieee80211_find_sta(ar->vif, bss_conf->bssid);
ar               1194 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_info(ar, "STA not found. Cannot set rates\n");
ar               1197 drivers/net/wireless/ath/ar5523/ar5523.c 		sta_rate_set = sta->supp_rates[ar->hw->conf.chandef.chan->band];
ar               1199 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "sta rate_set = %08x\n", sta_rate_set);
ar               1201 drivers/net/wireless/ath/ar5523/ar5523.c 	band = ar->hw->wiphy->bands[ar->hw->conf.chandef.chan->band];
ar               1204 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_dbg(ar, "Considering rate %d : %d\n",
ar               1219 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_set_basic_rates(struct ar5523 *ar,
ar               1227 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_create_rateset(ar, bss, &rates.rateset, true);
ar               1229 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_SET_BASIC_RATE, &rates,
ar               1233 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_create_connection(struct ar5523 *ar,
ar               1246 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_create_rateset(ar, bss, &create.connattr.rateset, false);
ar               1248 drivers/net/wireless/ath/ar5523/ar5523.c 	wlan_mode = ar5523_get_wlan_mode(ar, bss);
ar               1251 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_CREATE_CONNECTION, &create,
ar               1255 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_write_associd(struct ar5523 *ar,
ar               1265 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_write(ar, WDCMSG_WRITE_ASSOCID, &associd,
ar               1274 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1277 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "bss_info_changed called\n");
ar               1278 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar               1284 drivers/net/wireless/ath/ar5523/ar5523.c 		error = ar5523_create_connection(ar, vif, bss);
ar               1286 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "could not create connection\n");
ar               1290 drivers/net/wireless/ath/ar5523/ar5523.c 		error = ar5523_set_basic_rates(ar, bss);
ar               1292 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "could not set negotiated rate set\n");
ar               1296 drivers/net/wireless/ath/ar5523/ar5523.c 		error = ar5523_write_associd(ar, bss);
ar               1298 drivers/net/wireless/ath/ar5523/ar5523.c 			ar5523_err(ar, "could not set association\n");
ar               1303 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_set_ledsteady(ar, UATH_LED_LINK, UATH_LED_ON);
ar               1304 drivers/net/wireless/ath/ar5523/ar5523.c 		set_bit(AR5523_CONNECTED, &ar->flags);
ar               1305 drivers/net/wireless/ath/ar5523/ar5523.c 		ieee80211_queue_delayed_work(hw, &ar->stat_work, HZ);
ar               1308 drivers/net/wireless/ath/ar5523/ar5523.c 		cancel_delayed_work(&ar->stat_work);
ar               1309 drivers/net/wireless/ath/ar5523/ar5523.c 		clear_bit(AR5523_CONNECTED, &ar->flags);
ar               1310 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_set_ledsteady(ar, UATH_LED_LINK, UATH_LED_OFF);
ar               1314 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar               1327 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1330 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "configure_filter called\n");
ar               1331 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_lock(&ar->mutex);
ar               1332 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_flush_tx(ar);
ar               1344 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_rxfilter(ar, 0, UATH_FILTER_OP_INIT);
ar               1345 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_set_rxfilter(ar, filter, UATH_FILTER_OP_SET);
ar               1347 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_unlock(&ar->mutex);
ar               1363 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_host_available(struct ar5523 *ar)
ar               1372 drivers/net/wireless/ath/ar5523/ar5523.c 	return ar5523_cmd_read(ar, WDCMSG_HOST_AVAILABLE,
ar               1376 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_get_devstatus(struct ar5523 *ar)
ar               1382 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_status(ar, ST_MAC_ADDR, macaddr, ETH_ALEN);
ar               1384 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not read MAC address\n");
ar               1388 drivers/net/wireless/ath/ar5523/ar5523.c 	SET_IEEE80211_PERM_ADDR(ar->hw, macaddr);
ar               1390 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_status(ar, ST_SERIAL_NUMBER,
ar               1391 drivers/net/wireless/ath/ar5523/ar5523.c 	    &ar->serial[0], sizeof(ar->serial));
ar               1393 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not read device serial number\n");
ar               1401 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_get_max_rxsz(struct ar5523 *ar)
ar               1407 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_status(ar, ST_WDC_TRANSPORT_CHUNK_SIZE, &rxsize,
ar               1410 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not read max RX size\n");
ar               1414 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->rxbufsz = be32_to_cpu(rxsize);
ar               1416 drivers/net/wireless/ath/ar5523/ar5523.c 	if (!ar->rxbufsz || ar->rxbufsz > AR5523_SANE_RXBUFSZ) {
ar               1417 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Bad rxbufsz from device. Using %d instead\n",
ar               1419 drivers/net/wireless/ath/ar5523/ar5523.c 		ar->rxbufsz = AR5523_SANE_RXBUFSZ;
ar               1422 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "Max RX buf size: %d\n", ar->rxbufsz);
ar               1462 drivers/net/wireless/ath/ar5523/ar5523.c static int ar5523_init_modes(struct ar5523 *ar)
ar               1464 drivers/net/wireless/ath/ar5523/ar5523.c 	BUILD_BUG_ON(sizeof(ar->channels) != sizeof(ar5523_channels));
ar               1465 drivers/net/wireless/ath/ar5523/ar5523.c 	BUILD_BUG_ON(sizeof(ar->rates) != sizeof(ar5523_rates));
ar               1467 drivers/net/wireless/ath/ar5523/ar5523.c 	memcpy(ar->channels, ar5523_channels, sizeof(ar5523_channels));
ar               1468 drivers/net/wireless/ath/ar5523/ar5523.c 	memcpy(ar->rates, ar5523_rates, sizeof(ar5523_rates));
ar               1470 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->band.band = NL80211_BAND_2GHZ;
ar               1471 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->band.channels = ar->channels;
ar               1472 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->band.n_channels = ARRAY_SIZE(ar5523_channels);
ar               1473 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->band.bitrates = ar->rates;
ar               1474 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->band.n_bitrates = ARRAY_SIZE(ar5523_rates);
ar               1475 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->hw->wiphy->bands[NL80211_BAND_2GHZ] = &ar->band;
ar               1580 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar;
ar               1592 drivers/net/wireless/ath/ar5523/ar5523.c 	hw = ieee80211_alloc_hw(sizeof(*ar), &ar5523_ops);
ar               1597 drivers/net/wireless/ath/ar5523/ar5523.c 	ar = hw->priv;
ar               1598 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->hw = hw;
ar               1599 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->dev = dev;
ar               1600 drivers/net/wireless/ath/ar5523/ar5523.c 	mutex_init(&ar->mutex);
ar               1602 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_DELAYED_WORK(&ar->stat_work, ar5523_stat_work);
ar               1603 drivers/net/wireless/ath/ar5523/ar5523.c 	timer_setup(&ar->tx_wd_timer, ar5523_tx_wd_timer, 0);
ar               1604 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_WORK(&ar->tx_wd_work, ar5523_tx_wd_work);
ar               1605 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_WORK(&ar->tx_work, ar5523_tx_work);
ar               1606 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_LIST_HEAD(&ar->tx_queue_pending);
ar               1607 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_LIST_HEAD(&ar->tx_queue_submitted);
ar               1608 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_lock_init(&ar->tx_data_list_lock);
ar               1609 drivers/net/wireless/ath/ar5523/ar5523.c 	atomic_set(&ar->tx_nr_total, 0);
ar               1610 drivers/net/wireless/ath/ar5523/ar5523.c 	atomic_set(&ar->tx_nr_pending, 0);
ar               1611 drivers/net/wireless/ath/ar5523/ar5523.c 	init_waitqueue_head(&ar->tx_flush_waitq);
ar               1613 drivers/net/wireless/ath/ar5523/ar5523.c 	atomic_set(&ar->rx_data_free_cnt, 0);
ar               1614 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_WORK(&ar->rx_refill_work, ar5523_rx_refill_work);
ar               1615 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_LIST_HEAD(&ar->rx_data_free);
ar               1616 drivers/net/wireless/ath/ar5523/ar5523.c 	INIT_LIST_HEAD(&ar->rx_data_used);
ar               1617 drivers/net/wireless/ath/ar5523/ar5523.c 	spin_lock_init(&ar->rx_data_list_lock);
ar               1619 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->wq = create_singlethread_workqueue("ar5523");
ar               1620 drivers/net/wireless/ath/ar5523/ar5523.c 	if (!ar->wq) {
ar               1621 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Could not create wq\n");
ar               1625 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_alloc_rx_bufs(ar);
ar               1627 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Could not allocate rx buffers\n");
ar               1631 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_alloc_rx_cmd(ar);
ar               1633 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Could not allocate rx command buffers\n");
ar               1637 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_alloc_tx_cmd(ar);
ar               1639 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Could not allocate tx command buffers\n");
ar               1643 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_submit_rx_cmd(ar);
ar               1645 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "Failed to submit rx cmd\n");
ar               1652 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_host_available(ar);
ar               1654 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not initialize adapter\n");
ar               1658 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_max_rxsz(ar);
ar               1660 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not get caps from adapter\n");
ar               1664 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_devcap(ar);
ar               1666 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not get caps from adapter\n");
ar               1670 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_get_devstatus(ar);
ar               1672 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not get device status\n");
ar               1676 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_info(ar, "MAC/BBP AR5523, RF AR%c112\n",
ar               1679 drivers/net/wireless/ath/ar5523/ar5523.c 	ar->vif = NULL;
ar               1688 drivers/net/wireless/ath/ar5523/ar5523.c 	error = ar5523_init_modes(ar);
ar               1698 drivers/net/wireless/ath/ar5523/ar5523.c 		ar5523_err(ar, "could not register device\n");
ar               1702 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_info(ar, "Found and initialized AR5523 device\n");
ar               1706 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cancel_rx_cmd(ar);
ar               1708 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_tx_cmd(ar);
ar               1710 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_rx_cmd(ar);
ar               1712 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_rx_bufs(ar);
ar               1714 drivers/net/wireless/ath/ar5523/ar5523.c 	destroy_workqueue(ar->wq);
ar               1724 drivers/net/wireless/ath/ar5523/ar5523.c 	struct ar5523 *ar = hw->priv;
ar               1726 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_dbg(ar, "detaching\n");
ar               1727 drivers/net/wireless/ath/ar5523/ar5523.c 	set_bit(AR5523_USB_DISCONNECTED, &ar->flags);
ar               1731 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_cancel_rx_cmd(ar);
ar               1732 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_tx_cmd(ar);
ar               1733 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_rx_cmd(ar);
ar               1734 drivers/net/wireless/ath/ar5523/ar5523.c 	ar5523_free_rx_bufs(ar);
ar               1736 drivers/net/wireless/ath/ar5523/ar5523.c 	destroy_workqueue(ar->wq);
ar                 61 drivers/net/wireless/ath/ar5523/ar5523.h 	struct ar5523		*ar;
ar                 76 drivers/net/wireless/ath/ar5523/ar5523.h 	struct ar5523		*ar;
ar                 82 drivers/net/wireless/ath/ar5523/ar5523.h 	struct ar5523		*ar;
ar                137 drivers/net/wireless/ath/ar5523/ar5523.h #define ar5523_dbg(ar, format, arg...) \
ar                138 drivers/net/wireless/ath/ar5523/ar5523.h 	dev_dbg(&(ar)->dev->dev, format, ## arg)
ar                144 drivers/net/wireless/ath/ar5523/ar5523.h #define ar5523_err(ar, format, arg...) \
ar                146 drivers/net/wireless/ath/ar5523/ar5523.h 	if (!test_bit(AR5523_USB_DISCONNECTED, &ar->flags)) { \
ar                147 drivers/net/wireless/ath/ar5523/ar5523.h 		dev_err(&(ar)->dev->dev, format, ## arg); \
ar                150 drivers/net/wireless/ath/ar5523/ar5523.h #define ar5523_info(ar, format, arg...)	\
ar                151 drivers/net/wireless/ath/ar5523/ar5523.h 	dev_info(&(ar)->dev->dev, format, ## arg)
ar                 28 drivers/net/wireless/ath/ath10k/ahb.c static inline struct ath10k_ahb *ath10k_ahb_priv(struct ath10k *ar)
ar                 30 drivers/net/wireless/ath/ath10k/ahb.c 	return &((struct ath10k_pci *)ar->drv_priv)->ahb[0];
ar                 33 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_write32(struct ath10k *ar, u32 offset, u32 value)
ar                 35 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                 40 drivers/net/wireless/ath/ath10k/ahb.c static u32 ath10k_ahb_read32(struct ath10k *ar, u32 offset)
ar                 42 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                 47 drivers/net/wireless/ath/ath10k/ahb.c static u32 ath10k_ahb_gcc_read32(struct ath10k *ar, u32 offset)
ar                 49 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                 54 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_tcsr_write32(struct ath10k *ar, u32 offset, u32 value)
ar                 56 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                 61 drivers/net/wireless/ath/ath10k/ahb.c static u32 ath10k_ahb_tcsr_read32(struct ath10k *ar, u32 offset)
ar                 63 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                 68 drivers/net/wireless/ath/ath10k/ahb.c static u32 ath10k_ahb_soc_read32(struct ath10k *ar, u32 addr)
ar                 70 drivers/net/wireless/ath/ath10k/ahb.c 	return ath10k_ahb_read32(ar, RTC_SOC_BASE_ADDRESS + addr);
ar                 73 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_get_num_banks(struct ath10k *ar)
ar                 75 drivers/net/wireless/ath/ath10k/ahb.c 	if (ar->hw_rev == ATH10K_HW_QCA4019)
ar                 78 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_warn(ar, "unknown number of banks, assuming 1\n");
ar                 82 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_clock_init(struct ath10k *ar)
ar                 84 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                 91 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get cmd clk: %ld\n",
ar                 98 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get ref clk: %ld\n",
ar                105 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get rtc clk: %ld\n",
ar                113 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_clock_deinit(struct ath10k *ar)
ar                115 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                122 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_clock_enable(struct ath10k *ar)
ar                124 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                130 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "clock(s) is/are not initialized\n");
ar                137 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to enable cmd clk: %d\n", ret);
ar                143 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to enable ref clk: %d\n", ret);
ar                149 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to enable rtc clk: %d\n", ret);
ar                165 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_clock_disable(struct ath10k *ar)
ar                167 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                176 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_rst_ctrl_init(struct ath10k *ar)
ar                178 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                186 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get core cold rst ctrl: %ld\n",
ar                194 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get radio cold rst ctrl: %ld\n",
ar                202 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get radio warm rst ctrl: %ld\n",
ar                210 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get radio srif rst ctrl: %ld\n",
ar                218 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get cpu init rst ctrl: %ld\n",
ar                226 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_rst_ctrl_deinit(struct ath10k *ar)
ar                228 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                237 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_release_reset(struct ath10k *ar)
ar                239 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                246 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "rst ctrl(s) is/are not initialized\n");
ar                252 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to deassert radio cold rst: %d\n", ret);
ar                258 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to deassert radio warm rst: %d\n", ret);
ar                264 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to deassert radio srif rst: %d\n", ret);
ar                270 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to deassert cpu init rst: %d\n", ret);
ar                277 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_halt_axi_bus(struct ath10k *ar, u32 haltreq_reg,
ar                284 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_ahb_tcsr_read32(ar, haltreq_reg);
ar                286 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_tcsr_write32(ar, haltreq_reg, val);
ar                291 drivers/net/wireless/ath/ath10k/ahb.c 		val = ath10k_ahb_tcsr_read32(ar, haltack_reg);
ar                299 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to halt axi bus: %d\n", val);
ar                303 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_AHB, "axi bus halted\n");
ar                306 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_halt_chip(struct ath10k *ar)
ar                308 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                318 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "rst ctrl(s) is/are not initialized\n");
ar                322 drivers/net/wireless/ath/ath10k/ahb.c 	core_id = ath10k_ahb_read32(ar, ATH10K_AHB_WLAN_CORE_ID_REG);
ar                336 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "invalid core id %d found, skipping reset sequence\n",
ar                341 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_halt_axi_bus(ar, haltreq_reg, haltack_reg);
ar                343 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_ahb_tcsr_read32(ar, glb_cfg_reg);
ar                345 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_tcsr_write32(ar, glb_cfg_reg, val);
ar                349 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to assert core cold rst: %d\n", ret);
ar                354 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to assert radio cold rst: %d\n", ret);
ar                359 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to assert radio warm rst: %d\n", ret);
ar                364 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to assert radio srif rst: %d\n", ret);
ar                369 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to assert cpu init rst: %d\n", ret);
ar                375 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_ahb_tcsr_read32(ar, haltreq_reg);
ar                377 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_tcsr_write32(ar, haltreq_reg, val);
ar                379 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_ahb_tcsr_read32(ar, glb_cfg_reg);
ar                381 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_tcsr_write32(ar, glb_cfg_reg, val);
ar                385 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to deassert core cold rst: %d\n", ret);
ar                387 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_AHB, "core %d reset done\n", core_id);
ar                392 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k *ar = arg;
ar                394 drivers/net/wireless/ath/ath10k/ahb.c 	if (!ath10k_pci_irq_pending(ar))
ar                397 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_disable_and_clear_legacy_irq(ar);
ar                398 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_irq_msi_fw_mask(ar);
ar                399 drivers/net/wireless/ath/ath10k/ahb.c 	napi_schedule(&ar->napi);
ar                404 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_request_irq_legacy(struct ath10k *ar)
ar                406 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                407 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                412 drivers/net/wireless/ath/ath10k/ahb.c 			  IRQF_SHARED, "ath10k_ahb", ar);
ar                414 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_warn(ar, "failed to request legacy irq %d: %d\n",
ar                423 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_release_irq_legacy(struct ath10k *ar)
ar                425 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                427 drivers/net/wireless/ath/ath10k/ahb.c 	free_irq(ar_ahb->irq, ar);
ar                430 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_irq_disable(struct ath10k *ar)
ar                432 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ce_disable_interrupts(ar);
ar                433 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_disable_and_clear_legacy_irq(ar);
ar                436 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_resource_init(struct ath10k *ar)
ar                438 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                447 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get memory resource\n");
ar                454 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "mem ioremap error\n");
ar                464 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "gcc mem ioremap error\n");
ar                472 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "tcsr mem ioremap error\n");
ar                479 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to set 32-bit dma mask: %d\n", ret);
ar                485 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to set 32-bit consistent dma: %d\n",
ar                490 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_clock_init(ar);
ar                494 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_rst_ctrl_init(ar);
ar                500 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get irq number: %d\n", ar_ahb->irq);
ar                505 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "irq: %d\n", ar_ahb->irq);
ar                507 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "mem: 0x%pK mem_len: %lu gcc mem: 0x%pK tcsr_mem: 0x%pK\n",
ar                513 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_clock_deinit(ar);
ar                531 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_resource_deinit(struct ath10k *ar)
ar                533 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                551 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_clock_deinit(ar);
ar                552 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_rst_ctrl_deinit(ar);
ar                555 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_prepare_device(struct ath10k *ar)
ar                560 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_clock_enable(ar);
ar                562 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to enable clocks\n");
ar                573 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_ahb_gcc_read32(ar, ATH10K_AHB_GCC_FEPLL_PLL_DIV);
ar                574 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_write32(ar, ATH10K_AHB_WIFI_SCRATCH_5_REG, val);
ar                576 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_release_reset(ar);
ar                580 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_irq_disable(ar);
ar                582 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_write32(ar, FW_INDICATOR_ADDRESS, FW_IND_HOST_READY);
ar                584 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_pci_wait_for_target_init(ar);
ar                591 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_halt_chip(ar);
ar                594 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_clock_disable(ar);
ar                599 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_chip_reset(struct ath10k *ar)
ar                603 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_halt_chip(ar);
ar                604 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_clock_disable(ar);
ar                606 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_prepare_device(ar);
ar                613 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_wake_target_cpu(struct ath10k *ar)
ar                618 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_ahb_read32(ar, addr);
ar                620 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_write32(ar, addr, val);
ar                625 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_hif_start(struct ath10k *ar)
ar                627 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot ahb hif start\n");
ar                629 drivers/net/wireless/ath/ath10k/ahb.c 	napi_enable(&ar->napi);
ar                630 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ce_enable_interrupts(ar);
ar                631 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_enable_legacy_irq(ar);
ar                633 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_rx_post(ar);
ar                638 drivers/net/wireless/ath/ath10k/ahb.c static void ath10k_ahb_hif_stop(struct ath10k *ar)
ar                640 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k_ahb *ar_ahb = ath10k_ahb_priv(ar);
ar                642 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot ahb hif stop\n");
ar                644 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_irq_disable(ar);
ar                647 drivers/net/wireless/ath/ath10k/ahb.c 	napi_synchronize(&ar->napi);
ar                648 drivers/net/wireless/ath/ath10k/ahb.c 	napi_disable(&ar->napi);
ar                650 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_flush(ar);
ar                653 drivers/net/wireless/ath/ath10k/ahb.c static int ath10k_ahb_hif_power_up(struct ath10k *ar,
ar                658 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot ahb hif power up\n");
ar                660 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_chip_reset(ar);
ar                662 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to reset chip: %d\n", ret);
ar                666 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_pci_init_pipes(ar);
ar                668 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to initialize CE: %d\n", ret);
ar                672 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_pci_init_config(ar);
ar                674 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to setup init config: %d\n", ret);
ar                678 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_wake_target_cpu(ar);
ar                680 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "could not wake up target CPU: %d\n", ret);
ar                687 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_ce_deinit(ar);
ar                692 drivers/net/wireless/ath/ath10k/ahb.c static u32 ath10k_ahb_qca4019_targ_cpu_to_ce_addr(struct ath10k *ar, u32 addr)
ar                696 drivers/net/wireless/ath/ath10k/ahb.c 	val = ath10k_pci_read32(ar, PCIE_BAR_REG_ADDRESS);
ar                736 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k *ar;
ar                754 drivers/net/wireless/ath/ath10k/ahb.c 	ar = ath10k_core_create(size, &pdev->dev, ATH10K_BUS_AHB,
ar                756 drivers/net/wireless/ath/ath10k/ahb.c 	if (!ar) {
ar                761 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "ahb probe\n");
ar                763 drivers/net/wireless/ath/ath10k/ahb.c 	ar_pci = ath10k_pci_priv(ar);
ar                764 drivers/net/wireless/ath/ath10k/ahb.c 	ar_ahb = ath10k_ahb_priv(ar);
ar                767 drivers/net/wireless/ath/ath10k/ahb.c 	platform_set_drvdata(pdev, ar);
ar                769 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_resource_init(ar);
ar                773 drivers/net/wireless/ath/ath10k/ahb.c 	ar->dev_id = 0;
ar                776 drivers/net/wireless/ath/ath10k/ahb.c 	ar_pci->ar = ar;
ar                779 drivers/net/wireless/ath/ath10k/ahb.c 	ar->ce_priv = &ar_pci->ce;
ar                781 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_pci_setup_resource(ar);
ar                783 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to setup resource: %d\n", ret);
ar                787 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_init_napi(ar);
ar                789 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_request_irq_legacy(ar);
ar                793 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_ahb_prepare_device(ar);
ar                797 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_ce_deinit(ar);
ar                800 drivers/net/wireless/ath/ath10k/ahb.c 	bus_params.chip_id = ath10k_ahb_soc_read32(ar, SOC_CHIP_ID_ADDRESS);
ar                802 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to get chip id\n");
ar                807 drivers/net/wireless/ath/ath10k/ahb.c 	ret = ath10k_core_register(ar, &bus_params);
ar                809 drivers/net/wireless/ath/ath10k/ahb.c 		ath10k_err(ar, "failed to register driver core: %d\n", ret);
ar                816 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_halt_chip(ar);
ar                817 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_clock_disable(ar);
ar                820 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_release_irq_legacy(ar);
ar                823 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_free_pipes(ar);
ar                826 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_resource_deinit(ar);
ar                829 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_core_destroy(ar);
ar                837 drivers/net/wireless/ath/ath10k/ahb.c 	struct ath10k *ar = platform_get_drvdata(pdev);
ar                840 drivers/net/wireless/ath/ath10k/ahb.c 	if (!ar)
ar                843 drivers/net/wireless/ath/ath10k/ahb.c 	ar_ahb = ath10k_ahb_priv(ar);
ar                848 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_dbg(ar, ATH10K_DBG_AHB, "ahb remove\n");
ar                850 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_core_unregister(ar);
ar                851 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_irq_disable(ar);
ar                852 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_release_irq_legacy(ar);
ar                853 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_pci_release_resource(ar);
ar                854 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_halt_chip(ar);
ar                855 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_clock_disable(ar);
ar                856 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_ahb_resource_deinit(ar);
ar                857 drivers/net/wireless/ath/ath10k/ahb.c 	ath10k_core_destroy(ar);
ar                 13 drivers/net/wireless/ath/ath10k/bmi.c void ath10k_bmi_start(struct ath10k *ar)
ar                 17 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi start\n");
ar                 19 drivers/net/wireless/ath/ath10k/bmi.c 	ar->bmi.done_sent = false;
ar                 22 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->hw_params.hw_ops->enable_pll_clk) {
ar                 23 drivers/net/wireless/ath/ath10k/bmi.c 		ret = ar->hw_params.hw_ops->enable_pll_clk(ar);
ar                 24 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi enable pll ret %d\n", ret);
ar                 28 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_done(struct ath10k *ar)
ar                 34 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi done\n");
ar                 36 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                 37 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi skipped\n");
ar                 41 drivers/net/wireless/ath/ath10k/bmi.c 	ar->bmi.done_sent = true;
ar                 44 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, NULL, NULL);
ar                 46 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to write to the device: %d\n", ret);
ar                 53 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_get_target_info(struct ath10k *ar,
ar                 62 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi get target info\n");
ar                 64 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                 65 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "BMI Get Target Info Command disallowed\n");
ar                 71 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, &resp, &resplen);
ar                 73 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to get target info from device\n");
ar                 78 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "invalid get_target_info response length (%d)\n",
ar                 91 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_get_target_info_sdio(struct ath10k *ar,
ar                101 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi get target info SDIO\n");
ar                103 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                104 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "BMI Get Target Info Command disallowed\n");
ar                115 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, &tmp, &resplen);
ar                117 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to read from device\n");
ar                127 drivers/net/wireless/ath/ath10k/bmi.c 		ret = ath10k_hif_exchange_bmi_msg(ar, NULL, 0, &tmp,
ar                130 drivers/net/wireless/ath/ath10k/bmi.c 			ath10k_warn(ar, "unable to read from device\n");
ar                139 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "Unexpected target info len: %u. Expected: %zu\n",
ar                146 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, NULL, 0,
ar                150 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to read from device\n");
ar                160 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_read_memory(struct ath10k *ar,
ar                169 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi read address 0x%x length %d\n",
ar                172 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                173 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "command disallowed\n");
ar                184 drivers/net/wireless/ath/ath10k/bmi.c 		ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen,
ar                187 drivers/net/wireless/ath/ath10k/bmi.c 			ath10k_warn(ar, "unable to read from the device (%d)\n",
ar                201 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_write_soc_reg(struct ath10k *ar, u32 address, u32 reg_val)
ar                207 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI,
ar                211 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                212 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "bmi write soc register command in progress\n");
ar                220 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, NULL, NULL);
ar                222 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "Unable to write soc register to device: %d\n",
ar                230 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_read_soc_reg(struct ath10k *ar, u32 address, u32 *reg_val)
ar                238 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi read soc register 0x%08x\n",
ar                241 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                242 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "bmi read soc register command in progress\n");
ar                249 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, &resp, &resplen);
ar                251 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "Unable to read soc register from device: %d\n",
ar                258 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi read soc register value 0x%08x\n",
ar                264 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_write_memory(struct ath10k *ar,
ar                272 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi write address 0x%x length %d\n",
ar                275 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                276 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "command disallowed\n");
ar                291 drivers/net/wireless/ath/ath10k/bmi.c 		ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, hdrlen + txlen,
ar                294 drivers/net/wireless/ath/ath10k/bmi.c 			ath10k_warn(ar, "unable to write to the device (%d)\n",
ar                310 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_execute(struct ath10k *ar, u32 address, u32 param, u32 *result)
ar                318 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi execute address 0x%x param 0x%x\n",
ar                321 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                322 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "command disallowed\n");
ar                330 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, &resp, &resplen);
ar                332 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to read from the device\n");
ar                337 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "invalid execute response length (%d)\n",
ar                344 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi execute result 0x%x\n", *result);
ar                349 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_lz_data(struct ath10k *ar, const void *buffer, u32 length)
ar                356 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi lz data buffer 0x%pK length %d\n",
ar                359 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                360 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "command disallowed\n");
ar                373 drivers/net/wireless/ath/ath10k/bmi.c 		ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, hdrlen + txlen,
ar                376 drivers/net/wireless/ath/ath10k/bmi.c 			ath10k_warn(ar, "unable to write to the device\n");
ar                387 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_lz_stream_start(struct ath10k *ar, u32 address)
ar                393 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI, "bmi lz stream start address 0x%x\n",
ar                396 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                397 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "command disallowed\n");
ar                404 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, NULL, NULL);
ar                406 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to Start LZ Stream to the device\n");
ar                413 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_fast_download(struct ath10k *ar,
ar                421 drivers/net/wireless/ath/ath10k/bmi.c 	ath10k_dbg(ar, ATH10K_DBG_BMI,
ar                425 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_bmi_lz_stream_start(ar, address);
ar                433 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_bmi_lz_data(ar, buffer, head_len);
ar                438 drivers/net/wireless/ath/ath10k/bmi.c 		ret = ath10k_bmi_lz_data(ar, trailer, 4);
ar                447 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_bmi_lz_stream_start(ar, 0x00);
ar                452 drivers/net/wireless/ath/ath10k/bmi.c int ath10k_bmi_set_start(struct ath10k *ar, u32 address)
ar                458 drivers/net/wireless/ath/ath10k/bmi.c 	if (ar->bmi.done_sent) {
ar                459 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "bmi set start command disallowed\n");
ar                466 drivers/net/wireless/ath/ath10k/bmi.c 	ret = ath10k_hif_exchange_bmi_msg(ar, &cmd, cmdlen, NULL, NULL);
ar                468 drivers/net/wireless/ath/ath10k/bmi.c 		ath10k_warn(ar, "unable to set start to the device:%d\n", ret);
ar                222 drivers/net/wireless/ath/ath10k/bmi.h void ath10k_bmi_start(struct ath10k *ar);
ar                223 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_done(struct ath10k *ar);
ar                224 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_get_target_info(struct ath10k *ar,
ar                226 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_get_target_info_sdio(struct ath10k *ar,
ar                228 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_read_memory(struct ath10k *ar, u32 address,
ar                230 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_write_memory(struct ath10k *ar, u32 address,
ar                233 drivers/net/wireless/ath/ath10k/bmi.h #define ath10k_bmi_read32(ar, item, val)				\
ar                240 drivers/net/wireless/ath/ath10k/bmi.h 		ret = ath10k_bmi_read_memory(ar, addr, (u8 *)&tmp, 4); \
ar                246 drivers/net/wireless/ath/ath10k/bmi.h #define ath10k_bmi_write32(ar, item, val)				\
ar                253 drivers/net/wireless/ath/ath10k/bmi.h 		ret = ath10k_bmi_write_memory(ar, address,		\
ar                258 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_execute(struct ath10k *ar, u32 address, u32 param, u32 *result);
ar                259 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_lz_stream_start(struct ath10k *ar, u32 address);
ar                260 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_lz_data(struct ath10k *ar, const void *buffer, u32 length);
ar                261 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_fast_download(struct ath10k *ar, u32 address,
ar                263 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_read_soc_reg(struct ath10k *ar, u32 address, u32 *reg_val);
ar                264 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_write_soc_reg(struct ath10k *ar, u32 address, u32 reg_val);
ar                265 drivers/net/wireless/ath/ath10k/bmi.h int ath10k_bmi_set_start(struct ath10k *ar, u32 address);
ar                 51 drivers/net/wireless/ath/ath10k/ce.c static inline u32 shadow_sr_wr_ind_addr(struct ath10k *ar,
ar                 74 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_warn(ar, "invalid CE id: %d", ce_id);
ar                 80 drivers/net/wireless/ath/ath10k/ce.c static inline u32 shadow_dst_wr_ind_addr(struct ath10k *ar,
ar                112 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_warn(ar, "invalid CE id: %d", ce_id);
ar                133 drivers/net/wireless/ath/ath10k/ce.c static inline u32 ath10k_ce_read32(struct ath10k *ar, u32 offset)
ar                135 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                137 drivers/net/wireless/ath/ath10k/ce.c 	return ce->bus_ops->read32(ar, offset);
ar                140 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_write32(struct ath10k *ar, u32 offset, u32 value)
ar                142 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                144 drivers/net/wireless/ath/ath10k/ce.c 	ce->bus_ops->write32(ar, offset, value);
ar                147 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_dest_ring_write_index_set(struct ath10k *ar,
ar                151 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                152 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->dst_wr_index_addr, n);
ar                155 drivers/net/wireless/ath/ath10k/ce.c static inline u32 ath10k_ce_dest_ring_write_index_get(struct ath10k *ar,
ar                158 drivers/net/wireless/ath/ath10k/ce.c 	return ath10k_ce_read32(ar, ce_ctrl_addr +
ar                159 drivers/net/wireless/ath/ath10k/ce.c 				ar->hw_ce_regs->dst_wr_index_addr);
ar                162 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_write_index_set(struct ath10k *ar,
ar                166 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                167 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->sr_wr_index_addr, n);
ar                170 drivers/net/wireless/ath/ath10k/ce.c static inline u32 ath10k_ce_src_ring_write_index_get(struct ath10k *ar,
ar                173 drivers/net/wireless/ath/ath10k/ce.c 	return ath10k_ce_read32(ar, ce_ctrl_addr +
ar                174 drivers/net/wireless/ath/ath10k/ce.c 				ar->hw_ce_regs->sr_wr_index_addr);
ar                177 drivers/net/wireless/ath/ath10k/ce.c static inline u32 ath10k_ce_src_ring_read_index_from_ddr(struct ath10k *ar,
ar                180 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                185 drivers/net/wireless/ath/ath10k/ce.c static inline u32 ath10k_ce_src_ring_read_index_get(struct ath10k *ar,
ar                188 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                193 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.rri_on_ddr &&
ar                195 drivers/net/wireless/ath/ath10k/ce.c 		index = ath10k_ce_src_ring_read_index_from_ddr(ar, ce_id);
ar                197 drivers/net/wireless/ath/ath10k/ce.c 		index = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                198 drivers/net/wireless/ath/ath10k/ce.c 					 ar->hw_ce_regs->current_srri_addr);
ar                204 drivers/net/wireless/ath/ath10k/ce.c ath10k_ce_shadow_src_ring_write_index_set(struct ath10k *ar,
ar                208 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, shadow_sr_wr_ind_addr(ar, ce_state), value);
ar                212 drivers/net/wireless/ath/ath10k/ce.c ath10k_ce_shadow_dest_ring_write_index_set(struct ath10k *ar,
ar                216 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, shadow_dst_wr_ind_addr(ar, ce_state), value);
ar                219 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_base_addr_set(struct ath10k *ar,
ar                223 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                225 drivers/net/wireless/ath/ath10k/ce.c 	u32 ce_ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar                228 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                229 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->sr_base_addr_lo, addr_lo);
ar                232 drivers/net/wireless/ath/ath10k/ce.c 		ce_state->ops->ce_set_src_ring_base_addr_hi(ar, ce_ctrl_addr,
ar                237 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_set_src_ring_base_addr_hi(struct ath10k *ar,
ar                243 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                244 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->sr_base_addr_hi, addr_hi);
ar                247 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_size_set(struct ath10k *ar,
ar                251 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                252 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->sr_size_addr, n);
ar                255 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_dmax_set(struct ath10k *ar,
ar                259 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_ctrl1 *ctrl_regs = ar->hw_ce_regs->ctrl1_regs;
ar                261 drivers/net/wireless/ath/ath10k/ce.c 	u32 ctrl1_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                264 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + ctrl_regs->addr,
ar                269 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_byte_swap_set(struct ath10k *ar,
ar                273 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_ctrl1 *ctrl_regs = ar->hw_ce_regs->ctrl1_regs;
ar                275 drivers/net/wireless/ath/ath10k/ce.c 	u32 ctrl1_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                278 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + ctrl_regs->addr,
ar                283 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_dest_ring_byte_swap_set(struct ath10k *ar,
ar                287 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_ctrl1 *ctrl_regs = ar->hw_ce_regs->ctrl1_regs;
ar                289 drivers/net/wireless/ath/ath10k/ce.c 	u32 ctrl1_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                292 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + ctrl_regs->addr,
ar                298 drivers/net/wireless/ath/ath10k/ce.c 	u32 ath10k_ce_dest_ring_read_index_from_ddr(struct ath10k *ar, u32 ce_id)
ar                300 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                306 drivers/net/wireless/ath/ath10k/ce.c static inline u32 ath10k_ce_dest_ring_read_index_get(struct ath10k *ar,
ar                309 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                314 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.rri_on_ddr &&
ar                316 drivers/net/wireless/ath/ath10k/ce.c 		index = ath10k_ce_dest_ring_read_index_from_ddr(ar, ce_id);
ar                318 drivers/net/wireless/ath/ath10k/ce.c 		index = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                319 drivers/net/wireless/ath/ath10k/ce.c 					 ar->hw_ce_regs->current_drri_addr);
ar                324 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_dest_ring_base_addr_set(struct ath10k *ar,
ar                328 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                330 drivers/net/wireless/ath/ath10k/ce.c 	u32 ce_ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar                333 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                334 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->dr_base_addr_lo, addr_lo);
ar                337 drivers/net/wireless/ath/ath10k/ce.c 		ce_state->ops->ce_set_dest_ring_base_addr_hi(ar, ce_ctrl_addr,
ar                342 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_set_dest_ring_base_addr_hi(struct ath10k *ar,
ar                349 drivers/net/wireless/ath/ath10k/ce.c 	reg_value = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                350 drivers/net/wireless/ath/ath10k/ce.c 				     ar->hw_ce_regs->dr_base_addr_hi);
ar                353 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                354 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->dr_base_addr_hi, reg_value);
ar                357 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_dest_ring_size_set(struct ath10k *ar,
ar                361 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr +
ar                362 drivers/net/wireless/ath/ath10k/ce.c 			  ar->hw_ce_regs->dr_size_addr, n);
ar                365 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_highmark_set(struct ath10k *ar,
ar                369 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_dst_src_wm_regs *srcr_wm = ar->hw_ce_regs->wm_srcr;
ar                370 drivers/net/wireless/ath/ath10k/ce.c 	u32 addr = ath10k_ce_read32(ar, ce_ctrl_addr + srcr_wm->addr);
ar                372 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + srcr_wm->addr,
ar                377 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_src_ring_lowmark_set(struct ath10k *ar,
ar                381 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_dst_src_wm_regs *srcr_wm = ar->hw_ce_regs->wm_srcr;
ar                382 drivers/net/wireless/ath/ath10k/ce.c 	u32 addr = ath10k_ce_read32(ar, ce_ctrl_addr + srcr_wm->addr);
ar                384 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + srcr_wm->addr,
ar                389 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_dest_ring_highmark_set(struct ath10k *ar,
ar                393 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_dst_src_wm_regs *dstr_wm = ar->hw_ce_regs->wm_dstr;
ar                394 drivers/net/wireless/ath/ath10k/ce.c 	u32 addr = ath10k_ce_read32(ar, ce_ctrl_addr + dstr_wm->addr);
ar                396 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + dstr_wm->addr,
ar                401 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_dest_ring_lowmark_set(struct ath10k *ar,
ar                405 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_dst_src_wm_regs *dstr_wm = ar->hw_ce_regs->wm_dstr;
ar                406 drivers/net/wireless/ath/ath10k/ce.c 	u32 addr = ath10k_ce_read32(ar, ce_ctrl_addr + dstr_wm->addr);
ar                408 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + dstr_wm->addr,
ar                413 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_copy_complete_inter_enable(struct ath10k *ar,
ar                416 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_host_ie *host_ie = ar->hw_ce_regs->host_ie;
ar                418 drivers/net/wireless/ath/ath10k/ce.c 	u32 host_ie_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                419 drivers/net/wireless/ath/ath10k/ce.c 					    ar->hw_ce_regs->host_ie_addr);
ar                421 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + ar->hw_ce_regs->host_ie_addr,
ar                425 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_copy_complete_intr_disable(struct ath10k *ar,
ar                428 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_host_ie *host_ie = ar->hw_ce_regs->host_ie;
ar                430 drivers/net/wireless/ath/ath10k/ce.c 	u32 host_ie_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                431 drivers/net/wireless/ath/ath10k/ce.c 					    ar->hw_ce_regs->host_ie_addr);
ar                433 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + ar->hw_ce_regs->host_ie_addr,
ar                437 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_watermark_intr_disable(struct ath10k *ar,
ar                440 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_host_wm_regs *wm_regs = ar->hw_ce_regs->wm_regs;
ar                442 drivers/net/wireless/ath/ath10k/ce.c 	u32 host_ie_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                443 drivers/net/wireless/ath/ath10k/ce.c 					    ar->hw_ce_regs->host_ie_addr);
ar                445 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + ar->hw_ce_regs->host_ie_addr,
ar                449 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_error_intr_enable(struct ath10k *ar,
ar                452 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_misc_regs *misc_regs = ar->hw_ce_regs->misc_regs;
ar                454 drivers/net/wireless/ath/ath10k/ce.c 	u32 misc_ie_addr = ath10k_ce_read32(ar, ce_ctrl_addr +
ar                455 drivers/net/wireless/ath/ath10k/ce.c 					    ar->hw_ce_regs->misc_ie_addr);
ar                457 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar,
ar                458 drivers/net/wireless/ath/ath10k/ce.c 			  ce_ctrl_addr + ar->hw_ce_regs->misc_ie_addr,
ar                462 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_error_intr_disable(struct ath10k *ar,
ar                465 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_misc_regs *misc_regs = ar->hw_ce_regs->misc_regs;
ar                467 drivers/net/wireless/ath/ath10k/ce.c 	u32 misc_ie_addr = ath10k_ce_read32(ar,
ar                468 drivers/net/wireless/ath/ath10k/ce.c 			ce_ctrl_addr + ar->hw_ce_regs->misc_ie_addr);
ar                470 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar,
ar                471 drivers/net/wireless/ath/ath10k/ce.c 			  ce_ctrl_addr + ar->hw_ce_regs->misc_ie_addr,
ar                475 drivers/net/wireless/ath/ath10k/ce.c static inline void ath10k_ce_engine_int_status_clear(struct ath10k *ar,
ar                479 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_host_wm_regs *wm_regs = ar->hw_ce_regs->wm_regs;
ar                481 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ce_ctrl_addr + wm_regs->addr, mask);
ar                495 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar                506 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_warn(ar, "%s: send more we can (nbytes: %d, max: %d)\n",
ar                538 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_src_ring_write_index_set(ar, ctrl_addr, write_index);
ar                552 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar                563 drivers/net/wireless/ath/ath10k/ce.c 	if (test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags))
ar                567 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_warn(ar, "%s: send more we can (nbytes: %d, max: %d)\n",
ar                570 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.rri_on_ddr)
ar                571 drivers/net/wireless/ath/ath10k/ce.c 		sw_index = ath10k_ce_src_ring_read_index_from_ddr(ar, ce_state->id);
ar                613 drivers/net/wireless/ath/ath10k/ce.c 		if (ar->hw_params.shadow_reg_support)
ar                614 drivers/net/wireless/ath/ath10k/ce.c 			ath10k_ce_shadow_src_ring_write_index_set(ar, ce_state,
ar                617 drivers/net/wireless/ath/ath10k/ce.c 			ath10k_ce_src_ring_write_index_set(ar, ctrl_addr,
ar                640 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                641 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                656 drivers/net/wireless/ath/ath10k/ce.c 			 ath10k_ce_src_ring_write_index_get(ar, ctrl_addr)))
ar                673 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar                674 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                688 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                689 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                704 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                705 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                720 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                721 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                741 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_write_index_set(ar, ctrl_addr, write_index);
ar                751 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                752 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                774 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_write_index_set(ar, ctrl_addr, write_index);
ar                782 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                787 drivers/net/wireless/ath/ath10k/ce.c 	u32 cur_write_idx = ath10k_ce_dest_ring_write_index_get(ar, ctrl_addr);
ar                796 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_write_index_set(ar, ctrl_addr, write_index);
ar                804 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = pipe->ar;
ar                805 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                933 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar                934 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                957 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar;
ar                965 drivers/net/wireless/ath/ath10k/ce.c 	ar = ce_state->ar;
ar                966 drivers/net/wireless/ath/ath10k/ce.c 	ce = ath10k_ce_priv(ar);
ar               1010 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar;
ar               1018 drivers/net/wireless/ath/ath10k/ce.c 	ar = ce_state->ar;
ar               1019 drivers/net/wireless/ath/ath10k/ce.c 	ce = ath10k_ce_priv(ar);
ar               1074 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar               1089 drivers/net/wireless/ath/ath10k/ce.c 		read_index = ath10k_ce_src_ring_read_index_get(ar, ctrl_addr);
ar               1097 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.rri_on_ddr)
ar               1098 drivers/net/wireless/ath/ath10k/ce.c 		read_index = ath10k_ce_src_ring_read_index_get(ar, ctrl_addr);
ar               1127 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar               1142 drivers/net/wireless/ath/ath10k/ce.c 		read_index = ath10k_ce_src_ring_read_index_get(ar, ctrl_addr);
ar               1150 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.rri_on_ddr)
ar               1151 drivers/net/wireless/ath/ath10k/ce.c 		read_index = ath10k_ce_src_ring_read_index_get(ar, ctrl_addr);
ar               1183 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_extract_desc_data(struct ath10k *ar,
ar               1200 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_extract_desc_data_64(struct ath10k *ar,
ar               1230 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar;
ar               1238 drivers/net/wireless/ath/ath10k/ce.c 	ar = ce_state->ar;
ar               1239 drivers/net/wireless/ath/ath10k/ce.c 	ce = ath10k_ce_priv(ar);
ar               1248 drivers/net/wireless/ath/ath10k/ce.c 		ce_state->ops->ce_extract_desc_data(ar, src_ring, sw_index,
ar               1276 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar               1277 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1295 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_per_engine_service(struct ath10k *ar, unsigned int ce_id)
ar               1297 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1299 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_hw_ce_host_wm_regs *wm_regs = ar->hw_ce_regs->wm_regs;
ar               1305 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_engine_int_status_clear(ar, ctrl_addr,
ar               1322 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_engine_int_status_clear(ar, ctrl_addr, wm_regs->wm_mask);
ar               1334 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_per_engine_service_any(struct ath10k *ar)
ar               1339 drivers/net/wireless/ath/ath10k/ce.c 	intr_summary = ath10k_ce_interrupt_summary(ar);
ar               1348 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_per_engine_service(ar, ce_id);
ar               1363 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k *ar = ce_state->ar;
ar               1368 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_copy_complete_inter_enable(ar, ctrl_addr);
ar               1370 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_copy_complete_intr_disable(ar, ctrl_addr);
ar               1372 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_watermark_intr_disable(ar, ctrl_addr);
ar               1375 drivers/net/wireless/ath/ath10k/ce.c int ath10k_ce_disable_interrupts(struct ath10k *ar)
ar               1377 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1387 drivers/net/wireless/ath/ath10k/ce.c 		ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar               1389 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_copy_complete_intr_disable(ar, ctrl_addr);
ar               1390 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_error_intr_disable(ar, ctrl_addr);
ar               1391 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_watermark_intr_disable(ar, ctrl_addr);
ar               1398 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_enable_interrupts(struct ath10k *ar)
ar               1400 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1417 drivers/net/wireless/ath/ath10k/ce.c static int ath10k_ce_init_src_ring(struct ath10k *ar,
ar               1421 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1424 drivers/net/wireless/ath/ath10k/ce.c 	u32 nentries, ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar               1428 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.target_64bit)
ar               1435 drivers/net/wireless/ath/ath10k/ce.c 	src_ring->sw_index = ath10k_ce_src_ring_read_index_get(ar, ctrl_addr);
ar               1440 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_src_ring_write_index_get(ar, ctrl_addr);
ar               1443 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_base_addr_set(ar, ce_id,
ar               1445 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_size_set(ar, ctrl_addr, nentries);
ar               1446 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_dmax_set(ar, ctrl_addr, attr->src_sz_max);
ar               1447 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_byte_swap_set(ar, ctrl_addr, 0);
ar               1448 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_lowmark_set(ar, ctrl_addr, 0);
ar               1449 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_highmark_set(ar, ctrl_addr, nentries);
ar               1451 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1458 drivers/net/wireless/ath/ath10k/ce.c static int ath10k_ce_init_dest_ring(struct ath10k *ar,
ar               1462 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1465 drivers/net/wireless/ath/ath10k/ce.c 	u32 nentries, ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar               1469 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.target_64bit)
ar               1476 drivers/net/wireless/ath/ath10k/ce.c 	dest_ring->sw_index = ath10k_ce_dest_ring_read_index_get(ar, ctrl_addr);
ar               1479 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_dest_ring_write_index_get(ar, ctrl_addr);
ar               1482 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_base_addr_set(ar, ce_id,
ar               1484 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_size_set(ar, ctrl_addr, nentries);
ar               1485 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_byte_swap_set(ar, ctrl_addr, 0);
ar               1486 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_lowmark_set(ar, ctrl_addr, 0);
ar               1487 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_highmark_set(ar, ctrl_addr, nentries);
ar               1489 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1496 drivers/net/wireless/ath/ath10k/ce.c static int ath10k_ce_alloc_shadow_base(struct ath10k *ar,
ar               1513 drivers/net/wireless/ath/ath10k/ce.c ath10k_ce_alloc_src_ring(struct ath10k *ar, unsigned int ce_id,
ar               1536 drivers/net/wireless/ath/ath10k/ce.c 		dma_alloc_coherent(ar->dev,
ar               1554 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.shadow_reg_support) {
ar               1555 drivers/net/wireless/ath/ath10k/ce.c 		ret = ath10k_ce_alloc_shadow_base(ar, src_ring, nentries);
ar               1557 drivers/net/wireless/ath/ath10k/ce.c 			dma_free_coherent(ar->dev,
ar               1571 drivers/net/wireless/ath/ath10k/ce.c ath10k_ce_alloc_src_ring_64(struct ath10k *ar, unsigned int ce_id,
ar               1593 drivers/net/wireless/ath/ath10k/ce.c 		dma_alloc_coherent(ar->dev,
ar               1611 drivers/net/wireless/ath/ath10k/ce.c 	if (ar->hw_params.shadow_reg_support) {
ar               1612 drivers/net/wireless/ath/ath10k/ce.c 		ret = ath10k_ce_alloc_shadow_base(ar, src_ring, nentries);
ar               1614 drivers/net/wireless/ath/ath10k/ce.c 			dma_free_coherent(ar->dev,
ar               1628 drivers/net/wireless/ath/ath10k/ce.c ath10k_ce_alloc_dest_ring(struct ath10k *ar, unsigned int ce_id,
ar               1650 drivers/net/wireless/ath/ath10k/ce.c 		dma_alloc_coherent(ar->dev,
ar               1672 drivers/net/wireless/ath/ath10k/ce.c ath10k_ce_alloc_dest_ring_64(struct ath10k *ar, unsigned int ce_id,
ar               1693 drivers/net/wireless/ath/ath10k/ce.c 		dma_alloc_coherent(ar->dev,
ar               1727 drivers/net/wireless/ath/ath10k/ce.c int ath10k_ce_init_pipe(struct ath10k *ar, unsigned int ce_id,
ar               1733 drivers/net/wireless/ath/ath10k/ce.c 		ret = ath10k_ce_init_src_ring(ar, ce_id, attr);
ar               1735 drivers/net/wireless/ath/ath10k/ce.c 			ath10k_err(ar, "Failed to initialize CE src ring for ID: %d (%d)\n",
ar               1742 drivers/net/wireless/ath/ath10k/ce.c 		ret = ath10k_ce_init_dest_ring(ar, ce_id, attr);
ar               1744 drivers/net/wireless/ath/ath10k/ce.c 			ath10k_err(ar, "Failed to initialize CE dest ring for ID: %d (%d)\n",
ar               1754 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_deinit_src_ring(struct ath10k *ar, unsigned int ce_id)
ar               1756 drivers/net/wireless/ath/ath10k/ce.c 	u32 ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar               1758 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_base_addr_set(ar, ce_id, 0);
ar               1759 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_size_set(ar, ctrl_addr, 0);
ar               1760 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_dmax_set(ar, ctrl_addr, 0);
ar               1761 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_src_ring_highmark_set(ar, ctrl_addr, 0);
ar               1764 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_deinit_dest_ring(struct ath10k *ar, unsigned int ce_id)
ar               1766 drivers/net/wireless/ath/ath10k/ce.c 	u32 ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar               1768 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_base_addr_set(ar, ce_id, 0);
ar               1769 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_size_set(ar, ctrl_addr, 0);
ar               1770 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_dest_ring_highmark_set(ar, ctrl_addr, 0);
ar               1773 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_deinit_pipe(struct ath10k *ar, unsigned int ce_id)
ar               1775 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_deinit_src_ring(ar, ce_id);
ar               1776 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_deinit_dest_ring(ar, ce_id);
ar               1780 drivers/net/wireless/ath/ath10k/ce.c static void _ath10k_ce_free_pipe(struct ath10k *ar, int ce_id)
ar               1782 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1786 drivers/net/wireless/ath/ath10k/ce.c 		if (ar->hw_params.shadow_reg_support)
ar               1788 drivers/net/wireless/ath/ath10k/ce.c 		dma_free_coherent(ar->dev,
ar               1798 drivers/net/wireless/ath/ath10k/ce.c 		dma_free_coherent(ar->dev,
ar               1811 drivers/net/wireless/ath/ath10k/ce.c static void _ath10k_ce_free_pipe_64(struct ath10k *ar, int ce_id)
ar               1813 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1817 drivers/net/wireless/ath/ath10k/ce.c 		if (ar->hw_params.shadow_reg_support)
ar               1819 drivers/net/wireless/ath/ath10k/ce.c 		dma_free_coherent(ar->dev,
ar               1829 drivers/net/wireless/ath/ath10k/ce.c 		dma_free_coherent(ar->dev,
ar               1842 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_free_pipe(struct ath10k *ar, int ce_id)
ar               1844 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1847 drivers/net/wireless/ath/ath10k/ce.c 	ce_state->ops->ce_free_pipe(ar, ce_id);
ar               1851 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_dump_registers(struct ath10k *ar,
ar               1854 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1858 drivers/net/wireless/ath/ath10k/ce.c 	lockdep_assert_held(&ar->dump_mutex);
ar               1860 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_err(ar, "Copy Engine register dump:\n");
ar               1864 drivers/net/wireless/ath/ath10k/ce.c 		addr = ath10k_ce_base_address(ar, id);
ar               1868 drivers/net/wireless/ath/ath10k/ce.c 			cpu_to_le32(ath10k_ce_src_ring_write_index_get(ar, addr));
ar               1870 drivers/net/wireless/ath/ath10k/ce.c 			cpu_to_le32(ath10k_ce_src_ring_read_index_get(ar, addr));
ar               1872 drivers/net/wireless/ath/ath10k/ce.c 			cpu_to_le32(ath10k_ce_dest_ring_write_index_get(ar, addr));
ar               1874 drivers/net/wireless/ath/ath10k/ce.c 			cpu_to_le32(ath10k_ce_dest_ring_read_index_get(ar, addr));
ar               1879 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_err(ar, "[%02d]: 0x%08x %3u %3u %3u %3u", id,
ar               1920 drivers/net/wireless/ath/ath10k/ce.c static void ath10k_ce_set_ops(struct ath10k *ar,
ar               1923 drivers/net/wireless/ath/ath10k/ce.c 	switch (ar->hw_rev) {
ar               1933 drivers/net/wireless/ath/ath10k/ce.c int ath10k_ce_alloc_pipe(struct ath10k *ar, int ce_id,
ar               1936 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1940 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_set_ops(ar, ce_state);
ar               1953 drivers/net/wireless/ath/ath10k/ce.c 	ce_state->ar = ar;
ar               1955 drivers/net/wireless/ath/ath10k/ce.c 	ce_state->ctrl_addr = ath10k_ce_base_address(ar, ce_id);
ar               1967 drivers/net/wireless/ath/ath10k/ce.c 			ce_state->ops->ce_alloc_src_ring(ar, ce_id, attr);
ar               1970 drivers/net/wireless/ath/ath10k/ce.c 			ath10k_err(ar, "failed to alloc CE src ring %d: %d\n",
ar               1978 drivers/net/wireless/ath/ath10k/ce.c 		ce_state->dest_ring = ce_state->ops->ce_alloc_dst_ring(ar,
ar               1983 drivers/net/wireless/ath/ath10k/ce.c 			ath10k_err(ar, "failed to alloc CE dest ring %d: %d\n",
ar               1994 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_alloc_rri(struct ath10k *ar)
ar               2000 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               2002 drivers/net/wireless/ath/ath10k/ce.c 	ce->vaddr_rri = dma_alloc_coherent(ar->dev,
ar               2009 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ar->hw_ce_regs->ce_rri_low,
ar               2011 drivers/net/wireless/ath/ath10k/ce.c 	ath10k_ce_write32(ar, ar->hw_ce_regs->ce_rri_high,
ar               2016 drivers/net/wireless/ath/ath10k/ce.c 		ctrl1_regs = ar->hw_ce_regs->ctrl1_regs->addr;
ar               2017 drivers/net/wireless/ath/ath10k/ce.c 		ce_base_addr = ath10k_ce_base_address(ar, i);
ar               2018 drivers/net/wireless/ath/ath10k/ce.c 		value = ath10k_ce_read32(ar, ce_base_addr + ctrl1_regs);
ar               2019 drivers/net/wireless/ath/ath10k/ce.c 		value |= ar->hw_ce_regs->upd->mask;
ar               2020 drivers/net/wireless/ath/ath10k/ce.c 		ath10k_ce_write32(ar, ce_base_addr + ctrl1_regs, value);
ar               2027 drivers/net/wireless/ath/ath10k/ce.c void ath10k_ce_free_rri(struct ath10k *ar)
ar               2029 drivers/net/wireless/ath/ath10k/ce.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               2031 drivers/net/wireless/ath/ath10k/ce.c 	dma_free_coherent(ar->dev, (CE_COUNT * sizeof(u32)),
ar                 38 drivers/net/wireless/ath/ath10k/ce.h #define CE_DESC_FLAGS_META_DATA_MASK ar->hw_values->ce_desc_meta_data_mask
ar                 39 drivers/net/wireless/ath/ath10k/ce.h #define CE_DESC_FLAGS_META_DATA_LSB  ar->hw_values->ce_desc_meta_data_lsb
ar                117 drivers/net/wireless/ath/ath10k/ce.h 	struct ath10k *ar;
ar                137 drivers/net/wireless/ath/ath10k/ce.h 	u32 (*read32)(struct ath10k *ar, u32 offset);
ar                138 drivers/net/wireless/ath/ath10k/ce.h 	void (*write32)(struct ath10k *ar, u32 offset, u32 value);
ar                139 drivers/net/wireless/ath/ath10k/ce.h 	int (*get_num_banks)(struct ath10k *ar);
ar                142 drivers/net/wireless/ath/ath10k/ce.h static inline struct ath10k_ce *ath10k_ce_priv(struct ath10k *ar)
ar                144 drivers/net/wireless/ath/ath10k/ce.h 	return (struct ath10k_ce *)ar->ce_priv;
ar                223 drivers/net/wireless/ath/ath10k/ce.h int ath10k_ce_init_pipe(struct ath10k *ar, unsigned int ce_id,
ar                225 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_deinit_pipe(struct ath10k *ar, unsigned int ce_id);
ar                226 drivers/net/wireless/ath/ath10k/ce.h int ath10k_ce_alloc_pipe(struct ath10k *ar, int ce_id,
ar                228 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_free_pipe(struct ath10k *ar, int ce_id);
ar                256 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_per_engine_service_any(struct ath10k *ar);
ar                257 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_per_engine_service(struct ath10k *ar, unsigned int ce_id);
ar                258 drivers/net/wireless/ath/ath10k/ce.h int ath10k_ce_disable_interrupts(struct ath10k *ar);
ar                259 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_enable_interrupts(struct ath10k *ar);
ar                260 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_dump_registers(struct ath10k *ar,
ar                262 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_alloc_rri(struct ath10k *ar);
ar                263 drivers/net/wireless/ath/ath10k/ce.h void ath10k_ce_free_rri(struct ath10k *ar);
ar                303 drivers/net/wireless/ath/ath10k/ce.h 	struct ath10k_ce_ring *(*ce_alloc_src_ring)(struct ath10k *ar,
ar                306 drivers/net/wireless/ath/ath10k/ce.h 	struct ath10k_ce_ring *(*ce_alloc_dst_ring)(struct ath10k *ar,
ar                317 drivers/net/wireless/ath/ath10k/ce.h 	void (*ce_extract_desc_data)(struct ath10k *ar,
ar                321 drivers/net/wireless/ath/ath10k/ce.h 	void (*ce_free_pipe)(struct ath10k *ar, int ce_id);
ar                326 drivers/net/wireless/ath/ath10k/ce.h 	void (*ce_set_src_ring_base_addr_hi)(struct ath10k *ar,
ar                329 drivers/net/wireless/ath/ath10k/ce.h 	void (*ce_set_dest_ring_base_addr_hi)(struct ath10k *ar,
ar                336 drivers/net/wireless/ath/ath10k/ce.h static inline u32 ath10k_ce_base_address(struct ath10k *ar, unsigned int ce_id)
ar                365 drivers/net/wireless/ath/ath10k/ce.h 				ar->regs->ce_wrap_intr_sum_host_msi_lsb
ar                367 drivers/net/wireless/ath/ath10k/ce.h 				ar->regs->ce_wrap_intr_sum_host_msi_mask
ar                374 drivers/net/wireless/ath/ath10k/ce.h static inline u32 ath10k_ce_interrupt_summary(struct ath10k *ar)
ar                376 drivers/net/wireless/ath/ath10k/ce.h 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                378 drivers/net/wireless/ath/ath10k/ce.h 	if (!ar->hw_params.per_ce_irq)
ar                380 drivers/net/wireless/ath/ath10k/ce.h 			ce->bus_ops->read32((ar), CE_WRAPPER_BASE_ADDRESS +
ar                654 drivers/net/wireless/ath/ath10k/core.c void ath10k_core_get_fw_features_str(struct ath10k *ar,
ar                662 drivers/net/wireless/ath/ath10k/core.c 		if (test_bit(i, ar->normal_mode_fw.fw_file.fw_features)) {
ar                673 drivers/net/wireless/ath/ath10k/core.c static void ath10k_send_suspend_complete(struct ath10k *ar)
ar                675 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot suspend complete\n");
ar                677 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->target_suspend);
ar                680 drivers/net/wireless/ath/ath10k/core.c static void ath10k_init_sdio(struct ath10k *ar, enum ath10k_firmware_mode mode)
ar                684 drivers/net/wireless/ath/ath10k/core.c 	ath10k_bmi_write32(ar, hi_mbox_io_block_sz, 256);
ar                685 drivers/net/wireless/ath/ath10k/core.c 	ath10k_bmi_write32(ar, hi_mbox_isr_yield_limit, 99);
ar                686 drivers/net/wireless/ath/ath10k/core.c 	ath10k_bmi_read32(ar, hi_acs_flags, &param);
ar                703 drivers/net/wireless/ath/ath10k/core.c 	ath10k_bmi_write32(ar, hi_acs_flags, param);
ar                708 drivers/net/wireless/ath/ath10k/core.c 	ath10k_bmi_read32(ar, hi_option_flag, &param);
ar                710 drivers/net/wireless/ath/ath10k/core.c 	ath10k_bmi_write32(ar, hi_option_flag, param);
ar                713 drivers/net/wireless/ath/ath10k/core.c static int ath10k_init_configure_target(struct ath10k *ar)
ar                719 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_app_host_interest,
ar                722 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "settings HTC version failed\n");
ar                727 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_read32(ar, hi_option_flag, &param_host);
ar                729 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "setting firmware mode (1/2) failed\n");
ar                746 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_option_flag, param_host);
ar                748 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "setting firmware mode (2/2) failed\n");
ar                753 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_be, 0);
ar                755 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "setting host CPU BE mode failed\n");
ar                760 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_fw_swap, 0);
ar                763 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "setting FW data/desc swap flags failed\n");
ar                771 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_hci_uart_pwr_mgmt_params_ext,
ar                772 drivers/net/wireless/ath/ath10k/core.c 				 ar->dev_id);
ar                774 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to set pwr_mgmt_params: %d\n", ret);
ar                781 drivers/net/wireless/ath/ath10k/core.c static const struct firmware *ath10k_fetch_fw_file(struct ath10k *ar,
ar                796 drivers/net/wireless/ath/ath10k/core.c 	ret = firmware_request_nowarn(&fw, filename, ar->dev);
ar                797 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n",
ar                806 drivers/net/wireless/ath/ath10k/core.c static int ath10k_push_board_ext_data(struct ath10k *ar, const void *data,
ar                809 drivers/net/wireless/ath/ath10k/core.c 	u32 board_data_size = ar->hw_params.fw.board_size;
ar                810 drivers/net/wireless/ath/ath10k/core.c 	u32 board_ext_data_size = ar->hw_params.fw.board_ext_size;
ar                814 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_read32(ar, hi_board_ext_data, &board_ext_data_addr);
ar                816 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not read board ext data addr (%d)\n",
ar                821 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                829 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "invalid board (ext) data sizes %zu != %d+%d\n",
ar                834 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write_memory(ar, board_ext_data_addr,
ar                838 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write board ext data (%d)\n", ret);
ar                842 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_board_ext_data_config,
ar                845 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write board ext data bit (%d)\n",
ar                853 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_get_board_id_from_otp(struct ath10k *ar)
ar                860 drivers/net/wireless/ath/ath10k/core.c 	address = ar->hw_params.patch_load_addr;
ar                862 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->normal_mode_fw.fw_file.otp_data ||
ar                863 drivers/net/wireless/ath/ath10k/core.c 	    !ar->normal_mode_fw.fw_file.otp_len) {
ar                864 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar,
ar                869 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                871 drivers/net/wireless/ath/ath10k/core.c 		   address, ar->normal_mode_fw.fw_file.otp_len);
ar                873 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_fast_download(ar, address,
ar                874 drivers/net/wireless/ath/ath10k/core.c 				       ar->normal_mode_fw.fw_file.otp_data,
ar                875 drivers/net/wireless/ath/ath10k/core.c 				       ar->normal_mode_fw.fw_file.otp_len);
ar                877 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write otp for board id check: %d\n",
ar                882 drivers/net/wireless/ath/ath10k/core.c 	if (ar->cal_mode == ATH10K_PRE_CAL_MODE_DT ||
ar                883 drivers/net/wireless/ath/ath10k/core.c 	    ar->cal_mode == ATH10K_PRE_CAL_MODE_FILE)
ar                888 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_execute(ar, address, bmi_board_id_param, &result);
ar                890 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not execute otp for board id check: %d\n",
ar                899 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                903 drivers/net/wireless/ath/ath10k/core.c 	ar->id.ext_bid_supported = ext_bid_support;
ar                907 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                912 drivers/net/wireless/ath/ath10k/core.c 	ar->id.bmi_ids_valid = true;
ar                913 drivers/net/wireless/ath/ath10k/core.c 	ar->id.bmi_board_id = board_id;
ar                914 drivers/net/wireless/ath/ath10k/core.c 	ar->id.bmi_chip_id = chip_id;
ar                921 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k *ar = data;
ar                931 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                939 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT, "bdf variant name not found.\n");
ar                947 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                954 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                961 drivers/net/wireless/ath/ath10k/core.c 	if (strscpy(ar->id.bdf_ext, bdf_ext + strlen(magic),
ar                962 drivers/net/wireless/ath/ath10k/core.c 		    sizeof(ar->id.bdf_ext)) < 0) {
ar                963 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                969 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                974 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_check_smbios(struct ath10k *ar)
ar                976 drivers/net/wireless/ath/ath10k/core.c 	ar->id.bdf_ext[0] = '\0';
ar                977 drivers/net/wireless/ath/ath10k/core.c 	dmi_walk(ath10k_core_check_bdfext, ar);
ar                979 drivers/net/wireless/ath/ath10k/core.c 	if (ar->id.bdf_ext[0] == '\0')
ar                985 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_check_dt(struct ath10k *ar)
ar                990 drivers/net/wireless/ath/ath10k/core.c 	node = ar->dev->of_node;
ar                999 drivers/net/wireless/ath/ath10k/core.c 	if (strscpy(ar->id.bdf_ext, variant, sizeof(ar->id.bdf_ext)) < 0)
ar               1000 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1007 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_fw(struct ath10k *ar)
ar               1013 drivers/net/wireless/ath/ath10k/core.c 	address = ar->hw_params.patch_load_addr;
ar               1015 drivers/net/wireless/ath/ath10k/core.c 	data = ar->running_fw->fw_file.firmware_data;
ar               1016 drivers/net/wireless/ath/ath10k/core.c 	data_len = ar->running_fw->fw_file.firmware_len;
ar               1018 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_swap_code_seg_configure(ar, &ar->running_fw->fw_file);
ar               1020 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to configure fw code swap: %d\n",
ar               1025 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1033 drivers/net/wireless/ath/ath10k/core.c 	if (ar->hw_params.fw_diag_ce_download) {
ar               1034 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_hw_diag_fast_download(ar, address,
ar               1040 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar,
ar               1045 drivers/net/wireless/ath/ath10k/core.c 	return ath10k_bmi_fast_download(ar, address,
ar               1049 drivers/net/wireless/ath/ath10k/core.c void ath10k_core_free_board_files(struct ath10k *ar)
ar               1051 drivers/net/wireless/ath/ath10k/core.c 	if (!IS_ERR(ar->normal_mode_fw.board))
ar               1052 drivers/net/wireless/ath/ath10k/core.c 		release_firmware(ar->normal_mode_fw.board);
ar               1054 drivers/net/wireless/ath/ath10k/core.c 	if (!IS_ERR(ar->normal_mode_fw.ext_board))
ar               1055 drivers/net/wireless/ath/ath10k/core.c 		release_firmware(ar->normal_mode_fw.ext_board);
ar               1057 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.board = NULL;
ar               1058 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.board_data = NULL;
ar               1059 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.board_len = 0;
ar               1060 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.ext_board = NULL;
ar               1061 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.ext_board_data = NULL;
ar               1062 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.ext_board_len = 0;
ar               1066 drivers/net/wireless/ath/ath10k/core.c static void ath10k_core_free_firmware_files(struct ath10k *ar)
ar               1068 drivers/net/wireless/ath/ath10k/core.c 	if (!IS_ERR(ar->normal_mode_fw.fw_file.firmware))
ar               1069 drivers/net/wireless/ath/ath10k/core.c 		release_firmware(ar->normal_mode_fw.fw_file.firmware);
ar               1071 drivers/net/wireless/ath/ath10k/core.c 	if (!IS_ERR(ar->cal_file))
ar               1072 drivers/net/wireless/ath/ath10k/core.c 		release_firmware(ar->cal_file);
ar               1074 drivers/net/wireless/ath/ath10k/core.c 	if (!IS_ERR(ar->pre_cal_file))
ar               1075 drivers/net/wireless/ath/ath10k/core.c 		release_firmware(ar->pre_cal_file);
ar               1077 drivers/net/wireless/ath/ath10k/core.c 	ath10k_swap_code_seg_release(ar, &ar->normal_mode_fw.fw_file);
ar               1079 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.fw_file.otp_data = NULL;
ar               1080 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.fw_file.otp_len = 0;
ar               1082 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.fw_file.firmware = NULL;
ar               1083 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.fw_file.firmware_data = NULL;
ar               1084 drivers/net/wireless/ath/ath10k/core.c 	ar->normal_mode_fw.fw_file.firmware_len = 0;
ar               1086 drivers/net/wireless/ath/ath10k/core.c 	ar->cal_file = NULL;
ar               1087 drivers/net/wireless/ath/ath10k/core.c 	ar->pre_cal_file = NULL;
ar               1090 drivers/net/wireless/ath/ath10k/core.c static int ath10k_fetch_cal_file(struct ath10k *ar)
ar               1096 drivers/net/wireless/ath/ath10k/core.c 		  ath10k_bus_str(ar->hif.bus), dev_name(ar->dev));
ar               1098 drivers/net/wireless/ath/ath10k/core.c 	ar->pre_cal_file = ath10k_fetch_fw_file(ar, ATH10K_FW_DIR, filename);
ar               1099 drivers/net/wireless/ath/ath10k/core.c 	if (!IS_ERR(ar->pre_cal_file))
ar               1104 drivers/net/wireless/ath/ath10k/core.c 		  ath10k_bus_str(ar->hif.bus), dev_name(ar->dev));
ar               1106 drivers/net/wireless/ath/ath10k/core.c 	ar->cal_file = ath10k_fetch_fw_file(ar, ATH10K_FW_DIR, filename);
ar               1107 drivers/net/wireless/ath/ath10k/core.c 	if (IS_ERR(ar->cal_file))
ar               1109 drivers/net/wireless/ath/ath10k/core.c 		return PTR_ERR(ar->cal_file);
ar               1111 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "found calibration file %s/%s\n",
ar               1117 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_fetch_board_data_api_1(struct ath10k *ar, int bd_ie_type)
ar               1122 drivers/net/wireless/ath/ath10k/core.c 		if (!ar->hw_params.fw.board) {
ar               1123 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to find board file fw entry\n");
ar               1127 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar               1128 drivers/net/wireless/ath/ath10k/core.c 								ar->hw_params.fw.dir,
ar               1129 drivers/net/wireless/ath/ath10k/core.c 								ar->hw_params.fw.board);
ar               1130 drivers/net/wireless/ath/ath10k/core.c 		if (IS_ERR(ar->normal_mode_fw.board))
ar               1131 drivers/net/wireless/ath/ath10k/core.c 			return PTR_ERR(ar->normal_mode_fw.board);
ar               1133 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.board_data = ar->normal_mode_fw.board->data;
ar               1134 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.board_len = ar->normal_mode_fw.board->size;
ar               1136 drivers/net/wireless/ath/ath10k/core.c 		if (!ar->hw_params.fw.eboard) {
ar               1137 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to find eboard file fw entry\n");
ar               1141 drivers/net/wireless/ath/ath10k/core.c 		fw = ath10k_fetch_fw_file(ar, ar->hw_params.fw.dir,
ar               1142 drivers/net/wireless/ath/ath10k/core.c 					  ar->hw_params.fw.eboard);
ar               1143 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.ext_board = fw;
ar               1144 drivers/net/wireless/ath/ath10k/core.c 		if (IS_ERR(ar->normal_mode_fw.ext_board))
ar               1145 drivers/net/wireless/ath/ath10k/core.c 			return PTR_ERR(ar->normal_mode_fw.ext_board);
ar               1147 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.ext_board_data = ar->normal_mode_fw.ext_board->data;
ar               1148 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.ext_board_len = ar->normal_mode_fw.ext_board->size;
ar               1154 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_parse_bd_ie_board(struct ath10k *ar,
ar               1178 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "invalid ATH10K_BD_IE_BOARD length: %zu < %zu\n",
ar               1186 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg_dump(ar, ATH10K_DBG_BOOT, "board name", "",
ar               1197 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1207 drivers/net/wireless/ath/ath10k/core.c 				ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1211 drivers/net/wireless/ath/ath10k/core.c 				ar->normal_mode_fw.board_data = board_ie_data;
ar               1212 drivers/net/wireless/ath/ath10k/core.c 				ar->normal_mode_fw.board_len = board_ie_len;
ar               1214 drivers/net/wireless/ath/ath10k/core.c 				ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1218 drivers/net/wireless/ath/ath10k/core.c 				ar->normal_mode_fw.ext_board_data = board_ie_data;
ar               1219 drivers/net/wireless/ath/ath10k/core.c 				ar->normal_mode_fw.ext_board_len = board_ie_len;
ar               1225 drivers/net/wireless/ath/ath10k/core.c 			ath10k_warn(ar, "unknown ATH10K_BD_IE_BOARD found: %d\n",
ar               1244 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_search_bd(struct ath10k *ar,
ar               1262 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "invalid length for board ie_id %d ie_len %zu len %zu\n",
ar               1269 drivers/net/wireless/ath/ath10k/core.c 			ret = ath10k_core_parse_bd_ie_board(ar, data, ie_len,
ar               1279 drivers/net/wireless/ath/ath10k/core.c 			ret = ath10k_core_parse_bd_ie_board(ar, data, ie_len,
ar               1302 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_fetch_board_data_api_n(struct ath10k *ar,
ar               1312 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->normal_mode_fw.board)
ar               1313 drivers/net/wireless/ath/ath10k/core.c 		ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar               1314 drivers/net/wireless/ath/ath10k/core.c 								ar->hw_params.fw.dir,
ar               1316 drivers/net/wireless/ath/ath10k/core.c 	if (IS_ERR(ar->normal_mode_fw.board))
ar               1317 drivers/net/wireless/ath/ath10k/core.c 		return PTR_ERR(ar->normal_mode_fw.board);
ar               1319 drivers/net/wireless/ath/ath10k/core.c 	data = ar->normal_mode_fw.board->data;
ar               1320 drivers/net/wireless/ath/ath10k/core.c 	len = ar->normal_mode_fw.board->size;
ar               1325 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to find magic value in %s/%s, file too short: %zu\n",
ar               1326 drivers/net/wireless/ath/ath10k/core.c 			   ar->hw_params.fw.dir, filename, len);
ar               1332 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "found invalid board magic\n");
ar               1340 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed: %s/%s too small to contain board data, len: %zu\n",
ar               1341 drivers/net/wireless/ath/ath10k/core.c 			   ar->hw_params.fw.dir, filename, len);
ar               1350 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_search_bd(ar, boardname, data, len);
ar               1354 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_search_bd(ar, fallback_boardname, data, len);
ar               1357 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar,
ar               1359 drivers/net/wireless/ath/ath10k/core.c 			   boardname, ar->hw_params.fw.dir, filename);
ar               1369 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_free_board_files(ar);
ar               1373 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
ar               1379 drivers/net/wireless/ath/ath10k/core.c 	if (with_variant && ar->id.bdf_ext[0] != '\0')
ar               1381 drivers/net/wireless/ath/ath10k/core.c 			  ar->id.bdf_ext);
ar               1383 drivers/net/wireless/ath/ath10k/core.c 	if (ar->id.bmi_ids_valid) {
ar               1386 drivers/net/wireless/ath/ath10k/core.c 			  ath10k_bus_str(ar->hif.bus),
ar               1387 drivers/net/wireless/ath/ath10k/core.c 			  ar->id.bmi_chip_id,
ar               1388 drivers/net/wireless/ath/ath10k/core.c 			  ar->id.bmi_board_id, variant);
ar               1392 drivers/net/wireless/ath/ath10k/core.c 	if (ar->id.qmi_ids_valid) {
ar               1395 drivers/net/wireless/ath/ath10k/core.c 			  ath10k_bus_str(ar->hif.bus),
ar               1396 drivers/net/wireless/ath/ath10k/core.c 			  ar->id.qmi_board_id);
ar               1402 drivers/net/wireless/ath/ath10k/core.c 		  ath10k_bus_str(ar->hif.bus),
ar               1403 drivers/net/wireless/ath/ath10k/core.c 		  ar->id.vendor, ar->id.device,
ar               1404 drivers/net/wireless/ath/ath10k/core.c 		  ar->id.subsystem_vendor, ar->id.subsystem_device, variant);
ar               1406 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot using board name '%s'\n", name);
ar               1411 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_create_eboard_name(struct ath10k *ar, char *name,
ar               1414 drivers/net/wireless/ath/ath10k/core.c 	if (ar->id.bmi_ids_valid) {
ar               1417 drivers/net/wireless/ath/ath10k/core.c 			  ath10k_bus_str(ar->hif.bus),
ar               1418 drivers/net/wireless/ath/ath10k/core.c 			  ar->id.bmi_chip_id,
ar               1419 drivers/net/wireless/ath/ath10k/core.c 			  ar->id.bmi_eboard_id);
ar               1421 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot using eboard name '%s'\n", name);
ar               1428 drivers/net/wireless/ath/ath10k/core.c int ath10k_core_fetch_board_file(struct ath10k *ar, int bd_ie_type)
ar               1434 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_create_board_name(ar, boardname,
ar               1437 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to create board name: %d", ret);
ar               1441 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_create_board_name(ar, fallback_boardname,
ar               1444 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to create fallback board name: %d", ret);
ar               1448 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_create_eboard_name(ar, boardname,
ar               1451 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "fallback to eboard.bin since board id 0");
ar               1456 drivers/net/wireless/ath/ath10k/core.c 	ar->bd_api = 2;
ar               1457 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_fetch_board_data_api_n(ar, boardname,
ar               1464 drivers/net/wireless/ath/ath10k/core.c 	ar->bd_api = 1;
ar               1465 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_fetch_board_data_api_1(ar, bd_ie_type);
ar               1467 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to fetch board-2.bin or board.bin from %s\n",
ar               1468 drivers/net/wireless/ath/ath10k/core.c 			   ar->hw_params.fw.dir);
ar               1473 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "using board api %d\n", ar->bd_api);
ar               1478 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_get_ext_board_id_from_otp(struct ath10k *ar)
ar               1484 drivers/net/wireless/ath/ath10k/core.c 	address = ar->hw_params.patch_load_addr;
ar               1486 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->normal_mode_fw.fw_file.otp_data ||
ar               1487 drivers/net/wireless/ath/ath10k/core.c 	    !ar->normal_mode_fw.fw_file.otp_len) {
ar               1488 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar,
ar               1493 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1495 drivers/net/wireless/ath/ath10k/core.c 		   address, ar->normal_mode_fw.fw_file.otp_len);
ar               1497 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_fast_download(ar, address,
ar               1498 drivers/net/wireless/ath/ath10k/core.c 				       ar->normal_mode_fw.fw_file.otp_data,
ar               1499 drivers/net/wireless/ath/ath10k/core.c 				       ar->normal_mode_fw.fw_file.otp_len);
ar               1501 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write otp for ext board id check: %d\n",
ar               1506 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_execute(ar, address, BMI_PARAM_GET_EXT_BOARD_ID, &result);
ar               1508 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not execute otp for ext board id check: %d\n",
ar               1514 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1521 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1525 drivers/net/wireless/ath/ath10k/core.c 	ar->id.bmi_eboard_id = ext_board_id;
ar               1530 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_board_data(struct ath10k *ar, const void *data,
ar               1533 drivers/net/wireless/ath/ath10k/core.c 	u32 board_data_size = ar->hw_params.fw.board_size;
ar               1534 drivers/net/wireless/ath/ath10k/core.c 	u32 eboard_data_size = ar->hw_params.fw.ext_board_size;
ar               1539 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_push_board_ext_data(ar, data, data_len);
ar               1541 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not push board ext data (%d)\n", ret);
ar               1545 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_read32(ar, hi_board_data, &board_address);
ar               1547 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not read board data addr (%d)\n", ret);
ar               1551 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write_memory(ar, board_address, data,
ar               1555 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write board data (%d)\n", ret);
ar               1559 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_board_data_initialized, 1);
ar               1561 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write board data bit (%d)\n", ret);
ar               1565 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->id.ext_bid_supported)
ar               1569 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_get_ext_board_id_from_otp(ar);
ar               1572 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT, "otp returned ext board id 0\n");
ar               1575 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to get extended board id: %d\n", ret);
ar               1579 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_fetch_board_file(ar, ATH10K_BD_IE_BOARD_EXT);
ar               1583 drivers/net/wireless/ath/ath10k/core.c 	if (ar->normal_mode_fw.ext_board_data) {
ar               1585 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1588 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_bmi_write_memory(ar, ext_board_address,
ar               1589 drivers/net/wireless/ath/ath10k/core.c 					      ar->normal_mode_fw.ext_board_data,
ar               1592 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to write ext board data: %d\n", ret);
ar               1599 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_and_run_otp(struct ath10k *ar)
ar               1601 drivers/net/wireless/ath/ath10k/core.c 	u32 result, address = ar->hw_params.patch_load_addr;
ar               1602 drivers/net/wireless/ath/ath10k/core.c 	u32 bmi_otp_exe_param = ar->hw_params.otp_exe_param;
ar               1605 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_board_data(ar,
ar               1606 drivers/net/wireless/ath/ath10k/core.c 					 ar->running_fw->board_data,
ar               1607 drivers/net/wireless/ath/ath10k/core.c 					 ar->running_fw->board_len);
ar               1609 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to download board data: %d\n", ret);
ar               1615 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->running_fw->fw_file.otp_data ||
ar               1616 drivers/net/wireless/ath/ath10k/core.c 	    !ar->running_fw->fw_file.otp_len) {
ar               1617 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "Not running otp, calibration will be incorrect (otp-data %pK otp_len %zd)!\n",
ar               1618 drivers/net/wireless/ath/ath10k/core.c 			    ar->running_fw->fw_file.otp_data,
ar               1619 drivers/net/wireless/ath/ath10k/core.c 			    ar->running_fw->fw_file.otp_len);
ar               1623 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot upload otp to 0x%x len %zd\n",
ar               1624 drivers/net/wireless/ath/ath10k/core.c 		   address, ar->running_fw->fw_file.otp_len);
ar               1626 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_fast_download(ar, address,
ar               1627 drivers/net/wireless/ath/ath10k/core.c 				       ar->running_fw->fw_file.otp_data,
ar               1628 drivers/net/wireless/ath/ath10k/core.c 				       ar->running_fw->fw_file.otp_len);
ar               1630 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not write otp (%d)\n", ret);
ar               1635 drivers/net/wireless/ath/ath10k/core.c 	if (ar->cal_mode == ATH10K_PRE_CAL_MODE_DT ||
ar               1636 drivers/net/wireless/ath/ath10k/core.c 	    ar->cal_mode == ATH10K_PRE_CAL_MODE_FILE)
ar               1639 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_execute(ar, address, bmi_otp_exe_param, &result);
ar               1641 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not execute otp (%d)\n", ret);
ar               1645 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot otp execute result %d\n", result);
ar               1648 drivers/net/wireless/ath/ath10k/core.c 				   ar->running_fw->fw_file.fw_features)) &&
ar               1650 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "otp calibration failed: %d", result);
ar               1657 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_cal_file(struct ath10k *ar,
ar               1668 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_board_data(ar, file->data, file->size);
ar               1670 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to download cal_file data: %d\n", ret);
ar               1674 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot cal file downloaded\n");
ar               1679 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_cal_dt(struct ath10k *ar, const char *dt_name)
ar               1686 drivers/net/wireless/ath/ath10k/core.c 	node = ar->dev->of_node;
ar               1698 drivers/net/wireless/ath/ath10k/core.c 	if (data_len != ar->hw_params.cal_data_len) {
ar               1699 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "invalid calibration data length in DT: %d\n",
ar               1713 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "failed to read calibration data from DT: %d\n",
ar               1718 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_board_data(ar, data, data_len);
ar               1720 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "failed to download calibration data from Device Tree: %d\n",
ar               1734 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_cal_eeprom(struct ath10k *ar)
ar               1740 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_hif_fetch_cal_eeprom(ar, &data, &data_len);
ar               1743 drivers/net/wireless/ath/ath10k/core.c 			ath10k_warn(ar, "failed to read calibration data from EEPROM: %d\n",
ar               1748 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_board_data(ar, data, data_len);
ar               1750 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "failed to download calibration data from EEPROM: %d\n",
ar               1763 drivers/net/wireless/ath/ath10k/core.c int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name,
ar               1773 drivers/net/wireless/ath/ath10k/core.c 	fw_file->firmware = ath10k_fetch_fw_file(ar, ar->hw_params.fw.dir,
ar               1785 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "firmware file '%s/%s' too small to contain magic: %zu\n",
ar               1786 drivers/net/wireless/ath/ath10k/core.c 			   ar->hw_params.fw.dir, name, len);
ar               1792 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "invalid firmware magic\n");
ar               1814 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "invalid length for FW IE %d (%zu < %zu)\n",
ar               1828 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1838 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT, "found fw timestamp %d\n",
ar               1842 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1854 drivers/net/wireless/ath/ath10k/core.c 					ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1861 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg_dump(ar, ATH10K_DBG_BOOT, "features", "",
ar               1866 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1875 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1891 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT, "found fw ie wmi op version %d\n",
ar               1902 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT, "found fw ie htt op version %d\n",
ar               1906 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1913 drivers/net/wireless/ath/ath10k/core.c 			ath10k_warn(ar, "Unknown FW IE: %u\n",
ar               1927 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "No ATH10K_FW_IE_FW_IMAGE found from '%s/%s', skipping\n",
ar               1928 drivers/net/wireless/ath/ath10k/core.c 			    ar->hw_params.fw.dir, name);
ar               1936 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_free_firmware_files(ar);
ar               1940 drivers/net/wireless/ath/ath10k/core.c static void ath10k_core_get_fw_name(struct ath10k *ar, char *fw_name,
ar               1943 drivers/net/wireless/ath/ath10k/core.c 	switch (ar->hif.bus) {
ar               1947 drivers/net/wireless/ath/ath10k/core.c 			  ATH10K_FW_FILE_BASE, ath10k_bus_str(ar->hif.bus),
ar               1959 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_fetch_firmware_files(struct ath10k *ar)
ar               1965 drivers/net/wireless/ath/ath10k/core.c 	ath10k_fetch_cal_file(ar);
ar               1968 drivers/net/wireless/ath/ath10k/core.c 		ar->fw_api = i;
ar               1969 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT, "trying fw api %d\n",
ar               1970 drivers/net/wireless/ath/ath10k/core.c 			   ar->fw_api);
ar               1972 drivers/net/wireless/ath/ath10k/core.c 		ath10k_core_get_fw_name(ar, fw_name, sizeof(fw_name), ar->fw_api);
ar               1973 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_fetch_firmware_api_n(ar, fw_name,
ar               1974 drivers/net/wireless/ath/ath10k/core.c 						       &ar->normal_mode_fw.fw_file);
ar               1981 drivers/net/wireless/ath/ath10k/core.c 	ath10k_err(ar, "Failed to find firmware-N.bin (N between %d and %d) from %s: %d",
ar               1982 drivers/net/wireless/ath/ath10k/core.c 		   ATH10K_FW_API_MIN, ATH10K_FW_API_MAX, ar->hw_params.fw.dir,
ar               1988 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "using fw api %d\n", ar->fw_api);
ar               1993 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_pre_cal_download(struct ath10k *ar)
ar               1997 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_cal_file(ar, ar->pre_cal_file);
ar               1999 drivers/net/wireless/ath/ath10k/core.c 		ar->cal_mode = ATH10K_PRE_CAL_MODE_FILE;
ar               2003 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2007 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_cal_dt(ar, "qcom,ath10k-pre-calibration-data");
ar               2009 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2013 drivers/net/wireless/ath/ath10k/core.c 	ar->cal_mode = ATH10K_PRE_CAL_MODE_DT;
ar               2016 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot using calibration mode %s\n",
ar               2017 drivers/net/wireless/ath/ath10k/core.c 		   ath10k_cal_mode_str(ar->cal_mode));
ar               2022 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_pre_cal_config(struct ath10k *ar)
ar               2026 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_pre_cal_download(ar);
ar               2028 drivers/net/wireless/ath/ath10k/core.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2033 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_get_board_id_from_otp(ar);
ar               2035 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to get board id: %d\n", ret);
ar               2039 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_and_run_otp(ar);
ar               2041 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to run otp: %d\n", ret);
ar               2045 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2051 drivers/net/wireless/ath/ath10k/core.c static int ath10k_download_cal_data(struct ath10k *ar)
ar               2055 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_pre_cal_config(ar);
ar               2059 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2063 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_cal_file(ar, ar->cal_file);
ar               2065 drivers/net/wireless/ath/ath10k/core.c 		ar->cal_mode = ATH10K_CAL_MODE_FILE;
ar               2069 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2073 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_cal_dt(ar, "qcom,ath10k-calibration-data");
ar               2075 drivers/net/wireless/ath/ath10k/core.c 		ar->cal_mode = ATH10K_CAL_MODE_DT;
ar               2079 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2083 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_cal_eeprom(ar);
ar               2085 drivers/net/wireless/ath/ath10k/core.c 		ar->cal_mode = ATH10K_CAL_MODE_EEPROM;
ar               2089 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2093 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_download_and_run_otp(ar);
ar               2095 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to run otp: %d\n", ret);
ar               2099 drivers/net/wireless/ath/ath10k/core.c 	ar->cal_mode = ATH10K_CAL_MODE_OTP;
ar               2102 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot using calibration mode %s\n",
ar               2103 drivers/net/wireless/ath/ath10k/core.c 		   ath10k_cal_mode_str(ar->cal_mode));
ar               2107 drivers/net/wireless/ath/ath10k/core.c static int ath10k_init_uart(struct ath10k *ar)
ar               2115 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_serial_enable, 0);
ar               2117 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "could not disable UART prints (%d)\n", ret);
ar               2122 drivers/net/wireless/ath/ath10k/core.c 		if (ar->hw_params.uart_pin_workaround) {
ar               2123 drivers/net/wireless/ath/ath10k/core.c 			ret = ath10k_bmi_write32(ar, hi_dbg_uart_txpin,
ar               2124 drivers/net/wireless/ath/ath10k/core.c 						 ar->hw_params.uart_pin);
ar               2126 drivers/net/wireless/ath/ath10k/core.c 				ath10k_warn(ar, "failed to set UART TX pin: %d",
ar               2135 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_dbg_uart_txpin, ar->hw_params.uart_pin);
ar               2137 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "could not enable UART prints (%d)\n", ret);
ar               2141 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_serial_enable, 1);
ar               2143 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "could not enable UART prints (%d)\n", ret);
ar               2148 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_bmi_write32(ar, hi_desired_baud_rate, 19200);
ar               2150 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "could not set the baud rate (%d)\n", ret);
ar               2154 drivers/net/wireless/ath/ath10k/core.c 	ath10k_info(ar, "UART prints enabled\n");
ar               2158 drivers/net/wireless/ath/ath10k/core.c static int ath10k_init_hw_params(struct ath10k *ar)
ar               2166 drivers/net/wireless/ath/ath10k/core.c 		if (hw_params->bus == ar->hif.bus &&
ar               2167 drivers/net/wireless/ath/ath10k/core.c 		    hw_params->id == ar->target_version &&
ar               2168 drivers/net/wireless/ath/ath10k/core.c 		    hw_params->dev_id == ar->dev_id)
ar               2173 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "Unsupported hardware version: 0x%x\n",
ar               2174 drivers/net/wireless/ath/ath10k/core.c 			   ar->target_version);
ar               2178 drivers/net/wireless/ath/ath10k/core.c 	ar->hw_params = *hw_params;
ar               2180 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "Hardware name %s version 0x%x\n",
ar               2181 drivers/net/wireless/ath/ath10k/core.c 		   ar->hw_params.name, ar->target_version);
ar               2188 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k *ar = container_of(work, struct ath10k, restart_work);
ar               2191 drivers/net/wireless/ath/ath10k/core.c 	set_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags);
ar               2198 drivers/net/wireless/ath/ath10k/core.c 	ieee80211_stop_queues(ar->hw);
ar               2199 drivers/net/wireless/ath/ath10k/core.c 	ath10k_drain_tx(ar);
ar               2200 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->scan.started);
ar               2201 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->scan.completed);
ar               2202 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->scan.on_channel);
ar               2203 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->offchan_tx_completed);
ar               2204 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->install_key_done);
ar               2205 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->vdev_setup_done);
ar               2206 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->vdev_delete_done);
ar               2207 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->thermal.wmi_sync);
ar               2208 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->bss_survey_done);
ar               2209 drivers/net/wireless/ath/ath10k/core.c 	wake_up(&ar->htt.empty_tx_wq);
ar               2210 drivers/net/wireless/ath/ath10k/core.c 	wake_up(&ar->wmi.tx_credits_wq);
ar               2211 drivers/net/wireless/ath/ath10k/core.c 	wake_up(&ar->peer_mapping_wq);
ar               2218 drivers/net/wireless/ath/ath10k/core.c 	cancel_work_sync(&ar->set_coverage_class_work);
ar               2220 drivers/net/wireless/ath/ath10k/core.c 	mutex_lock(&ar->conf_mutex);
ar               2222 drivers/net/wireless/ath/ath10k/core.c 	switch (ar->state) {
ar               2224 drivers/net/wireless/ath/ath10k/core.c 		ar->state = ATH10K_STATE_RESTARTING;
ar               2225 drivers/net/wireless/ath/ath10k/core.c 		ath10k_halt(ar);
ar               2226 drivers/net/wireless/ath/ath10k/core.c 		ath10k_scan_finish(ar);
ar               2227 drivers/net/wireless/ath/ath10k/core.c 		ieee80211_restart_hw(ar->hw);
ar               2233 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "cannot restart a device that hasn't been started\n");
ar               2239 drivers/net/wireless/ath/ath10k/core.c 		ar->state = ATH10K_STATE_WEDGED;
ar               2242 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "device is wedged, will not restart\n");
ar               2245 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "firmware restart in UTF mode not supported\n");
ar               2249 drivers/net/wireless/ath/ath10k/core.c 	mutex_unlock(&ar->conf_mutex);
ar               2251 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_coredump_submit(ar);
ar               2253 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "failed to send firmware crash dump via devcoredump: %d",
ar               2256 drivers/net/wireless/ath/ath10k/core.c 	complete(&ar->driver_recovery);
ar               2261 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k *ar = container_of(work, struct ath10k,
ar               2264 drivers/net/wireless/ath/ath10k/core.c 	if (ar->hw_params.hw_ops->set_coverage_class)
ar               2265 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_params.hw_ops->set_coverage_class(ar, -1);
ar               2268 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_init_firmware_features(struct ath10k *ar)
ar               2270 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k_fw_file *fw_file = &ar->normal_mode_fw.fw_file;
ar               2275 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "feature bits corrupted: 10.2 feature requires 10.x feature to be set as well");
ar               2280 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "unsupported WMI OP version (max %d): %d\n",
ar               2285 drivers/net/wireless/ath/ath10k/core.c 	ar->wmi.rx_decap_mode = ATH10K_HW_TXRX_NATIVE_WIFI;
ar               2288 drivers/net/wireless/ath/ath10k/core.c 		clear_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags);
ar               2289 drivers/net/wireless/ath/ath10k/core.c 		clear_bit(ATH10K_FLAG_HW_CRYPTO_DISABLED, &ar->dev_flags);
ar               2294 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "cryptmode > 0 requires raw mode support from firmware");
ar               2298 drivers/net/wireless/ath/ath10k/core.c 		set_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags);
ar               2299 drivers/net/wireless/ath/ath10k/core.c 		set_bit(ATH10K_FLAG_HW_CRYPTO_DISABLED, &ar->dev_flags);
ar               2302 drivers/net/wireless/ath/ath10k/core.c 		ath10k_info(ar, "invalid cryptmode: %d\n",
ar               2307 drivers/net/wireless/ath/ath10k/core.c 	ar->htt.max_num_amsdu = ATH10K_HTT_MAX_NUM_AMSDU_DEFAULT;
ar               2308 drivers/net/wireless/ath/ath10k/core.c 	ar->htt.max_num_ampdu = ATH10K_HTT_MAX_NUM_AMPDU_DEFAULT;
ar               2313 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "rawmode = 1 requires support from firmware");
ar               2316 drivers/net/wireless/ath/ath10k/core.c 		set_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags);
ar               2319 drivers/net/wireless/ath/ath10k/core.c 	if (test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ar               2320 drivers/net/wireless/ath/ath10k/core.c 		ar->wmi.rx_decap_mode = ATH10K_HW_TXRX_RAW;
ar               2331 drivers/net/wireless/ath/ath10k/core.c 		ar->htt.max_num_amsdu = 1;
ar               2352 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_stations = TARGET_NUM_STATIONS;
ar               2353 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_vdevs = TARGET_NUM_VDEVS;
ar               2354 drivers/net/wireless/ath/ath10k/core.c 		ar->htt.max_num_pending_tx = TARGET_NUM_MSDU_DESC;
ar               2355 drivers/net/wireless/ath/ath10k/core.c 		ar->fw_stats_req_mask = WMI_STAT_PDEV | WMI_STAT_VDEV |
ar               2357 drivers/net/wireless/ath/ath10k/core.c 		ar->max_spatial_stream = WMI_MAX_SPATIAL_STREAM;
ar               2362 drivers/net/wireless/ath/ath10k/core.c 		if (ath10k_peer_stats_enabled(ar)) {
ar               2364 drivers/net/wireless/ath/ath10k/core.c 			ar->max_num_stations = TARGET_10X_TX_STATS_NUM_STATIONS;
ar               2367 drivers/net/wireless/ath/ath10k/core.c 			ar->max_num_stations = TARGET_10X_NUM_STATIONS;
ar               2369 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_vdevs = TARGET_10X_NUM_VDEVS;
ar               2370 drivers/net/wireless/ath/ath10k/core.c 		ar->htt.max_num_pending_tx = TARGET_10X_NUM_MSDU_DESC;
ar               2371 drivers/net/wireless/ath/ath10k/core.c 		ar->fw_stats_req_mask = WMI_STAT_PEER;
ar               2372 drivers/net/wireless/ath/ath10k/core.c 		ar->max_spatial_stream = WMI_MAX_SPATIAL_STREAM;
ar               2376 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_stations = TARGET_TLV_NUM_STATIONS;
ar               2377 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_vdevs = TARGET_TLV_NUM_VDEVS;
ar               2378 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_tdls_vdevs = TARGET_TLV_NUM_TDLS_VDEVS;
ar               2379 drivers/net/wireless/ath/ath10k/core.c 		if (ar->hif.bus == ATH10K_BUS_SDIO)
ar               2380 drivers/net/wireless/ath/ath10k/core.c 			ar->htt.max_num_pending_tx =
ar               2383 drivers/net/wireless/ath/ath10k/core.c 			ar->htt.max_num_pending_tx = TARGET_TLV_NUM_MSDU_DESC;
ar               2384 drivers/net/wireless/ath/ath10k/core.c 		ar->wow.max_num_patterns = TARGET_TLV_NUM_WOW_PATTERNS;
ar               2385 drivers/net/wireless/ath/ath10k/core.c 		ar->fw_stats_req_mask = WMI_TLV_STAT_PDEV | WMI_TLV_STAT_VDEV |
ar               2387 drivers/net/wireless/ath/ath10k/core.c 		ar->max_spatial_stream = WMI_MAX_SPATIAL_STREAM;
ar               2388 drivers/net/wireless/ath/ath10k/core.c 		ar->wmi.mgmt_max_num_pending_tx = TARGET_TLV_MGMT_NUM_MSDU_DESC;
ar               2392 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_stations = TARGET_10_4_NUM_STATIONS;
ar               2393 drivers/net/wireless/ath/ath10k/core.c 		ar->num_active_peers = TARGET_10_4_ACTIVE_PEERS;
ar               2394 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_vdevs = TARGET_10_4_NUM_VDEVS;
ar               2395 drivers/net/wireless/ath/ath10k/core.c 		ar->num_tids = TARGET_10_4_TGT_NUM_TIDS;
ar               2396 drivers/net/wireless/ath/ath10k/core.c 		ar->fw_stats_req_mask = WMI_10_4_STAT_PEER |
ar               2399 drivers/net/wireless/ath/ath10k/core.c 		ar->max_spatial_stream = ar->hw_params.max_spatial_stream;
ar               2400 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_tdls_vdevs = TARGET_10_4_NUM_TDLS_VDEVS;
ar               2404 drivers/net/wireless/ath/ath10k/core.c 			ar->htt.max_num_pending_tx = TARGET_10_4_NUM_MSDU_DESC_PFC;
ar               2406 drivers/net/wireless/ath/ath10k/core.c 			ar->htt.max_num_pending_tx = TARGET_10_4_NUM_MSDU_DESC;
ar               2415 drivers/net/wireless/ath/ath10k/core.c 	if (ar->hw_params.num_peers)
ar               2416 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_peers = ar->hw_params.num_peers;
ar               2418 drivers/net/wireless/ath/ath10k/core.c 		ar->max_num_peers = max_num_peers;
ar               2439 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "htt op version not found from fw meta data");
ar               2447 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_reset_rx_filter(struct ath10k *ar)
ar               2457 drivers/net/wireless/ath/ath10k/core.c 	vdev_subtype = ath10k_wmi_get_vdev_subtype(ar, WMI_VDEV_SUBTYPE_NONE);
ar               2458 drivers/net/wireless/ath/ath10k/core.c 	vdev_addr = ar->mac_addr;
ar               2460 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_wmi_vdev_create(ar, vdev_id, vdev_type, vdev_subtype,
ar               2463 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to create dummy vdev: %d\n", ret);
ar               2467 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_wmi_vdev_delete(ar, vdev_id);
ar               2469 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to delete dummy vdev: %d\n", ret);
ar               2487 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_wmi_barrier(ar);
ar               2489 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to ping firmware: %d\n", ret);
ar               2496 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_compat_services(struct ath10k *ar)
ar               2498 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k_fw_file *fw_file = &ar->normal_mode_fw.fw_file;
ar               2509 drivers/net/wireless/ath/ath10k/core.c 		set_bit(WMI_SERVICE_THERM_THROT, ar->wmi.svc_map);
ar               2518 drivers/net/wireless/ath/ath10k/core.c int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode,
ar               2524 drivers/net/wireless/ath/ath10k/core.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2526 drivers/net/wireless/ath/ath10k/core.c 	clear_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags);
ar               2528 drivers/net/wireless/ath/ath10k/core.c 	ar->running_fw = fw;
ar               2531 drivers/net/wireless/ath/ath10k/core.c 		      ar->running_fw->fw_file.fw_features)) {
ar               2532 drivers/net/wireless/ath/ath10k/core.c 		ath10k_bmi_start(ar);
ar               2534 drivers/net/wireless/ath/ath10k/core.c 		if (ath10k_init_configure_target(ar)) {
ar               2539 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_download_cal_data(ar);
ar               2551 drivers/net/wireless/ath/ath10k/core.c 			     ar->running_fw->fw_file.fw_features)) {
ar               2552 drivers/net/wireless/ath/ath10k/core.c 			status = ath10k_bmi_write32(ar, hi_skip_clock_init, 1);
ar               2554 drivers/net/wireless/ath/ath10k/core.c 				ath10k_err(ar, "could not write to skip_clock_init: %d\n",
ar               2560 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_download_fw(ar);
ar               2564 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_init_uart(ar);
ar               2568 drivers/net/wireless/ath/ath10k/core.c 		if (ar->hif.bus == ATH10K_BUS_SDIO)
ar               2569 drivers/net/wireless/ath/ath10k/core.c 			ath10k_init_sdio(ar, mode);
ar               2572 drivers/net/wireless/ath/ath10k/core.c 	ar->htc.htc_ops.target_send_suspend_complete =
ar               2575 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htc_init(ar);
ar               2577 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not init HTC (%d)\n", status);
ar               2582 drivers/net/wireless/ath/ath10k/core.c 		      ar->running_fw->fw_file.fw_features)) {
ar               2583 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_bmi_done(ar);
ar               2588 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_wmi_attach(ar);
ar               2590 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "WMI attach failed: %d\n", status);
ar               2594 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htt_init(ar);
ar               2596 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to init htt: %d\n", status);
ar               2600 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htt_tx_start(&ar->htt);
ar               2602 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to alloc htt tx: %d\n", status);
ar               2609 drivers/net/wireless/ath/ath10k/core.c 	ar->htt.rx_ring.in_ord_rx = !!(test_bit(WMI_SERVICE_RX_FULL_REORDER,
ar               2610 drivers/net/wireless/ath/ath10k/core.c 						ar->wmi.svc_map));
ar               2612 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htt_rx_alloc(&ar->htt);
ar               2614 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to alloc htt rx: %d\n", status);
ar               2618 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_hif_start(ar);
ar               2620 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not start HIF: %d\n", status);
ar               2624 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htc_wait_target(&ar->htc);
ar               2626 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to connect to HTC: %d\n", status);
ar               2630 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_hif_swap_mailbox(ar);
ar               2632 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to swap mailbox: %d\n", status);
ar               2637 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_htt_connect(&ar->htt);
ar               2639 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to connect htt (%d)\n", status);
ar               2644 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_wmi_connect(ar);
ar               2646 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not connect wmi: %d\n", status);
ar               2650 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htc_start(&ar->htc);
ar               2652 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to start htc: %d\n", status);
ar               2657 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_wmi_wait_for_service_ready(ar);
ar               2659 drivers/net/wireless/ath/ath10k/core.c 			ath10k_warn(ar, "wmi service ready event not received");
ar               2664 drivers/net/wireless/ath/ath10k/core.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "firmware %s booted\n",
ar               2665 drivers/net/wireless/ath/ath10k/core.c 		   ar->hw->wiphy->fw_version);
ar               2667 drivers/net/wireless/ath/ath10k/core.c 	if (test_bit(WMI_SERVICE_EXT_RES_CFG_SUPPORT, ar->wmi.svc_map) &&
ar               2670 drivers/net/wireless/ath/ath10k/core.c 		if (ath10k_peer_stats_enabled(ar))
ar               2676 drivers/net/wireless/ath/ath10k/core.c 		if (test_bit(WMI_SERVICE_BSS_CHANNEL_INFO_64, ar->wmi.svc_map))
ar               2684 drivers/net/wireless/ath/ath10k/core.c 		if (test_bit(WMI_SERVICE_COEX_GPIO, ar->wmi.svc_map) &&
ar               2686 drivers/net/wireless/ath/ath10k/core.c 			     ar->running_fw->fw_file.fw_features))
ar               2690 drivers/net/wireless/ath/ath10k/core.c 			     ar->wmi.svc_map))
ar               2694 drivers/net/wireless/ath/ath10k/core.c 			     ar->wmi.svc_map))
ar               2698 drivers/net/wireless/ath/ath10k/core.c 			     ar->wmi.svc_map))
ar               2701 drivers/net/wireless/ath/ath10k/core.c 		if (test_bit(WMI_SERVICE_REPORT_AIRTIME, ar->wmi.svc_map))
ar               2704 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_mac_ext_resource_config(ar, val);
ar               2706 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar,
ar               2713 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_wmi_cmd_init(ar);
ar               2715 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not send WMI init command (%d)\n",
ar               2720 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_wmi_wait_for_unified_ready(ar);
ar               2722 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "wmi unified ready event not received\n");
ar               2726 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_core_compat_services(ar);
ar               2728 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "compat services failed: %d\n", status);
ar               2732 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_wmi_pdev_set_base_macaddr(ar, ar->mac_addr);
ar               2734 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar,
ar               2752 drivers/net/wireless/ath/ath10k/core.c 	if (ar->hw_params.hw_filter_reset_required &&
ar               2754 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_core_reset_rx_filter(ar);
ar               2756 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar,
ar               2762 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_htt_rx_ring_refill(ar);
ar               2764 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to refill htt rx ring: %d\n", status);
ar               2768 drivers/net/wireless/ath/ath10k/core.c 	if (ar->max_num_vdevs >= 64)
ar               2769 drivers/net/wireless/ath/ath10k/core.c 		ar->free_vdev_map = 0xFFFFFFFFFFFFFFFFLL;
ar               2771 drivers/net/wireless/ath/ath10k/core.c 		ar->free_vdev_map = (1LL << ar->max_num_vdevs) - 1;
ar               2773 drivers/net/wireless/ath/ath10k/core.c 	INIT_LIST_HEAD(&ar->arvifs);
ar               2777 drivers/net/wireless/ath/ath10k/core.c 		status = ath10k_htt_setup(&ar->htt);
ar               2779 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to setup htt: %d\n", status);
ar               2784 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_debug_start(ar);
ar               2788 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_hif_set_target_log_mode(ar, fw_diag_log);
ar               2790 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "set traget log mode faileds: %d\n", status);
ar               2797 drivers/net/wireless/ath/ath10k/core.c 	ath10k_hif_stop(ar);
ar               2799 drivers/net/wireless/ath/ath10k/core.c 	ath10k_htt_rx_free(&ar->htt);
ar               2801 drivers/net/wireless/ath/ath10k/core.c 	ath10k_htt_tx_free(&ar->htt);
ar               2803 drivers/net/wireless/ath/ath10k/core.c 	ath10k_wmi_detach(ar);
ar               2809 drivers/net/wireless/ath/ath10k/core.c int ath10k_wait_for_suspend(struct ath10k *ar, u32 suspend_opt)
ar               2814 drivers/net/wireless/ath/ath10k/core.c 	reinit_completion(&ar->target_suspend);
ar               2816 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_wmi_pdev_suspend_target(ar, suspend_opt);
ar               2818 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "could not suspend target (%d)\n", ret);
ar               2822 drivers/net/wireless/ath/ath10k/core.c 	time_left = wait_for_completion_timeout(&ar->target_suspend, 1 * HZ);
ar               2825 drivers/net/wireless/ath/ath10k/core.c 		ath10k_warn(ar, "suspend timed out - target pause event never came\n");
ar               2832 drivers/net/wireless/ath/ath10k/core.c void ath10k_core_stop(struct ath10k *ar)
ar               2834 drivers/net/wireless/ath/ath10k/core.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2835 drivers/net/wireless/ath/ath10k/core.c 	ath10k_debug_stop(ar);
ar               2838 drivers/net/wireless/ath/ath10k/core.c 	if (ar->state != ATH10K_STATE_RESTARTING &&
ar               2839 drivers/net/wireless/ath/ath10k/core.c 	    ar->state != ATH10K_STATE_UTF)
ar               2840 drivers/net/wireless/ath/ath10k/core.c 		ath10k_wait_for_suspend(ar, WMI_PDEV_SUSPEND_AND_DISABLE_INTR);
ar               2842 drivers/net/wireless/ath/ath10k/core.c 	ath10k_hif_stop(ar);
ar               2843 drivers/net/wireless/ath/ath10k/core.c 	ath10k_htt_tx_stop(&ar->htt);
ar               2844 drivers/net/wireless/ath/ath10k/core.c 	ath10k_htt_rx_free(&ar->htt);
ar               2845 drivers/net/wireless/ath/ath10k/core.c 	ath10k_wmi_detach(ar);
ar               2854 drivers/net/wireless/ath/ath10k/core.c static int ath10k_core_probe_fw(struct ath10k *ar)
ar               2859 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_hif_power_up(ar, ATH10K_FIRMWARE_MODE_NORMAL);
ar               2861 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not power on hif bus (%d)\n", ret);
ar               2865 drivers/net/wireless/ath/ath10k/core.c 	switch (ar->hif.bus) {
ar               2868 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_bmi_get_target_info_sdio(ar, &target_info);
ar               2870 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "could not get target info (%d)\n", ret);
ar               2873 drivers/net/wireless/ath/ath10k/core.c 		ar->target_version = target_info.version;
ar               2874 drivers/net/wireless/ath/ath10k/core.c 		ar->hw->wiphy->hw_version = target_info.version;
ar               2880 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_bmi_get_target_info(ar, &target_info);
ar               2882 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "could not get target info (%d)\n", ret);
ar               2885 drivers/net/wireless/ath/ath10k/core.c 		ar->target_version = target_info.version;
ar               2886 drivers/net/wireless/ath/ath10k/core.c 		ar->hw->wiphy->hw_version = target_info.version;
ar               2890 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_hif_get_target_info(ar, &target_info);
ar               2892 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "could not get target info (%d)\n", ret);
ar               2895 drivers/net/wireless/ath/ath10k/core.c 		ar->target_version = target_info.version;
ar               2896 drivers/net/wireless/ath/ath10k/core.c 		ar->hw->wiphy->hw_version = target_info.version;
ar               2899 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "incorrect hif bus type: %d\n", ar->hif.bus);
ar               2902 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_init_hw_params(ar);
ar               2904 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not get hw params (%d)\n", ret);
ar               2908 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_fetch_firmware_files(ar);
ar               2910 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not fetch firmware files (%d)\n", ret);
ar               2914 drivers/net/wireless/ath/ath10k/core.c 	BUILD_BUG_ON(sizeof(ar->hw->wiphy->fw_version) !=
ar               2915 drivers/net/wireless/ath/ath10k/core.c 		     sizeof(ar->normal_mode_fw.fw_file.fw_version));
ar               2916 drivers/net/wireless/ath/ath10k/core.c 	memcpy(ar->hw->wiphy->fw_version, ar->normal_mode_fw.fw_file.fw_version,
ar               2917 drivers/net/wireless/ath/ath10k/core.c 	       sizeof(ar->hw->wiphy->fw_version));
ar               2919 drivers/net/wireless/ath/ath10k/core.c 	ath10k_debug_print_hwfw_info(ar);
ar               2922 drivers/net/wireless/ath/ath10k/core.c 		      ar->normal_mode_fw.fw_file.fw_features)) {
ar               2923 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_pre_cal_download(ar);
ar               2928 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2932 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_get_board_id_from_otp(ar);
ar               2934 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to get board id from otp: %d\n",
ar               2939 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_check_smbios(ar);
ar               2941 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT, "SMBIOS bdf variant name not set.\n");
ar               2943 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_check_dt(ar);
ar               2945 drivers/net/wireless/ath/ath10k/core.c 			ath10k_dbg(ar, ATH10K_DBG_BOOT, "DT bdf variant name not set.\n");
ar               2947 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_core_fetch_board_file(ar, ATH10K_BD_IE_BOARD);
ar               2949 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to fetch board file: %d\n", ret);
ar               2953 drivers/net/wireless/ath/ath10k/core.c 		ath10k_debug_print_board_info(ar);
ar               2956 drivers/net/wireless/ath/ath10k/core.c 	device_get_mac_address(ar->dev, ar->mac_addr, sizeof(ar->mac_addr));
ar               2958 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_init_firmware_features(ar);
ar               2960 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "fatal problem with firmware features: %d\n",
ar               2966 drivers/net/wireless/ath/ath10k/core.c 		      ar->normal_mode_fw.fw_file.fw_features)) {
ar               2967 drivers/net/wireless/ath/ath10k/core.c 		ret = ath10k_swap_code_seg_init(ar,
ar               2968 drivers/net/wireless/ath/ath10k/core.c 						&ar->normal_mode_fw.fw_file);
ar               2970 drivers/net/wireless/ath/ath10k/core.c 			ath10k_err(ar, "failed to initialize code swap segment: %d\n",
ar               2976 drivers/net/wireless/ath/ath10k/core.c 	mutex_lock(&ar->conf_mutex);
ar               2978 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_core_start(ar, ATH10K_FIRMWARE_MODE_NORMAL,
ar               2979 drivers/net/wireless/ath/ath10k/core.c 				&ar->normal_mode_fw);
ar               2981 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not init core (%d)\n", ret);
ar               2985 drivers/net/wireless/ath/ath10k/core.c 	ath10k_debug_print_boot_info(ar);
ar               2986 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_stop(ar);
ar               2988 drivers/net/wireless/ath/ath10k/core.c 	mutex_unlock(&ar->conf_mutex);
ar               2990 drivers/net/wireless/ath/ath10k/core.c 	ath10k_hif_power_down(ar);
ar               2994 drivers/net/wireless/ath/ath10k/core.c 	mutex_unlock(&ar->conf_mutex);
ar               2997 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_free_firmware_files(ar);
ar               3000 drivers/net/wireless/ath/ath10k/core.c 	ath10k_hif_power_down(ar);
ar               3007 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k *ar = container_of(work, struct ath10k, register_work);
ar               3011 drivers/net/wireless/ath/ath10k/core.c 	set_bit(ATH10K_FLAG_PEER_STATS, &ar->dev_flags);
ar               3013 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_core_probe_fw(ar);
ar               3015 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not probe fw (%d)\n", status);
ar               3019 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_mac_register(ar);
ar               3021 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not register to mac80211 (%d)\n", status);
ar               3025 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_coredump_register(ar);
ar               3027 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "unable to register coredump\n");
ar               3031 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_debug_register(ar);
ar               3033 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "unable to initialize debugfs\n");
ar               3037 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_spectral_create(ar);
ar               3039 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "failed to initialize spectral\n");
ar               3043 drivers/net/wireless/ath/ath10k/core.c 	status = ath10k_thermal_register(ar);
ar               3045 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "could not register thermal device: %d\n",
ar               3050 drivers/net/wireless/ath/ath10k/core.c 	set_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags);
ar               3054 drivers/net/wireless/ath/ath10k/core.c 	ath10k_spectral_destroy(ar);
ar               3056 drivers/net/wireless/ath/ath10k/core.c 	ath10k_debug_destroy(ar);
ar               3058 drivers/net/wireless/ath/ath10k/core.c 	ath10k_coredump_unregister(ar);
ar               3060 drivers/net/wireless/ath/ath10k/core.c 	ath10k_mac_unregister(ar);
ar               3062 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_free_firmware_files(ar);
ar               3070 drivers/net/wireless/ath/ath10k/core.c int ath10k_core_register(struct ath10k *ar,
ar               3073 drivers/net/wireless/ath/ath10k/core.c 	ar->bus_param = *bus_params;
ar               3075 drivers/net/wireless/ath/ath10k/core.c 	queue_work(ar->workqueue, &ar->register_work);
ar               3081 drivers/net/wireless/ath/ath10k/core.c void ath10k_core_unregister(struct ath10k *ar)
ar               3083 drivers/net/wireless/ath/ath10k/core.c 	cancel_work_sync(&ar->register_work);
ar               3085 drivers/net/wireless/ath/ath10k/core.c 	if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
ar               3088 drivers/net/wireless/ath/ath10k/core.c 	ath10k_thermal_unregister(ar);
ar               3093 drivers/net/wireless/ath/ath10k/core.c 	ath10k_spectral_destroy(ar);
ar               3099 drivers/net/wireless/ath/ath10k/core.c 	ath10k_mac_unregister(ar);
ar               3101 drivers/net/wireless/ath/ath10k/core.c 	ath10k_testmode_destroy(ar);
ar               3103 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_free_firmware_files(ar);
ar               3104 drivers/net/wireless/ath/ath10k/core.c 	ath10k_core_free_board_files(ar);
ar               3106 drivers/net/wireless/ath/ath10k/core.c 	ath10k_debug_unregister(ar);
ar               3115 drivers/net/wireless/ath/ath10k/core.c 	struct ath10k *ar;
ar               3118 drivers/net/wireless/ath/ath10k/core.c 	ar = ath10k_mac_create(priv_size);
ar               3119 drivers/net/wireless/ath/ath10k/core.c 	if (!ar)
ar               3122 drivers/net/wireless/ath/ath10k/core.c 	ar->ath_common.priv = ar;
ar               3123 drivers/net/wireless/ath/ath10k/core.c 	ar->ath_common.hw = ar->hw;
ar               3124 drivers/net/wireless/ath/ath10k/core.c 	ar->dev = dev;
ar               3125 drivers/net/wireless/ath/ath10k/core.c 	ar->hw_rev = hw_rev;
ar               3126 drivers/net/wireless/ath/ath10k/core.c 	ar->hif.ops = hif_ops;
ar               3127 drivers/net/wireless/ath/ath10k/core.c 	ar->hif.bus = bus;
ar               3132 drivers/net/wireless/ath/ath10k/core.c 		ar->regs = &qca988x_regs;
ar               3133 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_ce_regs = &qcax_ce_regs;
ar               3134 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_values = &qca988x_values;
ar               3138 drivers/net/wireless/ath/ath10k/core.c 		ar->regs = &qca6174_regs;
ar               3139 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_ce_regs = &qcax_ce_regs;
ar               3140 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_values = &qca6174_values;
ar               3144 drivers/net/wireless/ath/ath10k/core.c 		ar->regs = &qca99x0_regs;
ar               3145 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_ce_regs = &qcax_ce_regs;
ar               3146 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_values = &qca99x0_values;
ar               3149 drivers/net/wireless/ath/ath10k/core.c 		ar->regs = &qca99x0_regs;
ar               3150 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_ce_regs = &qcax_ce_regs;
ar               3151 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_values = &qca9888_values;
ar               3154 drivers/net/wireless/ath/ath10k/core.c 		ar->regs = &qca4019_regs;
ar               3155 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_ce_regs = &qcax_ce_regs;
ar               3156 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_values = &qca4019_values;
ar               3159 drivers/net/wireless/ath/ath10k/core.c 		ar->regs = &wcn3990_regs;
ar               3160 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_ce_regs = &wcn3990_ce_regs;
ar               3161 drivers/net/wireless/ath/ath10k/core.c 		ar->hw_values = &wcn3990_values;
ar               3164 drivers/net/wireless/ath/ath10k/core.c 		ath10k_err(ar, "unsupported core hardware revision %d\n",
ar               3170 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->scan.started);
ar               3171 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->scan.completed);
ar               3172 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->scan.on_channel);
ar               3173 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->target_suspend);
ar               3174 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->driver_recovery);
ar               3175 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->wow.wakeup_completed);
ar               3177 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->install_key_done);
ar               3178 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->vdev_setup_done);
ar               3179 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->vdev_delete_done);
ar               3180 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->thermal.wmi_sync);
ar               3181 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->bss_survey_done);
ar               3182 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->peer_delete_done);
ar               3184 drivers/net/wireless/ath/ath10k/core.c 	INIT_DELAYED_WORK(&ar->scan.timeout, ath10k_scan_timeout_work);
ar               3186 drivers/net/wireless/ath/ath10k/core.c 	ar->workqueue = create_singlethread_workqueue("ath10k_wq");
ar               3187 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->workqueue)
ar               3190 drivers/net/wireless/ath/ath10k/core.c 	ar->workqueue_aux = create_singlethread_workqueue("ath10k_aux_wq");
ar               3191 drivers/net/wireless/ath/ath10k/core.c 	if (!ar->workqueue_aux)
ar               3194 drivers/net/wireless/ath/ath10k/core.c 	mutex_init(&ar->conf_mutex);
ar               3195 drivers/net/wireless/ath/ath10k/core.c 	mutex_init(&ar->dump_mutex);
ar               3196 drivers/net/wireless/ath/ath10k/core.c 	spin_lock_init(&ar->data_lock);
ar               3198 drivers/net/wireless/ath/ath10k/core.c 	INIT_LIST_HEAD(&ar->peers);
ar               3199 drivers/net/wireless/ath/ath10k/core.c 	init_waitqueue_head(&ar->peer_mapping_wq);
ar               3200 drivers/net/wireless/ath/ath10k/core.c 	init_waitqueue_head(&ar->htt.empty_tx_wq);
ar               3201 drivers/net/wireless/ath/ath10k/core.c 	init_waitqueue_head(&ar->wmi.tx_credits_wq);
ar               3203 drivers/net/wireless/ath/ath10k/core.c 	init_completion(&ar->offchan_tx_completed);
ar               3204 drivers/net/wireless/ath/ath10k/core.c 	INIT_WORK(&ar->offchan_tx_work, ath10k_offchan_tx_work);
ar               3205 drivers/net/wireless/ath/ath10k/core.c 	skb_queue_head_init(&ar->offchan_tx_queue);
ar               3207 drivers/net/wireless/ath/ath10k/core.c 	INIT_WORK(&ar->wmi_mgmt_tx_work, ath10k_mgmt_over_wmi_tx_work);
ar               3208 drivers/net/wireless/ath/ath10k/core.c 	skb_queue_head_init(&ar->wmi_mgmt_tx_queue);
ar               3210 drivers/net/wireless/ath/ath10k/core.c 	INIT_WORK(&ar->register_work, ath10k_core_register_work);
ar               3211 drivers/net/wireless/ath/ath10k/core.c 	INIT_WORK(&ar->restart_work, ath10k_core_restart);
ar               3212 drivers/net/wireless/ath/ath10k/core.c 	INIT_WORK(&ar->set_coverage_class_work,
ar               3215 drivers/net/wireless/ath/ath10k/core.c 	init_dummy_netdev(&ar->napi_dev);
ar               3217 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_coredump_create(ar);
ar               3221 drivers/net/wireless/ath/ath10k/core.c 	ret = ath10k_debug_create(ar);
ar               3225 drivers/net/wireless/ath/ath10k/core.c 	return ar;
ar               3228 drivers/net/wireless/ath/ath10k/core.c 	ath10k_coredump_destroy(ar);
ar               3231 drivers/net/wireless/ath/ath10k/core.c 	destroy_workqueue(ar->workqueue_aux);
ar               3233 drivers/net/wireless/ath/ath10k/core.c 	destroy_workqueue(ar->workqueue);
ar               3236 drivers/net/wireless/ath/ath10k/core.c 	ath10k_mac_destroy(ar);
ar               3242 drivers/net/wireless/ath/ath10k/core.c void ath10k_core_destroy(struct ath10k *ar)
ar               3244 drivers/net/wireless/ath/ath10k/core.c 	flush_workqueue(ar->workqueue);
ar               3245 drivers/net/wireless/ath/ath10k/core.c 	destroy_workqueue(ar->workqueue);
ar               3247 drivers/net/wireless/ath/ath10k/core.c 	flush_workqueue(ar->workqueue_aux);
ar               3248 drivers/net/wireless/ath/ath10k/core.c 	destroy_workqueue(ar->workqueue_aux);
ar               3250 drivers/net/wireless/ath/ath10k/core.c 	ath10k_debug_destroy(ar);
ar               3251 drivers/net/wireless/ath/ath10k/core.c 	ath10k_coredump_destroy(ar);
ar               3252 drivers/net/wireless/ath/ath10k/core.c 	ath10k_htt_tx_destroy(&ar->htt);
ar               3253 drivers/net/wireless/ath/ath10k/core.c 	ath10k_wmi_free_host_mem(ar);
ar               3254 drivers/net/wireless/ath/ath10k/core.c 	ath10k_mac_destroy(ar);
ar                542 drivers/net/wireless/ath/ath10k/core.h 	struct ath10k *ar;
ar               1218 drivers/net/wireless/ath/ath10k/core.h static inline bool ath10k_peer_stats_enabled(struct ath10k *ar)
ar               1220 drivers/net/wireless/ath/ath10k/core.h 	if (test_bit(ATH10K_FLAG_PEER_STATS, &ar->dev_flags) &&
ar               1221 drivers/net/wireless/ath/ath10k/core.h 	    test_bit(WMI_SERVICE_PEER_STATS, ar->wmi.svc_map))
ar               1233 drivers/net/wireless/ath/ath10k/core.h void ath10k_core_destroy(struct ath10k *ar);
ar               1234 drivers/net/wireless/ath/ath10k/core.h void ath10k_core_get_fw_features_str(struct ath10k *ar,
ar               1237 drivers/net/wireless/ath/ath10k/core.h int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name,
ar               1240 drivers/net/wireless/ath/ath10k/core.h int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode,
ar               1242 drivers/net/wireless/ath/ath10k/core.h int ath10k_wait_for_suspend(struct ath10k *ar, u32 suspend_opt);
ar               1243 drivers/net/wireless/ath/ath10k/core.h void ath10k_core_stop(struct ath10k *ar);
ar               1244 drivers/net/wireless/ath/ath10k/core.h int ath10k_core_register(struct ath10k *ar,
ar               1246 drivers/net/wireless/ath/ath10k/core.h void ath10k_core_unregister(struct ath10k *ar);
ar               1247 drivers/net/wireless/ath/ath10k/core.h int ath10k_core_fetch_board_file(struct ath10k *ar, int bd_ie_type);
ar               1248 drivers/net/wireless/ath/ath10k/core.h void ath10k_core_free_board_files(struct ath10k *ar);
ar               1053 drivers/net/wireless/ath/ath10k/coredump.c static u32 ath10k_coredump_get_ramdump_size(struct ath10k *ar)
ar               1060 drivers/net/wireless/ath/ath10k/coredump.c 	hw = ath10k_coredump_get_mem_layout(ar);
ar               1081 drivers/net/wireless/ath/ath10k/coredump.c const struct ath10k_hw_mem_layout *ath10k_coredump_get_mem_layout(struct ath10k *ar)
ar               1088 drivers/net/wireless/ath/ath10k/coredump.c 	if (WARN_ON(ar->target_version == 0))
ar               1092 drivers/net/wireless/ath/ath10k/coredump.c 		if (ar->target_version == hw_mem_layouts[i].hw_id &&
ar               1093 drivers/net/wireless/ath/ath10k/coredump.c 		    ar->hw_rev == hw_mem_layouts[i].hw_rev)
ar               1101 drivers/net/wireless/ath/ath10k/coredump.c struct ath10k_fw_crash_data *ath10k_coredump_new(struct ath10k *ar)
ar               1103 drivers/net/wireless/ath/ath10k/coredump.c 	struct ath10k_fw_crash_data *crash_data = ar->coredump.fw_crash_data;
ar               1105 drivers/net/wireless/ath/ath10k/coredump.c 	lockdep_assert_held(&ar->dump_mutex);
ar               1118 drivers/net/wireless/ath/ath10k/coredump.c static struct ath10k_dump_file_data *ath10k_coredump_build(struct ath10k *ar)
ar               1120 drivers/net/wireless/ath/ath10k/coredump.c 	struct ath10k_fw_crash_data *crash_data = ar->coredump.fw_crash_data;
ar               1149 drivers/net/wireless/ath/ath10k/coredump.c 	mutex_lock(&ar->dump_mutex);
ar               1159 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->chip_id = cpu_to_le32(ar->bus_param.chip_id);
ar               1161 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->target_version = cpu_to_le32(ar->target_version);
ar               1162 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->fw_version_major = cpu_to_le32(ar->fw_version_major);
ar               1163 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->fw_version_minor = cpu_to_le32(ar->fw_version_minor);
ar               1164 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->fw_version_release = cpu_to_le32(ar->fw_version_release);
ar               1165 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->fw_version_build = cpu_to_le32(ar->fw_version_build);
ar               1166 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->phy_capability = cpu_to_le32(ar->phy_capability);
ar               1167 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->hw_min_tx_power = cpu_to_le32(ar->hw_min_tx_power);
ar               1168 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->hw_max_tx_power = cpu_to_le32(ar->hw_max_tx_power);
ar               1169 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->ht_cap_info = cpu_to_le32(ar->ht_cap_info);
ar               1170 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->vht_cap_info = cpu_to_le32(ar->vht_cap_info);
ar               1171 drivers/net/wireless/ath/ath10k/coredump.c 	dump_data->num_rf_chains = cpu_to_le32(ar->num_rf_chains);
ar               1173 drivers/net/wireless/ath/ath10k/coredump.c 	strlcpy(dump_data->fw_ver, ar->hw->wiphy->fw_version,
ar               1218 drivers/net/wireless/ath/ath10k/coredump.c 	mutex_unlock(&ar->dump_mutex);
ar               1223 drivers/net/wireless/ath/ath10k/coredump.c int ath10k_coredump_submit(struct ath10k *ar)
ar               1231 drivers/net/wireless/ath/ath10k/coredump.c 	dump = ath10k_coredump_build(ar);
ar               1233 drivers/net/wireless/ath/ath10k/coredump.c 		ath10k_warn(ar, "no crash dump data found for devcoredump");
ar               1237 drivers/net/wireless/ath/ath10k/coredump.c 	dev_coredumpv(ar->dev, dump, le32_to_cpu(dump->len), GFP_KERNEL);
ar               1242 drivers/net/wireless/ath/ath10k/coredump.c int ath10k_coredump_create(struct ath10k *ar)
ar               1248 drivers/net/wireless/ath/ath10k/coredump.c 	ar->coredump.fw_crash_data = vzalloc(sizeof(*ar->coredump.fw_crash_data));
ar               1249 drivers/net/wireless/ath/ath10k/coredump.c 	if (!ar->coredump.fw_crash_data)
ar               1255 drivers/net/wireless/ath/ath10k/coredump.c int ath10k_coredump_register(struct ath10k *ar)
ar               1257 drivers/net/wireless/ath/ath10k/coredump.c 	struct ath10k_fw_crash_data *crash_data = ar->coredump.fw_crash_data;
ar               1260 drivers/net/wireless/ath/ath10k/coredump.c 		crash_data->ramdump_buf_len = ath10k_coredump_get_ramdump_size(ar);
ar               1273 drivers/net/wireless/ath/ath10k/coredump.c void ath10k_coredump_unregister(struct ath10k *ar)
ar               1275 drivers/net/wireless/ath/ath10k/coredump.c 	struct ath10k_fw_crash_data *crash_data = ar->coredump.fw_crash_data;
ar               1280 drivers/net/wireless/ath/ath10k/coredump.c void ath10k_coredump_destroy(struct ath10k *ar)
ar               1282 drivers/net/wireless/ath/ath10k/coredump.c 	if (ar->coredump.fw_crash_data->ramdump_buf) {
ar               1283 drivers/net/wireless/ath/ath10k/coredump.c 		vfree(ar->coredump.fw_crash_data->ramdump_buf);
ar               1284 drivers/net/wireless/ath/ath10k/coredump.c 		ar->coredump.fw_crash_data->ramdump_buf = NULL;
ar               1285 drivers/net/wireless/ath/ath10k/coredump.c 		ar->coredump.fw_crash_data->ramdump_buf_len = 0;
ar               1288 drivers/net/wireless/ath/ath10k/coredump.c 	vfree(ar->coredump.fw_crash_data);
ar               1289 drivers/net/wireless/ath/ath10k/coredump.c 	ar->coredump.fw_crash_data = NULL;
ar                170 drivers/net/wireless/ath/ath10k/coredump.h int ath10k_coredump_submit(struct ath10k *ar);
ar                171 drivers/net/wireless/ath/ath10k/coredump.h struct ath10k_fw_crash_data *ath10k_coredump_new(struct ath10k *ar);
ar                172 drivers/net/wireless/ath/ath10k/coredump.h int ath10k_coredump_create(struct ath10k *ar);
ar                173 drivers/net/wireless/ath/ath10k/coredump.h int ath10k_coredump_register(struct ath10k *ar);
ar                174 drivers/net/wireless/ath/ath10k/coredump.h void ath10k_coredump_unregister(struct ath10k *ar);
ar                175 drivers/net/wireless/ath/ath10k/coredump.h void ath10k_coredump_destroy(struct ath10k *ar);
ar                177 drivers/net/wireless/ath/ath10k/coredump.h const struct ath10k_hw_mem_layout *ath10k_coredump_get_mem_layout(struct ath10k *ar);
ar                181 drivers/net/wireless/ath/ath10k/coredump.h static inline int ath10k_coredump_submit(struct ath10k *ar)
ar                186 drivers/net/wireless/ath/ath10k/coredump.h static inline struct ath10k_fw_crash_data *ath10k_coredump_new(struct ath10k *ar)
ar                191 drivers/net/wireless/ath/ath10k/coredump.h static inline int ath10k_coredump_create(struct ath10k *ar)
ar                196 drivers/net/wireless/ath/ath10k/coredump.h static inline int ath10k_coredump_register(struct ath10k *ar)
ar                201 drivers/net/wireless/ath/ath10k/coredump.h static inline void ath10k_coredump_unregister(struct ath10k *ar)
ar                205 drivers/net/wireless/ath/ath10k/coredump.h static inline void ath10k_coredump_destroy(struct ath10k *ar)
ar                210 drivers/net/wireless/ath/ath10k/coredump.h ath10k_coredump_get_mem_layout(struct ath10k *ar)
ar                 24 drivers/net/wireless/ath/ath10k/debug.c void ath10k_info(struct ath10k *ar, const char *fmt, ...)
ar                 33 drivers/net/wireless/ath/ath10k/debug.c 	dev_info(ar->dev, "%pV", &vaf);
ar                 34 drivers/net/wireless/ath/ath10k/debug.c 	trace_ath10k_log_info(ar, &vaf);
ar                 39 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_print_hwfw_info(struct ath10k *ar)
ar                 45 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_core_get_fw_features_str(ar, fw_features, sizeof(fw_features));
ar                 47 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_info(ar, "%s target 0x%08x chip_id 0x%08x sub %04x:%04x",
ar                 48 drivers/net/wireless/ath/ath10k/debug.c 		    ar->hw_params.name,
ar                 49 drivers/net/wireless/ath/ath10k/debug.c 		    ar->target_version,
ar                 50 drivers/net/wireless/ath/ath10k/debug.c 		    ar->bus_param.chip_id,
ar                 51 drivers/net/wireless/ath/ath10k/debug.c 		    ar->id.subsystem_vendor, ar->id.subsystem_device);
ar                 53 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_info(ar, "kconfig debug %d debugfs %d tracing %d dfs %d testmode %d\n",
ar                 60 drivers/net/wireless/ath/ath10k/debug.c 	firmware = ar->normal_mode_fw.fw_file.firmware;
ar                 64 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_info(ar, "firmware ver %s api %d features %s crc32 %08x\n",
ar                 65 drivers/net/wireless/ath/ath10k/debug.c 		    ar->hw->wiphy->fw_version,
ar                 66 drivers/net/wireless/ath/ath10k/debug.c 		    ar->fw_api,
ar                 71 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_print_board_info(struct ath10k *ar)
ar                 77 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->id.bmi_ids_valid)
ar                 79 drivers/net/wireless/ath/ath10k/debug.c 			  ar->id.bmi_chip_id, ar->id.bmi_board_id);
ar                 83 drivers/net/wireless/ath/ath10k/debug.c 	board = ar->normal_mode_fw.board;
ar                 89 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_info(ar, "board_file api %d bmi_id %s crc32 %08x",
ar                 90 drivers/net/wireless/ath/ath10k/debug.c 		    ar->bd_api,
ar                 95 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_print_boot_info(struct ath10k *ar)
ar                 97 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_info(ar, "htt-ver %d.%d wmi-op %d htt-op %d cal %s max-sta %d raw %d hwcrypto %d\n",
ar                 98 drivers/net/wireless/ath/ath10k/debug.c 		    ar->htt.target_version_major,
ar                 99 drivers/net/wireless/ath/ath10k/debug.c 		    ar->htt.target_version_minor,
ar                100 drivers/net/wireless/ath/ath10k/debug.c 		    ar->normal_mode_fw.fw_file.wmi_op_version,
ar                101 drivers/net/wireless/ath/ath10k/debug.c 		    ar->normal_mode_fw.fw_file.htt_op_version,
ar                102 drivers/net/wireless/ath/ath10k/debug.c 		    ath10k_cal_mode_str(ar->cal_mode),
ar                103 drivers/net/wireless/ath/ath10k/debug.c 		    ar->max_num_stations,
ar                104 drivers/net/wireless/ath/ath10k/debug.c 		    test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags),
ar                105 drivers/net/wireless/ath/ath10k/debug.c 		    !test_bit(ATH10K_FLAG_HW_CRYPTO_DISABLED, &ar->dev_flags));
ar                108 drivers/net/wireless/ath/ath10k/debug.c void ath10k_print_driver_info(struct ath10k *ar)
ar                110 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_debug_print_hwfw_info(ar);
ar                111 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_debug_print_board_info(ar);
ar                112 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_debug_print_boot_info(ar);
ar                116 drivers/net/wireless/ath/ath10k/debug.c void ath10k_err(struct ath10k *ar, const char *fmt, ...)
ar                125 drivers/net/wireless/ath/ath10k/debug.c 	dev_err(ar->dev, "%pV", &vaf);
ar                126 drivers/net/wireless/ath/ath10k/debug.c 	trace_ath10k_log_err(ar, &vaf);
ar                131 drivers/net/wireless/ath/ath10k/debug.c void ath10k_warn(struct ath10k *ar, const char *fmt, ...)
ar                140 drivers/net/wireless/ath/ath10k/debug.c 	dev_warn_ratelimited(ar->dev, "%pV", &vaf);
ar                141 drivers/net/wireless/ath/ath10k/debug.c 	trace_ath10k_log_warn(ar, &vaf);
ar                153 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                165 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                167 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar                169 drivers/net/wireless/ath/ath10k/debug.c 		enabled = test_bit(i, ar->wmi.svc_map);
ar                185 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar                189 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                242 drivers/net/wireless/ath/ath10k/debug.c static void ath10k_debug_fw_stats_reset(struct ath10k *ar)
ar                244 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar                245 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.fw_stats_done = false;
ar                246 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.fw_stats.extended = false;
ar                247 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_fw_stats_pdevs_free(&ar->debug.fw_stats.pdevs);
ar                248 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_fw_stats_vdevs_free(&ar->debug.fw_stats.vdevs);
ar                249 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_fw_stats_peers_free(&ar->debug.fw_stats.peers);
ar                250 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_fw_extd_stats_peers_free(&ar->debug.fw_stats.peers_extd);
ar                251 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar                254 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb)
ar                267 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar                268 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pull_fw_stats(ar, skb, &stats);
ar                270 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to pull fw stats: %d\n", ret);
ar                285 drivers/net/wireless/ath/ath10k/debug.c 	if (ath10k_peer_stats_enabled(ar))
ar                286 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_sta_update_rx_duration(ar, &stats);
ar                288 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->debug.fw_stats_done) {
ar                289 drivers/net/wireless/ath/ath10k/debug.c 		if (!ath10k_peer_stats_enabled(ar))
ar                290 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "received unsolicited stats update event\n");
ar                295 drivers/net/wireless/ath/ath10k/debug.c 	num_peers = ath10k_wmi_fw_stats_num_peers(&ar->debug.fw_stats.peers);
ar                296 drivers/net/wireless/ath/ath10k/debug.c 	num_vdevs = ath10k_wmi_fw_stats_num_vdevs(&ar->debug.fw_stats.vdevs);
ar                297 drivers/net/wireless/ath/ath10k/debug.c 	is_start = (list_empty(&ar->debug.fw_stats.pdevs) &&
ar                299 drivers/net/wireless/ath/ath10k/debug.c 	is_end = (!list_empty(&ar->debug.fw_stats.pdevs) &&
ar                303 drivers/net/wireless/ath/ath10k/debug.c 		list_splice_tail_init(&stats.pdevs, &ar->debug.fw_stats.pdevs);
ar                306 drivers/net/wireless/ath/ath10k/debug.c 		ar->debug.fw_stats_done = true;
ar                309 drivers/net/wireless/ath/ath10k/debug.c 		ar->debug.fw_stats.extended = true;
ar                311 drivers/net/wireless/ath/ath10k/debug.c 	is_started = !list_empty(&ar->debug.fw_stats.pdevs);
ar                318 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_fw_stats_peers_free(&ar->debug.fw_stats.peers);
ar                319 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_fw_extd_stats_peers_free(&ar->debug.fw_stats.peers_extd);
ar                320 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "dropping fw peer stats\n");
ar                325 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_fw_stats_vdevs_free(&ar->debug.fw_stats.vdevs);
ar                326 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "dropping fw vdev stats\n");
ar                332 drivers/net/wireless/ath/ath10k/debug.c 					      &ar->debug.fw_stats.peers_extd);
ar                334 drivers/net/wireless/ath/ath10k/debug.c 		list_splice_tail_init(&stats.peers, &ar->debug.fw_stats.peers);
ar                335 drivers/net/wireless/ath/ath10k/debug.c 		list_splice_tail_init(&stats.vdevs, &ar->debug.fw_stats.vdevs);
ar                338 drivers/net/wireless/ath/ath10k/debug.c 	complete(&ar->debug.fw_stats_complete);
ar                349 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar                352 drivers/net/wireless/ath/ath10k/debug.c static int ath10k_debug_fw_stats_request(struct ath10k *ar)
ar                357 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar                361 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_debug_fw_stats_reset(ar);
ar                367 drivers/net/wireless/ath/ath10k/debug.c 		reinit_completion(&ar->debug.fw_stats_complete);
ar                369 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_request_stats(ar, ar->fw_stats_req_mask);
ar                371 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "could not request stats (%d)\n", ret);
ar                376 drivers/net/wireless/ath/ath10k/debug.c 		wait_for_completion_timeout(&ar->debug.fw_stats_complete,
ar                381 drivers/net/wireless/ath/ath10k/debug.c 		spin_lock_bh(&ar->data_lock);
ar                382 drivers/net/wireless/ath/ath10k/debug.c 		if (ar->debug.fw_stats_done) {
ar                383 drivers/net/wireless/ath/ath10k/debug.c 			spin_unlock_bh(&ar->data_lock);
ar                386 drivers/net/wireless/ath/ath10k/debug.c 		spin_unlock_bh(&ar->data_lock);
ar                394 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = inode->i_private;
ar                398 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                400 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar                411 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_debug_fw_stats_request(ar);
ar                413 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to request fw stats: %d\n", ret);
ar                417 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_fw_stats_fill(ar, &ar->debug.fw_stats, buf);
ar                419 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to fill fw stats: %d\n", ret);
ar                425 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                432 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                464 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                473 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar                476 drivers/net/wireless/ath/ath10k/debug.c 			 "fw_crash_counter\t\t%d\n", ar->stats.fw_crash_counter);
ar                479 drivers/net/wireless/ath/ath10k/debug.c 			 ar->stats.fw_warm_reset_counter);
ar                482 drivers/net/wireless/ath/ath10k/debug.c 			 ar->stats.fw_cold_reset_counter);
ar                484 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar                501 drivers/net/wireless/ath/ath10k/debug.c static int ath10k_debug_fw_assert(struct ath10k *ar)
ar                506 drivers/net/wireless/ath/ath10k/debug.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd) + 16);
ar                516 drivers/net/wireless/ath/ath10k/debug.c 	return ath10k_wmi_cmd_send(ar, skb,
ar                517 drivers/net/wireless/ath/ath10k/debug.c 				   ar->wmi.cmd->vdev_install_key_cmdid);
ar                545 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                562 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                564 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar                565 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_RESTARTED) {
ar                571 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_info(ar, "simulating soft firmware crash\n");
ar                572 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_force_fw_hang(ar, WMI_FORCE_FW_HANG_ASSERT, 0);
ar                574 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_info(ar, "simulating hard firmware crash\n");
ar                578 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_vdev_set_param(ar, 0x7fff,
ar                579 drivers/net/wireless/ath/ath10k/debug.c 						ar->wmi.vdev_param->rts_threshold,
ar                582 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_info(ar, "simulating firmware assert crash\n");
ar                583 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_debug_fw_assert(ar);
ar                585 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_info(ar, "user requested hw restart\n");
ar                586 drivers/net/wireless/ath/ath10k/debug.c 		queue_work(ar->workqueue, &ar->restart_work);
ar                594 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to simulate firmware crash: %d\n", ret);
ar                601 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                616 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                620 drivers/net/wireless/ath/ath10k/debug.c 	len = scnprintf(buf, sizeof(buf), "0x%08x\n", ar->bus_param.chip_id);
ar                636 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                641 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                642 drivers/net/wireless/ath/ath10k/debug.c 	reg_addr = ar->debug.reg_addr;
ar                643 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                654 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                665 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                666 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.reg_addr = reg_addr;
ar                667 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                684 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                690 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                692 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar                693 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_UTF) {
ar                698 drivers/net/wireless/ath/ath10k/debug.c 	reg_addr = ar->debug.reg_addr;
ar                700 drivers/net/wireless/ath/ath10k/debug.c 	reg_val = ath10k_hif_read32(ar, reg_addr);
ar                706 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                715 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                719 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                721 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar                722 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_UTF) {
ar                727 drivers/net/wireless/ath/ath10k/debug.c 	reg_addr = ar->debug.reg_addr;
ar                733 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_hif_write32(ar, reg_addr, reg_val);
ar                738 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                755 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                765 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                773 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar                774 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_UTF) {
ar                779 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_hif_diag_read(ar, *ppos, buf, count);
ar                781 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to read address 0x%08x via diagnose window fnrom debugfs: %d\n",
ar                798 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                807 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                817 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                825 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar                826 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_UTF) {
ar                837 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_hif_diag_write(ar, *ppos, buf, count);
ar                839 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to write address 0x%08x via diagnose window from debugfs: %d\n",
ar                849 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                862 drivers/net/wireless/ath/ath10k/debug.c static int ath10k_debug_htt_stats_req(struct ath10k *ar)
ar                867 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar                869 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->debug.htt_stats_mask == 0)
ar                873 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON)
ar                878 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_htt_h2t_stats_req(&ar->htt, ar->debug.htt_stats_mask,
ar                879 drivers/net/wireless/ath/ath10k/debug.c 				       ar->debug.reset_htt_stats, cookie);
ar                881 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to send htt stats request: %d\n", ret);
ar                885 drivers/net/wireless/ath/ath10k/debug.c 	queue_delayed_work(ar->workqueue, &ar->debug.htt_stats_dwork,
ar                893 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = container_of(work, struct ath10k,
ar                896 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                898 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_debug_htt_stats_req(ar);
ar                900 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                907 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                911 drivers/net/wireless/ath/ath10k/debug.c 	len = scnprintf(buf, sizeof(buf), "%lu\n", ar->debug.htt_stats_mask);
ar                920 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                932 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                934 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.htt_stats_mask = mask;
ar                936 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_debug_htt_stats_req(ar);
ar                943 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                960 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                965 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                967 drivers/net/wireless/ath/ath10k/debug.c 	amsdu = ar->htt.max_num_amsdu;
ar                968 drivers/net/wireless/ath/ath10k/debug.c 	ampdu = ar->htt.max_num_ampdu;
ar                969 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar                980 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar                995 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar                997 drivers/net/wireless/ath/ath10k/debug.c 	res = ath10k_htt_h2t_aggr_cfg_msg(&ar->htt, ampdu, amsdu);
ar               1002 drivers/net/wireless/ath/ath10k/debug.c 	ar->htt.max_num_amsdu = amsdu;
ar               1003 drivers/net/wireless/ath/ath10k/debug.c 	ar->htt.max_num_ampdu = ampdu;
ar               1006 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1022 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1027 drivers/net/wireless/ath/ath10k/debug.c 			ar->debug.fw_dbglog_mask, ar->debug.fw_dbglog_level);
ar               1036 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1056 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1058 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.fw_dbglog_mask = mask;
ar               1059 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.fw_dbglog_level = log_level;
ar               1061 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state == ATH10K_STATE_ON) {
ar               1062 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_dbglog_cfg(ar, ar->debug.fw_dbglog_mask,
ar               1063 drivers/net/wireless/ath/ath10k/debug.c 					    ar->debug.fw_dbglog_level);
ar               1065 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "dbglog cfg failed from debugfs: %d\n",
ar               1074 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1158 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = hw->priv;
ar               1163 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1165 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state == ATH10K_STATE_ON) {
ar               1166 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_debug_fw_stats_request(ar);
ar               1169 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar,
ar               1175 drivers/net/wireless/ath/ath10k/debug.c 	pdev_stats = list_first_entry_or_null(&ar->debug.fw_stats.pdevs,
ar               1183 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar               1228 drivers/net/wireless/ath/ath10k/debug.c 	data[i++] = ar->stats.fw_crash_counter;
ar               1229 drivers/net/wireless/ath/ath10k/debug.c 	data[i++] = ar->stats.fw_warm_reset_counter;
ar               1230 drivers/net/wireless/ath/ath10k/debug.c 	data[i++] = ar->stats.fw_cold_reset_counter;
ar               1232 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar               1234 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1247 drivers/net/wireless/ath/ath10k/debug.c static int ath10k_debug_cal_data_fetch(struct ath10k *ar)
ar               1253 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1255 drivers/net/wireless/ath/ath10k/debug.c 	if (WARN_ON(ar->hw_params.cal_data_len > ATH10K_DEBUG_CAL_DATA_LEN))
ar               1258 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->hw_params.cal_data_len == 0)
ar               1263 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_hif_diag_read(ar, hi_addr, &addr, sizeof(addr));
ar               1265 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to read hi_board_data address: %d\n",
ar               1270 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_hif_diag_read(ar, le32_to_cpu(addr), ar->debug.cal_data,
ar               1271 drivers/net/wireless/ath/ath10k/debug.c 				   ar->hw_params.cal_data_len);
ar               1273 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to read calibration data: %d\n", ret);
ar               1282 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = inode->i_private;
ar               1284 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1286 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state == ATH10K_STATE_ON ||
ar               1287 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state == ATH10K_STATE_UTF) {
ar               1288 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_debug_cal_data_fetch(ar);
ar               1291 drivers/net/wireless/ath/ath10k/debug.c 	file->private_data = ar;
ar               1292 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1301 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1303 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1306 drivers/net/wireless/ath/ath10k/debug.c 					ar->debug.cal_data,
ar               1307 drivers/net/wireless/ath/ath10k/debug.c 					ar->hw_params.cal_data_len);
ar               1309 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1318 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1325 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1327 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->ani_enabled == enable) {
ar               1332 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pdev_set_param(ar, ar->wmi.pdev_param->ani_enable,
ar               1335 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "ani_enable failed from debugfs: %d\n", ret);
ar               1338 drivers/net/wireless/ath/ath10k/debug.c 	ar->ani_enabled = enable;
ar               1343 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1351 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1355 drivers/net/wireless/ath/ath10k/debug.c 	len = scnprintf(buf, sizeof(buf), "%d\n", ar->ani_enabled);
ar               1379 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1383 drivers/net/wireless/ath/ath10k/debug.c 	len = scnprintf(buf, sizeof(buf), "%d\n", ar->debug.nf_cal_period);
ar               1392 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1407 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1409 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.nf_cal_period = period;
ar               1411 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar               1417 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pdev_set_param(ar, ar->wmi.pdev_param->cal_period,
ar               1418 drivers/net/wireless/ath/ath10k/debug.c 					ar->debug.nf_cal_period);
ar               1420 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "cal period cfg failed from debugfs: %d\n",
ar               1428 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1443 drivers/net/wireless/ath/ath10k/debug.c static int ath10k_debug_tpc_stats_request(struct ath10k *ar)
ar               1448 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1450 drivers/net/wireless/ath/ath10k/debug.c 	reinit_completion(&ar->debug.tpc_complete);
ar               1452 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pdev_get_tpc_config(ar, WMI_TPC_CONFIG_PARAM);
ar               1454 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to request tpc config: %d\n", ret);
ar               1458 drivers/net/wireless/ath/ath10k/debug.c 	time_left = wait_for_completion_timeout(&ar->debug.tpc_complete,
ar               1466 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_tpc_stats_process(struct ath10k *ar,
ar               1469 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar               1471 drivers/net/wireless/ath/ath10k/debug.c 	kfree(ar->debug.tpc_stats);
ar               1472 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.tpc_stats = tpc_stats;
ar               1473 drivers/net/wireless/ath/ath10k/debug.c 	complete(&ar->debug.tpc_complete);
ar               1475 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar               1479 drivers/net/wireless/ath/ath10k/debug.c ath10k_debug_tpc_stats_final_process(struct ath10k *ar,
ar               1482 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar               1484 drivers/net/wireless/ath/ath10k/debug.c 	kfree(ar->debug.tpc_stats_final);
ar               1485 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.tpc_stats_final = tpc_stats;
ar               1486 drivers/net/wireless/ath/ath10k/debug.c 	complete(&ar->debug.tpc_complete);
ar               1488 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar               1537 drivers/net/wireless/ath/ath10k/debug.c static void ath10k_tpc_stats_fill(struct ath10k *ar,
ar               1547 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar               1550 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to get tpc stats\n");
ar               1617 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar               1627 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = inode->i_private;
ar               1631 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1633 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar               1644 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_debug_tpc_stats_request(ar);
ar               1646 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to request tpc config stats: %d\n",
ar               1651 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_tpc_stats_fill(ar, ar->debug.tpc_stats, buf);
ar               1654 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1661 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1689 drivers/net/wireless/ath/ath10k/debug.c int ath10k_debug_start(struct ath10k *ar)
ar               1693 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1695 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_debug_htt_stats_req(ar);
ar               1698 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to start htt stats workqueue: %d\n",
ar               1701 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->debug.fw_dbglog_mask) {
ar               1702 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_dbglog_cfg(ar, ar->debug.fw_dbglog_mask,
ar               1706 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "failed to enable dbglog during start: %d",
ar               1710 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->pktlog_filter) {
ar               1711 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_pdev_pktlog_enable(ar,
ar               1712 drivers/net/wireless/ath/ath10k/debug.c 						    ar->pktlog_filter);
ar               1715 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar,
ar               1717 drivers/net/wireless/ath/ath10k/debug.c 				    ar->pktlog_filter, ret);
ar               1719 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_pdev_pktlog_disable(ar);
ar               1722 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "failed to disable pktlog: %d\n", ret);
ar               1725 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->debug.nf_cal_period &&
ar               1727 drivers/net/wireless/ath/ath10k/debug.c 		      ar->normal_mode_fw.fw_file.fw_features)) {
ar               1728 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_pdev_set_param(ar,
ar               1729 drivers/net/wireless/ath/ath10k/debug.c 						ar->wmi.pdev_param->cal_period,
ar               1730 drivers/net/wireless/ath/ath10k/debug.c 						ar->debug.nf_cal_period);
ar               1733 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "cal period cfg failed from debug start: %d\n",
ar               1740 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_stop(struct ath10k *ar)
ar               1742 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1745 drivers/net/wireless/ath/ath10k/debug.c 		      ar->normal_mode_fw.fw_file.fw_features))
ar               1746 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_debug_cal_data_fetch(ar);
ar               1752 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->debug.htt_stats_mask != 0)
ar               1753 drivers/net/wireless/ath/ath10k/debug.c 		cancel_delayed_work(&ar->debug.htt_stats_dwork);
ar               1755 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_wmi_pdev_pktlog_disable(ar);
ar               1762 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1769 drivers/net/wireless/ath/ath10k/debug.c 	arvif = list_first_entry(&ar->arvifs, typeof(*arvif), list);
ar               1773 drivers/net/wireless/ath/ath10k/debug.c 	ieee80211_radar_detected(ar->hw);
ar               1787 drivers/net/wireless/ath/ath10k/debug.c 			 ar->debug.dfs_stats.p))
ar               1791 drivers/net/wireless/ath/ath10k/debug.c 			 ar->debug.dfs_pool_stats.p))
ar               1798 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1805 drivers/net/wireless/ath/ath10k/debug.c 	if (!ar->dfs_detector) {
ar               1810 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.dfs_pool_stats =
ar               1811 drivers/net/wireless/ath/ath10k/debug.c 			ar->dfs_detector->get_stats(ar->dfs_detector);
ar               1851 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1858 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1860 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar               1861 drivers/net/wireless/ath/ath10k/debug.c 		ar->pktlog_filter = filter;
ar               1866 drivers/net/wireless/ath/ath10k/debug.c 	if (filter == ar->pktlog_filter) {
ar               1872 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_pdev_pktlog_enable(ar, filter);
ar               1874 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "failed to enable pktlog filter %x: %d\n",
ar               1875 drivers/net/wireless/ath/ath10k/debug.c 				    ar->pktlog_filter, ret);
ar               1879 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_pdev_pktlog_disable(ar);
ar               1881 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "failed to disable pktlog: %d\n", ret);
ar               1886 drivers/net/wireless/ath/ath10k/debug.c 	ar->pktlog_filter = filter;
ar               1890 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1898 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1901 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1903 drivers/net/wireless/ath/ath10k/debug.c 			ar->pktlog_filter);
ar               1904 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1919 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1926 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "Quiet period %u can not be lesser than 25ms\n",
ar               1930 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1931 drivers/net/wireless/ath/ath10k/debug.c 	ar->thermal.quiet_period = period;
ar               1932 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_thermal_set_throttling(ar);
ar               1933 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1942 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1945 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1947 drivers/net/wireless/ath/ath10k/debug.c 			ar->thermal.quiet_period);
ar               1948 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               1963 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               1979 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               1981 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar               1982 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_RESTARTED) {
ar               1987 drivers/net/wireless/ath/ath10k/debug.c 	if (!(test_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags) ^ val)) {
ar               1992 drivers/net/wireless/ath/ath10k/debug.c 	pdev_param = ar->wmi.pdev_param->enable_btcoex;
ar               1994 drivers/net/wireless/ath/ath10k/debug.c 		     ar->running_fw->fw_file.fw_features)) {
ar               1995 drivers/net/wireless/ath/ath10k/debug.c 		ret = ath10k_wmi_pdev_set_param(ar, pdev_param, val);
ar               1997 drivers/net/wireless/ath/ath10k/debug.c 			ath10k_warn(ar, "failed to enable btcoex: %d\n", ret);
ar               2002 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_info(ar, "restarting firmware due to btcoex change");
ar               2003 drivers/net/wireless/ath/ath10k/debug.c 		queue_work(ar->workqueue, &ar->restart_work);
ar               2007 drivers/net/wireless/ath/ath10k/debug.c 		set_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags);
ar               2009 drivers/net/wireless/ath/ath10k/debug.c 		clear_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags);
ar               2014 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2023 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2026 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2028 drivers/net/wireless/ath/ath10k/debug.c 			test_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags));
ar               2029 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2044 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2051 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2053 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar               2054 drivers/net/wireless/ath/ath10k/debug.c 		ar->debug.enable_extd_tx_stats = filter;
ar               2059 drivers/net/wireless/ath/ath10k/debug.c 	if (filter == ar->debug.enable_extd_tx_stats) {
ar               2064 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.enable_extd_tx_stats = filter;
ar               2068 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2078 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2081 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2083 drivers/net/wireless/ath/ath10k/debug.c 			ar->debug.enable_extd_tx_stats);
ar               2084 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2099 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2114 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2116 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON &&
ar               2117 drivers/net/wireless/ath/ath10k/debug.c 	    ar->state != ATH10K_STATE_RESTARTED) {
ar               2122 drivers/net/wireless/ath/ath10k/debug.c 	if (!(test_bit(ATH10K_FLAG_PEER_STATS, &ar->dev_flags) ^ val)) {
ar               2128 drivers/net/wireless/ath/ath10k/debug.c 		set_bit(ATH10K_FLAG_PEER_STATS, &ar->dev_flags);
ar               2130 drivers/net/wireless/ath/ath10k/debug.c 		clear_bit(ATH10K_FLAG_PEER_STATS, &ar->dev_flags);
ar               2132 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_info(ar, "restarting firmware due to Peer stats change");
ar               2134 drivers/net/wireless/ath/ath10k/debug.c 	queue_work(ar->workqueue, &ar->restart_work);
ar               2138 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2147 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2150 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2152 drivers/net/wireless/ath/ath10k/debug.c 			test_bit(ATH10K_FLAG_PEER_STATS, &ar->dev_flags));
ar               2153 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2168 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2177 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2181 drivers/net/wireless/ath/ath10k/debug.c 			 crc32_le(0, ar->normal_mode_fw.fw_file.firmware->data,
ar               2182 drivers/net/wireless/ath/ath10k/debug.c 				  ar->normal_mode_fw.fw_file.firmware->size));
ar               2185 drivers/net/wireless/ath/ath10k/debug.c 			 crc32_le(0, ar->normal_mode_fw.fw_file.firmware_data,
ar               2186 drivers/net/wireless/ath/ath10k/debug.c 				  ar->normal_mode_fw.fw_file.firmware_len));
ar               2189 drivers/net/wireless/ath/ath10k/debug.c 			 crc32_le(0, ar->normal_mode_fw.fw_file.otp_data,
ar               2190 drivers/net/wireless/ath/ath10k/debug.c 				  ar->normal_mode_fw.fw_file.otp_len));
ar               2193 drivers/net/wireless/ath/ath10k/debug.c 			 crc32_le(0, ar->normal_mode_fw.fw_file.codeswap_data,
ar               2194 drivers/net/wireless/ath/ath10k/debug.c 				  ar->normal_mode_fw.fw_file.codeswap_len));
ar               2197 drivers/net/wireless/ath/ath10k/debug.c 			 crc32_le(0, ar->normal_mode_fw.board->data,
ar               2198 drivers/net/wireless/ath/ath10k/debug.c 				  ar->normal_mode_fw.board->size));
ar               2201 drivers/net/wireless/ath/ath10k/debug.c 			 crc32_le(0, ar->normal_mode_fw.board_data,
ar               2202 drivers/net/wireless/ath/ath10k/debug.c 				  ar->normal_mode_fw.board_len));
ar               2206 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2223 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2227 drivers/net/wireless/ath/ath10k/debug.c 	len = scnprintf(buf, sizeof(buf), "0x%08x\n", ar->sta_tid_stats_mask);
ar               2235 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2248 drivers/net/wireless/ath/ath10k/debug.c 	ar->sta_tid_stats_mask = mask;
ar               2261 drivers/net/wireless/ath/ath10k/debug.c static int ath10k_debug_tpc_stats_final_request(struct ath10k *ar)
ar               2266 drivers/net/wireless/ath/ath10k/debug.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2268 drivers/net/wireless/ath/ath10k/debug.c 	reinit_completion(&ar->debug.tpc_complete);
ar               2270 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pdev_get_tpc_table_cmdid(ar, WMI_TPC_CONFIG_PARAM);
ar               2272 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to request tpc table cmdid: %d\n", ret);
ar               2276 drivers/net/wireless/ath/ath10k/debug.c 	time_left = wait_for_completion_timeout(&ar->debug.tpc_complete,
ar               2286 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = inode->i_private;
ar               2290 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2292 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar               2303 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_debug_tpc_stats_final_request(ar);
ar               2305 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to request tpc stats final: %d\n",
ar               2310 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_tpc_stats_fill(ar, ar->debug.tpc_stats, buf);
ar               2313 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2320 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2354 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2364 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2366 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->state != ATH10K_STATE_ON) {
ar               2371 drivers/net/wireless/ath/ath10k/debug.c 	if (!(test_bit(WMI_SERVICE_RESET_CHIP, ar->wmi.svc_map)))
ar               2372 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "wmi service for reset chip is not available\n");
ar               2374 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pdev_set_param(ar, ar->wmi.pdev_param->pdev_reset,
ar               2378 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to enable warm hw reset: %d\n", ret);
ar               2385 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2399 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = data;
ar               2402 drivers/net/wireless/ath/ath10k/debug.c 	spin_lock_bh(&ar->data_lock);
ar               2404 drivers/net/wireless/ath/ath10k/debug.c 	spin_unlock_bh(&ar->data_lock);
ar               2411 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2422 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2424 drivers/net/wireless/ath/ath10k/debug.c 	if (ar->ps_state_enable == ps_state_enable) {
ar               2429 drivers/net/wireless/ath/ath10k/debug.c 	param = ar->wmi.pdev_param->peer_sta_ps_statechg_enable;
ar               2430 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_wmi_pdev_set_param(ar, param, ps_state_enable);
ar               2432 drivers/net/wireless/ath/ath10k/debug.c 		ath10k_warn(ar, "failed to enable ps_state_enable: %d\n",
ar               2436 drivers/net/wireless/ath/ath10k/debug.c 	ar->ps_state_enable = ps_state_enable;
ar               2438 drivers/net/wireless/ath/ath10k/debug.c 	if (!ar->ps_state_enable)
ar               2439 drivers/net/wireless/ath/ath10k/debug.c 		ieee80211_iterate_stations_atomic(ar->hw,
ar               2441 drivers/net/wireless/ath/ath10k/debug.c 						  ar);
ar               2446 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2455 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2459 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2461 drivers/net/wireless/ath/ath10k/debug.c 			ar->ps_state_enable);
ar               2462 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2479 drivers/net/wireless/ath/ath10k/debug.c 	struct ath10k *ar = file->private_data;
ar               2490 drivers/net/wireless/ath/ath10k/debug.c 	mutex_lock(&ar->conf_mutex);
ar               2492 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.reset_htt_stats = reset;
ar               2494 drivers/net/wireless/ath/ath10k/debug.c 	ret = ath10k_debug_htt_stats_req(ar);
ar               2498 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.reset_htt_stats = 0;
ar               2502 drivers/net/wireless/ath/ath10k/debug.c 	mutex_unlock(&ar->conf_mutex);
ar               2513 drivers/net/wireless/ath/ath10k/debug.c int ath10k_debug_create(struct ath10k *ar)
ar               2515 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.cal_data = vzalloc(ATH10K_DEBUG_CAL_DATA_LEN);
ar               2516 drivers/net/wireless/ath/ath10k/debug.c 	if (!ar->debug.cal_data)
ar               2519 drivers/net/wireless/ath/ath10k/debug.c 	INIT_LIST_HEAD(&ar->debug.fw_stats.pdevs);
ar               2520 drivers/net/wireless/ath/ath10k/debug.c 	INIT_LIST_HEAD(&ar->debug.fw_stats.vdevs);
ar               2521 drivers/net/wireless/ath/ath10k/debug.c 	INIT_LIST_HEAD(&ar->debug.fw_stats.peers);
ar               2522 drivers/net/wireless/ath/ath10k/debug.c 	INIT_LIST_HEAD(&ar->debug.fw_stats.peers_extd);
ar               2527 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_destroy(struct ath10k *ar)
ar               2529 drivers/net/wireless/ath/ath10k/debug.c 	vfree(ar->debug.cal_data);
ar               2530 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.cal_data = NULL;
ar               2532 drivers/net/wireless/ath/ath10k/debug.c 	ath10k_debug_fw_stats_reset(ar);
ar               2534 drivers/net/wireless/ath/ath10k/debug.c 	kfree(ar->debug.tpc_stats);
ar               2537 drivers/net/wireless/ath/ath10k/debug.c int ath10k_debug_register(struct ath10k *ar)
ar               2539 drivers/net/wireless/ath/ath10k/debug.c 	ar->debug.debugfs_phy = debugfs_create_dir("ath10k",
ar               2540 drivers/net/wireless/ath/ath10k/debug.c 						   ar->hw->wiphy->debugfsdir);
ar               2541 drivers/net/wireless/ath/ath10k/debug.c 	if (IS_ERR_OR_NULL(ar->debug.debugfs_phy)) {
ar               2542 drivers/net/wireless/ath/ath10k/debug.c 		if (IS_ERR(ar->debug.debugfs_phy))
ar               2543 drivers/net/wireless/ath/ath10k/debug.c 			return PTR_ERR(ar->debug.debugfs_phy);
ar               2548 drivers/net/wireless/ath/ath10k/debug.c 	INIT_DELAYED_WORK(&ar->debug.htt_stats_dwork,
ar               2551 drivers/net/wireless/ath/ath10k/debug.c 	init_completion(&ar->debug.tpc_complete);
ar               2552 drivers/net/wireless/ath/ath10k/debug.c 	init_completion(&ar->debug.fw_stats_complete);
ar               2554 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("fw_stats", 0400, ar->debug.debugfs_phy, ar,
ar               2557 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("fw_reset_stats", 0400, ar->debug.debugfs_phy, ar,
ar               2560 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("wmi_services", 0400, ar->debug.debugfs_phy, ar,
ar               2563 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("simulate_fw_crash", 0600, ar->debug.debugfs_phy, ar,
ar               2566 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("reg_addr", 0600, ar->debug.debugfs_phy, ar,
ar               2569 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("reg_value", 0600, ar->debug.debugfs_phy, ar,
ar               2572 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("mem_value", 0600, ar->debug.debugfs_phy, ar,
ar               2575 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("chip_id", 0400, ar->debug.debugfs_phy, ar,
ar               2578 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("htt_stats_mask", 0600, ar->debug.debugfs_phy, ar,
ar               2581 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("htt_max_amsdu_ampdu", 0600, ar->debug.debugfs_phy, ar,
ar               2584 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("fw_dbglog", 0600, ar->debug.debugfs_phy, ar,
ar               2588 drivers/net/wireless/ath/ath10k/debug.c 		      ar->normal_mode_fw.fw_file.fw_features)) {
ar               2589 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("cal_data", 0400, ar->debug.debugfs_phy, ar,
ar               2592 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("nf_cal_period", 0600, ar->debug.debugfs_phy, ar,
ar               2596 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("ani_enable", 0600, ar->debug.debugfs_phy, ar,
ar               2600 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("dfs_simulate_radar", 0200, ar->debug.debugfs_phy,
ar               2601 drivers/net/wireless/ath/ath10k/debug.c 				    ar, &fops_simulate_radar);
ar               2604 drivers/net/wireless/ath/ath10k/debug.c 				    ar->debug.debugfs_phy,
ar               2605 drivers/net/wireless/ath/ath10k/debug.c 				    &ar->dfs_block_radar_events);
ar               2607 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("dfs_stats", 0400, ar->debug.debugfs_phy, ar,
ar               2611 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("pktlog_filter", 0644, ar->debug.debugfs_phy, ar,
ar               2614 drivers/net/wireless/ath/ath10k/debug.c 	if (test_bit(WMI_SERVICE_THERM_THROT, ar->wmi.svc_map))
ar               2615 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("quiet_period", 0644, ar->debug.debugfs_phy, ar,
ar               2618 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("tpc_stats", 0400, ar->debug.debugfs_phy, ar,
ar               2621 drivers/net/wireless/ath/ath10k/debug.c 	if (test_bit(WMI_SERVICE_COEX_GPIO, ar->wmi.svc_map))
ar               2622 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("btcoex", 0644, ar->debug.debugfs_phy, ar,
ar               2625 drivers/net/wireless/ath/ath10k/debug.c 	if (test_bit(WMI_SERVICE_PEER_STATS, ar->wmi.svc_map)) {
ar               2626 drivers/net/wireless/ath/ath10k/debug.c 		debugfs_create_file("peer_stats", 0644, ar->debug.debugfs_phy, ar,
ar               2630 drivers/net/wireless/ath/ath10k/debug.c 				    ar->debug.debugfs_phy, ar,
ar               2634 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("fw_checksums", 0400, ar->debug.debugfs_phy, ar,
ar               2639 drivers/net/wireless/ath/ath10k/debug.c 				    ar->debug.debugfs_phy,
ar               2640 drivers/net/wireless/ath/ath10k/debug.c 				    ar, &fops_sta_tid_stats_mask);
ar               2642 drivers/net/wireless/ath/ath10k/debug.c 	if (test_bit(WMI_SERVICE_TPC_STATS_FINAL, ar->wmi.svc_map))
ar               2644 drivers/net/wireless/ath/ath10k/debug.c 				    ar->debug.debugfs_phy, ar,
ar               2647 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("warm_hw_reset", 0600, ar->debug.debugfs_phy, ar,
ar               2650 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("ps_state_enable", 0600, ar->debug.debugfs_phy, ar,
ar               2653 drivers/net/wireless/ath/ath10k/debug.c 	debugfs_create_file("reset_htt_stats", 0200, ar->debug.debugfs_phy, ar,
ar               2659 drivers/net/wireless/ath/ath10k/debug.c void ath10k_debug_unregister(struct ath10k *ar)
ar               2661 drivers/net/wireless/ath/ath10k/debug.c 	cancel_delayed_work_sync(&ar->debug.htt_stats_dwork);
ar               2667 drivers/net/wireless/ath/ath10k/debug.c void __ath10k_dbg(struct ath10k *ar, enum ath10k_debug_mask mask,
ar               2679 drivers/net/wireless/ath/ath10k/debug.c 		dev_printk(KERN_DEBUG, ar->dev, "%pV", &vaf);
ar               2681 drivers/net/wireless/ath/ath10k/debug.c 	trace_ath10k_log_dbg(ar, mask, &vaf);
ar               2687 drivers/net/wireless/ath/ath10k/debug.c void ath10k_dbg_dump(struct ath10k *ar,
ar               2698 drivers/net/wireless/ath/ath10k/debug.c 			__ath10k_dbg(ar, mask, "%s\n", msg);
ar               2710 drivers/net/wireless/ath/ath10k/debug.c 			dev_printk(KERN_DEBUG, ar->dev, "%s\n", linebuf);
ar               2715 drivers/net/wireless/ath/ath10k/debug.c 	trace_ath10k_log_dbg_dump(ar, msg ? msg : "", prefix ? prefix : "",
ar                 79 drivers/net/wireless/ath/ath10k/debug.h __printf(2, 3) void ath10k_info(struct ath10k *ar, const char *fmt, ...);
ar                 80 drivers/net/wireless/ath/ath10k/debug.h __printf(2, 3) void ath10k_err(struct ath10k *ar, const char *fmt, ...);
ar                 81 drivers/net/wireless/ath/ath10k/debug.h __printf(2, 3) void ath10k_warn(struct ath10k *ar, const char *fmt, ...);
ar                 83 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_print_hwfw_info(struct ath10k *ar);
ar                 84 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_print_board_info(struct ath10k *ar);
ar                 85 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_print_boot_info(struct ath10k *ar);
ar                 86 drivers/net/wireless/ath/ath10k/debug.h void ath10k_print_driver_info(struct ath10k *ar);
ar                 89 drivers/net/wireless/ath/ath10k/debug.h int ath10k_debug_start(struct ath10k *ar);
ar                 90 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_stop(struct ath10k *ar);
ar                 91 drivers/net/wireless/ath/ath10k/debug.h int ath10k_debug_create(struct ath10k *ar);
ar                 92 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_destroy(struct ath10k *ar);
ar                 93 drivers/net/wireless/ath/ath10k/debug.h int ath10k_debug_register(struct ath10k *ar);
ar                 94 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_unregister(struct ath10k *ar);
ar                 95 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb);
ar                 96 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_tpc_stats_process(struct ath10k *ar,
ar                 99 drivers/net/wireless/ath/ath10k/debug.h ath10k_debug_tpc_stats_final_process(struct ath10k *ar,
ar                101 drivers/net/wireless/ath/ath10k/debug.h void ath10k_debug_dbglog_add(struct ath10k *ar, u8 *buffer, int len);
ar                103 drivers/net/wireless/ath/ath10k/debug.h #define ATH10K_DFS_STAT_INC(ar, c) (ar->debug.dfs_stats.c++)
ar                114 drivers/net/wireless/ath/ath10k/debug.h static inline u64 ath10k_debug_get_fw_dbglog_mask(struct ath10k *ar)
ar                116 drivers/net/wireless/ath/ath10k/debug.h 	return ar->debug.fw_dbglog_mask;
ar                119 drivers/net/wireless/ath/ath10k/debug.h static inline u32 ath10k_debug_get_fw_dbglog_level(struct ath10k *ar)
ar                121 drivers/net/wireless/ath/ath10k/debug.h 	return ar->debug.fw_dbglog_level;
ar                124 drivers/net/wireless/ath/ath10k/debug.h static inline int ath10k_debug_is_extd_tx_stats_enabled(struct ath10k *ar)
ar                126 drivers/net/wireless/ath/ath10k/debug.h 	return ar->debug.enable_extd_tx_stats;
ar                130 drivers/net/wireless/ath/ath10k/debug.h static inline int ath10k_debug_start(struct ath10k *ar)
ar                135 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_debug_stop(struct ath10k *ar)
ar                139 drivers/net/wireless/ath/ath10k/debug.h static inline int ath10k_debug_create(struct ath10k *ar)
ar                144 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_debug_destroy(struct ath10k *ar)
ar                148 drivers/net/wireless/ath/ath10k/debug.h static inline int ath10k_debug_register(struct ath10k *ar)
ar                153 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_debug_unregister(struct ath10k *ar)
ar                157 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_debug_fw_stats_process(struct ath10k *ar,
ar                162 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_debug_tpc_stats_process(struct ath10k *ar,
ar                169 drivers/net/wireless/ath/ath10k/debug.h ath10k_debug_tpc_stats_final_process(struct ath10k *ar,
ar                175 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_debug_dbglog_add(struct ath10k *ar, u8 *buffer,
ar                180 drivers/net/wireless/ath/ath10k/debug.h static inline u64 ath10k_debug_get_fw_dbglog_mask(struct ath10k *ar)
ar                185 drivers/net/wireless/ath/ath10k/debug.h static inline u32 ath10k_debug_get_fw_dbglog_level(struct ath10k *ar)
ar                190 drivers/net/wireless/ath/ath10k/debug.h static inline int ath10k_debug_is_extd_tx_stats_enabled(struct ath10k *ar)
ar                195 drivers/net/wireless/ath/ath10k/debug.h #define ATH10K_DFS_STAT_INC(ar, c) do { } while (0)
ar                205 drivers/net/wireless/ath/ath10k/debug.h void ath10k_sta_update_rx_duration(struct ath10k *ar,
ar                207 drivers/net/wireless/ath/ath10k/debug.h void ath10k_sta_update_rx_tid_stats(struct ath10k *ar, u8 *first_hdr,
ar                214 drivers/net/wireless/ath/ath10k/debug.h void ath10k_sta_update_rx_tid_stats_ampdu(struct ath10k *ar,
ar                220 drivers/net/wireless/ath/ath10k/debug.h void ath10k_sta_update_rx_duration(struct ath10k *ar,
ar                226 drivers/net/wireless/ath/ath10k/debug.h void ath10k_sta_update_rx_tid_stats(struct ath10k *ar, u8 *first_hdr,
ar                237 drivers/net/wireless/ath/ath10k/debug.h void ath10k_sta_update_rx_tid_stats_ampdu(struct ath10k *ar,
ar                246 drivers/net/wireless/ath/ath10k/debug.h __printf(3, 4) void __ath10k_dbg(struct ath10k *ar,
ar                249 drivers/net/wireless/ath/ath10k/debug.h void ath10k_dbg_dump(struct ath10k *ar,
ar                255 drivers/net/wireless/ath/ath10k/debug.h static inline int __ath10k_dbg(struct ath10k *ar,
ar                262 drivers/net/wireless/ath/ath10k/debug.h static inline void ath10k_dbg_dump(struct ath10k *ar,
ar                273 drivers/net/wireless/ath/ath10k/debug.h #define ath10k_dbg(ar, dbg_mask, fmt, ...)			\
ar                277 drivers/net/wireless/ath/ath10k/debug.h 		__ath10k_dbg(ar, dbg_mask, fmt, ##__VA_ARGS__); \
ar                 12 drivers/net/wireless/ath/ath10k/debugfs_sta.c static void ath10k_rx_stats_update_amsdu_subfrm(struct ath10k *ar,
ar                 28 drivers/net/wireless/ath/ath10k/debugfs_sta.c static void ath10k_rx_stats_update_ampdu_subfrm(struct ath10k *ar,
ar                 48 drivers/net/wireless/ath/ath10k/debugfs_sta.c void ath10k_sta_update_rx_tid_stats_ampdu(struct ath10k *ar, u16 peer_id, u8 tid,
ar                 56 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if (tid > IEEE80211_NUM_TIDS || !(ar->sta_tid_stats_mask & BIT(tid)))
ar                 60 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_lock_bh(&ar->data_lock);
ar                 62 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar                 69 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_rx_stats_update_ampdu_subfrm(ar,
ar                 74 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_unlock_bh(&ar->data_lock);
ar                 78 drivers/net/wireless/ath/ath10k/debugfs_sta.c void ath10k_sta_update_rx_tid_stats(struct ath10k *ar, u8 *first_hdr,
ar                100 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if (!(ar->sta_tid_stats_mask & BIT(tid)) || non_data_frm)
ar                105 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	sta = ieee80211_find_sta_by_ifaddr(ar->hw, hdr->addr2, NULL);
ar                111 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_lock_bh(&ar->data_lock);
ar                120 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	ath10k_rx_stats_update_amsdu_subfrm(ar, &arsta->tid_stats[tid],
ar                122 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_unlock_bh(&ar->data_lock);
ar                128 drivers/net/wireless/ath/ath10k/debugfs_sta.c static void ath10k_sta_update_extd_stats_rx_duration(struct ath10k *ar,
ar                137 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		sta = ieee80211_find_sta_by_ifaddr(ar->hw, peer->peer_macaddr,
ar                147 drivers/net/wireless/ath/ath10k/debugfs_sta.c static void ath10k_sta_update_stats_rx_duration(struct ath10k *ar,
ar                156 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		sta = ieee80211_find_sta_by_ifaddr(ar->hw, peer->peer_macaddr,
ar                166 drivers/net/wireless/ath/ath10k/debugfs_sta.c void ath10k_sta_update_rx_duration(struct ath10k *ar,
ar                170 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_sta_update_extd_stats_rx_duration(ar, stats);
ar                172 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_sta_update_stats_rx_duration(ar, stats);
ar                181 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                185 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                189 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                200 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                210 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                211 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if ((ar->state != ATH10K_STATE_ON) ||
ar                217 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	ret = ath10k_wmi_addba_clear_resp(ar, arsta->arvif->vdev_id, sta->addr);
ar                219 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_warn(ar, "failed to clear addba session ret: %d\n", ret);
ar                225 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                243 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                261 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                262 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if ((ar->state != ATH10K_STATE_ON) ||
ar                268 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	ret = ath10k_wmi_addba_send(ar, arsta->arvif->vdev_id, sta->addr,
ar                271 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_warn(ar, "failed to send addba request: vdev_id %u peer %pM tid %u buf_size %u\n",
ar                277 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                294 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                312 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                313 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if ((ar->state != ATH10K_STATE_ON) ||
ar                319 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	ret = ath10k_wmi_addba_set_resp(ar, arsta->arvif->vdev_id, sta->addr,
ar                322 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_warn(ar, "failed to send addba response: vdev_id %u peer %pM tid %u status%u\n",
ar                327 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                344 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                362 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                363 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if ((ar->state != ATH10K_STATE_ON) ||
ar                369 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	ret = ath10k_wmi_delba_send(ar, arsta->arvif->vdev_id, sta->addr,
ar                372 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_warn(ar, "failed to send delba: vdev_id %u peer %pM tid %u initiator %u reason %u\n",
ar                378 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                396 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                400 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                403 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                415 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                425 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                427 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if (ar->state != ATH10K_STATE_ON) {
ar                432 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	ret = ath10k_wmi_peer_set_param(ar, arsta->arvif->vdev_id, sta->addr,
ar                435 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_warn(ar, "failed to set param to trigger peer tid logs for station ret: %d\n",
ar                440 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                458 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                462 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_lock_bh(&ar->data_lock);
ar                467 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_unlock_bh(&ar->data_lock);
ar                545 drivers/net/wireless/ath/ath10k/debugfs_sta.c 			if (ar->sta_tid_stats_mask & BIT(j))  { \
ar                568 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                579 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                581 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_lock_bh(&ar->data_lock);
ar                627 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_unlock_bh(&ar->data_lock);
ar                633 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                651 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = arsta->arvif->ar;
ar                664 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_lock(&ar->conf_mutex);
ar                667 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		ath10k_warn(ar, "failed to get tx stats");
ar                668 drivers/net/wireless/ath/ath10k/debugfs_sta.c 		mutex_unlock(&ar->conf_mutex);
ar                673 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_lock_bh(&ar->data_lock);
ar                739 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	spin_unlock_bh(&ar->data_lock);
ar                746 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	mutex_unlock(&ar->conf_mutex);
ar                760 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	struct ath10k *ar = hw->priv;
ar                771 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	if (ath10k_peer_stats_enabled(ar) &&
ar                772 drivers/net/wireless/ath/ath10k/debugfs_sta.c 	    ath10k_debug_is_extd_tx_stats_enabled(ar))
ar                 31 drivers/net/wireless/ath/ath10k/hif.h 	int (*tx_sg)(struct ath10k *ar, u8 pipe_id,
ar                 35 drivers/net/wireless/ath/ath10k/hif.h 	int (*diag_read)(struct ath10k *ar, u32 address, void *buf,
ar                 38 drivers/net/wireless/ath/ath10k/hif.h 	int (*diag_write)(struct ath10k *ar, u32 address, const void *data,
ar                 45 drivers/net/wireless/ath/ath10k/hif.h 	int (*exchange_bmi_msg)(struct ath10k *ar,
ar                 50 drivers/net/wireless/ath/ath10k/hif.h 	int (*start)(struct ath10k *ar);
ar                 55 drivers/net/wireless/ath/ath10k/hif.h 	void (*stop)(struct ath10k *ar);
ar                 57 drivers/net/wireless/ath/ath10k/hif.h 	int (*swap_mailbox)(struct ath10k *ar);
ar                 59 drivers/net/wireless/ath/ath10k/hif.h 	int (*map_service_to_pipe)(struct ath10k *ar, u16 service_id,
ar                 62 drivers/net/wireless/ath/ath10k/hif.h 	void (*get_default_pipe)(struct ath10k *ar, u8 *ul_pipe, u8 *dl_pipe);
ar                 72 drivers/net/wireless/ath/ath10k/hif.h 	void (*send_complete_check)(struct ath10k *ar, u8 pipe_id, int force);
ar                 74 drivers/net/wireless/ath/ath10k/hif.h 	u16 (*get_free_queue_number)(struct ath10k *ar, u8 pipe_id);
ar                 76 drivers/net/wireless/ath/ath10k/hif.h 	u32 (*read32)(struct ath10k *ar, u32 address);
ar                 78 drivers/net/wireless/ath/ath10k/hif.h 	void (*write32)(struct ath10k *ar, u32 address, u32 value);
ar                 81 drivers/net/wireless/ath/ath10k/hif.h 	int (*power_up)(struct ath10k *ar, enum ath10k_firmware_mode fw_mode);
ar                 86 drivers/net/wireless/ath/ath10k/hif.h 	void (*power_down)(struct ath10k *ar);
ar                 88 drivers/net/wireless/ath/ath10k/hif.h 	int (*suspend)(struct ath10k *ar);
ar                 89 drivers/net/wireless/ath/ath10k/hif.h 	int (*resume)(struct ath10k *ar);
ar                 92 drivers/net/wireless/ath/ath10k/hif.h 	int (*fetch_cal_eeprom)(struct ath10k *ar, void **data,
ar                 95 drivers/net/wireless/ath/ath10k/hif.h 	int (*get_target_info)(struct ath10k *ar,
ar                 97 drivers/net/wireless/ath/ath10k/hif.h 	int (*set_target_log_mode)(struct ath10k *ar, u8 fw_log_mode);
ar                100 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
ar                104 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->tx_sg(ar, pipe_id, items, n_items);
ar                107 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
ar                110 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->diag_read(ar, address, buf, buf_len);
ar                113 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_diag_write(struct ath10k *ar, u32 address,
ar                116 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->diag_write)
ar                119 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->diag_write(ar, address, data, nbytes);
ar                122 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_exchange_bmi_msg(struct ath10k *ar,
ar                126 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->exchange_bmi_msg(ar, request, request_len,
ar                130 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_start(struct ath10k *ar)
ar                132 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->start(ar);
ar                135 drivers/net/wireless/ath/ath10k/hif.h static inline void ath10k_hif_stop(struct ath10k *ar)
ar                137 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->stop(ar);
ar                140 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_swap_mailbox(struct ath10k *ar)
ar                142 drivers/net/wireless/ath/ath10k/hif.h 	if (ar->hif.ops->swap_mailbox)
ar                143 drivers/net/wireless/ath/ath10k/hif.h 		return ar->hif.ops->swap_mailbox(ar);
ar                147 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_map_service_to_pipe(struct ath10k *ar,
ar                151 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->map_service_to_pipe(ar, service_id,
ar                155 drivers/net/wireless/ath/ath10k/hif.h static inline void ath10k_hif_get_default_pipe(struct ath10k *ar,
ar                158 drivers/net/wireless/ath/ath10k/hif.h 	ar->hif.ops->get_default_pipe(ar, ul_pipe, dl_pipe);
ar                161 drivers/net/wireless/ath/ath10k/hif.h static inline void ath10k_hif_send_complete_check(struct ath10k *ar,
ar                164 drivers/net/wireless/ath/ath10k/hif.h 	ar->hif.ops->send_complete_check(ar, pipe_id, force);
ar                167 drivers/net/wireless/ath/ath10k/hif.h static inline u16 ath10k_hif_get_free_queue_number(struct ath10k *ar,
ar                170 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->get_free_queue_number(ar, pipe_id);
ar                173 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_power_up(struct ath10k *ar,
ar                176 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->power_up(ar, fw_mode);
ar                179 drivers/net/wireless/ath/ath10k/hif.h static inline void ath10k_hif_power_down(struct ath10k *ar)
ar                181 drivers/net/wireless/ath/ath10k/hif.h 	ar->hif.ops->power_down(ar);
ar                184 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_suspend(struct ath10k *ar)
ar                186 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->suspend)
ar                189 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->suspend(ar);
ar                192 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_resume(struct ath10k *ar)
ar                194 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->resume)
ar                197 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->resume(ar);
ar                200 drivers/net/wireless/ath/ath10k/hif.h static inline u32 ath10k_hif_read32(struct ath10k *ar, u32 address)
ar                202 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->read32) {
ar                203 drivers/net/wireless/ath/ath10k/hif.h 		ath10k_warn(ar, "hif read32 not supported\n");
ar                207 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->read32(ar, address);
ar                210 drivers/net/wireless/ath/ath10k/hif.h static inline void ath10k_hif_write32(struct ath10k *ar,
ar                213 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->write32) {
ar                214 drivers/net/wireless/ath/ath10k/hif.h 		ath10k_warn(ar, "hif write32 not supported\n");
ar                218 drivers/net/wireless/ath/ath10k/hif.h 	ar->hif.ops->write32(ar, address, data);
ar                221 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_fetch_cal_eeprom(struct ath10k *ar,
ar                225 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->fetch_cal_eeprom)
ar                228 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->fetch_cal_eeprom(ar, data, data_len);
ar                231 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_get_target_info(struct ath10k *ar,
ar                234 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->get_target_info)
ar                237 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->get_target_info(ar, tgt_info);
ar                240 drivers/net/wireless/ath/ath10k/hif.h static inline int ath10k_hif_set_target_log_mode(struct ath10k *ar,
ar                243 drivers/net/wireless/ath/ath10k/hif.h 	if (!ar->hif.ops->set_target_log_mode)
ar                246 drivers/net/wireless/ath/ath10k/hif.h 	return ar->hif.ops->set_target_log_mode(ar, fw_log_mode);
ar                 15 drivers/net/wireless/ath/ath10k/htc.c static void ath10k_htc_control_tx_complete(struct ath10k *ar,
ar                 21 drivers/net/wireless/ath/ath10k/htc.c static struct sk_buff *ath10k_htc_build_tx_ctrl_skb(void *ar)
ar                 36 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_HTC, "%s: skb %pK\n", __func__, skb);
ar                 45 drivers/net/wireless/ath/ath10k/htc.c 	if (htc->ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL)
ar                 46 drivers/net/wireless/ath/ath10k/htc.c 		dma_unmap_single(htc->ar->dev, skb_cb->paddr, skb->len, DMA_TO_DEVICE);
ar                 53 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = ep->htc->ar;
ar                 55 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_HTC, "%s: ep %d skb %pK\n", __func__,
ar                 61 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "no tx handler for eid %d\n", ep->eid);
ar                 66 drivers/net/wireless/ath/ath10k/htc.c 	ep->ep_ops.ep_tx_complete(ep->htc->ar, skb);
ar                 93 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                 97 drivers/net/wireless/ath/ath10k/htc.c 	struct device *dev = htc->ar->dev;
ar                101 drivers/net/wireless/ath/ath10k/htc.c 	if (htc->ar->state == ATH10K_STATE_WEDGED)
ar                105 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "Invalid endpoint id: %d\n", eid);
ar                115 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                123 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                132 drivers/net/wireless/ath/ath10k/htc.c 	if (ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL) {
ar                148 drivers/net/wireless/ath/ath10k/htc.c 	ret = ath10k_hif_tx_sg(htc->ar, ep->ul_pipe_id, &sg_item, 1);
ar                155 drivers/net/wireless/ath/ath10k/htc.c 	if (ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL)
ar                161 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                167 drivers/net/wireless/ath/ath10k/htc.c 			ep->ep_ops.ep_tx_credits(htc->ar);
ar                174 drivers/net/wireless/ath/ath10k/htc.c void ath10k_htc_tx_completion_handler(struct ath10k *ar, struct sk_buff *skb)
ar                176 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k_htc *htc = &ar->htc;
ar                201 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                206 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "Uneven credit report len %d", len);
ar                218 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_HTC, "htc ep %d got %d credits (total %d)\n",
ar                223 drivers/net/wireless/ath/ath10k/htc.c 			ep->ep_ops.ep_tx_credits(htc->ar);
ar                238 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                249 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                270 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                274 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "Invalid lookahead bundle count: %d\n",
ar                302 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                322 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_warn(ar, "Invalid record length: %d\n",
ar                332 drivers/net/wireless/ath/ath10k/htc.c 				ath10k_warn(ar, "Credit report too long\n");
ar                344 drivers/net/wireless/ath/ath10k/htc.c 				ath10k_warn(ar, "Lookahead report too long\n");
ar                365 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_warn(ar, "Unhandled record: id:%d length:%d\n",
ar                379 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg_dump(ar, ATH10K_DBG_HTC, "htc rx bad trailer", "",
ar                386 drivers/net/wireless/ath/ath10k/htc.c void ath10k_htc_rx_completion_handler(struct ath10k *ar, struct sk_buff *skb)
ar                389 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k_htc *htc = &ar->htc;
ar                404 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "HTC Rx: invalid eid %d\n", eid);
ar                405 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg_dump(ar, ATH10K_DBG_HTC, "htc bad header", "",
ar                415 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "HTC rx frame too long, len: %zu\n",
ar                417 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg_dump(ar, ATH10K_DBG_HTC, "htc bad rx pkt len", "",
ar                423 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                426 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg_dump(ar, ATH10K_DBG_HTC, "htc bad rx pkt len",
ar                441 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_warn(ar, "Invalid trailer length: %d\n",
ar                463 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_HTC, "htc rx completion ep %d skb %pK\n",
ar                465 drivers/net/wireless/ath/ath10k/htc.c 	ep->ep_ops.ep_rx_complete(ar, skb);
ar                474 drivers/net/wireless/ath/ath10k/htc.c static void ath10k_htc_control_rx_complete(struct ath10k *ar,
ar                477 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k_htc *htc = &ar->htc;
ar                488 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_warn(ar, "HTC rx ctrl still processing\n");
ar                503 drivers/net/wireless/ath/ath10k/htc.c 		htc->htc_ops.target_send_suspend_complete(ar);
ar                506 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "ignoring unsolicited htc ep0 event\n");
ar                586 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                601 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "failed to receive control response completion, polling..\n");
ar                604 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_hif_send_complete_check(htc->ar, i, 1);
ar                615 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "ctl_resp never came in (%d)\n", status);
ar                620 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "Invalid HTC ready msg len:%d\n",
ar                629 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "Invalid HTC ready msg: 0x%x\n", message_id);
ar                636 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                643 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "Invalid credit size received\n");
ar                655 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                667 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                694 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                698 drivers/net/wireless/ath/ath10k/htc.c 	skb = ath10k_htc_build_tx_ctrl_skb(htc->ar);
ar                700 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "Failed to allocate HTC packet\n");
ar                736 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "Service connect timeout\n");
ar                749 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "Invalid resp message ID 0x%x", message_id);
ar                753 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_HTC,
ar                762 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "HTC Service %s connect request failed: 0x%x)\n",
ar                798 drivers/net/wireless/ath/ath10k/htc.c 	status = ath10k_hif_map_service_to_pipe(htc->ar,
ar                803 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "unsupported HTC service id: %d\n",
ar                808 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                815 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                823 drivers/net/wireless/ath/ath10k/htc.c struct sk_buff *ath10k_htc_alloc_skb(struct ath10k *ar, int size)
ar                835 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "Unaligned HTC tx skb\n");
ar                840 drivers/net/wireless/ath/ath10k/htc.c static void ath10k_htc_pktlog_process_rx(struct ath10k *ar, struct sk_buff *skb)
ar                842 drivers/net/wireless/ath/ath10k/htc.c 	trace_ath10k_htt_pktlog(ar, skb->data, skb->len);
ar                846 drivers/net/wireless/ath/ath10k/htc.c static int ath10k_htc_pktlog_connect(struct ath10k *ar)
ar                861 drivers/net/wireless/ath/ath10k/htc.c 	status = ath10k_htc_connect_service(&ar->htc, &conn_req, &conn_resp);
ar                863 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "failed to connect to PKTLOG service: %d\n",
ar                871 drivers/net/wireless/ath/ath10k/htc.c static bool ath10k_htc_pktlog_svc_supported(struct ath10k *ar)
ar                877 drivers/net/wireless/ath/ath10k/htc.c 	status = ath10k_hif_map_service_to_pipe(ar, ATH10K_HTC_SVC_ID_HTT_LOG_MSG,
ar                881 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_warn(ar, "unsupported HTC service id: %d\n",
ar                892 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k *ar = htc->ar;
ar                897 drivers/net/wireless/ath/ath10k/htc.c 	skb = ath10k_htc_build_tx_ctrl_skb(htc->ar);
ar                908 drivers/net/wireless/ath/ath10k/htc.c 	if (ar->hif.bus == ATH10K_BUS_SDIO) {
ar                915 drivers/net/wireless/ath/ath10k/htc.c 	ath10k_dbg(ar, ATH10K_DBG_HTC, "HTC is using TX credit flow control\n");
ar                923 drivers/net/wireless/ath/ath10k/htc.c 	if (ath10k_htc_pktlog_svc_supported(ar)) {
ar                924 drivers/net/wireless/ath/ath10k/htc.c 		status = ath10k_htc_pktlog_connect(ar);
ar                926 drivers/net/wireless/ath/ath10k/htc.c 			ath10k_err(ar, "failed to connect to pktlog: %d\n", status);
ar                935 drivers/net/wireless/ath/ath10k/htc.c int ath10k_htc_init(struct ath10k *ar)
ar                938 drivers/net/wireless/ath/ath10k/htc.c 	struct ath10k_htc *htc = &ar->htc;
ar                946 drivers/net/wireless/ath/ath10k/htc.c 	htc->ar = ar;
ar                959 drivers/net/wireless/ath/ath10k/htc.c 		ath10k_err(ar, "could not connect to htc service (%d)\n",
ar                291 drivers/net/wireless/ath/ath10k/htc.h 	void (*target_send_suspend_complete)(struct ath10k *ar);
ar                346 drivers/net/wireless/ath/ath10k/htc.h 	struct ath10k *ar;
ar                364 drivers/net/wireless/ath/ath10k/htc.h int ath10k_htc_init(struct ath10k *ar);
ar                372 drivers/net/wireless/ath/ath10k/htc.h struct sk_buff *ath10k_htc_alloc_skb(struct ath10k *ar, int size);
ar                373 drivers/net/wireless/ath/ath10k/htc.h void ath10k_htc_tx_completion_handler(struct ath10k *ar, struct sk_buff *skb);
ar                374 drivers/net/wireless/ath/ath10k/htc.h void ath10k_htc_rx_completion_handler(struct ath10k *ar, struct sk_buff *skb);
ar                148 drivers/net/wireless/ath/ath10k/htt.c 	status = ath10k_htc_connect_service(&htt->ar->htc, &conn_req,
ar                159 drivers/net/wireless/ath/ath10k/htt.c int ath10k_htt_init(struct ath10k *ar)
ar                161 drivers/net/wireless/ath/ath10k/htt.c 	struct ath10k_htt *htt = &ar->htt;
ar                163 drivers/net/wireless/ath/ath10k/htt.c 	htt->ar = ar;
ar                177 drivers/net/wireless/ath/ath10k/htt.c 	switch (ar->running_fw->fw_file.htt_op_version) {
ar                179 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types = htt_10_4_t2h_msg_types;
ar                180 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types_max = HTT_10_4_T2H_NUM_MSGS;
ar                183 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types = htt_10x_t2h_msg_types;
ar                184 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types_max = HTT_10X_T2H_NUM_MSGS;
ar                187 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types = htt_tlv_t2h_msg_types;
ar                188 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types_max = HTT_TLV_T2H_NUM_MSGS;
ar                191 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types = htt_main_t2h_msg_types;
ar                192 drivers/net/wireless/ath/ath10k/htt.c 		ar->htt.t2h_msg_types_max = HTT_MAIN_T2H_NUM_MSGS;
ar                209 drivers/net/wireless/ath/ath10k/htt.c 	struct ath10k *ar = htt->ar;
ar                211 drivers/net/wireless/ath/ath10k/htt.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "htt target version %d.%d\n",
ar                216 drivers/net/wireless/ath/ath10k/htt.c 		ath10k_err(ar, "unsupported htt major version %d. supported versions are 2 and 3\n",
ar                226 drivers/net/wireless/ath/ath10k/htt.c 	struct ath10k *ar = htt->ar;
ar                238 drivers/net/wireless/ath/ath10k/htt.c 		ath10k_warn(ar, "htt version request timed out\n");
ar                244 drivers/net/wireless/ath/ath10k/htt.c 		ath10k_warn(ar, "failed to verify htt version: %d\n",
ar                255 drivers/net/wireless/ath/ath10k/htt.c 		ath10k_warn(ar, "failed to setup rx ring: %d\n",
ar                264 drivers/net/wireless/ath/ath10k/htt.c 		ath10k_warn(ar, "failed to setup amsdu/ampdu limit: %d\n",
ar               1869 drivers/net/wireless/ath/ath10k/htt.h 	struct ath10k *ar;
ar               2244 drivers/net/wireless/ath/ath10k/htt.h int ath10k_htt_init(struct ath10k *ar);
ar               2253 drivers/net/wireless/ath/ath10k/htt.h int ath10k_htt_rx_ring_refill(struct ath10k *ar);
ar               2256 drivers/net/wireless/ath/ath10k/htt.h void ath10k_htt_htc_tx_complete(struct ath10k *ar, struct sk_buff *skb);
ar               2257 drivers/net/wireless/ath/ath10k/htt.h void ath10k_htt_htc_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb);
ar               2258 drivers/net/wireless/ath/ath10k/htt.h bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb);
ar               2262 drivers/net/wireless/ath/ath10k/htt.h void ath10k_htt_hif_tx_complete(struct ath10k *ar, struct sk_buff *skb);
ar               2263 drivers/net/wireless/ath/ath10k/htt.h int ath10k_htt_tx_fetch_resp(struct ath10k *ar,
ar               2273 drivers/net/wireless/ath/ath10k/htt.h void ath10k_htt_tx_txq_sync(struct ath10k *ar);
ar               2283 drivers/net/wireless/ath/ath10k/htt.h void ath10k_htt_rx_pktlog_completion_handler(struct ath10k *ar,
ar               2285 drivers/net/wireless/ath/ath10k/htt.h int ath10k_htt_txrx_compl_task(struct ath10k *ar, int budget);
ar                 27 drivers/net/wireless/ath/ath10k/htt_rx.c ath10k_htt_rx_find_skb_paddr(struct ath10k *ar, u64 paddr)
ar                 31 drivers/net/wireless/ath/ath10k/htt_rx.c 	hash_for_each_possible(ar->htt.rx_ring.skb_table, rxcb, hlist, paddr)
ar                 49 drivers/net/wireless/ath/ath10k/htt_rx.c 			dma_unmap_single(htt->ar->dev, rxcb->paddr,
ar                 62 drivers/net/wireless/ath/ath10k/htt_rx.c 			dma_unmap_single(htt->ar->dev, rxcb->paddr,
ar                161 drivers/net/wireless/ath/ath10k/htt_rx.c 		paddr = dma_map_single(htt->ar->dev, skb->data,
ar                165 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (unlikely(dma_mapping_error(htt->ar->dev, paddr))) {
ar                252 drivers/net/wireless/ath/ath10k/htt_rx.c int ath10k_htt_rx_ring_refill(struct ath10k *ar)
ar                254 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_htt *htt = &ar->htt;
ar                257 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar                274 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (htt->ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar                287 drivers/net/wireless/ath/ath10k/htt_rx.c 	dma_free_coherent(htt->ar->dev,
ar                292 drivers/net/wireless/ath/ath10k/htt_rx.c 	dma_free_coherent(htt->ar->dev,
ar                302 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                309 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "tried to pop sk_buff from an empty rx ring\n");
ar                323 drivers/net/wireless/ath/ath10k/htt_rx.c 	dma_unmap_single(htt->ar->dev,
ar                327 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt rx netbuf pop: ",
ar                337 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                409 drivers/net/wireless/ath/ath10k/htt_rx.c 		trace_ath10k_htt_rx_desc(ar, &rx_desc->attention,
ar                438 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                444 drivers/net/wireless/ath/ath10k/htt_rx.c 	msdu = ath10k_htt_rx_find_skb_paddr(ar, paddr);
ar                452 drivers/net/wireless/ath/ath10k/htt_rx.c 	dma_unmap_single(htt->ar->dev, rxcb->paddr,
ar                455 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt rx netbuf pop: ",
ar                474 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                484 drivers/net/wireless/ath/ath10k/htt_rx.c 	trace_ath10k_htt_rx_desc(ar, rxd, sizeof(*rxd));
ar                494 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "invalid amsdu len %u, left %d",
ar                505 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "failed to pop frag-1 paddr: 0x%x", paddr);
ar                520 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "failed to pop frag-n paddr: 0x%x",
ar                535 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "invalid amsdu len %u, left %d",
ar                550 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                560 drivers/net/wireless/ath/ath10k/htt_rx.c 	trace_ath10k_htt_rx_desc(ar, rxd, sizeof(*rxd));
ar                570 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "invalid amsdu len %u, left %d",
ar                581 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "failed to pop frag-1 paddr: 0x%llx", paddr);
ar                596 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "failed to pop frag-n paddr: 0x%llx",
ar                611 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "invalid amsdu len %u, left %d",
ar                625 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                647 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (!is_offload && ar->monitor_arvif) {
ar                664 drivers/net/wireless/ath/ath10k/htt_rx.c 			trace_ath10k_htt_rx_desc(ar, rxd, sizeof(*rxd));
ar                672 drivers/net/wireless/ath/ath10k/htt_rx.c 				ath10k_warn(htt->ar, "tried to pop an incomplete frame, oops!\n");
ar                687 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                708 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (!is_offload && ar->monitor_arvif) {
ar                725 drivers/net/wireless/ath/ath10k/htt_rx.c 			trace_ath10k_htt_rx_desc(ar, rxd, sizeof(*rxd));
ar                733 drivers/net/wireless/ath/ath10k/htt_rx.c 				ath10k_warn(htt->ar, "tried to pop an incomplete frame, oops!\n");
ar                746 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar                752 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar                762 drivers/net/wireless/ath/ath10k/htt_rx.c 	htt->rx_ring.fill_level = ar->hw_params.rx_ring_fill_level;
ar                765 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "htt rx ring size is not power of 2\n");
ar                777 drivers/net/wireless/ath/ath10k/htt_rx.c 	vaddr_ring = dma_alloc_coherent(htt->ar->dev, size, &paddr, GFP_KERNEL);
ar                784 drivers/net/wireless/ath/ath10k/htt_rx.c 	vaddr = dma_alloc_coherent(htt->ar->dev,
ar                809 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "htt rx ring size %d fill_level %d\n",
ar                814 drivers/net/wireless/ath/ath10k/htt_rx.c 	dma_free_coherent(htt->ar->dev,
ar                824 drivers/net/wireless/ath/ath10k/htt_rx.c static int ath10k_htt_rx_crypto_param_len(struct ath10k *ar,
ar                848 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_warn(ar, "unsupported encryption type %d\n", type);
ar                854 drivers/net/wireless/ath/ath10k/htt_rx.c static int ath10k_htt_rx_crypto_mic_len(struct ath10k *ar,
ar                876 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_warn(ar, "unsupported encryption type %d\n", type);
ar                880 drivers/net/wireless/ath/ath10k/htt_rx.c static int ath10k_htt_rx_crypto_icv_len(struct ath10k *ar,
ar                901 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_warn(ar, "unsupported encryption type %d\n", type);
ar                935 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_rates(struct ath10k *ar,
ar                963 drivers/net/wireless/ath/ath10k/htt_rx.c 		sband = &ar->mac.sbands[status->band];
ar               1009 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "invalid MCS received %u\n", mcs);
ar               1010 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "rxd %08x mpdu start %08x %08x msdu start %08x %08x ppdu start %08x %08x %08x %08x %08x\n",
ar               1022 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "msdu end %08x mpdu end %08x\n",
ar               1026 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL,
ar               1046 drivers/net/wireless/ath/ath10k/htt_rx.c ath10k_htt_rx_h_peer_channel(struct ath10k *ar, struct htt_rx_desc *rxd)
ar               1053 drivers/net/wireless/ath/ath10k/htt_rx.c 	lockdep_assert_held(&ar->data_lock);
ar               1069 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               1073 drivers/net/wireless/ath/ath10k/htt_rx.c 	arvif = ath10k_get_arvif(ar, peer->vdev_id);
ar               1084 drivers/net/wireless/ath/ath10k/htt_rx.c ath10k_htt_rx_h_vdev_channel(struct ath10k *ar, u32 vdev_id)
ar               1089 drivers/net/wireless/ath/ath10k/htt_rx.c 	lockdep_assert_held(&ar->data_lock);
ar               1091 drivers/net/wireless/ath/ath10k/htt_rx.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar               1111 drivers/net/wireless/ath/ath10k/htt_rx.c ath10k_htt_rx_h_any_channel(struct ath10k *ar)
ar               1115 drivers/net/wireless/ath/ath10k/htt_rx.c 	ieee80211_iter_chan_contexts_atomic(ar->hw,
ar               1122 drivers/net/wireless/ath/ath10k/htt_rx.c static bool ath10k_htt_rx_h_channel(struct ath10k *ar,
ar               1129 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               1130 drivers/net/wireless/ath/ath10k/htt_rx.c 	ch = ar->scan_channel;
ar               1132 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ar->rx_channel;
ar               1134 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ath10k_htt_rx_h_peer_channel(ar, rxd);
ar               1136 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ath10k_htt_rx_h_vdev_channel(ar, vdev_id);
ar               1138 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ath10k_htt_rx_h_any_channel(ar);
ar               1140 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ar->tgt_oper_chan;
ar               1141 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               1152 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_signal(struct ath10k *ar,
ar               1175 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_mactime(struct ath10k *ar,
ar               1189 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_ppdu(struct ath10k *ar,
ar               1223 drivers/net/wireless/ath/ath10k/htt_rx.c 		status->ampdu_reference = ar->ampdu_reference;
ar               1225 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_signal(ar, status, rxd);
ar               1226 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_channel(ar, status, rxd, vdev_id);
ar               1227 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_rates(ar, status, rxd);
ar               1231 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_mactime(ar, status, rxd);
ar               1235 drivers/net/wireless/ath/ath10k/htt_rx.c 		ar->ampdu_reference++;
ar               1268 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_queue_msdu(struct ath10k *ar,
ar               1277 drivers/net/wireless/ath/ath10k/htt_rx.c 	skb_queue_tail(&ar->htt.rx_msdus_q, skb);
ar               1280 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_process_rx(struct ath10k *ar, struct sk_buff *skb)
ar               1288 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_DATA,
ar               1311 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "rx skb: ",
ar               1313 drivers/net/wireless/ath/ath10k/htt_rx.c 	trace_ath10k_rx_hdr(ar, skb->data, skb->len);
ar               1314 drivers/net/wireless/ath/ath10k/htt_rx.c 	trace_ath10k_rx_payload(ar, skb->data, skb->len);
ar               1316 drivers/net/wireless/ath/ath10k/htt_rx.c 	ieee80211_rx_napi(ar->hw, NULL, skb, &ar->napi);
ar               1319 drivers/net/wireless/ath/ath10k/htt_rx.c static int ath10k_htt_rx_nwifi_hdrlen(struct ath10k *ar,
ar               1325 drivers/net/wireless/ath/ath10k/htt_rx.c 		      ar->running_fw->fw_file.fw_features))
ar               1331 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_undecap_raw(struct ath10k *ar,
ar               1345 drivers/net/wireless/ath/ath10k/htt_rx.c 	int bytes_aligned = ar->hw_params.decap_align_bytes;
ar               1369 drivers/net/wireless/ath/ath10k/htt_rx.c 	msdu_limit_err = ath10k_rx_desc_msdu_limit_error(&ar->hw_params, rxd);
ar               1388 drivers/net/wireless/ath/ath10k/htt_rx.c 		crypto_len = ath10k_htt_rx_crypto_param_len(ar, enctype);
ar               1422 drivers/net/wireless/ath/ath10k/htt_rx.c 			 ath10k_htt_rx_crypto_mic_len(ar, enctype));
ar               1425 drivers/net/wireless/ath/ath10k/htt_rx.c 			 ath10k_htt_rx_crypto_icv_len(ar, enctype));
ar               1430 drivers/net/wireless/ath/ath10k/htt_rx.c 				 ath10k_htt_rx_crypto_mic_len(ar, enctype));
ar               1435 drivers/net/wireless/ath/ath10k/htt_rx.c 				 ath10k_htt_rx_crypto_icv_len(ar, enctype));
ar               1447 drivers/net/wireless/ath/ath10k/htt_rx.c 		crypto_len = ath10k_htt_rx_crypto_param_len(ar, enctype);
ar               1455 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_undecap_nwifi(struct ath10k *ar,
ar               1467 drivers/net/wireless/ath/ath10k/htt_rx.c 	int bytes_aligned = ar->hw_params.decap_align_bytes;
ar               1483 drivers/net/wireless/ath/ath10k/htt_rx.c 	l3_pad_bytes = ath10k_rx_desc_get_l3_pad_bytes(&ar->hw_params, rxd);
ar               1488 drivers/net/wireless/ath/ath10k/htt_rx.c 	hdr_len = ath10k_htt_rx_nwifi_hdrlen(ar, hdr);
ar               1499 drivers/net/wireless/ath/ath10k/htt_rx.c 				ath10k_htt_rx_crypto_param_len(ar, enctype)),
ar               1501 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_crypto_param_len(ar, enctype));
ar               1514 drivers/net/wireless/ath/ath10k/htt_rx.c static void *ath10k_htt_rx_h_find_rfc1042(struct ath10k *ar,
ar               1523 drivers/net/wireless/ath/ath10k/htt_rx.c 	int bytes_aligned = ar->hw_params.decap_align_bytes;
ar               1538 drivers/net/wireless/ath/ath10k/htt_rx.c 		crypto_len = ath10k_htt_rx_crypto_param_len(ar, enctype);
ar               1550 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_undecap_eth(struct ath10k *ar,
ar               1564 drivers/net/wireless/ath/ath10k/htt_rx.c 	int bytes_aligned = ar->hw_params.decap_align_bytes;
ar               1571 drivers/net/wireless/ath/ath10k/htt_rx.c 	rfc1042 = ath10k_htt_rx_h_find_rfc1042(ar, msdu, enctype);
ar               1576 drivers/net/wireless/ath/ath10k/htt_rx.c 	l3_pad_bytes = ath10k_rx_desc_get_l3_pad_bytes(&ar->hw_params, rxd);
ar               1596 drivers/net/wireless/ath/ath10k/htt_rx.c 				ath10k_htt_rx_crypto_param_len(ar, enctype)),
ar               1598 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_crypto_param_len(ar, enctype));
ar               1611 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_undecap_snap(struct ath10k *ar,
ar               1621 drivers/net/wireless/ath/ath10k/htt_rx.c 	int bytes_aligned = ar->hw_params.decap_align_bytes;
ar               1630 drivers/net/wireless/ath/ath10k/htt_rx.c 	l3_pad_bytes = ath10k_rx_desc_get_l3_pad_bytes(&ar->hw_params, rxd);
ar               1640 drivers/net/wireless/ath/ath10k/htt_rx.c 				ath10k_htt_rx_crypto_param_len(ar, enctype)),
ar               1642 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_crypto_param_len(ar, enctype));
ar               1648 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_undecap(struct ath10k *ar,
ar               1675 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_undecap_raw(ar, msdu, status, enctype,
ar               1679 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_undecap_nwifi(ar, msdu, status, first_hdr,
ar               1683 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_undecap_eth(ar, msdu, status, first_hdr, enctype);
ar               1686 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_undecap_snap(ar, msdu, status, first_hdr,
ar               1728 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_mpdu(struct ath10k *ar,
ar               1849 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_undecap(ar, msdu, status, first_hdr, enctype,
ar               1869 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_enqueue(struct ath10k *ar,
ar               1892 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_queue_msdu(ar, status, msdu);
ar               1944 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_unchain(struct ath10k *ar,
ar               1973 drivers/net/wireless/ath/ath10k/htt_rx.c static bool ath10k_htt_rx_amsdu_allowed(struct ath10k *ar,
ar               1982 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT, "no channel configured; ignoring frame(s)!\n");
ar               1986 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags)) {
ar               1987 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx cac running\n");
ar               1994 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_filter(struct ath10k *ar,
ar               2002 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ath10k_htt_rx_amsdu_allowed(ar, amsdu, rx_status))
ar               2013 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar               2035 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "rx ring became corrupted: %d\n", ret);
ar               2046 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_rx_h_ppdu(ar, &amsdu, rx_status, 0xffff);
ar               2050 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_unchain(ar, &amsdu, &drop_cnt, &unchain_cnt);
ar               2052 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_rx_h_filter(ar, &amsdu, rx_status, &drop_cnt_filter);
ar               2053 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_rx_h_mpdu(ar, &amsdu, rx_status, true, first_hdr, &err);
ar               2055 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_rx_h_enqueue(ar, &amsdu, rx_status);
ar               2057 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_sta_update_rx_tid_stats(ar, first_hdr, num_msdus, err,
ar               2086 drivers/net/wireless/ath/ath10k/htt_rx.c static bool ath10k_htt_rx_pn_check_replay_hl(struct ath10k *ar,
ar               2099 drivers/net/wireless/ath/ath10k/htt_rx.c 	lockdep_assert_held(&ar->data_lock);
ar               2150 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar               2171 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               2172 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               2173 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               2175 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "Got RX ind from invalid peer: %u\n", peer_id);
ar               2191 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar,
ar               2199 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "MPDU range status: %d\n",
ar               2218 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_lock_bh(&ar->data_lock);
ar               2219 drivers/net/wireless/ath/ath10k/htt_rx.c 		pn_invalid = ath10k_htt_rx_pn_check_replay_hl(ar, peer, rx);
ar               2220 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2250 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               2251 drivers/net/wireless/ath/ath10k/htt_rx.c 	ch = ar->scan_channel;
ar               2253 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ar->rx_channel;
ar               2255 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ath10k_htt_rx_h_any_channel(ar);
ar               2257 drivers/net/wireless/ath/ath10k/htt_rx.c 		ch = ar->tgt_oper_chan;
ar               2258 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               2353 drivers/net/wireless/ath/ath10k/htt_rx.c 	ieee80211_rx_ni(ar->hw, skb);
ar               2442 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar               2465 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               2466 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               2468 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT, "invalid peer: %u\n", peer_id);
ar               2487 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2551 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2560 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (ath10k_htt_rx_pn_check_replay_hl(ar, peer, &resp->rx_ind_hl))
ar               2577 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               2583 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               2594 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar               2608 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt rx ind: ",
ar               2616 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_sta_update_rx_tid_stats_ampdu(ar, peer_id, tid, mpdu_ranges,
ar               2620 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_tx_compl_ind(struct ath10k *ar,
ar               2623 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_htt *htt = &ar->htt;
ar               2649 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "unhandled tx completion status %d\n", status);
ar               2654 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx completion num_msdus %d\n",
ar               2659 drivers/net/wireless/ath/ath10k/htt_rx.c 	rssi_enabled = ath10k_is_rssi_enable(&ar->hw_params, resp);
ar               2662 drivers/net/wireless/ath/ath10k/htt_rx.c 		htt_pad = ath10k_tx_data_rssi_get_pad_bytes(&ar->hw_params,
ar               2691 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL) {
ar               2694 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "txdone fifo overrun, msdu_id %d status %d\n",
ar               2726 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_lock_bh(&ar->data_lock);
ar               2728 drivers/net/wireless/ath/ath10k/htt_rx.c 		peer = ath10k_peer_find_by_id(ar, peer_id);
ar               2730 drivers/net/wireless/ath/ath10k/htt_rx.c 			spin_unlock_bh(&ar->data_lock);
ar               2740 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2745 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_addba(struct ath10k *ar, struct htt_resp *resp)
ar               2756 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               2760 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               2761 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               2763 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received addba event for invalid peer_id: %hu\n",
ar               2765 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2769 drivers/net/wireless/ath/ath10k/htt_rx.c 	arvif = ath10k_get_arvif(ar, peer->vdev_id);
ar               2771 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received addba event for invalid vdev_id: %u\n",
ar               2773 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2777 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               2782 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               2785 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_delba(struct ath10k *ar, struct htt_resp *resp)
ar               2796 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               2800 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               2801 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               2803 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received addba event for invalid peer_id: %hu\n",
ar               2805 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2809 drivers/net/wireless/ath/ath10k/htt_rx.c 	arvif = ath10k_get_arvif(ar, peer->vdev_id);
ar               2811 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received addba event for invalid vdev_id: %u\n",
ar               2813 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               2817 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               2822 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               2876 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_h_rx_offload(struct ath10k *ar,
ar               2879 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_htt *htt = &ar->htt;
ar               2896 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "dropping frame: offloaded rx msdu is too long!\n");
ar               2921 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_channel(ar, status, NULL, rx->vdev_id);
ar               2922 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_queue_msdu(ar, status, msdu);
ar               2926 drivers/net/wireless/ath/ath10k/htt_rx.c static int ath10k_htt_rx_in_ord_ind(struct ath10k *ar, struct sk_buff *skb)
ar               2928 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_htt *htt = &ar->htt;
ar               2957 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               2962 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "dropping invalid in order rx indication\n");
ar               2970 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ar->hw_params.target_64bit)
ar               2978 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "failed to pop paddr list: %d\n", ret);
ar               2987 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_h_rx_offload(ar, &list);
ar               3000 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_h_ppdu(ar, &amsdu, status, vdev_id);
ar               3001 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_h_filter(ar, &amsdu, status, NULL);
ar               3002 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_h_mpdu(ar, &amsdu, status, false, NULL,
ar               3004 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_htt_rx_h_enqueue(ar, &amsdu, status);
ar               3010 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "failed to extract amsdu: %d\n", ret);
ar               3019 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_tx_fetch_resp_id_confirm(struct ath10k *ar,
ar               3026 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx fetch confirm num_resp_ids %d\n",
ar               3032 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx fetch confirm resp_id %u\n",
ar               3039 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_tx_fetch_ind(struct ath10k *ar, struct sk_buff *skb)
ar               3041 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ieee80211_hw *hw = ar->hw;
ar               3059 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx fetch ind\n");
ar               3063 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received corrupted tx_fetch_ind event: buffer too short\n");
ar               3074 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received corrupted tx_fetch_ind event: too many records/resp_ids\n");
ar               3078 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx fetch ind num records %hu num resps %hu seq %hu\n",
ar               3082 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (!ar->htt.tx_q_state.enabled) {
ar               3083 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received unexpected tx_fetch_ind event: not enabled\n");
ar               3087 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ar->htt.tx_q_state.mode == HTT_TX_MODE_SWITCH_PUSH) {
ar               3088 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received unexpected tx_fetch_ind event: in push mode\n");
ar               3103 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx fetch record %i peer_id %hu tid %hhu msdus %zu bytes %zu\n",
ar               3106 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (unlikely(peer_id >= ar->htt.tx_q_state.num_peers) ||
ar               3107 drivers/net/wireless/ath/ath10k/htt_rx.c 		    unlikely(tid >= ar->htt.tx_q_state.num_tids)) {
ar               3108 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "received out of range peer_id %hu tid %hhu\n",
ar               3113 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_lock_bh(&ar->data_lock);
ar               3114 drivers/net/wireless/ath/ath10k/htt_rx.c 		txq = ath10k_mac_txq_lookup(ar, peer_id, tid);
ar               3115 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               3122 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "failed to lookup txq for peer_id %hu tid %hhu\n",
ar               3156 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_rx_tx_fetch_resp_id_confirm(ar, resp_ids, num_resp_ids);
ar               3158 drivers/net/wireless/ath/ath10k/htt_rx.c 	ret = ath10k_htt_tx_fetch_resp(ar,
ar               3164 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "failed to submit tx fetch resp for token 0x%08x: %d\n",
ar               3169 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_tx_txq_sync(ar);
ar               3172 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_tx_fetch_confirm(struct ath10k *ar,
ar               3179 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx fetch confirm\n");
ar               3183 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received corrupted tx_fetch_confirm event: buffer too short\n");
ar               3191 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received corrupted tx_fetch_confirm event: resp_ids buffer overflow\n");
ar               3195 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_htt_rx_tx_fetch_resp_id_confirm(ar,
ar               3200 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_tx_mode_switch_ind(struct ath10k *ar,
ar               3218 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx tx mode switch ind\n");
ar               3222 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received corrupted tx_mode_switch_ind event: buffer too short\n");
ar               3234 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               3241 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received corrupted tx_mode_switch_mode_ind event: too many records\n");
ar               3250 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received invalid tx_mode_switch_mode_ind mode %d, ignoring\n",
ar               3258 drivers/net/wireless/ath/ath10k/htt_rx.c 	ar->htt.tx_q_state.enabled = enable;
ar               3259 drivers/net/wireless/ath/ath10k/htt_rx.c 	ar->htt.tx_q_state.mode = mode;
ar               3260 drivers/net/wireless/ath/ath10k/htt_rx.c 	ar->htt.tx_q_state.num_push_allowed = threshold;
ar               3270 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (unlikely(peer_id >= ar->htt.tx_q_state.num_peers) ||
ar               3271 drivers/net/wireless/ath/ath10k/htt_rx.c 		    unlikely(tid >= ar->htt.tx_q_state.num_tids)) {
ar               3272 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "received out of range peer_id %hu tid %hhu\n",
ar               3277 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_lock_bh(&ar->data_lock);
ar               3278 drivers/net/wireless/ath/ath10k/htt_rx.c 		txq = ath10k_mac_txq_lookup(ar, peer_id, tid);
ar               3279 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->data_lock);
ar               3286 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "failed to lookup txq for peer_id %hu tid %hhu\n",
ar               3291 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_lock_bh(&ar->htt.tx_lock);
ar               3294 drivers/net/wireless/ath/ath10k/htt_rx.c 		spin_unlock_bh(&ar->htt.tx_lock);
ar               3299 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_mac_tx_push_pending(ar);
ar               3302 drivers/net/wireless/ath/ath10k/htt_rx.c void ath10k_htt_htc_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb)
ar               3306 drivers/net/wireless/ath/ath10k/htt_rx.c 	release = ath10k_htt_t2h_msg_handler(ar, skb);
ar               3313 drivers/net/wireless/ath/ath10k/htt_rx.c static inline s8 ath10k_get_legacy_rate_idx(struct ath10k *ar, u8 rate)
ar               3324 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_warn(ar, "Invalid legacy rate %hhd peer stats", rate);
ar               3329 drivers/net/wireless/ath/ath10k/htt_rx.c ath10k_accumulate_per_peer_tx_stats(struct ath10k *ar,
ar               3451 drivers/net/wireless/ath/ath10k/htt_rx.c ath10k_update_per_peer_tx_stats(struct ath10k *ar,
ar               3462 drivers/net/wireless/ath/ath10k/htt_rx.c 	lockdep_assert_held(&ar->data_lock);
ar               3478 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "Invalid VHT mcs %hhd peer stats",  txrate.mcs);
ar               3484 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "Invalid HT mcs %hhd nss %hhd peer stats",
ar               3497 drivers/net/wireless/ath/ath10k/htt_rx.c 		rate_idx = ath10k_get_legacy_rate_idx(ar, rate);
ar               3561 drivers/net/wireless/ath/ath10k/htt_rx.c 		ieee80211_tx_rate_update(ar->hw, sta, &arsta->tx_info);
ar               3564 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ath10k_debug_is_extd_tx_stats_enabled(ar))
ar               3565 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats,
ar               3569 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_fetch_peer_stats(struct ath10k *ar,
ar               3573 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_per_peer_tx_stats *p_tx_stats = &ar->peer_tx_stats;
ar               3584 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "Invalid peer stats buf length %d\n", skb->len);
ar               3593 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               3594 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               3596 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "Invalid peer id %d peer stats buffer\n",
ar               3617 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_update_per_peer_tx_stats(ar, sta, p_tx_stats);
ar               3621 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               3625 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_fetch_10_2_tx_stats(struct ath10k *ar, u8 *data)
ar               3628 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_per_peer_tx_stats *p_tx_stats = &ar->peer_tx_stats;
ar               3647 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               3648 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, peer_id);
ar               3650 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n",
ar               3669 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_update_per_peer_tx_stats(ar, sta, p_tx_stats);
ar               3671 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               3677 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               3693 drivers/net/wireless/ath/ath10k/htt_rx.c static void ath10k_htt_rx_sec_ind_handler(struct ath10k *ar,
ar               3700 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_lock_bh(&ar->data_lock);
ar               3702 drivers/net/wireless/ath/ath10k/htt_rx.c 	peer = ath10k_peer_find_by_id(ar, __le16_to_cpu(ev->peer_id));
ar               3704 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "failed to find peer id %d for security indication",
ar               3723 drivers/net/wireless/ath/ath10k/htt_rx.c 	spin_unlock_bh(&ar->data_lock);
ar               3726 drivers/net/wireless/ath/ath10k/htt_rx.c bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb)
ar               3728 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_htt *htt = &ar->htt;
ar               3734 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "unaligned htt message, expect trouble\n");
ar               3736 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx, msg_type: 0x%0X\n",
ar               3739 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (resp->hdr.msg_type >= ar->htt.t2h_msg_types_max) {
ar               3740 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT, "htt rx, unsupported msg_type: 0x%0X\n max: 0x%0X",
ar               3741 drivers/net/wireless/ath/ath10k/htt_rx.c 			   resp->hdr.msg_type, ar->htt.t2h_msg_types_max);
ar               3744 drivers/net/wireless/ath/ath10k/htt_rx.c 	type = ar->htt.t2h_msg_types[resp->hdr.msg_type];
ar               3754 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar               3790 drivers/net/wireless/ath/ath10k/htt_rx.c 				     ar->wmi.svc_map) &&
ar               3815 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_tx_compl_ind(htt->ar, skb);
ar               3818 drivers/net/wireless/ath/ath10k/htt_rx.c 		struct ath10k *ar = htt->ar;
ar               3821 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_sec_ind_handler(ar, ev);
ar               3822 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               3827 drivers/net/wireless/ath/ath10k/htt_rx.c 		complete(&ar->install_key_done);
ar               3831 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt event: ",
ar               3843 drivers/net/wireless/ath/ath10k/htt_rx.c 		trace_ath10k_htt_stats(ar, skb->data, skb->len);
ar               3851 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "received an unexpected htt tx inspect event\n");
ar               3854 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_addba(ar, resp);
ar               3857 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_delba(ar, resp);
ar               3860 drivers/net/wireless/ath/ath10k/htt_rx.c 		trace_ath10k_htt_pktlog(ar, resp->pktlog_msg.payload,
ar               3865 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (ath10k_peer_stats_enabled(ar))
ar               3866 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_fetch_10_2_tx_stats(ar,
ar               3886 drivers/net/wireless/ath/ath10k/htt_rx.c 		ar->tgt_oper_chan = ieee80211_get_channel(ar->hw->wiphy, freq);
ar               3887 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               3898 drivers/net/wireless/ath/ath10k/htt_rx.c 			ath10k_warn(ar, "failed to copy htt tx fetch ind\n");
ar               3905 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_tx_fetch_confirm(ar, skb);
ar               3908 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_tx_mode_switch_ind(ar, skb);
ar               3911 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_fetch_peer_stats(ar, skb);
ar               3915 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_warn(ar, "htt event (%d) not handled\n",
ar               3917 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt event: ",
ar               3925 drivers/net/wireless/ath/ath10k/htt_rx.c void ath10k_htt_rx_pktlog_completion_handler(struct ath10k *ar,
ar               3928 drivers/net/wireless/ath/ath10k/htt_rx.c 	trace_ath10k_htt_pktlog(ar, skb->data, skb->len);
ar               3933 drivers/net/wireless/ath/ath10k/htt_rx.c static int ath10k_htt_rx_deliver_msdu(struct ath10k *ar, int quota, int budget)
ar               3938 drivers/net/wireless/ath/ath10k/htt_rx.c 		if (skb_queue_empty(&ar->htt.rx_msdus_q))
ar               3941 drivers/net/wireless/ath/ath10k/htt_rx.c 		skb = skb_dequeue(&ar->htt.rx_msdus_q);
ar               3944 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_process_rx(ar, skb);
ar               3951 drivers/net/wireless/ath/ath10k/htt_rx.c int ath10k_htt_txrx_compl_task(struct ath10k *ar, int budget)
ar               3953 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k_htt *htt = &ar->htt;
ar               3966 drivers/net/wireless/ath/ath10k/htt_rx.c 	quota = ath10k_htt_rx_deliver_msdu(ar, quota, budget);
ar               3974 drivers/net/wireless/ath/ath10k/htt_rx.c 		ret = ath10k_htt_rx_in_ord_ind(ar, skb);
ar               3994 drivers/net/wireless/ath/ath10k/htt_rx.c 	quota = ath10k_htt_rx_deliver_msdu(ar, quota, budget);
ar               4012 drivers/net/wireless/ath/ath10k/htt_rx.c 	ath10k_mac_tx_push_pending(ar);
ar               4019 drivers/net/wireless/ath/ath10k/htt_rx.c 		ath10k_htt_rx_tx_fetch_ind(ar, skb);
ar               4056 drivers/net/wireless/ath/ath10k/htt_rx.c 	struct ath10k *ar = htt->ar;
ar               4058 drivers/net/wireless/ath/ath10k/htt_rx.c 	if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar               4060 drivers/net/wireless/ath/ath10k/htt_rx.c 	else if (ar->hw_params.target_64bit)
ar                 40 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = hw->priv;
ar                 51 drivers/net/wireless/ath/ath10k/htt_tx.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar                 53 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!ar->htt.tx_q_state.enabled)
ar                 56 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ar->htt.tx_q_state.mode != HTT_TX_MODE_SWITCH_PUSH_PULL)
ar                 73 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (unlikely(peer_id >= ar->htt.tx_q_state.num_peers) ||
ar                 74 drivers/net/wireless/ath/ath10k/htt_tx.c 	    unlikely(tid >= ar->htt.tx_q_state.num_tids)) {
ar                 75 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "refusing to update txq for peer_id %hu tid %hhu due to out of bounds\n",
ar                 80 drivers/net/wireless/ath/ath10k/htt_tx.c 	ar->htt.tx_q_state.vaddr->count[tid][peer_id] = count;
ar                 81 drivers/net/wireless/ath/ath10k/htt_tx.c 	ar->htt.tx_q_state.vaddr->map[tid][idx] &= ~bit;
ar                 82 drivers/net/wireless/ath/ath10k/htt_tx.c 	ar->htt.tx_q_state.vaddr->map[tid][idx] |= count ? bit : 0;
ar                 84 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx txq state update peer_id %hu tid %hhu count %hhu\n",
ar                 88 drivers/net/wireless/ath/ath10k/htt_tx.c static void __ath10k_htt_tx_txq_sync(struct ath10k *ar)
ar                 93 drivers/net/wireless/ath/ath10k/htt_tx.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar                 95 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!ar->htt.tx_q_state.enabled)
ar                 98 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ar->htt.tx_q_state.mode != HTT_TX_MODE_SWITCH_PUSH_PULL)
ar                101 drivers/net/wireless/ath/ath10k/htt_tx.c 	seq = le32_to_cpu(ar->htt.tx_q_state.vaddr->seq);
ar                103 drivers/net/wireless/ath/ath10k/htt_tx.c 	ar->htt.tx_q_state.vaddr->seq = cpu_to_le32(seq);
ar                105 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx txq state update commit seq %u\n",
ar                108 drivers/net/wireless/ath/ath10k/htt_tx.c 	size = sizeof(*ar->htt.tx_q_state.vaddr);
ar                109 drivers/net/wireless/ath/ath10k/htt_tx.c 	dma_sync_single_for_device(ar->dev,
ar                110 drivers/net/wireless/ath/ath10k/htt_tx.c 				   ar->htt.tx_q_state.paddr,
ar                118 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = hw->priv;
ar                120 drivers/net/wireless/ath/ath10k/htt_tx.c 	spin_lock_bh(&ar->htt.tx_lock);
ar                122 drivers/net/wireless/ath/ath10k/htt_tx.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar                125 drivers/net/wireless/ath/ath10k/htt_tx.c void ath10k_htt_tx_txq_sync(struct ath10k *ar)
ar                127 drivers/net/wireless/ath/ath10k/htt_tx.c 	spin_lock_bh(&ar->htt.tx_lock);
ar                128 drivers/net/wireless/ath/ath10k/htt_tx.c 	__ath10k_htt_tx_txq_sync(ar);
ar                129 drivers/net/wireless/ath/ath10k/htt_tx.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar                135 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = hw->priv;
ar                137 drivers/net/wireless/ath/ath10k/htt_tx.c 	spin_lock_bh(&ar->htt.tx_lock);
ar                139 drivers/net/wireless/ath/ath10k/htt_tx.c 	__ath10k_htt_tx_txq_sync(ar);
ar                140 drivers/net/wireless/ath/ath10k/htt_tx.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar                149 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_mac_tx_unlock(htt->ar, ATH10K_TX_PAUSE_Q_FULL);
ar                161 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_mac_tx_lock(htt->ar, ATH10K_TX_PAUSE_Q_FULL);
ar                169 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                173 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!is_mgmt || !ar->hw_params.max_probe_resp_desc_thres)
ar                177 drivers/net/wireless/ath/ath10k/htt_tx.c 	    ar->hw_params.max_probe_resp_desc_thres < htt->num_pending_mgmt_tx)
ar                189 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!htt->ar->hw_params.max_probe_resp_desc_thres)
ar                197 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                205 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx alloc msdu_id %d\n", ret);
ar                212 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                216 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx free msdu_id %hu\n", msdu_id);
ar                223 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                230 drivers/net/wireless/ath/ath10k/htt_tx.c 	dma_free_coherent(ar->dev, size, htt->txbuf.vaddr_txbuff_32,
ar                237 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                243 drivers/net/wireless/ath/ath10k/htt_tx.c 	htt->txbuf.vaddr_txbuff_32 = dma_alloc_coherent(ar->dev, size,
ar                256 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                263 drivers/net/wireless/ath/ath10k/htt_tx.c 	dma_free_coherent(ar->dev, size, htt->txbuf.vaddr_txbuff_64,
ar                270 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                276 drivers/net/wireless/ath/ath10k/htt_tx.c 	htt->txbuf.vaddr_txbuff_64 = dma_alloc_coherent(ar->dev, size,
ar                297 drivers/net/wireless/ath/ath10k/htt_tx.c 	dma_free_coherent(htt->ar->dev,
ar                307 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                310 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!ar->hw_params.continuous_frag_desc)
ar                315 drivers/net/wireless/ath/ath10k/htt_tx.c 	htt->frag_desc.vaddr_desc_32 = dma_alloc_coherent(ar->dev, size,
ar                319 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_err(ar, "failed to alloc fragment desc memory\n");
ar                337 drivers/net/wireless/ath/ath10k/htt_tx.c 	dma_free_coherent(htt->ar->dev,
ar                347 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                350 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!ar->hw_params.continuous_frag_desc)
ar                356 drivers/net/wireless/ath/ath10k/htt_tx.c 	htt->frag_desc.vaddr_desc_64 = dma_alloc_coherent(ar->dev, size,
ar                360 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_err(ar, "failed to alloc fragment desc memory\n");
ar                370 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                374 drivers/net/wireless/ath/ath10k/htt_tx.c 		      ar->running_fw->fw_file.fw_features))
ar                379 drivers/net/wireless/ath/ath10k/htt_tx.c 	dma_unmap_single(ar->dev, htt->tx_q_state.paddr, size, DMA_TO_DEVICE);
ar                385 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                390 drivers/net/wireless/ath/ath10k/htt_tx.c 		      ar->running_fw->fw_file.fw_features))
ar                402 drivers/net/wireless/ath/ath10k/htt_tx.c 	htt->tx_q_state.paddr = dma_map_single(ar->dev, htt->tx_q_state.vaddr,
ar                404 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = dma_mapping_error(ar->dev, htt->tx_q_state.paddr);
ar                406 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "failed to dma map tx_q_state: %d\n", ret);
ar                432 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                437 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_err(ar, "failed to alloc cont tx buffer: %d\n", ret);
ar                443 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_err(ar, "failed to alloc cont frag desc: %d\n", ret);
ar                449 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_err(ar, "failed to alloc txq: %d\n", ret);
ar                455 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_err(ar, "failed to alloc txdone fifo: %d\n", ret);
ar                475 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                478 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "htt tx max num pending tx %d\n",
ar                487 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar                506 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = ctx;
ar                507 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k_htt *htt = &ar->htt;
ar                510 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "force cleanup msdu_id %hu\n", msdu_id);
ar                534 drivers/net/wireless/ath/ath10k/htt_tx.c 	idr_for_each(&htt->pending_tx, ath10k_htt_tx_clean_up_pending, htt->ar);
ar                544 drivers/net/wireless/ath/ath10k/htt_tx.c void ath10k_htt_htc_tx_complete(struct ath10k *ar, struct sk_buff *skb)
ar                549 drivers/net/wireless/ath/ath10k/htt_tx.c void ath10k_htt_hif_tx_complete(struct ath10k *ar, struct sk_buff *skb)
ar                557 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                566 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar                574 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                586 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                595 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar                616 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                618 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "failed to send htt type stats request: %d",
ar                629 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                636 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!ar->hw_params.continuous_frag_desc)
ar                640 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "invalid frag desc memory\n");
ar                645 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, size);
ar                658 drivers/net/wireless/ath/ath10k/htt_tx.c 		     ar->running_fw->fw_file.fw_features))
ar                676 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt frag desc bank cmd\n");
ar                678 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                680 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "failed to send frag desc bank cfg request: %d\n",
ar                691 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                698 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (!ar->hw_params.continuous_frag_desc)
ar                702 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "invalid frag desc memory\n");
ar                707 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, size);
ar                720 drivers/net/wireless/ath/ath10k/htt_tx.c 		     ar->running_fw->fw_file.fw_features))
ar                738 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt frag desc bank cmd\n");
ar                740 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                742 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "failed to send frag desc bank cfg request: %d\n",
ar                791 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                810 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar                852 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                863 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                881 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar                921 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                932 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar                950 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar                972 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar                985 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1003 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar               1015 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt h2t aggr cfg msg amsdu %d ampdu %d",
ar               1019 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar               1032 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1050 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar               1062 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt h2t aggr cfg msg amsdu %d ampdu %d",
ar               1066 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb);
ar               1075 drivers/net/wireless/ath/ath10k/htt_tx.c int ath10k_htt_tx_fetch_resp(struct ath10k *ar,
ar               1095 drivers/net/wireless/ath/ath10k/htt_tx.c 	skb = ath10k_htc_alloc_skb(ar, len);
ar               1110 drivers/net/wireless/ath/ath10k/htt_tx.c 	ret = ath10k_htc_send(&ar->htc, ar->htt.eid, skb);
ar               1112 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_warn(ar, "failed to submit htc command: %d\n", ret);
ar               1124 drivers/net/wireless/ath/ath10k/htt_tx.c static u8 ath10k_htt_tx_get_vdev_id(struct ath10k *ar, struct sk_buff *skb)
ar               1131 drivers/net/wireless/ath/ath10k/htt_tx.c 		return ar->scan.vdev_id;
ar               1135 drivers/net/wireless/ath/ath10k/htt_tx.c 	} else if (ar->monitor_started) {
ar               1136 drivers/net/wireless/ath/ath10k/htt_tx.c 		return ar->monitor_vdev_id;
ar               1157 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1158 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct device *dev = ar->dev;
ar               1162 drivers/net/wireless/ath/ath10k/htt_tx.c 	u8 vdev_id = ath10k_htt_tx_get_vdev_id(ar, msdu);
ar               1184 drivers/net/wireless/ath/ath10k/htt_tx.c 	txdesc = ath10k_htc_alloc_skb(ar, len);
ar               1210 drivers/net/wireless/ath/ath10k/htt_tx.c 	res = ath10k_htc_send(&htt->ar->htc, htt->eid, txdesc);
ar               1217 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL)
ar               1237 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1245 drivers/net/wireless/ath/ath10k/htt_tx.c 	u8 vdev_id = ath10k_htt_tx_get_vdev_id(ar, msdu);
ar               1281 drivers/net/wireless/ath/ath10k/htt_tx.c 	    !test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ar               1292 drivers/net/wireless/ath/ath10k/htt_tx.c 		ath10k_dbg(htt->ar, ATH10K_DBG_HTT,
ar               1298 drivers/net/wireless/ath/ath10k/htt_tx.c 			ath10k_warn(htt->ar, "htt hl tx: Unable to realloc skb!\n");
ar               1304 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ar->bus_param.hl_msdu_ids) {
ar               1308 drivers/net/wireless/ath/ath10k/htt_tx.c 			ath10k_err(ar, "msdu_id allocation failed %d\n", res);
ar               1337 drivers/net/wireless/ath/ath10k/htt_tx.c 	res = ath10k_htc_send(&htt->ar->htc, htt->eid, msdu);
ar               1347 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1348 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct device *dev = ar->dev;
ar               1356 drivers/net/wireless/ath/ath10k/htt_tx.c 	u8 vdev_id = ath10k_htt_tx_get_vdev_id(ar, msdu);
ar               1401 drivers/net/wireless/ath/ath10k/htt_tx.c 		freq = ar->scan.roc_freq;
ar               1409 drivers/net/wireless/ath/ath10k/htt_tx.c 		if (ar->hw_params.continuous_frag_desc) {
ar               1473 drivers/net/wireless/ath/ath10k/htt_tx.c 	    !test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ar               1476 drivers/net/wireless/ath/ath10k/htt_tx.c 		if (ar->hw_params.continuous_frag_desc)
ar               1492 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ath10k_mac_tx_frm_has_freq(ar)) {
ar               1502 drivers/net/wireless/ath/ath10k/htt_tx.c 	trace_ath10k_htt_tx(ar, msdu_id, msdu->len, vdev_id, tid);
ar               1503 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               1507 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt tx msdu: ",
ar               1509 drivers/net/wireless/ath/ath10k/htt_tx.c 	trace_ath10k_tx_hdr(ar, msdu->data, msdu->len);
ar               1510 drivers/net/wireless/ath/ath10k/htt_tx.c 	trace_ath10k_tx_payload(ar, msdu->data, msdu->len);
ar               1527 drivers/net/wireless/ath/ath10k/htt_tx.c 	res = ath10k_hif_tx_sg(htt->ar,
ar               1528 drivers/net/wireless/ath/ath10k/htt_tx.c 			       htt->ar->htc.endpoint[htt->eid].ul_pipe_id,
ar               1547 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1548 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct device *dev = ar->dev;
ar               1556 drivers/net/wireless/ath/ath10k/htt_tx.c 	u8 vdev_id = ath10k_htt_tx_get_vdev_id(ar, msdu);
ar               1601 drivers/net/wireless/ath/ath10k/htt_tx.c 		freq = ar->scan.roc_freq;
ar               1609 drivers/net/wireless/ath/ath10k/htt_tx.c 		if (ar->hw_params.continuous_frag_desc) {
ar               1675 drivers/net/wireless/ath/ath10k/htt_tx.c 	    !test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ar               1678 drivers/net/wireless/ath/ath10k/htt_tx.c 		if (ar->hw_params.continuous_frag_desc) {
ar               1699 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ath10k_mac_tx_frm_has_freq(ar)) {
ar               1709 drivers/net/wireless/ath/ath10k/htt_tx.c 	trace_ath10k_htt_tx(ar, msdu_id, msdu->len, vdev_id, tid);
ar               1710 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar               1714 drivers/net/wireless/ath/ath10k/htt_tx.c 	ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt tx msdu: ",
ar               1716 drivers/net/wireless/ath/ath10k/htt_tx.c 	trace_ath10k_tx_hdr(ar, msdu->data, msdu->len);
ar               1717 drivers/net/wireless/ath/ath10k/htt_tx.c 	trace_ath10k_tx_payload(ar, msdu->data, msdu->len);
ar               1734 drivers/net/wireless/ath/ath10k/htt_tx.c 	res = ath10k_hif_tx_sg(htt->ar,
ar               1735 drivers/net/wireless/ath/ath10k/htt_tx.c 			       htt->ar->htc.endpoint[htt->eid].ul_pipe_id,
ar               1781 drivers/net/wireless/ath/ath10k/htt_tx.c 	struct ath10k *ar = htt->ar;
ar               1783 drivers/net/wireless/ath/ath10k/htt_tx.c 	if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL)
ar               1785 drivers/net/wireless/ath/ath10k/htt_tx.c 	else if (ar->hw_params.target_64bit)
ar                545 drivers/net/wireless/ath/ath10k/hw.c void ath10k_hw_fill_survey_time(struct ath10k *ar, struct survey_info *survey,
ar                555 drivers/net/wireless/ath/ath10k/hw.c 	wraparound_type = ar->hw_params.cc_wraparound_type;
ar                580 drivers/net/wireless/ath/ath10k/hw.c 	survey->time = CCNT_TO_MSEC(ar, cc);
ar                581 drivers/net/wireless/ath/ath10k/hw.c 	survey->time_busy = CCNT_TO_MSEC(ar, rcc);
ar                587 drivers/net/wireless/ath/ath10k/hw.c static void ath10k_hw_qca988x_set_coverage_class(struct ath10k *ar,
ar                600 drivers/net/wireless/ath/ath10k/hw.c 	mutex_lock(&ar->conf_mutex);
ar                603 drivers/net/wireless/ath/ath10k/hw.c 	if ((ar->state != ATH10K_STATE_ON) &&
ar                604 drivers/net/wireless/ath/ath10k/hw.c 	    (ar->state != ATH10K_STATE_RESTARTED)) {
ar                605 drivers/net/wireless/ath/ath10k/hw.c 		spin_lock_bh(&ar->data_lock);
ar                607 drivers/net/wireless/ath/ath10k/hw.c 		ar->fw_coverage.coverage_class = value;
ar                608 drivers/net/wireless/ath/ath10k/hw.c 		spin_unlock_bh(&ar->data_lock);
ar                615 drivers/net/wireless/ath/ath10k/hw.c 	slottime_reg = ath10k_hif_read32(ar, WLAN_MAC_BASE_ADDRESS +
ar                617 drivers/net/wireless/ath/ath10k/hw.c 	timeout_reg = ath10k_hif_read32(ar, WLAN_MAC_BASE_ADDRESS +
ar                619 drivers/net/wireless/ath/ath10k/hw.c 	phyclk_reg = ath10k_hif_read32(ar, WLAN_MAC_BASE_ADDRESS +
ar                624 drivers/net/wireless/ath/ath10k/hw.c 		value = ar->fw_coverage.coverage_class;
ar                629 drivers/net/wireless/ath/ath10k/hw.c 	if (value == ar->fw_coverage.coverage_class &&
ar                630 drivers/net/wireless/ath/ath10k/hw.c 	    slottime_reg == ar->fw_coverage.reg_slottime_conf &&
ar                631 drivers/net/wireless/ath/ath10k/hw.c 	    timeout_reg == ar->fw_coverage.reg_ack_cts_timeout_conf &&
ar                632 drivers/net/wireless/ath/ath10k/hw.c 	    phyclk_reg == ar->fw_coverage.reg_phyclk)
ar                636 drivers/net/wireless/ath/ath10k/hw.c 	if (slottime_reg != ar->fw_coverage.reg_slottime_conf)
ar                637 drivers/net/wireless/ath/ath10k/hw.c 		ar->fw_coverage.reg_slottime_orig = slottime_reg;
ar                638 drivers/net/wireless/ath/ath10k/hw.c 	if (timeout_reg != ar->fw_coverage.reg_ack_cts_timeout_conf)
ar                639 drivers/net/wireless/ath/ath10k/hw.c 		ar->fw_coverage.reg_ack_cts_timeout_orig = timeout_reg;
ar                640 drivers/net/wireless/ath/ath10k/hw.c 	ar->fw_coverage.reg_phyclk = phyclk_reg;
ar                643 drivers/net/wireless/ath/ath10k/hw.c 	slottime_reg = ar->fw_coverage.reg_slottime_orig;
ar                644 drivers/net/wireless/ath/ath10k/hw.c 	timeout_reg = ar->fw_coverage.reg_ack_cts_timeout_orig;
ar                648 drivers/net/wireless/ath/ath10k/hw.c 		ath10k_warn(ar,
ar                657 drivers/net/wireless/ath/ath10k/hw.c 		ath10k_warn(ar,
ar                688 drivers/net/wireless/ath/ath10k/hw.c 	ath10k_hif_write32(ar,
ar                691 drivers/net/wireless/ath/ath10k/hw.c 	ath10k_hif_write32(ar,
ar                700 drivers/net/wireless/ath/ath10k/hw.c 	fw_dbglog_mask = ath10k_debug_get_fw_dbglog_mask(ar);
ar                701 drivers/net/wireless/ath/ath10k/hw.c 	fw_dbglog_level = ath10k_debug_get_fw_dbglog_level(ar);
ar                709 drivers/net/wireless/ath/ath10k/hw.c 	ath10k_wmi_dbglog_cfg(ar, fw_dbglog_mask, fw_dbglog_level);
ar                713 drivers/net/wireless/ath/ath10k/hw.c 	spin_lock_bh(&ar->data_lock);
ar                714 drivers/net/wireless/ath/ath10k/hw.c 	ar->fw_coverage.coverage_class = value;
ar                715 drivers/net/wireless/ath/ath10k/hw.c 	spin_unlock_bh(&ar->data_lock);
ar                717 drivers/net/wireless/ath/ath10k/hw.c 	ar->fw_coverage.reg_slottime_conf = slottime_reg;
ar                718 drivers/net/wireless/ath/ath10k/hw.c 	ar->fw_coverage.reg_ack_cts_timeout_conf = timeout_reg;
ar                721 drivers/net/wireless/ath/ath10k/hw.c 	mutex_unlock(&ar->conf_mutex);
ar                736 drivers/net/wireless/ath/ath10k/hw.c static int ath10k_hw_qca6174_enable_pll_clock(struct ath10k *ar)
ar                744 drivers/net/wireless/ath/ath10k/hw.c 	hw = &ar->hw_params;
ar                746 drivers/net/wireless/ath/ath10k/hw.c 	if (ar->regs->core_clk_div_address == 0 ||
ar                747 drivers/net/wireless/ath/ath10k/hw.c 	    ar->regs->cpu_pll_init_address == 0 ||
ar                748 drivers/net/wireless/ath/ath10k/hw.c 	    ar->regs->cpu_speed_address == 0)
ar                751 drivers/net/wireless/ath/ath10k/hw.c 	clk_div_addr = ar->regs->core_clk_div_address;
ar                752 drivers/net/wireless/ath/ath10k/hw.c 	pll_init_addr = ar->regs->cpu_pll_init_address;
ar                753 drivers/net/wireless/ath/ath10k/hw.c 	speed_addr = ar->regs->cpu_speed_address;
ar                757 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                769 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                776 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                782 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                788 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                794 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                800 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                806 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_memory(ar, clk_div_addr, &mem_val,
ar                813 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                820 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                828 drivers/net/wireless/ath/ath10k/hw.c 		ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                845 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                851 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                859 drivers/net/wireless/ath/ath10k/hw.c 		ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                876 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                882 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                888 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_read_soc_reg(ar, addr, &reg_val);
ar                893 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_soc_reg(ar, addr, reg_val);
ar                899 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_memory(ar, pll_init_addr, &mem_val,
ar                905 drivers/net/wireless/ath/ath10k/hw.c 	ret = ath10k_bmi_write_memory(ar, speed_addr, &hw->target_cpu_freq,
ar                916 drivers/net/wireless/ath/ath10k/hw.c static void ath10k_hw_map_target_mem(struct ath10k *ar, u32 msb)
ar                920 drivers/net/wireless/ath/ath10k/hw.c 	ath10k_hif_write32(ar, address, msb);
ar                931 drivers/net/wireless/ath/ath10k/hw.c static int ath10k_hw_diag_segment_msb_download(struct ath10k *ar,
ar                940 drivers/net/wireless/ath/ath10k/hw.c 	ath10k_hw_map_target_mem(ar, CPU_ADDR_MSB_REGION_VAL(address));
ar                946 drivers/net/wireless/ath/ath10k/hw.c 		ret = ath10k_hif_diag_write(ar, address, buffer, size);
ar                948 drivers/net/wireless/ath/ath10k/hw.c 			ath10k_warn(ar,
ar                955 drivers/net/wireless/ath/ath10k/hw.c 		ath10k_hw_map_target_mem(ar,
ar                958 drivers/net/wireless/ath/ath10k/hw.c 		ret = ath10k_hif_diag_write(ar,
ar                962 drivers/net/wireless/ath/ath10k/hw.c 			ath10k_warn(ar,
ar                970 drivers/net/wireless/ath/ath10k/hw.c 		ret = ath10k_hif_diag_write(ar, address, buffer, length);
ar                972 drivers/net/wireless/ath/ath10k/hw.c 			ath10k_warn(ar,
ar                981 drivers/net/wireless/ath/ath10k/hw.c 	ath10k_hw_map_target_mem(ar,
ar                986 drivers/net/wireless/ath/ath10k/hw.c static int ath10k_hw_diag_segment_download(struct ath10k *ar,
ar                993 drivers/net/wireless/ath/ath10k/hw.c 		return ath10k_hw_diag_segment_msb_download(ar, buffer,
ar                996 drivers/net/wireless/ath/ath10k/hw.c 		return ath10k_hif_diag_write(ar, address, buffer, length);
ar                999 drivers/net/wireless/ath/ath10k/hw.c int ath10k_hw_diag_fast_download(struct ath10k *ar,
ar               1021 drivers/net/wireless/ath/ath10k/hw.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1028 drivers/net/wireless/ath/ath10k/hw.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1039 drivers/net/wireless/ath/ath10k/hw.c 			ath10k_warn(ar, "firmware segment is truncated: %d\n",
ar               1052 drivers/net/wireless/ath/ath10k/hw.c 			ret = ath10k_bmi_set_start(ar, base_addr);
ar               1063 drivers/net/wireless/ath/ath10k/hw.c 			ath10k_warn(ar,
ar               1071 drivers/net/wireless/ath/ath10k/hw.c 				ath10k_warn(ar,
ar               1078 drivers/net/wireless/ath/ath10k/hw.c 			ret = ath10k_hw_diag_segment_download(ar,
ar               1084 drivers/net/wireless/ath/ath10k/hw.c 				ath10k_warn(ar,
ar               1098 drivers/net/wireless/ath/ath10k/hw.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar                393 drivers/net/wireless/ath/ath10k/hw.h void ath10k_hw_fill_survey_time(struct ath10k *ar, struct survey_info *survey,
ar                396 drivers/net/wireless/ath/ath10k/hw.h int ath10k_hw_diag_fast_download(struct ath10k *ar,
ar                401 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_988X(ar) ((ar)->hw_rev == ATH10K_HW_QCA988X)
ar                402 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_9887(ar) ((ar)->hw_rev == ATH10K_HW_QCA9887)
ar                403 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_6174(ar) ((ar)->hw_rev == ATH10K_HW_QCA6174)
ar                404 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_99X0(ar) ((ar)->hw_rev == ATH10K_HW_QCA99X0)
ar                405 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_9888(ar) ((ar)->hw_rev == ATH10K_HW_QCA9888)
ar                406 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_9984(ar) ((ar)->hw_rev == ATH10K_HW_QCA9984)
ar                407 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_9377(ar) ((ar)->hw_rev == ATH10K_HW_QCA9377)
ar                408 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_40XX(ar) ((ar)->hw_rev == ATH10K_HW_QCA4019)
ar                409 drivers/net/wireless/ath/ath10k/hw.h #define QCA_REV_WCN3990(ar) ((ar)->hw_rev == ATH10K_HW_WCN3990)
ar                629 drivers/net/wireless/ath/ath10k/hw.h 	void (*set_coverage_class)(struct ath10k *ar, s16 value);
ar                630 drivers/net/wireless/ath/ath10k/hw.h 	int (*enable_pll_clk)(struct ath10k *ar);
ar                774 drivers/net/wireless/ath/ath10k/hw.h #define NUM_TARGET_CE_CONFIG_WLAN ar->hw_values->num_target_ce_config_wlan
ar                840 drivers/net/wireless/ath/ath10k/hw.h #define CE_COUNT ar->hw_values->ce_count
ar                854 drivers/net/wireless/ath/ath10k/hw.h #define MSI_ASSIGN_CE_MAX	ar->hw_values->msi_assign_ce_max
ar                857 drivers/net/wireless/ath/ath10k/hw.h #define RTC_STATE_V_ON				ar->hw_values->rtc_state_val_on
ar                867 drivers/net/wireless/ath/ath10k/hw.h #define RTC_SOC_BASE_ADDRESS			ar->regs->rtc_soc_base_address
ar                868 drivers/net/wireless/ath/ath10k/hw.h #define RTC_WMAC_BASE_ADDRESS			ar->regs->rtc_wmac_base_address
ar                872 drivers/net/wireless/ath/ath10k/hw.h #define SOC_CORE_BASE_ADDRESS			ar->regs->soc_core_base_address
ar                877 drivers/net/wireless/ath/ath10k/hw.h #define WLAN_MAC_BASE_ADDRESS			ar->regs->wlan_mac_base_address
ar                881 drivers/net/wireless/ath/ath10k/hw.h #define CE_WRAPPER_BASE_ADDRESS			ar->regs->ce_wrapper_base_address
ar                882 drivers/net/wireless/ath/ath10k/hw.h #define CE0_BASE_ADDRESS			ar->regs->ce0_base_address
ar                883 drivers/net/wireless/ath/ath10k/hw.h #define CE1_BASE_ADDRESS			ar->regs->ce1_base_address
ar                884 drivers/net/wireless/ath/ath10k/hw.h #define CE2_BASE_ADDRESS			ar->regs->ce2_base_address
ar                885 drivers/net/wireless/ath/ath10k/hw.h #define CE3_BASE_ADDRESS			ar->regs->ce3_base_address
ar                886 drivers/net/wireless/ath/ath10k/hw.h #define CE4_BASE_ADDRESS			ar->regs->ce4_base_address
ar                887 drivers/net/wireless/ath/ath10k/hw.h #define CE5_BASE_ADDRESS			ar->regs->ce5_base_address
ar                888 drivers/net/wireless/ath/ath10k/hw.h #define CE6_BASE_ADDRESS			ar->regs->ce6_base_address
ar                889 drivers/net/wireless/ath/ath10k/hw.h #define CE7_BASE_ADDRESS			ar->regs->ce7_base_address
ar                892 drivers/net/wireless/ath/ath10k/hw.h #define PCIE_LOCAL_BASE_ADDRESS		ar->regs->pcie_local_base_address
ar                896 drivers/net/wireless/ath/ath10k/hw.h #define SOC_RESET_CONTROL_SI0_RST_MASK		ar->regs->soc_reset_control_si0_rst_mask
ar                897 drivers/net/wireless/ath/ath10k/hw.h #define SOC_RESET_CONTROL_CE_RST_MASK		ar->regs->soc_reset_control_ce_rst_mask
ar                911 drivers/net/wireless/ath/ath10k/hw.h #define SOC_CHIP_ID_ADDRESS			ar->regs->soc_chip_id_address
ar                973 drivers/net/wireless/ath/ath10k/hw.h #define PCIE_INTR_CLR_ADDRESS			ar->regs->pcie_intr_clr_address
ar                974 drivers/net/wireless/ath/ath10k/hw.h #define SCRATCH_3_ADDRESS			ar->regs->scratch_3_address
ar                978 drivers/net/wireless/ath/ath10k/hw.h #define CCNT_TO_MSEC(ar, x) ((x) / ar->hw_params.channel_counters_freq_hz)
ar                981 drivers/net/wireless/ath/ath10k/hw.h #define FW_INDICATOR_ADDRESS			ar->regs->fw_indicator_address
ar                987 drivers/net/wireless/ath/ath10k/hw.h #define PCIE_INTR_FIRMWARE_MASK			ar->regs->pcie_intr_fw_mask
ar                988 drivers/net/wireless/ath/ath10k/hw.h #define PCIE_INTR_CE_MASK_ALL			ar->regs->pcie_intr_ce_mask_all
ar                199 drivers/net/wireless/ath/ath10k/mac.c int ath10k_mac_ext_resource_config(struct ath10k *ar, u32 val)
ar                204 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_TX_MODE_DYNAMIC, ar->wmi.svc_map))
ar                209 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_ext_resource_config(ar, platform_type, val);
ar                212 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to configure ext resource: %d\n", ret);
ar                228 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                238 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar                242 drivers/net/wireless/ath/ath10k/mac.c 		arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_AES_CCM];
ar                246 drivers/net/wireless/ath/ath10k/mac.c 		arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_TKIP];
ar                252 drivers/net/wireless/ath/ath10k/mac.c 		arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_WEP];
ar                255 drivers/net/wireless/ath/ath10k/mac.c 		arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_AES_CCM];
ar                259 drivers/net/wireless/ath/ath10k/mac.c 		arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_AES_GCM];
ar                268 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "cipher %d is not supported\n", key->cipher);
ar                272 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
ar                276 drivers/net/wireless/ath/ath10k/mac.c 		arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_NONE];
ar                280 drivers/net/wireless/ath/ath10k/mac.c 	return ath10k_wmi_vdev_install_key(arvif->ar, &arg);
ar                288 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                292 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                294 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->install_key_done);
ar                303 drivers/net/wireless/ath/ath10k/mac.c 	time_left = wait_for_completion_timeout(&ar->install_key_done, 3 * HZ);
ar                313 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                319 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                326 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar                327 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
ar                328 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar                366 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar                368 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar                385 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(arvif->ar,
ar                387 drivers/net/wireless/ath/ath10k/mac.c 					arvif->ar->wmi.vdev_param->def_keyid,
ar                390 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to re-set def wpa key idxon vdev %i: %d\n",
ar                401 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                408 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                410 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar                411 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, arvif->vdev_id, addr);
ar                412 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar                428 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to remove peer wep key %d: %d\n",
ar                431 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar                433 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar                439 drivers/net/wireless/ath/ath10k/mac.c bool ath10k_mac_is_peer_wep_key_set(struct ath10k *ar, const u8 *addr,
ar                445 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->data_lock);
ar                452 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, 0, addr);
ar                467 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                475 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                481 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar                483 drivers/net/wireless/ath/ath10k/mac.c 		list_for_each_entry(peer, &ar->peers, list) {
ar                495 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar                505 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to remove key for %pM: %d\n",
ar                515 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                519 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                521 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(peer, &ar->peers, list) {
ar                531 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vif vdev %i update key %i needs update\n",
ar                536 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update wep keys on vdev %i for peer %pM: %d\n",
ar                675 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_num_chanctxs(struct ath10k *ar)
ar                679 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iter_chan_contexts_atomic(ar->hw,
ar                696 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_wait_for_peer_delete_done(struct ath10k *ar, u32 vdev_id,
ar                702 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_SYNC_DELETE_CMDS, ar->wmi.svc_map)) {
ar                703 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wait_for_peer_deleted(ar, vdev_id, addr);
ar                705 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed wait for peer deleted");
ar                709 drivers/net/wireless/ath/ath10k/mac.c 		time_left = wait_for_completion_timeout(&ar->peer_delete_done,
ar                712 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "Timeout in receiving peer delete response\n");
ar                716 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_peer_create(struct ath10k *ar,
ar                728 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                730 drivers/net/wireless/ath/ath10k/mac.c 	num_peers = ar->num_peers;
ar                733 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(arvif, &ar->arvifs, list)
ar                736 drivers/net/wireless/ath/ath10k/mac.c 	if (num_peers >= ar->max_num_peers)
ar                739 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_peer_create(ar, vdev_id, addr, peer_type);
ar                741 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to create wmi peer %pM on vdev %i: %i\n",
ar                746 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wait_for_peer_created(ar, vdev_id, addr);
ar                748 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to wait for created wmi peer %pM on vdev %i: %i\n",
ar                753 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar                755 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, vdev_id, addr);
ar                757 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar                758 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to find peer %pM on vdev %i after creation\n",
ar                760 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_wait_for_peer_delete_done(ar, vdev_id, addr);
ar                767 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar                769 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_peers++;
ar                776 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                780 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->sta_kickout_th;
ar                781 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param,
ar                784 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set kickout threshold on vdev %i: %d\n",
ar                789 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.vdev_param->ap_keepalive_min_idle_inactive_time_secs;
ar                790 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, param,
ar                793 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set keepalive minimum idle time on vdev %i: %d\n",
ar                798 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.vdev_param->ap_keepalive_max_idle_inactive_time_secs;
ar                799 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, param,
ar                802 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set keepalive maximum idle time on vdev %i: %d\n",
ar                807 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.vdev_param->ap_keepalive_max_unresponsive_time_secs;
ar                808 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, param,
ar                811 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set keepalive maximum unresponsive time on vdev %i: %d\n",
ar                821 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                824 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->rts_threshold;
ar                825 drivers/net/wireless/ath/ath10k/mac.c 	return ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, value);
ar                828 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_peer_delete(struct ath10k *ar, u32 vdev_id, const u8 *addr)
ar                832 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                834 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_peer_delete(ar, vdev_id, addr);
ar                838 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wait_for_peer_deleted(ar, vdev_id, addr);
ar                842 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_SYNC_DELETE_CMDS, ar->wmi.svc_map)) {
ar                846 drivers/net/wireless/ath/ath10k/mac.c 			    (&ar->peer_delete_done, 5 * HZ);
ar                849 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "Timeout in receiving peer delete response\n");
ar                854 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_peers--;
ar                859 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_cleanup(struct ath10k *ar, u32 vdev_id)
ar                865 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                867 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar                868 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
ar                872 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "removing stale peer %pM from vdev_id %d\n",
ar                877 drivers/net/wireless/ath/ath10k/mac.c 			ar->peer_map[peer_id] = NULL;
ar                883 drivers/net/wireless/ath/ath10k/mac.c 		for (i = 0; i < ARRAY_SIZE(ar->peer_map); i++) {
ar                884 drivers/net/wireless/ath/ath10k/mac.c 			if (ar->peer_map[i] == peer) {
ar                885 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "removing stale peer_map entry for %pM (ptr %pK idx %d)\n",
ar                887 drivers/net/wireless/ath/ath10k/mac.c 				ar->peer_map[i] = NULL;
ar                893 drivers/net/wireless/ath/ath10k/mac.c 		ar->num_peers--;
ar                895 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar                898 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_cleanup_all(struct ath10k *ar)
ar                903 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                905 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar                906 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry_safe(peer, tmp, &ar->peers, list) {
ar                911 drivers/net/wireless/ath/ath10k/mac.c 	for (i = 0; i < ARRAY_SIZE(ar->peer_map); i++)
ar                912 drivers/net/wireless/ath/ath10k/mac.c 		ar->peer_map[i] = NULL;
ar                914 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar                916 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_peers = 0;
ar                917 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_stations = 0;
ar                920 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_tdls_peer_update(struct ath10k *ar, u32 vdev_id,
ar                929 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar                942 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_tdls_peer_update(ar, &arg, &cap, &chan_arg);
ar                944 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to update tdls peer %pM on vdev %i: %i\n",
ar                958 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                960 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->data_lock);
ar                966 drivers/net/wireless/ath/ath10k/mac.c 		dma_unmap_single(ar->dev, ATH10K_SKB_CB(arvif->beacon)->paddr,
ar                981 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar                983 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->data_lock);
ar                988 drivers/net/wireless/ath/ath10k/mac.c 		dma_free_coherent(ar->dev, IEEE80211_MAX_FRAME_LEN,
ar                994 drivers/net/wireless/ath/ath10k/mac.c static inline int ath10k_vdev_setup_sync(struct ath10k *ar)
ar                998 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1000 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags))
ar               1003 drivers/net/wireless/ath/ath10k/mac.c 	time_left = wait_for_completion_timeout(&ar->vdev_setup_done,
ar               1008 drivers/net/wireless/ath/ath10k/mac.c 	return ar->last_wmi_vdev_start_status;
ar               1011 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_vdev_start(struct ath10k *ar, int vdev_id)
ar               1018 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1020 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iter_chan_contexts_atomic(ar->hw,
ar               1045 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_setup_done);
ar               1046 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_delete_done);
ar               1048 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_start(ar, &arg);
ar               1050 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to request monitor vdev %i start: %d\n",
ar               1055 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_vdev_setup_sync(ar);
ar               1057 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to synchronize setup for monitor vdev %i start: %d\n",
ar               1062 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_up(ar, vdev_id, 0, ar->mac_addr);
ar               1064 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to put up monitor vdev %i: %d\n",
ar               1069 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor_vdev_id = vdev_id;
ar               1071 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor vdev %i started\n",
ar               1072 drivers/net/wireless/ath/ath10k/mac.c 		   ar->monitor_vdev_id);
ar               1076 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_stop(ar, ar->monitor_vdev_id);
ar               1078 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to stop monitor vdev %i after start failure: %d\n",
ar               1079 drivers/net/wireless/ath/ath10k/mac.c 			    ar->monitor_vdev_id, ret);
ar               1084 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_vdev_stop(struct ath10k *ar)
ar               1088 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1090 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_down(ar, ar->monitor_vdev_id);
ar               1092 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to put down monitor vdev %i: %d\n",
ar               1093 drivers/net/wireless/ath/ath10k/mac.c 			    ar->monitor_vdev_id, ret);
ar               1095 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_setup_done);
ar               1096 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_delete_done);
ar               1098 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_stop(ar, ar->monitor_vdev_id);
ar               1100 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to to request monitor vdev %i stop: %d\n",
ar               1101 drivers/net/wireless/ath/ath10k/mac.c 			    ar->monitor_vdev_id, ret);
ar               1103 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_vdev_setup_sync(ar);
ar               1105 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to synchronize monitor vdev %i stop: %d\n",
ar               1106 drivers/net/wireless/ath/ath10k/mac.c 			    ar->monitor_vdev_id, ret);
ar               1108 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor vdev %i stopped\n",
ar               1109 drivers/net/wireless/ath/ath10k/mac.c 		   ar->monitor_vdev_id);
ar               1113 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_vdev_create(struct ath10k *ar)
ar               1117 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1119 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->free_vdev_map == 0) {
ar               1120 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to find free vdev id for monitor vdev\n");
ar               1124 drivers/net/wireless/ath/ath10k/mac.c 	bit = __ffs64(ar->free_vdev_map);
ar               1126 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor_vdev_id = bit;
ar               1128 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_create(ar, ar->monitor_vdev_id,
ar               1130 drivers/net/wireless/ath/ath10k/mac.c 				     0, ar->mac_addr);
ar               1132 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to request monitor vdev %i creation: %d\n",
ar               1133 drivers/net/wireless/ath/ath10k/mac.c 			    ar->monitor_vdev_id, ret);
ar               1137 drivers/net/wireless/ath/ath10k/mac.c 	ar->free_vdev_map &= ~(1LL << ar->monitor_vdev_id);
ar               1138 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor vdev %d created\n",
ar               1139 drivers/net/wireless/ath/ath10k/mac.c 		   ar->monitor_vdev_id);
ar               1144 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_vdev_delete(struct ath10k *ar)
ar               1148 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1150 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_delete(ar, ar->monitor_vdev_id);
ar               1152 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to request wmi monitor vdev %i removal: %d\n",
ar               1153 drivers/net/wireless/ath/ath10k/mac.c 			    ar->monitor_vdev_id, ret);
ar               1157 drivers/net/wireless/ath/ath10k/mac.c 	ar->free_vdev_map |= 1LL << ar->monitor_vdev_id;
ar               1159 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor vdev %d deleted\n",
ar               1160 drivers/net/wireless/ath/ath10k/mac.c 		   ar->monitor_vdev_id);
ar               1164 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_start(struct ath10k *ar)
ar               1168 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1170 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_monitor_vdev_create(ar);
ar               1172 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to create monitor vdev: %d\n", ret);
ar               1176 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_monitor_vdev_start(ar, ar->monitor_vdev_id);
ar               1178 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start monitor vdev: %d\n", ret);
ar               1179 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_monitor_vdev_delete(ar);
ar               1183 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor_started = true;
ar               1184 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor started\n");
ar               1189 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_stop(struct ath10k *ar)
ar               1193 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1195 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_monitor_vdev_stop(ar);
ar               1197 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to stop monitor vdev: %d\n", ret);
ar               1201 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_monitor_vdev_delete(ar);
ar               1203 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to delete monitor vdev: %d\n", ret);
ar               1207 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor_started = false;
ar               1208 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor stopped\n");
ar               1213 drivers/net/wireless/ath/ath10k/mac.c static bool ath10k_mac_monitor_vdev_is_needed(struct ath10k *ar)
ar               1220 drivers/net/wireless/ath/ath10k/mac.c 	num_ctx = ath10k_mac_num_chanctxs(ar);
ar               1227 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->monitor_arvif)
ar               1230 drivers/net/wireless/ath/ath10k/mac.c 	return ar->monitor ||
ar               1232 drivers/net/wireless/ath/ath10k/mac.c 			  ar->running_fw->fw_file.fw_features) &&
ar               1233 drivers/net/wireless/ath/ath10k/mac.c 		(ar->filter_flags & FIF_OTHER_BSS)) ||
ar               1234 drivers/net/wireless/ath/ath10k/mac.c 	       test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);
ar               1237 drivers/net/wireless/ath/ath10k/mac.c static bool ath10k_mac_monitor_vdev_is_allowed(struct ath10k *ar)
ar               1241 drivers/net/wireless/ath/ath10k/mac.c 	num_ctx = ath10k_mac_num_chanctxs(ar);
ar               1247 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags) && num_ctx > 1)
ar               1253 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_monitor_recalc(struct ath10k *ar)
ar               1259 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1261 drivers/net/wireless/ath/ath10k/mac.c 	needed = ath10k_mac_monitor_vdev_is_needed(ar);
ar               1262 drivers/net/wireless/ath/ath10k/mac.c 	allowed = ath10k_mac_monitor_vdev_is_allowed(ar);
ar               1264 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               1266 drivers/net/wireless/ath/ath10k/mac.c 		   ar->monitor_started, needed, allowed);
ar               1269 drivers/net/wireless/ath/ath10k/mac.c 		if (ar->monitor_started) {
ar               1270 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_dbg(ar, ATH10K_DBG_MAC, "mac monitor stopping disallowed monitor\n");
ar               1272 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_monitor_stop(ar);
ar               1274 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to stop disallowed monitor: %d\n",
ar               1282 drivers/net/wireless/ath/ath10k/mac.c 	if (needed == ar->monitor_started)
ar               1286 drivers/net/wireless/ath/ath10k/mac.c 		return ath10k_monitor_start(ar);
ar               1288 drivers/net/wireless/ath/ath10k/mac.c 		return ath10k_monitor_stop(ar);
ar               1293 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1295 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1298 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "defer cts setup, vdev is not ready yet\n");
ar               1307 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1310 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1312 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->protection_mode;
ar               1314 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d cts_protection %d\n",
ar               1317 drivers/net/wireless/ath/ath10k/mac.c 	return ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               1323 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1326 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1328 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->enable_rtscts;
ar               1339 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d recalc rts/cts prot %d\n",
ar               1342 drivers/net/wireless/ath/ath10k/mac.c 	return ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               1346 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_start_cac(struct ath10k *ar)
ar               1350 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1352 drivers/net/wireless/ath/ath10k/mac.c 	set_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);
ar               1354 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_monitor_recalc(ar);
ar               1356 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start monitor (cac): %d\n", ret);
ar               1357 drivers/net/wireless/ath/ath10k/mac.c 		clear_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);
ar               1361 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac cac start monitor vdev %d\n",
ar               1362 drivers/net/wireless/ath/ath10k/mac.c 		   ar->monitor_vdev_id);
ar               1367 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_stop_cac(struct ath10k *ar)
ar               1369 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1372 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags))
ar               1375 drivers/net/wireless/ath/ath10k/mac.c 	clear_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);
ar               1376 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_monitor_stop(ar);
ar               1378 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac cac finished\n");
ar               1393 drivers/net/wireless/ath/ath10k/mac.c static bool ath10k_mac_has_radar_enabled(struct ath10k *ar)
ar               1397 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iter_chan_contexts_atomic(ar->hw,
ar               1404 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_recalc_radar_detection(struct ath10k *ar)
ar               1408 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1410 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_stop_cac(ar);
ar               1412 drivers/net/wireless/ath/ath10k/mac.c 	if (!ath10k_mac_has_radar_enabled(ar))
ar               1415 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->num_started_vdevs > 0)
ar               1418 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_start_cac(ar);
ar               1425 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start CAC: %d\n", ret);
ar               1426 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_radar_detected(ar->hw);
ar               1432 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1435 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1437 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_setup_done);
ar               1438 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_delete_done);
ar               1440 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_stop(ar, arvif->vdev_id);
ar               1442 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to stop WMI vdev %i: %d\n",
ar               1447 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_vdev_setup_sync(ar);
ar               1449 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to synchronize setup for vdev %i: %d\n",
ar               1454 drivers/net/wireless/ath/ath10k/mac.c 	WARN_ON(ar->num_started_vdevs == 0);
ar               1456 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->num_started_vdevs != 0) {
ar               1457 drivers/net/wireless/ath/ath10k/mac.c 		ar->num_started_vdevs--;
ar               1458 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_recalc_radar_detection(ar);
ar               1468 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1472 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1474 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_setup_done);
ar               1475 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->vdev_delete_done);
ar               1504 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               1510 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_restart(ar, &arg);
ar               1512 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_start(ar, &arg);
ar               1515 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start WMI vdev %i: %d\n",
ar               1520 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_vdev_setup_sync(ar);
ar               1522 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar,
ar               1528 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_started_vdevs++;
ar               1529 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_recalc_radar_detection(ar);
ar               1549 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1565 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_p2p_go_bcn_ie(ar, arvif->vdev_id, p2p_ie);
ar               1567 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit p2p go bcn ie for vdev %i: %d\n",
ar               1607 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1608 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_hw *hw = ar->hw;
ar               1614 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(WMI_SERVICE_BEACON_OFFLOAD, ar->wmi.svc_map))
ar               1623 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to get beacon template from mac80211\n");
ar               1629 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to setup p2p go bcn ie: %d\n", ret);
ar               1642 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_bcn_tmpl(ar, arvif->vdev_id, offs.tim_offset, bcn, 0,
ar               1647 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit beacon template command: %d\n",
ar               1657 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1658 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_hw *hw = ar->hw;
ar               1663 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(WMI_SERVICE_BEACON_OFFLOAD, ar->wmi.svc_map))
ar               1675 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to get probe resp template from mac80211\n");
ar               1679 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_prb_tmpl(ar, arvif->vdev_id, prb);
ar               1683 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit probe resp template command: %d\n",
ar               1693 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1712 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(WMI_SERVICE_BEACON_OFFLOAD, ar->wmi.svc_map))
ar               1724 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_down(ar, arvif->vdev_id);
ar               1726 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to bring down ap vdev %i: %d\n",
ar               1737 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to update beacon template: %d\n", ret);
ar               1743 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to update presp template: %d\n", ret);
ar               1749 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to restart ap vdev %i: %d\n",
ar               1754 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid,
ar               1757 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to bring up ap vdev %i: %d\n",
ar               1768 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1771 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               1774 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_down(ar, arvif->vdev_id);
ar               1776 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to down vdev_id %i: %d\n",
ar               1781 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&arvif->ar->data_lock);
ar               1783 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&arvif->ar->data_lock);
ar               1793 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid,
ar               1796 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to bring up vdev %d: %i\n",
ar               1805 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to fix hidden ssid for vdev %i, expect trouble: %d\n",
ar               1810 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d up\n", arvif->vdev_id);
ar               1817 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1821 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               1832 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = arvif->ar->wmi.vdev_param->atim_window;
ar               1833 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(arvif->ar, arvif->vdev_id, vdev_param,
ar               1836 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set IBSS ATIM for vdev %d: %d\n",
ar               1842 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1847 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               1855 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_set_sta_ps_param(ar, arvif->vdev_id, param, value);
ar               1857 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit ps wake threshold %u on vdev %i: %d\n",
ar               1867 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1872 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               1880 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_set_sta_ps_param(ar, arvif->vdev_id,
ar               1883 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit ps poll count %u on vdev %i: %d\n",
ar               1891 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_num_vifs_started(struct ath10k *ar)
ar               1896 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               1898 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(arvif, &ar->arvifs, list)
ar               1907 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1909 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_conf *conf = &ar->hw->conf;
ar               1916 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               1923 drivers/net/wireless/ath/ath10k/mac.c 	if (enable_ps && ath10k_mac_num_vifs_started(ar) > 1 &&
ar               1925 drivers/net/wireless/ath/ath10k/mac.c 		      ar->running_fw->fw_file.fw_features)) {
ar               1926 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "refusing to enable ps on vdev %i: not supported by fw\n",
ar               1949 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_set_sta_ps_param(ar, arvif->vdev_id, param,
ar               1952 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set inactivity time for vdev %d: %i\n",
ar               1960 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d psmode %s\n",
ar               1963 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_set_psmode(ar, arvif->vdev_id, psmode);
ar               1965 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set PS Mode %d for vdev %d: %d\n",
ar               1975 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               1979 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               1984 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(WMI_SERVICE_STA_KEEP_ALIVE, ar->wmi.svc_map))
ar               1995 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_sta_keepalive(ar, &arg);
ar               1997 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit keepalive on vdev %i: %d\n",
ar               2007 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               2011 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&arvif->ar->conf_mutex);
ar               2013 drivers/net/wireless/ath/ath10k/mac.c 	if (WARN_ON(!test_bit(WMI_SERVICE_BEACON_OFFLOAD, ar->wmi.svc_map)))
ar               2030 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update bcn tmpl during csa: %d\n",
ar               2035 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update prb tmpl during csa: %d\n",
ar               2046 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               2048 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               2050 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               2069 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_handle_beacon(struct ath10k *ar, struct sk_buff *skb)
ar               2071 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar               2082 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               2083 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_hw *hw = ar->hw;
ar               2102 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_handle_beacon_miss(struct ath10k *ar, u32 vdev_id)
ar               2104 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar               2126 drivers/net/wireless/ath/ath10k/mac.c static u32 ath10k_peer_assoc_h_listen_intval(struct ath10k *ar,
ar               2140 drivers/net/wireless/ath/ath10k/mac.c 	return ar->hw->conf.listen_interval;
ar               2143 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_basic(struct ath10k *ar,
ar               2151 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2161 drivers/net/wireless/ath/ath10k/mac.c 	arg->peer_flags |= arvif->ar->wmi.peer_flags->auth;
ar               2162 drivers/net/wireless/ath/ath10k/mac.c 	arg->peer_listen_intval = ath10k_peer_assoc_h_listen_intval(ar, vif);
ar               2167 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_crypto(struct ath10k *ar,
ar               2178 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2183 drivers/net/wireless/ath/ath10k/mac.c 	bss = cfg80211_get_bss(ar->hw->wiphy, def.chan, info->bssid, NULL, 0,
ar               2198 drivers/net/wireless/ath/ath10k/mac.c 		cfg80211_put_bss(ar->hw->wiphy, bss);
ar               2203 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_WMI, "%s: rsn ie found\n", __func__);
ar               2204 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->need_ptk_4_way;
ar               2208 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_WMI, "%s: wpa ie found\n", __func__);
ar               2209 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->need_gtk_2_way;
ar               2214 drivers/net/wireless/ath/ath10k/mac.c 		     ar->running_fw->fw_file.fw_features)) {
ar               2215 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->pmf;
ar               2219 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_rates(struct ath10k *ar,
ar               2234 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2240 drivers/net/wireless/ath/ath10k/mac.c 	sband = ar->hw->wiphy->bands[band];
ar               2281 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_ht(struct ath10k *ar,
ar               2296 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2312 drivers/net/wireless/ath/ath10k/mac.c 	arg->peer_flags |= ar->wmi.peer_flags->ht;
ar               2323 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->ldbc;
ar               2326 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->bw40;
ar               2340 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->stbc;
ar               2348 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->stbc;
ar               2381 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ht peer %pM mcs cnt %d nss %d\n",
ar               2387 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_peer_assoc_qos_ap(struct ath10k *ar,
ar               2395 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2398 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac uapsd_queues 0x%x max_sp %d\n",
ar               2417 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_set_ap_ps_param(ar, arvif->vdev_id,
ar               2422 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set ap ps peer param uapsd for vdev %i: %d\n",
ar               2427 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_set_ap_ps_param(ar, arvif->vdev_id,
ar               2432 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set ap ps peer param max sp for vdev %i: %d\n",
ar               2442 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_set_ap_ps_param(ar, arvif->vdev_id, sta->addr,
ar               2446 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set ap ps peer param ageout time for vdev %i: %d\n",
ar               2506 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_vht(struct ath10k *ar,
ar               2532 drivers/net/wireless/ath/ath10k/mac.c 	arg->peer_flags |= ar->wmi.peer_flags->vht;
ar               2535 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->vht_2g;
ar               2553 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->bw80;
ar               2556 drivers/net/wireless/ath/ath10k/mac.c 		arg->peer_flags |= ar->wmi.peer_flags->bw160;
ar               2579 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vht peer %pM max_mpdu %d flags 0x%x\n",
ar               2597 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_qos(struct ath10k *ar,
ar               2607 drivers/net/wireless/ath/ath10k/mac.c 			arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
ar               2610 drivers/net/wireless/ath/ath10k/mac.c 			arg->peer_flags |= arvif->ar->wmi.peer_flags->apsd;
ar               2616 drivers/net/wireless/ath/ath10k/mac.c 			arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
ar               2620 drivers/net/wireless/ath/ath10k/mac.c 			arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
ar               2626 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM qos %d\n",
ar               2628 drivers/net/wireless/ath/ath10k/mac.c 		   arvif->ar->wmi.peer_flags->qos));
ar               2637 drivers/net/wireless/ath/ath10k/mac.c static enum wmi_phy_mode ath10k_mac_get_phymode_vht(struct ath10k *ar,
ar               2664 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_peer_assoc_h_phymode(struct ath10k *ar,
ar               2710 drivers/net/wireless/ath/ath10k/mac.c 			phymode = ath10k_mac_get_phymode_vht(ar, sta);
ar               2726 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM phymode %s\n",
ar               2733 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_peer_assoc_prepare(struct ath10k *ar,
ar               2738 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2742 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_basic(ar, vif, sta, arg);
ar               2743 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_crypto(ar, vif, sta, arg);
ar               2744 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_rates(ar, vif, sta, arg);
ar               2745 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_ht(ar, vif, sta, arg);
ar               2746 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_vht(ar, vif, sta, arg);
ar               2747 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_qos(ar, vif, sta, arg);
ar               2748 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_assoc_h_phymode(ar, vif, sta, arg);
ar               2760 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_setup_peer_smps(struct ath10k *ar, struct ath10k_vif *arvif,
ar               2775 drivers/net/wireless/ath/ath10k/mac.c 	return ath10k_wmi_peer_set_param(ar, arvif->vdev_id, addr,
ar               2780 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_vif_recalc_txbf(struct ath10k *ar,
ar               2789 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_wmi_get_txbf_conf_scheme(ar) != WMI_TXBF_CONF_AFTER_ASSOC)
ar               2792 drivers/net/wireless/ath/ath10k/mac.c 	if (!(ar->vht_cap_info &
ar               2799 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.vdev_param->txbf;
ar               2809 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info &
ar               2819 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info &
ar               2835 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, param, value);
ar               2837 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit vdev param txbf 0x%x: %d\n",
ar               2850 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               2858 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2860 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %i assoc bssid %pM aid %d\n",
ar               2867 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to find station entry for bss %pM vdev %i\n",
ar               2879 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_peer_assoc_prepare(ar, vif, ap_sta, &peer_arg);
ar               2881 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to prepare peer assoc for %pM vdev %i: %d\n",
ar               2889 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_peer_assoc(ar, &peer_arg);
ar               2891 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to run peer assoc for %pM vdev %i: %d\n",
ar               2896 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_setup_peer_smps(ar, arvif, bss_conf->bssid, &ht_cap);
ar               2898 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to setup peer SMPS for vdev %i: %d\n",
ar               2903 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap);
ar               2905 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc txbf for vdev %i on bss %pM: %d\n",
ar               2910 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               2919 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_up(ar, arvif->vdev_id, arvif->aid, arvif->bssid);
ar               2921 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set vdev %d up: %d\n",
ar               2932 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, arvif->bssid,
ar               2935 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to poke peer %pM param for ps workaround on vdev %i: %d\n",
ar               2944 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               2949 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2951 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %i disassoc bssid %pM\n",
ar               2954 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_down(ar, arvif->vdev_id);
ar               2956 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to down vdev %i: %d\n",
ar               2961 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap);
ar               2963 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc txbf for vdev %i: %d\n",
ar               2973 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_station_assoc(struct ath10k *ar,
ar               2982 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               2984 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_peer_assoc_prepare(ar, vif, sta, &peer_arg);
ar               2986 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to prepare WMI peer assoc for %pM vdev %i: %i\n",
ar               2991 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_peer_assoc(ar, &peer_arg);
ar               2993 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to run peer assoc for STA %pM vdev %i: %d\n",
ar               3002 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_setup_peer_smps(ar, arvif, sta->addr,
ar               3005 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to setup peer SMPS for vdev %d: %d\n",
ar               3010 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_peer_assoc_qos_ap(ar, arvif, sta);
ar               3012 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set qos params for STA %pM for vdev %i: %d\n",
ar               3021 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to recalculate rts/cts prot for vdev %d: %d\n",
ar               3031 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to install peer wep keys for vdev %i: %d\n",
ar               3041 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_station_disassoc(struct ath10k *ar,
ar               3048 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               3054 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalculate rts/cts prot for vdev %d: %d\n",
ar               3062 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to clear all peer wep keys for vdev %i: %d\n",
ar               3074 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_update_channel_list(struct ath10k *ar)
ar               3076 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_hw *hw = ar->hw;
ar               3087 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               3163 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               3173 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_scan_chan_list(ar, &arg);
ar               3195 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_regd_update(struct ath10k *ar)
ar               3202 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               3204 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_update_channel_list(ar);
ar               3206 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to update channel list: %d\n", ret);
ar               3208 drivers/net/wireless/ath/ath10k/mac.c 	regpair = ar->ath_common.regulatory.regpair;
ar               3210 drivers/net/wireless/ath/ath10k/mac.c 	if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED) && ar->dfs_detector) {
ar               3211 drivers/net/wireless/ath/ath10k/mac.c 		nl_dfs_reg = ar->dfs_detector->region;
ar               3220 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_regdomain(ar,
ar               3228 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set pdev regdomain: %d\n", ret);
ar               3231 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_mac_update_channel_list(struct ath10k *ar,
ar               3236 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->low_5ghz_chan && ar->high_5ghz_chan) {
ar               3238 drivers/net/wireless/ath/ath10k/mac.c 			if (band->channels[i].center_freq < ar->low_5ghz_chan ||
ar               3239 drivers/net/wireless/ath/ath10k/mac.c 			    band->channels[i].center_freq > ar->high_5ghz_chan)
ar               3250 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               3253 drivers/net/wireless/ath/ath10k/mac.c 	ath_reg_notifier_apply(wiphy, request, &ar->ath_common.regulatory);
ar               3255 drivers/net/wireless/ath/ath10k/mac.c 	if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED) && ar->dfs_detector) {
ar               3256 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_REGULATORY, "dfs region 0x%x\n",
ar               3258 drivers/net/wireless/ath/ath10k/mac.c 		result = ar->dfs_detector->set_dfs_domain(ar->dfs_detector,
ar               3261 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "DFS region 0x%X not supported, will trigger radar for every pulse\n",
ar               3265 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               3266 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->state == ATH10K_STATE_ON)
ar               3267 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_regd_update(ar);
ar               3268 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               3270 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY)
ar               3271 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_mac_update_channel_list(ar,
ar               3272 drivers/net/wireless/ath/ath10k/mac.c 					       ar->hw->wiphy->bands[NL80211_BAND_5GHZ]);
ar               3275 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_stop_radar_confirmation(struct ath10k *ar)
ar               3277 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               3278 drivers/net/wireless/ath/ath10k/mac.c 	ar->radar_conf_state = ATH10K_RADAR_CONFIRMATION_STOPPED;
ar               3279 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               3281 drivers/net/wireless/ath/ath10k/mac.c 	cancel_work_sync(&ar->radar_confirmation_work);
ar               3295 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_tx_lock(struct ath10k *ar, int reason)
ar               3297 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar               3300 drivers/net/wireless/ath/ath10k/mac.c 	ar->tx_paused |= BIT(reason);
ar               3301 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_stop_queues(ar->hw);
ar               3307 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = data;
ar               3313 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_wake_queue(ar->hw, arvif->vdev_id);
ar               3316 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_tx_unlock(struct ath10k *ar, int reason)
ar               3318 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar               3321 drivers/net/wireless/ath/ath10k/mac.c 	ar->tx_paused &= ~BIT(reason);
ar               3323 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->tx_paused)
ar               3326 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar               3329 drivers/net/wireless/ath/ath10k/mac.c 						   ar);
ar               3331 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_wake_queue(ar->hw, ar->hw->offchannel_tx_hw_queue);
ar               3336 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               3338 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar               3342 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_stop_queue(ar->hw, arvif->vdev_id);
ar               3347 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               3349 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar               3354 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->tx_paused)
ar               3360 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_wake_queue(ar->hw, arvif->vdev_id);
ar               3367 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               3369 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->htt.tx_lock);
ar               3379 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               3404 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_handle_tx_pause_vdev(struct ath10k *ar, u32 vdev_id,
ar               3414 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->htt.tx_lock);
ar               3415 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar               3419 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar               3423 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_tx_h_get_txmode(struct ath10k *ar,
ar               3454 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->htt.target_version_major < 3 &&
ar               3457 drivers/net/wireless/ath/ath10k/mac.c 		      ar->running_fw->fw_file.fw_features))
ar               3471 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags) ||
ar               3553 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_tx_h_add_p2p_noa_ie(struct ath10k *ar,
ar               3565 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               3571 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               3575 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_mac_tx_h_fill_cb(struct ath10k *ar,
ar               3611 drivers/net/wireless/ath/ath10k/mac.c bool ath10k_mac_tx_frm_has_freq(struct ath10k *ar)
ar               3619 drivers/net/wireless/ath/ath10k/mac.c 	return (ar->htt.target_version_major >= 3 &&
ar               3620 drivers/net/wireless/ath/ath10k/mac.c 		ar->htt.target_version_minor >= 4 &&
ar               3621 drivers/net/wireless/ath/ath10k/mac.c 		ar->running_fw->fw_file.htt_op_version == ATH10K_FW_HTT_OP_VERSION_TLV);
ar               3624 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_tx_wmi_mgmt(struct ath10k *ar, struct sk_buff *skb)
ar               3626 drivers/net/wireless/ath/ath10k/mac.c 	struct sk_buff_head *q = &ar->wmi_mgmt_tx_queue;
ar               3629 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               3632 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "wmi mgmt tx queue is full\n");
ar               3638 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_queue_work(ar->hw, &ar->wmi_mgmt_tx_work);
ar               3641 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               3647 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_tx_h_get_txpath(struct ath10k *ar,
ar               3658 drivers/net/wireless/ath/ath10k/mac.c 			     ar->running_fw->fw_file.fw_features) ||
ar               3660 drivers/net/wireless/ath/ath10k/mac.c 				      ar->wmi.svc_map))
ar               3662 drivers/net/wireless/ath/ath10k/mac.c 		else if (ar->htt.target_version_major >= 3)
ar               3671 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_tx_submit(struct ath10k *ar,
ar               3676 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k_htt *htt = &ar->htt;
ar               3687 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_mac_tx_wmi_mgmt(ar, skb);
ar               3696 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to transmit packet, dropping: %d\n",
ar               3698 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_free_txskb(ar->hw, skb);
ar               3707 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_tx(struct ath10k *ar,
ar               3713 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_hw *hw = ar->hw;
ar               3720 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "IEEE80211_TX_CTL_NO_CCK_RATE\n");
ar               3726 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_tx_h_add_p2p_noa_ie(ar, vif, skb);
ar               3733 drivers/net/wireless/ath/ath10k/mac.c 		if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags) &&
ar               3742 drivers/net/wireless/ath/ath10k/mac.c 		if (!ath10k_mac_tx_frm_has_freq(ar)) {
ar               3743 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_dbg(ar, ATH10K_DBG_MAC, "mac queued offchannel skb %pK len %d\n",
ar               3746 drivers/net/wireless/ath/ath10k/mac.c 			skb_queue_tail(&ar->offchan_tx_queue, skb);
ar               3747 drivers/net/wireless/ath/ath10k/mac.c 			ieee80211_queue_work(hw, &ar->offchan_tx_work);
ar               3752 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_tx_submit(ar, txmode, txpath, skb);
ar               3754 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to submit frame: %d\n", ret);
ar               3761 drivers/net/wireless/ath/ath10k/mac.c void ath10k_offchan_tx_purge(struct ath10k *ar)
ar               3766 drivers/net/wireless/ath/ath10k/mac.c 		skb = skb_dequeue(&ar->offchan_tx_queue);
ar               3770 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_free_txskb(ar->hw, skb);
ar               3776 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = container_of(work, struct ath10k, offchan_tx_work);
ar               3800 drivers/net/wireless/ath/ath10k/mac.c 		skb = skb_dequeue(&ar->offchan_tx_queue);
ar               3804 drivers/net/wireless/ath/ath10k/mac.c 		mutex_lock(&ar->conf_mutex);
ar               3806 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac offchannel skb %pK len %d\n",
ar               3812 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               3813 drivers/net/wireless/ath/ath10k/mac.c 		vdev_id = ar->scan.vdev_id;
ar               3814 drivers/net/wireless/ath/ath10k/mac.c 		peer = ath10k_peer_find(ar, vdev_id, peer_addr);
ar               3815 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               3819 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_dbg(ar, ATH10K_DBG_MAC, "peer %pM on vdev %d already present\n",
ar               3823 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_peer_create(ar, NULL, NULL, vdev_id,
ar               3827 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to create peer %pM on vdev %d: %d\n",
ar               3832 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               3833 drivers/net/wireless/ath/ath10k/mac.c 		reinit_completion(&ar->offchan_tx_completed);
ar               3834 drivers/net/wireless/ath/ath10k/mac.c 		ar->offchan_tx_skb = skb;
ar               3835 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               3841 drivers/net/wireless/ath/ath10k/mac.c 		arvif = ath10k_get_arvif(ar, vdev_id);
ar               3850 drivers/net/wireless/ath/ath10k/mac.c 		txmode = ath10k_mac_tx_h_get_txmode(ar, vif, sta, skb);
ar               3851 drivers/net/wireless/ath/ath10k/mac.c 		txpath = ath10k_mac_tx_h_get_txpath(ar, skb, txmode);
ar               3853 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb, true);
ar               3855 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to transmit offchannel frame: %d\n",
ar               3861 drivers/net/wireless/ath/ath10k/mac.c 		wait_for_completion_timeout(&ar->offchan_tx_completed, 3 * HZ);
ar               3863 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "timed out waiting for offchannel skb %pK, len: %d\n",
ar               3867 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_peer_delete(ar, vdev_id, peer_addr);
ar               3869 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to delete peer %pM on vdev %d: %d\n",
ar               3873 drivers/net/wireless/ath/ath10k/mac.c 		mutex_unlock(&ar->conf_mutex);
ar               3877 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mgmt_over_wmi_tx_purge(struct ath10k *ar)
ar               3882 drivers/net/wireless/ath/ath10k/mac.c 		skb = skb_dequeue(&ar->wmi_mgmt_tx_queue);
ar               3886 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_free_txskb(ar->hw, skb);
ar               3892 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = container_of(work, struct ath10k, wmi_mgmt_tx_work);
ar               3898 drivers/net/wireless/ath/ath10k/mac.c 		skb = skb_dequeue(&ar->wmi_mgmt_tx_queue);
ar               3903 drivers/net/wireless/ath/ath10k/mac.c 			     ar->running_fw->fw_file.fw_features)) {
ar               3904 drivers/net/wireless/ath/ath10k/mac.c 			paddr = dma_map_single(ar->dev, skb->data,
ar               3906 drivers/net/wireless/ath/ath10k/mac.c 			if (dma_mapping_error(ar->dev, paddr)) {
ar               3907 drivers/net/wireless/ath/ath10k/mac.c 				ieee80211_free_txskb(ar->hw, skb);
ar               3910 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_wmi_mgmt_tx_send(ar, skb, paddr);
ar               3912 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to transmit management frame by ref via WMI: %d\n",
ar               3914 drivers/net/wireless/ath/ath10k/mac.c 				dma_unmap_single(ar->dev, paddr, skb->len,
ar               3916 drivers/net/wireless/ath/ath10k/mac.c 				ieee80211_free_txskb(ar->hw, skb);
ar               3919 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_wmi_mgmt_tx(ar, skb);
ar               3921 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to transmit management frame via WMI: %d\n",
ar               3923 drivers/net/wireless/ath/ath10k/mac.c 				ieee80211_free_txskb(ar->hw, skb);
ar               3940 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_mac_txq_unref(struct ath10k *ar, struct ieee80211_txq *txq)
ar               3949 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->htt.tx_lock);
ar               3950 drivers/net/wireless/ath/ath10k/mac.c 	idr_for_each_entry(&ar->htt.pending_tx, msdu, msdu_id) {
ar               3955 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar               3958 drivers/net/wireless/ath/ath10k/mac.c struct ieee80211_txq *ath10k_mac_txq_lookup(struct ath10k *ar,
ar               3964 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->data_lock);
ar               3966 drivers/net/wireless/ath/ath10k/mac.c 	peer = ar->peer_map[peer_id];
ar               3984 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               3988 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->htt.tx_q_state.mode == HTT_TX_MODE_SWITCH_PUSH)
ar               3991 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->htt.num_pending_tx < ar->htt.tx_q_state.num_push_allowed)
ar               4008 drivers/net/wireless/ath/ath10k/mac.c static u16 ath10k_mac_update_airtime(struct ath10k *ar,
ar               4019 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_REPORT_AIRTIME, ar->wmi.svc_map))
ar               4022 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               4041 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               4049 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4050 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k_htt *htt = &ar->htt;
ar               4063 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->htt.tx_lock);
ar               4065 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar               4072 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->htt.tx_lock);
ar               4074 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->htt.tx_lock);
ar               4079 drivers/net/wireless/ath/ath10k/mac.c 	airtime = ath10k_mac_update_airtime(ar, txq, skb);
ar               4080 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_tx_h_fill_cb(ar, vif, txq, skb, airtime);
ar               4083 drivers/net/wireless/ath/ath10k/mac.c 	txmode = ath10k_mac_tx_h_get_txmode(ar, vif, sta, skb);
ar               4084 drivers/net/wireless/ath/ath10k/mac.c 	txpath = ath10k_mac_tx_h_get_txpath(ar, skb, txmode);
ar               4091 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->htt.tx_lock);
ar               4096 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->htt.tx_lock);
ar               4099 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->htt.tx_lock);
ar               4102 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb, false);
ar               4104 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to push frame: %d\n", ret);
ar               4106 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->htt.tx_lock);
ar               4110 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->htt.tx_lock);
ar               4115 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->htt.tx_lock);
ar               4117 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar               4144 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_tx_push_pending(struct ath10k *ar)
ar               4146 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_hw *hw = ar->hw;
ar               4149 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->htt.tx_q_state.mode != HTT_TX_MODE_SWITCH_PUSH)
ar               4152 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->htt.num_pending_tx >= (ar->htt.max_num_pending_tx / 2))
ar               4168 drivers/net/wireless/ath/ath10k/mac.c void __ath10k_scan_finish(struct ath10k *ar)
ar               4170 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->data_lock);
ar               4172 drivers/net/wireless/ath/ath10k/mac.c 	switch (ar->scan.state) {
ar               4177 drivers/net/wireless/ath/ath10k/mac.c 		if (!ar->scan.is_roc) {
ar               4179 drivers/net/wireless/ath/ath10k/mac.c 				.aborted = (ar->scan.state ==
ar               4183 drivers/net/wireless/ath/ath10k/mac.c 			ieee80211_scan_completed(ar->hw, &info);
ar               4184 drivers/net/wireless/ath/ath10k/mac.c 		} else if (ar->scan.roc_notify) {
ar               4185 drivers/net/wireless/ath/ath10k/mac.c 			ieee80211_remain_on_channel_expired(ar->hw);
ar               4189 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.state = ATH10K_SCAN_IDLE;
ar               4190 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan_channel = NULL;
ar               4191 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.roc_freq = 0;
ar               4192 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_offchan_tx_purge(ar);
ar               4193 drivers/net/wireless/ath/ath10k/mac.c 		cancel_delayed_work(&ar->scan.timeout);
ar               4194 drivers/net/wireless/ath/ath10k/mac.c 		complete(&ar->scan.completed);
ar               4199 drivers/net/wireless/ath/ath10k/mac.c void ath10k_scan_finish(struct ath10k *ar)
ar               4201 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               4202 drivers/net/wireless/ath/ath10k/mac.c 	__ath10k_scan_finish(ar);
ar               4203 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               4206 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_scan_stop(struct ath10k *ar)
ar               4215 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               4217 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_stop_scan(ar, &arg);
ar               4219 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to stop wmi scan: %d\n", ret);
ar               4223 drivers/net/wireless/ath/ath10k/mac.c 	ret = wait_for_completion_timeout(&ar->scan.completed, 3 * HZ);
ar               4225 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to receive scan abortion completion: timed out\n");
ar               4239 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               4240 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->scan.state != ATH10K_SCAN_IDLE)
ar               4241 drivers/net/wireless/ath/ath10k/mac.c 		__ath10k_scan_finish(ar);
ar               4242 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               4247 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_scan_abort(struct ath10k *ar)
ar               4251 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               4253 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               4255 drivers/net/wireless/ath/ath10k/mac.c 	switch (ar->scan.state) {
ar               4263 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "refusing scan abortion due to invalid scan state: %s (%d)\n",
ar               4264 drivers/net/wireless/ath/ath10k/mac.c 			    ath10k_scan_state_str(ar->scan.state),
ar               4265 drivers/net/wireless/ath/ath10k/mac.c 			    ar->scan.state);
ar               4268 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.state = ATH10K_SCAN_ABORTING;
ar               4269 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               4271 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_scan_stop(ar);
ar               4273 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to abort scan: %d\n", ret);
ar               4275 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               4279 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               4284 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = container_of(work, struct ath10k,
ar               4287 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               4288 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_scan_abort(ar);
ar               4289 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               4292 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_start_scan(struct ath10k *ar,
ar               4297 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               4299 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_start_scan(ar, arg);
ar               4303 drivers/net/wireless/ath/ath10k/mac.c 	ret = wait_for_completion_timeout(&ar->scan.started, 1 * HZ);
ar               4305 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_scan_stop(ar);
ar               4307 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to stop scan: %d\n", ret);
ar               4316 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               4317 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->scan.state == ATH10K_SCAN_IDLE) {
ar               4318 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               4321 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               4334 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4335 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k_htt *htt = &ar->htt;
ar               4349 drivers/net/wireless/ath/ath10k/mac.c 	airtime = ath10k_mac_update_airtime(ar, txq, skb);
ar               4350 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_tx_h_fill_cb(ar, vif, txq, skb, airtime);
ar               4352 drivers/net/wireless/ath/ath10k/mac.c 	txmode = ath10k_mac_tx_h_get_txmode(ar, vif, sta, skb);
ar               4353 drivers/net/wireless/ath/ath10k/mac.c 	txpath = ath10k_mac_tx_h_get_txpath(ar, skb, txmode);
ar               4359 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->htt.tx_lock);
ar               4364 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to increase tx pending count: %d, dropping\n",
ar               4366 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->htt.tx_lock);
ar               4367 drivers/net/wireless/ath/ath10k/mac.c 			ieee80211_free_txskb(ar->hw, skb);
ar               4373 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_dbg(ar, ATH10K_DBG_MAC, "failed to increase tx mgmt pending count: %d, dropping\n",
ar               4376 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->htt.tx_lock);
ar               4377 drivers/net/wireless/ath/ath10k/mac.c 			ieee80211_free_txskb(ar->hw, skb);
ar               4380 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->htt.tx_lock);
ar               4383 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb, false);
ar               4385 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to transmit frame: %d\n", ret);
ar               4387 drivers/net/wireless/ath/ath10k/mac.c 			spin_lock_bh(&ar->htt.tx_lock);
ar               4391 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->htt.tx_lock);
ar               4400 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4405 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->htt.tx_q_state.mode != HTT_TX_MODE_SWITCH_PUSH)
ar               4426 drivers/net/wireless/ath/ath10k/mac.c void ath10k_drain_tx(struct ath10k *ar)
ar               4431 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_offchan_tx_purge(ar);
ar               4432 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mgmt_over_wmi_tx_purge(ar);
ar               4434 drivers/net/wireless/ath/ath10k/mac.c 	cancel_work_sync(&ar->offchan_tx_work);
ar               4435 drivers/net/wireless/ath/ath10k/mac.c 	cancel_work_sync(&ar->wmi_mgmt_tx_work);
ar               4438 drivers/net/wireless/ath/ath10k/mac.c void ath10k_halt(struct ath10k *ar)
ar               4442 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               4444 drivers/net/wireless/ath/ath10k/mac.c 	clear_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);
ar               4445 drivers/net/wireless/ath/ath10k/mac.c 	ar->filter_flags = 0;
ar               4446 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor = false;
ar               4447 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor_arvif = NULL;
ar               4449 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->monitor_started)
ar               4450 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_monitor_stop(ar);
ar               4452 drivers/net/wireless/ath/ath10k/mac.c 	ar->monitor_started = false;
ar               4453 drivers/net/wireless/ath/ath10k/mac.c 	ar->tx_paused = 0;
ar               4455 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_scan_finish(ar);
ar               4456 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_cleanup_all(ar);
ar               4457 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_stop_radar_confirmation(ar);
ar               4458 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_core_stop(ar);
ar               4459 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_hif_power_down(ar);
ar               4461 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               4462 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(arvif, &ar->arvifs, list)
ar               4464 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               4469 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4471 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               4473 drivers/net/wireless/ath/ath10k/mac.c 	*tx_ant = ar->cfg_tx_chainmask;
ar               4474 drivers/net/wireless/ath/ath10k/mac.c 	*rx_ant = ar->cfg_rx_chainmask;
ar               4476 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               4481 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_check_chain_mask(struct ath10k *ar, u32 cm, const char *dbg)
ar               4490 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_warn(ar, "mac %s antenna chainmask may be invalid: 0x%x.  Suggested values: 15, 7, 3, 1 or 0.\n",
ar               4494 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_get_vht_cap_bf_sts(struct ath10k *ar)
ar               4496 drivers/net/wireless/ath/ath10k/mac.c 	int nsts = ar->vht_cap_info;
ar               4511 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_get_vht_cap_bf_sound_dim(struct ath10k *ar)
ar               4513 drivers/net/wireless/ath/ath10k/mac.c 	int sound_dim = ar->vht_cap_info;
ar               4527 drivers/net/wireless/ath/ath10k/mac.c static struct ieee80211_sta_vht_cap ath10k_create_vht_cap(struct ath10k *ar)
ar               4530 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k_hw_params *hw = &ar->hw_params;
ar               4536 drivers/net/wireless/ath/ath10k/mac.c 	vht_cap.cap = ar->vht_cap_info;
ar               4538 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE |
ar               4540 drivers/net/wireless/ath/ath10k/mac.c 		val = ath10k_mac_get_vht_cap_bf_sts(ar);
ar               4547 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & (IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE |
ar               4549 drivers/net/wireless/ath/ath10k/mac.c 		val = ath10k_mac_get_vht_cap_bf_sound_dim(ar);
ar               4559 drivers/net/wireless/ath/ath10k/mac.c 	if ((ar->vht_cap_info & IEEE80211_VHT_CAP_SHORT_GI_160) &&
ar               4560 drivers/net/wireless/ath/ath10k/mac.c 	    (ar->vht_cap_info & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) == 0)
ar               4565 drivers/net/wireless/ath/ath10k/mac.c 		if ((i < ar->num_rf_chains) && (ar->cfg_tx_chainmask & BIT(i)))
ar               4571 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->cfg_tx_chainmask <= 1)
ar               4591 drivers/net/wireless/ath/ath10k/mac.c static struct ieee80211_sta_ht_cap ath10k_get_ht_cap(struct ath10k *ar)
ar               4596 drivers/net/wireless/ath/ath10k/mac.c 	if (!(ar->ht_cap_info & WMI_HT_CAP_ENABLED))
ar               4607 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_HT20_SGI)
ar               4610 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_HT40_SGI)
ar               4613 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_DYNAMIC_SMPS) {
ar               4622 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_TX_STBC && (ar->cfg_tx_chainmask > 1))
ar               4625 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_RX_STBC) {
ar               4628 drivers/net/wireless/ath/ath10k/mac.c 		stbc   = ar->ht_cap_info;
ar               4637 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_LDPC || (ar->ht_cap_info &
ar               4638 drivers/net/wireless/ath/ath10k/mac.c 	    WMI_HT_CAP_RX_LDPC && (ar->ht_cap_info & WMI_HT_CAP_TX_LDPC)))
ar               4641 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_L_SIG_TXOP_PROT)
ar               4645 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & WMI_VHT_CAP_MAX_MPDU_LEN_MASK)
ar               4648 drivers/net/wireless/ath/ath10k/mac.c 	for (i = 0; i < ar->num_rf_chains; i++) {
ar               4649 drivers/net/wireless/ath/ath10k/mac.c 		if (ar->cfg_rx_chainmask & BIT(i))
ar               4658 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_mac_setup_ht_vht_cap(struct ath10k *ar)
ar               4664 drivers/net/wireless/ath/ath10k/mac.c 	ht_cap = ath10k_get_ht_cap(ar);
ar               4665 drivers/net/wireless/ath/ath10k/mac.c 	vht_cap = ath10k_create_vht_cap(ar);
ar               4667 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
ar               4668 drivers/net/wireless/ath/ath10k/mac.c 		band = &ar->mac.sbands[NL80211_BAND_2GHZ];
ar               4671 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) {
ar               4672 drivers/net/wireless/ath/ath10k/mac.c 		band = &ar->mac.sbands[NL80211_BAND_5GHZ];
ar               4678 drivers/net/wireless/ath/ath10k/mac.c static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
ar               4682 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               4684 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_check_chain_mask(ar, tx_ant, "tx");
ar               4685 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_check_chain_mask(ar, rx_ant, "rx");
ar               4687 drivers/net/wireless/ath/ath10k/mac.c 	ar->cfg_tx_chainmask = tx_ant;
ar               4688 drivers/net/wireless/ath/ath10k/mac.c 	ar->cfg_rx_chainmask = rx_ant;
ar               4690 drivers/net/wireless/ath/ath10k/mac.c 	if ((ar->state != ATH10K_STATE_ON) &&
ar               4691 drivers/net/wireless/ath/ath10k/mac.c 	    (ar->state != ATH10K_STATE_RESTARTED))
ar               4694 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, ar->wmi.pdev_param->tx_chain_mask,
ar               4697 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set tx-chainmask: %d, req 0x%x\n",
ar               4702 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, ar->wmi.pdev_param->rx_chain_mask,
ar               4705 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set rx-chainmask: %d, req 0x%x\n",
ar               4711 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_setup_ht_vht_cap(ar);
ar               4718 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4721 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               4722 drivers/net/wireless/ath/ath10k/mac.c 	ret = __ath10k_set_antenna(ar, tx_ant, rx_ant);
ar               4723 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               4727 drivers/net/wireless/ath/ath10k/mac.c static int __ath10k_fetch_bb_timing_dt(struct ath10k *ar,
ar               4734 drivers/net/wireless/ath/ath10k/mac.c 	node = ar->dev->of_node;
ar               4754 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot bb_tx_timing 0x%x bb_xpa_timing 0x%x\n",
ar               4761 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4771 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_drain_tx(ar);
ar               4773 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               4775 drivers/net/wireless/ath/ath10k/mac.c 	switch (ar->state) {
ar               4777 drivers/net/wireless/ath/ath10k/mac.c 		ar->state = ATH10K_STATE_ON;
ar               4780 drivers/net/wireless/ath/ath10k/mac.c 		ar->state = ATH10K_STATE_RESTARTED;
ar               4793 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_hif_power_up(ar, ATH10K_FIRMWARE_MODE_NORMAL);
ar               4795 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_err(ar, "Could not init hif: %d\n", ret);
ar               4799 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_core_start(ar, ATH10K_FIRMWARE_MODE_NORMAL,
ar               4800 drivers/net/wireless/ath/ath10k/mac.c 				&ar->normal_mode_fw);
ar               4802 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_err(ar, "Could not init core: %d\n", ret);
ar               4806 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->pmf_qos;
ar               4807 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, 1);
ar               4809 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to enable PMF QOS: %d\n", ret);
ar               4813 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->dynamic_bw;
ar               4814 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, 1);
ar               4816 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to enable dynamic BW: %d\n", ret);
ar               4820 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_SPOOF_MAC_SUPPORT, ar->wmi.svc_map)) {
ar               4821 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_scan_prob_req_oui(ar, ar->mac_addr);
ar               4823 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_err(ar, "failed to set prob req oui: %i\n", ret);
ar               4828 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_ADAPTIVE_OCS, ar->wmi.svc_map)) {
ar               4829 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_adaptive_qcs(ar, true);
ar               4831 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to enable adaptive qcs: %d\n",
ar               4837 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_BURST, ar->wmi.svc_map)) {
ar               4838 drivers/net/wireless/ath/ath10k/mac.c 		param = ar->wmi.pdev_param->burst_enable;
ar               4839 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_set_param(ar, param, 0);
ar               4841 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to disable burst: %d\n", ret);
ar               4846 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->idle_ps_config;
ar               4847 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, 1);
ar               4849 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to enable idle_ps_config: %d\n", ret);
ar               4853 drivers/net/wireless/ath/ath10k/mac.c 	__ath10k_set_antenna(ar, ar->cfg_tx_chainmask, ar->cfg_rx_chainmask);
ar               4864 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->arp_ac_override;
ar               4865 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, 0);
ar               4867 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set arp ac override parameter: %d\n",
ar               4873 drivers/net/wireless/ath/ath10k/mac.c 		     ar->running_fw->fw_file.fw_features)) {
ar               4874 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_enable_adaptive_cca(ar, 1,
ar               4878 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to enable adaptive cca: %d\n",
ar               4884 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->ani_enable;
ar               4885 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, 1);
ar               4887 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to enable ani by default: %d\n",
ar               4892 drivers/net/wireless/ath/ath10k/mac.c 	ar->ani_enabled = true;
ar               4894 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_peer_stats_enabled(ar)) {
ar               4895 drivers/net/wireless/ath/ath10k/mac.c 		param = ar->wmi.pdev_param->peer_stats_update_period;
ar               4896 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_set_param(ar, param,
ar               4899 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar,
ar               4906 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->enable_btcoex;
ar               4907 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_COEX_GPIO, ar->wmi.svc_map) &&
ar               4909 drivers/net/wireless/ath/ath10k/mac.c 		     ar->running_fw->fw_file.fw_features)) {
ar               4910 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_set_param(ar, param, 0);
ar               4912 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar,
ar               4916 drivers/net/wireless/ath/ath10k/mac.c 		clear_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags);
ar               4919 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_BB_TIMING_CONFIG_SUPPORT, ar->wmi.svc_map)) {
ar               4920 drivers/net/wireless/ath/ath10k/mac.c 		ret = __ath10k_fetch_bb_timing_dt(ar, &bb_timing);
ar               4922 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_wmi_pdev_bb_timing(ar, &bb_timing);
ar               4924 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar,
ar               4932 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_started_vdevs = 0;
ar               4933 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_regd_update(ar);
ar               4935 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_spectral_start(ar);
ar               4936 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_thermal_set_throttling(ar);
ar               4938 drivers/net/wireless/ath/ath10k/mac.c 	ar->radar_conf_state = ATH10K_RADAR_CONFIRMATION_IDLE;
ar               4940 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               4944 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_core_stop(ar);
ar               4947 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_hif_power_down(ar);
ar               4950 drivers/net/wireless/ath/ath10k/mac.c 	ar->state = ATH10K_STATE_OFF;
ar               4953 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               4959 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               4961 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_drain_tx(ar);
ar               4963 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               4964 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->state != ATH10K_STATE_OFF) {
ar               4965 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_halt(ar);
ar               4966 drivers/net/wireless/ath/ath10k/mac.c 		ar->state = ATH10K_STATE_OFF;
ar               4968 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               4970 drivers/net/wireless/ath/ath10k/mac.c 	cancel_work_sync(&ar->set_coverage_class_work);
ar               4971 drivers/net/wireless/ath/ath10k/mac.c 	cancel_delayed_work_sync(&ar->scan.timeout);
ar               4972 drivers/net/wireless/ath/ath10k/mac.c 	cancel_work_sync(&ar->restart_work);
ar               4975 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_config_ps(struct ath10k *ar)
ar               4980 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               4982 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar               4985 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to setup powersave: %d\n", ret);
ar               4993 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_txpower_setup(struct ath10k *ar, int txpower)
ar               4998 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               5000 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac txpower %d\n", txpower);
ar               5002 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->txpower_limit2g;
ar               5003 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, txpower * 2);
ar               5005 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set 2g txpower %d: %d\n",
ar               5010 drivers/net/wireless/ath/ath10k/mac.c 	param = ar->wmi.pdev_param->txpower_limit5g;
ar               5011 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_set_param(ar, param, txpower * 2);
ar               5013 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set 5g txpower %d: %d\n",
ar               5021 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_txpower_recalc(struct ath10k *ar)
ar               5026 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               5028 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar               5041 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_txpower_setup(ar, txpower);
ar               5043 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to setup tx power %d: %d\n",
ar               5053 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5057 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               5060 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_config_ps(ar);
ar               5063 drivers/net/wireless/ath/ath10k/mac.c 		ar->monitor = conf->flags & IEEE80211_CONF_MONITOR;
ar               5064 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_monitor_recalc(ar);
ar               5066 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalc monitor: %d\n", ret);
ar               5069 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               5087 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               5091 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_wmi_get_txbf_conf_scheme(ar) != WMI_TXBF_CONF_BEFORE_ASSOC)
ar               5094 drivers/net/wireless/ath/ath10k/mac.c 	nsts = ath10k_mac_get_vht_cap_bf_sts(ar);
ar               5095 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE |
ar               5099 drivers/net/wireless/ath/ath10k/mac.c 	sound_dim = ath10k_mac_get_vht_cap_bf_sound_dim(ar);
ar               5100 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & (IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE |
ar               5107 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)
ar               5110 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)
ar               5114 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)
ar               5117 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->vht_cap_info & IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE)
ar               5121 drivers/net/wireless/ath/ath10k/mac.c 	return ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
ar               5122 drivers/net/wireless/ath/ath10k/mac.c 					 ar->wmi.vdev_param->txbf, value);
ar               5135 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5147 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               5152 drivers/net/wireless/ath/ath10k/mac.c 	arvif->ar = ar;
ar               5168 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->num_peers >= ar->max_num_peers) {
ar               5169 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "refusing vdev creation due to insufficient peer entry resources in firmware\n");
ar               5174 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->free_vdev_map == 0) {
ar               5175 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "Free vdev map is empty, no more interfaces allowed.\n");
ar               5179 drivers/net/wireless/ath/ath10k/mac.c 	bit = __ffs64(ar->free_vdev_map);
ar               5181 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac create vdev %i map %llx\n",
ar               5182 drivers/net/wireless/ath/ath10k/mac.c 		   bit, ar->free_vdev_map);
ar               5186 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_wmi_get_vdev_subtype(ar, WMI_VDEV_SUBTYPE_NONE);
ar               5192 drivers/net/wireless/ath/ath10k/mac.c 					(ar, WMI_VDEV_SUBTYPE_P2P_DEVICE);
ar               5199 drivers/net/wireless/ath/ath10k/mac.c 					(ar, WMI_VDEV_SUBTYPE_P2P_CLIENT);
ar               5205 drivers/net/wireless/ath/ath10k/mac.c 		if (test_bit(WMI_SERVICE_MESH_11S, ar->wmi.svc_map)) {
ar               5207 drivers/net/wireless/ath/ath10k/mac.c 						(ar, WMI_VDEV_SUBTYPE_MESH_11S);
ar               5208 drivers/net/wireless/ath/ath10k/mac.c 		} else if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ar               5210 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "must load driver with rawmode=1 to add mesh interfaces\n");
ar               5220 drivers/net/wireless/ath/ath10k/mac.c 						(ar, WMI_VDEV_SUBTYPE_P2P_GO);
ar               5258 drivers/net/wireless/ath/ath10k/mac.c 		arvif->beacon_buf = dma_alloc_coherent(ar->dev,
ar               5264 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to allocate beacon buffer: %d\n",
ar               5269 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(ATH10K_FLAG_HW_CRYPTO_DISABLED, &ar->dev_flags))
ar               5273 drivers/net/wireless/ath/ath10k/mac.c 	    !test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
ar               5274 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "cryptmode module param needed for sw crypto\n");
ar               5278 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev create %d (add interface) type %d subtype %d bcnmode %s\n",
ar               5282 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_create(ar, arvif->vdev_id, arvif->vdev_type,
ar               5285 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to create WMI vdev %i: %d\n",
ar               5291 drivers/net/wireless/ath/ath10k/mac.c 		     ar->wmi.svc_map)) {
ar               5292 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->disable_4addr_src_lrn;
ar               5293 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5296 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to disable 4addr src lrn vdev %i: %d\n",
ar               5301 drivers/net/wireless/ath/ath10k/mac.c 	ar->free_vdev_map &= ~(1LL << arvif->vdev_id);
ar               5302 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               5303 drivers/net/wireless/ath/ath10k/mac.c 	list_add(&arvif->list, &ar->arvifs);
ar               5304 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               5311 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to disable keepalive on vdev %i: %d\n",
ar               5318 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->tx_encap_type;
ar               5319 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5323 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set vdev %i TX encapsulation: %d\n",
ar               5331 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->cfg_tx_chainmask && (vif->type != NL80211_IFTYPE_MONITOR)) {
ar               5332 drivers/net/wireless/ath/ath10k/mac.c 		u16 nss = get_nss_from_chainmask(ar->cfg_tx_chainmask);
ar               5334 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->nss;
ar               5335 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5338 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set vdev %i chainmask 0x%x, nss %i: %d\n",
ar               5339 drivers/net/wireless/ath/ath10k/mac.c 				    arvif->vdev_id, ar->cfg_tx_chainmask, nss,
ar               5347 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_peer_create(ar, vif, NULL, arvif->vdev_id,
ar               5350 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to create vdev %i peer for AP/IBSS: %d\n",
ar               5355 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               5357 drivers/net/wireless/ath/ath10k/mac.c 		peer = ath10k_peer_find(ar, arvif->vdev_id, vif->addr);
ar               5359 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
ar               5361 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->data_lock);
ar               5369 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               5377 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set vdev %i kickout parameters: %d\n",
ar               5386 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_set_sta_ps_param(ar, arvif->vdev_id,
ar               5389 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set vdev %i RX wake policy: %d\n",
ar               5396 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalc ps wake threshold on vdev %i: %d\n",
ar               5403 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalc ps poll count on vdev %i: %d\n",
ar               5411 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set txbf for vdev %d: %d\n",
ar               5416 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_set_rts(arvif, ar->hw->wiphy->rts_threshold);
ar               5418 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set rts threshold for vdev %d: %d\n",
ar               5424 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_txpower_recalc(ar);
ar               5426 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc tx power: %d\n", ret);
ar               5430 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_RTT_RESPONDER_ROLE, ar->wmi.svc_map)) {
ar               5431 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->rtt_responder_role;
ar               5432 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5437 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set vdev %i FTM Responder: %d\n",
ar               5442 drivers/net/wireless/ath/ath10k/mac.c 		ar->monitor_arvif = arvif;
ar               5443 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_monitor_recalc(ar);
ar               5445 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalc monitor: %d\n", ret);
ar               5450 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->htt.tx_lock);
ar               5451 drivers/net/wireless/ath/ath10k/mac.c 	if (!ar->tx_paused)
ar               5452 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_wake_queue(ar->hw, arvif->vdev_id);
ar               5453 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar               5455 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               5461 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_wmi_peer_delete(ar, arvif->vdev_id, vif->addr);
ar               5462 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_wait_for_peer_delete_done(ar, arvif->vdev_id,
ar               5467 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_wmi_vdev_delete(ar, arvif->vdev_id);
ar               5468 drivers/net/wireless/ath/ath10k/mac.c 	ar->free_vdev_map |= 1LL << arvif->vdev_id;
ar               5469 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               5471 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               5475 drivers/net/wireless/ath/ath10k/mac.c 		dma_free_coherent(ar->dev, IEEE80211_MAX_FRAME_LEN,
ar               5480 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               5496 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5506 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               5510 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to stop spectral for vdev %i: %d\n",
ar               5513 drivers/net/wireless/ath/ath10k/mac.c 	ar->free_vdev_map |= 1LL << arvif->vdev_id;
ar               5514 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               5516 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               5520 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_peer_delete(arvif->ar, arvif->vdev_id,
ar               5523 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to submit AP/IBSS self-peer removal on vdev %i: %d\n",
ar               5526 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_wait_for_peer_delete_done(ar, arvif->vdev_id,
ar               5531 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %i delete (remove interface)\n",
ar               5534 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_delete(ar, arvif->vdev_id);
ar               5536 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to delete WMI vdev %i: %d\n",
ar               5539 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_SYNC_DELETE_CMDS, ar->wmi.svc_map)) {
ar               5540 drivers/net/wireless/ath/ath10k/mac.c 		time_left = wait_for_completion_timeout(&ar->vdev_delete_done,
ar               5543 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "Timeout in receiving vdev delete response\n");
ar               5553 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wait_for_peer_deleted(ar, arvif->vdev_id,
ar               5556 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to remove AP self-peer on vdev %i: %d\n",
ar               5559 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               5560 drivers/net/wireless/ath/ath10k/mac.c 		ar->num_peers--;
ar               5561 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               5564 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               5565 drivers/net/wireless/ath/ath10k/mac.c 	for (i = 0; i < ARRAY_SIZE(ar->peer_map); i++) {
ar               5566 drivers/net/wireless/ath/ath10k/mac.c 		peer = ar->peer_map[i];
ar               5571 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "found vif peer %pM entry on vdev %i after it was supposedly removed\n",
ar               5581 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               5583 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_peer_cleanup(ar, arvif->vdev_id);
ar               5584 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_txq_unref(ar, vif->txq);
ar               5587 drivers/net/wireless/ath/ath10k/mac.c 		ar->monitor_arvif = NULL;
ar               5588 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_monitor_recalc(ar);
ar               5590 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalc monitor: %d\n", ret);
ar               5593 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_txpower_recalc(ar);
ar               5595 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc tx power: %d\n", ret);
ar               5597 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->htt.tx_lock);
ar               5599 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->htt.tx_lock);
ar               5601 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_txq_unref(ar, vif->txq);
ar               5604 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               5624 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5627 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               5631 drivers/net/wireless/ath/ath10k/mac.c 	ar->filter_flags = *total_flags;
ar               5633 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_monitor_recalc(ar);
ar               5635 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc monitor: %d\n", ret);
ar               5637 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               5645 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5655 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               5662 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->beacon_interval;
ar               5663 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5665 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               5670 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set beacon interval for vdev %d: %i\n",
ar               5675 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               5679 drivers/net/wireless/ath/ath10k/mac.c 		pdev_param = ar->wmi.pdev_param->beacon_tx_mode;
ar               5680 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_set_param(ar, pdev_param,
ar               5683 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set beacon mode for vdev %d: %i\n",
ar               5688 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update beacon template: %d\n",
ar               5702 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to setup probe resp template on vdev %i: %d\n",
ar               5709 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               5713 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->dtim_period;
ar               5714 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5717 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set dtim period for vdev %d: %i\n",
ar               5734 drivers/net/wireless/ath/ath10k/mac.c 	    test_bit(WMI_SERVICE_RTT_RESPONDER_ROLE, ar->wmi.svc_map)) {
ar               5737 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->rtt_responder_role;
ar               5738 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5741 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               5754 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalculate rts/cts prot for vdev %d: %d\n",
ar               5760 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to set cts protection for vdev %d: %d\n",
ar               5772 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d slot_time %d\n",
ar               5775 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->slot_time;
ar               5776 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5779 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set erp slot for vdev %d: %i\n",
ar               5789 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               5793 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->preamble;
ar               5794 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5797 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set preamble for vdev %d: %i\n",
ar               5807 drivers/net/wireless/ath/ath10k/mac.c 			if (ar->monitor_started)
ar               5808 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_monitor_stop(ar);
ar               5810 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_monitor_recalc(ar);
ar               5817 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev_id %i txpower %d\n",
ar               5821 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_mac_txpower_recalc(ar);
ar               5823 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to recalc tx power: %d\n", ret);
ar               5829 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_config_ps(ar);
ar               5831 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to setup ps on vdev %i: %d\n",
ar               5844 drivers/net/wireless/ath/ath10k/mac.c 		if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY)
ar               5856 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               5860 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->mcast_data_rate;
ar               5861 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
ar               5864 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar,
ar               5868 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->bcast_data_rate;
ar               5869 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
ar               5872 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar,
ar               5879 drivers/net/wireless/ath/ath10k/mac.c 			mutex_unlock(&ar->conf_mutex);
ar               5883 drivers/net/wireless/ath/ath10k/mac.c 		sband = ar->hw->wiphy->bands[def.chan->band];
ar               5889 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "bitrate not supported %d\n", bitrate);
ar               5890 drivers/net/wireless/ath/ath10k/mac.c 			mutex_unlock(&ar->conf_mutex);
ar               5894 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->mgmt_rate;
ar               5895 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               5898 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set mgmt tx rate %d\n", ret);
ar               5901 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               5906 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5911 drivers/net/wireless/ath/ath10k/mac.c 	if (!ar->hw_params.hw_ops->set_coverage_class) {
ar               5915 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw_params.hw_ops->set_coverage_class(ar, value);
ar               5951 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               5959 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               5966 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               5967 drivers/net/wireless/ath/ath10k/mac.c 	switch (ar->scan.state) {
ar               5969 drivers/net/wireless/ath/ath10k/mac.c 		reinit_completion(&ar->scan.started);
ar               5970 drivers/net/wireless/ath/ath10k/mac.c 		reinit_completion(&ar->scan.completed);
ar               5971 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.state = ATH10K_SCAN_STARTING;
ar               5972 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.is_roc = false;
ar               5973 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.vdev_id = arvif->vdev_id;
ar               5982 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               5988 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_wmi_start_scan_init(ar, &arg);
ar               6035 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_start_scan(ar, &arg);
ar               6037 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start hw scan: %d\n", ret);
ar               6038 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               6039 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.state = ATH10K_SCAN_IDLE;
ar               6040 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               6043 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_queue_delayed_work(ar->hw, &ar->scan.timeout,
ar               6047 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6054 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6056 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6057 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_scan_abort(ar);
ar               6058 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6060 drivers/net/wireless/ath/ath10k/mac.c 	cancel_delayed_work_sync(&ar->scan.timeout);
ar               6063 drivers/net/wireless/ath/ath10k/mac.c static void ath10k_set_key_h_def_keyidx(struct ath10k *ar,
ar               6068 drivers/net/wireless/ath/ath10k/mac.c 	u32 vdev_param = arvif->ar->wmi.vdev_param->def_keyid;
ar               6098 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
ar               6101 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set vdev %i group key as default key: %d\n",
ar               6109 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6133 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6154 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               6155 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
ar               6156 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               6160 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to install key for non-existent peer %pM\n",
ar               6200 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to install key for vdev %i peer %pM: %d\n",
ar               6216 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to install (ucast) key for vdev %i peer %pM: %d\n",
ar               6222 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to disable (mcast) key for vdev %i peer %pM: %d\n",
ar               6229 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_set_key_h_def_keyidx(ar, arvif, cmd, key);
ar               6231 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               6232 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, arvif->vdev_id, peer_addr);
ar               6239 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "Peer %pM disappeared!\n", peer_addr);
ar               6240 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               6243 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               6247 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6255 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6259 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&arvif->ar->conf_mutex);
ar               6261 drivers/net/wireless/ath/ath10k/mac.c 	if (arvif->ar->state != ATH10K_STATE_ON)
ar               6264 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d set keyidx %d\n",
ar               6267 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(arvif->ar,
ar               6269 drivers/net/wireless/ath/ath10k/mac.c 					arvif->ar->wmi.vdev_param->def_keyid,
ar               6273 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to update wep key index for vdev %d: %d\n",
ar               6282 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&arvif->ar->conf_mutex);
ar               6287 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar;
ar               6301 drivers/net/wireless/ath/ath10k/mac.c 	ar = arvif->ar;
ar               6310 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               6319 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               6321 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6331 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM peer bw %d phymode %d\n",
ar               6334 drivers/net/wireless/ath/ath10k/mac.c 		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               6337 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update STA %pM peer phymode %d: %d\n",
ar               6342 drivers/net/wireless/ath/ath10k/mac.c 		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               6345 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update STA %pM peer bw %d: %d\n",
ar               6350 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM nss %d\n",
ar               6353 drivers/net/wireless/ath/ath10k/mac.c 		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               6356 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update STA %pM nss %d: %d\n",
ar               6361 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM smps %d\n",
ar               6364 drivers/net/wireless/ath/ath10k/mac.c 		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               6367 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update STA %pM smps %d: %d\n",
ar               6372 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM supp rates\n",
ar               6375 drivers/net/wireless/ath/ath10k/mac.c 		err = ath10k_station_assoc(ar, arvif->vif, sta, true);
ar               6377 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to reassociate station: %pM\n",
ar               6382 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6388 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               6390 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               6395 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->num_stations >= ar->max_num_stations)
ar               6398 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_stations++;
ar               6406 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               6408 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               6413 drivers/net/wireless/ath/ath10k/mac.c 	ar->num_stations--;
ar               6420 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6436 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6438 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               6441 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set tx power for station ret: %d\n",
ar               6447 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6457 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6480 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6490 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               6493 drivers/net/wireless/ath/ath10k/mac.c 			   ar->num_stations + 1, ar->max_num_stations,
ar               6494 drivers/net/wireless/ath/ath10k/mac.c 			   ar->num_peers + 1, ar->max_num_peers);
ar               6499 drivers/net/wireless/ath/ath10k/mac.c 			if (num_tdls_stations >= ar->max_num_tdls_vdevs) {
ar               6500 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "vdev %i exceeded maximum number of tdls vdevs %i\n",
ar               6502 drivers/net/wireless/ath/ath10k/mac.c 					    ar->max_num_tdls_vdevs);
ar               6511 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "refusing to associate station: too many connected already (%d)\n",
ar               6512 drivers/net/wireless/ath/ath10k/mac.c 				    ar->max_num_stations);
ar               6516 drivers/net/wireless/ath/ath10k/mac.c 		if (ath10k_debug_is_extd_tx_stats_enabled(ar)) {
ar               6525 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_peer_create(ar, vif, sta, arvif->vdev_id,
ar               6528 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to add peer %pM for vdev %d when adding a new sta: %i\n",
ar               6535 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               6537 drivers/net/wireless/ath/ath10k/mac.c 		peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
ar               6539 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to lookup peer %pM on vdev %i\n",
ar               6541 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->data_lock);
ar               6542 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_peer_delete(ar, arvif->vdev_id, sta->addr);
ar               6552 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               6557 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_update_fw_tdls_state(ar, arvif->vdev_id,
ar               6560 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update fw tdls state on vdev %i: %i\n",
ar               6562 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_peer_delete(ar, arvif->vdev_id,
ar               6569 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id, sta,
ar               6572 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar,
ar               6575 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_peer_delete(ar, arvif->vdev_id, sta->addr);
ar               6581 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_wmi_update_fw_tdls_state(ar, arvif->vdev_id,
ar               6589 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               6594 drivers/net/wireless/ath/ath10k/mac.c 			ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id,
ar               6598 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "failed to update tdls peer state for %pM state %d: %i\n",
ar               6603 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_peer_delete(ar, arvif->vdev_id, sta->addr);
ar               6605 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n",
ar               6610 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               6611 drivers/net/wireless/ath/ath10k/mac.c 		for (i = 0; i < ARRAY_SIZE(ar->peer_map); i++) {
ar               6612 drivers/net/wireless/ath/ath10k/mac.c 			peer = ar->peer_map[i];
ar               6617 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "found sta peer %pM (ptr %pK id %d) entry on vdev %i after it was supposedly removed\n",
ar               6625 drivers/net/wireless/ath/ath10k/mac.c 				ar->peer_map[i] = NULL;
ar               6627 drivers/net/wireless/ath/ath10k/mac.c 				ar->num_peers--;
ar               6630 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               6632 drivers/net/wireless/ath/ath10k/mac.c 		if (ath10k_debug_is_extd_tx_stats_enabled(ar)) {
ar               6638 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_mac_txq_unref(ar, sta->txq[i]);
ar               6647 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_update_fw_tdls_state(ar, arvif->vdev_id,
ar               6650 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update fw tdls state on vdev %i: %i\n",
ar               6661 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac sta %pM associated\n",
ar               6664 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_station_assoc(ar, vif, sta, false);
ar               6666 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to associate station %pM for vdev %i: %i\n",
ar               6674 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac tdls sta %pM authorized\n",
ar               6677 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_station_assoc(ar, vif, sta, false);
ar               6679 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to associate tdls station %pM for vdev %i: %i\n",
ar               6684 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id, sta,
ar               6687 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update tdls peer %pM for vdev %i: %i\n",
ar               6697 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac sta %pM disassociated\n",
ar               6700 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_station_disassoc(ar, vif, sta);
ar               6702 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to disassociate station: %pM vdev %i: %i\n",
ar               6706 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6710 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_conf_tx_uapsd(struct ath10k *ar, struct ieee80211_vif *vif,
ar               6719 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               6756 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_set_sta_ps_param(ar, arvif->vdev_id,
ar               6760 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set uapsd params: %d\n", ret);
ar               6769 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_set_sta_ps_param(ar, arvif->vdev_id,
ar               6773 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set rx wake param: %d\n", ret);
ar               6777 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc ps wake threshold on vdev %i: %d\n",
ar               6784 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to recalc ps poll count on vdev %i: %d\n",
ar               6789 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG, ar->wmi.svc_map) ||
ar               6790 drivers/net/wireless/ath/ath10k/mac.c 	    test_bit(WMI_SERVICE_STA_UAPSD_VAR_AUTO_TRIG, ar->wmi.svc_map)) {
ar               6803 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_sta_uapsd(ar, arvif->vdev_id,
ar               6806 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set uapsd auto trigger %d\n",
ar               6820 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6825 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6858 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->wmi.ops->gen_vdev_wmm_conf) {
ar               6859 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_wmm_conf(ar, arvif->vdev_id,
ar               6862 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set vdev wmm params on vdev %i: %d\n",
ar               6870 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_set_wmm_params(ar, &arvif->wmm_params);
ar               6872 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set wmm params: %d\n", ret);
ar               6877 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_conf_tx_uapsd(ar, vif, ac, params->uapsd);
ar               6879 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set sta uapsd: %d\n", ret);
ar               6882 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6894 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6900 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6907 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               6908 drivers/net/wireless/ath/ath10k/mac.c 	switch (ar->scan.state) {
ar               6910 drivers/net/wireless/ath/ath10k/mac.c 		reinit_completion(&ar->scan.started);
ar               6911 drivers/net/wireless/ath/ath10k/mac.c 		reinit_completion(&ar->scan.completed);
ar               6912 drivers/net/wireless/ath/ath10k/mac.c 		reinit_completion(&ar->scan.on_channel);
ar               6913 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.state = ATH10K_SCAN_STARTING;
ar               6914 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.is_roc = true;
ar               6915 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.vdev_id = arvif->vdev_id;
ar               6916 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.roc_freq = chan->center_freq;
ar               6917 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.roc_notify = true;
ar               6926 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               6931 drivers/net/wireless/ath/ath10k/mac.c 	scan_time_msec = ar->hw->wiphy->max_remain_on_channel_duration * 2;
ar               6934 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_wmi_start_scan_init(ar, &arg);
ar               6946 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_start_scan(ar, &arg);
ar               6948 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start roc scan: %d\n", ret);
ar               6949 drivers/net/wireless/ath/ath10k/mac.c 		spin_lock_bh(&ar->data_lock);
ar               6950 drivers/net/wireless/ath/ath10k/mac.c 		ar->scan.state = ATH10K_SCAN_IDLE;
ar               6951 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               6955 drivers/net/wireless/ath/ath10k/mac.c 	ret = wait_for_completion_timeout(&ar->scan.on_channel, 3 * HZ);
ar               6957 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to switch to channel for roc scan\n");
ar               6959 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_scan_stop(ar);
ar               6961 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to stop scan: %d\n", ret);
ar               6967 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_queue_delayed_work(ar->hw, &ar->scan.timeout,
ar               6972 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6979 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               6981 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               6983 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               6984 drivers/net/wireless/ath/ath10k/mac.c 	ar->scan.roc_notify = false;
ar               6985 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               6987 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_scan_abort(ar);
ar               6989 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               6991 drivers/net/wireless/ath/ath10k/mac.c 	cancel_delayed_work_sync(&ar->scan.timeout);
ar               7003 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7007 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7008 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar               7009 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d rts threshold %d\n",
ar               7014 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set rts threshold for vdev %d: %d\n",
ar               7019 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7039 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_wait_tx_complete(struct ath10k *ar)
ar               7048 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->state == ATH10K_STATE_WEDGED)
ar               7051 drivers/net/wireless/ath/ath10k/mac.c 	time_left = wait_event_timeout(ar->htt.empty_tx_wq, ({
ar               7054 drivers/net/wireless/ath/ath10k/mac.c 			spin_lock_bh(&ar->htt.tx_lock);
ar               7055 drivers/net/wireless/ath/ath10k/mac.c 			empty = (ar->htt.num_pending_tx == 0);
ar               7056 drivers/net/wireless/ath/ath10k/mac.c 			spin_unlock_bh(&ar->htt.tx_lock);
ar               7058 drivers/net/wireless/ath/ath10k/mac.c 			skip = (ar->state == ATH10K_STATE_WEDGED) ||
ar               7060 drivers/net/wireless/ath/ath10k/mac.c 					&ar->dev_flags);
ar               7066 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to flush transmit queue (skip %i ar-state %i): %ld\n",
ar               7067 drivers/net/wireless/ath/ath10k/mac.c 			    skip, ar->state, time_left);
ar               7073 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7080 drivers/net/wireless/ath/ath10k/mac.c 			list_for_each_entry(arvif, &ar->arvifs, list) {
ar               7082 drivers/net/wireless/ath/ath10k/mac.c 					ath10k_wmi_peer_flush(ar, arvif->vdev_id,
ar               7089 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7090 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_wait_tx_complete(ar);
ar               7091 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7106 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7111 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7116 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->state == ATH10K_STATE_RESTARTED) {
ar               7117 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_info(ar, "device successfully recovered\n");
ar               7118 drivers/net/wireless/ath/ath10k/mac.c 		ar->state = ATH10K_STATE_ON;
ar               7119 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_wake_queues(ar->hw);
ar               7122 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7126 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_update_bss_chan_survey(struct ath10k *ar,
ar               7132 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               7134 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(WMI_SERVICE_BSS_CHANNEL_INFO_64, ar->wmi.svc_map) ||
ar               7135 drivers/net/wireless/ath/ath10k/mac.c 	    (ar->rx_channel != channel))
ar               7138 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->scan.state != ATH10K_SCAN_IDLE) {
ar               7139 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC, "ignoring bss chan info request while scanning..\n");
ar               7143 drivers/net/wireless/ath/ath10k/mac.c 	reinit_completion(&ar->bss_survey_done);
ar               7145 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_pdev_bss_chan_info_request(ar, type);
ar               7147 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to send pdev bss chan info request\n");
ar               7151 drivers/net/wireless/ath/ath10k/mac.c 	ret = wait_for_completion_timeout(&ar->bss_survey_done, 3 * HZ);
ar               7153 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "bss channel survey timed out\n");
ar               7161 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7163 drivers/net/wireless/ath/ath10k/mac.c 	struct survey_info *ar_survey = &ar->survey[idx];
ar               7166 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7182 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_update_bss_chan_survey(ar, &sband->channels[idx]);
ar               7184 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               7186 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               7190 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->rx_channel == survey->channel)
ar               7194 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7199 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_bitrate_mask_has_single_rate(struct ath10k *ar,
ar               7223 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_bitrate_mask_get_single_nss(struct ath10k *ar,
ar               7228 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_supported_band *sband = &ar->mac.sbands[band];
ar               7272 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_bitrate_mask_get_single_rate(struct ath10k *ar,
ar               7289 drivers/net/wireless/ath/ath10k/mac.c 		if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY)
ar               7337 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               7341 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               7343 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac set fixed rate params vdev %i rate 0x%02hhx nss %hhu sgi %hhu\n",
ar               7346 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->fixed_rate;
ar               7347 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, rate);
ar               7349 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set fixed rate param 0x%02x: %d\n",
ar               7354 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->nss;
ar               7355 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, nss);
ar               7357 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set nss param %d: %d\n", nss, ret);
ar               7361 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->sgi;
ar               7362 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, sgi);
ar               7364 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set sgi param %d: %d\n", sgi, ret);
ar               7368 drivers/net/wireless/ath/ath10k/mac.c 	vdev_param = ar->wmi.vdev_param->ldpc;
ar               7369 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, ldpc);
ar               7371 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set ldpc param %d: %d\n", ldpc, ret);
ar               7379 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_can_set_bitrate_mask(struct ath10k *ar,
ar               7402 drivers/net/wireless/ath/ath10k/mac.c 				ath10k_warn(ar, "refusing bitrate mask with missing 0-7 VHT MCS rates\n");
ar               7410 drivers/net/wireless/ath/ath10k/mac.c static bool ath10k_mac_set_vht_bitrate_mask_fixup(struct ath10k *ar,
ar               7421 drivers/net/wireless/ath/ath10k/mac.c 	err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               7424 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to eanble STA %pM peer fixed rate: %d\n",
ar               7435 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               7440 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_mac_set_vht_bitrate_mask_fixup(ar, arvif, sta))
ar               7443 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               7445 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               7447 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_queue_work(ar->hw, &arsta->update_wk);
ar               7455 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               7462 drivers/net/wireless/ath/ath10k/mac.c 	err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
ar               7466 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to clear STA %pM peer fixed rate: %d\n",
ar               7476 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arvif->ar;
ar               7496 drivers/net/wireless/ath/ath10k/mac.c 	ldpc = !!(ar->ht_cap_info & WMI_HT_CAP_LDPC);
ar               7503 drivers/net/wireless/ath/ath10k/mac.c 			     ar->normal_mode_fw.fw_file.fw_features);
ar               7505 drivers/net/wireless/ath/ath10k/mac.c 		mutex_lock(&ar->conf_mutex);
ar               7506 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_iterate_stations_atomic(ar->hw,
ar               7509 drivers/net/wireless/ath/ath10k/mac.c 		mutex_unlock(&ar->conf_mutex);
ar               7512 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_mac_bitrate_mask_has_single_rate(ar, band, mask,
ar               7514 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_mac_bitrate_mask_get_single_rate(ar, band, mask,
ar               7518 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to get single rate for vdev %i: %d\n",
ar               7522 drivers/net/wireless/ath/ath10k/mac.c 	} else if (ath10k_mac_bitrate_mask_get_single_nss(ar, band, mask,
ar               7528 drivers/net/wireless/ath/ath10k/mac.c 		nss = min(ar->num_rf_chains,
ar               7532 drivers/net/wireless/ath/ath10k/mac.c 		if (!ath10k_mac_can_set_bitrate_mask(ar, band, mask,
ar               7543 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_mac_bitrate_mask_get_single_rate(ar, band, mask,
ar               7552 drivers/net/wireless/ath/ath10k/mac.c 		mutex_lock(&ar->conf_mutex);
ar               7558 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_iterate_stations_atomic(ar->hw,
ar               7562 drivers/net/wireless/ath/ath10k/mac.c 		mutex_unlock(&ar->conf_mutex);
ar               7565 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7569 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set fixed rate params on vdev %i: %d\n",
ar               7575 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7585 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7591 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               7593 drivers/net/wireless/ath/ath10k/mac.c 	peer = ath10k_peer_find(ar, arvif->vdev_id, sta->addr);
ar               7595 drivers/net/wireless/ath/ath10k/mac.c 		spin_unlock_bh(&ar->data_lock);
ar               7596 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "mac sta rc update failed to find peer %pM on vdev %i\n",
ar               7601 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               7623 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "Invalid bandwidth %d in rc update for %pM\n",
ar               7650 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "Invalid smps %d in sta rc update for %pM\n",
ar               7661 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               7669 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7675 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->dec_tsf;
ar               7678 drivers/net/wireless/ath/ath10k/mac.c 		vdev_param = ar->wmi.vdev_param->inc_tsf;
ar               7682 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
ar               7686 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to set tsf offset %d cmd %d: %d\n",
ar               7694 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7700 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ampdu vdev_id %i sta %pM tid %hu action %d\n",
ar               7725 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_update_rx_channel(struct ath10k *ar,
ar               7735 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               7736 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->data_lock);
ar               7752 drivers/net/wireless/ath/ath10k/mac.c 	if (!ctx && ath10k_mac_num_chanctxs(ar) == 1) {
ar               7753 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_iter_chan_contexts_atomic(ar->hw,
ar               7760 drivers/net/wireless/ath/ath10k/mac.c 		ar->rx_channel = def->chan;
ar               7761 drivers/net/wireless/ath/ath10k/mac.c 	} else if ((ctx && ath10k_mac_num_chanctxs(ar) == 0) ||
ar               7762 drivers/net/wireless/ath/ath10k/mac.c 		   (ctx && (ar->state == ATH10K_STATE_RESTARTED))) {
ar               7768 drivers/net/wireless/ath/ath10k/mac.c 		ar->rx_channel = ctx->def.chan;
ar               7770 drivers/net/wireless/ath/ath10k/mac.c 		ar->rx_channel = NULL;
ar               7776 drivers/net/wireless/ath/ath10k/mac.c ath10k_mac_update_vif_chan(struct ath10k *ar,
ar               7784 drivers/net/wireless/ath/ath10k/mac.c 	lockdep_assert_held(&ar->conf_mutex);
ar               7789 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->monitor_started)
ar               7790 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_monitor_stop(ar);
ar               7795 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               7809 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_down(ar, arvif->vdev_id);
ar               7811 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to down vdev %d: %d\n",
ar               7821 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               7822 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_update_rx_channel(ar, NULL, vifs, n_vifs);
ar               7823 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               7836 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update bcn tmpl during csa: %d\n",
ar               7841 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to update prb tmpl during csa: %d\n",
ar               7846 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to restart vdev %d: %d\n",
ar               7851 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid,
ar               7854 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to bring vdev up %d: %d\n",
ar               7860 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_monitor_recalc(ar);
ar               7867 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7869 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               7873 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7875 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               7876 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_update_rx_channel(ar, ctx, NULL, 0);
ar               7877 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               7879 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_recalc_radar_detection(ar);
ar               7880 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_monitor_recalc(ar);
ar               7882 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7891 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7893 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               7897 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7899 drivers/net/wireless/ath/ath10k/mac.c 	spin_lock_bh(&ar->data_lock);
ar               7900 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_update_rx_channel(ar, NULL, NULL, 0);
ar               7901 drivers/net/wireless/ath/ath10k/mac.c 	spin_unlock_bh(&ar->data_lock);
ar               7903 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_recalc_radar_detection(ar);
ar               7904 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_monitor_recalc(ar);
ar               7906 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               7953 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               7956 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               7958 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               7987 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_mac_update_vif_chan(ar, arg.vifs, arg.n_vifs);
ar               7992 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_recalc_radar_detection(ar);
ar               8002 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               8010 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               8014 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               8016 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               8021 drivers/net/wireless/ath/ath10k/mac.c 		mutex_unlock(&ar->conf_mutex);
ar               8027 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to start vdev %i addr %pM on freq %d: %d\n",
ar               8037 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to update vdev %i ps: %d\n",
ar               8043 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_up(ar, arvif->vdev_id, 0, vif->addr);
ar               8045 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to up monitor vdev %i: %d\n",
ar               8056 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to set cts protection for vdev %d: %d\n",
ar               8060 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_peer_stats_enabled(ar) &&
ar               8061 drivers/net/wireless/ath/ath10k/mac.c 	    ar->hw_params.tx_stats_over_pktlog) {
ar               8062 drivers/net/wireless/ath/ath10k/mac.c 		ar->pktlog_filter |= ATH10K_PKTLOG_PEER_STATS;
ar               8063 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_pdev_pktlog_enable(ar,
ar               8064 drivers/net/wireless/ath/ath10k/mac.c 						    ar->pktlog_filter);
ar               8066 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to enable pktlog %d\n", ret);
ar               8071 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               8080 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               8089 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               8093 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               8095 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               8104 drivers/net/wireless/ath/ath10k/mac.c 		ret = ath10k_wmi_vdev_down(ar, arvif->vdev_id);
ar               8106 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to down monitor vdev %i: %d\n",
ar               8114 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to stop vdev %i: %d\n",
ar               8119 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               8128 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = hw->priv;
ar               8130 drivers/net/wireless/ath/ath10k/mac.c 	mutex_lock(&ar->conf_mutex);
ar               8132 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               8135 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_update_vif_chan(ar, vifs, n_vifs);
ar               8137 drivers/net/wireless/ath/ath10k/mac.c 	mutex_unlock(&ar->conf_mutex);
ar               8145 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar;
ar               8148 drivers/net/wireless/ath/ath10k/mac.c 	ar = hw->priv;
ar               8150 drivers/net/wireless/ath/ath10k/mac.c 	list_for_each_entry(peer, &ar->peers, list)
ar               8161 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar = arsta->arvif->ar;
ar               8163 drivers/net/wireless/ath/ath10k/mac.c 	if (!ath10k_peer_stats_enabled(ar))
ar               8310 drivers/net/wireless/ath/ath10k/mac.c 	struct ath10k *ar;
ar               8322 drivers/net/wireless/ath/ath10k/mac.c 	ar = hw->priv;
ar               8323 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw = hw;
ar               8324 drivers/net/wireless/ath/ath10k/mac.c 	ar->ops = ops;
ar               8326 drivers/net/wireless/ath/ath10k/mac.c 	return ar;
ar               8329 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_destroy(struct ath10k *ar)
ar               8331 drivers/net/wireless/ath/ath10k/mac.c 	struct ieee80211_ops *ops = ar->ops;
ar               8333 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_free_hw(ar->hw);
ar               8553 drivers/net/wireless/ath/ath10k/mac.c struct ath10k_vif *ath10k_get_arvif(struct ath10k *ar, u32 vdev_id)
ar               8562 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar               8567 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "No VIF found for vdev %d\n", vdev_id);
ar               8577 drivers/net/wireless/ath/ath10k/mac.c static u32 ath10k_mac_wrdd_get_mcc(struct ath10k *ar, union acpi_object *wrdd)
ar               8588 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "ignoring malformed/unsupported wrdd structure\n");
ar               8613 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_get_wrdd_regulatory(struct ath10k *ar, u16 *rd)
ar               8622 drivers/net/wireless/ath/ath10k/mac.c 	root_handle = ACPI_HANDLE(ar->dev);
ar               8628 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               8635 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               8640 drivers/net/wireless/ath/ath10k/mac.c 	alpha2_code = ath10k_mac_wrdd_get_mcc(ar, wrdd.pointer);
ar               8649 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               8660 drivers/net/wireless/ath/ath10k/mac.c static int ath10k_mac_init_rd(struct ath10k *ar)
ar               8665 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_get_wrdd_regulatory(ar, &rd);
ar               8667 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               8669 drivers/net/wireless/ath/ath10k/mac.c 		rd = ar->hw_eeprom_rd;
ar               8672 drivers/net/wireless/ath/ath10k/mac.c 	ar->ath_common.regulatory.current_rd = rd;
ar               8676 drivers/net/wireless/ath/ath10k/mac.c int ath10k_mac_register(struct ath10k *ar)
ar               8704 drivers/net/wireless/ath/ath10k/mac.c 	if (!is_valid_ether_addr(ar->mac_addr)) {
ar               8705 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "invalid MAC address; choosing random\n");
ar               8706 drivers/net/wireless/ath/ath10k/mac.c 		eth_random_addr(ar->mac_addr);
ar               8708 drivers/net/wireless/ath/ath10k/mac.c 	SET_IEEE80211_PERM_ADDR(ar->hw, ar->mac_addr);
ar               8710 drivers/net/wireless/ath/ath10k/mac.c 	SET_IEEE80211_DEV(ar->hw, ar->dev);
ar               8716 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
ar               8725 drivers/net/wireless/ath/ath10k/mac.c 		band = &ar->mac.sbands[NL80211_BAND_2GHZ];
ar               8729 drivers/net/wireless/ath/ath10k/mac.c 		if (ar->hw_params.cck_rate_map_rev2) {
ar               8737 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->bands[NL80211_BAND_2GHZ] = band;
ar               8740 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) {
ar               8749 drivers/net/wireless/ath/ath10k/mac.c 		band = &ar->mac.sbands[NL80211_BAND_5GHZ];
ar               8754 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
ar               8757 drivers/net/wireless/ath/ath10k/mac.c 	wiphy_read_of_freq_limits(ar->hw->wiphy);
ar               8758 drivers/net/wireless/ath/ath10k/mac.c 	ath10k_mac_setup_ht_vht_cap(ar);
ar               8760 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->interface_modes =
ar               8765 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->available_antennas_rx = ar->cfg_rx_chainmask;
ar               8766 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->available_antennas_tx = ar->cfg_tx_chainmask;
ar               8768 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(ATH10K_FW_FEATURE_NO_P2P, ar->normal_mode_fw.fw_file.fw_features))
ar               8769 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->interface_modes |=
ar               8774 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, SIGNAL_DBM);
ar               8777 drivers/net/wireless/ath/ath10k/mac.c 		      ar->running_fw->fw_file.fw_features)) {
ar               8778 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_hw_set(ar->hw, SUPPORTS_PS);
ar               8779 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_hw_set(ar->hw, SUPPORTS_DYNAMIC_PS);
ar               8782 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, MFP_CAPABLE);
ar               8783 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, REPORTS_TX_ACK_STATUS);
ar               8784 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, HAS_RATE_CONTROL);
ar               8785 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, AP_LINK_PS);
ar               8786 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, SPECTRUM_MGMT);
ar               8787 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, SUPPORT_FAST_XMIT);
ar               8788 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, CONNECTION_MONITOR);
ar               8789 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, SUPPORTS_PER_STA_GTK);
ar               8790 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, WANT_MONITOR_VIF);
ar               8791 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, CHANCTX_STA_CSA);
ar               8792 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, QUEUE_CONTROL);
ar               8793 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG);
ar               8794 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK);
ar               8796 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
ar               8797 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_hw_set(ar->hw, SW_CRYPTO_CONTROL);
ar               8799 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->features |= NL80211_FEATURE_STATIC_SMPS;
ar               8800 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
ar               8802 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_DYNAMIC_SMPS)
ar               8803 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->features |= NL80211_FEATURE_DYNAMIC_SMPS;
ar               8805 drivers/net/wireless/ath/ath10k/mac.c 	if (ar->ht_cap_info & WMI_HT_CAP_ENABLED) {
ar               8806 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_hw_set(ar->hw, AMPDU_AGGREGATION);
ar               8807 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_hw_set(ar->hw, TX_AMPDU_SETUP_IN_HW);
ar               8810 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->max_scan_ssids = WLAN_SCAN_PARAMS_MAX_SSID;
ar               8811 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->max_scan_ie_len = WLAN_SCAN_PARAMS_MAX_IE_LEN;
ar               8813 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_NLO, ar->wmi.svc_map)) {
ar               8814 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_sched_scan_reqs = 1;
ar               8815 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_sched_scan_ssids = WMI_PNO_MAX_SUPP_NETWORKS;
ar               8816 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_match_sets = WMI_PNO_MAX_SUPP_NETWORKS;
ar               8817 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_sched_scan_ie_len = WMI_PNO_MAX_IE_LENGTH;
ar               8818 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_sched_scan_plans = WMI_PNO_MAX_SCHED_SCAN_PLANS;
ar               8819 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_sched_scan_plan_interval =
ar               8821 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->max_sched_scan_plan_iterations =
ar               8825 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->vif_data_size = sizeof(struct ath10k_vif);
ar               8826 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->sta_data_size = sizeof(struct ath10k_sta);
ar               8827 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->txq_data_size = sizeof(struct ath10k_txq);
ar               8829 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->max_listen_interval = ATH10K_MAX_HW_LISTEN_INTERVAL;
ar               8831 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_BEACON_OFFLOAD, ar->wmi.svc_map)) {
ar               8832 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD;
ar               8838 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->probe_resp_offload |=
ar               8844 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_TDLS, ar->wmi.svc_map) ||
ar               8845 drivers/net/wireless/ath/ath10k/mac.c 	    test_bit(WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY, ar->wmi.svc_map)) {
ar               8846 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS;
ar               8847 drivers/net/wireless/ath/ath10k/mac.c 		if (test_bit(WMI_SERVICE_TDLS_WIDER_BANDWIDTH, ar->wmi.svc_map))
ar               8848 drivers/net/wireless/ath/ath10k/mac.c 			ieee80211_hw_set(ar->hw, TDLS_WIDER_BW);
ar               8851 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map))
ar               8852 drivers/net/wireless/ath/ath10k/mac.c 		ieee80211_hw_set(ar->hw, SUPPORTS_TDLS_BUFFER_STA);
ar               8854 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
ar               8855 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH;
ar               8856 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->max_remain_on_channel_duration = 5000;
ar               8858 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD;
ar               8859 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->features |= NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE |
ar               8862 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->max_ap_assoc_sta = ar->max_num_stations;
ar               8864 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_wow_init(ar);
ar               8866 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_warn(ar, "failed to init wow: %d\n", ret);
ar               8870 drivers/net/wireless/ath/ath10k/mac.c 	wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_VHT_IBSS);
ar               8871 drivers/net/wireless/ath/ath10k/mac.c 	wiphy_ext_feature_set(ar->hw->wiphy,
ar               8874 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map) ||
ar               8875 drivers/net/wireless/ath/ath10k/mac.c 	    test_bit(WMI_SERVICE_HTT_MGMT_TX_COMP_VALID_FLAGS, ar->wmi.svc_map))
ar               8876 drivers/net/wireless/ath/ath10k/mac.c 		wiphy_ext_feature_set(ar->hw->wiphy,
ar               8879 drivers/net/wireless/ath/ath10k/mac.c 	if (ath10k_peer_stats_enabled(ar) ||
ar               8880 drivers/net/wireless/ath/ath10k/mac.c 	    test_bit(WMI_SERVICE_REPORT_AIRTIME, ar->wmi.svc_map))
ar               8881 drivers/net/wireless/ath/ath10k/mac.c 		wiphy_ext_feature_set(ar->hw->wiphy,
ar               8884 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_RTT_RESPONDER_ROLE, ar->wmi.svc_map))
ar               8885 drivers/net/wireless/ath/ath10k/mac.c 		wiphy_ext_feature_set(ar->hw->wiphy,
ar               8888 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_TX_PWR_PER_PEER, ar->wmi.svc_map))
ar               8889 drivers/net/wireless/ath/ath10k/mac.c 		wiphy_ext_feature_set(ar->hw->wiphy,
ar               8895 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->queues = IEEE80211_MAX_QUEUES;
ar               8901 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->offchannel_tx_hw_queue = IEEE80211_MAX_QUEUES - 1;
ar               8903 drivers/net/wireless/ath/ath10k/mac.c 	switch (ar->running_fw->fw_file.wmi_op_version) {
ar               8905 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->iface_combinations = ath10k_if_comb;
ar               8906 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->n_iface_combinations =
ar               8908 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
ar               8911 drivers/net/wireless/ath/ath10k/mac.c 		if (test_bit(WMI_SERVICE_ADAPTIVE_OCS, ar->wmi.svc_map)) {
ar               8912 drivers/net/wireless/ath/ath10k/mac.c 			ar->hw->wiphy->iface_combinations =
ar               8914 drivers/net/wireless/ath/ath10k/mac.c 			ar->hw->wiphy->n_iface_combinations =
ar               8917 drivers/net/wireless/ath/ath10k/mac.c 			ar->hw->wiphy->iface_combinations = ath10k_tlv_if_comb;
ar               8918 drivers/net/wireless/ath/ath10k/mac.c 			ar->hw->wiphy->n_iface_combinations =
ar               8921 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
ar               8926 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb;
ar               8927 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->n_iface_combinations =
ar               8931 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->iface_combinations = ath10k_10_4_if_comb;
ar               8932 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->n_iface_combinations =
ar               8935 drivers/net/wireless/ath/ath10k/mac.c 			     ar->wmi.svc_map)) {
ar               8936 drivers/net/wireless/ath/ath10k/mac.c 			ar->hw->wiphy->iface_combinations =
ar               8938 drivers/net/wireless/ath/ath10k/mac.c 			ar->hw->wiphy->n_iface_combinations =
ar               8949 drivers/net/wireless/ath/ath10k/mac.c 	if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
ar               8950 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->netdev_features = NETIF_F_HW_CSUM;
ar               8954 drivers/net/wireless/ath/ath10k/mac.c 		ar->ath_common.debug_mask = ATH_DBG_DFS;
ar               8955 drivers/net/wireless/ath/ath10k/mac.c 		ar->dfs_detector = dfs_pattern_detector_init(&ar->ath_common,
ar               8958 drivers/net/wireless/ath/ath10k/mac.c 		if (!ar->dfs_detector)
ar               8959 drivers/net/wireless/ath/ath10k/mac.c 			ath10k_warn(ar, "failed to initialise DFS pattern detector\n");
ar               8962 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath10k_mac_init_rd(ar);
ar               8964 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_err(ar, "failed to derive regdom: %d\n", ret);
ar               8969 drivers/net/wireless/ath/ath10k/mac.c 	if (!ar->hw_params.hw_ops->set_coverage_class)
ar               8970 drivers/net/wireless/ath/ath10k/mac.c 		ar->ops->set_coverage_class = NULL;
ar               8972 drivers/net/wireless/ath/ath10k/mac.c 	ret = ath_regd_init(&ar->ath_common.regulatory, ar->hw->wiphy,
ar               8975 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_err(ar, "failed to initialise regulatory: %i\n", ret);
ar               8979 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_SPOOF_MAC_SUPPORT, ar->wmi.svc_map)) {
ar               8980 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->features |=
ar               8984 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->cipher_suites = cipher_suites;
ar               8990 drivers/net/wireless/ath/ath10k/mac.c 	if (!ar->hw_params.n_cipher_suites ||
ar               8991 drivers/net/wireless/ath/ath10k/mac.c 	    ar->hw_params.n_cipher_suites > ARRAY_SIZE(cipher_suites)) {
ar               8992 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_err(ar, "invalid hw_params.n_cipher_suites %d\n",
ar               8993 drivers/net/wireless/ath/ath10k/mac.c 			   ar->hw_params.n_cipher_suites);
ar               8994 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw_params.n_cipher_suites = 8;
ar               8996 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->wiphy->n_cipher_suites = ar->hw_params.n_cipher_suites;
ar               8998 drivers/net/wireless/ath/ath10k/mac.c 	wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
ar               9000 drivers/net/wireless/ath/ath10k/mac.c 	ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
ar               9002 drivers/net/wireless/ath/ath10k/mac.c 	ret = ieee80211_register_hw(ar->hw);
ar               9004 drivers/net/wireless/ath/ath10k/mac.c 		ath10k_err(ar, "failed to register ieee80211: %d\n", ret);
ar               9008 drivers/net/wireless/ath/ath10k/mac.c 	if (test_bit(WMI_SERVICE_PER_PACKET_SW_ENCRYPT, ar->wmi.svc_map)) {
ar               9009 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_AP_VLAN);
ar               9010 drivers/net/wireless/ath/ath10k/mac.c 		ar->hw->wiphy->software_iftypes |= BIT(NL80211_IFTYPE_AP_VLAN);
ar               9013 drivers/net/wireless/ath/ath10k/mac.c 	if (!ath_is_world_regd(&ar->ath_common.regulatory)) {
ar               9014 drivers/net/wireless/ath/ath10k/mac.c 		ret = regulatory_hint(ar->hw->wiphy,
ar               9015 drivers/net/wireless/ath/ath10k/mac.c 				      ar->ath_common.regulatory.alpha2);
ar               9023 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_unregister_hw(ar->hw);
ar               9026 drivers/net/wireless/ath/ath10k/mac.c 	if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED) && ar->dfs_detector)
ar               9027 drivers/net/wireless/ath/ath10k/mac.c 		ar->dfs_detector->exit(ar->dfs_detector);
ar               9030 drivers/net/wireless/ath/ath10k/mac.c 	kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
ar               9031 drivers/net/wireless/ath/ath10k/mac.c 	kfree(ar->mac.sbands[NL80211_BAND_5GHZ].channels);
ar               9033 drivers/net/wireless/ath/ath10k/mac.c 	SET_IEEE80211_DEV(ar->hw, NULL);
ar               9037 drivers/net/wireless/ath/ath10k/mac.c void ath10k_mac_unregister(struct ath10k *ar)
ar               9039 drivers/net/wireless/ath/ath10k/mac.c 	ieee80211_unregister_hw(ar->hw);
ar               9041 drivers/net/wireless/ath/ath10k/mac.c 	if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED) && ar->dfs_detector)
ar               9042 drivers/net/wireless/ath/ath10k/mac.c 		ar->dfs_detector->exit(ar->dfs_detector);
ar               9044 drivers/net/wireless/ath/ath10k/mac.c 	kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
ar               9045 drivers/net/wireless/ath/ath10k/mac.c 	kfree(ar->mac.sbands[NL80211_BAND_5GHZ].channels);
ar               9047 drivers/net/wireless/ath/ath10k/mac.c 	SET_IEEE80211_DEV(ar->hw, NULL);
ar                 19 drivers/net/wireless/ath/ath10k/mac.h 	struct ath10k *ar;
ar                 32 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_destroy(struct ath10k *ar);
ar                 33 drivers/net/wireless/ath/ath10k/mac.h int ath10k_mac_register(struct ath10k *ar);
ar                 34 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_unregister(struct ath10k *ar);
ar                 35 drivers/net/wireless/ath/ath10k/mac.h struct ath10k_vif *ath10k_get_arvif(struct ath10k *ar, u32 vdev_id);
ar                 36 drivers/net/wireless/ath/ath10k/mac.h void __ath10k_scan_finish(struct ath10k *ar);
ar                 37 drivers/net/wireless/ath/ath10k/mac.h void ath10k_scan_finish(struct ath10k *ar);
ar                 39 drivers/net/wireless/ath/ath10k/mac.h void ath10k_offchan_tx_purge(struct ath10k *ar);
ar                 41 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mgmt_over_wmi_tx_purge(struct ath10k *ar);
ar                 43 drivers/net/wireless/ath/ath10k/mac.h void ath10k_halt(struct ath10k *ar);
ar                 45 drivers/net/wireless/ath/ath10k/mac.h void ath10k_drain_tx(struct ath10k *ar);
ar                 46 drivers/net/wireless/ath/ath10k/mac.h bool ath10k_mac_is_peer_wep_key_set(struct ath10k *ar, const u8 *addr,
ar                 51 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_handle_beacon(struct ath10k *ar, struct sk_buff *skb);
ar                 52 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_handle_beacon_miss(struct ath10k *ar, u32 vdev_id);
ar                 53 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_handle_tx_pause_vdev(struct ath10k *ar, u32 vdev_id,
ar                 62 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_tx_lock(struct ath10k *ar, int reason);
ar                 63 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_tx_unlock(struct ath10k *ar, int reason);
ar                 66 drivers/net/wireless/ath/ath10k/mac.h bool ath10k_mac_tx_frm_has_freq(struct ath10k *ar);
ar                 67 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_tx_push_pending(struct ath10k *ar);
ar                 70 drivers/net/wireless/ath/ath10k/mac.h struct ieee80211_txq *ath10k_mac_txq_lookup(struct ath10k *ar,
ar                 73 drivers/net/wireless/ath/ath10k/mac.h int ath10k_mac_ext_resource_config(struct ath10k *ar, u32 val);
ar                 74 drivers/net/wireless/ath/ath10k/mac.h void ath10k_mac_wait_tx_complete(struct ath10k *ar);
ar                 73 drivers/net/wireless/ath/ath10k/p2p.c 	struct ath10k *ar = arvif->ar;
ar                 75 drivers/net/wireless/ath/ath10k/p2p.c 	lockdep_assert_held(&ar->data_lock);
ar                 86 drivers/net/wireless/ath/ath10k/p2p.c 	struct ath10k *ar = arvif->ar;
ar                 90 drivers/net/wireless/ath/ath10k/p2p.c 	lockdep_assert_held(&ar->data_lock);
ar                109 drivers/net/wireless/ath/ath10k/p2p.c 	struct ath10k *ar = arvif->ar;
ar                111 drivers/net/wireless/ath/ath10k/p2p.c 	spin_lock_bh(&ar->data_lock);
ar                113 drivers/net/wireless/ath/ath10k/p2p.c 	spin_unlock_bh(&ar->data_lock);
ar                133 drivers/net/wireless/ath/ath10k/p2p.c void ath10k_p2p_noa_update_by_vdev_id(struct ath10k *ar, u32 vdev_id,
ar                141 drivers/net/wireless/ath/ath10k/p2p.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar                 14 drivers/net/wireless/ath/ath10k/p2p.h void ath10k_p2p_noa_update_by_vdev_id(struct ath10k *ar, u32 vdev_id,
ar                100 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_buffer_cleanup(struct ath10k *ar);
ar                101 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_cold_reset(struct ath10k *ar);
ar                102 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_safe_chip_reset(struct ath10k *ar);
ar                103 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_init_irq(struct ath10k *ar);
ar                104 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_deinit_irq(struct ath10k *ar);
ar                105 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_request_irq(struct ath10k *ar);
ar                106 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_free_irq(struct ath10k *ar);
ar                107 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_bmi_wait(struct ath10k *ar,
ar                111 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_qca99x0_chip_reset(struct ath10k *ar);
ar                429 drivers/net/wireless/ath/ath10k/pci.c static bool ath10k_pci_is_awake(struct ath10k *ar)
ar                431 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                438 drivers/net/wireless/ath/ath10k/pci.c static void __ath10k_pci_wake(struct ath10k *ar)
ar                440 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                444 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI_PS, "pci ps wake reg refcount %lu awake %d\n",
ar                452 drivers/net/wireless/ath/ath10k/pci.c static void __ath10k_pci_sleep(struct ath10k *ar)
ar                454 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                458 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI_PS, "pci ps sleep reg refcount %lu awake %d\n",
ar                467 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_wake_wait(struct ath10k *ar)
ar                473 drivers/net/wireless/ath/ath10k/pci.c 		if (ath10k_pci_is_awake(ar)) {
ar                475 drivers/net/wireless/ath/ath10k/pci.c 				ath10k_warn(ar, "device wakeup took %d ms which is unusually long, otherwise it works normally.\n",
ar                490 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_force_wake(struct ath10k *ar)
ar                492 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                506 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_wake_wait(ar);
ar                516 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_force_sleep(struct ath10k *ar)
ar                518 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                531 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_wake(struct ath10k *ar)
ar                533 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                542 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI_PS, "pci ps wake refcount %lu awake %d\n",
ar                549 drivers/net/wireless/ath/ath10k/pci.c 		__ath10k_pci_wake(ar);
ar                551 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_wake_wait(ar);
ar                566 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_sleep(struct ath10k *ar)
ar                568 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                576 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI_PS, "pci ps sleep refcount %lu awake %d\n",
ar                594 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ar_pci->ar;
ar                599 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI_PS, "pci ps timer refcount %lu awake %d\n",
ar                605 drivers/net/wireless/ath/ath10k/pci.c 	__ath10k_pci_sleep(ar);
ar                611 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_sleep_sync(struct ath10k *ar)
ar                613 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                617 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_force_sleep(ar);
ar                625 drivers/net/wireless/ath/ath10k/pci.c 	__ath10k_pci_sleep(ar);
ar                629 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_bus_pci_write32(struct ath10k *ar, u32 offset, u32 value)
ar                631 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                635 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "refusing to write mmio out of bounds at 0x%08x - 0x%08zx (max 0x%08zx)\n",
ar                640 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wake(ar);
ar                642 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wake target for write32 of 0x%08x at 0x%08x: %d\n",
ar                648 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_sleep(ar);
ar                651 drivers/net/wireless/ath/ath10k/pci.c static u32 ath10k_bus_pci_read32(struct ath10k *ar, u32 offset)
ar                653 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                658 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "refusing to read mmio out of bounds at 0x%08x - 0x%08zx (max 0x%08zx)\n",
ar                663 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wake(ar);
ar                665 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wake target for read32 at 0x%08x: %d\n",
ar                671 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_sleep(ar);
ar                676 drivers/net/wireless/ath/ath10k/pci.c inline void ath10k_pci_write32(struct ath10k *ar, u32 offset, u32 value)
ar                678 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                680 drivers/net/wireless/ath/ath10k/pci.c 	ce->bus_ops->write32(ar, offset, value);
ar                683 drivers/net/wireless/ath/ath10k/pci.c inline u32 ath10k_pci_read32(struct ath10k *ar, u32 offset)
ar                685 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                687 drivers/net/wireless/ath/ath10k/pci.c 	return ce->bus_ops->read32(ar, offset);
ar                690 drivers/net/wireless/ath/ath10k/pci.c u32 ath10k_pci_soc_read32(struct ath10k *ar, u32 addr)
ar                692 drivers/net/wireless/ath/ath10k/pci.c 	return ath10k_pci_read32(ar, RTC_SOC_BASE_ADDRESS + addr);
ar                695 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_soc_write32(struct ath10k *ar, u32 addr, u32 val)
ar                697 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, RTC_SOC_BASE_ADDRESS + addr, val);
ar                700 drivers/net/wireless/ath/ath10k/pci.c u32 ath10k_pci_reg_read32(struct ath10k *ar, u32 addr)
ar                702 drivers/net/wireless/ath/ath10k/pci.c 	return ath10k_pci_read32(ar, PCIE_LOCAL_BASE_ADDRESS + addr);
ar                705 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_reg_write32(struct ath10k *ar, u32 addr, u32 val)
ar                707 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, PCIE_LOCAL_BASE_ADDRESS + addr, val);
ar                710 drivers/net/wireless/ath/ath10k/pci.c bool ath10k_pci_irq_pending(struct ath10k *ar)
ar                715 drivers/net/wireless/ath/ath10k/pci.c 	cause = ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS +
ar                723 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_disable_and_clear_legacy_irq(struct ath10k *ar)
ar                729 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS + PCIE_INTR_ENABLE_ADDRESS,
ar                731 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS + PCIE_INTR_CLR_ADDRESS,
ar                737 drivers/net/wireless/ath/ath10k/pci.c 	(void)ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS +
ar                741 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_enable_legacy_irq(struct ath10k *ar)
ar                743 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS +
ar                750 drivers/net/wireless/ath/ath10k/pci.c 	(void)ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS +
ar                754 drivers/net/wireless/ath/ath10k/pci.c static inline const char *ath10k_pci_get_irq_method(struct ath10k *ar)
ar                756 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                766 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = pipe->hif_ce_state;
ar                767 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                779 drivers/net/wireless/ath/ath10k/pci.c 	paddr = dma_map_single(ar->dev, skb->data,
ar                782 drivers/net/wireless/ath/ath10k/pci.c 	if (unlikely(dma_mapping_error(ar->dev, paddr))) {
ar                783 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to dma map pci rx buf\n");
ar                794 drivers/net/wireless/ath/ath10k/pci.c 		dma_unmap_single(ar->dev, paddr, skb->len + skb_tailroom(skb),
ar                805 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = pipe->hif_ce_state;
ar                806 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                807 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                826 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "failed to post pci rx buf: %d\n", ret);
ar                835 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_rx_post(struct ath10k *ar)
ar                837 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                847 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ar_pci->ar;
ar                849 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_rx_post(ar);
ar                852 drivers/net/wireless/ath/ath10k/pci.c static u32 ath10k_pci_qca988x_targ_cpu_to_ce_addr(struct ath10k *ar, u32 addr)
ar                856 drivers/net/wireless/ath/ath10k/pci.c 	val = (ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS + CORE_CTRL_ADDRESS)
ar                867 drivers/net/wireless/ath/ath10k/pci.c static u32 ath10k_pci_qca6174_targ_cpu_to_ce_addr(struct ath10k *ar, u32 addr)
ar                871 drivers/net/wireless/ath/ath10k/pci.c 	val = (ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS + CORE_CTRL_ADDRESS)
ar                877 drivers/net/wireless/ath/ath10k/pci.c static u32 ath10k_pci_qca99x0_targ_cpu_to_ce_addr(struct ath10k *ar, u32 addr)
ar                881 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, PCIE_BAR_REG_ADDRESS);
ar                886 drivers/net/wireless/ath/ath10k/pci.c static u32 ath10k_pci_targ_cpu_to_ce_addr(struct ath10k *ar, u32 addr)
ar                888 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                893 drivers/net/wireless/ath/ath10k/pci.c 	return ar_pci->targ_cpu_to_ce_addr(ar, addr);
ar                901 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, void *data,
ar                904 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar                926 drivers/net/wireless/ath/ath10k/pci.c 	data_buf = dma_alloc_coherent(ar->dev, alloc_nbytes, &ce_data_base,
ar                940 drivers/net/wireless/ath/ath10k/pci.c 	address = ath10k_pci_targ_cpu_to_ce_addr(ar, address);
ar               1000 drivers/net/wireless/ath/ath10k/pci.c 		dma_free_coherent(ar->dev, alloc_nbytes, data_buf,
ar               1008 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_diag_read32(struct ath10k *ar, u32 address, u32 *value)
ar               1013 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read_mem(ar, address, &val, sizeof(val));
ar               1019 drivers/net/wireless/ath/ath10k/pci.c static int __ath10k_pci_diag_read_hi(struct ath10k *ar, void *dest,
ar               1027 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, host_addr, &addr);
ar               1029 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to get memcpy hi address for firmware address %d: %d\n",
ar               1034 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read_mem(ar, addr, dest, len);
ar               1036 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to memcpy firmware memory from %d (%d B): %d\n",
ar               1044 drivers/net/wireless/ath/ath10k/pci.c #define ath10k_pci_diag_read_hi(ar, dest, src, len)		\
ar               1045 drivers/net/wireless/ath/ath10k/pci.c 	__ath10k_pci_diag_read_hi(ar, dest, HI_ITEM(src), len)
ar               1047 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_diag_write_mem(struct ath10k *ar, u32 address,
ar               1050 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1070 drivers/net/wireless/ath/ath10k/pci.c 	data_buf = dma_alloc_coherent(ar->dev, alloc_nbytes, &ce_data_base,
ar               1087 drivers/net/wireless/ath/ath10k/pci.c 	address = ath10k_pci_targ_cpu_to_ce_addr(ar, address);
ar               1150 drivers/net/wireless/ath/ath10k/pci.c 		dma_free_coherent(ar->dev, alloc_nbytes, data_buf,
ar               1155 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to write diag value at 0x%x: %d\n",
ar               1163 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_diag_write32(struct ath10k *ar, u32 address, u32 value)
ar               1167 drivers/net/wireless/ath/ath10k/pci.c 	return ath10k_pci_diag_write_mem(ar, address, &val, sizeof(val));
ar               1173 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ce_state->ar;
ar               1187 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_htc_tx_completion_handler(ar, skb);
ar               1191 drivers/net/wireless/ath/ath10k/pci.c 				     void (*callback)(struct ath10k *ar,
ar               1194 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ce_state->ar;
ar               1195 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1207 drivers/net/wireless/ath/ath10k/pci.c 		dma_unmap_single(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
ar               1211 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "rxed more than expected (nbytes %d, max %d)",
ar               1222 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg(ar, ATH10K_DBG_PCI, "pci rx ce pipe %d len %d\n",
ar               1224 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg_dump(ar, ATH10K_DBG_PCI_DUMP, NULL, "pci rx: ",
ar               1227 drivers/net/wireless/ath/ath10k/pci.c 		callback(ar, skb);
ar               1234 drivers/net/wireless/ath/ath10k/pci.c 					 void (*callback)(struct ath10k *ar,
ar               1237 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ce_state->ar;
ar               1238 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1258 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "rxed more than expected (nbytes %d, max %d)",
ar               1263 drivers/net/wireless/ath/ath10k/pci.c 		dma_sync_single_for_cpu(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
ar               1271 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg(ar, ATH10K_DBG_PCI, "pci rx ce pipe %d len %d\n",
ar               1273 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg_dump(ar, ATH10K_DBG_PCI_DUMP, NULL, "pci rx: ",
ar               1277 drivers/net/wireless/ath/ath10k/pci.c 		callback(ar, skb);
ar               1283 drivers/net/wireless/ath/ath10k/pci.c 		dma_sync_single_for_device(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
ar               1301 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_per_engine_service(ce_state->ar, 4);
ar               1318 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ce_state->ar;
ar               1326 drivers/net/wireless/ath/ath10k/pci.c 		dma_unmap_single(ar->dev, ATH10K_SKB_CB(skb)->paddr,
ar               1328 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_htt_hif_tx_complete(ar, skb);
ar               1332 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_htt_rx_deliver(struct ath10k *ar, struct sk_buff *skb)
ar               1335 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_htt_t2h_msg_handler(ar, skb);
ar               1344 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_per_engine_service(ce_state->ar, 4);
ar               1349 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
ar               1352 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1353 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1375 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg(ar, ATH10K_DBG_PCI,
ar               1378 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg_dump(ar, ATH10K_DBG_PCI_DUMP, NULL, "pci tx data: ",
ar               1393 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI,
ar               1396 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg_dump(ar, ATH10K_DBG_PCI_DUMP, NULL, "pci tx data: ",
ar               1419 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
ar               1422 drivers/net/wireless/ath/ath10k/pci.c 	return ath10k_pci_diag_read_mem(ar, address, buf, buf_len);
ar               1425 drivers/net/wireless/ath/ath10k/pci.c u16 ath10k_pci_hif_get_free_queue_number(struct ath10k *ar, u8 pipe)
ar               1427 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1429 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI, "pci hif get free queue number\n");
ar               1434 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_dump_registers(struct ath10k *ar,
ar               1440 drivers/net/wireless/ath/ath10k/pci.c 	lockdep_assert_held(&ar->dump_mutex);
ar               1442 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read_hi(ar, &reg_dump_values[0],
ar               1446 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to read firmware dump area: %d\n", ret);
ar               1452 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_err(ar, "firmware register dump:\n");
ar               1454 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "[%02d]: 0x%08X 0x%08X 0x%08X 0x%08X\n",
ar               1468 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_dump_memory_section(struct ath10k *ar,
ar               1482 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "incorrect memdump region 0x%x with section start address 0x%x.\n",
ar               1503 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "incorrect ramdump format with start address 0x%x and stop address 0x%x\n",
ar               1517 drivers/net/wireless/ath/ath10k/pci.c 				ath10k_warn(ar, "next ramdump section 0x%x is smaller than current end address 0x%x\n",
ar               1527 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "ramdump buffer is too small: %zu\n", buf_len);
ar               1534 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_diag_read_mem(ar, cur_section->start,
ar               1537 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "failed to read ramdump from section 0x%x: %d\n",
ar               1563 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_set_ram_config(struct ath10k *ar, u32 config)
ar               1567 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS +
ar               1570 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS +
ar               1573 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to set RAM config from 0x%x to 0x%x\n",
ar               1582 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_dump_memory_sram(struct ath10k *ar,
ar               1586 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1601 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_dump_memory_reg(struct ath10k *ar,
ar               1605 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1609 drivers/net/wireless/ath/ath10k/pci.c 	mutex_lock(&ar->conf_mutex);
ar               1610 drivers/net/wireless/ath/ath10k/pci.c 	if (ar->state != ATH10K_STATE_ON) {
ar               1611 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "Skipping pci_dump_memory_reg invalid state\n");
ar               1621 drivers/net/wireless/ath/ath10k/pci.c 	mutex_unlock(&ar->conf_mutex);
ar               1626 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_dump_memory_generic(struct ath10k *ar,
ar               1634 drivers/net/wireless/ath/ath10k/pci.c 		return ath10k_pci_dump_memory_section(ar,
ar               1642 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read_mem(ar,
ar               1647 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to copy ramdump region %s: %d\n",
ar               1655 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_dump_memory(struct ath10k *ar,
ar               1666 drivers/net/wireless/ath/ath10k/pci.c 	lockdep_assert_held(&ar->dump_mutex);
ar               1671 drivers/net/wireless/ath/ath10k/pci.c 	mem_layout = ath10k_coredump_get_mem_layout(ar);
ar               1686 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "memory region %s size %d is larger that remaining ramdump buffer size %zu\n",
ar               1700 drivers/net/wireless/ath/ath10k/pci.c 			ret = ath10k_pci_set_ram_config(ar, shift);
ar               1702 drivers/net/wireless/ath/ath10k/pci.c 				ath10k_warn(ar, "failed to switch ram config to IRAM for section %s: %d\n",
ar               1715 drivers/net/wireless/ath/ath10k/pci.c 			count = ath10k_pci_dump_memory_sram(ar, current_region, buf);
ar               1718 drivers/net/wireless/ath/ath10k/pci.c 			ret = ath10k_pci_dump_memory_reg(ar, current_region, buf);
ar               1725 drivers/net/wireless/ath/ath10k/pci.c 			ret = ath10k_pci_dump_memory_generic(ar, current_region, buf);
ar               1753 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ar_pci->ar;
ar               1756 drivers/net/wireless/ath/ath10k/pci.c 	mutex_lock(&ar->dump_mutex);
ar               1758 drivers/net/wireless/ath/ath10k/pci.c 	spin_lock_bh(&ar->data_lock);
ar               1759 drivers/net/wireless/ath/ath10k/pci.c 	ar->stats.fw_crash_counter++;
ar               1760 drivers/net/wireless/ath/ath10k/pci.c 	spin_unlock_bh(&ar->data_lock);
ar               1762 drivers/net/wireless/ath/ath10k/pci.c 	crash_data = ath10k_coredump_new(ar);
ar               1769 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_err(ar, "firmware crashed! (guid %s)\n", guid);
ar               1770 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_print_driver_info(ar);
ar               1771 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_dump_registers(ar, crash_data);
ar               1772 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_dump_registers(ar, crash_data);
ar               1773 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_dump_memory(ar, crash_data);
ar               1775 drivers/net/wireless/ath/ath10k/pci.c 	mutex_unlock(&ar->dump_mutex);
ar               1777 drivers/net/wireless/ath/ath10k/pci.c 	queue_work(ar->workqueue, &ar->restart_work);
ar               1780 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_fw_crashed_dump(struct ath10k *ar)
ar               1782 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1784 drivers/net/wireless/ath/ath10k/pci.c 	queue_work(ar->workqueue, &ar_pci->dump_work);
ar               1787 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_hif_send_complete_check(struct ath10k *ar, u8 pipe,
ar               1790 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI, "pci hif send complete check\n");
ar               1801 drivers/net/wireless/ath/ath10k/pci.c 		resources = ath10k_pci_hif_get_free_queue_number(ar, pipe);
ar               1810 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_per_engine_service(ar, pipe);
ar               1813 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_rx_retry_sync(struct ath10k *ar)
ar               1815 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1820 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_hif_map_service_to_pipe(struct ath10k *ar, u16 service_id,
ar               1827 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI, "pci hif map service\n");
ar               1865 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_hif_get_default_pipe(struct ath10k *ar,
ar               1868 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI, "pci hif get default pipe\n");
ar               1870 drivers/net/wireless/ath/ath10k/pci.c 	(void)ath10k_pci_hif_map_service_to_pipe(ar,
ar               1875 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_irq_msi_fw_mask(struct ath10k *ar)
ar               1879 drivers/net/wireless/ath/ath10k/pci.c 	switch (ar->hw_rev) {
ar               1884 drivers/net/wireless/ath/ath10k/pci.c 		val = ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS +
ar               1887 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS +
ar               1903 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_irq_msi_fw_unmask(struct ath10k *ar)
ar               1907 drivers/net/wireless/ath/ath10k/pci.c 	switch (ar->hw_rev) {
ar               1912 drivers/net/wireless/ath/ath10k/pci.c 		val = ath10k_pci_read32(ar, SOC_CORE_BASE_ADDRESS +
ar               1915 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS +
ar               1931 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_irq_disable(struct ath10k *ar)
ar               1933 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_disable_interrupts(ar);
ar               1934 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_disable_and_clear_legacy_irq(ar);
ar               1935 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_msi_fw_mask(ar);
ar               1938 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_irq_sync(struct ath10k *ar)
ar               1940 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1945 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_irq_enable(struct ath10k *ar)
ar               1947 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_enable_interrupts(ar);
ar               1948 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_enable_legacy_irq(ar);
ar               1949 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_msi_fw_unmask(ar);
ar               1952 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_hif_start(struct ath10k *ar)
ar               1954 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               1956 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif start\n");
ar               1958 drivers/net/wireless/ath/ath10k/pci.c 	napi_enable(&ar->napi);
ar               1960 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_enable(ar);
ar               1961 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_rx_post(ar);
ar               1971 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar;
ar               1977 drivers/net/wireless/ath/ath10k/pci.c 	ar = pci_pipe->hif_ce_state;
ar               1994 drivers/net/wireless/ath/ath10k/pci.c 		dma_unmap_single(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
ar               2003 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar;
ar               2009 drivers/net/wireless/ath/ath10k/pci.c 	ar = pci_pipe->hif_ce_state;
ar               2026 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_htc_tx_completion_handler(ar, skb);
ar               2038 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_buffer_cleanup(struct ath10k *ar)
ar               2040 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2052 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_ce_deinit(struct ath10k *ar)
ar               2057 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_ce_deinit_pipe(ar, i);
ar               2060 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_flush(struct ath10k *ar)
ar               2062 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_rx_retry_sync(ar);
ar               2063 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_buffer_cleanup(ar);
ar               2066 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_hif_stop(struct ath10k *ar)
ar               2068 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2071 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif stop\n");
ar               2073 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_disable(ar);
ar               2074 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_sync(ar);
ar               2075 drivers/net/wireless/ath/ath10k/pci.c 	napi_synchronize(&ar->napi);
ar               2076 drivers/net/wireless/ath/ath10k/pci.c 	napi_disable(&ar->napi);
ar               2089 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_safe_chip_reset(ar);
ar               2091 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_flush(ar);
ar               2098 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_hif_exchange_bmi_msg(struct ath10k *ar,
ar               2102 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2125 drivers/net/wireless/ath/ath10k/pci.c 	req_paddr = dma_map_single(ar->dev, treq, req_len, DMA_TO_DEVICE);
ar               2126 drivers/net/wireless/ath/ath10k/pci.c 	ret = dma_mapping_error(ar->dev, req_paddr);
ar               2139 drivers/net/wireless/ath/ath10k/pci.c 		resp_paddr = dma_map_single(ar->dev, tresp, *resp_len,
ar               2141 drivers/net/wireless/ath/ath10k/pci.c 		ret = dma_mapping_error(ar->dev, resp_paddr);
ar               2157 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_bmi_wait(ar, ce_tx, ce_rx, &xfer);
ar               2175 drivers/net/wireless/ath/ath10k/pci.c 		dma_unmap_single(ar->dev, resp_paddr,
ar               2179 drivers/net/wireless/ath/ath10k/pci.c 	dma_unmap_single(ar->dev, req_paddr, req_len, DMA_TO_DEVICE);
ar               2204 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = ce_state->ar;
ar               2216 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "unexpected: BMI data received; ignoring\n");
ar               2224 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_bmi_wait(struct ath10k *ar,
ar               2251 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg(ar, ATH10K_DBG_BMI,
ar               2261 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_wake_target_cpu(struct ath10k *ar)
ar               2266 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, addr);
ar               2268 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, addr, val);
ar               2273 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_get_num_banks(struct ath10k *ar)
ar               2275 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2287 drivers/net/wireless/ath/ath10k/pci.c 		switch (MS(ar->bus_param.chip_id, SOC_CHIP_ID_REV)) {
ar               2305 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_warn(ar, "unknown number of banks, assuming 1\n");
ar               2309 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_bus_get_num_banks(struct ath10k *ar)
ar               2311 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               2313 drivers/net/wireless/ath/ath10k/pci.c 	return ce->bus_ops->get_num_banks(ar);
ar               2316 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_init_config(struct ath10k *ar)
ar               2334 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, interconnect_targ_addr,
ar               2337 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to get pcie state addr: %d\n", ret);
ar               2343 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Invalid pcie state addr\n");
ar               2347 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, (pcie_state_targ_addr +
ar               2352 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to get pipe cfg addr: %d\n", ret);
ar               2358 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Invalid pipe cfg addr\n");
ar               2362 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_write_mem(ar, pipe_cfg_targ_addr,
ar               2368 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to write pipe cfg: %d\n", ret);
ar               2372 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, (pcie_state_targ_addr +
ar               2377 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to get svc/pipe map: %d\n", ret);
ar               2383 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Invalid svc_to_pipe map\n");
ar               2387 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_write_mem(ar, svc_to_pipe_map,
ar               2391 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to write svc/pipe map: %d\n", ret);
ar               2395 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, (pcie_state_targ_addr +
ar               2400 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to get pcie config_flags: %d\n", ret);
ar               2406 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_write32(ar, (pcie_state_targ_addr +
ar               2411 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to write pcie config_flags: %d\n", ret);
ar               2418 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, ealloc_targ_addr, &ealloc_value);
ar               2420 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to get early alloc val: %d\n", ret);
ar               2427 drivers/net/wireless/ath/ath10k/pci.c 	ealloc_value |= ((ath10k_bus_get_num_banks(ar) <<
ar               2431 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_write32(ar, ealloc_targ_addr, ealloc_value);
ar               2433 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to set early alloc val: %d\n", ret);
ar               2440 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_read32(ar, flag2_targ_addr, &flag2_value);
ar               2442 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to get option val: %d\n", ret);
ar               2448 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_diag_write32(ar, flag2_targ_addr, flag2_value);
ar               2450 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "Failed to set option val: %d\n", ret);
ar               2457 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_override_ce_config(struct ath10k *ar)
ar               2480 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_alloc_pipes(struct ath10k *ar)
ar               2482 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2484 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               2491 drivers/net/wireless/ath/ath10k/pci.c 		pipe->hif_ce_state = ar;
ar               2493 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_ce_alloc_pipe(ar, i, &host_ce_config_wlan[i]);
ar               2495 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_err(ar, "failed to allocate copy engine pipe %d: %d\n",
ar               2512 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_free_pipes(struct ath10k *ar)
ar               2517 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_ce_free_pipe(ar, i);
ar               2520 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_init_pipes(struct ath10k *ar)
ar               2525 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_ce_init_pipe(ar, i, &host_ce_config_wlan[i]);
ar               2527 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_err(ar, "failed to initialize copy engine pipe %d: %d\n",
ar               2536 drivers/net/wireless/ath/ath10k/pci.c static bool ath10k_pci_has_fw_crashed(struct ath10k *ar)
ar               2538 drivers/net/wireless/ath/ath10k/pci.c 	return ath10k_pci_read32(ar, FW_INDICATOR_ADDRESS) &
ar               2542 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_fw_crashed_clear(struct ath10k *ar)
ar               2546 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, FW_INDICATOR_ADDRESS);
ar               2548 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, FW_INDICATOR_ADDRESS, val);
ar               2551 drivers/net/wireless/ath/ath10k/pci.c static bool ath10k_pci_has_device_gone(struct ath10k *ar)
ar               2555 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, FW_INDICATOR_ADDRESS);
ar               2560 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_warm_reset_si0(struct ath10k *ar)
ar               2564 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_soc_read32(ar, SOC_RESET_CONTROL_ADDRESS);
ar               2565 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_soc_write32(ar, SOC_RESET_CONTROL_ADDRESS,
ar               2567 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_soc_read32(ar, SOC_RESET_CONTROL_ADDRESS);
ar               2571 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_soc_read32(ar, SOC_RESET_CONTROL_ADDRESS);
ar               2572 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_soc_write32(ar, SOC_RESET_CONTROL_ADDRESS,
ar               2574 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_soc_read32(ar, SOC_RESET_CONTROL_ADDRESS);
ar               2579 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_warm_reset_cpu(struct ath10k *ar)
ar               2583 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, FW_INDICATOR_ADDRESS, 0);
ar               2585 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, RTC_SOC_BASE_ADDRESS +
ar               2587 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, RTC_SOC_BASE_ADDRESS + SOC_RESET_CONTROL_ADDRESS,
ar               2591 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_warm_reset_ce(struct ath10k *ar)
ar               2595 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, RTC_SOC_BASE_ADDRESS +
ar               2598 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, RTC_SOC_BASE_ADDRESS + SOC_RESET_CONTROL_ADDRESS,
ar               2601 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, RTC_SOC_BASE_ADDRESS + SOC_RESET_CONTROL_ADDRESS,
ar               2605 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_warm_reset_clear_lf(struct ath10k *ar)
ar               2609 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_read32(ar, RTC_SOC_BASE_ADDRESS +
ar               2611 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, RTC_SOC_BASE_ADDRESS +
ar               2616 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_warm_reset(struct ath10k *ar)
ar               2620 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot warm reset\n");
ar               2622 drivers/net/wireless/ath/ath10k/pci.c 	spin_lock_bh(&ar->data_lock);
ar               2623 drivers/net/wireless/ath/ath10k/pci.c 	ar->stats.fw_warm_reset_counter++;
ar               2624 drivers/net/wireless/ath/ath10k/pci.c 	spin_unlock_bh(&ar->data_lock);
ar               2626 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_disable(ar);
ar               2633 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_warm_reset_si0(ar);
ar               2634 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_warm_reset_cpu(ar);
ar               2635 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_init_pipes(ar);
ar               2636 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_wait_for_target_init(ar);
ar               2638 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_warm_reset_clear_lf(ar);
ar               2639 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_warm_reset_ce(ar);
ar               2640 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_warm_reset_cpu(ar);
ar               2641 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_init_pipes(ar);
ar               2643 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wait_for_target_init(ar);
ar               2645 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wait for target init: %d\n", ret);
ar               2649 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot warm reset complete\n");
ar               2654 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_qca99x0_soft_chip_reset(struct ath10k *ar)
ar               2656 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_disable(ar);
ar               2657 drivers/net/wireless/ath/ath10k/pci.c 	return ath10k_pci_qca99x0_chip_reset(ar);
ar               2660 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_safe_chip_reset(struct ath10k *ar)
ar               2662 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2667 drivers/net/wireless/ath/ath10k/pci.c 	return ar_pci->pci_soft_reset(ar);
ar               2670 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_qca988x_chip_reset(struct ath10k *ar)
ar               2675 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot 988x chip reset\n");
ar               2685 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_warm_reset(ar);
ar               2687 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "failed to warm reset attempt %d of %d: %d\n",
ar               2702 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_init_pipes(ar);
ar               2704 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "failed to init copy engine: %d\n",
ar               2709 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_diag_read32(ar, QCA988X_HOST_INTEREST_ADDRESS,
ar               2712 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "failed to poke copy engine: %d\n",
ar               2717 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot chip reset complete (warm)\n");
ar               2722 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "refusing cold reset as requested\n");
ar               2726 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_cold_reset(ar);
ar               2728 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to cold reset: %d\n", ret);
ar               2732 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wait_for_target_init(ar);
ar               2734 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wait for target after cold reset: %d\n",
ar               2739 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot qca988x chip reset complete (cold)\n");
ar               2744 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_qca6174_chip_reset(struct ath10k *ar)
ar               2748 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot qca6174 chip reset\n");
ar               2752 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_cold_reset(ar);
ar               2754 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to cold reset: %d\n", ret);
ar               2758 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wait_for_target_init(ar);
ar               2760 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wait for target after cold reset: %d\n",
ar               2765 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_warm_reset(ar);
ar               2767 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to warm reset: %d\n", ret);
ar               2771 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot qca6174 chip reset complete (cold)\n");
ar               2776 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_qca99x0_chip_reset(struct ath10k *ar)
ar               2780 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot qca99x0 chip reset\n");
ar               2782 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_cold_reset(ar);
ar               2784 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to cold reset: %d\n", ret);
ar               2788 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wait_for_target_init(ar);
ar               2790 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wait for target after cold reset: %d\n",
ar               2795 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot qca99x0 chip reset complete (cold)\n");
ar               2800 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_chip_reset(struct ath10k *ar)
ar               2802 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2807 drivers/net/wireless/ath/ath10k/pci.c 	return ar_pci->pci_hard_reset(ar);
ar               2810 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_hif_power_up(struct ath10k *ar,
ar               2813 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2816 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif power up\n");
ar               2833 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_chip_reset(ar);
ar               2835 drivers/net/wireless/ath/ath10k/pci.c 		if (ath10k_pci_has_fw_crashed(ar)) {
ar               2836 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_warn(ar, "firmware crashed during chip reset\n");
ar               2837 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_pci_fw_crashed_clear(ar);
ar               2838 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_pci_fw_crashed_dump(ar);
ar               2841 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to reset chip: %d\n", ret);
ar               2845 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_init_pipes(ar);
ar               2847 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to initialize CE: %d\n", ret);
ar               2851 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_init_config(ar);
ar               2853 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to setup init config: %d\n", ret);
ar               2857 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_wake_target_cpu(ar);
ar               2859 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "could not wake up target CPU: %d\n", ret);
ar               2866 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_ce_deinit(ar);
ar               2872 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_hif_power_down(struct ath10k *ar)
ar               2874 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif power down\n");
ar               2881 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_hif_suspend(struct ath10k *ar)
ar               2887 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_suspend(struct ath10k *ar)
ar               2894 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_sleep_sync(ar);
ar               2899 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_hif_resume(struct ath10k *ar)
ar               2905 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_resume(struct ath10k *ar)
ar               2907 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               2912 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_force_wake(ar);
ar               2914 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to wake up target: %d\n", ret);
ar               2945 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_enable_eeprom(struct ath10k *ar)
ar               2948 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_soc_write32(ar, CLOCK_CONTROL_OFFSET, 0x0);
ar               2951 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar,
ar               2958 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar,
ar               2964 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar,
ar               2970 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar,
ar               2981 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_read_eeprom(struct ath10k *ar, u16 addr, u8 *out)
ar               2990 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SI_BASE_ADDRESS + SI_TX_DATA0_OFFSET, reg);
ar               2993 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SI_BASE_ADDRESS + SI_CS_OFFSET,
ar               3002 drivers/net/wireless/ath/ath10k/pci.c 		reg = ath10k_pci_read32(ar, SI_BASE_ADDRESS + SI_CS_OFFSET);
ar               3011 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "timeout while reading device EEPROM at %04x\n",
ar               3017 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SI_BASE_ADDRESS + SI_CS_OFFSET, reg);
ar               3020 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to read device EEPROM at %04x\n", addr);
ar               3025 drivers/net/wireless/ath/ath10k/pci.c 	reg = ath10k_pci_read32(ar, SI_BASE_ADDRESS + SI_RX_DATA0_OFFSET);
ar               3031 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_hif_fetch_cal_eeprom(struct ath10k *ar, void **data,
ar               3038 drivers/net/wireless/ath/ath10k/pci.c 	if (!QCA_REV_9887(ar))
ar               3041 drivers/net/wireless/ath/ath10k/pci.c 	calsize = ar->hw_params.cal_data_len;
ar               3046 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_enable_eeprom(ar);
ar               3049 drivers/net/wireless/ath/ath10k/pci.c 		ret = ath10k_pci_read_eeprom(ar, i, &caldata[i]);
ar               3095 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = arg;
ar               3096 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3099 drivers/net/wireless/ath/ath10k/pci.c 	if (ath10k_pci_has_device_gone(ar))
ar               3102 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_force_wake(ar);
ar               3104 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wake device up on irq: %d\n", ret);
ar               3109 drivers/net/wireless/ath/ath10k/pci.c 	    !ath10k_pci_irq_pending(ar))
ar               3112 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_disable_and_clear_legacy_irq(ar);
ar               3113 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_msi_fw_mask(ar);
ar               3114 drivers/net/wireless/ath/ath10k/pci.c 	napi_schedule(&ar->napi);
ar               3121 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = container_of(ctx, struct ath10k, napi);
ar               3124 drivers/net/wireless/ath/ath10k/pci.c 	if (ath10k_pci_has_fw_crashed(ar)) {
ar               3125 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_fw_crashed_clear(ar);
ar               3126 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_fw_crashed_dump(ar);
ar               3131 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_ce_per_engine_service_any(ar);
ar               3133 drivers/net/wireless/ath/ath10k/pci.c 	done = ath10k_htt_txrx_compl_task(ar, budget);
ar               3145 drivers/net/wireless/ath/ath10k/pci.c 		if (ath10k_ce_interrupt_summary(ar)) {
ar               3149 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_enable_legacy_irq(ar);
ar               3150 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_irq_msi_fw_unmask(ar);
ar               3157 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_request_irq_msi(struct ath10k *ar)
ar               3159 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3164 drivers/net/wireless/ath/ath10k/pci.c 			  IRQF_SHARED, "ath10k_pci", ar);
ar               3166 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to request MSI irq %d: %d\n",
ar               3174 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_request_irq_legacy(struct ath10k *ar)
ar               3176 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3181 drivers/net/wireless/ath/ath10k/pci.c 			  IRQF_SHARED, "ath10k_pci", ar);
ar               3183 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to request legacy irq %d: %d\n",
ar               3191 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_request_irq(struct ath10k *ar)
ar               3193 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3197 drivers/net/wireless/ath/ath10k/pci.c 		return ath10k_pci_request_irq_legacy(ar);
ar               3199 drivers/net/wireless/ath/ath10k/pci.c 		return ath10k_pci_request_irq_msi(ar);
ar               3205 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_free_irq(struct ath10k *ar)
ar               3207 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3209 drivers/net/wireless/ath/ath10k/pci.c 	free_irq(ar_pci->pdev->irq, ar);
ar               3212 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_init_napi(struct ath10k *ar)
ar               3214 drivers/net/wireless/ath/ath10k/pci.c 	netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_pci_napi_poll,
ar               3218 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_init_irq(struct ath10k *ar)
ar               3220 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3223 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_init_napi(ar);
ar               3226 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_info(ar, "limiting irq mode to: %d\n",
ar               3250 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS + PCIE_INTR_ENABLE_ADDRESS,
ar               3256 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_deinit_irq_legacy(struct ath10k *ar)
ar               3258 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS + PCIE_INTR_ENABLE_ADDRESS,
ar               3262 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_deinit_irq(struct ath10k *ar)
ar               3264 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3268 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_deinit_irq_legacy(ar);
ar               3278 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_wait_for_target_init(struct ath10k *ar)
ar               3280 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3284 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot waiting target to initialise\n");
ar               3289 drivers/net/wireless/ath/ath10k/pci.c 		val = ath10k_pci_read32(ar, FW_INDICATOR_ADDRESS);
ar               3291 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot target indicator %x\n",
ar               3307 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_pci_enable_legacy_irq(ar);
ar               3312 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_disable_and_clear_legacy_irq(ar);
ar               3313 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_msi_fw_mask(ar);
ar               3316 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to read device register, device is gone\n");
ar               3321 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "device has crashed during init\n");
ar               3326 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to receive initialized event from target: %08x\n",
ar               3331 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot target initialised\n");
ar               3335 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_cold_reset(struct ath10k *ar)
ar               3339 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot cold reset\n");
ar               3341 drivers/net/wireless/ath/ath10k/pci.c 	spin_lock_bh(&ar->data_lock);
ar               3343 drivers/net/wireless/ath/ath10k/pci.c 	ar->stats.fw_cold_reset_counter++;
ar               3345 drivers/net/wireless/ath/ath10k/pci.c 	spin_unlock_bh(&ar->data_lock);
ar               3348 drivers/net/wireless/ath/ath10k/pci.c 	val = ath10k_pci_reg_read32(ar, SOC_GLOBAL_RESET_ADDRESS);
ar               3350 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_reg_write32(ar, SOC_GLOBAL_RESET_ADDRESS, val);
ar               3361 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_reg_write32(ar, SOC_GLOBAL_RESET_ADDRESS, val);
ar               3365 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot cold reset complete\n");
ar               3370 drivers/net/wireless/ath/ath10k/pci.c static int ath10k_pci_claim(struct ath10k *ar)
ar               3372 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3376 drivers/net/wireless/ath/ath10k/pci.c 	pci_set_drvdata(pdev, ar);
ar               3380 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to enable pci device: %d\n", ret);
ar               3386 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to request region BAR%d: %d\n", BAR_NUM,
ar               3394 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to set dma mask to 32-bit: %d\n", ret);
ar               3400 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to set consistent dma mask to 32-bit: %d\n",
ar               3411 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to iomap BAR%d\n", BAR_NUM);
ar               3416 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot pci_mem 0x%pK\n", ar_pci->mem);
ar               3431 drivers/net/wireless/ath/ath10k/pci.c static void ath10k_pci_release(struct ath10k *ar)
ar               3433 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3459 drivers/net/wireless/ath/ath10k/pci.c int ath10k_pci_setup_resource(struct ath10k *ar)
ar               3461 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
ar               3462 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               3473 drivers/net/wireless/ath/ath10k/pci.c 	if (QCA_REV_6174(ar) || QCA_REV_9377(ar))
ar               3474 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_pci_override_ce_config(ar);
ar               3476 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_alloc_pipes(ar);
ar               3478 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to allocate copy engine pipes: %d\n",
ar               3486 drivers/net/wireless/ath/ath10k/pci.c void ath10k_pci_release_resource(struct ath10k *ar)
ar               3488 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_rx_retry_sync(ar);
ar               3489 drivers/net/wireless/ath/ath10k/pci.c 	netif_napi_del(&ar->napi);
ar               3490 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_ce_deinit(ar);
ar               3491 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_free_pipes(ar);
ar               3504 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar;
ar               3509 drivers/net/wireless/ath/ath10k/pci.c 	int (*pci_soft_reset)(struct ath10k *ar);
ar               3510 drivers/net/wireless/ath/ath10k/pci.c 	int (*pci_hard_reset)(struct ath10k *ar);
ar               3511 drivers/net/wireless/ath/ath10k/pci.c 	u32 (*targ_cpu_to_ce_addr)(struct ath10k *ar, u32 addr);
ar               3571 drivers/net/wireless/ath/ath10k/pci.c 	ar = ath10k_core_create(sizeof(*ar_pci), &pdev->dev, ATH10K_BUS_PCI,
ar               3573 drivers/net/wireless/ath/ath10k/pci.c 	if (!ar) {
ar               3578 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "pci probe %04x:%04x %04x:%04x\n",
ar               3582 drivers/net/wireless/ath/ath10k/pci.c 	ar_pci = ath10k_pci_priv(ar);
ar               3585 drivers/net/wireless/ath/ath10k/pci.c 	ar_pci->ar = ar;
ar               3586 drivers/net/wireless/ath/ath10k/pci.c 	ar->dev_id = pci_dev->device;
ar               3592 drivers/net/wireless/ath/ath10k/pci.c 	ar->ce_priv = &ar_pci->ce;
ar               3594 drivers/net/wireless/ath/ath10k/pci.c 	ar->id.vendor = pdev->vendor;
ar               3595 drivers/net/wireless/ath/ath10k/pci.c 	ar->id.device = pdev->device;
ar               3596 drivers/net/wireless/ath/ath10k/pci.c 	ar->id.subsystem_vendor = pdev->subsystem_vendor;
ar               3597 drivers/net/wireless/ath/ath10k/pci.c 	ar->id.subsystem_device = pdev->subsystem_device;
ar               3601 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_setup_resource(ar);
ar               3603 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to setup resource: %d\n", ret);
ar               3607 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_claim(ar);
ar               3609 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to claim device: %d\n", ret);
ar               3613 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_force_wake(ar);
ar               3615 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to wake up device : %d\n", ret);
ar               3619 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_ce_deinit(ar);
ar               3620 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_irq_disable(ar);
ar               3622 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_init_irq(ar);
ar               3624 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to init irqs: %d\n", ret);
ar               3628 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_info(ar, "pci irq %s oper_irq_mode %d irq_mode %d reset_mode %d\n",
ar               3629 drivers/net/wireless/ath/ath10k/pci.c 		    ath10k_pci_get_irq_method(ar), ar_pci->oper_irq_mode,
ar               3632 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_request_irq(ar);
ar               3634 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to request irqs: %d\n", ret);
ar               3646 drivers/net/wireless/ath/ath10k/pci.c 			ath10k_pci_soc_read32(ar, SOC_CHIP_ID_ADDRESS);
ar               3654 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_chip_reset(ar);
ar               3656 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to reset chip: %d\n", ret);
ar               3660 drivers/net/wireless/ath/ath10k/pci.c 	bus_params.chip_id = ath10k_pci_soc_read32(ar, SOC_CHIP_ID_ADDRESS);
ar               3667 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_core_register(ar, &bus_params);
ar               3669 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_err(ar, "failed to register driver core: %d\n", ret);
ar               3676 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_err(ar, "device %04x with chip_id %08x isn't supported\n",
ar               3680 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_free_irq(ar);
ar               3681 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_rx_retry_sync(ar);
ar               3684 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_deinit_irq(ar);
ar               3687 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_sleep_sync(ar);
ar               3688 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_release(ar);
ar               3691 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_free_pipes(ar);
ar               3694 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_core_destroy(ar);
ar               3701 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = pci_get_drvdata(pdev);
ar               3704 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_dbg(ar, ATH10K_DBG_PCI, "pci remove\n");
ar               3706 drivers/net/wireless/ath/ath10k/pci.c 	if (!ar)
ar               3709 drivers/net/wireless/ath/ath10k/pci.c 	ar_pci = ath10k_pci_priv(ar);
ar               3714 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_core_unregister(ar);
ar               3715 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_free_irq(ar);
ar               3716 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_deinit_irq(ar);
ar               3717 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_release_resource(ar);
ar               3718 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_sleep_sync(ar);
ar               3719 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_pci_release(ar);
ar               3720 drivers/net/wireless/ath/ath10k/pci.c 	ath10k_core_destroy(ar);
ar               3727 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = dev_get_drvdata(dev);
ar               3730 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_suspend(ar);
ar               3732 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to suspend hif: %d\n", ret);
ar               3739 drivers/net/wireless/ath/ath10k/pci.c 	struct ath10k *ar = dev_get_drvdata(dev);
ar               3742 drivers/net/wireless/ath/ath10k/pci.c 	ret = ath10k_pci_resume(ar);
ar               3744 drivers/net/wireless/ath/ath10k/pci.c 		ath10k_warn(ar, "failed to resume hif: %d\n", ret);
ar                110 drivers/net/wireless/ath/ath10k/pci.h 	struct ath10k *ar;
ar                171 drivers/net/wireless/ath/ath10k/pci.h 	int (*pci_soft_reset)(struct ath10k *ar);
ar                174 drivers/net/wireless/ath/ath10k/pci.h 	int (*pci_hard_reset)(struct ath10k *ar);
ar                179 drivers/net/wireless/ath/ath10k/pci.h 	u32 (*targ_cpu_to_ce_addr)(struct ath10k *ar, u32 addr);
ar                188 drivers/net/wireless/ath/ath10k/pci.h static inline struct ath10k_pci *ath10k_pci_priv(struct ath10k *ar)
ar                190 drivers/net/wireless/ath/ath10k/pci.h 	return (struct ath10k_pci *)ar->drv_priv;
ar                207 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_write32(struct ath10k *ar, u32 offset, u32 value);
ar                208 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_soc_write32(struct ath10k *ar, u32 addr, u32 val);
ar                209 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_reg_write32(struct ath10k *ar, u32 addr, u32 val);
ar                211 drivers/net/wireless/ath/ath10k/pci.h u32 ath10k_pci_read32(struct ath10k *ar, u32 offset);
ar                212 drivers/net/wireless/ath/ath10k/pci.h u32 ath10k_pci_soc_read32(struct ath10k *ar, u32 addr);
ar                213 drivers/net/wireless/ath/ath10k/pci.h u32 ath10k_pci_reg_read32(struct ath10k *ar, u32 addr);
ar                215 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
ar                217 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
ar                219 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_diag_write_mem(struct ath10k *ar, u32 address,
ar                221 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_hif_exchange_bmi_msg(struct ath10k *ar, void *req, u32 req_len,
ar                223 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_hif_map_service_to_pipe(struct ath10k *ar, u16 service_id,
ar                225 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_hif_get_default_pipe(struct ath10k *ar, u8 *ul_pipe,
ar                227 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_hif_send_complete_check(struct ath10k *ar, u8 pipe,
ar                229 drivers/net/wireless/ath/ath10k/pci.h u16 ath10k_pci_hif_get_free_queue_number(struct ath10k *ar, u8 pipe);
ar                230 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_hif_power_down(struct ath10k *ar);
ar                231 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_alloc_pipes(struct ath10k *ar);
ar                232 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_free_pipes(struct ath10k *ar);
ar                233 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_free_pipes(struct ath10k *ar);
ar                235 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_ce_deinit(struct ath10k *ar);
ar                236 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_init_napi(struct ath10k *ar);
ar                237 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_init_pipes(struct ath10k *ar);
ar                238 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_init_config(struct ath10k *ar);
ar                239 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_rx_post(struct ath10k *ar);
ar                240 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_flush(struct ath10k *ar);
ar                241 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_enable_legacy_irq(struct ath10k *ar);
ar                242 drivers/net/wireless/ath/ath10k/pci.h bool ath10k_pci_irq_pending(struct ath10k *ar);
ar                243 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_disable_and_clear_legacy_irq(struct ath10k *ar);
ar                244 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_irq_msi_fw_mask(struct ath10k *ar);
ar                245 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_wait_for_target_init(struct ath10k *ar);
ar                246 drivers/net/wireless/ath/ath10k/pci.h int ath10k_pci_setup_resource(struct ath10k *ar);
ar                247 drivers/net/wireless/ath/ath10k/pci.h void ath10k_pci_release_resource(struct ath10k *ar);
ar                 30 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                 53 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to assign msa map permissions: %d\n", ret);
ar                 62 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                 77 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to unmap msa permissions: %d\n", ret);
ar                113 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                132 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send msa mem info req: %d\n", ret);
ar                141 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "msa info req rejected: %d\n", resp.resp.error);
ar                147 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "invalid memory region length received: %d\n",
ar                158 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_dbg(ar, ATH10K_DBG_QMI,
ar                165 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi msa mem info request completed\n");
ar                176 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                191 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send msa mem ready request: %d\n", ret);
ar                200 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "msa ready request rejected: %d\n", resp.resp.error);
ar                204 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi msa mem ready request completed\n");
ar                215 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                225 drivers/net/wireless/ath/ath10k/qmi.c 	temp = ar->normal_mode_fw.board_data;
ar                226 drivers/net/wireless/ath/ath10k/qmi.c 	remaining = ar->normal_mode_fw.board_len;
ar                233 drivers/net/wireless/ath/ath10k/qmi.c 		req->total_size = ar->normal_mode_fw.board_len;
ar                268 drivers/net/wireless/ath/ath10k/qmi.c 			ath10k_err(ar, "failed to download board data file: %d\n",
ar                279 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi bdf download request completed\n");
ar                293 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                318 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send calibration request: %d\n", ret);
ar                327 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "calibration request rejected: %d\n", resp.resp.error);
ar                332 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi cal report request completed\n");
ar                340 drivers/net/wireless/ath/ath10k/qmi.c ath10k_qmi_mode_send_sync_msg(struct ath10k *ar, enum wlfw_driver_mode_enum_v01 mode)
ar                342 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                365 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send wlan mode %d request: %d\n", mode, ret);
ar                374 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "more request rejected: %d\n", resp.resp.error);
ar                379 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi wlan mode req completed: %d\n", mode);
ar                387 drivers/net/wireless/ath/ath10k/qmi.c ath10k_qmi_cfg_send_sync_msg(struct ath10k *ar,
ar                391 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                451 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send config request: %d\n", ret);
ar                460 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "config request rejected: %d\n", resp.resp.error);
ar                465 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi config request completed\n");
ar                474 drivers/net/wireless/ath/ath10k/qmi.c int ath10k_qmi_wlan_enable(struct ath10k *ar,
ar                481 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi mode %d config %p\n",
ar                484 drivers/net/wireless/ath/ath10k/qmi.c 	ret = ath10k_qmi_cfg_send_sync_msg(ar, config, version);
ar                486 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send qmi config: %d\n", ret);
ar                490 drivers/net/wireless/ath/ath10k/qmi.c 	ret = ath10k_qmi_mode_send_sync_msg(ar, mode);
ar                492 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send qmi mode: %d\n", ret);
ar                499 drivers/net/wireless/ath/ath10k/qmi.c int ath10k_qmi_wlan_disable(struct ath10k *ar)
ar                501 drivers/net/wireless/ath/ath10k/qmi.c 	return ath10k_qmi_mode_send_sync_msg(ar, QMI_WLFW_OFF_V01);
ar                508 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                509 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                527 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send capability request: %d\n", ret);
ar                536 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "capability req rejected: %d\n", resp->resp.error);
ar                565 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_info(ar, "qmi chip_id 0x%x chip_family 0x%x board_id 0x%x soc_id 0x%x",
ar                568 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_info(ar, "qmi fw_version 0x%x fw_build_timestamp %s fw_build_id %s",
ar                585 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                586 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                609 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send host capability request: %d\n", ret);
ar                618 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "host capability request rejected: %d\n", resp.resp.error);
ar                623 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi host capability request completed\n");
ar                630 drivers/net/wireless/ath/ath10k/qmi.c int ath10k_qmi_set_fw_log_mode(struct ath10k *ar, u8 fw_log_mode)
ar                632 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                653 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "fail to send fw log reqest: %d\n", ret);
ar                662 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "fw log request rejectedr: %d\n",
ar                667 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi fw log request completed, mode: %d\n",
ar                680 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                702 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to send indication registered request: %d\n", ret);
ar                711 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "indication request rejected: %d\n", resp.resp.error);
ar                720 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi indication register request completed\n");
ar                729 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                737 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_snoc_fw_indication(ar, ATH10K_QMI_EVENT_FW_READY_IND);
ar                769 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                771 drivers/net/wireless/ath/ath10k/qmi.c 	ar->hif.bus = ATH10K_BUS_SNOC;
ar                772 drivers/net/wireless/ath/ath10k/qmi.c 	ar->id.qmi_ids_valid = true;
ar                773 drivers/net/wireless/ath/ath10k/qmi.c 	ar->id.qmi_board_id = qmi->board_info.board_id;
ar                774 drivers/net/wireless/ath/ath10k/qmi.c 	ar->hw_params.fw.dir = WCN3990_HW_1_0_FW_DIR;
ar                776 drivers/net/wireless/ath/ath10k/qmi.c 	return ath10k_core_fetch_board_file(qmi->ar, ATH10K_BD_IE_BOARD);
ar                804 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                807 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_core_free_board_files(ar);
ar                808 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_snoc_fw_indication(ar, ATH10K_QMI_EVENT_FW_DOWN_IND);
ar                809 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "wifi fw qmi service disconnected\n");
ar                832 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                834 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "wifi fw ready event received\n");
ar                835 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_snoc_fw_indication(ar, ATH10K_QMI_EVENT_FW_READY_IND);
ar                881 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                888 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "wifi fw qmi service found\n");
ar                893 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to connect to a remote QMI service port\n");
ar                897 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi wifi fw qmi service connected\n");
ar                923 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                946 drivers/net/wireless/ath/ath10k/qmi.c 			ath10k_warn(ar, "invalid event type: %d", event->type);
ar                957 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k *ar = qmi->ar;
ar                958 drivers/net/wireless/ath/ath10k/qmi.c 	struct device *dev = ar->dev;
ar                984 drivers/net/wireless/ath/ath10k/qmi.c 			ath10k_err(ar, "failed to allocate dma memory for msa region\n");
ar                990 drivers/net/wireless/ath/ath10k/qmi.c 	ath10k_dbg(ar, ATH10K_DBG_QMI, "msa pa: %pad , msa va: 0x%p\n",
ar                997 drivers/net/wireless/ath/ath10k/qmi.c int ath10k_qmi_init(struct ath10k *ar, u32 msa_size)
ar                999 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1007 drivers/net/wireless/ath/ath10k/qmi.c 	qmi->ar = ar;
ar               1023 drivers/net/wireless/ath/ath10k/qmi.c 		ath10k_err(ar, "failed to allocate workqueue\n");
ar               1050 drivers/net/wireless/ath/ath10k/qmi.c int ath10k_qmi_deinit(struct ath10k *ar)
ar               1052 drivers/net/wireless/ath/ath10k/qmi.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                 87 drivers/net/wireless/ath/ath10k/qmi.h 	struct ath10k *ar;
ar                109 drivers/net/wireless/ath/ath10k/qmi.h int ath10k_qmi_wlan_enable(struct ath10k *ar,
ar                113 drivers/net/wireless/ath/ath10k/qmi.h int ath10k_qmi_wlan_disable(struct ath10k *ar);
ar                115 drivers/net/wireless/ath/ath10k/qmi.h int ath10k_qmi_init(struct ath10k *ar, u32 msa_size);
ar                116 drivers/net/wireless/ath/ath10k/qmi.h int ath10k_qmi_deinit(struct ath10k *ar);
ar                117 drivers/net/wireless/ath/ath10k/qmi.h int ath10k_qmi_set_fw_log_mode(struct ath10k *ar, u8 fw_log_mode);
ar                127 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_config(struct ath10k *ar)
ar                129 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                134 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "sdio configuration\n");
ar                165 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to enable driver strength: %d\n", ret);
ar                180 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to enable 4-bit async irq mode: %d\n",
ar                202 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to set sdio block size to %d: %d\n",
ar                212 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_write32(struct ath10k *ar, u32 addr, u32 val)
ar                214 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                222 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to write 0x%x to address 0x%x: %d\n",
ar                227 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio write32 addr 0x%x val 0x%x\n",
ar                236 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_writesb32(struct ath10k *ar, u32 addr, u32 val)
ar                238 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                253 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to write value 0x%x to fixed sb address 0x%x: %d\n",
ar                258 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio writesb32 addr 0x%x val 0x%x\n",
ar                269 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_read32(struct ath10k *ar, u32 addr, u32 *val)
ar                271 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                278 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to read from address 0x%x: %d\n",
ar                283 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio read32 addr 0x%x val 0x%x\n",
ar                292 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_read(struct ath10k *ar, u32 addr, void *buf, size_t len)
ar                294 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                302 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to read from address 0x%x: %d\n",
ar                307 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio read addr 0x%x buf 0x%p len %zu\n",
ar                309 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg_dump(ar, ATH10K_DBG_SDIO_DUMP, NULL, "sdio read ", buf, len);
ar                317 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_write(struct ath10k *ar, u32 addr, const void *buf, size_t len)
ar                319 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                330 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to write to address 0x%x: %d\n",
ar                335 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio write addr 0x%x buf 0x%p len %zu\n",
ar                337 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg_dump(ar, ATH10K_DBG_SDIO_DUMP, NULL, "sdio write ", buf, len);
ar                345 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_readsb(struct ath10k *ar, u32 addr, void *buf, size_t len)
ar                347 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                357 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to read from fixed (sb) address 0x%x: %d\n",
ar                362 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio readsb addr 0x%x buf 0x%p len %zu\n",
ar                364 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg_dump(ar, ATH10K_DBG_SDIO_DUMP, NULL, "sdio readsb ", buf, len);
ar                374 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_rx_process_packet(struct ath10k *ar,
ar                379 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_htc *htc = &ar->htc;
ar                412 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_rx_process_packets(struct ath10k *ar,
ar                416 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                417 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_htc *htc = &ar->htc;
ar                433 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar, "invalid endpoint in look-ahead: %d\n",
ar                442 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar, "ep %d is not connected\n", id);
ar                458 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_rx_process_packet(ar,
ar                466 drivers/net/wireless/ath/ath10k/sdio.c 			ep->ep_ops.ep_rx_complete(ar_sdio->ar, pkt->skb);
ar                487 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_alloc_pkt_bundle(struct ath10k *ar,
ar                498 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar,
ar                524 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_rx_alloc(struct ath10k *ar,
ar                527 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                534 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar,
ar                548 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar,
ar                560 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar,
ar                575 drivers/net/wireless/ath/ath10k/sdio.c 			ret = ath10k_sdio_mbox_alloc_pkt_bundle(ar,
ar                583 drivers/net/wireless/ath/ath10k/sdio.c 				ath10k_warn(ar, "alloc_bundle error %d\n", ret);
ar                606 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar, "alloc_rx_pkt error %d\n", ret);
ar                625 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_rx_packet(struct ath10k *ar,
ar                628 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                633 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_readsb(ar, ar_sdio->mbox_info.htc_addr,
ar                645 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "rx packet too large (%zu > %zu)\n",
ar                659 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_rx_fetch(struct ath10k *ar)
ar                661 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                665 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_rx_packet(ar,
ar                688 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_rxmsg_pending_handler(struct ath10k *ar,
ar                691 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                709 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_rx_alloc(ar, lookaheads,
ar                720 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_rx_fetch(ar);
ar                727 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_rx_process_packets(ar,
ar                744 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to get pending recv messages: %d\n",
ar                750 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_proc_dbg_intr(struct ath10k *ar)
ar                756 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_warn(ar, "firmware crashed\n");
ar                761 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_read32(ar, MBOX_COUNT_DEC_ADDRESS, &val);
ar                763 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to clear debug interrupt: %d\n", ret);
ar                768 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_proc_counter_intr(struct ath10k *ar)
ar                770 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                784 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_proc_dbg_intr(ar);
ar                793 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_proc_err_intr(struct ath10k *ar)
ar                795 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                800 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio error interrupt\n");
ar                804 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "invalid error interrupt status: 0x%x\n",
ar                809 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar                814 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio interrupt error wakeup\n");
ar                818 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "rx underflow interrupt error\n");
ar                822 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "tx overflow interrupt error\n");
ar                828 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_writesb32(ar, MBOX_ERROR_INT_STATUS_ADDRESS,
ar                831 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to write to error int status address: %d\n",
ar                839 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_proc_cpu_intr(struct ath10k *ar)
ar                841 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                850 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "CPU interrupt status is zero\n");
ar                865 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_writesb32(ar, MBOX_CPU_INT_STATUS_ADDRESS,
ar                868 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to write to cpu interrupt status address: %d\n",
ar                876 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_err(ar, "firmware crashed!\n");
ar                877 drivers/net/wireless/ath/ath10k/sdio.c 		queue_work(ar->workqueue, &ar->restart_work);
ar                882 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_read_int_status(struct ath10k *ar,
ar                886 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar                914 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_read(ar, MBOX_HOST_INT_STATUS_ADDRESS,
ar                938 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar, "sdio mbox lookahead is zero\n");
ar                946 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_mbox_proc_pending_irqs(struct ath10k *ar,
ar                959 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_mbox_read_int_status(ar,
ar                974 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar                978 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_rxmsg_pending_handler(ar,
ar                986 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar                991 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_proc_cpu_intr(ar);
ar                998 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_proc_err_intr(ar);
ar               1005 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_proc_counter_intr(ar);
ar               1022 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar               1029 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_set_mbox_info(struct ath10k *ar)
ar               1031 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1075 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_bmi_credits(struct ath10k *ar)
ar               1092 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_read32(ar, addr, &cmd_credits);
ar               1094 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar,
ar               1107 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "bmi communication timeout\n");
ar               1114 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_bmi_get_rx_lookahead(struct ath10k *ar)
ar               1124 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_read32(ar,
ar               1128 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar, "unable to read RX_LOOKAHEAD_VALID: %d\n", ret);
ar               1137 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "bmi_recv_buf FIFO empty\n");
ar               1144 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_bmi_exchange_msg(struct ath10k *ar,
ar               1148 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1153 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_bmi_credits(ar);
ar               1160 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_write(ar, addr, ar_sdio->bmi_buf, req_len);
ar               1162 drivers/net/wireless/ath/ath10k/sdio.c 			ath10k_warn(ar,
ar               1218 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_bmi_get_rx_lookahead(ar);
ar               1224 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_read(ar, addr, ar_sdio->bmi_buf, *resp_len);
ar               1226 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar,
ar               1240 drivers/net/wireless/ath/ath10k/sdio.c *ath10k_sdio_alloc_busreq(struct ath10k *ar)
ar               1242 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1261 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_free_bus_req(struct ath10k *ar,
ar               1264 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1273 drivers/net/wireless/ath/ath10k/sdio.c static void __ath10k_sdio_write_async(struct ath10k *ar,
ar               1281 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write(ar, req->address, skb->data, skb->len);
ar               1283 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to write skb to 0x%x asynchronously: %d",
ar               1287 drivers/net/wireless/ath/ath10k/sdio.c 		ep = &ar->htc.endpoint[req->eid];
ar               1293 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_sdio_free_bus_req(ar, req);
ar               1300 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k *ar = ar_sdio->ar;
ar               1308 drivers/net/wireless/ath/ath10k/sdio.c 		__ath10k_sdio_write_async(ar, req);
ar               1315 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_prep_async_req(struct ath10k *ar, u32 addr,
ar               1320 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1326 drivers/net/wireless/ath/ath10k/sdio.c 	bus_req = ath10k_sdio_alloc_busreq(ar);
ar               1328 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar,
ar               1351 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k *ar = ar_sdio->ar;
ar               1363 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_mbox_proc_pending_irqs(ar, &done);
ar               1368 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_mac_tx_push_pending(ar);
ar               1373 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to process pending SDIO interrupts: %d\n",
ar               1379 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_disable_intrs(struct ath10k *ar)
ar               1381 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1389 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write(ar, MBOX_INT_STATUS_ENABLE_ADDRESS,
ar               1392 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to disable sdio interrupts: %d\n", ret);
ar               1399 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_power_up(struct ath10k *ar,
ar               1402 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1409 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "sdio power on\n");
ar               1411 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_config(ar);
ar               1413 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_err(ar, "failed to config sdio: %d\n", ret);
ar               1421 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to enable sdio function: %d)\n", ret);
ar               1435 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_disable_intrs(ar);
ar               1442 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_hif_power_down(struct ath10k *ar)
ar               1444 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1450 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "sdio power off\n");
ar               1457 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to disable sdio function: %d\n", ret);
ar               1464 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to reset sdio: %d\n", ret);
ar               1471 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
ar               1474 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1493 drivers/net/wireless/ath/ath10k/sdio.c 		ret = ath10k_sdio_prep_async_req(ar, address, skb,
ar               1504 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_enable_intrs(struct ath10k *ar)
ar               1506 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1541 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write(ar, MBOX_INT_STATUS_ENABLE_ADDRESS,
ar               1544 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar,
ar               1552 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_set_mbox_sleep(struct ath10k *ar, bool enable_sleep)
ar               1557 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_read32(ar, ATH10K_FIFO_TIMEOUT_AND_CHIP_CONTROL, &val);
ar               1559 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to read fifo/chip control register: %d\n",
ar               1569 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write32(ar, ATH10K_FIFO_TIMEOUT_AND_CHIP_CONTROL, val);
ar               1571 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to write to FIFO_TIMEOUT_AND_CHIP_CONTROL: %d",
ar               1581 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
ar               1587 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write32(ar, MBOX_WINDOW_READ_ADDR_ADDRESS, address);
ar               1589 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to set mbox window read address: %d", ret);
ar               1594 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_read(ar, MBOX_WINDOW_DATA_ADDRESS, buf, buf_len);
ar               1596 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to read from mbox window data address: %d\n",
ar               1604 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_diag_read32(struct ath10k *ar, u32 address,
ar               1614 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_diag_read(ar, address, val, sizeof(*val));
ar               1626 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_diag_write_mem(struct ath10k *ar, u32 address,
ar               1632 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write(ar, MBOX_WINDOW_DATA_ADDRESS, data, nbytes);
ar               1634 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar,
ar               1641 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_write32(ar, MBOX_WINDOW_WRITE_ADDR_ADDRESS, address);
ar               1643 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to set mbox window write address: %d", ret);
ar               1650 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_swap_mailbox(struct ath10k *ar)
ar               1652 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1658 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_diag_read32(ar, addr, &val);
ar               1660 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unable to read hi_acs_flags : %d\n", ret);
ar               1665 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar               1669 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar               1679 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_start(struct ath10k *ar)
ar               1681 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1689 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_disable_intrs(ar);
ar               1704 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to claim sdio interrupt: %d\n", ret);
ar               1711 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_enable_intrs(ar);
ar               1713 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to enable sdio interrupts: %d\n", ret);
ar               1716 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_set_mbox_sleep(ar, true);
ar               1723 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_hif_set_mbox_sleep(ar, false);
ar               1732 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_irq_disable(struct ath10k *ar)
ar               1734 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1754 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_sdio_prep_async_req(ar, MBOX_INT_STATUS_ENABLE_ADDRESS,
ar               1767 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "sdio irq disable request timed out\n");
ar               1773 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "failed to release sdio interrupt: %d\n", ret);
ar               1781 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_hif_stop(struct ath10k *ar)
ar               1784 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1786 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_sdio_irq_disable(ar);
ar               1799 drivers/net/wireless/ath/ath10k/sdio.c 			ep = &ar->htc.endpoint[req->eid];
ar               1804 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_sdio_free_bus_req(ar, req);
ar               1812 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_suspend(struct ath10k *ar)
ar               1817 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_resume(struct ath10k *ar)
ar               1819 drivers/net/wireless/ath/ath10k/sdio.c 	switch (ar->state) {
ar               1821 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar               1825 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_sdio_config(ar);
ar               1837 drivers/net/wireless/ath/ath10k/sdio.c static int ath10k_sdio_hif_map_service_to_pipe(struct ath10k *ar,
ar               1841 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
ar               1842 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k_htc *htc = &ar->htc;
ar               1895 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar               1902 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_dbg(ar, ATH10K_DBG_SDIO,
ar               1907 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_warn(ar, "unsupported HTC service id: %d\n",
ar               1915 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_hif_get_default_pipe(struct ath10k *ar,
ar               1918 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio hif get default pipe\n");
ar               1933 drivers/net/wireless/ath/ath10k/sdio.c static void ath10k_sdio_hif_send_complete_check(struct ath10k *ar,
ar               1987 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k *ar;
ar               2001 drivers/net/wireless/ath/ath10k/sdio.c 	ar = ath10k_core_create(sizeof(*ar_sdio), &func->dev, ATH10K_BUS_SDIO,
ar               2003 drivers/net/wireless/ath/ath10k/sdio.c 	if (!ar) {
ar               2008 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2013 drivers/net/wireless/ath/ath10k/sdio.c 	ar_sdio = ath10k_sdio_priv(ar);
ar               2016 drivers/net/wireless/ath/ath10k/sdio.c 		devm_kzalloc(ar->dev, sizeof(struct ath10k_sdio_irq_proc_regs),
ar               2024 drivers/net/wireless/ath/ath10k/sdio.c 		devm_kzalloc(ar->dev, sizeof(struct ath10k_sdio_irq_enable_regs),
ar               2031 drivers/net/wireless/ath/ath10k/sdio.c 	ar_sdio->bmi_buf = devm_kzalloc(ar->dev, BMI_MAX_CMDBUF_SIZE, GFP_KERNEL);
ar               2041 drivers/net/wireless/ath/ath10k/sdio.c 	ar_sdio->ar = ar;
ar               2058 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_sdio_free_bus_req(ar, &ar_sdio->bus_req[i]);
ar               2064 drivers/net/wireless/ath/ath10k/sdio.c 		ar->dev_id = QCA9377_1_0_DEVICE_ID;
ar               2068 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_err(ar, "unsupported device id %u (0x%x)\n",
ar               2073 drivers/net/wireless/ath/ath10k/sdio.c 	ar->id.vendor = id->vendor;
ar               2074 drivers/net/wireless/ath/ath10k/sdio.c 	ar->id.device = id->device;
ar               2076 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_sdio_set_mbox_info(ar);
ar               2083 drivers/net/wireless/ath/ath10k/sdio.c 	ret = ath10k_core_register(ar, &bus_params);
ar               2085 drivers/net/wireless/ath/ath10k/sdio.c 		ath10k_err(ar, "failed to register driver core: %d\n", ret);
ar               2090 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_warn(ar, "WARNING: ath10k SDIO support is work-in-progress, problems may arise!\n");
ar               2097 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_core_destroy(ar);
ar               2105 drivers/net/wireless/ath/ath10k/sdio.c 	struct ath10k *ar = ar_sdio->ar;
ar               2107 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               2111 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_core_unregister(ar);
ar               2112 drivers/net/wireless/ath/ath10k/sdio.c 	ath10k_core_destroy(ar);
ar                196 drivers/net/wireless/ath/ath10k/sdio.h 	struct ath10k *ar;
ar                211 drivers/net/wireless/ath/ath10k/sdio.h static inline struct ath10k_sdio *ath10k_sdio_priv(struct ath10k *ar)
ar                213 drivers/net/wireless/ath/ath10k/sdio.h 	return (struct ath10k_sdio *)ar->drv_priv;
ar                467 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_write32(struct ath10k *ar, u32 offset, u32 value)
ar                469 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                474 drivers/net/wireless/ath/ath10k/snoc.c static u32 ath10k_snoc_read32(struct ath10k *ar, u32 offset)
ar                476 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                487 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = pipe->hif_ce_state;
ar                488 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                499 drivers/net/wireless/ath/ath10k/snoc.c 	paddr = dma_map_single(ar->dev, skb->data,
ar                502 drivers/net/wireless/ath/ath10k/snoc.c 	if (unlikely(dma_mapping_error(ar->dev, paddr))) {
ar                503 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_warn(ar, "failed to dma map snoc rx buf\n");
ar                514 drivers/net/wireless/ath/ath10k/snoc.c 		dma_unmap_single(ar->dev, paddr, skb->len + skb_tailroom(skb),
ar                525 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = pipe->hif_ce_state;
ar                526 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                527 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                545 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_warn(ar, "failed to post rx buf: %d\n", ret);
ar                553 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_rx_post(struct ath10k *ar)
ar                555 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                563 drivers/net/wireless/ath/ath10k/snoc.c 				      void (*callback)(struct ath10k *ar,
ar                566 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = ce_state->ar;
ar                567 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                579 drivers/net/wireless/ath/ath10k/snoc.c 		dma_unmap_single(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
ar                583 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_warn(ar, "rxed more than expected (nbytes %d, max %d)",
ar                594 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc rx ce pipe %d len %d\n",
ar                597 drivers/net/wireless/ath/ath10k/snoc.c 		callback(ar, skb);
ar                613 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_per_engine_service(ce_state->ar, CE_POLL_PIPE);
ar                626 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_htt_rx_deliver(struct ath10k *ar, struct sk_buff *skb)
ar                629 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_htt_t2h_msg_handler(ar, skb);
ar                634 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_per_engine_service(ce_state->ar, CE_POLL_PIPE);
ar                641 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = ar_snoc->ar;
ar                643 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_rx_post(ar);
ar                648 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = ce_state->ar;
ar                661 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_htc_tx_completion_handler(ar, skb);
ar                666 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = ce_state->ar;
ar                673 drivers/net/wireless/ath/ath10k/snoc.c 		dma_unmap_single(ar->dev, ATH10K_SKB_CB(skb)->paddr,
ar                675 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_htt_hif_tx_complete(ar, skb);
ar                679 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
ar                682 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                683 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar                693 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_dbg(ar, ATH10K_DBG_SNOC,
ar                707 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC,
ar                732 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_get_target_info(struct ath10k *ar,
ar                741 drivers/net/wireless/ath/ath10k/snoc.c static u16 ath10k_snoc_hif_get_free_queue_number(struct ath10k *ar, u8 pipe)
ar                743 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                745 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "hif get free queue number\n");
ar                750 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_hif_send_complete_check(struct ath10k *ar, u8 pipe,
ar                755 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc hif send complete check\n");
ar                758 drivers/net/wireless/ath/ath10k/snoc.c 		resources = ath10k_snoc_hif_get_free_queue_number(ar, pipe);
ar                763 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_per_engine_service(ar, pipe);
ar                766 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_map_service_to_pipe(struct ath10k *ar,
ar                774 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc hif map service\n");
ar                812 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_hif_get_default_pipe(struct ath10k *ar,
ar                815 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc hif get default pipe\n");
ar                817 drivers/net/wireless/ath/ath10k/snoc.c 	(void)ath10k_snoc_hif_map_service_to_pipe(ar,
ar                822 drivers/net/wireless/ath/ath10k/snoc.c static inline void ath10k_snoc_irq_disable(struct ath10k *ar)
ar                824 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_disable_interrupts(ar);
ar                827 drivers/net/wireless/ath/ath10k/snoc.c static inline void ath10k_snoc_irq_enable(struct ath10k *ar)
ar                829 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_enable_interrupts(ar);
ar                837 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar;
ar                840 drivers/net/wireless/ath/ath10k/snoc.c 	ar = snoc_pipe->hif_ce_state;
ar                857 drivers/net/wireless/ath/ath10k/snoc.c 		dma_unmap_single(ar->dev, ATH10K_SKB_RXCB(skb)->paddr,
ar                869 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar;
ar                872 drivers/net/wireless/ath/ath10k/snoc.c 	ar = snoc_pipe->hif_ce_state;
ar                889 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_htc_tx_completion_handler(ar, skb);
ar                893 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_buffer_cleanup(struct ath10k *ar)
ar                895 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                907 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_hif_stop(struct ath10k *ar)
ar                909 drivers/net/wireless/ath/ath10k/snoc.c 	if (!test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags))
ar                910 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_snoc_irq_disable(ar);
ar                912 drivers/net/wireless/ath/ath10k/snoc.c 	napi_synchronize(&ar->napi);
ar                913 drivers/net/wireless/ath/ath10k/snoc.c 	napi_disable(&ar->napi);
ar                914 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_buffer_cleanup(ar);
ar                915 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif stop\n");
ar                918 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_start(struct ath10k *ar)
ar                920 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar                922 drivers/net/wireless/ath/ath10k/snoc.c 	napi_enable(&ar->napi);
ar                923 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_irq_enable(ar);
ar                924 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_rx_post(ar);
ar                928 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif start\n");
ar                933 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_init_pipes(struct ath10k *ar)
ar                938 drivers/net/wireless/ath/ath10k/snoc.c 		ret = ath10k_ce_init_pipe(ar, i, &host_ce_config_wlan[i]);
ar                940 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "failed to initialize copy engine pipe %d: %d\n",
ar                949 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_wlan_enable(struct ath10k *ar,
ar                992 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "invalid firmware mode %d\n", fw_mode);
ar                996 drivers/net/wireless/ath/ath10k/snoc.c 	return ath10k_qmi_wlan_enable(ar, &cfg, mode,
ar               1000 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_wlan_disable(struct ath10k *ar)
ar               1002 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1010 drivers/net/wireless/ath/ath10k/snoc.c 	if (!test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags) ||
ar               1012 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_qmi_wlan_disable(ar);
ar               1015 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_hif_power_down(struct ath10k *ar)
ar               1017 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif power down\n");
ar               1019 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_wlan_disable(ar);
ar               1020 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_free_rri(ar);
ar               1023 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_power_up(struct ath10k *ar,
ar               1028 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "%s:WCN3990 driver state = %d\n",
ar               1029 drivers/net/wireless/ath/ath10k/snoc.c 		   __func__, ar->state);
ar               1031 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_wlan_enable(ar, fw_mode);
ar               1033 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to enable wcn3990: %d\n", ret);
ar               1037 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_alloc_rri(ar);
ar               1039 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_init_pipes(ar);
ar               1041 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to initialize CE: %d\n", ret);
ar               1048 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_wlan_disable(ar);
ar               1053 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_set_target_log_mode(struct ath10k *ar,
ar               1063 drivers/net/wireless/ath/ath10k/snoc.c 	return ath10k_qmi_set_fw_log_mode(ar, fw_dbg_mode);
ar               1067 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_suspend(struct ath10k *ar)
ar               1069 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1072 drivers/net/wireless/ath/ath10k/snoc.c 	if (!device_may_wakeup(ar->dev))
ar               1077 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to enable wakeup irq :%d\n", ret);
ar               1081 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc device suspended\n");
ar               1086 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_hif_resume(struct ath10k *ar)
ar               1088 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1091 drivers/net/wireless/ath/ath10k/snoc.c 	if (!device_may_wakeup(ar->dev))
ar               1096 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to disable wakeup irq: %d\n", ret);
ar               1100 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc device resumed\n");
ar               1132 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_get_ce_id_from_irq(struct ath10k *ar, int irq)
ar               1134 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1141 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_err(ar, "No matching CE id for irq %d\n", irq);
ar               1148 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = arg;
ar               1149 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1150 drivers/net/wireless/ath/ath10k/snoc.c 	int ce_id = ath10k_snoc_get_ce_id_from_irq(ar, irq);
ar               1153 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_warn(ar, "unexpected/invalid irq %d ce_id %d\n", irq,
ar               1158 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_irq_disable(ar);
ar               1159 drivers/net/wireless/ath/ath10k/snoc.c 	napi_schedule(&ar->napi);
ar               1166 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = container_of(ctx, struct ath10k, napi);
ar               1169 drivers/net/wireless/ath/ath10k/snoc.c 	if (test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags)) {
ar               1174 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_ce_per_engine_service_any(ar);
ar               1175 drivers/net/wireless/ath/ath10k/snoc.c 	done = ath10k_htt_txrx_compl_task(ar, budget);
ar               1179 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_snoc_irq_enable(ar);
ar               1185 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_init_napi(struct ath10k *ar)
ar               1187 drivers/net/wireless/ath/ath10k/snoc.c 	netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_snoc_napi_poll,
ar               1191 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_request_irq(struct ath10k *ar)
ar               1193 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1200 drivers/net/wireless/ath/ath10k/snoc.c 				  irqflags, ce_name[id], ar);
ar               1202 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar,
ar               1213 drivers/net/wireless/ath/ath10k/snoc.c 		free_irq(ar_snoc->ce_irqs[id].irq_line, ar);
ar               1218 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_free_irq(struct ath10k *ar)
ar               1220 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1224 drivers/net/wireless/ath/ath10k/snoc.c 		free_irq(ar_snoc->ce_irqs[id].irq_line, ar);
ar               1227 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_resource_init(struct ath10k *ar)
ar               1229 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1237 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "Memory base not found in DT\n");
ar               1245 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "Memory base ioremap failed with physical address %pa\n",
ar               1253 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "failed to get IRQ%d\n", i);
ar               1264 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_quirks_init(struct ath10k *ar)
ar               1266 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1273 drivers/net/wireless/ath/ath10k/snoc.c int ath10k_snoc_fw_indication(struct ath10k *ar, u64 type)
ar               1275 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1285 drivers/net/wireless/ath/ath10k/snoc.c 			queue_work(ar->workqueue, &ar->restart_work);
ar               1291 drivers/net/wireless/ath/ath10k/snoc.c 		ret = ath10k_core_register(ar, &bus_params);
ar               1293 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "Failed to register driver core: %d\n",
ar               1301 drivers/net/wireless/ath/ath10k/snoc.c 		set_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags);
ar               1304 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "invalid fw indication: %llx\n", type);
ar               1311 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_setup_resource(struct ath10k *ar)
ar               1313 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1314 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_ce *ce = ath10k_ce_priv(ar);
ar               1324 drivers/net/wireless/ath/ath10k/snoc.c 		pipe->hif_ce_state = ar;
ar               1326 drivers/net/wireless/ath/ath10k/snoc.c 		ret = ath10k_ce_alloc_pipe(ar, i, &host_ce_config_wlan[i]);
ar               1328 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "failed to allocate copy engine pipe %d: %d\n",
ar               1335 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_init_napi(ar);
ar               1340 drivers/net/wireless/ath/ath10k/snoc.c static void ath10k_snoc_release_resource(struct ath10k *ar)
ar               1344 drivers/net/wireless/ath/ath10k/snoc.c 	netif_napi_del(&ar->napi);
ar               1346 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_ce_free_pipe(ar, i);
ar               1349 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_get_vreg_info(struct ath10k *ar, struct device *dev,
ar               1361 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "EPROBE_DEFER for regulator: %s\n",
ar               1366 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "Regulator %s doesn't exist: %d\n",
ar               1370 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_dbg(ar, ATH10K_DBG_SNOC,
ar               1379 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC,
ar               1387 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_get_clk_info(struct ath10k *ar, struct device *dev,
ar               1397 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "snoc clock %s isn't available: %d\n",
ar               1401 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc ignoring clock %s: %d\n",
ar               1407 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc clock %s freq %u\n",
ar               1415 drivers/net/wireless/ath/ath10k/snoc.c static int __ath10k_snoc_vreg_on(struct ath10k *ar,
ar               1420 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc regulator %s being enabled\n",
ar               1426 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar,
ar               1435 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "failed to set regulator %s load: %d\n",
ar               1443 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to enable regulator %s\n",
ar               1461 drivers/net/wireless/ath/ath10k/snoc.c static int __ath10k_snoc_vreg_off(struct ath10k *ar,
ar               1466 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc regulator %s being disabled\n",
ar               1471 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to disable regulator %s\n",
ar               1476 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to set load %s\n", vreg_info->name);
ar               1480 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to set voltage %s\n", vreg_info->name);
ar               1485 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_vreg_on(struct ath10k *ar)
ar               1487 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1498 drivers/net/wireless/ath/ath10k/snoc.c 		ret = __ath10k_snoc_vreg_on(ar, vreg_info);
ar               1512 drivers/net/wireless/ath/ath10k/snoc.c 		__ath10k_snoc_vreg_off(ar, vreg_info);
ar               1518 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_vreg_off(struct ath10k *ar)
ar               1520 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1531 drivers/net/wireless/ath/ath10k/snoc.c 		ret = __ath10k_snoc_vreg_off(ar, vreg_info);
ar               1537 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_clk_init(struct ath10k *ar)
ar               1539 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1550 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc clock %s being enabled\n",
ar               1557 drivers/net/wireless/ath/ath10k/snoc.c 				ath10k_err(ar, "failed to set clock %s freq %u\n",
ar               1565 drivers/net/wireless/ath/ath10k/snoc.c 			ath10k_err(ar, "failed to enable clock %s\n",
ar               1586 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_snoc_clk_deinit(struct ath10k *ar)
ar               1588 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1598 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc clock %s being disabled\n",
ar               1607 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_hw_power_on(struct ath10k *ar)
ar               1611 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "soc power on\n");
ar               1613 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_vreg_on(ar);
ar               1617 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_clk_init(ar);
ar               1624 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_vreg_off(ar);
ar               1628 drivers/net/wireless/ath/ath10k/snoc.c static int ath10k_hw_power_off(struct ath10k *ar)
ar               1632 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "soc power off\n");
ar               1634 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_clk_deinit(ar);
ar               1636 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_vreg_off(ar);
ar               1655 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar;
ar               1675 drivers/net/wireless/ath/ath10k/snoc.c 	ar = ath10k_core_create(sizeof(*ar_snoc), dev, ATH10K_BUS_SNOC,
ar               1677 drivers/net/wireless/ath/ath10k/snoc.c 	if (!ar) {
ar               1682 drivers/net/wireless/ath/ath10k/snoc.c 	ar_snoc = ath10k_snoc_priv(ar);
ar               1684 drivers/net/wireless/ath/ath10k/snoc.c 	platform_set_drvdata(pdev, ar);
ar               1685 drivers/net/wireless/ath/ath10k/snoc.c 	ar_snoc->ar = ar;
ar               1687 drivers/net/wireless/ath/ath10k/snoc.c 	ar->ce_priv = &ar_snoc->ce;
ar               1690 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_quirks_init(ar);
ar               1692 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_resource_init(ar);
ar               1694 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_warn(ar, "failed to initialize resource: %d\n", ret);
ar               1698 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_setup_resource(ar);
ar               1700 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_warn(ar, "failed to setup resource: %d\n", ret);
ar               1703 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_snoc_request_irq(ar);
ar               1705 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_warn(ar, "failed to request irqs: %d\n", ret);
ar               1711 drivers/net/wireless/ath/ath10k/snoc.c 		ret = ath10k_get_vreg_info(ar, dev, &ar_snoc->vreg[i]);
ar               1718 drivers/net/wireless/ath/ath10k/snoc.c 		ret = ath10k_get_clk_info(ar, dev, &ar_snoc->clk[i]);
ar               1723 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_hw_power_on(ar);
ar               1725 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_err(ar, "failed to power on device: %d\n", ret);
ar               1729 drivers/net/wireless/ath/ath10k/snoc.c 	ret = ath10k_qmi_init(ar, msa_size);
ar               1731 drivers/net/wireless/ath/ath10k/snoc.c 		ath10k_warn(ar, "failed to register wlfw qmi client: %d\n", ret);
ar               1735 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc probe\n");
ar               1740 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_hw_power_off(ar);
ar               1743 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_free_irq(ar);
ar               1746 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_release_resource(ar);
ar               1749 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_core_destroy(ar);
ar               1756 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k *ar = platform_get_drvdata(pdev);
ar               1757 drivers/net/wireless/ath/ath10k/snoc.c 	struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
ar               1759 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc remove\n");
ar               1761 drivers/net/wireless/ath/ath10k/snoc.c 	reinit_completion(&ar->driver_recovery);
ar               1764 drivers/net/wireless/ath/ath10k/snoc.c 		wait_for_completion_timeout(&ar->driver_recovery, 3 * HZ);
ar               1768 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_core_unregister(ar);
ar               1769 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_hw_power_off(ar);
ar               1770 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_free_irq(ar);
ar               1771 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_snoc_release_resource(ar);
ar               1772 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_qmi_deinit(ar);
ar               1773 drivers/net/wireless/ath/ath10k/snoc.c 	ath10k_core_destroy(ar);
ar                 71 drivers/net/wireless/ath/ath10k/snoc.h 	struct ath10k *ar;
ar                 86 drivers/net/wireless/ath/ath10k/snoc.h static inline struct ath10k_snoc *ath10k_snoc_priv(struct ath10k *ar)
ar                 88 drivers/net/wireless/ath/ath10k/snoc.h 	return (struct ath10k_snoc *)ar->drv_priv;
ar                 91 drivers/net/wireless/ath/ath10k/snoc.h int ath10k_snoc_fw_indication(struct ath10k *ar, u64 type);
ar                 11 drivers/net/wireless/ath/ath10k/spectral.c static void send_fft_sample(struct ath10k *ar,
ar                 16 drivers/net/wireless/ath/ath10k/spectral.c 	if (!ar->spectral.rfs_chan_spec_scan)
ar                 21 drivers/net/wireless/ath/ath10k/spectral.c 	relay_write(ar->spectral.rfs_chan_spec_scan, fft_sample_tlv, length);
ar                 48 drivers/net/wireless/ath/ath10k/spectral.c static inline size_t ath10k_spectral_fix_bin_size(struct ath10k *ar,
ar                 58 drivers/net/wireless/ath/ath10k/spectral.c 		bin_len -= ar->hw_params.spectral_bin_discard;
ar                 63 drivers/net/wireless/ath/ath10k/spectral.c int ath10k_spectral_process_fft(struct ath10k *ar,
ar                 77 drivers/net/wireless/ath/ath10k/spectral.c 	bin_len = ath10k_spectral_fix_bin_size(ar, bin_len);
ar                137 drivers/net/wireless/ath/ath10k/spectral.c 	bins += sizeof(*fftr) + ar->hw_params.spectral_bin_offset;
ar                156 drivers/net/wireless/ath/ath10k/spectral.c 	send_fft_sample(ar, &fft_sample->tlv);
ar                161 drivers/net/wireless/ath/ath10k/spectral.c static struct ath10k_vif *ath10k_get_spectral_vdev(struct ath10k *ar)
ar                165 drivers/net/wireless/ath/ath10k/spectral.c 	lockdep_assert_held(&ar->conf_mutex);
ar                167 drivers/net/wireless/ath/ath10k/spectral.c 	if (list_empty(&ar->arvifs))
ar                171 drivers/net/wireless/ath/ath10k/spectral.c 	list_for_each_entry(arvif, &ar->arvifs, list)
ar                176 drivers/net/wireless/ath/ath10k/spectral.c 	return list_first_entry(&ar->arvifs, typeof(*arvif), list);
ar                179 drivers/net/wireless/ath/ath10k/spectral.c static int ath10k_spectral_scan_trigger(struct ath10k *ar)
ar                185 drivers/net/wireless/ath/ath10k/spectral.c 	lockdep_assert_held(&ar->conf_mutex);
ar                187 drivers/net/wireless/ath/ath10k/spectral.c 	arvif = ath10k_get_spectral_vdev(ar);
ar                192 drivers/net/wireless/ath/ath10k/spectral.c 	if (ar->spectral.mode == SPECTRAL_DISABLED)
ar                195 drivers/net/wireless/ath/ath10k/spectral.c 	res = ath10k_wmi_vdev_spectral_enable(ar, vdev_id,
ar                201 drivers/net/wireless/ath/ath10k/spectral.c 	res = ath10k_wmi_vdev_spectral_enable(ar, vdev_id,
ar                210 drivers/net/wireless/ath/ath10k/spectral.c static int ath10k_spectral_scan_config(struct ath10k *ar,
ar                217 drivers/net/wireless/ath/ath10k/spectral.c 	lockdep_assert_held(&ar->conf_mutex);
ar                219 drivers/net/wireless/ath/ath10k/spectral.c 	arvif = ath10k_get_spectral_vdev(ar);
ar                226 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.mode = mode;
ar                228 drivers/net/wireless/ath/ath10k/spectral.c 	res = ath10k_wmi_vdev_spectral_enable(ar, vdev_id,
ar                232 drivers/net/wireless/ath/ath10k/spectral.c 		ath10k_warn(ar, "failed to enable spectral scan: %d\n", res);
ar                242 drivers/net/wireless/ath/ath10k/spectral.c 		count = max_t(u8, 1, ar->spectral.config.count);
ar                248 drivers/net/wireless/ath/ath10k/spectral.c 	arg.scan_fft_size = ar->spectral.config.fft_size;
ar                264 drivers/net/wireless/ath/ath10k/spectral.c 	res = ath10k_wmi_vdev_spectral_conf(ar, &arg);
ar                266 drivers/net/wireless/ath/ath10k/spectral.c 		ath10k_warn(ar, "failed to configure spectral scan: %d\n", res);
ar                276 drivers/net/wireless/ath/ath10k/spectral.c 	struct ath10k *ar = file->private_data;
ar                281 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_lock(&ar->conf_mutex);
ar                282 drivers/net/wireless/ath/ath10k/spectral.c 	spectral_mode = ar->spectral.mode;
ar                283 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_unlock(&ar->conf_mutex);
ar                305 drivers/net/wireless/ath/ath10k/spectral.c 	struct ath10k *ar = file->private_data;
ar                316 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_lock(&ar->conf_mutex);
ar                319 drivers/net/wireless/ath/ath10k/spectral.c 		if (ar->spectral.mode == SPECTRAL_MANUAL ||
ar                320 drivers/net/wireless/ath/ath10k/spectral.c 		    ar->spectral.mode == SPECTRAL_BACKGROUND) {
ar                324 drivers/net/wireless/ath/ath10k/spectral.c 			res = ath10k_spectral_scan_config(ar,
ar                325 drivers/net/wireless/ath/ath10k/spectral.c 							  ar->spectral.mode);
ar                327 drivers/net/wireless/ath/ath10k/spectral.c 				ath10k_warn(ar, "failed to reconfigure spectral scan: %d\n",
ar                330 drivers/net/wireless/ath/ath10k/spectral.c 			res = ath10k_spectral_scan_trigger(ar);
ar                332 drivers/net/wireless/ath/ath10k/spectral.c 				ath10k_warn(ar, "failed to trigger spectral scan: %d\n",
ar                339 drivers/net/wireless/ath/ath10k/spectral.c 		res = ath10k_spectral_scan_config(ar, SPECTRAL_BACKGROUND);
ar                341 drivers/net/wireless/ath/ath10k/spectral.c 		res = ath10k_spectral_scan_config(ar, SPECTRAL_MANUAL);
ar                343 drivers/net/wireless/ath/ath10k/spectral.c 		res = ath10k_spectral_scan_config(ar, SPECTRAL_DISABLED);
ar                348 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_unlock(&ar->conf_mutex);
ar                368 drivers/net/wireless/ath/ath10k/spectral.c 	struct ath10k *ar = file->private_data;
ar                373 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_lock(&ar->conf_mutex);
ar                374 drivers/net/wireless/ath/ath10k/spectral.c 	spectral_count = ar->spectral.config.count;
ar                375 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_unlock(&ar->conf_mutex);
ar                385 drivers/net/wireless/ath/ath10k/spectral.c 	struct ath10k *ar = file->private_data;
ar                401 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_lock(&ar->conf_mutex);
ar                402 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.config.count = val;
ar                403 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_unlock(&ar->conf_mutex);
ar                420 drivers/net/wireless/ath/ath10k/spectral.c 	struct ath10k *ar = file->private_data;
ar                425 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_lock(&ar->conf_mutex);
ar                427 drivers/net/wireless/ath/ath10k/spectral.c 	fft_size = ar->spectral.config.fft_size;
ar                431 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_unlock(&ar->conf_mutex);
ar                441 drivers/net/wireless/ath/ath10k/spectral.c 	struct ath10k *ar = file->private_data;
ar                460 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_lock(&ar->conf_mutex);
ar                461 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.config.fft_size = ilog2(val);
ar                462 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.config.fft_size += WMI_SPECTRAL_BIN_SCALE_DEFAULT;
ar                463 drivers/net/wireless/ath/ath10k/spectral.c 	mutex_unlock(&ar->conf_mutex);
ar                505 drivers/net/wireless/ath/ath10k/spectral.c int ath10k_spectral_start(struct ath10k *ar)
ar                509 drivers/net/wireless/ath/ath10k/spectral.c 	lockdep_assert_held(&ar->conf_mutex);
ar                511 drivers/net/wireless/ath/ath10k/spectral.c 	list_for_each_entry(arvif, &ar->arvifs, list)
ar                514 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.mode = SPECTRAL_DISABLED;
ar                515 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.config.count = WMI_SPECTRAL_COUNT_DEFAULT;
ar                516 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.config.fft_size = WMI_SPECTRAL_FFT_SIZE_DEFAULT;
ar                526 drivers/net/wireless/ath/ath10k/spectral.c 	return ath10k_spectral_scan_config(arvif->ar, SPECTRAL_DISABLED);
ar                529 drivers/net/wireless/ath/ath10k/spectral.c int ath10k_spectral_create(struct ath10k *ar)
ar                534 drivers/net/wireless/ath/ath10k/spectral.c 	ar->spectral.rfs_chan_spec_scan = relay_open("spectral_scan",
ar                535 drivers/net/wireless/ath/ath10k/spectral.c 						     ar->debug.debugfs_phy,
ar                540 drivers/net/wireless/ath/ath10k/spectral.c 			    ar->debug.debugfs_phy, ar,
ar                544 drivers/net/wireless/ath/ath10k/spectral.c 			    ar->debug.debugfs_phy, ar,
ar                548 drivers/net/wireless/ath/ath10k/spectral.c 			    ar->debug.debugfs_phy, ar,
ar                554 drivers/net/wireless/ath/ath10k/spectral.c void ath10k_spectral_destroy(struct ath10k *ar)
ar                556 drivers/net/wireless/ath/ath10k/spectral.c 	if (ar->spectral.rfs_chan_spec_scan) {
ar                557 drivers/net/wireless/ath/ath10k/spectral.c 		relay_close(ar->spectral.rfs_chan_spec_scan);
ar                558 drivers/net/wireless/ath/ath10k/spectral.c 		ar->spectral.rfs_chan_spec_scan = NULL;
ar                 38 drivers/net/wireless/ath/ath10k/spectral.h int ath10k_spectral_process_fft(struct ath10k *ar,
ar                 42 drivers/net/wireless/ath/ath10k/spectral.h int ath10k_spectral_start(struct ath10k *ar);
ar                 44 drivers/net/wireless/ath/ath10k/spectral.h int ath10k_spectral_create(struct ath10k *ar);
ar                 45 drivers/net/wireless/ath/ath10k/spectral.h void ath10k_spectral_destroy(struct ath10k *ar);
ar                 50 drivers/net/wireless/ath/ath10k/spectral.h ath10k_spectral_process_fft(struct ath10k *ar,
ar                 58 drivers/net/wireless/ath/ath10k/spectral.h static inline int ath10k_spectral_start(struct ath10k *ar)
ar                 68 drivers/net/wireless/ath/ath10k/spectral.h static inline int ath10k_spectral_create(struct ath10k *ar)
ar                 73 drivers/net/wireless/ath/ath10k/spectral.h static inline void ath10k_spectral_destroy(struct ath10k *ar)
ar                 15 drivers/net/wireless/ath/ath10k/swap.c static int ath10k_swap_code_seg_fill(struct ath10k *ar,
ar                 39 drivers/net/wireless/ath/ath10k/swap.c 			ath10k_err(ar, "refusing to parse invalid tlv length %d\n",
ar                 47 drivers/net/wireless/ath/ath10k/swap.c 				ath10k_err(ar, "refusing an invalid swap file\n");
ar                 64 drivers/net/wireless/ath/ath10k/swap.c 		ath10k_err(ar, "failed to parse invalid swap file\n");
ar                 73 drivers/net/wireless/ath/ath10k/swap.c ath10k_swap_code_seg_free(struct ath10k *ar,
ar                 85 drivers/net/wireless/ath/ath10k/swap.c 	dma_free_coherent(ar->dev, seg_size, seg_info->virt_address[0],
ar                 90 drivers/net/wireless/ath/ath10k/swap.c ath10k_swap_code_seg_alloc(struct ath10k *ar, size_t swap_bin_len)
ar                 98 drivers/net/wireless/ath/ath10k/swap.c 		ath10k_err(ar, "refusing code swap bin because it is too big %zu > %d\n",
ar                103 drivers/net/wireless/ath/ath10k/swap.c 	seg_info = devm_kzalloc(ar->dev, sizeof(*seg_info), GFP_KERNEL);
ar                107 drivers/net/wireless/ath/ath10k/swap.c 	virt_addr = dma_alloc_coherent(ar->dev, swap_bin_len, &paddr,
ar                124 drivers/net/wireless/ath/ath10k/swap.c int ath10k_swap_code_seg_configure(struct ath10k *ar,
ar                133 drivers/net/wireless/ath/ath10k/swap.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot found firmware code swap binary\n");
ar                137 drivers/net/wireless/ath/ath10k/swap.c 	ret = ath10k_bmi_write_memory(ar, seg_info->target_addr,
ar                141 drivers/net/wireless/ath/ath10k/swap.c 		ath10k_err(ar, "failed to write Code swap segment information (%d)\n",
ar                149 drivers/net/wireless/ath/ath10k/swap.c void ath10k_swap_code_seg_release(struct ath10k *ar,
ar                152 drivers/net/wireless/ath/ath10k/swap.c 	ath10k_swap_code_seg_free(ar, fw_file->firmware_swap_code_seg_info);
ar                163 drivers/net/wireless/ath/ath10k/swap.c int ath10k_swap_code_seg_init(struct ath10k *ar, struct ath10k_fw_file *fw_file)
ar                176 drivers/net/wireless/ath/ath10k/swap.c 	seg_info = ath10k_swap_code_seg_alloc(ar, codeswap_len);
ar                178 drivers/net/wireless/ath/ath10k/swap.c 		ath10k_err(ar, "failed to allocate fw code swap segment\n");
ar                182 drivers/net/wireless/ath/ath10k/swap.c 	ret = ath10k_swap_code_seg_fill(ar, seg_info,
ar                186 drivers/net/wireless/ath/ath10k/swap.c 		ath10k_warn(ar, "failed to initialize fw code swap segment: %d\n",
ar                188 drivers/net/wireless/ath/ath10k/swap.c 		ath10k_swap_code_seg_free(ar, seg_info);
ar                 52 drivers/net/wireless/ath/ath10k/swap.h int ath10k_swap_code_seg_configure(struct ath10k *ar,
ar                 54 drivers/net/wireless/ath/ath10k/swap.h void ath10k_swap_code_seg_release(struct ath10k *ar,
ar                 56 drivers/net/wireless/ath/ath10k/swap.h int ath10k_swap_code_seg_init(struct ath10k *ar,
ar                 31 drivers/net/wireless/ath/ath10k/testmode.c bool ath10k_tm_event_wmi(struct ath10k *ar, u32 cmd_id, struct sk_buff *skb)
ar                 37 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE,
ar                 41 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg_dump(ar, ATH10K_DBG_TESTMODE, NULL, "", skb->data, skb->len);
ar                 43 drivers/net/wireless/ath/ath10k/testmode.c 	spin_lock_bh(&ar->data_lock);
ar                 45 drivers/net/wireless/ath/ath10k/testmode.c 	if (!ar->testmode.utf_monitor) {
ar                 56 drivers/net/wireless/ath/ath10k/testmode.c 	nl_skb = cfg80211_testmode_alloc_event_skb(ar->hw->wiphy,
ar                 60 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_warn(ar,
ar                 67 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_warn(ar,
ar                 76 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_warn(ar,
ar                 85 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_warn(ar,
ar                 95 drivers/net/wireless/ath/ath10k/testmode.c 	spin_unlock_bh(&ar->data_lock);
ar                100 drivers/net/wireless/ath/ath10k/testmode.c static int ath10k_tm_cmd_get_version(struct ath10k *ar, struct nlattr *tb[])
ar                105 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE,
ar                110 drivers/net/wireless/ath/ath10k/testmode.c 	skb = cfg80211_testmode_alloc_reply_skb(ar->hw->wiphy,
ar                130 drivers/net/wireless/ath/ath10k/testmode.c 			  ar->normal_mode_fw.fw_file.wmi_op_version);
ar                139 drivers/net/wireless/ath/ath10k/testmode.c static int ath10k_tm_fetch_utf_firmware_api_1(struct ath10k *ar,
ar                146 drivers/net/wireless/ath/ath10k/testmode.c 		 ar->hw_params.fw.dir, ATH10K_FW_UTF_FILE);
ar                149 drivers/net/wireless/ath/ath10k/testmode.c 	ret = firmware_request_nowarn(&fw_file->firmware, filename, ar->dev);
ar                150 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode fw request '%s': %d\n",
ar                154 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_warn(ar, "failed to retrieve utf firmware '%s': %d\n",
ar                173 drivers/net/wireless/ath/ath10k/testmode.c static int ath10k_tm_fetch_firmware(struct ath10k *ar)
ar                180 drivers/net/wireless/ath/ath10k/testmode.c 	switch (ar->hif.bus) {
ar                184 drivers/net/wireless/ath/ath10k/testmode.c 			  ATH10K_FW_UTF_FILE_BASE, ath10k_bus_str(ar->hif.bus),
ar                193 drivers/net/wireless/ath/ath10k/testmode.c 	ret = ath10k_core_fetch_firmware_api_n(ar, fw_name,
ar                194 drivers/net/wireless/ath/ath10k/testmode.c 					       &ar->testmode.utf_mode_fw.fw_file);
ar                196 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode using fw utf api 2");
ar                200 drivers/net/wireless/ath/ath10k/testmode.c 	ret = ath10k_tm_fetch_utf_firmware_api_1(ar, &ar->testmode.utf_mode_fw.fw_file);
ar                202 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_err(ar, "failed to fetch utf firmware binary: %d", ret);
ar                206 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode using utf api 1");
ar                209 drivers/net/wireless/ath/ath10k/testmode.c 	utf_mode_fw = &ar->testmode.utf_mode_fw;
ar                214 drivers/net/wireless/ath/ath10k/testmode.c 	utf_mode_fw->board_data = ar->normal_mode_fw.board_data;
ar                215 drivers/net/wireless/ath/ath10k/testmode.c 	utf_mode_fw->board_len = ar->normal_mode_fw.board_len;
ar                218 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_info(ar, "utf.bin didn't contain otp binary, taking it from the normal mode firmware");
ar                219 drivers/net/wireless/ath/ath10k/testmode.c 		utf_mode_fw->fw_file.otp_data = ar->normal_mode_fw.fw_file.otp_data;
ar                220 drivers/net/wireless/ath/ath10k/testmode.c 		utf_mode_fw->fw_file.otp_len = ar->normal_mode_fw.fw_file.otp_len;
ar                226 drivers/net/wireless/ath/ath10k/testmode.c static int ath10k_tm_cmd_utf_start(struct ath10k *ar, struct nlattr *tb[])
ar                231 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode cmd utf start\n");
ar                233 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_lock(&ar->conf_mutex);
ar                235 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->state == ATH10K_STATE_UTF) {
ar                241 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->state != ATH10K_STATE_OFF) {
ar                246 drivers/net/wireless/ath/ath10k/testmode.c 	if (WARN_ON(ar->testmode.utf_mode_fw.fw_file.firmware != NULL)) {
ar                252 drivers/net/wireless/ath/ath10k/testmode.c 	ret = ath10k_tm_fetch_firmware(ar);
ar                254 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_err(ar, "failed to fetch UTF firmware: %d", ret);
ar                258 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->testmode.utf_mode_fw.fw_file.codeswap_data &&
ar                259 drivers/net/wireless/ath/ath10k/testmode.c 	    ar->testmode.utf_mode_fw.fw_file.codeswap_len) {
ar                260 drivers/net/wireless/ath/ath10k/testmode.c 		ret = ath10k_swap_code_seg_init(ar,
ar                261 drivers/net/wireless/ath/ath10k/testmode.c 						&ar->testmode.utf_mode_fw.fw_file);
ar                263 drivers/net/wireless/ath/ath10k/testmode.c 			ath10k_warn(ar,
ar                270 drivers/net/wireless/ath/ath10k/testmode.c 	spin_lock_bh(&ar->data_lock);
ar                271 drivers/net/wireless/ath/ath10k/testmode.c 	ar->testmode.utf_monitor = true;
ar                272 drivers/net/wireless/ath/ath10k/testmode.c 	spin_unlock_bh(&ar->data_lock);
ar                274 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode wmi version %d\n",
ar                275 drivers/net/wireless/ath/ath10k/testmode.c 		   ar->testmode.utf_mode_fw.fw_file.wmi_op_version);
ar                277 drivers/net/wireless/ath/ath10k/testmode.c 	ret = ath10k_hif_power_up(ar, ATH10K_FIRMWARE_MODE_UTF);
ar                279 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_err(ar, "failed to power up hif (testmode): %d\n", ret);
ar                280 drivers/net/wireless/ath/ath10k/testmode.c 		ar->state = ATH10K_STATE_OFF;
ar                284 drivers/net/wireless/ath/ath10k/testmode.c 	ret = ath10k_core_start(ar, ATH10K_FIRMWARE_MODE_UTF,
ar                285 drivers/net/wireless/ath/ath10k/testmode.c 				&ar->testmode.utf_mode_fw);
ar                287 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_err(ar, "failed to start core (testmode): %d\n", ret);
ar                288 drivers/net/wireless/ath/ath10k/testmode.c 		ar->state = ATH10K_STATE_OFF;
ar                292 drivers/net/wireless/ath/ath10k/testmode.c 	ar->state = ATH10K_STATE_UTF;
ar                294 drivers/net/wireless/ath/ath10k/testmode.c 	if (strlen(ar->testmode.utf_mode_fw.fw_file.fw_version) > 0)
ar                295 drivers/net/wireless/ath/ath10k/testmode.c 		ver = ar->testmode.utf_mode_fw.fw_file.fw_version;
ar                299 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_info(ar, "UTF firmware %s started\n", ver);
ar                301 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_unlock(&ar->conf_mutex);
ar                306 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_hif_power_down(ar);
ar                309 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->testmode.utf_mode_fw.fw_file.codeswap_data &&
ar                310 drivers/net/wireless/ath/ath10k/testmode.c 	    ar->testmode.utf_mode_fw.fw_file.codeswap_len)
ar                311 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_swap_code_seg_release(ar,
ar                312 drivers/net/wireless/ath/ath10k/testmode.c 					     &ar->testmode.utf_mode_fw.fw_file);
ar                314 drivers/net/wireless/ath/ath10k/testmode.c 	release_firmware(ar->testmode.utf_mode_fw.fw_file.firmware);
ar                315 drivers/net/wireless/ath/ath10k/testmode.c 	ar->testmode.utf_mode_fw.fw_file.firmware = NULL;
ar                318 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_unlock(&ar->conf_mutex);
ar                323 drivers/net/wireless/ath/ath10k/testmode.c static void __ath10k_tm_cmd_utf_stop(struct ath10k *ar)
ar                325 drivers/net/wireless/ath/ath10k/testmode.c 	lockdep_assert_held(&ar->conf_mutex);
ar                327 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_core_stop(ar);
ar                328 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_hif_power_down(ar);
ar                330 drivers/net/wireless/ath/ath10k/testmode.c 	spin_lock_bh(&ar->data_lock);
ar                332 drivers/net/wireless/ath/ath10k/testmode.c 	ar->testmode.utf_monitor = false;
ar                334 drivers/net/wireless/ath/ath10k/testmode.c 	spin_unlock_bh(&ar->data_lock);
ar                336 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->testmode.utf_mode_fw.fw_file.codeswap_data &&
ar                337 drivers/net/wireless/ath/ath10k/testmode.c 	    ar->testmode.utf_mode_fw.fw_file.codeswap_len)
ar                338 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_swap_code_seg_release(ar,
ar                339 drivers/net/wireless/ath/ath10k/testmode.c 					     &ar->testmode.utf_mode_fw.fw_file);
ar                341 drivers/net/wireless/ath/ath10k/testmode.c 	release_firmware(ar->testmode.utf_mode_fw.fw_file.firmware);
ar                342 drivers/net/wireless/ath/ath10k/testmode.c 	ar->testmode.utf_mode_fw.fw_file.firmware = NULL;
ar                344 drivers/net/wireless/ath/ath10k/testmode.c 	ar->state = ATH10K_STATE_OFF;
ar                347 drivers/net/wireless/ath/ath10k/testmode.c static int ath10k_tm_cmd_utf_stop(struct ath10k *ar, struct nlattr *tb[])
ar                351 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode cmd utf stop\n");
ar                353 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_lock(&ar->conf_mutex);
ar                355 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->state != ATH10K_STATE_UTF) {
ar                360 drivers/net/wireless/ath/ath10k/testmode.c 	__ath10k_tm_cmd_utf_stop(ar);
ar                364 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_info(ar, "UTF firmware stopped\n");
ar                367 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_unlock(&ar->conf_mutex);
ar                371 drivers/net/wireless/ath/ath10k/testmode.c static int ath10k_tm_cmd_wmi(struct ath10k *ar, struct nlattr *tb[])
ar                378 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_lock(&ar->conf_mutex);
ar                380 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->state != ATH10K_STATE_UTF) {
ar                399 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg(ar, ATH10K_DBG_TESTMODE,
ar                403 drivers/net/wireless/ath/ath10k/testmode.c 	ath10k_dbg_dump(ar, ATH10K_DBG_TESTMODE, NULL, "", buf, buf_len);
ar                405 drivers/net/wireless/ath/ath10k/testmode.c 	skb = ath10k_wmi_alloc_skb(ar, buf_len);
ar                413 drivers/net/wireless/ath/ath10k/testmode.c 	ret = ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar                415 drivers/net/wireless/ath/ath10k/testmode.c 		ath10k_warn(ar, "failed to transmit wmi command (testmode): %d\n",
ar                423 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_unlock(&ar->conf_mutex);
ar                430 drivers/net/wireless/ath/ath10k/testmode.c 	struct ath10k *ar = hw->priv;
ar                444 drivers/net/wireless/ath/ath10k/testmode.c 		return ath10k_tm_cmd_get_version(ar, tb);
ar                446 drivers/net/wireless/ath/ath10k/testmode.c 		return ath10k_tm_cmd_utf_start(ar, tb);
ar                448 drivers/net/wireless/ath/ath10k/testmode.c 		return ath10k_tm_cmd_utf_stop(ar, tb);
ar                450 drivers/net/wireless/ath/ath10k/testmode.c 		return ath10k_tm_cmd_wmi(ar, tb);
ar                456 drivers/net/wireless/ath/ath10k/testmode.c void ath10k_testmode_destroy(struct ath10k *ar)
ar                458 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_lock(&ar->conf_mutex);
ar                460 drivers/net/wireless/ath/ath10k/testmode.c 	if (ar->state != ATH10K_STATE_UTF) {
ar                465 drivers/net/wireless/ath/ath10k/testmode.c 	__ath10k_tm_cmd_utf_stop(ar);
ar                468 drivers/net/wireless/ath/ath10k/testmode.c 	mutex_unlock(&ar->conf_mutex);
ar                 10 drivers/net/wireless/ath/ath10k/testmode.h void ath10k_testmode_destroy(struct ath10k *ar);
ar                 12 drivers/net/wireless/ath/ath10k/testmode.h bool ath10k_tm_event_wmi(struct ath10k *ar, u32 cmd_id, struct sk_buff *skb);
ar                 18 drivers/net/wireless/ath/ath10k/testmode.h static inline void ath10k_testmode_destroy(struct ath10k *ar)
ar                 22 drivers/net/wireless/ath/ath10k/testmode.h static inline bool ath10k_tm_event_wmi(struct ath10k *ar, u32 cmd_id,
ar                 28 drivers/net/wireless/ath/ath10k/thermal.c 	struct ath10k *ar = cdev->devdata;
ar                 30 drivers/net/wireless/ath/ath10k/thermal.c 	mutex_lock(&ar->conf_mutex);
ar                 31 drivers/net/wireless/ath/ath10k/thermal.c 	*state = ar->thermal.throttle_state;
ar                 32 drivers/net/wireless/ath/ath10k/thermal.c 	mutex_unlock(&ar->conf_mutex);
ar                 41 drivers/net/wireless/ath/ath10k/thermal.c 	struct ath10k *ar = cdev->devdata;
ar                 44 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_warn(ar, "throttle state %ld is exceeding the limit %d\n",
ar                 48 drivers/net/wireless/ath/ath10k/thermal.c 	mutex_lock(&ar->conf_mutex);
ar                 49 drivers/net/wireless/ath/ath10k/thermal.c 	ar->thermal.throttle_state = throttle_state;
ar                 50 drivers/net/wireless/ath/ath10k/thermal.c 	ath10k_thermal_set_throttling(ar);
ar                 51 drivers/net/wireless/ath/ath10k/thermal.c 	mutex_unlock(&ar->conf_mutex);
ar                 65 drivers/net/wireless/ath/ath10k/thermal.c 	struct ath10k *ar = dev_get_drvdata(dev);
ar                 69 drivers/net/wireless/ath/ath10k/thermal.c 	mutex_lock(&ar->conf_mutex);
ar                 72 drivers/net/wireless/ath/ath10k/thermal.c 	if (ar->state != ATH10K_STATE_ON) {
ar                 77 drivers/net/wireless/ath/ath10k/thermal.c 	reinit_completion(&ar->thermal.wmi_sync);
ar                 78 drivers/net/wireless/ath/ath10k/thermal.c 	ret = ath10k_wmi_pdev_get_temperature(ar);
ar                 80 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_warn(ar, "failed to read temperature %d\n", ret);
ar                 84 drivers/net/wireless/ath/ath10k/thermal.c 	if (test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags)) {
ar                 89 drivers/net/wireless/ath/ath10k/thermal.c 	time_left = wait_for_completion_timeout(&ar->thermal.wmi_sync,
ar                 92 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_warn(ar, "failed to synchronize thermal read\n");
ar                 97 drivers/net/wireless/ath/ath10k/thermal.c 	spin_lock_bh(&ar->data_lock);
ar                 98 drivers/net/wireless/ath/ath10k/thermal.c 	temperature = ar->thermal.temperature;
ar                 99 drivers/net/wireless/ath/ath10k/thermal.c 	spin_unlock_bh(&ar->data_lock);
ar                104 drivers/net/wireless/ath/ath10k/thermal.c 	mutex_unlock(&ar->conf_mutex);
ar                108 drivers/net/wireless/ath/ath10k/thermal.c void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature)
ar                110 drivers/net/wireless/ath/ath10k/thermal.c 	spin_lock_bh(&ar->data_lock);
ar                111 drivers/net/wireless/ath/ath10k/thermal.c 	ar->thermal.temperature = temperature;
ar                112 drivers/net/wireless/ath/ath10k/thermal.c 	spin_unlock_bh(&ar->data_lock);
ar                113 drivers/net/wireless/ath/ath10k/thermal.c 	complete(&ar->thermal.wmi_sync);
ar                125 drivers/net/wireless/ath/ath10k/thermal.c void ath10k_thermal_set_throttling(struct ath10k *ar)
ar                130 drivers/net/wireless/ath/ath10k/thermal.c 	lockdep_assert_held(&ar->conf_mutex);
ar                132 drivers/net/wireless/ath/ath10k/thermal.c 	if (!test_bit(WMI_SERVICE_THERM_THROT, ar->wmi.svc_map))
ar                135 drivers/net/wireless/ath/ath10k/thermal.c 	if (!ar->wmi.ops->gen_pdev_set_quiet_mode)
ar                138 drivers/net/wireless/ath/ath10k/thermal.c 	if (ar->state != ATH10K_STATE_ON)
ar                141 drivers/net/wireless/ath/ath10k/thermal.c 	period = ar->thermal.quiet_period;
ar                142 drivers/net/wireless/ath/ath10k/thermal.c 	duration = (period * ar->thermal.throttle_state) / 100;
ar                145 drivers/net/wireless/ath/ath10k/thermal.c 	ret = ath10k_wmi_pdev_set_quiet_mode(ar, period, duration,
ar                149 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_warn(ar, "failed to set quiet mode period %u duarion %u enabled %u ret %d\n",
ar                154 drivers/net/wireless/ath/ath10k/thermal.c int ath10k_thermal_register(struct ath10k *ar)
ar                160 drivers/net/wireless/ath/ath10k/thermal.c 	if (!test_bit(WMI_SERVICE_THERM_THROT, ar->wmi.svc_map))
ar                163 drivers/net/wireless/ath/ath10k/thermal.c 	cdev = thermal_cooling_device_register("ath10k_thermal", ar,
ar                167 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_err(ar, "failed to setup thermal device result: %ld\n",
ar                172 drivers/net/wireless/ath/ath10k/thermal.c 	ret = sysfs_create_link(&ar->dev->kobj, &cdev->device.kobj,
ar                175 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_err(ar, "failed to create cooling device symlink\n");
ar                179 drivers/net/wireless/ath/ath10k/thermal.c 	ar->thermal.cdev = cdev;
ar                180 drivers/net/wireless/ath/ath10k/thermal.c 	ar->thermal.quiet_period = ATH10K_QUIET_PERIOD_DEFAULT;
ar                185 drivers/net/wireless/ath/ath10k/thermal.c 	if (!(ar->wmi.ops->gen_pdev_get_temperature))
ar                194 drivers/net/wireless/ath/ath10k/thermal.c 	hwmon_dev = devm_hwmon_device_register_with_groups(ar->dev,
ar                195 drivers/net/wireless/ath/ath10k/thermal.c 							   "ath10k_hwmon", ar,
ar                198 drivers/net/wireless/ath/ath10k/thermal.c 		ath10k_err(ar, "failed to register hwmon device: %ld\n",
ar                206 drivers/net/wireless/ath/ath10k/thermal.c 	sysfs_remove_link(&ar->dev->kobj, "cooling_device");
ar                212 drivers/net/wireless/ath/ath10k/thermal.c void ath10k_thermal_unregister(struct ath10k *ar)
ar                214 drivers/net/wireless/ath/ath10k/thermal.c 	if (!test_bit(WMI_SERVICE_THERM_THROT, ar->wmi.svc_map))
ar                217 drivers/net/wireless/ath/ath10k/thermal.c 	sysfs_remove_link(&ar->dev->kobj, "cooling_device");
ar                218 drivers/net/wireless/ath/ath10k/thermal.c 	thermal_cooling_device_unregister(ar->thermal.cdev);
ar                 29 drivers/net/wireless/ath/ath10k/thermal.h int ath10k_thermal_register(struct ath10k *ar);
ar                 30 drivers/net/wireless/ath/ath10k/thermal.h void ath10k_thermal_unregister(struct ath10k *ar);
ar                 31 drivers/net/wireless/ath/ath10k/thermal.h void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
ar                 32 drivers/net/wireless/ath/ath10k/thermal.h void ath10k_thermal_set_throttling(struct ath10k *ar);
ar                 34 drivers/net/wireless/ath/ath10k/thermal.h static inline int ath10k_thermal_register(struct ath10k *ar)
ar                 39 drivers/net/wireless/ath/ath10k/thermal.h static inline void ath10k_thermal_unregister(struct ath10k *ar)
ar                 43 drivers/net/wireless/ath/ath10k/thermal.h static inline void ath10k_thermal_event_temperature(struct ath10k *ar,
ar                 48 drivers/net/wireless/ath/ath10k/thermal.h static inline void ath10k_thermal_set_throttling(struct ath10k *ar)
ar                 50 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, struct va_format *vaf),
ar                 51 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, vaf),
ar                 53 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                 54 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                 58 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                 59 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                 74 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, struct va_format *vaf),
ar                 75 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, vaf)
ar                 79 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, struct va_format *vaf),
ar                 80 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, vaf)
ar                 84 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, struct va_format *vaf),
ar                 85 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, vaf)
ar                 89 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, unsigned int level, struct va_format *vaf),
ar                 90 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, level, vaf),
ar                 92 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                 93 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                 98 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                 99 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                115 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, const char *msg, const char *prefix,
ar                118 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, msg, prefix, buf, buf_len),
ar                121 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                122 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                130 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                131 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                148 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, int id, const void *buf, size_t buf_len),
ar                150 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, id, buf, buf_len),
ar                153 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                154 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                161 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                162 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                178 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, int id, const void *buf, size_t buf_len),
ar                180 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, id, buf, buf_len),
ar                183 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                184 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                191 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                192 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                208 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, const void *buf, size_t buf_len),
ar                210 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, buf, buf_len),
ar                213 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                214 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                220 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                221 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                235 drivers/net/wireless/ath/ath10k/trace.h 	TP_PROTO(struct ath10k *ar, const void *buf, size_t buf_len),
ar                237 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, buf, buf_len),
ar                240 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                241 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                248 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                249 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                250 drivers/net/wireless/ath/ath10k/trace.h 		__entry->hw_type = ar->hw_rev;
ar                265 drivers/net/wireless/ath/ath10k/trace.h 	    TP_PROTO(struct ath10k *ar, const void *buf, u16 buf_len),
ar                267 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, buf, buf_len),
ar                270 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                271 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                278 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                279 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                280 drivers/net/wireless/ath/ath10k/trace.h 		__entry->hw_type = ar->hw_rev;
ar                295 drivers/net/wireless/ath/ath10k/trace.h 	    TP_PROTO(struct ath10k *ar, u16 msdu_id, u16 msdu_len,
ar                298 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, msdu_id, msdu_len, vdev_id, tid),
ar                301 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                302 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                310 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                311 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                330 drivers/net/wireless/ath/ath10k/trace.h 	    TP_PROTO(struct ath10k *ar, u16 msdu_id),
ar                332 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, msdu_id),
ar                335 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                336 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                341 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                342 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                355 drivers/net/wireless/ath/ath10k/trace.h 		    TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                357 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, data, len),
ar                360 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                361 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                367 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                368 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                382 drivers/net/wireless/ath/ath10k/trace.h 		    TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                384 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, data, len),
ar                387 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                388 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                395 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                396 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                411 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                412 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, data, len)
ar                416 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                417 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, data, len)
ar                421 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                422 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, data, len)
ar                426 drivers/net/wireless/ath/ath10k/trace.h 	     TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                427 drivers/net/wireless/ath/ath10k/trace.h 	     TP_ARGS(ar, data, len)
ar                431 drivers/net/wireless/ath/ath10k/trace.h 	    TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                433 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, data, len),
ar                436 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                437 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                444 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                445 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                446 drivers/net/wireless/ath/ath10k/trace.h 		__entry->hw_type = ar->hw_rev;
ar                461 drivers/net/wireless/ath/ath10k/trace.h 	    TP_PROTO(struct ath10k *ar,
ar                468 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, type, timestamp, code, len, data),
ar                471 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                472 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                481 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                482 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                502 drivers/net/wireless/ath/ath10k/trace.h 	    TP_PROTO(struct ath10k *ar, const void *data, size_t len),
ar                504 drivers/net/wireless/ath/ath10k/trace.h 	TP_ARGS(ar, data, len),
ar                507 drivers/net/wireless/ath/ath10k/trace.h 		__string(device, dev_name(ar->dev))
ar                508 drivers/net/wireless/ath/ath10k/trace.h 		__string(driver, dev_driver_string(ar->dev))
ar                514 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(device, dev_name(ar->dev));
ar                515 drivers/net/wireless/ath/ath10k/trace.h 		__assign_str(driver, dev_driver_string(ar->dev));
ar                 14 drivers/net/wireless/ath/ath10k/txrx.c static void ath10k_report_offchan_tx(struct ath10k *ar, struct sk_buff *skb)
ar                 21 drivers/net/wireless/ath/ath10k/txrx.c 	if (ath10k_mac_tx_frm_has_freq(ar))
ar                 29 drivers/net/wireless/ath/ath10k/txrx.c 	spin_lock_bh(&ar->data_lock);
ar                 30 drivers/net/wireless/ath/ath10k/txrx.c 	if (ar->offchan_tx_skb != skb) {
ar                 31 drivers/net/wireless/ath/ath10k/txrx.c 		ath10k_warn(ar, "completed old offchannel frame\n");
ar                 35 drivers/net/wireless/ath/ath10k/txrx.c 	complete(&ar->offchan_tx_completed);
ar                 36 drivers/net/wireless/ath/ath10k/txrx.c 	ar->offchan_tx_skb = NULL; /* just for sanity */
ar                 38 drivers/net/wireless/ath/ath10k/txrx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "completed offchannel skb %pK\n", skb);
ar                 40 drivers/net/wireless/ath/ath10k/txrx.c 	spin_unlock_bh(&ar->data_lock);
ar                 46 drivers/net/wireless/ath/ath10k/txrx.c 	struct ath10k *ar = htt->ar;
ar                 47 drivers/net/wireless/ath/ath10k/txrx.c 	struct device *dev = ar->dev;
ar                 54 drivers/net/wireless/ath/ath10k/txrx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT,
ar                 59 drivers/net/wireless/ath/ath10k/txrx.c 		ath10k_warn(ar, "warning: msdu_id %d too big, ignoring\n",
ar                 67 drivers/net/wireless/ath/ath10k/txrx.c 		ath10k_warn(ar, "received tx completion for invalid msdu_id: %d\n",
ar                 91 drivers/net/wireless/ath/ath10k/txrx.c 	if (ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL)
ar                 94 drivers/net/wireless/ath/ath10k/txrx.c 	ath10k_report_offchan_tx(htt->ar, msdu);
ar                100 drivers/net/wireless/ath/ath10k/txrx.c 	trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);
ar                126 drivers/net/wireless/ath/ath10k/txrx.c 	ieee80211_tx_status(htt->ar->hw, msdu);
ar                132 drivers/net/wireless/ath/ath10k/txrx.c struct ath10k_peer *ath10k_peer_find(struct ath10k *ar, int vdev_id,
ar                137 drivers/net/wireless/ath/ath10k/txrx.c 	lockdep_assert_held(&ar->data_lock);
ar                139 drivers/net/wireless/ath/ath10k/txrx.c 	list_for_each_entry(peer, &ar->peers, list) {
ar                151 drivers/net/wireless/ath/ath10k/txrx.c struct ath10k_peer *ath10k_peer_find_by_id(struct ath10k *ar, int peer_id)
ar                158 drivers/net/wireless/ath/ath10k/txrx.c 	lockdep_assert_held(&ar->data_lock);
ar                160 drivers/net/wireless/ath/ath10k/txrx.c 	list_for_each_entry(peer, &ar->peers, list)
ar                167 drivers/net/wireless/ath/ath10k/txrx.c static int ath10k_wait_for_peer_common(struct ath10k *ar, int vdev_id,
ar                172 drivers/net/wireless/ath/ath10k/txrx.c 	time_left = wait_event_timeout(ar->peer_mapping_wq, ({
ar                175 drivers/net/wireless/ath/ath10k/txrx.c 			spin_lock_bh(&ar->data_lock);
ar                176 drivers/net/wireless/ath/ath10k/txrx.c 			mapped = !!ath10k_peer_find(ar, vdev_id, addr);
ar                177 drivers/net/wireless/ath/ath10k/txrx.c 			spin_unlock_bh(&ar->data_lock);
ar                180 drivers/net/wireless/ath/ath10k/txrx.c 			 test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags));
ar                189 drivers/net/wireless/ath/ath10k/txrx.c int ath10k_wait_for_peer_created(struct ath10k *ar, int vdev_id, const u8 *addr)
ar                191 drivers/net/wireless/ath/ath10k/txrx.c 	return ath10k_wait_for_peer_common(ar, vdev_id, addr, true);
ar                194 drivers/net/wireless/ath/ath10k/txrx.c int ath10k_wait_for_peer_deleted(struct ath10k *ar, int vdev_id, const u8 *addr)
ar                196 drivers/net/wireless/ath/ath10k/txrx.c 	return ath10k_wait_for_peer_common(ar, vdev_id, addr, false);
ar                202 drivers/net/wireless/ath/ath10k/txrx.c 	struct ath10k *ar = htt->ar;
ar                206 drivers/net/wireless/ath/ath10k/txrx.c 		ath10k_warn(ar,
ar                212 drivers/net/wireless/ath/ath10k/txrx.c 	spin_lock_bh(&ar->data_lock);
ar                213 drivers/net/wireless/ath/ath10k/txrx.c 	peer = ath10k_peer_find(ar, ev->vdev_id, ev->addr);
ar                221 drivers/net/wireless/ath/ath10k/txrx.c 		list_add(&peer->list, &ar->peers);
ar                222 drivers/net/wireless/ath/ath10k/txrx.c 		wake_up(&ar->peer_mapping_wq);
ar                225 drivers/net/wireless/ath/ath10k/txrx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer map vdev %d peer %pM id %d\n",
ar                228 drivers/net/wireless/ath/ath10k/txrx.c 	WARN_ON(ar->peer_map[ev->peer_id] && (ar->peer_map[ev->peer_id] != peer));
ar                229 drivers/net/wireless/ath/ath10k/txrx.c 	ar->peer_map[ev->peer_id] = peer;
ar                232 drivers/net/wireless/ath/ath10k/txrx.c 	spin_unlock_bh(&ar->data_lock);
ar                238 drivers/net/wireless/ath/ath10k/txrx.c 	struct ath10k *ar = htt->ar;
ar                242 drivers/net/wireless/ath/ath10k/txrx.c 		ath10k_warn(ar,
ar                248 drivers/net/wireless/ath/ath10k/txrx.c 	spin_lock_bh(&ar->data_lock);
ar                249 drivers/net/wireless/ath/ath10k/txrx.c 	peer = ath10k_peer_find_by_id(ar, ev->peer_id);
ar                251 drivers/net/wireless/ath/ath10k/txrx.c 		ath10k_warn(ar, "peer-unmap-event: unknown peer id %d\n",
ar                256 drivers/net/wireless/ath/ath10k/txrx.c 	ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer unmap vdev %d peer %pM id %d\n",
ar                259 drivers/net/wireless/ath/ath10k/txrx.c 	ar->peer_map[ev->peer_id] = NULL;
ar                265 drivers/net/wireless/ath/ath10k/txrx.c 		wake_up(&ar->peer_mapping_wq);
ar                269 drivers/net/wireless/ath/ath10k/txrx.c 	spin_unlock_bh(&ar->data_lock);
ar                 14 drivers/net/wireless/ath/ath10k/txrx.h struct ath10k_peer *ath10k_peer_find(struct ath10k *ar, int vdev_id,
ar                 16 drivers/net/wireless/ath/ath10k/txrx.h struct ath10k_peer *ath10k_peer_find_by_id(struct ath10k *ar, int peer_id);
ar                 17 drivers/net/wireless/ath/ath10k/txrx.h int ath10k_wait_for_peer_created(struct ath10k *ar, int vdev_id,
ar                 19 drivers/net/wireless/ath/ath10k/txrx.h int ath10k_wait_for_peer_deleted(struct ath10k *ar, int vdev_id,
ar                 18 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_post_recv_transfers(struct ath10k *ar,
ar                 82 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_free_pipe_resources(struct ath10k *ar,
ar                 92 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_dbg(ar, ATH10K_DBG_USB,
ar                 98 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_dbg(ar, ATH10K_DBG_USB,
ar                114 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_cleanup_pipe_resources(struct ath10k *ar)
ar                116 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                120 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_usb_free_pipe_resources(ar, &ar_usb->pipes[i]);
ar                129 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k *ar = pipe->ar_usb->ar;
ar                133 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
ar                150 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
ar                178 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_usb_post_recv_transfers(ar, pipe);
ar                186 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k *ar = pipe->ar_usb->ar;
ar                190 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
ar                205 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_post_recv_transfers(struct ath10k *ar,
ar                232 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
ar                242 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
ar                258 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_flush_all(struct ath10k *ar)
ar                260 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                271 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_start_recv_pipes(struct ath10k *ar)
ar                273 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                277 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_post_recv_transfers(ar,
ar                281 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_tx_complete(struct ath10k *ar, struct sk_buff *skb)
ar                287 drivers/net/wireless/ath/ath10k/usb.c 	ep = &ar->htc.endpoint[htc_hdr->eid];
ar                292 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_rx_complete(struct ath10k *ar, struct sk_buff *skb)
ar                294 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_htc *htc = &ar->htc;
ar                304 drivers/net/wireless/ath/ath10k/usb.c 	ep = &ar->htc.endpoint[eid];
ar                307 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_warn(ar, "ep %d is not connected\n", eid);
ar                313 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_warn(ar, "zero length frame received, firmware crashed?\n");
ar                318 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_warn(ar, "malformed frame received, firmware crashed?\n");
ar                345 drivers/net/wireless/ath/ath10k/usb.c 	ep->ep_ops.ep_rx_complete(ar, skb);
ar                359 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k *ar = pipe->ar_usb->ar;
ar                364 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_usb_tx_complete(ar, skb);
ar                366 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_usb_rx_complete(ar, skb);
ar                373 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_destroy(struct ath10k *ar)
ar                375 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                377 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_flush_all(ar);
ar                378 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_cleanup_pipe_resources(ar);
ar                385 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_start(struct ath10k *ar)
ar                388 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                390 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_start_recv_pipes(ar);
ar                402 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
ar                405 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                443 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
ar                462 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_hif_stop(struct ath10k *ar)
ar                464 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_flush_all(ar);
ar                467 drivers/net/wireless/ath/ath10k/usb.c static u16 ath10k_usb_hif_get_free_queue_number(struct ath10k *ar, u8 pipe_id)
ar                469 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                474 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_submit_ctrl_out(struct ath10k *ar,
ar                478 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                497 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_warn(ar, "Failed to submit usb control message: %d\n",
ar                508 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_submit_ctrl_in(struct ath10k *ar,
ar                512 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                531 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_warn(ar, "Failed to read usb control message: %d\n",
ar                544 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_ctrl_msg_exchange(struct ath10k *ar,
ar                552 drivers/net/wireless/ath/ath10k/usb.c 	ret = ath10k_usb_submit_ctrl_out(ar, req_val, 0, 0,
ar                559 drivers/net/wireless/ath/ath10k/usb.c 		ret = ath10k_usb_submit_ctrl_in(ar, resp_val, 0, 0,
ar                570 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
ar                573 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                587 drivers/net/wireless/ath/ath10k/usb.c 	ret = ath10k_usb_ctrl_msg_exchange(ar,
ar                605 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_diag_write(struct ath10k *ar, u32 address,
ar                608 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                621 drivers/net/wireless/ath/ath10k/usb.c 	ret = ath10k_usb_ctrl_msg_exchange(ar,
ar                632 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_bmi_exchange_msg(struct ath10k *ar,
ar                639 drivers/net/wireless/ath/ath10k/usb.c 		ret = ath10k_usb_submit_ctrl_out(ar,
ar                643 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_warn(ar,
ar                651 drivers/net/wireless/ath/ath10k/usb.c 		ret = ath10k_usb_submit_ctrl_in(ar,
ar                655 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_warn(ar,
ar                665 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_hif_get_default_pipe(struct ath10k *ar,
ar                672 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_map_service_to_pipe(struct ath10k *ar, u16 svc_id,
ar                702 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_hif_send_complete_check(struct ath10k *ar,
ar                707 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_power_up(struct ath10k *ar,
ar                713 drivers/net/wireless/ath/ath10k/usb.c static void ath10k_usb_hif_power_down(struct ath10k *ar)
ar                715 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_flush_all(ar);
ar                720 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_suspend(struct ath10k *ar)
ar                725 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_hif_resume(struct ath10k *ar)
ar                795 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_alloc_pipe_resources(struct ath10k *ar,
ar                819 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_dbg(ar, ATH10K_DBG_USB,
ar                827 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_setup_pipe_resources(struct ath10k *ar,
ar                830 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                837 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_dbg(ar, ATH10K_DBG_USB, "usb setting up pipes using interface\n");
ar                844 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_dbg(ar, ATH10K_DBG_USB,
ar                851 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_dbg(ar, ATH10K_DBG_USB,
ar                860 drivers/net/wireless/ath/ath10k/usb.c 			ath10k_dbg(ar, ATH10K_DBG_USB,
ar                924 drivers/net/wireless/ath/ath10k/usb.c 		ret = ath10k_usb_alloc_pipe_resources(ar, pipe, urbcount);
ar                932 drivers/net/wireless/ath/ath10k/usb.c static int ath10k_usb_create(struct ath10k *ar,
ar                935 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k_usb *ar_usb = ath10k_usb_priv(ar);
ar                965 drivers/net/wireless/ath/ath10k/usb.c 	ret = ath10k_usb_setup_pipe_resources(ar, interface);
ar                972 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_destroy(ar);
ar                980 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k *ar;
ar                995 drivers/net/wireless/ath/ath10k/usb.c 	ar = ath10k_core_create(sizeof(*ar_usb), &dev->dev, ATH10K_BUS_USB,
ar                997 drivers/net/wireless/ath/ath10k/usb.c 	if (!ar) {
ar               1006 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_dbg(ar, ATH10K_DBG_BOOT,
ar               1010 drivers/net/wireless/ath/ath10k/usb.c 	ar_usb = ath10k_usb_priv(ar);
ar               1011 drivers/net/wireless/ath/ath10k/usb.c 	ret = ath10k_usb_create(ar, interface);
ar               1012 drivers/net/wireless/ath/ath10k/usb.c 	ar_usb->ar = ar;
ar               1014 drivers/net/wireless/ath/ath10k/usb.c 	ar->dev_id = product_id;
ar               1015 drivers/net/wireless/ath/ath10k/usb.c 	ar->id.vendor = vendor_id;
ar               1016 drivers/net/wireless/ath/ath10k/usb.c 	ar->id.device = product_id;
ar               1021 drivers/net/wireless/ath/ath10k/usb.c 	ret = ath10k_core_register(ar, &bus_params);
ar               1023 drivers/net/wireless/ath/ath10k/usb.c 		ath10k_warn(ar, "failed to register driver core: %d\n", ret);
ar               1028 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_warn(ar, "Warning: ath10k USB support is incomplete, don't expect anything to work!\n");
ar               1033 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_core_destroy(ar);
ar               1048 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_core_unregister(ar_usb->ar);
ar               1049 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_destroy(ar_usb->ar);
ar               1051 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_core_destroy(ar_usb->ar);
ar               1061 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_flush_all(ar_usb->ar);
ar               1068 drivers/net/wireless/ath/ath10k/usb.c 	struct ath10k *ar = ar_usb->ar;
ar               1070 drivers/net/wireless/ath/ath10k/usb.c 	ath10k_usb_post_recv_transfers(ar,
ar                101 drivers/net/wireless/ath/ath10k/usb.h 	struct ath10k *ar;
ar                109 drivers/net/wireless/ath/ath10k/usb.h 	struct ath10k *ar;
ar                112 drivers/net/wireless/ath/ath10k/usb.h static inline struct ath10k_usb *ath10k_usb_priv(struct ath10k *ar)
ar                114 drivers/net/wireless/ath/ath10k/usb.h 	return (struct ath10k_usb *)ar->drv_priv;
ar                 15 drivers/net/wireless/ath/ath10k/wmi-ops.h 	void (*rx)(struct ath10k *ar, struct sk_buff *skb);
ar                 19 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_scan)(struct ath10k *ar, struct sk_buff *skb,
ar                 21 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_mgmt_rx)(struct ath10k *ar, struct sk_buff *skb,
ar                 23 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_mgmt_tx_compl)(struct ath10k *ar, struct sk_buff *skb,
ar                 26 drivers/net/wireless/ath/ath10k/wmi-ops.h 				struct ath10k *ar, struct sk_buff *skb,
ar                 28 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_ch_info)(struct ath10k *ar, struct sk_buff *skb,
ar                 30 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_vdev_start)(struct ath10k *ar, struct sk_buff *skb,
ar                 32 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_peer_kick)(struct ath10k *ar, struct sk_buff *skb,
ar                 34 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_swba)(struct ath10k *ar, struct sk_buff *skb,
ar                 36 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_phyerr_hdr)(struct ath10k *ar, struct sk_buff *skb,
ar                 38 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_phyerr)(struct ath10k *ar, const void *phyerr_buf,
ar                 40 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_svc_rdy)(struct ath10k *ar, struct sk_buff *skb,
ar                 42 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_rdy)(struct ath10k *ar, struct sk_buff *skb,
ar                 44 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_fw_stats)(struct ath10k *ar, struct sk_buff *skb,
ar                 46 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_roam_ev)(struct ath10k *ar, struct sk_buff *skb,
ar                 48 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_wow_event)(struct ath10k *ar, struct sk_buff *skb,
ar                 50 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_echo_ev)(struct ath10k *ar, struct sk_buff *skb,
ar                 52 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_dfs_status_ev)(struct ath10k *ar, struct sk_buff *skb,
ar                 54 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*pull_svc_avail)(struct ath10k *ar, struct sk_buff *skb,
ar                 57 drivers/net/wireless/ath/ath10k/wmi-ops.h 	enum wmi_txbf_conf (*get_txbf_conf_scheme)(struct ath10k *ar);
ar                 59 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_suspend)(struct ath10k *ar, u32 suspend_opt);
ar                 60 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_resume)(struct ath10k *ar);
ar                 61 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_set_base_macaddr)(struct ath10k *ar,
ar                 63 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_set_rd)(struct ath10k *ar, u16 rd, u16 rd2g,
ar                 66 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_set_param)(struct ath10k *ar, u32 id,
ar                 68 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_init)(struct ath10k *ar);
ar                 69 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_start_scan)(struct ath10k *ar,
ar                 71 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_stop_scan)(struct ath10k *ar,
ar                 73 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_create)(struct ath10k *ar, u32 vdev_id,
ar                 77 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_delete)(struct ath10k *ar, u32 vdev_id);
ar                 78 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_start)(struct ath10k *ar,
ar                 81 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_stop)(struct ath10k *ar, u32 vdev_id);
ar                 82 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_up)(struct ath10k *ar, u32 vdev_id, u32 aid,
ar                 84 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_down)(struct ath10k *ar, u32 vdev_id);
ar                 85 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_set_param)(struct ath10k *ar, u32 vdev_id,
ar                 87 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_install_key)(struct ath10k *ar,
ar                 89 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_spectral_conf)(struct ath10k *ar,
ar                 91 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_spectral_enable)(struct ath10k *ar, u32 vdev_id,
ar                 93 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_wmm_conf)(struct ath10k *ar, u32 vdev_id,
ar                 95 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_peer_create)(struct ath10k *ar, u32 vdev_id,
ar                 98 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_peer_delete)(struct ath10k *ar, u32 vdev_id,
ar                100 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_peer_flush)(struct ath10k *ar, u32 vdev_id,
ar                103 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_peer_set_param)(struct ath10k *ar, u32 vdev_id,
ar                107 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_peer_assoc)(struct ath10k *ar,
ar                109 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_set_psmode)(struct ath10k *ar, u32 vdev_id,
ar                111 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_set_sta_ps)(struct ath10k *ar, u32 vdev_id,
ar                114 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_set_ap_ps)(struct ath10k *ar, u32 vdev_id,
ar                118 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_scan_chan_list)(struct ath10k *ar,
ar                120 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_scan_prob_req_oui)(struct ath10k *ar,
ar                122 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_beacon_dma)(struct ath10k *ar, u32 vdev_id,
ar                126 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_set_wmm)(struct ath10k *ar,
ar                128 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_request_stats)(struct ath10k *ar, u32 stats_mask);
ar                129 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_force_fw_hang)(struct ath10k *ar,
ar                132 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_mgmt_tx)(struct ath10k *ar, struct sk_buff *skb);
ar                133 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_mgmt_tx_send)(struct ath10k *ar,
ar                136 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_dbglog_cfg)(struct ath10k *ar, u64 module_enable,
ar                138 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pktlog_enable)(struct ath10k *ar, u32 filter);
ar                139 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pktlog_disable)(struct ath10k *ar);
ar                140 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_set_quiet_mode)(struct ath10k *ar,
ar                144 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_get_temperature)(struct ath10k *ar);
ar                145 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_addba_clear_resp)(struct ath10k *ar, u32 vdev_id,
ar                147 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_addba_send)(struct ath10k *ar, u32 vdev_id,
ar                149 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_addba_set_resp)(struct ath10k *ar, u32 vdev_id,
ar                152 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_delba_send)(struct ath10k *ar, u32 vdev_id,
ar                155 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_bcn_tmpl)(struct ath10k *ar, u32 vdev_id,
ar                159 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_prb_tmpl)(struct ath10k *ar, u32 vdev_id,
ar                161 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_p2p_go_bcn_ie)(struct ath10k *ar, u32 vdev_id,
ar                163 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_vdev_sta_uapsd)(struct ath10k *ar, u32 vdev_id,
ar                167 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_sta_keepalive)(struct ath10k *ar,
ar                169 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_wow_enable)(struct ath10k *ar);
ar                170 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_wow_add_wakeup_event)(struct ath10k *ar, u32 vdev_id,
ar                173 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_wow_host_wakeup_ind)(struct ath10k *ar);
ar                174 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_wow_add_pattern)(struct ath10k *ar, u32 vdev_id,
ar                180 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_wow_del_pattern)(struct ath10k *ar, u32 vdev_id,
ar                182 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_update_fw_tdls_state)(struct ath10k *ar,
ar                185 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_tdls_peer_update)(struct ath10k *ar,
ar                190 drivers/net/wireless/ath/ath10k/wmi-ops.h 			(struct ath10k *ar,
ar                192 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_adaptive_qcs)(struct ath10k *ar, bool enable);
ar                193 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_get_tpc_config)(struct ath10k *ar,
ar                195 drivers/net/wireless/ath/ath10k/wmi-ops.h 	void (*fw_stats_fill)(struct ath10k *ar,
ar                198 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_enable_adaptive_cca)(struct ath10k *ar,
ar                202 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*ext_resource_config)(struct ath10k *ar,
ar                205 drivers/net/wireless/ath/ath10k/wmi-ops.h 	int (*get_vdev_subtype)(struct ath10k *ar,
ar                207 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_wow_config_pno)(struct ath10k *ar,
ar                211 drivers/net/wireless/ath/ath10k/wmi-ops.h 					(struct ath10k *ar,
ar                213 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_echo)(struct ath10k *ar, u32 value);
ar                214 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct sk_buff *(*gen_pdev_get_tpc_table_cmdid)(struct ath10k *ar,
ar                217 drivers/net/wireless/ath/ath10k/wmi-ops.h 			(struct ath10k *ar,
ar                222 drivers/net/wireless/ath/ath10k/wmi-ops.h int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
ar                225 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_rx(struct ath10k *ar, struct sk_buff *skb)
ar                227 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (WARN_ON_ONCE(!ar->wmi.ops->rx))
ar                230 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ar->wmi.ops->rx(ar, skb);
ar                235 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_map_svc(struct ath10k *ar, const __le32 *in, unsigned long *out,
ar                238 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->map_svc)
ar                241 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ar->wmi.ops->map_svc(in, out, len);
ar                246 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_map_svc_ext(struct ath10k *ar, const __le32 *in, unsigned long *out,
ar                249 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->map_svc_ext)
ar                252 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ar->wmi.ops->map_svc_ext(in, out, len);
ar                257 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_scan(struct ath10k *ar, struct sk_buff *skb,
ar                260 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_scan)
ar                263 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_scan(ar, skb, arg);
ar                267 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_mgmt_tx_compl(struct ath10k *ar, struct sk_buff *skb,
ar                270 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_mgmt_tx_compl)
ar                273 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_mgmt_tx_compl(ar, skb, arg);
ar                277 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_mgmt_tx_bundle_compl(struct ath10k *ar, struct sk_buff *skb,
ar                280 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_mgmt_tx_bundle_compl)
ar                283 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_mgmt_tx_bundle_compl(ar, skb, arg);
ar                287 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_mgmt_rx(struct ath10k *ar, struct sk_buff *skb,
ar                290 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_mgmt_rx)
ar                293 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_mgmt_rx(ar, skb, arg);
ar                297 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_ch_info(struct ath10k *ar, struct sk_buff *skb,
ar                300 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_ch_info)
ar                303 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_ch_info(ar, skb, arg);
ar                307 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_vdev_start(struct ath10k *ar, struct sk_buff *skb,
ar                310 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_vdev_start)
ar                313 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_vdev_start(ar, skb, arg);
ar                317 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_peer_kick(struct ath10k *ar, struct sk_buff *skb,
ar                320 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_peer_kick)
ar                323 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_peer_kick(ar, skb, arg);
ar                327 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_swba(struct ath10k *ar, struct sk_buff *skb,
ar                330 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_swba)
ar                333 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_swba(ar, skb, arg);
ar                337 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_phyerr_hdr(struct ath10k *ar, struct sk_buff *skb,
ar                340 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_phyerr_hdr)
ar                343 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_phyerr_hdr(ar, skb, arg);
ar                347 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_phyerr(struct ath10k *ar, const void *phyerr_buf,
ar                350 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_phyerr)
ar                353 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_phyerr(ar, phyerr_buf, left_len, arg);
ar                357 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_svc_rdy(struct ath10k *ar, struct sk_buff *skb,
ar                360 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_svc_rdy)
ar                363 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_svc_rdy(ar, skb, arg);
ar                367 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_rdy(struct ath10k *ar, struct sk_buff *skb,
ar                370 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_rdy)
ar                373 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_rdy(ar, skb, arg);
ar                377 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_svc_avail(struct ath10k *ar, struct sk_buff *skb,
ar                380 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_svc_avail)
ar                382 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_svc_avail(ar, skb, arg);
ar                386 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_fw_stats(struct ath10k *ar, struct sk_buff *skb,
ar                389 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_fw_stats)
ar                392 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_fw_stats(ar, skb, stats);
ar                396 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_roam_ev(struct ath10k *ar, struct sk_buff *skb,
ar                399 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_roam_ev)
ar                402 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_roam_ev(ar, skb, arg);
ar                406 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_wow_event(struct ath10k *ar, struct sk_buff *skb,
ar                409 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_wow_event)
ar                412 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_wow_event(ar, skb, arg);
ar                416 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_echo_ev(struct ath10k *ar, struct sk_buff *skb,
ar                419 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_echo_ev)
ar                422 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_echo_ev(ar, skb, arg);
ar                426 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pull_dfs_status(struct ath10k *ar, struct sk_buff *skb,
ar                429 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->pull_dfs_status_ev)
ar                432 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->pull_dfs_status_ev(ar, skb, arg);
ar                436 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_get_txbf_conf_scheme(struct ath10k *ar)
ar                438 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->get_txbf_conf_scheme)
ar                441 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->get_txbf_conf_scheme(ar);
ar                445 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_mgmt_tx_send(struct ath10k *ar, struct sk_buff *msdu,
ar                451 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_mgmt_tx_send)
ar                454 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_mgmt_tx_send(ar, msdu, paddr);
ar                458 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ret = ath10k_wmi_cmd_send(ar, skb,
ar                459 drivers/net/wireless/ath/ath10k/wmi-ops.h 				  ar->wmi.cmd->mgmt_tx_send_cmdid);
ar                467 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_mgmt_tx(struct ath10k *ar, struct sk_buff *msdu)
ar                473 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_mgmt_tx)
ar                476 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_mgmt_tx(ar, msdu);
ar                480 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ret = ath10k_wmi_cmd_send(ar, skb,
ar                481 drivers/net/wireless/ath/ath10k/wmi-ops.h 				  ar->wmi.cmd->mgmt_tx_cmdid);
ar                489 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ieee80211_tx_status_irqsafe(ar->hw, msdu);
ar                495 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_set_regdomain(struct ath10k *ar, u16 rd, u16 rd2g, u16 rd5g,
ar                501 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_set_rd)
ar                504 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_set_rd(ar, rd, rd2g, rd5g, ctl2g, ctl5g,
ar                509 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                510 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_set_regdomain_cmdid);
ar                514 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_set_base_macaddr(struct ath10k *ar, const u8 macaddr[ETH_ALEN])
ar                518 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_set_base_macaddr)
ar                521 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_set_base_macaddr(ar, macaddr);
ar                525 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                526 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_set_base_macaddr_cmdid);
ar                530 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_suspend_target(struct ath10k *ar, u32 suspend_opt)
ar                534 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_suspend)
ar                537 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_suspend(ar, suspend_opt);
ar                541 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->pdev_suspend_cmdid);
ar                545 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_resume_target(struct ath10k *ar)
ar                549 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_resume)
ar                552 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_resume(ar);
ar                556 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->pdev_resume_cmdid);
ar                560 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_set_param(struct ath10k *ar, u32 id, u32 value)
ar                564 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_set_param)
ar                567 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_set_param(ar, id, value);
ar                571 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->pdev_set_param_cmdid);
ar                575 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_cmd_init(struct ath10k *ar)
ar                579 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_init)
ar                582 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_init(ar);
ar                586 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->init_cmdid);
ar                590 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_start_scan(struct ath10k *ar,
ar                595 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_start_scan)
ar                598 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_start_scan(ar, arg);
ar                602 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->start_scan_cmdid);
ar                606 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_stop_scan(struct ath10k *ar, const struct wmi_stop_scan_arg *arg)
ar                610 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_stop_scan)
ar                613 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_stop_scan(ar, arg);
ar                617 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->stop_scan_cmdid);
ar                621 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_create(struct ath10k *ar, u32 vdev_id,
ar                628 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_create)
ar                631 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_create(ar, vdev_id, type, subtype, macaddr);
ar                635 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->vdev_create_cmdid);
ar                639 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_delete(struct ath10k *ar, u32 vdev_id)
ar                643 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_delete)
ar                646 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_delete(ar, vdev_id);
ar                650 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->vdev_delete_cmdid);
ar                654 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_start(struct ath10k *ar,
ar                659 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_start)
ar                662 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_start(ar, arg, false);
ar                666 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                667 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->vdev_start_request_cmdid);
ar                671 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_restart(struct ath10k *ar,
ar                676 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_start)
ar                679 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_start(ar, arg, true);
ar                683 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                684 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->vdev_restart_request_cmdid);
ar                688 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_stop(struct ath10k *ar, u32 vdev_id)
ar                692 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_stop)
ar                695 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_stop(ar, vdev_id);
ar                699 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->vdev_stop_cmdid);
ar                703 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_up(struct ath10k *ar, u32 vdev_id, u32 aid, const u8 *bssid)
ar                707 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_up)
ar                710 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_up(ar, vdev_id, aid, bssid);
ar                714 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->vdev_up_cmdid);
ar                718 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_down(struct ath10k *ar, u32 vdev_id)
ar                722 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_down)
ar                725 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_down(ar, vdev_id);
ar                729 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->vdev_down_cmdid);
ar                733 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_set_param(struct ath10k *ar, u32 vdev_id, u32 param_id,
ar                738 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_set_param)
ar                741 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_set_param(ar, vdev_id, param_id,
ar                746 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->vdev_set_param_cmdid);
ar                750 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_install_key(struct ath10k *ar,
ar                755 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_install_key)
ar                758 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_install_key(ar, arg);
ar                762 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                763 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->vdev_install_key_cmdid);
ar                767 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_spectral_conf(struct ath10k *ar,
ar                773 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_spectral_conf)
ar                776 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_spectral_conf(ar, arg);
ar                780 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->vdev_spectral_scan_configure_cmdid;
ar                781 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar                785 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_spectral_enable(struct ath10k *ar, u32 vdev_id, u32 trigger,
ar                791 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_spectral_enable)
ar                794 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_spectral_enable(ar, vdev_id, trigger,
ar                799 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->vdev_spectral_scan_enable_cmdid;
ar                800 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar                804 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_sta_uapsd(struct ath10k *ar, u32 vdev_id,
ar                812 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_vdev_sta_uapsd)
ar                815 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_sta_uapsd(ar, vdev_id, peer_addr, args,
ar                820 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->sta_uapsd_auto_trig_cmdid;
ar                821 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar                825 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_vdev_wmm_conf(struct ath10k *ar, u32 vdev_id,
ar                831 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_vdev_wmm_conf(ar, vdev_id, arg);
ar                835 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->vdev_set_wmm_params_cmdid;
ar                836 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar                840 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_peer_create(struct ath10k *ar, u32 vdev_id,
ar                846 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_peer_create)
ar                849 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_peer_create(ar, vdev_id, peer_addr, peer_type);
ar                853 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->peer_create_cmdid);
ar                857 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_peer_delete(struct ath10k *ar, u32 vdev_id,
ar                862 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_peer_delete)
ar                865 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_peer_delete(ar, vdev_id, peer_addr);
ar                869 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->peer_delete_cmdid);
ar                873 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_peer_flush(struct ath10k *ar, u32 vdev_id,
ar                878 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_peer_flush)
ar                881 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_peer_flush(ar, vdev_id, peer_addr, tid_bitmap);
ar                885 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->peer_flush_tids_cmdid);
ar                889 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_peer_set_param(struct ath10k *ar, u32 vdev_id, const u8 *peer_addr,
ar                894 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_peer_set_param)
ar                897 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_peer_set_param(ar, vdev_id, peer_addr, param_id,
ar                902 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->peer_set_param_cmdid);
ar                906 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_set_psmode(struct ath10k *ar, u32 vdev_id,
ar                911 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_set_psmode)
ar                914 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_set_psmode(ar, vdev_id, psmode);
ar                918 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                919 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->sta_powersave_mode_cmdid);
ar                923 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_set_sta_ps_param(struct ath10k *ar, u32 vdev_id,
ar                928 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_set_sta_ps)
ar                931 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_set_sta_ps(ar, vdev_id, param_id, value);
ar                935 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                936 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->sta_powersave_param_cmdid);
ar                940 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_set_ap_ps_param(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar                945 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_set_ap_ps)
ar                948 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_set_ap_ps(ar, vdev_id, mac, param_id, value);
ar                952 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                953 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->ap_ps_peer_param_cmdid);
ar                957 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_scan_chan_list(struct ath10k *ar,
ar                962 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_scan_chan_list)
ar                965 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_scan_chan_list(ar, arg);
ar                969 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->scan_chan_list_cmdid);
ar                973 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_scan_prob_req_oui(struct ath10k *ar, const u8 mac_addr[ETH_ALEN])
ar                981 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_scan_prob_req_oui)
ar                984 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_scan_prob_req_oui(ar, prob_req_oui);
ar                988 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar                989 drivers/net/wireless/ath/ath10k/wmi-ops.h 			ar->wmi.cmd->scan_prob_req_oui_cmdid);
ar                993 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_peer_assoc(struct ath10k *ar,
ar                998 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_peer_assoc)
ar               1001 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_peer_assoc(ar, arg);
ar               1005 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->peer_assoc_cmdid);
ar               1009 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_beacon_send_ref_nowait(struct ath10k *ar, u32 vdev_id,
ar               1017 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_beacon_dma)
ar               1020 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_beacon_dma(ar, vdev_id, bcn, bcn_len, bcn_paddr,
ar               1025 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ret = ath10k_wmi_cmd_send_nowait(ar, skb,
ar               1026 drivers/net/wireless/ath/ath10k/wmi-ops.h 					 ar->wmi.cmd->pdev_send_bcn_cmdid);
ar               1036 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_set_wmm_params(struct ath10k *ar,
ar               1041 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_set_wmm)
ar               1044 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_set_wmm(ar, arg);
ar               1048 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1049 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_set_wmm_params_cmdid);
ar               1053 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_request_stats(struct ath10k *ar, u32 stats_mask)
ar               1057 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_request_stats)
ar               1060 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_request_stats(ar, stats_mask);
ar               1064 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->request_stats_cmdid);
ar               1068 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_force_fw_hang(struct ath10k *ar,
ar               1073 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_force_fw_hang)
ar               1076 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_force_fw_hang(ar, type, delay_ms);
ar               1080 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
ar               1084 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level)
ar               1088 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_dbglog_cfg)
ar               1091 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_dbglog_cfg(ar, module_enable, log_level);
ar               1095 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->dbglog_cfg_cmdid);
ar               1099 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_pktlog_enable(struct ath10k *ar, u32 filter)
ar               1103 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pktlog_enable)
ar               1106 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pktlog_enable(ar, filter);
ar               1110 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->pdev_pktlog_enable_cmdid);
ar               1114 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_pktlog_disable(struct ath10k *ar)
ar               1118 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pktlog_disable)
ar               1121 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pktlog_disable(ar);
ar               1125 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1126 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_pktlog_disable_cmdid);
ar               1130 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_set_quiet_mode(struct ath10k *ar, u32 period, u32 duration,
ar               1135 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_set_quiet_mode)
ar               1138 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_set_quiet_mode(ar, period, duration,
ar               1143 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1144 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_set_quiet_mode_cmdid);
ar               1148 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_get_temperature(struct ath10k *ar)
ar               1152 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_get_temperature)
ar               1155 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_get_temperature(ar);
ar               1159 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1160 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_get_temperature_cmdid);
ar               1164 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_addba_clear_resp(struct ath10k *ar, u32 vdev_id, const u8 *mac)
ar               1168 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_addba_clear_resp)
ar               1171 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_addba_clear_resp(ar, vdev_id, mac);
ar               1175 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1176 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->addba_clear_resp_cmdid);
ar               1180 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_addba_send(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               1185 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_addba_send)
ar               1188 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_addba_send(ar, vdev_id, mac, tid, buf_size);
ar               1192 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1193 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->addba_send_cmdid);
ar               1197 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_addba_set_resp(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               1202 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_addba_set_resp)
ar               1205 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_addba_set_resp(ar, vdev_id, mac, tid, status);
ar               1209 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1210 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->addba_set_resp_cmdid);
ar               1214 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_delba_send(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               1219 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_delba_send)
ar               1222 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_delba_send(ar, vdev_id, mac, tid, initiator,
ar               1227 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1228 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->delba_send_cmdid);
ar               1232 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_bcn_tmpl(struct ath10k *ar, u32 vdev_id, u32 tim_ie_offset,
ar               1238 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_bcn_tmpl)
ar               1241 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_bcn_tmpl(ar, vdev_id, tim_ie_offset, bcn,
ar               1247 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->bcn_tmpl_cmdid);
ar               1251 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_prb_tmpl(struct ath10k *ar, u32 vdev_id, struct sk_buff *prb)
ar               1255 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_prb_tmpl)
ar               1258 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_prb_tmpl(ar, vdev_id, prb);
ar               1262 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->prb_tmpl_cmdid);
ar               1266 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_p2p_go_bcn_ie(struct ath10k *ar, u32 vdev_id, const u8 *p2p_ie)
ar               1270 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_p2p_go_bcn_ie)
ar               1273 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_p2p_go_bcn_ie(ar, vdev_id, p2p_ie);
ar               1277 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->p2p_go_set_beacon_ie);
ar               1281 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_sta_keepalive(struct ath10k *ar,
ar               1287 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_sta_keepalive)
ar               1290 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_sta_keepalive(ar, arg);
ar               1294 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->sta_keepalive_cmd;
ar               1295 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1299 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_wow_enable(struct ath10k *ar)
ar               1304 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_wow_enable)
ar               1307 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_wow_enable(ar);
ar               1311 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->wow_enable_cmdid;
ar               1312 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1316 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_wow_add_wakeup_event(struct ath10k *ar, u32 vdev_id,
ar               1323 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_wow_add_wakeup_event)
ar               1326 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_wow_add_wakeup_event(ar, vdev_id, event, enable);
ar               1330 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->wow_enable_disable_wake_event_cmdid;
ar               1331 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1335 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_wow_host_wakeup_ind(struct ath10k *ar)
ar               1340 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_wow_host_wakeup_ind)
ar               1343 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_wow_host_wakeup_ind(ar);
ar               1347 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->wow_hostwakeup_from_sleep_cmdid;
ar               1348 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1352 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_wow_add_pattern(struct ath10k *ar, u32 vdev_id, u32 pattern_id,
ar               1359 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_wow_add_pattern)
ar               1362 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_wow_add_pattern(ar, vdev_id, pattern_id,
ar               1368 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->wow_add_wake_pattern_cmdid;
ar               1369 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1373 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_wow_del_pattern(struct ath10k *ar, u32 vdev_id, u32 pattern_id)
ar               1378 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_wow_del_pattern)
ar               1381 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_wow_del_pattern(ar, vdev_id, pattern_id);
ar               1385 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->wow_del_wake_pattern_cmdid;
ar               1386 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1390 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_wow_config_pno(struct ath10k *ar, u32 vdev_id,
ar               1396 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_wow_config_pno)
ar               1399 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_wow_config_pno(ar, vdev_id, pno_scan);
ar               1403 drivers/net/wireless/ath/ath10k/wmi-ops.h 	cmd_id = ar->wmi.cmd->network_list_offload_config_cmdid;
ar               1404 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, cmd_id);
ar               1408 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_update_fw_tdls_state(struct ath10k *ar, u32 vdev_id,
ar               1413 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_update_fw_tdls_state)
ar               1416 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_update_fw_tdls_state(ar, vdev_id, state);
ar               1420 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->tdls_set_state_cmdid);
ar               1424 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_tdls_peer_update(struct ath10k *ar,
ar               1431 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_tdls_peer_update)
ar               1434 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_tdls_peer_update(ar, arg, cap, chan);
ar               1438 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1439 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->tdls_peer_update_cmdid);
ar               1443 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_adaptive_qcs(struct ath10k *ar, bool enable)
ar               1447 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_adaptive_qcs)
ar               1450 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_adaptive_qcs(ar, enable);
ar               1454 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->adaptive_qcs_cmdid);
ar               1458 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_get_tpc_config(struct ath10k *ar, u32 param)
ar               1462 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_get_tpc_config)
ar               1465 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_get_tpc_config(ar, param);
ar               1470 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1471 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_get_tpc_config_cmdid);
ar               1475 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_fw_stats_fill(struct ath10k *ar, struct ath10k_fw_stats *fw_stats,
ar               1478 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->fw_stats_fill)
ar               1481 drivers/net/wireless/ath/ath10k/wmi-ops.h 	ar->wmi.ops->fw_stats_fill(ar, fw_stats, buf);
ar               1486 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_enable_adaptive_cca(struct ath10k *ar, u8 enable,
ar               1491 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_enable_adaptive_cca)
ar               1494 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_enable_adaptive_cca(ar, enable,
ar               1501 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1502 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_enable_adaptive_cca_cmdid);
ar               1506 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_ext_resource_config(struct ath10k *ar,
ar               1512 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->ext_resource_config)
ar               1515 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->ext_resource_config(ar, type,
ar               1521 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1522 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->ext_resource_cfg_cmdid);
ar               1526 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_get_vdev_subtype(struct ath10k *ar, enum wmi_vdev_subtype subtype)
ar               1528 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->get_vdev_subtype)
ar               1531 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ar->wmi.ops->get_vdev_subtype(ar, subtype);
ar               1535 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_bss_chan_info_request(struct ath10k *ar,
ar               1538 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct ath10k_wmi *wmi = &ar->wmi;
ar               1544 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = wmi->ops->gen_pdev_bss_chan_info_req(ar, type);
ar               1548 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1553 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_echo(struct ath10k *ar, u32 value)
ar               1555 drivers/net/wireless/ath/ath10k/wmi-ops.h 	struct ath10k_wmi *wmi = &ar->wmi;
ar               1561 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = wmi->ops->gen_echo(ar, value);
ar               1565 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb, wmi->cmd->echo_cmdid);
ar               1569 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_get_tpc_table_cmdid(struct ath10k *ar, u32 param)
ar               1573 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_pdev_get_tpc_table_cmdid)
ar               1576 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_pdev_get_tpc_table_cmdid(ar, param);
ar               1581 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1582 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->pdev_get_tpc_table_cmdid);
ar               1586 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_report_radar_found(struct ath10k *ar,
ar               1591 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_radar_found)
ar               1594 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_radar_found(ar, arg);
ar               1598 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1599 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->radar_found_cmdid);
ar               1603 drivers/net/wireless/ath/ath10k/wmi-ops.h ath10k_wmi_pdev_bb_timing(struct ath10k *ar,
ar               1608 drivers/net/wireless/ath/ath10k/wmi-ops.h 	if (!ar->wmi.ops->gen_bb_timing)
ar               1611 drivers/net/wireless/ath/ath10k/wmi-ops.h 	skb = ar->wmi.ops->gen_bb_timing(ar, arg);
ar               1616 drivers/net/wireless/ath/ath10k/wmi-ops.h 	return ath10k_wmi_cmd_send(ar, skb,
ar               1617 drivers/net/wireless/ath/ath10k/wmi-ops.h 				   ar->wmi.cmd->set_bb_timing_cmdid);
ar                 70 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_iter(struct ath10k *ar, const void *ptr, size_t len,
ar                 71 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		    int (*iter)(struct ath10k *ar, u16 tag, u16 len,
ar                 82 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_dbg(ar, ATH10K_DBG_WMI,
ar                 95 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_dbg(ar, ATH10K_DBG_WMI,
ar                104 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_dbg(ar, ATH10K_DBG_WMI,
ar                111 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ret = iter(ar, tlv_tag, tlv_len, ptr, data);
ar                122 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_iter_parse(struct ath10k *ar, u16 tag, u16 len,
ar                133 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_parse(struct ath10k *ar, const void **tb,
ar                136 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	return ath10k_wmi_tlv_iter(ar, ptr, len, ath10k_wmi_tlv_iter_parse,
ar                141 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_parse_alloc(struct ath10k *ar, const void *ptr,
ar                151 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ret = ath10k_wmi_tlv_parse(ar, tb, ptr, len);
ar                168 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_bcn_tx_status(struct ath10k *ar,
ar                177 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                180 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                202 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "received bcn tmpl tx status on vdev %i: %d",
ar                207 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	arvif = ath10k_get_arvif(ar, vdev_id);
ar                209 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ieee80211_queue_work(ar->hw, &arvif->ap_csa_work);
ar                215 drivers/net/wireless/ath/ath10k/wmi-tlv.c static void ath10k_wmi_tlv_event_vdev_delete_resp(struct ath10k *ar,
ar                218 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_VDEV_DELETE_RESP_EVENTID\n");
ar                219 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	complete(&ar->vdev_delete_done);
ar                222 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_diag_data(struct ath10k *ar,
ar                231 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                234 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                252 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_warn(ar, "failed to parse diag data: can't fit item header\n");
ar                259 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_warn(ar, "failed to parse diag data: item is too long\n");
ar                263 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		trace_ath10k_wmi_diag_container(ar,
ar                278 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse diag data event: num_items %d len %d\n",
ar                285 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_diag(struct ath10k *ar,
ar                292 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                295 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                306 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv diag event len %d\n", len);
ar                307 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	trace_ath10k_wmi_diag(ar, data, len);
ar                313 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_p2p_noa(struct ath10k *ar,
ar                321 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                324 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                338 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar                342 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_p2p_noa_update_by_vdev_id(ar, vdev_id, noa);
ar                347 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_tx_pause(struct ath10k *ar,
ar                355 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                358 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                374 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar                389 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_mac_handle_tx_pause_vdev(ar, vdev_id, pause_id,
ar                397 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar                402 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar                412 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_temperature(struct ath10k *ar,
ar                421 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_thermal_event_temperature(ar, __le32_to_cpu(ev->temperature));
ar                425 drivers/net/wireless/ath/ath10k/wmi-tlv.c static void ath10k_wmi_event_tdls_peer(struct ath10k *ar, struct sk_buff *skb)
ar                432 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                434 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "tdls peer failed to parse tlv");
ar                440 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "tdls peer NULL event");
ar                448 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		station = ieee80211_find_sta_by_ifaddr(ar->hw,
ar                452 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ath10k_warn(ar, "did not find station from tdls peer event");
ar                456 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		arvif = ath10k_get_arvif(ar, __le32_to_cpu(ev->vdev_id));
ar                468 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_event_peer_delete_resp(struct ath10k *ar,
ar                477 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "vdev id %d", arg->vdev_id);
ar                478 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "peer mac addr %pM", &arg->peer_addr);
ar                479 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv peer delete response\n");
ar                481 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	complete(&ar->peer_delete_done);
ar                490 drivers/net/wireless/ath/ath10k/wmi-tlv.c static void ath10k_wmi_tlv_op_rx(struct ath10k *ar, struct sk_buff *skb)
ar                502 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	trace_ath10k_wmi_event(ar, id, skb->data, skb->len);
ar                504 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	consumed = ath10k_tm_event_wmi(ar, id, skb);
ar                511 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar                518 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_mgmt_rx(ar, skb);
ar                522 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_scan(ar, skb);
ar                525 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_chan_info(ar, skb);
ar                528 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_echo(ar, skb);
ar                531 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_debug_mesg(ar, skb);
ar                534 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_update_stats(ar, skb);
ar                537 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_vdev_start_resp(ar, skb);
ar                540 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_vdev_stopped(ar, skb);
ar                543 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_vdev_delete_resp(ar, skb);
ar                546 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_peer_sta_kickout(ar, skb);
ar                549 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_host_swba(ar, skb);
ar                552 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_tbttoffset_update(ar, skb);
ar                555 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_phyerr(ar, skb);
ar                558 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_roam(ar, skb);
ar                561 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_profile_match(ar, skb);
ar                564 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_debug_print(ar, skb);
ar                567 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_pdev_qvit(ar, skb);
ar                570 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_wlan_profile_data(ar, skb);
ar                573 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_rtt_measurement_report(ar, skb);
ar                576 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_tsf_measurement_report(ar, skb);
ar                579 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_rtt_error_report(ar, skb);
ar                582 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_wow_wakeup_host(ar, skb);
ar                585 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_dcs_interference(ar, skb);
ar                588 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_pdev_tpc_config(ar, skb);
ar                591 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_pdev_ftm_intg(ar, skb);
ar                594 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_gtk_offload_status(ar, skb);
ar                597 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_gtk_rekey_fail(ar, skb);
ar                600 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_delba_complete(ar, skb);
ar                603 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_addba_complete(ar, skb);
ar                606 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_vdev_install_key_complete(ar, skb);
ar                609 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_service_ready(ar, skb);
ar                612 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_ready(ar, skb);
ar                615 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_service_available(ar, skb);
ar                618 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_bcn_tx_status(ar, skb);
ar                621 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_diag_data(ar, skb);
ar                624 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_diag(ar, skb);
ar                627 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_p2p_noa(ar, skb);
ar                630 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_tx_pause(ar, skb);
ar                633 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_temperature(ar, skb);
ar                636 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_tdls_peer(ar, skb);
ar                639 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_tlv_event_peer_delete_resp(ar, skb);
ar                642 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_mgmt_tx_compl(ar, skb);
ar                645 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_wmi_event_mgmt_tx_bundle_compl(ar, skb);
ar                648 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_dbg(ar, ATH10K_DBG_WMI, "Unknown eventid: %d\n", id);
ar                656 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_scan_ev(struct ath10k *ar,
ar                664 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                667 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                689 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev(struct ath10k *ar, struct sk_buff *skb,
ar                696 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                699 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                710 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map))
ar                730 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_mgmt_tx_bundle_compl_parse(struct ath10k *ar, u16 tag, u16 len,
ar                761 drivers/net/wireless/ath/ath10k/wmi-tlv.c 				struct ath10k *ar, struct sk_buff *skb,
ar                767 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ret = ath10k_wmi_tlv_iter(ar, skb->data, skb->len,
ar                771 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                784 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map))
ar                790 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_mgmt_rx_ev(struct ath10k *ar,
ar                800 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                803 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                839 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_ch_info_ev(struct ath10k *ar,
ar                847 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                850 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                867 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		     ar->running_fw->fw_file.fw_features))
ar                875 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_pull_vdev_start_ev(struct ath10k *ar, struct sk_buff *skb,
ar                882 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                885 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                905 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_peer_kick_ev(struct ath10k *ar,
ar                913 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar                916 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar                941 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_swba_tim_parse(struct ath10k *ar, u16 tag, u16 len,
ar                956 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "refusing to parse invalid swba structure\n");
ar                972 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_swba_noa_parse(struct ath10k *ar, u16 tag, u16 len,
ar                987 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_swba_parse(struct ath10k *ar, u16 tag, u16 len,
ar               1000 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ret = ath10k_wmi_tlv_iter(ar, ptr, len,
ar               1007 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			ret = ath10k_wmi_tlv_iter(ar, ptr, len,
ar               1020 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_swba_ev(struct ath10k *ar,
ar               1029 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ret = ath10k_wmi_tlv_iter(ar, skb->data, skb->len,
ar               1032 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1052 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_phyerr_ev_hdr(struct ath10k *ar,
ar               1061 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar               1064 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1098 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_parse_mem_reqs(struct ath10k *ar, u16 tag, u16 len,
ar               1126 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_svc_rdy_parse(struct ath10k *ar, u16 tag, u16 len,
ar               1155 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_svc_rdy_ev(struct ath10k *ar,
ar               1166 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ret = ath10k_wmi_tlv_iter(ar, skb->data, skb->len,
ar               1169 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1184 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               1216 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ret = ath10k_wmi_tlv_iter(ar, mem_reqs, ath10k_wmi_tlv_len(mem_reqs),
ar               1219 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse mem_reqs tlv: %d\n", ret);
ar               1226 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_rdy_ev(struct ath10k *ar,
ar               1234 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar               1237 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1256 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_svc_avail_parse(struct ath10k *ar, u16 tag, u16 len,
ar               1272 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_svc_avail(struct ath10k *ar,
ar               1278 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ret = ath10k_wmi_tlv_iter(ar, skb->data, skb->len,
ar               1282 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse svc_avail tlv: %d\n", ret);
ar               1325 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar,
ar               1343 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar               1346 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1367 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               1464 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_roam_ev(struct ath10k *ar,
ar               1472 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar               1475 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1494 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_pull_wow_ev(struct ath10k *ar, struct sk_buff *skb,
ar               1501 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar               1504 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1523 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_pull_echo_ev(struct ath10k *ar,
ar               1531 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
ar               1534 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_warn(ar, "failed to parse tlv: %d\n", ret);
ar               1551 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_suspend(struct ath10k *ar, u32 opt)
ar               1557 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               1567 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pdev suspend\n");
ar               1572 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_resume(struct ath10k *ar)
ar               1578 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               1588 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pdev resume\n");
ar               1593 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_set_rd(struct ath10k *ar,
ar               1602 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               1616 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pdev set rd\n");
ar               1620 drivers/net/wireless/ath/ath10k/wmi-tlv.c static enum wmi_txbf_conf ath10k_wmi_tlv_txbf_conf_scheme(struct ath10k *ar)
ar               1626 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_set_param(struct ath10k *ar, u32 param_id,
ar               1633 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               1644 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pdev set param %d value 0x%x\n",
ar               1650 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_put_host_mem_chunks(struct ath10k *ar, void *host_mem_chunks)
ar               1659 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	for (i = 0; i < ar->wmi.num_mem_chunks; i++) {
ar               1665 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		chunk->ptr = __cpu_to_le32(ar->wmi.mem_chunks[i].paddr);
ar               1666 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		chunk->size = __cpu_to_le32(ar->wmi.mem_chunks[i].len);
ar               1667 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		chunk->req_id = __cpu_to_le32(ar->wmi.mem_chunks[i].req_id);
ar               1669 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               1672 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			   ar->wmi.mem_chunks[i].len,
ar               1673 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			   (unsigned long long)ar->wmi.mem_chunks[i].paddr,
ar               1674 drivers/net/wireless/ath/ath10k/wmi-tlv.c 			   ar->wmi.mem_chunks[i].req_id);
ar               1681 drivers/net/wireless/ath/ath10k/wmi-tlv.c static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar)
ar               1691 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	chunks_len = ar->wmi.num_mem_chunks *
ar               1697 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               1731 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	cmd->num_host_mem_chunks = __cpu_to_le32(ar->wmi.num_mem_chunks);
ar               1735 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (ar->hw_params.num_peers)
ar               1736 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		cfg->num_peers = __cpu_to_le32(ar->hw_params.num_peers);
ar               1739 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	cfg->ast_skid_limit = __cpu_to_le32(ar->hw_params.ast_skid_limit);
ar               1740 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	cfg->num_wds_entries = __cpu_to_le32(ar->hw_params.num_wds_entries);
ar               1742 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (test_bit(WMI_SERVICE_RX_FULL_REORDER, ar->wmi.svc_map)) {
ar               1751 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (ar->hw_params.num_peers)
ar               1752 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		cfg->num_tids = __cpu_to_le32(ar->hw_params.num_peers * 2);
ar               1761 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	cfg->rx_decap_mode = __cpu_to_le32(ar->wmi.rx_decap_mode);
ar               1775 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	cfg->num_msdu_desc = __cpu_to_le32(ar->htt.max_num_pending_tx);
ar               1781 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	cfg->num_wow_filters = __cpu_to_le32(ar->wow.max_num_patterns);
ar               1792 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map))
ar               1795 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_wmi_tlv_put_host_mem_chunks(ar, chunks);
ar               1797 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv init\n");
ar               1802 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_start_scan(struct ath10k *ar,
ar               1829 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               1897 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv start scan\n");
ar               1902 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_stop_scan(struct ath10k *ar,
ar               1916 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               1935 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv stop scan\n");
ar               1939 drivers/net/wireless/ath/ath10k/wmi-tlv.c static int ath10k_wmi_tlv_op_get_vdev_subtype(struct ath10k *ar,
ar               1962 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_create(struct ath10k *ar,
ar               1972 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               1985 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev create\n");
ar               1990 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_delete(struct ath10k *ar, u32 vdev_id)
ar               1996 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2006 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev delete\n");
ar               2011 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_start(struct ath10k *ar,
ar               2031 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2082 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev start\n");
ar               2087 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_stop(struct ath10k *ar, u32 vdev_id)
ar               2093 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2103 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev stop\n");
ar               2108 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_up(struct ath10k *ar, u32 vdev_id, u32 aid,
ar               2116 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2128 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev up\n");
ar               2133 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_down(struct ath10k *ar, u32 vdev_id)
ar               2139 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2149 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev down\n");
ar               2154 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_set_param(struct ath10k *ar, u32 vdev_id,
ar               2161 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2173 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev %d set param %d value 0x%x\n",
ar               2179 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_install_key(struct ath10k *ar,
ar               2188 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (arg->key_cipher == ar->wmi_key_cipher[WMI_CIPHER_NONE] &&
ar               2191 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (arg->key_cipher != ar->wmi_key_cipher[WMI_CIPHER_NONE] &&
ar               2197 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2229 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev install key\n");
ar               2233 drivers/net/wireless/ath/ath10k/wmi-tlv.c static void *ath10k_wmi_tlv_put_uapsd_ac(struct ath10k *ar, void *ptr,
ar               2250 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               2259 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_sta_uapsd(struct ath10k *ar, u32 vdev_id,
ar               2276 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2299 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		ptr = ath10k_wmi_tlv_put_uapsd_ac(ar, ptr, &args[i]);
ar               2301 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev sta uapsd auto trigger\n");
ar               2321 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_wmm_conf(struct ath10k *ar, u32 vdev_id,
ar               2331 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2347 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv vdev wmm conf\n");
ar               2352 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_sta_keepalive(struct ath10k *ar,
ar               2364 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2390 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv sta keepalive vdev %d enabled %d method %d interval %d\n",
ar               2396 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_peer_create(struct ath10k *ar, u32 vdev_id,
ar               2404 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2416 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv peer create\n");
ar               2421 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_peer_delete(struct ath10k *ar, u32 vdev_id,
ar               2428 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2439 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv peer delete\n");
ar               2444 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_peer_flush(struct ath10k *ar, u32 vdev_id,
ar               2451 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2463 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv peer flush\n");
ar               2468 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_peer_set_param(struct ath10k *ar, u32 vdev_id,
ar               2477 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2490 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               2497 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_peer_assoc(struct ath10k *ar,
ar               2521 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2582 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv peer assoc\n");
ar               2587 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
ar               2594 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2605 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv set psmode\n");
ar               2610 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_set_sta_ps(struct ath10k *ar, u32 vdev_id,
ar               2618 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2630 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv set sta ps\n");
ar               2635 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_set_ap_ps(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               2645 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2658 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv ap ps param\n");
ar               2663 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_scan_chan_list(struct ath10k *ar,
ar               2679 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2715 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv scan chan list\n");
ar               2720 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_scan_prob_req_oui(struct ath10k *ar, u32 prob_req_oui)
ar               2726 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2736 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv scan prob req oui\n");
ar               2741 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_beacon_dma(struct ath10k *ar, u32 vdev_id,
ar               2753 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2777 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv beacon dma\n");
ar               2782 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_set_wmm(struct ath10k *ar,
ar               2794 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2815 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pdev set wmm\n");
ar               2820 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_request_stats(struct ath10k *ar, u32 stats_mask)
ar               2826 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2836 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv request stats\n");
ar               2841 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_mgmt_tx_alloc_msdu_id(struct ath10k *ar, struct sk_buff *skb,
ar               2844 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	struct ath10k_wmi *wmi = &ar->wmi;
ar               2855 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	spin_lock_bh(&ar->data_lock);
ar               2858 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	spin_unlock_bh(&ar->data_lock);
ar               2860 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi mgmt tx alloc msdu_id ret %d\n", ret);
ar               2865 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_mgmt_tx_send(struct ath10k *ar, struct sk_buff *msdu,
ar               2906 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               2910 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	desc_id = ath10k_wmi_mgmt_tx_alloc_msdu_id(ar, msdu, paddr);
ar               2944 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_force_fw_hang(struct ath10k *ar,
ar               2952 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               2963 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv force fw hang\n");
ar               2968 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_dbglog_cfg(struct ath10k *ar, u64 module_enable,
ar               2990 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3015 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv dbglog value 0x%08x\n", value);
ar               3020 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pktlog_enable(struct ath10k *ar, u32 filter)
ar               3029 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3043 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pktlog enable filter 0x%08x\n",
ar               3049 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_get_temperature(struct ath10k *ar)
ar               3055 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               3063 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi pdev get temperature tlv\n");
ar               3068 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pktlog_disable(struct ath10k *ar)
ar               3077 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3090 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv pktlog disable\n");
ar               3095 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_bcn_tmpl(struct ath10k *ar, u32 vdev_id,
ar               3113 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3153 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv bcn tmpl vdev_id %i\n",
ar               3159 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_prb_tmpl(struct ath10k *ar, u32 vdev_id,
ar               3172 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3202 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv prb tmpl vdev_id %i\n",
ar               3208 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_p2p_go_bcn_ie(struct ath10k *ar, u32 vdev_id,
ar               3219 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3242 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv p2p go bcn ie for vdev %i\n",
ar               3248 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_update_fw_tdls_state(struct ath10k *ar, u32 vdev_id,
ar               3261 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map))
ar               3271 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3298 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv update fw tdls state %d for vdev %i\n",
ar               3322 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_tdls_peer_update(struct ath10k *ar,
ar               3341 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3399 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               3406 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_pdev_set_quiet_mode(struct ath10k *ar, u32 period,
ar               3414 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*tlv) + sizeof(*cmd));
ar               3430 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               3437 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_wow_enable(struct ath10k *ar)
ar               3445 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3455 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	if (!ar->bus_param.link_can_suspend)
ar               3458 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv wow enable\n");
ar               3463 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_wow_add_wakeup_event(struct ath10k *ar,
ar               3474 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3487 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv wow add wakeup event %s enable %d vdev_id %d\n",
ar               3493 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_gen_wow_host_wakeup_ind(struct ath10k *ar)
ar               3501 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3510 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv wow host wakeup ind\n");
ar               3515 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_wow_add_pattern(struct ath10k *ar, u32 vdev_id,
ar               3536 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3609 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv wow add pattern vdev_id %d pattern_id %d, pattern_offset %d\n",
ar               3615 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_wow_del_pattern(struct ath10k *ar, u32 vdev_id,
ar               3624 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3637 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv wow del pattern vdev_id %d pattern_id %d\n",
ar               3644 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_config_pno_start(struct ath10k *ar,
ar               3671 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3763 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv start pno config vdev_id %d\n",
ar               3770 drivers/net/wireless/ath/ath10k/wmi-tlv.c static struct sk_buff *ath10k_wmi_tlv_op_gen_config_pno_stop(struct ath10k *ar,
ar               3786 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3814 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv stop pno config vdev_id %d\n", vdev_id);
ar               3819 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_config_pno(struct ath10k *ar, u32 vdev_id,
ar               3823 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		return ath10k_wmi_tlv_op_gen_config_pno_start(ar, vdev_id, pno_scan);
ar               3825 drivers/net/wireless/ath/ath10k/wmi-tlv.c 		return ath10k_wmi_tlv_op_gen_config_pno_stop(ar, vdev_id);
ar               3829 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_adaptive_qcs(struct ath10k *ar, bool enable)
ar               3838 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3852 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv adaptive qcs %d\n", enable);
ar               3857 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_echo(struct ath10k *ar, u32 value)
ar               3866 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3880 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv echo value 0x%08x\n", value);
ar               3885 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_spectral_conf(struct ath10k *ar,
ar               3895 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               3928 drivers/net/wireless/ath/ath10k/wmi-tlv.c ath10k_wmi_tlv_op_gen_vdev_spectral_enable(struct ath10k *ar, u32 vdev_id,
ar               3938 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               4395 drivers/net/wireless/ath/ath10k/wmi-tlv.c void ath10k_wmi_tlv_attach(struct ath10k *ar)
ar               4397 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ar->wmi.cmd = &wmi_tlv_cmd_map;
ar               4398 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ar->wmi.vdev_param = &wmi_tlv_vdev_param_map;
ar               4399 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ar->wmi.pdev_param = &wmi_tlv_pdev_param_map;
ar               4400 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ar->wmi.ops = &wmi_tlv_ops;
ar               4401 drivers/net/wireless/ath/ath10k/wmi-tlv.c 	ar->wmi.peer_flags = &wmi_tlv_peer_flags_map;
ar               2238 drivers/net/wireless/ath/ath10k/wmi-tlv.h void ath10k_wmi_tlv_attach(struct ath10k *ar);
ar               1721 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_wait_for_service_ready(struct ath10k *ar)
ar               1725 drivers/net/wireless/ath/ath10k/wmi.c 	time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
ar               1732 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_wait_for_unified_ready(struct ath10k *ar)
ar               1736 drivers/net/wireless/ath/ath10k/wmi.c 	time_left = wait_for_completion_timeout(&ar->wmi.unified_ready,
ar               1743 drivers/net/wireless/ath/ath10k/wmi.c struct sk_buff *ath10k_wmi_alloc_skb(struct ath10k *ar, u32 len)
ar               1748 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_htc_alloc_skb(ar, WMI_SKB_HEADROOM + round_len);
ar               1754 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "Unaligned WMI skb\n");
ar               1762 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_htc_tx_complete(struct ath10k *ar, struct sk_buff *skb)
ar               1767 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_cmd_send_nowait(struct ath10k *ar, struct sk_buff *skb,
ar               1784 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_wmi_cmd(ar, cmd_id, skb->data, skb->len);
ar               1785 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_htc_send(&ar->htc, ar->wmi.eid, skb);
ar               1799 drivers/net/wireless/ath/ath10k/wmi.c 	struct ath10k *ar = arvif->ar;
ar               1806 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               1821 drivers/net/wireless/ath/ath10k/wmi.c 		spin_unlock_bh(&ar->data_lock);
ar               1825 drivers/net/wireless/ath/ath10k/wmi.c 		ret = ath10k_wmi_beacon_send_ref_nowait(arvif->ar,
ar               1832 drivers/net/wireless/ath/ath10k/wmi.c 		spin_lock_bh(&ar->data_lock);
ar               1841 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               1852 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_tx_beacons_nowait(struct ath10k *ar)
ar               1854 drivers/net/wireless/ath/ath10k/wmi.c 	ieee80211_iterate_active_interfaces_atomic(ar->hw,
ar               1860 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_op_ep_tx_credits(struct ath10k *ar)
ar               1863 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_tx_beacons_nowait(ar);
ar               1865 drivers/net/wireless/ath/ath10k/wmi.c 	wake_up(&ar->wmi.tx_credits_wq);
ar               1868 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id)
ar               1875 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "wmi command %d is not supported by firmware\n",
ar               1880 drivers/net/wireless/ath/ath10k/wmi.c 	wait_event_timeout(ar->wmi.tx_credits_wq, ({
ar               1882 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_tx_beacons_nowait(ar);
ar               1884 drivers/net/wireless/ath/ath10k/wmi.c 		ret = ath10k_wmi_cmd_send_nowait(ar, skb, cmd_id);
ar               1886 drivers/net/wireless/ath/ath10k/wmi.c 		if (ret && test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags))
ar               1896 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "wmi command %d timeout, restarting hardware\n",
ar               1898 drivers/net/wireless/ath/ath10k/wmi.c 		queue_work(ar->workqueue, &ar->restart_work);
ar               1905 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_mgmt_tx(struct ath10k *ar, struct sk_buff *msdu)
ar               1942 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               1956 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi mgmt tx skb %pK len %d ftype %02x stype %02x\n",
ar               1959 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_tx_hdr(ar, skb->data, skb->len);
ar               1960 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_tx_payload(ar, skb->data, skb->len);
ar               1965 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_scan_started(struct ath10k *ar)
ar               1967 drivers/net/wireless/ath/ath10k/wmi.c 	lockdep_assert_held(&ar->data_lock);
ar               1969 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->scan.state) {
ar               1973 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received scan started event in an invalid scan state: %s (%d)\n",
ar               1974 drivers/net/wireless/ath/ath10k/wmi.c 			    ath10k_scan_state_str(ar->scan.state),
ar               1975 drivers/net/wireless/ath/ath10k/wmi.c 			    ar->scan.state);
ar               1978 drivers/net/wireless/ath/ath10k/wmi.c 		ar->scan.state = ATH10K_SCAN_RUNNING;
ar               1980 drivers/net/wireless/ath/ath10k/wmi.c 		if (ar->scan.is_roc)
ar               1981 drivers/net/wireless/ath/ath10k/wmi.c 			ieee80211_ready_on_channel(ar->hw);
ar               1983 drivers/net/wireless/ath/ath10k/wmi.c 		complete(&ar->scan.started);
ar               1988 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_scan_start_failed(struct ath10k *ar)
ar               1990 drivers/net/wireless/ath/ath10k/wmi.c 	lockdep_assert_held(&ar->data_lock);
ar               1992 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->scan.state) {
ar               1996 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received scan start failed event in an invalid scan state: %s (%d)\n",
ar               1997 drivers/net/wireless/ath/ath10k/wmi.c 			    ath10k_scan_state_str(ar->scan.state),
ar               1998 drivers/net/wireless/ath/ath10k/wmi.c 			    ar->scan.state);
ar               2001 drivers/net/wireless/ath/ath10k/wmi.c 		complete(&ar->scan.started);
ar               2002 drivers/net/wireless/ath/ath10k/wmi.c 		__ath10k_scan_finish(ar);
ar               2007 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_scan_completed(struct ath10k *ar)
ar               2009 drivers/net/wireless/ath/ath10k/wmi.c 	lockdep_assert_held(&ar->data_lock);
ar               2011 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->scan.state) {
ar               2022 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received scan completed event in an invalid scan state: %s (%d)\n",
ar               2023 drivers/net/wireless/ath/ath10k/wmi.c 			    ath10k_scan_state_str(ar->scan.state),
ar               2024 drivers/net/wireless/ath/ath10k/wmi.c 			    ar->scan.state);
ar               2028 drivers/net/wireless/ath/ath10k/wmi.c 		__ath10k_scan_finish(ar);
ar               2033 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_scan_bss_chan(struct ath10k *ar)
ar               2035 drivers/net/wireless/ath/ath10k/wmi.c 	lockdep_assert_held(&ar->data_lock);
ar               2037 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->scan.state) {
ar               2040 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received scan bss chan event in an invalid scan state: %s (%d)\n",
ar               2041 drivers/net/wireless/ath/ath10k/wmi.c 			    ath10k_scan_state_str(ar->scan.state),
ar               2042 drivers/net/wireless/ath/ath10k/wmi.c 			    ar->scan.state);
ar               2046 drivers/net/wireless/ath/ath10k/wmi.c 		ar->scan_channel = NULL;
ar               2051 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_scan_foreign_chan(struct ath10k *ar, u32 freq)
ar               2053 drivers/net/wireless/ath/ath10k/wmi.c 	lockdep_assert_held(&ar->data_lock);
ar               2055 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->scan.state) {
ar               2058 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received scan foreign chan event in an invalid scan state: %s (%d)\n",
ar               2059 drivers/net/wireless/ath/ath10k/wmi.c 			    ath10k_scan_state_str(ar->scan.state),
ar               2060 drivers/net/wireless/ath/ath10k/wmi.c 			    ar->scan.state);
ar               2064 drivers/net/wireless/ath/ath10k/wmi.c 		ar->scan_channel = ieee80211_get_channel(ar->hw->wiphy, freq);
ar               2066 drivers/net/wireless/ath/ath10k/wmi.c 		if (ar->scan.is_roc && ar->scan.roc_freq == freq)
ar               2067 drivers/net/wireless/ath/ath10k/wmi.c 			complete(&ar->scan.on_channel);
ar               2114 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_scan_ev(struct ath10k *ar, struct sk_buff *skb,
ar               2133 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_event_scan(struct ath10k *ar, struct sk_buff *skb)
ar               2144 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_scan(ar, skb, &arg);
ar               2146 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse scan event: %d\n", ret);
ar               2157 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               2159 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               2163 drivers/net/wireless/ath/ath10k/wmi.c 		   ath10k_scan_state_str(ar->scan.state), ar->scan.state);
ar               2167 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan_started(ar);
ar               2170 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan_completed(ar);
ar               2173 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan_bss_chan(ar);
ar               2176 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan_foreign_chan(ar, freq);
ar               2179 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received scan start failure event\n");
ar               2180 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan_start_failed(ar);
ar               2190 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               2197 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_handle_wep_reauth(struct ath10k *ar,
ar               2217 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               2218 drivers/net/wireless/ath/ath10k/wmi.c 	peer_key = ath10k_mac_is_peer_wep_key_set(ar, addr, keyidx);
ar               2219 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               2222 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_MAC,
ar               2228 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_mgmt_rx_ev(struct ath10k *ar, struct sk_buff *skb,
ar               2240 drivers/net/wireless/ath/ath10k/wmi.c 		     ar->running_fw->fw_file.fw_features)) {
ar               2279 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_pull_mgmt_rx_ev(struct ath10k *ar,
ar               2322 drivers/net/wireless/ath/ath10k/wmi.c static bool ath10k_wmi_rx_is_decrypted(struct ath10k *ar,
ar               2339 drivers/net/wireless/ath/ath10k/wmi.c 	    ar->hw_params.sw_decrypt_mcast_mgmt)
ar               2346 drivers/net/wireless/ath/ath10k/wmi.c wmi_process_mgmt_tx_comp(struct ath10k *ar, struct mgmt_tx_compl_params *param)
ar               2349 drivers/net/wireless/ath/ath10k/wmi.c 	struct ath10k_wmi *wmi = &ar->wmi;
ar               2354 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               2358 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received mgmt tx completion for invalid msdu_id: %d\n",
ar               2365 drivers/net/wireless/ath/ath10k/wmi.c 	dma_unmap_single(ar->dev, pkt_addr->paddr,
ar               2378 drivers/net/wireless/ath/ath10k/wmi.c 	ieee80211_tx_status_irqsafe(ar->hw, msdu);
ar               2384 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               2388 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_event_mgmt_tx_compl(struct ath10k *ar, struct sk_buff *skb)
ar               2394 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_mgmt_tx_compl(ar, skb, &arg);
ar               2396 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse mgmt comp event: %d\n", ret);
ar               2404 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map))
ar               2407 drivers/net/wireless/ath/ath10k/wmi.c 	wmi_process_mgmt_tx_comp(ar, &param);
ar               2409 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv evnt mgmt tx completion\n");
ar               2414 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_event_mgmt_tx_bundle_compl(struct ath10k *ar, struct sk_buff *skb)
ar               2421 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_mgmt_tx_bundle_compl(ar, skb, &arg);
ar               2423 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse bundle mgmt compl event: %d\n", ret);
ar               2434 drivers/net/wireless/ath/ath10k/wmi.c 		if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map))
ar               2436 drivers/net/wireless/ath/ath10k/wmi.c 		wmi_process_mgmt_tx_comp(ar, &param);
ar               2439 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv event bundle mgmt tx completion\n");
ar               2444 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)
ar               2458 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_mgmt_rx(ar, skb, &arg);
ar               2460 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse mgmt rx event: %d\n", ret);
ar               2473 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_MGMT,
ar               2476 drivers/net/wireless/ath/ath10k/wmi.c 	if ((test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags)) ||
ar               2509 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_MGMT, "wmi mgmt rx 11b (CCK) on 5GHz\n");
ar               2511 drivers/net/wireless/ath/ath10k/wmi.c 	sband = &ar->mac.sbands[status->band];
ar               2526 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_handle_wep_reauth(ar, skb, status);
ar               2528 drivers/net/wireless/ath/ath10k/wmi.c 	if (ath10k_wmi_rx_is_decrypted(ar, hdr)) {
ar               2542 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_mac_handle_beacon(ar, skb);
ar               2544 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_MGMT,
ar               2549 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_MGMT,
ar               2554 drivers/net/wireless/ath/ath10k/wmi.c 	ieee80211_rx_ni(ar->hw, skb);
ar               2559 drivers/net/wireless/ath/ath10k/wmi.c static int freq_to_idx(struct ath10k *ar, int freq)
ar               2565 drivers/net/wireless/ath/ath10k/wmi.c 		sband = ar->hw->wiphy->bands[band];
ar               2578 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_ch_info_ev(struct ath10k *ar, struct sk_buff *skb,
ar               2597 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_pull_ch_info_ev(struct ath10k *ar,
ar               2624 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_chan_info_unpaired(struct ath10k *ar,
ar               2631 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI, "chan info report completed\n");
ar               2635 drivers/net/wireless/ath/ath10k/wmi.c 	idx = freq_to_idx(ar, params->freq);
ar               2636 drivers/net/wireless/ath/ath10k/wmi.c 	if (idx >= ARRAY_SIZE(ar->survey)) {
ar               2637 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "chan info: invalid frequency %d (idx %d out of bounds)\n",
ar               2642 drivers/net/wireless/ath/ath10k/wmi.c 	survey = &ar->survey[idx];
ar               2660 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_event_chan_info_paired(struct ath10k *ar,
ar               2666 drivers/net/wireless/ath/ath10k/wmi.c 	idx = freq_to_idx(ar, params->freq);
ar               2667 drivers/net/wireless/ath/ath10k/wmi.c 	if (idx >= ARRAY_SIZE(ar->survey)) {
ar               2668 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "chan info: invalid frequency %d (idx %d out of bounds)\n",
ar               2674 drivers/net/wireless/ath/ath10k/wmi.c 		if (ar->ch_info_can_report_survey) {
ar               2675 drivers/net/wireless/ath/ath10k/wmi.c 			survey = &ar->survey[idx];
ar               2679 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_hw_fill_survey_time(ar,
ar               2683 drivers/net/wireless/ath/ath10k/wmi.c 						   ar->survey_last_cycle_count,
ar               2684 drivers/net/wireless/ath/ath10k/wmi.c 						   ar->survey_last_rx_clear_count);
ar               2687 drivers/net/wireless/ath/ath10k/wmi.c 		ar->ch_info_can_report_survey = false;
ar               2689 drivers/net/wireless/ath/ath10k/wmi.c 		ar->ch_info_can_report_survey = true;
ar               2693 drivers/net/wireless/ath/ath10k/wmi.c 		ar->survey_last_rx_clear_count = params->rx_clear_count;
ar               2694 drivers/net/wireless/ath/ath10k/wmi.c 		ar->survey_last_cycle_count = params->cycle_count;
ar               2698 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_chan_info(struct ath10k *ar, struct sk_buff *skb)
ar               2704 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_ch_info(ar, skb, &arg);
ar               2706 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse chan info event: %d\n", ret);
ar               2718 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               2724 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               2726 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->scan.state) {
ar               2729 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "received chan info event without a scan request, ignoring\n");
ar               2737 drivers/net/wireless/ath/ath10k/wmi.c 		     ar->running_fw->fw_file.fw_features))
ar               2738 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_chan_info_unpaired(ar, &ch_info_param);
ar               2740 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_chan_info_paired(ar, &ch_info_param);
ar               2743 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               2746 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_echo(struct ath10k *ar, struct sk_buff *skb)
ar               2751 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_echo_ev(ar, skb, &arg);
ar               2753 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse echo: %d\n", ret);
ar               2757 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               2762 drivers/net/wireless/ath/ath10k/wmi.c 		complete(&ar->wmi.barrier);
ar               2765 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_event_debug_mesg(struct ath10k *ar, struct sk_buff *skb)
ar               2767 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi event debug mesg len %d\n",
ar               2770 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_wmi_dbglog(ar, skb->data, skb->len);
ar               2925 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_main_op_pull_fw_stats(struct ath10k *ar,
ar               2979 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10x_op_pull_fw_stats(struct ath10k *ar,
ar               3037 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_2_op_pull_fw_stats(struct ath10k *ar,
ar               3114 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_2_4_op_pull_fw_stats(struct ath10k *ar,
ar               3173 drivers/net/wireless/ath/ath10k/wmi.c 		if (test_bit(WMI_SERVICE_PEER_STATS, ar->wmi.svc_map))
ar               3190 drivers/net/wireless/ath/ath10k/wmi.c 		if (ath10k_peer_stats_enabled(ar))
ar               3200 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_pull_fw_stats(struct ath10k *ar,
ar               3341 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_update_stats(struct ath10k *ar, struct sk_buff *skb)
ar               3343 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_UPDATE_STATS_EVENTID\n");
ar               3344 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_debug_fw_stats_process(ar, skb);
ar               3348 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_pull_vdev_start_ev(struct ath10k *ar, struct sk_buff *skb,
ar               3365 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_vdev_start_resp(struct ath10k *ar, struct sk_buff *skb)
ar               3371 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_VDEV_START_RESP_EVENTID\n");
ar               3373 drivers/net/wireless/ath/ath10k/wmi.c 	ar->last_wmi_vdev_start_status = 0;
ar               3375 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_vdev_start(ar, skb, &arg);
ar               3377 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse vdev start event: %d\n", ret);
ar               3378 drivers/net/wireless/ath/ath10k/wmi.c 		ar->last_wmi_vdev_start_status = ret;
ar               3384 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "vdev-start-response reports status error: %d (%s)\n",
ar               3390 drivers/net/wireless/ath/ath10k/wmi.c 		ar->last_wmi_vdev_start_status = -EINVAL;
ar               3394 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->vdev_setup_done);
ar               3397 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_vdev_stopped(struct ath10k *ar, struct sk_buff *skb)
ar               3399 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_VDEV_STOPPED_EVENTID\n");
ar               3400 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->vdev_setup_done);
ar               3404 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_pull_peer_kick_ev(struct ath10k *ar, struct sk_buff *skb,
ar               3418 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_peer_sta_kickout(struct ath10k *ar, struct sk_buff *skb)
ar               3424 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_peer_kick(ar, skb, &arg);
ar               3426 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse peer kickout event: %d\n",
ar               3431 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi event peer sta kickout %pM\n",
ar               3436 drivers/net/wireless/ath/ath10k/wmi.c 	sta = ieee80211_find_sta_by_ifaddr(ar->hw, arg.mac_addr, NULL);
ar               3438 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "Spurious quick kickout for STA %pM\n",
ar               3473 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_update_tim(struct ath10k *ar,
ar               3497 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "SWBA TIM field is too big (%u), truncated it to %zu",
ar               3527 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "no tim ie found;\n");
ar               3547 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "tim expansion failed\n");
ar               3552 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "tim pvm length is too great (%d)\n", pvm_len);
ar               3566 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_MGMT, "dtim %d/%d mcast %d pvmlen %d\n",
ar               3571 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_update_noa(struct ath10k *ar, struct ath10k_vif *arvif,
ar               3578 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_MGMT, "noa changed: %d\n", noa->changed);
ar               3589 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_swba_ev(struct ath10k *ar, struct sk_buff *skb,
ar               3614 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "refusing to parse invalid swba structure\n");
ar               3634 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_2_4_op_pull_swba_ev(struct ath10k *ar,
ar               3660 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "refusing to parse invalid swba structure\n");
ar               3678 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_pull_swba_ev(struct ath10k *ar,
ar               3704 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "refusing to parse invalid swba structure\n");
ar               3735 drivers/net/wireless/ath/ath10k/wmi.c static enum wmi_txbf_conf ath10k_wmi_10_4_txbf_conf_scheme(struct ath10k *ar)
ar               3740 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_host_swba(struct ath10k *ar, struct sk_buff *skb)
ar               3752 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_swba(ar, skb, &arg);
ar               3754 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse swba event: %d\n", ret);
ar               3760 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_MGMT, "mgmt swba vdev_map 0x%x\n",
ar               3770 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "swba has corrupted vdev map\n");
ar               3777 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_MGMT,
ar               3793 drivers/net/wireless/ath/ath10k/wmi.c 		arvif = ath10k_get_arvif(ar, vdev_id);
ar               3795 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "no vif for vdev_id %d found\n",
ar               3818 drivers/net/wireless/ath/ath10k/wmi.c 		bcn = ieee80211_beacon_get(ar->hw, arvif->vif);
ar               3820 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "could not get mac80211 beacon\n");
ar               3825 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_update_tim(ar, arvif, bcn, tim_info);
ar               3826 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_update_noa(ar, arvif, bcn, noa_info);
ar               3828 drivers/net/wireless/ath/ath10k/wmi.c 		spin_lock_bh(&ar->data_lock);
ar               3835 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "SWBA overrun on vdev %d, skipped old beacon\n",
ar               3839 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "SWBA overrun on vdev %d, skipped new beacon\n",
ar               3849 drivers/net/wireless/ath/ath10k/wmi.c 			paddr = dma_map_single(arvif->ar->dev, bcn->data,
ar               3851 drivers/net/wireless/ath/ath10k/wmi.c 			ret = dma_mapping_error(arvif->ar->dev, paddr);
ar               3853 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "failed to map beacon: %d\n",
ar               3862 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "trimming beacon %d -> %d bytes!\n",
ar               3873 drivers/net/wireless/ath/ath10k/wmi.c 		trace_ath10k_tx_hdr(ar, bcn->data, bcn->len);
ar               3874 drivers/net/wireless/ath/ath10k/wmi.c 		trace_ath10k_tx_payload(ar, bcn->data, bcn->len);
ar               3877 drivers/net/wireless/ath/ath10k/wmi.c 		spin_unlock_bh(&ar->data_lock);
ar               3880 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_tx_beacons_nowait(ar);
ar               3883 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_tbttoffset_update(struct ath10k *ar, struct sk_buff *skb)
ar               3885 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_TBTTOFFSET_UPDATE_EVENTID\n");
ar               3888 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_radar_detected(struct ath10k *ar)
ar               3890 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY, "dfs radar detected\n");
ar               3891 drivers/net/wireless/ath/ath10k/wmi.c 	ATH10K_DFS_STAT_INC(ar, radar_detected);
ar               3896 drivers/net/wireless/ath/ath10k/wmi.c 	if (ar->dfs_block_radar_events)
ar               3897 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_info(ar, "DFS Radar detected, but ignored as requested\n");
ar               3899 drivers/net/wireless/ath/ath10k/wmi.c 		ieee80211_radar_detected(ar->hw);
ar               3904 drivers/net/wireless/ath/ath10k/wmi.c 	struct ath10k *ar = container_of(work, struct ath10k,
ar               3909 drivers/net/wireless/ath/ath10k/wmi.c 	reinit_completion(&ar->wmi.radar_confirm);
ar               3911 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               3912 drivers/net/wireless/ath/ath10k/wmi.c 	memcpy(&radar_info, &ar->last_radar_info, sizeof(radar_info));
ar               3913 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               3915 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_report_radar_found(ar, &radar_info);
ar               3917 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to send radar found %d\n", ret);
ar               3921 drivers/net/wireless/ath/ath10k/wmi.c 	time_left = wait_for_completion_timeout(&ar->wmi.radar_confirm,
ar               3932 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               3938 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_radar_detected(ar);
ar               3944 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               3945 drivers/net/wireless/ath/ath10k/wmi.c 	if (ar->radar_conf_state != ATH10K_RADAR_CONFIRMATION_STOPPED)
ar               3946 drivers/net/wireless/ath/ath10k/wmi.c 		ar->radar_conf_state = ATH10K_RADAR_CONFIRMATION_IDLE;
ar               3947 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               3950 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_dfs_radar_report(struct ath10k *ar,
ar               3966 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               3972 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               3979 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               3984 drivers/net/wireless/ath/ath10k/wmi.c 	if (!ar->dfs_detector)
ar               3987 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               3988 drivers/net/wireless/ath/ath10k/wmi.c 	ch = ar->rx_channel;
ar               3992 drivers/net/wireless/ath/ath10k/wmi.c 		ch = ar->tgt_oper_chan;
ar               3994 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               3997 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to derive channel for radar pulse, treating as radar\n");
ar               4020 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4024 drivers/net/wireless/ath/ath10k/wmi.c 	ATH10K_DFS_STAT_INC(ar, pulses_detected);
ar               4026 drivers/net/wireless/ath/ath10k/wmi.c 	if (!ar->dfs_detector->add_pulse(ar->dfs_detector, &pe, &rs)) {
ar               4027 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4032 drivers/net/wireless/ath/ath10k/wmi.c 	if ((test_bit(WMI_SERVICE_HOST_DFS_CHECK_SUPPORT, ar->wmi.svc_map)) &&
ar               4033 drivers/net/wireless/ath/ath10k/wmi.c 	    ar->dfs_detector->region == NL80211_DFS_FCC) {
ar               4038 drivers/net/wireless/ath/ath10k/wmi.c 		spin_lock_bh(&ar->data_lock);
ar               4039 drivers/net/wireless/ath/ath10k/wmi.c 		if (ar->radar_conf_state != ATH10K_RADAR_CONFIRMATION_IDLE) {
ar               4040 drivers/net/wireless/ath/ath10k/wmi.c 			spin_unlock_bh(&ar->data_lock);
ar               4043 drivers/net/wireless/ath/ath10k/wmi.c 		ar->radar_conf_state = ATH10K_RADAR_CONFIRMATION_INPROGRESS;
ar               4044 drivers/net/wireless/ath/ath10k/wmi.c 		radar_info = &ar->last_radar_info;
ar               4054 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4059 drivers/net/wireless/ath/ath10k/wmi.c 		ieee80211_queue_work(ar->hw, &ar->radar_confirmation_work);
ar               4060 drivers/net/wireless/ath/ath10k/wmi.c 		spin_unlock_bh(&ar->data_lock);
ar               4065 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_radar_detected(ar);
ar               4068 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_dfs_fft_report(struct ath10k *ar,
ar               4080 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4086 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4098 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_REGULATORY, "dfs false pulse detected\n");
ar               4099 drivers/net/wireless/ath/ath10k/wmi.c 		ATH10K_DFS_STAT_INC(ar, pulses_discarded);
ar               4106 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_dfs(struct ath10k *ar,
ar               4117 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4126 drivers/net/wireless/ath/ath10k/wmi.c 	ATH10K_DFS_STAT_INC(ar, pulses_total);
ar               4130 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "too short buf for tlv header (%d)\n",
ar               4138 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4145 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "too short radar pulse summary (%d)\n",
ar               4151 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dfs_radar_report(ar, phyerr, rr, tsf);
ar               4155 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "too short fft report (%d)\n",
ar               4161 drivers/net/wireless/ath/ath10k/wmi.c 			res = ath10k_dfs_fft_report(ar, phyerr, fftr, tsf);
ar               4171 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_spectral_scan(struct ath10k *ar,
ar               4185 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "failed to parse phyerr tlv header at byte %d\n",
ar               4195 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "failed to parse phyerr tlv payload at byte %d\n",
ar               4203 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_warn(ar, "failed to parse fft report at byte %d\n",
ar               4210 drivers/net/wireless/ath/ath10k/wmi.c 			res = ath10k_spectral_process_fft(ar, phyerr,
ar               4214 drivers/net/wireless/ath/ath10k/wmi.c 				ath10k_dbg(ar, ATH10K_DBG_WMI, "failed to process fft report: %d\n",
ar               4225 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_phyerr_ev_hdr(struct ath10k *ar,
ar               4243 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_pull_phyerr_ev_hdr(struct ath10k *ar,
ar               4263 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_op_pull_phyerr_ev(struct ath10k *ar,
ar               4272 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "wrong phyerr event head len %d (need: >=%zd)\n",
ar               4307 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_pull_phyerr_ev(struct ath10k *ar,
ar               4317 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "wrong phyerr event head len %d (need: >=%zd)\n",
ar               4346 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_phyerr(struct ath10k *ar, struct sk_buff *skb)
ar               4355 drivers/net/wireless/ath/ath10k/wmi.c 	ATH10K_DFS_STAT_INC(ar, phy_errors);
ar               4357 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_phyerr_hdr(ar, skb, &hdr_arg);
ar               4359 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse phyerr event hdr: %d\n", ret);
ar               4372 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               4378 drivers/net/wireless/ath/ath10k/wmi.c 		ret = ath10k_wmi_pull_phyerr(ar, phyerr, left_len, &phyerr_arg);
ar               4380 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "failed to parse phyerr event (%d)\n",
ar               4390 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "single event (%d) wrong buf len\n", i);
ar               4398 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf);
ar               4401 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf);
ar               4404 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf);
ar               4405 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf);
ar               4416 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_op_pull_dfs_status_ev(struct ath10k *ar, struct sk_buff *skb,
ar               4430 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_event_dfs_status_check(struct ath10k *ar, struct sk_buff *skb)
ar               4435 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_dfs_status(ar, skb, &status_arg);
ar               4438 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse dfs status event: %d\n", ret);
ar               4442 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
ar               4452 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_radar_detected(ar);
ar               4453 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->wmi.radar_confirm);
ar               4456 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_roam(struct ath10k *ar, struct sk_buff *skb)
ar               4464 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_roam_ev(ar, skb, &arg);
ar               4466 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse roam event: %d\n", ret);
ar               4475 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               4480 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "ignoring unknown roam event reason %d on vdev %i\n",
ar               4485 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_mac_handle_beacon_miss(ar, vdev_id);
ar               4491 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "ignoring not implemented roam event reason %d on vdev %i\n",
ar               4497 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_profile_match(struct ath10k *ar, struct sk_buff *skb)
ar               4499 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_PROFILE_MATCH\n");
ar               4502 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_debug_print(struct ath10k *ar, struct sk_buff *skb)
ar               4523 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "wmi debug print truncated: %d\n", skb->len);
ar               4532 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI_PRINT, "wmi print '%s'\n", buf);
ar               4535 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_pdev_qvit(struct ath10k *ar, struct sk_buff *skb)
ar               4537 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_PDEV_QVIT_EVENTID\n");
ar               4540 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_wlan_profile_data(struct ath10k *ar, struct sk_buff *skb)
ar               4542 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_WLAN_PROFILE_DATA_EVENTID\n");
ar               4545 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_rtt_measurement_report(struct ath10k *ar,
ar               4548 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_RTT_MEASUREMENT_REPORT_EVENTID\n");
ar               4551 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_tsf_measurement_report(struct ath10k *ar,
ar               4554 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_TSF_MEASUREMENT_REPORT_EVENTID\n");
ar               4557 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_rtt_error_report(struct ath10k *ar, struct sk_buff *skb)
ar               4559 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_RTT_ERROR_REPORT_EVENTID\n");
ar               4562 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_wow_wakeup_host(struct ath10k *ar, struct sk_buff *skb)
ar               4567 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->wow.wakeup_completed);
ar               4569 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_wow_event(ar, skb, &ev);
ar               4571 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse wow wakeup event: %d\n", ret);
ar               4575 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wow wakeup host reason %s\n",
ar               4579 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_dcs_interference(struct ath10k *ar, struct sk_buff *skb)
ar               4581 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_DCS_INTERFERENCE_EVENTID\n");
ar               4584 drivers/net/wireless/ath/ath10k/wmi.c static u8 ath10k_tpc_config_get_rate(struct ath10k *ar,
ar               4621 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "unknown wmi tpc table type: %d\n", type);
ar               4630 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_tpc_config_disp_tables(struct ath10k *ar,
ar               4645 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dbg(ar, ATH10K_DBG_WMI, "CDD not supported\n");
ar               4652 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dbg(ar, ATH10K_DBG_WMI, "STBC not supported\n");
ar               4659 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dbg(ar, ATH10K_DBG_WMI, "TXBF not supported\n");
ar               4665 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               4681 drivers/net/wireless/ath/ath10k/wmi.c 			tpc[j] = ath10k_tpc_config_get_rate(ar, ev, i, j + 1,
ar               4791 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_pdev_tpc_config(struct ath10k *ar, struct sk_buff *skb)
ar               4804 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "number of tx chain is %d greater than TPC configured tx chain %d\n",
ar               4828 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_tpc_config_disp_tables(ar, ev, tpc_stats,
ar               4831 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_tpc_config_disp_tables(ar, ev,  tpc_stats,
ar               4834 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_tpc_config_disp_tables(ar, ev, tpc_stats,
ar               4838 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_debug_tpc_stats_process(ar, tpc_stats);
ar               4840 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               4855 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_tpc_final_get_rate(struct ath10k *ar,
ar               4921 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "unknown wmi tpc final index and frequency: %u, %u\n",
ar               4970 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "unknown wmi tpc final table type: %d\n", type);
ar               4980 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_tpc_stats_final_disp_tables(struct ath10k *ar,
ar               4995 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dbg(ar, ATH10K_DBG_WMI, "CDD not supported\n");
ar               5002 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dbg(ar, ATH10K_DBG_WMI, "STBC not supported\n");
ar               5009 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_dbg(ar, ATH10K_DBG_WMI, "TXBF not supported\n");
ar               5015 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5031 drivers/net/wireless/ath/ath10k/wmi.c 			tpc[j] = ath10k_wmi_tpc_final_get_rate(ar, ev, i, j + 1,
ar               5044 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_tpc_final_table(struct ath10k *ar, struct sk_buff *skb)
ar               5075 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_tpc_stats_final_disp_tables(ar, ev, tpc_stats,
ar               5078 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_tpc_stats_final_disp_tables(ar, ev,  tpc_stats,
ar               5081 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_tpc_stats_final_disp_tables(ar, ev, tpc_stats,
ar               5085 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_debug_tpc_stats_final_process(ar, tpc_stats);
ar               5087 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5102 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_handle_tdls_peer_event(struct ath10k *ar, struct sk_buff *skb)
ar               5113 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_err(ar, "received tdls peer event with invalid size (%d bytes)\n",
ar               5123 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               5124 drivers/net/wireless/ath/ath10k/wmi.c 	peer = ath10k_peer_find(ar, vdev_id, ev->peer_macaddr.addr);
ar               5125 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               5128 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to find peer entry for %pM\n",
ar               5146 drivers/net/wireless/ath/ath10k/wmi.c 		arvif = ath10k_get_arvif(ar, vdev_id);
ar               5148 drivers/net/wireless/ath/ath10k/wmi.c 			ath10k_warn(ar, "received tdls peer event for invalid vdev id %u\n",
ar               5157 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5162 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5170 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_event_peer_sta_ps_state_chg(struct ath10k *ar, struct sk_buff *skb)
ar               5177 drivers/net/wireless/ath/ath10k/wmi.c 	lockdep_assert_held(&ar->data_lock);
ar               5184 drivers/net/wireless/ath/ath10k/wmi.c 	sta = ieee80211_find_sta_by_ifaddr(ar->hw, peer_addr, NULL);
ar               5187 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to find station entry %pM\n",
ar               5199 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_pdev_ftm_intg(struct ath10k *ar, struct sk_buff *skb)
ar               5201 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_PDEV_FTM_INTG_EVENTID\n");
ar               5204 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_gtk_offload_status(struct ath10k *ar, struct sk_buff *skb)
ar               5206 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_GTK_OFFLOAD_STATUS_EVENTID\n");
ar               5209 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_gtk_rekey_fail(struct ath10k *ar, struct sk_buff *skb)
ar               5211 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_GTK_REKEY_FAIL_EVENTID\n");
ar               5214 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_delba_complete(struct ath10k *ar, struct sk_buff *skb)
ar               5216 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_TX_DELBA_COMPLETE_EVENTID\n");
ar               5219 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_addba_complete(struct ath10k *ar, struct sk_buff *skb)
ar               5221 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_TX_ADDBA_COMPLETE_EVENTID\n");
ar               5224 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_vdev_install_key_complete(struct ath10k *ar,
ar               5227 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID\n");
ar               5230 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_inst_rssi_stats(struct ath10k *ar, struct sk_buff *skb)
ar               5232 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_INST_RSSI_STATS_EVENTID\n");
ar               5235 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_vdev_standby_req(struct ath10k *ar, struct sk_buff *skb)
ar               5237 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_VDEV_STANDBY_REQ_EVENTID\n");
ar               5240 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_vdev_resume_req(struct ath10k *ar, struct sk_buff *skb)
ar               5242 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "WMI_VDEV_RESUME_REQ_EVENTID\n");
ar               5245 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_alloc_chunk(struct ath10k *ar, u32 req_id,
ar               5250 drivers/net/wireless/ath/ath10k/wmi.c 	int idx = ar->wmi.num_mem_chunks;
ar               5254 drivers/net/wireless/ath/ath10k/wmi.c 	vaddr = dma_alloc_coherent(ar->dev, pool_size, &paddr, GFP_KERNEL);
ar               5259 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.mem_chunks[idx].vaddr = vaddr;
ar               5260 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.mem_chunks[idx].paddr = paddr;
ar               5261 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.mem_chunks[idx].len = pool_size;
ar               5262 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.mem_chunks[idx].req_id = req_id;
ar               5263 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.num_mem_chunks++;
ar               5268 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_alloc_host_mem(struct ath10k *ar, u32 req_id,
ar               5274 drivers/net/wireless/ath/ath10k/wmi.c 		ret = ath10k_wmi_alloc_chunk(ar, req_id, num_units, unit_len);
ar               5285 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_is_host_mem_allocated(struct ath10k *ar,
ar               5294 drivers/net/wireless/ath/ath10k/wmi.c 	if (ar->wmi.num_mem_chunks != num_mem_reqs)
ar               5304 drivers/net/wireless/ath/ath10k/wmi.c 			if (ar->num_active_peers)
ar               5305 drivers/net/wireless/ath/ath10k/wmi.c 				num_units = ar->num_active_peers + 1;
ar               5307 drivers/net/wireless/ath/ath10k/wmi.c 				num_units = ar->max_num_peers + 1;
ar               5309 drivers/net/wireless/ath/ath10k/wmi.c 			num_units = ar->max_num_peers + 1;
ar               5311 drivers/net/wireless/ath/ath10k/wmi.c 			num_units = ar->max_num_vdevs + 1;
ar               5315 drivers/net/wireless/ath/ath10k/wmi.c 		for (j = 0; j < ar->wmi.num_mem_chunks; j++) {
ar               5316 drivers/net/wireless/ath/ath10k/wmi.c 			if (ar->wmi.mem_chunks[j].req_id == req_id) {
ar               5318 drivers/net/wireless/ath/ath10k/wmi.c 				if (ar->wmi.mem_chunks[j].len == pool_size) {
ar               5332 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_main_op_pull_svc_rdy_ev(struct ath10k *ar, struct sk_buff *skb,
ar               5371 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10x_op_pull_svc_rdy_ev(struct ath10k *ar, struct sk_buff *skb,
ar               5410 drivers/net/wireless/ath/ath10k/wmi.c 	struct ath10k *ar = container_of(work, struct ath10k, svc_rdy_work);
ar               5411 drivers/net/wireless/ath/ath10k/wmi.c 	struct sk_buff *skb = ar->svc_rdy_skb;
ar               5418 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "invalid service ready event skb\n");
ar               5422 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_svc_rdy(ar, skb, &arg);
ar               5424 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse service ready: %d\n", ret);
ar               5428 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_map_svc(ar, arg.service_map, ar->wmi.svc_map,
ar               5431 drivers/net/wireless/ath/ath10k/wmi.c 	ar->hw_min_tx_power = __le32_to_cpu(arg.min_tx_power);
ar               5432 drivers/net/wireless/ath/ath10k/wmi.c 	ar->hw_max_tx_power = __le32_to_cpu(arg.max_tx_power);
ar               5433 drivers/net/wireless/ath/ath10k/wmi.c 	ar->ht_cap_info = __le32_to_cpu(arg.ht_cap);
ar               5434 drivers/net/wireless/ath/ath10k/wmi.c 	ar->vht_cap_info = __le32_to_cpu(arg.vht_cap);
ar               5435 drivers/net/wireless/ath/ath10k/wmi.c 	ar->fw_version_major =
ar               5437 drivers/net/wireless/ath/ath10k/wmi.c 	ar->fw_version_minor = (__le32_to_cpu(arg.sw_ver0) & 0x00ffffff);
ar               5438 drivers/net/wireless/ath/ath10k/wmi.c 	ar->fw_version_release =
ar               5440 drivers/net/wireless/ath/ath10k/wmi.c 	ar->fw_version_build = (__le32_to_cpu(arg.sw_ver1) & 0x0000ffff);
ar               5441 drivers/net/wireless/ath/ath10k/wmi.c 	ar->phy_capability = __le32_to_cpu(arg.phy_capab);
ar               5442 drivers/net/wireless/ath/ath10k/wmi.c 	ar->num_rf_chains = __le32_to_cpu(arg.num_rf_chains);
ar               5443 drivers/net/wireless/ath/ath10k/wmi.c 	ar->hw_eeprom_rd = __le32_to_cpu(arg.eeprom_rd);
ar               5444 drivers/net/wireless/ath/ath10k/wmi.c 	ar->low_5ghz_chan = __le32_to_cpu(arg.low_5ghz_chan);
ar               5445 drivers/net/wireless/ath/ath10k/wmi.c 	ar->high_5ghz_chan = __le32_to_cpu(arg.high_5ghz_chan);
ar               5447 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg_dump(ar, ATH10K_DBG_WMI, NULL, "wmi svc: ",
ar               5450 drivers/net/wireless/ath/ath10k/wmi.c 	if (ar->num_rf_chains > ar->max_spatial_stream) {
ar               5451 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "hardware advertises support for more spatial streams than it should (%d > %d)\n",
ar               5452 drivers/net/wireless/ath/ath10k/wmi.c 			    ar->num_rf_chains, ar->max_spatial_stream);
ar               5453 drivers/net/wireless/ath/ath10k/wmi.c 		ar->num_rf_chains = ar->max_spatial_stream;
ar               5456 drivers/net/wireless/ath/ath10k/wmi.c 	if (!ar->cfg_tx_chainmask) {
ar               5457 drivers/net/wireless/ath/ath10k/wmi.c 		ar->cfg_tx_chainmask = (1 << ar->num_rf_chains) - 1;
ar               5458 drivers/net/wireless/ath/ath10k/wmi.c 		ar->cfg_rx_chainmask = (1 << ar->num_rf_chains) - 1;
ar               5461 drivers/net/wireless/ath/ath10k/wmi.c 	if (strlen(ar->hw->wiphy->fw_version) == 0) {
ar               5462 drivers/net/wireless/ath/ath10k/wmi.c 		snprintf(ar->hw->wiphy->fw_version,
ar               5463 drivers/net/wireless/ath/ath10k/wmi.c 			 sizeof(ar->hw->wiphy->fw_version),
ar               5465 drivers/net/wireless/ath/ath10k/wmi.c 			 ar->fw_version_major,
ar               5466 drivers/net/wireless/ath/ath10k/wmi.c 			 ar->fw_version_minor,
ar               5467 drivers/net/wireless/ath/ath10k/wmi.c 			 ar->fw_version_release,
ar               5468 drivers/net/wireless/ath/ath10k/wmi.c 			 ar->fw_version_build);
ar               5473 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "requested memory chunks number (%d) exceeds the limit\n",
ar               5478 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(WMI_SERVICE_PEER_CACHING, ar->wmi.svc_map)) {
ar               5480 drivers/net/wireless/ath/ath10k/wmi.c 			     ar->running_fw->fw_file.fw_features))
ar               5481 drivers/net/wireless/ath/ath10k/wmi.c 			ar->num_active_peers = TARGET_10_4_QCACHE_ACTIVE_PEERS_PFC +
ar               5482 drivers/net/wireless/ath/ath10k/wmi.c 					       ar->max_num_vdevs;
ar               5484 drivers/net/wireless/ath/ath10k/wmi.c 			ar->num_active_peers = TARGET_10_4_QCACHE_ACTIVE_PEERS +
ar               5485 drivers/net/wireless/ath/ath10k/wmi.c 					       ar->max_num_vdevs;
ar               5487 drivers/net/wireless/ath/ath10k/wmi.c 		ar->max_num_peers = TARGET_10_4_NUM_QCACHE_PEERS_MAX +
ar               5488 drivers/net/wireless/ath/ath10k/wmi.c 				    ar->max_num_vdevs;
ar               5489 drivers/net/wireless/ath/ath10k/wmi.c 		ar->num_tids = ar->num_active_peers * 2;
ar               5490 drivers/net/wireless/ath/ath10k/wmi.c 		ar->max_num_stations = TARGET_10_4_NUM_QCACHE_PEERS_MAX;
ar               5497 drivers/net/wireless/ath/ath10k/wmi.c 	allocated = ath10k_wmi_is_host_mem_allocated(ar, arg.mem_reqs,
ar               5507 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_free_host_mem(ar);
ar               5516 drivers/net/wireless/ath/ath10k/wmi.c 			if (ar->num_active_peers)
ar               5517 drivers/net/wireless/ath/ath10k/wmi.c 				num_units = ar->num_active_peers + 1;
ar               5519 drivers/net/wireless/ath/ath10k/wmi.c 				num_units = ar->max_num_peers + 1;
ar               5526 drivers/net/wireless/ath/ath10k/wmi.c 			num_units = ar->max_num_peers + 1;
ar               5528 drivers/net/wireless/ath/ath10k/wmi.c 			num_units = ar->max_num_vdevs + 1;
ar               5531 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5539 drivers/net/wireless/ath/ath10k/wmi.c 		ret = ath10k_wmi_alloc_host_mem(ar, req_id, num_units,
ar               5546 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5561 drivers/net/wireless/ath/ath10k/wmi.c 	ar->svc_rdy_skb = NULL;
ar               5562 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->wmi.service_ready);
ar               5565 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_service_ready(struct ath10k *ar, struct sk_buff *skb)
ar               5567 drivers/net/wireless/ath/ath10k/wmi.c 	ar->svc_rdy_skb = skb;
ar               5568 drivers/net/wireless/ath/ath10k/wmi.c 	queue_work(ar->workqueue_aux, &ar->svc_rdy_work);
ar               5571 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_rdy_ev(struct ath10k *ar, struct sk_buff *skb,
ar               5588 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_roam_ev(struct ath10k *ar, struct sk_buff *skb,
ar               5603 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_op_pull_echo_ev(struct ath10k *ar,
ar               5614 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_event_ready(struct ath10k *ar, struct sk_buff *skb)
ar               5619 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_rdy(ar, skb, &arg);
ar               5621 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse ready event: %d\n", ret);
ar               5625 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5632 drivers/net/wireless/ath/ath10k/wmi.c 	if (is_zero_ether_addr(ar->mac_addr))
ar               5633 drivers/net/wireless/ath/ath10k/wmi.c 		ether_addr_copy(ar->mac_addr, arg.mac_addr);
ar               5634 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->wmi.unified_ready);
ar               5638 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_event_service_available(struct ath10k *ar, struct sk_buff *skb)
ar               5643 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_pull_svc_avail(ar, skb, &arg);
ar               5645 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to parse service available event: %d\n",
ar               5649 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map,
ar               5653 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_event_temperature(struct ath10k *ar, struct sk_buff *skb)
ar               5661 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_thermal_event_temperature(ar, __le32_to_cpu(ev->temperature));
ar               5665 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_event_pdev_bss_chan_info(struct ath10k *ar,
ar               5672 drivers/net/wireless/ath/ath10k/wmi.c 	u32 cc_freq_hz = ar->hw_params.channel_counters_freq_hz;
ar               5687 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5691 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               5692 drivers/net/wireless/ath/ath10k/wmi.c 	idx = freq_to_idx(ar, freq);
ar               5693 drivers/net/wireless/ath/ath10k/wmi.c 	if (idx >= ARRAY_SIZE(ar->survey)) {
ar               5694 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "bss chan info: invalid frequency %d (idx %d out of bounds)\n",
ar               5699 drivers/net/wireless/ath/ath10k/wmi.c 	survey = &ar->survey[idx];
ar               5712 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               5713 drivers/net/wireless/ath/ath10k/wmi.c 	complete(&ar->bss_survey_done);
ar               5717 drivers/net/wireless/ath/ath10k/wmi.c static inline void ath10k_wmi_queue_set_coverage_class_work(struct ath10k *ar)
ar               5719 drivers/net/wireless/ath/ath10k/wmi.c 	if (ar->hw_params.hw_ops->set_coverage_class) {
ar               5720 drivers/net/wireless/ath/ath10k/wmi.c 		spin_lock_bh(&ar->data_lock);
ar               5727 drivers/net/wireless/ath/ath10k/wmi.c 		if (ar->fw_coverage.coverage_class)
ar               5728 drivers/net/wireless/ath/ath10k/wmi.c 			queue_work(ar->workqueue, &ar->set_coverage_class_work);
ar               5730 drivers/net/wireless/ath/ath10k/wmi.c 		spin_unlock_bh(&ar->data_lock);
ar               5734 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_op_rx(struct ath10k *ar, struct sk_buff *skb)
ar               5745 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_wmi_event(ar, id, skb->data, skb->len);
ar               5749 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_mgmt_rx(ar, skb);
ar               5753 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan(ar, skb);
ar               5754 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5757 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_chan_info(ar, skb);
ar               5760 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_echo(ar, skb);
ar               5763 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_mesg(ar, skb);
ar               5764 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5767 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_update_stats(ar, skb);
ar               5770 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_start_resp(ar, skb);
ar               5771 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5774 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_stopped(ar, skb);
ar               5775 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5778 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_peer_sta_kickout(ar, skb);
ar               5781 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_host_swba(ar, skb);
ar               5784 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tbttoffset_update(ar, skb);
ar               5787 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_phyerr(ar, skb);
ar               5790 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_roam(ar, skb);
ar               5791 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5794 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_profile_match(ar, skb);
ar               5797 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_print(ar, skb);
ar               5798 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5801 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_qvit(ar, skb);
ar               5804 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_wlan_profile_data(ar, skb);
ar               5807 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_rtt_measurement_report(ar, skb);
ar               5810 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tsf_measurement_report(ar, skb);
ar               5813 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_rtt_error_report(ar, skb);
ar               5816 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_wow_wakeup_host(ar, skb);
ar               5819 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_dcs_interference(ar, skb);
ar               5822 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_tpc_config(ar, skb);
ar               5825 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_ftm_intg(ar, skb);
ar               5828 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_gtk_offload_status(ar, skb);
ar               5831 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_gtk_rekey_fail(ar, skb);
ar               5834 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_delba_complete(ar, skb);
ar               5837 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_addba_complete(ar, skb);
ar               5840 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_install_key_complete(ar, skb);
ar               5843 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_service_ready(ar, skb);
ar               5846 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_ready(ar, skb);
ar               5847 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5850 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_service_available(ar, skb);
ar               5853 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "Unknown eventid: %d\n", id);
ar               5861 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_10_1_op_rx(struct ath10k *ar, struct sk_buff *skb)
ar               5873 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_wmi_event(ar, id, skb->data, skb->len);
ar               5875 drivers/net/wireless/ath/ath10k/wmi.c 	consumed = ath10k_tm_event_wmi(ar, id, skb);
ar               5882 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               5889 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_mgmt_rx(ar, skb);
ar               5893 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan(ar, skb);
ar               5894 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5897 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_chan_info(ar, skb);
ar               5900 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_echo(ar, skb);
ar               5903 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_mesg(ar, skb);
ar               5904 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5907 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_update_stats(ar, skb);
ar               5910 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_start_resp(ar, skb);
ar               5911 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5914 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_stopped(ar, skb);
ar               5915 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5918 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_peer_sta_kickout(ar, skb);
ar               5921 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_host_swba(ar, skb);
ar               5924 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tbttoffset_update(ar, skb);
ar               5927 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_phyerr(ar, skb);
ar               5930 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_roam(ar, skb);
ar               5931 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5934 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_profile_match(ar, skb);
ar               5937 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_print(ar, skb);
ar               5938 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5941 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_qvit(ar, skb);
ar               5944 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_wlan_profile_data(ar, skb);
ar               5947 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_rtt_measurement_report(ar, skb);
ar               5950 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tsf_measurement_report(ar, skb);
ar               5953 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_rtt_error_report(ar, skb);
ar               5956 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_wow_wakeup_host(ar, skb);
ar               5959 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_dcs_interference(ar, skb);
ar               5962 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_tpc_config(ar, skb);
ar               5965 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_inst_rssi_stats(ar, skb);
ar               5968 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_standby_req(ar, skb);
ar               5971 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_resume_req(ar, skb);
ar               5974 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_service_ready(ar, skb);
ar               5977 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_ready(ar, skb);
ar               5978 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               5984 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "Unknown eventid: %d\n", id);
ar               5992 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_10_2_op_rx(struct ath10k *ar, struct sk_buff *skb)
ar               6004 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_wmi_event(ar, id, skb->data, skb->len);
ar               6006 drivers/net/wireless/ath/ath10k/wmi.c 	consumed = ath10k_tm_event_wmi(ar, id, skb);
ar               6013 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6020 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_mgmt_rx(ar, skb);
ar               6024 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan(ar, skb);
ar               6025 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6028 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_chan_info(ar, skb);
ar               6031 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_echo(ar, skb);
ar               6034 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_mesg(ar, skb);
ar               6035 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6038 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_update_stats(ar, skb);
ar               6041 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_start_resp(ar, skb);
ar               6042 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6045 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_stopped(ar, skb);
ar               6046 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6049 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_peer_sta_kickout(ar, skb);
ar               6052 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_host_swba(ar, skb);
ar               6055 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tbttoffset_update(ar, skb);
ar               6058 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_phyerr(ar, skb);
ar               6061 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_roam(ar, skb);
ar               6062 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6065 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_profile_match(ar, skb);
ar               6068 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_print(ar, skb);
ar               6069 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6072 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_qvit(ar, skb);
ar               6075 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_wlan_profile_data(ar, skb);
ar               6078 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_rtt_measurement_report(ar, skb);
ar               6081 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tsf_measurement_report(ar, skb);
ar               6084 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_rtt_error_report(ar, skb);
ar               6087 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_wow_wakeup_host(ar, skb);
ar               6090 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_dcs_interference(ar, skb);
ar               6093 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_tpc_config(ar, skb);
ar               6096 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_inst_rssi_stats(ar, skb);
ar               6099 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_standby_req(ar, skb);
ar               6100 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6103 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_resume_req(ar, skb);
ar               6104 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6107 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_service_ready(ar, skb);
ar               6110 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_ready(ar, skb);
ar               6111 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6114 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_temperature(ar, skb);
ar               6117 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_bss_chan_info(ar, skb);
ar               6126 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6130 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_peer_sta_ps_state_chg(ar, skb);
ar               6133 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "Unknown eventid: %d\n", id);
ar               6141 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_10_4_op_rx(struct ath10k *ar, struct sk_buff *skb)
ar               6153 drivers/net/wireless/ath/ath10k/wmi.c 	trace_ath10k_wmi_event(ar, id, skb->data, skb->len);
ar               6155 drivers/net/wireless/ath/ath10k/wmi.c 	consumed = ath10k_tm_event_wmi(ar, id, skb);
ar               6162 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6169 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_mgmt_rx(ar, skb);
ar               6173 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_echo(ar, skb);
ar               6176 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_mesg(ar, skb);
ar               6177 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6180 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_service_ready(ar, skb);
ar               6183 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_scan(ar, skb);
ar               6184 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6187 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_chan_info(ar, skb);
ar               6190 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_phyerr(ar, skb);
ar               6193 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_ready(ar, skb);
ar               6194 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6197 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_peer_sta_kickout(ar, skb);
ar               6200 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_roam(ar, skb);
ar               6201 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6204 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_host_swba(ar, skb);
ar               6207 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tbttoffset_update(ar, skb);
ar               6210 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_debug_print(ar, skb);
ar               6211 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6214 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_start_resp(ar, skb);
ar               6215 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6218 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_vdev_stopped(ar, skb);
ar               6219 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_queue_set_coverage_class_work(ar);
ar               6225 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6229 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_update_stats(ar, skb);
ar               6232 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_temperature(ar, skb);
ar               6235 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_bss_chan_info(ar, skb);
ar               6238 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_pdev_tpc_config(ar, skb);
ar               6241 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_handle_tdls_peer_event(ar, skb);
ar               6244 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_tpc_final_table(ar, skb);
ar               6247 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_dfs_status_check(ar, skb);
ar               6250 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_event_peer_sta_ps_state_chg(ar, skb);
ar               6253 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "Unknown eventid: %d\n", id);
ar               6261 drivers/net/wireless/ath/ath10k/wmi.c static void ath10k_wmi_process_rx(struct ath10k *ar, struct sk_buff *skb)
ar               6265 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_rx(ar, skb);
ar               6267 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to process wmi rx: %d\n", ret);
ar               6270 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_connect(struct ath10k *ar)
ar               6276 drivers/net/wireless/ath/ath10k/wmi.c 	memset(&ar->wmi.svc_map, 0, sizeof(ar->wmi.svc_map));
ar               6289 drivers/net/wireless/ath/ath10k/wmi.c 	status = ath10k_htc_connect_service(&ar->htc, &conn_req, &conn_resp);
ar               6291 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to connect to WMI CONTROL service status: %d\n",
ar               6296 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.eid = conn_resp.eid;
ar               6301 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_set_base_macaddr(struct ath10k *ar,
ar               6307 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               6314 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6320 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_set_rd(struct ath10k *ar, u16 rd, u16 rd2g, u16 rd5g,
ar               6327 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               6338 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6345 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10x_op_gen_pdev_set_rd(struct ath10k *ar, u16 rd, u16 rd2g, u16
ar               6352 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               6364 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6371 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_suspend(struct ath10k *ar, u32 suspend_opt)
ar               6376 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               6387 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_resume(struct ath10k *ar)
ar               6391 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, 0);
ar               6399 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_set_param(struct ath10k *ar, u32 id, u32 value)
ar               6405 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "pdev param %d not supported by firmware\n",
ar               6410 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               6418 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi pdev set param %d value %d\n",
ar               6423 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_put_host_mem_chunks(struct ath10k *ar,
ar               6429 drivers/net/wireless/ath/ath10k/wmi.c 	chunks->count = __cpu_to_le32(ar->wmi.num_mem_chunks);
ar               6431 drivers/net/wireless/ath/ath10k/wmi.c 	for (i = 0; i < ar->wmi.num_mem_chunks; i++) {
ar               6433 drivers/net/wireless/ath/ath10k/wmi.c 		chunk->ptr = __cpu_to_le32(ar->wmi.mem_chunks[i].paddr);
ar               6434 drivers/net/wireless/ath/ath10k/wmi.c 		chunk->size = __cpu_to_le32(ar->wmi.mem_chunks[i].len);
ar               6435 drivers/net/wireless/ath/ath10k/wmi.c 		chunk->req_id = __cpu_to_le32(ar->wmi.mem_chunks[i].req_id);
ar               6437 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               6440 drivers/net/wireless/ath/ath10k/wmi.c 			   ar->wmi.mem_chunks[i].len,
ar               6441 drivers/net/wireless/ath/ath10k/wmi.c 			   (unsigned long long)ar->wmi.mem_chunks[i].paddr);
ar               6445 drivers/net/wireless/ath/ath10k/wmi.c static struct sk_buff *ath10k_wmi_op_gen_init(struct ath10k *ar)
ar               6468 drivers/net/wireless/ath/ath10k/wmi.c 	config.rx_decap_mode = __cpu_to_le32(ar->wmi.rx_decap_mode);
ar               6503 drivers/net/wireless/ath/ath10k/wmi.c 	      (sizeof(struct host_memory_chunk) * ar->wmi.num_mem_chunks);
ar               6505 drivers/net/wireless/ath/ath10k/wmi.c 	buf = ath10k_wmi_alloc_skb(ar, len);
ar               6512 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
ar               6514 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi init\n");
ar               6518 drivers/net/wireless/ath/ath10k/wmi.c static struct sk_buff *ath10k_wmi_10_1_op_gen_init(struct ath10k *ar)
ar               6536 drivers/net/wireless/ath/ath10k/wmi.c 	config.rx_decap_mode = __cpu_to_le32(ar->wmi.rx_decap_mode);
ar               6568 drivers/net/wireless/ath/ath10k/wmi.c 	      (sizeof(struct host_memory_chunk) * ar->wmi.num_mem_chunks);
ar               6570 drivers/net/wireless/ath/ath10k/wmi.c 	buf = ath10k_wmi_alloc_skb(ar, len);
ar               6577 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
ar               6579 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi init 10x\n");
ar               6583 drivers/net/wireless/ath/ath10k/wmi.c static struct sk_buff *ath10k_wmi_10_2_op_gen_init(struct ath10k *ar)
ar               6593 drivers/net/wireless/ath/ath10k/wmi.c 	if (ath10k_peer_stats_enabled(ar)) {
ar               6608 drivers/net/wireless/ath/ath10k/wmi.c 	config.rx_decap_mode = __cpu_to_le32(ar->wmi.rx_decap_mode);
ar               6641 drivers/net/wireless/ath/ath10k/wmi.c 	      (sizeof(struct host_memory_chunk) * ar->wmi.num_mem_chunks);
ar               6643 drivers/net/wireless/ath/ath10k/wmi.c 	buf = ath10k_wmi_alloc_skb(ar, len);
ar               6651 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags) &&
ar               6652 drivers/net/wireless/ath/ath10k/wmi.c 	    test_bit(WMI_SERVICE_COEX_GPIO, ar->wmi.svc_map))
ar               6655 drivers/net/wireless/ath/ath10k/wmi.c 	if (ath10k_peer_stats_enabled(ar))
ar               6658 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(WMI_SERVICE_BSS_CHANNEL_INFO_64, ar->wmi.svc_map))
ar               6664 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
ar               6666 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi init 10.2\n");
ar               6670 drivers/net/wireless/ath/ath10k/wmi.c static struct sk_buff *ath10k_wmi_10_4_op_gen_init(struct ath10k *ar)
ar               6677 drivers/net/wireless/ath/ath10k/wmi.c 	config.num_vdevs = __cpu_to_le32(ar->max_num_vdevs);
ar               6678 drivers/net/wireless/ath/ath10k/wmi.c 	config.num_peers = __cpu_to_le32(ar->max_num_peers);
ar               6679 drivers/net/wireless/ath/ath10k/wmi.c 	config.num_active_peers = __cpu_to_le32(ar->num_active_peers);
ar               6680 drivers/net/wireless/ath/ath10k/wmi.c 	config.num_tids = __cpu_to_le32(ar->num_tids);
ar               6687 drivers/net/wireless/ath/ath10k/wmi.c 	config.tx_chain_mask  = __cpu_to_le32(ar->hw_params.tx_chain_mask);
ar               6688 drivers/net/wireless/ath/ath10k/wmi.c 	config.rx_chain_mask  = __cpu_to_le32(ar->hw_params.rx_chain_mask);
ar               6695 drivers/net/wireless/ath/ath10k/wmi.c 	config.rx_decap_mode	    = __cpu_to_le32(ar->wmi.rx_decap_mode);
ar               6719 drivers/net/wireless/ath/ath10k/wmi.c 	config.num_msdu_desc = __cpu_to_le32(ar->htt.max_num_pending_tx);
ar               6738 drivers/net/wireless/ath/ath10k/wmi.c 	      (sizeof(struct host_memory_chunk) * ar->wmi.num_mem_chunks);
ar               6740 drivers/net/wireless/ath/ath10k/wmi.c 	buf = ath10k_wmi_alloc_skb(ar, len);
ar               6746 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
ar               6748 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi init 10.4\n");
ar               6889 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_start_scan(struct ath10k *ar,
ar               6902 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               6913 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi start scan\n");
ar               6918 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10x_op_gen_start_scan(struct ath10k *ar,
ar               6931 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               6940 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi 10x start scan\n");
ar               6944 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_start_scan_init(struct ath10k *ar,
ar               6971 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_stop_scan(struct ath10k *ar,
ar               6984 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7000 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7007 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_create(struct ath10k *ar, u32 vdev_id,
ar               7015 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7025 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7032 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_delete(struct ath10k *ar, u32 vdev_id)
ar               7037 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7044 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7050 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_start(struct ath10k *ar,
ar               7069 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7094 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7104 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_stop(struct ath10k *ar, u32 vdev_id)
ar               7109 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7116 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi vdev stop id 0x%x\n", vdev_id);
ar               7121 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_up(struct ath10k *ar, u32 vdev_id, u32 aid,
ar               7127 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7136 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7143 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_down(struct ath10k *ar, u32 vdev_id)
ar               7148 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7155 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7161 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_set_param(struct ath10k *ar, u32 vdev_id,
ar               7168 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7174 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7183 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7190 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_install_key(struct ath10k *ar,
ar               7201 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd) + arg->key_len);
ar               7219 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7226 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_spectral_conf(struct ath10k *ar,
ar               7232 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7261 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_vdev_spectral_enable(struct ath10k *ar, u32 vdev_id,
ar               7267 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7280 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_peer_create(struct ath10k *ar, u32 vdev_id,
ar               7287 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7296 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7303 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_peer_delete(struct ath10k *ar, u32 vdev_id,
ar               7309 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7317 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7324 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_peer_flush(struct ath10k *ar, u32 vdev_id,
ar               7330 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7339 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7346 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_peer_set_param(struct ath10k *ar, u32 vdev_id,
ar               7354 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7364 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7371 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
ar               7377 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7385 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7392 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_set_sta_ps(struct ath10k *ar, u32 vdev_id,
ar               7399 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7408 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7415 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_set_ap_ps(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               7424 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7434 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7441 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_scan_chan_list(struct ath10k *ar,
ar               7453 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               7471 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_peer_assoc_fill(struct ath10k *ar, void *buf,
ar               7513 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_peer_assoc_fill_main(struct ath10k *ar, void *buf,
ar               7518 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill(ar, buf, arg);
ar               7523 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_peer_assoc_fill_10_1(struct ath10k *ar, void *buf,
ar               7526 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill(ar, buf, arg);
ar               7530 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_peer_assoc_fill_10_2(struct ath10k *ar, void *buf,
ar               7544 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill(ar, buf, arg);
ar               7549 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_peer_assoc_fill_10_4(struct ath10k *ar, void *buf,
ar               7554 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill_10_2(ar, buf, arg);
ar               7577 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_peer_assoc(struct ath10k *ar,
ar               7588 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               7592 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill_main(ar, skb->data, arg);
ar               7594 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7602 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_1_op_gen_peer_assoc(struct ath10k *ar,
ar               7613 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               7617 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill_10_1(ar, skb->data, arg);
ar               7619 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7627 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_2_op_gen_peer_assoc(struct ath10k *ar,
ar               7638 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               7642 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill_10_2(ar, skb->data, arg);
ar               7644 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7652 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_op_gen_peer_assoc(struct ath10k *ar,
ar               7663 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               7667 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_wmi_peer_assoc_fill_10_4(ar, skb->data, arg);
ar               7669 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7677 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_2_op_gen_pdev_get_temperature(struct ath10k *ar)
ar               7681 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, 0);
ar               7685 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi pdev get temperature\n");
ar               7690 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_2_op_gen_pdev_bss_chan_info(struct ath10k *ar,
ar               7696 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7703 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7711 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_beacon_dma(struct ath10k *ar, u32 vdev_id, const void *bcn,
ar               7720 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7757 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_set_wmm(struct ath10k *ar,
ar               7763 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7773 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi pdev set wmm params\n");
ar               7778 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_request_stats(struct ath10k *ar, u32 stats_mask)
ar               7783 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7790 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi request stats 0x%08x\n",
ar               7796 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_force_fw_hang(struct ath10k *ar,
ar               7802 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7810 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi force fw hang %d delay %d\n",
ar               7816 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_dbglog_cfg(struct ath10k *ar, u64 module_enable,
ar               7823 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7844 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7854 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_op_gen_dbglog_cfg(struct ath10k *ar, u64 module_enable,
ar               7861 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7882 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7892 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pktlog_enable(struct ath10k *ar, u32 ev_bitmap)
ar               7897 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7906 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi enable pktlog filter 0x%08x\n",
ar               7912 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pktlog_disable(struct ath10k *ar)
ar               7916 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, 0);
ar               7920 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi disable pktlog\n");
ar               7925 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_set_quiet_mode(struct ath10k *ar, u32 period,
ar               7932 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7942 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7949 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_addba_clear_resp(struct ath10k *ar, u32 vdev_id,
ar               7958 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7966 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7973 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_addba_send(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               7982 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               7992 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               7999 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_addba_set_resp(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               8008 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8018 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8025 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_delba_send(struct ath10k *ar, u32 vdev_id, const u8 *mac,
ar               8034 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8045 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8052 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config(struct ath10k *ar, u32 param)
ar               8057 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8064 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8346 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_main_op_fw_stats_fill(struct ath10k *ar,
ar               8358 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               8363 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to get pdev stats\n");
ar               8396 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               8404 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_10x_op_fw_stats_fill(struct ath10k *ar,
ar               8416 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               8421 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to get pdev stats\n");
ar               8455 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               8464 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_pdev_enable_adaptive_cca(struct ath10k *ar, u8 enable,
ar               8470 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8479 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8551 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_10_4_op_fw_stats_fill(struct ath10k *ar,
ar               8564 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               8569 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to get pdev stats\n");
ar               8635 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               8643 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_op_get_vdev_subtype(struct ath10k *ar,
ar               8664 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_2_4_op_get_vdev_subtype(struct ath10k *ar,
ar               8686 drivers/net/wireless/ath/ath10k/wmi.c static int ath10k_wmi_10_4_op_get_vdev_subtype(struct ath10k *ar,
ar               8709 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_ext_resource_config(struct ath10k *ar,
ar               8717 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8721 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, ar->wmi.svc_map))
ar               8738 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8745 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_gen_update_fw_tdls_state(struct ath10k *ar, u32 vdev_id,
ar               8752 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8756 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(WMI_SERVICE_TDLS_EXPLICIT_MODE_ONLY, ar->wmi.svc_map) &&
ar               8760 drivers/net/wireless/ath/ath10k/wmi.c 	if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map))
ar               8780 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi update fw tdls state %d for vdev %i\n",
ar               8804 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_op_gen_pdev_get_tpc_table_cmdid(struct ath10k *ar, u32 param)
ar               8809 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8816 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8822 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_gen_tdls_peer_update(struct ath10k *ar,
ar               8840 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, len);
ar               8875 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8882 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_4_gen_radar_found(struct ath10k *ar,
ar               8888 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8900 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8908 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_op_gen_echo(struct ath10k *ar, u32 value)
ar               8913 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8920 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               8926 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_barrier(struct ath10k *ar)
ar               8931 drivers/net/wireless/ath/ath10k/wmi.c 	spin_lock_bh(&ar->data_lock);
ar               8932 drivers/net/wireless/ath/ath10k/wmi.c 	reinit_completion(&ar->wmi.barrier);
ar               8933 drivers/net/wireless/ath/ath10k/wmi.c 	spin_unlock_bh(&ar->data_lock);
ar               8935 drivers/net/wireless/ath/ath10k/wmi.c 	ret = ath10k_wmi_echo(ar, ATH10K_WMI_BARRIER_ECHO_ID);
ar               8937 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_warn(ar, "failed to submit wmi echo: %d\n", ret);
ar               8941 drivers/net/wireless/ath/ath10k/wmi.c 	time_left = wait_for_completion_timeout(&ar->wmi.barrier,
ar               8950 drivers/net/wireless/ath/ath10k/wmi.c ath10k_wmi_10_2_4_op_gen_bb_timing(struct ath10k *ar,
ar               8956 drivers/net/wireless/ath/ath10k/wmi.c 	skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd));
ar               8964 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               9327 drivers/net/wireless/ath/ath10k/wmi.c int ath10k_wmi_attach(struct ath10k *ar)
ar               9329 drivers/net/wireless/ath/ath10k/wmi.c 	switch (ar->running_fw->fw_file.wmi_op_version) {
ar               9331 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.ops = &wmi_10_4_ops;
ar               9332 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.cmd = &wmi_10_4_cmd_map;
ar               9333 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.vdev_param = &wmi_10_4_vdev_param_map;
ar               9334 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.pdev_param = &wmi_10_4_pdev_param_map;
ar               9335 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.peer_flags = &wmi_10_2_peer_flags_map;
ar               9336 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi_key_cipher = wmi_key_cipher_suites;
ar               9339 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.cmd = &wmi_10_2_4_cmd_map;
ar               9340 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.ops = &wmi_10_2_4_ops;
ar               9341 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.vdev_param = &wmi_10_2_4_vdev_param_map;
ar               9342 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.pdev_param = &wmi_10_2_4_pdev_param_map;
ar               9343 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.peer_flags = &wmi_10_2_peer_flags_map;
ar               9344 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi_key_cipher = wmi_key_cipher_suites;
ar               9347 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.cmd = &wmi_10_2_cmd_map;
ar               9348 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.ops = &wmi_10_2_ops;
ar               9349 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.vdev_param = &wmi_10x_vdev_param_map;
ar               9350 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.pdev_param = &wmi_10x_pdev_param_map;
ar               9351 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.peer_flags = &wmi_10_2_peer_flags_map;
ar               9352 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi_key_cipher = wmi_key_cipher_suites;
ar               9355 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.cmd = &wmi_10x_cmd_map;
ar               9356 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.ops = &wmi_10_1_ops;
ar               9357 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.vdev_param = &wmi_10x_vdev_param_map;
ar               9358 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.pdev_param = &wmi_10x_pdev_param_map;
ar               9359 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.peer_flags = &wmi_10x_peer_flags_map;
ar               9360 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi_key_cipher = wmi_key_cipher_suites;
ar               9363 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.cmd = &wmi_cmd_map;
ar               9364 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.ops = &wmi_ops;
ar               9365 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.vdev_param = &wmi_vdev_param_map;
ar               9366 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.pdev_param = &wmi_pdev_param_map;
ar               9367 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi.peer_flags = &wmi_peer_flags_map;
ar               9368 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi_key_cipher = wmi_key_cipher_suites;
ar               9371 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_wmi_tlv_attach(ar);
ar               9372 drivers/net/wireless/ath/ath10k/wmi.c 		ar->wmi_key_cipher = wmi_tlv_key_cipher_suites;
ar               9376 drivers/net/wireless/ath/ath10k/wmi.c 		ath10k_err(ar, "unsupported WMI op version: %d\n",
ar               9377 drivers/net/wireless/ath/ath10k/wmi.c 			   ar->running_fw->fw_file.wmi_op_version);
ar               9381 drivers/net/wireless/ath/ath10k/wmi.c 	init_completion(&ar->wmi.service_ready);
ar               9382 drivers/net/wireless/ath/ath10k/wmi.c 	init_completion(&ar->wmi.unified_ready);
ar               9383 drivers/net/wireless/ath/ath10k/wmi.c 	init_completion(&ar->wmi.barrier);
ar               9384 drivers/net/wireless/ath/ath10k/wmi.c 	init_completion(&ar->wmi.radar_confirm);
ar               9386 drivers/net/wireless/ath/ath10k/wmi.c 	INIT_WORK(&ar->svc_rdy_work, ath10k_wmi_event_service_ready_work);
ar               9387 drivers/net/wireless/ath/ath10k/wmi.c 	INIT_WORK(&ar->radar_confirmation_work,
ar               9391 drivers/net/wireless/ath/ath10k/wmi.c 		     ar->running_fw->fw_file.fw_features)) {
ar               9392 drivers/net/wireless/ath/ath10k/wmi.c 		idr_init(&ar->wmi.mgmt_pending_tx);
ar               9398 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_free_host_mem(struct ath10k *ar)
ar               9403 drivers/net/wireless/ath/ath10k/wmi.c 	for (i = 0; i < ar->wmi.num_mem_chunks; i++) {
ar               9404 drivers/net/wireless/ath/ath10k/wmi.c 		dma_free_coherent(ar->dev,
ar               9405 drivers/net/wireless/ath/ath10k/wmi.c 				  ar->wmi.mem_chunks[i].len,
ar               9406 drivers/net/wireless/ath/ath10k/wmi.c 				  ar->wmi.mem_chunks[i].vaddr,
ar               9407 drivers/net/wireless/ath/ath10k/wmi.c 				  ar->wmi.mem_chunks[i].paddr);
ar               9410 drivers/net/wireless/ath/ath10k/wmi.c 	ar->wmi.num_mem_chunks = 0;
ar               9417 drivers/net/wireless/ath/ath10k/wmi.c 	struct ath10k *ar = ctx;
ar               9420 drivers/net/wireless/ath/ath10k/wmi.c 	ath10k_dbg(ar, ATH10K_DBG_WMI,
ar               9424 drivers/net/wireless/ath/ath10k/wmi.c 	dma_unmap_single(ar->dev, pkt_addr->paddr,
ar               9426 drivers/net/wireless/ath/ath10k/wmi.c 	ieee80211_free_txskb(ar->hw, msdu);
ar               9431 drivers/net/wireless/ath/ath10k/wmi.c void ath10k_wmi_detach(struct ath10k *ar)
ar               9434 drivers/net/wireless/ath/ath10k/wmi.c 		     ar->running_fw->fw_file.fw_features)) {
ar               9435 drivers/net/wireless/ath/ath10k/wmi.c 		spin_lock_bh(&ar->data_lock);
ar               9436 drivers/net/wireless/ath/ath10k/wmi.c 		idr_for_each(&ar->wmi.mgmt_pending_tx,
ar               9437 drivers/net/wireless/ath/ath10k/wmi.c 			     ath10k_wmi_mgmt_tx_clean_up_pending, ar);
ar               9438 drivers/net/wireless/ath/ath10k/wmi.c 		idr_destroy(&ar->wmi.mgmt_pending_tx);
ar               9439 drivers/net/wireless/ath/ath10k/wmi.c 		spin_unlock_bh(&ar->data_lock);
ar               9442 drivers/net/wireless/ath/ath10k/wmi.c 	cancel_work_sync(&ar->svc_rdy_work);
ar               9444 drivers/net/wireless/ath/ath10k/wmi.c 	if (ar->svc_rdy_skb)
ar               9445 drivers/net/wireless/ath/ath10k/wmi.c 		dev_kfree_skb(ar->svc_rdy_skb);
ar               7284 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_attach(struct ath10k *ar);
ar               7285 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_detach(struct ath10k *ar);
ar               7286 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_free_host_mem(struct ath10k *ar);
ar               7287 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_wait_for_service_ready(struct ath10k *ar);
ar               7288 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_wait_for_unified_ready(struct ath10k *ar);
ar               7290 drivers/net/wireless/ath/ath10k/wmi.h struct sk_buff *ath10k_wmi_alloc_skb(struct ath10k *ar, u32 len);
ar               7291 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_connect(struct ath10k *ar);
ar               7293 drivers/net/wireless/ath/ath10k/wmi.h struct sk_buff *ath10k_wmi_alloc_skb(struct ath10k *ar, u32 len);
ar               7294 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
ar               7295 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_cmd_send_nowait(struct ath10k *ar, struct sk_buff *skb,
ar               7297 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_start_scan_init(struct ath10k *ar, struct wmi_start_scan_arg *arg);
ar               7309 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_put_host_mem_chunks(struct ath10k *ar,
ar               7319 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_event_scan(struct ath10k *ar, struct sk_buff *skb);
ar               7320 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb);
ar               7321 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_event_mgmt_tx_compl(struct ath10k *ar, struct sk_buff *skb);
ar               7322 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_event_mgmt_tx_bundle_compl(struct ath10k *ar, struct sk_buff *skb);
ar               7323 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_chan_info(struct ath10k *ar, struct sk_buff *skb);
ar               7324 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_echo(struct ath10k *ar, struct sk_buff *skb);
ar               7325 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_event_debug_mesg(struct ath10k *ar, struct sk_buff *skb);
ar               7326 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_update_stats(struct ath10k *ar, struct sk_buff *skb);
ar               7327 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_vdev_start_resp(struct ath10k *ar, struct sk_buff *skb);
ar               7328 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_vdev_stopped(struct ath10k *ar, struct sk_buff *skb);
ar               7329 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_peer_sta_kickout(struct ath10k *ar, struct sk_buff *skb);
ar               7330 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_host_swba(struct ath10k *ar, struct sk_buff *skb);
ar               7331 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_tbttoffset_update(struct ath10k *ar, struct sk_buff *skb);
ar               7332 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_dfs(struct ath10k *ar,
ar               7334 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_spectral_scan(struct ath10k *ar,
ar               7337 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_phyerr(struct ath10k *ar, struct sk_buff *skb);
ar               7338 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_roam(struct ath10k *ar, struct sk_buff *skb);
ar               7339 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_profile_match(struct ath10k *ar, struct sk_buff *skb);
ar               7340 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_debug_print(struct ath10k *ar, struct sk_buff *skb);
ar               7341 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_pdev_qvit(struct ath10k *ar, struct sk_buff *skb);
ar               7342 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_wlan_profile_data(struct ath10k *ar, struct sk_buff *skb);
ar               7343 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_rtt_measurement_report(struct ath10k *ar,
ar               7345 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_tsf_measurement_report(struct ath10k *ar,
ar               7347 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_rtt_error_report(struct ath10k *ar, struct sk_buff *skb);
ar               7348 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_wow_wakeup_host(struct ath10k *ar, struct sk_buff *skb);
ar               7349 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_dcs_interference(struct ath10k *ar, struct sk_buff *skb);
ar               7350 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_pdev_tpc_config(struct ath10k *ar, struct sk_buff *skb);
ar               7351 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_pdev_ftm_intg(struct ath10k *ar, struct sk_buff *skb);
ar               7352 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_gtk_offload_status(struct ath10k *ar,
ar               7354 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_gtk_rekey_fail(struct ath10k *ar, struct sk_buff *skb);
ar               7355 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_delba_complete(struct ath10k *ar, struct sk_buff *skb);
ar               7356 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_addba_complete(struct ath10k *ar, struct sk_buff *skb);
ar               7357 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_vdev_install_key_complete(struct ath10k *ar,
ar               7359 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_inst_rssi_stats(struct ath10k *ar, struct sk_buff *skb);
ar               7360 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_vdev_standby_req(struct ath10k *ar, struct sk_buff *skb);
ar               7361 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_vdev_resume_req(struct ath10k *ar, struct sk_buff *skb);
ar               7362 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_service_ready(struct ath10k *ar, struct sk_buff *skb);
ar               7363 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_event_ready(struct ath10k *ar, struct sk_buff *skb);
ar               7364 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_service_available(struct ath10k *ar, struct sk_buff *skb);
ar               7365 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_op_pull_phyerr_ev(struct ath10k *ar, const void *phyerr_buf,
ar               7367 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_main_op_fw_stats_fill(struct ath10k *ar,
ar               7370 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_10x_op_fw_stats_fill(struct ath10k *ar,
ar               7375 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_10_4_op_fw_stats_fill(struct ath10k *ar,
ar               7378 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_op_get_vdev_subtype(struct ath10k *ar,
ar               7380 drivers/net/wireless/ath/ath10k/wmi.h int ath10k_wmi_barrier(struct ath10k *ar);
ar               7383 drivers/net/wireless/ath/ath10k/wmi.h void ath10k_wmi_event_tpc_final_table(struct ath10k *ar, struct sk_buff *skb);
ar                 26 drivers/net/wireless/ath/ath10k/wow.c 	struct ath10k *ar = arvif->ar;
ar                 30 drivers/net/wireless/ath/ath10k/wow.c 		ret = ath10k_wmi_wow_add_wakeup_event(ar, arvif->vdev_id, i, 0);
ar                 32 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to issue wow wakeup for event %s on vdev %i: %d\n",
ar                 38 drivers/net/wireless/ath/ath10k/wow.c 	for (i = 0; i < ar->wow.max_num_patterns; i++) {
ar                 39 drivers/net/wireless/ath/ath10k/wow.c 		ret = ath10k_wmi_wow_del_pattern(ar, arvif->vdev_id, i);
ar                 41 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to delete wow pattern %d for vdev %i: %d\n",
ar                 50 drivers/net/wireless/ath/ath10k/wow.c static int ath10k_wow_cleanup(struct ath10k *ar)
ar                 55 drivers/net/wireless/ath/ath10k/wow.c 	lockdep_assert_held(&ar->conf_mutex);
ar                 57 drivers/net/wireless/ath/ath10k/wow.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar                 60 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to clean wow wakeups on vdev %i: %d\n",
ar                171 drivers/net/wireless/ath/ath10k/wow.c static int ath10k_wmi_pno_check(struct ath10k *ar, u32 vdev_id,
ar                246 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "Invalid number of scan plans %d !!",
ar                270 drivers/net/wireless/ath/ath10k/wow.c 	struct ath10k *ar = arvif->ar;
ar                307 drivers/net/wireless/ath/ath10k/wow.c 			ar->nlo_enabled = true;
ar                309 drivers/net/wireless/ath/ath10k/wow.c 			ret = ath10k_wmi_pno_check(ar, arvif->vdev_id,
ar                312 drivers/net/wireless/ath/ath10k/wow.c 				ath10k_wmi_wow_config_pno(ar, arvif->vdev_id, pno);
ar                342 drivers/net/wireless/ath/ath10k/wow.c 		if (ar->wmi.rx_decap_mode == ATH10K_HW_TXRX_NATIVE_WIFI) {
ar                353 drivers/net/wireless/ath/ath10k/wow.c 		ret = ath10k_wmi_wow_add_pattern(ar, arvif->vdev_id,
ar                360 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to add pattern %i to vdev %i: %d\n",
ar                373 drivers/net/wireless/ath/ath10k/wow.c 		ret = ath10k_wmi_wow_add_wakeup_event(ar, arvif->vdev_id, i, 1);
ar                375 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to enable wakeup event %s on vdev %i: %d\n",
ar                384 drivers/net/wireless/ath/ath10k/wow.c static int ath10k_wow_set_wakeups(struct ath10k *ar,
ar                390 drivers/net/wireless/ath/ath10k/wow.c 	lockdep_assert_held(&ar->conf_mutex);
ar                392 drivers/net/wireless/ath/ath10k/wow.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar                395 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to set wow wakeups on vdev %i: %d\n",
ar                407 drivers/net/wireless/ath/ath10k/wow.c 	struct ath10k *ar = arvif->ar;
ar                411 drivers/net/wireless/ath/ath10k/wow.c 		if (ar->nlo_enabled) {
ar                419 drivers/net/wireless/ath/ath10k/wow.c 			ar->nlo_enabled = false;
ar                420 drivers/net/wireless/ath/ath10k/wow.c 			ret = ath10k_wmi_wow_config_pno(ar, arvif->vdev_id, pno);
ar                430 drivers/net/wireless/ath/ath10k/wow.c static int ath10k_wow_nlo_cleanup(struct ath10k *ar)
ar                435 drivers/net/wireless/ath/ath10k/wow.c 	lockdep_assert_held(&ar->conf_mutex);
ar                437 drivers/net/wireless/ath/ath10k/wow.c 	list_for_each_entry(arvif, &ar->arvifs, list) {
ar                440 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "failed to clean nlo settings on vdev %i: %d\n",
ar                449 drivers/net/wireless/ath/ath10k/wow.c static int ath10k_wow_enable(struct ath10k *ar)
ar                453 drivers/net/wireless/ath/ath10k/wow.c 	lockdep_assert_held(&ar->conf_mutex);
ar                455 drivers/net/wireless/ath/ath10k/wow.c 	reinit_completion(&ar->target_suspend);
ar                457 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_wmi_wow_enable(ar);
ar                459 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to issue wow enable: %d\n", ret);
ar                463 drivers/net/wireless/ath/ath10k/wow.c 	ret = wait_for_completion_timeout(&ar->target_suspend, 3 * HZ);
ar                465 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "timed out while waiting for suspend completion\n");
ar                472 drivers/net/wireless/ath/ath10k/wow.c static int ath10k_wow_wakeup(struct ath10k *ar)
ar                476 drivers/net/wireless/ath/ath10k/wow.c 	lockdep_assert_held(&ar->conf_mutex);
ar                478 drivers/net/wireless/ath/ath10k/wow.c 	reinit_completion(&ar->wow.wakeup_completed);
ar                480 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_wmi_wow_host_wakeup_ind(ar);
ar                482 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to send wow wakeup indication: %d\n",
ar                487 drivers/net/wireless/ath/ath10k/wow.c 	ret = wait_for_completion_timeout(&ar->wow.wakeup_completed, 3 * HZ);
ar                489 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "timed out while waiting for wow wakeup completion\n");
ar                499 drivers/net/wireless/ath/ath10k/wow.c 	struct ath10k *ar = hw->priv;
ar                502 drivers/net/wireless/ath/ath10k/wow.c 	mutex_lock(&ar->conf_mutex);
ar                505 drivers/net/wireless/ath/ath10k/wow.c 			      ar->running_fw->fw_file.fw_features))) {
ar                510 drivers/net/wireless/ath/ath10k/wow.c 	ret =  ath10k_wow_cleanup(ar);
ar                512 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to clear wow wakeup events: %d\n",
ar                517 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_wow_set_wakeups(ar, wowlan);
ar                519 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to set wow wakeup events: %d\n",
ar                524 drivers/net/wireless/ath/ath10k/wow.c 	ath10k_mac_wait_tx_complete(ar);
ar                526 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_wow_enable(ar);
ar                528 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to start wow: %d\n", ret);
ar                532 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_hif_suspend(ar);
ar                534 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to suspend hif: %d\n", ret);
ar                541 drivers/net/wireless/ath/ath10k/wow.c 	ath10k_wow_wakeup(ar);
ar                544 drivers/net/wireless/ath/ath10k/wow.c 	ath10k_wow_cleanup(ar);
ar                547 drivers/net/wireless/ath/ath10k/wow.c 	mutex_unlock(&ar->conf_mutex);
ar                553 drivers/net/wireless/ath/ath10k/wow.c 	struct ath10k *ar = hw->priv;
ar                555 drivers/net/wireless/ath/ath10k/wow.c 	mutex_lock(&ar->conf_mutex);
ar                557 drivers/net/wireless/ath/ath10k/wow.c 		     ar->running_fw->fw_file.fw_features)) {
ar                558 drivers/net/wireless/ath/ath10k/wow.c 		device_set_wakeup_enable(ar->dev, enabled);
ar                560 drivers/net/wireless/ath/ath10k/wow.c 	mutex_unlock(&ar->conf_mutex);
ar                565 drivers/net/wireless/ath/ath10k/wow.c 	struct ath10k *ar = hw->priv;
ar                568 drivers/net/wireless/ath/ath10k/wow.c 	mutex_lock(&ar->conf_mutex);
ar                571 drivers/net/wireless/ath/ath10k/wow.c 			      ar->running_fw->fw_file.fw_features))) {
ar                576 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_hif_resume(ar);
ar                578 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to resume hif: %d\n", ret);
ar                582 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_wow_wakeup(ar);
ar                584 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to wakeup from wow: %d\n", ret);
ar                586 drivers/net/wireless/ath/ath10k/wow.c 	ret = ath10k_wow_nlo_cleanup(ar);
ar                588 drivers/net/wireless/ath/ath10k/wow.c 		ath10k_warn(ar, "failed to cleanup nlo: %d\n", ret);
ar                592 drivers/net/wireless/ath/ath10k/wow.c 		switch (ar->state) {
ar                594 drivers/net/wireless/ath/ath10k/wow.c 			ar->state = ATH10K_STATE_RESTARTING;
ar                602 drivers/net/wireless/ath/ath10k/wow.c 			ath10k_warn(ar, "encountered unexpected device state %d on resume, cannot recover\n",
ar                603 drivers/net/wireless/ath/ath10k/wow.c 				    ar->state);
ar                609 drivers/net/wireless/ath/ath10k/wow.c 	mutex_unlock(&ar->conf_mutex);
ar                613 drivers/net/wireless/ath/ath10k/wow.c int ath10k_wow_init(struct ath10k *ar)
ar                616 drivers/net/wireless/ath/ath10k/wow.c 		      ar->running_fw->fw_file.fw_features))
ar                619 drivers/net/wireless/ath/ath10k/wow.c 	if (WARN_ON(!test_bit(WMI_SERVICE_WOW, ar->wmi.svc_map)))
ar                622 drivers/net/wireless/ath/ath10k/wow.c 	ar->wow.wowlan_support = ath10k_wowlan_support;
ar                624 drivers/net/wireless/ath/ath10k/wow.c 	if (ar->wmi.rx_decap_mode == ATH10K_HW_TXRX_NATIVE_WIFI) {
ar                625 drivers/net/wireless/ath/ath10k/wow.c 		ar->wow.wowlan_support.pattern_max_len -= WOW_MAX_REDUCE;
ar                626 drivers/net/wireless/ath/ath10k/wow.c 		ar->wow.wowlan_support.max_pkt_offset -= WOW_MAX_REDUCE;
ar                629 drivers/net/wireless/ath/ath10k/wow.c 	if (test_bit(WMI_SERVICE_NLO, ar->wmi.svc_map)) {
ar                630 drivers/net/wireless/ath/ath10k/wow.c 		ar->wow.wowlan_support.flags |= WIPHY_WOWLAN_NET_DETECT;
ar                631 drivers/net/wireless/ath/ath10k/wow.c 		ar->wow.wowlan_support.max_nd_match_sets = WMI_PNO_MAX_SUPP_NETWORKS;
ar                634 drivers/net/wireless/ath/ath10k/wow.c 	ar->wow.wowlan_support.n_patterns = ar->wow.max_num_patterns;
ar                635 drivers/net/wireless/ath/ath10k/wow.c 	ar->hw->wiphy->wowlan = &ar->wow.wowlan_support;
ar                637 drivers/net/wireless/ath/ath10k/wow.c 	device_set_wakeup_capable(ar->dev, true);
ar                 16 drivers/net/wireless/ath/ath10k/wow.h int ath10k_wow_init(struct ath10k *ar);
ar                 24 drivers/net/wireless/ath/ath10k/wow.h static inline int ath10k_wow_init(struct ath10k *ar)
ar                 23 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_done(struct ath6kl *ar)
ar                 28 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                 33 drivers/net/wireless/ath/ath6kl/bmi.c 	ar->bmi.done_sent = true;
ar                 35 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, (u8 *)&cid, sizeof(cid));
ar                 44 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_get_target_info(struct ath6kl *ar,
ar                 50 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                 55 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, (u8 *)&cid, sizeof(cid));
ar                 61 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->hif_type == ATH6KL_HIF_TYPE_USB) {
ar                 62 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_read(ar, (u8 *)targ_info,
ar                 65 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_read(ar, (u8 *)&targ_info->version,
ar                 76 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_read(ar,
ar                 95 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_read(ar,
ar                114 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_read(struct ath6kl *ar, u32 addr, u8 *buf, u32 len)
ar                122 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                127 drivers/net/wireless/ath/ath6kl/bmi.c 	size = ar->bmi.max_data_size + sizeof(cid) + sizeof(addr) + sizeof(len);
ar                128 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                132 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                141 drivers/net/wireless/ath/ath6kl/bmi.c 		rx_len = (len_remain < ar->bmi.max_data_size) ?
ar                142 drivers/net/wireless/ath/ath6kl/bmi.c 					len_remain : ar->bmi.max_data_size;
ar                144 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                146 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                148 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &rx_len, sizeof(rx_len));
ar                151 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                157 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_read(ar, ar->bmi.cmd_buf, rx_len);
ar                163 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&buf[len - len_remain], ar->bmi.cmd_buf, rx_len);
ar                170 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_write(struct ath6kl *ar, u32 addr, u8 *buf, u32 len)
ar                180 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                185 drivers/net/wireless/ath/ath6kl/bmi.c 	if ((ar->bmi.max_data_size + header) > ar->bmi.max_cmd_size) {
ar                190 drivers/net/wireless/ath/ath6kl/bmi.c 	if (WARN_ON(ar->bmi.max_data_size > sizeof(aligned_buf)))
ar                193 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, ar->bmi.max_data_size + header);
ar                202 drivers/net/wireless/ath/ath6kl/bmi.c 		if (len_remain < (ar->bmi.max_data_size - header)) {
ar                212 drivers/net/wireless/ath/ath6kl/bmi.c 			tx_len = (ar->bmi.max_data_size - header);
ar                216 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                218 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                220 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &tx_len, sizeof(tx_len));
ar                222 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), src, tx_len);
ar                225 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                237 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_execute(struct ath6kl *ar, u32 addr, u32 *param)
ar                244 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                250 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                254 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                260 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                262 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                264 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), param, sizeof(*param));
ar                267 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                273 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_read(ar, ar->bmi.cmd_buf, sizeof(*param));
ar                279 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(param, ar->bmi.cmd_buf, sizeof(*param));
ar                284 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_set_app_start(struct ath6kl *ar, u32 addr)
ar                291 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                297 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                301 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                306 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                308 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                311 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                320 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_reg_read(struct ath6kl *ar, u32 addr, u32 *param)
ar                327 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                333 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                337 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                342 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                344 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                347 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                353 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_read(ar, ar->bmi.cmd_buf, sizeof(*param));
ar                358 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(param, ar->bmi.cmd_buf, sizeof(*param));
ar                363 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_reg_write(struct ath6kl *ar, u32 addr, u32 param)
ar                370 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                376 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                380 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                387 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                389 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                391 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &param, sizeof(param));
ar                394 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                403 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_lz_data(struct ath6kl *ar, u8 *buf, u32 len)
ar                412 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                417 drivers/net/wireless/ath/ath6kl/bmi.c 	size = ar->bmi.max_data_size + header;
ar                418 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                422 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                429 drivers/net/wireless/ath/ath6kl/bmi.c 		tx_len = (len_remain < (ar->bmi.max_data_size - header)) ?
ar                430 drivers/net/wireless/ath/ath6kl/bmi.c 			  len_remain : (ar->bmi.max_data_size - header);
ar                433 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                435 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &tx_len, sizeof(tx_len));
ar                437 drivers/net/wireless/ath/ath6kl/bmi.c 		memcpy(&(ar->bmi.cmd_buf[offset]), &buf[len - len_remain],
ar                441 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                454 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_lz_stream_start(struct ath6kl *ar, u32 addr)
ar                461 drivers/net/wireless/ath/ath6kl/bmi.c 	if (ar->bmi.done_sent) {
ar                467 drivers/net/wireless/ath/ath6kl/bmi.c 	if (size > ar->bmi.max_cmd_size) {
ar                471 drivers/net/wireless/ath/ath6kl/bmi.c 	memset(ar->bmi.cmd_buf, 0, size);
ar                478 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &cid, sizeof(cid));
ar                480 drivers/net/wireless/ath/ath6kl/bmi.c 	memcpy(&(ar->bmi.cmd_buf[offset]), &addr, sizeof(addr));
ar                483 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_hif_bmi_write(ar, ar->bmi.cmd_buf, offset);
ar                493 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_fast_download(struct ath6kl *ar, u32 addr, u8 *buf, u32 len)
ar                500 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_bmi_lz_stream_start(ar, addr);
ar                509 drivers/net/wireless/ath/ath6kl/bmi.c 	ret = ath6kl_bmi_lz_data(ar, buf, last_word_offset);
ar                514 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_bmi_lz_data(ar, (u8 *)&last_word, 4);
ar                519 drivers/net/wireless/ath/ath6kl/bmi.c 		ret = ath6kl_bmi_lz_stream_start(ar, 0x00);
ar                524 drivers/net/wireless/ath/ath6kl/bmi.c void ath6kl_bmi_reset(struct ath6kl *ar)
ar                526 drivers/net/wireless/ath/ath6kl/bmi.c 	ar->bmi.done_sent = false;
ar                529 drivers/net/wireless/ath/ath6kl/bmi.c int ath6kl_bmi_init(struct ath6kl *ar)
ar                531 drivers/net/wireless/ath/ath6kl/bmi.c 	if (WARN_ON(ar->bmi.max_data_size == 0))
ar                535 drivers/net/wireless/ath/ath6kl/bmi.c 	ar->bmi.max_cmd_size = ar->bmi.max_data_size + (sizeof(u32) * 3);
ar                537 drivers/net/wireless/ath/ath6kl/bmi.c 	ar->bmi.cmd_buf = kzalloc(ar->bmi.max_cmd_size, GFP_KERNEL);
ar                538 drivers/net/wireless/ath/ath6kl/bmi.c 	if (!ar->bmi.cmd_buf)
ar                544 drivers/net/wireless/ath/ath6kl/bmi.c void ath6kl_bmi_cleanup(struct ath6kl *ar)
ar                546 drivers/net/wireless/ath/ath6kl/bmi.c 	kfree(ar->bmi.cmd_buf);
ar                547 drivers/net/wireless/ath/ath6kl/bmi.c 	ar->bmi.cmd_buf = NULL;
ar                226 drivers/net/wireless/ath/ath6kl/bmi.h #define ath6kl_bmi_write_hi32(ar, item, val)				\
ar                231 drivers/net/wireless/ath/ath6kl/bmi.h 		addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item));	\
ar                233 drivers/net/wireless/ath/ath6kl/bmi.h 		ath6kl_bmi_write(ar, addr, (u8 *) &v, sizeof(v));	\
ar                236 drivers/net/wireless/ath/ath6kl/bmi.h #define ath6kl_bmi_read_hi32(ar, item, val)				\
ar                243 drivers/net/wireless/ath/ath6kl/bmi.h 		addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item));	\
ar                244 drivers/net/wireless/ath/ath6kl/bmi.h 		ret = ath6kl_bmi_read(ar, addr, (u8 *) &tmp, 4);	\
ar                250 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_init(struct ath6kl *ar);
ar                251 drivers/net/wireless/ath/ath6kl/bmi.h void ath6kl_bmi_cleanup(struct ath6kl *ar);
ar                252 drivers/net/wireless/ath/ath6kl/bmi.h void ath6kl_bmi_reset(struct ath6kl *ar);
ar                254 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_done(struct ath6kl *ar);
ar                255 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_get_target_info(struct ath6kl *ar,
ar                257 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_read(struct ath6kl *ar, u32 addr, u8 *buf, u32 len);
ar                258 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_write(struct ath6kl *ar, u32 addr, u8 *buf, u32 len);
ar                259 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_execute(struct ath6kl *ar,
ar                261 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_set_app_start(struct ath6kl *ar,
ar                263 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_reg_read(struct ath6kl *ar, u32 addr, u32 *param);
ar                264 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_reg_write(struct ath6kl *ar, u32 addr, u32 param);
ar                265 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_lz_data(struct ath6kl *ar,
ar                267 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_lz_stream_start(struct ath6kl *ar,
ar                269 drivers/net/wireless/ath/ath6kl/bmi.h int ath6kl_bmi_fast_download(struct ath6kl *ar,
ar                147 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                154 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->state == ATH6KL_STATE_RECOVERY)
ar                157 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_wmi_enable_sched_scan_cmd(ar->wmi, vif->fw_vif_idx, false);
ar                164 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                172 drivers/net/wireless/ath/ath6kl/cfg80211.c 	cfg80211_sched_scan_stopped(ar->wiphy, 0);
ar                286 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                288 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!test_bit(WMI_READY, &ar->flag)) {
ar                324 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                334 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->connect_ctrl_flags &= ~CONNECT_WPS_FLAG;
ar                355 drivers/net/wireless/ath/ath6kl/cfg80211.c 				ar->connect_ctrl_flags |= CONNECT_WPS_FLAG;
ar                361 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
ar                389 drivers/net/wireless/ath/ath6kl/cfg80211.c static bool ath6kl_is_valid_iftype(struct ath6kl *ar, enum nl80211_iftype type,
ar                397 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->ibss_if_active || ((type == NL80211_IFTYPE_ADHOC) &&
ar                398 drivers/net/wireless/ath/ath6kl/cfg80211.c 				   ar->num_vif))
ar                403 drivers/net/wireless/ath/ath6kl/cfg80211.c 		for (i = 0; i < ar->vif_max; i++) {
ar                404 drivers/net/wireless/ath/ath6kl/cfg80211.c 			if ((ar->avail_idx_map) & BIT(i)) {
ar                413 drivers/net/wireless/ath/ath6kl/cfg80211.c 		for (i = ar->max_norm_iface; i < ar->vif_max; i++) {
ar                414 drivers/net/wireless/ath/ath6kl/cfg80211.c 			if ((ar->avail_idx_map) & BIT(i)) {
ar                424 drivers/net/wireless/ath/ath6kl/cfg80211.c static bool ath6kl_is_tx_pending(struct ath6kl *ar)
ar                426 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ar->tx_pending[ath6kl_wmi_get_control_ep(ar->wmi)] == 0;
ar                434 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (WARN_ON(!test_bit(WMI_READY, &vif->ar->flag)))
ar                441 drivers/net/wireless/ath/ath6kl/cfg80211.c 		      vif->ar->fw_capabilities))
ar                447 drivers/net/wireless/ath/ath6kl/cfg80211.c 	err = ath6kl_wmi_sta_bmiss_enhance_cmd(vif->ar->wmi,
ar                457 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar                460 drivers/net/wireless/ath/ath6kl/cfg80211.c 	u8 nw_subtype = (ar->p2p) ? SUBTYPE_P2PDEV : SUBTYPE_NONE;
ar                470 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (test_bit(DESTROY_IN_PROGRESS, &ar->flag)) {
ar                475 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (test_bit(SKIP_SCAN, &ar->flag) &&
ar                482 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (down_interruptible(&ar->sem)) {
ar                487 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (test_bit(DESTROY_IN_PROGRESS, &ar->flag)) {
ar                489 drivers/net/wireless/ath/ath6kl/cfg80211.c 		up(&ar->sem);
ar                493 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->tx_pending[ath6kl_wmi_get_control_ep(ar->wmi)]) {
ar                497 drivers/net/wireless/ath/ath6kl/cfg80211.c 		wait_event_interruptible_timeout(ar->event_wq,
ar                498 drivers/net/wireless/ath/ath6kl/cfg80211.c 						 ath6kl_is_tx_pending(ar),
ar                502 drivers/net/wireless/ath/ath6kl/cfg80211.c 			up(&ar->sem);
ar                509 drivers/net/wireless/ath/ath6kl/cfg80211.c 		up(&ar->sem);
ar                514 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->connect_ctrl_flags &= ~CONNECT_WPS_FLAG;
ar                520 drivers/net/wireless/ath/ath6kl/cfg80211.c 		status = ath6kl_wmi_reconnect_cmd(ar->wmi, vif->fw_vif_idx,
ar                524 drivers/net/wireless/ath/ath6kl/cfg80211.c 		up(&ar->sem);
ar                550 drivers/net/wireless/ath/ath6kl/cfg80211.c 		up(&ar->sem);
ar                572 drivers/net/wireless/ath/ath6kl/cfg80211.c 			up(&ar->sem);
ar                582 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_wmi_addkey_cmd(ar->wmi, vif->fw_vif_idx, sme->key_idx,
ar                591 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!ar->usr_bss_filter) {
ar                593 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar                596 drivers/net/wireless/ath/ath6kl/cfg80211.c 			up(&ar->sem);
ar                623 drivers/net/wireless/ath/ath6kl/cfg80211.c 		status = ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
ar                628 drivers/net/wireless/ath/ath6kl/cfg80211.c 			up(&ar->sem);
ar                633 drivers/net/wireless/ath/ath6kl/cfg80211.c 	status = ath6kl_wmi_connect_cmd(ar->wmi, vif->fw_vif_idx, vif->nw_type,
ar                640 drivers/net/wireless/ath/ath6kl/cfg80211.c 					ar->connect_ctrl_flags, nw_subtype);
ar                650 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, 0, 0,
ar                653 drivers/net/wireless/ath/ath6kl/cfg80211.c 	up(&ar->sem);
ar                665 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if ((!(ar->connect_ctrl_flags & CONNECT_DO_WPA_OFFLOAD)) &&
ar                672 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->connect_ctrl_flags &= ~CONNECT_DO_WPA_OFFLOAD;
ar                686 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                700 drivers/net/wireless/ath/ath6kl/cfg80211.c 	bss = cfg80211_get_bss(ar->wiphy, chan, bssid,
ar                719 drivers/net/wireless/ath/ath6kl/cfg80211.c 		bss = cfg80211_inform_bss(ar->wiphy, chan,
ar                743 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                783 drivers/net/wireless/ath/ath6kl/cfg80211.c 	chan = ieee80211_get_channel(ar->wiphy, (int) channel);
ar                796 drivers/net/wireless/ath/ath6kl/cfg80211.c 		cfg80211_put_bss(ar->wiphy, bss);
ar                807 drivers/net/wireless/ath/ath6kl/cfg80211.c 		cfg80211_put_bss(ar->wiphy, bss);
ar                824 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar                835 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (test_bit(DESTROY_IN_PROGRESS, &ar->flag)) {
ar                840 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (down_interruptible(&ar->sem)) {
ar                850 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!test_bit(SKIP_SCAN, &ar->flag))
ar                853 drivers/net/wireless/ath/ath6kl/cfg80211.c 	up(&ar->sem);
ar                862 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar                913 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_wmi_disconnect_cmd(ar->wmi, vif->fw_vif_idx);
ar                916 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_set_probed_ssids(struct ath6kl *ar,
ar                942 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (ar->wiphy->max_match_sets != 0 && n_match_ssid == 0)
ar                979 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx, i,
ar                987 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx, i,
ar                998 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(vif->ndev);
ar               1009 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!ar->usr_bss_filter) {
ar               1011 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar               1019 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_set_probed_ssids(ar, vif, request->ssids,
ar               1025 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
ar               1059 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_beginscan_cmd(ar->wmi, vif->fw_vif_idx,
ar               1078 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               1095 drivers/net/wireless/ath/ath6kl/cfg80211.c 			ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx,
ar               1116 drivers/net/wireless/ath/ath6kl/cfg80211.c 				ieee80211_get_channel(vif->ar->wiphy, freq),
ar               1131 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(ndev);
ar               1144 drivers/net/wireless/ath/ath6kl/cfg80211.c 		return ath6kl_wmi_add_krk_cmd(ar->wmi, vif->fw_vif_idx,
ar               1213 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->ap_mode_bkey.valid = true;
ar               1214 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->ap_mode_bkey.key_index = key_index;
ar               1215 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->ap_mode_bkey.key_type = key_type;
ar               1216 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->ap_mode_bkey.key_len = key->key_len;
ar               1217 drivers/net/wireless/ath/ath6kl/cfg80211.c 		memcpy(ar->ap_mode_bkey.key, key->key, key->key_len);
ar               1244 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_addkey_cmd(ar->wmi, vif->fw_vif_idx, key_index,
ar               1255 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(ndev);
ar               1278 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_deletekey_cmd(ar->wmi, vif->fw_vif_idx, key_index);
ar               1321 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(ndev);
ar               1358 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_addkey_cmd(ar->wmi, vif->fw_vif_idx,
ar               1381 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = (struct ath6kl *)wiphy_priv(wiphy);
ar               1388 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               1396 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_set_rts_cmd(ar->wmi, wiphy->rts_threshold);
ar               1411 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = (struct ath6kl *)wiphy_priv(wiphy);
ar               1418 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               1429 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->tx_pwr = dbm;
ar               1437 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_wmi_set_tx_pwr_cmd(ar->wmi, vif->fw_vif_idx, dbm);
ar               1446 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = (struct ath6kl *)wiphy_priv(wiphy);
ar               1449 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               1457 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->tx_pwr = 255;
ar               1459 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (ath6kl_wmi_get_tx_pwr_cmd(ar->wmi, vif->fw_vif_idx) != 0) {
ar               1464 drivers/net/wireless/ath/ath6kl/cfg80211.c 		wait_event_interruptible_timeout(ar->event_wq, ar->tx_pwr != 255,
ar               1473 drivers/net/wireless/ath/ath6kl/cfg80211.c 	*dbm = ar->tx_pwr;
ar               1481 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               1499 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ath6kl_wmi_powermode_cmd(ar->wmi, vif->fw_vif_idx,
ar               1514 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar               1518 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->num_vif == ar->vif_max) {
ar               1523 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!ath6kl_is_valid_iftype(ar, type, &if_idx, &nw_type)) {
ar               1528 drivers/net/wireless/ath/ath6kl/cfg80211.c 	wdev = ath6kl_interface_add(ar, name, name_assign_type, type, if_idx, nw_type);
ar               1532 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->num_vif++;
ar               1540 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar               1543 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_lock_bh(&ar->list_lock);
ar               1545 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_unlock_bh(&ar->list_lock);
ar               1547 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag));
ar               1572 drivers/net/wireless/ath/ath6kl/cfg80211.c 		      vif->ar->fw_capabilities) &&
ar               1575 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (vif->ar->vif_max == 1) {
ar               1582 drivers/net/wireless/ath/ath6kl/cfg80211.c 		for (i = vif->ar->max_norm_iface; i < vif->ar->vif_max; i++) {
ar               1587 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (i == vif->ar->vif_max) {
ar               1623 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               1676 drivers/net/wireless/ath/ath6kl/cfg80211.c 	status = ath6kl_wmi_connect_cmd(ar->wmi, vif->fw_vif_idx, vif->nw_type,
ar               1683 drivers/net/wireless/ath/ath6kl/cfg80211.c 					ar->connect_ctrl_flags, SUBTYPE_NONE);
ar               1777 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               1788 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (down_interruptible(&ar->sem))
ar               1793 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_get_stats_cmd(ar->wmi, vif->fw_vif_idx);
ar               1796 drivers/net/wireless/ath/ath6kl/cfg80211.c 		up(&ar->sem);
ar               1800 drivers/net/wireless/ath/ath6kl/cfg80211.c 	left = wait_event_interruptible_timeout(ar->event_wq,
ar               1805 drivers/net/wireless/ath/ath6kl/cfg80211.c 	up(&ar->sem);
ar               1856 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_debug_war(ar, ATH6KL_WAR_INVALID_RATE);
ar               1877 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(netdev);
ar               1880 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_setpmkid_cmd(ar->wmi, vif->fw_vif_idx, pmksa->bssid,
ar               1887 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(netdev);
ar               1890 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_setpmkid_cmd(ar->wmi, vif->fw_vif_idx, pmksa->bssid,
ar               1896 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(netdev);
ar               1900 drivers/net/wireless/ath/ath6kl/cfg80211.c 		return ath6kl_wmi_setpmkid_cmd(ar->wmi, vif->fw_vif_idx,
ar               1905 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_wow_usr(struct ath6kl *ar, struct ath6kl_vif *vif,
ar               1933 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               1960 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_wow_ap(struct ath6kl *ar, struct ath6kl_vif *vif)
ar               1993 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               2003 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               2016 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               2026 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               2038 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_wow_sta(struct ath6kl *ar, struct ath6kl_vif *vif)
ar               2049 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               2064 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_add_wow_pattern_cmd(ar->wmi,
ar               2082 drivers/net/wireless/ath/ath6kl/cfg80211.c static bool is_ctrl_ep_empty(struct ath6kl *ar)
ar               2084 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return !ar->tx_pending[ar->ctrl_ep];
ar               2087 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_cfg80211_host_sleep(struct ath6kl *ar, struct ath6kl_vif *vif)
ar               2093 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx,
ar               2098 drivers/net/wireless/ath/ath6kl/cfg80211.c 	left = wait_event_interruptible_timeout(ar->event_wq,
ar               2110 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->tx_pending[ar->ctrl_ep]) {
ar               2111 drivers/net/wireless/ath/ath6kl/cfg80211.c 		left = wait_event_interruptible_timeout(ar->event_wq,
ar               2112 drivers/net/wireless/ath/ath6kl/cfg80211.c 							is_ctrl_ep_empty(ar),
ar               2129 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               2139 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities)) {
ar               2140 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi,
ar               2148 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_wmi_del_wow_pattern_cmd(ar->wmi, vif->fw_vif_idx,
ar               2157 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wow_usr(ar, vif, wow, filter);
ar               2159 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wow_ap(ar, vif);
ar               2161 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wow_sta(ar, vif);
ar               2169 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
ar               2180 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_bmisstime_cmd(ar->wmi, vif->fw_vif_idx,
ar               2185 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx,
ar               2212 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_ip_cmd(ar->wmi, vif->fw_vif_idx, ips[0], ips[1]);
ar               2221 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_wow_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
ar               2229 drivers/net/wireless/ath/ath6kl/cfg80211.c 	first_vif = ath6kl_vif_first(ar);
ar               2238 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_lock_bh(&ar->list_lock);
ar               2239 drivers/net/wireless/ath/ath6kl/cfg80211.c 	list_for_each_entry(vif, &ar->vif_list, list) {
ar               2249 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_unlock_bh(&ar->list_lock);
ar               2256 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->state = ATH6KL_STATE_SUSPENDING;
ar               2258 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_wow_mode_cmd(ar->wmi, first_vif->fw_vif_idx,
ar               2265 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_cfg80211_host_sleep(ar, first_vif);
ar               2270 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               2274 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx,
ar               2279 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
ar               2284 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_bmisstime_cmd(ar->wmi, vif->fw_vif_idx,
ar               2292 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities)) {
ar               2293 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi,
ar               2304 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_wow_resume(struct ath6kl *ar)
ar               2309 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               2314 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->state = ATH6KL_STATE_RESUMING;
ar               2316 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx,
ar               2324 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_lock_bh(&ar->list_lock);
ar               2325 drivers/net/wireless/ath/ath6kl/cfg80211.c 	list_for_each_entry(vif, &ar->vif_list, list) {
ar               2333 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_unlock_bh(&ar->list_lock);
ar               2338 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->state = ATH6KL_STATE_ON;
ar               2342 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->state = ATH6KL_STATE_WOW;
ar               2346 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_cfg80211_deepsleep_suspend(struct ath6kl *ar)
ar               2351 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               2355 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!test_bit(WMI_READY, &ar->flag)) {
ar               2360 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_cfg80211_stop_all(ar);
ar               2363 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wmi->saved_pwr_mode = ar->wmi->pwr_mode;
ar               2365 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_powermode_cmd(ar->wmi, 0, REC_POWER);
ar               2370 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_wow_mode_cmd(ar->wmi, vif->fw_vif_idx,
ar               2377 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_tx_data_cleanup(ar);
ar               2379 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_cfg80211_host_sleep(ar, vif);
ar               2386 drivers/net/wireless/ath/ath6kl/cfg80211.c static int ath6kl_cfg80211_deepsleep_resume(struct ath6kl *ar)
ar               2391 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               2396 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->wmi->pwr_mode != ar->wmi->saved_pwr_mode) {
ar               2397 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_powermode_cmd(ar->wmi, 0,
ar               2398 drivers/net/wireless/ath/ath6kl/cfg80211.c 					       ar->wmi->saved_pwr_mode);
ar               2403 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx,
ar               2408 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->state = ATH6KL_STATE_ON;
ar               2411 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx,
ar               2419 drivers/net/wireless/ath/ath6kl/cfg80211.c int ath6kl_cfg80211_suspend(struct ath6kl *ar,
ar               2433 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_tx_data_cleanup(ar);
ar               2435 drivers/net/wireless/ath/ath6kl/cfg80211.c 		prev_state = ar->state;
ar               2437 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wow_suspend(ar, wow);
ar               2439 drivers/net/wireless/ath/ath6kl/cfg80211.c 			ar->state = prev_state;
ar               2443 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->state = ATH6KL_STATE_WOW;
ar               2450 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_cfg80211_deepsleep_suspend(ar);
ar               2456 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->state = ATH6KL_STATE_DEEPSLEEP;
ar               2462 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_cfg80211_stop_all(ar);
ar               2464 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (ar->state == ATH6KL_STATE_OFF) {
ar               2472 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_init_hw_stop(ar);
ar               2478 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->state = ATH6KL_STATE_CUTPOWER;
ar               2486 drivers/net/wireless/ath/ath6kl/cfg80211.c 	list_for_each_entry(vif, &ar->vif_list, list)
ar               2493 drivers/net/wireless/ath/ath6kl/cfg80211.c int ath6kl_cfg80211_resume(struct ath6kl *ar)
ar               2497 drivers/net/wireless/ath/ath6kl/cfg80211.c 	switch (ar->state) {
ar               2501 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wow_resume(ar);
ar               2512 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_cfg80211_deepsleep_resume(ar);
ar               2522 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_init_hw_start(ar);
ar               2543 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar               2545 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_recovery_suspend(ar);
ar               2547 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_hif_suspend(ar, wow);
ar               2552 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar               2555 drivers/net/wireless/ath/ath6kl/cfg80211.c 	err = ath6kl_hif_resume(ar);
ar               2559 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_recovery_resume(ar);
ar               2580 drivers/net/wireless/ath/ath6kl/cfg80211.c void ath6kl_check_wow_status(struct ath6kl *ar)
ar               2582 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->state == ATH6KL_STATE_SUSPENDING)
ar               2585 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->state == ATH6KL_STATE_WOW)
ar               2586 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_cfg80211_resume(ar);
ar               2591 drivers/net/wireless/ath/ath6kl/cfg80211.c void ath6kl_check_wow_status(struct ath6kl *ar)
ar               2613 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_set_htcap_cmd(vif->ar->wmi, vif->fw_vif_idx,
ar               2619 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct wiphy *wiphy = vif->ar->wiphy;
ar               2645 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               2672 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
ar               2681 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               2685 drivers/net/wireless/ath/ath6kl/cfg80211.c 	res = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
ar               2699 drivers/net/wireless/ath/ath6kl/cfg80211.c 	res = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
ar               2764 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               2785 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->ap_mode_bkey.valid = false;
ar               2787 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_ap_set_beacon_intvl_cmd(ar->wmi, vif->fw_vif_idx,
ar               2793 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_ap_set_dtim_cmd(ar->wmi, vif->fw_vif_idx,
ar               2814 drivers/net/wireless/ath/ath6kl/cfg80211.c 	res = ath6kl_wmi_ap_hidden_ssid(ar->wmi, vif->fw_vif_idx, hidden);
ar               2897 drivers/net/wireless/ath/ath6kl/cfg80211.c 	res = ath6kl_wmi_ap_set_apsd(ar->wmi, vif->fw_vif_idx, true);
ar               2915 drivers/net/wireless/ath/ath6kl/cfg80211.c 			     ar->fw_capabilities))
ar               2919 drivers/net/wireless/ath/ath6kl/cfg80211.c 		res = ath6kl_wmi_set_inact_period(ar->wmi, vif->fw_vif_idx,
ar               2938 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities)) {
ar               2939 drivers/net/wireless/ath/ath6kl/cfg80211.c 		res = ath6kl_wmi_set_ie_cmd(ar->wmi, vif->fw_vif_idx,
ar               2949 drivers/net/wireless/ath/ath6kl/cfg80211.c 	res = ath6kl_wmi_ap_profile_commit(ar->wmi, vif->fw_vif_idx, &p);
ar               2972 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               2980 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_wmi_disconnect_cmd(ar->wmi, vif->fw_vif_idx);
ar               2993 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               2997 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_ap_set_mlme(ar->wmi, vif->fw_vif_idx, WMI_AP_DEAUTH,
ar               3005 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               3018 drivers/net/wireless/ath/ath6kl/cfg80211.c 		return ath6kl_wmi_ap_set_mlme(ar->wmi, vif->fw_vif_idx,
ar               3020 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_ap_set_mlme(ar->wmi, vif->fw_vif_idx,
ar               3031 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(vif->ndev);
ar               3043 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_remain_on_chnl_cmd(ar->wmi, vif->fw_vif_idx,
ar               3052 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(vif->ndev);
ar               3058 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_cancel_remain_on_chnl_cmd(ar->wmi, vif->fw_vif_idx);
ar               3065 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               3092 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_send_probe_response_cmd(ar->wmi, vif->fw_vif_idx, freq,
ar               3112 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               3150 drivers/net/wireless/ath/ath6kl/cfg80211.c 				ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx,
ar               3187 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(vif->ndev);
ar               3239 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_send_mgmt_cmd(ar->wmi, vif->fw_vif_idx, id, freq,
ar               3246 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar               3247 drivers/net/wireless/ath/ath6kl/cfg80211.c 	*tx_ant = ar->hw.tx_ant;
ar               3248 drivers/net/wireless/ath/ath6kl/cfg80211.c 	*rx_ant = ar->hw.rx_ant;
ar               3274 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               3288 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->state != ATH6KL_STATE_ON)
ar               3296 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_set_probed_ssids(ar, vif, request->ssids,
ar               3304 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar               3309 drivers/net/wireless/ath/ath6kl/cfg80211.c 		 ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar               3316 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities)) {
ar               3324 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ret = ath6kl_wmi_set_rssi_filter_cmd(ar->wmi, vif->fw_vif_idx,
ar               3335 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx,
ar               3340 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
ar               3349 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_enable_sched_scan_cmd(ar->wmi, vif->fw_vif_idx, true);
ar               3377 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               3380 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_set_bitrate_mask(ar->wmi, vif->fw_vif_idx,
ar               3388 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               3392 drivers/net/wireless/ath/ath6kl/cfg80211.c 	    !test_bit(ATH6KL_FW_CAPABILITY_TX_ERR_NOTIFY, ar->fw_capabilities))
ar               3401 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ath6kl_wmi_set_txe_notify(ar->wmi, vif->fw_vif_idx,
ar               3493 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (vif->ar->state != ATH6KL_STATE_RECOVERY &&
ar               3496 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ath6kl_wmi_disconnect_cmd(vif->ar->wmi, vif->fw_vif_idx);
ar               3507 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (vif->ar->state != ATH6KL_STATE_RECOVERY &&
ar               3508 drivers/net/wireless/ath/ath6kl/cfg80211.c 	    ath6kl_wmi_scanparams_cmd(vif->ar->wmi, vif->fw_vif_idx, 0xFFFF,
ar               3515 drivers/net/wireless/ath/ath6kl/cfg80211.c void ath6kl_cfg80211_stop_all(struct ath6kl *ar)
ar               3519 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif = ath6kl_vif_first(ar);
ar               3520 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (!vif && ar->state != ATH6KL_STATE_RECOVERY) {
ar               3522 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->wmi->saved_pwr_mode = ar->wmi->pwr_mode;
ar               3524 drivers/net/wireless/ath/ath6kl/cfg80211.c 		if (ath6kl_wmi_powermode_cmd(ar->wmi, 0, REC_POWER) != 0)
ar               3534 drivers/net/wireless/ath/ath6kl/cfg80211.c 	list_for_each_entry(vif, &ar->vif_list, list)
ar               3541 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar               3555 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_set_regdomain_cmd(ar->wmi, request->alpha2);
ar               3572 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ret = ath6kl_wmi_beginscan_cmd(ar->wmi, 0, WMI_LONG_SCAN, false,
ar               3638 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               3643 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->avail_idx_map |= BIT(vif->fw_vif_idx);
ar               3646 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->ibss_if_active = false;
ar               3655 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->num_vif--;
ar               3702 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar = vif->ar;
ar               3708 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ath6kl_read_tgt_stats(ar, vif);
ar               3779 drivers/net/wireless/ath/ath6kl/cfg80211.c struct wireless_dev *ath6kl_interface_add(struct ath6kl *ar, const char *name,
ar               3793 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif->wdev.wiphy = ar->wiphy;
ar               3794 drivers/net/wireless/ath/ath6kl/cfg80211.c 	vif->ar = ar;
ar               3808 drivers/net/wireless/ath/ath6kl/cfg80211.c 	memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);
ar               3813 drivers/net/wireless/ath/ath6kl/cfg80211.c 			     ar->fw_capabilities))
ar               3829 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->avail_idx_map &= ~BIT(fw_vif_idx);
ar               3832 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wlan_pwr_state = WLAN_POWER_STATE_ON;
ar               3835 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->ibss_if_active = true;
ar               3837 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_lock_bh(&ar->list_lock);
ar               3838 drivers/net/wireless/ath/ath6kl/cfg80211.c 	list_add_tail(&vif->list, &ar->vif_list);
ar               3839 drivers/net/wireless/ath/ath6kl/cfg80211.c 	spin_unlock_bh(&ar->list_lock);
ar               3863 drivers/net/wireless/ath/ath6kl/cfg80211.c int ath6kl_cfg80211_init(struct ath6kl *ar)
ar               3865 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct wiphy *wiphy = ar->wiphy;
ar               3874 drivers/net/wireless/ath/ath6kl/cfg80211.c 	set_wiphy_dev(wiphy, ar->dev);
ar               3879 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (ar->p2p) {
ar               3885 drivers/net/wireless/ath/ath6kl/cfg80211.c 	    test_bit(ATH6KL_FW_CAPABILITY_REGDOMAIN, ar->fw_capabilities)) {
ar               3887 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->wiphy->features |= NL80211_FEATURE_CELL_BASE_REG_HINTS;
ar               3895 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities))
ar               3899 drivers/net/wireless/ath/ath6kl/cfg80211.c 	switch (ar->hw.cap) {
ar               3931 drivers/net/wireless/ath/ath6kl/cfg80211.c 		       ar->fw_capabilities))) {
ar               3942 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities)) {
ar               3947 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->hw.tx_ant = 0x3; /* mask, 2 antenna */
ar               3948 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->hw.rx_ant = 0x3;
ar               3952 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->hw.tx_ant = 1;
ar               3953 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->hw.rx_ant = 1;
ar               3956 drivers/net/wireless/ath/ath6kl/cfg80211.c 	wiphy->available_antennas_tx = ar->hw.tx_ant;
ar               3957 drivers/net/wireless/ath/ath6kl/cfg80211.c 	wiphy->available_antennas_rx = ar->hw.rx_ant;
ar               3975 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wiphy->flags |= WIPHY_FLAG_SUPPORTS_FW_ROAM |
ar               3980 drivers/net/wireless/ath/ath6kl/cfg80211.c 	if (test_bit(ATH6KL_FW_CAPABILITY_SCHED_SCAN_V2, ar->fw_capabilities))
ar               3981 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->wiphy->max_sched_scan_reqs = 1;
ar               3984 drivers/net/wireless/ath/ath6kl/cfg80211.c 		     ar->fw_capabilities))
ar               3985 drivers/net/wireless/ath/ath6kl/cfg80211.c 		ar->wiphy->features |= NL80211_FEATURE_INACTIVITY_TIMER;
ar               3987 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wiphy->probe_resp_offload =
ar               3998 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wiphy_registered = true;
ar               4003 drivers/net/wireless/ath/ath6kl/cfg80211.c void ath6kl_cfg80211_cleanup(struct ath6kl *ar)
ar               4005 drivers/net/wireless/ath/ath6kl/cfg80211.c 	wiphy_unregister(ar->wiphy);
ar               4007 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wiphy_registered = false;
ar               4012 drivers/net/wireless/ath/ath6kl/cfg80211.c 	struct ath6kl *ar;
ar               4023 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar = wiphy_priv(wiphy);
ar               4024 drivers/net/wireless/ath/ath6kl/cfg80211.c 	ar->wiphy = wiphy;
ar               4026 drivers/net/wireless/ath/ath6kl/cfg80211.c 	return ar;
ar               4030 drivers/net/wireless/ath/ath6kl/cfg80211.c void ath6kl_cfg80211_destroy(struct ath6kl *ar)
ar               4035 drivers/net/wireless/ath/ath6kl/cfg80211.c 		kfree(ar->sta_list[i].aggr_conn);
ar               4037 drivers/net/wireless/ath/ath6kl/cfg80211.c 	wiphy_free(ar->wiphy);
ar                 27 drivers/net/wireless/ath/ath6kl/cfg80211.h struct wireless_dev *ath6kl_interface_add(struct ath6kl *ar, const char *name,
ar                 49 drivers/net/wireless/ath/ath6kl/cfg80211.h int ath6kl_cfg80211_suspend(struct ath6kl *ar,
ar                 53 drivers/net/wireless/ath/ath6kl/cfg80211.h int ath6kl_cfg80211_resume(struct ath6kl *ar);
ar                 58 drivers/net/wireless/ath/ath6kl/cfg80211.h void ath6kl_cfg80211_stop_all(struct ath6kl *ar);
ar                 60 drivers/net/wireless/ath/ath6kl/cfg80211.h int ath6kl_cfg80211_init(struct ath6kl *ar);
ar                 61 drivers/net/wireless/ath/ath6kl/cfg80211.h void ath6kl_cfg80211_cleanup(struct ath6kl *ar);
ar                 64 drivers/net/wireless/ath/ath6kl/cfg80211.h void ath6kl_cfg80211_destroy(struct ath6kl *ar);
ar                 54 drivers/net/wireless/ath/ath6kl/core.c void ath6kl_core_tx_complete(struct ath6kl *ar, struct sk_buff *skb)
ar                 56 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_htc_tx_complete(ar, skb);
ar                 60 drivers/net/wireless/ath/ath6kl/core.c void ath6kl_core_rx_complete(struct ath6kl *ar, struct sk_buff *skb, u8 pipe)
ar                 62 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_htc_rx_complete(ar, skb, pipe);
ar                 66 drivers/net/wireless/ath/ath6kl/core.c int ath6kl_core_init(struct ath6kl *ar, enum ath6kl_htc_type htc_type)
ar                 74 drivers/net/wireless/ath/ath6kl/core.c 		ath6kl_htc_mbox_attach(ar);
ar                 77 drivers/net/wireless/ath/ath6kl/core.c 		ath6kl_htc_pipe_attach(ar);
ar                 84 drivers/net/wireless/ath/ath6kl/core.c 	ar->ath6kl_wq = create_singlethread_workqueue("ath6kl");
ar                 85 drivers/net/wireless/ath/ath6kl/core.c 	if (!ar->ath6kl_wq)
ar                 88 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_bmi_init(ar);
ar                 97 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_hif_power_on(ar);
ar                101 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_bmi_get_target_info(ar, &targ_info);
ar                105 drivers/net/wireless/ath/ath6kl/core.c 	ar->version.target_ver = le32_to_cpu(targ_info.version);
ar                106 drivers/net/wireless/ath/ath6kl/core.c 	ar->target_type = le32_to_cpu(targ_info.type);
ar                107 drivers/net/wireless/ath/ath6kl/core.c 	ar->wiphy->hw_version = le32_to_cpu(targ_info.version);
ar                109 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_init_hw_params(ar);
ar                113 drivers/net/wireless/ath/ath6kl/core.c 	ar->htc_target = ath6kl_htc_create(ar);
ar                115 drivers/net/wireless/ath/ath6kl/core.c 	if (!ar->htc_target) {
ar                120 drivers/net/wireless/ath/ath6kl/core.c 	ar->testmode = testmode;
ar                122 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_init_fetch_firmwares(ar);
ar                132 drivers/net/wireless/ath/ath6kl/core.c 	if (ar->target_type == TARGET_TYPE_AR6004 &&
ar                133 drivers/net/wireless/ath/ath6kl/core.c 	    ar->fw_api <= 4) {
ar                135 drivers/net/wireless/ath/ath6kl/core.c 			  ar->fw_capabilities);
ar                137 drivers/net/wireless/ath/ath6kl/core.c 			  ar->fw_capabilities);
ar                139 drivers/net/wireless/ath/ath6kl/core.c 		if (ar->hw.id == AR6004_HW_1_3_VERSION)
ar                141 drivers/net/wireless/ath/ath6kl/core.c 				  ar->fw_capabilities);
ar                145 drivers/net/wireless/ath/ath6kl/core.c 	set_bit(WMI_ENABLED, &ar->flag);
ar                146 drivers/net/wireless/ath/ath6kl/core.c 	ar->wmi = ath6kl_wmi_init(ar);
ar                147 drivers/net/wireless/ath/ath6kl/core.c 	if (!ar->wmi) {
ar                153 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_dbg(ATH6KL_DBG_TRC, "%s: got wmi @ 0x%p.\n", __func__, ar->wmi);
ar                156 drivers/net/wireless/ath/ath6kl/core.c 	ar->ac_stream_pri_map[WMM_AC_BK] = 0; /* lowest  */
ar                157 drivers/net/wireless/ath/ath6kl/core.c 	ar->ac_stream_pri_map[WMM_AC_BE] = 1;
ar                158 drivers/net/wireless/ath/ath6kl/core.c 	ar->ac_stream_pri_map[WMM_AC_VI] = 2;
ar                159 drivers/net/wireless/ath/ath6kl/core.c 	ar->ac_stream_pri_map[WMM_AC_VO] = 3; /* highest */
ar                162 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_refill_amsdu_rxbufs(ar, ATH6KL_MAX_AMSDU_RX_BUFFERS);
ar                164 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_cookie_init(ar);
ar                166 drivers/net/wireless/ath/ath6kl/core.c 	ar->conf_flags = ATH6KL_CONF_IGNORE_ERP_BARKER |
ar                172 drivers/net/wireless/ath/ath6kl/core.c 		ar->suspend_mode = suspend_mode;
ar                174 drivers/net/wireless/ath/ath6kl/core.c 		ar->suspend_mode = 0;
ar                179 drivers/net/wireless/ath/ath6kl/core.c 		ar->wow_suspend_mode = wow_mode;
ar                181 drivers/net/wireless/ath/ath6kl/core.c 		ar->wow_suspend_mode = 0;
ar                184 drivers/net/wireless/ath/ath6kl/core.c 		ar->conf_flags |= ATH6KL_CONF_UART_DEBUG;
ar                185 drivers/net/wireless/ath/ath6kl/core.c 	ar->hw.uarttx_rate = uart_rate;
ar                187 drivers/net/wireless/ath/ath6kl/core.c 	set_bit(FIRST_BOOT, &ar->flag);
ar                189 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_debug_init(ar);
ar                191 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_init_hw_start(ar);
ar                198 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_rx_refill(ar->htc_target, ar->ctrl_ep);
ar                199 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_rx_refill(ar->htc_target, ar->ac2ep_map[WMM_AC_BE]);
ar                201 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_cfg80211_init(ar);
ar                205 drivers/net/wireless/ath/ath6kl/core.c 	ret = ath6kl_debug_init_fs(ar);
ar                207 drivers/net/wireless/ath/ath6kl/core.c 		wiphy_unregister(ar->wiphy);
ar                211 drivers/net/wireless/ath/ath6kl/core.c 	for (i = 0; i < ar->vif_max; i++)
ar                212 drivers/net/wireless/ath/ath6kl/core.c 		ar->avail_idx_map |= BIT(i);
ar                217 drivers/net/wireless/ath/ath6kl/core.c 	wdev = ath6kl_interface_add(ar, "wlan%d", NET_NAME_ENUM,
ar                225 drivers/net/wireless/ath/ath6kl/core.c 		wiphy_unregister(ar->wiphy);
ar                230 drivers/net/wireless/ath/ath6kl/core.c 		   __func__, wdev->netdev->name, wdev->netdev, ar);
ar                232 drivers/net/wireless/ath/ath6kl/core.c 	ar->fw_recovery.enable = !!recovery_enable;
ar                233 drivers/net/wireless/ath/ath6kl/core.c 	if (!ar->fw_recovery.enable)
ar                238 drivers/net/wireless/ath/ath6kl/core.c 		     ar->fw_capabilities))
ar                239 drivers/net/wireless/ath/ath6kl/core.c 		ar->fw_recovery.hb_poll = heart_beat_poll;
ar                241 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_recovery_init(ar);
ar                246 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_debug_cleanup(ar);
ar                247 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_htc_flush_rx_buf(ar->htc_target);
ar                248 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_cleanup_amsdu_rxbufs(ar);
ar                249 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_wmi_shutdown(ar->wmi);
ar                250 drivers/net/wireless/ath/ath6kl/core.c 	clear_bit(WMI_ENABLED, &ar->flag);
ar                251 drivers/net/wireless/ath/ath6kl/core.c 	ar->wmi = NULL;
ar                253 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_htc_cleanup(ar->htc_target);
ar                255 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_hif_power_off(ar);
ar                257 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_bmi_cleanup(ar);
ar                259 drivers/net/wireless/ath/ath6kl/core.c 	destroy_workqueue(ar->ath6kl_wq);
ar                267 drivers/net/wireless/ath/ath6kl/core.c 	struct ath6kl *ar;
ar                270 drivers/net/wireless/ath/ath6kl/core.c 	ar = ath6kl_cfg80211_create();
ar                271 drivers/net/wireless/ath/ath6kl/core.c 	if (!ar)
ar                274 drivers/net/wireless/ath/ath6kl/core.c 	ar->p2p = !!ath6kl_p2p;
ar                275 drivers/net/wireless/ath/ath6kl/core.c 	ar->dev = dev;
ar                277 drivers/net/wireless/ath/ath6kl/core.c 	ar->vif_max = 1;
ar                279 drivers/net/wireless/ath/ath6kl/core.c 	ar->max_norm_iface = 1;
ar                281 drivers/net/wireless/ath/ath6kl/core.c 	spin_lock_init(&ar->lock);
ar                282 drivers/net/wireless/ath/ath6kl/core.c 	spin_lock_init(&ar->mcastpsq_lock);
ar                283 drivers/net/wireless/ath/ath6kl/core.c 	spin_lock_init(&ar->list_lock);
ar                285 drivers/net/wireless/ath/ath6kl/core.c 	init_waitqueue_head(&ar->event_wq);
ar                286 drivers/net/wireless/ath/ath6kl/core.c 	sema_init(&ar->sem, 1);
ar                288 drivers/net/wireless/ath/ath6kl/core.c 	INIT_LIST_HEAD(&ar->amsdu_rx_buffer_queue);
ar                289 drivers/net/wireless/ath/ath6kl/core.c 	INIT_LIST_HEAD(&ar->vif_list);
ar                291 drivers/net/wireless/ath/ath6kl/core.c 	clear_bit(WMI_ENABLED, &ar->flag);
ar                292 drivers/net/wireless/ath/ath6kl/core.c 	clear_bit(SKIP_SCAN, &ar->flag);
ar                293 drivers/net/wireless/ath/ath6kl/core.c 	clear_bit(DESTROY_IN_PROGRESS, &ar->flag);
ar                295 drivers/net/wireless/ath/ath6kl/core.c 	ar->tx_pwr = 0;
ar                296 drivers/net/wireless/ath/ath6kl/core.c 	ar->intra_bss = 1;
ar                297 drivers/net/wireless/ath/ath6kl/core.c 	ar->lrssi_roam_threshold = DEF_LRSSI_ROAM_THRESHOLD;
ar                299 drivers/net/wireless/ath/ath6kl/core.c 	ar->state = ATH6KL_STATE_OFF;
ar                301 drivers/net/wireless/ath/ath6kl/core.c 	memset((u8 *)ar->sta_list, 0,
ar                306 drivers/net/wireless/ath/ath6kl/core.c 		spin_lock_init(&ar->sta_list[ctr].psq_lock);
ar                307 drivers/net/wireless/ath/ath6kl/core.c 		skb_queue_head_init(&ar->sta_list[ctr].psq);
ar                308 drivers/net/wireless/ath/ath6kl/core.c 		skb_queue_head_init(&ar->sta_list[ctr].apsdq);
ar                309 drivers/net/wireless/ath/ath6kl/core.c 		ar->sta_list[ctr].mgmt_psq_len = 0;
ar                310 drivers/net/wireless/ath/ath6kl/core.c 		INIT_LIST_HEAD(&ar->sta_list[ctr].mgmt_psq);
ar                311 drivers/net/wireless/ath/ath6kl/core.c 		ar->sta_list[ctr].aggr_conn =
ar                313 drivers/net/wireless/ath/ath6kl/core.c 		if (!ar->sta_list[ctr].aggr_conn) {
ar                315 drivers/net/wireless/ath/ath6kl/core.c 			ath6kl_core_destroy(ar);
ar                320 drivers/net/wireless/ath/ath6kl/core.c 	skb_queue_head_init(&ar->mcastpsq);
ar                322 drivers/net/wireless/ath/ath6kl/core.c 	memcpy(ar->ap_country_code, DEF_AP_COUNTRY_CODE, 3);
ar                324 drivers/net/wireless/ath/ath6kl/core.c 	return ar;
ar                328 drivers/net/wireless/ath/ath6kl/core.c void ath6kl_core_cleanup(struct ath6kl *ar)
ar                330 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_hif_power_off(ar);
ar                332 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_recovery_cleanup(ar);
ar                334 drivers/net/wireless/ath/ath6kl/core.c 	destroy_workqueue(ar->ath6kl_wq);
ar                336 drivers/net/wireless/ath/ath6kl/core.c 	if (ar->htc_target)
ar                337 drivers/net/wireless/ath/ath6kl/core.c 		ath6kl_htc_cleanup(ar->htc_target);
ar                339 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_cookie_cleanup(ar);
ar                341 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_cleanup_amsdu_rxbufs(ar);
ar                343 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_bmi_cleanup(ar);
ar                345 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_debug_cleanup(ar);
ar                347 drivers/net/wireless/ath/ath6kl/core.c 	kfree(ar->fw_board);
ar                348 drivers/net/wireless/ath/ath6kl/core.c 	kfree(ar->fw_otp);
ar                349 drivers/net/wireless/ath/ath6kl/core.c 	vfree(ar->fw);
ar                350 drivers/net/wireless/ath/ath6kl/core.c 	kfree(ar->fw_patch);
ar                351 drivers/net/wireless/ath/ath6kl/core.c 	kfree(ar->fw_testscript);
ar                353 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_cfg80211_cleanup(ar);
ar                357 drivers/net/wireless/ath/ath6kl/core.c void ath6kl_core_destroy(struct ath6kl *ar)
ar                359 drivers/net/wireless/ath/ath6kl/core.c 	ath6kl_cfg80211_destroy(ar);
ar                603 drivers/net/wireless/ath/ath6kl/core.h 	struct ath6kl *ar;
ar                878 drivers/net/wireless/ath/ath6kl/core.h 	return ((struct ath6kl_vif *) netdev_priv(dev))->ar;
ar                881 drivers/net/wireless/ath/ath6kl/core.h static inline u32 ath6kl_get_hi_item_addr(struct ath6kl *ar,
ar                886 drivers/net/wireless/ath/ath6kl/core.h 	if (ar->target_type == TARGET_TYPE_AR6003)
ar                888 drivers/net/wireless/ath/ath6kl/core.h 	else if (ar->target_type == TARGET_TYPE_AR6004)
ar                894 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_configure_target(struct ath6kl *ar);
ar                898 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_cookie_init(struct ath6kl *ar);
ar                899 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_cookie_cleanup(struct ath6kl *ar);
ar                905 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_stop_txrx(struct ath6kl *ar);
ar                906 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_cleanup_amsdu_rxbufs(struct ath6kl *ar);
ar                907 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_diag_write32(struct ath6kl *ar, u32 address, __le32 value);
ar                908 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_diag_write(struct ath6kl *ar, u32 address, void *data, u32 length);
ar                909 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_diag_read32(struct ath6kl *ar, u32 address, u32 *value);
ar                910 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_diag_read(struct ath6kl *ar, u32 address, void *data, u32 length);
ar                911 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_read_fwlogs(struct ath6kl *ar);
ar                913 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_tx_data_cleanup(struct ath6kl *ar);
ar                915 drivers/net/wireless/ath/ath6kl/core.h struct ath6kl_cookie *ath6kl_alloc_cookie(struct ath6kl *ar);
ar                916 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_free_cookie(struct ath6kl *ar, struct ath6kl_cookie *cookie);
ar                924 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_refill_amsdu_rxbufs(struct ath6kl *ar, int count);
ar                932 drivers/net/wireless/ath/ath6kl/core.h struct ath6kl_sta *ath6kl_find_sta_by_aid(struct ath6kl *ar, u8 aid);
ar                967 drivers/net/wireless/ath/ath6kl/core.h struct ath6kl_vif *ath6kl_vif_first(struct ath6kl *ar);
ar                969 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_init_hw_start(struct ath6kl *ar);
ar                970 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_init_hw_stop(struct ath6kl *ar);
ar                971 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_init_fetch_firmwares(struct ath6kl *ar);
ar                972 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_init_hw_params(struct ath6kl *ar);
ar                974 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_check_wow_status(struct ath6kl *ar);
ar                976 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_core_tx_complete(struct ath6kl *ar, struct sk_buff *skb);
ar                977 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_core_rx_complete(struct ath6kl *ar, struct sk_buff *skb, u8 pipe);
ar                980 drivers/net/wireless/ath/ath6kl/core.h int ath6kl_core_init(struct ath6kl *ar, enum ath6kl_htc_type htc_type);
ar                981 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_core_cleanup(struct ath6kl *ar);
ar                982 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_core_destroy(struct ath6kl *ar);
ar                985 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_init_hw_restart(struct ath6kl *ar);
ar                986 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_recovery_err_notify(struct ath6kl *ar, enum ath6kl_fw_err reason);
ar                987 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_recovery_hb_event(struct ath6kl *ar, u32 cookie);
ar                988 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_recovery_init(struct ath6kl *ar);
ar                989 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_recovery_cleanup(struct ath6kl *ar);
ar                990 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_recovery_suspend(struct ath6kl *ar);
ar                991 drivers/net/wireless/ath/ath6kl/core.h void ath6kl_recovery_resume(struct ath6kl *ar);
ar                101 drivers/net/wireless/ath/ath6kl/debug.c int ath6kl_read_tgt_stats(struct ath6kl *ar, struct ath6kl_vif *vif)
ar                105 drivers/net/wireless/ath/ath6kl/debug.c 	if (down_interruptible(&ar->sem))
ar                110 drivers/net/wireless/ath/ath6kl/debug.c 	if (ath6kl_wmi_get_stats_cmd(ar->wmi, 0)) {
ar                111 drivers/net/wireless/ath/ath6kl/debug.c 		up(&ar->sem);
ar                115 drivers/net/wireless/ath/ath6kl/debug.c 	left = wait_event_interruptible_timeout(ar->event_wq,
ar                119 drivers/net/wireless/ath/ath6kl/debug.c 	up(&ar->sem);
ar                218 drivers/net/wireless/ath/ath6kl/debug.c 		if (dev->ar->mbox_info.gmbox_addr != 0) {
ar                291 drivers/net/wireless/ath/ath6kl/debug.c void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war)
ar                295 drivers/net/wireless/ath/ath6kl/debug.c 		ar->debug.war_stats.invalid_rate++;
ar                303 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                318 drivers/net/wireless/ath/ath6kl/debug.c 			 "Invalid rates", ar->debug.war_stats.invalid_rate);
ar                336 drivers/net/wireless/ath/ath6kl/debug.c void ath6kl_debug_fwlog_event(struct ath6kl *ar, const void *buf, size_t len)
ar                359 drivers/net/wireless/ath/ath6kl/debug.c 	spin_lock(&ar->debug.fwlog_queue.lock);
ar                361 drivers/net/wireless/ath/ath6kl/debug.c 	__skb_queue_tail(&ar->debug.fwlog_queue, skb);
ar                362 drivers/net/wireless/ath/ath6kl/debug.c 	complete(&ar->debug.fwlog_completion);
ar                365 drivers/net/wireless/ath/ath6kl/debug.c 	while (skb_queue_len(&ar->debug.fwlog_queue) >
ar                367 drivers/net/wireless/ath/ath6kl/debug.c 		skb = __skb_dequeue(&ar->debug.fwlog_queue);
ar                371 drivers/net/wireless/ath/ath6kl/debug.c 	spin_unlock(&ar->debug.fwlog_queue.lock);
ar                378 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = inode->i_private;
ar                380 drivers/net/wireless/ath/ath6kl/debug.c 	if (ar->debug.fwlog_open)
ar                383 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.fwlog_open = true;
ar                391 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = inode->i_private;
ar                393 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.fwlog_open = false;
ar                401 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                412 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_read_fwlogs(ar);
ar                414 drivers/net/wireless/ath/ath6kl/debug.c 	spin_lock(&ar->debug.fwlog_queue.lock);
ar                416 drivers/net/wireless/ath/ath6kl/debug.c 	while ((skb = __skb_dequeue(&ar->debug.fwlog_queue))) {
ar                419 drivers/net/wireless/ath/ath6kl/debug.c 			__skb_queue_head(&ar->debug.fwlog_queue, skb);
ar                430 drivers/net/wireless/ath/ath6kl/debug.c 	spin_unlock(&ar->debug.fwlog_queue.lock);
ar                454 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                465 drivers/net/wireless/ath/ath6kl/debug.c 	spin_lock(&ar->debug.fwlog_queue.lock);
ar                467 drivers/net/wireless/ath/ath6kl/debug.c 	if (skb_queue_len(&ar->debug.fwlog_queue) == 0) {
ar                469 drivers/net/wireless/ath/ath6kl/debug.c 		init_completion(&ar->debug.fwlog_completion);
ar                471 drivers/net/wireless/ath/ath6kl/debug.c 		spin_unlock(&ar->debug.fwlog_queue.lock);
ar                474 drivers/net/wireless/ath/ath6kl/debug.c 			&ar->debug.fwlog_completion);
ar                480 drivers/net/wireless/ath/ath6kl/debug.c 		spin_lock(&ar->debug.fwlog_queue.lock);
ar                483 drivers/net/wireless/ath/ath6kl/debug.c 	while ((skb = __skb_dequeue(&ar->debug.fwlog_queue))) {
ar                486 drivers/net/wireless/ath/ath6kl/debug.c 			__skb_queue_head(&ar->debug.fwlog_queue, skb);
ar                497 drivers/net/wireless/ath/ath6kl/debug.c 	spin_unlock(&ar->debug.fwlog_queue.lock);
ar                528 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                532 drivers/net/wireless/ath/ath6kl/debug.c 	len = snprintf(buf, sizeof(buf), "0x%x\n", ar->debug.fwlog_mask);
ar                541 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                544 drivers/net/wireless/ath/ath6kl/debug.c 	ret = kstrtou32_from_user(user_buf, count, 0, &ar->debug.fwlog_mask);
ar                548 drivers/net/wireless/ath/ath6kl/debug.c 	ret = ath6kl_wmi_config_debug_module_cmd(ar->wmi,
ar                550 drivers/net/wireless/ath/ath6kl/debug.c 						 ar->debug.fwlog_mask);
ar                568 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                577 drivers/net/wireless/ath/ath6kl/debug.c 	vif = ath6kl_vif_first(ar);
ar                585 drivers/net/wireless/ath/ath6kl/debug.c 	rv = ath6kl_read_tgt_stats(ar, vif);
ar                707 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                708 drivers/net/wireless/ath/ath6kl/debug.c 	struct htc_target *target = ar->htc_target;
ar                785 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                786 drivers/net/wireless/ath/ath6kl/debug.c 	struct htc_target *target = ar->htc_target;
ar                840 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                841 drivers/net/wireless/ath/ath6kl/debug.c 	struct htc_target *target = ar->htc_target;
ar                895 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                899 drivers/net/wireless/ath/ath6kl/debug.c 	if (ar->debug.dbgfs_diag_reg)
ar                901 drivers/net/wireless/ath/ath6kl/debug.c 				ar->debug.dbgfs_diag_reg);
ar                913 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar                925 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.dbgfs_diag_reg = reg_addr;
ar                940 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = inode->i_private;
ar                949 drivers/net/wireless/ath/ath6kl/debug.c 	if (!ar->debug.dbgfs_diag_reg)
ar                963 drivers/net/wireless/ath/ath6kl/debug.c 		addr = ar->debug.dbgfs_diag_reg;
ar                965 drivers/net/wireless/ath/ath6kl/debug.c 		status = ath6kl_diag_read32(ar,
ar                966 drivers/net/wireless/ath/ath6kl/debug.c 				TARG_VTOP(ar->target_type, addr),
ar                981 drivers/net/wireless/ath/ath6kl/debug.c 			status = ath6kl_diag_read32(ar,
ar                982 drivers/net/wireless/ath/ath6kl/debug.c 					TARG_VTOP(ar->target_type, addr),
ar               1028 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1034 drivers/net/wireless/ath/ath6kl/debug.c 	ar->lrssi_roam_threshold = lrssi_roam_threshold;
ar               1036 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_wmi_set_roam_lrssi_cmd(ar->wmi, ar->lrssi_roam_threshold);
ar               1045 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1049 drivers/net/wireless/ath/ath6kl/debug.c 	len = snprintf(buf, sizeof(buf), "%u\n", ar->lrssi_roam_threshold);
ar               1066 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1071 drivers/net/wireless/ath/ath6kl/debug.c 			ar->debug.diag_reg_addr_wr, ar->debug.diag_reg_val_wr);
ar               1080 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1106 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.diag_reg_addr_wr = reg_addr;
ar               1107 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.diag_reg_val_wr = reg_val;
ar               1109 drivers/net/wireless/ath/ath6kl/debug.c 	if (ath6kl_diag_write32(ar, ar->debug.diag_reg_addr_wr,
ar               1110 drivers/net/wireless/ath/ath6kl/debug.c 				cpu_to_le32(ar->debug.diag_reg_val_wr)))
ar               1124 drivers/net/wireless/ath/ath6kl/debug.c int ath6kl_debug_roam_tbl_event(struct ath6kl *ar, const void *buf,
ar               1138 drivers/net/wireless/ath/ath6kl/debug.c 	if (ar->debug.roam_tbl == NULL ||
ar               1139 drivers/net/wireless/ath/ath6kl/debug.c 	    ar->debug.roam_tbl_len < (unsigned int) len) {
ar               1140 drivers/net/wireless/ath/ath6kl/debug.c 		kfree(ar->debug.roam_tbl);
ar               1141 drivers/net/wireless/ath/ath6kl/debug.c 		ar->debug.roam_tbl = kmalloc(len, GFP_ATOMIC);
ar               1142 drivers/net/wireless/ath/ath6kl/debug.c 		if (ar->debug.roam_tbl == NULL)
ar               1146 drivers/net/wireless/ath/ath6kl/debug.c 	memcpy(ar->debug.roam_tbl, buf, len);
ar               1147 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.roam_tbl_len = len;
ar               1149 drivers/net/wireless/ath/ath6kl/debug.c 	if (test_bit(ROAM_TBL_PEND, &ar->flag)) {
ar               1150 drivers/net/wireless/ath/ath6kl/debug.c 		clear_bit(ROAM_TBL_PEND, &ar->flag);
ar               1151 drivers/net/wireless/ath/ath6kl/debug.c 		wake_up(&ar->event_wq);
ar               1160 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1169 drivers/net/wireless/ath/ath6kl/debug.c 	if (down_interruptible(&ar->sem))
ar               1172 drivers/net/wireless/ath/ath6kl/debug.c 	set_bit(ROAM_TBL_PEND, &ar->flag);
ar               1174 drivers/net/wireless/ath/ath6kl/debug.c 	ret = ath6kl_wmi_get_roam_tbl_cmd(ar->wmi);
ar               1176 drivers/net/wireless/ath/ath6kl/debug.c 		up(&ar->sem);
ar               1181 drivers/net/wireless/ath/ath6kl/debug.c 		ar->event_wq, !test_bit(ROAM_TBL_PEND, &ar->flag), WMI_TIMEOUT);
ar               1182 drivers/net/wireless/ath/ath6kl/debug.c 	up(&ar->sem);
ar               1187 drivers/net/wireless/ath/ath6kl/debug.c 	if (ar->debug.roam_tbl == NULL)
ar               1190 drivers/net/wireless/ath/ath6kl/debug.c 	tbl = (struct wmi_target_roam_tbl *) ar->debug.roam_tbl;
ar               1232 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1246 drivers/net/wireless/ath/ath6kl/debug.c 	ret = ath6kl_wmi_force_roam_cmd(ar->wmi, bssid);
ar               1264 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1286 drivers/net/wireless/ath/ath6kl/debug.c 	ret = ath6kl_wmi_set_roam_mode_cmd(ar->wmi, mode);
ar               1300 drivers/net/wireless/ath/ath6kl/debug.c void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive)
ar               1302 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.keepalive = keepalive;
ar               1308 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1312 drivers/net/wireless/ath/ath6kl/debug.c 	len = snprintf(buf, sizeof(buf), "%u\n", ar->debug.keepalive);
ar               1321 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1329 drivers/net/wireless/ath/ath6kl/debug.c 	ret = ath6kl_wmi_set_keepalive_cmd(ar->wmi, 0, val);
ar               1344 drivers/net/wireless/ath/ath6kl/debug.c void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar, u8 timeout)
ar               1346 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.disc_timeout = timeout;
ar               1353 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1357 drivers/net/wireless/ath/ath6kl/debug.c 	len = snprintf(buf, sizeof(buf), "%u\n", ar->debug.disc_timeout);
ar               1366 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1374 drivers/net/wireless/ath/ath6kl/debug.c 	ret = ath6kl_wmi_disctimeout_cmd(ar->wmi, 0, val);
ar               1393 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1402 drivers/net/wireless/ath/ath6kl/debug.c 	vif = ath6kl_vif_first(ar);
ar               1555 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_wmi_create_pstream_cmd(ar->wmi, vif->fw_vif_idx, &pstream);
ar               1571 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1579 drivers/net/wireless/ath/ath6kl/debug.c 	vif = ath6kl_vif_first(ar);
ar               1601 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_wmi_delete_pstream_cmd(ar->wmi, vif->fw_vif_idx,
ar               1618 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1624 drivers/net/wireless/ath/ath6kl/debug.c 	vif = ath6kl_vif_first(ar);
ar               1641 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_wmi_scanparams_cmd(ar->wmi, 0, 0, 0, bgscan_int, 0, 0, 0, 3,
ar               1658 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1664 drivers/net/wireless/ath/ath6kl/debug.c 	vif = ath6kl_vif_first(ar);
ar               1680 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
ar               1690 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1695 drivers/net/wireless/ath/ath6kl/debug.c 	vif = ath6kl_vif_first(ar);
ar               1716 drivers/net/wireless/ath/ath6kl/debug.c 	struct ath6kl *ar = file->private_data;
ar               1759 drivers/net/wireless/ath/ath6kl/debug.c 	ath6kl_wmi_pmparams_cmd(ar->wmi, 0, idle_period, ps_poll_num,
ar               1772 drivers/net/wireless/ath/ath6kl/debug.c void ath6kl_debug_init(struct ath6kl *ar)
ar               1774 drivers/net/wireless/ath/ath6kl/debug.c 	skb_queue_head_init(&ar->debug.fwlog_queue);
ar               1775 drivers/net/wireless/ath/ath6kl/debug.c 	init_completion(&ar->debug.fwlog_completion);
ar               1781 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debug.fwlog_mask = 0;
ar               1789 drivers/net/wireless/ath/ath6kl/debug.c int ath6kl_debug_init_fs(struct ath6kl *ar)
ar               1791 drivers/net/wireless/ath/ath6kl/debug.c 	ar->debugfs_phy = debugfs_create_dir("ath6kl",
ar               1792 drivers/net/wireless/ath/ath6kl/debug.c 					     ar->wiphy->debugfsdir);
ar               1793 drivers/net/wireless/ath/ath6kl/debug.c 	if (!ar->debugfs_phy)
ar               1796 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("tgt_stats", 0400, ar->debugfs_phy, ar,
ar               1799 drivers/net/wireless/ath/ath6kl/debug.c 	if (ar->hif_type == ATH6KL_HIF_TYPE_SDIO)
ar               1801 drivers/net/wireless/ath/ath6kl/debug.c 				    ar->debugfs_phy, ar,
ar               1805 drivers/net/wireless/ath/ath6kl/debug.c 			    ar->debugfs_phy, ar, &fops_endpoint_stats);
ar               1807 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("fwlog", 0400, ar->debugfs_phy, ar, &fops_fwlog);
ar               1809 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("fwlog_block", 0400, ar->debugfs_phy, ar,
ar               1812 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("fwlog_mask", 0600, ar->debugfs_phy,
ar               1813 drivers/net/wireless/ath/ath6kl/debug.c 			    ar, &fops_fwlog_mask);
ar               1815 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("reg_addr", 0600, ar->debugfs_phy, ar,
ar               1818 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("reg_dump", 0400, ar->debugfs_phy, ar,
ar               1822 drivers/net/wireless/ath/ath6kl/debug.c 			    ar->debugfs_phy, ar, &fops_lrssi_roam_threshold);
ar               1825 drivers/net/wireless/ath/ath6kl/debug.c 			    ar->debugfs_phy, ar, &fops_diag_reg_write);
ar               1827 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("war_stats", 0400, ar->debugfs_phy, ar,
ar               1830 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("roam_table", 0400, ar->debugfs_phy, ar,
ar               1833 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("force_roam", 0200, ar->debugfs_phy, ar,
ar               1836 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("roam_mode", 0200, ar->debugfs_phy, ar,
ar               1839 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("keepalive", 0600, ar->debugfs_phy, ar,
ar               1843 drivers/net/wireless/ath/ath6kl/debug.c 			    ar->debugfs_phy, ar, &fops_disconnect_timeout);
ar               1845 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("create_qos", 0200, ar->debugfs_phy, ar,
ar               1848 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("delete_qos", 0200, ar->debugfs_phy, ar,
ar               1852 drivers/net/wireless/ath/ath6kl/debug.c 			    ar->debugfs_phy, ar, &fops_bgscan_int);
ar               1855 drivers/net/wireless/ath/ath6kl/debug.c 			    ar->debugfs_phy, ar, &fops_listen_int);
ar               1857 drivers/net/wireless/ath/ath6kl/debug.c 	debugfs_create_file("power_params", 0200, ar->debugfs_phy, ar,
ar               1863 drivers/net/wireless/ath/ath6kl/debug.c void ath6kl_debug_cleanup(struct ath6kl *ar)
ar               1865 drivers/net/wireless/ath/ath6kl/debug.c 	skb_queue_purge(&ar->debug.fwlog_queue);
ar               1866 drivers/net/wireless/ath/ath6kl/debug.c 	complete(&ar->debug.fwlog_completion);
ar               1867 drivers/net/wireless/ath/ath6kl/debug.c 	kfree(ar->debug.roam_tbl);
ar                 62 drivers/net/wireless/ath/ath6kl/debug.h int ath6kl_read_tgt_stats(struct ath6kl *ar, struct ath6kl_vif *vif);
ar                 76 drivers/net/wireless/ath/ath6kl/debug.h void ath6kl_debug_fwlog_event(struct ath6kl *ar, const void *buf, size_t len);
ar                 77 drivers/net/wireless/ath/ath6kl/debug.h void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war);
ar                 78 drivers/net/wireless/ath/ath6kl/debug.h int ath6kl_debug_roam_tbl_event(struct ath6kl *ar, const void *buf,
ar                 80 drivers/net/wireless/ath/ath6kl/debug.h void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive);
ar                 81 drivers/net/wireless/ath/ath6kl/debug.h void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar, u8 timeout);
ar                 82 drivers/net/wireless/ath/ath6kl/debug.h void ath6kl_debug_init(struct ath6kl *ar);
ar                 83 drivers/net/wireless/ath/ath6kl/debug.h int ath6kl_debug_init_fs(struct ath6kl *ar);
ar                 84 drivers/net/wireless/ath/ath6kl/debug.h void ath6kl_debug_cleanup(struct ath6kl *ar);
ar                109 drivers/net/wireless/ath/ath6kl/debug.h static inline void ath6kl_debug_fwlog_event(struct ath6kl *ar,
ar                114 drivers/net/wireless/ath/ath6kl/debug.h static inline void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war)
ar                118 drivers/net/wireless/ath/ath6kl/debug.h static inline int ath6kl_debug_roam_tbl_event(struct ath6kl *ar,
ar                124 drivers/net/wireless/ath/ath6kl/debug.h static inline void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive)
ar                128 drivers/net/wireless/ath/ath6kl/debug.h static inline void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar,
ar                133 drivers/net/wireless/ath/ath6kl/debug.h static inline void ath6kl_debug_init(struct ath6kl *ar)
ar                137 drivers/net/wireless/ath/ath6kl/debug.h static inline int ath6kl_debug_init_fs(struct ath6kl *ar)
ar                142 drivers/net/wireless/ath/ath6kl/debug.h static inline void ath6kl_debug_cleanup(struct ath6kl *ar)
ar                 24 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int hif_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf,
ar                 32 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->read_write_sync(ar, addr, buf, len, request);
ar                 35 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int hif_write_async(struct ath6kl *ar, u32 address, u8 *buffer,
ar                 43 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->write_async(ar, address, buffer, length,
ar                 46 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline void ath6kl_hif_irq_enable(struct ath6kl *ar)
ar                 50 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->irq_enable(ar);
ar                 53 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline void ath6kl_hif_irq_disable(struct ath6kl *ar)
ar                 57 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->irq_disable(ar);
ar                 60 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline struct hif_scatter_req *hif_scatter_req_get(struct ath6kl *ar)
ar                 62 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->scatter_req_get(ar);
ar                 65 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline void hif_scatter_req_add(struct ath6kl *ar,
ar                 68 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->scatter_req_add(ar, s_req);
ar                 71 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_enable_scatter(struct ath6kl *ar)
ar                 73 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->enable_scatter(ar);
ar                 76 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_scat_req_rw(struct ath6kl *ar,
ar                 79 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->scat_req_rw(ar, scat_req);
ar                 82 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline void ath6kl_hif_cleanup_scatter(struct ath6kl *ar)
ar                 84 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->cleanup_scatter(ar);
ar                 87 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_suspend(struct ath6kl *ar,
ar                 92 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->suspend(ar, wow);
ar                 99 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_diag_read32(struct ath6kl *ar, u32 address,
ar                102 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->diag_read32(ar, address, value);
ar                109 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_diag_write32(struct ath6kl *ar, u32 address,
ar                112 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->diag_write32(ar, address, value);
ar                115 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_bmi_read(struct ath6kl *ar, u8 *buf, u32 len)
ar                117 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->bmi_read(ar, buf, len);
ar                120 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_bmi_write(struct ath6kl *ar, u8 *buf, u32 len)
ar                122 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->bmi_write(ar, buf, len);
ar                125 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_resume(struct ath6kl *ar)
ar                129 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->resume(ar);
ar                132 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_power_on(struct ath6kl *ar)
ar                136 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->power_on(ar);
ar                139 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_power_off(struct ath6kl *ar)
ar                143 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->power_off(ar);
ar                146 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline void ath6kl_hif_stop(struct ath6kl *ar)
ar                150 drivers/net/wireless/ath/ath6kl/hif-ops.h 	ar->hif_ops->stop(ar);
ar                153 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_pipe_send(struct ath6kl *ar,
ar                159 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->pipe_send(ar, pipe, hdr_buf, buf);
ar                162 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline void ath6kl_hif_pipe_get_default(struct ath6kl *ar,
ar                167 drivers/net/wireless/ath/ath6kl/hif-ops.h 	ar->hif_ops->pipe_get_default(ar, ul_pipe, dl_pipe);
ar                170 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline int ath6kl_hif_pipe_map_service(struct ath6kl *ar,
ar                176 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->pipe_map_service(ar, service_id, ul_pipe, dl_pipe);
ar                179 drivers/net/wireless/ath/ath6kl/hif-ops.h static inline u16 ath6kl_hif_pipe_get_free_queue_number(struct ath6kl *ar,
ar                184 drivers/net/wireless/ath/ath6kl/hif-ops.h 	return ar->hif_ops->pipe_get_free_queue_number(ar, pipe);
ar                 70 drivers/net/wireless/ath/ath6kl/hif.c static void ath6kl_hif_dump_fw_crash(struct ath6kl *ar)
ar                 77 drivers/net/wireless/ath/ath6kl/hif.c 	address = ath6kl_get_hi_item_addr(ar, HI_ITEM(hi_failure_state));
ar                 78 drivers/net/wireless/ath/ath6kl/hif.c 	address = TARG_VTOP(ar->target_type, address);
ar                 81 drivers/net/wireless/ath/ath6kl/hif.c 	ret = ath6kl_diag_read32(ar, address, &regdump_addr);
ar                 91 drivers/net/wireless/ath/ath6kl/hif.c 	regdump_addr = TARG_VTOP(ar->target_type, regdump_addr);
ar                 94 drivers/net/wireless/ath/ath6kl/hif.c 	ret = ath6kl_diag_read(ar, regdump_addr, (u8 *)&regdump_val[0],
ar                102 drivers/net/wireless/ath/ath6kl/hif.c 	ath6kl_info("hw 0x%x fw %s\n", ar->wiphy->hw_version,
ar                103 drivers/net/wireless/ath/ath6kl/hif.c 		    ar->wiphy->fw_version);
ar                128 drivers/net/wireless/ath/ath6kl/hif.c 	ret = hif_read_write_sync(dev->ar, COUNT_DEC_ADDRESS,
ar                133 drivers/net/wireless/ath/ath6kl/hif.c 	ath6kl_hif_dump_fw_crash(dev->ar);
ar                134 drivers/net/wireless/ath/ath6kl/hif.c 	ath6kl_read_fwlogs(dev->ar);
ar                135 drivers/net/wireless/ath/ath6kl/hif.c 	ath6kl_recovery_err_notify(dev->ar, ATH6KL_FW_ASSERT);
ar                150 drivers/net/wireless/ath/ath6kl/hif.c 		status = hif_read_write_sync(dev->ar, HOST_INT_STATUS_ADDRESS,
ar                222 drivers/net/wireless/ath/ath6kl/hif.c 	status = hif_read_write_sync(dev->ar, INT_STATUS_ENABLE_ADDRESS,
ar                237 drivers/net/wireless/ath/ath6kl/hif.c 		scat_req->addr = dev->ar->mbox_info.htc_addr;
ar                243 drivers/net/wireless/ath/ath6kl/hif.c 			dev->ar->mbox_info.htc_ext_addr :
ar                244 drivers/net/wireless/ath/ath6kl/hif.c 			dev->ar->mbox_info.htc_addr;
ar                257 drivers/net/wireless/ath/ath6kl/hif.c 			scat_req->complete(dev->ar->htc_target, scat_req);
ar                262 drivers/net/wireless/ath/ath6kl/hif.c 	status = ath6kl_hif_scat_req_rw(dev->ar, scat_req);
ar                335 drivers/net/wireless/ath/ath6kl/hif.c 	status = hif_read_write_sync(dev->ar, ERROR_INT_STATUS_ADDRESS,
ar                379 drivers/net/wireless/ath/ath6kl/hif.c 	status = hif_read_write_sync(dev->ar, CPU_INT_STATUS_ADDRESS,
ar                426 drivers/net/wireless/ath/ath6kl/hif.c 		status = hif_read_write_sync(dev->ar, HOST_INT_STATUS_ADDRESS,
ar                540 drivers/net/wireless/ath/ath6kl/hif.c int ath6kl_hif_intr_bh_handler(struct ath6kl *ar)
ar                542 drivers/net/wireless/ath/ath6kl/hif.c 	struct ath6kl_device *dev = ar->htc_target->dev;
ar                605 drivers/net/wireless/ath/ath6kl/hif.c 	status = hif_read_write_sync(dev->ar, INT_STATUS_ENABLE_ADDRESS,
ar                629 drivers/net/wireless/ath/ath6kl/hif.c 	return hif_read_write_sync(dev->ar, INT_STATUS_ENABLE_ADDRESS,
ar                650 drivers/net/wireless/ath/ath6kl/hif.c 	ath6kl_hif_irq_enable(dev->ar);
ar                664 drivers/net/wireless/ath/ath6kl/hif.c 	ath6kl_hif_irq_disable(dev->ar);
ar                680 drivers/net/wireless/ath/ath6kl/hif.c 	dev->htc_cnxt->block_sz = dev->ar->mbox_info.block_size;
ar                693 drivers/net/wireless/ath/ath6kl/hif.c 		   dev->htc_cnxt->block_sz, dev->ar->mbox_info.htc_addr);
ar                231 drivers/net/wireless/ath/ath6kl/hif.h 	struct ath6kl *ar;
ar                235 drivers/net/wireless/ath/ath6kl/hif.h 	int (*read_write_sync)(struct ath6kl *ar, u32 addr, u8 *buf,
ar                237 drivers/net/wireless/ath/ath6kl/hif.h 	int (*write_async)(struct ath6kl *ar, u32 address, u8 *buffer,
ar                240 drivers/net/wireless/ath/ath6kl/hif.h 	void (*irq_enable)(struct ath6kl *ar);
ar                241 drivers/net/wireless/ath/ath6kl/hif.h 	void (*irq_disable)(struct ath6kl *ar);
ar                243 drivers/net/wireless/ath/ath6kl/hif.h 	struct hif_scatter_req *(*scatter_req_get)(struct ath6kl *ar);
ar                244 drivers/net/wireless/ath/ath6kl/hif.h 	void (*scatter_req_add)(struct ath6kl *ar,
ar                246 drivers/net/wireless/ath/ath6kl/hif.h 	int (*enable_scatter)(struct ath6kl *ar);
ar                247 drivers/net/wireless/ath/ath6kl/hif.h 	int (*scat_req_rw) (struct ath6kl *ar,
ar                249 drivers/net/wireless/ath/ath6kl/hif.h 	void (*cleanup_scatter)(struct ath6kl *ar);
ar                250 drivers/net/wireless/ath/ath6kl/hif.h 	int (*suspend)(struct ath6kl *ar, struct cfg80211_wowlan *wow);
ar                251 drivers/net/wireless/ath/ath6kl/hif.h 	int (*resume)(struct ath6kl *ar);
ar                252 drivers/net/wireless/ath/ath6kl/hif.h 	int (*diag_read32)(struct ath6kl *ar, u32 address, u32 *value);
ar                253 drivers/net/wireless/ath/ath6kl/hif.h 	int (*diag_write32)(struct ath6kl *ar, u32 address, __le32 value);
ar                254 drivers/net/wireless/ath/ath6kl/hif.h 	int (*bmi_read)(struct ath6kl *ar, u8 *buf, u32 len);
ar                255 drivers/net/wireless/ath/ath6kl/hif.h 	int (*bmi_write)(struct ath6kl *ar, u8 *buf, u32 len);
ar                256 drivers/net/wireless/ath/ath6kl/hif.h 	int (*power_on)(struct ath6kl *ar);
ar                257 drivers/net/wireless/ath/ath6kl/hif.h 	int (*power_off)(struct ath6kl *ar);
ar                258 drivers/net/wireless/ath/ath6kl/hif.h 	void (*stop)(struct ath6kl *ar);
ar                259 drivers/net/wireless/ath/ath6kl/hif.h 	int (*pipe_send)(struct ath6kl *ar, u8 pipe, struct sk_buff *hdr_buf,
ar                261 drivers/net/wireless/ath/ath6kl/hif.h 	void (*pipe_get_default)(struct ath6kl *ar, u8 *pipe_ul, u8 *pipe_dl);
ar                262 drivers/net/wireless/ath/ath6kl/hif.h 	int (*pipe_map_service)(struct ath6kl *ar, u16 service_id, u8 *pipe_ul,
ar                264 drivers/net/wireless/ath/ath6kl/hif.h 	u16 (*pipe_get_free_queue_number)(struct ath6kl *ar, u8 pipe);
ar                276 drivers/net/wireless/ath/ath6kl/hif.h int ath6kl_hif_intr_bh_handler(struct ath6kl *ar);
ar                 23 drivers/net/wireless/ath/ath6kl/htc-ops.h static inline void *ath6kl_htc_create(struct ath6kl *ar)
ar                 25 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return ar->htc_ops->create(ar);
ar                 30 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->wait_target(target);
ar                 35 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->start(target);
ar                 42 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->conn_service(target, req, resp);
ar                 48 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->tx(target, packet);
ar                 53 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->stop(target);
ar                 58 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->cleanup(target);
ar                 65 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->flush_txep(target, endpoint, tag);
ar                 70 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->flush_rx_buf(target);
ar                 77 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->activity_changed(target, endpoint,
ar                 84 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->get_rxbuf_num(target, endpoint);
ar                 90 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->add_rxbuf_multiple(target, pktq);
ar                 96 drivers/net/wireless/ath/ath6kl/htc-ops.h 	return target->dev->ar->htc_ops->credit_setup(target, info);
ar                 99 drivers/net/wireless/ath/ath6kl/htc-ops.h static inline void ath6kl_htc_tx_complete(struct ath6kl *ar,
ar                102 drivers/net/wireless/ath/ath6kl/htc-ops.h 	ar->htc_ops->tx_complete(ar, skb);
ar                106 drivers/net/wireless/ath/ath6kl/htc-ops.h static inline void ath6kl_htc_rx_complete(struct ath6kl *ar,
ar                109 drivers/net/wireless/ath/ath6kl/htc-ops.h 	ar->htc_ops->rx_complete(ar, skb, pipe);
ar                549 drivers/net/wireless/ath/ath6kl/htc.h 	void* (*create)(struct ath6kl *ar);
ar                570 drivers/net/wireless/ath/ath6kl/htc.h 	int (*tx_complete)(struct ath6kl *ar, struct sk_buff *skb);
ar                571 drivers/net/wireless/ath/ath6kl/htc.h 	int (*rx_complete)(struct ath6kl *ar, struct sk_buff *skb, u8 pipe);
ar                674 drivers/net/wireless/ath/ath6kl/htc.h void ath6kl_htc_pipe_attach(struct ath6kl *ar);
ar                675 drivers/net/wireless/ath/ath6kl/htc.h void ath6kl_htc_mbox_attach(struct ath6kl *ar);
ar                501 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	hif_scatter_req_add(target->dev->ar, scat_req);
ar                524 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		   target->dev->ar->mbox_info.htc_addr,
ar                528 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		status = hif_read_write_sync(target->dev->ar,
ar                529 drivers/net/wireless/ath/ath6kl/htc_mbox.c 				target->dev->ar->mbox_info.htc_addr,
ar                536 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		status = hif_write_async(target->dev->ar,
ar                537 drivers/net/wireless/ath/ath6kl/htc_mbox.c 				target->dev->ar->mbox_info.htc_addr,
ar                769 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		ac = target->dev->ar->ep2ac_map[endpoint->eid];
ar                780 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		scat_req = hif_scatter_req_get(target->dev->ar);
ar                825 drivers/net/wireless/ath/ath6kl/htc_mbox.c 			hif_scatter_req_add(target->dev->ar, scat_req);
ar                886 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		ac = target->dev->ar->ep2ac_map[endpoint->eid];
ar               1265 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	return (eid == target->dev->ar->ctrl_ep) ?
ar               1319 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		   padded_len, dev->ar->mbox_info.htc_addr);
ar               1321 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	status = hif_read_write_sync(dev->ar,
ar               1322 drivers/net/wireless/ath/ath6kl/htc_mbox.c 				     dev->ar->mbox_info.htc_addr,
ar               1945 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	scat_req = hif_scatter_req_get(target->dev->ar);
ar               1996 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	hif_scatter_req_add(target->dev->ar, scat_req);
ar               2614 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	if (ath6kl_hif_enable_scatter(target->dev->ar)) {
ar               2727 drivers/net/wireless/ath/ath6kl/htc_mbox.c 		ath6kl_hif_cleanup_scatter(target->dev->ar);
ar               2792 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	block_size = target->dev->ar->mbox_info.block_size;
ar               2844 drivers/net/wireless/ath/ath6kl/htc_mbox.c static void *ath6kl_htc_mbox_create(struct ath6kl *ar)
ar               2870 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	target->dev->ar = ar;
ar               2895 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	ath6kl_hif_cleanup_scatter(target->dev->ar);
ar               2931 drivers/net/wireless/ath/ath6kl/htc_mbox.c void ath6kl_htc_mbox_attach(struct ath6kl *ar)
ar               2933 drivers/net/wireless/ath/ath6kl/htc_mbox.c 	ar->htc_ops = &ath6kl_htc_mbox_ops;
ar                254 drivers/net/wireless/ath/ath6kl/htc_pipe.c 		status = ath6kl_hif_pipe_send(target->dev->ar,
ar                306 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	struct ath6kl *ar = target->dev->ar;
ar                412 drivers/net/wireless/ath/ath6kl/htc_pipe.c 		    ath6kl_hif_pipe_get_free_queue_number(ar,
ar                487 drivers/net/wireless/ath/ath6kl/htc_pipe.c 			    ath6kl_hif_pipe_get_free_queue_number(ar, pipeid);
ar                742 drivers/net/wireless/ath/ath6kl/htc_pipe.c static int ath6kl_htc_pipe_tx_complete(struct ath6kl *ar, struct sk_buff *skb)
ar                744 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	struct htc_target *target = ar->htc_target;
ar                942 drivers/net/wireless/ath/ath6kl/htc_pipe.c static int ath6kl_htc_pipe_rx_complete(struct ath6kl *ar, struct sk_buff *skb,
ar                945 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	struct htc_target *target = ar->htc_target;
ar               1222 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	struct ath6kl *ar = target->dev->ar;
ar               1380 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	status = ath6kl_hif_pipe_map_service(ar, ep->svc_id,
ar               1405 drivers/net/wireless/ath/ath6kl/htc_pipe.c static void *ath6kl_htc_pipe_create(struct ath6kl *ar)
ar               1439 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	target->dev->ar = ar;
ar               1445 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	ath6kl_hif_pipe_get_default(ar, &ep->pipe.pipeid_ul,
ar               1722 drivers/net/wireless/ath/ath6kl/htc_pipe.c void ath6kl_htc_pipe_attach(struct ath6kl *ar)
ar               1724 drivers/net/wireless/ath/ath6kl/htc_pipe.c 	ar->htc_ops = &ath6kl_htc_pipe_ops;
ar                251 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_set_host_app_area(struct ath6kl *ar)
ar                258 drivers/net/wireless/ath/ath6kl/init.c 	address = ath6kl_get_hi_item_addr(ar, HI_ITEM(hi_app_host_interest));
ar                259 drivers/net/wireless/ath/ath6kl/init.c 	address = TARG_VTOP(ar->target_type, address);
ar                261 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_diag_read32(ar, address, &data))
ar                264 drivers/net/wireless/ath/ath6kl/init.c 	address = TARG_VTOP(ar->target_type, data);
ar                266 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_diag_write(ar, address, (u8 *) &host_app_area,
ar                273 drivers/net/wireless/ath/ath6kl/init.c static inline void set_ac2_ep_map(struct ath6kl *ar,
ar                277 drivers/net/wireless/ath/ath6kl/init.c 	ar->ac2ep_map[ac] = ep;
ar                278 drivers/net/wireless/ath/ath6kl/init.c 	ar->ep2ac_map[ep] = ac;
ar                282 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_connectservice(struct ath6kl *ar,
ar                291 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_htc_conn_service(ar->htc_target, con_req, &response);
ar                300 drivers/net/wireless/ath/ath6kl/init.c 		if (test_bit(WMI_ENABLED, &ar->flag))
ar                301 drivers/net/wireless/ath/ath6kl/init.c 			ath6kl_wmi_set_control_ep(ar->wmi, response.endpoint);
ar                302 drivers/net/wireless/ath/ath6kl/init.c 		ar->ctrl_ep = response.endpoint;
ar                305 drivers/net/wireless/ath/ath6kl/init.c 		set_ac2_ep_map(ar, WMM_AC_BE, response.endpoint);
ar                308 drivers/net/wireless/ath/ath6kl/init.c 		set_ac2_ep_map(ar, WMM_AC_BK, response.endpoint);
ar                311 drivers/net/wireless/ath/ath6kl/init.c 		set_ac2_ep_map(ar, WMM_AC_VI, response.endpoint);
ar                314 drivers/net/wireless/ath/ath6kl/init.c 		set_ac2_ep_map(ar, WMM_AC_VO, response.endpoint);
ar                324 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_init_service_ep(struct ath6kl *ar)
ar                347 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_connectservice(ar, &connect, "WMI CONTROL"))
ar                377 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_connectservice(ar, &connect, "WMI DATA BE"))
ar                382 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_connectservice(ar, &connect, "WMI DATA BK"))
ar                387 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_connectservice(ar, &connect, "WMI DATA VI"))
ar                398 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_connectservice(ar, &connect, "WMI DATA VO"))
ar                416 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_set_htc_params(struct ath6kl *ar, u32 mbox_isr_yield_val,
ar                422 drivers/net/wireless/ath/ath6kl/init.c 	blk_size = ar->mbox_info.block_size;
ar                428 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_write_hi32(ar, hi_mbox_io_block_sz, blk_size);
ar                436 drivers/net/wireless/ath/ath6kl/init.c 		   ath6kl_get_hi_item_addr(ar, HI_ITEM(hi_mbox_io_block_sz)));
ar                440 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_write_hi32(ar, hi_mbox_isr_yield_limit,
ar                452 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_target_config_wlan_params(struct ath6kl *ar, int idx)
ar                461 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_wmi_set_rx_frame_format_cmd(ar->wmi, idx,
ar                462 drivers/net/wireless/ath/ath6kl/init.c 						 ar->rx_meta_ver, 0, 0);
ar                468 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->conf_flags & ATH6KL_CONF_IGNORE_PS_FAIL_EVT_IN_SCAN) {
ar                469 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_wmi_pmparams_cmd(ar->wmi, idx, 0, 1, 0, 0, 1,
ar                478 drivers/net/wireless/ath/ath6kl/init.c 	if (!(ar->conf_flags & ATH6KL_CONF_IGNORE_ERP_BARKER)) {
ar                479 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_wmi_set_lpreamble_cmd(ar->wmi, idx, 0,
ar                488 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_wmi_set_keepalive_cmd(ar->wmi, idx,
ar                495 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_wmi_disctimeout_cmd(ar->wmi, idx,
ar                502 drivers/net/wireless/ath/ath6kl/init.c 	if (!(ar->conf_flags & ATH6KL_CONF_ENABLE_TX_BURST)) {
ar                503 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_wmi_set_wmm_txop(ar->wmi, idx, WMI_TXOP_DISABLED);
ar                510 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->p2p && (ar->vif_max == 1 || idx)) {
ar                511 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_wmi_info_req_cmd(ar->wmi, idx,
ar                519 drivers/net/wireless/ath/ath6kl/init.c 			ar->p2p = false;
ar                523 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->p2p && (ar->vif_max == 1 || idx)) {
ar                525 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_wmi_probe_report_req_cmd(ar->wmi, idx, true);
ar                536 drivers/net/wireless/ath/ath6kl/init.c int ath6kl_configure_target(struct ath6kl *ar)
ar                542 drivers/net/wireless/ath/ath6kl/init.c 	param = !!(ar->conf_flags & ATH6KL_CONF_UART_DEBUG);
ar                543 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_bmi_write_hi32(ar, hi_serial_enable, param)) {
ar                558 drivers/net/wireless/ath/ath6kl/init.c 	for (i = 0; i < ar->vif_max; i++)
ar                571 drivers/net/wireless/ath/ath6kl/init.c 		     ar->fw_capabilities)) {
ar                572 drivers/net/wireless/ath/ath6kl/init.c 		for (i = 0; i < ar->vif_max; i++)
ar                576 drivers/net/wireless/ath/ath6kl/init.c 		for (i = 0; i < ar->max_norm_iface; i++)
ar                580 drivers/net/wireless/ath/ath6kl/init.c 		for (i = ar->max_norm_iface; i < ar->vif_max; i++)
ar                584 drivers/net/wireless/ath/ath6kl/init.c 		if (ar->p2p && ar->vif_max == 1)
ar                588 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_bmi_write_hi32(ar, hi_app_host_interest,
ar                597 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_bmi_read_hi32(ar, hi_option_flag, &param) != 0) {
ar                602 drivers/net/wireless/ath/ath6kl/init.c 	param |= (ar->vif_max << HI_OPTION_NUM_DEV_SHIFT);
ar                609 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_bmi_write_hi32(ar, hi_option_flag, param) != 0) {
ar                625 drivers/net/wireless/ath/ath6kl/init.c 	if ((ar->target_type == TARGET_TYPE_AR6003) ||
ar                626 drivers/net/wireless/ath/ath6kl/init.c 	    (ar->version.target_ver == AR6004_HW_1_3_VERSION) ||
ar                627 drivers/net/wireless/ath/ath6kl/init.c 	    (ar->version.target_ver == AR6004_HW_3_0_VERSION)) {
ar                628 drivers/net/wireless/ath/ath6kl/init.c 		param = ar->hw.board_ext_data_addr;
ar                629 drivers/net/wireless/ath/ath6kl/init.c 		ram_reserved_size = ar->hw.reserved_ram_size;
ar                631 drivers/net/wireless/ath/ath6kl/init.c 		if (ath6kl_bmi_write_hi32(ar, hi_board_ext_data, param) != 0) {
ar                636 drivers/net/wireless/ath/ath6kl/init.c 		if (ath6kl_bmi_write_hi32(ar, hi_end_ram_reserve_sz,
ar                644 drivers/net/wireless/ath/ath6kl/init.c 	if (ath6kl_set_htc_params(ar, MBOX_YIELD_LIMIT, 0))
ar                649 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_write_hi32(ar, hi_dbg_uart_txpin,
ar                650 drivers/net/wireless/ath/ath6kl/init.c 				       ar->hw.uarttx_pin);
ar                655 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->conf_flags & ATH6KL_CONF_UART_DEBUG) {
ar                656 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_write_hi32(ar, hi_desired_baud_rate,
ar                657 drivers/net/wireless/ath/ath6kl/init.c 					       ar->hw.uarttx_rate);
ar                663 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.refclk_hz != 0) {
ar                664 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_write_hi32(ar, hi_refclk_hz,
ar                665 drivers/net/wireless/ath/ath6kl/init.c 					       ar->hw.refclk_hz);
ar                674 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_get_fw(struct ath6kl *ar, const char *filename,
ar                680 drivers/net/wireless/ath/ath6kl/init.c 	ret = request_firmware(&fw_entry, filename, ar->dev);
ar                702 drivers/net/wireless/ath/ath6kl/init.c static bool check_device_tree(struct ath6kl *ar)
ar                718 drivers/net/wireless/ath/ath6kl/init.c 			 "%s/bdata.%s.bin", ar->hw.fw.dir, board_id);
ar                720 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_get_fw(ar, board_filename, &ar->fw_board,
ar                721 drivers/net/wireless/ath/ath6kl/init.c 				    &ar->fw_board_len);
ar                733 drivers/net/wireless/ath/ath6kl/init.c static bool check_device_tree(struct ath6kl *ar)
ar                739 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_board_file(struct ath6kl *ar)
ar                744 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_board != NULL)
ar                747 drivers/net/wireless/ath/ath6kl/init.c 	if (WARN_ON(ar->hw.fw_board == NULL))
ar                750 drivers/net/wireless/ath/ath6kl/init.c 	filename = ar->hw.fw_board;
ar                752 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw_board,
ar                753 drivers/net/wireless/ath/ath6kl/init.c 			    &ar->fw_board_len);
ar                759 drivers/net/wireless/ath/ath6kl/init.c 	if (check_device_tree(ar)) {
ar                768 drivers/net/wireless/ath/ath6kl/init.c 	filename = ar->hw.fw_default_board;
ar                770 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw_board,
ar                771 drivers/net/wireless/ath/ath6kl/init.c 			    &ar->fw_board_len);
ar                784 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_otp_file(struct ath6kl *ar)
ar                789 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_otp != NULL)
ar                792 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.fw.otp == NULL) {
ar                799 drivers/net/wireless/ath/ath6kl/init.c 		 ar->hw.fw.dir, ar->hw.fw.otp);
ar                801 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw_otp,
ar                802 drivers/net/wireless/ath/ath6kl/init.c 			    &ar->fw_otp_len);
ar                812 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_testmode_file(struct ath6kl *ar)
ar                817 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->testmode == 0)
ar                820 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_dbg(ATH6KL_DBG_BOOT, "testmode %d\n", ar->testmode);
ar                822 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->testmode == 2) {
ar                823 drivers/net/wireless/ath/ath6kl/init.c 		if (ar->hw.fw.utf == NULL) {
ar                829 drivers/net/wireless/ath/ath6kl/init.c 			 ar->hw.fw.dir, ar->hw.fw.utf);
ar                831 drivers/net/wireless/ath/ath6kl/init.c 		if (ar->hw.fw.tcmd == NULL) {
ar                837 drivers/net/wireless/ath/ath6kl/init.c 			 ar->hw.fw.dir, ar->hw.fw.tcmd);
ar                840 drivers/net/wireless/ath/ath6kl/init.c 	set_bit(TESTMODE, &ar->flag);
ar                842 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw, &ar->fw_len);
ar                845 drivers/net/wireless/ath/ath6kl/init.c 			   ar->testmode, filename, ret);
ar                852 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_fw_file(struct ath6kl *ar)
ar                857 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw != NULL)
ar                861 drivers/net/wireless/ath/ath6kl/init.c 	if (WARN_ON(ar->hw.fw.fw == NULL))
ar                865 drivers/net/wireless/ath/ath6kl/init.c 		 ar->hw.fw.dir, ar->hw.fw.fw);
ar                867 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw, &ar->fw_len);
ar                877 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_patch_file(struct ath6kl *ar)
ar                882 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_patch != NULL)
ar                885 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.fw.patch == NULL)
ar                889 drivers/net/wireless/ath/ath6kl/init.c 		 ar->hw.fw.dir, ar->hw.fw.patch);
ar                891 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw_patch,
ar                892 drivers/net/wireless/ath/ath6kl/init.c 			    &ar->fw_patch_len);
ar                902 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_testscript_file(struct ath6kl *ar)
ar                907 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->testmode != 2)
ar                910 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_testscript != NULL)
ar                913 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.fw.testscript == NULL)
ar                917 drivers/net/wireless/ath/ath6kl/init.c 		 ar->hw.fw.dir, ar->hw.fw.testscript);
ar                919 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_get_fw(ar, filename, &ar->fw_testscript,
ar                920 drivers/net/wireless/ath/ath6kl/init.c 				&ar->fw_testscript_len);
ar                930 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_fw_api1(struct ath6kl *ar)
ar                934 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_otp_file(ar);
ar                938 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_fw_file(ar);
ar                942 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_patch_file(ar);
ar                946 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_testscript_file(ar);
ar                953 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_fetch_fw_apin(struct ath6kl *ar, const char *name)
ar                963 drivers/net/wireless/ath/ath6kl/init.c 	snprintf(filename, sizeof(filename), "%s/%s", ar->hw.fw.dir, name);
ar                965 drivers/net/wireless/ath/ath6kl/init.c 	ret = request_firmware(&fw, filename, ar->dev);
ar               1017 drivers/net/wireless/ath/ath6kl/init.c 			strlcpy(ar->wiphy->fw_version, data,
ar               1018 drivers/net/wireless/ath/ath6kl/init.c 				min(sizeof(ar->wiphy->fw_version), ie_len+1));
ar               1022 drivers/net/wireless/ath/ath6kl/init.c 				    ar->wiphy->fw_version);
ar               1028 drivers/net/wireless/ath/ath6kl/init.c 			ar->fw_otp = kmemdup(data, ie_len, GFP_KERNEL);
ar               1030 drivers/net/wireless/ath/ath6kl/init.c 			if (ar->fw_otp == NULL) {
ar               1036 drivers/net/wireless/ath/ath6kl/init.c 			ar->fw_otp_len = ie_len;
ar               1043 drivers/net/wireless/ath/ath6kl/init.c 			if (ar->fw != NULL)
ar               1046 drivers/net/wireless/ath/ath6kl/init.c 			ar->fw = vmalloc(ie_len);
ar               1048 drivers/net/wireless/ath/ath6kl/init.c 			if (ar->fw == NULL) {
ar               1054 drivers/net/wireless/ath/ath6kl/init.c 			memcpy(ar->fw, data, ie_len);
ar               1055 drivers/net/wireless/ath/ath6kl/init.c 			ar->fw_len = ie_len;
ar               1061 drivers/net/wireless/ath/ath6kl/init.c 			ar->fw_patch = kmemdup(data, ie_len, GFP_KERNEL);
ar               1063 drivers/net/wireless/ath/ath6kl/init.c 			if (ar->fw_patch == NULL) {
ar               1069 drivers/net/wireless/ath/ath6kl/init.c 			ar->fw_patch_len = ie_len;
ar               1073 drivers/net/wireless/ath/ath6kl/init.c 			ar->hw.reserved_ram_size = le32_to_cpup(val);
ar               1077 drivers/net/wireless/ath/ath6kl/init.c 				   ar->hw.reserved_ram_size);
ar               1092 drivers/net/wireless/ath/ath6kl/init.c 					__set_bit(i, ar->fw_capabilities);
ar               1096 drivers/net/wireless/ath/ath6kl/init.c 					ar->fw_capabilities,
ar               1097 drivers/net/wireless/ath/ath6kl/init.c 					sizeof(ar->fw_capabilities));
ar               1104 drivers/net/wireless/ath/ath6kl/init.c 			ar->hw.dataset_patch_addr = le32_to_cpup(val);
ar               1108 drivers/net/wireless/ath/ath6kl/init.c 				   ar->hw.dataset_patch_addr);
ar               1115 drivers/net/wireless/ath/ath6kl/init.c 			ar->hw.board_addr = le32_to_cpup(val);
ar               1119 drivers/net/wireless/ath/ath6kl/init.c 				   ar->hw.board_addr);
ar               1126 drivers/net/wireless/ath/ath6kl/init.c 			ar->vif_max = min_t(unsigned int, le32_to_cpup(val),
ar               1129 drivers/net/wireless/ath/ath6kl/init.c 			if (ar->vif_max > 1 && !ar->p2p)
ar               1130 drivers/net/wireless/ath/ath6kl/init.c 				ar->max_norm_iface = 2;
ar               1133 drivers/net/wireless/ath/ath6kl/init.c 				   "found vif max ie %d\n", ar->vif_max);
ar               1152 drivers/net/wireless/ath/ath6kl/init.c int ath6kl_init_fetch_firmwares(struct ath6kl *ar)
ar               1156 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_board_file(ar);
ar               1160 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_testmode_file(ar);
ar               1164 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_fw_apin(ar, ATH6KL_FW_API5_FILE);
ar               1166 drivers/net/wireless/ath/ath6kl/init.c 		ar->fw_api = 5;
ar               1170 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_fw_apin(ar, ATH6KL_FW_API4_FILE);
ar               1172 drivers/net/wireless/ath/ath6kl/init.c 		ar->fw_api = 4;
ar               1176 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_fw_apin(ar, ATH6KL_FW_API3_FILE);
ar               1178 drivers/net/wireless/ath/ath6kl/init.c 		ar->fw_api = 3;
ar               1182 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_fw_apin(ar, ATH6KL_FW_API2_FILE);
ar               1184 drivers/net/wireless/ath/ath6kl/init.c 		ar->fw_api = 2;
ar               1188 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_fetch_fw_api1(ar);
ar               1192 drivers/net/wireless/ath/ath6kl/init.c 	ar->fw_api = 1;
ar               1195 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_dbg(ATH6KL_DBG_BOOT, "using fw api %d\n", ar->fw_api);
ar               1200 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_upload_board_file(struct ath6kl *ar)
ar               1206 drivers/net/wireless/ath/ath6kl/init.c 	if (WARN_ON(ar->fw_board == NULL))
ar               1214 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.board_addr != 0) {
ar               1215 drivers/net/wireless/ath/ath6kl/init.c 		board_address = ar->hw.board_addr;
ar               1216 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_bmi_write_hi32(ar, hi_board_data,
ar               1219 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_bmi_read_hi32(ar, hi_board_data, &board_address);
ar               1227 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_read_hi32(ar, hi_board_ext_data, &board_ext_address);
ar               1233 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->target_type == TARGET_TYPE_AR6003 &&
ar               1239 drivers/net/wireless/ath/ath6kl/init.c 	switch (ar->target_type) {
ar               1243 drivers/net/wireless/ath/ath6kl/init.c 		if (ar->fw_board_len > (board_data_size + board_ext_data_size))
ar               1256 drivers/net/wireless/ath/ath6kl/init.c 	    ar->fw_board_len == (board_data_size + board_ext_data_size)) {
ar               1262 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_bmi_write(ar, board_ext_address,
ar               1263 drivers/net/wireless/ath/ath6kl/init.c 				       ar->fw_board + board_data_size,
ar               1274 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_bmi_write_hi32(ar, hi_board_ext_data_config, param);
ar               1277 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_board_len < board_data_size) {
ar               1278 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_err("Too small board file: %zu\n", ar->fw_board_len);
ar               1286 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_write(ar, board_address, ar->fw_board,
ar               1295 drivers/net/wireless/ath/ath6kl/init.c 	if ((ar->version.target_ver == AR6004_HW_1_3_VERSION) ||
ar               1296 drivers/net/wireless/ath/ath6kl/init.c 	    (ar->version.target_ver == AR6004_HW_3_0_VERSION))
ar               1301 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_bmi_write_hi32(ar, hi_board_data_initialized, param);
ar               1306 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_upload_otp(struct ath6kl *ar)
ar               1312 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_otp == NULL)
ar               1315 drivers/net/wireless/ath/ath6kl/init.c 	address = ar->hw.app_load_addr;
ar               1318 drivers/net/wireless/ath/ath6kl/init.c 		   ar->fw_otp_len);
ar               1320 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_fast_download(ar, address, ar->fw_otp,
ar               1321 drivers/net/wireless/ath/ath6kl/init.c 				       ar->fw_otp_len);
ar               1328 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_read_hi32(ar, hi_app_start, &address);
ar               1335 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.app_start_override_addr == 0) {
ar               1336 drivers/net/wireless/ath/ath6kl/init.c 		ar->hw.app_start_override_addr = address;
ar               1342 drivers/net/wireless/ath/ath6kl/init.c 		   ar->hw.app_start_override_addr);
ar               1346 drivers/net/wireless/ath/ath6kl/init.c 		   ar->hw.app_start_override_addr);
ar               1348 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_bmi_execute(ar, ar->hw.app_start_override_addr, &param);
ar               1353 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_upload_firmware(struct ath6kl *ar)
ar               1358 drivers/net/wireless/ath/ath6kl/init.c 	if (WARN_ON(ar->fw == NULL))
ar               1361 drivers/net/wireless/ath/ath6kl/init.c 	address = ar->hw.app_load_addr;
ar               1364 drivers/net/wireless/ath/ath6kl/init.c 		   address, ar->fw_len);
ar               1366 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_fast_download(ar, address, ar->fw, ar->fw_len);
ar               1377 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->target_type != TARGET_TYPE_AR6004) {
ar               1378 drivers/net/wireless/ath/ath6kl/init.c 		address = ar->hw.app_start_override_addr;
ar               1379 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_bmi_set_app_start(ar, address);
ar               1384 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_upload_patch(struct ath6kl *ar)
ar               1389 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_patch == NULL)
ar               1392 drivers/net/wireless/ath/ath6kl/init.c 	address = ar->hw.dataset_patch_addr;
ar               1395 drivers/net/wireless/ath/ath6kl/init.c 		   address, ar->fw_patch_len);
ar               1397 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_write(ar, address, ar->fw_patch, ar->fw_patch_len);
ar               1403 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_bmi_write_hi32(ar, hi_dset_list_head, address);
ar               1408 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_upload_testscript(struct ath6kl *ar)
ar               1413 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->testmode != 2)
ar               1416 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_testscript == NULL)
ar               1419 drivers/net/wireless/ath/ath6kl/init.c 	address = ar->hw.testscript_addr;
ar               1422 drivers/net/wireless/ath/ath6kl/init.c 		   address, ar->fw_testscript_len);
ar               1424 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_write(ar, address, ar->fw_testscript,
ar               1425 drivers/net/wireless/ath/ath6kl/init.c 		ar->fw_testscript_len);
ar               1431 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_bmi_write_hi32(ar, hi_ota_testscript, address);
ar               1433 drivers/net/wireless/ath/ath6kl/init.c 	if ((ar->version.target_ver != AR6004_HW_1_3_VERSION) &&
ar               1434 drivers/net/wireless/ath/ath6kl/init.c 	    (ar->version.target_ver != AR6004_HW_3_0_VERSION))
ar               1435 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_bmi_write_hi32(ar, hi_end_ram_reserve_sz, 4096);
ar               1437 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_bmi_write_hi32(ar, hi_test_apps_related, 1);
ar               1442 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_init_upload(struct ath6kl *ar)
ar               1447 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->target_type != TARGET_TYPE_AR6003 &&
ar               1448 drivers/net/wireless/ath/ath6kl/init.c 	    ar->target_type != TARGET_TYPE_AR6004)
ar               1453 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_read(ar, address, &param);
ar               1460 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_write(ar, address, param);
ar               1465 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_read(ar, address, &param);
ar               1472 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_write(ar, address, param);
ar               1481 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->target_type != TARGET_TYPE_AR6004) {
ar               1482 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, ATH6KL_ANALOG_PLL_REGISTER,
ar               1492 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, address, param);
ar               1500 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_write(ar, address, param);
ar               1505 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->hw.flags & ATH6KL_HW_SDIO_CRC_ERROR_WAR) {
ar               1510 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, address, param);
ar               1517 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, address, param);
ar               1522 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, address, param);
ar               1527 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, address, param);
ar               1532 drivers/net/wireless/ath/ath6kl/init.c 		status = ath6kl_bmi_reg_write(ar, address, param);
ar               1538 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_upload_board_file(ar);
ar               1543 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_upload_otp(ar);
ar               1548 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_upload_firmware(ar);
ar               1552 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_upload_patch(ar);
ar               1557 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_upload_testscript(ar);
ar               1563 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_write(ar, address, sleep);
ar               1569 drivers/net/wireless/ath/ath6kl/init.c 	status = ath6kl_bmi_reg_write(ar, address, param);
ar               1576 drivers/net/wireless/ath/ath6kl/init.c int ath6kl_init_hw_params(struct ath6kl *ar)
ar               1584 drivers/net/wireless/ath/ath6kl/init.c 		if (hw->id == ar->version.target_ver)
ar               1590 drivers/net/wireless/ath/ath6kl/init.c 			   ar->version.target_ver);
ar               1594 drivers/net/wireless/ath/ath6kl/init.c 	ar->hw = *hw;
ar               1598 drivers/net/wireless/ath/ath6kl/init.c 		   ar->version.target_ver, ar->target_type,
ar               1599 drivers/net/wireless/ath/ath6kl/init.c 		   ar->hw.dataset_patch_addr, ar->hw.app_load_addr);
ar               1602 drivers/net/wireless/ath/ath6kl/init.c 		   ar->hw.app_start_override_addr, ar->hw.board_ext_data_addr,
ar               1603 drivers/net/wireless/ath/ath6kl/init.c 		   ar->hw.reserved_ram_size);
ar               1606 drivers/net/wireless/ath/ath6kl/init.c 		   ar->hw.refclk_hz, ar->hw.uarttx_pin);
ar               1661 drivers/net/wireless/ath/ath6kl/init.c static void ath6kl_init_get_fwcaps(struct ath6kl *ar, char *buf, size_t buf_len)
ar               1663 drivers/net/wireless/ath/ath6kl/init.c 	u8 *data = (u8 *) ar->fw_capabilities;
ar               1672 drivers/net/wireless/ath/ath6kl/init.c 		if (index >= sizeof(ar->fw_capabilities) * 4)
ar               1698 drivers/net/wireless/ath/ath6kl/init.c static int ath6kl_init_hw_reset(struct ath6kl *ar)
ar               1702 drivers/net/wireless/ath/ath6kl/init.c 	return ath6kl_diag_write32(ar, RESET_CONTROL_ADDRESS,
ar               1706 drivers/net/wireless/ath/ath6kl/init.c static int __ath6kl_init_hw_start(struct ath6kl *ar)
ar               1714 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_hif_power_on(ar);
ar               1718 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_configure_target(ar);
ar               1722 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_init_upload(ar);
ar               1727 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_bmi_done(ar);
ar               1736 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_htc_wait_target(ar->htc_target);
ar               1746 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_init_hw_reset(ar);
ar               1753 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_init_service_ep(ar);
ar               1760 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_htc_credit_setup(ar->htc_target, &ar->credit_state_info);
ar               1763 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_htc_start(ar->htc_target);
ar               1766 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_cookie_cleanup(ar);
ar               1771 drivers/net/wireless/ath/ath6kl/init.c 	timeleft = wait_event_interruptible_timeout(ar->event_wq,
ar               1773 drivers/net/wireless/ath/ath6kl/init.c 							     &ar->flag),
ar               1776 drivers/net/wireless/ath/ath6kl/init.c 		clear_bit(WMI_READY, &ar->flag);
ar               1785 drivers/net/wireless/ath/ath6kl/init.c 	if (test_and_clear_bit(FIRST_BOOT, &ar->flag)) {
ar               1787 drivers/net/wireless/ath/ath6kl/init.c 			    ar->hw.name,
ar               1788 drivers/net/wireless/ath/ath6kl/init.c 			    ath6kl_init_get_hif_name(ar->hif_type),
ar               1789 drivers/net/wireless/ath/ath6kl/init.c 			    ar->wiphy->fw_version,
ar               1790 drivers/net/wireless/ath/ath6kl/init.c 			    ar->fw_api,
ar               1791 drivers/net/wireless/ath/ath6kl/init.c 			    test_bit(TESTMODE, &ar->flag) ? " testmode" : "");
ar               1792 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_init_get_fwcaps(ar, buf, sizeof(buf));
ar               1796 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->version.abi_ver != ATH6KL_ABI_VERSION) {
ar               1798 drivers/net/wireless/ath/ath6kl/init.c 			   ATH6KL_ABI_VERSION, ar->version.abi_ver);
ar               1807 drivers/net/wireless/ath/ath6kl/init.c 	if ((ath6kl_set_host_app_area(ar)) != 0)
ar               1810 drivers/net/wireless/ath/ath6kl/init.c 	for (i = 0; i < ar->vif_max; i++) {
ar               1811 drivers/net/wireless/ath/ath6kl/init.c 		ret = ath6kl_target_config_wlan_params(ar, i);
ar               1819 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_htc_stop(ar->htc_target);
ar               1821 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_hif_cleanup_scatter(ar);
ar               1823 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_hif_power_off(ar);
ar               1828 drivers/net/wireless/ath/ath6kl/init.c int ath6kl_init_hw_start(struct ath6kl *ar)
ar               1832 drivers/net/wireless/ath/ath6kl/init.c 	err = __ath6kl_init_hw_start(ar);
ar               1835 drivers/net/wireless/ath/ath6kl/init.c 	ar->state = ATH6KL_STATE_ON;
ar               1839 drivers/net/wireless/ath/ath6kl/init.c static int __ath6kl_init_hw_stop(struct ath6kl *ar)
ar               1845 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_htc_stop(ar->htc_target);
ar               1847 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_hif_stop(ar);
ar               1849 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_bmi_reset(ar);
ar               1851 drivers/net/wireless/ath/ath6kl/init.c 	ret = ath6kl_hif_power_off(ar);
ar               1858 drivers/net/wireless/ath/ath6kl/init.c int ath6kl_init_hw_stop(struct ath6kl *ar)
ar               1862 drivers/net/wireless/ath/ath6kl/init.c 	err = __ath6kl_init_hw_stop(ar);
ar               1865 drivers/net/wireless/ath/ath6kl/init.c 	ar->state = ATH6KL_STATE_OFF;
ar               1869 drivers/net/wireless/ath/ath6kl/init.c void ath6kl_init_hw_restart(struct ath6kl *ar)
ar               1871 drivers/net/wireless/ath/ath6kl/init.c 	clear_bit(WMI_READY, &ar->flag);
ar               1873 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_cfg80211_stop_all(ar);
ar               1875 drivers/net/wireless/ath/ath6kl/init.c 	if (__ath6kl_init_hw_stop(ar)) {
ar               1880 drivers/net/wireless/ath/ath6kl/init.c 	if (__ath6kl_init_hw_start(ar)) {
ar               1886 drivers/net/wireless/ath/ath6kl/init.c void ath6kl_stop_txrx(struct ath6kl *ar)
ar               1891 drivers/net/wireless/ath/ath6kl/init.c 	set_bit(DESTROY_IN_PROGRESS, &ar->flag);
ar               1893 drivers/net/wireless/ath/ath6kl/init.c 	if (down_interruptible(&ar->sem)) {
ar               1899 drivers/net/wireless/ath/ath6kl/init.c 		aggr_reset_state(ar->sta_list[i].aggr_conn);
ar               1901 drivers/net/wireless/ath/ath6kl/init.c 	spin_lock_bh(&ar->list_lock);
ar               1902 drivers/net/wireless/ath/ath6kl/init.c 	list_for_each_entry_safe(vif, tmp_vif, &ar->vif_list, list) {
ar               1904 drivers/net/wireless/ath/ath6kl/init.c 		spin_unlock_bh(&ar->list_lock);
ar               1905 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag));
ar               1909 drivers/net/wireless/ath/ath6kl/init.c 		spin_lock_bh(&ar->list_lock);
ar               1911 drivers/net/wireless/ath/ath6kl/init.c 	spin_unlock_bh(&ar->list_lock);
ar               1913 drivers/net/wireless/ath/ath6kl/init.c 	clear_bit(WMI_READY, &ar->flag);
ar               1915 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->fw_recovery.enable)
ar               1916 drivers/net/wireless/ath/ath6kl/init.c 		del_timer_sync(&ar->fw_recovery.hb_timer);
ar               1927 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_wmi_shutdown(ar->wmi);
ar               1929 drivers/net/wireless/ath/ath6kl/init.c 	clear_bit(WMI_ENABLED, &ar->flag);
ar               1930 drivers/net/wireless/ath/ath6kl/init.c 	if (ar->htc_target) {
ar               1932 drivers/net/wireless/ath/ath6kl/init.c 		ath6kl_htc_stop(ar->htc_target);
ar               1939 drivers/net/wireless/ath/ath6kl/init.c 	ath6kl_init_hw_reset(ar);
ar               1941 drivers/net/wireless/ath/ath6kl/init.c 	up(&ar->sem);
ar                 28 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                 38 drivers/net/wireless/ath/ath6kl/main.c 		if (memcmp(node_addr, ar->sta_list[i].mac, ETH_ALEN) == 0) {
ar                 39 drivers/net/wireless/ath/ath6kl/main.c 			conn = &ar->sta_list[i];
ar                 47 drivers/net/wireless/ath/ath6kl/main.c struct ath6kl_sta *ath6kl_find_sta_by_aid(struct ath6kl *ar, u8 aid)
ar                 53 drivers/net/wireless/ath/ath6kl/main.c 		if (ar->sta_list[ctr].aid == aid) {
ar                 54 drivers/net/wireless/ath/ath6kl/main.c 			conn = &ar->sta_list[ctr];
ar                 65 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                 71 drivers/net/wireless/ath/ath6kl/main.c 	sta = &ar->sta_list[free_slot];
ar                 81 drivers/net/wireless/ath/ath6kl/main.c 	ar->sta_list_index = ar->sta_list_index | (1 << free_slot);
ar                 82 drivers/net/wireless/ath/ath6kl/main.c 	ar->ap_stats.sta[free_slot].aid = cpu_to_le32(aid);
ar                 86 drivers/net/wireless/ath/ath6kl/main.c static void ath6kl_sta_cleanup(struct ath6kl *ar, u8 i)
ar                 88 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl_sta *sta = &ar->sta_list[i];
ar                106 drivers/net/wireless/ath/ath6kl/main.c 	memset(&ar->ap_stats.sta[sta->aid - 1], 0,
ar                113 drivers/net/wireless/ath/ath6kl/main.c 	ar->sta_list_index = ar->sta_list_index & ~(1 << i);
ar                117 drivers/net/wireless/ath/ath6kl/main.c static u8 ath6kl_remove_sta(struct ath6kl *ar, u8 *mac, u16 reason)
ar                128 drivers/net/wireless/ath/ath6kl/main.c 			if (!is_zero_ether_addr(ar->sta_list[i].mac)) {
ar                129 drivers/net/wireless/ath/ath6kl/main.c 				ath6kl_sta_cleanup(ar, i);
ar                135 drivers/net/wireless/ath/ath6kl/main.c 			if (memcmp(ar->sta_list[i].mac, mac, ETH_ALEN) == 0) {
ar                138 drivers/net/wireless/ath/ath6kl/main.c 					   mac, ar->sta_list[i].aid, reason);
ar                139 drivers/net/wireless/ath/ath6kl/main.c 				ath6kl_sta_cleanup(ar, i);
ar                151 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = devt;
ar                152 drivers/net/wireless/ath/ath6kl/main.c 	return ar->ac2ep_map[ac];
ar                155 drivers/net/wireless/ath/ath6kl/main.c struct ath6kl_cookie *ath6kl_alloc_cookie(struct ath6kl *ar)
ar                159 drivers/net/wireless/ath/ath6kl/main.c 	cookie = ar->cookie_list;
ar                161 drivers/net/wireless/ath/ath6kl/main.c 		ar->cookie_list = cookie->arc_list_next;
ar                162 drivers/net/wireless/ath/ath6kl/main.c 		ar->cookie_count--;
ar                168 drivers/net/wireless/ath/ath6kl/main.c void ath6kl_cookie_init(struct ath6kl *ar)
ar                172 drivers/net/wireless/ath/ath6kl/main.c 	ar->cookie_list = NULL;
ar                173 drivers/net/wireless/ath/ath6kl/main.c 	ar->cookie_count = 0;
ar                175 drivers/net/wireless/ath/ath6kl/main.c 	memset(ar->cookie_mem, 0, sizeof(ar->cookie_mem));
ar                178 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_free_cookie(ar, &ar->cookie_mem[i]);
ar                181 drivers/net/wireless/ath/ath6kl/main.c void ath6kl_cookie_cleanup(struct ath6kl *ar)
ar                183 drivers/net/wireless/ath/ath6kl/main.c 	ar->cookie_list = NULL;
ar                184 drivers/net/wireless/ath/ath6kl/main.c 	ar->cookie_count = 0;
ar                187 drivers/net/wireless/ath/ath6kl/main.c void ath6kl_free_cookie(struct ath6kl *ar, struct ath6kl_cookie *cookie)
ar                191 drivers/net/wireless/ath/ath6kl/main.c 	if (!ar || !cookie)
ar                194 drivers/net/wireless/ath/ath6kl/main.c 	cookie->arc_list_next = ar->cookie_list;
ar                195 drivers/net/wireless/ath/ath6kl/main.c 	ar->cookie_list = cookie;
ar                196 drivers/net/wireless/ath/ath6kl/main.c 	ar->cookie_count++;
ar                203 drivers/net/wireless/ath/ath6kl/main.c int ath6kl_diag_read32(struct ath6kl *ar, u32 address, u32 *value)
ar                207 drivers/net/wireless/ath/ath6kl/main.c 	ret = ath6kl_hif_diag_read32(ar, address, value);
ar                221 drivers/net/wireless/ath/ath6kl/main.c int ath6kl_diag_write32(struct ath6kl *ar, u32 address, __le32 value)
ar                225 drivers/net/wireless/ath/ath6kl/main.c 	ret = ath6kl_hif_diag_write32(ar, address, value);
ar                236 drivers/net/wireless/ath/ath6kl/main.c int ath6kl_diag_read(struct ath6kl *ar, u32 address, void *data, u32 length)
ar                245 drivers/net/wireless/ath/ath6kl/main.c 		ret = ath6kl_diag_read32(ar, address, &buf[count]);
ar                253 drivers/net/wireless/ath/ath6kl/main.c int ath6kl_diag_write(struct ath6kl *ar, u32 address, void *data, u32 length)
ar                263 drivers/net/wireless/ath/ath6kl/main.c 		ret = ath6kl_diag_write32(ar, address, buf[count]);
ar                271 drivers/net/wireless/ath/ath6kl/main.c int ath6kl_read_fwlogs(struct ath6kl *ar)
ar                283 drivers/net/wireless/ath/ath6kl/main.c 	address = TARG_VTOP(ar->target_type,
ar                284 drivers/net/wireless/ath/ath6kl/main.c 			    ath6kl_get_hi_item_addr(ar,
ar                287 drivers/net/wireless/ath/ath6kl/main.c 	ret = ath6kl_diag_read32(ar, address, &debug_hdr_addr);
ar                298 drivers/net/wireless/ath/ath6kl/main.c 	address = TARG_VTOP(ar->target_type, debug_hdr_addr);
ar                299 drivers/net/wireless/ath/ath6kl/main.c 	ret = ath6kl_diag_read(ar, address, &debug_hdr, sizeof(debug_hdr));
ar                303 drivers/net/wireless/ath/ath6kl/main.c 	address = TARG_VTOP(ar->target_type,
ar                306 drivers/net/wireless/ath/ath6kl/main.c 	ret = ath6kl_diag_read(ar, address, &debug_buf, sizeof(debug_buf));
ar                313 drivers/net/wireless/ath/ath6kl/main.c 		address = TARG_VTOP(ar->target_type,
ar                321 drivers/net/wireless/ath/ath6kl/main.c 			ret = ath6kl_diag_read(ar, address,
ar                326 drivers/net/wireless/ath/ath6kl/main.c 			ath6kl_debug_fwlog_event(ar, buf, length);
ar                329 drivers/net/wireless/ath/ath6kl/main.c 		address = TARG_VTOP(ar->target_type,
ar                331 drivers/net/wireless/ath/ath6kl/main.c 		ret = ath6kl_diag_read(ar, address, &debug_buf,
ar                361 drivers/net/wireless/ath/ath6kl/main.c 			ath6kl_wmi_addkey_cmd(vif->ar->wmi, vif->fw_vif_idx,
ar                376 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                381 drivers/net/wireless/ath/ath6kl/main.c 	ik = &ar->ap_mode_bkey;
ar                403 drivers/net/wireless/ath/ath6kl/main.c 			ar->wmi, vif->fw_vif_idx, ik->key_index, ik->key_type,
ar                414 drivers/net/wireless/ath/ath6kl/main.c 	if (ar->last_ch != channel)
ar                418 drivers/net/wireless/ath/ath6kl/main.c 	ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, NONE_BSS_FILTER, 0);
ar                513 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_wmi_disconnect_cmd(vif->ar->wmi, vif->fw_vif_idx);
ar                528 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = devt;
ar                530 drivers/net/wireless/ath/ath6kl/main.c 	memcpy(ar->mac_addr, datap, ETH_ALEN);
ar                534 drivers/net/wireless/ath/ath6kl/main.c 		   ar->mac_addr, sw_ver, abi_ver, cap);
ar                536 drivers/net/wireless/ath/ath6kl/main.c 	ar->version.wlan_ver = sw_ver;
ar                537 drivers/net/wireless/ath/ath6kl/main.c 	ar->version.abi_ver = abi_ver;
ar                538 drivers/net/wireless/ath/ath6kl/main.c 	ar->hw.cap = cap;
ar                540 drivers/net/wireless/ath/ath6kl/main.c 	if (strlen(ar->wiphy->fw_version) == 0) {
ar                541 drivers/net/wireless/ath/ath6kl/main.c 		snprintf(ar->wiphy->fw_version,
ar                542 drivers/net/wireless/ath/ath6kl/main.c 			 sizeof(ar->wiphy->fw_version),
ar                544 drivers/net/wireless/ath/ath6kl/main.c 			 (ar->version.wlan_ver & 0xf0000000) >> 28,
ar                545 drivers/net/wireless/ath/ath6kl/main.c 			 (ar->version.wlan_ver & 0x0f000000) >> 24,
ar                546 drivers/net/wireless/ath/ath6kl/main.c 			 (ar->version.wlan_ver & 0x00ff0000) >> 16,
ar                547 drivers/net/wireless/ath/ath6kl/main.c 			 (ar->version.wlan_ver & 0x0000ffff));
ar                551 drivers/net/wireless/ath/ath6kl/main.c 	set_bit(WMI_READY, &ar->flag);
ar                552 drivers/net/wireless/ath/ath6kl/main.c 	wake_up(&ar->event_wq);
ar                557 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                565 drivers/net/wireless/ath/ath6kl/main.c 	if (!ar->usr_bss_filter) {
ar                567 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar                576 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                588 drivers/net/wireless/ath/ath6kl/main.c 			     ar->fw_capabilities))
ar                589 drivers/net/wireless/ath/ath6kl/main.c 			ath6kl_wmi_set_ie_cmd(ar->wmi, vif->fw_vif_idx,
ar                594 drivers/net/wireless/ath/ath6kl/main.c 		return ath6kl_wmi_ap_profile_commit(ar->wmi, vif->fw_vif_idx,
ar                602 drivers/net/wireless/ath/ath6kl/main.c static void ath6kl_check_ch_switch(struct ath6kl *ar, u16 channel)
ar                607 drivers/net/wireless/ath/ath6kl/main.c 	if (!ar->want_ch_switch)
ar                610 drivers/net/wireless/ath/ath6kl/main.c 	spin_lock_bh(&ar->list_lock);
ar                611 drivers/net/wireless/ath/ath6kl/main.c 	list_for_each_entry(vif, &ar->vif_list, list) {
ar                612 drivers/net/wireless/ath/ath6kl/main.c 		if (ar->want_ch_switch & (1 << vif->fw_vif_idx))
ar                616 drivers/net/wireless/ath/ath6kl/main.c 		ar->want_ch_switch &= ~(1 << vif->fw_vif_idx);
ar                622 drivers/net/wireless/ath/ath6kl/main.c 	spin_unlock_bh(&ar->list_lock);
ar                631 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                643 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx,
ar                645 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_check_ch_switch(ar, channel);
ar                660 drivers/net/wireless/ath/ath6kl/main.c 	if ((vif->nw_type == ADHOC_NETWORK) && ar->ibss_ps_enable) {
ar                661 drivers/net/wireless/ath/ath6kl/main.c 		memset(ar->node_map, 0, sizeof(ar->node_map));
ar                662 drivers/net/wireless/ath/ath6kl/main.c 		ar->node_num = 0;
ar                663 drivers/net/wireless/ath/ath6kl/main.c 		ar->next_ep_id = ENDPOINT_2;
ar                666 drivers/net/wireless/ath/ath6kl/main.c 	if (!ar->usr_bss_filter) {
ar                668 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar                676 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                684 drivers/net/wireless/ath/ath6kl/main.c 		sta = ath6kl_find_sta_by_aid(ar, (keyid >> 2));
ar                704 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                739 drivers/net/wireless/ath/ath6kl/main.c 	stats->tx_ucast_rate = ath6kl_wmi_get_rate(ar->wmi, rate);
ar                758 drivers/net/wireless/ath/ath6kl/main.c 	stats->rx_ucast_rate = ath6kl_wmi_get_rate(ar->wmi, rate);
ar                810 drivers/net/wireless/ath/ath6kl/main.c 		wake_up(&ar->event_wq);
ar                822 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                823 drivers/net/wireless/ath/ath6kl/main.c 	struct wmi_ap_mode_stat *ap = &ar->ap_stats;
ar                852 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = (struct ath6kl *) dev;
ar                854 drivers/net/wireless/ath/ath6kl/main.c 	wake_up(&ar->event_wq);
ar                859 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = (struct ath6kl *) devt;
ar                861 drivers/net/wireless/ath/ath6kl/main.c 	ar->tx_pwr = tx_pwr;
ar                862 drivers/net/wireless/ath/ath6kl/main.c 	wake_up(&ar->event_wq);
ar                870 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                873 drivers/net/wireless/ath/ath6kl/main.c 	conn = ath6kl_find_sta_by_aid(ar, aid);
ar                898 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_wmi_send_mgmt_cmd(ar->wmi, vif->fw_vif_idx,
ar                918 drivers/net/wireless/ath/ath6kl/main.c 		ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, conn->aid, 0);
ar                925 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                936 drivers/net/wireless/ath/ath6kl/main.c 	if (!ar->sta_list_index)
ar                939 drivers/net/wireless/ath/ath6kl/main.c 	spin_lock_bh(&ar->mcastpsq_lock);
ar                940 drivers/net/wireless/ath/ath6kl/main.c 	mcastq_empty = skb_queue_empty(&ar->mcastpsq);
ar                941 drivers/net/wireless/ath/ath6kl/main.c 	spin_unlock_bh(&ar->mcastpsq_lock);
ar                949 drivers/net/wireless/ath/ath6kl/main.c 	spin_lock_bh(&ar->mcastpsq_lock);
ar                950 drivers/net/wireless/ath/ath6kl/main.c 	while ((skb = skb_dequeue(&ar->mcastpsq)) != NULL) {
ar                951 drivers/net/wireless/ath/ath6kl/main.c 		spin_unlock_bh(&ar->mcastpsq_lock);
ar                955 drivers/net/wireless/ath/ath6kl/main.c 		spin_lock_bh(&ar->mcastpsq_lock);
ar                957 drivers/net/wireless/ath/ath6kl/main.c 	spin_unlock_bh(&ar->mcastpsq_lock);
ar                962 drivers/net/wireless/ath/ath6kl/main.c 	ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, MCAST_AID, 0);
ar                969 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar                975 drivers/net/wireless/ath/ath6kl/main.c 			ar->want_ch_switch |= 1 << vif->fw_vif_idx;
ar                977 drivers/net/wireless/ath/ath6kl/main.c 			ar->last_ch = le16_to_cpu(vif->profile.ch);
ar                994 drivers/net/wireless/ath/ath6kl/main.c 		if (!ath6kl_remove_sta(ar, bssid, prot_reason_status))
ar                998 drivers/net/wireless/ath/ath6kl/main.c 		if (ar->sta_list_index == 0) {
ar                999 drivers/net/wireless/ath/ath6kl/main.c 			spin_lock_bh(&ar->mcastpsq_lock);
ar               1000 drivers/net/wireless/ath/ath6kl/main.c 			skb_queue_purge(&ar->mcastpsq);
ar               1001 drivers/net/wireless/ath/ath6kl/main.c 			spin_unlock_bh(&ar->mcastpsq_lock);
ar               1004 drivers/net/wireless/ath/ath6kl/main.c 			if (test_bit(WMI_READY, &ar->flag))
ar               1005 drivers/net/wireless/ath/ath6kl/main.c 				ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx,
ar               1037 drivers/net/wireless/ath/ath6kl/main.c 		if (!ar->usr_bss_filter && test_bit(WMI_READY, &ar->flag))
ar               1038 drivers/net/wireless/ath/ath6kl/main.c 			ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar               1052 drivers/net/wireless/ath/ath6kl/main.c 	ath6kl_check_ch_switch(ar, ar->last_ch);
ar               1064 drivers/net/wireless/ath/ath6kl/main.c 		ar->user_key_ctrl = 0;
ar               1070 drivers/net/wireless/ath/ath6kl/main.c 	ath6kl_tx_data_cleanup(ar);
ar               1073 drivers/net/wireless/ath/ath6kl/main.c struct ath6kl_vif *ath6kl_vif_first(struct ath6kl *ar)
ar               1077 drivers/net/wireless/ath/ath6kl/main.c 	spin_lock_bh(&ar->list_lock);
ar               1078 drivers/net/wireless/ath/ath6kl/main.c 	if (list_empty(&ar->vif_list)) {
ar               1079 drivers/net/wireless/ath/ath6kl/main.c 		spin_unlock_bh(&ar->list_lock);
ar               1083 drivers/net/wireless/ath/ath6kl/main.c 	vif = list_first_entry(&ar->vif_list, struct ath6kl_vif, list);
ar               1085 drivers/net/wireless/ath/ath6kl/main.c 	spin_unlock_bh(&ar->list_lock);
ar               1123 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = vif->ar;
ar               1127 drivers/net/wireless/ath/ath6kl/main.c 	    (ar->rx_meta_ver != WMI_META_VERSION_2)) {
ar               1128 drivers/net/wireless/ath/ath6kl/main.c 		ar->rx_meta_ver = WMI_META_VERSION_2;
ar               1129 drivers/net/wireless/ath/ath6kl/main.c 		err = ath6kl_wmi_set_rx_frame_format_cmd(ar->wmi,
ar               1131 drivers/net/wireless/ath/ath6kl/main.c 							 ar->rx_meta_ver, 0, 0);
ar               1137 drivers/net/wireless/ath/ath6kl/main.c 		   (ar->rx_meta_ver == WMI_META_VERSION_2)) {
ar               1138 drivers/net/wireless/ath/ath6kl/main.c 		ar->rx_meta_ver = 0;
ar               1139 drivers/net/wireless/ath/ath6kl/main.c 		err = ath6kl_wmi_set_rx_frame_format_cmd(ar->wmi,
ar               1141 drivers/net/wireless/ath/ath6kl/main.c 							 ar->rx_meta_ver, 0, 0);
ar               1162 drivers/net/wireless/ath/ath6kl/main.c 	if (!test_bit(WMI_READY, &vif->ar->flag) ||
ar               1177 drivers/net/wireless/ath/ath6kl/main.c 		     vif->ar->fw_capabilities)) {
ar               1178 drivers/net/wireless/ath/ath6kl/main.c 		mc_all_on = mc_all_on || (vif->ar->state == ATH6KL_STATE_ON);
ar               1192 drivers/net/wireless/ath/ath6kl/main.c 	ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi, vif->fw_vif_idx,
ar               1222 drivers/net/wireless/ath/ath6kl/main.c 			ret = ath6kl_wmi_add_del_mcast_filter_cmd(vif->ar->wmi,
ar               1262 drivers/net/wireless/ath/ath6kl/main.c 			ret = ath6kl_wmi_add_del_mcast_filter_cmd(vif->ar->wmi,
ar               1290 drivers/net/wireless/ath/ath6kl/main.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar               1304 drivers/net/wireless/ath/ath6kl/main.c 		      ar->fw_capabilities))
ar                 23 drivers/net/wireless/ath/ath6kl/recovery.c 	struct ath6kl *ar = container_of(work, struct ath6kl,
ar                 26 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->state = ATH6KL_STATE_RECOVERY;
ar                 28 drivers/net/wireless/ath/ath6kl/recovery.c 	del_timer_sync(&ar->fw_recovery.hb_timer);
ar                 30 drivers/net/wireless/ath/ath6kl/recovery.c 	ath6kl_init_hw_restart(ar);
ar                 32 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->state = ATH6KL_STATE_ON;
ar                 33 drivers/net/wireless/ath/ath6kl/recovery.c 	clear_bit(WMI_CTRL_EP_FULL, &ar->flag);
ar                 35 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.err_reason = 0;
ar                 37 drivers/net/wireless/ath/ath6kl/recovery.c 	if (ar->fw_recovery.hb_poll)
ar                 38 drivers/net/wireless/ath/ath6kl/recovery.c 		mod_timer(&ar->fw_recovery.hb_timer, jiffies +
ar                 39 drivers/net/wireless/ath/ath6kl/recovery.c 			  msecs_to_jiffies(ar->fw_recovery.hb_poll));
ar                 42 drivers/net/wireless/ath/ath6kl/recovery.c void ath6kl_recovery_err_notify(struct ath6kl *ar, enum ath6kl_fw_err reason)
ar                 44 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!ar->fw_recovery.enable)
ar                 50 drivers/net/wireless/ath/ath6kl/recovery.c 	set_bit(reason, &ar->fw_recovery.err_reason);
ar                 52 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!test_bit(RECOVERY_CLEANUP, &ar->flag) &&
ar                 53 drivers/net/wireless/ath/ath6kl/recovery.c 	    ar->state != ATH6KL_STATE_RECOVERY)
ar                 54 drivers/net/wireless/ath/ath6kl/recovery.c 		queue_work(ar->ath6kl_wq, &ar->fw_recovery.recovery_work);
ar                 57 drivers/net/wireless/ath/ath6kl/recovery.c void ath6kl_recovery_hb_event(struct ath6kl *ar, u32 cookie)
ar                 59 drivers/net/wireless/ath/ath6kl/recovery.c 	if (cookie == ar->fw_recovery.seq_num)
ar                 60 drivers/net/wireless/ath/ath6kl/recovery.c 		ar->fw_recovery.hb_pending = false;
ar                 65 drivers/net/wireless/ath/ath6kl/recovery.c 	struct ath6kl *ar = from_timer(ar, t, fw_recovery.hb_timer);
ar                 68 drivers/net/wireless/ath/ath6kl/recovery.c 	if (test_bit(RECOVERY_CLEANUP, &ar->flag) ||
ar                 69 drivers/net/wireless/ath/ath6kl/recovery.c 	    (ar->state == ATH6KL_STATE_RECOVERY))
ar                 72 drivers/net/wireless/ath/ath6kl/recovery.c 	if (ar->fw_recovery.hb_pending)
ar                 73 drivers/net/wireless/ath/ath6kl/recovery.c 		ar->fw_recovery.hb_misscnt++;
ar                 75 drivers/net/wireless/ath/ath6kl/recovery.c 		ar->fw_recovery.hb_misscnt = 0;
ar                 77 drivers/net/wireless/ath/ath6kl/recovery.c 	if (ar->fw_recovery.hb_misscnt > ATH6KL_HB_RESP_MISS_THRES) {
ar                 78 drivers/net/wireless/ath/ath6kl/recovery.c 		ar->fw_recovery.hb_misscnt = 0;
ar                 79 drivers/net/wireless/ath/ath6kl/recovery.c 		ar->fw_recovery.seq_num = 0;
ar                 80 drivers/net/wireless/ath/ath6kl/recovery.c 		ar->fw_recovery.hb_pending = false;
ar                 81 drivers/net/wireless/ath/ath6kl/recovery.c 		ath6kl_recovery_err_notify(ar, ATH6KL_FW_HB_RESP_FAILURE);
ar                 85 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.seq_num++;
ar                 86 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.hb_pending = true;
ar                 88 drivers/net/wireless/ath/ath6kl/recovery.c 	err = ath6kl_wmi_get_challenge_resp_cmd(ar->wmi,
ar                 89 drivers/net/wireless/ath/ath6kl/recovery.c 						ar->fw_recovery.seq_num, 0);
ar                 94 drivers/net/wireless/ath/ath6kl/recovery.c 	mod_timer(&ar->fw_recovery.hb_timer, jiffies +
ar                 95 drivers/net/wireless/ath/ath6kl/recovery.c 		  msecs_to_jiffies(ar->fw_recovery.hb_poll));
ar                 98 drivers/net/wireless/ath/ath6kl/recovery.c void ath6kl_recovery_init(struct ath6kl *ar)
ar                100 drivers/net/wireless/ath/ath6kl/recovery.c 	struct ath6kl_fw_recovery *recovery = &ar->fw_recovery;
ar                102 drivers/net/wireless/ath/ath6kl/recovery.c 	clear_bit(RECOVERY_CLEANUP, &ar->flag);
ar                106 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.hb_pending = false;
ar                107 drivers/net/wireless/ath/ath6kl/recovery.c 	timer_setup(&ar->fw_recovery.hb_timer, ath6kl_recovery_hb_timer,
ar                110 drivers/net/wireless/ath/ath6kl/recovery.c 	if (ar->fw_recovery.hb_poll)
ar                111 drivers/net/wireless/ath/ath6kl/recovery.c 		mod_timer(&ar->fw_recovery.hb_timer, jiffies +
ar                112 drivers/net/wireless/ath/ath6kl/recovery.c 			  msecs_to_jiffies(ar->fw_recovery.hb_poll));
ar                115 drivers/net/wireless/ath/ath6kl/recovery.c void ath6kl_recovery_cleanup(struct ath6kl *ar)
ar                117 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!ar->fw_recovery.enable)
ar                120 drivers/net/wireless/ath/ath6kl/recovery.c 	set_bit(RECOVERY_CLEANUP, &ar->flag);
ar                122 drivers/net/wireless/ath/ath6kl/recovery.c 	del_timer_sync(&ar->fw_recovery.hb_timer);
ar                123 drivers/net/wireless/ath/ath6kl/recovery.c 	cancel_work_sync(&ar->fw_recovery.recovery_work);
ar                126 drivers/net/wireless/ath/ath6kl/recovery.c void ath6kl_recovery_suspend(struct ath6kl *ar)
ar                128 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!ar->fw_recovery.enable)
ar                131 drivers/net/wireless/ath/ath6kl/recovery.c 	ath6kl_recovery_cleanup(ar);
ar                133 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!ar->fw_recovery.err_reason)
ar                137 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.err_reason = 0;
ar                138 drivers/net/wireless/ath/ath6kl/recovery.c 	WARN_ON(ar->state != ATH6KL_STATE_ON);
ar                139 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->state = ATH6KL_STATE_RECOVERY;
ar                140 drivers/net/wireless/ath/ath6kl/recovery.c 	ath6kl_init_hw_restart(ar);
ar                141 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->state = ATH6KL_STATE_ON;
ar                144 drivers/net/wireless/ath/ath6kl/recovery.c void ath6kl_recovery_resume(struct ath6kl *ar)
ar                146 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!ar->fw_recovery.enable)
ar                149 drivers/net/wireless/ath/ath6kl/recovery.c 	clear_bit(RECOVERY_CLEANUP, &ar->flag);
ar                151 drivers/net/wireless/ath/ath6kl/recovery.c 	if (!ar->fw_recovery.hb_poll)
ar                154 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.hb_pending = false;
ar                155 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.seq_num = 0;
ar                156 drivers/net/wireless/ath/ath6kl/recovery.c 	ar->fw_recovery.hb_misscnt = 0;
ar                157 drivers/net/wireless/ath/ath6kl/recovery.c 	mod_timer(&ar->fw_recovery.hb_timer,
ar                158 drivers/net/wireless/ath/ath6kl/recovery.c 		  jiffies + msecs_to_jiffies(ar->fw_recovery.hb_poll));
ar                 45 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl *ar;
ar                 78 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_config(struct ath6kl *ar);
ar                 80 drivers/net/wireless/ath/ath6kl/sdio.c static inline struct ath6kl_sdio *ath6kl_sdio_priv(struct ath6kl *ar)
ar                 82 drivers/net/wireless/ath/ath6kl/sdio.c 	return ar->hif_priv;
ar                 96 drivers/net/wireless/ath/ath6kl/sdio.c static void ath6kl_sdio_set_mbox_info(struct ath6kl *ar)
ar                 98 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_mbox_info *mbox_info = &ar->mbox_info;
ar                339 drivers/net/wireless/ath/ath6kl/sdio.c 		scat_req->complete(ar_sdio->ar->htc_target, scat_req);
ar                403 drivers/net/wireless/ath/ath6kl/sdio.c 		hif_scatter_req_add(ar_sdio->ar, s_req);
ar                409 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf,
ar                412 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                453 drivers/net/wireless/ath/ath6kl/sdio.c 		status = ath6kl_sdio_read_write_sync(ar_sdio->ar, req->address,
ar                494 drivers/net/wireless/ath/ath6kl/sdio.c 	status = ath6kl_hif_intr_bh_handler(ar_sdio->ar);
ar                503 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_power_on(struct ath6kl *ar)
ar                505 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                531 drivers/net/wireless/ath/ath6kl/sdio.c 	ret = ath6kl_sdio_config(ar);
ar                543 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_power_off(struct ath6kl *ar)
ar                545 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                566 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_write_async(struct ath6kl *ar, u32 address, u8 *buffer,
ar                570 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                587 drivers/net/wireless/ath/ath6kl/sdio.c 	queue_work(ar->ath6kl_wq, &ar_sdio->wr_async_work);
ar                592 drivers/net/wireless/ath/ath6kl/sdio.c static void ath6kl_sdio_irq_enable(struct ath6kl *ar)
ar                594 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                607 drivers/net/wireless/ath/ath6kl/sdio.c static bool ath6kl_sdio_is_on_irq(struct ath6kl *ar)
ar                609 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                614 drivers/net/wireless/ath/ath6kl/sdio.c static void ath6kl_sdio_irq_disable(struct ath6kl *ar)
ar                616 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                625 drivers/net/wireless/ath/ath6kl/sdio.c 					       ath6kl_sdio_is_on_irq(ar));
ar                639 drivers/net/wireless/ath/ath6kl/sdio.c static struct hif_scatter_req *ath6kl_sdio_scatter_req_get(struct ath6kl *ar)
ar                641 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                659 drivers/net/wireless/ath/ath6kl/sdio.c static void ath6kl_sdio_scatter_req_add(struct ath6kl *ar,
ar                662 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                672 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_async_rw_scatter(struct ath6kl *ar,
ar                675 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                692 drivers/net/wireless/ath/ath6kl/sdio.c 		queue_work(ar->ath6kl_wq, &ar_sdio->wr_async_work);
ar                699 drivers/net/wireless/ath/ath6kl/sdio.c static void ath6kl_sdio_cleanup_scatter(struct ath6kl *ar)
ar                701 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                731 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_enable_scatter(struct ath6kl *ar)
ar                733 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                734 drivers/net/wireless/ath/ath6kl/sdio.c 	struct htc_target *target = ar->htc_target;
ar                766 drivers/net/wireless/ath/ath6kl/sdio.c 			ath6kl_sdio_cleanup_scatter(ar);
ar                778 drivers/net/wireless/ath/ath6kl/sdio.c 			ath6kl_sdio_cleanup_scatter(ar);
ar                794 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_config(struct ath6kl *ar)
ar                796 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                833 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_set_sdio_pm_caps(struct ath6kl *ar)
ar                835 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                862 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
ar                864 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar                870 drivers/net/wireless/ath/ath6kl/sdio.c 	if (ar->suspend_mode == WLAN_POWER_STATE_WOW ||
ar                871 drivers/net/wireless/ath/ath6kl/sdio.c 	    (!ar->suspend_mode && wow)) {
ar                872 drivers/net/wireless/ath/ath6kl/sdio.c 		ret = ath6kl_set_sdio_pm_caps(ar);
ar                876 drivers/net/wireless/ath/ath6kl/sdio.c 		ret = ath6kl_cfg80211_suspend(ar, ATH6KL_CFG_SUSPEND_WOW, wow);
ar                881 drivers/net/wireless/ath/ath6kl/sdio.c 		    (!ar->wow_suspend_mode ||
ar                882 drivers/net/wireless/ath/ath6kl/sdio.c 		     ar->wow_suspend_mode == WLAN_POWER_STATE_DEEP_SLEEP))
ar                885 drivers/net/wireless/ath/ath6kl/sdio.c 			 ar->wow_suspend_mode == WLAN_POWER_STATE_CUT_PWR)
ar                891 drivers/net/wireless/ath/ath6kl/sdio.c 	if (ar->suspend_mode == WLAN_POWER_STATE_DEEP_SLEEP ||
ar                892 drivers/net/wireless/ath/ath6kl/sdio.c 	    !ar->suspend_mode || try_deepsleep) {
ar                914 drivers/net/wireless/ath/ath6kl/sdio.c 		ret = ath6kl_cfg80211_suspend(ar, ATH6KL_CFG_SUSPEND_DEEPSLEEP,
ar                926 drivers/net/wireless/ath/ath6kl/sdio.c 	return ath6kl_cfg80211_suspend(ar, ATH6KL_CFG_SUSPEND_CUTPOWER, NULL);
ar                929 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_resume(struct ath6kl *ar)
ar                931 drivers/net/wireless/ath/ath6kl/sdio.c 	switch (ar->state) {
ar                938 drivers/net/wireless/ath/ath6kl/sdio.c 		ath6kl_sdio_config(ar);
ar                960 drivers/net/wireless/ath/ath6kl/sdio.c 	ath6kl_cfg80211_resume(ar);
ar                966 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_set_addrwin_reg(struct ath6kl *ar, u32 reg_addr, u32 addr)
ar                989 drivers/net/wireless/ath/ath6kl/sdio.c 		status = ath6kl_sdio_read_write_sync(ar, reg_addr + i, addr_val,
ar               1007 drivers/net/wireless/ath/ath6kl/sdio.c 	status = ath6kl_sdio_read_write_sync(ar, reg_addr, (u8 *)(&addr),
ar               1019 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_diag_read32(struct ath6kl *ar, u32 address, u32 *data)
ar               1024 drivers/net/wireless/ath/ath6kl/sdio.c 	status = ath6kl_set_addrwin_reg(ar, WINDOW_READ_ADDR_ADDRESS,
ar               1031 drivers/net/wireless/ath/ath6kl/sdio.c 	status = ath6kl_sdio_read_write_sync(ar, WINDOW_DATA_ADDRESS,
ar               1042 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_diag_write32(struct ath6kl *ar, u32 address,
ar               1049 drivers/net/wireless/ath/ath6kl/sdio.c 	status = ath6kl_sdio_read_write_sync(ar, WINDOW_DATA_ADDRESS,
ar               1058 drivers/net/wireless/ath/ath6kl/sdio.c 	return ath6kl_set_addrwin_reg(ar, WINDOW_WRITE_ADDR_ADDRESS,
ar               1062 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_bmi_credits(struct ath6kl *ar)
ar               1068 drivers/net/wireless/ath/ath6kl/sdio.c 	ar->bmi.cmd_credits = 0;
ar               1074 drivers/net/wireless/ath/ath6kl/sdio.c 	while (time_before(jiffies, timeout) && !ar->bmi.cmd_credits) {
ar               1081 drivers/net/wireless/ath/ath6kl/sdio.c 		ret = ath6kl_sdio_read_write_sync(ar, addr,
ar               1082 drivers/net/wireless/ath/ath6kl/sdio.c 					 (u8 *)&ar->bmi.cmd_credits, 4,
ar               1093 drivers/net/wireless/ath/ath6kl/sdio.c 		ar->bmi.cmd_credits &= 0xFF;
ar               1096 drivers/net/wireless/ath/ath6kl/sdio.c 	if (!ar->bmi.cmd_credits) {
ar               1104 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_bmi_get_rx_lkahd(struct ath6kl *ar)
ar               1112 drivers/net/wireless/ath/ath6kl/sdio.c 		ret = ath6kl_sdio_read_write_sync(ar,
ar               1133 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_bmi_write(struct ath6kl *ar, u8 *buf, u32 len)
ar               1138 drivers/net/wireless/ath/ath6kl/sdio.c 	ret = ath6kl_sdio_bmi_credits(ar);
ar               1142 drivers/net/wireless/ath/ath6kl/sdio.c 	addr = ar->mbox_info.htc_addr;
ar               1144 drivers/net/wireless/ath/ath6kl/sdio.c 	ret = ath6kl_sdio_read_write_sync(ar, addr, buf, len,
ar               1154 drivers/net/wireless/ath/ath6kl/sdio.c static int ath6kl_sdio_bmi_read(struct ath6kl *ar, u8 *buf, u32 len)
ar               1206 drivers/net/wireless/ath/ath6kl/sdio.c 		ret = ath6kl_bmi_get_rx_lkahd(ar);
ar               1211 drivers/net/wireless/ath/ath6kl/sdio.c 	addr = ar->mbox_info.htc_addr;
ar               1212 drivers/net/wireless/ath/ath6kl/sdio.c 	ret = ath6kl_sdio_read_write_sync(ar, addr, buf, len,
ar               1223 drivers/net/wireless/ath/ath6kl/sdio.c static void ath6kl_sdio_stop(struct ath6kl *ar)
ar               1225 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
ar               1241 drivers/net/wireless/ath/ath6kl/sdio.c 			req->scat_req->complete(ar_sdio->ar->htc_target,
ar               1312 drivers/net/wireless/ath/ath6kl/sdio.c 	struct ath6kl *ar;
ar               1352 drivers/net/wireless/ath/ath6kl/sdio.c 	ar = ath6kl_core_create(&ar_sdio->func->dev);
ar               1353 drivers/net/wireless/ath/ath6kl/sdio.c 	if (!ar) {
ar               1359 drivers/net/wireless/ath/ath6kl/sdio.c 	ar_sdio->ar = ar;
ar               1360 drivers/net/wireless/ath/ath6kl/sdio.c 	ar->hif_type = ATH6KL_HIF_TYPE_SDIO;
ar               1361 drivers/net/wireless/ath/ath6kl/sdio.c 	ar->hif_priv = ar_sdio;
ar               1362 drivers/net/wireless/ath/ath6kl/sdio.c 	ar->hif_ops = &ath6kl_sdio_ops;
ar               1363 drivers/net/wireless/ath/ath6kl/sdio.c 	ar->bmi.max_data_size = 256;
ar               1365 drivers/net/wireless/ath/ath6kl/sdio.c 	ath6kl_sdio_set_mbox_info(ar);
ar               1367 drivers/net/wireless/ath/ath6kl/sdio.c 	ret = ath6kl_sdio_config(ar);
ar               1373 drivers/net/wireless/ath/ath6kl/sdio.c 	ret = ath6kl_core_init(ar, ATH6KL_HTC_TYPE_MBOX);
ar               1382 drivers/net/wireless/ath/ath6kl/sdio.c 	ath6kl_core_destroy(ar_sdio->ar);
ar               1401 drivers/net/wireless/ath/ath6kl/sdio.c 	ath6kl_stop_txrx(ar_sdio->ar);
ar               1404 drivers/net/wireless/ath/ath6kl/sdio.c 	ath6kl_core_cleanup(ar_sdio->ar);
ar               1405 drivers/net/wireless/ath/ath6kl/sdio.c 	ath6kl_core_destroy(ar_sdio->ar);
ar                 46 drivers/net/wireless/ath/ath6kl/testmode.c void ath6kl_tm_rx_event(struct ath6kl *ar, void *buf, size_t buf_len)
ar                 53 drivers/net/wireless/ath/ath6kl/testmode.c 	skb = cfg80211_testmode_alloc_event_skb(ar->wiphy, buf_len, GFP_KERNEL);
ar                 72 drivers/net/wireless/ath/ath6kl/testmode.c 	struct ath6kl *ar = wiphy_priv(wiphy);
ar                 93 drivers/net/wireless/ath/ath6kl/testmode.c 		ath6kl_wmi_test_cmd(ar->wmi, buf, buf_len);
ar                 22 drivers/net/wireless/ath/ath6kl/testmode.h void ath6kl_tm_rx_event(struct ath6kl *ar, void *buf, size_t buf_len);
ar                 28 drivers/net/wireless/ath/ath6kl/testmode.h static inline void ath6kl_tm_rx_event(struct ath6kl *ar, void *buf,
ar                 45 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar                 57 drivers/net/wireless/ath/ath6kl/txrx.c 	for (i = 0; i < ar->node_num; i++) {
ar                 58 drivers/net/wireless/ath/ath6kl/txrx.c 		if (memcmp(eth_hdr->h_dest, ar->node_map[i].mac_addr,
ar                 61 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->node_map[i].tx_pend++;
ar                 62 drivers/net/wireless/ath/ath6kl/txrx.c 			return ar->node_map[i].ep_id;
ar                 65 drivers/net/wireless/ath/ath6kl/txrx.c 		if ((ep_map == -1) && !ar->node_map[i].tx_pend)
ar                 70 drivers/net/wireless/ath/ath6kl/txrx.c 		ep_map = ar->node_num;
ar                 71 drivers/net/wireless/ath/ath6kl/txrx.c 		ar->node_num++;
ar                 72 drivers/net/wireless/ath/ath6kl/txrx.c 		if (ar->node_num > MAX_NODE_NUM)
ar                 76 drivers/net/wireless/ath/ath6kl/txrx.c 	memcpy(ar->node_map[ep_map].mac_addr, eth_hdr->h_dest, ETH_ALEN);
ar                 79 drivers/net/wireless/ath/ath6kl/txrx.c 		if (!ar->tx_pending[i]) {
ar                 80 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->node_map[ep_map].ep_id = i;
ar                 89 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->node_map[ep_map].ep_id = ar->next_ep_id;
ar                 90 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->next_ep_id++;
ar                 91 drivers/net/wireless/ath/ath6kl/txrx.c 			if (ar->next_ep_id > ENDPOINT_5)
ar                 92 drivers/net/wireless/ath/ath6kl/txrx.c 				ar->next_ep_id = ENDPOINT_2;
ar                 97 drivers/net/wireless/ath/ath6kl/txrx.c 	ar->node_map[ep_map].tx_pend++;
ar                 99 drivers/net/wireless/ath/ath6kl/txrx.c 	return ar->node_map[ep_map].ep_id;
ar                107 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = vif->ar;
ar                166 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_wmi_set_apsd_bfrd_traf(ar->wmi,
ar                181 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = vif->ar;
ar                203 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_wmi_set_pvb_cmd(ar->wmi,
ar                215 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = vif->ar;
ar                222 drivers/net/wireless/ath/ath6kl/txrx.c 			if (ar->sta_list[ctr].sta_flags & STA_PS_SLEEP) {
ar                236 drivers/net/wireless/ath/ath6kl/txrx.c 				spin_lock_bh(&ar->mcastpsq_lock);
ar                238 drivers/net/wireless/ath/ath6kl/txrx.c 					skb_queue_empty(&ar->mcastpsq);
ar                239 drivers/net/wireless/ath/ath6kl/txrx.c 				skb_queue_tail(&ar->mcastpsq, skb);
ar                240 drivers/net/wireless/ath/ath6kl/txrx.c 				spin_unlock_bh(&ar->mcastpsq_lock);
ar                248 drivers/net/wireless/ath/ath6kl/txrx.c 					ath6kl_wmi_set_pvb_cmd(ar->wmi,
ar                258 drivers/net/wireless/ath/ath6kl/txrx.c 				spin_lock_bh(&ar->mcastpsq_lock);
ar                259 drivers/net/wireless/ath/ath6kl/txrx.c 				if (!skb_queue_empty(&ar->mcastpsq))
ar                261 drivers/net/wireless/ath/ath6kl/txrx.c 				spin_unlock_bh(&ar->mcastpsq_lock);
ar                289 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = devt;
ar                295 drivers/net/wireless/ath/ath6kl/txrx.c 	if (WARN_ON_ONCE(ar->state == ATH6KL_STATE_WOW)) {
ar                306 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->lock);
ar                312 drivers/net/wireless/ath/ath6kl/txrx.c 	if (test_bit(WMI_CTRL_EP_FULL, &ar->flag) && (eid == ar->ctrl_ep)) {
ar                321 drivers/net/wireless/ath/ath6kl/txrx.c 		cookie = ath6kl_alloc_cookie(ar);
ar                325 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar                330 drivers/net/wireless/ath/ath6kl/txrx.c 	ar->tx_pending[eid]++;
ar                332 drivers/net/wireless/ath/ath6kl/txrx.c 	if (eid != ar->ctrl_ep)
ar                333 drivers/net/wireless/ath/ath6kl/txrx.c 		ar->total_tx_data_pend++;
ar                335 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->lock);
ar                347 drivers/net/wireless/ath/ath6kl/txrx.c 	ath6kl_htc_tx(ar->htc_target, &cookie->htc_pkt);
ar                358 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = ath6kl_priv(dev);
ar                381 drivers/net/wireless/ath/ath6kl/txrx.c 	if (WARN_ON_ONCE(ar->state != ATH6KL_STATE_ON))
ar                384 drivers/net/wireless/ath/ath6kl/txrx.c 	if (!test_bit(WMI_READY, &ar->flag))
ar                393 drivers/net/wireless/ath/ath6kl/txrx.c 	if (test_bit(WMI_ENABLED, &ar->flag)) {
ar                408 drivers/net/wireless/ath/ath6kl/txrx.c 		if (ath6kl_wmi_dix_2_dot3(ar->wmi, skb)) {
ar                427 drivers/net/wireless/ath/ath6kl/txrx.c 		ret = ath6kl_wmi_data_hdr_add(ar->wmi, skb,
ar                439 drivers/net/wireless/ath/ath6kl/txrx.c 		    ar->ibss_ps_enable && test_bit(CONNECTED, &vif->flags))
ar                443 drivers/net/wireless/ath/ath6kl/txrx.c 			ret = ath6kl_wmi_implicit_create_pstream(ar->wmi,
ar                453 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->lock);
ar                458 drivers/net/wireless/ath/ath6kl/txrx.c 		eid = ar->ac2ep_map[ac];
ar                462 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar                467 drivers/net/wireless/ath/ath6kl/txrx.c 	cookie = ath6kl_alloc_cookie(ar);
ar                470 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar                475 drivers/net/wireless/ath/ath6kl/txrx.c 	ar->tx_pending[eid]++;
ar                476 drivers/net/wireless/ath/ath6kl/txrx.c 	ar->total_tx_data_pend++;
ar                478 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->lock);
ar                511 drivers/net/wireless/ath/ath6kl/txrx.c 	ath6kl_htc_tx(ar->htc_target, &cookie->htc_pkt);
ar                527 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = devt;
ar                531 drivers/net/wireless/ath/ath6kl/txrx.c 	eid = ar->ac2ep_map[traffic_class];
ar                533 drivers/net/wireless/ath/ath6kl/txrx.c 	if (!test_bit(WMI_ENABLED, &ar->flag))
ar                536 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->lock);
ar                538 drivers/net/wireless/ath/ath6kl/txrx.c 	ar->ac_stream_active[traffic_class] = active;
ar                545 drivers/net/wireless/ath/ath6kl/txrx.c 		if (ar->ac_stream_pri_map[traffic_class] >
ar                546 drivers/net/wireless/ath/ath6kl/txrx.c 		    ar->hiac_stream_active_pri)
ar                548 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->hiac_stream_active_pri =
ar                549 drivers/net/wireless/ath/ath6kl/txrx.c 					ar->ac_stream_pri_map[traffic_class];
ar                556 drivers/net/wireless/ath/ath6kl/txrx.c 		if (ar->hiac_stream_active_pri ==
ar                557 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->ac_stream_pri_map[traffic_class]) {
ar                563 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->hiac_stream_active_pri = 0;
ar                566 drivers/net/wireless/ath/ath6kl/txrx.c 				if (ar->ac_stream_active[i] &&
ar                567 drivers/net/wireless/ath/ath6kl/txrx.c 				    (ar->ac_stream_pri_map[i] >
ar                568 drivers/net/wireless/ath/ath6kl/txrx.c 				     ar->hiac_stream_active_pri))
ar                573 drivers/net/wireless/ath/ath6kl/txrx.c 					ar->hiac_stream_active_pri =
ar                574 drivers/net/wireless/ath/ath6kl/txrx.c 						ar->ac_stream_pri_map[i];
ar                579 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->lock);
ar                583 drivers/net/wireless/ath/ath6kl/txrx.c 	ath6kl_htc_activity_changed(ar->htc_target, eid, active);
ar                589 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = target->dev->ar;
ar                594 drivers/net/wireless/ath/ath6kl/txrx.c 	if (endpoint == ar->ctrl_ep) {
ar                601 drivers/net/wireless/ath/ath6kl/txrx.c 		set_bit(WMI_CTRL_EP_FULL, &ar->flag);
ar                603 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_recovery_err_notify(ar, ATH6KL_FW_EP_FULL);
ar                614 drivers/net/wireless/ath/ath6kl/txrx.c 	if (ar->ac_stream_pri_map[ar->ep2ac_map[endpoint]] <
ar                615 drivers/net/wireless/ath/ath6kl/txrx.c 	    ar->hiac_stream_active_pri &&
ar                616 drivers/net/wireless/ath/ath6kl/txrx.c 	    ar->cookie_count <=
ar                625 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->list_lock);
ar                626 drivers/net/wireless/ath/ath6kl/txrx.c 	list_for_each_entry(vif, &ar->vif_list, list) {
ar                629 drivers/net/wireless/ath/ath6kl/txrx.c 			spin_unlock_bh(&ar->list_lock);
ar                637 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->list_lock);
ar                646 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = vif->ar;
ar                652 drivers/net/wireless/ath/ath6kl/txrx.c 	if (!ar->ibss_ps_enable)
ar                655 drivers/net/wireless/ath/ath6kl/txrx.c 	if (eid == ar->ctrl_ep)
ar                662 drivers/net/wireless/ath/ath6kl/txrx.c 	ar->node_map[map_no].tx_pend--;
ar                664 drivers/net/wireless/ath/ath6kl/txrx.c 	if (ar->node_map[map_no].tx_pend)
ar                667 drivers/net/wireless/ath/ath6kl/txrx.c 	if (map_no != (ar->node_num - 1))
ar                670 drivers/net/wireless/ath/ath6kl/txrx.c 	for (i = ar->node_num; i > 0; i--) {
ar                671 drivers/net/wireless/ath/ath6kl/txrx.c 		if (ar->node_map[i - 1].tx_pend)
ar                674 drivers/net/wireless/ath/ath6kl/txrx.c 		memset(&ar->node_map[i - 1], 0,
ar                676 drivers/net/wireless/ath/ath6kl/txrx.c 		ar->node_num--;
ar                683 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = target->dev->ar;
ar                699 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->lock);
ar                722 drivers/net/wireless/ath/ath6kl/txrx.c 			ath6kl_free_cookie(ar, ath6kl_cookie);
ar                729 drivers/net/wireless/ath/ath6kl/txrx.c 			ath6kl_free_cookie(ar, ath6kl_cookie);
ar                733 drivers/net/wireless/ath/ath6kl/txrx.c 		ar->tx_pending[eid]--;
ar                735 drivers/net/wireless/ath/ath6kl/txrx.c 		if (eid != ar->ctrl_ep)
ar                736 drivers/net/wireless/ath/ath6kl/txrx.c 			ar->total_tx_data_pend--;
ar                738 drivers/net/wireless/ath/ath6kl/txrx.c 		if (eid == ar->ctrl_ep) {
ar                739 drivers/net/wireless/ath/ath6kl/txrx.c 			if (test_bit(WMI_CTRL_EP_FULL, &ar->flag))
ar                740 drivers/net/wireless/ath/ath6kl/txrx.c 				clear_bit(WMI_CTRL_EP_FULL, &ar->flag);
ar                742 drivers/net/wireless/ath/ath6kl/txrx.c 			if (ar->tx_pending[eid] == 0)
ar                746 drivers/net/wireless/ath/ath6kl/txrx.c 		if (eid == ar->ctrl_ep) {
ar                754 drivers/net/wireless/ath/ath6kl/txrx.c 		vif = ath6kl_get_vif_by_index(ar, if_idx);
ar                756 drivers/net/wireless/ath/ath6kl/txrx.c 			ath6kl_free_cookie(ar, ath6kl_cookie);
ar                787 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_free_cookie(ar, ath6kl_cookie);
ar                793 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->lock);
ar                798 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->list_lock);
ar                799 drivers/net/wireless/ath/ath6kl/txrx.c 	list_for_each_entry(vif, &ar->vif_list, list) {
ar                802 drivers/net/wireless/ath/ath6kl/txrx.c 			spin_unlock_bh(&ar->list_lock);
ar                804 drivers/net/wireless/ath/ath6kl/txrx.c 			spin_lock_bh(&ar->list_lock);
ar                807 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->list_lock);
ar                810 drivers/net/wireless/ath/ath6kl/txrx.c 		wake_up(&ar->event_wq);
ar                815 drivers/net/wireless/ath/ath6kl/txrx.c void ath6kl_tx_data_cleanup(struct ath6kl *ar)
ar                821 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_htc_flush_txep(ar->htc_target, ar->ac2ep_map[i],
ar                876 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = target->dev->ar;
ar                884 drivers/net/wireless/ath/ath6kl/txrx.c 			  ath6kl_htc_get_rxbuf_num(ar->htc_target, endpoint);
ar                913 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_htc_add_rxbuf_multiple(ar->htc_target, &queue);
ar                916 drivers/net/wireless/ath/ath6kl/txrx.c void ath6kl_refill_amsdu_rxbufs(struct ath6kl *ar, int count)
ar                936 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_lock_bh(&ar->lock);
ar                937 drivers/net/wireless/ath/ath6kl/txrx.c 		list_add_tail(&packet->list, &ar->amsdu_rx_buffer_queue);
ar                938 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar                951 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = target->dev->ar;
ar                963 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->lock);
ar                965 drivers/net/wireless/ath/ath6kl/txrx.c 	if (list_empty(&ar->amsdu_rx_buffer_queue)) {
ar                966 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar                971 drivers/net/wireless/ath/ath6kl/txrx.c 	packet = list_first_entry(&ar->amsdu_rx_buffer_queue,
ar                974 drivers/net/wireless/ath/ath6kl/txrx.c 	list_for_each(pkt_pos, &ar->amsdu_rx_buffer_queue)
ar                978 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->lock);
ar                985 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_refill_amsdu_rxbufs(ar, refill_cnt);
ar               1235 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = vif->ar;
ar               1293 drivers/net/wireless/ath/ath6kl/txrx.c 		ath6kl_wmi_set_apsd_bfrd_traf(ar->wmi,
ar               1303 drivers/net/wireless/ath/ath6kl/txrx.c 	struct ath6kl *ar = target->dev->ar;
ar               1324 drivers/net/wireless/ath/ath6kl/txrx.c 		   __func__, ar, ept, skb, packet->buf,
ar               1338 drivers/net/wireless/ath/ath6kl/txrx.c 	if (ept == ar->ctrl_ep) {
ar               1339 drivers/net/wireless/ath/ath6kl/txrx.c 		if (test_bit(WMI_ENABLED, &ar->flag)) {
ar               1340 drivers/net/wireless/ath/ath6kl/txrx.c 			ath6kl_check_wow_status(ar);
ar               1341 drivers/net/wireless/ath/ath6kl/txrx.c 			ath6kl_wmi_control_rx(ar->wmi, skb);
ar               1351 drivers/net/wireless/ath/ath6kl/txrx.c 	vif = ath6kl_get_vif_by_index(ar, if_idx);
ar               1370 drivers/net/wireless/ath/ath6kl/txrx.c 	if (!test_bit(WMI_ENABLED, &ar->flag)) {
ar               1377 drivers/net/wireless/ath/ath6kl/txrx.c 	ath6kl_check_wow_status(ar);
ar               1472 drivers/net/wireless/ath/ath6kl/txrx.c 					ath6kl_wmi_send_mgmt_cmd(ar->wmi,
ar               1501 drivers/net/wireless/ath/ath6kl/txrx.c 							ar->wmi,
ar               1506 drivers/net/wireless/ath/ath6kl/txrx.c 				ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx,
ar               1547 drivers/net/wireless/ath/ath6kl/txrx.c 		status = ath6kl_wmi_dot11_hdr_remove(ar->wmi, skb);
ar               1582 drivers/net/wireless/ath/ath6kl/txrx.c 			if (conn && ar->intra_bss) {
ar               1585 drivers/net/wireless/ath/ath6kl/txrx.c 			} else if (conn && !ar->intra_bss) {
ar               1709 drivers/net/wireless/ath/ath6kl/txrx.c 		sta = ath6kl_find_sta_by_aid(vif->ar, aid);
ar               1802 drivers/net/wireless/ath/ath6kl/txrx.c 		sta = ath6kl_find_sta_by_aid(vif->ar, aid);
ar               1839 drivers/net/wireless/ath/ath6kl/txrx.c void ath6kl_cleanup_amsdu_rxbufs(struct ath6kl *ar)
ar               1843 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_lock_bh(&ar->lock);
ar               1844 drivers/net/wireless/ath/ath6kl/txrx.c 	if (list_empty(&ar->amsdu_rx_buffer_queue)) {
ar               1845 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar               1849 drivers/net/wireless/ath/ath6kl/txrx.c 	list_for_each_entry_safe(packet, tmp_pkt, &ar->amsdu_rx_buffer_queue,
ar               1852 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_unlock_bh(&ar->lock);
ar               1854 drivers/net/wireless/ath/ath6kl/txrx.c 		spin_lock_bh(&ar->lock);
ar               1857 drivers/net/wireless/ath/ath6kl/txrx.c 	spin_unlock_bh(&ar->lock);
ar                 73 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl *ar;
ar                 81 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl *ar;
ar                176 drivers/net/wireless/ath/ath6kl/usb.c static inline struct ath6kl_usb *ath6kl_usb_priv(struct ath6kl *ar)
ar                178 drivers/net/wireless/ath/ath6kl/usb.c 	return ar->hif_priv;
ar                594 drivers/net/wireless/ath/ath6kl/usb.c 			ath6kl_core_tx_complete(ar_usb->ar, skb);
ar                598 drivers/net/wireless/ath/ath6kl/usb.c 			ath6kl_core_rx_complete(ar_usb->ar, skb,
ar                676 drivers/net/wireless/ath/ath6kl/usb.c 	ath6kl_stop_txrx(ar_usb->ar);
ar                680 drivers/net/wireless/ath/ath6kl/usb.c 	ath6kl_core_cleanup(ar_usb->ar);
ar                685 drivers/net/wireless/ath/ath6kl/usb.c static void hif_start(struct ath6kl *ar)
ar                687 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *device = ath6kl_usb_priv(ar);
ar                700 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_send(struct ath6kl *ar, u8 PipeID,
ar                703 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *device = ath6kl_usb_priv(ar);
ar                776 drivers/net/wireless/ath/ath6kl/usb.c static void hif_stop(struct ath6kl *ar)
ar                778 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *device = ath6kl_usb_priv(ar);
ar                783 drivers/net/wireless/ath/ath6kl/usb.c static void ath6kl_usb_get_default_pipe(struct ath6kl *ar,
ar                790 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_map_service_pipe(struct ath6kl *ar, u16 svc_id,
ar                814 drivers/net/wireless/ath/ath6kl/usb.c 			     ar->fw_capabilities))
ar                827 drivers/net/wireless/ath/ath6kl/usb.c 			     ar->fw_capabilities))
ar                845 drivers/net/wireless/ath/ath6kl/usb.c static u16 ath6kl_usb_get_free_queue_number(struct ath6kl *ar, u8 pipe_id)
ar                847 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *device = ath6kl_usb_priv(ar);
ar                852 drivers/net/wireless/ath/ath6kl/usb.c static void hif_detach_htc(struct ath6kl *ar)
ar                854 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *device = ath6kl_usb_priv(ar);
ar                950 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_diag_read32(struct ath6kl *ar, u32 address, u32 *data)
ar                952 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *ar_usb = ar->hif_priv;
ar                985 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_diag_write32(struct ath6kl *ar, u32 address, __le32 data)
ar                987 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *ar_usb = ar->hif_priv;
ar               1011 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_bmi_read(struct ath6kl *ar, u8 *buf, u32 len)
ar               1013 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *ar_usb = ar->hif_priv;
ar               1029 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_bmi_write(struct ath6kl *ar, u8 *buf, u32 len)
ar               1031 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl_usb *ar_usb = ar->hif_priv;
ar               1047 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_power_on(struct ath6kl *ar)
ar               1049 drivers/net/wireless/ath/ath6kl/usb.c 	hif_start(ar);
ar               1053 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_power_off(struct ath6kl *ar)
ar               1055 drivers/net/wireless/ath/ath6kl/usb.c 	hif_detach_htc(ar);
ar               1059 drivers/net/wireless/ath/ath6kl/usb.c static void ath6kl_usb_stop(struct ath6kl *ar)
ar               1061 drivers/net/wireless/ath/ath6kl/usb.c 	hif_stop(ar);
ar               1064 drivers/net/wireless/ath/ath6kl/usb.c static void ath6kl_usb_cleanup_scatter(struct ath6kl *ar)
ar               1072 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
ar               1080 drivers/net/wireless/ath/ath6kl/usb.c static int ath6kl_usb_resume(struct ath6kl *ar)
ar               1110 drivers/net/wireless/ath/ath6kl/usb.c 	struct ath6kl *ar;
ar               1140 drivers/net/wireless/ath/ath6kl/usb.c 	ar = ath6kl_core_create(&ar_usb->udev->dev);
ar               1141 drivers/net/wireless/ath/ath6kl/usb.c 	if (ar == NULL) {
ar               1147 drivers/net/wireless/ath/ath6kl/usb.c 	ar->hif_priv = ar_usb;
ar               1148 drivers/net/wireless/ath/ath6kl/usb.c 	ar->hif_type = ATH6KL_HIF_TYPE_USB;
ar               1149 drivers/net/wireless/ath/ath6kl/usb.c 	ar->hif_ops = &ath6kl_usb_ops;
ar               1150 drivers/net/wireless/ath/ath6kl/usb.c 	ar->mbox_info.block_size = 16;
ar               1151 drivers/net/wireless/ath/ath6kl/usb.c 	ar->bmi.max_data_size = 252;
ar               1153 drivers/net/wireless/ath/ath6kl/usb.c 	ar_usb->ar = ar;
ar               1155 drivers/net/wireless/ath/ath6kl/usb.c 	ret = ath6kl_core_init(ar, ATH6KL_HTC_TYPE_PIPE);
ar               1164 drivers/net/wireless/ath/ath6kl/usb.c 	ath6kl_core_destroy(ar);
ar                136 drivers/net/wireless/ath/ath6kl/wmi.c struct ath6kl_vif *ath6kl_get_vif_by_index(struct ath6kl *ar, u8 if_idx)
ar                140 drivers/net/wireless/ath/ath6kl/wmi.c 	if (WARN_ON(if_idx > (ar->vif_max - 1)))
ar                144 drivers/net/wireless/ath/ath6kl/wmi.c 	spin_lock_bh(&ar->list_lock);
ar                145 drivers/net/wireless/ath/ath6kl/wmi.c 	list_for_each_entry(vif, &ar->vif_list, list) {
ar                151 drivers/net/wireless/ath/ath6kl/wmi.c 	spin_unlock_bh(&ar->list_lock);
ar                510 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar                521 drivers/net/wireless/ath/ath6kl/wmi.c 	chan = ieee80211_get_channel(ar->wiphy, freq);
ar                543 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar                555 drivers/net/wireless/ath/ath6kl/wmi.c 	chan = ieee80211_get_channel(ar->wiphy, freq);
ar               1083 drivers/net/wireless/ath/ath6kl/wmi.c 	cfg80211_sched_scan_results(vif->ar->wiphy, 0);
ar               1092 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar               1115 drivers/net/wireless/ath/ath6kl/wmi.c 		ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx,
ar               1119 drivers/net/wireless/ath/ath6kl/wmi.c 	channel = ieee80211_get_channel(ar->wiphy, le16_to_cpu(bih->ch));
ar               1138 drivers/net/wireless/ath/ath6kl/wmi.c 	bss = cfg80211_inform_bss(ar->wiphy, channel,
ar               1149 drivers/net/wireless/ath/ath6kl/wmi.c 	cfg80211_put_bss(ar->wiphy, bss);
ar               1594 drivers/net/wireless/ath/ath6kl/wmi.c 		      vif->ar->fw_capabilities))
ar               2019 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar               2024 drivers/net/wireless/ath/ath6kl/wmi.c 		      ar->fw_capabilities)) {
ar               2057 drivers/net/wireless/ath/ath6kl/wmi.c 		sband = ar->wiphy->bands[band];
ar               2871 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar               2874 drivers/net/wireless/ath/ath6kl/wmi.c 		     ar->fw_capabilities))
ar               2916 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar               2919 drivers/net/wireless/ath/ath6kl/wmi.c 	wake_up(&ar->event_wq);
ar               3317 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar               3331 drivers/net/wireless/ath/ath6kl/wmi.c 		     ar->fw_capabilities)) {
ar               3726 drivers/net/wireless/ath/ath6kl/wmi.c 	struct ath6kl *ar = wmi->parent_dev;
ar               3729 drivers/net/wireless/ath/ath6kl/wmi.c 		     ar->fw_capabilities)) {
ar               3736 drivers/net/wireless/ath/ath6kl/wmi.c 		status = __ath6kl_wmi_send_mgmt_cmd(ar->wmi, if_idx, id, freq,
ar               3740 drivers/net/wireless/ath/ath6kl/wmi.c 		status = ath6kl_wmi_send_action_cmd(ar->wmi, if_idx, id, freq,
ar               2726 drivers/net/wireless/ath/ath6kl/wmi.h struct ath6kl_vif *ath6kl_get_vif_by_index(struct ath6kl *ar, u8 if_idx);
ar                198 drivers/net/wireless/ath/carl9170/carl9170.h 	struct ar9170 *ar;
ar                495 drivers/net/wireless/ath/carl9170/carl9170.h 	struct ar9170 *ar;
ar                504 drivers/net/wireless/ath/carl9170/carl9170.h static inline void __carl9170_set_state(struct ar9170 *ar,
ar                507 drivers/net/wireless/ath/carl9170/carl9170.h 	ar->state = newstate;
ar                510 drivers/net/wireless/ath/carl9170/carl9170.h static inline void carl9170_set_state(struct ar9170 *ar,
ar                515 drivers/net/wireless/ath/carl9170/carl9170.h 	spin_lock_irqsave(&ar->state_lock, flags);
ar                516 drivers/net/wireless/ath/carl9170/carl9170.h 	__carl9170_set_state(ar, newstate);
ar                517 drivers/net/wireless/ath/carl9170/carl9170.h 	spin_unlock_irqrestore(&ar->state_lock, flags);
ar                520 drivers/net/wireless/ath/carl9170/carl9170.h static inline void carl9170_set_state_when(struct ar9170 *ar,
ar                525 drivers/net/wireless/ath/carl9170/carl9170.h 	spin_lock_irqsave(&ar->state_lock, flags);
ar                526 drivers/net/wireless/ath/carl9170/carl9170.h 	if (CHK_DEV_STATE(ar, min))
ar                527 drivers/net/wireless/ath/carl9170/carl9170.h 		__carl9170_set_state(ar, newstate);
ar                528 drivers/net/wireless/ath/carl9170/carl9170.h 	spin_unlock_irqrestore(&ar->state_lock, flags);
ar                533 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_register(struct ar9170 *ar);
ar                534 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_unregister(struct ar9170 *ar);
ar                535 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_free(struct ar9170 *ar);
ar                536 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_restart(struct ar9170 *ar, const enum carl9170_restart_reasons r);
ar                537 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_ps_check(struct ar9170 *ar);
ar                540 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_usb_open(struct ar9170 *ar);
ar                541 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_usb_stop(struct ar9170 *ar);
ar                542 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_usb_tx(struct ar9170 *ar, struct sk_buff *skb);
ar                543 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_usb_handle_tx_err(struct ar9170 *ar);
ar                544 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_exec_cmd(struct ar9170 *ar, const enum carl9170_cmd_oids,
ar                546 drivers/net/wireless/ath/carl9170/carl9170.h int __carl9170_exec_cmd(struct ar9170 *ar, struct carl9170_cmd *cmd,
ar                548 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_usb_restart(struct ar9170 *ar);
ar                549 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_usb_reset(struct ar9170 *ar);
ar                552 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_init_mac(struct ar9170 *ar);
ar                553 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_qos(struct ar9170 *ar);
ar                554 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_update_multicast(struct ar9170 *ar, const u64 mc_hast);
ar                555 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_mod_virtual_mac(struct ar9170 *ar, const unsigned int id,
ar                557 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_operating_mode(struct ar9170 *ar);
ar                558 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_beacon_timers(struct ar9170 *ar);
ar                559 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_dyn_sifs_ack(struct ar9170 *ar);
ar                560 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_rts_cts_rate(struct ar9170 *ar);
ar                561 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_ampdu_settings(struct ar9170 *ar);
ar                562 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_slot_time(struct ar9170 *ar);
ar                563 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_mac_rates(struct ar9170 *ar);
ar                564 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_hwretry_limit(struct ar9170 *ar, const u32 max_retry);
ar                565 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_upload_key(struct ar9170 *ar, const u8 id, const u8 *mac,
ar                567 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_disable_key(struct ar9170 *ar, const u8 id);
ar                568 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_mac_tpc(struct ar9170 *ar, struct ieee80211_channel *channel);
ar                571 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_rx(struct ar9170 *ar, void *buf, unsigned int len);
ar                572 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_handle_command_response(struct ar9170 *ar, void *buf, u32 len);
ar                579 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_tx_process_status(struct ar9170 *ar,
ar                581 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_tx_status(struct ar9170 *ar, struct sk_buff *skb,
ar                583 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_tx_callback(struct ar9170 *ar, struct sk_buff *skb);
ar                584 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_tx_drop(struct ar9170 *ar, struct sk_buff *skb);
ar                585 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_tx_scheduler(struct ar9170 *ar);
ar                588 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_update_beacon(struct ar9170 *ar, const bool submit);
ar                592 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_led_register(struct ar9170 *ar);
ar                593 drivers/net/wireless/ath/carl9170/carl9170.h void carl9170_led_unregister(struct ar9170 *ar);
ar                595 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_led_init(struct ar9170 *ar);
ar                596 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_led_set_state(struct ar9170 *ar, const u32 led_state);
ar                599 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_set_channel(struct ar9170 *ar, struct ieee80211_channel *channel,
ar                601 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_get_noisefloor(struct ar9170 *ar);
ar                604 drivers/net/wireless/ath/carl9170/carl9170.h int carl9170_parse_firmware(struct ar9170 *ar);
ar                648 drivers/net/wireless/ath/carl9170/carl9170.h static inline struct ieee80211_vif *carl9170_get_main_vif(struct ar9170 *ar)
ar                652 drivers/net/wireless/ath/carl9170/carl9170.h 	list_for_each_entry_rcu(cvif, &ar->vif_list, list) {
ar                660 drivers/net/wireless/ath/carl9170/carl9170.h static inline bool is_main_vif(struct ar9170 *ar, struct ieee80211_vif *vif)
ar                665 drivers/net/wireless/ath/carl9170/carl9170.h 	ret = (carl9170_get_main_vif(ar) == vif);
ar                 43 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_write_reg(struct ar9170 *ar, const u32 reg, const u32 val)
ar                 51 drivers/net/wireless/ath/carl9170/cmd.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_WREG, sizeof(buf),
ar                 55 drivers/net/wireless/ath/carl9170/cmd.c 			wiphy_err(ar->hw->wiphy, "writing reg %#x "
ar                 62 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_read_mreg(struct ar9170 *ar, const int nregs,
ar                 76 drivers/net/wireless/ath/carl9170/cmd.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_RREG,
ar                 81 drivers/net/wireless/ath/carl9170/cmd.c 			wiphy_err(ar->hw->wiphy, "reading regs failed (%d)\n",
ar                 94 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_read_reg(struct ar9170 *ar, u32 reg, u32 *val)
ar                 96 drivers/net/wireless/ath/carl9170/cmd.c 	return carl9170_read_mreg(ar, 1, &reg, val);
ar                 99 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_echo_test(struct ar9170 *ar, const u32 v)
ar                104 drivers/net/wireless/ath/carl9170/cmd.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_ECHO,
ar                111 drivers/net/wireless/ath/carl9170/cmd.c 		wiphy_info(ar->hw->wiphy, "wrong echo %x != %x", v, echores);
ar                118 drivers/net/wireless/ath/carl9170/cmd.c struct carl9170_cmd *carl9170_cmd_buf(struct ar9170 *ar,
ar                132 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_reboot(struct ar9170 *ar)
ar                137 drivers/net/wireless/ath/carl9170/cmd.c 	cmd = carl9170_cmd_buf(ar, CARL9170_CMD_REBOOT_ASYNC, 0);
ar                141 drivers/net/wireless/ath/carl9170/cmd.c 	err = __carl9170_exec_cmd(ar, cmd, true);
ar                145 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_mac_reset(struct ar9170 *ar)
ar                147 drivers/net/wireless/ath/carl9170/cmd.c 	return carl9170_exec_cmd(ar, CARL9170_CMD_SWRST,
ar                151 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_bcn_ctrl(struct ar9170 *ar, const unsigned int vif_id,
ar                156 drivers/net/wireless/ath/carl9170/cmd.c 	cmd = carl9170_cmd_buf(ar, CARL9170_CMD_BCN_CTRL_ASYNC,
ar                166 drivers/net/wireless/ath/carl9170/cmd.c 	return __carl9170_exec_cmd(ar, cmd, true);
ar                169 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_collect_tally(struct ar9170 *ar)
ar                176 drivers/net/wireless/ath/carl9170/cmd.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_TALLY, 0, NULL,
ar                183 drivers/net/wireless/ath/carl9170/cmd.c 		ar->tally.active += le32_to_cpu(tally.active) / tick;
ar                184 drivers/net/wireless/ath/carl9170/cmd.c 		ar->tally.cca += le32_to_cpu(tally.cca) / tick;
ar                185 drivers/net/wireless/ath/carl9170/cmd.c 		ar->tally.tx_time += le32_to_cpu(tally.tx_time) / tick;
ar                186 drivers/net/wireless/ath/carl9170/cmd.c 		ar->tally.rx_total += le32_to_cpu(tally.rx_total);
ar                187 drivers/net/wireless/ath/carl9170/cmd.c 		ar->tally.rx_overrun += le32_to_cpu(tally.rx_overrun);
ar                189 drivers/net/wireless/ath/carl9170/cmd.c 		if (ar->channel) {
ar                190 drivers/net/wireless/ath/carl9170/cmd.c 			info = &ar->survey[ar->channel->hw_value];
ar                191 drivers/net/wireless/ath/carl9170/cmd.c 			info->time = ar->tally.active;
ar                192 drivers/net/wireless/ath/carl9170/cmd.c 			info->time_busy = ar->tally.cca;
ar                193 drivers/net/wireless/ath/carl9170/cmd.c 			info->time_tx = ar->tally.tx_time;
ar                202 drivers/net/wireless/ath/carl9170/cmd.c int carl9170_powersave(struct ar9170 *ar, const bool ps)
ar                207 drivers/net/wireless/ath/carl9170/cmd.c 	cmd = carl9170_cmd_buf(ar, CARL9170_CMD_PSM_ASYNC,
ar                221 drivers/net/wireless/ath/carl9170/cmd.c 	return __carl9170_exec_cmd(ar, cmd, true);
ar                 45 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_write_reg(struct ar9170 *ar, const u32 reg, const u32 val);
ar                 46 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_read_reg(struct ar9170 *ar, const u32 reg, u32 *val);
ar                 47 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_read_mreg(struct ar9170 *ar, const int nregs,
ar                 49 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_echo_test(struct ar9170 *ar, u32 v);
ar                 50 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_reboot(struct ar9170 *ar);
ar                 51 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_mac_reset(struct ar9170 *ar);
ar                 52 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_powersave(struct ar9170 *ar, const bool power_on);
ar                 53 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_collect_tally(struct ar9170 *ar);
ar                 54 drivers/net/wireless/ath/carl9170/cmd.h int carl9170_bcn_ctrl(struct ar9170 *ar, const unsigned int vif_id,
ar                 57 drivers/net/wireless/ath/carl9170/cmd.h static inline int carl9170_flush_cab(struct ar9170 *ar,
ar                 60 drivers/net/wireless/ath/carl9170/cmd.h 	return carl9170_bcn_ctrl(ar, vif_id, CARL9170_BCN_CTRL_DRAIN, 0, 0);
ar                 63 drivers/net/wireless/ath/carl9170/cmd.h static inline int carl9170_rx_filter(struct ar9170 *ar,
ar                 68 drivers/net/wireless/ath/carl9170/cmd.h 	return carl9170_exec_cmd(ar, CARL9170_CMD_RX_FILTER,
ar                 73 drivers/net/wireless/ath/carl9170/cmd.h struct carl9170_cmd *carl9170_cmd_buf(struct ar9170 *ar,
ar                 82 drivers/net/wireless/ath/carl9170/cmd.h #define carl9170_regwrite_begin(ar)					\
ar                 85 drivers/net/wireless/ath/carl9170/cmd.h 	struct ar9170 *__ar = ar;
ar                 54 drivers/net/wireless/ath/carl9170/debug.c 	char *(*read)(struct ar9170 *ar, char *buf, size_t bufsize,
ar                 66 drivers/net/wireless/ath/carl9170/debug.c 	struct ar9170 *ar;
ar                 74 drivers/net/wireless/ath/carl9170/debug.c 	ar = file->private_data;
ar                 76 drivers/net/wireless/ath/carl9170/debug.c 	if (!ar)
ar                 90 drivers/net/wireless/ath/carl9170/debug.c 	mutex_lock(&ar->mutex);
ar                 91 drivers/net/wireless/ath/carl9170/debug.c 	if (!CHK_DEV_STATE(ar, dfops->req_dev_state)) {
ar                 97 drivers/net/wireless/ath/carl9170/debug.c 	res_buf = dfops->read(ar, buf, dfops->read_bufsize, &ret);
ar                109 drivers/net/wireless/ath/carl9170/debug.c 	mutex_unlock(&ar->mutex);
ar                117 drivers/net/wireless/ath/carl9170/debug.c 	struct ar9170 *ar;
ar                127 drivers/net/wireless/ath/carl9170/debug.c 	ar = file->private_data;
ar                129 drivers/net/wireless/ath/carl9170/debug.c 	if (!ar)
ar                146 drivers/net/wireless/ath/carl9170/debug.c 	if (mutex_trylock(&ar->mutex) == 0) {
ar                151 drivers/net/wireless/ath/carl9170/debug.c 	if (!CHK_DEV_STATE(ar, dfops->req_dev_state)) {
ar                156 drivers/net/wireless/ath/carl9170/debug.c 	err = dfops->write(ar, buf, count);
ar                161 drivers/net/wireless/ath/carl9170/debug.c 	mutex_unlock(&ar->mutex);
ar                207 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_ ##name ## _read(struct ar9170 *ar,	\
ar                216 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_mem_usage_read(struct ar9170 *ar, char *buf,
ar                219 drivers/net/wireless/ath/carl9170/debug.c 	spin_lock_bh(&ar->mem_lock);
ar                222 drivers/net/wireless/ath/carl9170/debug.c 	    ar->fw.mem_blocks, ar->mem_bitmap);
ar                225 drivers/net/wireless/ath/carl9170/debug.c 	    bitmap_weight(ar->mem_bitmap, ar->fw.mem_blocks),
ar                226 drivers/net/wireless/ath/carl9170/debug.c 	    ar->fw.mem_blocks, atomic_read(&ar->mem_allocs));
ar                229 drivers/net/wireless/ath/carl9170/debug.c 	    atomic_read(&ar->mem_free_blocks),
ar                230 drivers/net/wireless/ath/carl9170/debug.c 	    (atomic_read(&ar->mem_free_blocks) * ar->fw.mem_block_size) / 1024,
ar                231 drivers/net/wireless/ath/carl9170/debug.c 	    (ar->fw.mem_blocks * ar->fw.mem_block_size) / 1024);
ar                233 drivers/net/wireless/ath/carl9170/debug.c 	spin_unlock_bh(&ar->mem_lock);
ar                239 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_qos_stat_read(struct ar9170 *ar, char *buf,
ar                248 drivers/net/wireless/ath/carl9170/debug.c 	spin_lock_bh(&ar->tx_stats_lock);
ar                253 drivers/net/wireless/ath/carl9170/debug.c 	    ar->tx_stats[0].len, ar->tx_stats[0].limit,
ar                254 drivers/net/wireless/ath/carl9170/debug.c 	    ar->tx_stats[1].len, ar->tx_stats[1].limit,
ar                255 drivers/net/wireless/ath/carl9170/debug.c 	    ar->tx_stats[2].len, ar->tx_stats[2].limit,
ar                256 drivers/net/wireless/ath/carl9170/debug.c 	    ar->tx_stats[3].len, ar->tx_stats[3].limit);
ar                261 drivers/net/wireless/ath/carl9170/debug.c 	    ar->tx_stats[0].count, ar->tx_stats[1].count,
ar                262 drivers/net/wireless/ath/carl9170/debug.c 	    ar->tx_stats[2].count, ar->tx_stats[3].count);
ar                264 drivers/net/wireless/ath/carl9170/debug.c 	spin_unlock_bh(&ar->tx_stats_lock);
ar                270 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_pending[0]),
ar                271 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_status[0]),
ar                272 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_pending[1]),
ar                273 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_status[1]),
ar                274 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_pending[2]),
ar                275 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_status[2]),
ar                276 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_pending[3]),
ar                277 drivers/net/wireless/ath/carl9170/debug.c 	    skb_queue_len(&ar->tx_status[3]));
ar                283 drivers/net/wireless/ath/carl9170/debug.c static void carl9170_debugfs_format_frame(struct ar9170 *ar,
ar                300 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_ampdu_state_read(struct ar9170 *ar, char *buf,
ar                309 drivers/net/wireless/ath/carl9170/debug.c 	list_for_each_entry_rcu(iter, &ar->tx_ampdu_list, list) {
ar                342 drivers/net/wireless/ath/carl9170/debug.c 			carl9170_debugfs_format_frame(ar, skb, prefix, buf,
ar                356 drivers/net/wireless/ath/carl9170/debug.c static void carl9170_debugfs_queue_dump(struct ar9170 *ar, char *buf,
ar                366 drivers/net/wireless/ath/carl9170/debug.c 		carl9170_debugfs_format_frame(ar, skb, prefix, buf,
ar                374 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_##q ##_##qi ##_read(struct ar9170 *ar,	\
ar                377 drivers/net/wireless/ath/carl9170/debug.c 	carl9170_debugfs_queue_dump(ar, buf, len, bufsize, &ar->q[qi]);	\
ar                382 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_sta_psm_read(struct ar9170 *ar, char *buf,
ar                385 drivers/net/wireless/ath/carl9170/debug.c 	ADD(buf, *len, bufsize, "psm state: %s\n", (ar->ps.off_override ?
ar                386 drivers/net/wireless/ath/carl9170/debug.c 	    "FORCE CAM" : (ar->ps.state ? "PSM" : "CAM")));
ar                388 drivers/net/wireless/ath/carl9170/debug.c 	ADD(buf, *len, bufsize, "sleep duration: %d ms.\n", ar->ps.sleep_ms);
ar                390 drivers/net/wireless/ath/carl9170/debug.c 	    jiffies_to_msecs(jiffies - ar->ps.last_action));
ar                392 drivers/net/wireless/ath/carl9170/debug.c 	    jiffies_to_msecs(jiffies - ar->ps.last_slept));
ar                398 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_tx_stuck_read(struct ar9170 *ar, char *buf,
ar                403 drivers/net/wireless/ath/carl9170/debug.c 	for (i = 0; i < ar->hw->queues; i++) {
ar                405 drivers/net/wireless/ath/carl9170/debug.c 		    i, ieee80211_queue_stopped(ar->hw, i) ?
ar                406 drivers/net/wireless/ath/carl9170/debug.c 		    jiffies_to_msecs(jiffies - ar->queue_stop_timeout[i]) : 0,
ar                407 drivers/net/wireless/ath/carl9170/debug.c 		    jiffies_to_msecs(ar->max_queue_stop_timeout[i]));
ar                409 drivers/net/wireless/ath/carl9170/debug.c 		ar->max_queue_stop_timeout[i] = 0;
ar                416 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_phy_noise_read(struct ar9170 *ar, char *buf,
ar                421 drivers/net/wireless/ath/carl9170/debug.c 	err = carl9170_get_noisefloor(ar);
ar                428 drivers/net/wireless/ath/carl9170/debug.c 	    ar->noise[0], ar->noise[2]);
ar                430 drivers/net/wireless/ath/carl9170/debug.c 	    ar->noise[1], ar->noise[3]);
ar                436 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_vif_dump_read(struct ar9170 *ar, char *buf,
ar                443 drivers/net/wireless/ath/carl9170/debug.c 	    ar->vifs, ar->fw.vif_num);
ar                446 drivers/net/wireless/ath/carl9170/debug.c 	    ar->fw.vif_num, &ar->vif_bitmap);
ar                449 drivers/net/wireless/ath/carl9170/debug.c 	list_for_each_entry_rcu(iter, &ar->vif_list, list) {
ar                452 drivers/net/wireless/ath/carl9170/debug.c 		    " mac:%pM %s]\n", i, (carl9170_get_main_vif(ar) == vif ?
ar                463 drivers/net/wireless/ath/carl9170/debug.c #define UPDATE_COUNTER(ar, name)	({				\
ar                469 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.stats.name##_counter[__i] = 0;		\
ar                472 drivers/net/wireless/ath/carl9170/debug.c 	if (IS_STARTED(ar))						\
ar                473 drivers/net/wireless/ath/carl9170/debug.c 		__err = carl9170_read_mreg(ar, ARRAY_SIZE(name##_regs),	\
ar                474 drivers/net/wireless/ath/carl9170/debug.c 			__tmp, ar->debug.stats.name##_counter);		\
ar                477 drivers/net/wireless/ath/carl9170/debug.c #define TALLY_SUM_UP(ar, name)	do {					\
ar                481 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.stats.name##_sum[__i] +=			\
ar                482 drivers/net/wireless/ath/carl9170/debug.c 			ar->debug.stats.name##_counter[__i];		\
ar                487 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_##name ## _read(struct ar9170 *ar,	\
ar                498 drivers/net/wireless/ath/carl9170/debug.c 	err = UPDATE_COUNTER(ar, name);					\
ar                504 drivers/net/wireless/ath/carl9170/debug.c 	TALLY_SUM_UP(ar, name);						\
ar                508 drivers/net/wireless/ath/carl9170/debug.c 		    name##_regs[i].nreg, ar->debug.stats.name ##_sum[i],\
ar                509 drivers/net/wireless/ath/carl9170/debug.c 		    ar->debug.stats.name ##_counter[i]);		\
ar                517 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_##name ## _read(struct ar9170 *ar,	\
ar                528 drivers/net/wireless/ath/carl9170/debug.c 	err = UPDATE_COUNTER(ar, name);					\
ar                537 drivers/net/wireless/ath/carl9170/debug.c 		    ar->debug.stats.name##_counter[i]);			\
ar                544 drivers/net/wireless/ath/carl9170/debug.c static ssize_t carl9170_debugfs_hw_ioread32_write(struct ar9170 *ar,
ar                581 drivers/net/wireless/ath/carl9170/debug.c 		err = carl9170_read_reg(ar, reg + (i << 2), &tmp);
ar                585 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.ring[ar->debug.ring_tail].reg = reg + (i << 2);
ar                586 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.ring[ar->debug.ring_tail].value = tmp;
ar                587 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.ring_tail++;
ar                588 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.ring_tail %= CARL9170_DEBUG_RING_SIZE;
ar                595 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_hw_ioread32_read(struct ar9170 *ar, char *buf,
ar                600 drivers/net/wireless/ath/carl9170/debug.c 	while (ar->debug.ring_head != ar->debug.ring_tail) {
ar                602 drivers/net/wireless/ath/carl9170/debug.c 		    ar->debug.ring[ar->debug.ring_head].reg,
ar                603 drivers/net/wireless/ath/carl9170/debug.c 		    ar->debug.ring[ar->debug.ring_head].value);
ar                605 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.ring_head++;
ar                606 drivers/net/wireless/ath/carl9170/debug.c 		ar->debug.ring_head %= CARL9170_DEBUG_RING_SIZE;
ar                611 drivers/net/wireless/ath/carl9170/debug.c 	ar->debug.ring_head = ar->debug.ring_tail;
ar                616 drivers/net/wireless/ath/carl9170/debug.c static ssize_t carl9170_debugfs_bug_write(struct ar9170 *ar, const char *buf,
ar                626 drivers/net/wireless/ath/carl9170/debug.c 		ar->needs_full_reset = true;
ar                630 drivers/net/wireless/ath/carl9170/debug.c 		if (!IS_STARTED(ar)) {
ar                635 drivers/net/wireless/ath/carl9170/debug.c 		ar->needs_full_reset = false;
ar                639 drivers/net/wireless/ath/carl9170/debug.c 		err = carl9170_mac_reset(ar);
ar                646 drivers/net/wireless/ath/carl9170/debug.c 		err = carl9170_set_channel(ar, ar->hw->conf.chandef.chan,
ar                647 drivers/net/wireless/ath/carl9170/debug.c 			cfg80211_get_chandef_type(&ar->hw->conf.chandef));
ar                657 drivers/net/wireless/ath/carl9170/debug.c 	carl9170_restart(ar, CARL9170_RR_USER_REQUEST);
ar                663 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_bug_read(struct ar9170 *ar, char *buf,
ar                669 drivers/net/wireless/ath/carl9170/debug.c 		ar->restart_counter, ar->last_reason);
ar                671 drivers/net/wireless/ath/carl9170/debug.c 		ar->total_chan_fail, ar->chan_fail);
ar                673 drivers/net/wireless/ath/carl9170/debug.c 		ar->fw.err_counter);
ar                675 drivers/net/wireless/ath/carl9170/debug.c 		ar->fw.bug_counter);
ar                677 drivers/net/wireless/ath/carl9170/debug.c 		atomic_read(&ar->pending_restarts));
ar                691 drivers/net/wireless/ath/carl9170/debug.c static char *carl9170_debugfs_erp_read(struct ar9170 *ar, char *buf,
ar                694 drivers/net/wireless/ath/carl9170/debug.c 	ADD(buf, *ret, bufsize, "ERP Setting: (%d) -> %s\n", ar->erp_mode,
ar                695 drivers/net/wireless/ath/carl9170/debug.c 	    erp_modes[ar->erp_mode]);
ar                699 drivers/net/wireless/ath/carl9170/debug.c static ssize_t carl9170_debugfs_erp_write(struct ar9170 *ar, const char *buf,
ar                715 drivers/net/wireless/ath/carl9170/debug.c 	ar->erp_mode = val;
ar                721 drivers/net/wireless/ath/carl9170/debug.c static ssize_t carl9170_debugfs_hw_iowrite32_write(struct ar9170 *ar,
ar                749 drivers/net/wireless/ath/carl9170/debug.c 	err = carl9170_write_reg(ar, reg, val);
ar                773 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->tx_anch_urbs));
ar                775 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->rx_anch_urbs));
ar                777 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->rx_work_urbs));
ar                779 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->rx_pool_urbs));
ar                782 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->tx_total_queued));
ar                784 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->tx_ampdu_scheduler));
ar                787 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->tx_total_pending));
ar                790 drivers/net/wireless/ath/carl9170/debug.c 		      ar->tx_ampdu_list_len);
ar                793 drivers/net/wireless/ath/carl9170/debug.c 		      atomic_read(&ar->tx_ampdu_upload));
ar                796 drivers/net/wireless/ath/carl9170/debug.c 	jiffies_to_msecs(jiffies - ar->tx_janitor_last_run));
ar                798 drivers/net/wireless/ath/carl9170/debug.c DEBUGFS_READONLY_FILE(tx_dropped, 20, "%d", ar->tx_dropped);
ar                800 drivers/net/wireless/ath/carl9170/debug.c DEBUGFS_READONLY_FILE(rx_dropped, 20, "%d", ar->rx_dropped);
ar                802 drivers/net/wireless/ath/carl9170/debug.c DEBUGFS_READONLY_FILE(sniffer_enabled, 20, "%d", ar->sniffer_enabled);
ar                804 drivers/net/wireless/ath/carl9170/debug.c 		      ar->rx_software_decryption);
ar                806 drivers/net/wireless/ath/carl9170/debug.c 		      ar->current_factor);
ar                808 drivers/net/wireless/ath/carl9170/debug.c 		      ar->current_density);
ar                810 drivers/net/wireless/ath/carl9170/debug.c DEBUGFS_READONLY_FILE(beacon_int, 20, "%d TU", ar->global_beacon_int);
ar                811 drivers/net/wireless/ath/carl9170/debug.c DEBUGFS_READONLY_FILE(pretbtt, 20, "%d TU", ar->global_pretbtt);
ar                813 drivers/net/wireless/ath/carl9170/debug.c void carl9170_debugfs_register(struct ar9170 *ar)
ar                815 drivers/net/wireless/ath/carl9170/debug.c 	ar->debug_dir = debugfs_create_dir(KBUILD_MODNAME,
ar                816 drivers/net/wireless/ath/carl9170/debug.c 		ar->hw->wiphy->debugfsdir);
ar                820 drivers/net/wireless/ath/carl9170/debug.c 			    ar->debug_dir, ar,				\
ar                883 drivers/net/wireless/ath/carl9170/debug.c void carl9170_debugfs_unregister(struct ar9170 *ar)
ar                885 drivers/net/wireless/ath/carl9170/debug.c 	debugfs_remove_recursive(ar->debug_dir);
ar                132 drivers/net/wireless/ath/carl9170/debug.h void carl9170_debugfs_register(struct ar9170 *ar);
ar                133 drivers/net/wireless/ath/carl9170/debug.h void carl9170_debugfs_unregister(struct ar9170 *ar);
ar                 20 drivers/net/wireless/ath/carl9170/fw.c static const void *carl9170_fw_find_desc(struct ar9170 *ar, const u8 descid[4],
ar                 25 drivers/net/wireless/ath/carl9170/fw.c 	carl9170fw_for_each_hdr(iter, ar->fw.desc) {
ar                 39 drivers/net/wireless/ath/carl9170/fw.c static int carl9170_fw_verify_descs(struct ar9170 *ar,
ar                 82 drivers/net/wireless/ath/carl9170/fw.c static void carl9170_fw_info(struct ar9170 *ar)
ar                 88 drivers/net/wireless/ath/carl9170/fw.c 	dev_info(&ar->udev->dev, "driver   API: %s 2%03d-%02d-%02d [%d-%d]\n",
ar                 93 drivers/net/wireless/ath/carl9170/fw.c 	motd_desc = carl9170_fw_find_desc(ar, MOTD_MAGIC,
ar                102 drivers/net/wireless/ath/carl9170/fw.c 		dev_info(&ar->udev->dev, "firmware API: %.*s 2%03d-%02d-%02d\n",
ar                108 drivers/net/wireless/ath/carl9170/fw.c 		strlcpy(ar->hw->wiphy->fw_version, motd_desc->release,
ar                109 drivers/net/wireless/ath/carl9170/fw.c 			sizeof(ar->hw->wiphy->fw_version));
ar                131 drivers/net/wireless/ath/carl9170/fw.c static int carl9170_fw_checksum(struct ar9170 *ar, const __u8 *data,
ar                141 drivers/net/wireless/ath/carl9170/fw.c 	last_desc = carl9170_fw_find_desc(ar, LAST_MAGIC,
ar                146 drivers/net/wireless/ath/carl9170/fw.c 	otus_desc = carl9170_fw_find_desc(ar, OTUS_MAGIC,
ar                149 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "failed to find compatible firmware "
ar                154 drivers/net/wireless/ath/carl9170/fw.c 	chk_desc = carl9170_fw_find_desc(ar, CHK_MAGIC,
ar                158 drivers/net/wireless/ath/carl9170/fw.c 		dev_warn(&ar->udev->dev, "Unprotected firmware image.\n");
ar                176 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "fw checksum test failed.\n");
ar                182 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "descriptor check failed.\n");
ar                188 drivers/net/wireless/ath/carl9170/fw.c static int carl9170_fw_tx_sequence(struct ar9170 *ar)
ar                192 drivers/net/wireless/ath/carl9170/fw.c 	txsq_desc = carl9170_fw_find_desc(ar, TXSQ_MAGIC, sizeof(*txsq_desc),
ar                195 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.tx_seq_table = le32_to_cpu(txsq_desc->seq_table_addr);
ar                196 drivers/net/wireless/ath/carl9170/fw.c 		if (!valid_cpu_addr(ar->fw.tx_seq_table))
ar                199 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.tx_seq_table = 0;
ar                205 drivers/net/wireless/ath/carl9170/fw.c static void carl9170_fw_set_if_combinations(struct ar9170 *ar,
ar                208 drivers/net/wireless/ath/carl9170/fw.c 	if (ar->fw.vif_num < 2)
ar                211 drivers/net/wireless/ath/carl9170/fw.c 	ar->if_comb_limits[0].max = ar->fw.vif_num;
ar                212 drivers/net/wireless/ath/carl9170/fw.c 	ar->if_comb_limits[0].types = if_comb_types;
ar                214 drivers/net/wireless/ath/carl9170/fw.c 	ar->if_combs[0].num_different_channels = 1;
ar                215 drivers/net/wireless/ath/carl9170/fw.c 	ar->if_combs[0].max_interfaces = ar->fw.vif_num;
ar                216 drivers/net/wireless/ath/carl9170/fw.c 	ar->if_combs[0].limits = ar->if_comb_limits;
ar                217 drivers/net/wireless/ath/carl9170/fw.c 	ar->if_combs[0].n_limits = ARRAY_SIZE(ar->if_comb_limits);
ar                219 drivers/net/wireless/ath/carl9170/fw.c 	ar->hw->wiphy->iface_combinations = ar->if_combs;
ar                220 drivers/net/wireless/ath/carl9170/fw.c 	ar->hw->wiphy->n_iface_combinations = ARRAY_SIZE(ar->if_combs);
ar                223 drivers/net/wireless/ath/carl9170/fw.c static int carl9170_fw(struct ar9170 *ar, const __u8 *data, size_t len)
ar                229 drivers/net/wireless/ath/carl9170/fw.c 	err = carl9170_fw_checksum(ar, data, len);
ar                233 drivers/net/wireless/ath/carl9170/fw.c 	otus_desc = carl9170_fw_find_desc(ar, OTUS_MAGIC,
ar                243 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "invalid firmware descriptor "
ar                248 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.api_version = otus_desc->api_ver;
ar                250 drivers/net/wireless/ath/carl9170/fw.c 	if (ar->fw.api_version < CARL9170FW_API_MIN_VER ||
ar                251 drivers/net/wireless/ath/carl9170/fw.c 	    ar->fw.api_version > CARL9170FW_API_MAX_VER) {
ar                252 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "unsupported firmware api version.\n");
ar                258 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "firmware does support "
ar                265 drivers/net/wireless/ath/carl9170/fw.c 		dev_warn(&ar->udev->dev, "driver does not support all "
ar                270 drivers/net/wireless/ath/carl9170/fw.c 		dev_info(&ar->udev->dev, "crypto offloading is disabled "
ar                272 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.disable_offload_fw = true;
ar                276 drivers/net/wireless/ath/carl9170/fw.c 		ieee80211_hw_set(ar->hw, SUPPORTS_PS);
ar                279 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "firmware does not provide "
ar                285 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.offset = le16_to_cpu(otus_desc->miniboot_size);
ar                287 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.offset = 0;
ar                290 drivers/net/wireless/ath/carl9170/fw.c 		ar->hw->extra_tx_headroom += sizeof(struct ar9170_stream);
ar                291 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.tx_stream = true;
ar                295 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.rx_stream = true;
ar                298 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.rx_filter = true;
ar                299 drivers/net/wireless/ath/carl9170/fw.c 		ar->rx_filter_caps = FIF_FCSFAIL | FIF_PLCPFAIL |
ar                304 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.hw_counters = true;
ar                307 drivers/net/wireless/ath/carl9170/fw.c 		device_set_wakeup_enable(&ar->udev->dev, true);
ar                310 drivers/net/wireless/ath/carl9170/fw.c 		ar->fw.ba_filter = true;
ar                315 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.vif_num = otus_desc->vif_num;
ar                316 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.cmd_bufs = otus_desc->cmd_bufs;
ar                317 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.address = le32_to_cpu(otus_desc->fw_address);
ar                318 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.rx_size = le16_to_cpu(otus_desc->rx_max_frame_len);
ar                319 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.mem_blocks = min_t(unsigned int, otus_desc->tx_descs, 0xfe);
ar                320 drivers/net/wireless/ath/carl9170/fw.c 	atomic_set(&ar->mem_free_blocks, ar->fw.mem_blocks);
ar                321 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.mem_block_size = le16_to_cpu(otus_desc->tx_frag_len);
ar                323 drivers/net/wireless/ath/carl9170/fw.c 	if (ar->fw.vif_num >= AR9170_MAX_VIRTUAL_MAC || !ar->fw.vif_num ||
ar                324 drivers/net/wireless/ath/carl9170/fw.c 	    ar->fw.mem_blocks < 16 || !ar->fw.cmd_bufs ||
ar                325 drivers/net/wireless/ath/carl9170/fw.c 	    ar->fw.mem_block_size < 64 || ar->fw.mem_block_size > 512 ||
ar                326 drivers/net/wireless/ath/carl9170/fw.c 	    ar->fw.rx_size > 32768 || ar->fw.rx_size < 4096 ||
ar                327 drivers/net/wireless/ath/carl9170/fw.c 	    !valid_cpu_addr(ar->fw.address)) {
ar                328 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "firmware shows obvious signs of "
ar                333 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.beacon_addr = le32_to_cpu(otus_desc->bcn_addr);
ar                334 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.beacon_max_len = le16_to_cpu(otus_desc->bcn_len);
ar                336 drivers/net/wireless/ath/carl9170/fw.c 	if (valid_dma_addr(ar->fw.beacon_addr) && ar->fw.beacon_max_len >=
ar                338 drivers/net/wireless/ath/carl9170/fw.c 		ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
ar                352 drivers/net/wireless/ath/carl9170/fw.c 	carl9170_fw_set_if_combinations(ar, if_comb_types);
ar                354 drivers/net/wireless/ath/carl9170/fw.c 	ar->hw->wiphy->interface_modes |= if_comb_types;
ar                356 drivers/net/wireless/ath/carl9170/fw.c 	ar->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
ar                359 drivers/net/wireless/ath/carl9170/fw.c 	ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL |
ar                363 drivers/net/wireless/ath/carl9170/fw.c 	return carl9170_fw_tx_sequence(ar);
ar                367 drivers/net/wireless/ath/carl9170/fw.c carl9170_find_fw_desc(struct ar9170 *ar, const __u8 *fw_data, const size_t len)
ar                373 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "firmware size is out of bound.\n");
ar                396 drivers/net/wireless/ath/carl9170/fw.c int carl9170_parse_firmware(struct ar9170 *ar)
ar                399 drivers/net/wireless/ath/carl9170/fw.c 	const struct firmware *fw = ar->fw.fw;
ar                406 drivers/net/wireless/ath/carl9170/fw.c 	fw_desc = carl9170_find_fw_desc(ar, fw->data, fw->size);
ar                409 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "unsupported firmware.\n");
ar                415 drivers/net/wireless/ath/carl9170/fw.c 	err = carl9170_fw_verify_descs(ar, fw_desc, fw->size - header_offset);
ar                417 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "damaged firmware (%d).\n", err);
ar                421 drivers/net/wireless/ath/carl9170/fw.c 	ar->fw.desc = fw_desc;
ar                423 drivers/net/wireless/ath/carl9170/fw.c 	carl9170_fw_info(ar);
ar                425 drivers/net/wireless/ath/carl9170/fw.c 	err = carl9170_fw(ar, fw->data, fw->size);
ar                427 drivers/net/wireless/ath/carl9170/fw.c 		dev_err(&ar->udev->dev, "failed to parse firmware (%d).\n",
ar                 43 drivers/net/wireless/ath/carl9170/led.c int carl9170_led_set_state(struct ar9170 *ar, const u32 led_state)
ar                 45 drivers/net/wireless/ath/carl9170/led.c 	return carl9170_write_reg(ar, AR9170_GPIO_REG_PORT_DATA, led_state);
ar                 48 drivers/net/wireless/ath/carl9170/led.c int carl9170_led_init(struct ar9170 *ar)
ar                 54 drivers/net/wireless/ath/carl9170/led.c 	err = carl9170_write_reg(ar, AR9170_GPIO_REG_PORT_TYPE, 3);
ar                 59 drivers/net/wireless/ath/carl9170/led.c 	err = carl9170_led_set_state(ar, 0);
ar                 68 drivers/net/wireless/ath/carl9170/led.c 	struct ar9170 *ar = container_of(work, struct ar9170, led_work.work);
ar                 73 drivers/net/wireless/ath/carl9170/led.c 	if (!IS_ACCEPTING_CMD(ar))
ar                 76 drivers/net/wireless/ath/carl9170/led.c 	mutex_lock(&ar->mutex);
ar                 78 drivers/net/wireless/ath/carl9170/led.c 		if (ar->leds[i].registered) {
ar                 79 drivers/net/wireless/ath/carl9170/led.c 			if (ar->leds[i].last_state ||
ar                 80 drivers/net/wireless/ath/carl9170/led.c 			    ar->leds[i].toggled) {
ar                 82 drivers/net/wireless/ath/carl9170/led.c 				if (ar->leds[i].toggled)
ar                 83 drivers/net/wireless/ath/carl9170/led.c 					tmp = 70 + 200 / (ar->leds[i].toggled);
ar                 89 drivers/net/wireless/ath/carl9170/led.c 				ar->leds[i].toggled = 0;
ar                 95 drivers/net/wireless/ath/carl9170/led.c 	carl9170_led_set_state(ar, led_val);
ar                 96 drivers/net/wireless/ath/carl9170/led.c 	mutex_unlock(&ar->mutex);
ar                101 drivers/net/wireless/ath/carl9170/led.c 	ieee80211_queue_delayed_work(ar->hw,
ar                102 drivers/net/wireless/ath/carl9170/led.c 				     &ar->led_work,
ar                110 drivers/net/wireless/ath/carl9170/led.c 	struct ar9170 *ar = arl->ar;
ar                120 drivers/net/wireless/ath/carl9170/led.c 	if (likely(IS_ACCEPTING_CMD(ar) && arl->toggled))
ar                121 drivers/net/wireless/ath/carl9170/led.c 		ieee80211_queue_delayed_work(ar->hw, &ar->led_work, HZ / 10);
ar                124 drivers/net/wireless/ath/carl9170/led.c static int carl9170_led_register_led(struct ar9170 *ar, int i, char *name,
ar                129 drivers/net/wireless/ath/carl9170/led.c 	snprintf(ar->leds[i].name, sizeof(ar->leds[i].name),
ar                130 drivers/net/wireless/ath/carl9170/led.c 		 "carl9170-%s::%s", wiphy_name(ar->hw->wiphy), name);
ar                132 drivers/net/wireless/ath/carl9170/led.c 	ar->leds[i].ar = ar;
ar                133 drivers/net/wireless/ath/carl9170/led.c 	ar->leds[i].l.name = ar->leds[i].name;
ar                134 drivers/net/wireless/ath/carl9170/led.c 	ar->leds[i].l.brightness_set = carl9170_led_set_brightness;
ar                135 drivers/net/wireless/ath/carl9170/led.c 	ar->leds[i].l.brightness = 0;
ar                136 drivers/net/wireless/ath/carl9170/led.c 	ar->leds[i].l.default_trigger = trigger;
ar                138 drivers/net/wireless/ath/carl9170/led.c 	err = led_classdev_register(wiphy_dev(ar->hw->wiphy),
ar                139 drivers/net/wireless/ath/carl9170/led.c 				    &ar->leds[i].l);
ar                141 drivers/net/wireless/ath/carl9170/led.c 		wiphy_err(ar->hw->wiphy, "failed to register %s LED (%d).\n",
ar                142 drivers/net/wireless/ath/carl9170/led.c 			ar->leds[i].name, err);
ar                144 drivers/net/wireless/ath/carl9170/led.c 		ar->leds[i].registered = true;
ar                150 drivers/net/wireless/ath/carl9170/led.c void carl9170_led_unregister(struct ar9170 *ar)
ar                155 drivers/net/wireless/ath/carl9170/led.c 		if (ar->leds[i].registered) {
ar                156 drivers/net/wireless/ath/carl9170/led.c 			led_classdev_unregister(&ar->leds[i].l);
ar                157 drivers/net/wireless/ath/carl9170/led.c 			ar->leds[i].registered = false;
ar                158 drivers/net/wireless/ath/carl9170/led.c 			ar->leds[i].toggled = 0;
ar                161 drivers/net/wireless/ath/carl9170/led.c 	cancel_delayed_work_sync(&ar->led_work);
ar                164 drivers/net/wireless/ath/carl9170/led.c int carl9170_led_register(struct ar9170 *ar)
ar                168 drivers/net/wireless/ath/carl9170/led.c 	INIT_DELAYED_WORK(&ar->led_work, carl9170_led_update);
ar                170 drivers/net/wireless/ath/carl9170/led.c 	err = carl9170_led_register_led(ar, 0, "tx",
ar                171 drivers/net/wireless/ath/carl9170/led.c 					ieee80211_get_tx_led_name(ar->hw));
ar                175 drivers/net/wireless/ath/carl9170/led.c 	if (ar->features & CARL9170_ONE_LED)
ar                178 drivers/net/wireless/ath/carl9170/led.c 	err = carl9170_led_register_led(ar, 1, "assoc",
ar                179 drivers/net/wireless/ath/carl9170/led.c 					ieee80211_get_assoc_led_name(ar->hw));
ar                186 drivers/net/wireless/ath/carl9170/led.c 	carl9170_led_unregister(ar);
ar                 44 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_dyn_sifs_ack(struct ar9170 *ar)
ar                 48 drivers/net/wireless/ath/carl9170/mac.c 	if (conf_is_ht40(&ar->hw->conf))
ar                 51 drivers/net/wireless/ath/carl9170/mac.c 		if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
ar                 57 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_write_reg(ar, AR9170_MAC_REG_DYNAMIC_SIFS_ACK, val);
ar                 60 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_rts_cts_rate(struct ar9170 *ar)
ar                 64 drivers/net/wireless/ath/carl9170/mac.c 	if (conf_is_ht(&ar->hw->conf)) {
ar                 69 drivers/net/wireless/ath/carl9170/mac.c 		if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) {
ar                 80 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_write_reg(ar, AR9170_MAC_REG_RTS_CTS_RATE,
ar                 84 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_slot_time(struct ar9170 *ar)
ar                 90 drivers/net/wireless/ath/carl9170/mac.c 	vif = carl9170_get_main_vif(ar);
ar                 96 drivers/net/wireless/ath/carl9170/mac.c 	if ((ar->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ) ||
ar                102 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_write_reg(ar, AR9170_MAC_REG_SLOT_TIME,
ar                106 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_mac_rates(struct ar9170 *ar)
ar                112 drivers/net/wireless/ath/carl9170/mac.c 	vif = carl9170_get_main_vif(ar);
ar                123 drivers/net/wireless/ath/carl9170/mac.c 	if (ar->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ)
ar                128 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                136 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_qos(struct ar9170 *ar)
ar                138 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                140 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite(AR9170_MAC_REG_AC0_CW, ar->edcf[0].cw_min |
ar                141 drivers/net/wireless/ath/carl9170/mac.c 			  (ar->edcf[0].cw_max << 16));
ar                142 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite(AR9170_MAC_REG_AC1_CW, ar->edcf[1].cw_min |
ar                143 drivers/net/wireless/ath/carl9170/mac.c 			  (ar->edcf[1].cw_max << 16));
ar                144 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite(AR9170_MAC_REG_AC2_CW, ar->edcf[2].cw_min |
ar                145 drivers/net/wireless/ath/carl9170/mac.c 			  (ar->edcf[2].cw_max << 16));
ar                146 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite(AR9170_MAC_REG_AC3_CW, ar->edcf[3].cw_min |
ar                147 drivers/net/wireless/ath/carl9170/mac.c 			  (ar->edcf[3].cw_max << 16));
ar                148 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite(AR9170_MAC_REG_AC4_CW, ar->edcf[4].cw_min |
ar                149 drivers/net/wireless/ath/carl9170/mac.c 			  (ar->edcf[4].cw_max << 16));
ar                152 drivers/net/wireless/ath/carl9170/mac.c 			  ((ar->edcf[0].aifs * 9 + 10)) |
ar                153 drivers/net/wireless/ath/carl9170/mac.c 			  ((ar->edcf[1].aifs * 9 + 10) << 12) |
ar                154 drivers/net/wireless/ath/carl9170/mac.c 			  ((ar->edcf[2].aifs * 9 + 10) << 24));
ar                156 drivers/net/wireless/ath/carl9170/mac.c 			  ((ar->edcf[2].aifs * 9 + 10) >> 8) |
ar                157 drivers/net/wireless/ath/carl9170/mac.c 			  ((ar->edcf[3].aifs * 9 + 10) << 4) |
ar                158 drivers/net/wireless/ath/carl9170/mac.c 			  ((ar->edcf[4].aifs * 9 + 10) << 16));
ar                161 drivers/net/wireless/ath/carl9170/mac.c 			  ar->edcf[0].txop | ar->edcf[1].txop << 16);
ar                163 drivers/net/wireless/ath/carl9170/mac.c 			  ar->edcf[2].txop | ar->edcf[3].txop << 16 |
ar                164 drivers/net/wireless/ath/carl9170/mac.c 			  ar->edcf[4].txop << 24);
ar                171 drivers/net/wireless/ath/carl9170/mac.c int carl9170_init_mac(struct ar9170 *ar)
ar                173 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                257 drivers/net/wireless/ath/carl9170/mac.c static int carl9170_set_mac_reg(struct ar9170 *ar,
ar                265 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                275 drivers/net/wireless/ath/carl9170/mac.c int carl9170_mod_virtual_mac(struct ar9170 *ar, const unsigned int id,
ar                278 drivers/net/wireless/ath/carl9170/mac.c 	if (WARN_ON(id >= ar->fw.vif_num))
ar                281 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_set_mac_reg(ar,
ar                285 drivers/net/wireless/ath/carl9170/mac.c int carl9170_update_multicast(struct ar9170 *ar, const u64 mc_hash)
ar                289 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                297 drivers/net/wireless/ath/carl9170/mac.c 	ar->cur_mc_hash = mc_hash;
ar                301 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_operating_mode(struct ar9170 *ar)
ar                304 drivers/net/wireless/ath/carl9170/mac.c 	struct ath_common *common = &ar->common;
ar                315 drivers/net/wireless/ath/carl9170/mac.c 	vif = carl9170_get_main_vif(ar);
ar                371 drivers/net/wireless/ath/carl9170/mac.c 	if (ar->rx_software_decryption)
ar                374 drivers/net/wireless/ath/carl9170/mac.c 	if (ar->sniffer_enabled) {
ar                378 drivers/net/wireless/ath/carl9170/mac.c 	err = carl9170_set_mac_reg(ar, AR9170_MAC_REG_MAC_ADDR_L, mac_addr);
ar                382 drivers/net/wireless/ath/carl9170/mac.c 	err = carl9170_set_mac_reg(ar, AR9170_MAC_REG_BSSID_L, bssid);
ar                386 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                396 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_hwretry_limit(struct ar9170 *ar, const unsigned int max_retry)
ar                400 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_write_reg(ar, AR9170_MAC_REG_RETRY_MAX, tmp);
ar                403 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_beacon_timers(struct ar9170 *ar)
ar                410 drivers/net/wireless/ath/carl9170/mac.c 	vif = carl9170_get_main_vif(ar);
ar                416 drivers/net/wireless/ath/carl9170/mac.c 		if (mvif->enable_beacon && !WARN_ON(!ar->beacon_enabled)) {
ar                417 drivers/net/wireless/ath/carl9170/mac.c 			ar->global_beacon_int = vif->bss_conf.beacon_int /
ar                418 drivers/net/wireless/ath/carl9170/mac.c 						ar->beacon_enabled;
ar                436 drivers/net/wireless/ath/carl9170/mac.c 			ar->global_beacon_int = vif->bss_conf.beacon_int;
ar                439 drivers/net/wireless/ath/carl9170/mac.c 				ar->hw->conf.ps_dtim_period);
ar                445 drivers/net/wireless/ath/carl9170/mac.c 		if (ar->global_beacon_int) {
ar                446 drivers/net/wireless/ath/carl9170/mac.c 			if (ar->global_beacon_int < 15) {
ar                451 drivers/net/wireless/ath/carl9170/mac.c 			ar->global_pretbtt = ar->global_beacon_int -
ar                454 drivers/net/wireless/ath/carl9170/mac.c 			ar->global_pretbtt = 0;
ar                457 drivers/net/wireless/ath/carl9170/mac.c 		ar->global_beacon_int = 0;
ar                458 drivers/net/wireless/ath/carl9170/mac.c 		ar->global_pretbtt = 0;
ar                463 drivers/net/wireless/ath/carl9170/mac.c 	SET_VAL(AR9170_MAC_BCN_PERIOD, v, ar->global_beacon_int);
ar                464 drivers/net/wireless/ath/carl9170/mac.c 	SET_VAL(AR9170_MAC_PRETBTT, pretbtt, ar->global_pretbtt);
ar                465 drivers/net/wireless/ath/carl9170/mac.c 	SET_VAL(AR9170_MAC_PRETBTT2, pretbtt, ar->global_pretbtt);
ar                467 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                474 drivers/net/wireless/ath/carl9170/mac.c int carl9170_upload_key(struct ar9170 *ar, const u8 id, const u8 *mac,
ar                491 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_exec_cmd(ar, CARL9170_CMD_EKEY,
ar                495 drivers/net/wireless/ath/carl9170/mac.c int carl9170_disable_key(struct ar9170 *ar, const u8 id)
ar                501 drivers/net/wireless/ath/carl9170/mac.c 	return carl9170_exec_cmd(ar, CARL9170_CMD_DKEY,
ar                505 drivers/net/wireless/ath/carl9170/mac.c int carl9170_set_mac_tpc(struct ar9170 *ar, struct ieee80211_channel *channel)
ar                509 drivers/net/wireless/ath/carl9170/mac.c 	if (ar->eeprom.tx_mask != 1)
ar                516 drivers/net/wireless/ath/carl9170/mac.c 		power = ar->power_2G_ofdm[0] & 0x3f;
ar                519 drivers/net/wireless/ath/carl9170/mac.c 		power = ar->power_5G_leg[0] & 0x3f;
ar                525 drivers/net/wireless/ath/carl9170/mac.c 	power = min_t(unsigned int, power, ar->hw->conf.power_level * 2);
ar                527 drivers/net/wireless/ath/carl9170/mac.c 	carl9170_regwrite_begin(ar);
ar                184 drivers/net/wireless/ath/carl9170/main.c static void carl9170_ampdu_gc(struct ar9170 *ar)
ar                190 drivers/net/wireless/ath/carl9170/main.c 	list_for_each_entry_rcu(tid_info, &ar->tx_ampdu_list, list) {
ar                191 drivers/net/wireless/ath/carl9170/main.c 		spin_lock_bh(&ar->tx_ampdu_list_lock);
ar                195 drivers/net/wireless/ath/carl9170/main.c 			ar->tx_ampdu_list_len--;
ar                198 drivers/net/wireless/ath/carl9170/main.c 		spin_unlock_bh(&ar->tx_ampdu_list_lock);
ar                201 drivers/net/wireless/ath/carl9170/main.c 	rcu_assign_pointer(ar->tx_ampdu_iter, tid_info);
ar                212 drivers/net/wireless/ath/carl9170/main.c 			carl9170_tx_status(ar, skb, false);
ar                219 drivers/net/wireless/ath/carl9170/main.c static void carl9170_flush(struct ar9170 *ar, bool drop_queued)
ar                229 drivers/net/wireless/ath/carl9170/main.c 		for (i = 0; i < ar->hw->queues; i++) {
ar                232 drivers/net/wireless/ath/carl9170/main.c 			while ((skb = skb_dequeue(&ar->tx_pending[i]))) {
ar                237 drivers/net/wireless/ath/carl9170/main.c 					atomic_dec(&ar->tx_ampdu_upload);
ar                239 drivers/net/wireless/ath/carl9170/main.c 				carl9170_tx_status(ar, skb, false);
ar                245 drivers/net/wireless/ath/carl9170/main.c 	if (atomic_read(&ar->tx_total_queued))
ar                246 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON(wait_for_completion_timeout(&ar->tx_flush, HZ) == 0);
ar                249 drivers/net/wireless/ath/carl9170/main.c static void carl9170_flush_ba(struct ar9170 *ar)
ar                258 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_bh(&ar->tx_ampdu_list_lock);
ar                259 drivers/net/wireless/ath/carl9170/main.c 	list_for_each_entry_rcu(tid_info, &ar->tx_ampdu_list, list) {
ar                269 drivers/net/wireless/ath/carl9170/main.c 	spin_unlock_bh(&ar->tx_ampdu_list_lock);
ar                273 drivers/net/wireless/ath/carl9170/main.c 		carl9170_tx_status(ar, skb, false);
ar                276 drivers/net/wireless/ath/carl9170/main.c static void carl9170_zap_queues(struct ar9170 *ar)
ar                281 drivers/net/wireless/ath/carl9170/main.c 	carl9170_ampdu_gc(ar);
ar                283 drivers/net/wireless/ath/carl9170/main.c 	carl9170_flush_ba(ar);
ar                284 drivers/net/wireless/ath/carl9170/main.c 	carl9170_flush(ar, true);
ar                286 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < ar->hw->queues; i++) {
ar                287 drivers/net/wireless/ath/carl9170/main.c 		spin_lock_bh(&ar->tx_status[i].lock);
ar                288 drivers/net/wireless/ath/carl9170/main.c 		while (!skb_queue_empty(&ar->tx_status[i])) {
ar                291 drivers/net/wireless/ath/carl9170/main.c 			skb = skb_peek(&ar->tx_status[i]);
ar                293 drivers/net/wireless/ath/carl9170/main.c 			spin_unlock_bh(&ar->tx_status[i].lock);
ar                294 drivers/net/wireless/ath/carl9170/main.c 			carl9170_tx_drop(ar, skb);
ar                295 drivers/net/wireless/ath/carl9170/main.c 			spin_lock_bh(&ar->tx_status[i].lock);
ar                298 drivers/net/wireless/ath/carl9170/main.c 		spin_unlock_bh(&ar->tx_status[i].lock);
ar                306 drivers/net/wireless/ath/carl9170/main.c 	memset(&ar->tx_stats, 0, sizeof(ar->tx_stats));
ar                307 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < ar->hw->queues; i++)
ar                308 drivers/net/wireless/ath/carl9170/main.c 		ar->tx_stats[i].limit = CARL9170_NUM_TX_LIMIT_HARD;
ar                310 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < DIV_ROUND_UP(ar->fw.mem_blocks, BITS_PER_LONG); i++)
ar                311 drivers/net/wireless/ath/carl9170/main.c 		ar->mem_bitmap[i] = 0;
ar                314 drivers/net/wireless/ath/carl9170/main.c 	list_for_each_entry_rcu(cvif, &ar->vif_list, list) {
ar                315 drivers/net/wireless/ath/carl9170/main.c 		spin_lock_bh(&ar->beacon_lock);
ar                318 drivers/net/wireless/ath/carl9170/main.c 		spin_unlock_bh(&ar->beacon_lock);
ar                322 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->tx_ampdu_upload, 0);
ar                323 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->tx_ampdu_scheduler, 0);
ar                324 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->tx_total_pending, 0);
ar                325 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->tx_total_queued, 0);
ar                326 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->mem_free_blocks, ar->fw.mem_blocks);
ar                339 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar                342 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                344 drivers/net/wireless/ath/carl9170/main.c 	carl9170_zap_queues(ar);
ar                347 drivers/net/wireless/ath/carl9170/main.c 	CARL9170_FILL_QUEUE(ar->edcf[AR9170_TXQ_VO], 2, 3,     7, 47);
ar                348 drivers/net/wireless/ath/carl9170/main.c 	CARL9170_FILL_QUEUE(ar->edcf[AR9170_TXQ_VI], 2, 7,    15, 94);
ar                349 drivers/net/wireless/ath/carl9170/main.c 	CARL9170_FILL_QUEUE(ar->edcf[AR9170_TXQ_BE], 3, 15, 1023,  0);
ar                350 drivers/net/wireless/ath/carl9170/main.c 	CARL9170_FILL_QUEUE(ar->edcf[AR9170_TXQ_BK], 7, 15, 1023,  0);
ar                351 drivers/net/wireless/ath/carl9170/main.c 	CARL9170_FILL_QUEUE(ar->edcf[AR9170_TXQ_SPECIAL], 2, 3, 7, 0);
ar                353 drivers/net/wireless/ath/carl9170/main.c 	ar->current_factor = ar->current_density = -1;
ar                355 drivers/net/wireless/ath/carl9170/main.c 	ar->usedkeys = 1;
ar                356 drivers/net/wireless/ath/carl9170/main.c 	ar->filter_state = 0;
ar                357 drivers/net/wireless/ath/carl9170/main.c 	ar->ps.last_action = jiffies;
ar                358 drivers/net/wireless/ath/carl9170/main.c 	ar->ps.last_slept = jiffies;
ar                359 drivers/net/wireless/ath/carl9170/main.c 	ar->erp_mode = CARL9170_ERP_AUTO;
ar                364 drivers/net/wireless/ath/carl9170/main.c 	ar->disable_offload = modparam_nohwcrypt |
ar                365 drivers/net/wireless/ath/carl9170/main.c 		ar->fw.disable_offload_fw;
ar                366 drivers/net/wireless/ath/carl9170/main.c 	ar->rx_software_decryption = ar->disable_offload;
ar                368 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < ar->hw->queues; i++) {
ar                369 drivers/net/wireless/ath/carl9170/main.c 		ar->queue_stop_timeout[i] = jiffies;
ar                370 drivers/net/wireless/ath/carl9170/main.c 		ar->max_queue_stop_timeout[i] = 0;
ar                373 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->mem_allocs, 0);
ar                375 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_usb_open(ar);
ar                379 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_init_mac(ar);
ar                383 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_set_qos(ar);
ar                387 drivers/net/wireless/ath/carl9170/main.c 	if (ar->fw.rx_filter) {
ar                388 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_rx_filter(ar, CARL9170_RX_FILTER_OTHER_RA |
ar                394 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_write_reg(ar, AR9170_MAC_REG_DMA_TRIGGER,
ar                401 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_upload_key(ar, i, NULL, AR9170_ENC_ALG_NONE,
ar                406 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_upload_key(ar, i, NULL, AR9170_ENC_ALG_NONE,
ar                412 drivers/net/wireless/ath/carl9170/main.c 			err = carl9170_disable_key(ar, i);
ar                418 drivers/net/wireless/ath/carl9170/main.c 	carl9170_set_state_when(ar, CARL9170_IDLE, CARL9170_STARTED);
ar                420 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_queue_delayed_work(ar->hw, &ar->stat_work,
ar                423 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_wake_queues(ar->hw);
ar                427 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                431 drivers/net/wireless/ath/carl9170/main.c static void carl9170_cancel_worker(struct ar9170 *ar)
ar                433 drivers/net/wireless/ath/carl9170/main.c 	cancel_delayed_work_sync(&ar->stat_work);
ar                434 drivers/net/wireless/ath/carl9170/main.c 	cancel_delayed_work_sync(&ar->tx_janitor);
ar                436 drivers/net/wireless/ath/carl9170/main.c 	cancel_delayed_work_sync(&ar->led_work);
ar                438 drivers/net/wireless/ath/carl9170/main.c 	cancel_work_sync(&ar->ps_work);
ar                439 drivers/net/wireless/ath/carl9170/main.c 	cancel_work_sync(&ar->ping_work);
ar                440 drivers/net/wireless/ath/carl9170/main.c 	cancel_work_sync(&ar->ampdu_work);
ar                445 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar                447 drivers/net/wireless/ath/carl9170/main.c 	carl9170_set_state_when(ar, CARL9170_STARTED, CARL9170_IDLE);
ar                449 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_stop_queues(ar->hw);
ar                451 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                452 drivers/net/wireless/ath/carl9170/main.c 	if (IS_ACCEPTING_CMD(ar)) {
ar                453 drivers/net/wireless/ath/carl9170/main.c 		RCU_INIT_POINTER(ar->beacon_iter, NULL);
ar                455 drivers/net/wireless/ath/carl9170/main.c 		carl9170_led_set_state(ar, 0);
ar                458 drivers/net/wireless/ath/carl9170/main.c 		carl9170_write_reg(ar, AR9170_MAC_REG_DMA_TRIGGER, 0);
ar                459 drivers/net/wireless/ath/carl9170/main.c 		carl9170_usb_stop(ar);
ar                462 drivers/net/wireless/ath/carl9170/main.c 	carl9170_zap_queues(ar);
ar                463 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                465 drivers/net/wireless/ath/carl9170/main.c 	carl9170_cancel_worker(ar);
ar                470 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = container_of(work, struct ar9170,
ar                474 drivers/net/wireless/ath/carl9170/main.c 	ar->usedkeys = 0;
ar                475 drivers/net/wireless/ath/carl9170/main.c 	ar->filter_state = 0;
ar                476 drivers/net/wireless/ath/carl9170/main.c 	carl9170_cancel_worker(ar);
ar                478 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                479 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->force_usb_reset) {
ar                480 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_usb_restart(ar);
ar                483 drivers/net/wireless/ath/carl9170/main.c 				dev_err(&ar->udev->dev, "Failed to restart device (%d).\n", err);
ar                485 drivers/net/wireless/ath/carl9170/main.c 				dev_info(&ar->udev->dev, "device restarted successfully.\n");
ar                488 drivers/net/wireless/ath/carl9170/main.c 	carl9170_zap_queues(ar);
ar                489 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                491 drivers/net/wireless/ath/carl9170/main.c 	if (!err && !ar->force_usb_reset) {
ar                492 drivers/net/wireless/ath/carl9170/main.c 		ar->restart_counter++;
ar                493 drivers/net/wireless/ath/carl9170/main.c 		atomic_set(&ar->pending_restarts, 0);
ar                495 drivers/net/wireless/ath/carl9170/main.c 		ieee80211_restart_hw(ar->hw);
ar                503 drivers/net/wireless/ath/carl9170/main.c 		carl9170_usb_reset(ar);
ar                507 drivers/net/wireless/ath/carl9170/main.c void carl9170_restart(struct ar9170 *ar, const enum carl9170_restart_reasons r)
ar                509 drivers/net/wireless/ath/carl9170/main.c 	carl9170_set_state_when(ar, CARL9170_STARTED, CARL9170_IDLE);
ar                516 drivers/net/wireless/ath/carl9170/main.c 	if (atomic_inc_return(&ar->pending_restarts) > 1) {
ar                517 drivers/net/wireless/ath/carl9170/main.c 		dev_dbg(&ar->udev->dev, "ignoring restart (%d)\n", r);
ar                521 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_stop_queues(ar->hw);
ar                523 drivers/net/wireless/ath/carl9170/main.c 	dev_err(&ar->udev->dev, "restart device (%d)\n", r);
ar                527 drivers/net/wireless/ath/carl9170/main.c 		ar->last_reason = r;
ar                529 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->registered)
ar                532 drivers/net/wireless/ath/carl9170/main.c 	if (!IS_ACCEPTING_CMD(ar) || ar->needs_full_reset)
ar                533 drivers/net/wireless/ath/carl9170/main.c 		ar->force_usb_reset = true;
ar                535 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_queue_work(ar->hw, &ar->restart_work);
ar                546 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = container_of(work, struct ar9170, ping_work);
ar                549 drivers/net/wireless/ath/carl9170/main.c 	if (!IS_STARTED(ar))
ar                552 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                553 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_echo_test(ar, 0xdeadbeef);
ar                555 drivers/net/wireless/ath/carl9170/main.c 		carl9170_restart(ar, CARL9170_RR_UNRESPONSIVE_DEVICE);
ar                556 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                559 drivers/net/wireless/ath/carl9170/main.c static int carl9170_init_interface(struct ar9170 *ar,
ar                562 drivers/net/wireless/ath/carl9170/main.c 	struct ath_common *common = &ar->common;
ar                566 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON_ONCE(IS_STARTED(ar));
ar                582 drivers/net/wireless/ath/carl9170/main.c 	ar->disable_offload |= ((vif->type != NL80211_IFTYPE_STATION) &&
ar                591 drivers/net/wireless/ath/carl9170/main.c 	ar->disable_offload |= vif->p2p;
ar                593 drivers/net/wireless/ath/carl9170/main.c 	ar->rx_software_decryption = ar->disable_offload;
ar                595 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_set_operating_mode(ar);
ar                604 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar                607 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                617 drivers/net/wireless/ath/carl9170/main.c 		spin_lock_bh(&ar->beacon_lock);
ar                620 drivers/net/wireless/ath/carl9170/main.c 		spin_unlock_bh(&ar->beacon_lock);
ar                634 drivers/net/wireless/ath/carl9170/main.c 	main_vif = carl9170_get_main_vif(ar);
ar                677 drivers/net/wireless/ath/carl9170/main.c 	vif_id = bitmap_find_free_region(&ar->vif_bitmap, ar->fw.vif_num, 0);
ar                686 drivers/net/wireless/ath/carl9170/main.c 	BUG_ON(ar->vif_priv[vif_id].id != vif_id);
ar                691 drivers/net/wireless/ath/carl9170/main.c 	ar->vifs++;
ar                697 drivers/net/wireless/ath/carl9170/main.c 		list_add_rcu(&vif_priv->list, &ar->vif_list);
ar                702 drivers/net/wireless/ath/carl9170/main.c 		list_add_tail_rcu(&vif_priv->list, &ar->vif_list);
ar                704 drivers/net/wireless/ath/carl9170/main.c 	rcu_assign_pointer(ar->vif_priv[vif_id].vif, vif);
ar                707 drivers/net/wireless/ath/carl9170/main.c 	main_vif = carl9170_get_main_vif(ar);
ar                710 drivers/net/wireless/ath/carl9170/main.c 		rcu_assign_pointer(ar->beacon_iter, vif_priv);
ar                721 drivers/net/wireless/ath/carl9170/main.c 			err = carl9170_mod_virtual_mac(ar, old_main_priv->id,
ar                727 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_init_interface(ar, vif);
ar                732 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_mod_virtual_mac(ar, vif_id, vif->addr);
ar                738 drivers/net/wireless/ath/carl9170/main.c 	if (ar->fw.tx_seq_table) {
ar                739 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_write_reg(ar, ar->fw.tx_seq_table + vif_id * 4,
ar                748 drivers/net/wireless/ath/carl9170/main.c 		bitmap_release_region(&ar->vif_bitmap, vif_id, 0);
ar                749 drivers/net/wireless/ath/carl9170/main.c 		ar->vifs--;
ar                750 drivers/net/wireless/ath/carl9170/main.c 		RCU_INIT_POINTER(ar->vif_priv[vif_id].vif, NULL);
ar                752 drivers/net/wireless/ath/carl9170/main.c 		mutex_unlock(&ar->mutex);
ar                755 drivers/net/wireless/ath/carl9170/main.c 		if (ar->vifs > 1)
ar                756 drivers/net/wireless/ath/carl9170/main.c 			ar->ps.off_override |= PS_OFF_VIF;
ar                758 drivers/net/wireless/ath/carl9170/main.c 		mutex_unlock(&ar->mutex);
ar                769 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar                772 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                777 drivers/net/wireless/ath/carl9170/main.c 	ar->vifs--;
ar                780 drivers/net/wireless/ath/carl9170/main.c 	main_vif = carl9170_get_main_vif(ar);
ar                788 drivers/net/wireless/ath/carl9170/main.c 	RCU_INIT_POINTER(ar->vif_priv[id].vif, NULL);
ar                793 drivers/net/wireless/ath/carl9170/main.c 		if (ar->vifs) {
ar                794 drivers/net/wireless/ath/carl9170/main.c 			WARN_ON(carl9170_init_interface(ar,
ar                795 drivers/net/wireless/ath/carl9170/main.c 					carl9170_get_main_vif(ar)));
ar                797 drivers/net/wireless/ath/carl9170/main.c 			carl9170_set_operating_mode(ar);
ar                802 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON(carl9170_mod_virtual_mac(ar, id, NULL));
ar                805 drivers/net/wireless/ath/carl9170/main.c 	carl9170_update_beacon(ar, false);
ar                806 drivers/net/wireless/ath/carl9170/main.c 	carl9170_flush_cab(ar, id);
ar                808 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_bh(&ar->beacon_lock);
ar                811 drivers/net/wireless/ath/carl9170/main.c 	spin_unlock_bh(&ar->beacon_lock);
ar                813 drivers/net/wireless/ath/carl9170/main.c 	bitmap_release_region(&ar->vif_bitmap, id, 0);
ar                815 drivers/net/wireless/ath/carl9170/main.c 	carl9170_set_beacon_timers(ar);
ar                817 drivers/net/wireless/ath/carl9170/main.c 	if (ar->vifs == 1)
ar                818 drivers/net/wireless/ath/carl9170/main.c 		ar->ps.off_override &= ~PS_OFF_VIF;
ar                821 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                826 drivers/net/wireless/ath/carl9170/main.c void carl9170_ps_check(struct ar9170 *ar)
ar                828 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_queue_work(ar->hw, &ar->ps_work);
ar                832 drivers/net/wireless/ath/carl9170/main.c static int carl9170_ps_update(struct ar9170 *ar)
ar                837 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->ps.off_override)
ar                838 drivers/net/wireless/ath/carl9170/main.c 		ps = (ar->hw->conf.flags & IEEE80211_CONF_PS);
ar                840 drivers/net/wireless/ath/carl9170/main.c 	if (ps != ar->ps.state) {
ar                841 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_powersave(ar, ps);
ar                845 drivers/net/wireless/ath/carl9170/main.c 		if (ar->ps.state && !ps) {
ar                846 drivers/net/wireless/ath/carl9170/main.c 			ar->ps.sleep_ms = jiffies_to_msecs(jiffies -
ar                847 drivers/net/wireless/ath/carl9170/main.c 				ar->ps.last_action);
ar                851 drivers/net/wireless/ath/carl9170/main.c 			ar->ps.last_slept = jiffies;
ar                853 drivers/net/wireless/ath/carl9170/main.c 		ar->ps.last_action = jiffies;
ar                854 drivers/net/wireless/ath/carl9170/main.c 		ar->ps.state = ps;
ar                862 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = container_of(work, struct ar9170,
ar                864 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                865 drivers/net/wireless/ath/carl9170/main.c 	if (IS_STARTED(ar))
ar                866 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON_ONCE(carl9170_ps_update(ar) != 0);
ar                867 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                870 drivers/net/wireless/ath/carl9170/main.c static int carl9170_update_survey(struct ar9170 *ar, bool flush, bool noise)
ar                875 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_get_noisefloor(ar);
ar                880 drivers/net/wireless/ath/carl9170/main.c 	if (ar->fw.hw_counters) {
ar                881 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_collect_tally(ar);
ar                887 drivers/net/wireless/ath/carl9170/main.c 		memset(&ar->tally, 0, sizeof(ar->tally));
ar                894 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = container_of(work, struct ar9170, stat_work.work);
ar                897 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                898 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_update_survey(ar, false, true);
ar                899 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                904 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_queue_delayed_work(ar->hw, &ar->stat_work,
ar                910 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar                913 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar                920 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_ps_update(ar);
ar                935 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_slot_time(ar);
ar                939 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_update_survey(ar, true, false);
ar                943 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_channel(ar, hw->conf.chandef.chan,
ar                948 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_update_survey(ar, false, true);
ar                952 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_dyn_sifs_ack(ar);
ar                956 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_rts_cts_rate(ar);
ar                962 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_mac_tpc(ar, ar->hw->conf.chandef.chan);
ar                968 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar                992 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar                995 drivers/net/wireless/ath/carl9170/main.c 	*new_flags &= FIF_ALLMULTI | ar->rx_filter_caps;
ar                997 drivers/net/wireless/ath/carl9170/main.c 	if (!IS_ACCEPTING_CMD(ar))
ar               1000 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1002 drivers/net/wireless/ath/carl9170/main.c 	ar->filter_state = *new_flags;
ar               1011 drivers/net/wireless/ath/carl9170/main.c 	if (multicast != ar->cur_mc_hash)
ar               1012 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON(carl9170_update_multicast(ar, multicast));
ar               1015 drivers/net/wireless/ath/carl9170/main.c 		ar->sniffer_enabled = !!(*new_flags & FIF_OTHER_BSS);
ar               1017 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON(carl9170_set_operating_mode(ar));
ar               1020 drivers/net/wireless/ath/carl9170/main.c 	if (ar->fw.rx_filter && changed_flags & ar->rx_filter_caps) {
ar               1023 drivers/net/wireless/ath/carl9170/main.c 		if (!ar->fw.ba_filter)
ar               1040 drivers/net/wireless/ath/carl9170/main.c 		WARN_ON(carl9170_rx_filter(ar, rx_filter));
ar               1043 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1052 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1053 drivers/net/wireless/ath/carl9170/main.c 	struct ath_common *common = &ar->common;
ar               1058 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1060 drivers/net/wireless/ath/carl9170/main.c 	main_vif = carl9170_get_main_vif(ar);
ar               1070 drivers/net/wireless/ath/carl9170/main.c 		list_for_each_entry_rcu(iter, &ar->vif_list, list) {
ar               1077 drivers/net/wireless/ath/carl9170/main.c 		ar->beacon_enabled = i;
ar               1081 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_update_beacon(ar, false);
ar               1105 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_beacon_timers(ar);
ar               1127 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_operating_mode(ar);
ar               1133 drivers/net/wireless/ath/carl9170/main.c 		ar->common.curaid = bss_conf->aid;
ar               1134 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_beacon_timers(ar);
ar               1140 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_slot_time(ar);
ar               1146 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_set_mac_rates(ar);
ar               1152 drivers/net/wireless/ath/carl9170/main.c 	WARN_ON_ONCE(err && IS_STARTED(ar));
ar               1153 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1159 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1163 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1164 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_READ_TSF,
ar               1166 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1178 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1182 drivers/net/wireless/ath/carl9170/main.c 	if (ar->disable_offload || !vif)
ar               1192 drivers/net/wireless/ath/carl9170/main.c 	if (!is_main_vif(ar, vif)) {
ar               1193 drivers/net/wireless/ath/carl9170/main.c 		mutex_lock(&ar->mutex);
ar               1225 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1227 drivers/net/wireless/ath/carl9170/main.c 		if (!IS_STARTED(ar)) {
ar               1238 drivers/net/wireless/ath/carl9170/main.c 				if (!(ar->usedkeys & BIT(i)))
ar               1246 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_upload_key(ar, i, sta ? sta->addr : NULL,
ar               1253 drivers/net/wireless/ath/carl9170/main.c 			err = carl9170_upload_key(ar, i, sta ? sta->addr :
ar               1267 drivers/net/wireless/ath/carl9170/main.c 			ar->usedkeys |= BIT(i);
ar               1271 drivers/net/wireless/ath/carl9170/main.c 		if (!IS_STARTED(ar)) {
ar               1278 drivers/net/wireless/ath/carl9170/main.c 			ar->usedkeys &= ~BIT(key->hw_key_idx);
ar               1280 drivers/net/wireless/ath/carl9170/main.c 			err = carl9170_upload_key(ar, key->hw_key_idx, NULL,
ar               1287 drivers/net/wireless/ath/carl9170/main.c 				err = carl9170_upload_key(ar, key->hw_key_idx,
ar               1297 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_disable_key(ar, key->hw_key_idx);
ar               1303 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1307 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->rx_software_decryption) {
ar               1308 drivers/net/wireless/ath/carl9170/main.c 		ar->rx_software_decryption = true;
ar               1309 drivers/net/wireless/ath/carl9170/main.c 		carl9170_set_operating_mode(ar);
ar               1311 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1348 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1367 drivers/net/wireless/ath/carl9170/main.c 			spin_lock_bh(&ar->tx_ampdu_list_lock);
ar               1370 drivers/net/wireless/ath/carl9170/main.c 			spin_unlock_bh(&ar->tx_ampdu_list_lock);
ar               1376 drivers/net/wireless/ath/carl9170/main.c 			carl9170_ampdu_gc(ar);
ar               1386 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1389 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1390 drivers/net/wireless/ath/carl9170/main.c 	memcpy(&ar->edcf[ar9170_qmap[queue]], param, sizeof(*param));
ar               1391 drivers/net/wireless/ath/carl9170/main.c 	ret = carl9170_set_qos(ar);
ar               1392 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1398 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = container_of(work, struct ar9170,
ar               1401 drivers/net/wireless/ath/carl9170/main.c 	if (!IS_STARTED(ar))
ar               1404 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1405 drivers/net/wireless/ath/carl9170/main.c 	carl9170_ampdu_gc(ar);
ar               1406 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1417 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1446 drivers/net/wireless/ath/carl9170/main.c 		spin_lock_bh(&ar->tx_ampdu_list_lock);
ar               1447 drivers/net/wireless/ath/carl9170/main.c 		ar->tx_ampdu_list_len++;
ar               1448 drivers/net/wireless/ath/carl9170/main.c 		list_add_tail_rcu(&tid_info->list, &ar->tx_ampdu_list);
ar               1450 drivers/net/wireless/ath/carl9170/main.c 		spin_unlock_bh(&ar->tx_ampdu_list_lock);
ar               1461 drivers/net/wireless/ath/carl9170/main.c 			spin_lock_bh(&ar->tx_ampdu_list_lock);
ar               1464 drivers/net/wireless/ath/carl9170/main.c 			spin_unlock_bh(&ar->tx_ampdu_list_lock);
ar               1471 drivers/net/wireless/ath/carl9170/main.c 		ieee80211_queue_work(ar->hw, &ar->ampdu_work);
ar               1505 drivers/net/wireless/ath/carl9170/main.c static int carl9170_register_wps_button(struct ar9170 *ar)
ar               1510 drivers/net/wireless/ath/carl9170/main.c 	if (!(ar->features & CARL9170_WPS_BUTTON))
ar               1517 drivers/net/wireless/ath/carl9170/main.c 	snprintf(ar->wps.name, sizeof(ar->wps.name), "%s WPS Button",
ar               1518 drivers/net/wireless/ath/carl9170/main.c 		 wiphy_name(ar->hw->wiphy));
ar               1520 drivers/net/wireless/ath/carl9170/main.c 	snprintf(ar->wps.phys, sizeof(ar->wps.phys),
ar               1521 drivers/net/wireless/ath/carl9170/main.c 		 "ieee80211/%s/input0", wiphy_name(ar->hw->wiphy));
ar               1523 drivers/net/wireless/ath/carl9170/main.c 	input->name = ar->wps.name;
ar               1524 drivers/net/wireless/ath/carl9170/main.c 	input->phys = ar->wps.phys;
ar               1526 drivers/net/wireless/ath/carl9170/main.c 	input->dev.parent = &ar->hw->wiphy->dev;
ar               1536 drivers/net/wireless/ath/carl9170/main.c 	ar->wps.pbc = input;
ar               1542 drivers/net/wireless/ath/carl9170/main.c static int carl9170_rng_get(struct ar9170 *ar)
ar               1558 drivers/net/wireless/ath/carl9170/main.c 	if (!IS_ACCEPTING_CMD(ar) || !ar->rng.initialized)
ar               1561 drivers/net/wireless/ath/carl9170/main.c 	count = ARRAY_SIZE(ar->rng.cache);
ar               1563 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_exec_cmd(ar, CARL9170_CMD_RREG,
ar               1571 drivers/net/wireless/ath/carl9170/main.c 			ar->rng.cache[off + i] = buf[i];
ar               1577 drivers/net/wireless/ath/carl9170/main.c 	ar->rng.cache_idx = 0;
ar               1586 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = (struct ar9170 *)rng->priv;
ar               1589 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1590 drivers/net/wireless/ath/carl9170/main.c 	if (ar->rng.cache_idx >= ARRAY_SIZE(ar->rng.cache)) {
ar               1591 drivers/net/wireless/ath/carl9170/main.c 		ret = carl9170_rng_get(ar);
ar               1593 drivers/net/wireless/ath/carl9170/main.c 			mutex_unlock(&ar->mutex);
ar               1598 drivers/net/wireless/ath/carl9170/main.c 	*data = ar->rng.cache[ar->rng.cache_idx++];
ar               1599 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1604 drivers/net/wireless/ath/carl9170/main.c static void carl9170_unregister_hwrng(struct ar9170 *ar)
ar               1606 drivers/net/wireless/ath/carl9170/main.c 	if (ar->rng.initialized) {
ar               1607 drivers/net/wireless/ath/carl9170/main.c 		hwrng_unregister(&ar->rng.rng);
ar               1608 drivers/net/wireless/ath/carl9170/main.c 		ar->rng.initialized = false;
ar               1612 drivers/net/wireless/ath/carl9170/main.c static int carl9170_register_hwrng(struct ar9170 *ar)
ar               1616 drivers/net/wireless/ath/carl9170/main.c 	snprintf(ar->rng.name, ARRAY_SIZE(ar->rng.name),
ar               1617 drivers/net/wireless/ath/carl9170/main.c 		 "%s_%s", KBUILD_MODNAME, wiphy_name(ar->hw->wiphy));
ar               1618 drivers/net/wireless/ath/carl9170/main.c 	ar->rng.rng.name = ar->rng.name;
ar               1619 drivers/net/wireless/ath/carl9170/main.c 	ar->rng.rng.data_read = carl9170_rng_read;
ar               1620 drivers/net/wireless/ath/carl9170/main.c 	ar->rng.rng.priv = (unsigned long)ar;
ar               1622 drivers/net/wireless/ath/carl9170/main.c 	if (WARN_ON(ar->rng.initialized))
ar               1625 drivers/net/wireless/ath/carl9170/main.c 	err = hwrng_register(&ar->rng.rng);
ar               1627 drivers/net/wireless/ath/carl9170/main.c 		dev_err(&ar->udev->dev, "Failed to register the random "
ar               1632 drivers/net/wireless/ath/carl9170/main.c 	ar->rng.initialized = true;
ar               1634 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_rng_get(ar);
ar               1636 drivers/net/wireless/ath/carl9170/main.c 		carl9170_unregister_hwrng(ar);
ar               1647 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1652 drivers/net/wireless/ath/carl9170/main.c 	chan = ar->channel;
ar               1657 drivers/net/wireless/ath/carl9170/main.c 		mutex_lock(&ar->mutex);
ar               1658 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_update_survey(ar, false, true);
ar               1659 drivers/net/wireless/ath/carl9170/main.c 		mutex_unlock(&ar->mutex);
ar               1665 drivers/net/wireless/ath/carl9170/main.c 		band = ar->hw->wiphy->bands[b];
ar               1680 drivers/net/wireless/ath/carl9170/main.c 	memcpy(survey, &ar->survey[idx], sizeof(*survey));
ar               1685 drivers/net/wireless/ath/carl9170/main.c 	if (ar->channel == chan)
ar               1688 drivers/net/wireless/ath/carl9170/main.c 	if (ar->fw.hw_counters) {
ar               1701 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1704 drivers/net/wireless/ath/carl9170/main.c 	mutex_lock(&ar->mutex);
ar               1705 drivers/net/wireless/ath/carl9170/main.c 	for_each_set_bit(vid, &ar->vif_bitmap, ar->fw.vif_num)
ar               1706 drivers/net/wireless/ath/carl9170/main.c 		carl9170_flush_cab(ar, vid);
ar               1708 drivers/net/wireless/ath/carl9170/main.c 	carl9170_flush(ar, drop);
ar               1709 drivers/net/wireless/ath/carl9170/main.c 	mutex_unlock(&ar->mutex);
ar               1715 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1718 drivers/net/wireless/ath/carl9170/main.c 	stats->dot11ACKFailureCount = ar->tx_ack_failures;
ar               1719 drivers/net/wireless/ath/carl9170/main.c 	stats->dot11FCSErrorCount = ar->tx_fcs_errors;
ar               1745 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1747 drivers/net/wireless/ath/carl9170/main.c 	return !!atomic_read(&ar->tx_total_queued);
ar               1776 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar;
ar               1794 drivers/net/wireless/ath/carl9170/main.c 	ar = hw->priv;
ar               1795 drivers/net/wireless/ath/carl9170/main.c 	ar->hw = hw;
ar               1796 drivers/net/wireless/ath/carl9170/main.c 	ar->rx_failover = skb;
ar               1798 drivers/net/wireless/ath/carl9170/main.c 	memset(&ar->rx_plcp, 0, sizeof(struct ar9170_rx_head));
ar               1799 drivers/net/wireless/ath/carl9170/main.c 	ar->rx_has_plcp = false;
ar               1811 drivers/net/wireless/ath/carl9170/main.c 	mutex_init(&ar->mutex);
ar               1812 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_init(&ar->beacon_lock);
ar               1813 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_init(&ar->cmd_lock);
ar               1814 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_init(&ar->tx_stats_lock);
ar               1815 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_init(&ar->tx_ampdu_list_lock);
ar               1816 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_init(&ar->mem_lock);
ar               1817 drivers/net/wireless/ath/carl9170/main.c 	spin_lock_init(&ar->state_lock);
ar               1818 drivers/net/wireless/ath/carl9170/main.c 	atomic_set(&ar->pending_restarts, 0);
ar               1819 drivers/net/wireless/ath/carl9170/main.c 	ar->vifs = 0;
ar               1820 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < ar->hw->queues; i++) {
ar               1821 drivers/net/wireless/ath/carl9170/main.c 		skb_queue_head_init(&ar->tx_status[i]);
ar               1822 drivers/net/wireless/ath/carl9170/main.c 		skb_queue_head_init(&ar->tx_pending[i]);
ar               1824 drivers/net/wireless/ath/carl9170/main.c 		INIT_LIST_HEAD(&ar->bar_list[i]);
ar               1825 drivers/net/wireless/ath/carl9170/main.c 		spin_lock_init(&ar->bar_list_lock[i]);
ar               1827 drivers/net/wireless/ath/carl9170/main.c 	INIT_WORK(&ar->ps_work, carl9170_ps_work);
ar               1828 drivers/net/wireless/ath/carl9170/main.c 	INIT_WORK(&ar->ping_work, carl9170_ping_work);
ar               1829 drivers/net/wireless/ath/carl9170/main.c 	INIT_WORK(&ar->restart_work, carl9170_restart_work);
ar               1830 drivers/net/wireless/ath/carl9170/main.c 	INIT_WORK(&ar->ampdu_work, carl9170_ampdu_work);
ar               1831 drivers/net/wireless/ath/carl9170/main.c 	INIT_DELAYED_WORK(&ar->stat_work, carl9170_stat_work);
ar               1832 drivers/net/wireless/ath/carl9170/main.c 	INIT_DELAYED_WORK(&ar->tx_janitor, carl9170_tx_janitor);
ar               1833 drivers/net/wireless/ath/carl9170/main.c 	INIT_LIST_HEAD(&ar->tx_ampdu_list);
ar               1834 drivers/net/wireless/ath/carl9170/main.c 	rcu_assign_pointer(ar->tx_ampdu_iter,
ar               1835 drivers/net/wireless/ath/carl9170/main.c 			   (struct carl9170_sta_tid *) &ar->tx_ampdu_list);
ar               1837 drivers/net/wireless/ath/carl9170/main.c 	bitmap_zero(&ar->vif_bitmap, ar->fw.vif_num);
ar               1838 drivers/net/wireless/ath/carl9170/main.c 	INIT_LIST_HEAD(&ar->vif_list);
ar               1839 drivers/net/wireless/ath/carl9170/main.c 	init_completion(&ar->tx_flush);
ar               1869 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < ARRAY_SIZE(ar->noise); i++)
ar               1870 drivers/net/wireless/ath/carl9170/main.c 		ar->noise[i] = -95; /* ATH_DEFAULT_NOISE_FLOOR */
ar               1874 drivers/net/wireless/ath/carl9170/main.c 	return ar;
ar               1881 drivers/net/wireless/ath/carl9170/main.c static int carl9170_read_eeprom(struct ar9170 *ar)
ar               1885 drivers/net/wireless/ath/carl9170/main.c 	u8 *eeprom = (void *)&ar->eeprom;
ar               1889 drivers/net/wireless/ath/carl9170/main.c 	BUILD_BUG_ON(sizeof(ar->eeprom) & 3);
ar               1894 drivers/net/wireless/ath/carl9170/main.c 	BUILD_BUG_ON(sizeof(ar->eeprom) % RB);
ar               1897 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < sizeof(ar->eeprom) / RB; i++) {
ar               1902 drivers/net/wireless/ath/carl9170/main.c 		err = carl9170_exec_cmd(ar, CARL9170_CMD_RREG,
ar               1914 drivers/net/wireless/ath/carl9170/main.c static int carl9170_parse_eeprom(struct ar9170 *ar)
ar               1916 drivers/net/wireless/ath/carl9170/main.c 	struct ath_regulatory *regulatory = &ar->common.regulatory;
ar               1921 drivers/net/wireless/ath/carl9170/main.c 	if (ar->eeprom.length == cpu_to_le16(0xffff))
ar               1924 drivers/net/wireless/ath/carl9170/main.c 	rx_streams = hweight8(ar->eeprom.rx_mask);
ar               1925 drivers/net/wireless/ath/carl9170/main.c 	tx_streams = hweight8(ar->eeprom.tx_mask);
ar               1940 drivers/net/wireless/ath/carl9170/main.c 	if (ar->eeprom.operating_flags & AR9170_OPFLAG_2GHZ) {
ar               1941 drivers/net/wireless/ath/carl9170/main.c 		ar->hw->wiphy->bands[NL80211_BAND_2GHZ] =
ar               1946 drivers/net/wireless/ath/carl9170/main.c 	if (ar->eeprom.operating_flags & AR9170_OPFLAG_5GHZ) {
ar               1947 drivers/net/wireless/ath/carl9170/main.c 		ar->hw->wiphy->bands[NL80211_BAND_5GHZ] =
ar               1956 drivers/net/wireless/ath/carl9170/main.c 	ar->survey = kcalloc(chans, sizeof(struct survey_info), GFP_KERNEL);
ar               1957 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->survey)
ar               1959 drivers/net/wireless/ath/carl9170/main.c 	ar->num_channels = chans;
ar               1961 drivers/net/wireless/ath/carl9170/main.c 	regulatory->current_rd = le16_to_cpu(ar->eeprom.reg_domain[0]);
ar               1964 drivers/net/wireless/ath/carl9170/main.c 	SET_IEEE80211_PERM_ADDR(ar->hw, ar->eeprom.mac_address);
ar               1973 drivers/net/wireless/ath/carl9170/main.c 	struct ar9170 *ar = hw->priv;
ar               1975 drivers/net/wireless/ath/carl9170/main.c 	ath_reg_notifier_apply(wiphy, request, &ar->common.regulatory);
ar               1978 drivers/net/wireless/ath/carl9170/main.c int carl9170_register(struct ar9170 *ar)
ar               1980 drivers/net/wireless/ath/carl9170/main.c 	struct ath_regulatory *regulatory = &ar->common.regulatory;
ar               1983 drivers/net/wireless/ath/carl9170/main.c 	if (WARN_ON(ar->mem_bitmap))
ar               1986 drivers/net/wireless/ath/carl9170/main.c 	ar->mem_bitmap = kcalloc(roundup(ar->fw.mem_blocks, BITS_PER_LONG),
ar               1990 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->mem_bitmap)
ar               1994 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_read_eeprom(ar);
ar               1998 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_parse_eeprom(ar);
ar               2002 drivers/net/wireless/ath/carl9170/main.c 	err = ath_regd_init(regulatory, ar->hw->wiphy,
ar               2012 drivers/net/wireless/ath/carl9170/main.c 	for (i = 0; i < ar->fw.vif_num; i++) {
ar               2013 drivers/net/wireless/ath/carl9170/main.c 		ar->vif_priv[i].id = i;
ar               2014 drivers/net/wireless/ath/carl9170/main.c 		ar->vif_priv[i].vif = NULL;
ar               2017 drivers/net/wireless/ath/carl9170/main.c 	err = ieee80211_register_hw(ar->hw);
ar               2022 drivers/net/wireless/ath/carl9170/main.c 	ar->registered = true;
ar               2025 drivers/net/wireless/ath/carl9170/main.c 		regulatory_hint(ar->hw->wiphy, regulatory->alpha2);
ar               2028 drivers/net/wireless/ath/carl9170/main.c 	carl9170_debugfs_register(ar);
ar               2031 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_led_init(ar);
ar               2036 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_led_register(ar);
ar               2042 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_register_wps_button(ar);
ar               2048 drivers/net/wireless/ath/carl9170/main.c 	err = carl9170_register_hwrng(ar);
ar               2053 drivers/net/wireless/ath/carl9170/main.c 	dev_info(&ar->udev->dev, "Atheros AR9170 is registered as '%s'\n",
ar               2054 drivers/net/wireless/ath/carl9170/main.c 		 wiphy_name(ar->hw->wiphy));
ar               2059 drivers/net/wireless/ath/carl9170/main.c 	carl9170_unregister(ar);
ar               2063 drivers/net/wireless/ath/carl9170/main.c void carl9170_unregister(struct ar9170 *ar)
ar               2065 drivers/net/wireless/ath/carl9170/main.c 	if (!ar->registered)
ar               2068 drivers/net/wireless/ath/carl9170/main.c 	ar->registered = false;
ar               2071 drivers/net/wireless/ath/carl9170/main.c 	carl9170_led_unregister(ar);
ar               2075 drivers/net/wireless/ath/carl9170/main.c 	carl9170_debugfs_unregister(ar);
ar               2079 drivers/net/wireless/ath/carl9170/main.c 	if (ar->wps.pbc) {
ar               2080 drivers/net/wireless/ath/carl9170/main.c 		input_unregister_device(ar->wps.pbc);
ar               2081 drivers/net/wireless/ath/carl9170/main.c 		ar->wps.pbc = NULL;
ar               2086 drivers/net/wireless/ath/carl9170/main.c 	carl9170_unregister_hwrng(ar);
ar               2089 drivers/net/wireless/ath/carl9170/main.c 	carl9170_cancel_worker(ar);
ar               2090 drivers/net/wireless/ath/carl9170/main.c 	cancel_work_sync(&ar->restart_work);
ar               2092 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_unregister_hw(ar->hw);
ar               2095 drivers/net/wireless/ath/carl9170/main.c void carl9170_free(struct ar9170 *ar)
ar               2097 drivers/net/wireless/ath/carl9170/main.c 	WARN_ON(ar->registered);
ar               2098 drivers/net/wireless/ath/carl9170/main.c 	WARN_ON(IS_INITIALIZED(ar));
ar               2100 drivers/net/wireless/ath/carl9170/main.c 	kfree_skb(ar->rx_failover);
ar               2101 drivers/net/wireless/ath/carl9170/main.c 	ar->rx_failover = NULL;
ar               2103 drivers/net/wireless/ath/carl9170/main.c 	kfree(ar->mem_bitmap);
ar               2104 drivers/net/wireless/ath/carl9170/main.c 	ar->mem_bitmap = NULL;
ar               2106 drivers/net/wireless/ath/carl9170/main.c 	kfree(ar->survey);
ar               2107 drivers/net/wireless/ath/carl9170/main.c 	ar->survey = NULL;
ar               2109 drivers/net/wireless/ath/carl9170/main.c 	mutex_destroy(&ar->mutex);
ar               2111 drivers/net/wireless/ath/carl9170/main.c 	ieee80211_free_hw(ar->hw);
ar                 44 drivers/net/wireless/ath/carl9170/phy.c static int carl9170_init_power_cal(struct ar9170 *ar)
ar                 46 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite_begin(ar);
ar                432 drivers/net/wireless/ath/carl9170/phy.c static int carl9170_init_phy_from_eeprom(struct ar9170 *ar,
ar                440 drivers/net/wireless/ath/carl9170/phy.c 	struct ar9170_eeprom_modal *m = &ar->eeprom.modal_header[is_2ghz];
ar                443 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite_begin(ar);
ar                536 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite(AR9170_PHY_REG_RX_CHAINMASK, ar->eeprom.rx_mask);
ar                537 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite(AR9170_PHY_REG_CAL_CHAINMASK, ar->eeprom.rx_mask);
ar                543 drivers/net/wireless/ath/carl9170/phy.c static int carl9170_init_phy(struct ar9170 *ar, enum nl80211_band band)
ar                548 drivers/net/wireless/ath/carl9170/phy.c 	bool is_40mhz = conf_is_ht40(&ar->hw->conf);
ar                550 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite_begin(ar);
ar                573 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_init_phy_from_eeprom(ar, is_2ghz, is_40mhz);
ar                577 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_init_power_cal(ar);
ar                581 drivers/net/wireless/ath/carl9170/phy.c 	if (!ar->fw.hw_counters) {
ar                582 drivers/net/wireless/ath/carl9170/phy.c 		err = carl9170_write_reg(ar, AR9170_PWR_REG_PLL_ADDAC,
ar                672 drivers/net/wireless/ath/carl9170/phy.c static int carl9170_init_rf_banks_0_7(struct ar9170 *ar, bool band5ghz)
ar                676 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite_begin(ar);
ar                686 drivers/net/wireless/ath/carl9170/phy.c 		wiphy_err(ar->hw->wiphy, "rf init failed\n");
ar                966 drivers/net/wireless/ath/carl9170/phy.c static int carl9170_init_rf_bank4_pwr(struct ar9170 *ar, bool band5ghz,
ar               1021 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite_begin(ar);
ar               1117 drivers/net/wireless/ath/carl9170/phy.c static int carl9170_set_freq_cal_data(struct ar9170 *ar,
ar               1130 drivers/net/wireless/ath/carl9170/phy.c 		cal_freq_pier = ar->eeprom.cal_freq_pier_2G;
ar               1136 drivers/net/wireless/ath/carl9170/phy.c 		cal_freq_pier = ar->eeprom.cal_freq_pier_5G;
ar               1153 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_regwrite_begin(ar);
ar               1162 drivers/net/wireless/ath/carl9170/phy.c 				cal_pier_data = &ar->eeprom.
ar               1167 drivers/net/wireless/ath/carl9170/phy.c 				cal_pier_data = &ar->eeprom.
ar               1217 drivers/net/wireless/ath/carl9170/phy.c static u8 carl9170_get_max_edge_power(struct ar9170 *ar,
ar               1259 drivers/net/wireless/ath/carl9170/phy.c static u8 carl9170_get_heavy_clip(struct ar9170 *ar, u32 freq,
ar               1291 drivers/net/wireless/ath/carl9170/phy.c static void carl9170_calc_ctl(struct ar9170 *ar, u32 freq, enum carl9170_bw bw)
ar               1308 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_11B, 0, ar->power_2G_cck, 4 },
ar               1309 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_11G, 0, ar->power_2G_ofdm, 4 },
ar               1310 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_2GHT20, 0, ar->power_2G_ht20, 8 },
ar               1311 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_2GHT40, 0, ar->power_2G_ht40, 8 },
ar               1314 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_11A, 0, ar->power_5G_leg, 4 },
ar               1315 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_5GHT20, 0, ar->power_5G_ht20, 8 },
ar               1316 drivers/net/wireless/ath/carl9170/phy.c 		{ CTL_5GHT40, 0, ar->power_5G_ht40, 8 },
ar               1320 drivers/net/wireless/ath/carl9170/phy.c #define EDGES(c, n) (ar->eeprom.ctl_data[c].control_edges[n])
ar               1322 drivers/net/wireless/ath/carl9170/phy.c 	ar->heavy_clip = 0;
ar               1332 drivers/net/wireless/ath/carl9170/phy.c 	ctl_grp = ath_regd_get_band_ctl(&ar->common.regulatory,
ar               1333 drivers/net/wireless/ath/carl9170/phy.c 					ar->hw->conf.chandef.chan->band);
ar               1343 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) {
ar               1354 drivers/net/wireless/ath/carl9170/phy.c 			if (c == ar->eeprom.ctl_index[ctl_idx])
ar               1364 drivers/net/wireless/ath/carl9170/phy.c 				ar->heavy_clip =
ar               1365 drivers/net/wireless/ath/carl9170/phy.c 					carl9170_get_heavy_clip(ar,
ar               1379 drivers/net/wireless/ath/carl9170/phy.c 				carl9170_get_max_edge_power(ar,
ar               1414 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->heavy_clip & 0xf0) {
ar               1415 drivers/net/wireless/ath/carl9170/phy.c 		ar->power_2G_ht40[0]--;
ar               1416 drivers/net/wireless/ath/carl9170/phy.c 		ar->power_2G_ht40[1]--;
ar               1417 drivers/net/wireless/ath/carl9170/phy.c 		ar->power_2G_ht40[2]--;
ar               1419 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->heavy_clip & 0xf) {
ar               1420 drivers/net/wireless/ath/carl9170/phy.c 		ar->power_2G_ht20[0]++;
ar               1421 drivers/net/wireless/ath/carl9170/phy.c 		ar->power_2G_ht20[1]++;
ar               1422 drivers/net/wireless/ath/carl9170/phy.c 		ar->power_2G_ht20[2]++;
ar               1428 drivers/net/wireless/ath/carl9170/phy.c static void carl9170_set_power_cal(struct ar9170 *ar, u32 freq,
ar               1452 drivers/net/wireless/ath/carl9170/phy.c 			ctpl = &ar->eeprom.cal_tgt_pwr_5G[0];
ar               1454 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_5G_leg;
ar               1457 drivers/net/wireless/ath/carl9170/phy.c 			ctpl = &ar->eeprom.cal_tgt_pwr_2G_cck[0];
ar               1459 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_2G_cck;
ar               1462 drivers/net/wireless/ath/carl9170/phy.c 			ctpl = &ar->eeprom.cal_tgt_pwr_2G_ofdm[0];
ar               1464 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_2G_ofdm;
ar               1487 drivers/net/wireless/ath/carl9170/phy.c 			ctph = &ar->eeprom.cal_tgt_pwr_5G_ht20[0];
ar               1489 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_5G_ht20;
ar               1492 drivers/net/wireless/ath/carl9170/phy.c 			ctph = &ar->eeprom.cal_tgt_pwr_5G_ht40[0];
ar               1494 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_5G_ht40;
ar               1497 drivers/net/wireless/ath/carl9170/phy.c 			ctph = &ar->eeprom.cal_tgt_pwr_2G_ht20[0];
ar               1499 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_2G_ht20;
ar               1502 drivers/net/wireless/ath/carl9170/phy.c 			ctph = &ar->eeprom.cal_tgt_pwr_2G_ht40[0];
ar               1504 drivers/net/wireless/ath/carl9170/phy.c 			ctpres = ar->power_2G_ht40;
ar               1524 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_calc_ctl(ar, freq, bw);
ar               1527 drivers/net/wireless/ath/carl9170/phy.c int carl9170_get_noisefloor(struct ar9170 *ar)
ar               1535 drivers/net/wireless/ath/carl9170/phy.c 	BUILD_BUG_ON(ARRAY_SIZE(phy_regs) != ARRAY_SIZE(ar->noise));
ar               1537 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_read_mreg(ar, ARRAY_SIZE(phy_regs), phy_regs, phy_res);
ar               1542 drivers/net/wireless/ath/carl9170/phy.c 		ar->noise[i] = sign_extend32(GET_VAL(
ar               1545 drivers/net/wireless/ath/carl9170/phy.c 		ar->noise[i + 2] = sign_extend32(GET_VAL(
ar               1549 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->channel)
ar               1550 drivers/net/wireless/ath/carl9170/phy.c 		ar->survey[ar->channel->hw_value].noise = ar->noise[0];
ar               1570 drivers/net/wireless/ath/carl9170/phy.c int carl9170_set_channel(struct ar9170 *ar, struct ieee80211_channel *channel,
ar               1583 drivers/net/wireless/ath/carl9170/phy.c 	if (conf_is_ht(&ar->hw->conf))
ar               1586 drivers/net/wireless/ath/carl9170/phy.c 	if (conf_is_ht40(&ar->hw->conf))
ar               1590 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->channel) {
ar               1591 drivers/net/wireless/ath/carl9170/phy.c 		old_channel = ar->channel;
ar               1592 drivers/net/wireless/ath/carl9170/phy.c 		ar->channel = NULL;
ar               1596 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_write_reg(ar, AR9170_PWR_REG_RESET,
ar               1601 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_write_reg(ar, AR9170_PWR_REG_RESET, 0x0);
ar               1605 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_init_phy(ar, channel->band);
ar               1609 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_init_rf_banks_0_7(ar,
ar               1614 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_FREQ_START, 0, NULL, 0, NULL);
ar               1618 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_write_reg(ar, AR9170_PHY_REG_HEAVY_CLIP_ENABLE,
ar               1623 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_init_rf_bank4_pwr(ar,
ar               1651 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->eeprom.tx_mask != 1)
ar               1654 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_write_reg(ar, AR9170_PHY_REG_TURBO, tmp);
ar               1658 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_set_freq_cal_data(ar, channel);
ar               1662 drivers/net/wireless/ath/carl9170/phy.c 	carl9170_set_power_cal(ar, channel->center_freq, bw);
ar               1664 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_set_mac_tpc(ar, channel);
ar               1671 drivers/net/wireless/ath/carl9170/phy.c 	if (conf_is_ht40(&ar->hw->conf))
ar               1680 drivers/net/wireless/ath/carl9170/phy.c 	err = carl9170_exec_cmd(ar, CARL9170_CMD_RF_INIT, sizeof(rf), &rf,
ar               1687 drivers/net/wireless/ath/carl9170/phy.c 		ar->chan_fail++;
ar               1688 drivers/net/wireless/ath/carl9170/phy.c 		ar->total_chan_fail++;
ar               1690 drivers/net/wireless/ath/carl9170/phy.c 		wiphy_err(ar->hw->wiphy, "channel change: %d -> %d "
ar               1695 drivers/net/wireless/ath/carl9170/phy.c 		if (ar->chan_fail > 3) {
ar               1702 drivers/net/wireless/ath/carl9170/phy.c 			carl9170_restart(ar, CARL9170_RR_TOO_MANY_PHY_ERRORS);
ar               1706 drivers/net/wireless/ath/carl9170/phy.c 		err = carl9170_set_channel(ar, channel, _bw);
ar               1710 drivers/net/wireless/ath/carl9170/phy.c 		ar->chan_fail = 0;
ar               1713 drivers/net/wireless/ath/carl9170/phy.c 	if (ar->heavy_clip) {
ar               1714 drivers/net/wireless/ath/carl9170/phy.c 		err = carl9170_write_reg(ar, AR9170_PHY_REG_HEAVY_CLIP_ENABLE,
ar               1715 drivers/net/wireless/ath/carl9170/phy.c 					 0x200 | ar->heavy_clip);
ar               1718 drivers/net/wireless/ath/carl9170/phy.c 				wiphy_err(ar->hw->wiphy, "failed to set "
ar               1726 drivers/net/wireless/ath/carl9170/phy.c 	ar->channel = channel;
ar               1727 drivers/net/wireless/ath/carl9170/phy.c 	ar->ht_settings = new_ht;
ar                 49 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_dbg_message(struct ar9170 *ar, const char *buf, u32 len)
ar                 56 drivers/net/wireless/ath/carl9170/rx.c 			ar->fw.err_counter++;
ar                 57 drivers/net/wireless/ath/carl9170/rx.c 			if (ar->fw.err_counter > 3) {
ar                 64 drivers/net/wireless/ath/carl9170/rx.c 			ar->fw.bug_counter++;
ar                 70 drivers/net/wireless/ath/carl9170/rx.c 	wiphy_info(ar->hw->wiphy, "FW: %.*s\n", len, buf);
ar                 73 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_restart(ar, reason);
ar                 76 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_handle_ps(struct ar9170 *ar, struct carl9170_rsp *rsp)
ar                 84 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->ps.state != new_ps) {
ar                 86 drivers/net/wireless/ath/carl9170/rx.c 			ar->ps.sleep_ms = jiffies_to_msecs(jiffies -
ar                 87 drivers/net/wireless/ath/carl9170/rx.c 				ar->ps.last_action);
ar                 90 drivers/net/wireless/ath/carl9170/rx.c 		ar->ps.last_action = jiffies;
ar                 92 drivers/net/wireless/ath/carl9170/rx.c 		ar->ps.state = new_ps;
ar                 96 drivers/net/wireless/ath/carl9170/rx.c static int carl9170_check_sequence(struct ar9170 *ar, unsigned int seq)
ar                 98 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->cmd_seq < -1)
ar                104 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->cmd_seq < 0)
ar                105 drivers/net/wireless/ath/carl9170/rx.c 		ar->cmd_seq = seq;
ar                113 drivers/net/wireless/ath/carl9170/rx.c 	if (seq != ar->cmd_seq) {
ar                116 drivers/net/wireless/ath/carl9170/rx.c 		count = (seq - ar->cmd_seq) % ar->fw.cmd_bufs;
ar                118 drivers/net/wireless/ath/carl9170/rx.c 		wiphy_err(ar->hw->wiphy, "lost %d command responses/traps! "
ar                119 drivers/net/wireless/ath/carl9170/rx.c 			  "w:%d g:%d\n", count, ar->cmd_seq, seq);
ar                121 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_restart(ar, CARL9170_RR_LOST_RSP);
ar                125 drivers/net/wireless/ath/carl9170/rx.c 	ar->cmd_seq = (ar->cmd_seq + 1) % ar->fw.cmd_bufs;
ar                129 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_cmd_callback(struct ar9170 *ar, u32 len, void *buffer)
ar                136 drivers/net/wireless/ath/carl9170/rx.c 	if (unlikely(ar->readlen != (len - 4))) {
ar                137 drivers/net/wireless/ath/carl9170/rx.c 		dev_warn(&ar->udev->dev, "received invalid command response:"
ar                138 drivers/net/wireless/ath/carl9170/rx.c 			 "got %d, instead of %d\n", len - 4, ar->readlen);
ar                140 drivers/net/wireless/ath/carl9170/rx.c 			ar->cmd_buf, (ar->cmd.hdr.len + 4) & 0x3f);
ar                147 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_restart(ar, CARL9170_RR_INVALID_RSP);
ar                150 drivers/net/wireless/ath/carl9170/rx.c 	spin_lock(&ar->cmd_lock);
ar                151 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->readbuf) {
ar                153 drivers/net/wireless/ath/carl9170/rx.c 			memcpy(ar->readbuf, buffer + 4, len - 4);
ar                155 drivers/net/wireless/ath/carl9170/rx.c 		ar->readbuf = NULL;
ar                157 drivers/net/wireless/ath/carl9170/rx.c 	complete(&ar->cmd_wait);
ar                158 drivers/net/wireless/ath/carl9170/rx.c 	spin_unlock(&ar->cmd_lock);
ar                161 drivers/net/wireless/ath/carl9170/rx.c void carl9170_handle_command_response(struct ar9170 *ar, void *buf, u32 len)
ar                168 drivers/net/wireless/ath/carl9170/rx.c 			carl9170_cmd_callback(ar, len, buf);
ar                175 drivers/net/wireless/ath/carl9170/rx.c 			wiphy_err(ar->hw->wiphy, "FW: received over-/under"
ar                191 drivers/net/wireless/ath/carl9170/rx.c 		vif = carl9170_get_main_vif(ar);
ar                200 drivers/net/wireless/ath/carl9170/rx.c 			carl9170_handle_ps(ar, cmd);
ar                206 drivers/net/wireless/ath/carl9170/rx.c 			carl9170_update_beacon(ar, true);
ar                219 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_tx_process_status(ar, cmd);
ar                239 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_restart(ar, CARL9170_RR_WATCHDOG);
ar                244 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_dbg_message(ar, (char *)buf + 4, len - 4);
ar                248 drivers/net/wireless/ath/carl9170/rx.c 		wiphy_dbg(ar->hw->wiphy, "FW: HD %d\n", len - 4);
ar                257 drivers/net/wireless/ath/carl9170/rx.c 		wiphy_info(ar->hw->wiphy, "FW: RADAR! Please report this "
ar                263 drivers/net/wireless/ath/carl9170/rx.c 		if (ar->wps.pbc) {
ar                267 drivers/net/wireless/ath/carl9170/rx.c 			if (state != ar->wps.pbc_state) {
ar                268 drivers/net/wireless/ath/carl9170/rx.c 				ar->wps.pbc_state = state;
ar                269 drivers/net/wireless/ath/carl9170/rx.c 				input_report_key(ar->wps.pbc, KEY_WPS_BUTTON,
ar                271 drivers/net/wireless/ath/carl9170/rx.c 				input_sync(ar->wps.pbc);
ar                278 drivers/net/wireless/ath/carl9170/rx.c 		complete(&ar->fw_boot_wait);
ar                282 drivers/net/wireless/ath/carl9170/rx.c 		wiphy_err(ar->hw->wiphy, "FW: received unhandled event %x\n",
ar                289 drivers/net/wireless/ath/carl9170/rx.c static int carl9170_rx_mac_status(struct ar9170 *ar,
ar                302 drivers/net/wireless/ath/carl9170/rx.c 		if (!ar->sniffer_enabled)
ar                307 drivers/net/wireless/ath/carl9170/rx.c 		if (!(ar->filter_state & FIF_PLCPFAIL))
ar                314 drivers/net/wireless/ath/carl9170/rx.c 		ar->tx_fcs_errors++;
ar                316 drivers/net/wireless/ath/carl9170/rx.c 		if (!(ar->filter_state & FIF_FCSFAIL))
ar                332 drivers/net/wireless/ath/carl9170/rx.c 	if (error & AR9170_RX_ERROR_DECRYPT && !ar->sniffer_enabled)
ar                346 drivers/net/wireless/ath/carl9170/rx.c 			wiphy_dbg(ar->hw->wiphy, "received frame with "
ar                352 drivers/net/wireless/ath/carl9170/rx.c 	chan = ar->channel;
ar                377 drivers/net/wireless/ath/carl9170/rx.c 				wiphy_err(ar->hw->wiphy, "invalid plcp cck "
ar                414 drivers/net/wireless/ath/carl9170/rx.c 				wiphy_err(ar->hw->wiphy, "invalid plcp ofdm "
ar                442 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_rx_phy_status(struct ar9170 *ar,
ar                459 drivers/net/wireless/ath/carl9170/rx.c 	status->signal = ar->noise[0] + phy->rssi_combined;
ar                518 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_ps_beacon(struct ar9170 *ar, void *data, unsigned int len)
ar                522 drivers/net/wireless/ath/carl9170/rx.c 	struct ath_common *common = &ar->common;
ar                527 drivers/net/wireless/ath/carl9170/rx.c 	if (likely(!(ar->hw->conf.flags & IEEE80211_CONF_PS)))
ar                539 drivers/net/wireless/ath/carl9170/rx.c 	ar->ps.last_beacon = jiffies;
ar                551 drivers/net/wireless/ath/carl9170/rx.c 	if (!WARN_ON_ONCE(!ar->hw->conf.ps_dtim_period))
ar                552 drivers/net/wireless/ath/carl9170/rx.c 		ar->ps.dtim_counter = (tim_ie->dtim_count - 1) %
ar                553 drivers/net/wireless/ath/carl9170/rx.c 			ar->hw->conf.ps_dtim_period;
ar                558 drivers/net/wireless/ath/carl9170/rx.c 	cam = ieee80211_check_tim(tim_ie, tim_len, ar->common.curaid);
ar                565 drivers/net/wireless/ath/carl9170/rx.c 		ar->ps.off_override &= ~PS_OFF_BCN;
ar                566 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_ps_check(ar);
ar                569 drivers/net/wireless/ath/carl9170/rx.c 		ar->ps.off_override |= PS_OFF_BCN;
ar                573 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_ba_check(struct ar9170 *ar, void *data, unsigned int len)
ar                590 drivers/net/wireless/ath/carl9170/rx.c 	list_for_each_entry_rcu(entry, &ar->bar_list[queue], list) {
ar                608 drivers/net/wireless/ath/carl9170/rx.c 			spin_lock_bh(&ar->bar_list_lock[queue]);
ar                610 drivers/net/wireless/ath/carl9170/rx.c 			spin_unlock_bh(&ar->bar_list_lock[queue]);
ar                620 drivers/net/wireless/ath/carl9170/rx.c static bool carl9170_ampdu_check(struct ar9170 *ar, u8 *buf, u8 ms,
ar                635 drivers/net/wireless/ath/carl9170/rx.c 	rx_status->ampdu_reference = ar->ampdu_ref;
ar                659 drivers/net/wireless/ath/carl9170/rx.c static int carl9170_handle_mpdu(struct ar9170 *ar, u8 *buf, int len,
ar                675 drivers/net/wireless/ath/carl9170/rx.c 	carl9170_ps_beacon(ar, buf, len);
ar                677 drivers/net/wireless/ath/carl9170/rx.c 	carl9170_ba_check(ar, buf, len);
ar                684 drivers/net/wireless/ath/carl9170/rx.c 	ieee80211_rx(ar->hw, skb);
ar                697 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_rx_untie_data(struct ar9170 *ar, u8 *buf, int len)
ar                706 drivers/net/wireless/ath/carl9170/rx.c 	if (!IS_STARTED(ar))
ar                720 drivers/net/wireless/ath/carl9170/rx.c 		ar->ampdu_ref++;
ar                733 drivers/net/wireless/ath/carl9170/rx.c 			memcpy(&ar->rx_plcp, (void *) buf,
ar                739 drivers/net/wireless/ath/carl9170/rx.c 			ar->rx_has_plcp = true;
ar                742 drivers/net/wireless/ath/carl9170/rx.c 				wiphy_err(ar->hw->wiphy, "plcp info "
ar                763 drivers/net/wireless/ath/carl9170/rx.c 				wiphy_err(ar->hw->wiphy, "frame tail "
ar                773 drivers/net/wireless/ath/carl9170/rx.c 		if (unlikely(!ar->rx_has_plcp)) {
ar                777 drivers/net/wireless/ath/carl9170/rx.c 			wiphy_err(ar->hw->wiphy, "rx stream does not start "
ar                783 drivers/net/wireless/ath/carl9170/rx.c 		head = &ar->rx_plcp;
ar                806 drivers/net/wireless/ath/carl9170/rx.c 	if (unlikely(carl9170_rx_mac_status(ar, head, mac, &status)))
ar                809 drivers/net/wireless/ath/carl9170/rx.c 	if (!carl9170_ampdu_check(ar, buf, mac_status, &status))
ar                813 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_rx_phy_status(ar, phy, &status);
ar                817 drivers/net/wireless/ath/carl9170/rx.c 	if (carl9170_handle_mpdu(ar, buf, mpdu_len, &status))
ar                822 drivers/net/wireless/ath/carl9170/rx.c 	ar->rx_dropped++;
ar                825 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_rx_untie_cmds(struct ar9170 *ar, const u8 *respbuf,
ar                838 drivers/net/wireless/ath/carl9170/rx.c 		if (carl9170_check_sequence(ar, cmd->hdr.seq))
ar                841 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_handle_command_response(ar, cmd, cmd->hdr.len + 4);
ar                848 drivers/net/wireless/ath/carl9170/rx.c 		wiphy_err(ar->hw->wiphy, "malformed firmware trap:\n");
ar                854 drivers/net/wireless/ath/carl9170/rx.c static void __carl9170_rx(struct ar9170 *ar, u8 *buf, unsigned int len)
ar                870 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_rx_untie_cmds(ar, buf, len);
ar                872 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_rx_untie_data(ar, buf, len);
ar                875 drivers/net/wireless/ath/carl9170/rx.c static void carl9170_rx_stream(struct ar9170 *ar, void *buf, unsigned int len)
ar                897 drivers/net/wireless/ath/carl9170/rx.c 			if (!ar->rx_failover_missing) {
ar                901 drivers/net/wireless/ath/carl9170/rx.c 					wiphy_err(ar->hw->wiphy,
ar                905 drivers/net/wireless/ath/carl9170/rx.c 				__carl9170_rx(ar, tbuf, tlen);
ar                909 drivers/net/wireless/ath/carl9170/rx.c 			if (ar->rx_failover_missing > tlen) {
ar                911 drivers/net/wireless/ath/carl9170/rx.c 					wiphy_err(ar->hw->wiphy,
ar                920 drivers/net/wireless/ath/carl9170/rx.c 			skb_put_data(ar->rx_failover, tbuf, tlen);
ar                921 drivers/net/wireless/ath/carl9170/rx.c 			ar->rx_failover_missing -= tlen;
ar                923 drivers/net/wireless/ath/carl9170/rx.c 			if (ar->rx_failover_missing <= 0) {
ar                932 drivers/net/wireless/ath/carl9170/rx.c 				ar->rx_failover_missing = 0;
ar                933 drivers/net/wireless/ath/carl9170/rx.c 				carl9170_rx_stream(ar, ar->rx_failover->data,
ar                934 drivers/net/wireless/ath/carl9170/rx.c 						   ar->rx_failover->len);
ar                936 drivers/net/wireless/ath/carl9170/rx.c 				skb_reset_tail_pointer(ar->rx_failover);
ar                937 drivers/net/wireless/ath/carl9170/rx.c 				skb_trim(ar->rx_failover, 0);
ar                945 drivers/net/wireless/ath/carl9170/rx.c 			if (ar->rx_failover_missing) {
ar                948 drivers/net/wireless/ath/carl9170/rx.c 					wiphy_err(ar->hw->wiphy, "double rx "
ar                962 drivers/net/wireless/ath/carl9170/rx.c 			skb_put_data(ar->rx_failover, tbuf, tlen);
ar                963 drivers/net/wireless/ath/carl9170/rx.c 			ar->rx_failover_missing = clen - tlen;
ar                966 drivers/net/wireless/ath/carl9170/rx.c 		__carl9170_rx(ar, rx_stream->payload, clen);
ar                974 drivers/net/wireless/ath/carl9170/rx.c 			wiphy_err(ar->hw->wiphy, "%d bytes of unprocessed "
ar                984 drivers/net/wireless/ath/carl9170/rx.c 	wiphy_err(ar->hw->wiphy, "damaged RX stream data [want:%d, "
ar                986 drivers/net/wireless/ath/carl9170/rx.c 		ar->rx_failover_missing);
ar                988 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->rx_failover_missing)
ar                990 drivers/net/wireless/ath/carl9170/rx.c 				     ar->rx_failover->data,
ar                991 drivers/net/wireless/ath/carl9170/rx.c 				     ar->rx_failover->len);
ar                996 drivers/net/wireless/ath/carl9170/rx.c 	wiphy_err(ar->hw->wiphy, "please check your hardware and cables, if "
ar               1000 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->rx_failover_missing) {
ar               1001 drivers/net/wireless/ath/carl9170/rx.c 		skb_reset_tail_pointer(ar->rx_failover);
ar               1002 drivers/net/wireless/ath/carl9170/rx.c 		skb_trim(ar->rx_failover, 0);
ar               1003 drivers/net/wireless/ath/carl9170/rx.c 		ar->rx_failover_missing = 0;
ar               1007 drivers/net/wireless/ath/carl9170/rx.c void carl9170_rx(struct ar9170 *ar, void *buf, unsigned int len)
ar               1009 drivers/net/wireless/ath/carl9170/rx.c 	if (ar->fw.rx_stream)
ar               1010 drivers/net/wireless/ath/carl9170/rx.c 		carl9170_rx_stream(ar, buf, len);
ar               1012 drivers/net/wireless/ath/carl9170/rx.c 		__carl9170_rx(ar, buf, len);
ar                 48 drivers/net/wireless/ath/carl9170/tx.c static inline unsigned int __carl9170_get_queue(struct ar9170 *ar,
ar                 64 drivers/net/wireless/ath/carl9170/tx.c static inline unsigned int carl9170_get_queue(struct ar9170 *ar,
ar                 67 drivers/net/wireless/ath/carl9170/tx.c 	return __carl9170_get_queue(ar, skb_get_queue_mapping(skb));
ar                 70 drivers/net/wireless/ath/carl9170/tx.c static bool is_mem_full(struct ar9170 *ar)
ar                 72 drivers/net/wireless/ath/carl9170/tx.c 	return (DIV_ROUND_UP(IEEE80211_MAX_FRAME_LEN, ar->fw.mem_block_size) >
ar                 73 drivers/net/wireless/ath/carl9170/tx.c 		atomic_read(&ar->mem_free_blocks));
ar                 76 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_accounting(struct ar9170 *ar, struct sk_buff *skb)
ar                 81 drivers/net/wireless/ath/carl9170/tx.c 	atomic_inc(&ar->tx_total_queued);
ar                 84 drivers/net/wireless/ath/carl9170/tx.c 	spin_lock_bh(&ar->tx_stats_lock);
ar                 92 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_stats[queue].len++;
ar                 93 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_stats[queue].count++;
ar                 95 drivers/net/wireless/ath/carl9170/tx.c 	mem_full = is_mem_full(ar);
ar                 96 drivers/net/wireless/ath/carl9170/tx.c 	for (i = 0; i < ar->hw->queues; i++) {
ar                 97 drivers/net/wireless/ath/carl9170/tx.c 		if (mem_full || ar->tx_stats[i].len >= ar->tx_stats[i].limit) {
ar                 98 drivers/net/wireless/ath/carl9170/tx.c 			ieee80211_stop_queue(ar->hw, i);
ar                 99 drivers/net/wireless/ath/carl9170/tx.c 			ar->queue_stop_timeout[i] = jiffies;
ar                103 drivers/net/wireless/ath/carl9170/tx.c 	spin_unlock_bh(&ar->tx_stats_lock);
ar                107 drivers/net/wireless/ath/carl9170/tx.c static struct ieee80211_sta *__carl9170_get_tx_sta(struct ar9170 *ar,
ar                121 drivers/net/wireless/ath/carl9170/tx.c 	vif = rcu_dereference(ar->vif_priv[vif_id].vif);
ar                138 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_ps_unblock(struct ar9170 *ar, struct sk_buff *skb)
ar                144 drivers/net/wireless/ath/carl9170/tx.c 	sta = __carl9170_get_tx_sta(ar, skb);
ar                150 drivers/net/wireless/ath/carl9170/tx.c 		ieee80211_sta_block_awake(ar->hw, sta, false);
ar                156 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_accounting_free(struct ar9170 *ar, struct sk_buff *skb)
ar                162 drivers/net/wireless/ath/carl9170/tx.c 	spin_lock_bh(&ar->tx_stats_lock);
ar                164 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_stats[queue].len--;
ar                166 drivers/net/wireless/ath/carl9170/tx.c 	if (!is_mem_full(ar)) {
ar                168 drivers/net/wireless/ath/carl9170/tx.c 		for (i = 0; i < ar->hw->queues; i++) {
ar                169 drivers/net/wireless/ath/carl9170/tx.c 			if (ar->tx_stats[i].len >= CARL9170_NUM_TX_LIMIT_SOFT)
ar                172 drivers/net/wireless/ath/carl9170/tx.c 			if (ieee80211_queue_stopped(ar->hw, i)) {
ar                175 drivers/net/wireless/ath/carl9170/tx.c 				tmp = jiffies - ar->queue_stop_timeout[i];
ar                176 drivers/net/wireless/ath/carl9170/tx.c 				if (tmp > ar->max_queue_stop_timeout[i])
ar                177 drivers/net/wireless/ath/carl9170/tx.c 					ar->max_queue_stop_timeout[i] = tmp;
ar                180 drivers/net/wireless/ath/carl9170/tx.c 			ieee80211_wake_queue(ar->hw, i);
ar                184 drivers/net/wireless/ath/carl9170/tx.c 	spin_unlock_bh(&ar->tx_stats_lock);
ar                186 drivers/net/wireless/ath/carl9170/tx.c 	if (atomic_dec_and_test(&ar->tx_total_queued))
ar                187 drivers/net/wireless/ath/carl9170/tx.c 		complete(&ar->tx_flush);
ar                190 drivers/net/wireless/ath/carl9170/tx.c static int carl9170_alloc_dev_space(struct ar9170 *ar, struct sk_buff *skb)
ar                196 drivers/net/wireless/ath/carl9170/tx.c 	atomic_inc(&ar->mem_allocs);
ar                198 drivers/net/wireless/ath/carl9170/tx.c 	chunks = DIV_ROUND_UP(skb->len, ar->fw.mem_block_size);
ar                199 drivers/net/wireless/ath/carl9170/tx.c 	if (unlikely(atomic_sub_return(chunks, &ar->mem_free_blocks) < 0)) {
ar                200 drivers/net/wireless/ath/carl9170/tx.c 		atomic_add(chunks, &ar->mem_free_blocks);
ar                204 drivers/net/wireless/ath/carl9170/tx.c 	spin_lock_bh(&ar->mem_lock);
ar                205 drivers/net/wireless/ath/carl9170/tx.c 	cookie = bitmap_find_free_region(ar->mem_bitmap, ar->fw.mem_blocks, 0);
ar                206 drivers/net/wireless/ath/carl9170/tx.c 	spin_unlock_bh(&ar->mem_lock);
ar                209 drivers/net/wireless/ath/carl9170/tx.c 		atomic_add(chunks, &ar->mem_free_blocks);
ar                226 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_release_dev_space(struct ar9170 *ar, struct sk_buff *skb)
ar                250 drivers/net/wireless/ath/carl9170/tx.c 	    WARN_ON_ONCE(cookie > ar->fw.mem_blocks))
ar                253 drivers/net/wireless/ath/carl9170/tx.c 	atomic_add(DIV_ROUND_UP(skb->len, ar->fw.mem_block_size),
ar                254 drivers/net/wireless/ath/carl9170/tx.c 		   &ar->mem_free_blocks);
ar                256 drivers/net/wireless/ath/carl9170/tx.c 	spin_lock_bh(&ar->mem_lock);
ar                257 drivers/net/wireless/ath/carl9170/tx.c 	bitmap_release_region(ar->mem_bitmap, cookie - 1, 0);
ar                258 drivers/net/wireless/ath/carl9170/tx.c 	spin_unlock_bh(&ar->mem_lock);
ar                264 drivers/net/wireless/ath/carl9170/tx.c 	struct ar9170 *ar;
ar                274 drivers/net/wireless/ath/carl9170/tx.c 	ar = arinfo->ar;
ar                275 drivers/net/wireless/ath/carl9170/tx.c 	if (WARN_ON_ONCE(!ar))
ar                285 drivers/net/wireless/ath/carl9170/tx.c 	if (atomic_read(&ar->tx_total_queued))
ar                286 drivers/net/wireless/ath/carl9170/tx.c 		ar->tx_schedule = true;
ar                289 drivers/net/wireless/ath/carl9170/tx.c 		if (!atomic_read(&ar->tx_ampdu_upload))
ar                290 drivers/net/wireless/ath/carl9170/tx.c 			ar->tx_ampdu_schedule = true;
ar                316 drivers/net/wireless/ath/carl9170/tx.c 			ieee80211_free_txskb(ar->hw, skb);
ar                327 drivers/net/wireless/ath/carl9170/tx.c 	ieee80211_tx_status_irqsafe(ar->hw, skb);
ar                346 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_shift_bm(struct ar9170 *ar,
ar                378 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
ar                393 drivers/net/wireless/ath/carl9170/tx.c 	sta = __carl9170_get_tx_sta(ar, skb);
ar                406 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx_shift_bm(ar, tid_info, get_seq_h(hdr));
ar                437 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_bar_status(struct ar9170 *ar, struct sk_buff *skb,
ar                458 drivers/net/wireless/ath/carl9170/tx.c 		list_for_each_entry_rcu(entry, &ar->bar_list[queue], list) {
ar                460 drivers/net/wireless/ath/carl9170/tx.c 				spin_lock_bh(&ar->bar_list_lock[queue]);
ar                462 drivers/net/wireless/ath/carl9170/tx.c 				spin_unlock_bh(&ar->bar_list_lock[queue]);
ar                476 drivers/net/wireless/ath/carl9170/tx.c void carl9170_tx_status(struct ar9170 *ar, struct sk_buff *skb,
ar                481 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_accounting_free(ar, skb);
ar                485 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_bar_status(ar, skb, txinfo);
ar                490 drivers/net/wireless/ath/carl9170/tx.c 		ar->tx_ack_failures++;
ar                493 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx_status_process_ampdu(ar, skb, txinfo);
ar                495 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_ps_unblock(ar, skb);
ar                500 drivers/net/wireless/ath/carl9170/tx.c void carl9170_tx_callback(struct ar9170 *ar, struct sk_buff *skb)
ar                504 drivers/net/wireless/ath/carl9170/tx.c 	atomic_dec(&ar->tx_total_pending);
ar                507 drivers/net/wireless/ath/carl9170/tx.c 		atomic_dec(&ar->tx_ampdu_upload);
ar                510 drivers/net/wireless/ath/carl9170/tx.c 		tasklet_hi_schedule(&ar->usb_tasklet);
ar                513 drivers/net/wireless/ath/carl9170/tx.c static struct sk_buff *carl9170_get_queued_skb(struct ar9170 *ar, u8 cookie,
ar                528 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_release_dev_space(ar, skb);
ar                536 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_fill_rateinfo(struct ar9170 *ar, unsigned int rix,
ar                558 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_check_queue_stop_timeout(struct ar9170 *ar)
ar                566 drivers/net/wireless/ath/carl9170/tx.c 	for (i = 0; i < ar->hw->queues; i++) {
ar                567 drivers/net/wireless/ath/carl9170/tx.c 		spin_lock_bh(&ar->tx_status[i].lock);
ar                569 drivers/net/wireless/ath/carl9170/tx.c 		skb = skb_peek(&ar->tx_status[i]);
ar                582 drivers/net/wireless/ath/carl9170/tx.c 		spin_unlock_bh(&ar->tx_status[i].lock);
ar                599 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_restart(ar, CARL9170_RR_STUCK_TX);
ar                603 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_ampdu_timeout(struct ar9170 *ar)
ar                612 drivers/net/wireless/ath/carl9170/tx.c 	list_for_each_entry_rcu(iter, &ar->tx_ampdu_list, list) {
ar                641 drivers/net/wireless/ath/carl9170/tx.c 	struct ar9170 *ar = container_of(work, struct ar9170,
ar                643 drivers/net/wireless/ath/carl9170/tx.c 	if (!IS_STARTED(ar))
ar                646 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_janitor_last_run = jiffies;
ar                648 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_check_queue_stop_timeout(ar);
ar                649 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_ampdu_timeout(ar);
ar                651 drivers/net/wireless/ath/carl9170/tx.c 	if (!atomic_read(&ar->tx_total_queued))
ar                654 drivers/net/wireless/ath/carl9170/tx.c 	ieee80211_queue_delayed_work(ar->hw, &ar->tx_janitor,
ar                658 drivers/net/wireless/ath/carl9170/tx.c static void __carl9170_tx_process_status(struct ar9170 *ar,
ar                668 drivers/net/wireless/ath/carl9170/tx.c 	skb = carl9170_get_queued_skb(ar, cookie, &ar->tx_status[q]);
ar                685 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_fill_rateinfo(ar, r, t, txinfo);
ar                686 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_status(ar, skb, success);
ar                689 drivers/net/wireless/ath/carl9170/tx.c void carl9170_tx_process_status(struct ar9170 *ar,
ar                701 drivers/net/wireless/ath/carl9170/tx.c 		__carl9170_tx_process_status(ar, cmd->_tx_status[i].cookie,
ar                706 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_rate_tpc_chains(struct ar9170 *ar,
ar                724 drivers/net/wireless/ath/carl9170/tx.c 				txpower = ar->power_2G_ht40;
ar                726 drivers/net/wireless/ath/carl9170/tx.c 				txpower = ar->power_5G_ht40;
ar                729 drivers/net/wireless/ath/carl9170/tx.c 				txpower = ar->power_2G_ht20;
ar                731 drivers/net/wireless/ath/carl9170/tx.c 				txpower = ar->power_5G_ht20;
ar                739 drivers/net/wireless/ath/carl9170/tx.c 				txpower = ar->power_2G_cck;
ar                741 drivers/net/wireless/ath/carl9170/tx.c 				txpower = ar->power_2G_ofdm;
ar                743 drivers/net/wireless/ath/carl9170/tx.c 			txpower = ar->power_5G_leg;
ar                752 drivers/net/wireless/ath/carl9170/tx.c 	if (ar->eeprom.tx_mask == 1) {
ar                762 drivers/net/wireless/ath/carl9170/tx.c 	*tpc = min_t(unsigned int, *tpc, ar->hw->conf.power_level * 2);
ar                765 drivers/net/wireless/ath/carl9170/tx.c static __le32 carl9170_tx_physet(struct ar9170 *ar,
ar                816 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_rate_tpc_chains(ar, info, txrate,
ar                825 drivers/net/wireless/ath/carl9170/tx.c static bool carl9170_tx_rts_check(struct ar9170 *ar,
ar                829 drivers/net/wireless/ath/carl9170/tx.c 	switch (ar->erp_mode) {
ar                851 drivers/net/wireless/ath/carl9170/tx.c static bool carl9170_tx_cts_check(struct ar9170 *ar,
ar                854 drivers/net/wireless/ath/carl9170/tx.c 	switch (ar->erp_mode) {
ar                871 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_get_rates(struct ar9170 *ar,
ar                888 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_apply_rateset(struct ar9170 *ar,
ar                920 drivers/net/wireless/ath/carl9170/tx.c 		phy_set = carl9170_tx_physet(ar, info, txrate);
ar                930 drivers/net/wireless/ath/carl9170/tx.c 			if (carl9170_tx_rts_check(ar, txrate, ampdu, no_ack))
ar                932 drivers/net/wireless/ath/carl9170/tx.c 			else if (carl9170_tx_cts_check(ar, txrate))
ar                946 drivers/net/wireless/ath/carl9170/tx.c 		if (carl9170_tx_rts_check(ar, txrate, ampdu, no_ack))
ar                949 drivers/net/wireless/ath/carl9170/tx.c 		else if (carl9170_tx_cts_check(ar, txrate))
ar                958 drivers/net/wireless/ath/carl9170/tx.c static int carl9170_tx_prepare(struct ar9170 *ar,
ar                982 drivers/net/wireless/ath/carl9170/tx.c 	hw_queue = ar9170_qmap[carl9170_get_queue(ar, skb)];
ar               1073 drivers/net/wireless/ath/carl9170/tx.c 	arinfo->ar = ar;
ar               1082 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_set_immba(struct ar9170 *ar, struct sk_buff *skb)
ar               1090 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_set_ampdu_params(struct ar9170 *ar, struct sk_buff *skb)
ar               1111 drivers/net/wireless/ath/carl9170/tx.c 	if (tmp != ar->current_density) {
ar               1112 drivers/net/wireless/ath/carl9170/tx.c 		ar->current_density = tmp;
ar               1120 drivers/net/wireless/ath/carl9170/tx.c 	if (tmp != ar->current_factor) {
ar               1121 drivers/net/wireless/ath/carl9170/tx.c 		ar->current_factor = tmp;
ar               1127 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx_ampdu(struct ar9170 *ar)
ar               1136 drivers/net/wireless/ath/carl9170/tx.c 	atomic_inc(&ar->tx_ampdu_scheduler);
ar               1137 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_ampdu_schedule = false;
ar               1139 drivers/net/wireless/ath/carl9170/tx.c 	if (atomic_read(&ar->tx_ampdu_upload))
ar               1142 drivers/net/wireless/ath/carl9170/tx.c 	if (!ar->tx_ampdu_list_len)
ar               1148 drivers/net/wireless/ath/carl9170/tx.c 	tid_info = rcu_dereference(ar->tx_ampdu_iter);
ar               1155 drivers/net/wireless/ath/carl9170/tx.c 	list_for_each_entry_continue_rcu(tid_info, &ar->tx_ampdu_list, list) {
ar               1190 drivers/net/wireless/ath/carl9170/tx.c 				carl9170_tx_get_rates(ar, tid_info->vif,
ar               1195 drivers/net/wireless/ath/carl9170/tx.c 			carl9170_tx_apply_rateset(ar, tx_info_first, skb);
ar               1197 drivers/net/wireless/ath/carl9170/tx.c 			atomic_inc(&ar->tx_ampdu_upload);
ar               1225 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_set_ampdu_params(ar, skb_peek(&agg));
ar               1228 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_set_immba(ar, skb_peek_tail(&agg));
ar               1230 drivers/net/wireless/ath/carl9170/tx.c 		spin_lock_bh(&ar->tx_pending[queue].lock);
ar               1231 drivers/net/wireless/ath/carl9170/tx.c 		skb_queue_splice_tail_init(&agg, &ar->tx_pending[queue]);
ar               1232 drivers/net/wireless/ath/carl9170/tx.c 		spin_unlock_bh(&ar->tx_pending[queue].lock);
ar               1233 drivers/net/wireless/ath/carl9170/tx.c 		ar->tx_schedule = true;
ar               1238 drivers/net/wireless/ath/carl9170/tx.c 	rcu_assign_pointer(ar->tx_ampdu_iter, tid_info);
ar               1242 drivers/net/wireless/ath/carl9170/tx.c static struct sk_buff *carl9170_tx_pick_skb(struct ar9170 *ar,
ar               1256 drivers/net/wireless/ath/carl9170/tx.c 	if (carl9170_alloc_dev_space(ar, skb))
ar               1273 drivers/net/wireless/ath/carl9170/tx.c void carl9170_tx_drop(struct ar9170 *ar, struct sk_buff *skb)
ar               1278 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_dropped++;
ar               1282 drivers/net/wireless/ath/carl9170/tx.c 		ar9170_qmap[carl9170_get_queue(ar, skb)]);
ar               1283 drivers/net/wireless/ath/carl9170/tx.c 	__carl9170_tx_process_status(ar, super->s.cookie, q);
ar               1286 drivers/net/wireless/ath/carl9170/tx.c static bool carl9170_tx_ps_drop(struct ar9170 *ar, struct sk_buff *skb)
ar               1293 drivers/net/wireless/ath/carl9170/tx.c 	sta = __carl9170_get_tx_sta(ar, skb);
ar               1306 drivers/net/wireless/ath/carl9170/tx.c 			atomic_dec(&ar->tx_ampdu_upload);
ar               1309 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_release_dev_space(ar, skb);
ar               1310 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx_status(ar, skb, false);
ar               1319 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_bar_check(struct ar9170 *ar, struct sk_buff *skb)
ar               1332 drivers/net/wireless/ath/carl9170/tx.c 			spin_lock_bh(&ar->bar_list_lock[queue]);
ar               1333 drivers/net/wireless/ath/carl9170/tx.c 			list_add_tail_rcu(&entry->list, &ar->bar_list[queue]);
ar               1334 drivers/net/wireless/ath/carl9170/tx.c 			spin_unlock_bh(&ar->bar_list_lock[queue]);
ar               1339 drivers/net/wireless/ath/carl9170/tx.c static void carl9170_tx(struct ar9170 *ar)
ar               1345 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_schedule = false;
ar               1347 drivers/net/wireless/ath/carl9170/tx.c 	if (unlikely(!IS_STARTED(ar)))
ar               1350 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_usb_handle_tx_err(ar);
ar               1352 drivers/net/wireless/ath/carl9170/tx.c 	for (i = 0; i < ar->hw->queues; i++) {
ar               1353 drivers/net/wireless/ath/carl9170/tx.c 		while (!skb_queue_empty(&ar->tx_pending[i])) {
ar               1354 drivers/net/wireless/ath/carl9170/tx.c 			skb = carl9170_tx_pick_skb(ar, &ar->tx_pending[i]);
ar               1358 drivers/net/wireless/ath/carl9170/tx.c 			if (unlikely(carl9170_tx_ps_drop(ar, skb)))
ar               1361 drivers/net/wireless/ath/carl9170/tx.c 			carl9170_bar_check(ar, skb);
ar               1363 drivers/net/wireless/ath/carl9170/tx.c 			atomic_inc(&ar->tx_total_pending);
ar               1365 drivers/net/wireless/ath/carl9170/tx.c 			q = __carl9170_get_queue(ar, i);
ar               1370 drivers/net/wireless/ath/carl9170/tx.c 			skb_queue_tail(&ar->tx_status[q], skb);
ar               1382 drivers/net/wireless/ath/carl9170/tx.c 			carl9170_usb_tx(ar, skb);
ar               1390 drivers/net/wireless/ath/carl9170/tx.c 	ieee80211_queue_delayed_work(ar->hw, &ar->tx_janitor,
ar               1394 drivers/net/wireless/ath/carl9170/tx.c static bool carl9170_tx_ampdu_queue(struct ar9170 *ar,
ar               1465 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_status(ar, skb, false);
ar               1466 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_dropped++;
ar               1474 drivers/net/wireless/ath/carl9170/tx.c 	struct ar9170 *ar = hw->priv;
ar               1480 drivers/net/wireless/ath/carl9170/tx.c 	if (unlikely(!IS_STARTED(ar)))
ar               1486 drivers/net/wireless/ath/carl9170/tx.c 	if (unlikely(carl9170_tx_prepare(ar, sta, skb)))
ar               1489 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_accounting(ar, skb);
ar               1508 drivers/net/wireless/ath/carl9170/tx.c 		run = carl9170_tx_ampdu_queue(ar, sta, skb, info);
ar               1510 drivers/net/wireless/ath/carl9170/tx.c 			carl9170_tx_ampdu(ar);
ar               1515 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx_get_rates(ar, vif, sta, skb);
ar               1516 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx_apply_rateset(ar, info, skb);
ar               1517 drivers/net/wireless/ath/carl9170/tx.c 		skb_queue_tail(&ar->tx_pending[queue], skb);
ar               1520 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx(ar);
ar               1524 drivers/net/wireless/ath/carl9170/tx.c 	ar->tx_dropped++;
ar               1525 drivers/net/wireless/ath/carl9170/tx.c 	ieee80211_free_txskb(ar->hw, skb);
ar               1528 drivers/net/wireless/ath/carl9170/tx.c void carl9170_tx_scheduler(struct ar9170 *ar)
ar               1531 drivers/net/wireless/ath/carl9170/tx.c 	if (ar->tx_ampdu_schedule)
ar               1532 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx_ampdu(ar);
ar               1534 drivers/net/wireless/ath/carl9170/tx.c 	if (ar->tx_schedule)
ar               1535 drivers/net/wireless/ath/carl9170/tx.c 		carl9170_tx(ar);
ar               1539 drivers/net/wireless/ath/carl9170/tx.c static struct carl9170_vif_info *carl9170_pick_beaconing_vif(struct ar9170 *ar)
ar               1551 drivers/net/wireless/ath/carl9170/tx.c 	cvif = rcu_dereference(ar->beacon_iter);
ar               1552 drivers/net/wireless/ath/carl9170/tx.c 	if (ar->vifs > 0 && cvif) {
ar               1554 drivers/net/wireless/ath/carl9170/tx.c 			list_for_each_entry_continue_rcu(cvif, &ar->vif_list,
ar               1559 drivers/net/wireless/ath/carl9170/tx.c 		} while (ar->beacon_enabled && i--);
ar               1563 drivers/net/wireless/ath/carl9170/tx.c 	RCU_INIT_POINTER(ar->beacon_iter, cvif);
ar               1567 drivers/net/wireless/ath/carl9170/tx.c static bool carl9170_tx_beacon_physet(struct ar9170 *ar, struct sk_buff *skb,
ar               1578 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_tx_rate_tpc_chains(ar, txinfo, rate, plcp, &power, &chains);
ar               1611 drivers/net/wireless/ath/carl9170/tx.c int carl9170_update_beacon(struct ar9170 *ar, const bool submit)
ar               1621 drivers/net/wireless/ath/carl9170/tx.c 	cvif = carl9170_pick_beaconing_vif(ar);
ar               1625 drivers/net/wireless/ath/carl9170/tx.c 	skb = ieee80211_beacon_get_tim(ar->hw, carl9170_get_vif(cvif),
ar               1633 drivers/net/wireless/ath/carl9170/tx.c 	spin_lock_bh(&ar->beacon_lock);
ar               1639 drivers/net/wireless/ath/carl9170/tx.c 	addr = ar->fw.beacon_addr + off;
ar               1642 drivers/net/wireless/ath/carl9170/tx.c 	if ((off + len) > ar->fw.beacon_max_len) {
ar               1644 drivers/net/wireless/ath/carl9170/tx.c 			wiphy_err(ar->hw->wiphy, "beacon does not "
ar               1653 drivers/net/wireless/ath/carl9170/tx.c 			wiphy_err(ar->hw->wiphy, "no support for beacons "
ar               1662 drivers/net/wireless/ath/carl9170/tx.c 	ht_rate = carl9170_tx_beacon_physet(ar, skb, &ht1, &plcp);
ar               1664 drivers/net/wireless/ath/carl9170/tx.c 	carl9170_async_regwrite_begin(ar);
ar               1691 drivers/net/wireless/ath/carl9170/tx.c 	spin_unlock_bh(&ar->beacon_lock);
ar               1696 drivers/net/wireless/ath/carl9170/tx.c 		err = carl9170_bcn_ctrl(ar, cvif->id,
ar               1708 drivers/net/wireless/ath/carl9170/tx.c 	spin_unlock_bh(&ar->beacon_lock);
ar                133 drivers/net/wireless/ath/carl9170/usb.c static void carl9170_usb_submit_data_urb(struct ar9170 *ar)
ar                138 drivers/net/wireless/ath/carl9170/usb.c 	if (atomic_inc_return(&ar->tx_anch_urbs) > AR9170_NUM_TX_URBS)
ar                141 drivers/net/wireless/ath/carl9170/usb.c 	urb = usb_get_from_anchor(&ar->tx_wait);
ar                145 drivers/net/wireless/ath/carl9170/usb.c 	usb_anchor_urb(urb, &ar->tx_anch);
ar                150 drivers/net/wireless/ath/carl9170/usb.c 			dev_err(&ar->udev->dev, "tx submit failed (%d)\n",
ar                155 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->tx_err);
ar                164 drivers/net/wireless/ath/carl9170/usb.c 	atomic_dec(&ar->tx_anch_urbs);
ar                169 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = usb_get_intfdata(usb_ifnum_to_if(urb->dev, 0));
ar                171 drivers/net/wireless/ath/carl9170/usb.c 	if (WARN_ON_ONCE(!ar)) {
ar                176 drivers/net/wireless/ath/carl9170/usb.c 	atomic_dec(&ar->tx_anch_urbs);
ar                181 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_tx_callback(ar, (void *)urb->context);
ar                194 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->tx_err);
ar                200 drivers/net/wireless/ath/carl9170/usb.c 			dev_err(&ar->udev->dev, "tx failed (%d)\n",
ar                204 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->tx_err);
ar                208 drivers/net/wireless/ath/carl9170/usb.c 	if (likely(IS_STARTED(ar)))
ar                209 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_usb_submit_data_urb(ar);
ar                212 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_submit_cmd_urb(struct ar9170 *ar)
ar                217 drivers/net/wireless/ath/carl9170/usb.c 	if (atomic_inc_return(&ar->tx_cmd_urbs) != 1) {
ar                218 drivers/net/wireless/ath/carl9170/usb.c 		atomic_dec(&ar->tx_cmd_urbs);
ar                222 drivers/net/wireless/ath/carl9170/usb.c 	urb = usb_get_from_anchor(&ar->tx_cmd);
ar                224 drivers/net/wireless/ath/carl9170/usb.c 		atomic_dec(&ar->tx_cmd_urbs);
ar                228 drivers/net/wireless/ath/carl9170/usb.c 	usb_anchor_urb(urb, &ar->tx_anch);
ar                232 drivers/net/wireless/ath/carl9170/usb.c 		atomic_dec(&ar->tx_cmd_urbs);
ar                241 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = urb->context;
ar                244 drivers/net/wireless/ath/carl9170/usb.c 	if (WARN_ON_ONCE(!ar))
ar                247 drivers/net/wireless/ath/carl9170/usb.c 	atomic_dec(&ar->tx_cmd_urbs);
ar                266 drivers/net/wireless/ath/carl9170/usb.c 	if (!IS_INITIALIZED(ar))
ar                270 drivers/net/wireless/ath/carl9170/usb.c 		dev_err(&ar->udev->dev, "submit cmd cb failed (%d).\n", err);
ar                272 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_submit_cmd_urb(ar);
ar                274 drivers/net/wireless/ath/carl9170/usb.c 		dev_err(&ar->udev->dev, "submit cmd failed (%d).\n", err);
ar                279 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = urb->context;
ar                281 drivers/net/wireless/ath/carl9170/usb.c 	if (WARN_ON_ONCE(!ar))
ar                307 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_handle_command_response(ar, urb->transfer_buffer,
ar                311 drivers/net/wireless/ath/carl9170/usb.c 	usb_anchor_urb(urb, &ar->rx_anch);
ar                316 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_submit_rx_urb(struct ar9170 *ar, gfp_t gfp)
ar                321 drivers/net/wireless/ath/carl9170/usb.c 	while ((atomic_read(&ar->rx_anch_urbs) < AR9170_NUM_RX_URBS) &&
ar                324 drivers/net/wireless/ath/carl9170/usb.c 		urb = usb_get_from_anchor(&ar->rx_pool);
ar                326 drivers/net/wireless/ath/carl9170/usb.c 			usb_anchor_urb(urb, &ar->rx_anch);
ar                330 drivers/net/wireless/ath/carl9170/usb.c 				usb_anchor_urb(urb, &ar->rx_pool);
ar                332 drivers/net/wireless/ath/carl9170/usb.c 				atomic_dec(&ar->rx_pool_urbs);
ar                333 drivers/net/wireless/ath/carl9170/usb.c 				atomic_inc(&ar->rx_anch_urbs);
ar                342 drivers/net/wireless/ath/carl9170/usb.c static void carl9170_usb_rx_work(struct ar9170 *ar)
ar                348 drivers/net/wireless/ath/carl9170/usb.c 		urb = usb_get_from_anchor(&ar->rx_work);
ar                352 drivers/net/wireless/ath/carl9170/usb.c 		atomic_dec(&ar->rx_work_urbs);
ar                353 drivers/net/wireless/ath/carl9170/usb.c 		if (IS_INITIALIZED(ar)) {
ar                354 drivers/net/wireless/ath/carl9170/usb.c 			carl9170_rx(ar, urb->transfer_buffer,
ar                358 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->rx_pool);
ar                359 drivers/net/wireless/ath/carl9170/usb.c 		atomic_inc(&ar->rx_pool_urbs);
ar                363 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_usb_submit_rx_urb(ar, GFP_ATOMIC);
ar                367 drivers/net/wireless/ath/carl9170/usb.c void carl9170_usb_handle_tx_err(struct ar9170 *ar)
ar                371 drivers/net/wireless/ath/carl9170/usb.c 	while ((urb = usb_get_from_anchor(&ar->tx_err))) {
ar                374 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_tx_drop(ar, skb);
ar                375 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_tx_callback(ar, skb);
ar                382 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = (struct ar9170 *) data;
ar                384 drivers/net/wireless/ath/carl9170/usb.c 	if (!IS_INITIALIZED(ar))
ar                387 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_rx_work(ar);
ar                394 drivers/net/wireless/ath/carl9170/usb.c 	if (IS_STARTED(ar))
ar                395 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_tx_scheduler(ar);
ar                400 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = (struct ar9170 *)urb->context;
ar                403 drivers/net/wireless/ath/carl9170/usb.c 	if (WARN_ON_ONCE(!ar))
ar                406 drivers/net/wireless/ath/carl9170/usb.c 	atomic_dec(&ar->rx_anch_urbs);
ar                411 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->rx_work);
ar                412 drivers/net/wireless/ath/carl9170/usb.c 		atomic_inc(&ar->rx_work_urbs);
ar                424 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->rx_pool);
ar                425 drivers/net/wireless/ath/carl9170/usb.c 		atomic_inc(&ar->rx_pool_urbs);
ar                429 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_submit_rx_urb(ar, GFP_ATOMIC);
ar                437 drivers/net/wireless/ath/carl9170/usb.c 		tasklet_hi_schedule(&ar->usb_tasklet);
ar                439 drivers/net/wireless/ath/carl9170/usb.c 		if (atomic_read(&ar->rx_anch_urbs) == 0) {
ar                448 drivers/net/wireless/ath/carl9170/usb.c 			ieee80211_queue_work(ar->hw, &ar->ping_work);
ar                455 drivers/net/wireless/ath/carl9170/usb.c 		tasklet_hi_schedule(&ar->usb_tasklet);
ar                459 drivers/net/wireless/ath/carl9170/usb.c static struct urb *carl9170_usb_alloc_rx_urb(struct ar9170 *ar, gfp_t gfp)
ar                464 drivers/net/wireless/ath/carl9170/usb.c 	buf = kmalloc(ar->fw.rx_size, gfp);
ar                474 drivers/net/wireless/ath/carl9170/usb.c 	usb_fill_bulk_urb(urb, ar->udev, usb_rcvbulkpipe(ar->udev,
ar                475 drivers/net/wireless/ath/carl9170/usb.c 			  AR9170_USB_EP_RX), buf, ar->fw.rx_size,
ar                476 drivers/net/wireless/ath/carl9170/usb.c 			  carl9170_usb_rx_complete, ar);
ar                483 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_send_rx_irq_urb(struct ar9170 *ar)
ar                497 drivers/net/wireless/ath/carl9170/usb.c 	usb_fill_int_urb(urb, ar->udev, usb_rcvintpipe(ar->udev,
ar                499 drivers/net/wireless/ath/carl9170/usb.c 			 carl9170_usb_rx_irq_complete, ar, 1);
ar                503 drivers/net/wireless/ath/carl9170/usb.c 	usb_anchor_urb(urb, &ar->rx_anch);
ar                513 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_init_rx_bulk_urbs(struct ar9170 *ar)
ar                529 drivers/net/wireless/ath/carl9170/usb.c 		urb = carl9170_usb_alloc_rx_urb(ar, GFP_KERNEL);
ar                535 drivers/net/wireless/ath/carl9170/usb.c 		usb_anchor_urb(urb, &ar->rx_pool);
ar                536 drivers/net/wireless/ath/carl9170/usb.c 		atomic_inc(&ar->rx_pool_urbs);
ar                540 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_submit_rx_urb(ar, GFP_KERNEL);
ar                545 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_set_state_when(ar, CARL9170_STOPPED, CARL9170_IDLE);
ar                550 drivers/net/wireless/ath/carl9170/usb.c 	usb_scuttle_anchored_urbs(&ar->rx_pool);
ar                551 drivers/net/wireless/ath/carl9170/usb.c 	usb_scuttle_anchored_urbs(&ar->rx_work);
ar                552 drivers/net/wireless/ath/carl9170/usb.c 	usb_kill_anchored_urbs(&ar->rx_anch);
ar                556 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_flush(struct ar9170 *ar)
ar                561 drivers/net/wireless/ath/carl9170/usb.c 	while ((urb = usb_get_from_anchor(&ar->tx_wait))) {
ar                563 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_tx_drop(ar, skb);
ar                564 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_tx_callback(ar, skb);
ar                568 drivers/net/wireless/ath/carl9170/usb.c 	ret = usb_wait_anchor_empty_timeout(&ar->tx_cmd, 1000);
ar                573 drivers/net/wireless/ath/carl9170/usb.c 	ret = usb_wait_anchor_empty_timeout(&ar->tx_anch, 1000);
ar                577 drivers/net/wireless/ath/carl9170/usb.c 	usb_kill_anchored_urbs(&ar->tx_anch);
ar                578 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_handle_tx_err(ar);
ar                583 drivers/net/wireless/ath/carl9170/usb.c static void carl9170_usb_cancel_urbs(struct ar9170 *ar)
ar                587 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_set_state(ar, CARL9170_UNKNOWN_STATE);
ar                589 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_flush(ar);
ar                591 drivers/net/wireless/ath/carl9170/usb.c 		dev_err(&ar->udev->dev, "stuck tx urbs!\n");
ar                593 drivers/net/wireless/ath/carl9170/usb.c 	usb_poison_anchored_urbs(&ar->tx_anch);
ar                594 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_handle_tx_err(ar);
ar                595 drivers/net/wireless/ath/carl9170/usb.c 	usb_poison_anchored_urbs(&ar->rx_anch);
ar                597 drivers/net/wireless/ath/carl9170/usb.c 	tasklet_kill(&ar->usb_tasklet);
ar                599 drivers/net/wireless/ath/carl9170/usb.c 	usb_scuttle_anchored_urbs(&ar->rx_work);
ar                600 drivers/net/wireless/ath/carl9170/usb.c 	usb_scuttle_anchored_urbs(&ar->rx_pool);
ar                601 drivers/net/wireless/ath/carl9170/usb.c 	usb_scuttle_anchored_urbs(&ar->tx_cmd);
ar                604 drivers/net/wireless/ath/carl9170/usb.c int __carl9170_exec_cmd(struct ar9170 *ar, struct carl9170_cmd *cmd,
ar                610 drivers/net/wireless/ath/carl9170/usb.c 	if (!IS_INITIALIZED(ar)) {
ar                626 drivers/net/wireless/ath/carl9170/usb.c 	if (ar->usb_ep_cmd_is_bulk)
ar                627 drivers/net/wireless/ath/carl9170/usb.c 		usb_fill_bulk_urb(urb, ar->udev,
ar                628 drivers/net/wireless/ath/carl9170/usb.c 				  usb_sndbulkpipe(ar->udev, AR9170_USB_EP_CMD),
ar                630 drivers/net/wireless/ath/carl9170/usb.c 				  carl9170_usb_cmd_complete, ar);
ar                632 drivers/net/wireless/ath/carl9170/usb.c 		usb_fill_int_urb(urb, ar->udev,
ar                633 drivers/net/wireless/ath/carl9170/usb.c 				 usb_sndintpipe(ar->udev, AR9170_USB_EP_CMD),
ar                635 drivers/net/wireless/ath/carl9170/usb.c 				 carl9170_usb_cmd_complete, ar, 1);
ar                640 drivers/net/wireless/ath/carl9170/usb.c 	usb_anchor_urb(urb, &ar->tx_cmd);
ar                643 drivers/net/wireless/ath/carl9170/usb.c 	return carl9170_usb_submit_cmd_urb(ar);
ar                652 drivers/net/wireless/ath/carl9170/usb.c int carl9170_exec_cmd(struct ar9170 *ar, const enum carl9170_cmd_oids cmd,
ar                658 drivers/net/wireless/ath/carl9170/usb.c 	if (!IS_ACCEPTING_CMD(ar))
ar                664 drivers/net/wireless/ath/carl9170/usb.c 	ar->cmd.hdr.len = plen;
ar                665 drivers/net/wireless/ath/carl9170/usb.c 	ar->cmd.hdr.cmd = cmd;
ar                667 drivers/net/wireless/ath/carl9170/usb.c 	if (plen && payload != (u8 *)(ar->cmd.data))
ar                668 drivers/net/wireless/ath/carl9170/usb.c 		memcpy(ar->cmd.data, payload, plen);
ar                670 drivers/net/wireless/ath/carl9170/usb.c 	spin_lock_bh(&ar->cmd_lock);
ar                671 drivers/net/wireless/ath/carl9170/usb.c 	ar->readbuf = (u8 *)out;
ar                672 drivers/net/wireless/ath/carl9170/usb.c 	ar->readlen = outlen;
ar                673 drivers/net/wireless/ath/carl9170/usb.c 	spin_unlock_bh(&ar->cmd_lock);
ar                675 drivers/net/wireless/ath/carl9170/usb.c 	reinit_completion(&ar->cmd_wait);
ar                676 drivers/net/wireless/ath/carl9170/usb.c 	err = __carl9170_exec_cmd(ar, &ar->cmd, false);
ar                679 drivers/net/wireless/ath/carl9170/usb.c 		time_left = wait_for_completion_timeout(&ar->cmd_wait, HZ);
ar                685 drivers/net/wireless/ath/carl9170/usb.c 		if (ar->readlen != outlen) {
ar                695 drivers/net/wireless/ath/carl9170/usb.c 	if (IS_STARTED(ar)) {
ar                696 drivers/net/wireless/ath/carl9170/usb.c 		dev_err(&ar->udev->dev, "no command feedback "
ar                701 drivers/net/wireless/ath/carl9170/usb.c 				     &ar->cmd, plen + 4);
ar                703 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_restart(ar, CARL9170_RR_COMMAND_TIMEOUT);
ar                707 drivers/net/wireless/ath/carl9170/usb.c 	spin_lock_bh(&ar->cmd_lock);
ar                708 drivers/net/wireless/ath/carl9170/usb.c 	ar->readbuf = NULL;
ar                709 drivers/net/wireless/ath/carl9170/usb.c 	ar->readlen = 0;
ar                710 drivers/net/wireless/ath/carl9170/usb.c 	spin_unlock_bh(&ar->cmd_lock);
ar                715 drivers/net/wireless/ath/carl9170/usb.c void carl9170_usb_tx(struct ar9170 *ar, struct sk_buff *skb)
ar                722 drivers/net/wireless/ath/carl9170/usb.c 	if (!IS_STARTED(ar))
ar                729 drivers/net/wireless/ath/carl9170/usb.c 	if (ar->fw.tx_stream) {
ar                741 drivers/net/wireless/ath/carl9170/usb.c 	usb_fill_bulk_urb(urb, ar->udev, usb_sndbulkpipe(ar->udev,
ar                747 drivers/net/wireless/ath/carl9170/usb.c 	usb_anchor_urb(urb, &ar->tx_wait);
ar                751 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_submit_data_urb(ar);
ar                755 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_tx_drop(ar, skb);
ar                756 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_tx_callback(ar, skb);
ar                759 drivers/net/wireless/ath/carl9170/usb.c static void carl9170_release_firmware(struct ar9170 *ar)
ar                761 drivers/net/wireless/ath/carl9170/usb.c 	if (ar->fw.fw) {
ar                762 drivers/net/wireless/ath/carl9170/usb.c 		release_firmware(ar->fw.fw);
ar                763 drivers/net/wireless/ath/carl9170/usb.c 		memset(&ar->fw, 0, sizeof(ar->fw));
ar                767 drivers/net/wireless/ath/carl9170/usb.c void carl9170_usb_stop(struct ar9170 *ar)
ar                771 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_set_state_when(ar, CARL9170_IDLE, CARL9170_STOPPED);
ar                773 drivers/net/wireless/ath/carl9170/usb.c 	ret = carl9170_usb_flush(ar);
ar                775 drivers/net/wireless/ath/carl9170/usb.c 		dev_err(&ar->udev->dev, "kill pending tx urbs.\n");
ar                777 drivers/net/wireless/ath/carl9170/usb.c 	usb_poison_anchored_urbs(&ar->tx_anch);
ar                778 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_handle_tx_err(ar);
ar                781 drivers/net/wireless/ath/carl9170/usb.c 	spin_lock_bh(&ar->cmd_lock);
ar                782 drivers/net/wireless/ath/carl9170/usb.c 	ar->readlen = 0;
ar                783 drivers/net/wireless/ath/carl9170/usb.c 	spin_unlock_bh(&ar->cmd_lock);
ar                784 drivers/net/wireless/ath/carl9170/usb.c 	complete(&ar->cmd_wait);
ar                793 drivers/net/wireless/ath/carl9170/usb.c int carl9170_usb_open(struct ar9170 *ar)
ar                795 drivers/net/wireless/ath/carl9170/usb.c 	usb_unpoison_anchored_urbs(&ar->tx_anch);
ar                797 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_set_state_when(ar, CARL9170_STOPPED, CARL9170_IDLE);
ar                801 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_load_firmware(struct ar9170 *ar)
ar                816 drivers/net/wireless/ath/carl9170/usb.c 	data = ar->fw.fw->data;
ar                817 drivers/net/wireless/ath/carl9170/usb.c 	len = ar->fw.fw->size;
ar                818 drivers/net/wireless/ath/carl9170/usb.c 	addr = ar->fw.address;
ar                821 drivers/net/wireless/ath/carl9170/usb.c 	data += ar->fw.offset;
ar                822 drivers/net/wireless/ath/carl9170/usb.c 	len -= ar->fw.offset;
ar                828 drivers/net/wireless/ath/carl9170/usb.c 		err = usb_control_msg(ar->udev, usb_sndctrlpipe(ar->udev, 0),
ar                843 drivers/net/wireless/ath/carl9170/usb.c 	err = usb_control_msg(ar->udev, usb_sndctrlpipe(ar->udev, 0),
ar                847 drivers/net/wireless/ath/carl9170/usb.c 	if (wait_for_completion_timeout(&ar->fw_boot_wait, HZ) == 0) {
ar                852 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_echo_test(ar, 0x4a110123);
ar                857 drivers/net/wireless/ath/carl9170/usb.c 	ar->cmd_seq = -1;
ar                862 drivers/net/wireless/ath/carl9170/usb.c 	dev_err(&ar->udev->dev, "firmware upload failed (%d).\n", err);
ar                866 drivers/net/wireless/ath/carl9170/usb.c int carl9170_usb_restart(struct ar9170 *ar)
ar                870 drivers/net/wireless/ath/carl9170/usb.c 	if (ar->intf->condition != USB_INTERFACE_BOUND)
ar                879 drivers/net/wireless/ath/carl9170/usb.c 	ar->cmd_seq = -2;
ar                881 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_reboot(ar);
ar                883 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_stop(ar);
ar                888 drivers/net/wireless/ath/carl9170/usb.c 	tasklet_schedule(&ar->usb_tasklet);
ar                893 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_open(ar);
ar                897 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_load_firmware(ar);
ar                904 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar                908 drivers/net/wireless/ath/carl9170/usb.c void carl9170_usb_reset(struct ar9170 *ar)
ar                919 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar                921 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_stop(ar);
ar                923 drivers/net/wireless/ath/carl9170/usb.c 	usb_queue_reset_device(ar->intf);
ar                926 drivers/net/wireless/ath/carl9170/usb.c static int carl9170_usb_init_device(struct ar9170 *ar)
ar                937 drivers/net/wireless/ath/carl9170/usb.c 	ar->cmd_seq = -2;
ar                939 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_send_rx_irq_urb(ar);
ar                943 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_init_rx_bulk_urbs(ar);
ar                947 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_open(ar);
ar                951 drivers/net/wireless/ath/carl9170/usb.c 	mutex_lock(&ar->mutex);
ar                952 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_load_firmware(ar);
ar                953 drivers/net/wireless/ath/carl9170/usb.c 	mutex_unlock(&ar->mutex);
ar                960 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_stop(ar);
ar                963 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar                969 drivers/net/wireless/ath/carl9170/usb.c static void carl9170_usb_firmware_failed(struct ar9170 *ar)
ar                975 drivers/net/wireless/ath/carl9170/usb.c 	struct usb_interface *intf = ar->intf;
ar                976 drivers/net/wireless/ath/carl9170/usb.c 	struct usb_device *udev = ar->udev;
ar                978 drivers/net/wireless/ath/carl9170/usb.c 	complete(&ar->fw_load_wait);
ar                980 drivers/net/wireless/ath/carl9170/usb.c 	ar = NULL;
ar                990 drivers/net/wireless/ath/carl9170/usb.c static void carl9170_usb_firmware_finish(struct ar9170 *ar)
ar                992 drivers/net/wireless/ath/carl9170/usb.c 	struct usb_interface *intf = ar->intf;
ar                995 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_parse_firmware(ar);
ar                999 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_init_device(ar);
ar               1003 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_register(ar);
ar               1005 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_stop(ar);
ar               1009 drivers/net/wireless/ath/carl9170/usb.c 	complete(&ar->fw_load_wait);
ar               1014 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar               1017 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_release_firmware(ar);
ar               1018 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_firmware_failed(ar);
ar               1024 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = context;
ar               1027 drivers/net/wireless/ath/carl9170/usb.c 		ar->fw.fw = fw;
ar               1028 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_usb_firmware_finish(ar);
ar               1032 drivers/net/wireless/ath/carl9170/usb.c 	dev_err(&ar->udev->dev, "firmware not found.\n");
ar               1033 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_firmware_failed(ar);
ar               1040 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar;
ar               1048 drivers/net/wireless/ath/carl9170/usb.c 	ar = carl9170_alloc(sizeof(*ar));
ar               1049 drivers/net/wireless/ath/carl9170/usb.c 	if (IS_ERR(ar))
ar               1050 drivers/net/wireless/ath/carl9170/usb.c 		return PTR_ERR(ar);
ar               1053 drivers/net/wireless/ath/carl9170/usb.c 	ar->udev = udev;
ar               1054 drivers/net/wireless/ath/carl9170/usb.c 	ar->intf = intf;
ar               1055 drivers/net/wireless/ath/carl9170/usb.c 	ar->features = id->driver_info;
ar               1069 drivers/net/wireless/ath/carl9170/usb.c 			ar->usb_ep_cmd_is_bulk = true;
ar               1072 drivers/net/wireless/ath/carl9170/usb.c 	usb_set_intfdata(intf, ar);
ar               1073 drivers/net/wireless/ath/carl9170/usb.c 	SET_IEEE80211_DEV(ar->hw, &intf->dev);
ar               1075 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->rx_anch);
ar               1076 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->rx_pool);
ar               1077 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->rx_work);
ar               1078 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->tx_wait);
ar               1079 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->tx_anch);
ar               1080 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->tx_cmd);
ar               1081 drivers/net/wireless/ath/carl9170/usb.c 	init_usb_anchor(&ar->tx_err);
ar               1082 drivers/net/wireless/ath/carl9170/usb.c 	init_completion(&ar->cmd_wait);
ar               1083 drivers/net/wireless/ath/carl9170/usb.c 	init_completion(&ar->fw_boot_wait);
ar               1084 drivers/net/wireless/ath/carl9170/usb.c 	init_completion(&ar->fw_load_wait);
ar               1085 drivers/net/wireless/ath/carl9170/usb.c 	tasklet_init(&ar->usb_tasklet, carl9170_usb_tasklet,
ar               1086 drivers/net/wireless/ath/carl9170/usb.c 		     (unsigned long)ar);
ar               1088 drivers/net/wireless/ath/carl9170/usb.c 	atomic_set(&ar->tx_cmd_urbs, 0);
ar               1089 drivers/net/wireless/ath/carl9170/usb.c 	atomic_set(&ar->tx_anch_urbs, 0);
ar               1090 drivers/net/wireless/ath/carl9170/usb.c 	atomic_set(&ar->rx_work_urbs, 0);
ar               1091 drivers/net/wireless/ath/carl9170/usb.c 	atomic_set(&ar->rx_anch_urbs, 0);
ar               1092 drivers/net/wireless/ath/carl9170/usb.c 	atomic_set(&ar->rx_pool_urbs, 0);
ar               1096 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_set_state(ar, CARL9170_STOPPED);
ar               1099 drivers/net/wireless/ath/carl9170/usb.c 		&ar->udev->dev, GFP_KERNEL, ar, carl9170_usb_firmware_step2);
ar               1102 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_free(ar);
ar               1109 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = usb_get_intfdata(intf);
ar               1111 drivers/net/wireless/ath/carl9170/usb.c 	if (WARN_ON(!ar))
ar               1114 drivers/net/wireless/ath/carl9170/usb.c 	wait_for_completion(&ar->fw_load_wait);
ar               1116 drivers/net/wireless/ath/carl9170/usb.c 	if (IS_INITIALIZED(ar)) {
ar               1117 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_reboot(ar);
ar               1118 drivers/net/wireless/ath/carl9170/usb.c 		carl9170_usb_stop(ar);
ar               1121 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar               1122 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_unregister(ar);
ar               1126 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_release_firmware(ar);
ar               1127 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_free(ar);
ar               1134 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = usb_get_intfdata(intf);
ar               1136 drivers/net/wireless/ath/carl9170/usb.c 	if (!ar)
ar               1139 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar               1146 drivers/net/wireless/ath/carl9170/usb.c 	struct ar9170 *ar = usb_get_intfdata(intf);
ar               1149 drivers/net/wireless/ath/carl9170/usb.c 	if (!ar)
ar               1152 drivers/net/wireless/ath/carl9170/usb.c 	usb_unpoison_anchored_urbs(&ar->rx_anch);
ar               1153 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_set_state(ar, CARL9170_STOPPED);
ar               1166 drivers/net/wireless/ath/carl9170/usb.c 	err = carl9170_usb_init_device(ar);
ar               1173 drivers/net/wireless/ath/carl9170/usb.c 	carl9170_usb_cancel_urbs(ar);
ar               2321 drivers/net/wireless/mac80211_hwsim.c 	struct mac80211_hwsim_data *ar = hw->priv;
ar               2324 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->tx_pkts;
ar               2325 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->tx_bytes;
ar               2326 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->rx_pkts;
ar               2327 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->rx_bytes;
ar               2328 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->tx_dropped;
ar               2329 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->tx_failed;
ar               2330 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->ps;
ar               2331 drivers/net/wireless/mac80211_hwsim.c 	data[i++] = ar->group;
ar                906 drivers/scsi/esas2r/esas2r_main.c 	struct esas2r_request *ar = *abort_request;
ar                923 drivers/scsi/esas2r/esas2r_main.c 				ar = esas2r_alloc_request(a);
ar                924 drivers/scsi/esas2r/esas2r_main.c 				if (ar == NULL) {
ar                936 drivers/scsi/esas2r/esas2r_main.c 				ar->sense_len = 0;
ar                937 drivers/scsi/esas2r/esas2r_main.c 				ar->vrq->scsi.length = 0;
ar                938 drivers/scsi/esas2r/esas2r_main.c 				ar->target_id = rq->target_id;
ar                939 drivers/scsi/esas2r/esas2r_main.c 				ar->vrq->scsi.flags |= cpu_to_le32(
ar                942 drivers/scsi/esas2r/esas2r_main.c 				memset(ar->vrq->scsi.cdb, 0,
ar                943 drivers/scsi/esas2r/esas2r_main.c 				       sizeof(ar->vrq->scsi.cdb));
ar                945 drivers/scsi/esas2r/esas2r_main.c 				ar->vrq->scsi.flags |= cpu_to_le32(
ar                947 drivers/scsi/esas2r/esas2r_main.c 				ar->vrq->scsi.u.abort_handle =
ar               2653 drivers/scsi/megaraid/megaraid_sas.h u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_DRV_RAID_MAP_ALL *map);
ar                119 drivers/scsi/megaraid/megaraid_sas_fp.c u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_DRV_RAID_MAP_ALL *map)
ar                121 drivers/scsi/megaraid/megaraid_sas_fp.c 	return le16_to_cpu(map->raidMap.arMapInfo[ar].pd[arm]);
ar                134 drivers/staging/media/meson/vdec/codec_mpeg12.c 	u32 ar = seq & MPEG2_SEQ_DAR_MASK;
ar                136 drivers/staging/media/meson/vdec/codec_mpeg12.c 	switch (ar) {
ar                383 drivers/video/fbdev/core/svgalib.c 	u16 am, an, ar;
ar                388 drivers/video/fbdev/core/svgalib.c 	ar = pll->r_max;
ar                389 drivers/video/fbdev/core/svgalib.c 	f_vco = f_wanted << ar;
ar                392 drivers/video/fbdev/core/svgalib.c 	if ((f_vco >> ar) != f_wanted)
ar                398 drivers/video/fbdev/core/svgalib.c 	while ((ar > pll->r_min) && (f_vco > pll->f_vco_max)) {
ar                399 drivers/video/fbdev/core/svgalib.c 		ar--;
ar                410 drivers/video/fbdev/core/svgalib.c 	*r = ar;
ar                433 drivers/video/fbdev/core/svgalib.c 	pr_debug("fb%d: found frequency: %d kHz (VCO %d kHz)\n", node, (int) (f_current >> ar), (int) f_current);
ar                655 fs/ext4/balloc.c 	struct ext4_allocation_request ar;
ar                658 fs/ext4/balloc.c 	memset(&ar, 0, sizeof(ar));
ar                660 fs/ext4/balloc.c 	ar.inode = inode;
ar                661 fs/ext4/balloc.c 	ar.goal = goal;
ar                662 fs/ext4/balloc.c 	ar.len = count ? *count : 1;
ar                663 fs/ext4/balloc.c 	ar.flags = flags;
ar                665 fs/ext4/balloc.c 	ret = ext4_mb_new_blocks(handle, &ar, errp);
ar                667 fs/ext4/balloc.c 		*count = ar.len;
ar                674 fs/ext4/balloc.c 				EXT4_C2B(EXT4_SB(inode->i_sb), ar.len));
ar               4277 fs/ext4/extents.c 	struct ext4_allocation_request ar;
ar               4392 fs/ext4/extents.c 		ar.len = allocated = map->m_len;
ar               4399 fs/ext4/extents.c 	ar.lleft = map->m_lblk;
ar               4400 fs/ext4/extents.c 	err = ext4_ext_search_left(inode, path, &ar.lleft, &ar.pleft);
ar               4403 fs/ext4/extents.c 	ar.lright = map->m_lblk;
ar               4405 fs/ext4/extents.c 	err = ext4_ext_search_right(inode, path, &ar.lright, &ar.pright, &ex2);
ar               4413 fs/ext4/extents.c 		ar.len = allocated = map->m_len;
ar               4441 fs/ext4/extents.c 	ar.inode = inode;
ar               4442 fs/ext4/extents.c 	ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk);
ar               4443 fs/ext4/extents.c 	ar.logical = map->m_lblk;
ar               4453 fs/ext4/extents.c 	ar.len = EXT4_NUM_B2C(sbi, offset+allocated);
ar               4454 fs/ext4/extents.c 	ar.goal -= offset;
ar               4455 fs/ext4/extents.c 	ar.logical -= offset;
ar               4457 fs/ext4/extents.c 		ar.flags = EXT4_MB_HINT_DATA;
ar               4460 fs/ext4/extents.c 		ar.flags = 0;
ar               4462 fs/ext4/extents.c 		ar.flags |= EXT4_MB_HINT_NOPREALLOC;
ar               4464 fs/ext4/extents.c 		ar.flags |= EXT4_MB_DELALLOC_RESERVED;
ar               4466 fs/ext4/extents.c 		ar.flags |= EXT4_MB_USE_RESERVED;
ar               4467 fs/ext4/extents.c 	newblock = ext4_mb_new_blocks(handle, &ar, &err);
ar               4471 fs/ext4/extents.c 		  ar.goal, newblock, allocated);
ar               4473 fs/ext4/extents.c 	allocated_clusters = ar.len;
ar               4474 fs/ext4/extents.c 	ar.len = EXT4_C2B(sbi, ar.len) - offset;
ar               4475 fs/ext4/extents.c 	if (ar.len > allocated)
ar               4476 fs/ext4/extents.c 		ar.len = allocated;
ar               4481 fs/ext4/extents.c 	newex.ee_len = cpu_to_le16(ar.len);
ar               4491 fs/ext4/extents.c 					 path, ar.len);
ar                322 fs/ext4/indirect.c 			     struct ext4_allocation_request *ar,
ar                333 fs/ext4/indirect.c 			new_blocks[i] = ext4_mb_new_blocks(handle, ar, &err);
ar                335 fs/ext4/indirect.c 			ar->goal = new_blocks[i] = ext4_new_meta_blocks(handle,
ar                336 fs/ext4/indirect.c 					ar->inode, ar->goal,
ar                337 fs/ext4/indirect.c 					ar->flags & EXT4_MB_DELALLOC_RESERVED,
ar                347 fs/ext4/indirect.c 		bh = branch[i].bh = sb_getblk(ar->inode->i_sb, new_blocks[i-1]);
ar                365 fs/ext4/indirect.c 			len = ar->len;
ar                374 fs/ext4/indirect.c 		err = ext4_handle_dirty_metadata(handle, ar->inode, bh);
ar                388 fs/ext4/indirect.c 			ext4_forget(handle, 1, ar->inode, branch[i].bh,
ar                390 fs/ext4/indirect.c 		ext4_free_blocks(handle, ar->inode, NULL, new_blocks[i],
ar                391 fs/ext4/indirect.c 				 (i == indirect_blks) ? ar->len : 1, 0);
ar                408 fs/ext4/indirect.c 			      struct ext4_allocation_request *ar,
ar                434 fs/ext4/indirect.c 	if (num == 0 && ar->len > 1) {
ar                436 fs/ext4/indirect.c 		for (i = 1; i < ar->len; i++)
ar                453 fs/ext4/indirect.c 		err = ext4_handle_dirty_metadata(handle, ar->inode, where->bh);
ar                460 fs/ext4/indirect.c 		ext4_mark_inode_dirty(handle, ar->inode);
ar                472 fs/ext4/indirect.c 		ext4_free_blocks(handle, ar->inode, where[i].bh, 0, 1,
ar                475 fs/ext4/indirect.c 	ext4_free_blocks(handle, ar->inode, NULL, le32_to_cpu(where[num].key),
ar                476 fs/ext4/indirect.c 			 ar->len, 0);
ar                513 fs/ext4/indirect.c 	struct ext4_allocation_request ar;
ar                588 fs/ext4/indirect.c 	memset(&ar, 0, sizeof(ar));
ar                589 fs/ext4/indirect.c 	ar.inode = inode;
ar                590 fs/ext4/indirect.c 	ar.logical = map->m_lblk;
ar                592 fs/ext4/indirect.c 		ar.flags = EXT4_MB_HINT_DATA;
ar                594 fs/ext4/indirect.c 		ar.flags |= EXT4_MB_DELALLOC_RESERVED;
ar                596 fs/ext4/indirect.c 		ar.flags |= EXT4_MB_USE_RESERVED;
ar                598 fs/ext4/indirect.c 	ar.goal = ext4_find_goal(inode, map->m_lblk, partial);
ar                607 fs/ext4/indirect.c 	ar.len = ext4_blks_to_allocate(partial, indirect_blks,
ar                613 fs/ext4/indirect.c 	err = ext4_alloc_branch(handle, &ar, indirect_blks,
ar                624 fs/ext4/indirect.c 		err = ext4_splice_branch(handle, &ar, partial, indirect_blks);
ar                631 fs/ext4/indirect.c 	count = ar.len;
ar               3083 fs/ext4/mballoc.c 				struct ext4_allocation_request *ar)
ar               3168 fs/ext4/mballoc.c 	if (ar->pleft && start <= ar->lleft) {
ar               3169 fs/ext4/mballoc.c 		size -= ar->lleft + 1 - start;
ar               3170 fs/ext4/mballoc.c 		start = ar->lleft + 1;
ar               3172 fs/ext4/mballoc.c 	if (ar->pright && start + size - 1 >= ar->lright)
ar               3173 fs/ext4/mballoc.c 		size -= start + size - ar->lright;
ar               3257 fs/ext4/mballoc.c 	if (ar->pright && (ar->lright == (start + size))) {
ar               3259 fs/ext4/mballoc.c 		ext4_get_group_no_and_offset(ac->ac_sb, ar->pright - size,
ar               3264 fs/ext4/mballoc.c 	if (ar->pleft && (ar->lleft + 1 == start)) {
ar               3266 fs/ext4/mballoc.c 		ext4_get_group_no_and_offset(ac->ac_sb, ar->pleft + 1,
ar               4237 fs/ext4/mballoc.c 				struct ext4_allocation_request *ar)
ar               4239 fs/ext4/mballoc.c 	struct super_block *sb = ar->inode->i_sb;
ar               4248 fs/ext4/mballoc.c 	len = ar->len;
ar               4255 fs/ext4/mballoc.c 	goal = ar->goal;
ar               4262 fs/ext4/mballoc.c 	ac->ac_b_ex.fe_logical = EXT4_LBLK_CMASK(sbi, ar->logical);
ar               4265 fs/ext4/mballoc.c 	ac->ac_inode = ar->inode;
ar               4271 fs/ext4/mballoc.c 	ac->ac_flags = ar->flags;
ar               4279 fs/ext4/mballoc.c 			(unsigned) ar->len, (unsigned) ar->logical,
ar               4280 fs/ext4/mballoc.c 			(unsigned) ar->goal, ac->ac_flags, ac->ac_2order,
ar               4281 fs/ext4/mballoc.c 			(unsigned) ar->lleft, (unsigned) ar->pleft,
ar               4282 fs/ext4/mballoc.c 			(unsigned) ar->lright, (unsigned) ar->pright,
ar               4283 fs/ext4/mballoc.c 			inode_is_open_for_write(ar->inode) ? "" : "non-");
ar               4485 fs/ext4/mballoc.c 				struct ext4_allocation_request *ar, int *errp)
ar               4496 fs/ext4/mballoc.c 	sb = ar->inode->i_sb;
ar               4499 fs/ext4/mballoc.c 	trace_ext4_request_blocks(ar);
ar               4502 fs/ext4/mballoc.c 	if (ext4_is_quota_file(ar->inode))
ar               4503 fs/ext4/mballoc.c 		ar->flags |= EXT4_MB_USE_ROOT_BLOCKS;
ar               4505 fs/ext4/mballoc.c 	if ((ar->flags & EXT4_MB_DELALLOC_RESERVED) == 0) {
ar               4510 fs/ext4/mballoc.c 		while (ar->len &&
ar               4511 fs/ext4/mballoc.c 			ext4_claim_free_clusters(sbi, ar->len, ar->flags)) {
ar               4515 fs/ext4/mballoc.c 			ar->len = ar->len >> 1;
ar               4517 fs/ext4/mballoc.c 		if (!ar->len) {
ar               4521 fs/ext4/mballoc.c 		reserv_clstrs = ar->len;
ar               4522 fs/ext4/mballoc.c 		if (ar->flags & EXT4_MB_USE_ROOT_BLOCKS) {
ar               4523 fs/ext4/mballoc.c 			dquot_alloc_block_nofail(ar->inode,
ar               4524 fs/ext4/mballoc.c 						 EXT4_C2B(sbi, ar->len));
ar               4526 fs/ext4/mballoc.c 			while (ar->len &&
ar               4527 fs/ext4/mballoc.c 				dquot_alloc_block(ar->inode,
ar               4528 fs/ext4/mballoc.c 						  EXT4_C2B(sbi, ar->len))) {
ar               4530 fs/ext4/mballoc.c 				ar->flags |= EXT4_MB_HINT_NOPREALLOC;
ar               4531 fs/ext4/mballoc.c 				ar->len--;
ar               4534 fs/ext4/mballoc.c 		inquota = ar->len;
ar               4535 fs/ext4/mballoc.c 		if (ar->len == 0) {
ar               4543 fs/ext4/mballoc.c 		ar->len = 0;
ar               4548 fs/ext4/mballoc.c 	*errp = ext4_mb_initialize_context(ac, ar);
ar               4550 fs/ext4/mballoc.c 		ar->len = 0;
ar               4557 fs/ext4/mballoc.c 		ext4_mb_normalize_request(ac, ar);
ar               4583 fs/ext4/mballoc.c 			ar->len = ac->ac_b_ex.fe_len;
ar               4595 fs/ext4/mballoc.c 		ar->len = 0;
ar               4602 fs/ext4/mballoc.c 	if (inquota && ar->len < inquota)
ar               4603 fs/ext4/mballoc.c 		dquot_free_block(ar->inode, EXT4_C2B(sbi, inquota - ar->len));
ar               4604 fs/ext4/mballoc.c 	if (!ar->len) {
ar               4605 fs/ext4/mballoc.c 		if ((ar->flags & EXT4_MB_DELALLOC_RESERVED) == 0)
ar               4611 fs/ext4/mballoc.c 	trace_ext4_allocate_blocks(ar, (unsigned long long)block);
ar                742 fs/libfs.c     	struct simple_transaction_argresp *ar = file->private_data;
ar                751 fs/libfs.c     	ar->size = n;
ar                757 fs/libfs.c     	struct simple_transaction_argresp *ar;
ar                763 fs/libfs.c     	ar = (struct simple_transaction_argresp *)get_zeroed_page(GFP_KERNEL);
ar                764 fs/libfs.c     	if (!ar)
ar                772 fs/libfs.c     		free_page((unsigned long)ar);
ar                776 fs/libfs.c     	file->private_data = ar;
ar                780 fs/libfs.c     	if (copy_from_user(ar->data, buf, size))
ar                783 fs/libfs.c     	return ar->data;
ar                789 fs/libfs.c     	struct simple_transaction_argresp *ar = file->private_data;
ar                791 fs/libfs.c     	if (!ar)
ar                793 fs/libfs.c     	return simple_read_from_buffer(buf, size, pos, ar->data, ar->size);
ar                 46 include/sound/sof/xtensa.h 	uint32_t ar[];
ar                771 include/trace/events/ext4.h 	TP_PROTO(struct ext4_allocation_request *ar),
ar                773 include/trace/events/ext4.h 	TP_ARGS(ar),
ar                789 include/trace/events/ext4.h 		__entry->dev	= ar->inode->i_sb->s_dev;
ar                790 include/trace/events/ext4.h 		__entry->ino	= ar->inode->i_ino;
ar                791 include/trace/events/ext4.h 		__entry->len	= ar->len;
ar                792 include/trace/events/ext4.h 		__entry->logical = ar->logical;
ar                793 include/trace/events/ext4.h 		__entry->goal	= ar->goal;
ar                794 include/trace/events/ext4.h 		__entry->lleft	= ar->lleft;
ar                795 include/trace/events/ext4.h 		__entry->lright	= ar->lright;
ar                796 include/trace/events/ext4.h 		__entry->pleft	= ar->pleft;
ar                797 include/trace/events/ext4.h 		__entry->pright	= ar->pright;
ar                798 include/trace/events/ext4.h 		__entry->flags	= ar->flags;
ar                811 include/trace/events/ext4.h 	TP_PROTO(struct ext4_allocation_request *ar, unsigned long long block),
ar                813 include/trace/events/ext4.h 	TP_ARGS(ar, block),
ar                830 include/trace/events/ext4.h 		__entry->dev	= ar->inode->i_sb->s_dev;
ar                831 include/trace/events/ext4.h 		__entry->ino	= ar->inode->i_ino;
ar                833 include/trace/events/ext4.h 		__entry->len	= ar->len;
ar                834 include/trace/events/ext4.h 		__entry->logical = ar->logical;
ar                835 include/trace/events/ext4.h 		__entry->goal	= ar->goal;
ar                836 include/trace/events/ext4.h 		__entry->lleft	= ar->lleft;
ar                837 include/trace/events/ext4.h 		__entry->lright	= ar->lright;
ar                838 include/trace/events/ext4.h 		__entry->pleft	= ar->pleft;
ar                839 include/trace/events/ext4.h 		__entry->pright	= ar->pright;
ar                840 include/trace/events/ext4.h 		__entry->flags	= ar->flags;
ar                385 include/uapi/linux/kvm.h 			__u8 ar;
ar                471 include/uapi/linux/kvm.h 	__u8 ar;		/* the access register number */
ar                266 net/mac80211/rc80211_minstrel.c 	struct ieee80211_tx_rate *ar = info->status.rates;
ar                273 net/mac80211/rc80211_minstrel.c 		if (ar[i].idx < 0)
ar                276 net/mac80211/rc80211_minstrel.c 		ndx = rix_to_ndx(mi, ar[i].idx);
ar                280 net/mac80211/rc80211_minstrel.c 		mi->r[ndx].stats.attempts += ar[i].count;
ar                282 net/mac80211/rc80211_minstrel.c 		if ((i != IEEE80211_TX_MAX_RATES - 1) && (ar[i + 1].idx < 0))
ar                889 net/mac80211/rc80211_minstrel_ht.c 	struct ieee80211_tx_rate *ar = info->status.rates;
ar                929 net/mac80211/rc80211_minstrel_ht.c 	last = !minstrel_ht_txstat_valid(mp, &ar[0]);
ar                932 net/mac80211/rc80211_minstrel_ht.c 		       !minstrel_ht_txstat_valid(mp, &ar[i + 1]);
ar                934 net/mac80211/rc80211_minstrel_ht.c 		rate = minstrel_ht_get_stats(mp, mi, &ar[i]);
ar                941 net/mac80211/rc80211_minstrel_ht.c 		rate->attempts += ar[i].count * info->status.ampdu_len;
ar                 93 scripts/kallsyms.c 	struct addr_range *ar;
ar                 96 scripts/kallsyms.c 		ar = &ranges[i];
ar                 98 scripts/kallsyms.c 		if (strcmp(sym, ar->start_sym) == 0) {
ar                 99 scripts/kallsyms.c 			ar->start = addr;
ar                101 scripts/kallsyms.c 		} else if (strcmp(sym, ar->end_sym) == 0) {
ar                102 scripts/kallsyms.c 			ar->end = addr;
ar                181 scripts/kallsyms.c 	struct addr_range *ar;
ar                184 scripts/kallsyms.c 		ar = &ranges[i];
ar                186 scripts/kallsyms.c 		if (s->addr >= ar->start && s->addr <= ar->end)
ar               1156 security/apparmor/label.c 	struct aa_label *label, *ar = NULL, *br = NULL;
ar               1163 security/apparmor/label.c 		a = ar = aa_get_newest_label(a);
ar               1170 security/apparmor/label.c 	aa_put_label(ar);
ar                160 sound/isa/msnd/msnd_pinnacle_mixer.c #define update_potm(d, s, ar)						\
ar                168 sound/isa/msnd/msnd_pinnacle_mixer.c 		if (snd_msnd_send_word(dev, 0, 0, ar) == 0)		\
ar                172 sound/isa/msnd/msnd_pinnacle_mixer.c #define update_pot(d, s, ar)						\
ar                178 sound/isa/msnd/msnd_pinnacle_mixer.c 		if (snd_msnd_send_word(dev, 0, 0, ar) == 0)		\
ar                385 tools/include/uapi/linux/kvm.h 			__u8 ar;
ar                471 tools/include/uapi/linux/kvm.h 	__u8 ar;		/* the access register number */
ar                 47 tools/perf/arch/s390/util/auxtrace.c cpumsf_recording_options(struct auxtrace_record *ar __maybe_unused,
ar                 62 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                 80 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                 92 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                102 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                113 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                123 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                133 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                143 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 0;
ar                157 tools/testing/selftests/kvm/s390x/memop.c 	ksmo.ar = 17;
ar                 65 tools/testing/selftests/x86/ldt_gdt.c 	uint32_t has_limit = 0, has_ar = 0, limit, ar;
ar                 78 tools/testing/selftests/x86/ldt_gdt.c 	     : [ar] "=r" (ar), [has_ar] "+rm" (has_ar)
ar                 95 tools/testing/selftests/x86/ldt_gdt.c 	uint32_t has_limit = 0, has_ar = 0, limit, ar;
ar                108 tools/testing/selftests/x86/ldt_gdt.c 	     : [ar] "=r" (ar), [has_ar] "+rm" (has_ar)
ar                119 tools/testing/selftests/x86/ldt_gdt.c 	ar &= ~0xF0000;
ar                125 tools/testing/selftests/x86/ldt_gdt.c 	if (ar != expected_ar && ar != (expected_ar | AR_ACCESSED)) {
ar                127 tools/testing/selftests/x86/ldt_gdt.c 		       (ldt ? "LDT" : "GDT"), index, ar, expected_ar);
ar                135 tools/testing/selftests/x86/ldt_gdt.c 		       (ldt ? "LDT" : "GDT"), index, ar, limit);
ar                139 tools/testing/selftests/x86/ldt_gdt.c static bool install_valid_mode(const struct user_desc *d, uint32_t ar,
ar                172 tools/testing/selftests/x86/ldt_gdt.c 		check_valid_segment(desc.entry_number, ldt, ar, limit, true);
ar                189 tools/testing/selftests/x86/ldt_gdt.c static bool install_valid(const struct user_desc *desc, uint32_t ar)
ar                191 tools/testing/selftests/x86/ldt_gdt.c 	bool ret = install_valid_mode(desc, ar, false, true);
ar                196 tools/testing/selftests/x86/ldt_gdt.c 		install_valid_mode(desc, ar, false, false);
ar                340 tools/testing/selftests/x86/sigreturn.c 	uint32_t valid = 0, ar;
ar                345 tools/testing/selftests/x86/sigreturn.c 	     : [ar] "=r" (ar), [valid] "+rm" (valid)
ar                351 tools/testing/selftests/x86/sigreturn.c 	bool db = (ar & (1 << 22));
ar                352 tools/testing/selftests/x86/sigreturn.c 	bool l = (ar & (1 << 21));
ar                354 tools/testing/selftests/x86/sigreturn.c 	if (!(ar & (1<<11)))
ar                373 tools/testing/selftests/x86/sigreturn.c 	uint32_t valid = 0, ar;
ar                378 tools/testing/selftests/x86/sigreturn.c 	     : [ar] "=r" (ar), [valid] "+rm" (valid)
ar                384 tools/testing/selftests/x86/sigreturn.c 	if ((ar & AR_TYPE_MASK) != AR_TYPE_RWDATA &&
ar                385 tools/testing/selftests/x86/sigreturn.c 	    (ar & AR_TYPE_MASK) != AR_TYPE_RWDATA_EXPDOWN)
ar                388 tools/testing/selftests/x86/sigreturn.c 	return (ar & AR_P);