hif_dev 71 drivers/net/wireless/ath/ath9k/hif_usb.c static int __hif_usb_tx(struct hif_device_usb *hif_dev); hif_dev 90 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_txcompletion_cb(cmd->hif_dev->htc_handle, hif_dev 101 drivers/net/wireless/ath/ath9k/hif_usb.c static int hif_usb_send_regout(struct hif_device_usb *hif_dev, hif_dev 119 drivers/net/wireless/ath/ath9k/hif_usb.c cmd->hif_dev = hif_dev; hif_dev 121 drivers/net/wireless/ath/ath9k/hif_usb.c usb_fill_int_urb(urb, hif_dev->udev, hif_dev 122 drivers/net/wireless/ath/ath9k/hif_usb.c usb_sndintpipe(hif_dev->udev, USB_REG_OUT_PIPE), hif_dev 126 drivers/net/wireless/ath/ath9k/hif_usb.c usb_anchor_urb(urb, &hif_dev->regout_submitted); hif_dev 140 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev; hif_dev 144 drivers/net/wireless/ath/ath9k/hif_usb.c if (!cmd || !cmd->skb || !cmd->hif_dev) hif_dev 147 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev = cmd->hif_dev; hif_dev 162 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 163 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->tx.flags & HIF_USB_TX_FLUSH) { hif_dev 164 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 169 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 178 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_txcompletion_cb(cmd->hif_dev->htc_handle, hif_dev 183 drivers/net/wireless/ath/ath9k/hif_usb.c static int hif_usb_send_mgmt(struct hif_device_usb *hif_dev, hif_dev 202 drivers/net/wireless/ath/ath9k/hif_usb.c cmd->hif_dev = hif_dev; hif_dev 208 drivers/net/wireless/ath/ath9k/hif_usb.c usb_fill_bulk_urb(urb, hif_dev->udev, hif_dev 209 drivers/net/wireless/ath/ath9k/hif_usb.c usb_sndbulkpipe(hif_dev->udev, USB_WLAN_TX_PIPE), hif_dev 213 drivers/net/wireless/ath/ath9k/hif_usb.c usb_anchor_urb(urb, &hif_dev->mgmt_submitted); hif_dev 224 drivers/net/wireless/ath/ath9k/hif_usb.c static inline void ath9k_skb_queue_purge(struct hif_device_usb *hif_dev, hif_dev 234 drivers/net/wireless/ath/ath9k/hif_usb.c static inline void ath9k_skb_queue_complete(struct hif_device_usb *hif_dev, hif_dev 244 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_txcompletion_cb(hif_dev->htc_handle, hif_dev 258 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev; hif_dev 261 drivers/net/wireless/ath/ath9k/hif_usb.c if (!tx_buf || !tx_buf->hif_dev) hif_dev 264 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev = tx_buf->hif_dev; hif_dev 279 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock(&hif_dev->tx.tx_lock); hif_dev 280 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->tx.flags & HIF_USB_TX_FLUSH) { hif_dev 281 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock(&hif_dev->tx.tx_lock); hif_dev 282 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_skb_queue_purge(hif_dev, &tx_buf->skb_queue); hif_dev 285 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock(&hif_dev->tx.tx_lock); hif_dev 293 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_skb_queue_complete(hif_dev, &tx_buf->skb_queue, txok); hif_dev 300 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock(&hif_dev->tx.tx_lock); hif_dev 301 drivers/net/wireless/ath/ath9k/hif_usb.c list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); hif_dev 302 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_buf_cnt++; hif_dev 303 drivers/net/wireless/ath/ath9k/hif_usb.c if (!(hif_dev->tx.flags & HIF_USB_TX_STOP)) hif_dev 304 drivers/net/wireless/ath/ath9k/hif_usb.c __hif_usb_tx(hif_dev); /* Check for pending SKBs */ hif_dev 306 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock(&hif_dev->tx.tx_lock); hif_dev 310 drivers/net/wireless/ath/ath9k/hif_usb.c static int __hif_usb_tx(struct hif_device_usb *hif_dev) hif_dev 319 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->tx.tx_skb_cnt == 0) hif_dev 323 drivers/net/wireless/ath/ath9k/hif_usb.c if (list_empty(&hif_dev->tx.tx_buf)) hif_dev 326 drivers/net/wireless/ath/ath9k/hif_usb.c tx_buf = list_first_entry(&hif_dev->tx.tx_buf, struct tx_buf, list); hif_dev 327 drivers/net/wireless/ath/ath9k/hif_usb.c list_move_tail(&tx_buf->list, &hif_dev->tx.tx_pending); hif_dev 328 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_buf_cnt--; hif_dev 330 drivers/net/wireless/ath/ath9k/hif_usb.c tx_skb_cnt = min_t(u16, hif_dev->tx.tx_skb_cnt, MAX_TX_AGGR_NUM); hif_dev 333 drivers/net/wireless/ath/ath9k/hif_usb.c nskb = __skb_dequeue(&hif_dev->tx.tx_skb_queue); hif_dev 338 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_skb_cnt--; hif_dev 359 drivers/net/wireless/ath/ath9k/hif_usb.c usb_fill_bulk_urb(tx_buf->urb, hif_dev->udev, hif_dev 360 drivers/net/wireless/ath/ath9k/hif_usb.c usb_sndbulkpipe(hif_dev->udev, USB_WLAN_TX_PIPE), hif_dev 367 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_skb_queue_complete(hif_dev, &tx_buf->skb_queue, false); hif_dev 369 drivers/net/wireless/ath/ath9k/hif_usb.c list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); hif_dev 370 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_buf_cnt++; hif_dev 379 drivers/net/wireless/ath/ath9k/hif_usb.c static int hif_usb_send_tx(struct hif_device_usb *hif_dev, struct sk_buff *skb) hif_dev 385 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 387 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->tx.flags & HIF_USB_TX_STOP) { hif_dev 388 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 393 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->tx.tx_skb_cnt > MAX_TX_BUF_NUM) { hif_dev 394 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 398 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 405 drivers/net/wireless/ath/ath9k/hif_usb.c ret = hif_usb_send_mgmt(hif_dev, skb); hif_dev 408 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 412 drivers/net/wireless/ath/ath9k/hif_usb.c __skb_queue_tail(&hif_dev->tx.tx_skb_queue, skb); hif_dev 413 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_skb_cnt++; hif_dev 417 drivers/net/wireless/ath/ath9k/hif_usb.c if ((hif_dev->tx.tx_buf_cnt == MAX_TX_URB_NUM) && hif_dev 418 drivers/net/wireless/ath/ath9k/hif_usb.c (hif_dev->tx.tx_skb_cnt < 2)) { hif_dev 419 drivers/net/wireless/ath/ath9k/hif_usb.c __hif_usb_tx(hif_dev); hif_dev 422 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 429 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = hif_handle; hif_dev 432 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->flags |= HIF_USB_START; hif_dev 434 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 435 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.flags &= ~HIF_USB_TX_STOP; hif_dev 436 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 441 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = hif_handle; hif_dev 445 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 446 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_skb_queue_complete(hif_dev, &hif_dev->tx.tx_skb_queue, false); hif_dev 447 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_skb_cnt = 0; hif_dev 448 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.flags |= HIF_USB_TX_STOP; hif_dev 449 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 453 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->tx.tx_pending, list) { hif_dev 457 drivers/net/wireless/ath/ath9k/hif_usb.c usb_kill_anchored_urbs(&hif_dev->mgmt_submitted); hif_dev 462 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = hif_handle; hif_dev 467 drivers/net/wireless/ath/ath9k/hif_usb.c ret = hif_usb_send_tx(hif_dev, skb); hif_dev 470 drivers/net/wireless/ath/ath9k/hif_usb.c ret = hif_usb_send_regout(hif_dev, skb); hif_dev 473 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 497 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = hif_handle; hif_dev 501 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 503 drivers/net/wireless/ath/ath9k/hif_usb.c skb_queue_walk_safe(&hif_dev->tx.tx_skb_queue, skb, tmp) { hif_dev 505 drivers/net/wireless/ath/ath9k/hif_usb.c __skb_unlink(skb, &hif_dev->tx.tx_skb_queue); hif_dev 506 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_txcompletion_cb(hif_dev->htc_handle, hif_dev 508 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_skb_cnt--; hif_dev 513 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 529 drivers/net/wireless/ath/ath9k/hif_usb.c static void ath9k_hif_usb_rx_stream(struct hif_device_usb *hif_dev, hif_dev 538 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock(&hif_dev->rx_lock); hif_dev 540 drivers/net/wireless/ath/ath9k/hif_usb.c rx_remain_len = hif_dev->rx_remain_len; hif_dev 541 drivers/net/wireless/ath/ath9k/hif_usb.c rx_pkt_len = hif_dev->rx_transfer_len; hif_dev 544 drivers/net/wireless/ath/ath9k/hif_usb.c struct sk_buff *remain_skb = hif_dev->remain_skb; hif_dev 550 drivers/net/wireless/ath/ath9k/hif_usb.c rx_remain_len -= hif_dev->rx_pad_len; hif_dev 556 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->rx_remain_len = 0; hif_dev 566 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock(&hif_dev->rx_lock); hif_dev 592 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock(&hif_dev->rx_lock); hif_dev 593 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->rx_remain_len = index - MAX_RX_BUF_SIZE; hif_dev 594 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->rx_transfer_len = hif_dev 596 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->rx_pad_len = pad_len; hif_dev 600 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 602 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock(&hif_dev->rx_lock); hif_dev 609 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->rx_transfer_len); hif_dev 612 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->remain_skb = nskb; hif_dev 613 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock(&hif_dev->rx_lock); hif_dev 616 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 622 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 638 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_rx_msg(hif_dev->htc_handle, skb_pool[i], hif_dev 647 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = rx_buf->hif_dev; hif_dev 654 drivers/net/wireless/ath/ath9k/hif_usb.c if (!hif_dev) hif_dev 671 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_rx_stream(hif_dev, skb); hif_dev 678 drivers/net/wireless/ath/ath9k/hif_usb.c usb_anchor_urb(urb, &hif_dev->rx_submitted); hif_dev 694 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = rx_buf->hif_dev; hif_dev 702 drivers/net/wireless/ath/ath9k/hif_usb.c if (!hif_dev) hif_dev 724 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_rx_msg(hif_dev->htc_handle, skb, hif_dev 730 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 736 drivers/net/wireless/ath/ath9k/hif_usb.c usb_fill_int_urb(urb, hif_dev->udev, hif_dev 737 drivers/net/wireless/ath/ath9k/hif_usb.c usb_rcvintpipe(hif_dev->udev, hif_dev 744 drivers/net/wireless/ath/ath9k/hif_usb.c usb_anchor_urb(urb, &hif_dev->reg_in_submitted); hif_dev 758 drivers/net/wireless/ath/ath9k/hif_usb.c static void ath9k_hif_usb_dealloc_tx_urbs(struct hif_device_usb *hif_dev) hif_dev 764 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->tx.tx_buf, list) { hif_dev 772 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev 773 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.flags |= HIF_USB_TX_FLUSH; hif_dev 774 drivers/net/wireless/ath/ath9k/hif_usb.c spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); hif_dev 777 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->tx.tx_pending, list) { hif_dev 785 drivers/net/wireless/ath/ath9k/hif_usb.c usb_kill_anchored_urbs(&hif_dev->mgmt_submitted); hif_dev 788 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_usb_alloc_tx_urbs(struct hif_device_usb *hif_dev) hif_dev 793 drivers/net/wireless/ath/ath9k/hif_usb.c INIT_LIST_HEAD(&hif_dev->tx.tx_buf); hif_dev 794 drivers/net/wireless/ath/ath9k/hif_usb.c INIT_LIST_HEAD(&hif_dev->tx.tx_pending); hif_dev 795 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_init(&hif_dev->tx.tx_lock); hif_dev 796 drivers/net/wireless/ath/ath9k/hif_usb.c __skb_queue_head_init(&hif_dev->tx.tx_skb_queue); hif_dev 797 drivers/net/wireless/ath/ath9k/hif_usb.c init_usb_anchor(&hif_dev->mgmt_submitted); hif_dev 812 drivers/net/wireless/ath/ath9k/hif_usb.c tx_buf->hif_dev = hif_dev; hif_dev 815 drivers/net/wireless/ath/ath9k/hif_usb.c list_add_tail(&tx_buf->list, &hif_dev->tx.tx_buf); hif_dev 818 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->tx.tx_buf_cnt = MAX_TX_URB_NUM; hif_dev 826 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_tx_urbs(hif_dev); hif_dev 830 drivers/net/wireless/ath/ath9k/hif_usb.c static void ath9k_hif_usb_dealloc_rx_urbs(struct hif_device_usb *hif_dev) hif_dev 832 drivers/net/wireless/ath/ath9k/hif_usb.c usb_kill_anchored_urbs(&hif_dev->rx_submitted); hif_dev 835 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_usb_alloc_rx_urbs(struct hif_device_usb *hif_dev) hif_dev 842 drivers/net/wireless/ath/ath9k/hif_usb.c init_usb_anchor(&hif_dev->rx_submitted); hif_dev 843 drivers/net/wireless/ath/ath9k/hif_usb.c spin_lock_init(&hif_dev->rx_lock); hif_dev 867 drivers/net/wireless/ath/ath9k/hif_usb.c rx_buf->hif_dev = hif_dev; hif_dev 870 drivers/net/wireless/ath/ath9k/hif_usb.c usb_fill_bulk_urb(urb, hif_dev->udev, hif_dev 871 drivers/net/wireless/ath/ath9k/hif_usb.c usb_rcvbulkpipe(hif_dev->udev, hif_dev 877 drivers/net/wireless/ath/ath9k/hif_usb.c usb_anchor_urb(urb, &hif_dev->rx_submitted); hif_dev 902 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_rx_urbs(hif_dev); hif_dev 906 drivers/net/wireless/ath/ath9k/hif_usb.c static void ath9k_hif_usb_dealloc_reg_in_urbs(struct hif_device_usb *hif_dev) hif_dev 908 drivers/net/wireless/ath/ath9k/hif_usb.c usb_kill_anchored_urbs(&hif_dev->reg_in_submitted); hif_dev 911 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_usb_alloc_reg_in_urbs(struct hif_device_usb *hif_dev) hif_dev 918 drivers/net/wireless/ath/ath9k/hif_usb.c init_usb_anchor(&hif_dev->reg_in_submitted); hif_dev 942 drivers/net/wireless/ath/ath9k/hif_usb.c rx_buf->hif_dev = hif_dev; hif_dev 945 drivers/net/wireless/ath/ath9k/hif_usb.c usb_fill_int_urb(urb, hif_dev->udev, hif_dev 946 drivers/net/wireless/ath/ath9k/hif_usb.c usb_rcvintpipe(hif_dev->udev, hif_dev 952 drivers/net/wireless/ath/ath9k/hif_usb.c usb_anchor_urb(urb, &hif_dev->reg_in_submitted); hif_dev 977 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_reg_in_urbs(hif_dev); hif_dev 981 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_usb_alloc_urbs(struct hif_device_usb *hif_dev) hif_dev 984 drivers/net/wireless/ath/ath9k/hif_usb.c init_usb_anchor(&hif_dev->regout_submitted); hif_dev 987 drivers/net/wireless/ath/ath9k/hif_usb.c if (ath9k_hif_usb_alloc_tx_urbs(hif_dev) < 0) hif_dev 991 drivers/net/wireless/ath/ath9k/hif_usb.c if (ath9k_hif_usb_alloc_rx_urbs(hif_dev) < 0) hif_dev 995 drivers/net/wireless/ath/ath9k/hif_usb.c if (ath9k_hif_usb_alloc_reg_in_urbs(hif_dev) < 0) hif_dev 1000 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_rx_urbs(hif_dev); hif_dev 1002 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_tx_urbs(hif_dev); hif_dev 1007 drivers/net/wireless/ath/ath9k/hif_usb.c void ath9k_hif_usb_dealloc_urbs(struct hif_device_usb *hif_dev) hif_dev 1009 drivers/net/wireless/ath/ath9k/hif_usb.c usb_kill_anchored_urbs(&hif_dev->regout_submitted); hif_dev 1010 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_reg_in_urbs(hif_dev); hif_dev 1011 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_tx_urbs(hif_dev); hif_dev 1012 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_rx_urbs(hif_dev); hif_dev 1015 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev) hif_dev 1018 drivers/net/wireless/ath/ath9k/hif_usb.c const void *data = hif_dev->fw_data; hif_dev 1019 drivers/net/wireless/ath/ath9k/hif_usb.c size_t len = hif_dev->fw_size; hif_dev 1031 drivers/net/wireless/ath/ath9k/hif_usb.c err = usb_control_msg(hif_dev->udev, hif_dev 1032 drivers/net/wireless/ath/ath9k/hif_usb.c usb_sndctrlpipe(hif_dev->udev, 0), hif_dev 1047 drivers/net/wireless/ath/ath9k/hif_usb.c if (IS_AR7010_DEVICE(hif_dev->usb_device_id->driver_info)) hif_dev 1055 drivers/net/wireless/ath/ath9k/hif_usb.c err = usb_control_msg(hif_dev->udev, usb_sndctrlpipe(hif_dev->udev, 0), hif_dev 1062 drivers/net/wireless/ath/ath9k/hif_usb.c dev_info(&hif_dev->udev->dev, "ath9k_htc: Transferred FW: %s, size: %ld\n", hif_dev 1063 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_name, (unsigned long) hif_dev->fw_size); hif_dev 1068 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_usb_dev_init(struct hif_device_usb *hif_dev) hif_dev 1072 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_usb_download_fw(hif_dev); hif_dev 1074 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 1076 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_name); hif_dev 1081 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_usb_alloc_urbs(hif_dev); hif_dev 1083 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 1091 drivers/net/wireless/ath/ath9k/hif_usb.c static void ath9k_hif_usb_dev_deinit(struct hif_device_usb *hif_dev) hif_dev 1093 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_urbs(hif_dev); hif_dev 1100 drivers/net/wireless/ath/ath9k/hif_usb.c static void ath9k_hif_usb_firmware_fail(struct hif_device_usb *hif_dev) hif_dev 1102 drivers/net/wireless/ath/ath9k/hif_usb.c struct device *dev = &hif_dev->udev->dev; hif_dev 1105 drivers/net/wireless/ath/ath9k/hif_usb.c complete_all(&hif_dev->fw_done); hif_dev 1119 drivers/net/wireless/ath/ath9k/hif_usb.c static int ath9k_hif_request_firmware(struct hif_device_usb *hif_dev, hif_dev 1127 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_minor_index = FIRMWARE_MINOR_IDX_MAX + 1; hif_dev 1130 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_minor_index = FIRMWARE_MINOR_IDX_MAX; hif_dev 1131 drivers/net/wireless/ath/ath9k/hif_usb.c sprintf(index, "%d", hif_dev->fw_minor_index); hif_dev 1134 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_minor_index--; hif_dev 1135 drivers/net/wireless/ath/ath9k/hif_usb.c sprintf(index, "%d", hif_dev->fw_minor_index); hif_dev 1139 drivers/net/wireless/ath/ath9k/hif_usb.c if (MAJOR_VERSION_REQ == 1 && hif_dev->fw_minor_index == 3) { hif_dev 1142 drivers/net/wireless/ath/ath9k/hif_usb.c if (IS_AR7010_DEVICE(hif_dev->usb_device_id->driver_info)) hif_dev 1150 drivers/net/wireless/ath/ath9k/hif_usb.c snprintf(hif_dev->fw_name, sizeof(hif_dev->fw_name), hif_dev 1153 drivers/net/wireless/ath/ath9k/hif_usb.c } else if (hif_dev->fw_minor_index < FIRMWARE_MINOR_IDX_MIN) { hif_dev 1154 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, "no suitable firmware found!\n"); hif_dev 1158 drivers/net/wireless/ath/ath9k/hif_usb.c if (IS_AR7010_DEVICE(hif_dev->usb_device_id->driver_info)) hif_dev 1167 drivers/net/wireless/ath/ath9k/hif_usb.c snprintf(hif_dev->fw_name, sizeof(hif_dev->fw_name), hif_dev 1172 drivers/net/wireless/ath/ath9k/hif_usb.c ret = request_firmware_nowait(THIS_MODULE, true, hif_dev->fw_name, hif_dev 1173 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->udev->dev, GFP_KERNEL, hif_dev 1174 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev, ath9k_hif_usb_firmware_cb); hif_dev 1176 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 1178 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_name); hif_dev 1182 drivers/net/wireless/ath/ath9k/hif_usb.c dev_info(&hif_dev->udev->dev, "ath9k_htc: Firmware %s requested\n", hif_dev 1183 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_name); hif_dev 1190 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = context; hif_dev 1194 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_request_firmware(hif_dev, false); hif_dev 1198 drivers/net/wireless/ath/ath9k/hif_usb.c dev_err(&hif_dev->udev->dev, hif_dev 1200 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_name); hif_dev 1204 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->htc_handle = ath9k_htc_hw_alloc(hif_dev, &hif_usb, hif_dev 1205 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->udev->dev); hif_dev 1206 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->htc_handle == NULL) hif_dev 1209 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_data = fw->data; hif_dev 1210 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_size = fw->size; hif_dev 1214 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_usb_dev_init(hif_dev); hif_dev 1218 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_htc_hw_init(hif_dev->htc_handle, hif_dev 1219 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->interface->dev, hif_dev 1220 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->usb_device_id->idProduct, hif_dev 1221 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->udev->product, hif_dev 1222 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->usb_device_id->driver_info); hif_dev 1229 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->flags |= HIF_USB_READY; hif_dev 1230 drivers/net/wireless/ath/ath9k/hif_usb.c complete_all(&hif_dev->fw_done); hif_dev 1235 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dev_deinit(hif_dev); hif_dev 1237 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_hw_free(hif_dev->htc_handle); hif_dev 1241 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_firmware_fail(hif_dev); hif_dev 1306 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev; hif_dev 1312 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev = kzalloc(sizeof(struct hif_device_usb), GFP_KERNEL); hif_dev 1313 drivers/net/wireless/ath/ath9k/hif_usb.c if (!hif_dev) { hif_dev 1320 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->udev = udev; hif_dev 1321 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->interface = interface; hif_dev 1322 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->usb_device_id = id; hif_dev 1326 drivers/net/wireless/ath/ath9k/hif_usb.c usb_set_intfdata(interface, hif_dev); hif_dev 1328 drivers/net/wireless/ath/ath9k/hif_usb.c init_completion(&hif_dev->fw_done); hif_dev 1330 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_request_firmware(hif_dev, true); hif_dev 1338 drivers/net/wireless/ath/ath9k/hif_usb.c kfree(hif_dev); hif_dev 1365 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = usb_get_intfdata(interface); hif_dev 1368 drivers/net/wireless/ath/ath9k/hif_usb.c if (!hif_dev) hif_dev 1371 drivers/net/wireless/ath/ath9k/hif_usb.c wait_for_completion(&hif_dev->fw_done); hif_dev 1373 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->flags & HIF_USB_READY) { hif_dev 1374 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_hw_deinit(hif_dev->htc_handle, unplugged); hif_dev 1375 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dev_deinit(hif_dev); hif_dev 1376 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_destoy_wmi(hif_dev->htc_handle->drv_priv); hif_dev 1377 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_hw_free(hif_dev->htc_handle); hif_dev 1384 drivers/net/wireless/ath/ath9k/hif_usb.c if (!unplugged && (hif_dev->flags & HIF_USB_READY)) hif_dev 1387 drivers/net/wireless/ath/ath9k/hif_usb.c kfree(hif_dev); hif_dev 1396 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = usb_get_intfdata(interface); hif_dev 1402 drivers/net/wireless/ath/ath9k/hif_usb.c if (!(hif_dev->flags & HIF_USB_START)) hif_dev 1403 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_htc_suspend(hif_dev->htc_handle); hif_dev 1405 drivers/net/wireless/ath/ath9k/hif_usb.c wait_for_completion(&hif_dev->fw_done); hif_dev 1407 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->flags & HIF_USB_READY) hif_dev 1408 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_urbs(hif_dev); hif_dev 1415 drivers/net/wireless/ath/ath9k/hif_usb.c struct hif_device_usb *hif_dev = usb_get_intfdata(interface); hif_dev 1416 drivers/net/wireless/ath/ath9k/hif_usb.c struct htc_target *htc_handle = hif_dev->htc_handle; hif_dev 1420 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_usb_alloc_urbs(hif_dev); hif_dev 1424 drivers/net/wireless/ath/ath9k/hif_usb.c if (hif_dev->flags & HIF_USB_READY) { hif_dev 1426 drivers/net/wireless/ath/ath9k/hif_usb.c ret = request_firmware(&fw, hif_dev->fw_name, hif_dev 1427 drivers/net/wireless/ath/ath9k/hif_usb.c &hif_dev->udev->dev); hif_dev 1431 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_data = fw->data; hif_dev 1432 drivers/net/wireless/ath/ath9k/hif_usb.c hif_dev->fw_size = fw->size; hif_dev 1433 drivers/net/wireless/ath/ath9k/hif_usb.c ret = ath9k_hif_usb_download_fw(hif_dev); hif_dev 1438 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_urbs(hif_dev); hif_dev 1452 drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_dealloc_urbs(hif_dev); hif_dev 85 drivers/net/wireless/ath/ath9k/hif_usb.h struct hif_device_usb *hif_dev; hif_dev 91 drivers/net/wireless/ath/ath9k/hif_usb.h struct hif_device_usb *hif_dev; hif_dev 109 drivers/net/wireless/ath/ath9k/hif_usb.h struct hif_device_usb *hif_dev; hif_dev 141 drivers/net/wireless/ath/ath9k/hif_usb.h void ath9k_hif_usb_dealloc_urbs(struct hif_device_usb *hif_dev); hif_dev 329 drivers/net/wireless/ath/ath9k/htc.h #define TX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.tx_stats.c++) hif_dev 330 drivers/net/wireless/ath/ath9k/htc.h #define TX_STAT_ADD(c, a) (hif_dev->htc_handle->drv_priv->debug.tx_stats.c += a) hif_dev 331 drivers/net/wireless/ath/ath9k/htc.h #define RX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.skbrx_stats.c++) hif_dev 332 drivers/net/wireless/ath/ath9k/htc.h #define RX_STAT_ADD(c, a) (hif_dev->htc_handle->drv_priv->debug.skbrx_stats.c += a) hif_dev 934 drivers/net/wireless/ath/ath9k/htc_drv_init.c struct hif_device_usb *hif_dev; hif_dev 972 drivers/net/wireless/ath/ath9k/htc_drv_init.c hif_dev = (struct hif_device_usb *)htc_handle->hif_dev; hif_dev 973 drivers/net/wireless/ath/ath9k/htc_drv_init.c ath9k_hif_usb_dealloc_urbs(hif_dev); hif_dev 34 drivers/net/wireless/ath/ath9k/htc_hst.c status = target->hif->send(target->hif_dev, endpoint->ul_pipeid, skb); hif_dev 309 drivers/net/wireless/ath/ath9k/htc_hst.c target->hif->stop(target->hif_dev); hif_dev 314 drivers/net/wireless/ath/ath9k/htc_hst.c target->hif->start(target->hif_dev); hif_dev 319 drivers/net/wireless/ath/ath9k/htc_hst.c target->hif->sta_drain(target->hif_dev, idx); hif_dev 479 drivers/net/wireless/ath/ath9k/htc_hst.c target->hif_dev = hif_handle; hif_dev 117 drivers/net/wireless/ath/ath9k/htc_hst.h void *hif_dev;