mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 06:24:53 +08:00
ath9k_htc: Fix register read through bulk pipe
To optimize register read/write operations, the HTC firmwares were patched to change EP3 and EP4 pipe types from Interrupt to Bulk. So register writes are submitted as bulk urbs, but register reads are not. Also changing the register read endpoint pipe as bulk type when URBs are filled improves the register reads considerably which results in reduced scan time and CPU utilization. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
2ca27bcff7
commit
0f529e9849
@ -541,7 +541,8 @@ static void ath9k_hif_usb_reg_in_cb(struct urb *urb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
usb_fill_int_urb(urb, hif_dev->udev,
|
usb_fill_int_urb(urb, hif_dev->udev,
|
||||||
usb_rcvintpipe(hif_dev->udev, USB_REG_IN_PIPE),
|
usb_rcvbulkpipe(hif_dev->udev,
|
||||||
|
USB_REG_IN_PIPE),
|
||||||
nskb->data, MAX_REG_IN_BUF_SIZE,
|
nskb->data, MAX_REG_IN_BUF_SIZE,
|
||||||
ath9k_hif_usb_reg_in_cb, nskb, 1);
|
ath9k_hif_usb_reg_in_cb, nskb, 1);
|
||||||
|
|
||||||
@ -720,7 +721,8 @@ static int ath9k_hif_usb_alloc_reg_in_urb(struct hif_device_usb *hif_dev)
|
|||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
usb_fill_int_urb(hif_dev->reg_in_urb, hif_dev->udev,
|
usb_fill_int_urb(hif_dev->reg_in_urb, hif_dev->udev,
|
||||||
usb_rcvintpipe(hif_dev->udev, USB_REG_IN_PIPE),
|
usb_rcvbulkpipe(hif_dev->udev,
|
||||||
|
USB_REG_IN_PIPE),
|
||||||
skb->data, MAX_REG_IN_BUF_SIZE,
|
skb->data, MAX_REG_IN_BUF_SIZE,
|
||||||
ath9k_hif_usb_reg_in_cb, skb, 1);
|
ath9k_hif_usb_reg_in_cb, skb, 1);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user