[RFC 0/2] drm/msm: Add support for Adreno a6xx

Jordan Crouse jcrouse at codeaurora.org
Wed Jan 31 18:25:48 UTC 2018

This is an RFC for the initial version of a6xx support for the Adreno a6xx GPU
family as found on the sdm845 SoC.  This code is ahead of most of the rest of
the sdm845 code that would be needed to actually bring up a device and it is
definitely far in advance of any user side support for the a6xx GPU so this is
mainly just a chance to look over the code structure and get a feel for the
direction that the hardware is going in.

The a6xx GPU is an iteration of the a5xx family so most of the GPU side code
looks pretty close to the same except for the usual register differences. The
big different is in power control.  On the a5xx there was a rudimentary device
called the GMU that did some basic power stuff but left most of the complexity
to the kernel.  On the a6xx the power complexity is being moved to a component
called the GMU (graphics management unit).

The kernel is responsible for powering the GMU and in turn the GMU is
responsible for powering the GPU and handling power collapse and advance power
saving techniques. Of course the devil is in the details and what we save in
power management complexity is unfortunately replaced by the complexity involved
in communicating with and controlling the GMU.

Jordan Crouse (1):
  drm/msm: Add A6XX device support

Sharat Masetty (1):
  drm/msm: Add generated headers for A6XX

 drivers/gpu/drm/msm/Makefile               |    3 +
 drivers/gpu/drm/msm/adreno/a6xx.xml.h      | 1600 ++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c      | 1220 +++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.h      |  174 +++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h  |  382 +++++++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c      |  819 ++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h      |   69 ++
 drivers/gpu/drm/msm/adreno/a6xx_hfi.c      |  448 ++++++++
 drivers/gpu/drm/msm/adreno/a6xx_hfi.h      |  137 +++
 drivers/gpu/drm/msm/adreno/adreno_device.c |   11 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.h    |    2 +-
 drivers/gpu/drm/msm/msm_gpu.c              |    2 +-
 12 files changed, 4865 insertions(+), 2 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_hfi.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_hfi.h


More information about the dri-devel mailing list