Lines Matching defs:rtwdev
20 struct rtw_dev *rtwdev;
28 struct rtw_dev *rtwdev = rtwusb->rtwdev;
33 rtw_tx_fill_txdesc_checksum(rtwdev, &pkt_info, skb->data);
36 static void rtw_usb_reg_sec(struct rtw_dev *rtwdev, u32 addr, __le32 *data)
38 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
62 rtw_err(rtwdev, "%s: reg 0x%x, usb write %u fail, status: %d\n",
66 static u32 rtw_usb_read(struct rtw_dev *rtwdev, u32 addr, u16 len)
68 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
88 rtw_err(rtwdev, "read register 0x%x failed with %d\n",
91 if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C ||
92 rtwdev->chip->id == RTW_CHIP_TYPE_8822B ||
93 rtwdev->chip->id == RTW_CHIP_TYPE_8821C)
94 rtw_usb_reg_sec(rtwdev, addr, data);
99 static u8 rtw_usb_read8(struct rtw_dev *rtwdev, u32 addr)
101 return (u8)rtw_usb_read(rtwdev, addr, 1);
104 static u16 rtw_usb_read16(struct rtw_dev *rtwdev, u32 addr)
106 return (u16)rtw_usb_read(rtwdev, addr, 2);
109 static u32 rtw_usb_read32(struct rtw_dev *rtwdev, u32 addr)
111 return (u32)rtw_usb_read(rtwdev, addr, 4);
114 static void rtw_usb_write(struct rtw_dev *rtwdev, u32 addr, u32 val, int len)
116 struct rtw_usb *rtwusb = (struct rtw_usb *)rtwdev->priv;
138 rtw_err(rtwdev, "write register 0x%x failed with %d\n",
141 if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C ||
142 rtwdev->chip->id == RTW_CHIP_TYPE_8822B ||
143 rtwdev->chip->id == RTW_CHIP_TYPE_8821C)
144 rtw_usb_reg_sec(rtwdev, addr, data);
147 static void rtw_usb_write8(struct rtw_dev *rtwdev, u32 addr, u8 val)
149 rtw_usb_write(rtwdev, addr, val, 1);
152 static void rtw_usb_write16(struct rtw_dev *rtwdev, u32 addr, u16 val)
154 rtw_usb_write(rtwdev, addr, val, 2);
157 static void rtw_usb_write32(struct rtw_dev *rtwdev, u32 addr, u32 val)
159 rtw_usb_write(rtwdev, addr, val, 4);
178 static int rtw_usb_parse(struct rtw_dev *rtwdev,
181 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
188 const struct rtw_chip_info *chip = rtwdev->chip;
198 rtw_err(rtwdev, "IN pipes overflow\n");
208 rtw_err(rtwdev, "INT pipes overflow\n");
218 rtw_err(rtwdev, "OUT pipes overflow\n");
226 rtwdev->hci.bulkout_num = num_out_pipes;
229 rtw_err(rtwdev, "invalid number of endpoints %d\n", num_out_pipes);
262 struct rtw_dev *rtwdev = txcb->rtwdev;
263 struct ieee80211_hw *hw = rtwdev->hw;
276 skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz);
280 rtw_tx_report_enqueue(rtwdev, skb, tx_data->sn);
305 static int rtw_usb_write_port(struct rtw_dev *rtwdev, u8 qsel, struct sk_buff *skb,
308 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
334 struct rtw_dev *rtwdev = rtwusb->rtwdev;
350 txcb->rtwdev = rtwdev;
384 agg_num < rtwdev->chip->usb_tx_agg_desc_num)
399 rtw_usb_write_port(rtwdev, qsel, skb_head, rtw_usb_write_port_tx_complete, txcb);
434 static int rtw_usb_write_data(struct rtw_dev *rtwdev,
438 const struct rtw_chip_info *chip = rtwdev->chip;
456 rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, skb->data);
458 ret = rtw_usb_write_port(rtwdev, qsel, skb,
461 rtw_err(rtwdev, "failed to do USB write, ret=%d\n", ret);
466 static int rtw_usb_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf,
469 const struct rtw_chip_info *chip = rtwdev->chip;
476 return rtw_usb_write_data(rtwdev, &pkt_info, buf);
479 static int rtw_usb_write_data_h2c(struct rtw_dev *rtwdev, u8 *buf, u32 size)
486 return rtw_usb_write_data(rtwdev, &pkt_info, buf);
508 static int rtw_usb_tx_write(struct rtw_dev *rtwdev,
512 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
513 const struct rtw_chip_info *chip = rtwdev->chip;
523 rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, skb->data);
532 static void rtw_usb_tx_kick_off(struct rtw_dev *rtwdev)
534 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
542 struct rtw_dev *rtwdev = rtwusb->rtwdev;
543 const struct rtw_chip_info *chip = rtwdev->chip;
558 chip->ops->query_rx_desc(rtwdev, rx_desc, &pkt_stat,
565 rtw_fw_c2h_cmd_rx_irqsafe(rtwdev, pkt_offset, skb);
570 dev_dbg_ratelimited(rtwdev->dev, "failed to get rx_queue, overflow\n");
578 ieee80211_rx_irqsafe(rtwdev->hw, skb);
586 struct rtw_dev *rtwdev = rtwusb->rtwdev;
602 rtw_err(rtwdev, "Err sending rx data urb %d\n",
610 struct rtw_dev *rtwdev = rxcb->rtwdev;
611 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
617 rtw_err(rtwdev, "failed to get urb length:%d\n",
641 rtw_err(rtwdev, "status %d\n", urb->status);
679 rxcb->rtwdev = rtwusb->rtwdev;
691 static int rtw_usb_setup(struct rtw_dev *rtwdev)
697 static int rtw_usb_start(struct rtw_dev *rtwdev)
702 static void rtw_usb_stop(struct rtw_dev *rtwdev)
706 static void rtw_usb_deep_ps(struct rtw_dev *rtwdev, bool enter)
711 static void rtw_usb_link_ps(struct rtw_dev *rtwdev, bool enter)
716 static void rtw_usb_interface_cfg(struct rtw_dev *rtwdev)
742 static int rtw_usb_init_rx(struct rtw_dev *rtwdev)
744 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
748 rtw_err(rtwdev, "failed to create RX work queue\n");
759 static void rtw_usb_setup_rx(struct rtw_dev *rtwdev)
761 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
771 static void rtw_usb_deinit_rx(struct rtw_dev *rtwdev)
773 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
781 static int rtw_usb_init_tx(struct rtw_dev *rtwdev)
783 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
788 rtw_err(rtwdev, "failed to create TX work queue\n");
800 static void rtw_usb_deinit_tx(struct rtw_dev *rtwdev)
802 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
809 static int rtw_usb_intf_init(struct rtw_dev *rtwdev,
812 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
817 ret = rtw_usb_parse(rtwdev, intf);
826 usb_set_intfdata(intf, rtwdev->hw);
828 SET_IEEE80211_DEV(rtwdev->hw, &intf->dev);
834 static void rtw_usb_intf_deinit(struct rtw_dev *rtwdev,
837 struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
846 struct rtw_dev *rtwdev;
857 rtwdev = hw->priv;
858 rtwdev->hw = hw;
859 rtwdev->dev = &intf->dev;
860 rtwdev->chip = (struct rtw_chip_info *)id->driver_info;
861 rtwdev->hci.ops = &rtw_usb_ops;
862 rtwdev->hci.type = RTW_HCI_TYPE_USB;
864 rtwusb = rtw_get_usb_priv(rtwdev);
865 rtwusb->rtwdev = rtwdev;
871 ret = rtw_core_init(rtwdev);
875 ret = rtw_usb_intf_init(rtwdev, intf);
877 rtw_err(rtwdev, "failed to init USB interface\n");
881 ret = rtw_usb_init_tx(rtwdev);
883 rtw_err(rtwdev, "failed to init USB TX\n");
887 ret = rtw_usb_init_rx(rtwdev);
889 rtw_err(rtwdev, "failed to init USB RX\n");
893 ret = rtw_chip_info_setup(rtwdev);
895 rtw_err(rtwdev, "failed to setup chip information\n");
899 ret = rtw_register_hw(rtwdev, rtwdev->hw);
901 rtw_err(rtwdev, "failed to register hw\n");
905 rtw_usb_setup_rx(rtwdev);
910 rtw_usb_deinit_rx(rtwdev);
913 rtw_usb_deinit_tx(rtwdev);
916 rtw_usb_intf_deinit(rtwdev, intf);
919 rtw_core_deinit(rtwdev);
934 struct rtw_dev *rtwdev;
940 rtwdev = hw->priv;
941 rtwusb = rtw_get_usb_priv(rtwdev);
945 rtw_unregister_hw(rtwdev, hw);
946 rtw_usb_deinit_tx(rtwdev);
947 rtw_usb_deinit_rx(rtwdev);
954 rtw_usb_intf_deinit(rtwdev, intf);
955 rtw_core_deinit(rtwdev);