Popular USB DWC3 Linux Driver Likely To "Never Be Finished" With Continued Adaptations

Written by Michael Larabel in Linux Kernel on 5 June 2022 at 06:30 AM EDT. 18 Comments
LINUX KERNEL
Greg Kroah-Hartman on Friday sent in the USB/Thunderbolt updates for the Linux 5.19 kernel that is seeing its merge window end today. With the USB updates, Greg had some remarks on the DWC3 Linux driver that will likely "never be finished" given that this USB IP is appearing in lots of hardware but not consistently being implemented and thus continuing to require a lot of adaptations on the driver side.

Greg commented in the USB pull request about the DWC3 driver, "It seems this driver will never be finished given that the IP core is showing up in zillions of new devices and each implementation decides to do something different with it..."


The DWC3 is Synopsys IP providing a SuperSpeed USB 3.0 controller. This Synopsys DesignWare USB3 controller IP has proved to be very popular and is in use ranging from various Arm SoCs from Samsung and TI to Qualcomm platforms. DWC3 is also used by various platforms from both Intel and AMD. With Intel already having posted patches enabling DWC3 support for Intel Meteor Lake, this USB controller design isn't disappearing anytime soon. However, as Greg notes, all of these different platforms are doing things slightly different with the DWC3 implementation and leading to the prolific kernel driver changes.

For Linux 5.19 the Synopsys DesignWare Core SuperSpeed USB 3.0 Controller driver changes include various bug fixes, a new Texas Instruments AM62 USB wrapper driver, various Qualcomm platform changes on the DeviceTree side, GPIO reset support for DWC3 with Xilinx, and various other changes.

Outside of the continued code churn around the DWC3 driver there are also a number of UVC driver updates with more hardware beginning to use that IP too. There are also USB Type-C code clean-ups and other small fixes throughout.

Over on the Thunderbolt side, Linux 5.19 will better handle daisy chaining Thunderbolt displays on early Apple hardware. To now Thunderbolt display tunneling on Linux with early Thunderbolt controllers led to the multiple displays using the same lane while now with v5.19+ is support for using a separate Thunderbolt lane.

Also with Thunderbolt in Linux 5.19 connecting Intel Alder Lake systems via USB4/Thunderbolt can be faster via XDomain lane bonding support. The cross-domain lane bonding is beneficial for newer systems like Alder Lake where the DMA can support greater than 20 Gbits/s.

The full set of USB/Thunderbolt patches for Linux 5.19 can be found via this pull.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week