NVIDIA Contributing Tegra NVDEC Support To Linux 5.16
The Tegra DRM driver changes were sent out on Friday of the new material destined for Linux 5.16. Notable this time around is NVIDIA's NVDEC driver being included.
After going through rounds of public code review, the Tegra DRM driver updates for Linux 5.16 include the introduction of the NVDEC driver for accelerated video decoding. This open-source video decode engine work is for the Tegra X1 (Tegra210) and newer, including the Tegra X2 and Xavier SoCs at this time.
Back in February NVIDIA did provide Tegra video documentation as part of their "Open GPU Docs" that covers the NVDEC and NVENC interfaces. This NVDEC code set to be merged for Linux 5.16 was also authored by NVIDIA.
Going along with the kernel code, in user-space there is the VAAPI-Tegra-Driver that provides a Video Acceleration API (VA-API) interface to Tegra SoCs using this kernel code. Currently supported are decoding of H.264 and MPEG2.
In addition to the NVDEC driver, the Tegra changes for Linux 5.16 also include a "fairly large" rework to its buffer object code to make it more aligned with the DMA-BUF infrastructure expectations. This in turn makes page flipping more efficient along with other improvements. The list of Tegra display/graphics driver patches intended for Linux 5.16 can be found via this pull request.
When it comes to open-source NVIDIA graphics on the GeForce desktop front such as with the Nouveau driver, there is nothing new to report at this time... There anything newer than the GeForce GTX 700 series (Kepler or Maxwell 1) is basically still a mess at the moment.
Update: The pull request wasn't submitted in time and not pulled for 5.16, so now looks like it will come for 5.17.