wcn                30 drivers/net/wireless/ath/wcn36xx/debug.c 	struct wcn36xx *wcn = file->private_data;
wcn                35 drivers/net/wireless/ath/wcn36xx/debug.c 	list_for_each_entry(vif_priv, &wcn->vif_list, list) {
wcn                55 drivers/net/wireless/ath/wcn36xx/debug.c 	struct wcn36xx *wcn = file->private_data;
wcn                70 drivers/net/wireless/ath/wcn36xx/debug.c 		list_for_each_entry(vif_priv, &wcn->vif_list, list) {
wcn                73 drivers/net/wireless/ath/wcn36xx/debug.c 				wcn36xx_enable_keep_alive_null_packet(wcn, vif);
wcn                74 drivers/net/wireless/ath/wcn36xx/debug.c 				wcn36xx_pmc_enter_bmps_state(wcn, vif);
wcn                81 drivers/net/wireless/ath/wcn36xx/debug.c 		list_for_each_entry(vif_priv, &wcn->vif_list, list) {
wcn                84 drivers/net/wireless/ath/wcn36xx/debug.c 				wcn36xx_pmc_exit_bmps_state(wcn, vif);
wcn               102 drivers/net/wireless/ath/wcn36xx/debug.c 	struct wcn36xx *wcn = file->private_data;
wcn               129 drivers/net/wireless/ath/wcn36xx/debug.c 	wcn36xx_smd_dump_cmd_req(wcn, arg[0], arg[1], arg[2], arg[3], arg[4]);
wcn               153 drivers/net/wireless/ath/wcn36xx/debug.c void wcn36xx_debugfs_init(struct wcn36xx *wcn)
wcn               155 drivers/net/wireless/ath/wcn36xx/debug.c 	struct wcn36xx_dfs_entry *dfs = &wcn->dfs;
wcn               158 drivers/net/wireless/ath/wcn36xx/debug.c 					  wcn->hw->wiphy->debugfsdir);
wcn               164 drivers/net/wireless/ath/wcn36xx/debug.c 	ADD_FILE(bmps_switcher, 0600, &fops_wcn36xx_bmps, wcn);
wcn               165 drivers/net/wireless/ath/wcn36xx/debug.c 	ADD_FILE(dump, 0200, &fops_wcn36xx_dump, wcn);
wcn               168 drivers/net/wireless/ath/wcn36xx/debug.c void wcn36xx_debugfs_exit(struct wcn36xx *wcn)
wcn               170 drivers/net/wireless/ath/wcn36xx/debug.c 	struct wcn36xx_dfs_entry *dfs = &wcn->dfs;
wcn                36 drivers/net/wireless/ath/wcn36xx/debug.h void wcn36xx_debugfs_init(struct wcn36xx *wcn);
wcn                37 drivers/net/wireless/ath/wcn36xx/debug.h void wcn36xx_debugfs_exit(struct wcn36xx *wcn);
wcn                40 drivers/net/wireless/ath/wcn36xx/debug.h static inline void wcn36xx_debugfs_init(struct wcn36xx *wcn)
wcn                43 drivers/net/wireless/ath/wcn36xx/debug.h static inline void wcn36xx_debugfs_exit(struct wcn36xx *wcn)
wcn                30 drivers/net/wireless/ath/wcn36xx/dxe.c static void wcn36xx_ccu_write_register(struct wcn36xx *wcn, int addr, int data)
wcn                36 drivers/net/wireless/ath/wcn36xx/dxe.c 	writel(data, wcn->ccu_base + addr);
wcn                39 drivers/net/wireless/ath/wcn36xx/dxe.c static void wcn36xx_dxe_write_register(struct wcn36xx *wcn, int addr, int data)
wcn                45 drivers/net/wireless/ath/wcn36xx/dxe.c 	writel(data, wcn->dxe_base + addr);
wcn                48 drivers/net/wireless/ath/wcn36xx/dxe.c static void wcn36xx_dxe_read_register(struct wcn36xx *wcn, int addr, int *data)
wcn                50 drivers/net/wireless/ath/wcn36xx/dxe.c 	*data = readl(wcn->dxe_base + addr);
wcn               101 drivers/net/wireless/ath/wcn36xx/dxe.c int wcn36xx_dxe_alloc_ctl_blks(struct wcn36xx *wcn)
wcn               105 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.ch_type = WCN36XX_DXE_CH_TX_L;
wcn               106 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.ch_type = WCN36XX_DXE_CH_TX_H;
wcn               107 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_rx_l_ch.ch_type = WCN36XX_DXE_CH_RX_L;
wcn               108 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_rx_h_ch.ch_type = WCN36XX_DXE_CH_RX_H;
wcn               110 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.desc_num = WCN36XX_DXE_CH_DESC_NUMB_TX_L;
wcn               111 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.desc_num = WCN36XX_DXE_CH_DESC_NUMB_TX_H;
wcn               112 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_rx_l_ch.desc_num = WCN36XX_DXE_CH_DESC_NUMB_RX_L;
wcn               113 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_rx_h_ch.desc_num = WCN36XX_DXE_CH_DESC_NUMB_RX_H;
wcn               115 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.dxe_wq =  WCN36XX_DXE_WQ_TX_L;
wcn               116 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.dxe_wq =  WCN36XX_DXE_WQ_TX_H;
wcn               118 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.ctrl_bd = WCN36XX_DXE_CTRL_TX_L_BD;
wcn               119 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.ctrl_bd = WCN36XX_DXE_CTRL_TX_H_BD;
wcn               121 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.ctrl_skb = WCN36XX_DXE_CTRL_TX_L_SKB;
wcn               122 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.ctrl_skb = WCN36XX_DXE_CTRL_TX_H_SKB;
wcn               124 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.reg_ctrl = WCN36XX_DXE_REG_CTL_TX_L;
wcn               125 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.reg_ctrl = WCN36XX_DXE_REG_CTL_TX_H;
wcn               127 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_l_ch.def_ctrl = WCN36XX_DXE_CH_DEFAULT_CTL_TX_L;
wcn               128 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->dxe_tx_h_ch.def_ctrl = WCN36XX_DXE_CH_DEFAULT_CTL_TX_H;
wcn               131 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_allocate_ctl_block(&wcn->dxe_tx_l_ch);
wcn               134 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_allocate_ctl_block(&wcn->dxe_tx_h_ch);
wcn               137 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_allocate_ctl_block(&wcn->dxe_rx_l_ch);
wcn               140 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_allocate_ctl_block(&wcn->dxe_rx_h_ch);
wcn               145 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = qcom_smem_state_update_bits(wcn->tx_enable_state,
wcn               156 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_free_ctl_blks(wcn);
wcn               160 drivers/net/wireless/ath/wcn36xx/dxe.c void wcn36xx_dxe_free_ctl_blks(struct wcn36xx *wcn)
wcn               162 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_free_ctl_block(&wcn->dxe_tx_l_ch);
wcn               163 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_free_ctl_block(&wcn->dxe_tx_h_ch);
wcn               164 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_free_ctl_block(&wcn->dxe_rx_l_ch);
wcn               165 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_free_ctl_block(&wcn->dxe_rx_h_ch);
wcn               259 drivers/net/wireless/ath/wcn36xx/dxe.c static int wcn36xx_dxe_enable_ch_int(struct wcn36xx *wcn, u16 wcn_ch)
wcn               263 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_read_register(wcn,
wcn               269 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               300 drivers/net/wireless/ath/wcn36xx/dxe.c static int wcn36xx_dxe_ch_alloc_skb(struct wcn36xx *wcn,
wcn               309 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_fill_skb(wcn->dev, cur_ctl, GFP_KERNEL);
wcn               316 drivers/net/wireless/ath/wcn36xx/dxe.c static void wcn36xx_dxe_ch_free_skbs(struct wcn36xx *wcn,
wcn               328 drivers/net/wireless/ath/wcn36xx/dxe.c void wcn36xx_dxe_tx_ack_ind(struct wcn36xx *wcn, u32 status)
wcn               334 drivers/net/wireless/ath/wcn36xx/dxe.c 	spin_lock_irqsave(&wcn->dxe_lock, flags);
wcn               335 drivers/net/wireless/ath/wcn36xx/dxe.c 	skb = wcn->tx_ack_skb;
wcn               336 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->tx_ack_skb = NULL;
wcn               337 drivers/net/wireless/ath/wcn36xx/dxe.c 	spin_unlock_irqrestore(&wcn->dxe_lock, flags);
wcn               351 drivers/net/wireless/ath/wcn36xx/dxe.c 	ieee80211_tx_status_irqsafe(wcn->hw, skb);
wcn               352 drivers/net/wireless/ath/wcn36xx/dxe.c 	ieee80211_wake_queues(wcn->hw);
wcn               355 drivers/net/wireless/ath/wcn36xx/dxe.c static void reap_tx_dxes(struct wcn36xx *wcn, struct wcn36xx_dxe_ch *ch)
wcn               374 drivers/net/wireless/ath/wcn36xx/dxe.c 			dma_unmap_single(wcn->dev, ctl->desc->src_addr_l,
wcn               379 drivers/net/wireless/ath/wcn36xx/dxe.c 				ieee80211_free_txskb(wcn->hw, ctl->skb);
wcn               382 drivers/net/wireless/ath/wcn36xx/dxe.c 			if (wcn->queues_stopped) {
wcn               383 drivers/net/wireless/ath/wcn36xx/dxe.c 				wcn->queues_stopped = false;
wcn               384 drivers/net/wireless/ath/wcn36xx/dxe.c 				ieee80211_wake_queues(wcn->hw);
wcn               398 drivers/net/wireless/ath/wcn36xx/dxe.c 	struct wcn36xx *wcn = (struct wcn36xx *)dev;
wcn               401 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_INT_SRC_RAW_REG, &int_src);
wcn               404 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_read_register(wcn,
wcn               408 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_write_register(wcn,
wcn               413 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_dxe_write_register(wcn,
wcn               422 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_dxe_write_register(wcn,
wcn               428 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_dxe_write_register(wcn,
wcn               438 drivers/net/wireless/ath/wcn36xx/dxe.c 			reap_tx_dxes(wcn, &wcn->dxe_tx_h_ch);
wcn               442 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_read_register(wcn,
wcn               446 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_write_register(wcn,
wcn               452 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_dxe_write_register(wcn,
wcn               461 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_dxe_write_register(wcn,
wcn               467 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_dxe_write_register(wcn,
wcn               477 drivers/net/wireless/ath/wcn36xx/dxe.c 			reap_tx_dxes(wcn, &wcn->dxe_tx_l_ch);
wcn               485 drivers/net/wireless/ath/wcn36xx/dxe.c 	struct wcn36xx *wcn = (struct wcn36xx *)dev;
wcn               487 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_rx_frame(wcn);
wcn               492 drivers/net/wireless/ath/wcn36xx/dxe.c static int wcn36xx_dxe_request_irqs(struct wcn36xx *wcn)
wcn               496 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = request_irq(wcn->tx_irq, wcn36xx_irq_tx_complete,
wcn               497 drivers/net/wireless/ath/wcn36xx/dxe.c 			  IRQF_TRIGGER_HIGH, "wcn36xx_tx", wcn);
wcn               503 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = request_irq(wcn->rx_irq, wcn36xx_irq_rx_ready, IRQF_TRIGGER_HIGH,
wcn               504 drivers/net/wireless/ath/wcn36xx/dxe.c 			  "wcn36xx_rx", wcn);
wcn               510 drivers/net/wireless/ath/wcn36xx/dxe.c 	enable_irq_wake(wcn->rx_irq);
wcn               515 drivers/net/wireless/ath/wcn36xx/dxe.c 	free_irq(wcn->tx_irq, wcn);
wcn               521 drivers/net/wireless/ath/wcn36xx/dxe.c static int wcn36xx_rx_handle_packets(struct wcn36xx *wcn,
wcn               535 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_read_register(wcn, status_reg, &int_reason);
wcn               536 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_0_INT_CLR, int_mask);
wcn               539 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_write_register(wcn,
wcn               547 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_write_register(wcn,
wcn               552 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_write_register(wcn,
wcn               568 drivers/net/wireless/ath/wcn36xx/dxe.c 		ret = wcn36xx_dxe_fill_skb(wcn->dev, ctl, GFP_ATOMIC);
wcn               573 drivers/net/wireless/ath/wcn36xx/dxe.c 			dma_unmap_single(wcn->dev, dma_addr, WCN36XX_PKT_SIZE,
wcn               575 drivers/net/wireless/ath/wcn36xx/dxe.c 			wcn36xx_rx_skb(wcn, skb);
wcn               582 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_ENCH_ADDR, en_mask);
wcn               591 drivers/net/wireless/ath/wcn36xx/dxe.c void wcn36xx_dxe_rx_frame(struct wcn36xx *wcn)
wcn               595 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_INT_SRC_RAW_REG, &int_src);
wcn               599 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_rx_handle_packets(wcn, &wcn->dxe_rx_l_ch,
wcn               607 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_rx_handle_packets(wcn, &wcn->dxe_rx_h_ch,
wcn               617 drivers/net/wireless/ath/wcn36xx/dxe.c int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn)
wcn               625 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->mgmt_mem_pool.chunk_size =	WCN36XX_BD_CHUNK_SIZE +
wcn               628 drivers/net/wireless/ath/wcn36xx/dxe.c 	s = wcn->mgmt_mem_pool.chunk_size * WCN36XX_DXE_CH_DESC_NUMB_TX_H;
wcn               629 drivers/net/wireless/ath/wcn36xx/dxe.c 	cpu_addr = dma_alloc_coherent(wcn->dev, s,
wcn               630 drivers/net/wireless/ath/wcn36xx/dxe.c 				      &wcn->mgmt_mem_pool.phy_addr,
wcn               635 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->mgmt_mem_pool.virt_addr = cpu_addr;
wcn               640 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->data_mem_pool.chunk_size = WCN36XX_BD_CHUNK_SIZE +
wcn               643 drivers/net/wireless/ath/wcn36xx/dxe.c 	s = wcn->data_mem_pool.chunk_size * WCN36XX_DXE_CH_DESC_NUMB_TX_L;
wcn               644 drivers/net/wireless/ath/wcn36xx/dxe.c 	cpu_addr = dma_alloc_coherent(wcn->dev, s,
wcn               645 drivers/net/wireless/ath/wcn36xx/dxe.c 				      &wcn->data_mem_pool.phy_addr,
wcn               650 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn->data_mem_pool.virt_addr = cpu_addr;
wcn               655 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_free_mem_pools(wcn);
wcn               660 drivers/net/wireless/ath/wcn36xx/dxe.c void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn)
wcn               662 drivers/net/wireless/ath/wcn36xx/dxe.c 	if (wcn->mgmt_mem_pool.virt_addr)
wcn               663 drivers/net/wireless/ath/wcn36xx/dxe.c 		dma_free_coherent(wcn->dev, wcn->mgmt_mem_pool.chunk_size *
wcn               665 drivers/net/wireless/ath/wcn36xx/dxe.c 				  wcn->mgmt_mem_pool.virt_addr,
wcn               666 drivers/net/wireless/ath/wcn36xx/dxe.c 				  wcn->mgmt_mem_pool.phy_addr);
wcn               668 drivers/net/wireless/ath/wcn36xx/dxe.c 	if (wcn->data_mem_pool.virt_addr) {
wcn               669 drivers/net/wireless/ath/wcn36xx/dxe.c 		dma_free_coherent(wcn->dev, wcn->data_mem_pool.chunk_size *
wcn               671 drivers/net/wireless/ath/wcn36xx/dxe.c 				  wcn->data_mem_pool.virt_addr,
wcn               672 drivers/net/wireless/ath/wcn36xx/dxe.c 				  wcn->data_mem_pool.phy_addr);
wcn               676 drivers/net/wireless/ath/wcn36xx/dxe.c int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
wcn               688 drivers/net/wireless/ath/wcn36xx/dxe.c 	ch = is_low ? &wcn->dxe_tx_l_ch : &wcn->dxe_tx_h_ch;
wcn               700 drivers/net/wireless/ath/wcn36xx/dxe.c 		ieee80211_stop_queues(wcn->hw);
wcn               701 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->queues_stopped = true;
wcn               733 drivers/net/wireless/ath/wcn36xx/dxe.c 	desc_skb->src_addr_l = dma_map_single(wcn->dev,
wcn               737 drivers/net/wireless/ath/wcn36xx/dxe.c 	if (dma_mapping_error(wcn->dev, desc_skb->src_addr_l)) {
wcn               738 drivers/net/wireless/ath/wcn36xx/dxe.c 		dev_err(wcn->dev, "unable to DMA map src_addr_l\n");
wcn               767 drivers/net/wireless/ath/wcn36xx/dxe.c 		qcom_smem_state_update_bits(wcn->tx_rings_empty_state,
wcn               774 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_dxe_write_register(wcn,
wcn               784 drivers/net/wireless/ath/wcn36xx/dxe.c int wcn36xx_dxe_init(struct wcn36xx *wcn)
wcn               789 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_REG_CSR_RESET, reg_data);
wcn               794 drivers/net/wireless/ath/wcn36xx/dxe.c 	if (wcn->is_pronto)
wcn               795 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_ccu_write_register(wcn, WCN36XX_CCU_DXE_INT_SELECT_PRONTO, reg_data);
wcn               797 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn36xx_ccu_write_register(wcn, WCN36XX_CCU_DXE_INT_SELECT_RIVA, reg_data);
wcn               802 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_tx_l_ch);
wcn               804 drivers/net/wireless/ath/wcn36xx/dxe.c 		dev_err(wcn->dev, "Error allocating descriptor\n");
wcn               807 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_init_tx_bd(&wcn->dxe_tx_l_ch, &wcn->data_mem_pool);
wcn               810 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_CH_NEXT_DESC_ADDR_TX_L,
wcn               811 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->dxe_tx_l_ch.head_blk_ctl->desc_phy_addr);
wcn               814 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               818 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_REG_CH_EN, &reg_data);
wcn               819 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_enable_ch_int(wcn, WCN36XX_INT_MASK_CHAN_TX_L);
wcn               824 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_tx_h_ch);
wcn               826 drivers/net/wireless/ath/wcn36xx/dxe.c 		dev_err(wcn->dev, "Error allocating descriptor\n");
wcn               830 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_init_tx_bd(&wcn->dxe_tx_h_ch, &wcn->mgmt_mem_pool);
wcn               833 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_CH_NEXT_DESC_ADDR_TX_H,
wcn               834 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->dxe_tx_h_ch.head_blk_ctl->desc_phy_addr);
wcn               837 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               841 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_REG_CH_EN, &reg_data);
wcn               844 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_enable_ch_int(wcn, WCN36XX_INT_MASK_CHAN_TX_H);
wcn               849 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_rx_l_ch);
wcn               851 drivers/net/wireless/ath/wcn36xx/dxe.c 		dev_err(wcn->dev, "Error allocating descriptor\n");
wcn               857 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_ch_alloc_skb(wcn, &wcn->dxe_rx_l_ch);
wcn               860 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_CH_NEXT_DESC_ADDR_RX_L,
wcn               861 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->dxe_rx_l_ch.head_blk_ctl->desc_phy_addr);
wcn               864 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               869 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               871 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->dxe_rx_l_ch.head_blk_ctl->desc->phy_next_l);
wcn               874 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               879 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_enable_ch_int(wcn, WCN36XX_INT_MASK_CHAN_RX_L);
wcn               884 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_init_descs(wcn->dev, &wcn->dxe_rx_h_ch);
wcn               886 drivers/net/wireless/ath/wcn36xx/dxe.c 		dev_err(wcn->dev, "Error allocating descriptor\n");
wcn               891 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_ch_alloc_skb(wcn, &wcn->dxe_rx_h_ch);
wcn               894 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_CH_NEXT_DESC_ADDR_RX_H,
wcn               895 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->dxe_rx_h_ch.head_blk_ctl->desc_phy_addr);
wcn               898 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               903 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               905 drivers/net/wireless/ath/wcn36xx/dxe.c 		 wcn->dxe_rx_h_ch.head_blk_ctl->desc->phy_next_l);
wcn               908 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_write_register(wcn,
wcn               913 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_enable_ch_int(wcn, WCN36XX_INT_MASK_CHAN_RX_H);
wcn               915 drivers/net/wireless/ath/wcn36xx/dxe.c 	ret = wcn36xx_dxe_request_irqs(wcn);
wcn               922 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_deinit_descs(wcn->dev, &wcn->dxe_rx_h_ch);
wcn               924 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_deinit_descs(wcn->dev, &wcn->dxe_rx_l_ch);
wcn               926 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_deinit_descs(wcn->dev, &wcn->dxe_tx_h_ch);
wcn               928 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_deinit_descs(wcn->dev, &wcn->dxe_tx_l_ch);
wcn               933 drivers/net/wireless/ath/wcn36xx/dxe.c void wcn36xx_dxe_deinit(struct wcn36xx *wcn)
wcn               935 drivers/net/wireless/ath/wcn36xx/dxe.c 	free_irq(wcn->tx_irq, wcn);
wcn               936 drivers/net/wireless/ath/wcn36xx/dxe.c 	free_irq(wcn->rx_irq, wcn);
wcn               938 drivers/net/wireless/ath/wcn36xx/dxe.c 	if (wcn->tx_ack_skb) {
wcn               939 drivers/net/wireless/ath/wcn36xx/dxe.c 		ieee80211_tx_status_irqsafe(wcn->hw, wcn->tx_ack_skb);
wcn               940 drivers/net/wireless/ath/wcn36xx/dxe.c 		wcn->tx_ack_skb = NULL;
wcn               943 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_ch_free_skbs(wcn, &wcn->dxe_rx_l_ch);
wcn               944 drivers/net/wireless/ath/wcn36xx/dxe.c 	wcn36xx_dxe_ch_free_skbs(wcn, &wcn->dxe_rx_h_ch);
wcn               456 drivers/net/wireless/ath/wcn36xx/dxe.h int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn);
wcn               457 drivers/net/wireless/ath/wcn36xx/dxe.h void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn);
wcn               458 drivers/net/wireless/ath/wcn36xx/dxe.h void wcn36xx_dxe_rx_frame(struct wcn36xx *wcn);
wcn               459 drivers/net/wireless/ath/wcn36xx/dxe.h int wcn36xx_dxe_alloc_ctl_blks(struct wcn36xx *wcn);
wcn               460 drivers/net/wireless/ath/wcn36xx/dxe.h void wcn36xx_dxe_free_ctl_blks(struct wcn36xx *wcn);
wcn               461 drivers/net/wireless/ath/wcn36xx/dxe.h int wcn36xx_dxe_init(struct wcn36xx *wcn);
wcn               462 drivers/net/wireless/ath/wcn36xx/dxe.h void wcn36xx_dxe_deinit(struct wcn36xx *wcn);
wcn               463 drivers/net/wireless/ath/wcn36xx/dxe.h int wcn36xx_dxe_init_channels(struct wcn36xx *wcn);
wcn               464 drivers/net/wireless/ath/wcn36xx/dxe.h int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
wcn               469 drivers/net/wireless/ath/wcn36xx/dxe.h void wcn36xx_dxe_tx_ack_ind(struct wcn36xx *wcn, u32 status);
wcn               259 drivers/net/wireless/ath/wcn36xx/main.c static void wcn36xx_feat_caps_info(struct wcn36xx *wcn)
wcn               264 drivers/net/wireless/ath/wcn36xx/main.c 		if (get_feat_caps(wcn->fw_feat_caps, i))
wcn               271 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               277 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_smd_open(wcn);
wcn               284 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_dxe_allocate_mem_pools(wcn);
wcn               290 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_dxe_alloc_ctl_blks(wcn);
wcn               296 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hal_buf = kmalloc(WCN36XX_HAL_BUF_SIZE, GFP_KERNEL);
wcn               297 drivers/net/wireless/ath/wcn36xx/main.c 	if (!wcn->hal_buf) {
wcn               303 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_smd_load_nv(wcn);
wcn               309 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_smd_start(wcn);
wcn               315 drivers/net/wireless/ath/wcn36xx/main.c 	if (!wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) {
wcn               316 drivers/net/wireless/ath/wcn36xx/main.c 		ret = wcn36xx_smd_feature_caps_exchange(wcn);
wcn               320 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_feat_caps_info(wcn);
wcn               324 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_dxe_init(wcn);
wcn               330 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_debugfs_init(wcn);
wcn               332 drivers/net/wireless/ath/wcn36xx/main.c 	INIT_LIST_HEAD(&wcn->vif_list);
wcn               333 drivers/net/wireless/ath/wcn36xx/main.c 	spin_lock_init(&wcn->dxe_lock);
wcn               338 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_stop(wcn);
wcn               340 drivers/net/wireless/ath/wcn36xx/main.c 	kfree(wcn->hal_buf);
wcn               342 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_dxe_free_ctl_blks(wcn);
wcn               344 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_dxe_free_mem_pools(wcn);
wcn               346 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_close(wcn);
wcn               353 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               357 drivers/net/wireless/ath/wcn36xx/main.c 	cancel_work_sync(&wcn->scan_work);
wcn               359 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->scan_lock);
wcn               360 drivers/net/wireless/ath/wcn36xx/main.c 	if (wcn->scan_req) {
wcn               365 drivers/net/wireless/ath/wcn36xx/main.c 		ieee80211_scan_completed(wcn->hw, &scan_info);
wcn               367 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->scan_req = NULL;
wcn               368 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->scan_lock);
wcn               370 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_debugfs_exit(wcn);
wcn               371 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_stop(wcn);
wcn               372 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_dxe_deinit(wcn);
wcn               373 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_close(wcn);
wcn               375 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_dxe_free_mem_pools(wcn);
wcn               376 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_dxe_free_ctl_blks(wcn);
wcn               378 drivers/net/wireless/ath/wcn36xx/main.c 	kfree(wcn->hal_buf);
wcn               383 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               389 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               392 drivers/net/wireless/ath/wcn36xx/main.c 		int ch = WCN36XX_HW_CHANNEL(wcn);
wcn               395 drivers/net/wireless/ath/wcn36xx/main.c 		list_for_each_entry(tmp, &wcn->vif_list, list) {
wcn               397 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_switch_channel(wcn, vif, ch);
wcn               402 drivers/net/wireless/ath/wcn36xx/main.c 		list_for_each_entry(tmp, &wcn->vif_list, list) {
wcn               406 drivers/net/wireless/ath/wcn36xx/main.c 					wcn36xx_pmc_enter_bmps_state(wcn, vif);
wcn               408 drivers/net/wireless/ath/wcn36xx/main.c 				wcn36xx_pmc_exit_bmps_state(wcn, vif);
wcn               413 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn               423 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               429 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               434 drivers/net/wireless/ath/wcn36xx/main.c 	list_for_each_entry(tmp, &wcn->vif_list, list) {
wcn               439 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_mc_list(wcn, vif, NULL);
wcn               441 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_mc_list(wcn, vif, fp);
wcn               444 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn               479 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               485 drivers/net/wireless/ath/wcn36xx/main.c 	if (wcn36xx_start_tx(wcn, sta_priv, skb))
wcn               486 drivers/net/wireless/ath/wcn36xx/main.c 		ieee80211_free_txskb(wcn->hw, skb);
wcn               494 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               508 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               551 drivers/net/wireless/ath/wcn36xx/main.c 				wcn36xx_smd_config_bss(wcn,
wcn               557 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_stakey(wcn,
wcn               564 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_bsskey(wcn,
wcn               576 drivers/net/wireless/ath/wcn36xx/main.c 					wcn36xx_smd_set_stakey(wcn,
wcn               589 drivers/net/wireless/ath/wcn36xx/main.c 				wcn36xx_smd_remove_bsskey(wcn,
wcn               599 drivers/net/wireless/ath/wcn36xx/main.c 				wcn36xx_smd_remove_stakey(wcn,
wcn               612 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn               619 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = container_of(work, struct wcn36xx, scan_work);
wcn               620 drivers/net/wireless/ath/wcn36xx/main.c 	struct cfg80211_scan_request *req = wcn->scan_req;
wcn               631 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_update_scan_params(wcn, channels, req->n_channels);
wcn               633 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_init_scan(wcn, HAL_SYS_MODE_SCAN);
wcn               635 drivers/net/wireless/ath/wcn36xx/main.c 		mutex_lock(&wcn->scan_lock);
wcn               636 drivers/net/wireless/ath/wcn36xx/main.c 		aborted = wcn->scan_aborted;
wcn               637 drivers/net/wireless/ath/wcn36xx/main.c 		mutex_unlock(&wcn->scan_lock);
wcn               642 drivers/net/wireless/ath/wcn36xx/main.c 		wcn->scan_freq = req->channels[i]->center_freq;
wcn               643 drivers/net/wireless/ath/wcn36xx/main.c 		wcn->scan_band = req->channels[i]->band;
wcn               645 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_start_scan(wcn, req->channels[i]->hw_value);
wcn               647 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_end_scan(wcn, req->channels[i]->hw_value);
wcn               649 drivers/net/wireless/ath/wcn36xx/main.c 		wcn->scan_freq = 0;
wcn               651 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_finish_scan(wcn, HAL_SYS_MODE_SCAN);
wcn               654 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_scan_completed(wcn->hw, &scan_info);
wcn               656 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->scan_lock);
wcn               657 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->scan_req = NULL;
wcn               658 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->scan_lock);
wcn               665 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               666 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->scan_lock);
wcn               667 drivers/net/wireless/ath/wcn36xx/main.c 	if (wcn->scan_req) {
wcn               668 drivers/net/wireless/ath/wcn36xx/main.c 		mutex_unlock(&wcn->scan_lock);
wcn               672 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->scan_aborted = false;
wcn               673 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->scan_req = &hw_req->req;
wcn               675 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->scan_lock);
wcn               677 drivers/net/wireless/ath/wcn36xx/main.c 	if (!get_feat_caps(wcn->fw_feat_caps, SCAN_OFFLOAD)) {
wcn               679 drivers/net/wireless/ath/wcn36xx/main.c 		schedule_work(&wcn->scan_work);
wcn               683 drivers/net/wireless/ath/wcn36xx/main.c 	return wcn36xx_smd_start_hw_scan(wcn, vif, &hw_req->req);
wcn               689 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               691 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->scan_lock);
wcn               692 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->scan_aborted = true;
wcn               693 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->scan_lock);
wcn               695 drivers/net/wireless/ath/wcn36xx/main.c 	if (get_feat_caps(wcn->fw_feat_caps, SCAN_OFFLOAD)) {
wcn               698 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_stop_hw_scan(wcn);
wcn               704 drivers/net/wireless/ath/wcn36xx/main.c 		cancel_work_sync(&wcn->scan_work);
wcn               705 drivers/net/wireless/ath/wcn36xx/main.c 		ieee80211_scan_completed(wcn->hw, &scan_info);
wcn               780 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               789 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               806 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_link_st(wcn, bss_conf->bssid, vif->addr,
wcn               808 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_join(wcn, bss_conf->bssid,
wcn               809 drivers/net/wireless/ath/wcn36xx/main.c 					 vif->addr, WCN36XX_HW_CHANNEL(wcn));
wcn               810 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_config_bss(wcn, vif, NULL,
wcn               814 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_delete_bss(wcn, vif);
wcn               815 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_link_st(wcn, bss_conf->bssid, vif->addr,
wcn               861 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_update_allowed_rates(sta, WCN36XX_BAND(wcn));
wcn               863 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_link_st(wcn, bss_conf->bssid,
wcn               866 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_config_bss(wcn, vif, sta,
wcn               874 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_config_sta(wcn, vif, sta);
wcn               882 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_link_st(wcn,
wcn               897 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_update_proberesp_tmpl(wcn, vif, skb);
wcn               910 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_config_bss(wcn, vif, NULL,
wcn               918 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_send_beacon(wcn, vif, skb, tim_off, 0);
wcn               927 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr,
wcn               930 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_delete_bss(wcn, vif);
wcn               931 drivers/net/wireless/ath/wcn36xx/main.c 			wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr,
wcn               937 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn               945 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               948 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               949 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_update_cfg(wcn, WCN36XX_HAL_CFG_RTS_THRESHOLD, value);
wcn               950 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn               958 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               962 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               965 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_delete_sta_self(wcn, vif->addr);
wcn               967 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn               973 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn               988 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn               992 drivers/net/wireless/ath/wcn36xx/main.c 	list_add(&vif_priv->list, &wcn->vif_list);
wcn               993 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_add_sta_self(wcn, vif);
wcn               995 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn              1003 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn              1009 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn              1020 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_update_allowed_rates(sta, WCN36XX_BAND(wcn));
wcn              1022 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_config_sta(wcn, vif, sta);
wcn              1025 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn              1034 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn              1040 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn              1043 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_delete_sta(wcn, sta_priv->sta_index);
wcn              1046 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn              1055 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn              1059 drivers/net/wireless/ath/wcn36xx/main.c 	flush_workqueue(wcn->hal_ind_wq);
wcn              1060 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_set_power_params(wcn, true);
wcn              1066 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn              1070 drivers/net/wireless/ath/wcn36xx/main.c 	flush_workqueue(wcn->hal_ind_wq);
wcn              1071 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_smd_set_power_params(wcn, false);
wcn              1081 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn              1091 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_lock(&wcn->conf_mutex);
wcn              1096 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_add_ba_session(wcn, sta, tid, ssn, 0,
wcn              1098 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_add_ba(wcn);
wcn              1099 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_trigger_ba(wcn, get_sta_index(vif, sta_priv));
wcn              1102 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_del_ba(wcn, tid, get_sta_index(vif, sta_priv));
wcn              1116 drivers/net/wireless/ath/wcn36xx/main.c 		wcn36xx_smd_add_ba_session(wcn, sta, tid, ssn, 1,
wcn              1132 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_unlock(&wcn->conf_mutex);
wcn              1162 drivers/net/wireless/ath/wcn36xx/main.c static int wcn36xx_init_ieee80211(struct wcn36xx *wcn)
wcn              1171 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, TIMING_BEACON_ONLY);
wcn              1172 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, AMPDU_AGGREGATION);
wcn              1173 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, CONNECTION_MONITOR);
wcn              1174 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, SUPPORTS_PS);
wcn              1175 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, SIGNAL_DBM);
wcn              1176 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, HAS_RATE_CONTROL);
wcn              1177 drivers/net/wireless/ath/wcn36xx/main.c 	ieee80211_hw_set(wcn->hw, SINGLE_SCAN_ON_ALL_BANDS);
wcn              1179 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
wcn              1184 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wcn_band_2ghz;
wcn              1185 drivers/net/wireless/ath/wcn36xx/main.c 	if (wcn->rf_id != RF_IRIS_WCN3620)
wcn              1186 drivers/net/wireless/ath/wcn36xx/main.c 		wcn->hw->wiphy->bands[NL80211_BAND_5GHZ] = &wcn_band_5ghz;
wcn              1188 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->max_scan_ssids = WCN36XX_MAX_SCAN_SSIDS;
wcn              1189 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->max_scan_ie_len = WCN36XX_MAX_SCAN_IE_LEN;
wcn              1191 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->cipher_suites = cipher_suites;
wcn              1192 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
wcn              1195 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->wiphy->wowlan = &wowlan_support;
wcn              1198 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->max_listen_interval = 200;
wcn              1200 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->queues = 4;
wcn              1202 drivers/net/wireless/ath/wcn36xx/main.c 	SET_IEEE80211_DEV(wcn->hw, wcn->dev);
wcn              1204 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->sta_data_size = sizeof(struct wcn36xx_sta);
wcn              1205 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw->vif_data_size = sizeof(struct wcn36xx_vif);
wcn              1207 drivers/net/wireless/ath/wcn36xx/main.c 	wiphy_ext_feature_set(wcn->hw->wiphy,
wcn              1213 drivers/net/wireless/ath/wcn36xx/main.c static int wcn36xx_platform_get_resources(struct wcn36xx *wcn,
wcn              1228 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->tx_irq = res->start;
wcn              1236 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->rx_irq = res->start;
wcn              1239 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->tx_enable_state = qcom_smem_state_get(&pdev->dev,
wcn              1240 drivers/net/wireless/ath/wcn36xx/main.c 			"tx-enable", &wcn->tx_enable_state_bit);
wcn              1241 drivers/net/wireless/ath/wcn36xx/main.c 	if (IS_ERR(wcn->tx_enable_state)) {
wcn              1243 drivers/net/wireless/ath/wcn36xx/main.c 		return PTR_ERR(wcn->tx_enable_state);
wcn              1247 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->tx_rings_empty_state = qcom_smem_state_get(&pdev->dev,
wcn              1248 drivers/net/wireless/ath/wcn36xx/main.c 			"tx-rings-empty", &wcn->tx_rings_empty_state_bit);
wcn              1249 drivers/net/wireless/ath/wcn36xx/main.c 	if (IS_ERR(wcn->tx_rings_empty_state)) {
wcn              1251 drivers/net/wireless/ath/wcn36xx/main.c 		return PTR_ERR(wcn->tx_rings_empty_state);
wcn              1260 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->is_pronto = !!of_device_is_compatible(mmio_node, "qcom,pronto");
wcn              1264 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->ccu_base = of_iomap(mmio_node, index);
wcn              1265 drivers/net/wireless/ath/wcn36xx/main.c 	if (!wcn->ccu_base) {
wcn              1273 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->dxe_base = of_iomap(mmio_node, index);
wcn              1274 drivers/net/wireless/ath/wcn36xx/main.c 	if (!wcn->dxe_base) {
wcn              1284 drivers/net/wireless/ath/wcn36xx/main.c 			wcn->rf_id = RF_IRIS_WCN3620;
wcn              1292 drivers/net/wireless/ath/wcn36xx/main.c 	iounmap(wcn->ccu_base);
wcn              1301 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn;
wcn              1317 drivers/net/wireless/ath/wcn36xx/main.c 	wcn = hw->priv;
wcn              1318 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->hw = hw;
wcn              1319 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->dev = &pdev->dev;
wcn              1320 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->first_boot = true;
wcn              1321 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_init(&wcn->conf_mutex);
wcn              1322 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_init(&wcn->hal_mutex);
wcn              1323 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_init(&wcn->scan_lock);
wcn              1325 drivers/net/wireless/ath/wcn36xx/main.c 	ret = dma_set_mask_and_coherent(wcn->dev, DMA_BIT_MASK(32));
wcn              1331 drivers/net/wireless/ath/wcn36xx/main.c 	INIT_WORK(&wcn->scan_work, wcn36xx_hw_scan_worker);
wcn              1333 drivers/net/wireless/ath/wcn36xx/main.c 	wcn->smd_channel = qcom_wcnss_open_channel(wcnss, "WLAN_CTRL", wcn36xx_smd_rsp_process, hw);
wcn              1334 drivers/net/wireless/ath/wcn36xx/main.c 	if (IS_ERR(wcn->smd_channel)) {
wcn              1336 drivers/net/wireless/ath/wcn36xx/main.c 		ret = PTR_ERR(wcn->smd_channel);
wcn              1347 drivers/net/wireless/ath/wcn36xx/main.c 		SET_IEEE80211_PERM_ADDR(wcn->hw, addr);
wcn              1350 drivers/net/wireless/ath/wcn36xx/main.c 	ret = wcn36xx_platform_get_resources(wcn, pdev);
wcn              1354 drivers/net/wireless/ath/wcn36xx/main.c 	wcn36xx_init_ieee80211(wcn);
wcn              1355 drivers/net/wireless/ath/wcn36xx/main.c 	ret = ieee80211_register_hw(wcn->hw);
wcn              1362 drivers/net/wireless/ath/wcn36xx/main.c 	iounmap(wcn->ccu_base);
wcn              1363 drivers/net/wireless/ath/wcn36xx/main.c 	iounmap(wcn->dxe_base);
wcn              1373 drivers/net/wireless/ath/wcn36xx/main.c 	struct wcn36xx *wcn = hw->priv;
wcn              1376 drivers/net/wireless/ath/wcn36xx/main.c 	release_firmware(wcn->nv);
wcn              1380 drivers/net/wireless/ath/wcn36xx/main.c 	qcom_smem_state_put(wcn->tx_enable_state);
wcn              1381 drivers/net/wireless/ath/wcn36xx/main.c 	qcom_smem_state_put(wcn->tx_rings_empty_state);
wcn              1383 drivers/net/wireless/ath/wcn36xx/main.c 	rpmsg_destroy_ept(wcn->smd_channel);
wcn              1385 drivers/net/wireless/ath/wcn36xx/main.c 	iounmap(wcn->dxe_base);
wcn              1386 drivers/net/wireless/ath/wcn36xx/main.c 	iounmap(wcn->ccu_base);
wcn              1388 drivers/net/wireless/ath/wcn36xx/main.c 	mutex_destroy(&wcn->hal_mutex);
wcn                21 drivers/net/wireless/ath/wcn36xx/pmc.c int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn,
wcn                27 drivers/net/wireless/ath/wcn36xx/pmc.c 	ret = wcn36xx_smd_enter_bmps(wcn, vif);
wcn                42 drivers/net/wireless/ath/wcn36xx/pmc.c int wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn,
wcn                53 drivers/net/wireless/ath/wcn36xx/pmc.c 	wcn36xx_smd_exit_bmps(wcn, vif);
wcn                58 drivers/net/wireless/ath/wcn36xx/pmc.c int wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn,
wcn                62 drivers/net/wireless/ath/wcn36xx/pmc.c 	return wcn36xx_smd_keep_alive_req(wcn, vif,
wcn                27 drivers/net/wireless/ath/wcn36xx/pmc.h int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn,
wcn                29 drivers/net/wireless/ath/wcn36xx/pmc.h int wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn,
wcn                31 drivers/net/wireless/ath/wcn36xx/pmc.h int wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn,
wcn                82 drivers/net/wireless/ath/wcn36xx/smd.c static int put_cfg_tlv_u32(struct wcn36xx *wcn, size_t *len, u32 id, u32 value)
wcn                92 drivers/net/wireless/ath/wcn36xx/smd.c 	entry = (struct wcn36xx_hal_cfg *) (wcn->hal_buf + *len);
wcn               106 drivers/net/wireless/ath/wcn36xx/smd.c static void wcn36xx_smd_set_bss_nw_type(struct wcn36xx *wcn,
wcn               110 drivers/net/wireless/ath/wcn36xx/smd.c 	if (NL80211_BAND_5GHZ == WCN36XX_BAND(wcn))
wcn               192 drivers/net/wireless/ath/wcn36xx/smd.c static void wcn36xx_smd_set_sta_params(struct wcn36xx *wcn,
wcn               209 drivers/net/wireless/ath/wcn36xx/smd.c 	sta_params->listen_interval = WCN36XX_LISTEN_INTERVAL(wcn);
wcn               251 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_send_and_wait(struct wcn36xx *wcn, size_t len)
wcn               256 drivers/net/wireless/ath/wcn36xx/smd.c 		(struct wcn36xx_hal_msg_header *)wcn->hal_buf;
wcn               259 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn36xx_dbg_dump(WCN36XX_DBG_SMD_DUMP, "HAL >>> ", wcn->hal_buf, len);
wcn               261 drivers/net/wireless/ath/wcn36xx/smd.c 	init_completion(&wcn->hal_rsp_compl);
wcn               263 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = rpmsg_send(wcn->smd_channel, wcn->hal_buf, len);
wcn               268 drivers/net/wireless/ath/wcn36xx/smd.c 	if (wait_for_completion_timeout(&wcn->hal_rsp_compl,
wcn               338 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_load_nv(struct wcn36xx *wcn)
wcn               346 drivers/net/wireless/ath/wcn36xx/smd.c 	if (!wcn->nv) {
wcn               347 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = request_firmware(&wcn->nv, WLAN_NV_FILE, wcn->dev);
wcn               355 drivers/net/wireless/ath/wcn36xx/smd.c 	nv_d = (struct nv_data *)wcn->nv->data;
wcn               362 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               365 drivers/net/wireless/ath/wcn36xx/smd.c 		fw_bytes_left = wcn->nv->size - fm_offset - 4;
wcn               379 drivers/net/wireless/ath/wcn36xx/smd.c 		memcpy(wcn->hal_buf, &msg_body,	sizeof(msg_body));
wcn               382 drivers/net/wireless/ath/wcn36xx/smd.c 		memcpy(wcn->hal_buf + sizeof(msg_body),
wcn               386 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               389 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf,
wcn               390 drivers/net/wireless/ath/wcn36xx/smd.c 						   wcn->hal_rsp_len);
wcn               402 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               406 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_start_rsp(struct wcn36xx *wcn, void *buf, size_t len)
wcn               418 drivers/net/wireless/ath/wcn36xx/smd.c 	memcpy(wcn->crm_version, rsp->start_rsp_params.crm_version,
wcn               420 drivers/net/wireless/ath/wcn36xx/smd.c 	memcpy(wcn->wlan_version, rsp->start_rsp_params.wlan_version,
wcn               424 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->crm_version[WCN36XX_HAL_VERSION_LENGTH] = '\0';
wcn               425 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->wlan_version[WCN36XX_HAL_VERSION_LENGTH] = '\0';
wcn               427 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->fw_revision = rsp->start_rsp_params.version.revision;
wcn               428 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->fw_version = rsp->start_rsp_params.version.version;
wcn               429 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->fw_minor = rsp->start_rsp_params.version.minor;
wcn               430 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->fw_major = rsp->start_rsp_params.version.major;
wcn               432 drivers/net/wireless/ath/wcn36xx/smd.c 	if (wcn->first_boot) {
wcn               433 drivers/net/wireless/ath/wcn36xx/smd.c 		wcn->first_boot = false;
wcn               435 drivers/net/wireless/ath/wcn36xx/smd.c 			     wcn->wlan_version, wcn->crm_version);
wcn               438 drivers/net/wireless/ath/wcn36xx/smd.c 			     wcn->fw_major, wcn->fw_minor,
wcn               439 drivers/net/wireless/ath/wcn36xx/smd.c 			     wcn->fw_version, wcn->fw_revision,
wcn               446 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_start(struct wcn36xx *wcn)
wcn               453 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               459 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               461 drivers/net/wireless/ath/wcn36xx/smd.c 	body = (struct wcn36xx_hal_mac_start_req_msg *)wcn->hal_buf;
wcn               465 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = put_cfg_tlv_u32(wcn, &len, wcn36xx_cfg_vals[i].cfg_id,
wcn               476 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, body->header.len);
wcn               482 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_start_rsp(wcn, wcn->hal_buf, wcn->hal_rsp_len);
wcn               489 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               493 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_stop(struct wcn36xx *wcn)
wcn               498 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               503 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               505 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               510 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               516 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               520 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_init_scan(struct wcn36xx *wcn, enum wcn36xx_hal_sys_mode mode)
wcn               525 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               530 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               534 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               539 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               545 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               549 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_start_scan(struct wcn36xx *wcn, u8 scan_channel)
wcn               554 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               559 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               564 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               569 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               575 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               579 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_end_scan(struct wcn36xx *wcn, u8 scan_channel)
wcn               584 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               589 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               594 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               599 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               605 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               609 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_finish_scan(struct wcn36xx *wcn,
wcn               615 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               620 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               625 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               630 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               636 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               640 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_start_hw_scan(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn               650 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               688 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, (*msg_body));
wcn               695 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len);
wcn               700 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               708 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               712 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_stop_hw_scan(struct wcn36xx *wcn)
wcn               717 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               719 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               723 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               728 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               735 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               753 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_switch_channel(struct wcn36xx *wcn,
wcn               759 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               767 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               769 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               774 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_switch_channel_rsp(wcn->hal_buf, wcn->hal_rsp_len);
wcn               780 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               810 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_process_ptt_msg(struct wcn36xx *wcn,
wcn               817 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               829 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_PTT_MSG_BUF(wcn->hal_buf, p_msg_body);
wcn               831 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, p_msg_body->header.len);
wcn               836 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_process_ptt_msg_rsp(wcn->hal_buf, wcn->hal_rsp_len,
wcn               845 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               866 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn,
wcn               872 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               886 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               892 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               897 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_update_scan_params_rsp(wcn->hal_buf,
wcn               898 drivers/net/wireless/ath/wcn36xx/smd.c 						 wcn->hal_rsp_len);
wcn               905 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               909 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_add_sta_self_rsp(struct wcn36xx *wcn,
wcn               938 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct ieee80211_vif *vif)
wcn               943 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               948 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               954 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               959 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_add_sta_self_rsp(wcn,
wcn               961 drivers/net/wireless/ath/wcn36xx/smd.c 					   wcn->hal_buf,
wcn               962 drivers/net/wireless/ath/wcn36xx/smd.c 					   wcn->hal_rsp_len);
wcn               968 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn               972 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_delete_sta_self(struct wcn36xx *wcn, u8 *addr)
wcn               977 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn               982 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn               984 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn               989 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn               996 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1000 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_delete_sta(struct wcn36xx *wcn, u8 sta_index)
wcn              1005 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1010 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1016 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1021 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1027 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1047 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_join(struct wcn36xx *wcn, const u8 *bssid, u8 *vif, u8 ch)
wcn              1052 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1059 drivers/net/wireless/ath/wcn36xx/smd.c 	if (conf_is_ht40_minus(&wcn->hw->conf))
wcn              1062 drivers/net/wireless/ath/wcn36xx/smd.c 	else if (conf_is_ht40_plus(&wcn->hw->conf))
wcn              1072 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1079 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1084 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_join_rsp(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1090 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1094 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_set_link_st(struct wcn36xx *wcn, const u8 *bssid,
wcn              1101 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1108 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1114 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1119 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1125 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1129 drivers/net/wireless/ath/wcn36xx/smd.c static void wcn36xx_smd_convert_sta_to_v1(struct wcn36xx *wcn,
wcn              1166 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_config_sta_rsp(struct wcn36xx *wcn,
wcn              1199 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_config_sta_v1(struct wcn36xx *wcn,
wcn              1207 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn36xx_smd_convert_sta_to_v1(wcn, &orig->sta_params,
wcn              1210 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1217 drivers/net/wireless/ath/wcn36xx/smd.c 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1220 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn              1227 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1232 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn36xx_smd_set_sta_params(wcn, vif, sta, sta_params);
wcn              1234 drivers/net/wireless/ath/wcn36xx/smd.c 	if (!wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) {
wcn              1235 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = wcn36xx_smd_config_sta_v1(wcn, &msg);
wcn              1237 drivers/net/wireless/ath/wcn36xx/smd.c 		PREPARE_HAL_BUF(wcn->hal_buf, msg);
wcn              1245 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = wcn36xx_smd_send_and_wait(wcn, msg.header.len);
wcn              1251 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_config_sta_rsp(wcn,
wcn              1253 drivers/net/wireless/ath/wcn36xx/smd.c 					 wcn->hal_buf,
wcn              1254 drivers/net/wireless/ath/wcn36xx/smd.c 					 wcn->hal_rsp_len);
wcn              1260 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1264 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_config_bss_v1(struct wcn36xx *wcn,
wcn              1361 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn36xx_smd_convert_sta_to_v1(wcn, &orig->bss_params.sta,
wcn              1364 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, (*msg_body));
wcn              1376 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len);
wcn              1383 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_config_bss_rsp(struct wcn36xx *wcn,
wcn              1427 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn              1437 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1477 drivers/net/wireless/ath/wcn36xx/smd.c 		wcn36xx_smd_set_bss_nw_type(wcn, sta, bss);
wcn              1491 drivers/net/wireless/ath/wcn36xx/smd.c 	bss->oper_channel = WCN36XX_HW_CHANNEL(wcn);
wcn              1493 drivers/net/wireless/ath/wcn36xx/smd.c 	if (conf_is_ht40_minus(&wcn->hw->conf))
wcn              1495 drivers/net/wireless/ath/wcn36xx/smd.c 	else if (conf_is_ht40_plus(&wcn->hw->conf))
wcn              1501 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn36xx_smd_set_sta_params(wcn, vif, sta, sta_params);
wcn              1522 drivers/net/wireless/ath/wcn36xx/smd.c 	bss->max_tx_power = WCN36XX_MAX_POWER(wcn);
wcn              1539 drivers/net/wireless/ath/wcn36xx/smd.c 	if (!wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) {
wcn              1540 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = wcn36xx_smd_config_bss_v1(wcn, msg);
wcn              1542 drivers/net/wireless/ath/wcn36xx/smd.c 		PREPARE_HAL_BUF(wcn->hal_buf, (*msg));
wcn              1544 drivers/net/wireless/ath/wcn36xx/smd.c 		ret = wcn36xx_smd_send_and_wait(wcn, msg->header.len);
wcn              1550 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_config_bss_rsp(wcn,
wcn              1553 drivers/net/wireless/ath/wcn36xx/smd.c 					 wcn->hal_buf,
wcn              1554 drivers/net/wireless/ath/wcn36xx/smd.c 					 wcn->hal_rsp_len);
wcn              1561 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1565 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif)
wcn              1571 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1580 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1584 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1589 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1597 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1601 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn              1608 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1654 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1660 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1665 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1671 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1675 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn,
wcn              1682 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1697 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg);
wcn              1703 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg.header.len);
wcn              1708 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1715 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1719 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_set_stakey(struct wcn36xx *wcn,
wcn              1729 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1751 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1753 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1758 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1764 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1768 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_set_bsskey(struct wcn36xx *wcn,
wcn              1778 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1790 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1792 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1797 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1803 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1807 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_remove_stakey(struct wcn36xx *wcn,
wcn              1815 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1822 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1824 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1829 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1835 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1839 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_remove_bsskey(struct wcn36xx *wcn,
wcn              1847 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1853 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1855 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1860 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1866 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1870 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_enter_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif)
wcn              1876 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1883 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1885 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1890 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1896 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1900 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_exit_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif)
wcn              1906 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1911 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1913 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1918 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1924 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1927 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_set_power_params(struct wcn36xx *wcn, bool ignore_dtim)
wcn              1932 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1942 drivers/net/wireless/ath/wcn36xx/smd.c 	msg_body.listen_interval = WCN36XX_LISTEN_INTERVAL(wcn);
wcn              1944 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1946 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1953 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1959 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_keep_alive_req(struct wcn36xx *wcn,
wcn              1967 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              1982 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              1984 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              1989 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              1995 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              1999 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_dump_cmd_req(struct wcn36xx *wcn, u32 arg1, u32 arg2,
wcn              2005 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2014 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2016 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              2021 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2027 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2074 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_feature_caps_exchange(struct wcn36xx *wcn)
wcn              2079 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2084 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2086 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              2091 drivers/net/wireless/ath/wcn36xx/smd.c 	if (wcn->hal_rsp_len != sizeof(*rsp)) {
wcn              2096 drivers/net/wireless/ath/wcn36xx/smd.c 	rsp = (struct wcn36xx_hal_feat_caps_msg *) wcn->hal_buf;
wcn              2099 drivers/net/wireless/ath/wcn36xx/smd.c 		wcn->fw_feat_caps[i] = rsp->feat_caps[i];
wcn              2101 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2105 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_add_ba_session(struct wcn36xx *wcn,
wcn              2115 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2131 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2133 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              2138 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2144 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2148 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_add_ba(struct wcn36xx *wcn)
wcn              2153 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2159 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2161 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              2166 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2172 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2176 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_del_ba(struct wcn36xx *wcn, u16 tid, u8 sta_index)
wcn              2181 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2187 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2189 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              2194 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2200 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2215 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_trigger_ba(struct wcn36xx *wcn, u8 sta_index)
wcn              2221 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2227 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2230 drivers/net/wireless/ath/wcn36xx/smd.c 		(wcn->hal_buf + sizeof(msg_body));
wcn              2234 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
wcn              2239 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_trigger_ba_rsp(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2245 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2249 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_tx_compl_ind(struct wcn36xx *wcn, void *buf, size_t len)
wcn              2258 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn36xx_dxe_tx_ack_ind(wcn, rsp->status);
wcn              2263 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_hw_scan_ind(struct wcn36xx *wcn, void *buf, size_t len)
wcn              2281 drivers/net/wireless/ath/wcn36xx/smd.c 		mutex_lock(&wcn->scan_lock);
wcn              2282 drivers/net/wireless/ath/wcn36xx/smd.c 		wcn->scan_req = NULL;
wcn              2283 drivers/net/wireless/ath/wcn36xx/smd.c 		if (wcn->scan_aborted)
wcn              2285 drivers/net/wireless/ath/wcn36xx/smd.c 		mutex_unlock(&wcn->scan_lock);
wcn              2286 drivers/net/wireless/ath/wcn36xx/smd.c 		ieee80211_scan_completed(wcn->hw, &scan_info);
wcn              2300 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_missed_beacon_ind(struct wcn36xx *wcn,
wcn              2309 drivers/net/wireless/ath/wcn36xx/smd.c 	if (wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) {
wcn              2310 drivers/net/wireless/ath/wcn36xx/smd.c 		list_for_each_entry(tmp, &wcn->vif_list, list) {
wcn              2324 drivers/net/wireless/ath/wcn36xx/smd.c 	list_for_each_entry(tmp, &wcn->vif_list, list) {
wcn              2338 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_delete_sta_context_ind(struct wcn36xx *wcn,
wcn              2354 drivers/net/wireless/ath/wcn36xx/smd.c 	list_for_each_entry(tmp, &wcn->vif_list, list) {
wcn              2370 drivers/net/wireless/ath/wcn36xx/smd.c static int wcn36xx_smd_print_reg_info_ind(struct wcn36xx *wcn,
wcn              2394 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_update_cfg(struct wcn36xx *wcn, u32 cfg_id, u32 value)
wcn              2400 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2403 drivers/net/wireless/ath/wcn36xx/smd.c 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
wcn              2405 drivers/net/wireless/ath/wcn36xx/smd.c 	body = (struct wcn36xx_hal_update_cfg_req_msg *) wcn->hal_buf;
wcn              2408 drivers/net/wireless/ath/wcn36xx/smd.c 	put_cfg_tlv_u32(wcn, &len, cfg_id, value);
wcn              2412 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, body->header.len);
wcn              2417 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2423 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2427 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_set_mc_list(struct wcn36xx *wcn,
wcn              2435 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_lock(&wcn->hal_mutex);
wcn              2438 drivers/net/wireless/ath/wcn36xx/smd.c 		   wcn->hal_buf;
wcn              2451 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len);
wcn              2456 drivers/net/wireless/ath/wcn36xx/smd.c 	ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
wcn              2462 drivers/net/wireless/ath/wcn36xx/smd.c 	mutex_unlock(&wcn->hal_mutex);
wcn              2471 drivers/net/wireless/ath/wcn36xx/smd.c 	struct wcn36xx *wcn = hw->priv;
wcn              2514 drivers/net/wireless/ath/wcn36xx/smd.c 		memcpy(wcn->hal_buf, buf, len);
wcn              2515 drivers/net/wireless/ath/wcn36xx/smd.c 		wcn->hal_rsp_len = len;
wcn              2516 drivers/net/wireless/ath/wcn36xx/smd.c 		complete(&wcn->hal_rsp_compl);
wcn              2537 drivers/net/wireless/ath/wcn36xx/smd.c 		spin_lock(&wcn->hal_ind_lock);
wcn              2538 drivers/net/wireless/ath/wcn36xx/smd.c 		list_add_tail(&msg_ind->list, &wcn->hal_ind_queue);
wcn              2539 drivers/net/wireless/ath/wcn36xx/smd.c 		queue_work(wcn->hal_ind_wq, &wcn->hal_ind_work);
wcn              2540 drivers/net/wireless/ath/wcn36xx/smd.c 		spin_unlock(&wcn->hal_ind_lock);
wcn              2553 drivers/net/wireless/ath/wcn36xx/smd.c 	struct wcn36xx *wcn =
wcn              2561 drivers/net/wireless/ath/wcn36xx/smd.c 		spin_lock_irqsave(&wcn->hal_ind_lock, flags);
wcn              2563 drivers/net/wireless/ath/wcn36xx/smd.c 		if (list_empty(&wcn->hal_ind_queue)) {
wcn              2564 drivers/net/wireless/ath/wcn36xx/smd.c 			spin_unlock_irqrestore(&wcn->hal_ind_lock, flags);
wcn              2568 drivers/net/wireless/ath/wcn36xx/smd.c 		hal_ind_msg = list_first_entry(&wcn->hal_ind_queue,
wcn              2572 drivers/net/wireless/ath/wcn36xx/smd.c 		spin_unlock_irqrestore(&wcn->hal_ind_lock, flags);
wcn              2582 drivers/net/wireless/ath/wcn36xx/smd.c 			wcn36xx_smd_tx_compl_ind(wcn,
wcn              2587 drivers/net/wireless/ath/wcn36xx/smd.c 			wcn36xx_smd_missed_beacon_ind(wcn,
wcn              2592 drivers/net/wireless/ath/wcn36xx/smd.c 			wcn36xx_smd_delete_sta_context_ind(wcn,
wcn              2597 drivers/net/wireless/ath/wcn36xx/smd.c 			wcn36xx_smd_print_reg_info_ind(wcn,
wcn              2602 drivers/net/wireless/ath/wcn36xx/smd.c 			wcn36xx_smd_hw_scan_ind(wcn, hal_ind_msg->msg,
wcn              2613 drivers/net/wireless/ath/wcn36xx/smd.c int wcn36xx_smd_open(struct wcn36xx *wcn)
wcn              2615 drivers/net/wireless/ath/wcn36xx/smd.c 	wcn->hal_ind_wq = create_freezable_workqueue("wcn36xx_smd_ind");
wcn              2616 drivers/net/wireless/ath/wcn36xx/smd.c 	if (!wcn->hal_ind_wq)
wcn              2619 drivers/net/wireless/ath/wcn36xx/smd.c 	INIT_WORK(&wcn->hal_ind_work, wcn36xx_ind_smd_work);
wcn              2620 drivers/net/wireless/ath/wcn36xx/smd.c 	INIT_LIST_HEAD(&wcn->hal_ind_queue);
wcn              2621 drivers/net/wireless/ath/wcn36xx/smd.c 	spin_lock_init(&wcn->hal_ind_lock);
wcn              2626 drivers/net/wireless/ath/wcn36xx/smd.c void wcn36xx_smd_close(struct wcn36xx *wcn)
wcn              2630 drivers/net/wireless/ath/wcn36xx/smd.c 	cancel_work_sync(&wcn->hal_ind_work);
wcn              2631 drivers/net/wireless/ath/wcn36xx/smd.c 	destroy_workqueue(wcn->hal_ind_wq);
wcn              2633 drivers/net/wireless/ath/wcn36xx/smd.c 	list_for_each_entry_safe(msg, tmp, &wcn->hal_ind_queue, list)
wcn                56 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_open(struct wcn36xx *wcn);
wcn                57 drivers/net/wireless/ath/wcn36xx/smd.h void wcn36xx_smd_close(struct wcn36xx *wcn);
wcn                59 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_load_nv(struct wcn36xx *wcn);
wcn                60 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_start(struct wcn36xx *wcn);
wcn                61 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_stop(struct wcn36xx *wcn);
wcn                62 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_init_scan(struct wcn36xx *wcn, enum wcn36xx_hal_sys_mode mode);
wcn                63 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_start_scan(struct wcn36xx *wcn, u8 scan_channel);
wcn                64 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_end_scan(struct wcn36xx *wcn, u8 scan_channel);
wcn                65 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_finish_scan(struct wcn36xx *wcn,
wcn                67 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn, u8 *channels, size_t channel_count);
wcn                68 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_start_hw_scan(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn                70 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_stop_hw_scan(struct wcn36xx *wcn);
wcn                71 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct ieee80211_vif *vif);
wcn                72 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_delete_sta_self(struct wcn36xx *wcn, u8 *addr);
wcn                73 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_delete_sta(struct wcn36xx *wcn, u8 sta_index);
wcn                74 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_join(struct wcn36xx *wcn, const u8 *bssid, u8 *vif, u8 ch);
wcn                75 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_set_link_st(struct wcn36xx *wcn, const u8 *bssid,
wcn                78 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn                81 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif);
wcn                82 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn                84 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn                87 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_switch_channel(struct wcn36xx *wcn,
wcn                89 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_process_ptt_msg(struct wcn36xx *wcn,
wcn                93 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn,
wcn                96 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_set_stakey(struct wcn36xx *wcn,
wcn               102 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_set_bsskey(struct wcn36xx *wcn,
wcn               108 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_remove_stakey(struct wcn36xx *wcn,
wcn               112 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_remove_bsskey(struct wcn36xx *wcn,
wcn               116 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_enter_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif);
wcn               117 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_exit_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif);
wcn               118 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_set_power_params(struct wcn36xx *wcn, bool ignore_dtim);
wcn               119 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_keep_alive_req(struct wcn36xx *wcn,
wcn               122 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_dump_cmd_req(struct wcn36xx *wcn, u32 arg1, u32 arg2,
wcn               124 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_feature_caps_exchange(struct wcn36xx *wcn);
wcn               129 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_add_ba_session(struct wcn36xx *wcn,
wcn               135 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_add_ba(struct wcn36xx *wcn);
wcn               136 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_del_ba(struct wcn36xx *wcn, u16 tid, u8 sta_index);
wcn               137 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_trigger_ba(struct wcn36xx *wcn, u8 sta_index);
wcn               139 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_update_cfg(struct wcn36xx *wcn, u32 cfg_id, u32 value);
wcn               144 drivers/net/wireless/ath/wcn36xx/smd.h int wcn36xx_smd_set_mc_list(struct wcn36xx *wcn,
wcn                43 drivers/net/wireless/ath/wcn36xx/testmode.c static int wcn36xx_tm_cmd_ptt(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn                70 drivers/net/wireless/ath/wcn36xx/testmode.c 		body->drv_major = wcn->fw_major;
wcn                71 drivers/net/wireless/ath/wcn36xx/testmode.c 		body->drv_minor = wcn->fw_minor;
wcn                72 drivers/net/wireless/ath/wcn36xx/testmode.c 		body->drv_patch = wcn->fw_version;
wcn                73 drivers/net/wireless/ath/wcn36xx/testmode.c 		body->drv_build = wcn->fw_revision;
wcn                84 drivers/net/wireless/ath/wcn36xx/testmode.c 		msg->resp_status = wcn36xx_smd_process_ptt_msg(wcn, vif, msg,
wcn               104 drivers/net/wireless/ath/wcn36xx/testmode.c 	skb = cfg80211_testmode_alloc_reply_skb(wcn->hw->wiphy,
wcn               129 drivers/net/wireless/ath/wcn36xx/testmode.c 	struct wcn36xx *wcn = hw->priv;
wcn               148 drivers/net/wireless/ath/wcn36xx/testmode.c 	return wcn36xx_tm_cmd_ptt(wcn, vif, tb);
wcn                26 drivers/net/wireless/ath/wcn36xx/txrx.c int wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb)
wcn                53 drivers/net/wireless/ath/wcn36xx/txrx.c 	if (ieee80211_is_beacon(hdr->frame_control) && wcn->scan_freq) {
wcn                54 drivers/net/wireless/ath/wcn36xx/txrx.c 		status.freq = wcn->scan_freq;
wcn                55 drivers/net/wireless/ath/wcn36xx/txrx.c 		status.band = wcn->scan_band;
wcn                57 drivers/net/wireless/ath/wcn36xx/txrx.c 		status.freq = WCN36XX_CENTER_FREQ(wcn);
wcn                58 drivers/net/wireless/ath/wcn36xx/txrx.c 		status.band = WCN36XX_BAND(wcn);
wcn                87 drivers/net/wireless/ath/wcn36xx/txrx.c 	ieee80211_rx_irqsafe(wcn->hw, skb);
wcn               106 drivers/net/wireless/ath/wcn36xx/txrx.c static inline struct wcn36xx_vif *get_vif_by_addr(struct wcn36xx *wcn,
wcn               111 drivers/net/wireless/ath/wcn36xx/txrx.c 	list_for_each_entry(vif_priv, &wcn->vif_list, list) {
wcn               120 drivers/net/wireless/ath/wcn36xx/txrx.c static void wcn36xx_tx_start_ampdu(struct wcn36xx *wcn,
wcn               128 drivers/net/wireless/ath/wcn36xx/txrx.c 	if (!conf_is_ht(&wcn->hw->conf))
wcn               156 drivers/net/wireless/ath/wcn36xx/txrx.c 				struct wcn36xx *wcn,
wcn               188 drivers/net/wireless/ath/wcn36xx/txrx.c 		__vif_priv = get_vif_by_addr(wcn, hdr->addr2);
wcn               213 drivers/net/wireless/ath/wcn36xx/txrx.c 		wcn36xx_tx_start_ampdu(wcn, sta_priv, skb);
wcn               217 drivers/net/wireless/ath/wcn36xx/txrx.c 				struct wcn36xx *wcn,
wcn               224 drivers/net/wireless/ath/wcn36xx/txrx.c 		get_vif_by_addr(wcn, hdr->addr2);
wcn               231 drivers/net/wireless/ath/wcn36xx/txrx.c 		bd->bd_rate = (WCN36XX_BAND(wcn) == NL80211_BAND_5GHZ) ?
wcn               264 drivers/net/wireless/ath/wcn36xx/txrx.c int wcn36xx_start_tx(struct wcn36xx *wcn,
wcn               293 drivers/net/wireless/ath/wcn36xx/txrx.c 		spin_lock_irqsave(&wcn->dxe_lock, flags);
wcn               294 drivers/net/wireless/ath/wcn36xx/txrx.c 		if (wcn->tx_ack_skb) {
wcn               295 drivers/net/wireless/ath/wcn36xx/txrx.c 			spin_unlock_irqrestore(&wcn->dxe_lock, flags);
wcn               300 drivers/net/wireless/ath/wcn36xx/txrx.c 		wcn->tx_ack_skb = skb;
wcn               301 drivers/net/wireless/ath/wcn36xx/txrx.c 		spin_unlock_irqrestore(&wcn->dxe_lock, flags);
wcn               308 drivers/net/wireless/ath/wcn36xx/txrx.c 		ieee80211_stop_queues(wcn->hw);
wcn               313 drivers/net/wireless/ath/wcn36xx/txrx.c 		wcn36xx_set_tx_data(&bd, wcn, &vif_priv, sta_priv, skb, bcast);
wcn               316 drivers/net/wireless/ath/wcn36xx/txrx.c 		wcn36xx_set_tx_mgmt(&bd, wcn, &vif_priv, skb, bcast);
wcn               321 drivers/net/wireless/ath/wcn36xx/txrx.c 	ret = wcn36xx_dxe_tx_frame(wcn, vif_priv, &bd, skb, is_low);
wcn               326 drivers/net/wireless/ath/wcn36xx/txrx.c 		spin_lock_irqsave(&wcn->dxe_lock, flags);
wcn               327 drivers/net/wireless/ath/wcn36xx/txrx.c 		wcn->tx_ack_skb = NULL;
wcn               328 drivers/net/wireless/ath/wcn36xx/txrx.c 		spin_unlock_irqrestore(&wcn->dxe_lock, flags);
wcn               330 drivers/net/wireless/ath/wcn36xx/txrx.c 		ieee80211_wake_queues(wcn->hw);
wcn               162 drivers/net/wireless/ath/wcn36xx/txrx.h int  wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb);
wcn               163 drivers/net/wireless/ath/wcn36xx/txrx.h int wcn36xx_start_tx(struct wcn36xx *wcn,
wcn               259 drivers/net/wireless/ath/wcn36xx/wcn36xx.h static inline bool wcn36xx_is_fw_version(struct wcn36xx *wcn,
wcn               265 drivers/net/wireless/ath/wcn36xx/wcn36xx.h 	return (wcn->fw_major == major &&
wcn               266 drivers/net/wireless/ath/wcn36xx/wcn36xx.h 		wcn->fw_minor == minor &&
wcn               267 drivers/net/wireless/ath/wcn36xx/wcn36xx.h 		wcn->fw_version == version &&
wcn               268 drivers/net/wireless/ath/wcn36xx/wcn36xx.h 		wcn->fw_revision == revision);