| /kernel/linux/linux-5.10/drivers/net/wireless/microchip/wilc1000/ |
| D | wlan.c | 17 static inline void acquire_bus(struct wilc *wilc, enum bus_acquire acquire) in acquire_bus() argument 19 mutex_lock(&wilc->hif_cs); in acquire_bus() 21 chip_wakeup(wilc); in acquire_bus() 24 static inline void release_bus(struct wilc *wilc, enum bus_release release) in release_bus() argument 27 chip_allow_sleep(wilc); in release_bus() 28 mutex_unlock(&wilc->hif_cs); in release_bus() 31 static void wilc_wlan_txq_remove(struct wilc *wilc, struct txq_entry_t *tqe) in wilc_wlan_txq_remove() argument 34 wilc->txq_entries -= 1; in wilc_wlan_txq_remove() 43 struct wilc *wilc = vif->wilc; in wilc_wlan_txq_remove_from_head() local 45 spin_lock_irqsave(&wilc->txq_spinlock, flags); in wilc_wlan_txq_remove_from_head() [all …]
|
| D | netdev.c | 29 struct wilc *wilc = vif->wilc; in isr_uh_routine() local 31 if (wilc->close) { in isr_uh_routine() 42 struct wilc *wilc = vif->wilc; in isr_bh_routine() local 44 if (wilc->close) { in isr_bh_routine() 49 wilc_handle_isr(wilc); in isr_bh_routine() 57 struct wilc *wl = vif->wilc; in init_irq() 76 struct wilc *wilc = vif->wilc; in deinit_irq() local 79 if (wilc->dev_irq_num) in deinit_irq() 80 free_irq(wilc->dev_irq_num, wilc); in deinit_irq() 83 void wilc_mac_indicate(struct wilc *wilc) in wilc_mac_indicate() argument [all …]
|
| D | sdio.c | 61 static int wilc_sdio_cmd52(struct wilc *wilc, struct sdio_cmd52 *cmd) in wilc_sdio_cmd52() argument 63 struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev); in wilc_sdio_cmd52() 90 static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd) in wilc_sdio_cmd53() argument 92 struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev); in wilc_sdio_cmd53() 123 struct wilc *wilc; in wilc_sdio_probe() local 131 ret = wilc_cfg80211_init(&wilc, &func->dev, WILC_HIF_SDIO, in wilc_sdio_probe() 143 wilc->dev_irq_num = irq_num; in wilc_sdio_probe() 148 sdio_set_drvdata(func, wilc); in wilc_sdio_probe() 149 wilc->bus_data = sdio_priv; in wilc_sdio_probe() 150 wilc->dev = &func->dev; in wilc_sdio_probe() [all …]
|
| D | spi.c | 96 struct wilc *wilc; in wilc_bus_probe() local 103 ret = wilc_cfg80211_init(&wilc, &spi->dev, WILC_HIF_SPI, &wilc_hif_spi); in wilc_bus_probe() 109 spi_set_drvdata(spi, wilc); in wilc_bus_probe() 110 wilc->dev = &spi->dev; in wilc_bus_probe() 111 wilc->bus_data = spi_priv; in wilc_bus_probe() 112 wilc->dev_irq_num = spi->irq; in wilc_bus_probe() 114 wilc->rtc_clk = devm_clk_get(&spi->dev, "rtc_clk"); in wilc_bus_probe() 115 if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) { in wilc_bus_probe() 118 } else if (!IS_ERR(wilc->rtc_clk)) in wilc_bus_probe() 119 clk_prepare_enable(wilc->rtc_clk); in wilc_bus_probe() [all …]
|
| D | wlan.h | 322 struct wilc; 324 int (*hif_init)(struct wilc *wilc, bool resume); 325 int (*hif_deinit)(struct wilc *wilc); 326 int (*hif_read_reg)(struct wilc *wilc, u32 addr, u32 *data); 327 int (*hif_write_reg)(struct wilc *wilc, u32 addr, u32 data); 328 int (*hif_block_rx)(struct wilc *wilc, u32 addr, u8 *buf, u32 size); 329 int (*hif_block_tx)(struct wilc *wilc, u32 addr, u8 *buf, u32 size); 330 int (*hif_read_int)(struct wilc *wilc, u32 *int_status); 331 int (*hif_clear_int_ext)(struct wilc *wilc, u32 val); 332 int (*hif_read_size)(struct wilc *wilc, u32 *size); [all …]
|
| D | cfg80211.h | 12 int wilc_cfg80211_init(struct wilc **wilc, struct device *dev, int io_type, 14 struct wilc *wilc_create_wiphy(struct device *dev); 18 struct wilc_vif *wilc_netdev_interface(struct wilc *wl, const char *name, 20 void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked); 21 struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl, 27 struct wilc_vif *wilc_get_interface(struct wilc *wl); 28 struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl); 29 void wlan_deinit_locks(struct wilc *wilc);
|
| D | netdev.h | 185 struct wilc *wilc; member 200 struct wilc { struct 279 void wilc_frmw_to_host(struct wilc *wilc, u8 *buff, u32 size, u32 pkt_offset); argument 280 void wilc_mac_indicate(struct wilc *wilc); 281 void wilc_netdev_cleanup(struct wilc *wilc); 282 void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size); 284 struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
|
| D | wlan_cfg.h | 44 struct wilc; 47 int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, 49 void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size, 51 int wilc_wlan_cfg_init(struct wilc *wl); 52 void wilc_wlan_cfg_deinit(struct wilc *wl);
|
| D | cfg80211.c | 168 struct wilc *wl = vif->wilc; in cfg_connect_result() 222 struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl) in wilc_get_wl_to_vif() 236 struct wilc *wl = wiphy_priv(wiphy); in set_channel() 417 vif->wilc->op_ch = ch; in connect() 419 vif->wilc->sta_ch = ch; in connect() 435 vif->wilc->sta_ch = WILC_INVALID_CHANNEL; in connect() 459 struct wilc *wilc = vif->wilc; in disconnect() local 464 if (!wilc) in disconnect() 467 if (wilc->close) { in disconnect() 474 wilc->sta_ch = WILC_INVALID_CHANNEL; in disconnect() [all …]
|
| D | wlan_cfg.c | 136 static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size) in wilc_wlan_parse_response_frame() 195 static void wilc_wlan_parse_info_frame(struct wilc *wl, u8 *info) in wilc_wlan_parse_info_frame() 266 int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, in wilc_wlan_cfg_get_val() 314 void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size, in wilc_wlan_cfg_indicate_rx() argument 328 wilc_wlan_parse_response_frame(wilc, frame, size); in wilc_wlan_cfg_indicate_rx() 334 wilc_wlan_parse_info_frame(wilc, frame); in wilc_wlan_cfg_indicate_rx() 338 wilc_gnrl_async_info_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx() 342 wilc_network_info_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx() 346 wilc_scan_complete_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx() 355 int wilc_wlan_cfg_init(struct wilc *wl) in wilc_wlan_cfg_init() [all …]
|
| D | hif.h | 129 struct wilc; 209 void wilc_scan_complete_received(struct wilc *wilc, u8 *buffer, u32 length); 210 void wilc_network_info_received(struct wilc *wilc, u8 *buffer, u32 length); 211 void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *buffer, u32 length);
|
| D | hif.c | 74 if (!msg->vif || !msg->vif->wilc || !msg->vif->wilc->hif_workqueue) in wilc_enqueue_work() 77 if (!queue_work(msg->vif->wilc->hif_workqueue, &msg->work)) in wilc_enqueue_work() 84 * special purpose in wilc device, so we add 1 to the index to starts from 1. 92 /* We need to minus 1 from idx which is from wilc device to get real index 93 * of wilc->vif[], because we add 1 when pass to wilc device in the function 97 static struct wilc_vif *wilc_get_vif_from_idx(struct wilc *wilc, int idx) in wilc_get_vif_from_idx() argument 105 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_get_vif_from_idx() 1491 struct wilc *wilc = vif->wilc; in wilc_init() local 1501 if (wilc->clients_count == 0) in wilc_init() 1502 mutex_init(&wilc->deinit_lock); in wilc_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/microchip/wilc1000/ |
| D | wlan.c | 20 static inline void acquire_bus(struct wilc *wilc, enum bus_acquire acquire) in acquire_bus() argument 22 mutex_lock(&wilc->hif_cs); in acquire_bus() 23 if (acquire == WILC_BUS_ACQUIRE_AND_WAKEUP && wilc->power_save_mode) in acquire_bus() 24 chip_wakeup(wilc); in acquire_bus() 27 static inline void release_bus(struct wilc *wilc, enum bus_release release) in release_bus() argument 29 if (release == WILC_BUS_RELEASE_ALLOW_SLEEP && wilc->power_save_mode) in release_bus() 30 chip_allow_sleep(wilc); in release_bus() 31 mutex_unlock(&wilc->hif_cs); in release_bus() 34 static void wilc_wlan_txq_remove(struct wilc *wilc, u8 q_num, in wilc_wlan_txq_remove() argument 38 wilc->txq_entries -= 1; in wilc_wlan_txq_remove() [all …]
|
| D | sdio.c | 63 static int wilc_sdio_cmd52(struct wilc *wilc, struct sdio_cmd52 *cmd) in wilc_sdio_cmd52() argument 65 struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev); in wilc_sdio_cmd52() 92 static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd) in wilc_sdio_cmd53() argument 94 struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev); in wilc_sdio_cmd53() 96 struct wilc_sdio *sdio_priv = wilc->bus_data; in wilc_sdio_cmd53() 138 struct wilc *wilc; in wilc_sdio_probe() local 152 ret = wilc_cfg80211_init(&wilc, &func->dev, WILC_HIF_SDIO, in wilc_sdio_probe() 162 wilc->dev_irq_num = irq_num; in wilc_sdio_probe() 167 sdio_set_drvdata(func, wilc); in wilc_sdio_probe() 168 wilc->bus_data = sdio_priv; in wilc_sdio_probe() [all …]
|
| D | netdev.c | 28 struct wilc *wilc = user_data; in isr_uh_routine() local 30 if (wilc->close) { in isr_uh_routine() 39 struct wilc *wilc = userdata; in isr_bh_routine() local 41 if (wilc->close) { in isr_bh_routine() 46 wilc_handle_isr(wilc); in isr_bh_routine() 54 struct wilc *wl = vif->wilc; in init_irq() 73 struct wilc *wilc = vif->wilc; in deinit_irq() local 76 if (wilc->dev_irq_num) in deinit_irq() 77 free_irq(wilc->dev_irq_num, wilc); in deinit_irq() 80 void wilc_mac_indicate(struct wilc *wilc) in wilc_mac_indicate() argument [all …]
|
| D | spi.c | 35 * For CMD_SINGLE_READ and CMD_INTERNAL_READ, WILC may insert one or 57 static int wilc_spi_reset(struct wilc *wilc); 161 static int wilc_parse_gpios(struct wilc *wilc) in wilc_parse_gpios() argument 163 struct spi_device *spi = to_spi_device(wilc->dev); in wilc_parse_gpios() 164 struct wilc_spi *spi_priv = wilc->bus_data; in wilc_parse_gpios() 186 static void wilc_wlan_power(struct wilc *wilc, bool on) in wilc_wlan_power() argument 188 struct wilc_spi *spi_priv = wilc->bus_data; in wilc_wlan_power() 208 struct wilc *wilc; in wilc_bus_probe() local 215 ret = wilc_cfg80211_init(&wilc, &spi->dev, WILC_HIF_SPI, &wilc_hif_spi); in wilc_bus_probe() 219 spi_set_drvdata(spi, wilc); in wilc_bus_probe() [all …]
|
| D | wlan.h | 359 struct wilc; 361 int (*hif_init)(struct wilc *wilc, bool resume); 362 int (*hif_deinit)(struct wilc *wilc); 363 int (*hif_read_reg)(struct wilc *wilc, u32 addr, u32 *data); 364 int (*hif_write_reg)(struct wilc *wilc, u32 addr, u32 data); 365 int (*hif_block_rx)(struct wilc *wilc, u32 addr, u8 *buf, u32 size); 366 int (*hif_block_tx)(struct wilc *wilc, u32 addr, u8 *buf, u32 size); 367 int (*hif_read_int)(struct wilc *wilc, u32 *int_status); 368 int (*hif_clear_int_ext)(struct wilc *wilc, u32 val); 369 int (*hif_read_size)(struct wilc *wilc, u32 *size); [all …]
|
| D | cfg80211.h | 11 int wilc_cfg80211_init(struct wilc **wilc, struct device *dev, int io_type, 13 struct wilc *wilc_create_wiphy(struct device *dev); 17 void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked); 18 struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl, 24 struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl); 25 void wlan_deinit_locks(struct wilc *wilc);
|
| D | netdev.h | 176 struct wilc *wilc; member 199 struct wilc { struct 280 void wilc_frmw_to_host(struct wilc *wilc, u8 *buff, u32 size, u32 pkt_offset); argument 281 void wilc_mac_indicate(struct wilc *wilc); 282 void wilc_netdev_cleanup(struct wilc *wilc); 283 void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size, bool is_auth); 286 struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
|
| D | wlan_cfg.h | 44 struct wilc; 47 int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, 49 void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size, 51 int wilc_wlan_cfg_init(struct wilc *wl); 52 void wilc_wlan_cfg_deinit(struct wilc *wl);
|
| D | cfg80211.c | 170 struct wilc *wl = vif->wilc; in cfg_connect_result() 224 struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl) in wilc_get_wl_to_vif() 238 struct wilc *wl = wiphy_priv(wiphy); in set_channel() 407 vif->wilc->op_ch = ch; in connect() 409 vif->wilc->sta_ch = ch; in connect() 432 vif->wilc->sta_ch = WILC_INVALID_CHANNEL; in connect() 456 struct wilc *wilc = vif->wilc; in disconnect() local 461 if (!wilc) in disconnect() 464 if (wilc->close) { in disconnect() 471 wilc->sta_ch = WILC_INVALID_CHANNEL; in disconnect() [all …]
|
| D | wlan_cfg.c | 138 static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size) in wilc_wlan_parse_response_frame() 198 static void wilc_wlan_parse_info_frame(struct wilc *wl, u8 *info) in wilc_wlan_parse_info_frame() 269 int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, in wilc_wlan_cfg_get_val() 317 void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size, in wilc_wlan_cfg_indicate_rx() argument 331 wilc_wlan_parse_response_frame(wilc, frame, size); in wilc_wlan_cfg_indicate_rx() 337 wilc_wlan_parse_info_frame(wilc, frame); in wilc_wlan_cfg_indicate_rx() 341 wilc_gnrl_async_info_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx() 345 wilc_network_info_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx() 349 wilc_scan_complete_received(wilc, frame - 4, size + 4); in wilc_wlan_cfg_indicate_rx() 358 int wilc_wlan_cfg_init(struct wilc *wl) in wilc_wlan_cfg_init() [all …]
|
| D | hif.h | 129 struct wilc; 210 void wilc_scan_complete_received(struct wilc *wilc, u8 *buffer, u32 length); 211 void wilc_network_info_received(struct wilc *wilc, u8 *buffer, u32 length); 212 void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *buffer, u32 length);
|
| D | hif.c | 79 if (!msg->vif || !msg->vif->wilc || !msg->vif->wilc->hif_workqueue) in wilc_enqueue_work() 82 if (!queue_work(msg->vif->wilc->hif_workqueue, &msg->work)) in wilc_enqueue_work() 89 * special purpose in wilc device, so we add 1 to the index to starts from 1. 97 /* We need to minus 1 from idx which is from wilc device to get real index 98 * of wilc->vif[], because we add 1 when pass to wilc device in the function 102 static struct wilc_vif *wilc_get_vif_from_idx(struct wilc *wilc, int idx) in wilc_get_vif_from_idx() argument 110 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_get_vif_from_idx() 1547 mutex_lock(&vif->wilc->deinit_lock); in wilc_deinit() 1564 mutex_unlock(&vif->wilc->deinit_lock); in wilc_deinit() 1568 void wilc_network_info_received(struct wilc *wilc, u8 *buffer, u32 length) in wilc_network_info_received() argument [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/wireless/ |
| D | microchip,wilc1000.yaml | 7 title: Microchip WILC wireless devicetree bindings 15 describes the binding to connect wilc devices.
|