pl111: Rename the pl111 driver to "kmsro".

The vc4 driver can do prime sharing to many different KMS-only devices,
such as the various tinydrm drivers for SPI-attached displays.  Rename the
driver away from "pl111" to represent what it will actually support:
various sorts of KMS displays with the renderonly layer used to attach a
GPU.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
Eric Anholt 2018-10-23 12:33:09 -07:00
parent afeef3cacf
commit ed65aeec78
27 changed files with 68 additions and 68 deletions

View File

@ -352,7 +352,7 @@ matrix:
- DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
- DRI_DRIVERS=""
- GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
- GALLIUM_DRIVERS="i915,nouveau,pl111,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv,imx"
- GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv,imx"
- VULKAN_DRIVERS=""
- LIBUNWIND_FLAGS="--enable-libunwind"
addons:

View File

@ -24,7 +24,7 @@
# BOARD_GPU_DRIVERS should be defined. The valid values are
#
# classic drivers: i915 i965
# gallium drivers: swrast freedreno i915g nouveau pl111 r300g r600g radeonsi vc4 virgl vmwgfx etnaviv imx
# gallium drivers: swrast freedreno i915g nouveau kmsro r300g r600g radeonsi vc4 virgl vmwgfx etnaviv imx
#
# The main target is libGLES_mesa. For each classic driver enabled, a DRI
# module will also be built. DRI modules will be loaded by libGLES_mesa.
@ -52,7 +52,7 @@ gallium_drivers := \
freedreno.HAVE_GALLIUM_FREEDRENO \
i915g.HAVE_GALLIUM_I915 \
nouveau.HAVE_GALLIUM_NOUVEAU \
pl111.HAVE_GALLIUM_PL111 \
kmsro.HAVE_GALLIUM_KMSRO \
r300g.HAVE_GALLIUM_R300 \
r600g.HAVE_GALLIUM_R600 \
radeonsi.HAVE_GALLIUM_RADEONSI \

View File

@ -45,7 +45,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-libunwind \
--with-platforms=x11,wayland,drm,surfaceless \
--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \
--with-gallium-drivers=i915,nouveau,r300,pl111,r600,radeonsi,freedreno,svga,swrast,vc4,tegra,virgl,swr,etnaviv,imx \
--with-gallium-drivers=i915,nouveau,r300,kmsro,r600,radeonsi,freedreno,svga,swrast,vc4,tegra,virgl,swr,etnaviv,imx \
--with-vulkan-drivers=intel,radeon
ACLOCAL_AMFLAGS = -I m4

View File

