Home
last modified time | relevance | path

Searched refs:wil (Results 1 – 25 of 29) sorted by relevance

12

/Linux-v5.4/drivers/net/wireless/ath/wil6210/
Dpm.c24 static void wil_pm_wake_connected_net_queues(struct wil6210_priv *wil) in wil_pm_wake_connected_net_queues() argument
28 mutex_lock(&wil->vif_mutex); in wil_pm_wake_connected_net_queues()
29 for (i = 0; i < GET_MAX_VIFS(wil); i++) { in wil_pm_wake_connected_net_queues()
30 struct wil6210_vif *vif = wil->vifs[i]; in wil_pm_wake_connected_net_queues()
33 wil_update_net_queues_bh(wil, vif, NULL, false); in wil_pm_wake_connected_net_queues()
35 mutex_unlock(&wil->vif_mutex); in wil_pm_wake_connected_net_queues()
38 static void wil_pm_stop_all_net_queues(struct wil6210_priv *wil) in wil_pm_stop_all_net_queues() argument
42 mutex_lock(&wil->vif_mutex); in wil_pm_stop_all_net_queues()
43 for (i = 0; i < GET_MAX_VIFS(wil); i++) { in wil_pm_stop_all_net_queues()
44 struct wil6210_vif *vif = wil->vifs[i]; in wil_pm_stop_all_net_queues()
[all …]
Dmain.c190 int wil_mem_access_lock(struct wil6210_priv *wil) in wil_mem_access_lock() argument
192 if (!down_read_trylock(&wil->mem_lock)) in wil_mem_access_lock()
195 if (test_bit(wil_status_suspending, wil->status) || in wil_mem_access_lock()
196 test_bit(wil_status_suspended, wil->status)) { in wil_mem_access_lock()
197 up_read(&wil->mem_lock); in wil_mem_access_lock()
204 void wil_mem_access_unlock(struct wil6210_priv *wil) in wil_mem_access_unlock() argument
206 up_read(&wil->mem_lock); in wil_mem_access_unlock()
209 static void wil_ring_fini_tx(struct wil6210_priv *wil, int id) in wil_ring_fini_tx() argument
211 struct wil_ring *ring = &wil->ring_tx[id]; in wil_ring_fini_tx()
212 struct wil_ring_tx_data *txdata = &wil->ring_tx_data[id]; in wil_ring_fini_tx()
[all …]
Dinterrupt.c86 static void wil6210_mask_irq_tx(struct wil6210_priv *wil) in wil6210_mask_irq_tx() argument
88 wil_w(wil, RGF_DMA_EP_TX_ICR + offsetof(struct RGF_ICR, IMS), in wil6210_mask_irq_tx()
92 static void wil6210_mask_irq_tx_edma(struct wil6210_priv *wil) in wil6210_mask_irq_tx_edma() argument
94 wil_w(wil, RGF_INT_GEN_TX_ICR + offsetof(struct RGF_ICR, IMS), in wil6210_mask_irq_tx_edma()
98 static void wil6210_mask_irq_rx(struct wil6210_priv *wil) in wil6210_mask_irq_rx() argument
100 wil_w(wil, RGF_DMA_EP_RX_ICR + offsetof(struct RGF_ICR, IMS), in wil6210_mask_irq_rx()
104 static void wil6210_mask_irq_rx_edma(struct wil6210_priv *wil) in wil6210_mask_irq_rx_edma() argument
106 wil_w(wil, RGF_INT_GEN_RX_ICR + offsetof(struct RGF_ICR, IMS), in wil6210_mask_irq_rx_edma()
110 static void wil6210_mask_irq_misc(struct wil6210_priv *wil, bool mask_halp) in wil6210_mask_irq_misc() argument
112 wil_dbg_irq(wil, "mask_irq_misc: mask_halp(%s)\n", in wil6210_mask_irq_misc()
[all …]
Dpcie_bus.c39 int wil_set_capabilities(struct wil6210_priv *wil) in wil_set_capabilities() argument
42 u32 jtag_id = wil_r(wil, RGF_USER_JTAG_DEV_ID); in wil_set_capabilities()
43 u8 chip_revision = (wil_r(wil, RGF_USER_REVISION_ID) & in wil_set_capabilities()
48 bitmap_zero(wil->hw_capa, hw_capa_last); in wil_set_capabilities()
49 bitmap_zero(wil->fw_capabilities, WMI_FW_CAPABILITY_MAX); in wil_set_capabilities()
50 bitmap_zero(wil->platform_capa, WIL_PLATFORM_CAPA_MAX); in wil_set_capabilities()
51 wil->wil_fw_name = ftm_mode ? WIL_FW_NAME_FTM_DEFAULT : in wil_set_capabilities()
53 wil->chip_revision = chip_revision; in wil_set_capabilities()
61 wil->hw_name = "Sparrow D0"; in wil_set_capabilities()
62 wil->hw_version = HW_VER_SPARROW_D0; in wil_set_capabilities()
[all …]
Dnetdev.c23 bool wil_has_other_active_ifaces(struct wil6210_priv *wil, in wil_has_other_active_ifaces() argument
30 for (i = 0; i < GET_MAX_VIFS(wil); i++) { in wil_has_other_active_ifaces()
31 vif = wil->vifs[i]; in wil_has_other_active_ifaces()
44 bool wil_has_active_ifaces(struct wil6210_priv *wil, bool up, bool ok) in wil_has_active_ifaces() argument
47 return wil_has_other_active_ifaces(wil, NULL, up, ok); in wil_has_active_ifaces()
52 struct wil6210_priv *wil = ndev_to_wil(ndev); in wil_open() local
55 wil_dbg_misc(wil, "open\n"); in wil_open()
58 test_bit(WMI_FW_CAPABILITY_WMI_ONLY, wil->fw_capabilities)) { in wil_open()
59 wil_err(wil, "while in debug_fw or wmi_only mode\n"); in wil_open()
63 if (!wil_has_other_active_ifaces(wil, ndev, true, false)) { in wil_open()
[all …]
Dtxrx_edma.c58 static int wil_find_free_sring(struct wil6210_priv *wil) in wil_find_free_sring() argument
63 if (!wil->srings[i].va) in wil_find_free_sring()
70 static void wil_sring_free(struct wil6210_priv *wil, in wil_sring_free() argument
73 struct device *dev = wil_to_dev(wil); in wil_sring_free()
81 wil_dbg_misc(wil, "status_ring_free, size(bytes)=%zu, 0x%p:%pad\n", in wil_sring_free()
89 static int wil_sring_alloc(struct wil6210_priv *wil, in wil_sring_alloc() argument
92 struct device *dev = wil_to_dev(wil); in wil_sring_alloc()
95 wil_dbg_misc(wil, "status_ring_alloc: size=%zu\n", sz); in wil_sring_alloc()
98 wil_err(wil, "Cannot allocate a zero size status ring\n"); in wil_sring_alloc()
111 wil_dbg_misc(wil, "status_ring[%d] 0x%p:%pad\n", sring->size, sring->va, in wil_sring_alloc()
[all …]
Dfw_inc.c22 #define wil_err_fw(wil, fmt, arg...) wil_err(wil, "ERR[ FW ]" fmt, ##arg) argument
23 #define wil_dbg_fw(wil, fmt, arg...) wil_dbg(wil, "DBG[ FW ]" fmt, ##arg) argument
30 static bool wil_fw_addr_check(struct wil6210_priv *wil, in wil_fw_addr_check() argument
34 *ioaddr = wmi_buffer_block(wil, val, size); in wil_fw_addr_check()
36 wil_err_fw(wil, "bad %s: 0x%08x\n", msg, le32_to_cpu(val)); in wil_fw_addr_check()
50 static int wil_fw_verify(struct wil6210_priv *wil, const u8 *data, size_t size) in wil_fw_verify() argument
59 wil_err_fw(wil, "image size not aligned: %zu\n", size); in wil_fw_verify()
64 wil_err_fw(wil, "file too short: %zu bytes\n", size); in wil_fw_verify()
70 wil_err_fw(wil, "no file header\n"); in wil_fw_verify()
78 wil_err_fw(wil, "data length not aligned: %lu\n", (ulong)dlen); in wil_fw_verify()
[all …]
Dp2p.c28 struct wil6210_priv *wil = vif_to_wil(vif); in wil_p2p_start_listen() local
33 lockdep_assert_held(&wil->mutex); in wil_p2p_start_listen()
37 wil_err(wil, "wmi_p2p_cfg failed\n"); in wil_p2p_start_listen()
43 wil_err(wil, "wmi_set_ssid failed\n"); in wil_p2p_start_listen()
49 wil_err(wil, "wmi_start_listen failed\n"); in wil_p2p_start_listen()
73 struct wil6210_priv *wil = vif_to_wil(vif); in wil_p2p_search() local
77 wil_dbg_misc(wil, "p2p_search: channel %d\n", P2P_DMG_SOCIAL_CHANNEL); in wil_p2p_search()
79 lockdep_assert_held(&wil->mutex); in wil_p2p_search()
82 wil_err(wil, "search failed. discovery already ongoing\n"); in wil_p2p_search()
89 wil_err(wil, "wmi_p2p_cfg failed\n"); in wil_p2p_search()
[all …]
Dwmi.c288 void __iomem *wmi_buffer_block(struct wil6210_priv *wil, __le32 ptr_, u32 size) in wmi_buffer_block() argument
301 if (off > wil->bar_size - 4) in wmi_buffer_block()
303 if (size && ((off + size > wil->bar_size) || (off + size < off))) in wmi_buffer_block()
306 return wil->csr + off; in wmi_buffer_block()
309 void __iomem *wmi_buffer(struct wil6210_priv *wil, __le32 ptr_) in wmi_buffer() argument
311 return wmi_buffer_block(wil, ptr_, 0); in wmi_buffer()
317 void __iomem *wmi_addr(struct wil6210_priv *wil, u32 ptr) in wmi_addr() argument
328 if (off > wil->bar_size - 4) in wmi_addr()
331 return wil->csr + off; in wmi_addr()
334 int wmi_read_hdr(struct wil6210_priv *wil, __le32 ptr, in wmi_read_hdr() argument
[all …]
Dtxrx.c74 bool wil_is_tx_idle(struct wil6210_priv *wil) in wil_is_tx_idle() argument
78 int min_ring_id = wil_get_min_tx_ring_id(wil); in wil_is_tx_idle()
81 struct wil_ring *vring = &wil->ring_tx[i]; in wil_is_tx_idle()
82 int vring_index = vring - wil->ring_tx; in wil_is_tx_idle()
84 &wil->ring_tx_data[vring_index]; in wil_is_tx_idle()
95 if (test_bit(wil_status_napi_en, wil->status)) { in wil_is_tx_idle()
98 wil_dbg_pm(wil, in wil_is_tx_idle()
103 wil_dbg_ratelimited(wil, in wil_is_tx_idle()
106 napi_synchronize(&wil->napi_tx); in wil_is_tx_idle()
120 static int wil_vring_alloc(struct wil6210_priv *wil, struct wil_ring *vring) in wil_vring_alloc() argument
[all …]
Dcfg80211.c116 static int wil_num_supported_channels(struct wil6210_priv *wil) in wil_num_supported_channels() argument
120 if (!test_bit(WMI_FW_CAPABILITY_CHANNEL_4, wil->fw_capabilities)) in wil_num_supported_channels()
126 void update_supported_bands(struct wil6210_priv *wil) in update_supported_bands() argument
128 struct wiphy *wiphy = wil_to_wiphy(wil); in update_supported_bands()
130 wil_dbg_misc(wil, "update supported bands"); in update_supported_bands()
133 wil_num_supported_channels(wil); in update_supported_bands()
135 if (test_bit(WMI_FW_CAPABILITY_CHANNEL_BONDING, wil->fw_capabilities)) { in update_supported_bands()
444 struct wil6210_priv *wil = vif_to_wil(vif); in wil_cid_fill_sinfo() local
453 struct wil_net_stats *stats = &wil->sta[cid].stats; in wil_cid_fill_sinfo()
459 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid, &cmd, sizeof(cmd), in wil_cid_fill_sinfo()
[all …]
Dwil6210.h603 void (*configure_interrupt_moderation)(struct wil6210_priv *wil);
607 void (*ring_fini_tx)(struct wil6210_priv *wil, struct wil_ring *ring);
609 int (*tx_init)(struct wil6210_priv *wil);
610 void (*tx_fini)(struct wil6210_priv *wil);
616 int (*tx_ring_tso)(struct wil6210_priv *wil, struct wil6210_vif *vif,
622 int (*rx_init)(struct wil6210_priv *wil, uint ring_order);
623 void (*rx_fini)(struct wil6210_priv *wil);
624 int (*wmi_addba_rx_resp)(struct wil6210_priv *wil, u8 mid, u8 cid,
627 void (*get_reorder_params)(struct wil6210_priv *wil,
632 int (*rx_crypto_check)(struct wil6210_priv *wil, struct sk_buff *skb);
[all …]
Ddebugfs.c53 static void wil_print_desc_edma(struct seq_file *s, struct wil6210_priv *wil, in wil_print_desc_edma() argument
66 if (wil->rx_buff_mgmt.buff_arr && in wil_print_desc_edma()
67 wil_val_in_range(buff_id, 0, wil->rx_buff_mgmt.size)) in wil_print_desc_edma()
68 has_skb = wil->rx_buff_mgmt.buff_arr[buff_id].skb; in wil_print_desc_edma()
85 static void wil_print_ring(struct seq_file *s, struct wil6210_priv *wil, in wil_print_ring() argument
96 if (wil->use_enhanced_dma_hw && ring->is_rx) in wil_print_ring()
101 if (wil->use_enhanced_dma_hw) { in wil_print_ring()
103 WIL_RX_DESC_RING_ID : ring - wil->ring_tx; in wil_print_ring()
108 x = wmi_addr(wil, RGF_DMA_SCM_SUBQ_CONS + 4 * (ring_id / 2)); in wil_print_ring()
115 x = wmi_addr(wil, ring->hwtail); in wil_print_ring()
[all …]
Dethtool.c27 struct wil6210_priv *wil = ndev_to_wil(ndev); in wil_ethtoolops_begin() local
29 mutex_lock(&wil->mutex); in wil_ethtoolops_begin()
31 wil_dbg_misc(wil, "ethtoolops_begin\n"); in wil_ethtoolops_begin()
38 struct wil6210_priv *wil = ndev_to_wil(ndev); in wil_ethtoolops_complete() local
40 wil_dbg_misc(wil, "ethtoolops_complete\n"); in wil_ethtoolops_complete()
42 mutex_unlock(&wil->mutex); in wil_ethtoolops_complete()
48 struct wil6210_priv *wil = ndev_to_wil(ndev); in wil_ethtoolops_get_coalesce() local
53 wil_dbg_misc(wil, "ethtoolops_get_coalesce\n"); in wil_ethtoolops_get_coalesce()
55 ret = wil_pm_runtime_get(wil); in wil_ethtoolops_get_coalesce()
59 tx_itr_en = wil_r(wil, RGF_DMA_ITR_TX_CNT_CTL); in wil_ethtoolops_get_coalesce()
[all …]
Dpmc.c37 void wil_pmc_init(struct wil6210_priv *wil) in wil_pmc_init() argument
39 memset(&wil->pmc, 0, sizeof(struct pmc_ctx)); in wil_pmc_init()
40 mutex_init(&wil->pmc.lock); in wil_pmc_init()
51 void wil_pmc_alloc(struct wil6210_priv *wil, in wil_pmc_alloc() argument
56 struct pmc_ctx *pmc = &wil->pmc; in wil_pmc_alloc()
57 struct device *dev = wil_to_dev(wil); in wil_pmc_alloc()
58 struct wil6210_vif *vif = ndev_to_vif(wil->main_ndev); in wil_pmc_alloc()
66 wil_err(wil, "ERROR pmc is already allocated\n"); in wil_pmc_alloc()
70 wil_err(wil, in wil_pmc_alloc()
78 wil_err(wil, in wil_pmc_alloc()
[all …]
Drx_reorder.c93 void wil_rx_reorder(struct wil6210_priv *wil, struct sk_buff *skb) in wil_rx_reorder() argument
105 wil->txrx_ops.get_reorder_params(wil, skb, &tid, &cid, &mid, &seq, in wil_rx_reorder()
107 sta = &wil->sta[cid]; in wil_rx_reorder()
109 wil_dbg_txrx(wil, "MID %d CID %d TID %d Seq 0x%03x mcast %01x\n", in wil_rx_reorder()
112 vif = wil->vifs[mid]; in wil_rx_reorder()
114 wil_dbg_txrx(wil, "invalid VIF, mid %d\n", mid); in wil_rx_reorder()
131 wil_dbg_txrx(wil, "Rx drop: dup mcast seq 0x%03x\n", in wil_rx_reorder()
156 wil_err(wil, in wil_rx_reorder()
163 wil_err(wil, in wil_rx_reorder()
175 wil_dbg_txrx(wil, "Rx drop: old seq 0x%03x head 0x%03x\n", in wil_rx_reorder()
[all …]
Dwil_crash_dump.c21 static int wil_fw_get_crash_dump_bounds(struct wil6210_priv *wil, in wil_fw_get_crash_dump_bounds() argument
58 int wil_fw_copy_crash_dump(struct wil6210_priv *wil, void *dest, u32 size) in wil_fw_copy_crash_dump() argument
65 if (wil_fw_get_crash_dump_bounds(wil, &dump_size, &host_min)) { in wil_fw_copy_crash_dump()
66 wil_err(wil, "fail to obtain crash dump size\n"); in wil_fw_copy_crash_dump()
71 wil_err(wil, "not enough space for dump. Need %d have %d\n", in wil_fw_copy_crash_dump()
76 rc = wil_mem_access_lock(wil); in wil_fw_copy_crash_dump()
87 data = (void * __force)wil->csr + HOSTADDR(map->host); in wil_fw_copy_crash_dump()
91 wil_dbg_misc(wil, in wil_fw_copy_crash_dump()
98 wil_mem_access_unlock(wil); in wil_fw_copy_crash_dump()
103 void wil_fw_core_dump(struct wil6210_priv *wil) in wil_fw_core_dump() argument
[all …]
Ddebug.c21 void __wil_err(struct wil6210_priv *wil, const char *fmt, ...) in __wil_err() argument
29 netdev_err(wil->main_ndev, "%pV", &vaf); in __wil_err()
34 void __wil_err_ratelimited(struct wil6210_priv *wil, const char *fmt, ...) in __wil_err_ratelimited() argument
45 netdev_err(wil->main_ndev, "%pV", &vaf); in __wil_err_ratelimited()
50 void wil_dbg_ratelimited(const struct wil6210_priv *wil, const char *fmt, ...) in wil_dbg_ratelimited() argument
61 netdev_dbg(wil->main_ndev, "%pV", &vaf); in wil_dbg_ratelimited()
66 void __wil_info(struct wil6210_priv *wil, const char *fmt, ...) in __wil_info() argument
74 netdev_info(wil->main_ndev, "%pV", &vaf); in __wil_info()
79 void wil_dbg_trace(struct wil6210_priv *wil, const char *fmt, ...) in wil_dbg_trace() argument
Dpmc.h21 void wil_pmc_init(struct wil6210_priv *wil);
22 void wil_pmc_alloc(struct wil6210_priv *wil,
24 void wil_pmc_free(struct wil6210_priv *wil, int send_pmc_cmd);
25 int wil_pmc_last_cmd_status(struct wil6210_priv *wil);
Dtxrx_edma.h453 static inline int wil_rx_status_get_frame_type(struct wil6210_priv *wil, in wil_rx_status_get_frame_type() argument
456 if (wil->use_compressed_rx_status) in wil_rx_status_get_frame_type()
463 static inline int wil_rx_status_get_fc1(struct wil6210_priv *wil, void *msg) in wil_rx_status_get_fc1() argument
465 if (wil->use_compressed_rx_status) in wil_rx_status_get_fc1()
472 static inline __le16 wil_rx_status_get_seq(struct wil6210_priv *wil, void *msg) in wil_rx_status_get_seq() argument
474 if (wil->use_compressed_rx_status) in wil_rx_status_get_seq()
606 void wil_configure_interrupt_moderation_edma(struct wil6210_priv *wil);
607 int wil_tx_sring_handler(struct wil6210_priv *wil,
609 void wil_rx_handle_edma(struct wil6210_priv *wil, int *quota);
610 void wil_init_txrx_ops_edma(struct wil6210_priv *wil);
Dtxrx.h655 static inline int wil_get_min_tx_ring_id(struct wil6210_priv *wil) in wil_get_min_tx_ring_id() argument
658 return wil->use_enhanced_dma_hw ? 1 : 0; in wil_get_min_tx_ring_id()
691 void wil_rx_reorder(struct wil6210_priv *wil, struct sk_buff *skb);
692 void wil_rx_bar(struct wil6210_priv *wil, struct wil6210_vif *vif,
694 struct wil_tid_ampdu_rx *wil_tid_ampdu_rx_alloc(struct wil6210_priv *wil,
696 void wil_tid_ampdu_rx_free(struct wil6210_priv *wil,
699 void wil_init_txrx_ops_legacy_dma(struct wil6210_priv *wil);
700 void wil_tx_latency_calc(struct wil6210_priv *wil, struct sk_buff *skb,
Dtrace.h192 TP_PROTO(struct wil6210_priv *wil, u8 use_compressed, u16 buff_id,
194 TP_ARGS(wil, use_compressed, buff_id, msg),
212 __entry->type = wil_rx_status_get_frame_type(wil,
214 __entry->subtype = wil_rx_status_get_fc1(wil, msg);
215 __entry->seq = wil_rx_status_get_seq(wil, msg);
/Linux-v5.4/Documentation/devicetree/bindings/sram/
Dsram.txt46 constraint that code wil be run from the region and
/Linux-v5.4/Documentation/hwmon/
Dhwmon-kernel-api.rst56 function wil create a name sysfs attribute pointing to this name.
/Linux-v5.4/
D.mailmap160 Matthew Wilcox <willy@infradead.org> <matthew@wil.cx>

12