BPF-based HID drivers have helped to deliver quirks/fixes for different HID devices more quickly than being bound by the conventional kernel cycle. Loading these eBPF programs from user-space have shown a lot of potential for innovating and iterating more quickly with BPF drivers for different subsystems. The latest area now seeing the BPF treatment are display panel drivers. Maxime Ripard posted a patch series on Monday proposing BPF-based MIPI DSI panel drivers. Many of these panels need their own custom driver and often are quite simple drivers. To workaround hardware vendors changing display panels on existing laptop models and Linux distribution vendors often being slow at shipping new kernel versions, Ripard took to developing BPF-based MIPI DSI panel support. Maxime explained with the patch series: "Panels in general, and MIPI-DSI panels in particular, are pretty difficult to support and require pretty much a panel driver for each panel produced. Most of them are pretty simple, and require an opaque initialization sequence that is usually poorly documented. This creates a tension between OEMs and distros because OEMs will typically get a new panel to react to a sourcing issue during production, and thus need some swift turnaround between getting their new panel and it being operational in the OS. Distributions on the other hand can take years to ship a kernel with that new panel driver. To solve this, I followed the example of HID-BPF and wrote a panel driver that will rely on BPF programs to perform the panel initialization. That way, we can ship the programs separately from the kernel, and with a different lifecycle. If this driver is accepted, the plan is to have a userspace component started by udev to identify and load the right BPF program for the panels found on the device. This driver is fully functional and works with both 5" and 7" Touch Display 2 panels for the RaspberryPi" It will be interesting to see where this work leads. It does present challenges though given that the BPF programs need to be loaded by user-space and thus preventing possible use during the early boot process.
BPF-Based Display Panel Drivers Being Explored For Linux
Full Article
Original Source
Read the full article at Phoronix →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.