The Qualcomm MSM DRM Driver Prepares To Switch To The "AMDGPU" GPU Scheduler
The Freedreno-aligned MSM DRM driver for supporting Qualcomm Snapdragon hardware is preparing to make use of what was the AMDGPU DRM scheduler.
This isn't about having to deal with how Qualcomm's Adreno began a decade ago when the company acquired the Imageon IP from AMD. Instead this effort is making use of the AMDGPU DRM GPU scheduler since that was recently punted out into a generic GPU scheduler. AMD's AMDGPU GPU scheduler code was effectively promoted to being the "DRM GPU scheduler" after some Etnaviv developers (those working on reverse-engineered Vivante graphics driver support) wanted to make use of this scheduler. They have since begun using this scheduler. The Broadcom VC5 driver has also explored using this scheduler too. As well, one of the spin-off Lima driver efforts also uses it.
Since being spun into generic code, it's also received various improvements and continues to be refined as well still by the AMD crew. The latest driver project now looking to make use of this "DRM GPU scheduler" is the Qualcomm/Freedreno MSM driver.
Sharat Masetty of Code Aurora (Qualcomm) sent out a set of 13 patches on Sunday for setting up this scheduler to be used for general job scheduling needs. The immediate benefits of adopting this DRM GPU scheduler is better driver performance and async fencing support.
Details on the MSM hook-up of this DRM GPU scheduler can be found via this patch series. It's too late for testing and queuing into Linux 4.20~5.0, but perhaps it will be ready for merging in the follow-on release.
This isn't about having to deal with how Qualcomm's Adreno began a decade ago when the company acquired the Imageon IP from AMD. Instead this effort is making use of the AMDGPU DRM GPU scheduler since that was recently punted out into a generic GPU scheduler. AMD's AMDGPU GPU scheduler code was effectively promoted to being the "DRM GPU scheduler" after some Etnaviv developers (those working on reverse-engineered Vivante graphics driver support) wanted to make use of this scheduler. They have since begun using this scheduler. The Broadcom VC5 driver has also explored using this scheduler too. As well, one of the spin-off Lima driver efforts also uses it.
Since being spun into generic code, it's also received various improvements and continues to be refined as well still by the AMD crew. The latest driver project now looking to make use of this "DRM GPU scheduler" is the Qualcomm/Freedreno MSM driver.
Sharat Masetty of Code Aurora (Qualcomm) sent out a set of 13 patches on Sunday for setting up this scheduler to be used for general job scheduling needs. The immediate benefits of adopting this DRM GPU scheduler is better driver performance and async fencing support.
Details on the MSM hook-up of this DRM GPU scheduler can be found via this patch series. It's too late for testing and queuing into Linux 4.20~5.0, but perhaps it will be ready for merging in the follow-on release.
5 Comments