@ -1408,7 +1408,7 @@ GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
AC_ARG_WITH([gallium-drivers],
[AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
[comma delimited Gallium drivers list, e.g.
"i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx"
"i915,nouveau,r300,r600,radeonsi,freedreno,kmsro,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx"
@<:@default=r300,r600,svga,swrast@:>@])],
[with_gallium_drivers="$withval"],
[with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
@ -2830,8 +2830,8 @@ if test -n "$with_gallium_drivers"; then
DEFINES="$DEFINES -DUSE_V3D_SIMULATOR"],
[USE_V3D_SIMULATOR=no])
;;
xpl111)
HAVE_GALLIUM_PL111=yes
xkmsro)
HAVE_GALLIUM_KMSRO=yes
;;
xvirgl)
HAVE_GALLIUM_VIRGL=yes
@ -2868,8 +2868,8 @@ if test "x$HAVE_GALLIUM_ETNAVIV" != xyes -a "x$HAVE_GALLIUM_IMX" = xyes ; then
AC_MSG_ERROR([Building with imx requires etnaviv])
fi
if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_PL111" = xyes ; then
AC_MSG_ERROR([Building with pl111 requires vc4])
if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_KMSRO" = xyes ; then
AC_MSG_ERROR([Building with kmsro requires vc4])
fi
if test "x$HAVE_GALLIUM_NOUVEAU" != xyes -a "x$HAVE_GALLIUM_TEGRA" = xyes; then
@ -2966,7 +2966,7 @@ fi
AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_PL111, test "x$HAVE_GALLIUM_PL111" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_KMSRO, test "x$HAVE_GALLIUM_KMSRO" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
@ -3116,7 +3116,7 @@ AC_CONFIG_FILES([Makefile
src/gallium/drivers/i915/Makefile
src/gallium/drivers/llvmpipe/Makefile
src/gallium/drivers/nouveau/Makefile
src/gallium/drivers/pl111/Makefile
src/gallium/drivers/kmsro/Makefile
src/gallium/drivers/r300/Makefile
src/gallium/drivers/r600/Makefile
src/gallium/drivers/radeonsi/Makefile
@ -3164,7 +3164,7 @@ AC_CONFIG_FILES([Makefile
src/gallium/winsys/freedreno/drm/Makefile
src/gallium/winsys/i915/drm/Makefile
src/gallium/winsys/nouveau/drm/Makefile
src/gallium/winsys/pl111/drm/Makefile
src/gallium/winsys/kmsro/drm/Makefile
src/gallium/winsys/radeon/drm/Makefile
src/gallium/winsys/amdgpu/drm/Makefile
src/gallium/winsys/svga/drm/Makefile

View File

@ -131,7 +131,7 @@ if _drivers.contains('auto')
]
elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
_drivers = [
'pl111', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau',
'kmsro', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau',
'tegra', 'virgl', 'swrast',
]
else
@ -145,7 +145,7 @@ if _drivers.contains('auto')
host_machine.system()))
endif
endif
with_gallium_pl111 = _drivers.contains('pl111')
with_gallium_kmsro = _drivers.contains('kmsro')
with_gallium_radeonsi = _drivers.contains('radeonsi')
with_gallium_r300 = _drivers.contains('r300')
with_gallium_r600 = _drivers.contains('r600')
@ -213,8 +213,8 @@ endif
if with_gallium_imx and not with_gallium_etnaviv
error('IMX driver requires etnaviv driver')
endif
if with_gallium_pl111 and not with_gallium_vc4
error('pl111 driver requires vc4 driver')
if with_gallium_kmsro and not with_gallium_vc4
error('kmsro driver requires vc4 driver')
endif
if with_gallium_tegra and not with_gallium_nouveau
error('tegra driver requires nouveau driver')

View File

@ -58,7 +58,7 @@ option(
type : 'array',
value : ['auto'],
choices : [
'', 'auto', 'pl111', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
'', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
'swrast', 'v3d', 'vc4', 'etnaviv', 'imx', 'tegra', 'i915', 'svga', 'virgl',
'swr',
],

View File

@ -38,7 +38,7 @@ SUBDIRS += winsys/sw/kms-dri winsys/sw/dri drivers/softpipe
SUBDIRS += winsys/freedreno/drm drivers/freedreno
SUBDIRS += winsys/i915/drm drivers/i915
SUBDIRS += winsys/nouveau/drm drivers/nouveau
SUBDIRS += winsys/pl111/drm drivers/pl111
SUBDIRS += winsys/kmsro/drm drivers/kmsro
SUBDIRS += winsys/radeon/drm drivers/r300
SUBDIRS += winsys/radeon/drm drivers/r600
SUBDIRS += winsys/radeon/drm winsys/amdgpu/drm drivers/radeonsi

View File

@ -60,8 +60,8 @@ if HAVE_GALLIUM_IMX
SUBDIRS += drivers/imx winsys/imx/drm
endif
if HAVE_GALLIUM_PL111
SUBDIRS += drivers/pl111 winsys/pl111/drm
if HAVE_GALLIUM_KMSRO
SUBDIRS += drivers/kmsro winsys/kmsro/drm
endif
## swrast/softpipe

View File

@ -108,7 +108,7 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
},
{
.driver_name = "pl111",
.create_screen = pipe_pl111_create_screen,
.create_screen = pipe_kmsro_create_screen,
.configuration = pipe_default_configuration_query,
},
{

View File

@ -83,24 +83,24 @@ pipe_nouveau_create_screen(int fd, const struct pipe_screen_config *config)
#endif
#ifdef GALLIUM_PL111
#include "pl111/drm/pl111_drm_public.h"
#ifdef GALLIUM_KMSRO
#include "kmsro/drm/kmsro_drm_public.h"
struct pipe_screen *
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config)
pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
screen = pl111_drm_screen_create(fd);
screen = kmsro_drm_screen_create(fd);
return screen ? debug_screen_wrap(screen) : NULL;
}
#else
struct pipe_screen *
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config)
pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config)
{
fprintf(stderr, "pl111: driver missing\n");
fprintf(stderr, "kmsro: driver missing\n");
return NULL;
}

