Qualcomm engineers have posted the initial patches for bringing up the newest Adreno 800 series graphics IP within the open-source MSM Linux kernel Direct Rendering Manager (DRM) driver.
The Adreno 800 series was initially announced last year with the Adreno 810 powering the Snapdragon 7s Gen 3 graphics followed by the Snapdragon 8s Gen 4 with Adreno 825 and then the Adreno 830 with the Snapdragon 8 Elite. The latest is the Adreno 840 graphics found within the Snapdragon 8 Elite Gen 5.
In recent days Qualcomm has also been posted other patches for the Snapdragon 8 Elite Gen 5 and separately also for the newly-announced Snapdragon X2 Elite laptop SoCs.
The Adreno 840 GPU support appears to be the primary focus so far for these 17 MSM DRM driver patches sent out by Akhil Oommen of the open-source Qualcomm team.
The patch series for this Adreno 800 series support explains:
“This series adds the A8xx HWL along with Adreno 840 GPU support to the drm-msm driver. A8x is the next generation in the Adreno family, featuring a significant hardware design change. A major update to the design is the introduction of ‘Slice’ architecture. Slices are sort of mini-GPUs within the GPU which are more independent in processing Graphics and compute workloads. Also, in addition to the BV and BR pipe we saw in A7x, CP has more concurrency with additional pipes.
From KMD-HW SWI perspective, there is significant register shuffling in some of the blocks. For slice or aperture related registers which are virtualized now, KMD/crashdumper has to configure an aperture register to access them. On the GMU front, there are some shuffling in register offsets, but it is manageable as of now. There is a new HFI message to transfer data tables and new power related features to support higher peak currents and thermal mitigations.
Adreno 840 GPU is the second generation architecture in the A8x family present in Kaanapali (a.k.a Snapdragon 8 Elite Gen 5) chipset. It has a maximum of 3 slices with 2 SPs per slice. Along with the 3-slice configuration, there is also another 2-slice SKU (Partial Slice SKU). A840 GPU has a bigger 18MB of GMEM which can be utilized for graphics and compute workload. It also features improved Concurrent binning support, UBWC v6 etc.”
The Mesa OpenGL and Vulkan driver support for the Adreno 800 series is still being worked on and will be posted at a later date.