RSS Bot Posted May 6, 2022 Share Posted May 6, 2022 This resolves a bug that affects r8153b USB network interface causing the RX interface to hang on load. On some xHCI controllers (e.g. Rockchip RK3399/RK3328/RK1808), they need to enable the ENT flag in the TRB data structure to force xHC to prefetch the next TRB of a TD. The quirk patch is already applied to dwc3 xhci usb on rockchip64, and enabled for rk3399. Enable the quirk on RK3328 through device tree node properties in rk3328.dtsi Description This resolves a bug that affects r8153b USB network interface causing the RX interface to hang on load on Orange Pi R1plus LTS and has been reported in Nano Pi R2S and probably affects Orange Pi R1plus and others using USB3. On some xHCI controllers (e.g. Rockchip RK3399/RK3328/RK1808), they need to enable the ENT flag in the TRB data structure to force xHC to prefetch the next TRB of a TD. The quirk patch is already applied to dwc3 xhci usb on rockchip64. Enable the quirk on RK3328 through device tree node properties in rk3328.dtsi Jira reference number AR-1172 How Has This Been Tested? Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration. Functional testing on Orange Pi R1plus LTS with 5.15y current: Speeds are similar to those achieved on 5.10 with the old driver. Iperf in the TX direction only: 883 Mbits/sec Iperf in the RX direction only: 699 Mbits/sec Testing bidirectional with two parallel iperf sessions: Without speed limitations RX 651 Mbits/sec TX 307 Mbits/sec With TX limited to 300 Mbits/sec RX about 640 Mbits/sec With RX limited to 300 Mbits/sec TX about 600 Mbits/sec So total bidirectional bandwidth TX + RX seems approximately around 900 Mbits/sec Sustained iperf bidirectional load RX limited to 300 Mbits/sec was applied for 20 minutes without issues Sustained iperf bidirectional load TX limited to 300 Mbits/sec was applied for 20 minutes without issues Sustained iperf bidirectional load with no limitations was applied for 20 minutes without issues Functional testing on 5.17y edge: Testing bidirectional 20 minutes with two parallel iperf sessions: Without speed limitations RX 649 Mbits/sec TX 309 Mbits/sec Checklist: [Y ] My code follows the style guidelines of this project [ Y] I have performed a self-review of my own code [Y ] I have commented my code, particularly in hard-to-understand areas [ ] I have made corresponding changes to the documentation [Y] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article Link to comment Share on other sites More sharing options...
Recommended Posts