View File

@ -43,7 +43,7 @@ struct pipe_screen *
pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config);
struct pipe_screen *
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config);
pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config);
struct pipe_screen *
pipe_etna_create_screen(int fd, const struct pipe_screen_config *config);

View File

@ -28,12 +28,12 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
$(C_SOURCES)
LOCAL_MODULE := libmesa_pipe_pl111
LOCAL_MODULE := libmesa_pipe_kmsro
include $(GALLIUM_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
ifneq ($(HAVE_GALLIUM_PL111),)
ifneq ($(HAVE_GALLIUM_KMSRO),)
GALLIUM_TARGET_DRIVERS += pl111
$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_pl111)
$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_kmsro)
endif

View File

@ -0,0 +1,9 @@
if HAVE_GALLIUM_KMSRO
TARGET_DRIVERS += pl111
TARGET_CPPFLAGS += -DGALLIUM_KMSRO
TARGET_LIB_DEPS += \
$(top_builddir)/src/gallium/winsys/kmsro/drm/libkmsrodrm.la \
$(LIBDRM_LIBS)
endif

View File

@ -3,6 +3,6 @@ include $(top_srcdir)/src/gallium/Automake.inc
AM_CPPFLAGS = \
$(GALLIUM_CFLAGS)
noinst_LTLIBRARIES = libpl111.la
noinst_LTLIBRARIES = libkmsro.la
libpl111_la_SOURCES = $(C_SOURCES)
libkmsro_la_SOURCES = $(C_SOURCES)

View File

@ -1,9 +0,0 @@
if HAVE_GALLIUM_PL111
TARGET_DRIVERS += pl111
TARGET_CPPFLAGS += -DGALLIUM_PL111
TARGET_LIB_DEPS += \
$(top_builddir)/src/gallium/winsys/pl111/drm/libpl111drm.la \
$(LIBDRM_LIBS)
endif

View File

@ -89,10 +89,10 @@ if with_gallium_vc4
else
driver_vc4 = declare_dependency()
endif
if with_gallium_pl111
subdir('winsys/pl111/drm')
if with_gallium_kmsro
subdir('winsys/kmsro/drm')
else
driver_pl111 = declare_dependency()
driver_kmsro = declare_dependency()
endif
if with_gallium_v3d
subdir('winsys/v3d/drm')

View File

@ -78,7 +78,7 @@ include $(top_srcdir)/src/gallium/drivers/tegra/Automake.inc
include $(top_srcdir)/src/gallium/drivers/v3d/Automake.inc
include $(top_srcdir)/src/gallium/drivers/vc4/Automake.inc
include $(top_srcdir)/src/gallium/drivers/pl111/Automake.inc
include $(top_srcdir)/src/gallium/drivers/kmsro/Automake.inc
include $(top_srcdir)/src/gallium/drivers/virgl/Automake.inc

View File

