Module Name:    src
Committed By:   mrg
Date:           Sun Mar  1 07:46:04 UTC 2015

Modified Files:
        src/distrib/sets: mkvars.mk sets.subr
        src/distrib/sets/lists/xdebug: md.amd64 md.i386
        src/distrib/sets/lists/xserver: md.amd64 md.i386
        src/external/mit/xorg/server/drivers: Makefile
        src/share/mk: bsd.README bsd.own.mk
Added Files:
        src/external/mit/xorg/server/drivers/xf86-video-radeon-kms: Makefile

Log Message:
add build framework to choose between xf86-video-ati 6.x (UMS/KMS)
and 7.x (KMS only), and switch x86 to the latest (KMS only) version.

(if someone can make x86 install both radeon_drv.so.[67] and leave
the default symlink to .7, that would be nice.  renaming it so that
it's easier to choose via xorg.conf is a little more tricky..)


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/mkvars.mk
cvs rdiff -u -r1.162 -r1.163 src/distrib/sets/sets.subr
cvs rdiff -u -r1.10 -r1.11 src/distrib/sets/lists/xdebug/md.amd64
cvs rdiff -u -r1.11 -r1.12 src/distrib/sets/lists/xdebug/md.i386
cvs rdiff -u -r1.75 -r1.76 src/distrib/sets/lists/xserver/md.amd64
cvs rdiff -u -r1.94 -r1.95 src/distrib/sets/lists/xserver/md.i386
cvs rdiff -u -r1.63 -r1.64 src/external/mit/xorg/server/drivers/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile
cvs rdiff -u -r1.337 -r1.338 src/share/mk/bsd.README
cvs rdiff -u -r1.843 -r1.844 src/share/mk/bsd.own.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/mkvars.mk
diff -u src/distrib/sets/mkvars.mk:1.15 src/distrib/sets/mkvars.mk:1.16
--- src/distrib/sets/mkvars.mk:1.15	Sun Jan 26 21:33:53 2014
+++ src/distrib/sets/mkvars.mk	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: mkvars.mk,v 1.15 2014/01/26 21:33:53 joerg Exp $
+# $NetBSD: mkvars.mk,v 1.16 2015/03/01 07:46:04 mrg Exp $
 
 MKEXTRAVARS= \
 	MACHINE \
@@ -21,6 +21,7 @@ MKEXTRAVARS= \
 	MKSOFTFLOAT \
 	MKXORG \
 	MKXORG_SERVER \
+	MKX11RADEONKMS \
 	X11FLAVOR \
 	USE_INET6 \
 	USE_KERBEROS \

Index: src/distrib/sets/sets.subr
diff -u src/distrib/sets/sets.subr:1.162 src/distrib/sets/sets.subr:1.163
--- src/distrib/sets/sets.subr:1.162	Mon Jan  5 03:45:31 2015
+++ src/distrib/sets/sets.subr	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: sets.subr,v 1.162 2015/01/05 03:45:31 mrg Exp $
+#	$NetBSD: sets.subr,v 1.163 2015/03/01 07:46:04 mrg Exp $
 #
 
 #
@@ -179,7 +179,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g
 # In each file, a record consists of a path and a System Package name,
 # separated by whitespace. E.g.,
 #
-# 	# $NetBSD: sets.subr,v 1.162 2015/01/05 03:45:31 mrg Exp $
+# 	# $NetBSD: sets.subr,v 1.163 2015/03/01 07:46:04 mrg Exp $
 # 	.			base-sys-root	[keyword[,...]]
 # 	./altroot		base-sys-root
 # 	./bin			base-sys-root
@@ -261,6 +261,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g
 #	ssp			${HAVE_SSP} != no
 #	tpm			${MKTPM} != no
 #	x11			${MKX11} != no && ${X11FLAVOUR} != "Xorg"
+#	x11radeonkms		${MKX11} != no && ${MKX11RADEONKMS} != no
 #	xorg			${MKX11} != no && ${X11FLAVOUR} == "Xorg"
 #	xorg_server		${MKXORG_SERVER} != no
 #	yp			${MKYP} != no

Index: src/distrib/sets/lists/xdebug/md.amd64
diff -u src/distrib/sets/lists/xdebug/md.amd64:1.10 src/distrib/sets/lists/xdebug/md.amd64:1.11
--- src/distrib/sets/lists/xdebug/md.amd64:1.10	Mon Jan  5 03:45:31 2015
+++ src/distrib/sets/lists/xdebug/md.amd64	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.10 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.amd64,v 1.11 2015/03/01 07:46:04 mrg Exp $
 ./usr/X11R7/lib/libI810XvMC_g.a				-unknown-	debuglib,xorg
 ./usr/X11R7/lib/libIntelXvMC_g.a			-unknown-	debuglib,xorg
 ./usr/X11R7/lib/libchromeXvMCPro_g.a			-unknown-	debuglib,xorg
@@ -146,7 +146,8 @@
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/openchrome_drv.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug	-unknown-		xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug	-unknown-		xorg,debug
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug	-unknown-		xorg,debug,!x11radeonkms
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.7.debug	-unknown-		xorg,debug,x11radeonkms
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug	-unknown-		xorg,debug

Index: src/distrib/sets/lists/xdebug/md.i386
diff -u src/distrib/sets/lists/xdebug/md.i386:1.11 src/distrib/sets/lists/xdebug/md.i386:1.12
--- src/distrib/sets/lists/xdebug/md.i386:1.11	Mon Jan  5 03:45:31 2015
+++ src/distrib/sets/lists/xdebug/md.i386	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.11 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.i386,v 1.12 2015/03/01 07:46:04 mrg Exp $
 ./usr/X11R6/lib/modules/extensions/libGLcore_g.a	-unknown-	debuglib,x11
 ./usr/X11R6/lib/modules/extensions/libdbe_g.a		-unknown-	debuglib,x11
 ./usr/X11R6/lib/modules/extensions/libextmod_g.a	-unknown-	debuglib,x11
@@ -196,7 +196,8 @@
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/openchrome_drv.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug	-unknown-		xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug	-unknown-		xorg,debug
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug	-unknown-		xorg,debug,!x11radeonkms
+./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.7.debug	-unknown-		xorg,debug,x11radeonkms
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug	-unknown-		xorg,debug

Index: src/distrib/sets/lists/xserver/md.amd64
diff -u src/distrib/sets/lists/xserver/md.amd64:1.75 src/distrib/sets/lists/xserver/md.amd64:1.76
--- src/distrib/sets/lists/xserver/md.amd64:1.75	Mon Jan  5 03:45:31 2015
+++ src/distrib/sets/lists/xserver/md.amd64	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.75 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.amd64,v 1.76 2015/03/01 07:46:04 mrg Exp $
 ./usr/X11R6/bin/X					-unknown-	x11
 ./usr/X11R6/bin/XFree86					-unknown-	x11
 ./usr/X11R6/bin/gtf					-unknown-	x11
@@ -446,7 +446,8 @@
 ./usr/X11R7/lib/modules/drivers/r128_drv.so		-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/r128_drv.so.6		-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/radeon_drv.so		-unknown-	xorg
-./usr/X11R7/lib/modules/drivers/radeon_drv.so.6		-unknown-	xorg
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.6		-unknown-	xorg,!x11radeonkms
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.7		-unknown-	xorg,x11radeonkms
 ./usr/X11R7/lib/modules/drivers/radeonhd_drv.so		-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1	-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/s3_drv.so		-unknown-	xorg

Index: src/distrib/sets/lists/xserver/md.i386
diff -u src/distrib/sets/lists/xserver/md.i386:1.94 src/distrib/sets/lists/xserver/md.i386:1.95
--- src/distrib/sets/lists/xserver/md.i386:1.94	Mon Jan  5 03:45:31 2015
+++ src/distrib/sets/lists/xserver/md.i386	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.94 2015/01/05 03:45:31 mrg Exp $
+# $NetBSD: md.i386,v 1.95 2015/03/01 07:46:04 mrg Exp $
 ./usr/X11R6/bin/X					-unknown-	x11
 ./usr/X11R6/bin/XFree86					-unknown-	x11
 ./usr/X11R6/bin/gtf					-unknown-	x11
@@ -486,7 +486,8 @@
 ./usr/X11R7/lib/modules/drivers/r128_drv.so		-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/r128_drv.so.6		-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/radeon_drv.so		-unknown-	xorg
-./usr/X11R7/lib/modules/drivers/radeon_drv.so.6		-unknown-	xorg
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.6		-unknown-	xorg,!x11radeonkms
+./usr/X11R7/lib/modules/drivers/radeon_drv.so.7		-unknown-	xorg,x11radeonkms
 ./usr/X11R7/lib/modules/drivers/radeonhd_drv.so		-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1	-unknown-	xorg
 ./usr/X11R7/lib/modules/drivers/s3_drv.so		-unknown-	xorg

Index: src/external/mit/xorg/server/drivers/Makefile
diff -u src/external/mit/xorg/server/drivers/Makefile:1.63 src/external/mit/xorg/server/drivers/Makefile:1.64
--- src/external/mit/xorg/server/drivers/Makefile:1.63	Thu Jul 19 19:23:52 2012
+++ src/external/mit/xorg/server/drivers/Makefile	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.63 2012/07/19 19:23:52 macallan Exp $
+#	$NetBSD: Makefile,v 1.64 2015/03/01 07:46:04 mrg Exp $
 
 # xf86-input drivers
 
@@ -22,6 +22,13 @@ SUBDIR+= \
 
 # xf86-video drivers
 
+# Set this to "no" to build the UMS-happy 6.x driver, vs KMS 7.x
+.if ${MKX11RADEONKMS:U} != "no"
+RADEON_SUBDIR=radeon
+.else
+RADEON_SUBDIR=radeon-kms
+.endif
+
 .if ${MACHINE_ARCH} == "i386" || \
     ${MACHINE_ARCH} == "x86_64"
 SUBDIR+= \
@@ -48,7 +55,7 @@ SUBDIR+= \
 	xf86-video-nv \
 	xf86-video-openchrome \
 	xf86-video-r128 \
-	xf86-video-radeon \
+	xf86-video-${RADEON_SUBDIR} \
 	xf86-video-radeonhd \
 	xf86-video-s3 \
 	xf86-video-s3virge \
@@ -89,7 +96,7 @@ SUBDIR+= \
 	xf86-video-mga \
 	xf86-video-nv \
 	xf86-video-r128 \
-	xf86-video-radeon \
+	xf86-video-${RADEON_SUBDIR} \
 	xf86-video-radeonhd \
 	xf86-video-s3 \
 	xf86-video-s3virge \
@@ -129,7 +136,7 @@ SUBDIR+= \
 	xf86-video-mga \
 	xf86-video-neomagic \
 	xf86-video-nv \
-	xf86-video-radeon \
+	xf86-video-${RADEON_SUBDIR} \
 	xf86-video-radeonhd \
 	xf86-video-s3 \
 	xf86-video-s3virge \
@@ -189,7 +196,7 @@ SUBDIR+= \
 	xf86-video-mach64 \
 	xf86-video-mga \
 	xf86-video-nv \
-	xf86-video-radeon \
+	xf86-video-${RADEON_SUBDIR} \
 	xf86-video-r128 \
 	xf86-video-tdfx \
 	xf86-video-wsfb
@@ -214,7 +221,7 @@ SUBDIR+= \
 	xf86-video-mach64 \
 	xf86-video-mga \
 	xf86-video-nv \
-	xf86-video-radeon \
+	xf86-video-${RADEON_SUBDIR} \
 	xf86-video-r128 \
 	xf86-video-tdfx \
 	xf86-video-wsfb
@@ -251,7 +258,7 @@ SUBDIR+= \
 	xf86-video-mach64 \
 	xf86-video-mga \
 	xf86-video-r128 \
-	xf86-video-radeon \
+	xf86-video-${RADEON_SUBDIR} \
 	xf86-video-suncg6 \
 	xf86-video-sunffb \
 	xf86-video-sunleo \

Index: src/share/mk/bsd.README
diff -u src/share/mk/bsd.README:1.337 src/share/mk/bsd.README:1.338
--- src/share/mk/bsd.README:1.337	Sun Nov 30 15:53:29 2014
+++ src/share/mk/bsd.README	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.README,v 1.337 2014/11/30 15:53:29 uebayasi Exp $
+#	$NetBSD: bsd.README,v 1.338 2015/03/01 07:46:04 mrg Exp $
 #	@(#)bsd.README	8.2 (Berkeley) 4/2/94
 
 This is the README file for the make "include" files for the NetBSD
@@ -412,6 +412,11 @@ MKX11MOTIF:	If "yes" and ${X11FLAVOUR} i
 		using the X11MOTIFPATH variable.
 		Default: no
 
+MKX11RADEONKMS	If "no", build the xf86-video-ati 6.x driver (the last one
+		with user-mode switching support), otherwise build the
+		kernek-mode switching (KMS) requiring driver.
+		Default: yes on i386 and amd64, yes elsewhere.
+
 MKYP		If "no", disables building of YP (NIS)
 		infrastructure (libraries and support programs).
 		Default: yes

Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.843 src/share/mk/bsd.own.mk:1.844
--- src/share/mk/bsd.own.mk:1.843	Thu Feb 26 04:49:16 2015
+++ src/share/mk/bsd.own.mk	Sun Mar  1 07:46:04 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.own.mk,v 1.843 2015/02/26 04:49:16 snj Exp $
+#	$NetBSD: bsd.own.mk,v 1.844 2015/03/01 07:46:04 mrg Exp $
 
 # This needs to be before bsd.init.mk
 .if defined(BSD_MK_COMPAT_FILE)
@@ -1299,7 +1299,7 @@ X11SRCDIR.xf86-input-${_i}?=	${X11SRCDIR
 .endfor
 
 .for _v in \
-	ag10e apm ark ast ati chips cirrus crime \
+	ag10e apm ark ast ati ati-kms chips cirrus crime \
 	geode glint i128 i740 igs imstt intel mach64 mga \
 	neomagic newport nsc nv nvxbox openchrome pnozz \
 	r128 radeonhd rendition \
@@ -1309,6 +1309,12 @@ X11SRCDIR.xf86-input-${_i}?=	${X11SRCDIR
 X11SRCDIR.xf86-video-${_v}?=	${X11SRCDIRMIT}/xf86-video-${_v}/dist
 .endfor
 
+# Build the ati 6.x (UMS supported) or 7.x (KMS demanded) drivers
+.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386"
+MKX11RADEONKMS?=		yes
+.endif
+MKX11RADEONKMS?=		no
+
 .if ${X11FLAVOUR} == "Xorg"
 X11DRI?=			yes
 .endif

Added files:

Index: src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile
diff -u /dev/null src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile:1.1
--- /dev/null	Sun Mar  1 07:46:04 2015
+++ src/external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile	Sun Mar  1 07:46:04 2015
@@ -0,0 +1,55 @@
+#	$NetBSD: Makefile,v 1.1 2015/03/01 07:46:04 mrg Exp $
+
+.include <bsd.own.mk>
+
+DRIVER=		xf86-video-ati-kms
+DRIVER_NAME=	radeon_drv
+
+.PATH:  ${X11SRCDIR.${DRIVER}}/src/AtomBios
+SRCS.ATOMBIOS= \
+        CD_Operations.c \
+        Decoder.c \
+        hwserv_drv.c
+
+.if ${X11DRI} != "no"
+SRCS.DRI=	radeon_dri.c
+CPPFLAGS+=	${X11FLAGS.DRI}
+.endif
+
+.if ${X11DRI} != "no"
+# XXX
+. if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+SRCS.KMS=	radeon_dri2.c radeon_kms.c drmmode_display.c radeon_vbo.c
+CPPFLAGS+=	-DXF86DRM_MODE
+LIBDPLIBS+=	drm_radeon ${.CURDIR}/../../../lib/libdrm_radeon
+. endif
+.endif
+
+SRCS.EXA=	radeon_exa.c r600_exa.c r6xx_accel.c \
+		r600_textured_videofuncs.c r600_shader.c radeon_exa_shared.c \
+		evergreen_exa.c evergreen_accel.c evergreen_shader.c \
+		evergreen_textured_videofuncs.c cayman_accel.c cayman_shader.c
+SRCS.KMS=	radeon_dri2.c radeon_kms.c drmmode_display.c radeon_vbo.c \
+		radeon_bo_helper.c
+# XXX not yet
+SRCS.GLAMOR=	radeon_glamor.c
+
+SRCS=		radeon_accel.c radeon_video.c \
+		radeon_misc.c radeon_probe.c \
+		radeon_textured_video.c radeon_xvmc.c \
+		$(SRCS.EXA) \
+		$(SRCS.KMS)
+
+MAN=	radeon.4
+
+CPPFLAGS+=	-DHAVE_CONFIG_H
+CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/X11 \
+		-I${DESTDIR}${X11INCDIR}/X11/dri \
+		-I${DESTDIR}${X11INCDIR}/libdrm \
+		-I${DESTDIR}${X11INCDIR}/pixman-1 \
+		-I${X11SRCDIR.${DRIVER}}/../include
+
+# XXX
+COPTS+=	-Wno-error
+
+.include "../Makefile.xf86-driver"

Reply via email to