/linux/drivers/net/wireless/ath/ath12k/ |
H A D | htc.c | 22 /* FW/HTC requires 4-byte aligned streams */ in ath12k_htc_alloc_skb() 24 ath12k_warn(ab, "Unaligned HTC tx skb\n"); in ath12k_htc_alloc_skb() 69 spin_lock_bh(&ep->htc->tx_lock); in ath12k_htc_prepare_tx_skb() 71 spin_unlock_bh(&ep->htc->tx_lock); in ath12k_htc_prepare_tx_skb() 74 int ath12k_htc_send(struct ath12k_htc *htc, in ath12k_htc_send() argument 78 struct ath12k_htc_ep *ep = &htc->endpoint[eid]; in ath12k_htc_send() 80 struct device *dev = htc->ab->dev; in ath12k_htc_send() 81 struct ath12k_base *ab = htc->ab; in ath12k_htc_send() 93 credits = DIV_ROUND_UP(skb->len, htc->target_credit_size); in ath12k_htc_send() 94 spin_lock_bh(&htc->tx_lock); in ath12k_htc_send() [all …]
|
H A D | htc.h | 155 /* HTC FRAME structure layout draft 162 * HTC HEADER 166 * HTC message | payload 170 * HTC Record 265 struct ath12k_htc *htc; member 305 int ath12k_htc_wait_target(struct ath12k_htc *htc); 306 int ath12k_htc_start(struct ath12k_htc *htc); 307 int ath12k_htc_connect_service(struct ath12k_htc *htc, 310 int ath12k_htc_send(struct ath12k_htc *htc, enum ath12k_htc_ep_id eid,
|
/linux/drivers/net/wireless/ath/ath11k/ |
H A D | htc.c | 22 /* FW/HTC requires 4-byte aligned streams */ in ath11k_htc_alloc_skb() 24 ath11k_warn(ab, "Unaligned HTC tx skb\n"); in ath11k_htc_alloc_skb() 69 spin_lock_bh(&ep->htc->tx_lock); in ath11k_htc_prepare_tx_skb() 71 spin_unlock_bh(&ep->htc->tx_lock); in ath11k_htc_prepare_tx_skb() 74 int ath11k_htc_send(struct ath11k_htc *htc, in ath11k_htc_send() argument 78 struct ath11k_htc_ep *ep = &htc->endpoint[eid]; in ath11k_htc_send() 80 struct device *dev = htc->ab->dev; in ath11k_htc_send() 81 struct ath11k_base *ab = htc->ab; in ath11k_htc_send() 95 credits = DIV_ROUND_UP(skb->len, htc->target_credit_size); in ath11k_htc_send() 96 spin_lock_bh(&htc->tx_lock); in ath11k_htc_send() [all …]
|
H A D | htc.h | 246 struct ath11k_htc *htc; member 286 int ath11k_htc_wait_target(struct ath11k_htc *htc); 287 int ath11k_htc_start(struct ath11k_htc *htc); 288 int ath11k_htc_connect_service(struct ath11k_htc *htc, 291 int ath11k_htc_send(struct ath11k_htc *htc, enum ath11k_htc_ep_id eid,
|
H A D | Makefile | 10 htc.o \
|
/linux/drivers/net/wireless/ath/ath10k/ |
H A D | htc.c | 44 static inline void ath10k_htc_restore_tx_skb(struct ath10k_htc *htc, in ath10k_htc_restore_tx_skb() argument 49 if (htc->ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL) in ath10k_htc_restore_tx_skb() 50 dma_unmap_single(htc->ar->dev, skb_cb->paddr, skb->len, DMA_TO_DEVICE); in ath10k_htc_restore_tx_skb() 57 struct ath10k *ar = ep->htc->ar; in ath10k_htc_notify_tx_completion() 73 ath10k_htc_restore_tx_skb(ep->htc, skb); in ath10k_htc_notify_tx_completion() 86 ep->ep_ops.ep_tx_complete(ep->htc->ar, skb); in ath10k_htc_notify_tx_completion() 104 spin_lock_bh(&ep->htc->tx_lock); in ath10k_htc_prepare_tx_skb() 106 spin_unlock_bh(&ep->htc->tx_lock); in ath10k_htc_prepare_tx_skb() 113 struct ath10k_htc *htc = ep->htc; in ath10k_htc_consume_credit() local 114 struct ath10k *ar = htc->ar; in ath10k_htc_consume_credit() [all …]
|
H A D | htc.h | 20 /* HTC protocol */ 24 * HTC - host-target control protocol 35 * HTC header flags, control_byte0, control_byte1 348 struct ath10k_htc *htc; member 394 int ath10k_htc_wait_target(struct ath10k_htc *htc); 396 int ath10k_htc_start(struct ath10k_htc *htc); 397 int ath10k_htc_connect_service(struct ath10k_htc *htc, 400 void ath10k_htc_change_tx_credit_flow(struct ath10k_htc *htc, 403 int ath10k_htc_send(struct ath10k_htc *htc, enum ath10k_htc_ep_id eid, 407 int ath10k_htc_send_hl(struct ath10k_htc *htc, enum ath10k_htc_ep_id eid, [all …]
|
H A D | htt_tx.c | 624 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_h2t_ver_req_msg() 666 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_h2t_stats_req() 728 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_send_frag_desc_bank_cfg_32() 790 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_send_frag_desc_bank_cfg_64() 877 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_send_rx_ring_cfg_32() 947 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_send_rx_ring_cfg_64() 998 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_send_rx_ring_cfg_hl() 1045 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_h2t_aggr_cfg_msg_32() 1092 ret = ath10k_htc_send(&htt->ar->htc, htt->eid, skb); in ath10k_htt_h2t_aggr_cfg_msg_v2() 1136 ret = ath10k_htc_send(&ar->htc, ar->htt.eid, skb); in ath10k_htt_tx_fetch_resp() [all …]
|
H A D | sdio.h | 36 /* HTC runs over mailbox 0 */ 80 * (HTC_HOST_MAX_MSG_PER_RX_BUNDLE) has the HTC header bundle count set 117 /* Specifies if the current request is an HTC message. 122 /* Completion that (if set) will be invoked for non HTC requests
|
H A D | sdio.c | 22 #include "htc.h" 385 struct ath10k_htc *htc = &ar->htc; in ath10k_sdio_mbox_rx_process_packet() local 398 ret = ath10k_htc_process_trailer(htc, in ath10k_sdio_mbox_rx_process_packet() 423 struct ath10k_htc *htc = &ar->htc; in ath10k_sdio_mbox_rx_process_packets() local 446 ep = &htc->endpoint[id]; in ath10k_sdio_mbox_rx_process_packets() 507 u8 max_msgs = ar->htc.max_msgs_per_htc_bundle; in ath10k_sdio_mbox_alloc_bundle() 513 "HTC bundle length %u exceeds maximum %u\n", in ath10k_sdio_mbox_alloc_bundle() 560 ath10k_warn(ar, "payload length %d exceeds max htc length: %zu\n", in ath10k_sdio_mbox_rx_alloc() 583 ar->htc.max_msgs_per_htc_bundle, htc_hdr->flags)) { in ath10k_sdio_mbox_rx_alloc() 584 /* HTC header indicates that every packet to follow in ath10k_sdio_mbox_rx_alloc() [all …]
|
H A D | htt.c | 306 status = ath10k_htc_connect_service(&htt->ar->htc, &conn_req, in ath10k_htt_connect() 315 ep = &ar->htc.endpoint[htt->eid]; in ath10k_htt_connect() 321 ath10k_htc_change_tx_credit_flow(&htt->ar->htc, htt->eid, true); in ath10k_htt_connect()
|
/linux/drivers/net/wireless/ath/ath6kl/ |
H A D | htc.h | 40 /* HTC control message IDs */ 116 /* HTC operational parameters */ 149 /* HTC frame header 174 /* HTC ready message */ 183 /* extended HTC ready message */ 297 * buffer start here. In receive callbacks, the HTC layer 300 * receive packets back to HTC. 308 * points to the start of the HTC header but when returned 332 * optimization for network-oriented data, the HTC packet 333 * can pass the network buffer corresponding to the HTC packet [all …]
|
H A D | htc_mbox.c | 217 * HTC has an endpoint that needs credits, ep_dist is the endpoint in 427 ath6kl_dbg(ATH6KL_DBG_HTC, "htc tx ctxt 0x%p dist 0x%p\n", in htc_tx_comp_update() 444 "htc tx complete ep %d pkts %d\n", in htc_tx_complete() 456 ath6kl_dbg(ATH6KL_DBG_HTC, "htc tx complete seqno %d\n", in htc_tx_comp_handler() 477 "htc tx scat complete len %d entries %d\n", in htc_async_tx_scat_complete() 521 "htc tx issue len %d seqno %d padded_len %d mbox 0x%X %s\n", in ath6kl_htc_tx_issue() 616 "htc tx got packet 0x%p queue depth %d\n", in ath6kl_htc_tx_pkts_get() 726 "htc tx adding (%d) pkt 0x%p seqno %d len %d remaining %d\n", in ath6kl_htc_tx_setup_scat_list() 784 "htc tx no more scatter resources\n"); in ath6kl_htc_tx_bundle() 814 ath6kl_dbg(ATH6KL_DBG_HTC, "htc tx pkts to scatter: %d\n", in ath6kl_htc_tx_bundle() [all …]
|
H A D | htc_pipe.c | 28 /* htc pipe tx path */ 230 /* setup HTC frame header */ in htc_issue_packets() 499 /* htc control packet manipulation */ 640 "HTC Service Index : %d TX : 0x%2.2X : alloc:%d\n", in htc_setup_target_buffer_assignments() 706 * In the adapted HIF layer, struct sk_buff * are passed between HIF and HTC, 708 * skb and lookup it's corresponding HTC packet buffer from a lookup list. 710 * HTC. 759 ath6kl_err("HTC TX lookup failed!\n"); in ath6kl_htc_pipe_tx_complete() 811 /* htc pipe rx path */ 976 "HTC Rx: invalid EndpointID=%d\n", in ath6kl_htc_pipe_rx_complete() [all …]
|
H A D | hif.c | 412 * Read the first 28 bytes of the HTC register table. This in proc_pending_irqs() 470 * Mailbox Interrupt, the HTC layer may issue async in proc_pending_irqs() 484 * HTC could not pull any messages out due to lack in proc_pending_irqs() 642 * (where we clear the interrupts the first time) and when HTC in ath6kl_hif_unmask_intrs()
|
H A D | hif.h | 58 /* HTC runs over mailbox 0 */ 94 * HIF_ASYNCHRONOUS). The read/write data paths in HTC have been
|
/linux/net/mac80211/ |
H A D | debugfs_sta.c | 474 struct ieee80211_sta_ht_cap *htc = &link_sta->pub->ht_cap; in link_sta_ht_capa_read() 483 htc->ht_supported ? "" : "not "); in link_sta_ht_capa_read() 484 if (htc->ht_supported) { in link_sta_ht_capa_read() 485 p += scnprintf(p, bufsz + buf - p, "cap: %#.4x\n", htc->cap); in link_sta_ht_capa_read() 487 PRINT_HT_CAP((htc->cap & BIT(0)), "RX LDPC"); in link_sta_ht_capa_read() 488 PRINT_HT_CAP((htc->cap & BIT(1)), "HT20/HT40"); in link_sta_ht_capa_read() 489 PRINT_HT_CAP(!(htc->cap & BIT(1)), "HT20"); in link_sta_ht_capa_read() 491 PRINT_HT_CAP(((htc->cap >> 2) & 0x3) == 0, "Static SM Power Save"); in link_sta_ht_capa_read() 492 PRINT_HT_CAP(((htc->cap >> 2) & 0x3) == 1, "Dynamic SM Power Save"); in link_sta_ht_capa_read() 493 PRINT_HT_CAP(((htc in link_sta_ht_capa_read() 482 struct ieee80211_sta_ht_cap *htc = &link_sta->pub->ht_cap; link_sta_ht_capa_read() local [all...] |
/linux/drivers/net/wireless/ath/ath9k/ |
H A D | htc_drv_init.c | 19 #include "htc.h" 23 MODULE_DESCRIPTION("Atheros driver 802.11n HTC based wireless devices"); 83 if (atomic_read(&priv->htc->tgt_ready) > 0) { in ath9k_htc_wait_for_target() 84 atomic_dec(&priv->htc->tgt_ready); in ath9k_htc_wait_for_target() 89 time_left = wait_for_completion_timeout(&priv->htc->target_wait, HZ); in ath9k_htc_wait_for_target() 95 atomic_dec(&priv->htc->tgt_ready); in ath9k_htc_wait_for_target() 137 return htc_connect_service(priv->htc, &req, ep_id); in ath9k_htc_connect_svc() 146 ret = ath9k_wmi_connect(priv->htc, priv->wmi, &priv->wmi_cmd_ep); in ath9k_init_htc_services() 200 * Setup required credits before initializing HTC. in ath9k_init_htc_services() 206 priv->htc->credits = 45; in ath9k_init_htc_services() [all …]
|
H A D | wmi.c | 17 #include "htc.h" 262 int ath9k_wmi_connect(struct htc_target *htc, struct wmi *wmi, in ath9k_wmi_connect() argument 268 wmi->htc = htc; in ath9k_wmi_connect() 277 ret = htc_connect_service(htc, &connect, &wmi->ctrl_epid); in ath9k_wmi_connect() 307 return htc_send_epid(wmi->htc, skb, wmi->ctrl_epid); in ath9k_wmi_cmd_issue()
|
H A D | wmi.h | 45 * 64 - HTC header - WMI header - 1 / txstatus 150 struct htc_target *htc; member 182 int ath9k_wmi_connect(struct htc_target *htc, struct wmi *wmi,
|
H A D | htc_hst.h | 56 /* Htc frame hdr flags */ 224 void ath9k_htc_hw_free(struct htc_target *htc);
|
H A D | Kconfig | 173 tristate "Atheros HTC based wireless cards support" 179 Support for Atheros HTC based cards.
|
/linux/drivers/gpio/ |
H A D | gpio-htc-egpio.c | 2 * Support for the GPIO/IRQ expander chips present on several HTC phones. 17 #include <linux/platform_data/gpio-htc-egpio.h> 96 .name = "htc-egpio", 319 "htc-egpio-%d", in egpio_probe() 397 .name = "htc-egpio",
|
/linux/drivers/input/touchscreen/ |
H A D | htcpen.c | 3 * HTC Shift touchscreen driver 21 MODULE_DESCRIPTION("HTC Shift touchscreen driver"); 132 htcpen_dev->name = "HTC Shift EC TouchScreen"; in htcpen_isa_probe()
|
/linux/arch/arm/mach-sa1100/ |
H A D | h3xxx.c | 16 #include <linux/platform_data/gpio-htc-egpio.h> 158 .name = "htc-egpio",
|