OSDN Git Service

drm/msm: add a3xx gpu support
authorRob Clark <robdclark@gmail.com>
Fri, 19 Jul 2013 16:59:32 +0000 (12:59 -0400)
committerRob Clark <robdclark@gmail.com>
Sat, 24 Aug 2013 18:57:18 +0000 (14:57 -0400)
commit7198e6b03155f6dadecadba004eb83b81a6ffe4c
treeed4ae3e859fd9a722524242a145008d13606a95a
parent902e6eb851a78ad9e3db006c1e1df71841f633e2
drm/msm: add a3xx gpu support

Add initial support for a3xx 3d core.

So far, with hardware that I've seen to date, we can have:
 + zero, one, or two z180 2d cores
 + a3xx or a2xx 3d core, which share a common CP (the firmware
   for the CP seems to implement some different PM4 packet types
   but the basics of cmdstream submission are the same)

Which means that the eventual complete "class" hierarchy, once
support for all past and present hw is in place, becomes:
 + msm_gpu
   + adreno_gpu
     + a3xx_gpu
     + a2xx_gpu
   + z180_gpu

This commit splits out the parts that will eventually be common
between a2xx/a3xx into adreno_gpu, and the parts that are even
common to z180 into msm_gpu.

Note that there is no cmdstream validation required.  All memory access
from the GPU is via IOMMU/MMU.  So as long as you don't map silly things
to the GPU, there isn't much damage that the GPU can do.

Signed-off-by: Rob Clark <robdclark@gmail.com>
16 files changed:
drivers/gpu/drm/msm/Makefile
drivers/gpu/drm/msm/adreno/a3xx_gpu.c [new file with mode: 0644]
drivers/gpu/drm/msm/adreno/a3xx_gpu.h [new file with mode: 0644]
drivers/gpu/drm/msm/adreno/adreno_gpu.c [new file with mode: 0644]
drivers/gpu/drm/msm/adreno/adreno_gpu.h [new file with mode: 0644]
drivers/gpu/drm/msm/msm_drv.c
drivers/gpu/drm/msm/msm_drv.h
drivers/gpu/drm/msm/msm_gem.c
drivers/gpu/drm/msm/msm_gem.h
drivers/gpu/drm/msm/msm_gem_submit.c [new file with mode: 0644]
drivers/gpu/drm/msm/msm_gpu.c [new file with mode: 0644]
drivers/gpu/drm/msm/msm_gpu.h [new file with mode: 0644]
drivers/gpu/drm/msm/msm_ringbuffer.c [new file with mode: 0644]
drivers/gpu/drm/msm/msm_ringbuffer.h [new file with mode: 0644]
include/uapi/drm/Kbuild
include/uapi/drm/msm_drm.h [new file with mode: 0644]