On Sat, Aug 03, 2024 at 12:34:20AM +0300, Bitterblue Smith wrote: > The chips can be configured to aggregate several frames into a single > USB transfer. Modify rtw_usb_rx_handler() to support this case. > > RX aggregation improves the RX speed on certain ARM systems, like the > NanoPi NEO Core2. > > Currently none of the chips are configured to aggregate frames. > > Tested with RTL8811CU and RTL8723DU. > > Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> > --- > v2: > - Simplify the code and make it more readable. > - Rebase on top of latest rtw-next. > --- > drivers/net/wireless/realtek/rtw88/usb.c | 61 ++++++++++++++++-------- > 1 file changed, 40 insertions(+), 21 deletions(-) > > diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c > index 10f1d724370e..4c7ba5c76a57 100644 > --- a/drivers/net/wireless/realtek/rtw88/usb.c > +++ b/drivers/net/wireless/realtek/rtw88/usb.c > @@ -546,11 +546,12 @@ static void rtw_usb_rx_handler(struct work_struct *work) > struct rtw_usb *rtwusb = container_of(work, struct rtw_usb, rx_work); > struct rtw_dev *rtwdev = rtwusb->rtwdev; > const struct rtw_chip_info *chip = rtwdev->chip; > - struct rtw_rx_pkt_stat pkt_stat; > + u32 pkt_desc_sz = chip->rx_pkt_desc_sz; > struct ieee80211_rx_status rx_status; > + u32 pkt_offset, next_pkt, urb_len; > + struct rtw_rx_pkt_stat pkt_stat; > + struct sk_buff *next_skb = NULL; Nit: With the changes in this version initialization to NULL is no longer necessary. Otherwise: Reviewed-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |