The Qualcomm IPA (IP Accelerator) is a component in Qualcomm SoCs that provides wireless internet access to an application processor using a modem. Qualcomm has a "downstream" IPA driver for Linux, but for certain upstream-based environments, downstream code is not acceptable.
There is now a driver for the IPA in the upstream Linux kernel, derived from--but now very different from--the downstream code. What started as about 45,000 lines of code was simplified, cleaned, refactored, and evolved into the 14,000 line driver that eventually was accepted upstream. The driver continues to undergo additional development, now supporting multiple generations of IPA hardware on three distinct SoCs.
This talk presents "the story" of the IPA upstream driver. There will be a short overview of the role the IPA plays in this system. followed by some discussion of the evolution of the code from its "simplified" starting point to its upstream implementation. Other challenges were encountered along the way, and although this delayed its acceptance, it provided additional time for improvement.
The code underwent many small transformations to make it adhere to Linux coding standards and design conventions. Beyond that, some changes had to (or could) be made simply because upstream and downstream code have different requirements. Several examples of these will be presented.
The talk will finish with a statement on the current status and a general roadmap for the ongoing development of the upstream IPA driver.
Ещё видео!