@ -56,13 +56,13 @@ libgallium_dri = shared_library(
dependencies : [
dep_selinux, dep_expat, dep_libdrm, dep_llvm, dep_thread,
driver_swrast, driver_r300, driver_r600, driver_radeonsi, driver_nouveau,
driver_pl111, driver_v3d, driver_vc4, driver_freedreno, driver_etnaviv,
driver_kmsro, driver_v3d, driver_vc4, driver_freedreno, driver_etnaviv,
driver_imx, driver_tegra, driver_i915, driver_svga, driver_virgl,
driver_swr,
],
)
foreach d : [[with_gallium_pl111, 'pl111_dri.so'],
foreach d : [[with_gallium_kmsro, 'pl111_dri.so'],
[with_gallium_radeonsi, 'radeonsi_dri.so'],
[with_gallium_nouveau, 'nouveau_dri.so'],
[with_gallium_freedreno, ['msm_dri.so', 'kgsl_dri.so']],

View File

@ -77,7 +77,7 @@ DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
#if defined(GALLIUM_VC4)
DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
#if defined(GALLIUM_PL111)
#if defined(GALLIUM_KMSRO)
DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
#endif
#endif

View File

@ -27,7 +27,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(C_SOURCES)
LOCAL_MODULE := libmesa_winsys_pl111
LOCAL_MODULE := libmesa_winsys_kmsro
include $(GALLIUM_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)

View File

@ -29,8 +29,8 @@ AM_CFLAGS = \
$(GALLIUM_WINSYS_CFLAGS) \
$(LIBDRM_CFLAGS)
noinst_LTLIBRARIES = libpl111drm.la
noinst_LTLIBRARIES = libkmsrodrm.la
libpl111drm_la_SOURCES = $(C_SOURCES)
libkmsrodrm_la_SOURCES = $(C_SOURCES)
EXTRA_DIST = meson.build

View File

@ -0,0 +1,3 @@
C_SOURCES := \
kmsro_drm_public.h \
kmsro_drm_winsys.c

View File

@ -24,11 +24,11 @@
* Christian Gmeiner <christian.gmeiner@gmail.com>
*/
#ifndef __PL111_DRM_PUBLIC_H__
#define __PL111_DRM_PUBLIC_H__
#ifndef __KMSRO_DRM_PUBLIC_H__
#define __KMSRO_DRM_PUBLIC_H__
struct pipe_screen;
struct pipe_screen *pl111_drm_screen_create(int fd);
struct pipe_screen *kmsro_drm_screen_create(int fd);
#endif /* __PL111_DRM_PUBLIC_H__ */
#endif /* __KMSRO_DRM_PUBLIC_H__ */

View File

@ -25,17 +25,17 @@
#include <fcntl.h>
#include <unistd.h>
#include "pl111_drm_public.h"
#include "kmsro_drm_public.h"
#include "vc4/drm/vc4_drm_public.h"
#include "xf86drm.h"
#include "pipe/p_screen.h"
#include "renderonly/renderonly.h"
struct pipe_screen *pl111_drm_screen_create(int fd)
struct pipe_screen *kmsro_drm_screen_create(int fd)
{
struct renderonly ro = {
/* Passes the vc4-allocated BO through to the pl111 DRM device using
/* Passes the vc4-allocated BO through to the KMS-only DRM device using
* PRIME buffer sharing. The VC4 BO must be linear, which the SCANOUT
* flag on allocation will have ensured.
*/

View File

@ -18,9 +18,9 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
libpl111winsys = static_library(
'pl111winsys',
files('pl111_drm_winsys.c'),
libkmsrowinsys = static_library(
'kmsrowinsys',
files('kmsro_drm_winsys.c'),
include_directories : [
inc_src, inc_include,
inc_gallium, inc_gallium_aux, inc_gallium_winsys,
@ -30,7 +30,7 @@ libpl111winsys = static_library(
link_with : libvc4winsys,
)
driver_pl111 = declare_dependency(
compile_args : '-DGALLIUM_PL111',
link_with : libpl111winsys,
driver_kmsro = declare_dependency(
compile_args : '-DGALLIUM_KMSRO',
link_with : libkmsrowinsys,
)

View File

@ -1,3 +0,0 @@
C_SOURCES := \
pl111_drm_public.h \
pl111_drm_winsys.c