Common KMS renderonly support

Submitted by Rob Herring on Jan. 24, 2019, 10:35 p.m.

Details

Reviewer None
Submitted Jan. 24, 2019, 10:35 p.m.
Last Updated Jan. 24, 2019, 10:36 p.m.
Revision 1

Cover Letter(s)

Revision 1
      This series aims to make supporting new platforms containing 
renderonly GPUs easier with less copy-n-paste. This hasn't been a big 
issue so far as the current renderonly drivers (vc4 and etnaviv) only 
exists on a few platforms. This is changing with i.MX+freedreno, 
armada+etnaviv and a slew of platforms using Mali lima and panfrost 
drivers.

I've taken the kmsro winsys from Eric, extended the pipe-loader to 
fall back to kmsro, added etnaviv support, and switched imx to use 
kmsro.

I've tested this with the panfrost tree. Help testing on i.MX would be  
nice. A git branch is here[1].

Rob

[1] https://github.com/robherring/mesa winsys-renderonly

Eric Anholt (1):
  pl111: Rename the pl111 driver to "kmsro".

Rob Herring (3):
  pipe-loader: Fallback to kmsro driver when no matching driver name
    found
  kmsro: Add etnaviv renderonly support
  Switch imx to kmsro and remove the imx winsys

 .travis.yml                                   |  2 +-
 Android.mk                                    |  7 ++-
 Makefile.am                                   |  2 +-
 configure.ac                                  | 28 ++++-------
 meson.build                                   | 12 ++---
 meson_options.txt                             |  4 +-
 src/gallium/Android.mk                        |  3 +-
 src/gallium/Makefile.am                       |  8 +--
 .../auxiliary/pipe-loader/pipe_loader_drm.c   | 18 +++----
 .../auxiliary/target-helpers/drm_helper.h     | 35 +++----------
 .../target-helpers/drm_helper_public.h        |  2 +-
 src/gallium/drivers/imx/Automake.inc          |  9 ----
 .../drivers/{pl111 => kmsro}/Android.mk       |  6 +--
 src/gallium/drivers/kmsro/Automake.inc        |  9 ++++
 .../drivers/{imx => kmsro}/Makefile.am        |  4 +-
 .../drivers/{pl111 => kmsro}/Makefile.sources |  0
 src/gallium/drivers/pl111/Automake.inc        |  9 ----
 src/gallium/drivers/pl111/Makefile.am         |  8 ---
 src/gallium/meson.build                       | 23 ++++-----
 src/gallium/targets/dri/Makefile.am           |  3 +-
 src/gallium/targets/dri/meson.build           |  8 +--
 src/gallium/targets/dri/target.c              |  2 +-
 src/gallium/winsys/imx/drm/Android.mk         | 40 ---------------
 src/gallium/winsys/imx/drm/Makefile.am        | 35 -------------
 src/gallium/winsys/imx/drm/Makefile.sources   |  3 --
 src/gallium/winsys/imx/drm/imx_drm_public.h   | 34 -------------
 src/gallium/winsys/imx/drm/imx_drm_winsys.c   | 50 -------------------
 src/gallium/winsys/imx/drm/meson.build        | 33 ------------
 .../winsys/{pl111 => kmsro}/drm/Android.mk    |  2 +-
 .../winsys/{pl111 => kmsro}/drm/Makefile.am   | 12 ++++-
 src/gallium/winsys/kmsro/drm/Makefile.sources |  3 ++
 .../drm/kmsro_drm_public.h}                   |  8 +--
 .../drm/kmsro_drm_winsys.c}                   | 42 +++++++++++-----
 .../winsys/{pl111 => kmsro}/drm/meson.build   | 23 ++++++---
 src/gallium/winsys/pl111/drm/Makefile.sources |  3 --
 35 files changed, 130 insertions(+), 360 deletions(-)
 delete mode 100644 src/gallium/drivers/imx/Automake.inc
 rename src/gallium/drivers/{pl111 => kmsro}/Android.mk (91%)
 create mode 100644 src/gallium/drivers/kmsro/Automake.inc
 rename src/gallium/drivers/{imx => kmsro}/Makefile.am (55%)
 rename src/gallium/drivers/{pl111 => kmsro}/Makefile.sources (100%)
 delete mode 100644 src/gallium/drivers/pl111/Automake.inc
 delete mode 100644 src/gallium/drivers/pl111/Makefile.am
 delete mode 100644 src/gallium/winsys/imx/drm/Android.mk
 delete mode 100644 src/gallium/winsys/imx/drm/Makefile.am
 delete mode 100644 src/gallium/winsys/imx/drm/Makefile.sources
 delete mode 100644 src/gallium/winsys/imx/drm/imx_drm_public.h
 delete mode 100644 src/gallium/winsys/imx/drm/imx_drm_winsys.c
 delete mode 100644 src/gallium/winsys/imx/drm/meson.build
 rename src/gallium/winsys/{pl111 => kmsro}/drm/Android.mk (97%)
 rename src/gallium/winsys/{pl111 => kmsro}/drm/Makefile.am (87%)
 create mode 100644 src/gallium/winsys/kmsro/drm/Makefile.sources
 rename src/gallium/winsys/{pl111/drm/pl111_drm_public.h => kmsro/drm/kmsro_drm_public.h} (89%)
 rename src/gallium/winsys/{pl111/drm/pl111_drm_winsys.c => kmsro/drm/kmsro_drm_winsys.c} (63%)
 rename src/gallium/winsys/{pl111 => kmsro}/drm/meson.build (76%)
 delete mode 100644 src/gallium/winsys/pl111/drm/Makefile.sources
    

Revisions