[PATCH RFCv2 0/4] Etnaviv DRM driver again

Lucas Stach l.stach at pengutronix.de
Fri Sep 11 07:15:18 PDT 2015


Am Freitag, den 11.09.2015, 16:10 +0200 schrieb Lucas Stach:
> Hey all,
> 
> this is a new posting of the Etnaviv DRM driver for Vivante embedded GPUs.
> This time I've squashed all patches to the DRM driver itself into a single commit
> to make it easier for people to look at and review this stuff.
> 
Which seems to mean to that due to its size the most interesting patch
out of this series is now missing from the ML. I suppose it's held in
moderation, so if somebody could push it through I would be thankful.

Regards,
Lucas

> Aside from squashing of some of the trivial bugfixes I intend to keep all the
> individual commits around to retain the authorship of people working on this
> driver. If you want to look at the stream of commits please fetch
> 
> git://git.pengutronix.de/git/lst/linux.git etnaviv-for-upstream
> 
> I've kept things in staging for now, as that's the place where Christian started
> this driver, but would really like to move it to DRM proper _before_ merging. So
> please review stuff with that in mind.
> 
> Since the last posting a lot of cleanups and bugfixes have landed, but also a major
> rewrite of the userspace interface. The UAPI is now considerably simpler as a lot
> of things that turned out to be not useful have been cut out. Also a pretty big
> security issue has been fixed where the userspace could abuse the still mapped
> command buffer to change the command stream after the kernel validated and patched
> it up, but before actual GPU execution.
> 
> Thanks to Russell King GPU power management with proper state reinitialization is
> now in place, which allows the GPU to be completely power gated when not in use,
> but is also the foundation for GPU recovery after a hanging submit.
> 
> A modified version of Russell Kings xf86-video-armada driver driver that works on
> top of the new UAPI is available at
> 
> git://git.pengutronix.de/git/lst/xf86-video-armada.git for-rmk
> 
> Regards,
> Lucas
> 
> Christian Gmeiner (1):
>   staging: etnaviv: add drm driver
> 
> Lucas Stach (2):
>   staging: etnaviv: add devicetree bindings
>   ARM: imx6: add Vivante GPU nodes
> 
> Philipp Zabel (1):
>   of: Add vendor prefix for Vivante Corporation
> 
>  .../bindings/drm/etnaviv/etnaviv-drm.txt           |   44 +
>  .../devicetree/bindings/vendor-prefixes.txt        |    1 +
>  arch/arm/boot/dts/imx6dl.dtsi                      |    5 +
>  arch/arm/boot/dts/imx6q.dtsi                       |   15 +
>  arch/arm/boot/dts/imx6qdl.dtsi                     |   21 +
>  drivers/staging/Kconfig                            |    2 +
>  drivers/staging/Makefile                           |    1 +
>  drivers/staging/etnaviv/Kconfig                    |   20 +
>  drivers/staging/etnaviv/Makefile                   |   18 +
>  drivers/staging/etnaviv/cmdstream.xml.h            |  218 +++
>  drivers/staging/etnaviv/common.xml.h               |  249 ++++
>  drivers/staging/etnaviv/etnaviv_buffer.c           |  271 ++++
>  drivers/staging/etnaviv/etnaviv_cmd_parser.c       |  119 ++
>  drivers/staging/etnaviv/etnaviv_drv.c              |  705 ++++++++++
>  drivers/staging/etnaviv/etnaviv_drv.h              |  138 ++
>  drivers/staging/etnaviv/etnaviv_gem.c              |  887 ++++++++++++
>  drivers/staging/etnaviv/etnaviv_gem.h              |  141 ++
>  drivers/staging/etnaviv/etnaviv_gem_prime.c        |  121 ++
>  drivers/staging/etnaviv/etnaviv_gem_submit.c       |  421 ++++++
>  drivers/staging/etnaviv/etnaviv_gpu.c              | 1468 ++++++++++++++++++++
>  drivers/staging/etnaviv/etnaviv_gpu.h              |  198 +++
>  drivers/staging/etnaviv/etnaviv_iommu.c            |  221 +++
>  drivers/staging/etnaviv/etnaviv_iommu.h            |   28 +
>  drivers/staging/etnaviv/etnaviv_iommu_v2.c         |   33 +
>  drivers/staging/etnaviv/etnaviv_iommu_v2.h         |   25 +
>  drivers/staging/etnaviv/etnaviv_mmu.c              |  282 ++++
>  drivers/staging/etnaviv/etnaviv_mmu.h              |   58 +
>  drivers/staging/etnaviv/state.xml.h                |  351 +++++
>  drivers/staging/etnaviv/state_hi.xml.h             |  407 ++++++
>  include/uapi/drm/etnaviv_drm.h                     |  215 +++
>  30 files changed, 6683 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/drm/etnaviv/etnaviv-drm.txt
>  create mode 100644 drivers/staging/etnaviv/Kconfig
>  create mode 100644 drivers/staging/etnaviv/Makefile
>  create mode 100644 drivers/staging/etnaviv/cmdstream.xml.h
>  create mode 100644 drivers/staging/etnaviv/common.xml.h
>  create mode 100644 drivers/staging/etnaviv/etnaviv_buffer.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_cmd_parser.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_drv.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_drv.h
>  create mode 100644 drivers/staging/etnaviv/etnaviv_gem.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_gem.h
>  create mode 100644 drivers/staging/etnaviv/etnaviv_gem_prime.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_gem_submit.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_gpu.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_gpu.h
>  create mode 100644 drivers/staging/etnaviv/etnaviv_iommu.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_iommu.h
>  create mode 100644 drivers/staging/etnaviv/etnaviv_iommu_v2.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_iommu_v2.h
>  create mode 100644 drivers/staging/etnaviv/etnaviv_mmu.c
>  create mode 100644 drivers/staging/etnaviv/etnaviv_mmu.h
>  create mode 100644 drivers/staging/etnaviv/state.xml.h
>  create mode 100644 drivers/staging/etnaviv/state_hi.xml.h
>  create mode 100644 include/uapi/drm/etnaviv_drm.h
> 

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |



More information about the dri-devel mailing list