/Linux-v4.19/drivers/net/wireless/ath/wil6210/ |
D | pm.c | 24 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 < wil->max_vifs; 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 < wil->max_vifs; i++) { in wil_pm_stop_all_net_queues() 44 struct wil6210_vif *vif = wil->vifs[i]; in wil_pm_stop_all_net_queues() [all …]
|
D | main.c | 186 static void wil_ring_fini_tx(struct wil6210_priv *wil, int id) in wil_ring_fini_tx() argument 188 struct wil_ring *ring = &wil->ring_tx[id]; in wil_ring_fini_tx() 189 struct wil_ring_tx_data *txdata = &wil->ring_tx_data[id]; in wil_ring_fini_tx() 191 lockdep_assert_held(&wil->mutex); in wil_ring_fini_tx() 196 wil_dbg_misc(wil, "vring_fini_tx: id=%d\n", id); in wil_ring_fini_tx() 211 if (test_bit(wil_status_napi_en, wil->status)) in wil_ring_fini_tx() 212 napi_synchronize(&wil->napi_tx); in wil_ring_fini_tx() 214 wil->txrx_ops.ring_fini_tx(wil, ring); in wil_ring_fini_tx() 222 struct wil6210_priv *wil = vif_to_wil(vif); in wil_disconnect_cid() local 225 struct wil_sta_info *sta = &wil->sta[cid]; in wil_disconnect_cid() [all …]
|
D | interrupt.c | 86 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 …]
|
D | pcie_bus.c | 39 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 …]
|
D | netdev.c | 23 bool wil_has_other_active_ifaces(struct wil6210_priv *wil, in wil_has_other_active_ifaces() argument 30 for (i = 0; i < wil->max_vifs; 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 …]
|
D | txrx_edma.c | 53 static int wil_find_free_sring(struct wil6210_priv *wil) in wil_find_free_sring() argument 58 if (!wil->srings[i].va) in wil_find_free_sring() 65 static void wil_sring_free(struct wil6210_priv *wil, in wil_sring_free() argument 68 struct device *dev = wil_to_dev(wil); in wil_sring_free() 76 wil_dbg_misc(wil, "status_ring_free, size(bytes)=%zu, 0x%p:%pad\n", in wil_sring_free() 84 static int wil_sring_alloc(struct wil6210_priv *wil, in wil_sring_alloc() argument 87 struct device *dev = wil_to_dev(wil); in wil_sring_alloc() 90 wil_dbg_misc(wil, "status_ring_alloc: size=%zu\n", sz); in wil_sring_alloc() 93 wil_err(wil, "Cannot allocate a zero size status ring\n"); in wil_sring_alloc() 106 wil_dbg_misc(wil, "status_ring[%d] 0x%p:%pad\n", sring->size, sring->va, in wil_sring_alloc() [all …]
|
D | p2p.c | 28 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 …]
|
D | fw_inc.c | 22 #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 …]
|
D | wmi.c | 279 void __iomem *wmi_buffer_block(struct wil6210_priv *wil, __le32 ptr_, u32 size) in wmi_buffer_block() argument 292 if (off > wil->bar_size - 4) in wmi_buffer_block() 294 if (size && ((off + size > wil->bar_size) || (off + size < off))) in wmi_buffer_block() 297 return wil->csr + off; in wmi_buffer_block() 300 void __iomem *wmi_buffer(struct wil6210_priv *wil, __le32 ptr_) in wmi_buffer() argument 302 return wmi_buffer_block(wil, ptr_, 0); in wmi_buffer() 308 void __iomem *wmi_addr(struct wil6210_priv *wil, u32 ptr) in wmi_addr() argument 319 if (off > wil->bar_size - 4) in wmi_addr() 322 return wil->csr + off; in wmi_addr() 325 int wmi_read_hdr(struct wil6210_priv *wil, __le32 ptr, in wmi_read_hdr() argument [all …]
|
D | cfg80211.c | 267 struct wil6210_priv *wil = vif_to_wil(vif); in wil_cid_fill_sinfo() local 276 struct wil_net_stats *stats = &wil->sta[cid].stats; in wil_cid_fill_sinfo() 281 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid, &cmd, sizeof(cmd), in wil_cid_fill_sinfo() 286 wil_dbg_wmi(wil, "Link status for CID %d MID %d: {\n" in wil_cid_fill_sinfo() 303 sinfo->generation = wil->sinfo_gen; in wil_cid_fill_sinfo() 327 wil->fw_capabilities)) in wil_cid_fill_sinfo() 341 struct wil6210_priv *wil = wiphy_to_wil(wiphy); in wil_cfg80211_get_station() local 344 int cid = wil_find_cid(wil, vif->mid, mac); in wil_cfg80211_get_station() 346 wil_dbg_misc(wil, "get_station: %pM CID %d MID %d\n", mac, cid, in wil_cfg80211_get_station() 359 static int wil_find_cid_by_idx(struct wil6210_priv *wil, u8 mid, int idx) in wil_find_cid_by_idx() argument [all …]
|
D | txrx.c | 76 bool wil_is_tx_idle(struct wil6210_priv *wil) in wil_is_tx_idle() argument 82 struct wil_ring *vring = &wil->ring_tx[i]; in wil_is_tx_idle() 83 int vring_index = vring - wil->ring_tx; in wil_is_tx_idle() 85 &wil->ring_tx_data[vring_index]; in wil_is_tx_idle() 96 if (test_bit(wil_status_napi_en, wil->status)) { in wil_is_tx_idle() 99 wil_dbg_pm(wil, in wil_is_tx_idle() 104 wil_dbg_ratelimited(wil, in wil_is_tx_idle() 107 napi_synchronize(&wil->napi_tx); in wil_is_tx_idle() 121 static int wil_vring_alloc(struct wil6210_priv *wil, struct wil_ring *vring) in wil_vring_alloc() argument 123 struct device *dev = wil_to_dev(wil); in wil_vring_alloc() [all …]
|
D | wil6210.h | 587 void (*configure_interrupt_moderation)(struct wil6210_priv *wil); 591 void (*ring_fini_tx)(struct wil6210_priv *wil, struct wil_ring *ring); 593 int (*tx_init)(struct wil6210_priv *wil); 594 void (*tx_fini)(struct wil6210_priv *wil); 600 int (*tx_ring_tso)(struct wil6210_priv *wil, struct wil6210_vif *vif, 604 int (*rx_init)(struct wil6210_priv *wil, u16 ring_size); 605 void (*rx_fini)(struct wil6210_priv *wil); 606 int (*wmi_addba_rx_resp)(struct wil6210_priv *wil, u8 mid, u8 cid, 609 void (*get_reorder_params)(struct wil6210_priv *wil, 614 int (*rx_crypto_check)(struct wil6210_priv *wil, struct sk_buff *skb); [all …]
|
D | ethtool.c | 27 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 …]
|
D | pmc.c | 36 void wil_pmc_init(struct wil6210_priv *wil) in wil_pmc_init() argument 38 memset(&wil->pmc, 0, sizeof(struct pmc_ctx)); in wil_pmc_init() 39 mutex_init(&wil->pmc.lock); in wil_pmc_init() 50 void wil_pmc_alloc(struct wil6210_priv *wil, in wil_pmc_alloc() argument 55 struct pmc_ctx *pmc = &wil->pmc; in wil_pmc_alloc() 56 struct device *dev = wil_to_dev(wil); in wil_pmc_alloc() 57 struct wil6210_vif *vif = ndev_to_vif(wil->main_ndev); in wil_pmc_alloc() 65 wil_err(wil, "ERROR pmc is already allocated\n"); in wil_pmc_alloc() 69 wil_err(wil, in wil_pmc_alloc() 77 wil_err(wil, in wil_pmc_alloc() [all …]
|
D | debugfs.c | 53 static void wil_print_desc_edma(struct seq_file *s, struct wil6210_priv *wil, in wil_print_desc_edma() argument 66 has_skb = wil->rx_buff_mgmt.buff_arr[buff_id].skb; in wil_print_desc_edma() 83 static void wil_print_ring(struct seq_file *s, struct wil6210_priv *wil, in wil_print_ring() argument 87 void __iomem *x = wmi_addr(wil, ring->hwtail); in wil_print_ring() 94 if (wil->use_enhanced_dma_hw && ring->is_rx) in wil_print_ring() 113 if (wil->use_enhanced_dma_hw) { in wil_print_ring() 114 wil_print_desc_edma(s, wil, ring, _s, _h, i); in wil_print_ring() 130 struct wil6210_priv *wil = s->private; in wil_ring_debugfs_show() local 132 wil_print_ring(s, wil, "rx", &wil->ring_rx, 'S', '_'); in wil_ring_debugfs_show() 134 for (i = 0; i < ARRAY_SIZE(wil->ring_tx); i++) { in wil_ring_debugfs_show() [all …]
|
D | rx_reorder.c | 93 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 …]
|
D | wil_crash_dump.c | 21 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 set_bit(wil_status_collecting_dumps, wil->status); in wil_fw_copy_crash_dump() 77 if (test_bit(wil_status_suspending, wil->status) || in wil_fw_copy_crash_dump() 78 test_bit(wil_status_suspended, wil->status) || in wil_fw_copy_crash_dump() 79 test_bit(wil_status_resetting, wil->status)) { in wil_fw_copy_crash_dump() 80 wil_err(wil, "cannot collect fw dump during suspend/reset\n"); in wil_fw_copy_crash_dump() [all …]
|
D | debug.c | 21 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
|
D | pmc.h | 21 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);
|
D | txrx_edma.h | 447 static inline int wil_rx_status_get_frame_type(struct wil6210_priv *wil, in wil_rx_status_get_frame_type() argument 450 if (wil->use_compressed_rx_status) in wil_rx_status_get_frame_type() 457 static inline int wil_rx_status_get_fc1(struct wil6210_priv *wil, void *msg) in wil_rx_status_get_fc1() argument 459 if (wil->use_compressed_rx_status) in wil_rx_status_get_fc1() 466 static inline __le16 wil_rx_status_get_seq(struct wil6210_priv *wil, void *msg) in wil_rx_status_get_seq() argument 468 if (wil->use_compressed_rx_status) in wil_rx_status_get_seq() 561 void wil_configure_interrupt_moderation_edma(struct wil6210_priv *wil); 562 int wil_tx_sring_handler(struct wil6210_priv *wil, 564 void wil_rx_handle_edma(struct wil6210_priv *wil, int *quota); 565 void wil_init_txrx_ops_edma(struct wil6210_priv *wil);
|
D | txrx.h | 594 static inline int wil_get_min_tx_ring_id(struct wil6210_priv *wil) in wil_get_min_tx_ring_id() argument 597 return wil->use_enhanced_dma_hw ? 1 : 0; in wil_get_min_tx_ring_id() 614 void wil_rx_reorder(struct wil6210_priv *wil, struct sk_buff *skb); 615 void wil_rx_bar(struct wil6210_priv *wil, struct wil6210_vif *vif, 617 struct wil_tid_ampdu_rx *wil_tid_ampdu_rx_alloc(struct wil6210_priv *wil, 619 void wil_tid_ampdu_rx_free(struct wil6210_priv *wil, 622 void wil_init_txrx_ops_legacy_dma(struct wil6210_priv *wil); 623 void wil_tx_latency_calc(struct wil6210_priv *wil, struct sk_buff *skb,
|
D | trace.h | 191 TP_PROTO(struct wil6210_priv *wil, u8 use_compressed, u16 buff_id, 193 TP_ARGS(wil, use_compressed, buff_id, msg), 211 __entry->type = wil_rx_status_get_frame_type(wil, 213 __entry->subtype = wil_rx_status_get_fc1(wil, msg); 214 __entry->seq = wil_rx_status_get_seq(wil, msg);
|
/Linux-v4.19/Documentation/devicetree/bindings/sram/ |
D | sram.txt | 46 constraint that code wil be run from the region and
|
/Linux-v4.19/Documentation/hwmon/ |
D | hwmon-kernel-api.txt | 55 function wil create a name sysfs attribute pointing to this name.
|
/Linux-v4.19/drivers/net/ |
D | Kconfig | 229 wil be called gtp.
|