All, here is initial kernel support for the Adreno A5XX family of
GPUs found on the QTI Snapdragon 820 and 821 among others.
This stack turns on the A5XX hardware and initializes the GPMU
(Graphics Power Management Unit) which is a microcontroller
to assist with more independent power management. This initial
stack is mainly concerned with getting the GPU/GPMU operational.
Hopefully future improvements will actually tune it for better power.
The last three patches in the stack take the GPU out of "secure" mode.
When the GPU is in secure mode it can only read/write from memory
that is locked by the secure components of the SoC. By default the
GPU comes up in secure mode - to get out of it we need to use SCM to
load a special shader that "zaps" the persistent memory and registers
and then we can execute a GPU command to take us out of secure. This
code should compile cleanly against upstream but there are some changes
coming in on other trees to make it functional for the Snapdragon 820/821.
And since the GPU isn't very interesting unless it can draw a triangle
or two, Rob Clark has been hard at work on the user side of things and
has a great chunk of functionality ready for Mesa:
So I think this should be everything we need to make the A5XX useful for
the community. Please enjoy.
Freedreno mailing list